# typed: false # frozen_string_literal: true module Ariadne module UI module Combobox module Option class Component < BaseComponent option :as, default: proc { :link } # :button option :type, default: proc { :multiple } option :text_content, default: proc { true } accepts_html_attributes disabled: false, tabindex: -1, data: proc { { action: "#{UI::Combobox::Component.stimulus_name}#checkboxClicked" } } def option_component cmp = type == :multiple ? Checkbox : Radio render(cmp::Component.new(html_attrs:)) end style do base do [ "flex", "gap-0.5", "items-center", "text-ui-base", "rounded", "!ring-0", "hover:bg-zinc-100", "hover:dark:bg-zinc-800", "focus-within:bg-zinc-100", "focus-within:dark:bg-zinc-800", ] end end end end end end end