Packages
corex
0.1.1
0.1.2
0.1.1
0.1.0
0.1.0-rc.1
0.1.0-rc.0
0.1.0-beta.5
0.1.0-beta.4
0.1.0-beta.3
0.1.0-beta.2
0.1.0-beta.1
0.1.0-alpha.33
0.1.0-alpha.32
0.1.0-alpha.31
0.1.0-alpha.30
0.1.0-alpha.29
0.1.0-alpha.28
0.1.0-alpha.27
0.1.0-alpha.26
0.1.0-alpha.25
0.1.0-alpha.24
0.1.0-alpha.23
0.1.0-alpha.22
0.1.0-alpha.21
0.1.0-alpha.20
0.1.0-alpha.19
0.1.0-alpha.18
0.1.0-alpha.17
0.1.0-alpha.16
0.1.0-alpha.15
0.1.0-alpha.14
0.1.0-alpha.13
0.1.0-alpha.12
0.1.0-alpha.11
0.1.0-alpha.10
0.1.0-alpha.9
0.1.0-alpha.8
0.1.0-alpha.7
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
Accessible and unstyled UI components library written in Elixir and TypeScript that integrates Zag.js state machines into the Phoenix Framework.
Current section
Files
Jump to
Current section
Files
priv/templates/corex.gen.html/index.html.heex
<%= if layout_mode || layout_theme || layout_locale || scope do %><Layouts.app
flash={@flash}<%= if layout_mode do %>
mode={@mode}<% end %><%= if layout_theme do %>
theme={@theme}<% end %><%= if layout_locale do %>
locale={@locale}
current_path={@current_path}<% end %><%= if scope do %>
<%= scope.assign_key %>={@<%= scope.assign_key %>}<% end %>
>
<% else %><Layouts.app flash={@flash}><% end %>
<article class="layout__article">
<.layout_heading class="layout-heading">
<:title>Listing <%= schema.human_plural %></:title>
<:subtitle>Add and manage <%= schema.singular %> records</:subtitle>
<:actions>
<.navigate
to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/new"}
type="href"
class="button button--accent"
>
<.heroicon name="hero-plus" /> New <%= schema.human_singular %>
</.navigate>
</:actions>
</.layout_heading>
<.data_table
id="<%= schema.plural %>"
class="data-table max-w-none"
rows={@<%= schema.collection %>}
row_click={&JS.navigate(~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{&1}")}
>
<:empty>No <%= schema.human_plural %> yet.</:empty><%= for {k, type} <- schema.attrs do %>
<:col :let={<%= schema.singular %>} label="<%= Phoenix.Naming.humanize(Atom.to_string(k)) %>">{<%= Mix.Corex.Gen.Inputs.display_expr(schema.singular, k, type, schema) %>}</:col><% end %>
<:action :let={<%= schema.singular %>}>
<div class="sr-only">
<.link href={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{<%= schema.singular %>}"} class="link">Show</.link>
</div>
<.link
href={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{<%= schema.singular %>}/edit"}
class="button button--sm"
aria-label={"Edit #{<%= schema.singular %>.<%= schema.attrs |> Keyword.keys() |> List.first() %>}"}
>
<.heroicon name="hero-pencil-square" />
</.link>
</:action>
<:action :let={<%= schema.singular %>}>
<.dialog
id={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}"}
class="dialog"
role="alertdialog"
modal
close_on_interact_outside={false}
initial_focus={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}-cancel"}
final_focus={"dialog:<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}:trigger"}
>
<:trigger
class="button button--sm button--alert button--square"
aria_label={"Delete #{<%= schema.singular %>.<%= schema.attrs |> Keyword.keys() |> List.first() %>}"}
>
<.heroicon name="hero-trash" />
</:trigger>
<:title>Delete <%= schema.singular %>?</:title>
<:description>This action cannot be undone.</:description>
<:content>
<div class="flex flex-wrap justify-end gap-2 mt-4">
<.action
id={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}-cancel"}
phx-click={Corex.Dialog.set_open("<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}", false)}
class="button button--sm button--ghost"
>
Cancel
</.action>
<.navigate
id={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}-confirm"}
to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{<%= schema.singular %>}"}
method="delete"
class="button button--sm button--alert"
>
Delete
</.navigate>
</div>
</:content>
</.dialog>
</:action>
</.data_table>
</article>
</Layouts.app>