-module(kitazith@component@media_gallery). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/kitazith/component/media_gallery.gleam"). -export([new/1, with_id/2, new_item/1, with_item_description/2, with_item_spoiler/2, to_json/1]). -export_type([media_gallery/0, media_gallery_item/0]). -type media_gallery() :: {media_gallery, gleam@option:option(integer()), list(media_gallery_item())}. -type media_gallery_item() :: {media_gallery_item, kitazith@component@media:unfurled_media_item(), gleam@option:option(binary()), gleam@option:option(boolean())}. -file("src/kitazith/component/media_gallery.gleam", 28). -spec new(list(media_gallery_item())) -> media_gallery(). new(Items) -> {media_gallery, none, Items}. -file("src/kitazith/component/media_gallery.gleam", 32). -spec with_id(media_gallery(), integer()) -> media_gallery(). with_id(Media_gallery, Id) -> {media_gallery, {some, Id}, erlang:element(3, Media_gallery)}. -file("src/kitazith/component/media_gallery.gleam", 36). -spec new_item(kitazith@component@media:unfurled_media_item()) -> media_gallery_item(). new_item(Media) -> {media_gallery_item, Media, none, none}. -file("src/kitazith/component/media_gallery.gleam", 40). -spec with_item_description(media_gallery_item(), binary()) -> media_gallery_item(). with_item_description(Item, Description) -> {media_gallery_item, erlang:element(2, Item), {some, Description}, erlang:element(4, Item)}. -file("src/kitazith/component/media_gallery.gleam", 47). -spec with_item_spoiler(media_gallery_item(), boolean()) -> media_gallery_item(). with_item_spoiler(Item, Spoiler) -> {media_gallery_item, erlang:element(2, Item), erlang:element(3, Item), {some, Spoiler}}. -file("src/kitazith/component/media_gallery.gleam", 62). -spec item_to_json(media_gallery_item()) -> gleam@json:json(). item_to_json(Item) -> kitazith@internal@json_helper:object_omit_none( [{some, {<<"media"/utf8>>, kitazith@component@media:to_json(erlang:element(2, Item))}}, kitazith@internal@json_helper:optional( <<"description"/utf8>>, erlang:element(3, Item), fun gleam@json:string/1 ), kitazith@internal@json_helper:optional( <<"spoiler"/utf8>>, erlang:element(4, Item), fun gleam@json:bool/1 )] ). -file("src/kitazith/component/media_gallery.gleam", 54). -spec to_json(media_gallery()) -> gleam@json:json(). to_json(Media_gallery) -> kitazith@internal@json_helper:object_omit_none( [{some, {<<"type"/utf8>>, gleam@json:int(12)}}, kitazith@internal@json_helper:optional( <<"id"/utf8>>, erlang:element(2, Media_gallery), fun gleam@json:int/1 ), {some, {<<"items"/utf8>>, gleam@json:array( erlang:element(3, Media_gallery), fun item_to_json/1 )}}] ).