-module(lightspeed@component@story).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/lightspeed/component/story.gleam").
-export([story/4, name/1, render/1]).
-export_type([story/2]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(" Story helpers for function-component template fixtures.\n").
-type story(IIY, IIZ) :: {story,
binary(),
fun((IIY, IIZ) -> lightspeed@component:rendered()),
IIY,
IIZ}.
-file("src/lightspeed/component/story.gleam", 17).
?DOC(" Build one story.\n").
-spec story(
binary(),
fun((IJA, IJB) -> lightspeed@component:rendered()),
IJA,
IJB
) -> story(IJA, IJB).
story(Name, Component, Assigns, Slots) ->
{story, Name, Component, Assigns, Slots}.
-file("src/lightspeed/component/story.gleam", 27).
?DOC(" Story name.\n").
-spec name(story(any(), any())) -> binary().
name(Story) ->
erlang:element(2, Story).
-file("src/lightspeed/component/story.gleam", 32).
?DOC(" Render story output.\n").
-spec render(story(any(), any())) -> lightspeed@component:rendered().
render(Story) ->
lightspeed@component@template:render(
erlang:element(3, Story),
erlang:element(4, Story),
erlang:element(5, Story)
).