Sha256: f2fa10dd3d2f3a07962dd95159c85cda18cb464dbd91942f30c37c9d3b716fb5

Contents?: true

Size: 928 Bytes

Versions: 9

Compression:

Stored size: 928 Bytes

Contents

# frozen_string_literal: true

class Avo::Sidebar::BaseItemComponent < ViewComponent::Base
  attr_reader :item

  def initialize(item: nil)
    @item = item
  end

  def items
    item.items
  end

  def key
    result = "avo.#{request.host}.main_menu.#{item.name.to_s.underscore}"

    if item.icon.present?
      result += ".#{item.icon.parameterize.underscore}"
    end

    result
  end

  def collapsable
    item.collapsable
  end

  def collapsed
    item.collapsed
  end

  def section_collapse_data_animation
    {
      transition_enter: "transition ease-out duration-100",
      transition_enter_start: "transform opacity-0 -translate-y-4",
      transition_enter_end: "transform opacity-100 translate-y-0",
      transition_leave: "transition ease-in duration-75",
      transition_leave_start: "transform opacity-100 translate-y-0",
      transition_leave_end: "transform opacity-0 -translate-y-4",
    }
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
avo-3.9.2 app/components/avo/sidebar/base_item_component.rb
avo-3.9.1 app/components/avo/sidebar/base_item_component.rb
avo-3.8.2 app/components/avo/sidebar/base_item_component.rb
avo-3.9.0 app/components/avo/sidebar/base_item_component.rb
avo-3.8.1 app/components/avo/sidebar/base_item_component.rb
avo-3.8.0 app/components/avo/sidebar/base_item_component.rb
avo-3.6.4 app/components/avo/sidebar/base_item_component.rb
avo-3.6.3 app/components/avo/sidebar/base_item_component.rb
avo-3.6.2 app/components/avo/sidebar/base_item_component.rb