defmodule Doggo.Storybook.SplitPane do @moduledoc false alias PhoenixStorybook.Stories.Variation def variations(opts) do function_name = Keyword.fetch!(opts, :name) [ %Variation{ id: :horizontal, attributes: %{ id: "horizontal-split-pane", orientation: :horizontal, label: "Sidebar", default_size: 100 }, slots: [ "<:primary>One", "<:secondary>Two" ] }, %Variation{ id: :vertical, attributes: %{ id: "vertical-split-pane", orientation: :vertical, label: "Sidebar", default_size: 100 }, slots: [ "<:primary>One", "<:secondary>Two" ] }, %Variation{ id: :nested, attributes: %{ id: "nested-split-pane", orientation: :horizontal, label: "Sidebar", default_size: 100 }, slots: [ "<:primary>One", """ <:secondary> <.#{function_name} id="filter-splitter" label="Filters" orientation="vertical" default_size={50} > <:primary>Two <:secondary>Three """ ] } ] end def modifier_variation_base(_id, _name, _value, _opts) do %{ attributes: %{ orientation: :horizontal, label: "Sidebar", default_size: 100 }, slots: [ "<:primary>One", "<:secondary>Two" ] } end end