Twm (Twm v0.1.0)

View Source

TWM - A Tailwind CSS class merger for Elixir.

Merges Tailwind CSS classes without style conflicts by intelligently handling conflicting utilities.

Summary

Functions

Merges multiple Tailwind CSS classes into a single string, removing conflicting classes.

Functions

is_any()

See Twm.Validators.any?/0.

is_any(value)

See Twm.Validators.any?/1.

is_any_non_arbitrary(value)

See Twm.Validators.is_any_non_arbitrary/1.

is_arbitrary_image(value)

See Twm.Validators.is_arbitrary_image/1.

is_arbitrary_length(value)

See Twm.Validators.is_arbitrary_length/1.

is_arbitrary_number(value)

See Twm.Validators.is_arbitrary_number/1.

is_arbitrary_position(value)

See Twm.Validators.is_arbitrary_position/1.

is_arbitrary_shadow(value)

See Twm.Validators.is_arbitrary_shadow/1.

is_arbitrary_size(value)

See Twm.Validators.is_arbitrary_size/1.

is_arbitrary_value(value)

See Twm.Validators.is_arbitrary_value/1.

is_arbitrary_variable(value)

See Twm.Validators.is_arbitrary_variable/1.

is_arbitrary_variable_family_name(value)

See Twm.Validators.is_arbitrary_variable_family_name/1.

is_arbitrary_variable_image(value)

See Twm.Validators.is_arbitrary_variable_image/1.

is_arbitrary_variable_length(value)

See Twm.Validators.is_arbitrary_variable_length/1.

is_arbitrary_variable_position(value)

See Twm.Validators.is_arbitrary_variable_position/1.

is_arbitrary_variable_shadow(value)

See Twm.Validators.is_arbitrary_variable_shadow/1.

is_arbitrary_variable_size(value)

See Twm.Validators.is_arbitrary_variable_size/1.

is_fraction(value)

See Twm.Validators.is_fraction/1.

is_integer(value)

See Twm.Validators.is_integer_value/1.

is_number(value)

See Twm.Validators.is_number_value/1.

is_percent(value)

See Twm.Validators.percent?/1.

is_tshirt_size(value)

See Twm.Validators.is_tshirt_size/1.

merge(classes, options \\ [])

@spec merge(String.t() | [String.t()], Keyword.t() | Twm.Config.t() | nil) ::
  String.t()

Merges multiple Tailwind CSS classes into a single string, removing conflicting classes.

This function uses an LRU cache to improve performance for repeated calls with the same input classes.

Examples

iex> Twm.merge("px-2 px-4")
"px-4"

iex> Twm.merge("pt-2 pt-4 pb-3")
"pt-4 pb-3"