Bug Fixes

  • ci: use --replace for idempotent hex.pm publish
  • ci: write .npmrc to home dir for bun publish auth
  • ci: use npm publish with explicit .npmrc for npm registry auth
  • build: guard SECRET_KEY_BASE behind PHX_SERVER in runtime.exs
  • build: replace npm with bun throughout project

9.0.0-rc.0 (2026-02-26)

This is a major release candidate representing a near-complete rewrite of the component library. Components now render as HTML Custom Elements (<el-dm-*>) backed by @duskmoon-dev/elements, with all styling provided by the @duskmoon-dev/core design system.

BREAKING CHANGES

  • Custom Elements architecture: All components now render as <el-dm-*> HTML Custom Elements instead of plain HTML. Each element must be explicitly imported/registered in app.js
  • CSS system: Removed DaisyUI and all legacy CSS. Now exclusively uses @duskmoon-dev/core with Tailwind v4 @plugin directive
  • Module reorganization: Components moved to PhoenixDuskmoon.Component.{Category}.{Component} namespace (8 categories: Action, DataDisplay, DataEntry, Feedback, Navigation, Layout, Icon, CssArt)
  • Fun components: Migrated to PhoenixDuskmoon.CssArt namespace
  • Removed: @gsmlg/lit dependency, neumorphic theme, backward-compatible shim files
  • Appbar: Fully rewritten to use @duskmoon-dev/core CSS classes
  • Dropdown: Migrated to native popover API with @duskmoon-dev/core CSS
  • Theme switcher: Migrated to theme-controller CSS
  • Left menu: Migrated to nested-menu CSS
  • Markdown: Migrated from remark-element to el-dm-markdown
  • Class attr type: Standardized from :string to :any across all components
  • Elixir version: Constraint tightened from ~> 1.12 to ~> 1.15
  • CSS class renames: BEM naming applied throughout (dm-component--variant). Divider, rating, and form disabled/error classes renamed to match upstream

Features

New Components (20+)

  • dm_autocomplete — Autocomplete with search suggestions
  • dm_cascader — Hierarchical cascading select
  • dm_tree_select — Tree-structured select
  • dm_multi_select — Multi-value select with tags
  • dm_otp_input — One-time password input
  • dm_pin_input — PIN code input
  • dm_time_input — Time picker
  • dm_file_upload — File upload with drag-and-drop
  • dm_rating — Star/icon rating
  • dm_segment_control — Segmented button group
  • dm_toggle — Toggle button group
  • dm_menu / dm_menu_item — Menu with nested items
  • dm_nested_menu — Nested navigation menu
  • dm_popover — Popover content overlay
  • dm_collapse — Collapsible content panel
  • dm_list — Interactive list component
  • dm_bottom_sheet — Bottom sheet modal
  • dm_bottom_nav — Bottom navigation bar
  • dm_toast / dm_toast_container — Toast notifications
  • dm_snackbar — Snackbar notifications
  • dm_stepper — Step wizard
  • dm_timeline — Chronological event display
  • dm_stat — Metric/statistic display
  • dm_chip — Compact information chip
  • dm_accordion — Expandable content sections
  • dm_drawer — Slide-out panel
  • dm_steps — Step indicator
  • Form layout: dm_fieldset, dm_form_row, dm_form_grid, dm_form_section, dm_form_divider, dm_form_inline, dm_form_hint, dm_form_counter

Component API Enhancements

  • Phoenix.HTML.FormField support — direct field={@form[:name]} binding on data entry components
  • Helper text (helper_text attr) added to input, select, textarea, and complex select components
  • Error list and phx-feedback-for added to autocomplete, file_upload, rating, time_input, OTP/PIN input, multi_select, tree_select, cascader
  • Horizontal layout and validation state attrs on input, compact_input, select, textarea, slider, checkbox, radio, switch
  • Style variants (ghost, filled, bordered) on input, select, textarea
  • Size variants expanded: xl on checkbox, radio, switch, progress, divider
  • Circular and indeterminate progress variants
  • Vertical slider orientation
  • Gradient, inset, text position, and light/dark variants on divider
  • Ring support on avatar
  • aria-current="page" support on appbar and page_header menu items
  • Soft style variant on badge

I18n / Configurable Labels

  • Hardcoded aria-label strings made configurable across all interactive components
  • Configurable labels on dialog, button, pin_input, otp_input, rating, time_input, appbar, multi_select, tree_select, cascader, avatar, spotlight, flash, theme_switcher, pagination, loading
  • Password strength level labels configurable for i18n
  • search_text, clear_label, overflow_text attrs for i18n

