off_topic/component
A drop-in replacement for lustre/component that adds a mappable Option
type. Switch your import from lustre/component to off_topic/component
and all existing calls continue to work unchanged.
The key addition is map and to_lustre_options,
which let you adapt Option(inner_message) to Option(outer_message) when
wrapping a component.
Types
Re-export of lustre/component.Config — the configuration record produced
by lustre.component.
pub type Config(message) =
component.Config(message)
A mappable alternative to lustre/component.Option. Each constructor
corresponds to one of the option builder functions in lustre/component.
Use to_lustre_options to convert back to lustre’s type
when calling lustre.component.
pub opaque type Option(message)
Values
pub fn adopt_styles(adopt: Bool) -> Option(message)
pub fn clear_form_value() -> effect.Effect(message)
pub fn default_slot(
attributes: List(attribute.Attribute(message)),
fallback: List(element.Element(message)),
) -> element.Element(message)
pub fn delegates_focus(delegates: Bool) -> Option(message)
pub fn exportparts(
names: List(String),
) -> attribute.Attribute(message)
pub fn form_associated() -> Option(message)
pub fn named_slot(
name: String,
attributes: List(attribute.Attribute(message)),
fallback: List(element.Element(message)),
) -> element.Element(message)
pub fn on_attribute_change(
name: String,
decoder: fn(String) -> Result(message, Nil),
) -> Option(message)
pub fn on_connect(message: message) -> Option(message)
pub fn on_context_change(
key: String,
decoder: decode.Decoder(message),
) -> Option(message)
pub fn on_disconnect(message: message) -> Option(message)
pub fn on_form_autofill(
handler: fn(String) -> message,
) -> Option(message)
pub fn on_form_reset(message: message) -> Option(message)
pub fn on_form_restore(
handler: fn(String) -> message,
) -> Option(message)
pub fn on_property_change(
name: String,
decoder: decode.Decoder(message),
) -> Option(message)
pub fn open_shadow_root(open: Bool) -> Option(message)
pub fn part(name: String) -> attribute.Attribute(message)
pub fn parts(
names: List(#(String, Bool)),
) -> attribute.Attribute(message)
pub fn prerender(
component: lustre.App(Nil, model, message),
tag: String,
attributes: List(attribute.Attribute(message)),
children: List(element.Element(message)),
) -> element.Element(message)
pub fn remove_pseudo_state(
value: String,
) -> effect.Effect(message)
pub fn set_form_value(value: String) -> effect.Effect(message)
pub fn set_pseudo_state(value: String) -> effect.Effect(message)
pub fn slot(name: String) -> attribute.Attribute(message)
pub fn to_lustre_options(
options: List(Option(message)),
) -> List(component.Option(message))
Convert a list of off_topic/component.Option values to
lustre/component.Option values, ready to pass to lustre.component.