-module(kitazith@component@separator). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/kitazith/component/separator.gleam"). -export([new/0, with_id/2, with_divider/2, with_spacing/2, to_json/1]). -export_type([separator_spacing/0, separator/0]). -type separator_spacing() :: small | large. -type separator() :: {separator, gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(separator_spacing())}. -file("src/kitazith/component/separator.gleam", 24). -spec new() -> separator(). new() -> {separator, none, none, none}. -file("src/kitazith/component/separator.gleam", 28). -spec with_id(separator(), integer()) -> separator(). with_id(Separator, Id) -> {separator, {some, Id}, erlang:element(3, Separator), erlang:element(4, Separator)}. -file("src/kitazith/component/separator.gleam", 32). -spec with_divider(separator(), boolean()) -> separator(). with_divider(Separator, Divider) -> {separator, erlang:element(2, Separator), {some, Divider}, erlang:element(4, Separator)}. -file("src/kitazith/component/separator.gleam", 36). -spec with_spacing(separator(), separator_spacing()) -> separator(). with_spacing(Separator, Spacing) -> {separator, erlang:element(2, Separator), erlang:element(3, Separator), {some, Spacing}}. -file("src/kitazith/component/separator.gleam", 52). -spec spacing_to_json(separator_spacing()) -> gleam@json:json(). spacing_to_json(Spacing) -> case Spacing of small -> gleam@json:int(1); large -> gleam@json:int(2) end. -file("src/kitazith/component/separator.gleam", 43). -spec to_json(separator()) -> gleam@json:json(). to_json(Separator) -> kitazith@internal@json_helper:object_omit_none( [{some, {<<"type"/utf8>>, gleam@json:int(14)}}, kitazith@internal@json_helper:optional( <<"id"/utf8>>, erlang:element(2, Separator), fun gleam@json:int/1 ), kitazith@internal@json_helper:optional( <<"divider"/utf8>>, erlang:element(3, Separator), fun gleam@json:bool/1 ), kitazith@internal@json_helper:optional( <<"spacing"/utf8>>, erlang:element(4, Separator), fun spacing_to_json/1 )] ).