PhoenixDuskmoon.Component.LeftMenu (PhoenixDuskmoon v7.2.1)

View Source

Duskmoon UI LeftMenu Component

Uses daisyUI menu classes for consistent styling and functionality.

Summary

Functions

Generates left menu using daisyUI menu system

Generates left menu group with daisyUI menu structure

Functions

dm_left_menu(assigns)

Generates left menu using daisyUI menu system

Examples

<.dm_left_menu class="bg-base-200 rounded-box w-56" active="actionbar">
  <:title class="menu-title">Phx WebComponents</:title>
  <:menu id="actionbar">Actionbar</:menu>
  <:menu id="appbar">Appbar</:menu>
</.dm_left_menu>

<.dm_left_menu size="sm" class="bg-base-200 rounded-box">
  <:menu class="menu-active">Active Item</:menu>
  <:menu>Regular Item</:menu>
  <:menu class="menu-disabled">Disabled Item</:menu>
</.dm_left_menu>

Attributes

  • id (:any) - html attribute id. Defaults to false.
  • class (:any) - html attribute class. Defaults to "".
  • size (:string) - menu size variant. Defaults to "md". Must be one of "xs", "sm", "md", "lg", or "xl".
  • horizontal (:boolean) - render menu horizontally instead of vertically. Defaults to false.
  • active (:string) - active menu id. Defaults to "".

Slots

  • title - Render menu title. Accepts attributes:
    • class (:any)
  • menu - Render menu item. Accepts attributes:
    • id (:string)
    • class (:any)
    • disabled (:boolean)

dm_left_menu_group(assigns)

Generates left menu group with daisyUI menu structure

Examples

<.dm_left_menu_group active="mdi" class="bg-base-200 rounded-box">
  <:title>Icons</:title>
  <:menu id="mdi" to={~p"/icons/mdi"}>MD Icon</:menu>
  <:menu id="bsi" to={~p"/icons/bsi"}>BS Icon</:menu>
</.dm_left_menu_group>

<.dm_left_menu_group size="sm" collapsible=true>
  <:title>Settings</:title>
  <:menu id="profile" to={~p"/settings/profile"}>Profile</:menu>
  <:menu id="security" to={~p"/settings/security"}>Security</:menu>
</.dm_left_menu_group>

Attributes

  • id (:any) - html attribute id. Defaults to false.
  • class (:any) - html attribute class. Defaults to "".
  • size (:string) - menu size variant. Defaults to "md". Must be one of "xs", "sm", "md", "lg", or "xl".
  • collapsible (:boolean) - make the group collapsible using details/summary. Defaults to false.
  • open (:boolean) - initial state of collapsible group. Defaults to true.
  • active (:string) - active menu id. Defaults to "".

Slots

  • title (required) - Render menu title. Accepts attributes:
    • class (:any)
  • menu - Render menu item. Accepts attributes:
    • id (:string)
    • class (:any)
    • to (:string)
    • disabled (:boolean)