Packages

Layout and style that's easy to refactor, all without thinking about CSS.

Current section

Files

Jump to
legos src legos@internal@style.erl
Raw

src/legos@internal@style.erl

-module(legos@internal@style).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/legos/internal/style.gleam").
-export([alignments/0, locations/0, dot/1, empty_intermediate/2, render_rules/2, render/1, render_compact/1, make_important/1, describe_text/2, input_text_reset/0, font_variant/1, common_values/0, explainer/0, self_name/1, grid_alignments/1, content_name/1, describe_alignment/1, el_description/0, base_sheet/0, overrides/0, rules/0, viewport_rules/0]).
-export_type([class/0, rule/0, style_classes/0, alignment/0, location/0, self_descriptor/0, content_descriptor/0, intermediate/0]).
-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(false).
-type class() :: {class, binary(), list(rule())}.
-type rule() :: {prop, binary(), binary()} |
{child, binary(), list(rule())} |
{all_children, binary(), list(rule())} |
{supports, binary(), binary(), list({binary(), binary()})} |
{descriptor, binary(), list(rule())} |
{adjacent, binary(), list(rule())} |
{batch, list(rule())}.
-type style_classes() :: root |
any |
single |
row |
column |
paragraph |
page |
text |
grid |
spacer.
-type alignment() :: top | bottom | right | left | center_x | center_y.
-type location() :: above | below | on_right | on_left | within | behind.
-type self_descriptor() :: {self, alignment()}.
-type content_descriptor() :: {content, alignment()}.
-type intermediate() :: {intermediate,
binary(),
list({binary(), binary()}),
binary(),
list(intermediate())}.
-file("src/legos/internal/style.gleam", 54).
?DOC(false).
-spec alignments() -> list(alignment()).
alignments() ->
[top, bottom, right, left, center_x, center_y].
-file("src/legos/internal/style.gleam", 65).
?DOC(false).
-spec locations() -> list(location()).
locations() ->
[above, below, on_right, on_left, within, behind].
-file("src/legos/internal/style.gleam", 306).
?DOC(false).
-spec dot(binary()) -> binary().
dot(C) ->
<<"."/utf8, C/binary>>.
-file("src/legos/internal/style.gleam", 349).
?DOC(false).
-spec empty_intermediate(binary(), binary()) -> intermediate().
empty_intermediate(Selector, Closing) ->
{intermediate, Selector, [], Closing, []}.
-file("src/legos/internal/style.gleam", 353).
?DOC(false).
-spec render_rules(intermediate(), list(rule())) -> intermediate().
render_rules(Parent, Rules_to_render) ->
Generate_intermediates = fun(Rendered, Rule) -> case Rule of
{prop, Name, Val} ->
{intermediate,
erlang:element(2, Rendered),
[{Name, Val} | erlang:element(3, Rendered)],
erlang:element(4, Rendered),
erlang:element(5, Rendered)};
{supports, Prop, Value, Props} ->
{intermediate,
erlang:element(2, Rendered),
erlang:element(3, Rendered),
erlang:element(4, Rendered),
[{intermediate,
<<<<<<<<<<"@supports ("/utf8, Prop/binary>>/binary,
":"/utf8>>/binary,
Value/binary>>/binary,
") {"/utf8>>/binary,
(erlang:element(2, Rendered))/binary>>,
Props,
<<"\n}"/utf8>>,
[]} |
erlang:element(5, Rendered)]};
{adjacent, Selector, Adj_rules} ->
{intermediate,
erlang:element(2, Rendered),
erlang:element(3, Rendered),
erlang:element(4, Rendered),
[render_rules(
empty_intermediate(
<<<<(erlang:element(2, Rendered))/binary,
" + "/utf8>>/binary,
Selector/binary>>,
<<""/utf8>>
),
Adj_rules
) |
erlang:element(5, Rendered)]};
{child, Child, Child_rules} ->
{intermediate,
erlang:element(2, Rendered),
erlang:element(3, Rendered),
erlang:element(4, Rendered),
[render_rules(
empty_intermediate(
<<<<(erlang:element(2, Rendered))/binary,
" > "/utf8>>/binary,
Child/binary>>,
<<""/utf8>>
),
Child_rules
) |
erlang:element(5, Rendered)]};
{all_children, Child@1, Child_rules@1} ->
{intermediate,
erlang:element(2, Rendered),
erlang:element(3, Rendered),
erlang:element(4, Rendered),
[render_rules(
empty_intermediate(
<<<<(erlang:element(2, Rendered))/binary,
" "/utf8>>/binary,
Child@1/binary>>,
<<""/utf8>>
),
Child_rules@1
) |
erlang:element(5, Rendered)]};
{descriptor, Descriptor, Descriptor_rules} ->
{intermediate,
erlang:element(2, Rendered),
erlang:element(3, Rendered),
erlang:element(4, Rendered),
[render_rules(
empty_intermediate(
<<(erlang:element(2, Rendered))/binary,
Descriptor/binary>>,
<<""/utf8>>
),
Descriptor_rules
) |
erlang:element(5, Rendered)]};
{batch, Batched} ->
{intermediate,
erlang:element(2, Rendered),
erlang:element(3, Rendered),
erlang:element(4, Rendered),
[render_rules(
empty_intermediate(
erlang:element(2, Rendered),
<<""/utf8>>
),
Batched
) |
erlang:element(5, Rendered)]}
end end,
gleam@list:fold_right(Rules_to_render, Parent, Generate_intermediates).
-file("src/legos/internal/style.gleam", 419).
?DOC(false).
-spec render_values(list({binary(), binary()})) -> binary().
render_values(Values) ->
_pipe = Values,
_pipe@1 = gleam@list:map(
_pipe,
fun(A) ->
X = erlang:element(1, A),
Y = erlang:element(2, A),
<<<<<<<<" "/utf8, X/binary>>/binary, ": "/utf8>>/binary, Y/binary>>/binary,
";"/utf8>>
end
),
gleam@string:join(_pipe@1, <<"\n"/utf8>>).
-file("src/legos/internal/style.gleam", 429).
?DOC(false).
-spec render_class(intermediate()) -> binary().
render_class(Rule) ->
case erlang:element(3, Rule) of
[] ->
<<""/utf8>>;
_ ->
<<<<<<<<(erlang:element(2, Rule))/binary, " {\n"/utf8>>/binary,
(render_values(erlang:element(3, Rule)))/binary>>/binary,
(erlang:element(4, Rule))/binary>>/binary,
"\n}"/utf8>>
end.
-file("src/legos/internal/style.gleam", 441).
?DOC(false).
-spec render_intermediate(intermediate()) -> binary().
render_intermediate(Rule) ->
<<(render_class(Rule))/binary,
(begin
_pipe = gleam@list:map(
erlang:element(5, Rule),
fun render_intermediate/1
),
gleam@string:join(_pipe, <<"\n"/utf8>>)
end)/binary>>.
-file("src/legos/internal/style.gleam", 446).
?DOC(false).
-spec render(list(class())) -> binary().
render(Class_names) ->
_pipe = Class_names,
_pipe@1 = gleam@list:fold_right(
_pipe,
[],
fun(Existing, Class) ->
{class, Name, Rules} = Class,
lists:append(
[render_rules(empty_intermediate(Name, <<""/utf8>>), Rules)],
Existing
)
end
),
_pipe@2 = gleam@list:map(_pipe@1, fun render_intermediate/1),
gleam@string:join(_pipe@2, <<"\n"/utf8>>).
-file("src/legos/internal/style.gleam", 457).
?DOC(false).
-spec render_compact(list(class())) -> binary().
render_compact(Style_classes) ->
Render_values = fun(Values) -> _pipe = Values,
_pipe@1 = gleam@list:map(
_pipe,
fun(A) ->
X = erlang:element(1, A),
Y = erlang:element(2, A),
<<<<<<X/binary, ":"/utf8>>/binary, Y/binary>>/binary, ";"/utf8>>
end
),
erlang:list_to_binary(_pipe@1) end,
Render_class = fun(Rule) -> case erlang:element(3, Rule) of
[] ->
<<""/utf8>>;
_ ->
<<<<<<<<(erlang:element(2, Rule))/binary, "{"/utf8>>/binary,
(Render_values(erlang:element(3, Rule)))/binary>>/binary,
(erlang:element(4, Rule))/binary>>/binary,
"}"/utf8>>
end end,
Render_intermediate = fun(Rule@1) ->
<<(Render_class(Rule@1))/binary,
(begin
_pipe@2 = gleam@list:map(
erlang:element(5, Rule@1),
fun render_intermediate/1
),
erlang:list_to_binary(_pipe@2)
end)/binary>>
end,
_pipe@3 = Style_classes,
_pipe@4 = gleam@list:fold_right(
_pipe@3,
[],
fun(Existing, Class) ->
{class, Name, Rules} = Class,
lists:append(
[render_rules(empty_intermediate(Name, <<""/utf8>>), Rules)],
Existing
)
end
),
_pipe@5 = gleam@list:map(_pipe@4, Render_intermediate),
erlang:list_to_binary(_pipe@5).
-file("src/legos/internal/style.gleam", 514).
?DOC(false).
-spec make_important(rule()) -> rule().
make_important(Rule) ->
case Rule of
{prop, Name, Prop} ->
{prop, Name, <<Prop/binary, " !important"/utf8>>};
_ ->
Rule
end.
-file("src/legos/internal/style.gleam", 500).
?DOC(false).
-spec describe_text(binary(), list(rule())) -> rule().
describe_text(Cls, Props) ->
{descriptor,
Cls,
lists:append(
[gleam@list:map(Props, fun make_important/1),
[{child, <<".text"/utf8>>, Props},
{child, <<".el"/utf8>>, Props},
{child, <<".el > .text"/utf8>>, Props}]]
)}.
-file("src/legos/internal/style.gleam", 530).
?DOC(false).
-spec input_text_reset() -> binary().
input_text_reset() ->
<<"
input[type=\"search\"],
input[type=\"search\"]::-webkit-search-decoration,
input[type=\"search\"]::-webkit-search-cancel-button,
input[type=\"search\"]::-webkit-search-results-button,
input[type=\"search\"]::-webkit-search-results-decoration {
-webkit-appearance:none;
}
"/utf8>>.
-file("src/legos/internal/style.gleam", 656).
?DOC(false).
-spec font_variant(binary()) -> list(class()).
font_variant(Var) ->
[{class,
<<".v-"/utf8, Var/binary>>,
[{prop,
<<"font-feature-settings"/utf8>>,
<<<<"\""/utf8, Var/binary>>/binary, "\""/utf8>>}]},
{class,
<<<<".v-"/utf8, Var/binary>>/binary, "-off"/utf8>>,
[{prop,
<<"font-feature-settings"/utf8>>,
<<<<"\""/utf8, Var/binary>>/binary, "\" 0"/utf8>>}]}].
-file("src/legos/internal/style.gleam", 622).
?DOC(false).
-spec common_values() -> list(class()).
common_values() ->
lists:append(
[gleam@list:map(
gleam@list:range(0, 6),
fun(X) ->
{class,
<<".border-"/utf8,
(erlang:integer_to_binary(X))/binary>>,
[{prop,
<<"border-width"/utf8>>,
<<(erlang:integer_to_binary(X))/binary,
"px"/utf8>>}]}
end
),
gleam@list:map(
gleam@list:range(8, 32),
fun(I) ->
{class,
<<".font-size-"/utf8,
(erlang:integer_to_binary(I))/binary>>,
[{prop,
<<"font-size"/utf8>>,
<<(erlang:integer_to_binary(I))/binary,
"px"/utf8>>}]}
end
),
gleam@list:map(
gleam@list:range(0, 24),
fun(I@1) ->
{class,
<<".p-"/utf8, (erlang:integer_to_binary(I@1))/binary>>,
[{prop,
<<"padding"/utf8>>,
<<(erlang:integer_to_binary(I@1))/binary,
"px"/utf8>>}]}
end
),
[{class,
<<".v-smcp"/utf8>>,
[{prop, <<"font-variant"/utf8>>, <<"small-caps"/utf8>>}]},
{class,
<<".v-smcp-off"/utf8>>,
[{prop, <<"font-variant"/utf8>>, <<"normal"/utf8>>}]}],
lists:append(
[font_variant(<<"zero"/utf8>>),
font_variant(<<"onum"/utf8>>),
font_variant(<<"liga"/utf8>>),
font_variant(<<"dlig"/utf8>>),
font_variant(<<"ordn"/utf8>>),
font_variant(<<"tnum"/utf8>>),
font_variant(<<"afrc"/utf8>>),
font_variant(<<"frac"/utf8>>)]
)]
).
-file("src/legos/internal/style.gleam", 604).
?DOC(false).
-spec explainer() -> binary().
explainer() ->
<<<<<<<<"
.explain {
border: 6px solid rgb(174, 121, 15) !important;
}
.explain > ."/utf8,
"s"/utf8>>/binary,
" {
border: 4px dashed rgb(0, 151, 167) !important;
}
.ctr {
border: none !important;
}
.explain > .ctr > ."/utf8>>/binary,
"s"/utf8>>/binary,
" {
border: 4px dashed rgb(0, 151, 167) !important;
}
"/utf8>>.
-file("src/legos/internal/style.gleam", 84).
?DOC(false).
-spec self_name(self_descriptor()) -> binary().
self_name(Desc) ->
case Desc of
{self, top} ->
dot(<<"at"/utf8>>);
{self, bottom} ->
dot(<<"ab"/utf8>>);
{self, right} ->
dot(<<"ar"/utf8>>);
{self, left} ->
dot(<<"al"/utf8>>);
{self, center_x} ->
dot(<<"cx"/utf8>>);
{self, center_y} ->
dot(<<"cy"/utf8>>)
end.
-file("src/legos/internal/style.gleam", 326).
?DOC(false).
-spec grid_alignments(fun((alignment()) -> list(rule()))) -> rule().
grid_alignments(Values) ->
Create_description = fun(Alignment) ->
[{child,
dot(<<"s"/utf8>>),
[{descriptor, self_name({self, Alignment}), Values(Alignment)}]}]
end,
_pipe = alignments(),
_pipe@1 = gleam@list:flat_map(_pipe, Create_description),
{batch, _pipe@1}.
-file("src/legos/internal/style.gleam", 95).
?DOC(false).
-spec content_name(content_descriptor()) -> binary().
content_name(Desc) ->
case Desc of
{content, top} ->
dot(<<"ct"/utf8>>);
{content, bottom} ->
dot(<<"cb"/utf8>>);
{content, right} ->
dot(<<"cr"/utf8>>);
{content, left} ->
dot(<<"cl"/utf8>>);
{content, center_x} ->
dot(<<"ccx"/utf8>>);
{content, center_y} ->
dot(<<"ccy"/utf8>>)
end.
-file("src/legos/internal/style.gleam", 310).
?DOC(false).
-spec describe_alignment(fun((alignment()) -> {list(rule()), list(rule())})) -> rule().
describe_alignment(Values) ->
Create_description = fun(Alignment) ->
{Content, Indiv} = Values(Alignment),
[{descriptor, content_name({content, Alignment}), Content},
{child,
dot(<<"s"/utf8>>),
[{descriptor, self_name({self, Alignment}), Indiv}]}]
end,
_pipe = alignments(),
_pipe@1 = gleam@list:flat_map(_pipe, Create_description),
{batch, _pipe@1}.
-file("src/legos/internal/style.gleam", 669).
?DOC(false).
-spec el_description() -> list(rule()).
el_description() ->
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>},
{prop, <<"flex-direction"/utf8>>, <<"column"/utf8>>},
{prop, <<"white-space"/utf8>>, <<"pre"/utf8>>},
{descriptor,
dot(<<"hbh"/utf8>>),
[{prop, <<"z-index"/utf8>>, <<"0"/utf8>>},
{child,
dot(<<"bh"/utf8>>),
[{prop, <<"z-index"/utf8>>, <<"-1"/utf8>>}]}]},
{descriptor,
dot(<<"sbt"/utf8>>),
[{child,
dot(<<"t"/utf8>>),
[{descriptor,
dot(<<"hf"/utf8>>),
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>}]},
{descriptor,
dot(<<"wf"/utf8>>),
[{prop,
<<"align-self"/utf8>>,
<<"auto !important"/utf8>>}]}]}]},
{child,
dot(<<"hc"/utf8>>),
[{prop, <<"height"/utf8>>, <<"auto"/utf8>>}]},
{child,
dot(<<"hf"/utf8>>),
[{prop, <<"flex-grow"/utf8>>, <<"100000"/utf8>>}]},
{child, dot(<<"wf"/utf8>>), [{prop, <<"width"/utf8>>, <<"100%"/utf8>>}]},
{child,
dot(<<"wfp"/utf8>>),
[{prop, <<"width"/utf8>>, <<"100%"/utf8>>}]},
{child,
dot(<<"wc"/utf8>>),
[{prop, <<"align-self"/utf8>>, <<"flex-start"/utf8>>}]},
describe_alignment(fun(Alignment) -> case Alignment of
top ->
{[{prop,
<<"justify-content"/utf8>>,
<<"flex-start"/utf8>>}],
[{prop,
<<"margin-bottom"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-top"/utf8>>,
<<"0 !important"/utf8>>}]};
bottom ->
{[{prop,
<<"justify-content"/utf8>>,
<<"flex-end"/utf8>>}],
[{prop,
<<"margin-top"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-bottom"/utf8>>,
<<"0 !important"/utf8>>}]};
right ->
{[{prop, <<"align-items"/utf8>>, <<"flex-end"/utf8>>}],
[{prop, <<"align-self"/utf8>>, <<"flex-end"/utf8>>}]};
left ->
{[{prop, <<"align-items"/utf8>>, <<"flex-start"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"flex-start"/utf8>>}]};
center_x ->
{[{prop, <<"align-items"/utf8>>, <<"center"/utf8>>}],
[{prop, <<"align-self"/utf8>>, <<"center"/utf8>>}]};
center_y ->
{[{child,
dot(<<"s"/utf8>>),
[{prop,
<<"margin-top"/utf8>>,
<<"auto"/utf8>>},
{prop,
<<"margin-bottom"/utf8>>,
<<"auto"/utf8>>}]}],
[{prop,
<<"margin-top"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-bottom"/utf8>>,
<<"auto !important"/utf8>>}]}
end end)].
-file("src/legos/internal/style.gleam", 741).
?DOC(false).
-spec base_sheet() -> list(class()).
base_sheet() ->
[{class,
<<"html,body"/utf8>>,
[{prop, <<"height"/utf8>>, <<"100%"/utf8>>},
{prop, <<"padding"/utf8>>, <<"0"/utf8>>},
{prop, <<"margin"/utf8>>, <<"0"/utf8>>}]},
{class,
<<".transparency-0"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"0"/utf8>>}]},
{class,
<<<<(dot(<<"s"/utf8>>))/binary, (dot(<<"e"/utf8>>))/binary>>/binary,
(dot(<<"ic"/utf8>>))/binary>>,
[{prop, <<"display"/utf8>>, <<"block"/utf8>>},
{descriptor,
dot(<<"hf"/utf8>>),
[{child,
<<"img"/utf8>>,
[{prop, <<"max-height"/utf8>>, <<"100%"/utf8>>},
{prop, <<"object-fit"/utf8>>, <<"cover"/utf8>>}]}]},
{descriptor,
dot(<<"wf"/utf8>>),
[{child,
<<"img"/utf8>>,
[{prop, <<"max-width"/utf8>>, <<"100%"/utf8>>},
{prop, <<"object-fit"/utf8>>, <<"cover"/utf8>>}]}]}]},
{class,
<<(dot(<<"s"/utf8>>))/binary, ":focus"/utf8>>,
[{prop, <<"outline"/utf8>>, <<"none"/utf8>>}]},
{class,
dot(<<"ui"/utf8>>),
[{prop, <<"width"/utf8>>, <<"100%"/utf8>>},
{prop, <<"height"/utf8>>, <<"auto"/utf8>>},
{prop, <<"min-height"/utf8>>, <<"100%"/utf8>>},
{prop, <<"z-index"/utf8>>, <<"0"/utf8>>},
{descriptor,
<<(dot(<<"s"/utf8>>))/binary, (dot(<<"hf"/utf8>>))/binary>>,
[{prop, <<"height"/utf8>>, <<"100%"/utf8>>},
{child,
dot(<<"hf"/utf8>>),
[{prop, <<"height"/utf8>>, <<"100%"/utf8>>}]}]},
{child,
dot(<<"fr"/utf8>>),
[{descriptor,
dot(<<"nb"/utf8>>),
[{prop, <<"position"/utf8>>, <<"fixed"/utf8>>},
{prop, <<"z-index"/utf8>>, <<"20"/utf8>>}]}]}]},
{class,
dot(<<"nb"/utf8>>),
[{prop, <<"position"/utf8>>, <<"relative"/utf8>>},
{prop, <<"border"/utf8>>, <<"none"/utf8>>},
{prop, <<"display"/utf8>>, <<"flex"/utf8>>},
{prop, <<"flex-direction"/utf8>>, <<"row"/utf8>>},
{prop, <<"flex-basis"/utf8>>, <<"auto"/utf8>>},
{descriptor, dot(<<"e"/utf8>>), el_description()},
{batch, gleam@list:map(locations(), fun(Loc) -> case Loc of
above ->
{descriptor,
dot(<<"a"/utf8>>),
[{prop,
<<"position"/utf8>>,
<<"absolute"/utf8>>},
{prop,
<<"bottom"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"left"/utf8>>,
<<"0"/utf8>>},
{prop,
<<"width"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"z-index"/utf8>>,
<<"20"/utf8>>},
{prop,
<<"margin"/utf8>>,
<<"0 !important"/utf8>>},
{child,
dot(<<"hf"/utf8>>),
[{prop,
<<"height"/utf8>>,
<<"auto"/utf8>>}]},
{child,
dot(<<"wf"/utf8>>),
[{prop,
<<"width"/utf8>>,
<<"100%"/utf8>>}]},
{prop,
<<"pointer-events"/utf8>>,
<<"none"/utf8>>},
{child,
<<"*"/utf8>>,
[{prop,
<<"pointer-events"/utf8>>,
<<"auto"/utf8>>}]}]};
below ->
{descriptor,
dot(<<"b"/utf8>>),
[{prop,
<<"position"/utf8>>,
<<"absolute"/utf8>>},
{prop,
<<"bottom"/utf8>>,
<<"0"/utf8>>},
{prop,
<<"left"/utf8>>,
<<"0"/utf8>>},
{prop,
<<"height"/utf8>>,
<<"0"/utf8>>},
{prop,
<<"width"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"z-index"/utf8>>,
<<"20"/utf8>>},
{prop,
<<"margin"/utf8>>,
<<"0 !important"/utf8>>},
{prop,
<<"pointer-events"/utf8>>,
<<"none"/utf8>>},
{child,
<<"*"/utf8>>,
[{prop,
<<"pointer-events"/utf8>>,
<<"auto"/utf8>>}]},
{child,
dot(<<"hf"/utf8>>),
[{prop,
<<"height"/utf8>>,
<<"auto"/utf8>>}]}]};
on_right ->
{descriptor,
dot(<<"or"/utf8>>),
[{prop,
<<"position"/utf8>>,
<<"absolute"/utf8>>},
{prop,
<<"left"/utf8>>,
<<"100%"/utf8>>},
{prop, <<"top"/utf8>>, <<"0"/utf8>>},
{prop,
<<"height"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"margin"/utf8>>,
<<"0 !important"/utf8>>},
{prop,
<<"z-index"/utf8>>,
<<"20"/utf8>>},
{prop,
<<"pointer-events"/utf8>>,
<<"none"/utf8>>},
{child,
<<"*"/utf8>>,
[{prop,
<<"pointer-events"/utf8>>,
<<"auto"/utf8>>}]}]};
on_left ->
{descriptor,
dot(<<"ol"/utf8>>),
[{prop,
<<"position"/utf8>>,
<<"absolute"/utf8>>},
{prop,
<<"right"/utf8>>,
<<"100%"/utf8>>},
{prop, <<"top"/utf8>>, <<"0"/utf8>>},
{prop,
<<"height"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"margin"/utf8>>,
<<"0 !important"/utf8>>},
{prop,
<<"z-index"/utf8>>,
<<"20"/utf8>>},
{prop,
<<"pointer-events"/utf8>>,
<<"none"/utf8>>},
{child,
<<"*"/utf8>>,
[{prop,
<<"pointer-events"/utf8>>,
<<"auto"/utf8>>}]}]};
within ->
{descriptor,
dot(<<"fr"/utf8>>),
[{prop,
<<"position"/utf8>>,
<<"absolute"/utf8>>},
{prop,
<<"width"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"height"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"left"/utf8>>,
<<"0"/utf8>>},
{prop, <<"top"/utf8>>, <<"0"/utf8>>},
{prop,
<<"margin"/utf8>>,
<<"0 !important"/utf8>>},
{prop,
<<"pointer-events"/utf8>>,
<<"none"/utf8>>},
{child,
<<"*"/utf8>>,
[{prop,
<<"pointer-events"/utf8>>,
<<"auto"/utf8>>}]}]};
behind ->
{descriptor,
dot(<<"bh"/utf8>>),
[{prop,
<<"position"/utf8>>,
<<"absolute"/utf8>>},
{prop,
<<"width"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"height"/utf8>>,
<<"100%"/utf8>>},
{prop,
<<"left"/utf8>>,
<<"0"/utf8>>},
{prop, <<"top"/utf8>>, <<"0"/utf8>>},
{prop,
<<"margin"/utf8>>,
<<"0 !important"/utf8>>},
{prop,
<<"z-index"/utf8>>,
<<"0"/utf8>>},
{prop,
<<"pointer-events"/utf8>>,
<<"none"/utf8>>},
{child,
<<"*"/utf8>>,
[{prop,
<<"pointer-events"/utf8>>,
<<"auto"/utf8>>}]}]}
end end)}]},
{class,
dot(<<"s"/utf8>>),
[{prop, <<"position"/utf8>>, <<"relative"/utf8>>},
{prop, <<"border"/utf8>>, <<"none"/utf8>>},
{prop, <<"flex-shrink"/utf8>>, <<"0"/utf8>>},
{prop, <<"display"/utf8>>, <<"flex"/utf8>>},
{prop, <<"flex-direction"/utf8>>, <<"row"/utf8>>},
{prop, <<"flex-basis"/utf8>>, <<"auto"/utf8>>},
{prop, <<"resize"/utf8>>, <<"none"/utf8>>},
{prop, <<"font-feature-settings"/utf8>>, <<"inherit"/utf8>>},
{prop, <<"box-sizing"/utf8>>, <<"border-box"/utf8>>},
{prop, <<"margin"/utf8>>, <<"0"/utf8>>},
{prop, <<"padding"/utf8>>, <<"0"/utf8>>},
{prop, <<"border-width"/utf8>>, <<"0"/utf8>>},
{prop, <<"border-style"/utf8>>, <<"solid"/utf8>>},
{prop, <<"font-size"/utf8>>, <<"inherit"/utf8>>},
{prop, <<"color"/utf8>>, <<"inherit"/utf8>>},
{prop, <<"font-family"/utf8>>, <<"inherit"/utf8>>},
{prop, <<"line-height"/utf8>>, <<"1"/utf8>>},
{prop, <<"font-weight"/utf8>>, <<"inherit"/utf8>>},
{prop, <<"text-decoration"/utf8>>, <<"none"/utf8>>},
{prop, <<"font-style"/utf8>>, <<"inherit"/utf8>>},
{descriptor,
dot(<<"wrp"/utf8>>),
[{prop, <<"flex-wrap"/utf8>>, <<"wrap"/utf8>>}]},
{descriptor,
dot(<<"notxt"/utf8>>),
[{prop, <<"-moz-user-select"/utf8>>, <<"none"/utf8>>},
{prop, <<"-webkit-user-select"/utf8>>, <<"none"/utf8>>},
{prop, <<"-ms-user-select"/utf8>>, <<"none"/utf8>>},
{prop, <<"user-select"/utf8>>, <<"none"/utf8>>}]},
{descriptor,
dot(<<"cptr"/utf8>>),
[{prop, <<"cursor"/utf8>>, <<"pointer"/utf8>>}]},
{descriptor,
dot(<<"ctxt"/utf8>>),
[{prop, <<"cursor"/utf8>>, <<"text"/utf8>>}]},
{descriptor,
dot(<<"ppe"/utf8>>),
[{prop,
<<"pointer-events"/utf8>>,
<<"none !important"/utf8>>}]},
{descriptor,
dot(<<"cpe"/utf8>>),
[{prop,
<<"pointer-events"/utf8>>,
<<"auto !important"/utf8>>}]},
{descriptor,
dot(<<"clr"/utf8>>),
[{prop, <<"opacity"/utf8>>, <<"0"/utf8>>}]},
{descriptor,
dot(<<"oq"/utf8>>),
[{prop, <<"opacity"/utf8>>, <<"1"/utf8>>}]},
{descriptor,
<<(dot(<<"hv"/utf8, "clr"/utf8>>))/binary, ":hover"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"0"/utf8>>}]},
{descriptor,
<<(dot(<<"hv"/utf8, "oq"/utf8>>))/binary, ":hover"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"1"/utf8>>}]},
{descriptor,
<<(dot(<<"fcs"/utf8, "clr"/utf8>>))/binary, ":focus"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"0"/utf8>>}]},
{descriptor,
<<(dot(<<"fcs"/utf8, "oq"/utf8>>))/binary, ":focus"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"1"/utf8>>}]},
{descriptor,
<<(dot(<<"atv"/utf8, "clr"/utf8>>))/binary, ":active"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"0"/utf8>>}]},
{descriptor,
<<(dot(<<"atv"/utf8, "oq"/utf8>>))/binary, ":active"/utf8>>,
[{prop, <<"opacity"/utf8>>, <<"1"/utf8>>}]},
{descriptor,
dot(<<"ts"/utf8>>),
[{prop,
<<"transition"/utf8>>,
gleam@string:join(
gleam@list:map(
[<<"transform"/utf8>>,
<<"opacity"/utf8>>,
<<"filter"/utf8>>,
<<"background-color"/utf8>>,
<<"color"/utf8>>,
<<"font-size"/utf8>>],
fun(X) -> <<X/binary, " 160ms"/utf8>> end
),
<<", "/utf8>>
)}]},
{descriptor,
dot(<<"sb"/utf8>>),
[{prop, <<"overflow"/utf8>>, <<"auto"/utf8>>},
{prop, <<"flex-shrink"/utf8>>, <<"1"/utf8>>}]},
{descriptor,
dot(<<"sbx"/utf8>>),
[{prop, <<"overflow-x"/utf8>>, <<"auto"/utf8>>},
{descriptor,
dot(<<"r"/utf8>>),
[{prop, <<"flex-shrink"/utf8>>, <<"1"/utf8>>}]}]},
{descriptor,
dot(<<"sby"/utf8>>),
[{prop, <<"overflow-y"/utf8>>, <<"auto"/utf8>>},
{descriptor,
dot(<<"c"/utf8>>),
[{prop, <<"flex-shrink"/utf8>>, <<"1"/utf8>>}]},
{descriptor,
dot(<<"e"/utf8>>),
[{prop, <<"flex-shrink"/utf8>>, <<"1"/utf8>>}]}]},
{descriptor,
dot(<<"cp"/utf8>>),
[{prop, <<"overflow"/utf8>>, <<"hidden"/utf8>>}]},
{descriptor,
dot(<<"cpx"/utf8>>),
[{prop, <<"overflow-x"/utf8>>, <<"hidden"/utf8>>}]},
{descriptor,
dot(<<"cpy"/utf8>>),
[{prop, <<"overflow-y"/utf8>>, <<"hidden"/utf8>>}]},
{descriptor,
dot(<<"wc"/utf8>>),
[{prop, <<"width"/utf8>>, <<"auto"/utf8>>}]},
{descriptor,
dot(<<"bn"/utf8>>),
[{prop, <<"border-width"/utf8>>, <<"0"/utf8>>}]},
{descriptor,
dot(<<"bd"/utf8>>),
[{prop, <<"border-style"/utf8>>, <<"dashed"/utf8>>}]},
{descriptor,
dot(<<"bdt"/utf8>>),
[{prop, <<"border-style"/utf8>>, <<"dotted"/utf8>>}]},
{descriptor,
dot(<<"bs"/utf8>>),
[{prop, <<"border-style"/utf8>>, <<"solid"/utf8>>}]},
{descriptor,
dot(<<"t"/utf8>>),
[{prop, <<"white-space"/utf8>>, <<"pre"/utf8>>},
{prop, <<"display"/utf8>>, <<"inline-block"/utf8>>}]},
{descriptor,
dot(<<"it"/utf8>>),
[{prop, <<"line-height"/utf8>>, <<"1.05"/utf8>>},
{prop, <<"background"/utf8>>, <<"transparent"/utf8>>},
{prop, <<"text-align"/utf8>>, <<"inherit"/utf8>>}]},
{descriptor, dot(<<"e"/utf8>>), el_description()},
{descriptor,
dot(<<"r"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>},
{prop, <<"flex-direction"/utf8>>, <<"row"/utf8>>},
{child,
dot(<<"s"/utf8>>),
[{prop, <<"flex-basis"/utf8>>, <<"0%"/utf8>>},
{descriptor,
dot(<<"we"/utf8>>),
[{prop,
<<"flex-basis"/utf8>>,
<<"auto"/utf8>>}]},
{descriptor,
dot(<<"lnk"/utf8>>),
[{prop,
<<"flex-basis"/utf8>>,
<<"auto"/utf8>>}]}]},
{child,
dot(<<"hf"/utf8>>),
[{prop,
<<"align-self"/utf8>>,
<<"stretch !important"/utf8>>}]},
{child,
dot(<<"hfp"/utf8>>),
[{prop,
<<"align-self"/utf8>>,
<<"stretch !important"/utf8>>}]},
{child,
dot(<<"wf"/utf8>>),
[{prop, <<"flex-grow"/utf8>>, <<"100000"/utf8>>}]},
{child,
dot(<<"ctr"/utf8>>),
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>},
{prop, <<"flex-basis"/utf8>>, <<"auto"/utf8>>},
{prop,
<<"align-self"/utf8>>,
<<"stretch"/utf8>>}]},
{child,
<<"u:first-of-type."/utf8, "acr"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>}]},
{child,
<<"s:first-of-type."/utf8, "accx"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>},
{child,
dot(<<"cx"/utf8>>),
[{prop,
<<"margin-left"/utf8>>,
<<"auto !important"/utf8>>}]}]},
{child,
<<"s:last-of-type."/utf8, "accx"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>},
{child,
dot(<<"cx"/utf8>>),
[{prop,
<<"margin-right"/utf8>>,
<<"auto !important"/utf8>>}]}]},
{child,
<<"s:only-of-type."/utf8, "accx"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>},
{child,
dot(<<"cy"/utf8>>),
[{prop,
<<"margin-top"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-bottom"/utf8>>,
<<"auto !important"/utf8>>}]}]},
{child,
<<<<"s:last-of-type."/utf8, "accx"/utf8>>/binary,
" ~ u"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>}]},
{child,
<<<<<<"u:first-of-type."/utf8, "acr"/utf8>>/binary,
" ~ s."/utf8>>/binary,
"accx"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>}]},
describe_alignment(fun(Alignment) -> case Alignment of
top ->
{[{prop,
<<"align-items"/utf8>>,
<<"flex-start"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"flex-start"/utf8>>}]};
bottom ->
{[{prop,
<<"align-items"/utf8>>,
<<"flex-end"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"flex-end"/utf8>>}]};
right ->
{[{prop,
<<"justify-content"/utf8>>,
<<"flex-end"/utf8>>}],
[]};
left ->
{[{prop,
<<"justify-content"/utf8>>,
<<"flex-start"/utf8>>}],
[]};
center_x ->
{[{prop,
<<"justify-content"/utf8>>,
<<"center"/utf8>>}],
[]};
center_y ->
{[{prop,
<<"align-items"/utf8>>,
<<"center"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"center"/utf8>>}]}
end end),
{descriptor,
dot(<<"sev"/utf8>>),
[{prop,
<<"justify-content"/utf8>>,
<<"space-between"/utf8>>}]},
{descriptor,
dot(<<"lbl"/utf8>>),
[{prop, <<"align-items"/utf8>>, <<"baseline"/utf8>>}]}]},
{descriptor,
dot(<<"c"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>},
{prop, <<"flex-direction"/utf8>>, <<"column"/utf8>>},
{child,
dot(<<"s"/utf8>>),
[{prop, <<"flex-basis"/utf8>>, <<"0px"/utf8>>},
{prop,
<<"min-height"/utf8>>,
<<"min-content"/utf8>>},
{descriptor,
dot(<<"he"/utf8>>),
[{prop,
<<"flex-basis"/utf8>>,
<<"auto"/utf8>>}]}]},
{child,
dot(<<"hf"/utf8>>),
[{prop, <<"flex-grow"/utf8>>, <<"100000"/utf8>>}]},
{child,
dot(<<"wf"/utf8>>),
[{prop, <<"width"/utf8>>, <<"100%"/utf8>>}]},
{child,
dot(<<"wfp"/utf8>>),
[{prop, <<"width"/utf8>>, <<"100%"/utf8>>}]},
{child,
dot(<<"wc"/utf8>>),
[{prop,
<<"align-self"/utf8>>,
<<"flex-start"/utf8>>}]},
{child,
<<"u:first-of-type."/utf8, "acb"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>}]},
{child,
<<"s:first-of-type."/utf8, "accy"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>},
{child,
dot(<<"cy"/utf8>>),
[{prop,
<<"margin-top"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-bottom"/utf8>>,
<<"0 !important"/utf8>>}]}]},
{child,
<<"s:last-of-type."/utf8, "accy"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>},
{child,
dot(<<"cy"/utf8>>),
[{prop,
<<"margin-bottom"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-top"/utf8>>,
<<"0 !important"/utf8>>}]}]},
{child,
<<"s:only-of-type."/utf8, "accy"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"1"/utf8>>},
{child,
dot(<<"cy"/utf8>>),
[{prop,
<<"margin-top"/utf8>>,
<<"auto !important"/utf8>>},
{prop,
<<"margin-bottom"/utf8>>,
<<"auto !important"/utf8>>}]}]},
{child,
<<<<"s:last-of-type."/utf8, "accy"/utf8>>/binary,
" ~ u"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>}]},
{child,
<<<<<<"u:first-of-type."/utf8, "acb"/utf8>>/binary,
" ~ s."/utf8>>/binary,
"accy"/utf8>>,
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>}]},
describe_alignment(
fun(Alignment@1) -> case Alignment@1 of
top ->
{[{prop,
<<"justify-content"/utf8>>,
<<"flex-start"/utf8>>}],
[{prop,
<<"margin-bottom"/utf8>>,
<<"auto"/utf8>>}]};
bottom ->
{[{prop,
<<"justify-content"/utf8>>,
<<"flex-end"/utf8>>}],
[{prop,
<<"margin-top"/utf8>>,
<<"auto"/utf8>>}]};
right ->
{[{prop,
<<"align-items"/utf8>>,
<<"flex-end"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"flex-end"/utf8>>}]};
left ->
{[{prop,
<<"align-items"/utf8>>,
<<"flex-start"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"flex-start"/utf8>>}]};
center_x ->
{[{prop,
<<"align-items"/utf8>>,
<<"center"/utf8>>}],
[{prop,
<<"align-self"/utf8>>,
<<"center"/utf8>>}]};
center_y ->
{[{prop,
<<"justify-content"/utf8>>,
<<"center"/utf8>>}],
[]}
end end
),
{child,
dot(<<"ctr"/utf8>>),
[{prop, <<"flex-grow"/utf8>>, <<"0"/utf8>>},
{prop, <<"flex-basis"/utf8>>, <<"auto"/utf8>>},
{prop, <<"width"/utf8>>, <<"100%"/utf8>>},
{prop,
<<"align-self"/utf8>>,
<<"stretch !important"/utf8>>}]},
{descriptor,
dot(<<"sev"/utf8>>),
[{prop,
<<"justify-content"/utf8>>,
<<"space-between"/utf8>>}]}]},
{descriptor,
dot(<<"g"/utf8>>),
[{prop, <<"display"/utf8>>, <<"-ms-grid"/utf8>>},
{child,
<<".gp"/utf8>>,
[{child,
dot(<<"s"/utf8>>),
[{prop, <<"width"/utf8>>, <<"100%"/utf8>>}]}]},
{supports,
<<"display"/utf8>>,
<<"grid"/utf8>>,
[{<<"display"/utf8>>, <<"grid"/utf8>>}]},
grid_alignments(fun(Alignment@2) -> case Alignment@2 of
top ->
[{prop,
<<"justify-content"/utf8>>,
<<"flex-start"/utf8>>}];
bottom ->
[{prop,
<<"justify-content"/utf8>>,
<<"flex-end"/utf8>>}];
right ->
[{prop,
<<"align-items"/utf8>>,
<<"flex-end"/utf8>>}];
left ->
[{prop,
<<"align-items"/utf8>>,
<<"flex-start"/utf8>>}];
center_x ->
[{prop,
<<"align-items"/utf8>>,
<<"center"/utf8>>}];
center_y ->
[{prop,
<<"justify-content"/utf8>>,
<<"center"/utf8>>}]
end end)]},
{descriptor,
dot(<<"pg"/utf8>>),
[{prop, <<"display"/utf8>>, <<"block"/utf8>>},
{child,
dot(<<"s"/utf8, ":first-child"/utf8>>),
[{prop, <<"margin"/utf8>>, <<"0 !important"/utf8>>}]},
{child,
dot(
<<<<<<"s"/utf8,
(self_name({self, left}))/binary>>/binary,
":first-child + ."/utf8>>/binary,
"s"/utf8>>
),
[{prop, <<"margin"/utf8>>, <<"0 !important"/utf8>>}]},
{child,
dot(
<<<<<<"s"/utf8,
(self_name({self, right}))/binary>>/binary,
":first-child + ."/utf8>>/binary,
"s"/utf8>>
),
[{prop, <<"margin"/utf8>>, <<"0 !important"/utf8>>}]},
describe_alignment(
fun(Alignment@3) -> case Alignment@3 of
top ->
{[], []};
bottom ->
{[], []};
right ->
{[],
[{prop,
<<"float"/utf8>>,
<<"right"/utf8>>},
{descriptor,
<<"::after"/utf8>>,
[{prop,
<<"content"/utf8>>,
<<"\"\""/utf8>>},
{prop,
<<"display"/utf8>>,
<<"table"/utf8>>},
{prop,
<<"clear"/utf8>>,
<<"both"/utf8>>}]}]};
left ->
{[],
[{prop,
<<"float"/utf8>>,
<<"left"/utf8>>},
{descriptor,
<<"::after"/utf8>>,
[{prop,
<<"content"/utf8>>,
<<"\"\""/utf8>>},
{prop,
<<"display"/utf8>>,
<<"table"/utf8>>},
{prop,
<<"clear"/utf8>>,
<<"both"/utf8>>}]}]};
center_x ->
{[], []};
center_y ->
{[], []}
end end
)]},
{descriptor,
dot(<<"iml"/utf8>>),
[{prop,
<<"white-space"/utf8>>,
<<"pre-wrap !important"/utf8>>},
{prop, <<"height"/utf8>>, <<"100%"/utf8>>},
{prop, <<"width"/utf8>>, <<"100%"/utf8>>},
{prop,
<<"background-color"/utf8>>,
<<"transparent"/utf8>>}]},
{descriptor,
dot(<<"implw"/utf8>>),
[{descriptor,
dot(<<"e"/utf8>>),
[{prop, <<"flex-basis"/utf8>>, <<"auto"/utf8>>}]}]},
{descriptor,
dot(<<"imlp"/utf8>>),
[{prop,
<<"white-space"/utf8>>,
<<"pre-wrap !important"/utf8>>},
{prop, <<"cursor"/utf8>>, <<"text"/utf8>>},
{child,
dot(<<"imlf"/utf8>>),
[{prop,
<<"white-space"/utf8>>,
<<"pre-wrap !important"/utf8>>},
{prop, <<"color"/utf8>>, <<"transparent"/utf8>>}]}]},
{descriptor,
dot(<<"p"/utf8>>),
[{prop, <<"display"/utf8>>, <<"block"/utf8>>},
{prop, <<"white-space"/utf8>>, <<"normal"/utf8>>},
{prop, <<"overflow-wrap"/utf8>>, <<"break-word"/utf8>>},
{descriptor,
dot(<<"hbh"/utf8>>),
[{prop, <<"z-index"/utf8>>, <<"0"/utf8>>},
{child,
dot(<<"bh"/utf8>>),
[{prop, <<"z-index"/utf8>>, <<"-1"/utf8>>}]}]},
{all_children,
dot(<<"t"/utf8>>),
[{prop, <<"display"/utf8>>, <<"inline"/utf8>>},
{prop,
<<"white-space"/utf8>>,
<<"normal"/utf8>>}]},
{all_children,
dot(<<"p"/utf8>>),
[{prop, <<"display"/utf8>>, <<"inline"/utf8>>},
{descriptor,
<<"::after"/utf8>>,
[{prop, <<"content"/utf8>>, <<"none"/utf8>>}]},
{descriptor,
<<"::before"/utf8>>,
[{prop, <<"content"/utf8>>, <<"none"/utf8>>}]}]},
{all_children,
dot(<<"e"/utf8>>),
[{prop, <<"display"/utf8>>, <<"inline"/utf8>>},
{prop,
<<"white-space"/utf8>>,
<<"normal"/utf8>>},
{descriptor,
dot(<<"we"/utf8>>),
[{prop,
<<"display"/utf8>>,
<<"inline-block"/utf8>>}]},
{descriptor,
dot(<<"fr"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>}]},
{descriptor,
dot(<<"bh"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>}]},
{descriptor,
dot(<<"a"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>}]},
{descriptor,
dot(<<"b"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>}]},
{descriptor,
dot(<<"or"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>}]},
{descriptor,
dot(<<"ol"/utf8>>),
[{prop, <<"display"/utf8>>, <<"flex"/utf8>>}]},
{child,
dot(<<"t"/utf8>>),
[{prop,
<<"display"/utf8>>,
<<"inline"/utf8>>},
{prop,
<<"white-space"/utf8>>,
<<"normal"/utf8>>}]}]},
{child,
dot(<<"r"/utf8>>),
[{prop, <<"display"/utf8>>, <<"inline"/utf8>>}]},
{child,
dot(<<"c"/utf8>>),
[{prop, <<"display"/utf8>>, <<"inline-flex"/utf8>>}]},
{child,
dot(<<"g"/utf8>>),
[{prop, <<"display"/utf8>>, <<"inline-grid"/utf8>>}]},
describe_alignment(
fun(Alignment@4) -> case Alignment@4 of
top ->
{[], []};
bottom ->
{[], []};
right ->
{[],
[{prop,
<<"float"/utf8>>,
<<"right"/utf8>>}]};
left ->
{[],
[{prop,
<<"float"/utf8>>,
<<"left"/utf8>>}]};
center_x ->
{[], []};
center_y ->
{[], []}
end end
)]},
{descriptor,
<<".hidden"/utf8>>,
[{prop, <<"display"/utf8>>, <<"none"/utf8>>}]},
{descriptor,
dot(<<"w1"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"100"/utf8>>}]},
{descriptor,
dot(<<"w2"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"200"/utf8>>}]},
{descriptor,
dot(<<"w3"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"300"/utf8>>}]},
{descriptor,
dot(<<"w4"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"400"/utf8>>}]},
{descriptor,
dot(<<"w5"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"500"/utf8>>}]},
{descriptor,
dot(<<"w6"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"600"/utf8>>}]},
{descriptor,
dot(<<"w7"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"700"/utf8>>}]},
{descriptor,
dot(<<"w8"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"800"/utf8>>}]},
{descriptor,
dot(<<"w9"/utf8>>),
[{prop, <<"font-weight"/utf8>>, <<"900"/utf8>>}]},
{descriptor,
dot(<<"i"/utf8>>),
[{prop, <<"font-style"/utf8>>, <<"italic"/utf8>>}]},
{descriptor,
dot(<<"sk"/utf8>>),
[{prop, <<"text-decoration"/utf8>>, <<"line-through"/utf8>>}]},
{descriptor,
dot(<<"u"/utf8>>),
[{prop, <<"text-decoration"/utf8>>, <<"underline"/utf8>>},
{prop,
<<"text-decoration-skip-ink"/utf8>>,
<<"auto"/utf8>>},
{prop, <<"text-decoration-skip"/utf8>>, <<"ink"/utf8>>}]},
{descriptor,
dot(<<"u"/utf8, "sk"/utf8>>),
[{prop,
<<"text-decoration"/utf8>>,
<<"line-through underline"/utf8>>},
{prop,
<<"text-decoration-skip-ink"/utf8>>,
<<"auto"/utf8>>},
{prop, <<"text-decoration-skip"/utf8>>, <<"ink"/utf8>>}]},
{descriptor,
dot(<<"tun"/utf8>>),
[{prop, <<"font-style"/utf8>>, <<"normal"/utf8>>}]},
{descriptor,
dot(<<"tj"/utf8>>),
[{prop, <<"text-align"/utf8>>, <<"justify"/utf8>>}]},
{descriptor,
dot(<<"tja"/utf8>>),
[{prop, <<"text-align"/utf8>>, <<"justify-all"/utf8>>}]},
{descriptor,
dot(<<"tc"/utf8>>),
[{prop, <<"text-align"/utf8>>, <<"center"/utf8>>}]},
{descriptor,
dot(<<"tr"/utf8>>),
[{prop, <<"text-align"/utf8>>, <<"right"/utf8>>}]},
{descriptor,
dot(<<"tl"/utf8>>),
[{prop, <<"text-align"/utf8>>, <<"left"/utf8>>}]},
{descriptor,
<<".modal"/utf8>>,
[{prop, <<"position"/utf8>>, <<"fixed"/utf8>>},
{prop, <<"left"/utf8>>, <<"0"/utf8>>},
{prop, <<"top"/utf8>>, <<"0"/utf8>>},
{prop, <<"width"/utf8>>, <<"100%"/utf8>>},
{prop, <<"height"/utf8>>, <<"100%"/utf8>>},
{prop, <<"pointer-events"/utf8>>, <<"none"/utf8>>}]}]}].
-file("src/legos/internal/style.gleam", 521).
?DOC(false).
-spec overrides() -> binary().
overrides() ->
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {"/utf8,
(dot(
<<"s"/utf8>>
))/binary>>/binary,
(dot(
<<"r"/utf8>>
))/binary>>/binary,
" > "/utf8>>/binary,
(dot(<<"s"/utf8>>))/binary>>/binary,
" { flex-basis: auto !important; } "/utf8>>/binary,
(dot(<<"s"/utf8>>))/binary>>/binary,
(dot(<<"r"/utf8>>))/binary>>/binary,
" > "/utf8>>/binary,
(dot(<<"s"/utf8>>))/binary>>/binary,
(dot(<<"ctr"/utf8>>))/binary>>/binary,
" { flex-basis: auto !important; }}"/utf8>>/binary,
(input_text_reset())/binary>>/binary,
"
input[type=range] {
-webkit-appearance: none;
background: transparent;
position:absolute;
left:0;
top:0;
z-index:10;
width: 100%;
outline: dashed 1px;
height: 100%;
opacity: 0;
}
"/utf8>>/binary,
"
input[type=range]::-moz-range-track {
background: transparent;
cursor: pointer;
}
input[type=range]::-ms-track {
background: transparent;
cursor: pointer;
}
input[type=range]::-webkit-slider-runnable-track {
background: transparent;
cursor: pointer;
}
"/utf8>>/binary,
"
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
opacity: 0.5;
width: 80px;
height: 80px;
background-color: black;
border:none;
border-radius: 5px;
}
input[type=range]::-moz-range-thumb {
opacity: 0.5;
width: 80px;
height: 80px;
background-color: black;
border:none;
border-radius: 5px;
}
input[type=range]::-ms-thumb {
opacity: 0.5;
width: 80px;
height: 80px;
background-color: black;
border:none;
border-radius: 5px;
}
input[type=range][orient=vertical]{
writing-mode: bt-lr; /* IE */
-webkit-appearance: slider-vertical; /* WebKit */
}
"/utf8>>/binary,
(explainer())/binary>>.
-file("src/legos/internal/style.gleam", 665).
?DOC(false).
-spec rules() -> binary().
rules() ->
<<(overrides())/binary,
(render_compact(lists:append([base_sheet(), common_values()])))/binary>>.
-file("src/legos/internal/style.gleam", 492).
?DOC(false).
-spec viewport_rules() -> binary().
viewport_rules() ->
<<"
html, body {
height: 100%;
width: 100%;
} "/utf8,
(rules())/binary>>.