Class: BetterUi::TagComponent

Inherits:
ApplicationComponent show all
Includes:
Concerns::InlineLabelStyles
Defined in:
app/components/better_ui/tag_component.rb

Constant Summary collapse

SIZES =
{
  xs: { padding: "px-1.5 py-0.5", text: "text-xs", icon: "w-3 h-3", gap: "gap-1", dismiss_icon: "w-2.5 h-2.5" },
  sm: { padding: "px-2 py-0.5", text: "text-xs", icon: "w-3.5 h-3.5", gap: "gap-1", dismiss_icon: "w-3 h-3" },
  md: { padding: "px-2.5 py-1", text: "text-sm", icon: "w-4 h-4", gap: "gap-1.5", dismiss_icon: "w-3.5 h-3.5" },
  lg: { padding: "px-3 py-1.5", text: "text-base", icon: "w-5 h-5", gap: "gap-2", dismiss_icon: "w-4 h-4" }
}.freeze
STYLES =
i[solid outline soft].freeze

Constants inherited from ApplicationComponent

ApplicationComponent::SHADOWS, ApplicationComponent::VARIANTS, ApplicationComponent::VARIANT_BODY_DIVIDE, ApplicationComponent::VARIANT_DIVIDE, ApplicationComponent::VARIANT_HEADER_BG, ApplicationComponent::VARIANT_HEADER_TEXT, ApplicationComponent::VARIANT_HIGHLIGHTED, ApplicationComponent::VARIANT_HOVERABLE, ApplicationComponent::VARIANT_RING, ApplicationComponent::VARIANT_SORT_ICON, ApplicationComponent::VARIANT_STRIPED

Instance Method Summary collapse

Constructor Details

#initialize(variant: :primary, style: :solid, size: :md, dismissible: false, href: nil, container_classes: nil, **options) ⇒ TagComponent

Returns a new instance of TagComponent.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/components/better_ui/tag_component.rb', line 18

def initialize(
  variant: :primary,
  style: :solid,
  size: :md,
  dismissible: false,
  href: nil,
  container_classes: nil,
  **options
)
  @variant = validate_variant(variant)
  @style = validate_style(style)
  @size = validate_size(size)
  @dismissible = dismissible
  @href = href
  @container_classes = container_classes
  @options = options
end

Instance Method Details

#link? ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'app/components/better_ui/tag_component.rb', line 36

def link?
  @href.present?
end