LiveView Hooks

  • WebComponentHook — Universal LiveView ↔ Custom Element bridge with automatic event mapping
  • FormElementHook — Form-aware hook with phx-feedback-for support via MutationObserver
  • ThemeSwitcher — Theme toggle with localStorage persistence
  • Spotlight — Keyboard shortcut (Cmd/Ctrl+K) handler
  • PageHeader — Intersection observer for scroll-based effects

Bug Fixes

  • Pagination: spurious ellipsis with exactly 7 pages
  • Loading: random values stabilized across re-renders; size_factor guarded against zero
  • Skeleton: ranges guarded against zero values
  • Generated IDs use System.unique_integer for collision-free generation
  • Duplicate HTML IDs fixed in slider_range and dialog
  • Empty slot truthiness check corrected
  • Invalid HTML nesting fixed in tree_select, multi_select, stat (div inside button, nested buttons)
  • Progress correctly omits value attr in indeterminate mode
  • Table stream body ID interpolated correctly
  • Correct upstream CSS classes used (skeleton-wave, btn variants)
  • Dead CSS imports removed
  • render_slot calls guarded against self-closing slot entries
  • CssArt component rendering issues fixed (signature, plasma_ball, snow, eclipse)
  • Version sync supports pre-release formats and has hardened error handling
  • Storybook: 20+ story 500 errors resolved; gzip static serving disabled in dev

Accessibility

  • aria-modal on bottom sheet, drawer, spotlight
  • aria-hidden on decorative icons across 20+ components
  • aria-disabled on all disabled interactive elements
  • aria-busy on button loading state, skeleton, autocomplete, pagination
  • aria-invalid and aria-describedby on all input types for screen reader error state
  • aria-controls on cascader, multi_select, tree_select triggers
  • aria-expanded on dropdown, appbar mobile menu
  • aria-live="assertive" on toast and snackbar
  • aria-labelledby on OTP/PIN input groups
  • role=list/role=listitem on timeline and stepper
  • role=switch on switch input, role=toolbar on actionbar, role=group on checkbox/radio groups
  • role=tooltip with aria-describedby linking on tooltips
  • scope=col on table column headers
  • nav landmark on appbar, aria-label on page_footer
  • Keyboard accessibility on spotlight suggestions and page_header mobile menu
  • type=button on non-submit buttons (pagination, tab, dropdown) to prevent accidental form submission
  • Hidden false inputs on checkbox/switch for correct form submission
  • Memory leaks fixed in Spotlight, ThemeSwitcher, FormElementHook hooks
  • rel=noopener on external links

Refactoring

  • Components reorganized into 8 category directories
  • Shared Helpers module extracted (split_value/2, css_color/1, format_label/2)
  • EEx for-loops converted to :for HEEX attribute throughout
  • EEx syntax normalized to HEEX across 17 component files
  • if/else nil patterns simplified to && in HEEX attributes
  • Map.get replaced with bracket notation for slot attribute access
  • Attr defaults standardized to nil across all components

CI/CD

  • Workflows split into separate ci, test, and release pipelines
  • Bun-based publishing replaces npm
  • Idempotent hex.pm publish with --replace
  • Dockerfile hardened with SECRET_KEY_BASE build arg
  • Tailwind version pinned in CI

8.0.0 (2026-01-12)

BREAKING CHANGES

  • security: Removed critical XSS vulnerabilities from inline scripts

Features

  • Moonlight theme colors enhanced
  • Graceful error handling for missing icon files in dm_mdi and dm_bsi
  • @duskmoon-dev/core updated to 1.11.0

Bug Fixes

  • CSS classes corrected for select, radio, and textarea inputs
  • Version numbers synchronized; version management automated
  • Icon component syntax corrected in storybook and docs

Tests

  • Comprehensive test coverage added for dm_table, pagination, and 10 input types

7.2.1 (2025-11-04)

Bug Fixes

  • replace undefined .variation component with actual component references in storybook stories (02f7b83)

7.2.0 (2025-10-23)

Features

  • add component modules and storybook stories with comprehensive tests (78d0a0a)

7.1.3 (2025-10-18)

Bug Fixes

  • Use full module name for Storybook backend in router (5975540)

7.1.2 (2025-10-17)

Bug Fixes

  • Use GHCR_TOKEN instead of PERSONAL_ACCESS_TOKEN for GitHub Container Registry (cceeb80)

7.1.1 (2025-10-17)

Bug Fixes

  • Update Node.js version to 22 and fix Docker registry URLs (ce440fb)

7.1.0 (2025-10-17)

Bug Fixes

  • Add Node.js 22 setup for semantic-release compatibility (8850db4)
  • Remove npm cache configuration to avoid lock file errors (4eeb684)
  • Specify correct npm cache path for Node.js setup (f7aa4fe)

