Current section

Files

Jump to
doggo priv storybook buttons toggle_button.story.exs
Raw

priv/storybook/buttons/toggle_button.story.exs

defmodule Storybook.Components.ToggleButton do
use PhoenixStorybook.Story, :component
def function, do: &Doggo.toggle_button/1
def variations do
[
%VariationGroup{
id: :variants,
variations:
for variant <- Doggo.variants() do
%Variation{
id: variant,
attributes: %{
on_click: %JS{},
variant: variant,
pressed: false
},
slots: ["Mute"]
}
end
},
%VariationGroup{
id: :disabled,
variations:
for variant <- [
:primary,
:secondary,
:info,
:success,
:warning,
:danger
] do
%Variation{
id: variant,
attributes: %{
on_click: %JS{},
variant: variant,
pressed: false,
disabled: true
},
slots: ["Mute"]
}
end
},
%VariationGroup{
id: :fills,
variations:
for fill <- Doggo.fills() do
%Variation{
id: fill,
attributes: %{
on_click: %JS{},
fill: fill,
pressed: false
},
slots: ["Mute"]
}
end
},
%VariationGroup{
id: :sizes,
variations:
for size <- Doggo.sizes() do
%Variation{
id: size,
attributes: %{
on_click: %JS{},
size: size,
pressed: false
},
slots: ["Mute"]
}
end
},
%VariationGroup{
id: :shapes,
variations:
for shape <- [nil | Doggo.shapes()] do
%Variation{
id: shape || :default,
attributes: %{
on_click: %JS{},
shape: shape,
pressed: false
},
slots: ["Mute"]
}
end
}
]
end
end