Current section

Files

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

priv/storybook/buttons/button.story.exs

defmodule Storybook.Components.Button do
use PhoenixStorybook.Story, :component
def function, do: &Doggo.button/1
def variations do
[
%Variation{
id: :default,
slots: ["click me"]
},
%Variation{
id: :disabled,
attributes: %{
disabled: true
},
slots: ["click me"]
},
%Variation{
id: :busy,
attributes: %{
"aria-busy": true,
"aria-label": "Saving..."
},
slots: ["click me"]
},
%VariationGroup{
id: :variants,
variations:
for variant <- Doggo.variants() do
%Variation{
id: variant,
attributes: %{variant: variant},
slots: [to_string(variant)]
}
end
},
%VariationGroup{
id: :fills,
variations:
for fill <- Doggo.fills() do
%Variation{
id: fill,
attributes: %{fill: fill},
slots: [to_string(fill)]
}
end
},
%VariationGroup{
id: :sizes,
variations:
for size <- Doggo.sizes() do
%Variation{
id: size,
attributes: %{size: size},
slots: [to_string(size)]
}
end
},
%VariationGroup{
id: :shapes,
variations:
for shape <- [nil | Doggo.shapes()] do
%Variation{
id: shape || :default,
attributes: %{shape: shape},
slots: ["#{shape || :default}"]
}
end
}
]
end
end