Sha256: 63d13dcbe76e55d7599d443f0f0ac8e5ed30d8350fa8c49307dea445e8a457ee
Contents?: true
Size: 771 Bytes
Versions: 8
Compression:
Stored size: 771 Bytes
Contents
require "securerandom" class HotwireCombobox::Listbox::Group attr_reader :options def initialize(name, options:) @name = name @options = options end def render_in(view) view.tag.ul **group_attrs do view.concat view.tag.li(name, **label_attrs) options.map do |option| view.concat view.render(option) end end end private attr_reader :name def id @id ||= SecureRandom.uuid end def group_attrs { class: "hw-combobox__group", role: :group, aria: group_aria } end def group_aria { labelledby: id } end def label_attrs { id: id, class: "hw-combobox__group__label", role: :presentation } end end
Version data entries
8 entries across 8 versions & 1 rubygems