defmodule Moon.Design.Switch do @moduledoc false use Moon.StatelessComponent prop(checked, :boolean, default: false) prop(disabled, :boolean, default: false) prop(size, :string, values: ["2xs", "xs", "sm"], default: "sm") prop(on_bg_color, :css_class, default: "bg-piccolo") prop(off_bg_color, :css_class, default: "bg-beerus") prop(switcher_class, :css_class) prop(on_change, :event) slot(off_icon) slot(on_icon) prop(id, :string) prop(testid, :string) prop(class, :css_class) @spec render(map) :: Phoenix.LiveView.Rendered.t() def render(assigns) do ~F""" """ end def get_icon_size(size) do case size do "2xs" -> "text-moon-12 " "xs" -> "text-moon-16 " "sm" -> "text-moon-24 " end end end