PureAdmin.Helpers (PureAdmin v1.1.0)

Copy Markdown View Source

BEM class builder utilities for Pure Admin components.

All Pure Admin CSS classes follow BEM naming: pa-{block}, pa-{block}--{modifier}, pa-{block}__{element}.

Summary

Functions

Builds a CSS class string from a base class and a list of conditional modifiers.

Adds a BEM modifier class if the condition is truthy.

Functions

build_classes(base, modifiers, extra \\ nil)

@spec build_classes(String.t(), [{String.t(), boolean()}], String.t() | nil) ::
  String.t()

Builds a CSS class string from a base class and a list of conditional modifiers.

Examples

iex> PureAdmin.Helpers.build_classes("pa-btn", [{"pa-btn--primary", true}, {"pa-btn--sm", false}])
"pa-btn pa-btn--primary"

iex> PureAdmin.Helpers.build_classes("pa-btn", [{"pa-btn--primary", true}], "extra-class")
"pa-btn pa-btn--primary extra-class"

maybe_modifier(base, value, arg3 \\ true)

@spec maybe_modifier(String.t(), String.t() | nil, any()) :: String.t() | nil

Adds a BEM modifier class if the condition is truthy.

Examples

iex> PureAdmin.Helpers.maybe_modifier("pa-btn", "primary", "primary")
"pa-btn--primary"

iex> PureAdmin.Helpers.maybe_modifier("pa-btn", nil, nil)
nil