Module: Vident2::Tailwind

Included in:
Component
Defined in:
lib/vident2/tailwind.rb

Overview

Thin Tailwind CSS merge integration — exposes a lazy per-thread merger instance so the ClassListBuilder can collapse conflicting utilities when ::TailwindMerge::Merger is available.

Instance Method Summary collapse

Instance Method Details

#tailwind_merge_available?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/vident2/tailwind.rb', line 15

def tailwind_merge_available?
  defined?(::TailwindMerge::Merger) && ::TailwindMerge::Merger.respond_to?(:new)
end

#tailwind_mergerObject



8
9
10
11
12
13
# File 'lib/vident2/tailwind.rb', line 8

def tailwind_merger
  return unless tailwind_merge_available?
  return @tailwind_merger if defined?(@tailwind_merger)

  @tailwind_merger = Thread.current[:vident2_tailwind_merger] ||= ::TailwindMerge::Merger.new
end