Class: BetterUi::General::Accordion::ItemComponent

Inherits:
ViewComponent::Base
  • Object
show all
Defined in:
app/components/better_ui/general/accordion/item_component.rb

Constant Summary collapse

ITEM_THEME =
{
  default: 'border-gray-200 bg-white',
  white: 'border-gray-100 bg-white',
  blue: 'border-blue-200 bg-blue-50',
  red: 'border-red-200 bg-red-50',
  green: 'border-green-200 bg-green-50',
  yellow: 'border-yellow-200 bg-yellow-50',
  violet: 'border-violet-200 bg-violet-50',
  orange: 'border-orange-200 bg-orange-50',
  rose: 'border-rose-200 bg-rose-50'
}.freeze
ITEM_HEADER_THEME =
{
  default: 'text-gray-900 hover:bg-gray-50',
  white: 'text-gray-900 hover:bg-gray-50',
  blue: 'text-blue-900 hover:bg-blue-100',
  red: 'text-red-900 hover:bg-red-100',
  green: 'text-green-900 hover:bg-green-100',
  yellow: 'text-yellow-900 hover:bg-yellow-100',
  violet: 'text-violet-900 hover:bg-violet-100',
  orange: 'text-orange-900 hover:bg-orange-100',
  rose: 'text-rose-900 hover:bg-rose-100'
}.freeze
ITEM_SIZE_HEADER =
{
  small: 'text-sm px-4 py-3',
  medium: 'text-base px-5 py-4',
  large: 'text-lg px-6 py-5'
}.freeze
ITEM_SIZE_CONTENT =
{
  small: 'px-4 py-3',
  medium: 'px-5 py-4',
  large: 'px-6 py-5'
}.freeze
ITEM_SIZE_ICON =
{
  small: 'w-4 h-4',
  medium: 'w-5 h-5',
  large: 'w-6 h-6'
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(title:, expanded: false, disabled: false, icon: 'chevron-down', theme: :default, size: :medium, classes: '', **options) ⇒ ItemComponent

Returns a new instance of ItemComponent.



49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'app/components/better_ui/general/accordion/item_component.rb', line 49

def initialize(title:, expanded: false, disabled: false, icon: 'chevron-down', 
              theme: :default, size: :medium, classes: '', **options)
  @title = title
  @expanded = expanded
  @disabled = disabled
  @icon = icon
  @theme = theme
  @size = size
  @classes = classes
  @options = options

  validate_params
end