JumarWeb.CoreComponents (Jumar v0.1.0)
View SourceProvides core UI components.
The components in this module use Tailwind CSS, a utility-first CSS framework. See the Tailwind CSS documentation to learn how to customize the generated components in this module.
Icons are provided by heroicons, using the heroicons_elixir project.
Summary
Functions
Renders a back navigation link.
Renders a button.
Generates a generic error message.
Renders flash notices.
Shows the flash group with standard titles and content.
Renders a header with title.
Renders an input with label and error messages.
Renders a label.
Renders a data list.
Renders a modal.
Renders a simple form.
Renders a table with generic styling.
Translates an error message using gettext.
Translates the errors for a field from a keyword list of errors.
Functions
Renders a back navigation link.
Examples
<.back navigate={~p"/posts"}>Back to posts</.back>
Attributes
navigate
(:any
) (required)
Slots
inner_block
(required)
Renders a button.
Examples
<.button>Send!</.button>
<.button phx-click="go" class="ml-2">Send!</.button>
Attributes
type
(:string
) - Defaults tonil
.class
(:string
) - Defaults tonil
.- Global attributes are accepted. Supports all globals plus:
["disabled", "form", "name", "value"]
.
Slots
inner_block
(required)
Generates a generic error message.
Slots
inner_block
(required)
Renders flash notices.
Examples
<.flash kind={:info} flash={@flash} />
<.flash kind={:info} phx-mounted={show("#flash")}>Welcome Back!</.flash>
Attributes
id
(:string
) - the optional id of flash container. Defaults to"flash"
.flash
(:map
) - the map of flash messages to display. Defaults to%{}
.title
(:string
) - Defaults tonil
.kind
(:atom
) - used for styling and flash lookup.Must be one of:info
, or:error
.autoshow
(:boolean
) - whether to auto show the flash on mount. Defaults totrue
.close
(:boolean
) - whether the flash can be closed. Defaults totrue
.- Global attributes are accepted. the arbitrary HTML attributes to add to the flash container.
Slots
inner_block
- the optional inner block that renders the flash message.
Shows the flash group with standard titles and content.
Examples
<.flash_group flash={@flash} />
Attributes
flash
(:map
) (required) - the map of flash messages.
Renders a header with title.
Attributes
class
(:string
) - Defaults tonil
.
Slots
inner_block
(required)subtitle
actions
Renders an input with label and error messages.
A %Phoenix.HTML.Form{}
and field name may be passed to the input
to build input names and error messages, or all the attributes and
errors may be passed explicitly.
Examples
<.input field={@form[:email]} type="email" />
<.input name="my-input" errors={["oh no!"]} />
Attributes
id
(:any
) - Defaults tonil
.name
(:any
)label
(:string
) - Defaults tonil
.value
(:any
)type
(:string
) - Defaults to"text"
.field
(Phoenix.HTML.FormField
) - a form field struct retrieved from the form, for example: @form[:email].errors
(:list
) - Defaults to[]
.checked
(:boolean
) - the checked flag for checkbox inputs.prompt
(:string
) - the prompt for select inputs. Defaults tonil
.options
(:list
) - the options to pass to Phoenix.HTML.Form.options_for_select/2.multiple
(:boolean
) - the multiple flag for select inputs. Defaults tofalse
.- Global attributes are accepted. Supports all globals plus:
["autocomplete", "cols", "disabled", "form", "max", "maxlength", "min", "minlength", "pattern", "placeholder", "readonly", "required", "rows", "size", "step"]
.
Slots
inner_block
Renders a label.
Attributes
for
(:string
) - Defaults tonil
.
Slots
inner_block
(required)
Renders a data list.
Examples
<.list>
<:item title="Title"><%= @post.title %></:item>
<:item title="Views"><%= @post.views %></:item>
</.list>
Slots
item
(required) - Accepts attributes:title
(:string
) (required)
Renders a modal.
Examples
<.modal id="confirm-modal">
Are you sure?
<:confirm>OK</:confirm>
<:cancel>Cancel</:cancel>
</.modal>
JS commands may be passed to the :on_cancel
and on_confirm
attributes
for the caller to react to each button press, for example:
<.modal id="confirm" on_confirm={JS.push("delete")} on_cancel={JS.navigate(~p"/posts")}>
Are you sure you?
<:confirm>OK</:confirm>
<:cancel>Cancel</:cancel>
</.modal>
Attributes
id
(:string
) (required)show
(:boolean
) - Defaults tofalse
.on_cancel
(Phoenix.LiveView.JS
) - Defaults to%Phoenix.LiveView.JS{ops: []}
.on_confirm
(Phoenix.LiveView.JS
) - Defaults to%Phoenix.LiveView.JS{ops: []}
.
Slots
inner_block
(required)title
subtitle
confirm
cancel
Renders a simple form.
Examples
<.simple_form for={@form} phx-change="validate" phx-submit="save">
<.input field={@form[:email]} label="Email"/>
<.input field={@form[:username]} label="Username" />
<:actions>
<.button>Save</.button>
</:actions>
</.simple_form>
Attributes
for
(:any
) (required) - 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"]
.
Slots
inner_block
(required)actions
- the slot for form actions, such as a submit button.
Renders a table with generic styling.
Examples
<.table id="users" rows={@users}>
<:col :let={user} label="id"><%= user.id %></:col>
<:col :let={user} label="username"><%= user.username %></:col>
</.table>
Attributes
id
(:string
) (required)rows
(:list
) (required)row_id
(:any
) - the function for generating the row id. Defaults tonil
.row_click
(:any
) - the function for handling phx-click on each row. Defaults tonil
.row_item
(:any
) - the function for mapping each row before calling the :col and :action slots. Defaults to&Function.identity/1
.
Slots
col
(required) - Accepts attributes:label
(:string
)
action
- the slot for showing user actions in the last table column.
Translates an error message using gettext.
Translates the errors for a field from a keyword list of errors.