defmodule MoonWeb.Examples.Design.MenuItemExample.ExpandCollapse do @moduledoc false use Moon.StatefulComponent use MoonWeb, :example alias Moon.Design.MenuItem alias Moon.Lego data(expanded0, :boolean, default: false) data(expanded1, :boolean, default: true) data(expanded2, :boolean, default: false) def render(assigns) do ~F"""
Vision Getting started How to contribute? Colours Tokens Transform SVG Manifest {#if @expanded0} Accordion Avatar Breadcrumb Button Checkbox {/if}

B

Bitcasino

CX

Customer...
{#if @expanded1}

S

Sub nested item

S

Sub nested item
{/if}

CX

Quality...

RG

Responsible...

RG

Responsible...
{#if @expanded2}

S

Sub nested item

S

Sub nested item
{/if}

S

Sportsbet

RG

Customer...

CX

Quality...

RG

Responsible...

L

Livecasino

RG

Customer...
""" end def handle_event("on_expand" <> number, params, socket) do {:noreply, assign(socket, :"expanded#{number}", Map.get(params, "is-selected") == "true")} end def code() do """ alias Moon.Design.MenuItem alias Moon.Lego data(expanded0, :boolean, default: false) data(expanded1, :boolean, default: true) data(expanded2, :boolean, default: false) def render(assigns) do ~F\"""
Vision Getting started How to contribute? Colours Tokens Transform SVG Manifest {#if @expanded0} Accordion Avatar Breadcrumb Button Checkbox {/if}

B

Bitcasino

CX

Customer...
{#if @expanded1}

S

Sub nested item

S

Sub nested item
{/if}

CX

Quality...

RG

Responsible...

RG

Responsible...
{#if @expanded2}

S

Sub nested item

S

Sub nested item
{/if}

S

Sportsbet

RG

Customer...

CX

Quality...

RG

Responsible...

L

Livecasino

RG

Customer...
\""" end def handle_event("on_expand0" <> number, params, socket) do {:noreply, assign(socket, :"expanded0", Map.has_key?(params, "is_selected"))} end def handle_event("on_expand1" <> number, params, socket) do {:noreply, assign(socket, :"expanded1", Map.has_key?(params, "is_selected"))} end def handle_event("on_expand2" <> number, params, socket) do {:noreply, assign(socket, :"expanded2", Map.has_key?(params, "is_selected"))} end """ end end