Class: Protos::TailwindMerge

Inherits:
Object
  • Object
show all
Defined in:
lib/protos/tailwind_merge.rb

Constant Summary collapse

DEFAULTS =
::TailwindMerge::Config::DEFAULTS
DAISY_CLASS_GROUPS =
{
  alert: [
    alert: Protos::Alert::Styles.values.map(&:to_s)
  ],
  mask: [
    mask: Protos::Avatar::MaskShapes.values.map(&:to_s)
  ],
  avatar: [
    avatar: Protos::Avatar::Indicators.values.map(&:to_s)
  ],
  badge: [
    badge: Protos::Badge::Styles.values.map(&:to_s)
  ],
  card: [
    card: Protos::Card::Sizes.values.map(&:to_s)
  ],
  carousel: [
    carousel: Protos::Carousel::Positions.values.map(&:to_s)
  ],
  "chat-bubble": [
    { "chat-bubble": Protos::ChatBubble::Positions.values.map(&:to_s) },
    {
      "chat-bubble": Types::Styles.values.map(&:to_s)
    }
  ],
  menu: [
    menu: Protos::Menu::Sizes.values.map(&:to_s)
  ],
  table: [
    table: Protos::Table::Sizes.values.map(&:to_s)
  ],
  tab: [
    tab: Protos::Tabs::Sizes.values.map(&:to_s)
  ],
  caption: [
    caption: Protos::Table::Caption::Sides.values.map(&:to_s)
  ],
  swap: [
    swap: %w[on off]
  ],
  step: [
    step: Types::Styles.values.map(&:to_s)
  ]
}.freeze

Instance Method Summary collapse

Constructor Details

#initializeTailwindMerge

Returns a new instance of TailwindMerge.



51
52
53
54
55
56
57
58
59
# File 'lib/protos/tailwind_merge.rb', line 51

def initialize
  @merger = ::TailwindMerge::Merger.new(
    config: DEFAULTS.merge(
      ignore_empty_cache: true,
      cache_size: 500,
      class_groups: DEFAULTS[:class_groups].merge(DAISY_CLASS_GROUPS)
    )
  )
end

Instance Method Details

#mergeObject



61
62
63
# File 'lib/protos/tailwind_merge.rb', line 61

def merge(...)
  @merger.merge(...)
end