Module: Vident::Tailwind

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

Overview

Adds Tailwind CSS class merging functionality to components This module provides methods to create and manage TailwindMerge::Merger instances

Instance Method Summary collapse

Instance Method Details

#tailwind_merge_available?Boolean

Check if TailwindMerge gem is available

Returns:

  • (Boolean)


17
18
19
20
21
# File 'lib/vident/tailwind.rb', line 17

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

#tailwind_mergerObject

Get or create a thread-safe Tailwind merger instance



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

def tailwind_merger
  return unless tailwind_merge_available?

  return @tailwind_merger if defined?(@tailwind_merger)

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