@duetds/components 7.0.13 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hydrate/index.d.ts +6 -6
- package/hydrate/index.js +554 -223
- package/lib/cjs/duet-action-button.cjs.entry.js +12 -8
- package/lib/cjs/duet-alert.cjs.entry.js +8 -5
- package/lib/cjs/duet-badge.cjs.entry.js +7 -2
- package/lib/cjs/duet-banner.cjs.entry.js +7 -3
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +8 -4
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
- package/lib/cjs/duet-button_2.cjs.entry.js +10 -6
- package/lib/cjs/duet-callout.cjs.entry.js +6 -2
- package/lib/cjs/duet-caption_4.cjs.entry.js +40 -8
- package/lib/cjs/duet-card.cjs.entry.js +10 -6
- package/lib/cjs/duet-checkbox.cjs.entry.js +7 -3
- package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
- package/lib/cjs/duet-chip.cjs.entry.js +20 -16
- package/lib/cjs/duet-choice_2.cjs.entry.js +17 -10
- package/lib/cjs/duet-collapsible.cjs.entry.js +10 -6
- package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
- package/lib/cjs/duet-contact-card.cjs.entry.js +8 -4
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +6 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +10 -6
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +16 -9
- package/lib/cjs/duet-empty-state.cjs.entry.js +7 -2
- package/lib/cjs/duet-fieldset.cjs.entry.js +8 -4
- package/lib/cjs/duet-footer.cjs.entry.js +9 -5
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +12 -8
- package/lib/cjs/duet-hero.cjs.entry.js +10 -6
- package/lib/cjs/duet-icon.cjs.entry.js +7 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +13 -7
- package/lib/cjs/duet-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +6 -2
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -3
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +6 -2
- package/lib/cjs/duet-menu-bar.cjs.entry.js +4 -2
- package/lib/cjs/duet-modal.cjs.entry.js +11 -9
- package/lib/cjs/duet-multiselect.cjs.entry.js +10 -6
- package/lib/cjs/duet-nav.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +11 -4
- package/lib/cjs/duet-number-input.cjs.entry.js +10 -6
- package/lib/cjs/duet-page-heading.cjs.entry.js +6 -2
- package/lib/cjs/duet-pagination_2.cjs.entry.js +11 -8
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +6 -2
- package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
- package/lib/cjs/duet-progress.cjs.entry.js +9 -5
- package/lib/cjs/duet-promo-card.cjs.entry.js +7 -3
- package/lib/cjs/duet-radio_2.cjs.entry.js +8 -4
- package/lib/cjs/duet-range-slider.cjs.entry.js +8 -4
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +19 -12
- package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-select.cjs.entry.js +8 -4
- package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
- package/lib/cjs/duet-show-more.cjs.entry.js +10 -6
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +8 -4
- package/lib/cjs/duet-slideout-link.cjs.entry.js +6 -2
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -2
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -6
- package/lib/cjs/duet-slideout.cjs.entry.js +10 -8
- package/lib/cjs/duet-step_2.cjs.entry.js +11 -4
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -3
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -3
- package/lib/cjs/duet-textarea.cjs.entry.js +8 -4
- package/lib/cjs/duet-toggle.cjs.entry.js +7 -3
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -3
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +6 -2
- package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +23 -3
- package/lib/cjs/duet-tooltip.cjs.entry.js +10 -12
- package/lib/cjs/duet-tray.cjs.entry.js +9 -5
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +9 -1
- package/lib/cjs/duet-upload-item.cjs.entry.js +10 -5
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +6 -1
- package/lib/cjs/duet.cjs.js +4 -11
- package/lib/cjs/{errorcodes.utils-c85ef728.js → errorcodes.utils-8e928de5.js} +2 -2
- package/lib/cjs/{focus-utils-a94e86a5.js → focus-utils-135b1e70.js} +1 -1
- package/lib/cjs/{index-04d05fd9.js → index-8d4b3790.js} +505 -183
- package/lib/cjs/{language-utils-6f1ce5d7.js → language-utils-dc19e8b6.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -12
- package/lib/cjs/nudge-ee03ce2e.js +18 -0
- package/lib/cjs/{teleport-18e2b4b9.js → teleport-af825e04.js} +9 -12
- package/lib/collection/collection-manifest.json +98 -98
- package/lib/collection/components/duet-action-button/duet-action-button.js +22 -9
- package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
- package/lib/collection/components/duet-alert/duet-alert.js +26 -12
- package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
- package/lib/collection/components/duet-badge/duet-badge.js +11 -3
- package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
- package/lib/collection/components/duet-banner/duet-banner.js +20 -8
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +8 -2
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +18 -0
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -1
- package/lib/collection/components/duet-button/duet-button.e2e.js +210 -0
- package/lib/collection/components/duet-button/duet-button.js +33 -15
- package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
- package/lib/collection/components/duet-callout/duet-callout.js +8 -2
- package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
- package/lib/collection/components/duet-caption/duet-caption.js +11 -3
- package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
- package/lib/collection/components/duet-card/duet-card.js +28 -12
- package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +18 -7
- package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
- package/lib/collection/components/duet-chip/duet-chip.js +51 -22
- package/lib/collection/components/duet-choice/duet-checkmark.js +4 -2
- package/lib/collection/components/duet-choice/duet-choice.e2e.js +181 -0
- package/lib/collection/components/duet-choice/duet-choice.js +31 -14
- package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +88 -0
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +14 -5
- package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +20 -8
- package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +110 -0
- package/lib/collection/components/duet-combobox/duet-combobox.js +14 -7
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +10 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +31 -0
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +8 -2
- package/lib/collection/components/duet-date-picker/date-utils.spec.js +330 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +694 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +32 -14
- package/lib/collection/components/duet-divider/duet-divider.e2e.js +32 -0
- package/lib/collection/components/duet-divider/duet-divider.js +6 -3
- package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +29 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +24 -10
- package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +16 -0
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +11 -3
- package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +10 -3
- package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
- package/lib/collection/components/duet-footer/duet-footer.js +27 -12
- package/lib/collection/components/duet-grid/duet-grid.e2e.js +42 -0
- package/lib/collection/components/duet-grid/duet-grid.js +10 -5
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +8 -4
- package/lib/collection/components/duet-header/duet-header.e2e.js +468 -0
- package/lib/collection/components/duet-header/duet-header.js +54 -26
- package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
- package/lib/collection/components/duet-heading/duet-heading.js +16 -6
- package/lib/collection/components/duet-hero/duet-hero.css +30 -0
- package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
- package/lib/collection/components/duet-hero/duet-hero.js +30 -13
- package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
- package/lib/collection/components/duet-icon/duet-icon.js +18 -7
- package/lib/collection/components/duet-icon/icon-utils.spec.js +84 -0
- package/lib/collection/components/duet-input/duet-input.e2e.js +201 -0
- package/lib/collection/components/duet-input/duet-input.js +34 -16
- package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
- package/lib/collection/components/duet-label/duet-label.js +11 -3
- package/lib/collection/components/duet-layout/duet-layout.e2e.js +32 -0
- package/lib/collection/components/duet-layout/duet-layout.js +6 -3
- package/lib/collection/components/duet-link/duet-link.css +4 -1
- package/lib/collection/components/duet-link/duet-link.e2e.js +53 -0
- package/lib/collection/components/duet-link/duet-link.js +95 -11
- package/lib/collection/components/duet-list/duet-list.e2e.js +105 -0
- package/lib/collection/components/duet-list/duet-list.js +14 -7
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -1
- package/lib/collection/components/duet-logo/duet-logo.e2e.js +42 -0
- package/lib/collection/components/duet-logo/duet-logo.js +14 -7
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +6 -2
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +10 -3
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +10 -3
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +6 -1
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +6 -1
- package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
- package/lib/collection/components/duet-modal/duet-modal.js +26 -12
- package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +24 -10
- package/lib/collection/components/duet-nav/duet-nav.js +2 -1
- package/lib/collection/components/duet-notification/duet-notification.e2e.js +12 -0
- package/lib/collection/components/duet-notification/duet-notification.js +15 -6
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +177 -0
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +22 -9
- package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +32 -0
- package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +242 -0
- package/lib/collection/components/duet-number-input/duet-number-input.js +34 -15
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +8 -2
- package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
- package/lib/collection/components/duet-pagination/duet-pagination.js +14 -6
- package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +16 -6
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +14 -7
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +20 -8
- package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
- package/lib/collection/components/duet-progress/duet-progress.js +8 -2
- package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +23 -0
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +14 -5
- package/lib/collection/components/duet-radio/duet-radio.e2e.js +135 -0
- package/lib/collection/components/duet-radio/duet-radio.js +16 -8
- package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +57 -0
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +12 -4
- package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +57 -0
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +18 -7
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +51 -0
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +10 -4
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +23 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +12 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +12 -9
- package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +22 -0
- package/lib/collection/components/duet-section-layout/duet-section-layout.js +2 -1
- package/lib/collection/components/duet-select/duet-select.e2e.js +211 -0
- package/lib/collection/components/duet-select/duet-select.js +24 -10
- package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +4 -2
- package/lib/collection/components/duet-show-more/duet-show-more.js +20 -8
- package/lib/collection/components/duet-slideout/duet-slideout.js +14 -6
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +6 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +6 -1
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +12 -4
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +10 -3
- package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +27 -0
- package/lib/collection/components/duet-spacer/duet-spacer.js +6 -3
- package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +30 -0
- package/lib/collection/components/duet-spinner/duet-spinner.js +6 -3
- package/lib/collection/components/duet-step/duet-step.e2e.js +92 -0
- package/lib/collection/components/duet-step/duet-step.js +16 -6
- package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
- package/lib/collection/components/duet-stepper/duet-stepper.js +10 -3
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +10 -3
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +10 -3
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +6 -1
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +6 -1
- package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
- package/lib/collection/components/duet-tab/duet-tab.js +7 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +108 -0
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +26 -12
- package/lib/collection/components/duet-table/duet-table.e2e.js +95 -0
- package/lib/collection/components/duet-table/duet-table.js +10 -5
- package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +199 -0
- package/lib/collection/components/duet-textarea/duet-textarea.js +22 -9
- package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
- package/lib/collection/components/duet-toggle/duet-toggle.js +14 -5
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +10 -3
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +6 -1
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +6 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +10 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +34 -7
- package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +15 -11
- package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
- package/lib/collection/components/duet-tray/duet-tray.js +12 -4
- package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
- package/lib/collection/components/duet-upload/duet-upload.js +73 -35
- package/lib/collection/components/duet-upload/upload-validators.spec.js +41 -0
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +10 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +23 -9
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -0
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +5 -0
- package/lib/collection/utils/create-id.spec.js +12 -0
- package/lib/collection/utils/js-utils.spec.js +22 -0
- package/lib/collection/utils/language-utils.spec.js +159 -0
- package/lib/collection/utils/math.utils.spec.js +140 -0
- package/lib/collection/utils/nudge.js +14 -0
- package/lib/collection/utils/string-utils.spec.js +39 -0
- package/lib/collection/utils/teleport.js +9 -12
- package/lib/collection/utils/template-utils.spec.js +39 -0
- package/lib/collection/utils/token-utils.spec.js +178 -0
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-alert.js +1 -1
- package/lib/dist-custom-elements/duet-badge.js +1 -1
- package/lib/dist-custom-elements/duet-banner.js +11 -7
- package/lib/dist-custom-elements/duet-breadcrumb.js +9 -5
- package/lib/dist-custom-elements/duet-breadcrumbs.js +4 -4
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +9 -5
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +13 -9
- package/lib/dist-custom-elements/duet-checkbox.js +1 -1
- package/lib/dist-custom-elements/duet-checkmark.js +1 -1
- package/lib/dist-custom-elements/duet-chip.js +26 -19
- package/lib/dist-custom-elements/duet-choice-group.js +21 -11
- package/lib/dist-custom-elements/duet-choice.js +17 -13
- package/lib/dist-custom-elements/duet-collapsible.js +12 -8
- package/lib/dist-custom-elements/duet-combobox.js +15 -10
- package/lib/dist-custom-elements/duet-contact-card.js +15 -11
- package/lib/dist-custom-elements/duet-cookie-consent.js +12 -8
- package/lib/dist-custom-elements/duet-date-picker.js +28 -19
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +17 -13
- package/lib/dist-custom-elements/duet-empty-state.js +1 -1
- package/lib/dist-custom-elements/duet-fieldset.js +1 -1
- package/lib/dist-custom-elements/duet-footer.js +16 -9
- package/lib/dist-custom-elements/duet-grid-item.js +1 -1
- package/lib/dist-custom-elements/duet-grid.js +1 -1
- package/lib/dist-custom-elements/duet-header.js +28 -17
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +23 -15
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +3 -3
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +8 -4
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +9 -5
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +9 -5
- package/lib/dist-custom-elements/duet-menu-bar-link.js +8 -4
- package/lib/dist-custom-elements/duet-menu-bar.js +6 -4
- package/lib/dist-custom-elements/duet-modal.js +21 -16
- package/lib/dist-custom-elements/duet-multiselect.js +23 -17
- package/lib/dist-custom-elements/duet-nav.js +3 -3
- package/lib/dist-custom-elements/duet-notification-drawer.js +11 -7
- package/lib/dist-custom-elements/duet-notification.js +9 -5
- package/lib/dist-custom-elements/duet-number-input.js +20 -16
- package/lib/dist-custom-elements/duet-page-heading.js +8 -4
- package/lib/dist-custom-elements/duet-pagination.js +25 -20
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +8 -4
- package/lib/dist-custom-elements/duet-popup-menu.js +6 -6
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +10 -6
- package/lib/dist-custom-elements/duet-radio-group.js +21 -11
- package/lib/dist-custom-elements/duet-radio.js +4 -4
- package/lib/dist-custom-elements/duet-range-slider.js +10 -6
- package/lib/dist-custom-elements/duet-range-stepper.js +14 -9
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +3 -3
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
- package/lib/dist-custom-elements/duet-show-more.js +14 -10
- package/lib/dist-custom-elements/duet-slideout-lang.js +9 -5
- package/lib/dist-custom-elements/duet-slideout-link.js +8 -4
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +8 -4
- package/lib/dist-custom-elements/duet-slideout-panel.js +11 -7
- package/lib/dist-custom-elements/duet-slideout.js +11 -9
- package/lib/dist-custom-elements/duet-spacer.js +1 -1
- package/lib/dist-custom-elements/duet-spinner.js +1 -1
- package/lib/dist-custom-elements/duet-step.js +12 -8
- package/lib/dist-custom-elements/duet-stepper.js +12 -5
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +9 -5
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +9 -5
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +9 -5
- package/lib/dist-custom-elements/duet-submenu-bar.js +11 -5
- package/lib/dist-custom-elements/duet-tab-group.js +20 -18
- package/lib/dist-custom-elements/duet-tab.js +8 -3
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +20 -14
- package/lib/dist-custom-elements/duet-toggle.js +11 -5
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +9 -5
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +9 -5
- package/lib/dist-custom-elements/duet-toolbar-link.js +8 -4
- package/lib/dist-custom-elements/duet-toolbar.js +3 -3
- package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +11 -7
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload-item.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +30 -24
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.d.ts +6 -0
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/p-040f8831.js +16 -0
- package/lib/dist-custom-elements/{p-7a8c2aed.js → p-092ff822.js} +17 -17
- package/lib/dist-custom-elements/{p-5128c90e.js → p-0c7dab94.js} +10 -6
- package/lib/dist-custom-elements/{p-fbdc5afe.js → p-227dc421.js} +3 -3
- package/lib/dist-custom-elements/{p-7394e25f.js → p-24853ebf.js} +9 -12
- package/lib/dist-custom-elements/{p-ae9d10ef.js → p-2764b248.js} +9 -4
- package/lib/dist-custom-elements/{p-89f61853.js → p-3c3e91d0.js} +4 -4
- package/lib/dist-custom-elements/{p-8a544a4a.js → p-461756c5.js} +8 -6
- package/lib/dist-custom-elements/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/dist-custom-elements/{p-e9d838dd.js → p-51a58715.js} +7 -3
- package/lib/dist-custom-elements/{p-87ab6444.js → p-5f06c4ee.js} +8 -4
- package/lib/dist-custom-elements/{p-778299c4.js → p-5fd9c816.js} +10 -6
- package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
- package/lib/dist-custom-elements/{p-811e436b.js → p-6e063bb0.js} +8 -3
- package/lib/dist-custom-elements/{p-e4de8f7b.js → p-720c72c5.js} +18 -9
- package/lib/dist-custom-elements/{p-580110b9.js → p-7579d4ae.js} +507 -166
- package/lib/dist-custom-elements/{p-444a8a81.js → p-7da4aa07.js} +7 -2
- package/lib/dist-custom-elements/{p-235639a0.js → p-8160c830.js} +14 -10
- package/lib/dist-custom-elements/{p-e8146874.js → p-84946626.js} +35 -9
- package/lib/dist-custom-elements/{p-735d77aa.js → p-8800fa36.js} +8 -3
- package/lib/dist-custom-elements/{p-31d056ee.js → p-8afda636.js} +21 -16
- package/lib/dist-custom-elements/{p-9ec763ef.js → p-8f0848ab.js} +3 -3
- package/lib/dist-custom-elements/{p-e7815ffd.js → p-9468d6ea.js} +4 -4
- package/lib/dist-custom-elements/{p-891cf00a.js → p-96f45950.js} +2 -2
- package/lib/dist-custom-elements/{p-457ad3b4.js → p-a0669ee9.js} +9 -5
- package/lib/dist-custom-elements/{p-7ccf98f1.js → p-aa2863af.js} +8 -3
- package/lib/dist-custom-elements/{p-216ee242.js → p-bc972b0a.js} +8 -4
- package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
- package/lib/dist-custom-elements/{p-70bf0b69.js → p-cfca65c8.js} +17 -13
- package/lib/dist-custom-elements/{p-9510958d.js → p-d27dc964.js} +12 -9
- package/lib/dist-custom-elements/{p-6658c850.js → p-db1ac527.js} +12 -4
- package/lib/dist-custom-elements/{p-86766141.js → p-dbe427e1.js} +19 -14
- package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
- package/lib/dist-custom-elements/{p-147839fe.js → p-eb55b736.js} +16 -3
- package/lib/dist-custom-elements/{p-dddcc1da.js → p-eea6945b.js} +5 -5
- package/lib/dist-custom-elements/{p-6ff6de66.js → p-f06ebf0f.js} +19 -12
- package/lib/dist-custom-elements/{p-b4fb8e06.js → p-f2263866.js} +25 -6
- package/lib/dist-custom-elements/{p-3b2d38bd.js → p-f6ae66d9.js} +8 -4
- package/lib/dist-custom-elements/{p-32b3e436.js → p-fa9cb266.js} +12 -4
- package/lib/dist-custom-elements/{p-54138086.js → p-fc5aceac.js} +2 -2
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +2 -6
- package/lib/duet/p-015c6c0f.entry.js +4 -0
- package/lib/duet/p-040f8831.js +4 -0
- package/lib/duet/p-053b71e6.system.js +1 -1
- package/lib/duet/p-05432941.system.entry.js +4 -0
- package/lib/duet/p-07ae2d9c.system.js +5 -0
- package/lib/duet/p-07bf4b25.system.entry.js +4 -0
- package/lib/duet/{p-b760effb.entry.js → p-09694f22.entry.js} +1 -1
- package/lib/duet/p-0c4bbd65.system.js +1 -1
- package/lib/duet/p-168f9b1c.entry.js +4 -0
- package/lib/duet/p-1a91e22a.system.js +4 -0
- package/lib/duet/p-1b56e37f.system.entry.js +4 -0
- package/lib/duet/p-1fb54404.system.entry.js +4 -0
- package/lib/duet/p-2043a083.entry.js +4 -0
- package/lib/duet/{p-8a3fcbdb.system.entry.js → p-2118ce4b.system.entry.js} +1 -1
- package/lib/duet/p-21f3a17a.system.js +1 -1
- package/lib/duet/p-22a9a885.system.entry.js +4 -0
- package/lib/duet/p-22c45d9c.system.entry.js +4 -0
- package/lib/duet/p-232940fa.system.js +4 -0
- package/lib/duet/p-24853ebf.js +4 -0
- package/lib/duet/{p-c201968f.entry.js → p-2622c405.entry.js} +1 -1
- package/lib/duet/p-26415995.entry.js +4 -0
- package/lib/duet/p-26e1dca0.system.entry.js +4 -0
- package/lib/duet/p-28f8fa55.system.entry.js +4 -0
- package/lib/duet/p-299e8254.entry.js +4 -0
- package/lib/duet/p-2abe65e5.entry.js +4 -0
- package/lib/duet/p-31382b41.system.entry.js +4 -0
- package/lib/duet/p-31a0d4f6.system.entry.js +4 -0
- package/lib/duet/p-3469e15c.entry.js +4 -0
- package/lib/duet/{p-0c6705bb.system.entry.js → p-35762693.system.entry.js} +1 -1
- package/lib/duet/p-38eb6aa3.system.entry.js +4 -0
- package/lib/duet/p-3a0fde44.entry.js +4 -0
- package/lib/duet/{p-a678835a.entry.js → p-3e27b126.entry.js} +1 -1
- package/lib/duet/p-3f78ed00.entry.js +4 -0
- package/lib/duet/p-3f96e6be.system.entry.js +4 -0
- package/lib/duet/{p-e7cc2826.system.entry.js → p-3fbc446a.system.entry.js} +1 -1
- package/lib/duet/p-403df195.entry.js +4 -0
- package/lib/duet/p-406ec3c8.entry.js +4 -0
- package/lib/duet/p-442872df.system.entry.js +4 -0
- package/lib/duet/p-449c2232.system.entry.js +4 -0
- package/lib/duet/p-4655fafc.entry.js +4 -0
- package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
- package/lib/duet/p-4801f8f8.system.entry.js +4 -0
- package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/duet/p-4abb665b.system.entry.js +4 -0
- package/lib/duet/p-4ce91f2d.system.entry.js +4 -0
- package/lib/duet/p-4e958a51.system.entry.js +4 -0
- package/lib/duet/p-5167068e.system.entry.js +4 -0
- package/lib/duet/p-52e15824.entry.js +4 -0
- package/lib/duet/p-53da8993.entry.js +4 -0
- package/lib/duet/p-556983df.entry.js +4 -0
- package/lib/duet/p-56b259c4.system.entry.js +4 -0
- package/lib/duet/p-57b02e39.system.entry.js +4 -0
- package/lib/duet/p-5aa42e6e.system.entry.js +4 -0
- package/lib/duet/p-5b014c86.system.js +4 -0
- package/lib/duet/p-5c08947a.system.entry.js +4 -0
- package/lib/duet/p-5e25fed6.system.entry.js +4 -0
- package/lib/duet/p-6043a34d.entry.js +4 -0
- package/lib/duet/p-618fae79.system.entry.js +4 -0
- package/lib/duet/p-61989371.system.entry.js +4 -0
- package/lib/duet/p-6278bb45.system.entry.js +4 -0
- package/lib/duet/p-62e31f4f.entry.js +4 -0
- package/lib/duet/p-64599d16.entry.js +4 -0
- package/lib/duet/p-64c58523.system.entry.js +4 -0
- package/lib/duet/p-6665a293.entry.js +4 -0
- package/lib/duet/p-668716b8.system.js +4 -0
- package/lib/duet/p-678e5dee.entry.js +4 -0
- package/lib/duet/p-6878509c.system.entry.js +4 -0
- package/lib/duet/p-68c41c1e.system.entry.js +4 -0
- package/lib/duet/p-68e69fb0.entry.js +4 -0
- package/lib/duet/p-69180c8a.entry.js +4 -0
- package/lib/duet/p-69ed2463.entry.js +4 -0
- package/lib/duet/p-6a11cde0.system.entry.js +4 -0
- package/lib/duet/p-6ac42c0b.system.entry.js +4 -0
- package/lib/duet/p-6cd9e728.system.entry.js +4 -0
- package/lib/duet/p-6ff847d2.entry.js +4 -0
- package/lib/duet/p-70046a69.entry.js +4 -0
- package/lib/duet/p-7041ce72.system.entry.js +4 -0
- package/lib/duet/p-7047ac99.system.entry.js +4 -0
- package/lib/duet/p-719b38fe.system.js +4 -0
- package/lib/duet/p-73e91b76.entry.js +4 -0
- package/lib/duet/p-75daef16.system.js +4 -0
- package/lib/duet/p-7671b7b7.system.js +4 -0
- package/lib/duet/{p-16abb2d5.system.entry.js → p-76837ecf.system.entry.js} +1 -1
- package/lib/duet/{p-33b3aba4.system.js → p-77b6e4ba.system.js} +1 -1
- package/lib/duet/p-7862b921.entry.js +4 -0
- package/lib/duet/{p-e4e0578f.entry.js → p-79b111a8.entry.js} +1 -1
- package/lib/duet/p-79f248ef.entry.js +4 -0
- package/lib/duet/{p-4ab24dcd.entry.js → p-7b2e5d7f.entry.js} +1 -1
- package/lib/duet/p-7c29d36a.system.js +4 -0
- package/lib/duet/p-7cc4dfa7.entry.js +4 -0
- package/lib/duet/p-7d836058.entry.js +4 -0
- package/lib/duet/p-7ff3e582.entry.js +4 -0
- package/lib/duet/p-81107718.entry.js +4 -0
- package/lib/duet/p-846ff870.entry.js +4 -0
- package/lib/duet/p-8517c898.entry.js +4 -0
- package/lib/duet/p-867ac9cc.system.entry.js +4 -0
- package/lib/duet/p-8683ae46.system.entry.js +4 -0
- package/lib/duet/p-87dd7bf3.system.js +4 -0
- package/lib/duet/p-8972381a.system.js +4 -0
- package/lib/duet/p-89f3b845.entry.js +4 -0
- package/lib/duet/p-8b3ca5ab.system.entry.js +4 -0
- package/lib/duet/{p-7174ea1e.entry.js → p-8b5fcd98.entry.js} +1 -1
- package/lib/duet/p-8d0d6e06.system.js +4 -0
- package/lib/duet/p-8e1da663.system.js +4 -0
- package/lib/duet/p-8f477bd6.system.js +1 -1
- package/lib/duet/p-90c5eed1.entry.js +4 -0
- package/lib/duet/p-91aef612.entry.js +4 -0
- package/lib/duet/p-92978891.system.entry.js +4 -0
- package/lib/duet/p-930e7709.system.entry.js +4 -0
- package/lib/duet/p-9323e964.js +4 -0
- package/lib/duet/p-93877e30.system.entry.js +4 -0
- package/lib/duet/{p-e91a7222.entry.js → p-93c389a8.entry.js} +1 -1
- package/lib/duet/p-94f4e0bf.entry.js +4 -0
- package/lib/duet/{p-0acc8f88.system.entry.js → p-9c7d954f.system.entry.js} +1 -1
- package/lib/duet/p-9d033a04.system.js +1 -1
- package/lib/duet/p-9f04f069.entry.js +4 -0
- package/lib/duet/p-a1b259b5.entry.js +4 -0
- package/lib/duet/p-a31ec36c.entry.js +4 -0
- package/lib/duet/{p-6d711206.entry.js → p-a3a93783.entry.js} +1 -1
- package/lib/duet/{p-f5903e7d.entry.js → p-a42e4e99.entry.js} +1 -1
- package/lib/duet/{p-7fe6bf2c.system.entry.js → p-a5d3e6fb.system.entry.js} +1 -1
- package/lib/duet/p-a65edc8c.entry.js +4 -0
- package/lib/duet/p-a7c0ac21.system.entry.js +4 -0
- package/lib/duet/p-aa326c4e.entry.js +4 -0
- package/lib/duet/p-ab981ff7.entry.js +4 -0
- package/lib/duet/p-ac711c85.entry.js +4 -0
- package/lib/duet/p-acb44157.system.entry.js +4 -0
- package/lib/duet/p-ae8732d6.system.entry.js +4 -0
- package/lib/duet/p-aeccbda2.entry.js +4 -0
- package/lib/duet/p-b1db3006.js +1 -1
- package/lib/duet/p-b223f9f3.entry.js +4 -0
- package/lib/duet/p-b440e72b.system.entry.js +4 -0
- package/lib/duet/{p-e4734600.entry.js → p-b4d48cd1.entry.js} +1 -1
- package/lib/duet/p-b66ecbb2.entry.js +4 -0
- package/lib/duet/p-b8c3530f.system.entry.js +4 -0
- package/lib/duet/{p-429a181d.system.entry.js → p-b9122050.system.entry.js} +1 -1
- package/lib/duet/p-b932a1dc.system.entry.js +4 -0
- package/lib/duet/p-b99c00fa.system.js +4 -0
- package/lib/duet/p-bd988e8e.entry.js +4 -0
- package/lib/duet/p-c05d40ff.system.entry.js +4 -0
- package/lib/duet/p-c2884d84.system.entry.js +4 -0
- package/lib/duet/p-c30a5f7c.system.js +4 -0
- package/lib/duet/p-c4162949.system.entry.js +4 -0
- package/lib/duet/p-c67fb8ae.entry.js +4 -0
- package/lib/duet/{p-7dc87593.system.entry.js → p-c7719838.system.entry.js} +1 -1
- package/lib/duet/p-c7d985bf.system.entry.js +4 -0
- package/lib/duet/p-c94181d2.entry.js +4 -0
- package/lib/duet/p-c97109b5.system.js +4 -0
- package/lib/duet/{p-8db716f2.system.entry.js → p-cb01acfa.system.entry.js} +2 -2
- package/lib/duet/p-cbe9191a.entry.js +4 -0
- package/lib/duet/p-cbf7f63b.entry.js +4 -0
- package/lib/duet/p-cefb4bab.entry.js +4 -0
- package/lib/duet/{p-213ba11f.entry.js → p-d0dd55f5.entry.js} +1 -1
- package/lib/duet/p-d1edbad6.system.entry.js +4 -0
- package/lib/duet/p-d3384a8b.entry.js +4 -0
- package/lib/duet/p-d366b0ac.system.entry.js +4 -0
- package/lib/duet/p-d3e74991.system.entry.js +4 -0
- package/lib/duet/p-d5ac9c19.system.entry.js +4 -0
- package/lib/duet/p-d60fc476.entry.js +4 -0
- package/lib/duet/p-d97155db.system.entry.js +4 -0
- package/lib/duet/p-da858b14.entry.js +4 -0
- package/lib/duet/p-daea7760.entry.js +4 -0
- package/lib/duet/p-e0321b18.system.entry.js +4 -0
- package/lib/duet/{p-7804ff1e.entry.js → p-e1178f0e.entry.js} +1 -1
- package/lib/duet/p-e2d5f327.entry.js +4 -0
- package/lib/duet/p-e4a8487e.system.entry.js +4 -0
- package/lib/duet/p-e5fbc547.system.entry.js +4 -0
- package/lib/duet/p-e82882cb.system.entry.js +4 -0
- package/lib/duet/p-e8f76d19.system.entry.js +4 -0
- package/lib/duet/p-ea2375d5.entry.js +4 -0
- package/lib/duet/p-ebf8ad5c.system.entry.js +4 -0
- package/lib/duet/p-ec2b5cc2.system.entry.js +4 -0
- package/lib/duet/p-ecf1f6cd.system.js +4 -0
- package/lib/duet/p-ed5a5071.system.js +4 -0
- package/lib/duet/{p-1d463cc4.system.entry.js → p-f158a882.system.entry.js} +1 -1
- package/lib/duet/p-f6476f51.entry.js +4 -0
- package/lib/duet/p-f67da334.system.entry.js +4 -0
- package/lib/duet/p-f69e737e.system.entry.js +4 -0
- package/lib/duet/p-f89001e8.entry.js +4 -0
- package/lib/duet/{p-25495204.system.entry.js → p-faefd02d.system.entry.js} +2 -2
- package/lib/duet/p-fd0d794b.entry.js +4 -0
- package/lib/duet/p-fdcc3016.entry.js +4 -0
- package/lib/duet/p-ff9db811.js +5 -0
- package/lib/esm/duet-action-button.entry.js +12 -8
- package/lib/esm/duet-alert.entry.js +8 -5
- package/lib/esm/duet-badge.entry.js +7 -2
- package/lib/esm/duet-banner.entry.js +7 -3
- package/lib/esm/duet-breadcrumb.entry.js +8 -4
- package/lib/esm/duet-breadcrumbs.entry.js +4 -4
- package/lib/esm/duet-button_2.entry.js +10 -6
- package/lib/esm/duet-callout.entry.js +6 -2
- package/lib/esm/duet-caption_4.entry.js +40 -8
- package/lib/esm/duet-card.entry.js +10 -6
- package/lib/esm/duet-checkbox.entry.js +7 -3
- package/lib/esm/duet-checkmark.entry.js +2 -2
- package/lib/esm/duet-chip.entry.js +20 -16
- package/lib/esm/duet-choice_2.entry.js +17 -10
- package/lib/esm/duet-collapsible.entry.js +10 -6
- package/lib/esm/duet-combobox.entry.js +6 -6
- package/lib/esm/duet-contact-card.entry.js +8 -4
- package/lib/esm/duet-cookie-consent.entry.js +6 -2
- package/lib/esm/duet-date-picker.entry.js +10 -6
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +16 -9
- package/lib/esm/duet-empty-state.entry.js +7 -2
- package/lib/esm/duet-fieldset.entry.js +8 -4
- package/lib/esm/duet-footer.entry.js +9 -5
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +12 -8
- package/lib/esm/duet-hero.entry.js +10 -6
- package/lib/esm/duet-icon.entry.js +7 -3
- package/lib/esm/duet-input_2.entry.js +13 -7
- package/lib/esm/duet-layout.entry.js +2 -2
- package/lib/esm/duet-list_2.entry.js +3 -3
- package/lib/esm/duet-menu-bar-button.entry.js +6 -2
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +7 -3
- package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -3
- package/lib/esm/duet-menu-bar-link.entry.js +6 -2
- package/lib/esm/duet-menu-bar.entry.js +4 -2
- package/lib/esm/duet-modal.entry.js +11 -9
- package/lib/esm/duet-multiselect.entry.js +10 -6
- package/lib/esm/duet-nav.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +11 -4
- package/lib/esm/duet-number-input.entry.js +10 -6
- package/lib/esm/duet-page-heading.entry.js +6 -2
- package/lib/esm/duet-pagination_2.entry.js +11 -8
- package/lib/esm/duet-popup-menu-item.entry.js +6 -2
- package/lib/esm/duet-popup-menu.entry.js +5 -5
- package/lib/esm/duet-progress.entry.js +9 -5
- package/lib/esm/duet-promo-card.entry.js +7 -3
- package/lib/esm/duet-radio_2.entry.js +8 -4
- package/lib/esm/duet-range-slider.entry.js +8 -4
- package/lib/esm/duet-scrollable_3.entry.js +19 -12
- package/lib/esm/duet-section-layout.entry.js +2 -2
- package/lib/esm/duet-select.entry.js +8 -4
- package/lib/esm/duet-shaped-image.entry.js +2 -2
- package/lib/esm/duet-show-more.entry.js +10 -6
- package/lib/esm/duet-slideout-lang.entry.js +8 -4
- package/lib/esm/duet-slideout-link.entry.js +6 -2
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -2
- package/lib/esm/duet-slideout-panel.entry.js +10 -6
- package/lib/esm/duet-slideout.entry.js +10 -8
- package/lib/esm/duet-step_2.entry.js +11 -4
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +7 -3
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -3
- package/lib/esm/duet-submenu-bar-link.entry.js +7 -3
- package/lib/esm/duet-submenu-bar.entry.js +7 -3
- package/lib/esm/duet-textarea.entry.js +8 -4
- package/lib/esm/duet-toggle.entry.js +7 -3
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +7 -3
- package/lib/esm/duet-toolbar-dropdown.entry.js +7 -3
- package/lib/esm/duet-toolbar-link.entry.js +6 -2
- package/lib/esm/duet-toolbar.entry.js +2 -2
- package/lib/esm/duet-tooltip-button_2.entry.js +23 -3
- package/lib/esm/duet-tooltip.entry.js +10 -12
- package/lib/esm/duet-tray.entry.js +9 -5
- package/lib/esm/duet-upload-aria-status.entry.js +9 -1
- package/lib/esm/duet-upload-item.entry.js +10 -5
- package/lib/esm/duet-visually-hidden.entry.js +6 -1
- package/lib/esm/duet.js +5 -12
- package/lib/esm/{errorcodes.utils-47fc5d49.js → errorcodes.utils-424b1197.js} +2 -2
- package/lib/esm/{focus-utils-e26ba3b3.js → focus-utils-d927e096.js} +1 -1
- package/lib/esm/{index-c1a17a4c.js → index-bb518df4.js} +505 -183
- package/lib/esm/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
- package/lib/esm/loader.js +4 -13
- package/lib/esm/nudge-560904c3.js +16 -0
- package/lib/esm/{teleport-6b18ccae.js → teleport-15747328.js} +9 -12
- package/lib/esm-es5/app-globals-de2a5510.js +1 -1
- package/lib/esm-es5/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +1 -1
- package/lib/esm-es5/{create-id-981107da.js → create-id-2b0cd46d.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +2 -2
- package/lib/esm-es5/duet-alert.entry.js +2 -2
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-banner.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
- package/lib/esm-es5/duet-button_2.entry.js +2 -2
- package/lib/esm-es5/duet-callout.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +2 -2
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +2 -2
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-chip.entry.js +2 -2
- package/lib/esm-es5/duet-choice_2.entry.js +2 -2
- package/lib/esm-es5/duet-collapsible.entry.js +2 -2
- package/lib/esm-es5/duet-combobox.entry.js +2 -2
- package/lib/esm-es5/duet-contact-card.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +2 -2
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +2 -2
- package/lib/esm-es5/duet-grid_2.entry.js +2 -2
- package/lib/esm-es5/duet-header_2.entry.js +2 -2
- package/lib/esm-es5/duet-hero.entry.js +2 -2
- package/lib/esm-es5/duet-icon.entry.js +2 -2
- package/lib/esm-es5/duet-input_2.entry.js +2 -2
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +2 -2
- package/lib/esm-es5/duet-multiselect.entry.js +2 -2
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +2 -2
- package/lib/esm-es5/duet-number-input.entry.js +2 -2
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
- package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
- package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-promo-card.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +2 -2
- package/lib/esm-es5/duet-range-slider.entry.js +2 -2
- package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +2 -2
- package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
- package/lib/esm-es5/duet-show-more.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
- package/lib/esm-es5/duet-slideout.entry.js +2 -2
- package/lib/esm-es5/duet-step_2.entry.js +2 -2
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
- package/lib/esm-es5/duet-textarea.entry.js +2 -2
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
- package/lib/esm-es5/duet-tooltip.entry.js +2 -2
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-upload-item.entry.js +2 -2
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/errorcodes.utils-424b1197.js +4 -0
- package/lib/esm-es5/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +2 -2
- package/lib/esm-es5/focus-utils-d927e096.js +4 -0
- package/lib/esm-es5/index-bb518df4.js +5 -0
- package/lib/esm-es5/input-utils-a0225b92.js +4 -0
- package/lib/esm-es5/keyboard-utils-5746e126.js +4 -0
- package/lib/esm-es5/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/nudge-560904c3.js +4 -0
- package/lib/esm-es5/string-utils-59ad4cb2.js +4 -0
- package/lib/esm-es5/teleport-15747328.js +4 -0
- package/lib/esm-es5/token-utils-46c8fe31.js +4 -0
- package/lib/esm-es5/watch-options-f189118b.js +4 -0
- package/lib/loader/index.d.ts +2 -2
- package/lib/types/common-types.d.ts +1 -0
- package/lib/types/components/duet-action-button/duet-action-button.d.ts +1 -0
- package/lib/types/components/duet-alert/duet-alert.d.ts +2 -1
- package/lib/types/components/duet-badge/duet-badge.d.ts +2 -0
- package/lib/types/components/duet-banner/duet-banner.d.ts +1 -0
- package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -0
- package/lib/types/components/duet-button/duet-button.d.ts +2 -1
- package/lib/types/components/duet-callout/duet-callout.d.ts +1 -0
- package/lib/types/components/duet-caption/duet-caption.d.ts +2 -0
- package/lib/types/components/duet-card/duet-card.d.ts +1 -0
- package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -0
- package/lib/types/components/duet-chip/duet-chip.d.ts +6 -1
- package/lib/types/components/duet-choice/duet-choice.d.ts +2 -1
- package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
- package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
- package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +1 -0
- package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -0
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -0
- package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -0
- package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +2 -0
- package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -0
- package/lib/types/components/duet-footer/duet-footer.d.ts +2 -1
- package/lib/types/components/duet-header/duet-header.d.ts +3 -2
- package/lib/types/components/duet-heading/duet-heading.d.ts +1 -0
- package/lib/types/components/duet-hero/duet-hero.d.ts +1 -0
- package/lib/types/components/duet-icon/duet-icon.d.ts +1 -0
- package/lib/types/components/duet-label/duet-label.d.ts +2 -0
- package/lib/types/components/duet-link/duet-link.d.ts +22 -3
- package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -0
- package/lib/types/components/duet-modal/duet-modal.d.ts +1 -1
- package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +1 -0
- package/lib/types/components/duet-notification/duet-notification.d.ts +2 -1
- package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -0
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
- package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +1 -0
- package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -0
- package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +1 -0
- package/lib/types/components/duet-progress/duet-progress.d.ts +1 -0
- package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +1 -0
- package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -0
- package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +1 -0
- package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
- package/lib/types/components/duet-select/duet-select.d.ts +1 -0
- package/lib/types/components/duet-show-more/duet-show-more.d.ts +1 -0
- package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +1 -0
- package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +1 -0
- package/lib/types/components/duet-step/duet-step.d.ts +1 -0
- package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -0
- package/lib/types/components/duet-tab/duet-tab.d.ts +2 -0
- package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
- package/lib/types/components/duet-toggle/duet-toggle.d.ts +1 -0
- package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +3 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +0 -1
- package/lib/types/components/duet-tray/duet-tray.d.ts +1 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +2 -1
- package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +5 -0
- package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +2 -0
- package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +2 -0
- package/lib/types/components.d.ts +502 -22
- package/lib/types/stencil-public-runtime.d.ts +41 -5
- package/lib/types/utils/nudge.d.ts +7 -0
- package/lib/types/utils/teleport.d.ts +0 -2
- package/package.json +6 -6
- package/lib/duet/p-00abf5b6.entry.js +0 -4
- package/lib/duet/p-02b7e1ef.system.entry.js +0 -4
- package/lib/duet/p-02f1d7cc.system.js +0 -4
- package/lib/duet/p-0478d0eb.entry.js +0 -4
- package/lib/duet/p-04940a8a.system.entry.js +0 -4
- package/lib/duet/p-059c9d4e.entry.js +0 -4
- package/lib/duet/p-066f7fdf.entry.js +0 -4
- package/lib/duet/p-076228e9.system.entry.js +0 -4
- package/lib/duet/p-076aef18.entry.js +0 -4
- package/lib/duet/p-0b0a898d.entry.js +0 -4
- package/lib/duet/p-0c3d7e64.system.entry.js +0 -4
- package/lib/duet/p-0e697654.system.entry.js +0 -4
- package/lib/duet/p-0ffc3cf9.entry.js +0 -4
- package/lib/duet/p-108d9370.system.entry.js +0 -4
- package/lib/duet/p-11e79c8c.system.entry.js +0 -4
- package/lib/duet/p-14285f86.system.entry.js +0 -4
- package/lib/duet/p-14bd6514.entry.js +0 -4
- package/lib/duet/p-1719aa4e.entry.js +0 -4
- package/lib/duet/p-18f1d30e.js +0 -5
- package/lib/duet/p-1b398a07.entry.js +0 -4
- package/lib/duet/p-1c0ad101.system.entry.js +0 -4
- package/lib/duet/p-23ba9eba.entry.js +0 -4
- package/lib/duet/p-243a9ef5.system.entry.js +0 -4
- package/lib/duet/p-24e2be74.entry.js +0 -4
- package/lib/duet/p-29280d68.entry.js +0 -4
- package/lib/duet/p-2992af15.entry.js +0 -4
- package/lib/duet/p-29be2109.entry.js +0 -4
- package/lib/duet/p-29f1e1a4.system.entry.js +0 -4
- package/lib/duet/p-2bf922c1.system.js +0 -4
- package/lib/duet/p-2e9a772c.entry.js +0 -4
- package/lib/duet/p-2ea04945.entry.js +0 -4
- package/lib/duet/p-2eabea79.entry.js +0 -4
- package/lib/duet/p-31b566c1.entry.js +0 -4
- package/lib/duet/p-3346552d.entry.js +0 -4
- package/lib/duet/p-34928212.entry.js +0 -4
- package/lib/duet/p-34ea0849.system.js +0 -4
- package/lib/duet/p-3536fd40.system.entry.js +0 -4
- package/lib/duet/p-356745e0.system.entry.js +0 -4
- package/lib/duet/p-3709d186.entry.js +0 -4
- package/lib/duet/p-380c94f6.system.entry.js +0 -4
- package/lib/duet/p-388e6ec4.entry.js +0 -4
- package/lib/duet/p-3cb9e865.system.js +0 -4
- package/lib/duet/p-3ec86ced.entry.js +0 -4
- package/lib/duet/p-417357f9.system.entry.js +0 -4
- package/lib/duet/p-427dbb96.system.entry.js +0 -4
- package/lib/duet/p-43660fa9.system.js +0 -4
- package/lib/duet/p-43b0c3d2.system.entry.js +0 -4
- package/lib/duet/p-43b42819.entry.js +0 -4
- package/lib/duet/p-45bec102.entry.js +0 -4
- package/lib/duet/p-46b3ed07.entry.js +0 -4
- package/lib/duet/p-4a4faa7d.entry.js +0 -4
- package/lib/duet/p-4e886433.system.entry.js +0 -4
- package/lib/duet/p-51721695.system.js +0 -4
- package/lib/duet/p-521c96ec.entry.js +0 -4
- package/lib/duet/p-56952081.entry.js +0 -4
- package/lib/duet/p-5738c25c.system.entry.js +0 -4
- package/lib/duet/p-5c8e5f29.system.js +0 -4
- package/lib/duet/p-5f6bd5db.system.js +0 -4
- package/lib/duet/p-60a70493.entry.js +0 -4
- package/lib/duet/p-67862509.system.entry.js +0 -4
- package/lib/duet/p-67d9de79.system.entry.js +0 -4
- package/lib/duet/p-6aa821df.system.js +0 -4
- package/lib/duet/p-6c93f614.system.entry.js +0 -4
- package/lib/duet/p-6d74aac6.system.entry.js +0 -4
- package/lib/duet/p-6f677b2a.system.entry.js +0 -4
- package/lib/duet/p-6f6a58e4.system.entry.js +0 -4
- package/lib/duet/p-701b89a1.entry.js +0 -4
- package/lib/duet/p-70477e77.system.entry.js +0 -4
- package/lib/duet/p-7260f799.entry.js +0 -4
- package/lib/duet/p-7326a4c0.system.entry.js +0 -4
- package/lib/duet/p-7394e25f.js +0 -4
- package/lib/duet/p-74216caa.entry.js +0 -4
- package/lib/duet/p-79075bec.system.entry.js +0 -4
- package/lib/duet/p-7ac0621b.system.entry.js +0 -4
- package/lib/duet/p-7b7faa01.system.entry.js +0 -4
- package/lib/duet/p-7cf9e266.system.entry.js +0 -4
- package/lib/duet/p-81c35152.entry.js +0 -4
- package/lib/duet/p-822a791e.entry.js +0 -4
- package/lib/duet/p-8364fae3.entry.js +0 -4
- package/lib/duet/p-8433b6d1.system.entry.js +0 -4
- package/lib/duet/p-850eacf6.entry.js +0 -4
- package/lib/duet/p-87ca87df.entry.js +0 -4
- package/lib/duet/p-8810df88.js +0 -4
- package/lib/duet/p-8b5d616e.system.entry.js +0 -4
- package/lib/duet/p-8b641c9c.system.entry.js +0 -4
- package/lib/duet/p-8e5253bc.entry.js +0 -4
- package/lib/duet/p-97fc4a88.system.entry.js +0 -4
- package/lib/duet/p-98488fab.system.entry.js +0 -4
- package/lib/duet/p-9949a334.entry.js +0 -4
- package/lib/duet/p-9ce8627c.system.entry.js +0 -4
- package/lib/duet/p-9d505129.system.entry.js +0 -4
- package/lib/duet/p-9e3276c6.system.entry.js +0 -4
- package/lib/duet/p-9f9ada02.system.entry.js +0 -4
- package/lib/duet/p-a374de00.entry.js +0 -4
- package/lib/duet/p-a39844b6.entry.js +0 -4
- package/lib/duet/p-a659351d.system.js +0 -4
- package/lib/duet/p-a7c2017b.system.js +0 -5
- package/lib/duet/p-a87a2760.system.entry.js +0 -4
- package/lib/duet/p-a8e6dcb9.entry.js +0 -4
- package/lib/duet/p-ac962b74.system.entry.js +0 -4
- package/lib/duet/p-afee3739.system.entry.js +0 -4
- package/lib/duet/p-b0475c8a.entry.js +0 -4
- package/lib/duet/p-b07fe45f.system.entry.js +0 -4
- package/lib/duet/p-b465c929.entry.js +0 -4
- package/lib/duet/p-b6d51921.system.js +0 -4
- package/lib/duet/p-b71c141b.system.entry.js +0 -4
- package/lib/duet/p-b7605eb1.entry.js +0 -4
- package/lib/duet/p-b760c72b.system.js +0 -4
- package/lib/duet/p-b7e61bdc.system.entry.js +0 -4
- package/lib/duet/p-b8b12400.system.entry.js +0 -4
- package/lib/duet/p-b9eb37ae.system.entry.js +0 -4
- package/lib/duet/p-bd594a8b.entry.js +0 -4
- package/lib/duet/p-bde9a702.system.entry.js +0 -4
- package/lib/duet/p-c1573ac3.system.entry.js +0 -4
- package/lib/duet/p-c1fb544b.system.entry.js +0 -4
- package/lib/duet/p-c2731be1.system.entry.js +0 -4
- package/lib/duet/p-c2b0861c.system.entry.js +0 -4
- package/lib/duet/p-c3a883e3.entry.js +0 -4
- package/lib/duet/p-c466bad9.system.js +0 -4
- package/lib/duet/p-c4fac0b5.system.entry.js +0 -4
- package/lib/duet/p-cb451f23.entry.js +0 -4
- package/lib/duet/p-cba1009b.entry.js +0 -4
- package/lib/duet/p-cd05fea5.system.entry.js +0 -4
- package/lib/duet/p-cf824b6b.system.entry.js +0 -4
- package/lib/duet/p-d183a3e7.system.entry.js +0 -4
- package/lib/duet/p-d1f815a3.system.entry.js +0 -4
- package/lib/duet/p-d4d63fbd.system.entry.js +0 -4
- package/lib/duet/p-d68c84ab.entry.js +0 -4
- package/lib/duet/p-d6d5ef13.entry.js +0 -4
- package/lib/duet/p-d7c5ac53.entry.js +0 -4
- package/lib/duet/p-d863e150.system.js +0 -4
- package/lib/duet/p-db6887df.entry.js +0 -4
- package/lib/duet/p-db95e133.entry.js +0 -4
- package/lib/duet/p-dfc66b98.entry.js +0 -4
- package/lib/duet/p-e27a7520.system.entry.js +0 -4
- package/lib/duet/p-e356ca29.entry.js +0 -4
- package/lib/duet/p-e3f8becc.entry.js +0 -4
- package/lib/duet/p-e50d1003.system.entry.js +0 -4
- package/lib/duet/p-e566ff11.system.js +0 -4
- package/lib/duet/p-e9b8cee0.system.entry.js +0 -4
- package/lib/duet/p-ea1287ce.system.entry.js +0 -4
- package/lib/duet/p-eb55ccd2.system.js +0 -4
- package/lib/duet/p-f0317574.entry.js +0 -4
- package/lib/duet/p-f27b134c.system.entry.js +0 -4
- package/lib/duet/p-f74b6629.entry.js +0 -4
- package/lib/duet/p-faf2b9d1.entry.js +0 -4
- package/lib/duet/p-fbdb1eec.entry.js +0 -4
- package/lib/duet/p-fc0f56ae.system.entry.js +0 -4
- package/lib/duet/p-fee0f558.entry.js +0 -4
- package/lib/esm/polyfills/css-shim.js +0 -1
- package/lib/esm-es5/errorcodes.utils-47fc5d49.js +0 -4
- package/lib/esm-es5/focus-utils-e26ba3b3.js +0 -4
- package/lib/esm-es5/index-c1a17a4c.js +0 -5
- package/lib/esm-es5/input-utils-de45e099.js +0 -4
- package/lib/esm-es5/keyboard-utils-d237bd5a.js +0 -4
- package/lib/esm-es5/string-utils-5954f458.js +0 -4
- package/lib/esm-es5/teleport-6b18ccae.js +0 -4
- package/lib/esm-es5/token-utils-2d3af0db.js +0 -4
- package/lib/esm-es5/watch-options-dd55bce8.js +0 -4
- /package/lib/cjs/{bodyScrollLock.es6-6ef1142a.js → bodyScrollLock.es6-83f334d1.js} +0 -0
- /package/lib/cjs/{common-strings-de17f887.js → common-strings-17770d7a.js} +0 -0
- /package/lib/cjs/{create-id-c3b984b1.js → create-id-167cd350.js} +0 -0
- /package/lib/cjs/{floating-ui.dom.esm-d537b048.js → floating-ui.dom.esm-a7d59d53.js} +0 -0
- /package/lib/cjs/{input-utils-b5e8f524.js → input-utils-b4615782.js} +0 -0
- /package/lib/cjs/{is-internet-explorer-91361c56.js → is-internet-explorer-76c3b538.js} +0 -0
- /package/lib/cjs/{js-utils-134e0318.js → js-utils-b20cfc79.js} +0 -0
- /package/lib/cjs/{keyboard-utils-bb32119b.js → keyboard-utils-02441bc5.js} +0 -0
- /package/lib/cjs/{slot-query-1624497e.js → slot-query-b7555763.js} +0 -0
- /package/lib/cjs/{string-utils-5cadd058.js → string-utils-51a2f59f.js} +0 -0
- /package/lib/cjs/{themeable-component-fdeaef9f.js → themeable-component-0be6d1f4.js} +0 -0
- /package/lib/cjs/{token-utils-71db4785.js → token-utils-dbfeff2e.js} +0 -0
- /package/lib/cjs/{watch-options-d88afac0.js → watch-options-1773d69f.js} +0 -0
- /package/lib/dist-custom-elements/{p-8adb9463.js → p-00c8a755.js} +0 -0
- /package/lib/dist-custom-elements/{p-bd779757.js → p-141e14d0.js} +0 -0
- /package/lib/dist-custom-elements/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
- /package/lib/dist-custom-elements/{p-704245ef.js → p-268171f7.js} +0 -0
- /package/lib/dist-custom-elements/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
- /package/lib/dist-custom-elements/{p-c1325e35.js → p-45f71a69.js} +0 -0
- /package/lib/dist-custom-elements/{p-d8549efe.js → p-56ac3289.js} +0 -0
- /package/lib/dist-custom-elements/{p-56118313.js → p-77f2dbee.js} +0 -0
- /package/lib/dist-custom-elements/{p-12721178.js → p-a1371eee.js} +0 -0
- /package/lib/dist-custom-elements/{p-4ebf1618.js → p-d48735b6.js} +0 -0
- /package/lib/dist-custom-elements/{p-76f00bd5.js → p-dade978b.js} +0 -0
- /package/lib/dist-custom-elements/{p-9d915d45.js → p-f8c76b25.js} +0 -0
- /package/lib/duet/{p-8adb9463.js → p-00c8a755.js} +0 -0
- /package/lib/duet/{p-2bb34e3d.js → p-0b31864f.js} +0 -0
- /package/lib/duet/{p-bd779757.js → p-141e14d0.js} +0 -0
- /package/lib/duet/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
- /package/lib/duet/{p-704245ef.js → p-268171f7.js} +0 -0
- /package/lib/duet/{p-c7ae95bd.system.js → p-36b36a8e.system.js} +0 -0
- /package/lib/duet/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
- /package/lib/duet/{p-c1325e35.js → p-45f71a69.js} +0 -0
- /package/lib/duet/{p-56118313.js → p-77f2dbee.js} +0 -0
- /package/lib/duet/{p-12721178.js → p-a1371eee.js} +0 -0
- /package/lib/duet/{p-f077c646.js → p-cc1909de.js} +0 -0
- /package/lib/duet/{p-4ebf1618.js → p-d48735b6.js} +0 -0
- /package/lib/duet/{p-76f00bd5.js → p-dade978b.js} +0 -0
- /package/lib/duet/{p-9d915d45.js → p-f8c76b25.js} +0 -0
- /package/lib/esm/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +0 -0
- /package/lib/esm/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
- /package/lib/esm/{create-id-981107da.js → create-id-2b0cd46d.js} +0 -0
- /package/lib/esm/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +0 -0
- /package/lib/esm/{input-utils-de45e099.js → input-utils-a0225b92.js} +0 -0
- /package/lib/esm/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
- /package/lib/esm/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
- /package/lib/esm/{keyboard-utils-d237bd5a.js → keyboard-utils-5746e126.js} +0 -0
- /package/lib/esm/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
- /package/lib/esm/{string-utils-5954f458.js → string-utils-59ad4cb2.js} +0 -0
- /package/lib/esm/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
- /package/lib/esm/{token-utils-2d3af0db.js → token-utils-46c8fe31.js} +0 -0
- /package/lib/esm/{watch-options-dd55bce8.js → watch-options-f189118b.js} +0 -0
- /package/lib/esm-es5/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
- /package/lib/esm-es5/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
- /package/lib/esm-es5/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
- /package/lib/esm-es5/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
- /package/lib/esm-es5/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
|
@@ -8,6 +8,7 @@ import { createID } from "../../utils/create-id";
|
|
|
8
8
|
import { focusElement, FocusGuard } from "../../utils/focus-utils";
|
|
9
9
|
import { isEscapeKey } from "../../utils/keyboard-utils";
|
|
10
10
|
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
11
|
+
import { nudge } from "../../utils/nudge";
|
|
11
12
|
import { Teleport } from "../../utils/teleport";
|
|
12
13
|
// The transition below is slightly higher than the actual CSS transition as VoiceOver on
|
|
13
14
|
// iOS has otherwise problems moving the focus from modal back to the original element.
|
|
@@ -115,6 +116,7 @@ export class DuetModal {
|
|
|
115
116
|
this.open = true;
|
|
116
117
|
this.modalEl.classList.add("duet-disable-transitions");
|
|
117
118
|
}
|
|
119
|
+
nudge(this);
|
|
118
120
|
}
|
|
119
121
|
connectedCallback() {
|
|
120
122
|
connectLanguageChangeObserver(this, { prop: "accessibleCloseLabel", defaults: "accessibleCloseLabelDefaults" });
|
|
@@ -221,7 +223,8 @@ export class DuetModal {
|
|
|
221
223
|
"references": {
|
|
222
224
|
"DuetLanguage": {
|
|
223
225
|
"location": "import",
|
|
224
|
-
"path": "../../common-types"
|
|
226
|
+
"path": "../../common-types",
|
|
227
|
+
"id": "src/common-types.d.ts::DuetLanguage"
|
|
225
228
|
}
|
|
226
229
|
}
|
|
227
230
|
},
|
|
@@ -250,7 +253,8 @@ export class DuetModal {
|
|
|
250
253
|
"references": {
|
|
251
254
|
"DuetLangObject": {
|
|
252
255
|
"location": "import",
|
|
253
|
-
"path": "../../utils/language-utils"
|
|
256
|
+
"path": "../../utils/language-utils",
|
|
257
|
+
"id": "src/utils/language-utils.ts::DuetLangObject"
|
|
254
258
|
}
|
|
255
259
|
}
|
|
256
260
|
},
|
|
@@ -297,7 +301,8 @@ export class DuetModal {
|
|
|
297
301
|
"references": {
|
|
298
302
|
"DuetModalSize": {
|
|
299
303
|
"location": "local",
|
|
300
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx"
|
|
304
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
|
|
305
|
+
"id": "src/components/duet-modal/duet-modal.tsx::DuetModalSize"
|
|
301
306
|
}
|
|
302
307
|
}
|
|
303
308
|
},
|
|
@@ -407,7 +412,8 @@ export class DuetModal {
|
|
|
407
412
|
"references": {
|
|
408
413
|
"DuetModalSize": {
|
|
409
414
|
"location": "local",
|
|
410
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx"
|
|
415
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
|
|
416
|
+
"id": "src/components/duet-modal/duet-modal.tsx::DuetModalSize"
|
|
411
417
|
}
|
|
412
418
|
}
|
|
413
419
|
},
|
|
@@ -430,7 +436,8 @@ export class DuetModal {
|
|
|
430
436
|
"references": {
|
|
431
437
|
"DuetTheme": {
|
|
432
438
|
"location": "import",
|
|
433
|
-
"path": "../../common-types"
|
|
439
|
+
"path": "../../common-types",
|
|
440
|
+
"id": "src/common-types.d.ts::DuetTheme"
|
|
434
441
|
}
|
|
435
442
|
}
|
|
436
443
|
},
|
|
@@ -471,7 +478,8 @@ export class DuetModal {
|
|
|
471
478
|
"references": {
|
|
472
479
|
"DuetHeadingLevel": {
|
|
473
480
|
"location": "import",
|
|
474
|
-
"path": "../../common-types"
|
|
481
|
+
"path": "../../common-types",
|
|
482
|
+
"id": "src/common-types.d.ts::DuetHeadingLevel"
|
|
475
483
|
}
|
|
476
484
|
}
|
|
477
485
|
},
|
|
@@ -494,7 +502,8 @@ export class DuetModal {
|
|
|
494
502
|
"references": {
|
|
495
503
|
"DuetVisualHeadingLevel": {
|
|
496
504
|
"location": "import",
|
|
497
|
-
"path": "../../common-types"
|
|
505
|
+
"path": "../../common-types",
|
|
506
|
+
"id": "src/common-types.d.ts::DuetVisualHeadingLevel"
|
|
498
507
|
}
|
|
499
508
|
}
|
|
500
509
|
},
|
|
@@ -516,7 +525,8 @@ export class DuetModal {
|
|
|
516
525
|
"references": {
|
|
517
526
|
"DuetIconName": {
|
|
518
527
|
"location": "import",
|
|
519
|
-
"path": "../../common-types"
|
|
528
|
+
"path": "../../common-types",
|
|
529
|
+
"id": "src/common-types.d.ts::DuetIconName"
|
|
520
530
|
}
|
|
521
531
|
}
|
|
522
532
|
},
|
|
@@ -539,7 +549,8 @@ export class DuetModal {
|
|
|
539
549
|
"references": {
|
|
540
550
|
"DuetColor": {
|
|
541
551
|
"location": "import",
|
|
542
|
-
"path": "../../common-types"
|
|
552
|
+
"path": "../../common-types",
|
|
553
|
+
"id": "src/common-types.d.ts::DuetColor"
|
|
543
554
|
}
|
|
544
555
|
}
|
|
545
556
|
},
|
|
@@ -643,7 +654,8 @@ export class DuetModal {
|
|
|
643
654
|
"references": {
|
|
644
655
|
"DuetModalCloseEvent": {
|
|
645
656
|
"location": "local",
|
|
646
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx"
|
|
657
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-modal/duet-modal.tsx",
|
|
658
|
+
"id": "src/components/duet-modal/duet-modal.tsx::DuetModalCloseEvent"
|
|
647
659
|
}
|
|
648
660
|
}
|
|
649
661
|
}
|
|
@@ -657,7 +669,8 @@ export class DuetModal {
|
|
|
657
669
|
"parameters": [],
|
|
658
670
|
"references": {
|
|
659
671
|
"Promise": {
|
|
660
|
-
"location": "global"
|
|
672
|
+
"location": "global",
|
|
673
|
+
"id": "global::Promise"
|
|
661
674
|
}
|
|
662
675
|
},
|
|
663
676
|
"return": "Promise<void>"
|
|
@@ -673,7 +686,8 @@ export class DuetModal {
|
|
|
673
686
|
"parameters": [],
|
|
674
687
|
"references": {
|
|
675
688
|
"Promise": {
|
|
676
|
-
"location": "global"
|
|
689
|
+
"location": "global",
|
|
690
|
+
"id": "global::Promise"
|
|
677
691
|
}
|
|
678
692
|
},
|
|
679
693
|
"return": "Promise<void>"
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { createPage } from "../../utils/test-utils";
|
|
5
|
+
describe("duet-multiselect", () => {
|
|
6
|
+
it("should render a multiselect", async () => {
|
|
7
|
+
const page = await createPage(`<duet-multiselect></duet-multiselect>`);
|
|
8
|
+
const component = await page.find("duet-multiselect");
|
|
9
|
+
expect(component).not.toBeNull();
|
|
10
|
+
});
|
|
11
|
+
it("should provide a property that renders label", async () => {
|
|
12
|
+
const page = await createPage(`<duet-multiselect label="test"></duet-multiselect>`);
|
|
13
|
+
const element = await page.find("duet-multiselect >>> label");
|
|
14
|
+
expect(element.innerText).toEqual("test");
|
|
15
|
+
});
|
|
16
|
+
it("should provide a property that removes the margin of the component", async () => {
|
|
17
|
+
const page = await createPage(`<duet-multiselect margin="none"></duet-multiselect>`);
|
|
18
|
+
const element = await page.find(".duet-m-0");
|
|
19
|
+
expect(element).not.toBeNull();
|
|
20
|
+
});
|
|
21
|
+
it("should provide a property that switches the theme", async () => {
|
|
22
|
+
const page = await createPage(`<duet-multiselect theme="turva"></duet-multiselect>`);
|
|
23
|
+
const element = await page.find("duet-multiselect >>> .duet-multiselect-container");
|
|
24
|
+
expect(element).toHaveClass("duet-theme-turva");
|
|
25
|
+
});
|
|
26
|
+
it("should provide a property that makes the disabled", async () => {
|
|
27
|
+
const page = await createPage(`<duet-multiselect disabled></duet-multiselect>`);
|
|
28
|
+
const element = await page.find("duet-multiselect >>> .duet-multiselect");
|
|
29
|
+
expect(element.getAttribute("disabled")).not.toBeNull();
|
|
30
|
+
});
|
|
31
|
+
it("should provide a property that adds an ID", async () => {
|
|
32
|
+
const page = await createPage(`<duet-multiselect identifier="test"></duet-multiselect>`);
|
|
33
|
+
const element = await page.find("duet-multiselect >>> .duet-multiselect");
|
|
34
|
+
expect(element.getAttribute("id")).toEqual("test");
|
|
35
|
+
});
|
|
36
|
+
it("should provide a property that renders select all and and clear all buttons", async () => {
|
|
37
|
+
const page = await createPage(`<duet-multiselect all-controls items='[{"label": "11100", "value": "11100"}, {"label": "22200", "value": "22200"}]'></duet-multiselect>`);
|
|
38
|
+
const selectAll = await page.find("duet-multiselect >>> button.duet-multiselect-select-all");
|
|
39
|
+
const clearAll = await page.find("duet-multiselect >>> button.duet-multiselect-clear-all");
|
|
40
|
+
expect(selectAll).not.toBeNull();
|
|
41
|
+
expect(clearAll).not.toBeNull();
|
|
42
|
+
});
|
|
43
|
+
it("should not render select all and and clear all buttons if there are no items", async () => {
|
|
44
|
+
const page = await createPage(`<duet-multiselect all-controls></duet-multiselect>`);
|
|
45
|
+
const selectAll = await page.find("duet-multiselect >>> button.duet-multiselect-select-all");
|
|
46
|
+
const clearAll = await page.find("duet-multiselect >>> button.duet-multiselect-clear-all");
|
|
47
|
+
expect(selectAll).toBeNull();
|
|
48
|
+
expect(clearAll).toBeNull();
|
|
49
|
+
});
|
|
50
|
+
it("should select and clear all when clicking the corresponding buttons", async () => {
|
|
51
|
+
const page = await createPage(`<duet-multiselect all-controls items='[{"label": "11100", "value": "11100"}, {"label": "22200", "value": "22200"}]'></duet-multiselect>`);
|
|
52
|
+
const multiselect = await page.find("duet-multiselect");
|
|
53
|
+
const multiselectTrigger = await page.find("duet-multiselect >>> .duet-multiselect");
|
|
54
|
+
const selectAll = await page.find("duet-multiselect >>> button.duet-multiselect-select-all");
|
|
55
|
+
const clearAll = await page.find("duet-multiselect >>> button.duet-multiselect-clear-all");
|
|
56
|
+
await multiselectTrigger.click();
|
|
57
|
+
expect(await multiselect.getProperty("value")).toHaveLength(0);
|
|
58
|
+
await selectAll.click();
|
|
59
|
+
expect(await multiselect.getProperty("value")).toHaveLength(2);
|
|
60
|
+
await clearAll.click();
|
|
61
|
+
expect(await multiselect.getProperty("value")).toHaveLength(0);
|
|
62
|
+
});
|
|
63
|
+
it("should only raise an event on user interaction, not when changing checked property programmatically", async () => {
|
|
64
|
+
const page = await createPage(`<duet-multiselect label="Checked" items='[{"label": "11100", "value": "11100"}, {"label": "22200", "value": "22200"}]'></duet-multiselect>`);
|
|
65
|
+
const multiselect = await page.find("duet-multiselect >>> .duet-multiselect");
|
|
66
|
+
await multiselect.click();
|
|
67
|
+
const checkbox = await page.find("duet-multiselect >>> duet-checkbox");
|
|
68
|
+
const changeEventSpy = await checkbox.spyOnEvent("duetChange");
|
|
69
|
+
checkbox.setProperty("checked", true);
|
|
70
|
+
await page.waitForChanges();
|
|
71
|
+
expect(changeEventSpy).not.toHaveReceivedEvent();
|
|
72
|
+
await checkbox.click();
|
|
73
|
+
expect(changeEventSpy).toHaveReceivedEvent();
|
|
74
|
+
});
|
|
75
|
+
it("should raise an event on focus", async () => {
|
|
76
|
+
const page = await createPage(`<duet-multiselect label="Checked" value="test"></duet-multiselect>`);
|
|
77
|
+
const multiselect = await page.find("duet-multiselect");
|
|
78
|
+
const focusEventSpy = await multiselect.spyOnEvent("duetFocus");
|
|
79
|
+
await page.keyboard.press("Tab");
|
|
80
|
+
await page.waitForChanges();
|
|
81
|
+
expect(focusEventSpy).toHaveReceivedEvent();
|
|
82
|
+
});
|
|
83
|
+
it("should raise an event on blur", async () => {
|
|
84
|
+
const page = await createPage(`
|
|
85
|
+
<duet-multiselect label="Checked" value="test"></duet-multiselect>
|
|
86
|
+
<button>another focusable element</button>
|
|
87
|
+
`);
|
|
88
|
+
const multiselect = await page.find("duet-multiselect");
|
|
89
|
+
const blurEventSpy = await multiselect.spyOnEvent("duetFocus");
|
|
90
|
+
// focus then blur the checkbox
|
|
91
|
+
await page.keyboard.press("Tab");
|
|
92
|
+
await page.keyboard.press("Tab");
|
|
93
|
+
await page.waitForChanges();
|
|
94
|
+
expect(blurEventSpy).toHaveReceivedEvent();
|
|
95
|
+
});
|
|
96
|
+
});
|
|
@@ -6,6 +6,7 @@ import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
|
6
6
|
import { createID } from "../../utils/create-id";
|
|
7
7
|
import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isEnterKey, isEscapeKey, isTabKey, } from "../../utils/keyboard-utils";
|
|
8
8
|
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, } from "../../utils/language-utils";
|
|
9
|
+
import { nudge } from "../../utils/nudge";
|
|
9
10
|
import { parsePossibleJSON } from "../../utils/string-utils";
|
|
10
11
|
function toggleInArray(arr, item) {
|
|
11
12
|
return arr.includes(item) ? arr.filter(i => i !== item) : [...arr, item];
|
|
@@ -161,6 +162,9 @@ export class DuetMultiselect {
|
|
|
161
162
|
this.isCaptionVisible = !!this.caption;
|
|
162
163
|
this.refresh();
|
|
163
164
|
}
|
|
165
|
+
componentDidLoad() {
|
|
166
|
+
nudge(this);
|
|
167
|
+
}
|
|
164
168
|
connectedCallback() {
|
|
165
169
|
connectLanguageChangeObserver(this);
|
|
166
170
|
}
|
|
@@ -228,7 +232,8 @@ export class DuetMultiselect {
|
|
|
228
232
|
"references": {
|
|
229
233
|
"DuetMargin": {
|
|
230
234
|
"location": "import",
|
|
231
|
-
"path": "../../common-types"
|
|
235
|
+
"path": "../../common-types",
|
|
236
|
+
"id": "src/common-types.d.ts::DuetMargin"
|
|
232
237
|
}
|
|
233
238
|
}
|
|
234
239
|
},
|
|
@@ -305,7 +310,8 @@ export class DuetMultiselect {
|
|
|
305
310
|
"references": {
|
|
306
311
|
"DuetMultiselectItem": {
|
|
307
312
|
"location": "local",
|
|
308
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx"
|
|
313
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
|
|
314
|
+
"id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectItem"
|
|
309
315
|
}
|
|
310
316
|
}
|
|
311
317
|
},
|
|
@@ -326,7 +332,8 @@ export class DuetMultiselect {
|
|
|
326
332
|
"references": {
|
|
327
333
|
"DuetTheme": {
|
|
328
334
|
"location": "import",
|
|
329
|
-
"path": "../../common-types"
|
|
335
|
+
"path": "../../common-types",
|
|
336
|
+
"id": "src/common-types.d.ts::DuetTheme"
|
|
330
337
|
}
|
|
331
338
|
}
|
|
332
339
|
},
|
|
@@ -438,7 +445,8 @@ export class DuetMultiselect {
|
|
|
438
445
|
"references": {
|
|
439
446
|
"DuetMultiselectItem": {
|
|
440
447
|
"location": "local",
|
|
441
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx"
|
|
448
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
|
|
449
|
+
"id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectItem"
|
|
442
450
|
}
|
|
443
451
|
}
|
|
444
452
|
},
|
|
@@ -531,7 +539,8 @@ export class DuetMultiselect {
|
|
|
531
539
|
"references": {
|
|
532
540
|
"DuetTooltipDirection": {
|
|
533
541
|
"location": "import",
|
|
534
|
-
"path": "../../common-types"
|
|
542
|
+
"path": "../../common-types",
|
|
543
|
+
"id": "src/common-types.d.ts::DuetTooltipDirection"
|
|
535
544
|
}
|
|
536
545
|
}
|
|
537
546
|
},
|
|
@@ -572,7 +581,8 @@ export class DuetMultiselect {
|
|
|
572
581
|
"references": {
|
|
573
582
|
"DuetMultiselectEvent": {
|
|
574
583
|
"location": "local",
|
|
575
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx"
|
|
584
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
|
|
585
|
+
"id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
|
|
576
586
|
}
|
|
577
587
|
}
|
|
578
588
|
}
|
|
@@ -592,7 +602,8 @@ export class DuetMultiselect {
|
|
|
592
602
|
"references": {
|
|
593
603
|
"DuetMultiselectEvent": {
|
|
594
604
|
"location": "local",
|
|
595
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx"
|
|
605
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
|
|
606
|
+
"id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
|
|
596
607
|
}
|
|
597
608
|
}
|
|
598
609
|
}
|
|
@@ -612,7 +623,8 @@ export class DuetMultiselect {
|
|
|
612
623
|
"references": {
|
|
613
624
|
"DuetMultiselectEvent": {
|
|
614
625
|
"location": "local",
|
|
615
|
-
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx"
|
|
626
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-multiselect/duet-multiselect.tsx",
|
|
627
|
+
"id": "src/components/duet-multiselect/duet-multiselect.tsx::DuetMultiselectEvent"
|
|
616
628
|
}
|
|
617
629
|
}
|
|
618
630
|
}
|
|
@@ -629,10 +641,12 @@ export class DuetMultiselect {
|
|
|
629
641
|
}],
|
|
630
642
|
"references": {
|
|
631
643
|
"Promise": {
|
|
632
|
-
"location": "global"
|
|
644
|
+
"location": "global",
|
|
645
|
+
"id": "global::Promise"
|
|
633
646
|
},
|
|
634
647
|
"FocusOptions": {
|
|
635
|
-
"location": "global"
|
|
648
|
+
"location": "global",
|
|
649
|
+
"id": "global::FocusOptions"
|
|
636
650
|
}
|
|
637
651
|
},
|
|
638
652
|
"return": "Promise<void>"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { createPage } from "../../utils/test-utils";
|
|
5
|
+
describe("duet-notification", () => {
|
|
6
|
+
it("should render a notification", async () => {
|
|
7
|
+
const page = await createPage(`<duet-notification></duet-notification>`);
|
|
8
|
+
const component = await page.find("duet-notification");
|
|
9
|
+
expect(component).not.toBeNull();
|
|
10
|
+
expect(component).toHaveClass("hydrated");
|
|
11
|
+
});
|
|
12
|
+
});
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
6
6
|
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
7
|
+
import { nudge } from "../../utils/nudge";
|
|
7
8
|
export class DuetNotification {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.language = getLanguage();
|
|
@@ -25,6 +26,9 @@ export class DuetNotification {
|
|
|
25
26
|
componentWillLoad() {
|
|
26
27
|
inheritGlobalTheme(this);
|
|
27
28
|
}
|
|
29
|
+
componentDidLoad() {
|
|
30
|
+
nudge(this);
|
|
31
|
+
}
|
|
28
32
|
connectedCallback() {
|
|
29
33
|
connectLanguageChangeObserver(this, { prop: "accessibleLabelUnread", defaults: "accessibleLabelUnreadDefaults" });
|
|
30
34
|
}
|
|
@@ -69,7 +73,8 @@ export class DuetNotification {
|
|
|
69
73
|
"references": {
|
|
70
74
|
"DuetLanguage": {
|
|
71
75
|
"location": "import",
|
|
72
|
-
"path": "../../common-types"
|
|
76
|
+
"path": "../../common-types",
|
|
77
|
+
"id": "src/common-types.d.ts::DuetLanguage"
|
|
73
78
|
}
|
|
74
79
|
}
|
|
75
80
|
},
|
|
@@ -98,7 +103,8 @@ export class DuetNotification {
|
|
|
98
103
|
"references": {
|
|
99
104
|
"DuetLangObject": {
|
|
100
105
|
"location": "import",
|
|
101
|
-
"path": "../../utils/language-utils"
|
|
106
|
+
"path": "../../utils/language-utils",
|
|
107
|
+
"id": "src/utils/language-utils.ts::DuetLangObject"
|
|
102
108
|
}
|
|
103
109
|
}
|
|
104
110
|
},
|
|
@@ -106,7 +112,7 @@ export class DuetNotification {
|
|
|
106
112
|
"optional": false,
|
|
107
113
|
"docs": {
|
|
108
114
|
"tags": [],
|
|
109
|
-
"text": "Property to change accessibleLabelUnread defaults on the component.\nnormally you would handle these strings on an application level and override
|
|
115
|
+
"text": "Property to change accessibleLabelUnread defaults on the component.\nnormally you would handle these strings on an application level and override accessibleLabelUnread when needed"
|
|
110
116
|
},
|
|
111
117
|
"defaultValue": "{\n en: \"Unread\",\n fi: \"Lukematon\",\n sv: \"Ol\u00E4st\",\n }"
|
|
112
118
|
},
|
|
@@ -212,7 +218,8 @@ export class DuetNotification {
|
|
|
212
218
|
"references": {
|
|
213
219
|
"DuetTheme": {
|
|
214
220
|
"location": "import",
|
|
215
|
-
"path": "../../common-types"
|
|
221
|
+
"path": "../../common-types",
|
|
222
|
+
"id": "src/common-types.d.ts::DuetTheme"
|
|
216
223
|
}
|
|
217
224
|
}
|
|
218
225
|
},
|
|
@@ -242,10 +249,12 @@ export class DuetNotification {
|
|
|
242
249
|
}],
|
|
243
250
|
"references": {
|
|
244
251
|
"Promise": {
|
|
245
|
-
"location": "global"
|
|
252
|
+
"location": "global",
|
|
253
|
+
"id": "global::Promise"
|
|
246
254
|
},
|
|
247
255
|
"FocusOptions": {
|
|
248
|
-
"location": "global"
|
|
256
|
+
"location": "global",
|
|
257
|
+
"id": "global::FocusOptions"
|
|
249
258
|
}
|
|
250
259
|
},
|
|
251
260
|
"return": "Promise<void>"
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { createPage } from "../../utils/test-utils";
|
|
5
|
+
function camelToKebab(str) {
|
|
6
|
+
return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
7
|
+
}
|
|
8
|
+
function isChildren(propsOrChildren) {
|
|
9
|
+
return Array.isArray(propsOrChildren) || typeof propsOrChildren === "string";
|
|
10
|
+
}
|
|
11
|
+
function dom(tag, propsOrChildren, children) {
|
|
12
|
+
if (propsOrChildren == null) {
|
|
13
|
+
propsOrChildren = {};
|
|
14
|
+
}
|
|
15
|
+
if (isChildren(propsOrChildren)) {
|
|
16
|
+
children = propsOrChildren;
|
|
17
|
+
propsOrChildren = {};
|
|
18
|
+
}
|
|
19
|
+
if (children == null) {
|
|
20
|
+
children = "";
|
|
21
|
+
}
|
|
22
|
+
const attrs = Object.entries(propsOrChildren)
|
|
23
|
+
.map(([attr, value]) => `${camelToKebab(attr)}="${value}"`)
|
|
24
|
+
.join(" ");
|
|
25
|
+
children = Array.isArray(children) ? children : [children];
|
|
26
|
+
return `<${tag} ${attrs}>${children.join("")}</${tag}>`;
|
|
27
|
+
}
|
|
28
|
+
function paragraph(props, children) {
|
|
29
|
+
return dom("duet-paragraph", props, children);
|
|
30
|
+
}
|
|
31
|
+
function heading(props, children) {
|
|
32
|
+
return dom("duet-heading", props, children);
|
|
33
|
+
}
|
|
34
|
+
function drawer(props, children) {
|
|
35
|
+
return dom("duet-notification-drawer", props, children);
|
|
36
|
+
}
|
|
37
|
+
function notification(props, children) {
|
|
38
|
+
return dom("duet-notification", props, children);
|
|
39
|
+
}
|
|
40
|
+
function appendFocusableElement(page) {
|
|
41
|
+
return page.evaluate(() => {
|
|
42
|
+
const a = document.createElement("a");
|
|
43
|
+
a.href = "#";
|
|
44
|
+
a.innerText = "some focusable element";
|
|
45
|
+
document.body.appendChild(a);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function generatePage(options = { theme: "default" }) {
|
|
49
|
+
return createPage(dom("html", { class: `duet-theme-${options.theme}` }, [
|
|
50
|
+
`<link rel="stylesheet" href="https://cdn.duetds.com/api/css/1.4.16/lib/duet.min.css" />`,
|
|
51
|
+
drawer({ label: "Notifications (3)", badge: true, icon: "messaging-notification" }, [
|
|
52
|
+
notification({ date: "today", url: "#", highlight: true }, [
|
|
53
|
+
heading({ level: "h2", visualLevel: "h6", margin: "none" }, "First notification"),
|
|
54
|
+
]),
|
|
55
|
+
notification({ date: "today", url: "#" }, [
|
|
56
|
+
paragraph({ size: "small", margin: "none" }, "Second notification"),
|
|
57
|
+
]),
|
|
58
|
+
notification({ date: "today", url: "#" }, [
|
|
59
|
+
heading({ level: "h2", visualLevel: "h6" }, "Third notification"),
|
|
60
|
+
paragraph({ size: "small", margin: "none" }, "Some text which would serve as the body of the notification"),
|
|
61
|
+
]),
|
|
62
|
+
]),
|
|
63
|
+
]));
|
|
64
|
+
}
|
|
65
|
+
function getFocusedElement(page) {
|
|
66
|
+
return page.evaluateHandle(() => document.activeElement);
|
|
67
|
+
}
|
|
68
|
+
function getButton(page) {
|
|
69
|
+
return page.find("duet-notification-drawer >>> button[aria-expanded]");
|
|
70
|
+
}
|
|
71
|
+
function getContent(page) {
|
|
72
|
+
return page.find("duet-notification-drawer >>> .duet-drawer-content");
|
|
73
|
+
}
|
|
74
|
+
async function openDrawer(page) {
|
|
75
|
+
const button = await getButton(page);
|
|
76
|
+
await button.click();
|
|
77
|
+
await page.waitForChanges();
|
|
78
|
+
}
|
|
79
|
+
describe("duet-notification-drawer", () => {
|
|
80
|
+
it("should render a notification drawer", async () => {
|
|
81
|
+
const page = await createPage(drawer({ label: "Notifications" }));
|
|
82
|
+
const component = await page.find("duet-notification-drawer");
|
|
83
|
+
expect(component).not.toBeNull();
|
|
84
|
+
expect(component).toHaveClass("hydrated");
|
|
85
|
+
});
|
|
86
|
+
it("closes on click outside", async () => {
|
|
87
|
+
const page = await generatePage();
|
|
88
|
+
await appendFocusableElement(page); // we need another focusable element for the purpose of test
|
|
89
|
+
await openDrawer(page);
|
|
90
|
+
const link = await page.find("a");
|
|
91
|
+
await link.click();
|
|
92
|
+
await page.waitForChanges();
|
|
93
|
+
const button = await getButton(page);
|
|
94
|
+
const content = await getContent(page);
|
|
95
|
+
expect(await content.isVisible()).toBe(false);
|
|
96
|
+
expect(button).toEqualAttribute("aria-expanded", "false");
|
|
97
|
+
});
|
|
98
|
+
it("closes when focus moves outside", async () => {
|
|
99
|
+
const page = await generatePage();
|
|
100
|
+
await appendFocusableElement(page); // we need another focusable element for the purpose of test
|
|
101
|
+
await openDrawer(page);
|
|
102
|
+
const link = await page.find("a");
|
|
103
|
+
await link.focus();
|
|
104
|
+
await page.waitForChanges();
|
|
105
|
+
const button = await getButton(page);
|
|
106
|
+
const content = await getContent(page);
|
|
107
|
+
expect(await content.isVisible()).toBe(false);
|
|
108
|
+
expect(button).toEqualAttribute("aria-expanded", "false");
|
|
109
|
+
});
|
|
110
|
+
describe("keyboard a11y", () => {
|
|
111
|
+
it("can be opened with keyboard", async () => {
|
|
112
|
+
const page = await generatePage();
|
|
113
|
+
let button = await getButton(page);
|
|
114
|
+
let content = await getContent(page);
|
|
115
|
+
expect(button).toEqualAttribute("aria-expanded", "false");
|
|
116
|
+
expect(await content.isVisible()).toBe(false);
|
|
117
|
+
await page.keyboard.press("Tab");
|
|
118
|
+
await page.keyboard.press("Enter");
|
|
119
|
+
await page.waitForChanges();
|
|
120
|
+
button = await getButton(page);
|
|
121
|
+
content = await getContent(page);
|
|
122
|
+
expect(button).toEqualAttribute("aria-expanded", "true");
|
|
123
|
+
expect(await content.isVisible()).toBe(true);
|
|
124
|
+
});
|
|
125
|
+
it("closes on ESC press", async () => {
|
|
126
|
+
const page = await generatePage();
|
|
127
|
+
await openDrawer(page);
|
|
128
|
+
let content = await getContent(page);
|
|
129
|
+
expect(await content.isVisible()).toBe(true);
|
|
130
|
+
await page.keyboard.press("Escape");
|
|
131
|
+
await page.waitForChanges();
|
|
132
|
+
const button = await getButton(page);
|
|
133
|
+
content = await getContent(page);
|
|
134
|
+
expect(button).toEqualAttribute("aria-expanded", "false");
|
|
135
|
+
expect(await content.isVisible()).toBe(false);
|
|
136
|
+
});
|
|
137
|
+
it("allows for tabbing through notifications", async () => {
|
|
138
|
+
const page = await generatePage();
|
|
139
|
+
await page.keyboard.press("Tab");
|
|
140
|
+
await page.keyboard.press("Enter");
|
|
141
|
+
await page.waitForChanges();
|
|
142
|
+
await page.keyboard.press("Tab");
|
|
143
|
+
let focused = await getFocusedElement(page);
|
|
144
|
+
let text = await page.evaluate((element) => element.innerText, focused);
|
|
145
|
+
expect(text).toContain("First notification");
|
|
146
|
+
await page.keyboard.press("Tab");
|
|
147
|
+
focused = await getFocusedElement(page);
|
|
148
|
+
text = await page.evaluate((element) => element.innerText, focused);
|
|
149
|
+
expect(text).toContain("Second notification");
|
|
150
|
+
await page.keyboard.press("Tab");
|
|
151
|
+
focused = await getFocusedElement(page);
|
|
152
|
+
text = await page.evaluate((element) => element.innerText, focused);
|
|
153
|
+
expect(text).toContain("Third notification");
|
|
154
|
+
});
|
|
155
|
+
it("closes once focus moves out of drawer", async () => {
|
|
156
|
+
const page = await generatePage();
|
|
157
|
+
await appendFocusableElement(page); // we need another focusable element for the test
|
|
158
|
+
await page.keyboard.press("Tab");
|
|
159
|
+
await page.keyboard.press("Enter");
|
|
160
|
+
await page.waitForChanges();
|
|
161
|
+
let button = await getButton(page);
|
|
162
|
+
expect(button).toEqualAttribute("aria-expanded", "true");
|
|
163
|
+
await page.keyboard.press("Tab");
|
|
164
|
+
await page.waitForChanges();
|
|
165
|
+
await page.keyboard.press("Tab");
|
|
166
|
+
await page.waitForChanges();
|
|
167
|
+
await page.keyboard.press("Tab");
|
|
168
|
+
await page.waitForChanges();
|
|
169
|
+
await page.keyboard.press("Tab");
|
|
170
|
+
await page.waitForChanges();
|
|
171
|
+
button = await getButton(page);
|
|
172
|
+
const content = await getContent(page);
|
|
173
|
+
expect(button).toEqualAttribute("aria-expanded", "false");
|
|
174
|
+
expect(await content.isVisible()).toBe(false);
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
});
|