PhoenixDuskmoon.Component.Form (PhoenixDuskmoon v7.2.1)
View SourceDuskmoon UI Form Component
This module provides form-related components including form containers, labels, error messages, and alerts. Input components are provided in separate modules for better organization:
PhoenixDuskmoon.Component.Form.Input- All input types (dm_input)PhoenixDuskmoon.Component.Form.CompactInput- Compact inputs (dm_compact_input)
Examples
<.dm_form :let={f} for={@form} phx-change="validate" phx-submit="save">
<.dm_input field={f[:email]} label="Email"/>
<.dm_input field={f[:username]} label="Username" />
<:actions>
<.button>Save</.button>
</:actions>
</.dm_form>
Summary
Functions
Generates an alert component using daisyui classes.
Generates a generic error message.
Renders a simple form.
Renders a label.
Normalizes checkbox values for boolean fields.
Functions
Generates an alert component using daisyui classes.
Examples
<.dm_alert variant="info">
This is an informational message.
</.dm_alert>
<.dm_alert variant="error" icon="exclamation-triangle">
Something went wrong!
</.dm_alert>Attributes
id(:any) - Defaults tonil.class(:any) - Defaults tonil.variant(:string) - the alert variant. Defaults to"info". Must be one of"info","success","warning", or"error".icon(:string) - override default icon. Defaults tonil.title(:string) - alert title. Defaults tonil.
Slots
inner_block(required)
Generates a generic error message.
Attributes
id(:any) - Defaults tonil.class(:any) - Defaults tonil.
Slots
inner_block(required)
Renders a simple form.
Generate default for attribute for the form.
Examples
<.dm_form :let={f} for={@form} phx-change="validate" phx-submit="save">
<.dm_input field={f[:email]} label="Email"/>
<.dm_input field={f[:username]} label="Username" />
<:actions>
<.button>Save</.button>
</:actions>
</.dm_form>Attributes
id(:any) - Defaults tonil.class(:any) - Defaults tonil.for(:any) - the datastructure for the form.as(:any) - the server side parameter to collect all input under. Defaults tonil.- Global attributes are accepted. the arbitrary HTML attributes to apply to the form tag. Supports all globals plus:
["autocomplete", "name", "rel", "action", "enctype", "method", "novalidate", "target", "multipart"].
Slots
inner_block(required)actions- the slot for form actions, such as a submit button.
Renders a label.
Attributes
id(:any) - Defaults tonil.class(:any) - Defaults tonil.for(:string) - Defaults tonil.
Slots
inner_block(required)
Normalizes checkbox values for boolean fields.