PhoenixDuskmoon.Component.Form (PhoenixDuskmoon v7.2.1)

View Source

Duskmoon 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:

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

dm_alert(assigns)

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 to nil.
  • class (:any) - Defaults to nil.
  • variant (:string) - the alert variant. Defaults to "info". Must be one of "info", "success", "warning", or "error".
  • icon (:string) - override default icon. Defaults to nil.
  • title (:string) - alert title. Defaults to nil.

Slots

  • inner_block (required)

dm_error(assigns)

Generates a generic error message.

Attributes

  • id (:any) - Defaults to nil.
  • class (:any) - Defaults to nil.

Slots

  • inner_block (required)

dm_form(assigns)

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 to nil.
  • class (:any) - Defaults to nil.
  • for (:any) - the datastructure for the form.
  • as (:any) - the server side parameter to collect all input under. Defaults to nil.
  • 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.

dm_label(assigns)

Renders a label.

Attributes

  • id (:any) - Defaults to nil.
  • class (:any) - Defaults to nil.
  • for (:string) - Defaults to nil.

Slots

  • inner_block (required)

normalize_checkbox_value(value)

Normalizes checkbox values for boolean fields.