Module: TailwindMerge::SortModifiers
- Included in:
- Merger
- Defined in:
- lib/tailwind_merge/sort_modifiers.rb
Instance Method Summary collapse
-
#sort_modifiers(modifiers, order_sensitive_modifiers) ⇒ Object
Sorts modifiers according to following schema: - Predefined modifiers are sorted alphabetically - When an arbitrary variant appears, it must be preserved which modifiers are before and after it.
Instance Method Details
#sort_modifiers(modifiers, order_sensitive_modifiers) ⇒ Object
Sorts modifiers according to following schema:
-
Predefined modifiers are sorted alphabetically
-
When an arbitrary variant appears, it must be preserved which modifiers are before and after it
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/tailwind_merge/sort_modifiers.rb', line 8 def sort_modifiers(modifiers, order_sensitive_modifiers) return modifiers if modifiers.size <= 1 sorted_modifiers = [] unsorted_modifiers = [] modifiers.each do |modifier| is_position_sensitive = modifier.start_with?("[") || order_sensitive_modifiers.include?(modifier) if is_position_sensitive sorted_modifiers.concat(unsorted_modifiers.sort) sorted_modifiers << modifier unsorted_modifiers.clear else unsorted_modifiers << modifier end end sorted_modifiers.concat(unsorted_modifiers.sort) sorted_modifiers end |