class Maglev::Uikit::TabsComponent

def before_render

def before_render
  @active_tab = tabs.find(&:active?)
  return unless !@active_tab && active_tab_index != -1
  @active_tab = tabs[active_tab_index.to_i]
  @active_tab&.active = true
end

def default_label_classes(...)

def default_label_classes(...)
  class_variants(
    base: %(
      relative py-1 pb-0 px-4 block focus:outline-none border-b-2
      z-10 font-medium hover:text-editor-primary
    ),
    variants: {
      active: 'text-editor-primary border-editor-primary',
      '!active': 'text-gray-500 border-transparent'
    }
  ).render(...)
end

def disable_inputs?

def disable_inputs?
  @disable_inputs
end

def initialize(container_classes: nil, active_tab_index: nil, disable_inputs: false, variant: :default)

disable_inputs: true | false (default: false) if true, the inputs of hidden tabs will not be submitted
def initialize(container_classes: nil, active_tab_index: nil, disable_inputs: false, variant: :default)
  @container_classes = container_classes
  @active_tab_index = active_tab_index
  @disable_inputs = disable_inputs
  @variant = variant
end

def label_classes(...)

def label_classes(...)
  variant == :pills ? pills_label_classes(...) : default_label_classes(...)
end

def pills_label_classes(...)

def pills_label_classes(...)
  class_variants(
    base: %(rounded-md px-3 py-2 text-sm),
    variants: {
      active: 'rounded-md bg-editor-primary/10 font-semibold text-editor-primary',
      '!active': 'text-gray-500 hover:text-gray-700 font-medium'
    }
  ).render(...)
end