Changelog
View SourceUnreleased
[0.10.8] - 2025-09-15
Changed
- Support
gettext~> 1.0.
[0.10.7] - 2025-07-31
Changed
- Require
phoenix_live_view~> 1.0.6 or ~> 1.1.0.
[0.10.6] - 2025-07-08
Changed
- Loosen version requirement for
phoenix_storybook.
[0.10.5] - 2025-06-10
Fixed
- Add
requiredattribute to radio inputs.
[0.10.4] - 2025-02-22
Fixed
- Escape select option values in
fieldcomponent.
[0.10.3] - 2025-02-11
Changed
- Build select options with function components instead of
Phoenix.HTML.Form.options_for_select/2.
[0.10.2] - 2025-01-08
Changed
- Require Phoenix LiveView ~> 1.0.0.
- Support Phoenix Storybook 0.8.
[0.10.1] - 2024-11-20
Changed
- Support Phoenix Storybook 0.7.x.
[0.10.0] - 2024-11-19
Changed
fieldcomponent:- Remove
required_textattribute in favor of a compile-time option passed tobuild_field/1. - Remove
required_titleattribute; removetitlefromspanelement. - Change default for
required_textfrom*to(required). - Translate
required_textwith Gettext module, if set. - Add
optional_textoption tobuild_field/1to mark optional fields with a label suffix. Defaults tonil. - Prefix
checkbox,checkbox-group,radio-group,required-mark,select,switch,switch-label,switch-state,switch-state-off, andswitch-state-onclasses with base class for consistency.
- Remove
[0.9.1] - 2024-10-18
Changed
- Add header to file output of
mix dog.classes.
Fixed
- Fix deprecation warning in Phoenix LiveView 1.0.7-rc.7.
[0.9.0] - 2024-09-25
Changed
- Rename
Doggo.modifier_classes/1toDoggo.classes/1andmix dog.modifierstomix dog.classes. The function and mix task return all base classes, nested classes, and additional customizable classes in addition to the modifier classes now. - Wrap inner block of
boxcomponent intodiv. - Add example styles for box and tag components.
Removed
- The
fabcomponent was removed. It might have made sense to have it as a separate component before components could be customized, but since the semantics are the same as a regular button, you can just make one withbuild_button(name: :fab, base_class: "fab")if you need it.
[0.8.2] - 2024-07-28
Fixed
- Ensure storybook module and components module are loaded before checking whether module exports function.
- Fix menu stories not compiling under certain circumstances.
[0.8.1] - 2024-07-28
Fixed
- Declare
phoenix_storybookas required dependency.
[0.8.0] - 2024-07-28
Added
- Set up design tokens and CSS for demo application based on Barker. Styles for all components will be added in the future.
Changed
General
- Add documentation for the compile-time options of the builder macros.
Property list, stack, cluster, button, and button link component
- Add styles to demo application.
- Improve story and documentation.
- Mark components as
stable.
Tab navigation and disclosure button component
- Add styles to demo application.
- Improve story and documentation.
- Mark component as
refining.
Icon and icon sprite component
- Add styles to demo application.
- Add story for icon sprite.
- Rename
labelattribute totext. - Rename
label_placementattribute totext_position. - Change type of
label_placementattribute from atom to string for consistency. - Use
beforeandafteras values fortext_positioninstead ofleftandrightto better apply to right-to-left languages. Rename default classes tohas-text-beforeandhas-text-afteraccordingly. - Make
text_positionclasses configurable. - Add
right-to-leftvariation group to icon story. - Set
sprite_urlas a compile time option. - Mark both components as
refining.
Date, datetime, and time component
- Improve story and documentation.
- Mark components as
refining.
Fixed
attributesfor modifier variations weren't set correctly when map was lacking key.
[0.7.0] - 2024-07-24
Changed
- Use private
field_description,field_errors, andlabelcomponents infieldcomponent. Apply base class tofield_descriptionandfield_errorscomponents. - Use plain
divwith{base_class}-frameclass instead of nestedframecomponent inimagecomponent. Thisdivdoes not receive theratioattribute anymore. Apply the ratio with a CSS selector on the root div instead (e.g..image.is-4-by-3 > .image-frame).
Removed
field_descriptioncomponent.field_errorscomponent.labelcomponent.
[0.6.0] - 2024-07-23
Added
- Add
Doggo.Storybookandmix dog.gen.storiesfor generatingPhoenix.Storybookstories for the configured components. The generated stories automatically render variation groups for all configured modifiers. - Add
Doggo.modifier_classes/1. - Add
Doggo.modifier_class_name/2.
Changed
- Replace all function components defined in
Doggowith build macros inDoggo.Components. This allows you to customize the modifier attributes, component names, base classes, and some other options at compile time. - Make modifier class name builder configurable.
- Rename build macro for former
inputcomponent tofield. - Configure
Gettextmodule forfieldcomponent (formerlyinput) via compile-time option instead of global attribute. - Allow to set required text and required title attributes for input and label.
- Add
moduleargument tomix dog.modifiersthat points to the module in which the Doggo components are configured. - Replace
placeholderattribute withplaceholder_srcandplaceholder_contentattributes inavatarcomponent. - Replace
phx-feedback-forattribute in favor ofPhoenix.Component.used_input?/1. - Don't use
h2forDoggo.page_header/1sub title. - Nest
vertical_nav_nestedcomponent into<div>. - Rename
drawer-nav-titleclass invertical_nav_nestedcomponent to be based on configured component name (default:vertical-nav-nested-title). - Better consistency, various improvements and optimizations in all components.
- Revise The component type classification.
- Add maturity levels for all components (experimental, developing, refining, stable).
- Require
live_view ~> 1.0.0-rc.6.
Removed
- Remove
Phoenix.Storybookstories bundled in theprivfolder in favor ofmix dog.gen.storiesandDoggo.Storybook. - Remove
Doggo.flash_group/1.
Upgrade Guide
- For all Doggo components you were using, call the corresponding
buildmacros inDoggo.Componentsin one of your modules and update your HEEx templates to call the generated functions instead of the ones from theDoggomodule. See readme for installation details. - The previous Doggo version instructed you to configure a separate Storybook
that reads the stories from the
privfolder of the dependency. Remove that second Storybook and runmix dog.gen.stories -m [component-module] -o [storybook-folder] -ato generate stories for the configured Doggo components in the primary Storybook. - If you use
mix dog.modifiersin a script, add the--moduleargument. - If you were setting the
gettextattribute on theinputcomponent, pass thegettext_moduleoption toDoggo.Components.build_field/1instead.
[0.5.0] - 2024-02-12
Added
- New component:
Doggo.alert_dialog/1. - New component:
Doggo.carousel/1. - New component:
Doggo.combobox/1. - New component:
Doggo.disclosure_button/1. - New component:
Doggo.menu/1. - New component:
Doggo.menu_bar/1. - New component:
Doggo.menu_button/1. - New component:
Doggo.menu_group/1. - New component:
Doggo.menu_item/1. - New component:
Doggo.menu_item_checkbox/1. - New component:
Doggo.menu_item_radio_group/1. - New component:
Doggo.radio_group/1. - New component:
Doggo.split_pane/1. - New component:
Doggo.tabs/1. - New component:
Doggo.toolbar/1. - New component:
Doggo.tree/1. - Storybook page about modifier classes.
- Mix task
mix dog.modifiersto list all modifier classes.
Changed
- Set
aria-invalidandaria-errormessageattributes inDoggo.input/1component. - Use buttons instead of links in
Doggo.action_bar/1. - Add
toolbarrole toDoggo.action_bar/1. - Use
sectioninstead ofarticleinDoggo.modal/1. - Use
buttonfor close button inDoggo.modal/1. - Add
dismissableattribute toDoggo.modal/1. - Remove
rolefrombutton_link/1, addclass. - Rename
Doggo.drawer/1slots toheader,main, andfooter. - Rename
Doggo.drawer_nav/1,Doggo.drawer_nav_nested/1andDoggo.drawer_nav_sectiontoDoggo.vertical_nav/1,Doggo.vertical_nav_nested/1andDoggo.vertical_nav_section/1. - Depend on
phoenix_storybook ~> 0.6.0.
[0.4.0] - 2023-12-31
Added
- New component:
Doggo.cluster/1. - New component:
Doggo.toggle_button/1.
Changed
- Significant changes to
Doggo.alert/1andDoggo.flash_group/1. - Require
idattribute forDoggo.callout/1. - Add
:normalas size forDoggo.icon_sprite/1. - Remove
:errorvariant in favor of:danger. - Add
<span>around text placeholder forDoggo.avatar/1. - Add base class to
Doggo.image/1, addclassattribute. - Rename
Doggo.frame/1ratio classes fromx-to-xtox-by-x. - Add required
labelattribute toDoggo.navbar/1. - Add
classattribute to:itemslot ofDoggo.navbar_items/1. - Add
required_titleattribute toDoggo.label/1. - Change
descriptionattribute ofDoggo.field_description/1to inner block. - Require
idattribute forDoggo.drawer_section/1. - Add
aria-labelledbyattribute toDoggo.drawer_section/1. - Require
idandlabelattributes forDoggo.drawer_nav/1. - Add
classattribute toDoggo.drawer_navitem slot. - Require
idattribute forDoggo.drawer_nested_nav/1. - Add
classattribute toDoggo.drawer_nested_navitem slot. - Add
close_labelattribute toDoggo.modal/1.
Fixed
- Box header not rendered if only action slot is used without banner or title.
- Aria label of breadcrumb component not overridable.
- Radio groups and checkbox groups always marked as required.
- Missing datalist option text.
[0.3.1] - 2023-12-28
Changed
- Allow event name as string in
on_clickattributes of app bar and steps.
Fixed
- Faulty application of the
on_clickattribute inDoggo.steps/1.
[0.3.0] - 2023-12-27
Added
- New component:
Doggo.avatar/1. - New component:
Doggo.badge/1. - New component:
Doggo.bottom_navigation/1. - New component:
Doggo.box/1. - New component:
Doggo.callout/1. - New component:
Doggo.fab/1. - New component:
Doggo.field_group/1. - New component:
Doggo.page_header/1. - New component:
Doggo.skeleton/1. - New component:
Doggo.steps/1. - New component:
Doggo.tag/1. - New component:
Doggo.tooltip/1. - Allow to visually hide labels.
- Support autocomplete via
<datalist>ininput/1component. addon_leftandaddon_rightslots on theinput/1component.gettextattribute onDoggo.input/1, giving you the choice to set the Gettext module locally.
[0.2.1] - 2023-12-19
Changed
- Ensure compatibility with Phoenix.HTML 4.0.
[0.2.0] - 2023-12-17
Added
- New
tab_navigation/1component. - New
frame/1component. - New
image/1component.
[0.1.5] - 2023-12-16
Fixed
- Remove default value for
errorsattribute oninputcomponent.
[0.1.4] - 2023-12-16
Added
- Added storybook stories for the remaining components.
Fixed
- Errors passed as an attribute to the
input/1component were overridden. - The
field_description/1component had a stray<li>tag.
[0.1.3] - 2023-12-15
Fixed
- Added
priv/storybookfolder to package configuration.
[0.1.2] - 2023-12-14
Changed
- Added more storybook stories.
Fixed
- Fixed attribute name for table rows.
[0.1.1] - 2023-12-13
Changed
- Storybook stories for more components and documentation improvements.
[0.1.0] - 2023-12-13
Initial release.