Features

  • Enhance UI components with accessibility improvements and new features (#13) (ca5a0dd)

8.1.0 (2025-10-14)

Features

  • Refactor left_menu components with daisyUI integration and comprehensive test coverage (3efb4ad)

8.0.0 (2025-10-13)

Features

  • Add 12 new advanced form input types with comprehensive storybook coverage (856cebf)
  • Add comprehensive Skeleton component and fix storybook configuration (6e5b730)
  • Enhance components with comprehensive duskmoonui integration (60fb90f)
  • Optimize /hook, /mdi, and /bsi pages with performance and UX improvements (dc7e1b0)

BREAKING CHANGES

  • Storybook moved from lib/storybook to storybook/ directory

7.0.1 (2025-10-08)

Bug Fixes

  • Disable PhoenixStorybook to resolve CI/CD compilation failure (3f549ce)
  • Update Phoenix dependencies and complete Storybook index configuration (c442095)

7.0.0 (2025-10-02)

Bug Fixes

  • Fix storybook. (640b03d)
  • Fix. (5aa04e3)
  • Fix. (60be998)
  • Resolve PhoenixStorybook compilation warning by adding content entries to index files (577a887)
  • Update dependencies to resolve compilation warnings (6f9d050)

Code Refactoring

  • Replace daisyui with duskmoonui dependency (3aace17)

Features

  • Add comprehensive component tests for Button, Card, Icons, and Link (3df36f7)
  • Add devenv development environment configuration (6c010b9)

BREAKING CHANGES

  • Update css library to duskmoonui instead of daisyui.

6.3.2 (2025-05-29)

Bug Fixes

  • Remove tailwind.config.js, use directive instead. (5726376)

6.3.1 (2025-05-29)

Bug Fixes

6.3.0 (2025-03-08)

Bug Fixes

Features

6.3.0 (2025-03-08)

Bug Fixes

Features

6.3.0 (2025-03-08)

Bug Fixes

Features

6.3.0 (2025-03-07)

Bug Fixes

Features

6.3.0 (2025-03-07)

Bug Fixes

Features

6.3.0 (2025-03-07)

Bug Fixes

Features

6.3.0 (2025-03-07)

Bug Fixes

Features

6.3.0 (2025-03-06)

Bug Fixes

Features

6.3.0 (2025-03-06)

Bug Fixes

Features

6.2.1 (2025-02-22)

Bug Fixes

6.2.1 (2025-02-22)

Bug Fixes

6.2.0 (2025-02-12)

Features

6.1.3 (2025-02-10)

Bug Fixes

6.1.2 (2025-02-10)

Bug Fixes

6.1.1 (2025-02-10)

Bug Fixes

6.1.0 (2025-02-09)

Features

  • Move effect loading to fun component. (521402a)

6.0.10 (2025-02-09)

Bug Fixes

  • Add prefix to fun component, avoid conflict. (5b52cc0)

6.0.9 (2025-02-09)

Bug Fixes

6.0.8 (2025-02-06)

Bug Fixes

6.0.7 (2025-02-06)

Bug Fixes

6.0.6 (2025-02-06)

Bug Fixes

6.0.5 (2025-02-05)

Bug Fixes

6.0.4 (2025-02-05)

Bug Fixes

6.0.3 (2025-02-05)

Bug Fixes

6.0.2 (2025-02-05)

Bug Fixes

  • Fix Dockerfile and remove useless. (f833766)

6.0.1 (2025-02-05)

Bug Fixes

6.0.0 (2025-02-05)

Bug Fixes

Features

BREAKING CHANGES

    • Update tailwindcss to 4.0 and duskmoonui to 5.0.
  • Remove legacy use PhoenixDuskmoon

5.2.0-beta.5 (2025-02-05)

Bug Fixes

Features

5.2.0-beta.4 (2025-02-05)

Bug Fixes

5.2.0-beta.3 (2025-02-04)

Bug Fixes

5.2.0-beta.2 (2025-02-04)

Bug Fixes

5.2.0-beta.1 (2025-02-04)

Bug Fixes

Features

5.1.1 (2025-01-25)

Bug Fixes

5.1.0 (2025-01-21)

Bug Fixes

Features

5.0.6 (2025-01-21)

Bug Fixes

5.0.5 (2025-01-21)

Bug Fixes

5.0.4 (2025-01-21)

Bug Fixes

5.0.3 (2025-01-20)

Bug Fixes

5.0.2 (2025-01-17)

Bug Fixes

5.0.1 (2025-01-14)

Bug Fixes

  • Fix form and dm_input type. (0896d5b)

5.0.0 (2024-12-13)

Bug Fixes

Features

  • Add button with confirm. (3a5491c)
  • Update phoenix_live_view to 1.0 (7f04b3a)

BREAKING CHANGES

    • phoenix_live_view version up to 1.0, can not compatible to previous version

4.6.6 (2024-08-09)

Bug Fixes

4.6.5 (2024-08-01)

Bug Fixes

4.6.4 (2024-07-10)

Bug Fixes

4.6.3 (2024-07-09)

Bug Fixes

4.6.2 (2024-07-09)

Bug Fixes

4.6.1 (2024-07-09)

Bug Fixes

4.6.0 (2024-07-08)

Bug Fixes

Features

  • Rename PhoenixDuskmoon => PhoenixDuskmoon.Component. (5325239)

4.5.2 (2024-07-08)

Bug Fixes

4.5.1 (2024-07-04)

Bug Fixes

4.5.0 (2024-07-04)

Features

  • Add new form module, async card. (81cfba2)

4.4.4 (2024-05-15)

Bug Fixes

  • Add stream support to table. (6692ef5)
  • Add stream support to table. (bdebd74)

4.4.3 (2024-05-15)

Bug Fixes

4.4.2 (2023-05-02)

Bug Fixes

4.4.1 (2023-04-22)

Bug Fixes

  • Fix page header and page footer responsive design. (5bb5ed6)

4.4.0 (2023-04-20)

Features

  • Add responsive feature to table, fix let to :let, fix tab styles. (037ca1b)
  • Rename table rows to data, change actionbar struct. (9cb0c85)

4.3.2 (2023-04-17)

Bug Fixes

4.3.1 (2023-04-17)

Bug Fixes

  • Remove @gsmlg/lit from package. (686f0c3)

4.3.0 (2023-04-17)

Bug Fixes

Features

  • Add tab and change modal use html dialog. (8a85659)

4.2.0 (2023-04-07)

Features

4.1.1 (2023-04-02)

Bug Fixes

4.1.0 (2023-04-02)

Features

4.0.0 (2023-03-11)

Bug Fixes

Features

BREAKING CHANGES

  • RENAME PHOENIX_WEBCOMPONENT TO PHOENIX_DUSKMOON.

  • fix: Also rename storybook.

  • docs: Fix docs.

  • fix: Fix url.

3.2.3 (2023-03-10)

Bug Fixes

  • Add footer to page layout. (0bb698b)

3.2.2 (2023-03-10)

Bug Fixes

3.2.1 (2023-03-10)

Bug Fixes

3.2.0 (2023-03-10)

Features

  • Add new Home page to document page. (#9) (9f813c7)

3.1.5 (2023-03-09)

Bug Fixes

3.1.4 (2023-03-05)

Bug Fixes

  • Change appbar, make it more customizable. (2d1da27)

3.1.3 (2023-03-05)

Bug Fixes

3.1.2 (2023-03-04)

Bug Fixes

3.1.1 (2023-03-04)

Bug Fixes

3.1.0 (2023-03-04)

Bug Fixes

Features

  • Add bootstrap icons. (21d76e1)
  • Add Breadcrumb component. (72b1812)
  • Add material design icons community version. (2ee18ad)
  • Add new appbar dm_simple_appbar. (4101601)
  • Add dm_modal. (2b2a951)
  • Refactor left_menu. (575fa11)
  • Support live story book 0.4.0. (0c5ff02)

2.7.0 (2023-02-17)

Bug Fixes

Features

2.6.0 (2022-12-08)

Features

2.5.4 (2022-12-06)

Bug Fixes

2.5.3 (2022-12-05)

Bug Fixes

  • Fix exports at package.json and docs of table. (836d2b1)

2.5.2 (2022-12-04)

Bug Fixes

2.5.1 (2022-12-03)

Bug Fixes

2.5.0 (2022-12-03)

Features

  • Add material design icons community version. (2ee18ad)

2.4.0 (2022-12-01)

Features

  • Add new appbar dm_simple_appbar. (4101601)

2.3.6 (2022-11-30)

Bug Fixes

2.3.5 (2022-11-30)

Bug Fixes

2.3.4 (2022-11-29)

Bug Fixes

  • Update @gsmlg/lit version. (311f257)

2.3.3 (2022-11-23)

Bug Fixes

2.3.2 (2022-11-15)

Bug Fixes

2.3.1 (2022-11-15)

Bug Fixes

2.2.3 (2022-10-14)

Bug Fixes

  • Fix exports issue, bundle has no exports, to switch to using window. (92f6066)

2.2.2 (2022-10-14)

Bug Fixes

2.2.1 (2022-10-12)

Bug Fixes

2.2.0 (2022-10-08)

Features

  • Add hook to web component. (eec2b47)

2.1.4 (2022-09-28)

Bug Fixes

  • Fix dm_card width and storybook. (3585d8f)

2.1.3 (2022-09-28)

Bug Fixes

2.1.2 (2022-09-24)

Bug Fixes

2.1.1 (2022-09-24)

Bug Fixes

2.1.0 (2022-09-24)

Bug Fixes

Features

2.0.0 (2022-09-21)

Bug Fixes

Features

  • BREAKING CHANGE: Project architecture to umbrella project and remove third party web component. (#4) (b6177e0)

BREAKING CHANGES

    • feat: Change architecture to umbrella project.
  • fix: Fix base dev.

  • feat: Add live storybook.

  • fix: fix test.

  • fix: Fix names.

  • fix: Fix filename to exs.

  • fix: Fix component.

  • feat: Update storybook.

  • fix: Add class.

  • feat: Add tailwind css.

  • feat: Add appbar.

  • fix: Fix config.

  • feat: Add markdown add appbar.

  • feat: Add pagination.

  • fix: Fix pagination.

  • chore: Add CI.

  • chore: Fix format.

  • fix: Fix test.

  • chore: Fix.

  • feat: Add use :alias.

  • docs: Add README.md

Co-authored-by: Jonathan Gao gsmlg.com@gmail.com

1.6.3 (2022-08-02)

Bug Fixes

1.6.2 (2022-08-02)

Bug Fixes

1.6.1 (2022-08-01)

Bug Fixes

1.6.0 (2022-07-31)

Features

  • Refactor dm_switch, using my custom element. (8f911c4)

1.5.1 (2022-04-30)

Bug Fixes

1.5.0 (2022-04-29)

Bug Fixes

Features

1.4.5 (2022-04-27)

Bug Fixes

1.4.4 (2022-04-27)

Bug Fixes

1.4.4 (2022-04-26)

Bug Fixes

1.4.4 (2022-04-26)

Bug Fixes

1.4.4 (2022-04-26)

Bug Fixes

1.4.4 (2022-04-26)

Bug Fixes

1.4.4 (2022-04-26)

Bug Fixes

1.4.3 (2022-04-26)

Bug Fixes

1.4.2 (2022-04-26)

Bug Fixes

1.4.1 (2022-04-25)

Bug Fixes

1.4.0 (2022-04-25)

Bug Fixes

  • Remove duplicate form attribute to dm_date_input. (b91ddaa)

Features

  • Change to carbon web component. (b7a01c8)

1.3.0 (2022-04-19)

Bug Fixes

Features

1.3.0 (2022-04-19)

Bug Fixes

Features

1.3.0 (2022-04-18)

Bug Fixes

  • Set unelevated to dm_submit. (07f706e)

Features

1.3.0 (2022-04-17)

Bug Fixes

  • Set unelevated to dm_submit. (07f706e)

Features

1.2.0 (2022-04-17)

Bug Fixes

Features

  • Add dm_top_app_bar component. (fb292af)

1.1.1 (2022-04-16)

Bug Fixes

1.1.0 (2022-04-16)

Features

1.0.0 (2022-04-16)

Bug Fixes

  • Avoid warning about jason. (03182c3)

Features

1.0.0 (2022-04-16)

Bug Fixes

  • Avoid warning about jason. (03182c3)

Features

1.0.0 (2022-04-16)

Bug Fixes

  • Avoid warning about jason. (03182c3)

Features

1.0.0 (2022-04-16)

Bug Fixes

  • Avoid warning about jason. (03182c3)

Features

1.0.0 (2022-04-16)

Features

1.0.0-beta.4 (2022-04-16)

Bug Fixes

Features

  • Add live view link helper, dm_live_patch, dm_live_redirect. (323347f)

1.0.0-beta.3 (2022-04-16)

Bug Fixes

1.0.0-beta.2 (2022-04-16)

Bug Fixes

Features

1.0.0-beta.2 (2022-04-16)

Bug Fixes

Features

1.0.0-beta.1 (2022-04-16)

Bug Fixes

Features

  • Add dm_remark. (9714a45)
  • Add phoenix_html to deps. (d8ea8a4)
  • Initital package. (090475d)
  • Into beta, optimize input, start make it more reliable and more useful. (adf4133)
  • Set web compoent form. (ba3bf68)

1.0.0-alpha.2 (2022-04-16)

Features

1.0.0-alpha.1 (2022-04-15)

Bug Fixes

Features

Changelog