-module(gbr@ui@admin@input). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src\\gbr\\ui\\admin\\input.gleam"). -export([success/2, alert/2, error/2, disabled/2, loading/2, primary/2, at_right/2, at_left/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( "\n" " Gleam UI admin input element\n" "\n" ). -file("src\\gbr\\ui\\admin\\input.gleam", 73). -spec state_set( gbr@ui@input:u_i_input(), binary(), binary(), binary(), fun((gbr@ui@svg@core:svg()) -> gbr@ui@svg@core:svg()) ) -> gbr@ui@input:u_i_input_render(any()). state_set(In, Text, Class, Class_note, Svg) -> Svg@1 = begin _pipe = gbr@ui@svg:new(16, 16), _pipe@1 = Svg(_pipe), gbr@ui@svg:render(_pipe@1) end, Input_class = <<<<"dark:bg-dark-900 shadow-theme-xs w-full rounded-lg border bg-transparent px-4 py-2.5 pr-10 text-sm text-gray-800 placeholder:text-gray-400 focus:ring-3 focus:outline-hidden dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30"/utf8, " "/utf8>>/binary, Class/binary>>, Note_class = <<<<"text-theme-xs text-error-500 mt-1.5"/utf8, " "/utf8>>/binary, Class_note/binary>>, Note = begin _pipe@2 = gbr@ui@typo:span(Text), gbr@ui@typo:class(_pipe@2, Note_class) end, _pipe@3 = gbr@ui@input:class(In, Input_class), _pipe@4 = gbr@ui@input:note(_pipe@3, Note), gbr@ui@input:at( _pipe@4, [lustre@attribute:class( <<"absolute top-1/2 right-3.5:-translate-y-1/2"/utf8>> )], [Svg@1] ). -file("src\\gbr\\ui\\admin\\input.gleam", 35). -spec success(gbr@ui@input:u_i_input(), binary()) -> gbr@ui@input:u_i_input_render(any()). success(In, Text) -> state_set( In, Text, <<" border-green-300 focus:border-green-300 focus:ring-green-500/10 dark:border-green-700 dark:focus:border-green-800"/utf8>>, <<"text-xs text-green-600 mt-1.5"/utf8>>, fun gbr@ui@svg@form:success/1 ). -file("src\\gbr\\ui\\admin\\input.gleam", 45). -spec alert(gbr@ui@input:u_i_input(), binary()) -> gbr@ui@input:u_i_input_render(any()). alert(In, Text) -> state_set( In, Text, <<" border-yellow-300 focus:border-yellow-300 focus:ring-yellow-500/10 dark:border-yellow-700 dark:focus:border-yellow-800"/utf8>>, <<"text-xs text-yellow-600 mt-1.5"/utf8>>, fun gbr@ui@svg@form:success/1 ). -file("src\\gbr\\ui\\admin\\input.gleam", 49). -spec error(gbr@ui@input:u_i_input(), binary()) -> gbr@ui@input:u_i_input_render(any()). error(In, Text) -> state_set( In, Text, <<" border-red-300 focus:border-red-300 focus:ring-red-500/10 dark:border-red-700 dark:focus:border-red-800"/utf8>>, <<"text-xs text-red-700 mt-1.5"/utf8>>, fun gbr@ui@svg@form:error/1 ). -file("src\\gbr\\ui\\admin\\input.gleam", 53). -spec disabled(gbr@ui@input:u_i_input(), binary()) -> gbr@ui@input:u_i_input_render(any()). disabled(In, Text) -> state_set( In, Text, <<"shadow-theme-xs focus:border-brand-300 focus:shadow-focus-ring dark:focus:border-brand-300 h-11 w-full rounded-lg border border-gray-300 bg-transparent px-4 py-2.5 text-sm text-gray-800 placeholder:text-gray-400 focus:outline-hidden disabled:border-gray-100 disabled:placeholder:text-gray-300 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-gray-400 dark:disabled:border-gray-800 dark:disabled:placeholder:text-white/15"/utf8>>, <<"mb-1.5 block text-sm font-medium text-gray-300 dark:text-white/15"/utf8>>, fun gbr@ui@svg@form:info/1 ). -file("src\\gbr\\ui\\admin\\input.gleam", 57). -spec loading(gbr@ui@input:u_i_input(), binary()) -> gbr@ui@input:u_i_input_render(any()). loading(In, Text) -> disabled(In, Text). -file("src\\gbr\\ui\\admin\\input.gleam", 22). -spec primary(gbr@ui@input:u_i_input(), gleam@option:option(binary())) -> gbr@ui@input:u_i_input_render(any()). primary(In, Label) -> In@1 = case Label of none -> In; {some, Label@1} -> _pipe = gbr@ui@typo:span(Label@1), _pipe@1 = gbr@ui@typo:class( _pipe, <<"mb-1.5 block text-sm font-medium text-gray-700 dark:text-gray-400"/utf8>> ), gbr@ui@input:label(In, _pipe@1) end, _pipe@2 = gbr@ui@input:class( In@1, <<"dark:bg-dark-900 h-11 w-full rounded-lg border border-gray-300 bg-transparent px-4 py-2.5 text-sm text-gray-800 shadow-theme-xs placeholder:text-gray-400 focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30 dark:focus:border-brand-800"/utf8>> ), gbr@ui@input:at(_pipe@2, [], []). -file("src\\gbr\\ui\\admin\\input.gleam", 62). -spec at_right(gbr@ui@input:u_i_input(), list(lustre@vdom@vnode:element(PXF))) -> gbr@ui@input:u_i_input_render(PXF). at_right(In, Inner) -> gbr@ui@input:at( In, [lustre@attribute:class( <<"absolute z-30 text-gray-500 -translate-y-1/2 cursor-pointer right-4 top-1/2 dark:text-gray-400 inline-flex gap-1"/utf8>> )], Inner ). -file("src\\gbr\\ui\\admin\\input.gleam", 66). -spec at_left(gbr@ui@input:u_i_input(), list(lustre@vdom@vnode:element(PXI))) -> gbr@ui@input:u_i_input_render(PXI). at_left(In, Inner) -> gbr@ui@input:at( In, [lustre@attribute:class( <<"absolute top-1/2 left-0 flex h-11 -translate-y-1/2 items-center justify-center border-r border-gray-200 dark:border-gray-800 inline-flex gap-1 px-3"/utf8>> )], Inner ).