defmodule Moon.Design.Chip do @moduledoc false use Moon.StatelessComponent alias Moon.Design.Chip.Utils @doc "Id attribute for DOM element" prop(id, :string) @doc "Data-testid attribute for DOM element" prop(testid, :string) @doc "Active state" prop(is_active, :boolean, default: false) @doc "Shows stroke on hover/active" prop(is_stroke, :boolean, default: false) @doc "Size of chip" prop(size, :string, values: ["sm", "md"], default: "md") @doc "Visual/Logical variant of chip" prop(variant, :string, values: ["default", "ghost"], default: "default") @doc "Event to be fired on click" prop(on_click, :event) @doc "Additional Tailwind classes" prop(class, :css_class) @doc "Aria label attribute for DOM element" prop(aria_label, :string) @doc "Disabled chip" prop(disabled, :boolean) @doc "Default slot" slot(default) @doc "Left icon slot" slot(left_icon) @doc "Right icon slot" slot(right_icon) @doc "Icon slot without text" slot(icon_only) def render(assigns) do ~F""" """ end end