sketch

Types

Strategy for the StyleSheet. Two strategies are available as of now: ephemeral and persistent. In the first case, the stylesheet is throwable, and it is not expected to be persisted across renders. A class name is always generated according to its content. Two classes with the exact same properties will always have the exact same name.
The second case is designed to be persisted across renders, and uses an actor to save its content on the BEAM.

pub type Strategy {
  Ephemeral
  Persistent
}

Constructors

  • Ephemeral
  • Persistent

Manages the styles. Can be instanciated with stylesheet.

pub opaque type StyleSheet

Values

pub fn at_rule(
  rule: @internal AtRule,
  stylesheet: StyleSheet,
) -> StyleSheet

Pushes an @rule in the StyleSheet, to get it bundled in the outputted CSS. It returns the StyleSheet with the rule added.

pub fn class_name(
  class: @internal Class,
  stylesheet: StyleSheet,
) -> #(StyleSheet, String)

Converts a Class to its class name, to use it anywhere in your application. It always returns the StyleSheet, because the class can have been pushed in the StyleSheet itself.

pub fn dispose(stylesheet: StyleSheet) -> Nil

Delete a persistent stylesheet. That function should be called for Persistent Erlang stylesheet, and won’t have any effect otherwise.

pub fn global(
  stylesheet: StyleSheet,
  global: @internal Global,
) -> StyleSheet

Pushes a global class in the StyleSheet, to get it bundled in the outputted CSS. It returns the StyleSheet with the rule added.

pub fn render(cache: StyleSheet) -> String

Render the content in the stylesheet in proper CSS stylesheet.

pub fn stylesheet(
  strategy strategy: Strategy,
) -> Result(StyleSheet, error.SketchError)

Create a cache, managing the styles. You can instanciate as much cache as you want, if you need to manage different stylesheets. Instanciating an Ephemeral always succeed.

Search Document