@duetds/components 8.2.2 → 8.3.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.js +221 -70
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-alert.cjs.entry.js +2 -2
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-banner.cjs.entry.js +8 -7
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
- package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-callout.cjs.entry.js +5 -4
- package/lib/cjs/duet-caption_4.cjs.entry.js +5 -6
- package/lib/cjs/duet-card.cjs.entry.js +6 -5
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-chip.cjs.entry.js +2 -2
- package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
- package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
- package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
- package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +5 -4
- package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +3 -3
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +3 -3
- package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +2 -2
- package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-header_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-hero.cjs.entry.js +9 -6
- package/lib/cjs/duet-icon.cjs.entry.js +2 -2
- package/lib/cjs/duet-input_2.cjs.entry.js +6 -5
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +2 -2
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +2 -2
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-modal.cjs.entry.js +5 -5
- package/lib/cjs/duet-multiselect.cjs.entry.js +5 -4
- package/lib/cjs/duet-nav.cjs.entry.js +3 -3
- package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-number-input.cjs.entry.js +5 -4
- package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
- package/lib/cjs/duet-popup-menu.cjs.entry.js +3 -3
- package/lib/cjs/duet-progress.cjs.entry.js +1 -1
- package/lib/cjs/duet-promo-card.cjs.entry.js +15 -10
- package/lib/cjs/duet-radio_2.cjs.entry.js +4 -3
- package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +89 -6
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +4 -3
- package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
- package/lib/cjs/duet-show-more.cjs.entry.js +2 -2
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +2 -2
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -7
- package/lib/cjs/duet-slideout.cjs.entry.js +16 -7
- package/lib/cjs/duet-step_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +2 -2
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +2 -2
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +2 -2
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-textarea.cjs.entry.js +4 -3
- package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +2 -2
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-tooltip.cjs.entry.js +15 -18
- package/lib/cjs/duet-tray.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-upload-item.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{focus-utils-cb2699e7.js → focus-utils-2d403f5e.js} +1 -1
- package/lib/cjs/{index-c51398ac.js → index-a515d5ff.js} +1 -1
- package/lib/cjs/{keyboard-utils-7248dd0a.js → keyboard-utils-66010749.js} +2 -0
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/slot-utils-0b8037ab.js +51 -0
- package/lib/cjs/{token-utils-c672402d.js → token-utils-7a618677.js} +22 -0
- package/lib/collection/common/index.js +0 -1
- package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
- package/lib/collection/components/duet-alert/duet-alert.js +1 -1
- package/lib/collection/components/duet-banner/duet-banner.js +6 -5
- package/lib/collection/components/duet-button/duet-button.css +22 -0
- package/lib/collection/components/duet-button/duet-button.js +5 -5
- package/lib/collection/components/duet-callout/duet-callout.js +4 -3
- package/lib/collection/components/duet-caption/duet-caption.js +1 -1
- package/lib/collection/components/duet-card/duet-card.js +7 -6
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
- package/lib/collection/components/duet-chip/duet-chip.js +5 -5
- package/lib/collection/components/duet-choice/duet-choice.js +5 -4
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +3 -2
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +5 -4
- package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
- package/lib/collection/components/duet-date-picker/date-picker-input.js +1 -2
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +6 -4
- package/lib/collection/components/duet-divider/duet-divider.js +1 -1
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +1 -1
- package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
- package/lib/collection/components/duet-footer/duet-footer.js +7 -7
- package/lib/collection/components/duet-grid/duet-grid.js +3 -3
- package/lib/collection/components/duet-header/duet-header.js +15 -15
- package/lib/collection/components/duet-heading/duet-heading.js +1 -1
- package/lib/collection/components/duet-hero/duet-hero.a11y.e2e.js +4 -4
- package/lib/collection/components/duet-hero/duet-hero.js +13 -10
- package/lib/collection/components/duet-input/duet-input.js +11 -10
- package/lib/collection/components/duet-label/duet-label.js +2 -2
- package/lib/collection/components/duet-layout/duet-layout.js +1 -1
- package/lib/collection/components/duet-link/duet-link.js +3 -4
- package/lib/collection/components/duet-list/duet-list.js +3 -3
- package/lib/collection/components/duet-logo/duet-logo.js +1 -1
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
- package/lib/collection/components/duet-modal/duet-modal.js +6 -5
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +8 -7
- package/lib/collection/components/duet-nav/duet-nav.css +5 -0
- package/lib/collection/components/duet-nav/duet-nav.js +1 -1
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
- package/lib/collection/components/duet-number-input/duet-number-input.js +7 -6
- package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
- package/lib/collection/components/duet-promo-card/duet-promo-card.css +10 -0
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +13 -8
- package/lib/collection/components/duet-radio/duet-radio.js +3 -3
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +3 -2
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
- package/lib/collection/components/duet-select/duet-select.js +8 -7
- package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
- package/lib/collection/components/duet-slideout/duet-slideout.css +1 -1
- package/lib/collection/components/duet-slideout/duet-slideout.js +11 -2
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +27 -0
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +9 -3
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +1 -1
- package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
- package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
- package/lib/collection/components/duet-step/duet-step.js +2 -2
- package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
- package/lib/collection/components/duet-tab/duet-tab.css +10 -0
- package/lib/collection/components/duet-tab/duet-tab.js +155 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +17 -10
- package/lib/collection/components/duet-textarea/duet-textarea.js +7 -6
- package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +1 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +5 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +16 -18
- package/lib/collection/components/duet-upload/duet-upload.js +14 -14
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +1 -1
- package/lib/collection/utils/keyboard-utils.js +1 -0
- package/lib/collection/utils/slot-utils.js +42 -11
- package/lib/collection/utils/token-utils.js +3 -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 +10 -9
- package/lib/dist-custom-elements/duet-breadcrumb.js +4 -4
- package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +6 -5
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +8 -7
- 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 +3 -3
- package/lib/dist-custom-elements/duet-choice-group.js +11 -10
- package/lib/dist-custom-elements/duet-choice.js +7 -7
- package/lib/dist-custom-elements/duet-collapsible.js +4 -4
- package/lib/dist-custom-elements/duet-combobox.js +3 -3
- package/lib/dist-custom-elements/duet-contact-card.js +8 -8
- package/lib/dist-custom-elements/duet-cookie-consent.js +7 -7
- package/lib/dist-custom-elements/duet-date-picker.js +15 -14
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +8 -8
- 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-file-chooser.js +2 -2
- package/lib/dist-custom-elements/duet-footer.js +5 -5
- 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 +9 -9
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +17 -14
- 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 +1 -1
- 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 +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +3 -3
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
- package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
- package/lib/dist-custom-elements/duet-modal.js +9 -9
- package/lib/dist-custom-elements/duet-multiselect.js +13 -12
- package/lib/dist-custom-elements/duet-nav.js +3 -3
- package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
- package/lib/dist-custom-elements/duet-notification.js +3 -3
- package/lib/dist-custom-elements/duet-number-input.js +15 -14
- package/lib/dist-custom-elements/duet-page-heading.js +2 -2
- package/lib/dist-custom-elements/duet-pagination.js +15 -15
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
- package/lib/dist-custom-elements/duet-popup-menu.js +2 -2
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +17 -12
- package/lib/dist-custom-elements/duet-radio-group.js +11 -10
- package/lib/dist-custom-elements/duet-radio.js +1 -1
- package/lib/dist-custom-elements/duet-range-slider.js +3 -3
- package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +1 -1
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
- package/lib/dist-custom-elements/duet-show-more.js +6 -6
- package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +3 -3
- package/lib/dist-custom-elements/duet-slideout-panel.js +10 -7
- package/lib/dist-custom-elements/duet-slideout.js +15 -6
- 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 +5 -5
- package/lib/dist-custom-elements/duet-stepper.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +3 -3
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
- package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
- package/lib/dist-custom-elements/duet-tab-group.js +20 -16
- package/lib/dist-custom-elements/duet-tab.js +89 -4
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +13 -12
- package/lib/dist-custom-elements/duet-toggle.js +3 -3
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +3 -3
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +4 -4
- package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar.js +1 -1
- 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 +4 -4
- 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 +18 -18
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/{p-0fcede3e.js → p-022cc9de.js} +2 -2
- package/lib/dist-custom-elements/{p-178bd8b5.js → p-033ffb95.js} +1 -1
- package/lib/dist-custom-elements/{p-6f02cea5.js → p-13cbfdc6.js} +2 -2
- package/lib/dist-custom-elements/{p-ded7900f.js → p-15b43530.js} +2 -2
- package/lib/dist-custom-elements/{p-046d07ed.js → p-3380c780.js} +1 -1
- package/lib/dist-custom-elements/{p-bbff917c.js → p-33c43f27.js} +6 -6
- package/lib/dist-custom-elements/{p-8f253845.js → p-55634a0b.js} +2 -1
- package/lib/dist-custom-elements/{p-029fba28.js → p-57d9241f.js} +3 -3
- package/lib/dist-custom-elements/{p-ab998a0f.js → p-57e61a09.js} +2 -2
- package/lib/dist-custom-elements/{p-dfbd66be.js → p-6c8a44ea.js} +2 -2
- package/lib/dist-custom-elements/{p-1f650bb2.js → p-70fb72b8.js} +1 -1
- package/lib/dist-custom-elements/{p-f26cc3be.js → p-7385cfae.js} +2 -2
- package/lib/dist-custom-elements/p-796edee6.js +48 -0
- package/lib/dist-custom-elements/{p-a7f2d134.js → p-7f8daa04.js} +4 -4
- package/lib/dist-custom-elements/{p-14821771.js → p-82a9c4cc.js} +1 -1
- package/lib/dist-custom-elements/{p-6db359de.js → p-83c687c4.js} +10 -10
- package/lib/dist-custom-elements/{p-c2ee0b56.js → p-8500f1f3.js} +1 -1
- package/lib/dist-custom-elements/{p-5b940d4e.js → p-85c51c36.js} +5 -5
- package/lib/dist-custom-elements/{p-78ce0ce1.js → p-89c8eef0.js} +21 -23
- package/lib/dist-custom-elements/{p-d1db33b3.js → p-89fa2387.js} +1 -1
- package/lib/dist-custom-elements/{p-3c266b7f.js → p-8aacf8f2.js} +1 -1
- package/lib/dist-custom-elements/{p-d82ca991.js → p-92e8fec4.js} +1 -1
- package/lib/dist-custom-elements/{p-e9b96f04.js → p-97144a49.js} +6 -7
- package/lib/dist-custom-elements/{p-bdade4f6.js → p-99bfa47d.js} +1 -1
- package/lib/dist-custom-elements/{p-09d8f6b5.js → p-99c2c6f3.js} +5 -5
- package/lib/dist-custom-elements/{p-284885b1.js → p-a8d729e4.js} +1 -1
- package/lib/dist-custom-elements/{p-48fe3f3e.js → p-ba9d785a.js} +3 -3
- package/lib/dist-custom-elements/{p-ef9c200e.js → p-cbac9ed5.js} +22 -1
- package/lib/dist-custom-elements/{p-ea75dc3b.js → p-d84624d1.js} +2 -2
- package/lib/dist-custom-elements/{p-32b58440.js → p-da0965a5.js} +2 -2
- package/lib/dist-custom-elements/{p-69f3125f.js → p-dd3202f3.js} +1 -1
- package/lib/dist-custom-elements/{p-275c9f06.js → p-de5298ac.js} +2 -2
- package/lib/dist-custom-elements/{p-4207df32.js → p-e8d8a5f1.js} +11 -10
- package/lib/dist-custom-elements/{p-501109c4.js → p-eb03dc27.js} +14 -13
- package/lib/dist-custom-elements/{p-c3d0fd5f.js → p-eb30f749.js} +2 -2
- package/lib/dist-custom-elements/{p-f37bade9.js → p-f1a37b7f.js} +6 -6
- package/lib/dist-custom-elements/{p-d4a52c78.js → p-fdafc7af.js} +1 -1
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-ad200bf7.system.entry.js → p-03237a62.system.entry.js} +2 -2
- package/lib/duet/p-03c217ae.entry.js +4 -0
- package/lib/duet/p-03c3cf91.entry.js +4 -0
- package/lib/duet/{p-88d19807.entry.js → p-05728995.entry.js} +1 -1
- package/lib/duet/{p-87565d7d.system.entry.js → p-0600d0e8.system.entry.js} +1 -1
- package/lib/duet/p-07adc606.system.entry.js +4 -0
- package/lib/duet/{p-7bb37b2e.entry.js → p-0857e91c.entry.js} +1 -1
- package/lib/duet/p-09c54c8e.system.js +4 -0
- package/lib/duet/p-0a28d72d.entry.js +4 -0
- package/lib/duet/{p-1c9a6018.system.entry.js → p-0b4b179c.system.entry.js} +1 -1
- package/lib/duet/{p-0906d9df.system.entry.js → p-0cdc8487.system.entry.js} +1 -1
- package/lib/duet/{p-2c02c786.entry.js → p-0ef53ae6.entry.js} +1 -1
- package/lib/duet/p-1001ec0f.entry.js +4 -0
- package/lib/duet/{p-0d7d648a.system.entry.js → p-1020c84c.system.entry.js} +1 -1
- package/lib/duet/{p-6edbe47c.system.entry.js → p-1612a6c7.system.entry.js} +1 -1
- package/lib/duet/{p-c75daf42.entry.js → p-169aab07.entry.js} +1 -1
- package/lib/duet/{p-0fd839a0.system.entry.js → p-16c13a11.system.entry.js} +1 -1
- package/lib/duet/p-1c9ee2ea.entry.js +4 -0
- package/lib/duet/{p-1abfbe28.system.entry.js → p-1d195c3a.system.entry.js} +1 -1
- package/lib/duet/p-1db3932f.system.entry.js +4 -0
- package/lib/duet/{p-6d186557.entry.js → p-1e6bd5da.entry.js} +1 -1
- package/lib/duet/p-1f0dc968.entry.js +4 -0
- package/lib/duet/{p-076b9333.entry.js → p-20ed91ba.entry.js} +1 -1
- package/lib/duet/p-20ff95cd.system.entry.js +4 -0
- package/lib/duet/p-2171907b.system.entry.js +4 -0
- package/lib/duet/{p-ecef885c.system.entry.js → p-21f1bd62.system.entry.js} +1 -1
- package/lib/duet/{p-a70e6c6f.entry.js → p-26be2678.entry.js} +1 -1
- package/lib/duet/{p-b84be662.entry.js → p-28b22d09.entry.js} +1 -1
- package/lib/duet/{p-d1d036d5.entry.js → p-29186e16.entry.js} +1 -1
- package/lib/duet/{p-3e03e275.entry.js → p-2c79b6d8.entry.js} +1 -1
- package/lib/duet/{p-cee353f7.entry.js → p-2ddd9719.entry.js} +1 -1
- package/lib/duet/p-31657213.entry.js +4 -0
- package/lib/duet/p-31730560.entry.js +4 -0
- package/lib/duet/p-357307f7.entry.js +4 -0
- package/lib/duet/{p-a014d5d9.system.entry.js → p-3730d6bd.system.entry.js} +1 -1
- package/lib/duet/{p-b230e70f.system.entry.js → p-3733ebe1.system.entry.js} +1 -1
- package/lib/duet/{p-37be8296.entry.js → p-3760418d.entry.js} +1 -1
- package/lib/duet/{p-f65559ab.entry.js → p-38cdaf08.entry.js} +1 -1
- package/lib/duet/{p-f637700c.system.entry.js → p-39ea1b09.system.entry.js} +1 -1
- package/lib/duet/{p-b57852d2.entry.js → p-3cf8a878.entry.js} +1 -1
- package/lib/duet/{p-10a2a9c1.system.entry.js → p-3ecc2d1e.system.entry.js} +1 -1
- package/lib/duet/{p-1420bc81.system.entry.js → p-3f4713a3.system.entry.js} +1 -1
- package/lib/duet/{p-932d0abe.entry.js → p-3f56cdd6.entry.js} +1 -1
- package/lib/duet/{p-4a397383.entry.js → p-41d61870.entry.js} +1 -1
- package/lib/duet/p-43091aa7.system.entry.js +4 -0
- package/lib/duet/{p-c90bc08e.entry.js → p-43adcd6a.entry.js} +1 -1
- package/lib/duet/{p-280b2ecc.system.entry.js → p-43ebba16.system.entry.js} +1 -1
- package/lib/duet/{p-aab87987.system.entry.js → p-45199b0c.system.entry.js} +1 -1
- package/lib/duet/{p-551ecb84.system.entry.js → p-4648c2cf.system.entry.js} +1 -1
- package/lib/duet/p-47f7fd31.system.entry.js +4 -0
- package/lib/duet/{p-c3832cba.system.entry.js → p-49ba8156.system.entry.js} +1 -1
- package/lib/duet/{p-ea4fda73.entry.js → p-4bd54c36.entry.js} +1 -1
- package/lib/duet/{p-a75e499e.system.entry.js → p-4c416890.system.entry.js} +1 -1
- package/lib/duet/p-4cd1b2dc.entry.js +4 -0
- package/lib/duet/{p-de652eff.entry.js → p-4e002d37.entry.js} +1 -1
- package/lib/duet/p-5263bc35.js +4 -0
- package/lib/duet/p-5581d26e.entry.js +4 -0
- package/lib/duet/p-5729c070.entry.js +4 -0
- package/lib/duet/{p-d1deec62.system.js → p-575e4de7.system.js} +1 -1
- package/lib/duet/{p-7023e868.system.entry.js → p-5b3275f8.system.entry.js} +2 -2
- package/lib/duet/{p-daf4b399.entry.js → p-5c810c8e.entry.js} +1 -1
- package/lib/duet/p-5f87ea3d.js +4 -0
- package/lib/duet/{p-75ceea2b.entry.js → p-63b8a5d9.entry.js} +1 -1
- package/lib/duet/{p-723172a8.system.entry.js → p-65c5d605.system.entry.js} +1 -1
- package/lib/duet/p-6689cf76.entry.js +4 -0
- package/lib/duet/{p-aa38094c.entry.js → p-671a9905.entry.js} +1 -1
- package/lib/duet/{p-1bbf5af6.entry.js → p-67bd1eae.entry.js} +1 -1
- package/lib/duet/{p-8dbbed25.entry.js → p-69f280e3.entry.js} +1 -1
- package/lib/duet/{p-133bd9d0.system.entry.js → p-6b5f5f20.system.entry.js} +1 -1
- package/lib/duet/p-6b5fc33f.entry.js +4 -0
- package/lib/duet/{p-c3be7176.entry.js → p-6c34c6d4.entry.js} +1 -1
- package/lib/duet/{p-d6154923.entry.js → p-70af7daf.entry.js} +1 -1
- package/lib/duet/p-71d1dbcb.entry.js +4 -0
- package/lib/duet/{p-f237623c.entry.js → p-72179a41.entry.js} +1 -1
- package/lib/duet/{p-c0397a25.entry.js → p-756e625e.entry.js} +1 -1
- package/lib/duet/{p-e00f28fc.entry.js → p-77be9214.entry.js} +1 -1
- package/lib/duet/p-796edee6.js +4 -0
- package/lib/duet/{p-e4bd0d7b.entry.js → p-79abaaad.entry.js} +1 -1
- package/lib/duet/{p-5f54e38a.system.entry.js → p-7b445598.system.entry.js} +1 -1
- package/lib/duet/p-7c6d5f9c.system.js +4 -0
- package/lib/duet/{p-7308b57e.entry.js → p-7c8c5534.entry.js} +1 -1
- package/lib/duet/p-7d4d3bee.system.entry.js +4 -0
- package/lib/duet/{p-ce96df8c.entry.js → p-80aa59cb.entry.js} +1 -1
- package/lib/duet/{p-bd9e5b2b.system.entry.js → p-81a79874.system.entry.js} +1 -1
- package/lib/duet/{p-6fdbd448.system.entry.js → p-825dac25.system.entry.js} +1 -1
- package/lib/duet/p-827fece7.system.entry.js +4 -0
- package/lib/duet/p-875ba244.system.entry.js +4 -0
- package/lib/duet/{p-f08d659e.entry.js → p-8d260eac.entry.js} +1 -1
- package/lib/duet/{p-ba9103db.entry.js → p-92861390.entry.js} +1 -1
- package/lib/duet/{p-7fd43c03.system.entry.js → p-92e54702.system.entry.js} +2 -2
- package/lib/duet/{p-9418d9ff.entry.js → p-947af010.entry.js} +1 -1
- package/lib/duet/{p-3ccb1ee3.system.entry.js → p-969152f0.system.entry.js} +1 -1
- package/lib/duet/{p-2395f607.system.entry.js → p-976ed5a5.system.entry.js} +1 -1
- package/lib/duet/{p-00c58945.system.entry.js → p-99cc01cb.system.entry.js} +1 -1
- package/lib/duet/{p-cd1d3fe8.system.entry.js → p-9d9cab9d.system.entry.js} +1 -1
- package/lib/duet/{p-0667f70f.system.entry.js → p-9e1d8b6f.system.entry.js} +1 -1
- package/lib/duet/{p-2db24634.entry.js → p-9e95e6eb.entry.js} +1 -1
- package/lib/duet/{p-efe336c5.entry.js → p-9ed3ab30.entry.js} +1 -1
- package/lib/duet/{p-7b6abc82.entry.js → p-9f355c50.entry.js} +1 -1
- package/lib/duet/{p-4921ff47.entry.js → p-a0f179db.entry.js} +1 -1
- package/lib/duet/{p-42cfad67.system.entry.js → p-a319471c.system.entry.js} +2 -2
- package/lib/duet/{p-a2fb2ad9.system.entry.js → p-a424f7b8.system.entry.js} +1 -1
- package/lib/duet/{p-37d69db5.system.entry.js → p-a53d7d39.system.entry.js} +1 -1
- package/lib/duet/{p-2d9cdfdb.entry.js → p-a89e81b7.entry.js} +1 -1
- package/lib/duet/{p-3ca93619.system.entry.js → p-a917c2ae.system.entry.js} +1 -1
- package/lib/duet/{p-36c95931.system.entry.js → p-aa08b72e.system.entry.js} +1 -1
- package/lib/duet/{p-88378c4b.system.entry.js → p-aab945c6.system.entry.js} +1 -1
- package/lib/duet/{p-52737afc.system.js → p-aabf89fa.system.js} +1 -1
- package/lib/duet/p-aac0b756.entry.js +4 -0
- package/lib/duet/{p-78a54e54.system.entry.js → p-ab005633.system.entry.js} +1 -1
- package/lib/duet/p-abdbce02.system.js +4 -0
- package/lib/duet/{p-3fab3c3d.entry.js → p-ae0382ff.entry.js} +1 -1
- package/lib/duet/{p-52091e26.entry.js → p-b8cd8aa9.entry.js} +1 -1
- package/lib/duet/{p-c8a02bae.entry.js → p-b9568179.entry.js} +1 -1
- package/lib/duet/{p-5d8d866f.system.entry.js → p-bc522875.system.entry.js} +1 -1
- package/lib/duet/{p-371692de.system.entry.js → p-bda222d2.system.entry.js} +1 -1
- package/lib/duet/p-bfd50a6a.entry.js +4 -0
- package/lib/duet/p-bfe237fe.entry.js +4 -0
- package/lib/duet/p-c2973a4e.system.entry.js +4 -0
- package/lib/duet/{p-550162dd.entry.js → p-c327db77.entry.js} +1 -1
- package/lib/duet/p-c8ff85f8.entry.js +4 -0
- package/lib/duet/{p-1bdd4caa.system.entry.js → p-c9cb8ffa.system.entry.js} +1 -1
- package/lib/duet/{p-03043dae.entry.js → p-ce746fbf.entry.js} +1 -1
- package/lib/duet/{p-4d9e4286.system.entry.js → p-d0500cf2.system.entry.js} +1 -1
- package/lib/duet/{p-db48c8ed.system.entry.js → p-d143df18.system.entry.js} +1 -1
- package/lib/duet/{p-956c677f.entry.js → p-d328f8cc.entry.js} +1 -1
- package/lib/duet/{p-534e202a.system.entry.js → p-d4285ed0.system.entry.js} +1 -1
- package/lib/duet/{p-3a63ecd6.system.entry.js → p-d44d74d3.system.entry.js} +1 -1
- package/lib/duet/p-d5b79ee4.entry.js +4 -0
- package/lib/duet/{p-c641c3b4.system.entry.js → p-d5d63283.system.entry.js} +1 -1
- package/lib/duet/{p-295179c8.system.entry.js → p-d6c18967.system.entry.js} +1 -1
- package/lib/duet/p-d9400840.entry.js +4 -0
- package/lib/duet/{p-52c59c2c.system.entry.js → p-d9887cdb.system.entry.js} +1 -1
- package/lib/duet/{p-e7b955f6.system.entry.js → p-db688714.system.entry.js} +1 -1
- package/lib/duet/p-dbedcced.entry.js +4 -0
- package/lib/duet/{p-e2347276.entry.js → p-dc3e35c7.entry.js} +1 -1
- package/lib/duet/{p-9f931d57.js → p-dccd9c7c.js} +1 -1
- package/lib/duet/{p-65316fb3.entry.js → p-dcd8af75.entry.js} +1 -1
- package/lib/duet/{p-59eeaac0.system.entry.js → p-de2da9fd.system.entry.js} +1 -1
- package/lib/duet/{p-04dc3f5f.system.entry.js → p-e00c9499.system.entry.js} +1 -1
- package/lib/duet/{p-89db0472.system.entry.js → p-e03b6928.system.entry.js} +1 -1
- package/lib/duet/{p-61d46f06.entry.js → p-e0931ac9.entry.js} +1 -1
- package/lib/duet/{p-35811c5b.entry.js → p-e0d1257a.entry.js} +1 -1
- package/lib/duet/{p-eddc7880.entry.js → p-e21cc133.entry.js} +1 -1
- package/lib/duet/{p-86285221.entry.js → p-e24a3978.entry.js} +1 -1
- package/lib/duet/p-e276fee0.js +4 -0
- package/lib/duet/{p-42e4ee86.system.entry.js → p-e2eb1521.system.entry.js} +1 -1
- package/lib/duet/{p-fd153ee7.system.entry.js → p-e538a8a2.system.entry.js} +1 -1
- package/lib/duet/{p-f8ddd215.system.entry.js → p-e69813f3.system.entry.js} +1 -1
- package/lib/duet/{p-00b69a62.system.entry.js → p-e956cd9b.system.entry.js} +1 -1
- package/lib/duet/{p-eed152d0.system.js → p-ead2a738.system.js} +1 -1
- package/lib/duet/{p-b83e0014.system.entry.js → p-ec2eb98f.system.entry.js} +1 -1
- package/lib/duet/{p-831c1f80.system.entry.js → p-eced32c1.system.entry.js} +1 -1
- package/lib/duet/{p-9090cf21.entry.js → p-ee7738c2.entry.js} +1 -1
- package/lib/duet/{p-ebc2f8fc.system.entry.js → p-eedadd50.system.entry.js} +1 -1
- package/lib/duet/p-ef83d9da.system.entry.js +4 -0
- package/lib/duet/{p-11481bd0.entry.js → p-f0419f45.entry.js} +1 -1
- package/lib/duet/{p-efa9e31e.entry.js → p-f121b583.entry.js} +1 -1
- package/lib/duet/{p-78a7f821.system.entry.js → p-f1397f55.system.entry.js} +1 -1
- package/lib/duet/{p-cc4683e0.system.entry.js → p-f15a1679.system.entry.js} +2 -2
- package/lib/duet/p-f273c4de.system.entry.js +4 -0
- package/lib/duet/{p-9699d4f1.system.entry.js → p-f3c91c9e.system.entry.js} +1 -1
- package/lib/duet/{p-03380a61.system.entry.js → p-f5c69659.system.entry.js} +1 -1
- package/lib/duet/{p-f2f0f553.system.entry.js → p-f630e363.system.entry.js} +1 -1
- package/lib/duet/{p-74553378.system.entry.js → p-f7167337.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- package/lib/esm/duet-alert.entry.js +2 -2
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-banner.entry.js +8 -7
- package/lib/esm/duet-breadcrumb.entry.js +2 -2
- package/lib/esm/duet-breadcrumbs.entry.js +2 -2
- package/lib/esm/duet-button_2.entry.js +3 -3
- package/lib/esm/duet-callout.entry.js +5 -4
- package/lib/esm/duet-caption_4.entry.js +5 -6
- package/lib/esm/duet-card.entry.js +6 -5
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-chip.entry.js +2 -2
- package/lib/esm/duet-choice_2.entry.js +6 -6
- package/lib/esm/duet-collapsible.entry.js +3 -3
- package/lib/esm/duet-combobox.entry.js +2 -2
- package/lib/esm/duet-contact-card.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +2 -2
- package/lib/esm/duet-date-picker.entry.js +5 -4
- package/lib/esm/duet-divider_2.entry.js +2 -2
- package/lib/esm/duet-editable-table_3.entry.js +3 -3
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +2 -2
- package/lib/esm/duet-file-chooser.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +2 -2
- package/lib/esm/duet-grid_2.entry.js +1 -1
- package/lib/esm/duet-header_2.entry.js +2 -2
- package/lib/esm/duet-hero.entry.js +9 -6
- package/lib/esm/duet-icon.entry.js +2 -2
- package/lib/esm/duet-input_2.entry.js +6 -5
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +2 -2
- package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
- package/lib/esm/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar.entry.js +1 -1
- package/lib/esm/duet-modal.entry.js +4 -4
- package/lib/esm/duet-multiselect.entry.js +5 -4
- package/lib/esm/duet-nav.entry.js +3 -3
- package/lib/esm/duet-notification_2.entry.js +2 -2
- package/lib/esm/duet-number-input.entry.js +5 -4
- package/lib/esm/duet-page-heading.entry.js +1 -1
- package/lib/esm/duet-pagination_2.entry.js +3 -3
- package/lib/esm/duet-popup-menu-item.entry.js +1 -1
- package/lib/esm/duet-popup-menu.entry.js +3 -3
- package/lib/esm/duet-progress.entry.js +1 -1
- package/lib/esm/duet-promo-card.entry.js +15 -10
- package/lib/esm/duet-radio_2.entry.js +4 -3
- package/lib/esm/duet-range-slider.entry.js +2 -2
- package/lib/esm/duet-scrollable_3.entry.js +89 -6
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +4 -3
- package/lib/esm/duet-shaped-image.entry.js +1 -1
- package/lib/esm/duet-show-more.entry.js +2 -2
- package/lib/esm/duet-slideout-lang.entry.js +1 -1
- package/lib/esm/duet-slideout-link.entry.js +1 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +2 -2
- package/lib/esm/duet-slideout-panel.entry.js +10 -7
- package/lib/esm/duet-slideout.entry.js +15 -6
- package/lib/esm/duet-step_2.entry.js +2 -2
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +2 -2
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
- package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
- package/lib/esm/duet-submenu-bar.entry.js +1 -1
- package/lib/esm/duet-textarea.entry.js +4 -3
- package/lib/esm/duet-toggle.entry.js +2 -2
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +2 -2
- package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
- package/lib/esm/duet-toolbar-link.entry.js +1 -1
- package/lib/esm/duet-toolbar.entry.js +1 -1
- package/lib/esm/duet-tooltip-button_2.entry.js +3 -3
- package/lib/esm/duet-tooltip.entry.js +15 -18
- package/lib/esm/duet-tray.entry.js +2 -2
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-upload-item.entry.js +1 -1
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +3 -3
- package/lib/esm/{focus-utils-6bb7f477.js → focus-utils-5adec865.js} +1 -1
- package/lib/esm/{index-eeb87403.js → index-88bb0f20.js} +1 -1
- package/lib/esm/{keyboard-utils-eba88365.js → keyboard-utils-c472d19d.js} +2 -1
- package/lib/esm/loader.js +3 -3
- package/lib/esm/slot-utils-3c3ab3d6.js +48 -0
- package/lib/esm/{token-utils-d09165bc.js → token-utils-0c77cb3c.js} +23 -2
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-alert.entry.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-chip.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
- 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-file-chooser.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- package/lib/esm-es5/duet-header_2.entry.js +1 -1
- package/lib/esm-es5/duet-hero.entry.js +2 -2
- package/lib/esm-es5/duet-icon.entry.js +1 -1
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-multiselect.entry.js +1 -1
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
- package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-promo-card.entry.js +2 -2
- package/lib/esm-es5/duet-radio_2.entry.js +1 -1
- package/lib/esm-es5/duet-range-slider.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
- package/lib/esm-es5/duet-slideout.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/focus-utils-5adec865.js +4 -0
- package/lib/esm-es5/{index-eeb87403.js → index-88bb0f20.js} +1 -1
- package/lib/esm-es5/{keyboard-utils-eba88365.js → keyboard-utils-c472d19d.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/slot-utils-3c3ab3d6.js +4 -0
- package/lib/esm-es5/token-utils-0c77cb3c.js +4 -0
- package/lib/types/common/index.d.ts +0 -1
- package/lib/types/components/duet-card/duet-card.d.ts +3 -2
- package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +3 -1
- package/lib/types/components/duet-slideout/duet-slideout.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +4 -0
- package/lib/types/components/duet-tab/duet-tab.d.ts +22 -2
- package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +2 -1
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +1 -2
- package/lib/types/components.d.ts +24 -4
- package/lib/types/utils/keyboard-utils.d.ts +1 -0
- package/lib/types/utils/slot-utils.d.ts +14 -2
- package/lib/types/utils/token-utils.d.ts +1 -0
- package/package.json +5 -5
- package/lib/cjs/slot-query-3259af5b.js +0 -10
- package/lib/cjs/slot-utils-6c81bd09.js +0 -20
- package/lib/collection/common/slot-query.js +0 -9
- package/lib/dist-custom-elements/p-11230037.js +0 -8
- package/lib/dist-custom-elements/p-bb24a019.js +0 -18
- package/lib/duet/p-0b5a8f35.system.entry.js +0 -4
- package/lib/duet/p-0c61244e.entry.js +0 -4
- package/lib/duet/p-0dd40c9c.entry.js +0 -4
- package/lib/duet/p-111e21bb.system.entry.js +0 -4
- package/lib/duet/p-11230037.js +0 -4
- package/lib/duet/p-127dcd36.system.entry.js +0 -4
- package/lib/duet/p-202208dc.entry.js +0 -4
- package/lib/duet/p-23354cf7.system.js +0 -4
- package/lib/duet/p-27bdda1e.js +0 -4
- package/lib/duet/p-2bb2b022.js +0 -4
- package/lib/duet/p-3ecd388c.system.entry.js +0 -4
- package/lib/duet/p-4dd4b992.entry.js +0 -4
- package/lib/duet/p-5795b0d9.system.js +0 -4
- package/lib/duet/p-579d7632.entry.js +0 -4
- package/lib/duet/p-5f71c6eb.entry.js +0 -4
- package/lib/duet/p-634e8787.system.js +0 -4
- package/lib/duet/p-660bc31f.entry.js +0 -4
- package/lib/duet/p-6720adb2.entry.js +0 -4
- package/lib/duet/p-74591e44.system.entry.js +0 -4
- package/lib/duet/p-7e1fe8b7.entry.js +0 -4
- package/lib/duet/p-7ef64069.entry.js +0 -4
- package/lib/duet/p-8b9c411d.entry.js +0 -4
- package/lib/duet/p-94c3e67c.system.entry.js +0 -4
- package/lib/duet/p-99269e38.system.js +0 -4
- package/lib/duet/p-9a352bf1.entry.js +0 -4
- package/lib/duet/p-9ab87585.system.entry.js +0 -4
- package/lib/duet/p-9dff8650.js +0 -4
- package/lib/duet/p-a1093ef2.entry.js +0 -4
- package/lib/duet/p-a5e3febc.system.entry.js +0 -4
- package/lib/duet/p-b17fc03d.system.entry.js +0 -4
- package/lib/duet/p-b3ee2fd3.entry.js +0 -4
- package/lib/duet/p-bb24a019.js +0 -4
- package/lib/duet/p-bbd9ecae.entry.js +0 -4
- package/lib/duet/p-c1175891.entry.js +0 -4
- package/lib/duet/p-c3722531.system.entry.js +0 -4
- package/lib/duet/p-ccd19d96.entry.js +0 -4
- package/lib/duet/p-cdc6b261.entry.js +0 -4
- package/lib/duet/p-d69aa4c2.system.entry.js +0 -4
- package/lib/duet/p-d840ef25.entry.js +0 -4
- package/lib/duet/p-e6949dbe.entry.js +0 -4
- package/lib/duet/p-f54f5ef3.system.entry.js +0 -4
- package/lib/duet/p-f64ba41c.entry.js +0 -4
- package/lib/duet/p-f7c03d05.entry.js +0 -4
- package/lib/esm/slot-query-022710bb.js +0 -8
- package/lib/esm/slot-utils-07ba4363.js +0 -18
- package/lib/esm-es5/focus-utils-6bb7f477.js +0 -4
- package/lib/esm-es5/slot-query-022710bb.js +0 -4
- package/lib/esm-es5/slot-utils-07ba4363.js +0 -4
- package/lib/esm-es5/token-utils-d09165bc.js +0 -4
- package/lib/types/common/slot-query.d.ts +0 -1
|
@@ -96,7 +96,7 @@ export class DuetSpinner {
|
|
|
96
96
|
"references": {
|
|
97
97
|
"DuetSpinnerSize": {
|
|
98
98
|
"location": "local",
|
|
99
|
-
"path": "/Users/
|
|
99
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-spinner/duet-spinner.tsx",
|
|
100
100
|
"id": "src/components/duet-spinner/duet-spinner.tsx::DuetSpinnerSize"
|
|
101
101
|
}
|
|
102
102
|
}
|
|
@@ -202,7 +202,7 @@ export class DuetStep {
|
|
|
202
202
|
"references": {
|
|
203
203
|
"DuetStepState": {
|
|
204
204
|
"location": "local",
|
|
205
|
-
"path": "/Users/
|
|
205
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-step/duet-step.tsx",
|
|
206
206
|
"id": "src/components/duet-step/duet-step.tsx::DuetStepState"
|
|
207
207
|
}
|
|
208
208
|
}
|
|
@@ -280,7 +280,7 @@ export class DuetStep {
|
|
|
280
280
|
"references": {
|
|
281
281
|
"DuetStepClickEvent": {
|
|
282
282
|
"location": "local",
|
|
283
|
-
"path": "/Users/
|
|
283
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-step/duet-step.tsx",
|
|
284
284
|
"id": "src/components/duet-step/duet-step.tsx::DuetStepClickEvent"
|
|
285
285
|
}
|
|
286
286
|
}
|
|
@@ -225,7 +225,7 @@ export class DuetStepper {
|
|
|
225
225
|
"references": {
|
|
226
226
|
"DuetStepChangeEvent": {
|
|
227
227
|
"location": "local",
|
|
228
|
-
"path": "/Users/
|
|
228
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-stepper/duet-stepper.tsx",
|
|
229
229
|
"id": "src/components/duet-stepper/duet-stepper.tsx::DuetStepChangeEvent"
|
|
230
230
|
}
|
|
231
231
|
}
|
|
@@ -25,4 +25,14 @@
|
|
|
25
25
|
}
|
|
26
26
|
.duet-tab.selected {
|
|
27
27
|
display: block;
|
|
28
|
+
}
|
|
29
|
+
.duet-tab.has-content-id, .duet-tab.has-content-id.selected {
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
:host(.user-is-tabbing) .duet-tab:focus {
|
|
33
|
+
outline: 0;
|
|
34
|
+
box-shadow: 0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3;
|
|
35
|
+
}
|
|
36
|
+
:host(.user-is-tabbing) .duet-tab.duet-theme-turva:focus {
|
|
37
|
+
box-shadow: 0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a;
|
|
28
38
|
}
|
|
@@ -2,9 +2,48 @@
|
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
4
|
import { Build, h } from "@stencil/core";
|
|
5
|
+
import { inheritGlobalTheme } from "../../common";
|
|
6
|
+
import { subscribeTabbingChange, unsubscribeTabbingChange } from "../../utils/keyboard-utils";
|
|
5
7
|
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLocaleString, } from "../../utils/language-utils";
|
|
8
|
+
import { getShadowByName } from "../../utils/token-utils";
|
|
6
9
|
export class DuetTab {
|
|
7
10
|
constructor() {
|
|
11
|
+
this.setupContentElement = () => {
|
|
12
|
+
if (this.contentId) {
|
|
13
|
+
this.tabpanelElement = document.getElementById(this.contentId);
|
|
14
|
+
if (this.tabpanelElement) {
|
|
15
|
+
this.tabpanelElement.setAttribute("role", "tabpanel");
|
|
16
|
+
this.tabpanelElement.setAttribute("tabindex", "-1");
|
|
17
|
+
this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener);
|
|
18
|
+
this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener);
|
|
19
|
+
this.tabpanelElement.addEventListener("focus", this.tabpanelElementFocusListener);
|
|
20
|
+
this.tabpanelElement.addEventListener("blur", this.tabpanelElementBlurListener);
|
|
21
|
+
if (this.accessibleDescription) {
|
|
22
|
+
this.tabpanelElement.setAttribute("aria-description", this.accessibleDescription);
|
|
23
|
+
}
|
|
24
|
+
if (this.accessibleLabelledBy) {
|
|
25
|
+
this.tabpanelElement.setAttribute("aria-labelledby", this.accessibleLabelledBy);
|
|
26
|
+
}
|
|
27
|
+
if (this.selected) {
|
|
28
|
+
this.tabpanelElement.toggleAttribute("hidden", false);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.tabpanelElement.toggleAttribute("hidden", true);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
this.tabpanelElementFocusListener = () => {
|
|
37
|
+
if (this.element.classList.contains("user-is-tabbing")) {
|
|
38
|
+
this.tabpanelElement.style.outline = "0";
|
|
39
|
+
this.tabpanelElement.style.boxShadow = getShadowByName(this.theme === "turva" ? "focus-turva" : "focus");
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
this.tabpanelElementBlurListener = () => {
|
|
43
|
+
this.tabpanelElement.style.outline = null;
|
|
44
|
+
this.tabpanelElement.style.boxShadow = null;
|
|
45
|
+
};
|
|
46
|
+
this.theme = "";
|
|
8
47
|
this.label = undefined;
|
|
9
48
|
this.caption = undefined;
|
|
10
49
|
this.selected = undefined;
|
|
@@ -14,15 +53,44 @@ export class DuetTab {
|
|
|
14
53
|
? getLocaleString(this.accessibleDescriptionDefault)
|
|
15
54
|
: null;
|
|
16
55
|
this.accessibleLabelledBy = undefined;
|
|
56
|
+
this.contentId = undefined;
|
|
57
|
+
}
|
|
58
|
+
componentWillLoad() {
|
|
59
|
+
inheritGlobalTheme(this);
|
|
17
60
|
}
|
|
18
61
|
/**
|
|
19
62
|
* Component lifecycle events.
|
|
20
63
|
*/
|
|
21
64
|
connectedCallback() {
|
|
22
65
|
connectLanguageChangeObserver(this, { prop: "accessibleDescription", defaults: "accessibleDescriptionDefault" });
|
|
66
|
+
subscribeTabbingChange(this);
|
|
67
|
+
this.setupContentElement();
|
|
23
68
|
}
|
|
24
69
|
disconnectedCallback() {
|
|
25
70
|
disconnectLanguageChangeObserver(this);
|
|
71
|
+
unsubscribeTabbingChange(this);
|
|
72
|
+
if (this.tabpanelElement) {
|
|
73
|
+
this.tabpanelElement.removeAttribute("role");
|
|
74
|
+
this.tabpanelElement.removeAttribute("tabindex");
|
|
75
|
+
this.tabpanelElement.removeAttribute("aria-description");
|
|
76
|
+
this.tabpanelElement.removeAttribute("aria-labelledby");
|
|
77
|
+
this.tabpanelElement.removeAttribute("hidden");
|
|
78
|
+
this.tabpanelElement.removeEventListener("focus", this.tabpanelElementFocusListener.bind(this));
|
|
79
|
+
this.tabpanelElement.removeEventListener("blur", this.tabpanelElementBlurListener.bind(this));
|
|
80
|
+
this.tabpanelElement = undefined;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
setupSelected(newValue, oldValue) {
|
|
84
|
+
if (!!newValue === !!oldValue) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.setupContentElement();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Sets focus on the tab panel.
|
|
91
|
+
*/
|
|
92
|
+
async setFocus(options) {
|
|
93
|
+
this.tabpanelElement.focus(options);
|
|
26
94
|
}
|
|
27
95
|
/**
|
|
28
96
|
* render() function
|
|
@@ -32,7 +100,16 @@ export class DuetTab {
|
|
|
32
100
|
if (Build.isServer) {
|
|
33
101
|
return;
|
|
34
102
|
}
|
|
35
|
-
return (h("div", {
|
|
103
|
+
return (h("div", { ref: element => {
|
|
104
|
+
if (!this.contentId) {
|
|
105
|
+
this.tabpanelElement = element;
|
|
106
|
+
}
|
|
107
|
+
}, role: "tabpanel", class: {
|
|
108
|
+
"duet-theme-turva": this.theme === "turva",
|
|
109
|
+
"duet-tab": true,
|
|
110
|
+
selected: this.selected,
|
|
111
|
+
"has-content-id": !!this.contentId,
|
|
112
|
+
}, "aria-description": this.accessibleDescription, "aria-labelledby": this.accessibleLabelledBy, tabindex: "-1" }, h("slot", null)));
|
|
36
113
|
}
|
|
37
114
|
static get is() { return "duet-tab"; }
|
|
38
115
|
static get encapsulation() { return "scoped"; }
|
|
@@ -48,6 +125,30 @@ export class DuetTab {
|
|
|
48
125
|
}
|
|
49
126
|
static get properties() {
|
|
50
127
|
return {
|
|
128
|
+
"theme": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"mutable": true,
|
|
131
|
+
"complexType": {
|
|
132
|
+
"original": "DuetTheme",
|
|
133
|
+
"resolved": "\"\" | \"default\" | \"turva\"",
|
|
134
|
+
"references": {
|
|
135
|
+
"DuetTheme": {
|
|
136
|
+
"location": "import",
|
|
137
|
+
"path": "../../common-types",
|
|
138
|
+
"id": "src/common-types.d.ts::DuetTheme"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"required": false,
|
|
143
|
+
"optional": false,
|
|
144
|
+
"docs": {
|
|
145
|
+
"tags": [],
|
|
146
|
+
"text": "Theme of the component."
|
|
147
|
+
},
|
|
148
|
+
"attribute": "theme",
|
|
149
|
+
"reflect": false,
|
|
150
|
+
"defaultValue": "\"\""
|
|
151
|
+
},
|
|
51
152
|
"label": {
|
|
52
153
|
"type": "string",
|
|
53
154
|
"mutable": false,
|
|
@@ -164,8 +265,61 @@ export class DuetTab {
|
|
|
164
265
|
"attribute": "accessible-labelled-by",
|
|
165
266
|
"reflect": false,
|
|
166
267
|
"defaultValue": "undefined"
|
|
268
|
+
},
|
|
269
|
+
"contentId": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"mutable": false,
|
|
272
|
+
"complexType": {
|
|
273
|
+
"original": "string",
|
|
274
|
+
"resolved": "string",
|
|
275
|
+
"references": {}
|
|
276
|
+
},
|
|
277
|
+
"required": false,
|
|
278
|
+
"optional": false,
|
|
279
|
+
"docs": {
|
|
280
|
+
"tags": [],
|
|
281
|
+
"text": "HTML id of element that is to be used when opening this tab.\nThis enables decoupling the content from the tab buttons."
|
|
282
|
+
},
|
|
283
|
+
"attribute": "content-id",
|
|
284
|
+
"reflect": false,
|
|
285
|
+
"defaultValue": "undefined"
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
static get methods() {
|
|
290
|
+
return {
|
|
291
|
+
"setFocus": {
|
|
292
|
+
"complexType": {
|
|
293
|
+
"signature": "(options?: FocusOptions) => Promise<void>",
|
|
294
|
+
"parameters": [{
|
|
295
|
+
"name": "options",
|
|
296
|
+
"type": "FocusOptions",
|
|
297
|
+
"docs": ""
|
|
298
|
+
}],
|
|
299
|
+
"references": {
|
|
300
|
+
"Promise": {
|
|
301
|
+
"location": "global",
|
|
302
|
+
"id": "global::Promise"
|
|
303
|
+
},
|
|
304
|
+
"FocusOptions": {
|
|
305
|
+
"location": "global",
|
|
306
|
+
"id": "global::FocusOptions"
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
"return": "Promise<void>"
|
|
310
|
+
},
|
|
311
|
+
"docs": {
|
|
312
|
+
"text": "Sets focus on the tab panel.",
|
|
313
|
+
"tags": []
|
|
314
|
+
}
|
|
167
315
|
}
|
|
168
316
|
};
|
|
169
317
|
}
|
|
170
318
|
static get elementRef() { return "element"; }
|
|
319
|
+
static get watchers() {
|
|
320
|
+
return [{
|
|
321
|
+
"propName": "selected",
|
|
322
|
+
"methodName": "setupSelected"
|
|
323
|
+
}];
|
|
324
|
+
}
|
|
171
325
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
import { inheritGlobalTheme } from "../../common";
|
|
6
6
|
import { createID } from "../../utils/create-id";
|
|
7
|
-
import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, subscribeTabbingChange, unsubscribeTabbingChange, } from "../../utils/keyboard-utils";
|
|
7
|
+
import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isShiftTabKey, isTabKey, subscribeTabbingChange, unsubscribeTabbingChange, } from "../../utils/keyboard-utils";
|
|
8
8
|
import { getLanguage, getLocaleString } from "../../utils/language-utils";
|
|
9
9
|
/**
|
|
10
10
|
* @part ${identifier}-button - piercing selector for styling tab buttons
|
|
@@ -24,6 +24,10 @@ export class DuetTabGroup {
|
|
|
24
24
|
else if (isArrowRightKey(ev) || isArrowDownKey(ev)) {
|
|
25
25
|
button = ev.target.nextElementSibling;
|
|
26
26
|
}
|
|
27
|
+
if (isTabKey(ev) && !isShiftTabKey(ev)) {
|
|
28
|
+
ev.preventDefault();
|
|
29
|
+
this.element.querySelector("duet-tab[selected]").setFocus();
|
|
30
|
+
}
|
|
27
31
|
if (button) {
|
|
28
32
|
ev.preventDefault();
|
|
29
33
|
button.click();
|
|
@@ -56,7 +60,7 @@ export class DuetTabGroup {
|
|
|
56
60
|
};
|
|
57
61
|
this.renderTab = () => {
|
|
58
62
|
const renderedTabs = this.tabs.map((element, index) => {
|
|
59
|
-
return (h("button", { role: "tab", id: this.getButtonId(index), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index), tabindex:
|
|
63
|
+
return (h("button", { role: "tab", id: this.getButtonId(index), "aria-selected": element.selected ? "true" : "false", "aria-description": this.getAccessibleDescription(index), tabindex: element.selected ? "0" : "-1", part: `${this.identifier}-button ${element.selected ? `${this.identifier}-button--selected` : ""}`, type: "button", class: {
|
|
60
64
|
"duet-p-0": this.padding === "none",
|
|
61
65
|
"duet-tab-button": true,
|
|
62
66
|
"stackable-tab": this.variation === "checked" && this.tabs.length <= 3,
|
|
@@ -214,7 +218,7 @@ export class DuetTabGroup {
|
|
|
214
218
|
"duet-tab-group-collapses": this.collapses,
|
|
215
219
|
}, ref: el => {
|
|
216
220
|
this.tabsContainer = el;
|
|
217
|
-
} }, this.renderTab()), h("div", {
|
|
221
|
+
} }, this.renderTab()), h("div", { class: {
|
|
218
222
|
"duet-tab-group-content": true,
|
|
219
223
|
"duet-m-0": this.margin === "none",
|
|
220
224
|
"checked-group-content": this.variation === "checked",
|
|
@@ -321,7 +325,7 @@ export class DuetTabGroup {
|
|
|
321
325
|
"references": {
|
|
322
326
|
"DuetTabVariation": {
|
|
323
327
|
"location": "local",
|
|
324
|
-
"path": "/Users/
|
|
328
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
|
|
325
329
|
"id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabVariation"
|
|
326
330
|
}
|
|
327
331
|
}
|
|
@@ -509,8 +513,11 @@ export class DuetTabGroup {
|
|
|
509
513
|
"required": false,
|
|
510
514
|
"optional": false,
|
|
511
515
|
"docs": {
|
|
512
|
-
"tags": [
|
|
513
|
-
|
|
516
|
+
"tags": [{
|
|
517
|
+
"name": "deprecated",
|
|
518
|
+
"text": "in favour of Duet Tab component owning the tab indexing\nControls if tab container should have tab index and be accessible by pressing tab"
|
|
519
|
+
}],
|
|
520
|
+
"text": ""
|
|
514
521
|
},
|
|
515
522
|
"attribute": "set-tab-index",
|
|
516
523
|
"reflect": false,
|
|
@@ -562,7 +569,7 @@ export class DuetTabGroup {
|
|
|
562
569
|
"references": {
|
|
563
570
|
"DuetTabGroupEvent": {
|
|
564
571
|
"location": "local",
|
|
565
|
-
"path": "/Users/
|
|
572
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
|
|
566
573
|
"id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
|
|
567
574
|
}
|
|
568
575
|
}
|
|
@@ -583,7 +590,7 @@ export class DuetTabGroup {
|
|
|
583
590
|
"references": {
|
|
584
591
|
"DuetTabGroupEvent": {
|
|
585
592
|
"location": "local",
|
|
586
|
-
"path": "/Users/
|
|
593
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
|
|
587
594
|
"id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
|
|
588
595
|
}
|
|
589
596
|
}
|
|
@@ -604,7 +611,7 @@ export class DuetTabGroup {
|
|
|
604
611
|
"references": {
|
|
605
612
|
"DuetTabGroupEvent": {
|
|
606
613
|
"location": "local",
|
|
607
|
-
"path": "/Users/
|
|
614
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
|
|
608
615
|
"id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
|
|
609
616
|
}
|
|
610
617
|
}
|
|
@@ -628,7 +635,7 @@ export class DuetTabGroup {
|
|
|
628
635
|
},
|
|
629
636
|
"DuetTabGroupEvent": {
|
|
630
637
|
"location": "local",
|
|
631
|
-
"path": "/Users/
|
|
638
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tab-group/duet-tab-group.tsx",
|
|
632
639
|
"id": "src/components/duet-tab-group/duet-tab-group.tsx::DuetTabGroupEvent"
|
|
633
640
|
}
|
|
634
641
|
},
|
|
@@ -5,7 +5,7 @@ import { Build, h, Host, } from "@stencil/core";
|
|
|
5
5
|
import { inheritGlobalTheme } from "../../common";
|
|
6
6
|
import { createID } from "../../utils/create-id";
|
|
7
7
|
import { cleanValue } from "../../utils/input-utils";
|
|
8
|
-
import {
|
|
8
|
+
import { checkNamedSlotElement } from "../../utils/slot-utils";
|
|
9
9
|
const CharacterCount = ({ value, maxlength, label, theme }) => {
|
|
10
10
|
if (maxlength == null) {
|
|
11
11
|
return;
|
|
@@ -130,6 +130,7 @@ export class DuetTextarea {
|
|
|
130
130
|
inheritGlobalTheme(this);
|
|
131
131
|
this.disallowedPatternChange();
|
|
132
132
|
this.isCaptionVisible = !!this.caption;
|
|
133
|
+
checkNamedSlotElement(this.element, "tooltip", "duet-tooltip", 1, true);
|
|
133
134
|
if (this.counter && this.maxlength == null) {
|
|
134
135
|
console.warn("[DUET WARNING]: counter will only take effect if maxlength is set");
|
|
135
136
|
}
|
|
@@ -166,7 +167,7 @@ export class DuetTextarea {
|
|
|
166
167
|
"duet-label-hidden": this.labelHidden,
|
|
167
168
|
"duet-input-top-caption-shown": this.isCaptionVisible,
|
|
168
169
|
"has-error": !!this.error,
|
|
169
|
-
} }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { name: "tooltip"
|
|
170
|
+
} }, h("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { name: "tooltip" }), this.caption && (h("duet-caption", { id: this.topCaptionId, size: "medium", theme: this.theme === "turva" ? "turva" : "default" }, this.caption)), h("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h("duet-grid", { alignment: "stretch" }, h("duet-grid-item", { margin: "none", fill: true }, h("div", { class: "duet-textarea-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", null, this.error))), h("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))), this.counter && (h("duet-visually-hidden", { class: "duet-visually-hidden", id: this.characterCountId, ref: el => {
|
|
170
171
|
this.hiddenCounterLabel = el;
|
|
171
172
|
} })))));
|
|
172
173
|
}
|
|
@@ -806,7 +807,7 @@ export class DuetTextarea {
|
|
|
806
807
|
"references": {
|
|
807
808
|
"DuetTextareaEvent": {
|
|
808
809
|
"location": "local",
|
|
809
|
-
"path": "/Users/
|
|
810
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
|
|
810
811
|
"id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
|
|
811
812
|
}
|
|
812
813
|
}
|
|
@@ -827,7 +828,7 @@ export class DuetTextarea {
|
|
|
827
828
|
"references": {
|
|
828
829
|
"DuetTextareaEvent": {
|
|
829
830
|
"location": "local",
|
|
830
|
-
"path": "/Users/
|
|
831
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
|
|
831
832
|
"id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
|
|
832
833
|
}
|
|
833
834
|
}
|
|
@@ -848,7 +849,7 @@ export class DuetTextarea {
|
|
|
848
849
|
"references": {
|
|
849
850
|
"DuetTextareaEvent": {
|
|
850
851
|
"location": "local",
|
|
851
|
-
"path": "/Users/
|
|
852
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
|
|
852
853
|
"id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
|
|
853
854
|
}
|
|
854
855
|
}
|
|
@@ -869,7 +870,7 @@ export class DuetTextarea {
|
|
|
869
870
|
"references": {
|
|
870
871
|
"DuetTextareaEvent": {
|
|
871
872
|
"location": "local",
|
|
872
|
-
"path": "/Users/
|
|
873
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-textarea/duet-textarea.tsx",
|
|
873
874
|
"id": "src/components/duet-textarea/duet-textarea.tsx::DuetTextareaEvent"
|
|
874
875
|
}
|
|
875
876
|
}
|
|
@@ -486,7 +486,7 @@ export class DuetToggle {
|
|
|
486
486
|
"references": {
|
|
487
487
|
"DuetToggleChangeEvent": {
|
|
488
488
|
"location": "local",
|
|
489
|
-
"path": "/Users/
|
|
489
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-toggle/duet-toggle.tsx",
|
|
490
490
|
"id": "src/components/duet-toggle/duet-toggle.tsx::DuetToggleChangeEvent"
|
|
491
491
|
}
|
|
492
492
|
}
|
|
@@ -58,7 +58,7 @@ export class DuetToolbarDropdown {
|
|
|
58
58
|
} }, h("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", "aria-current": this.active ? "true" : "false", "aria-label": this.accessibleLabel, id: "button", type: "button", class: {
|
|
59
59
|
active: this.active,
|
|
60
60
|
open: this.open,
|
|
61
|
-
}, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("
|
|
61
|
+
}, onClick: this.onClick, onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("span", { class: "label" }, h("slot", { name: "label" }), h("duet-icon", { class: "caret", theme: this.theme, name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), h("div", { tabindex: "-1", role: "menu", id: "menu", "aria-labelledby": "button", class: {
|
|
62
62
|
items: true,
|
|
63
63
|
hidden: !this.open,
|
|
64
64
|
} }, h("slot", null)))));
|
|
@@ -14,30 +14,35 @@ async function openWithClick(page) {
|
|
|
14
14
|
const popup = await getPopup(page);
|
|
15
15
|
await trigger.click();
|
|
16
16
|
await popup.waitForVisible();
|
|
17
|
+
await page.waitForChanges();
|
|
17
18
|
}
|
|
18
19
|
async function closeWithClick(page) {
|
|
19
20
|
const trigger = await getTrigger(page);
|
|
20
21
|
const popup = await getPopup(page);
|
|
21
22
|
await trigger.click();
|
|
22
23
|
await popup.waitForNotVisible();
|
|
24
|
+
await page.waitForChanges();
|
|
23
25
|
}
|
|
24
26
|
async function clickOutside(page) {
|
|
25
27
|
const popup = await getPopup(page);
|
|
26
28
|
await page.mouse.click(0, 0);
|
|
27
29
|
await page.waitForChanges();
|
|
28
30
|
await popup.waitForNotVisible();
|
|
31
|
+
await page.waitForChanges();
|
|
29
32
|
}
|
|
30
33
|
async function clickCloseButton(page) {
|
|
31
34
|
const popup = await getPopup(page);
|
|
32
35
|
const closeButton = await page.find(`duet-tooltip-popup >>> .duet-tooltip-close`);
|
|
33
36
|
await closeButton.click();
|
|
34
37
|
await popup.waitForNotVisible();
|
|
38
|
+
await page.waitForChanges();
|
|
35
39
|
}
|
|
36
40
|
async function closeWithEsc(page) {
|
|
37
41
|
const popup = await getPopup(page);
|
|
38
42
|
await page.keyboard.press("Escape");
|
|
39
43
|
await page.waitForChanges();
|
|
40
44
|
await popup.waitForNotVisible();
|
|
45
|
+
await page.waitForChanges();
|
|
41
46
|
}
|
|
42
47
|
describe("duet-tooltip", () => {
|
|
43
48
|
it("should render a tooltip", async () => {
|
|
@@ -28,13 +28,21 @@ export class DuetTooltip {
|
|
|
28
28
|
*/
|
|
29
29
|
this.openTooltip = () => {
|
|
30
30
|
this.active = true;
|
|
31
|
-
|
|
31
|
+
setTimeout(() => {
|
|
32
|
+
this.contentEl.focus({ preventScroll: true });
|
|
33
|
+
this.buttonActive = true;
|
|
34
|
+
}, 200);
|
|
32
35
|
};
|
|
33
36
|
this.closeTooltip = (moveFocusToButton = false) => {
|
|
34
37
|
this.active = false;
|
|
35
38
|
if (moveFocusToButton) {
|
|
36
|
-
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
this.buttonEl.setFocus({ preventScroll: true });
|
|
41
|
+
}, 200);
|
|
37
42
|
}
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
this.buttonActive = false;
|
|
45
|
+
}, 201);
|
|
38
46
|
setTimeout(() => {
|
|
39
47
|
this.updatePlacement();
|
|
40
48
|
}, 200);
|
|
@@ -73,6 +81,7 @@ export class DuetTooltip {
|
|
|
73
81
|
this.tooltipX = undefined;
|
|
74
82
|
this.arrowX = undefined;
|
|
75
83
|
this.arrowY = undefined;
|
|
84
|
+
this.buttonActive = undefined;
|
|
76
85
|
this.theme = "";
|
|
77
86
|
this.language = getLanguage();
|
|
78
87
|
this.accessibleLabelDefault = {
|
|
@@ -101,6 +110,7 @@ export class DuetTooltip {
|
|
|
101
110
|
*/
|
|
102
111
|
componentWillLoad() {
|
|
103
112
|
inheritGlobalTheme(this);
|
|
113
|
+
this.buttonActive = this.active;
|
|
104
114
|
}
|
|
105
115
|
async componentDidLoad() {
|
|
106
116
|
if (Build.isServer) {
|
|
@@ -115,19 +125,6 @@ export class DuetTooltip {
|
|
|
115
125
|
this.intersectionObserver = new IntersectionObserver(this.updatePlacement, { root: document.body });
|
|
116
126
|
this.intersectionObserver.observe(this.element);
|
|
117
127
|
}
|
|
118
|
-
componentDidUpdate() {
|
|
119
|
-
switch (this.focusTarget) {
|
|
120
|
-
case "tooltip":
|
|
121
|
-
// delay focus so button is correctly announced as "expanded"
|
|
122
|
-
setTimeout(() => this.contentEl.focus({ preventScroll: true }));
|
|
123
|
-
break;
|
|
124
|
-
case "trigger":
|
|
125
|
-
// delay focus so button is correctly announced as "collapsed"
|
|
126
|
-
setTimeout(() => this.buttonEl.setFocus({ preventScroll: true }));
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
this.focusTarget = null;
|
|
130
|
-
}
|
|
131
128
|
connectedCallback() {
|
|
132
129
|
connectLanguageChangeObserver(this, [
|
|
133
130
|
{ prop: "accessibleLabel", defaults: "accessibleLabelDefault" },
|
|
@@ -210,7 +207,7 @@ export class DuetTooltip {
|
|
|
210
207
|
top: this.arrowY ? `${this.arrowY}px` : undefined,
|
|
211
208
|
left: this.arrowX ? `${this.arrowX}px` : undefined,
|
|
212
209
|
};
|
|
213
|
-
return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.
|
|
210
|
+
return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.buttonActive, tooltipId: this.tooltipId, label: this.label, accessibleLabel: (this.accessibleInputLabel && `${this.accessibleInputLabel}, ${this.accessibleLabel}`) ||
|
|
214
211
|
(this.accessibleAboutLabel &&
|
|
215
212
|
`${this.accessibleLabel} ${this.aboutString[this.language]} ${this.accessibleAboutLabel}`) ||
|
|
216
213
|
this.accessibleLabel, onClick: this.toggleOpen, theme: this.theme }), h("div", { style: popupContainerStyles }, h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, theme: this.theme }, h("slot", null)))));
|
|
@@ -443,7 +440,7 @@ export class DuetTooltip {
|
|
|
443
440
|
"references": {
|
|
444
441
|
"DuetTooltipBreakpoint": {
|
|
445
442
|
"location": "local",
|
|
446
|
-
"path": "/Users/
|
|
443
|
+
"path": "/Users/laaksju3/duetds/packages/components/src/components/duet-tooltip/duet-tooltip.tsx",
|
|
447
444
|
"id": "src/components/duet-tooltip/duet-tooltip.tsx::DuetTooltipBreakpoint"
|
|
448
445
|
}
|
|
449
446
|
}
|
|
@@ -544,7 +541,8 @@ export class DuetTooltip {
|
|
|
544
541
|
"tooltipY": {},
|
|
545
542
|
"tooltipX": {},
|
|
546
543
|
"arrowX": {},
|
|
547
|
-
"arrowY": {}
|
|
544
|
+
"arrowY": {},
|
|
545
|
+
"buttonActive": {}
|
|
548
546
|
};
|
|
549
547
|
}
|
|
550
548
|
static get elementRef() { return "element"; }
|