lightspeed/component/template

Function-component and slot composition helpers.

Types

Function component with typed assigns and slots.

pub type FunctionComponent(assigns, slots) =
  fn(assigns, slots) -> component.Rendered

One typed slot value.

pub type Slot(assigns) {
  Slot(
    assigns: assigns,
    render: fn(assigns) -> component.Rendered,
  )
}

Constructors

Values

pub fn empty_slot() -> Slot(Nil)

Empty slot helper.

pub fn function(
  render: fn(assigns, slots) -> component.Rendered,
) -> fn(assigns, slots) -> component.Rendered

Build a function component.

pub fn render(
  function_component: fn(assigns, slots) -> component.Rendered,
  assigns: assigns,
  slots: slots,
) -> component.Rendered

Render a function component.

pub fn render_slot(slot: Slot(assigns)) -> component.Rendered

Render one slot value.

pub fn slot(
  assigns: assigns,
  render: fn(assigns) -> component.Rendered,
) -> Slot(assigns)

Build one typed slot.

pub fn slot_assigns(slot: Slot(assigns)) -> assigns

Access slot assigns.

pub fn with_slot_assigns(
  slot: Slot(assigns),
  assigns: assigns,
) -> Slot(assigns)

Replace slot assigns while preserving slot renderer.

Search Document