LiveStyle.Manifest (LiveStyle v0.13.1)

View Source

Manifest structure and operations for LiveStyle.

The manifest stores all CSS artifacts organized by type:

  • vars: CSS custom properties
  • consts: Compile-time constants (no CSS output)
  • keyframes: @keyframes animations
  • position_try: @position-try rules
  • view_transition_classes: View transition classes
  • classes: Style classes (atomic CSS)
  • theme_classes: Variable override themes

Each entry is keyed by a fully-qualified name like "MyAppWeb.Tokens.color.white" for namespaced items or "MyAppWeb.Tokens.spin" for non-namespaced items.

Entry Types

Each entry type has a corresponding module with constructors and accessors:

Summary

Types

class_entry()

@type class_entry() :: LiveStyle.Manifest.ClassEntry.t()

const_entry()

@type const_entry() :: String.t()

keyframes_entry()

@type keyframes_entry() :: LiveStyle.Manifest.KeyframesEntry.t()

position_try_entry()

@type position_try_entry() :: LiveStyle.Manifest.PositionTryEntry.t()

t()

@type t() :: %{
  version: pos_integer(),
  vars: [{String.t(), var_entry()}],
  consts: [{String.t(), const_entry()}],
  keyframes: [{String.t(), keyframes_entry()}],
  position_try: [{String.t(), position_try_entry()}],
  view_transition_classes: [{String.t(), view_transition_class_entry()}],
  classes: [{String.t(), class_entry()}],
  theme_classes: [{String.t(), theme_class_entry()}]
}

theme_class_entry()

@type theme_class_entry() :: LiveStyle.Manifest.ThemeClassEntry.t()

var_entry()

@type var_entry() :: LiveStyle.Manifest.VarEntry.t()

view_transition_class_entry()

@type view_transition_class_entry() :: LiveStyle.Manifest.ViewTransitionClassEntry.t()

Functions

current?(arg1)

@spec current?(t()) :: boolean()

Checks if the manifest version is current.

current_version()

@spec current_version() :: pos_integer()

Returns the current manifest version.

empty()

@spec empty() :: t()

ensure_keys(manifest)

@spec ensure_keys(term()) :: t()

get_class(manifest, key)

get_const(manifest, key)

get_keyframes(manifest, key)

get_position_try(manifest, key)

get_theme_class(manifest, key)

get_var(manifest, key)

get_view_transition_class(manifest, key)

key(module, name)

@spec key(module(), atom()) :: String.t()

put_class(manifest, key, entry)

put_const(manifest, key, entry)

put_keyframes(manifest, key, entry)

put_position_try(manifest, key, entry)

put_theme_class(manifest, key, entry)

put_var(manifest, key, entry)

put_view_transition_class(manifest, key, entry)