- Added automated WCAG 2.1 AA accessibility audits via @storybook/addon-a11y and Chromatic CI.
- Added
enchanted-toggle-button-groupcomponent along with story-book - Added
@storybook/addon-docsto enable documents for allenchanted-components
- Updated
enchanted-list-itemto refocus its internal shadowlielement through a dedicated focus helper, improving keyboard focus behavior for parent dropdown components. - Updated keyboard focus handling in
enchanted-selectandenchanted-multiple-select-chipso dropdown navigation targets the internal shadowlielement consistently. - Reduced WebdriverIO (wdio) console warnings across unit tests by removing deprecated synchronous .getElement() chaining and refactoring async/await element handling.
- Fixed accessibility testing in
enchanted-listby adding aria-label and aria-labelledby attributes.
- Refactored SCSS color usage to shared theme/palette tokens (including shadow token mapping where applicable), replacing hardcoded
rgba/hex literals across:enchanted-accordion,enchanted-badge,enchanted-data-grid,enchanted-data-grid-generic,enchanted-datepicker,enchanted-fab,enchanted-multiple-select-chip, andenchanted-popover.
- Refactored
enchanted-toggle-buttoncomponent and replaced singleButton, outlined, selectedValue, iconUrls, singleButtonTitle, singleButtonAria properties with padding, iconSize, tooltipText, lastType, firstType, ariaLabel properties.
- FocusIn and FocusOut behaviour for popover component.
- Fix
enchanted-circular-progress- resolve animation not working due to@keyframesscope mismatch with Shadow DOM::part()selectors.
- Changed Enchanted-Popover property from
disableHovertodisablePopover.
- Added
disableBackdropClickproperty toenchanted-dialogcomponent to disable closing dialog from backdrop click.
- Changed
SHADOW_ROOT_MODE_KEYconstant value toenchanted.useOpenAcShadowRootfor consistency
- Added
multilineproperty toenchanted-textfieldcomponent for textarea support - Added
numberOfLinesproperty toenchanted-textfieldcomponent to cap visible textarea height with scrollable content - Added Shift+Enter key support in textarea allows line breaks without search trigger
- Added paste event handling in
enchanted-textfieldcomponent for multiline support
- Removed margin right and used gap in 'enchanted-alert'.
- Removed the unnecessary RTL styles for badge in 'enchanted-fab'.
- Adding a scoping logic for all @hcl-software/enchanted-web-components components. Via the VITE_COMPONENT_PREFIX environment parameter the prefix will be applied.
- Fixed
enchanted-fablabel font styles and padding. - Fixed
enchanted-fab-ailabel color styles.
- Adding chromatic PR worklfow snapshot tests
- Removing unused snapshot tests
- Added new
enchanted-fab-aicomponent with unit-test and storybook. - Added a new property to enable adding a label, such as the text 'Thinking,' after the circular progress in
enchanted-circular-progress.
- Fixed
enchanted-fabextended mode layout to properly center label text when no icon is selected, resolving spacing issue caused by flexbox gap.
- Updated
enchanted-fabcomponent to support optional icon - icon property can now be undefined, allowing extended FAB with label only. - Removing unused CSS badge parts
- Added new
enchanted-fabcomponent with support for badges and AI icons, accompanied by comprehensive unit tests, snapshots, and Storybook documentation. - Added story for
enchanted-badge - Added a new property alertTitle to
enchanted-alert.
- Enhanced accessibility for
enchanted-buttonandenchanted-icon-buttoncomponents by adding default aria-labels, roles, and keyboard event handling. - Trigger date-change event of the
enchanted-datepickercomponent during a year switch
- Adjust
enchanted-badgeinterface, thebadgeproperty was renamed totext.
- Fixed the alignment issue of the action and clear icons in the enchanted-textfield component.
- Added
enchanted-popover-closedcustom event toenchanted-popoverfor tracking close-icon clicks vs. other dismissals.
- Fixed
enchanted-circular-progressindeterminant variant style and story. - Fixed
enchanted-previewimage zoom to properly scale down large images on first load using zoom-to-fit calculation. - Fixed
enchanted-previewimage centering and scrolling behavior when zoomed - images now remain centered while allowing full scrollability to all edges when larger than container. - Fixed
enchanted-previewzoom state detection to check actual image dimensions vs container size instead of just zoom percentage, ensuring scrollbars appear when needed.
- Enhanced
enchanted-badgeto improve accessibility and styling consistency. - Added new property
color, border, badge, textforenchanted-badge
- Removing the
tempValueHolderlogic from theenchanted-textfield
-
Type Renaming
All type, enum and interface have been renamed from
Dx*prefix toEnchanted*prefix:Old Name (Dx) New Name (Enchanted) DxDataGridColDef EnchantedDataGridColDef DxMenuPlacement EnchantedMenuPlacement DxMenuSize EnchantedMenuSize -
Folder Restructuring
Refactored folder structure: renamed
acdirectories toatomic-componentacross the codebase. -
SCSS File and Styling Prefix Renaming
All SCSS files in
src/styles/enchanted/components/atomic-component/have been renamed fromdx-*.scsstoenchanted-*.scss:- Renamed all component SCSS files to use
enchanted-prefix instead ofdx-prefix - Updated all mixin names from
dx-*-base-stylestoenchanted-*-base-stylesacross all component stylesheets - Updated all CSS part selectors and class references to use
enchanted-prefix for consistency
Examples:
dx-button.scss→enchanted-button.scsswith mixinenchanted-button-base-stylesdx-preview.scss→enchanted-preview.scsswith mixinenchanted-preview-base-stylesdx-select.scss→enchanted-select.scsswith mixinenchanted-select-base-styles
- Renamed all component SCSS files to use
-
Web Component Renaming
All web components have been renamed from
dx-*prefix toenchanted-*prefix:Old Name (dx-) New Name (enchanted-) dx-ac-base-element enchanted-ac-base-element dx-accordion enchanted-accordion dx-accordion-summary enchanted-accordion-summary dx-alert enchanted-alert dx-anchor enchanted-link dx-avatar enchanted-avatar dx-badge enchanted-badge dx-breadcrumbs enchanted-breadcrumbs dx-breadcrumbs-item enchanted-breadcrumbs-item dx-button enchanted-button dx-chip enchanted-chip dx-circular-progress enchanted-circular-progress dx-data-grid enchanted-data-grid dx-data-grid-generic enchanted-data-grid-generic dx-datepicker enchanted-datepicker dx-dialog enchanted-dialog dx-header enchanted-header dx-header-layout enchanted-header-layout dx-icon-button enchanted-icon-button dx-input-select enchanted-select dx-input-textfield enchanted-textfield dx-item-type-avatar enchanted-item-type-avatar dx-list enchanted-list dx-list-item enchanted-list-item dx-menu enchanted-menu dx-menu-item enchanted-menu-item dx-multiple-select-chip enchanted-multiple-select-chip dx-panel enchanted-panel dx-popover enchanted-popover dx-preview enchanted-preview dx-search-center-layout enchanted-search-center-layout dx-snackbar enchanted-snackbar dx-svg-icon enchanted-svg-icon dx-switch enchanted-switch dx-table-pagination enchanted-table-pagination dx-theme-inspector enchanted-theme-inspector dx-toggle-button enchanted-toggle-button dx-tooltip enchanted-tooltip
- Added new
placementandsizeproperty fordx-menucomponent. - Added
iconsproperty todx-toggle-buttoncomponent to support enchanted-icons (TemplateResult array) alongside existingiconUrls(string array) for dual-button mode. - Added
clearIconandactionIconproperties todx-input-textfieldcomponent to support enchanted-icons (TemplateResult) for icon rendering. - Added
dx-data-grid-genericstorybook story - Added
iconproperty to thedx-chipcomponent - Added a new storybook for the theme inspector and also added some new color tokens.
- Added comprehensive accessibility focus tests for
dx-dialogcomponent. - Added RTL support for
dx-dialogdefault title layout.
- Fixed
dx-previewimage zoom functionality to enable scrolling on all sides when zoomed beyond 100%. - Fixed the
XSsize of thedx-dialogcomponent - Fixed the
disabledstate for thedx-headercomponent - Fixed
dx-dialogclose button positioning. - Fixed truncated title text in
dx-dialogif overflowing.
- Refactored menu placement logic using a switch statement for clarity and maintainability.
- Updated
dx-toggle-buttoncomponent to support both enchanted-icons viaiconsproperty and static SVG URLs viaiconUrlsproperty with fallback logic (icons[0] || iconUrls[0]). - Updated
dx-input-textfieldcomponent to useclearIconandactionIconproperties (TemplateResult) instead of URL-based icons. - Updated
dx-input-textfieldstorybook to use enchanted-icons (icon-close,icon-search) from@hcl-software/enchanted-icons-web-component. - Checked and reworked all storybook stories
- Adjusted
dx-chipstylings - Adjusted
dx-datepickerstylings - Adjusted
dx-input-selectstylings - Adjusted
dx-input-textfieldstylings - Adjusted
dx-multiple-select-chipstylings - Adjusted
dx-snackbarstylings
- Removed
clearIconUrlandactionIconUrlproperties fromdx-input-textfieldcomponent. UseclearIconandactionIconproperties instead, which accept TemplateResult for enchanted-icons rendering. - Removed unused
errorproperty from thedx-multiple-select-chipcomponent - Removed unused
colorproperty from thedx-headercomponent - Changed
dx-data-grid-genericinterface property types (isLoading, hasMiddlewareError, hasContentSourceAvailable, checkboxSelection) - Removed
dx-search-center-layoutcomponent - Removed the
ignoreDisableproperty from thedx-input-textfieldcomponent - Removed useless
openproperty fromdx-menucomponent - Changed
dx-dialogfocus behavior to immediately focus the first focusable element (prioritizing slotted content) instead of focusing the dialog element first.
- Added new
placementandsizeproperty fordx-menucomponent.
- Refactored menu placement logic using a switch statement for clarity and maintainability.
- Added a new storybook component for
dx-popover. - Added new property for disabling popover on hover in
dx-popover. - Prevent dropdown closing when dragging scrollbar inside
<dx-input-select>.
- Fixed the disabled state bug of
dx-icon-button.
- Changed
dx-dialoglive region styling from a CSS class selector to apartattribute with::part()selector, ensuring proper accessibility and visual hiding inside shadow DOM. This resolves issues with screen reader announcements and visible text flashes on dialog open.
- Refactored
dx-dialogcomponent to use reactive state properties (@state()) for ARIA attributes instead of direct DOM manipulation, improving maintainability and alignment with Lit's reactive programming model - Fixed
dx-dialogtest for auto-focus behavior to properly check dialog element focus state - Fixed
dx-breadcrumbscomponent list styling by addinglist-style-type: noneto ensure proper rendering - Fixed the icon bug for sorting of
dx-data-grid. - Fixed the style bug for filter button in
dx-toggle-button.
- Changed
dx-dialogaccessibility implementation to use Lit reactive state forrole,aria-label,tabindex, and content visibility management - Updated
dx-dialoglive region to be part of the template instead of dynamically created - Set the correct border and outline color on the
dx-avatarcomponent
- Added comprehensive ARIA attributes and labels for screen reader accessibility in
dx-previewcomponent - Added
aria-modal="true"attribute to dialog role indx-dialogcomponent - Added keyboard navigation tests for
dx-dialogclose button (Enter and Space keys) - Added ARIA accessibility tests for
dx-previewanddx-dialogcomponents - Added
focusOnLoadingContainer()public method indx-data-grid-genericcomponent - Added
focusDialog()public method indx-dialogcomponent - Added
subtitlepart todx-data-grid-genericcomponent.
- Fixed screen reader accessibility in
dx-previewcomponent by adding proper ARIA labels, roles, and attributes - Fixed screen reader accessibility in
dx-dialogcomponent with proper ARIA modal attribute - Fixed focus management in
dx-previewto focus on dialog element instead of header - Fixed
dx-previewinteractive elements to have properaria-hiddenandaria-labelattributes - Fixed keyboard accessibility for
dx-dialogclose button - Improved accessibility of
dx-breadcrumbscomponent for screen readers - Improved accessibility of
dx-dialogcomponent for screen readers - Fix
dx-previewcomponent bug of previewing the same item will open the first index item in preview. - Fixed the badge icon position for the rtl.
- Changed
dx-previewbackdrop to userole="presentation"for better screen reader experience - Changed
dx-previewcontainer to use proper dialog role with ARIA attributes - Updated
dx-data-grid-genericcomponent with improved ARIA attributes: - Changed table
rolefrom "table" to "grid" for better screen reader support - Changed cell
rolefrom "cell" to "gridcell" to match grid semantics - Added
aria-colcount,aria-rowcount, andaria-busyattributes to table element - Added
role="status"andaria-labelto loading container - Wrapped table header and body in
<thead>and<tbody>elements for better semantic structure - Using debug instead of console as logging framework.
export DEBUG=enchanted-web-components:*is enabling the specific debug messages
- Added focus trap functionality in
dx-previewcomponent to improve keyboard navigation - Added
_focusButton()public method indx-buttoncomponent - Added
_focusButton()public method indx-icon-buttoncomponent - Added
focusOnRow()public method indx-data-grid-genericcomponent - Added accessibility properties (
ariaHasPopup,ariaExpanded) indx-buttoncomponent - Added
ariaLabelproperty support indx-input-selectcomponent - Added ARIA labels for pagination controls in
dx-table-paginationcomponent - Added role attributes (
role="listbox",role="option") indx-input-selectcomponent for better screen reader support
- Fixed intermittent test failure in
dx-previewzoom percentage toggle test
Broken npm publish
Initial release.