Packages
lustre_alpine
1.0.0
Lustre Alpine is a Gleam library for working with Alpine JS through Lustre attributes.
Retired package: Renamed - Deprecated in favour of not cluttering lustre's namespace. This package can be found as High_mountains
Current section
Files
Jump to
Current section
Files
src/lustre_alpine.erl
-module(lustre_alpine).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([data/1, init/1, show/1, show_important/1, bind/2, text/1, html/1, modelable/1, for/2, key/1, transition_enter/1, transition_enter_start/1, transition_end/1, transition_leave/1, transition_leave_start/1, transition_leave_end/1, effect/1, ignore/0, ref/1, cloak/0, teleport/1, x_if/1, id/1, on/3, model/2, transition_helper/1, transition_helper_enter/1, transition_helper_leave/1]).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 12).
-spec data(binary()) -> lustre@internals@vdom:attribute(any()).
data(Js_object) ->
lustre@attribute:attribute(<<"x-data"/utf8>>, Js_object).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 17).
-spec init(binary()) -> lustre@internals@vdom:attribute(any()).
init(Js) ->
lustre@attribute:attribute(<<"x-init"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 24).
-spec show(binary()) -> lustre@internals@vdom:attribute(any()).
show(Js) ->
lustre@attribute:attribute(<<"x-show"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 29).
-spec show_important(binary()) -> lustre@internals@vdom:attribute(any()).
show_important(Js) ->
lustre@attribute:attribute(<<"x-show.important"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 34).
-spec bind(binary(), binary()) -> lustre@internals@vdom:attribute(any()).
bind(Attr, Js) ->
lustre@attribute:attribute(<<"x-bind:"/utf8, Attr/binary>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 48).
-spec text(binary()) -> lustre@internals@vdom:attribute(any()).
text(Js) ->
lustre@attribute:attribute(<<"x-text"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 53).
-spec html(binary()) -> lustre@internals@vdom:attribute(any()).
html(Js) ->
lustre@attribute:attribute(<<"x-html"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 78).
-spec modelable(binary()) -> lustre@internals@vdom:attribute(any()).
modelable(Js) ->
lustre@attribute:attribute(<<"x-modelable"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 83).
-spec for(binary(), binary()) -> lustre@internals@vdom:attribute(any()).
for(Key, Value) ->
lustre@attribute:attribute(
<<"x-for"/utf8>>,
<<<<Key/binary, " in "/utf8>>/binary, Value/binary>>
).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 88).
-spec key(binary()) -> lustre@internals@vdom:attribute(any()).
key(Js) ->
lustre@attribute:attribute(<<":key"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 120).
-spec transition_enter(binary()) -> lustre@internals@vdom:attribute(any()).
transition_enter(Css_classes) ->
lustre@attribute:attribute(<<"x-transition:enter"/utf8>>, Css_classes).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 125).
-spec transition_enter_start(binary()) -> lustre@internals@vdom:attribute(any()).
transition_enter_start(Css_classes) ->
lustre@attribute:attribute(<<"x-transition:enter-start"/utf8>>, Css_classes).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 130).
-spec transition_end(binary()) -> lustre@internals@vdom:attribute(any()).
transition_end(Css_classes) ->
lustre@attribute:attribute(<<"x-transition:enter-end"/utf8>>, Css_classes).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 135).
-spec transition_leave(binary()) -> lustre@internals@vdom:attribute(any()).
transition_leave(Css_classes) ->
lustre@attribute:attribute(<<"x-transition:leave"/utf8>>, Css_classes).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 140).
-spec transition_leave_start(binary()) -> lustre@internals@vdom:attribute(any()).
transition_leave_start(Css_classes) ->
lustre@attribute:attribute(<<"x-transition:leave-start"/utf8>>, Css_classes).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 145).
-spec transition_leave_end(binary()) -> lustre@internals@vdom:attribute(any()).
transition_leave_end(Css_classes) ->
lustre@attribute:attribute(<<"x-transition:leave-end"/utf8>>, Css_classes).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 150).
-spec effect(binary()) -> lustre@internals@vdom:attribute(any()).
effect(Js) ->
lustre@attribute:attribute(<<"x-effect"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 157).
-spec ignore() -> lustre@internals@vdom:attribute(any()).
ignore() ->
lustre@attribute:attribute(<<"x-ignore"/utf8>>, <<""/utf8>>).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 162).
-spec ref(binary()) -> lustre@internals@vdom:attribute(any()).
ref(Id) ->
lustre@attribute:attribute(<<"x-ref"/utf8>>, Id).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 174).
-spec cloak() -> lustre@internals@vdom:attribute(any()).
cloak() ->
lustre@attribute:attribute(<<"x-cloak"/utf8>>, <<""/utf8>>).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 183).
-spec teleport(binary()) -> lustre@internals@vdom:attribute(any()).
teleport(Css_selector) ->
lustre@attribute:attribute(<<"x-teleport"/utf8>>, Css_selector).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 190).
-spec x_if(binary()) -> lustre@internals@vdom:attribute(any()).
x_if(Js) ->
lustre@attribute:attribute(<<"x-if"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 197).
-spec id(binary()) -> lustre@internals@vdom:attribute(any()).
id(Js) ->
lustre@attribute:attribute(<<"x-id"/utf8>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 201).
-spec event_modifier_to_string(lustre_alpine@event:event_modifier()) -> binary().
event_modifier_to_string(Mod) ->
case Mod of
prevent ->
<<".prevent"/utf8>>;
stop ->
<<".stop"/utf8>>;
outside ->
<<".outside"/utf8>>;
window ->
<<".window"/utf8>>;
document ->
<<".document"/utf8>>;
once ->
<<".once"/utf8>>;
{debounce, none} ->
<<".debounce"/utf8>>;
{debounce, {some, Ms}} ->
<<<<".debounce."/utf8, (erlang:integer_to_binary(Ms))/binary>>/binary,
"ms"/utf8>>;
{throttle, none} ->
<<".throttle"/utf8>>;
{throttle, {some, Ms@1}} ->
<<<<".throttle."/utf8, (erlang:integer_to_binary(Ms@1))/binary>>/binary,
"ms"/utf8>>;
self ->
<<".self"/utf8>>;
camel ->
<<".camel"/utf8>>;
dot ->
<<".dot"/utf8>>;
passive ->
<<".passive"/utf8>>;
capture ->
<<".capture"/utf8>>
end.
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 39).
-spec on(binary(), list(lustre_alpine@event:event_modifier()), binary()) -> lustre@internals@vdom:attribute(any()).
on(Event, Modifiers, Js) ->
Modifiers@1 = gleam@list:fold(
Modifiers,
<<""/utf8>>,
fun(Acc, Modifier) ->
<<Acc/binary, (event_modifier_to_string(Modifier))/binary>>
end
),
lustre@attribute:attribute(
<<<<"x-on:"/utf8, Event/binary>>/binary, Modifiers@1/binary>>,
Js
).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 221).
-spec model_modifier_to_string(lustre_alpine@model:model_modifier()) -> binary().
model_modifier_to_string(Mod) ->
case Mod of
lazy ->
<<".lazy"/utf8>>;
number ->
<<".number"/utf8>>;
boolean ->
<<".boolean"/utf8>>;
{debounce, none} ->
<<".debounce"/utf8>>;
{throttle, none} ->
<<".throttle"/utf8>>;
{debounce, {some, Ms}} ->
<<<<".debounce."/utf8, (erlang:integer_to_binary(Ms))/binary>>/binary,
"ms"/utf8>>;
{throttle, {some, Ms@1}} ->
<<<<".throttle."/utf8, (erlang:integer_to_binary(Ms@1))/binary>>/binary,
"ms"/utf8>>;
fill ->
<<".fill"/utf8>>
end.
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 69).
-spec model(list(lustre_alpine@model:model_modifier()), binary()) -> lustre@internals@vdom:attribute(any()).
model(Modifiers, Js) ->
Modifiers@1 = gleam@list:fold(
Modifiers,
<<""/utf8>>,
fun(Acc, Modifier) ->
<<Acc/binary, (model_modifier_to_string(Modifier))/binary>>
end
),
lustre@attribute:attribute(<<"x-model"/utf8, Modifiers@1/binary>>, Js).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 253).
-spec scale_origin_to_string(lustre_alpine@transition:scale_origin()) -> binary().
scale_origin_to_string(Origin) ->
case Origin of
bottom ->
<<".bottom"/utf8>>;
left ->
<<".left"/utf8>>;
right ->
<<".right"/utf8>>;
top ->
<<".top"/utf8>>
end.
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 234).
-spec transtion_modifier_to_string(
lustre_alpine@transition:transition_modifier()
) -> binary().
transtion_modifier_to_string(Mod) ->
case Mod of
{delay, Ms} ->
<<<<".delay."/utf8, (erlang:integer_to_binary(Ms))/binary>>/binary,
"ms"/utf8>>;
{duration, Ms@1} ->
<<<<".duration."/utf8, (erlang:integer_to_binary(Ms@1))/binary>>/binary,
"ms"/utf8>>;
opacity ->
<<".opacity"/utf8>>;
{scale, {some, Percentage}, Origin} ->
<<<<".scale."/utf8, (erlang:integer_to_binary(Percentage))/binary>>/binary,
(gleam@list:fold(
Origin,
<<""/utf8>>,
fun(Acc, Origin@1) ->
<<Acc/binary,
(scale_origin_to_string(Origin@1))/binary>>
end
))/binary>>;
{scale, none, Origin@2} ->
<<".scale."/utf8,
(gleam@list:fold(
Origin@2,
<<""/utf8>>,
fun(Acc@1, Origin@3) ->
<<Acc@1/binary,
(scale_origin_to_string(Origin@3))/binary>>
end
))/binary>>
end.
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 95).
-spec transition_helper(list(lustre_alpine@transition:transition_modifier())) -> lustre@internals@vdom:attribute(any()).
transition_helper(Modifiers) ->
Modifiers@1 = gleam@list:fold(
Modifiers,
<<""/utf8>>,
fun(Acc, Modifier) ->
<<Acc/binary, (transtion_modifier_to_string(Modifier))/binary>>
end
),
lustre@attribute:attribute(
<<"x-transition"/utf8, Modifiers@1/binary>>,
<<""/utf8>>
).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 103).
-spec transition_helper_enter(
list(lustre_alpine@transition:transition_modifier())
) -> lustre@internals@vdom:attribute(any()).
transition_helper_enter(Modifiers) ->
Modifiers@1 = gleam@list:fold(
Modifiers,
<<""/utf8>>,
fun(Acc, Modifier) ->
<<Acc/binary, (transtion_modifier_to_string(Modifier))/binary>>
end
),
lustre@attribute:attribute(
<<"x-transition:enter"/utf8, Modifiers@1/binary>>,
<<""/utf8>>
).
-file("/Users/renata-amutio/Projects/renatillas/lustre_alpine/src/lustre_alpine.gleam", 111).
-spec transition_helper_leave(
list(lustre_alpine@transition:transition_modifier())
) -> lustre@internals@vdom:attribute(any()).
transition_helper_leave(Modifiers) ->
Modifiers@1 = gleam@list:fold(
Modifiers,
<<""/utf8>>,
fun(Acc, Modifier) ->
<<Acc/binary, (transtion_modifier_to_string(Modifier))/binary>>
end
),
lustre@attribute:attribute(
<<"x-transition:leave"/utf8, Modifiers@1/binary>>,
<<""/utf8>>
).