@duetds/components 9.1.2 → 9.2.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 +581 -354
- package/lib/cjs/a11y-utils-76311b95.js +20 -0
- package/lib/cjs/{app-globals-75ae6194.js → app-globals-940f10af.js} +1 -1
- package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
- package/lib/cjs/duet-alert.cjs.entry.js +4 -4
- package/lib/cjs/duet-badge.cjs.entry.js +4 -4
- package/lib/cjs/duet-banner.cjs.entry.js +4 -4
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
- package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-callout.cjs.entry.js +5 -5
- package/lib/cjs/duet-caption_4.cjs.entry.js +14 -25
- package/lib/cjs/duet-card.cjs.entry.js +4 -4
- package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
- package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
- package/lib/cjs/duet-chip_3.cjs.entry.js +653 -0
- package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
- package/lib/cjs/duet-combobox.cjs.entry.js +43 -39
- package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +5 -5
- package/lib/cjs/duet-divider_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +11 -11
- package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
- package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
- package/lib/cjs/duet-file-chooser.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +4 -4
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +6 -6
- package/lib/cjs/duet-hero.cjs.entry.js +4 -4
- package/lib/cjs/duet-icon.cjs.entry.js +6 -6
- package/lib/cjs/duet-input_2.cjs.entry.js +101 -12
- package/lib/cjs/duet-layout.cjs.entry.js +7 -10
- package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-menu-bar-item.cjs.entry.js +24 -6
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
- package/lib/cjs/duet-modal.cjs.entry.js +11 -11
- package/lib/cjs/duet-multiselect.cjs.entry.js +9 -9
- package/lib/cjs/duet-nav.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +8 -8
- package/lib/cjs/duet-number-input.cjs.entry.js +4 -4
- package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
- package/lib/cjs/duet-page-heading.cjs.entry.js +4 -4
- package/lib/cjs/duet-pagination_2.cjs.entry.js +19 -19
- package/lib/cjs/duet-progress.cjs.entry.js +3 -3
- package/lib/cjs/duet-promo-card.cjs.entry.js +7 -7
- package/lib/cjs/duet-radio_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-range-slider.cjs.entry.js +3 -3
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +49 -28
- package/lib/cjs/duet-section-layout.cjs.entry.js +5 -6
- package/lib/cjs/duet-select.cjs.entry.js +3 -3
- package/lib/cjs/duet-shaped-image.cjs.entry.js +3 -3
- package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
- package/lib/cjs/duet-slideout.cjs.entry.js +11 -11
- package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
- package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +23 -5
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +8 -8
- package/lib/cjs/duet-textarea.cjs.entry.js +7 -7
- package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-toolbar-item.cjs.entry.js +25 -6
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +8 -8
- package/lib/cjs/duet-tooltip.cjs.entry.js +3 -3
- package/lib/cjs/duet-tray.cjs.entry.js +6 -6
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-item.cjs.entry.js +5 -5
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
- package/lib/cjs/duet.cjs.js +3 -3
- package/lib/cjs/{errorcodes.utils-388375fb.js → errorcodes.utils-a9512b40.js} +1 -1
- package/lib/cjs/{focus-utils-8bf2f9fe.js → focus-utils-c9b32897.js} +1 -1
- package/lib/cjs/{index-9e6f7e53.js → index-ce05ed4b.js} +1 -1
- package/lib/cjs/{language-utils-0eb766d8.js → language-utils-04d69d6b.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/{slot-utils-0975145c.js → slot-utils-83d6d31e.js} +1 -1
- package/lib/cjs/{token-utils-ecc7f5a1.js → token-utils-453a4e75.js} +1 -1
- package/lib/cjs/{tokens-1c133754.js → tokens-57e06fe4.js} +25 -25
- package/lib/cjs/{tokens.module-cf303205.js → tokens.module-fcba867f.js} +25 -25
- package/lib/collection/components/duet-action-button/duet-action-button.css +7 -7
- package/lib/collection/components/duet-alert/duet-alert.css +12 -12
- package/lib/collection/components/duet-badge/duet-badge.css +18 -18
- package/lib/collection/components/duet-badge/duet-badge.js +2 -2
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +7 -7
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
- package/lib/collection/components/duet-button/duet-button.css +39 -39
- package/lib/collection/components/duet-callout/duet-callout.css +2 -2
- package/lib/collection/components/duet-callout/duet-callout.js +2 -2
- package/lib/collection/components/duet-caption/duet-caption.css +2 -2
- package/lib/collection/components/duet-card/duet-card.css +6 -6
- package/lib/collection/components/duet-checkbox/duet-checkbox.css +16 -16
- package/lib/collection/components/duet-chip/duet-chip.css +83 -28
- package/lib/collection/components/duet-chip/duet-chip.js +102 -6
- package/lib/collection/components/duet-choice/duet-checkmark.css +6 -6
- package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
- package/lib/collection/components/duet-choice/duet-choice.css +50 -50
- package/lib/collection/components/duet-collapsible/duet-collapsible.css +4 -4
- package/lib/collection/components/duet-combobox/duet-combobox-select.js +4 -8
- package/lib/collection/components/duet-combobox/duet-combobox.css +4 -81
- package/lib/collection/components/duet-combobox/duet-combobox.js +37 -25
- package/lib/collection/components/duet-contact-card/duet-contact-card.css +1 -1
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.css +2 -2
- package/lib/collection/components/duet-date-picker/duet-date-picker.css +26 -26
- package/lib/collection/components/duet-divider/duet-divider.css +2 -2
- package/lib/collection/components/duet-empty-state/duet-empty-state.css +2 -2
- package/lib/collection/components/duet-fieldset/duet-fieldset.css +3 -3
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
- package/lib/collection/components/duet-footer/duet-footer.css +5 -5
- package/lib/collection/components/duet-grid-item/duet-grid-item.css +1 -1
- package/lib/collection/components/duet-header/duet-header.css +42 -42
- package/lib/collection/components/duet-heading/duet-heading.css +3 -3
- package/lib/collection/components/duet-hero/duet-hero.css +13 -13
- package/lib/collection/components/duet-icon/duet-icon.js +3 -3
- package/lib/collection/components/duet-input/duet-input.css +39 -37
- package/lib/collection/components/duet-input/duet-input.js +96 -7
- package/lib/collection/components/duet-label/duet-label.css +1 -1
- package/lib/collection/components/duet-layout/duet-layout.css +24 -19
- package/lib/collection/components/duet-layout/duet-layout.js +4 -7
- package/lib/collection/components/duet-link/duet-link.css +9 -9
- package/lib/collection/components/duet-link/duet-link.js +4 -15
- package/lib/collection/components/duet-list/duet-list.js +1 -1
- package/lib/collection/components/duet-list-item/duet-list-item.css +8 -8
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
- package/lib/collection/components/duet-logo/duet-logo.js +1 -1
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +5 -3
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +2 -2
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +2 -2
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +3 -3
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.css +4 -1
- package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +87 -4
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
- package/lib/collection/components/duet-modal/duet-modal.css +6 -6
- package/lib/collection/components/duet-modal/duet-modal.js +6 -6
- package/lib/collection/components/duet-multiselect/duet-multiselect.css +24 -24
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
- package/lib/collection/components/duet-nav/duet-nav.js +1 -1
- package/lib/collection/components/duet-notification/duet-notification.css +9 -9
- package/lib/collection/components/duet-notification/duet-notification.js +2 -2
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +12 -12
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +2 -2
- package/lib/collection/components/duet-number-input/duet-number-input.css +5 -5
- package/lib/collection/components/duet-overlay/duet-overlay.css +1 -1
- package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
- package/lib/collection/components/duet-page-heading/duet-page-heading.css +2 -2
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +2 -2
- package/lib/collection/components/duet-pagination/duet-pagination.css +1 -1
- package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
- package/lib/collection/components/duet-paragraph/duet-paragraph.css +3 -3
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.css +1 -1
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +44 -10
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +13 -5
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +26 -3
- package/lib/collection/components/duet-progress/duet-progress.css +6 -6
- package/lib/collection/components/duet-promo-card/duet-promo-card.css +1 -1
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
- package/lib/collection/components/duet-radio/duet-radio.css +10 -10
- package/lib/collection/components/duet-range-slider/duet-range-slider.css +21 -21
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.css +1 -1
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
- package/lib/collection/components/duet-scrollable/duet-scrollable.css +3 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +38 -16
- package/lib/collection/components/duet-section-layout/duet-section-layout.css +24 -15
- package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -4
- package/lib/collection/components/duet-select/duet-select.css +18 -18
- package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
- package/lib/collection/components/duet-show-more/duet-show-more.css +1 -1
- package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
- package/lib/collection/components/duet-slideout/duet-slideout.css +8 -8
- package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.css +1 -1
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +2 -2
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +10 -10
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +2 -2
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
- package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
- package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
- package/lib/collection/components/duet-step/duet-step.css +4 -4
- package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +9 -9
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +11 -11
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +6 -6
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.css +13 -9
- package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +86 -3
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +9 -9
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.css +27 -27
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
- package/lib/collection/components/duet-table/duet-table.css +30 -30
- package/lib/collection/components/duet-table/duet-table.js +2 -2
- package/lib/collection/components/duet-textarea/duet-textarea.css +27 -27
- package/lib/collection/components/duet-textarea/duet-textarea.js +3 -3
- package/lib/collection/components/duet-toggle/duet-toggle.css +4 -4
- package/lib/collection/components/duet-toolbar/duet-toolbar.css +2 -2
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +11 -11
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +5 -5
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +23 -11
- package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +88 -4
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +8 -8
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +2 -2
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +2 -2
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +10 -10
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +2 -2
- package/lib/collection/components/duet-tray/duet-tray.css +8 -8
- package/lib/collection/components/duet-tray/duet-tray.js +2 -2
- package/lib/collection/components/duet-upload/duet-upload.css +1 -1
- package/lib/collection/components/duet-upload/duet-upload.js +2 -2
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
- package/lib/collection/utils/a11y-utils.js +16 -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 +4 -4
- package/lib/dist-custom-elements/duet-breadcrumb.js +8 -8
- package/lib/dist-custom-elements/duet-breadcrumbs.js +5 -5
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +5 -5
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +6 -6
- 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 +1 -1
- package/lib/dist-custom-elements/duet-choice-group.js +8 -8
- package/lib/dist-custom-elements/duet-choice.js +6 -6
- package/lib/dist-custom-elements/duet-collapsible.js +5 -5
- package/lib/dist-custom-elements/duet-combobox.js +80 -58
- package/lib/dist-custom-elements/duet-contact-card.js +11 -11
- package/lib/dist-custom-elements/duet-cookie-consent.js +8 -8
- package/lib/dist-custom-elements/duet-date-picker.js +14 -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 +9 -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 +11 -11
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +10 -10
- 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 +6 -9
- 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 +4 -4
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +8 -8
- package/lib/dist-custom-elements/duet-menu-bar-item.js +27 -7
- package/lib/dist-custom-elements/duet-menu-bar-link.js +4 -4
- package/lib/dist-custom-elements/duet-menu-bar.js +6 -6
- package/lib/dist-custom-elements/duet-modal.js +16 -16
- package/lib/dist-custom-elements/duet-multiselect.js +16 -16
- package/lib/dist-custom-elements/duet-nav.js +2 -2
- package/lib/dist-custom-elements/duet-notification-drawer.js +8 -8
- package/lib/dist-custom-elements/duet-notification.js +6 -6
- package/lib/dist-custom-elements/duet-number-input.js +13 -13
- package/lib/dist-custom-elements/duet-overlay.js +1 -1
- package/lib/dist-custom-elements/duet-page-heading.js +5 -5
- package/lib/dist-custom-elements/duet-pagination.js +27 -27
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +1 -111
- package/lib/dist-custom-elements/duet-popup-menu.js +1 -277
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +7 -7
- package/lib/dist-custom-elements/duet-radio-group.js +8 -8
- package/lib/dist-custom-elements/duet-radio.js +2 -2
- package/lib/dist-custom-elements/duet-range-slider.js +5 -5
- package/lib/dist-custom-elements/duet-range-stepper.js +8 -8
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +5 -6
- 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 +1 -1
- package/lib/dist-custom-elements/duet-slideout-lang.js +4 -4
- package/lib/dist-custom-elements/duet-slideout-link.js +5 -5
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +7 -7
- package/lib/dist-custom-elements/duet-slideout-panel.js +10 -10
- package/lib/dist-custom-elements/duet-slideout.js +10 -10
- 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 +6 -6
- package/lib/dist-custom-elements/duet-stepper.js +3 -3
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +9 -9
- package/lib/dist-custom-elements/duet-submenu-bar-item.js +27 -7
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +5 -5
- package/lib/dist-custom-elements/duet-submenu-bar.js +10 -10
- package/lib/dist-custom-elements/duet-tab-group.js +20 -20
- package/lib/dist-custom-elements/duet-tab.js +3 -3
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +14 -14
- package/lib/dist-custom-elements/duet-toggle.js +4 -4
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +8 -8
- package/lib/dist-custom-elements/duet-toolbar-item.js +28 -7
- package/lib/dist-custom-elements/duet-toolbar-link.js +5 -5
- package/lib/dist-custom-elements/duet-toolbar.js +4 -4
- 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 +8 -8
- 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 +22 -22
- 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-01dec611.js +368 -0
- package/lib/dist-custom-elements/{p-9635880c.js → p-0cf30970.js} +6 -6
- package/lib/dist-custom-elements/{p-dc26d4a2.js → p-0e77715d.js} +25 -25
- package/lib/dist-custom-elements/{p-926dfd0d.js → p-1149a5f1.js} +1 -1
- package/lib/dist-custom-elements/{p-7dfb4906.js → p-14903ee8.js} +6 -6
- package/lib/dist-custom-elements/{p-53d15ae4.js → p-1749d98a.js} +43 -22
- package/lib/dist-custom-elements/{p-8979d055.js → p-1cea02c6.js} +3 -3
- package/lib/dist-custom-elements/{p-cc58e64e.js → p-1cf7db2a.js} +3 -3
- package/lib/dist-custom-elements/{p-c5f82e3b.js → p-28807fbd.js} +2 -2
- package/lib/dist-custom-elements/{p-132de48f.js → p-29c84284.js} +4 -4
- package/lib/dist-custom-elements/{p-434e64ad.js → p-2cc77e29.js} +9 -9
- package/lib/dist-custom-elements/{p-cd8e9097.js → p-329cec9e.js} +2 -2
- package/lib/dist-custom-elements/{p-7a8eda34.js → p-3883514c.js} +5 -5
- package/lib/dist-custom-elements/{p-39b4be25.js → p-3d136f5c.js} +8 -8
- package/lib/dist-custom-elements/{p-1e7abd9f.js → p-55342fcd.js} +8 -19
- package/lib/dist-custom-elements/{p-b1aa75c1.js → p-55989a50.js} +7 -7
- package/lib/dist-custom-elements/p-570cecb0.js +119 -0
- package/lib/dist-custom-elements/{p-16a278f4.js → p-5e4809d5.js} +6 -6
- package/lib/dist-custom-elements/{p-a1979351.js → p-6fdef72e.js} +2 -2
- package/lib/dist-custom-elements/{p-00d7b302.js → p-72bc5f40.js} +3 -3
- package/lib/dist-custom-elements/{p-6081e535.js → p-782759f5.js} +2 -2
- package/lib/dist-custom-elements/{p-3caf29d6.js → p-791ee647.js} +2 -2
- package/lib/dist-custom-elements/{p-52618a53.js → p-87248c43.js} +3 -3
- package/lib/dist-custom-elements/{p-a7559bee.js → p-95fb5b4b.js} +7 -7
- package/lib/dist-custom-elements/{p-e399097c.js → p-9f461090.js} +3 -3
- package/lib/dist-custom-elements/{p-fac41d14.js → p-9fa78368.js} +1 -1
- package/lib/dist-custom-elements/{p-8acea31f.js → p-a407fdb5.js} +3 -3
- package/lib/dist-custom-elements/{p-11d8af72.js → p-a89ea763.js} +6 -6
- package/lib/dist-custom-elements/{p-fdc2bf62.js → p-aa53a402.js} +12 -12
- package/lib/dist-custom-elements/{p-7a7a6a7b.js → p-aad2ab95.js} +9 -9
- package/lib/dist-custom-elements/{p-ddb9e9be.js → p-ab30a756.js} +4 -4
- package/lib/{esm/duet-popup-menu.entry.js → dist-custom-elements/p-ae917476.js} +69 -20
- package/lib/dist-custom-elements/{p-401837cb.js → p-b87d1e74.js} +4 -4
- package/lib/dist-custom-elements/{p-7c8f29a0.js → p-be13a7a6.js} +6 -6
- package/lib/dist-custom-elements/{p-239cfc2e.js → p-c43f0450.js} +3 -3
- package/lib/dist-custom-elements/{p-c77f9e4d.js → p-c8e032e9.js} +4 -4
- package/lib/dist-custom-elements/{p-785686e3.js → p-ca700701.js} +1 -1
- package/lib/dist-custom-elements/{p-5f658e84.js → p-d00e8f90.js} +107 -18
- package/lib/dist-custom-elements/{p-f5924b7d.js → p-d551ba52.js} +2 -2
- package/lib/dist-custom-elements/{p-f43704a4.js → p-e685687b.js} +2 -2
- package/lib/dist-custom-elements/{p-bec25ec5.js → p-e8594dcd.js} +3 -3
- package/lib/dist-custom-elements/p-f0cc5629.js +18 -0
- package/lib/dist-custom-elements/{p-74f689ae.js → p-f1a4011f.js} +5 -5
- package/lib/{esm/tokens-e0e3d241.js → dist-custom-elements/p-f6000a03.js} +25 -25
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-a1af9ad9.system.entry.js → p-033a796b.system.entry.js} +1 -1
- package/lib/duet/{p-5e2f8206.js → p-03ebb87c.js} +1 -1
- package/lib/duet/{p-ab78e681.entry.js → p-09f97fb6.entry.js} +1 -1
- package/lib/duet/{p-946101a9.js → p-0e91ae89.js} +1 -1
- package/lib/duet/{p-14dc7cf5.entry.js → p-0f61ec4f.entry.js} +1 -1
- package/lib/duet/{p-8f1823c2.system.entry.js → p-102d7289.system.entry.js} +1 -1
- package/lib/duet/p-1117cfde.system.entry.js +4 -0
- package/lib/duet/{p-8c84e41c.entry.js → p-1261a1b5.entry.js} +1 -1
- package/lib/duet/{p-8f2af04b.system.entry.js → p-13f6afbe.system.entry.js} +1 -1
- package/lib/duet/{p-dcf097a9.system.entry.js → p-14a83e9e.system.entry.js} +1 -1
- package/lib/duet/{p-e20b0d90.entry.js → p-151b3794.entry.js} +1 -1
- package/lib/duet/{p-91bf41a8.system.entry.js → p-16a3016e.system.entry.js} +1 -1
- package/lib/duet/p-16e3f6f0.system.entry.js +4 -0
- package/lib/duet/{p-7e06948d.entry.js → p-16ee7d09.entry.js} +1 -1
- package/lib/duet/p-176154a9.system.entry.js +4 -0
- package/lib/duet/{p-f8d41de4.entry.js → p-186dc204.entry.js} +1 -1
- package/lib/duet/{p-a4a42c3e.system.entry.js → p-19097787.system.entry.js} +1 -1
- package/lib/duet/{p-5e502442.system.entry.js → p-1f32a819.system.entry.js} +1 -1
- package/lib/duet/{p-33ca3555.system.entry.js → p-1fb804dc.system.entry.js} +1 -1
- package/lib/duet/{p-123e5149.entry.js → p-2091f634.entry.js} +1 -1
- package/lib/duet/{p-35bf92a1.system.entry.js → p-22b59f78.system.entry.js} +1 -1
- package/lib/duet/{p-50428ca6.entry.js → p-231b853e.entry.js} +1 -1
- package/lib/duet/p-25deb7be.system.entry.js +4 -0
- package/lib/duet/p-28d2739c.entry.js +4 -0
- package/lib/duet/p-2b0552dc.system.entry.js +4 -0
- package/lib/duet/{p-8aaadc21.system.entry.js → p-2c42ece3.system.entry.js} +1 -1
- package/lib/duet/{p-85f4d527.entry.js → p-306faf90.entry.js} +1 -1
- package/lib/duet/p-30947766.entry.js +4 -0
- package/lib/duet/{p-2349ea53.entry.js → p-312f509d.entry.js} +1 -1
- package/lib/duet/p-3363aa75.entry.js +4 -0
- package/lib/duet/{p-f6c25420.system.entry.js → p-36b2ad26.system.entry.js} +1 -1
- package/lib/duet/{p-695da2aa.entry.js → p-375948ff.entry.js} +1 -1
- package/lib/duet/p-37b8bb50.system.entry.js +4 -0
- package/lib/duet/p-386c614c.system.entry.js +4 -0
- package/lib/duet/{p-d3101c8a.system.js → p-39fb8819.system.js} +1 -1
- package/lib/duet/{p-03eab84c.system.entry.js → p-3beb1c58.system.entry.js} +1 -1
- package/lib/duet/{p-12155eae.system.entry.js → p-3c0373cb.system.entry.js} +1 -1
- package/lib/duet/{p-e95fa292.js → p-3d9a63aa.js} +1 -1
- package/lib/duet/{p-d5e996fd.entry.js → p-3e13fb5c.entry.js} +1 -1
- package/lib/duet/{p-c7aea431.entry.js → p-3e15a291.entry.js} +1 -1
- package/lib/duet/{p-31ee8ad8.entry.js → p-4068cfee.entry.js} +1 -1
- package/lib/duet/{p-20a0e98c.entry.js → p-408a9ccb.entry.js} +1 -1
- package/lib/duet/p-4217dab3.system.entry.js +4 -0
- package/lib/duet/{p-6d11c049.entry.js → p-446f79d6.entry.js} +1 -1
- package/lib/duet/p-46030b7e.entry.js +4 -0
- package/lib/duet/{p-c3035dee.system.entry.js → p-48c61eee.system.entry.js} +1 -1
- package/lib/duet/p-48c90346.system.js +4 -0
- package/lib/duet/p-495d8962.system.entry.js +4 -0
- package/lib/duet/{p-bfb824c6.entry.js → p-497263c5.entry.js} +1 -1
- package/lib/duet/{p-0d9de644.entry.js → p-4a657e92.entry.js} +1 -1
- package/lib/duet/p-4d20e324.system.entry.js +4 -0
- package/lib/duet/{p-2c999efc.entry.js → p-50bf90d6.entry.js} +1 -1
- package/lib/duet/{p-0853dd3b.system.js → p-514b6b5b.system.js} +1 -1
- package/lib/duet/{p-5432aefa.system.entry.js → p-528db5b3.system.entry.js} +1 -1
- package/lib/duet/{p-eb8bf9ea.entry.js → p-529aff73.entry.js} +1 -1
- package/lib/duet/p-54fbe5c8.entry.js +4 -0
- package/lib/duet/p-599c6ee4.system.entry.js +4 -0
- package/lib/duet/p-5f6a8312.system.entry.js +4 -0
- package/lib/duet/{p-bf40b101.entry.js → p-5fe9bbe0.entry.js} +1 -1
- package/lib/duet/p-60754704.entry.js +4 -0
- package/lib/duet/p-61fe7d32.entry.js +4 -0
- package/lib/duet/{p-3b668f9d.system.entry.js → p-64030845.system.entry.js} +2 -2
- package/lib/duet/{p-4f47944f.system.entry.js → p-646fcab7.system.entry.js} +1 -1
- package/lib/duet/{p-2f891fbb.system.js → p-6a95a2e3.system.js} +1 -1
- package/lib/duet/p-6adc0389.system.entry.js +4 -0
- package/lib/duet/{p-697c4f57.entry.js → p-6f106108.entry.js} +1 -1
- package/lib/duet/{p-471c18e5.system.entry.js → p-6f53cfb2.system.entry.js} +1 -1
- package/lib/duet/{p-fd40d190.system.entry.js → p-739bfa4e.system.entry.js} +1 -1
- package/lib/duet/{p-0487aadb.system.entry.js → p-753333e9.system.entry.js} +1 -1
- package/lib/duet/{p-8507509a.js → p-75e078ac.js} +1 -1
- package/lib/duet/{p-e05007a2.system.entry.js → p-7712eb09.system.entry.js} +1 -1
- package/lib/duet/{p-730ac0b8.entry.js → p-783cc158.entry.js} +1 -1
- package/lib/duet/{p-8de97e36.entry.js → p-7863c54a.entry.js} +1 -1
- package/lib/duet/p-7a3ae8a9.system.js +4 -0
- package/lib/duet/{p-11d01633.system.entry.js → p-7a41aff3.system.entry.js} +1 -1
- package/lib/duet/{p-4f7a0a49.entry.js → p-7b6bacd8.entry.js} +1 -1
- package/lib/duet/{p-6cd9ae43.entry.js → p-7db5f5b6.entry.js} +1 -1
- package/lib/duet/p-7f94c928.entry.js +4 -0
- package/lib/duet/{p-0fee15c1.system.js → p-8002cdbf.system.js} +1 -1
- package/lib/duet/p-8002d713.system.entry.js +4 -0
- package/lib/duet/{p-758cb2a2.system.entry.js → p-8087cdcd.system.entry.js} +1 -1
- package/lib/duet/{p-3affe362.entry.js → p-81168888.entry.js} +1 -1
- package/lib/duet/{p-4a689653.system.js → p-832862b7.system.js} +1 -1
- package/lib/duet/{p-91374fa5.system.entry.js → p-832e5af8.system.entry.js} +1 -1
- package/lib/duet/{p-73170927.entry.js → p-8486a863.entry.js} +1 -1
- package/lib/duet/{p-9ea9329f.entry.js → p-84b5b372.entry.js} +1 -1
- package/lib/duet/p-8b3b5673.js +4 -0
- package/lib/duet/{p-ae6de40d.entry.js → p-8bee5b14.entry.js} +1 -1
- package/lib/duet/{p-a2ddcf90.entry.js → p-8c95d7e7.entry.js} +1 -1
- package/lib/duet/p-8d947a43.system.entry.js +4 -0
- package/lib/duet/{p-012938af.system.entry.js → p-91b2664a.system.entry.js} +1 -1
- package/lib/duet/p-94eab61e.system.js +4 -0
- package/lib/duet/{p-8cb3b550.system.entry.js → p-961a7a42.system.entry.js} +1 -1
- package/lib/duet/{p-76ebeb39.system.entry.js → p-962a7ed7.system.entry.js} +1 -1
- package/lib/duet/p-9832a62e.system.entry.js +4 -0
- package/lib/duet/{p-ea7dccdf.system.entry.js → p-9abe2d23.system.entry.js} +1 -1
- package/lib/duet/p-9c50306c.system.entry.js +4 -0
- package/lib/duet/{p-c3524f86.system.entry.js → p-9c5717a5.system.entry.js} +1 -1
- package/lib/duet/p-9d0d4329.system.entry.js +4 -0
- package/lib/duet/p-9d7aea44.entry.js +4 -0
- package/lib/duet/{p-60327ec6.system.entry.js → p-a033bafa.system.entry.js} +1 -1
- package/lib/duet/p-a0c1c7d8.system.entry.js +4 -0
- package/lib/duet/p-a0ffaabf.entry.js +4 -0
- package/lib/duet/{p-2b3b6d33.entry.js → p-a1e13f21.entry.js} +1 -1
- package/lib/duet/{p-8a9f676f.system.entry.js → p-a838f364.system.entry.js} +1 -1
- package/lib/duet/{p-934124e4.entry.js → p-a90efe08.entry.js} +1 -1
- package/lib/duet/{p-86f0eef8.system.entry.js → p-aba65c68.system.entry.js} +1 -1
- package/lib/duet/{p-5ed66d93.entry.js → p-ac538db7.entry.js} +1 -1
- package/lib/duet/p-adcd2fb3.entry.js +4 -0
- package/lib/duet/{p-ebca186a.system.entry.js → p-b224ee72.system.entry.js} +1 -1
- package/lib/duet/{p-966bf379.system.entry.js → p-b274ebde.system.entry.js} +1 -1
- package/lib/duet/{p-eb8ddb2c.entry.js → p-b2f64f34.entry.js} +1 -1
- package/lib/duet/{p-541301b8.system.entry.js → p-b3ab4a17.system.entry.js} +1 -1
- package/lib/duet/{p-e1e9de91.entry.js → p-b4df4c57.entry.js} +1 -1
- package/lib/duet/p-b4e4bf04.system.entry.js +4 -0
- package/lib/duet/{p-6e0ff6ff.entry.js → p-b5443923.entry.js} +1 -1
- package/lib/duet/p-b657f08f.system.entry.js +4 -0
- package/lib/duet/{p-64da9c94.system.entry.js → p-ba4bdb0d.system.entry.js} +1 -1
- package/lib/duet/{p-00f584d4.js → p-bb2d58bc.js} +1 -1
- package/lib/duet/{p-7cc379a7.system.entry.js → p-bc2be70e.system.entry.js} +1 -1
- package/lib/duet/p-bc50d23b.entry.js +4 -0
- package/lib/duet/{p-9070bf89.system.entry.js → p-bd2768a5.system.entry.js} +1 -1
- package/lib/duet/p-c1b1b16d.entry.js +4 -0
- package/lib/duet/{p-ecde67f6.entry.js → p-c8783040.entry.js} +1 -1
- package/lib/duet/p-cade991a.entry.js +4 -0
- package/lib/duet/{p-6c917ed9.entry.js → p-cca4a7db.entry.js} +1 -1
- package/lib/duet/p-ccf2bc0a.system.entry.js +4 -0
- package/lib/duet/{p-dc7c2dc7.system.entry.js → p-cd0e3537.system.entry.js} +1 -1
- package/lib/duet/{p-cf05a9a4.entry.js → p-ce754f76.entry.js} +1 -1
- package/lib/duet/{p-b839f59a.system.entry.js → p-ce7987e8.system.entry.js} +1 -1
- package/lib/duet/{p-6df59cfe.entry.js → p-cf1206a8.entry.js} +1 -1
- package/lib/duet/p-d08a89dc.entry.js +4 -0
- package/lib/duet/{p-0b249181.js → p-d11659fd.js} +1 -1
- package/lib/duet/p-d22c889b.entry.js +4 -0
- package/lib/duet/{p-de5b2f37.system.js → p-d6c69f62.system.js} +1 -1
- package/lib/duet/p-d6e16c5d.entry.js +4 -0
- package/lib/duet/{p-fc3f42ab.entry.js → p-d6fbbecc.entry.js} +1 -1
- package/lib/duet/{p-fe661e98.system.entry.js → p-d8d99c33.system.entry.js} +1 -1
- package/lib/duet/{p-064b79e8.entry.js → p-d9ad612c.entry.js} +1 -1
- package/lib/duet/{p-22c7d5ee.entry.js → p-d9b32ab3.entry.js} +1 -1
- package/lib/duet/{p-d4cf8310.system.entry.js → p-db2c01b7.system.entry.js} +1 -1
- package/lib/duet/{p-f368439a.entry.js → p-dcbb4af4.entry.js} +1 -1
- package/lib/duet/p-defbfc15.js +4 -0
- package/lib/duet/{p-9e4c6ea7.system.js → p-dfbd0dd7.system.js} +1 -1
- package/lib/duet/{p-0e255314.system.entry.js → p-e2122bd3.system.entry.js} +1 -1
- package/lib/duet/p-e4c8559c.system.js +4 -0
- package/lib/duet/p-e5997320.entry.js +4 -0
- package/lib/duet/{p-5cd8706b.entry.js → p-e6596826.entry.js} +1 -1
- package/lib/duet/{p-4ab05bd1.system.entry.js → p-e7f0d18b.system.entry.js} +1 -1
- package/lib/duet/{p-18766573.entry.js → p-e8d31be7.entry.js} +1 -1
- package/lib/duet/{p-493a25c0.system.entry.js → p-ead4b210.system.entry.js} +1 -1
- package/lib/duet/{p-754100c9.system.entry.js → p-eaeee3a3.system.entry.js} +1 -1
- package/lib/duet/{p-6faa9435.system.entry.js → p-eb26c1f5.system.entry.js} +1 -1
- package/lib/duet/{p-d46a310c.entry.js → p-eb9677dc.entry.js} +1 -1
- package/lib/duet/{p-5446b2c4.entry.js → p-ec58f8ee.entry.js} +1 -1
- package/lib/duet/{p-7f96f678.entry.js → p-ec5d2407.entry.js} +1 -1
- package/lib/duet/{p-30f2d20a.entry.js → p-ec70084a.entry.js} +1 -1
- package/lib/duet/p-ee067380.system.entry.js +4 -0
- package/lib/duet/{p-902c3cbe.system.entry.js → p-ee52d40a.system.entry.js} +1 -1
- package/lib/duet/{p-c3573c7a.entry.js → p-f0634b57.entry.js} +1 -1
- package/lib/duet/p-f0cc5629.js +4 -0
- package/lib/duet/{p-337009ba.system.entry.js → p-f28acd06.system.entry.js} +1 -1
- package/lib/duet/{p-0b2e581f.entry.js → p-f2957e8e.entry.js} +1 -1
- package/lib/duet/{p-8cacd5d4.entry.js → p-f33f42ce.entry.js} +1 -1
- package/lib/duet/p-f40c4ff4.entry.js +4 -0
- package/lib/duet/{p-632363b9.system.entry.js → p-f48366d3.system.entry.js} +1 -1
- package/lib/duet/p-f6000a03.js +4 -0
- package/lib/duet/{p-c5332265.system.entry.js → p-f6471762.system.entry.js} +2 -2
- package/lib/duet/{p-36637566.system.entry.js → p-f749aa8a.system.entry.js} +2 -2
- package/lib/duet/{p-997146fa.system.entry.js → p-f930128c.system.entry.js} +2 -2
- package/lib/duet/{p-8980f13e.entry.js → p-fa2ef682.entry.js} +1 -1
- package/lib/duet/p-fa3e0628.system.entry.js +4 -0
- package/lib/duet/{p-62cf9516.entry.js → p-fbcd3fb7.entry.js} +1 -1
- package/lib/duet/p-fc100c70.entry.js +4 -0
- package/lib/duet/{p-236df5f1.entry.js → p-fccf2ddc.entry.js} +1 -1
- package/lib/duet/{p-2526c848.entry.js → p-fd5d4f14.entry.js} +1 -1
- package/lib/duet/p-fdbc3f6c.entry.js +4 -0
- package/lib/duet/{p-191f51da.system.entry.js → p-fdbc9c7f.system.entry.js} +1 -1
- package/lib/duet/{p-a1a10757.system.entry.js → p-ffdfb64b.system.entry.js} +2 -2
- package/lib/esm/a11y-utils-92930863.js +18 -0
- package/lib/esm/{app-globals-6cbf18ba.js → app-globals-19322ff1.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +5 -5
- package/lib/esm/duet-alert.entry.js +4 -4
- package/lib/esm/duet-badge.entry.js +4 -4
- package/lib/esm/duet-banner.entry.js +4 -4
- package/lib/esm/duet-breadcrumb.entry.js +6 -6
- package/lib/esm/duet-breadcrumbs.entry.js +7 -7
- package/lib/esm/duet-button_2.entry.js +7 -7
- package/lib/esm/duet-callout.entry.js +5 -5
- package/lib/esm/duet-caption_4.entry.js +14 -25
- package/lib/esm/duet-card.entry.js +4 -4
- package/lib/esm/duet-checkbox.entry.js +2 -2
- package/lib/esm/duet-checkmark.entry.js +4 -4
- package/lib/esm/duet-chip_3.entry.js +647 -0
- package/lib/esm/duet-choice_2.entry.js +4 -4
- package/lib/esm/duet-collapsible.entry.js +4 -4
- package/lib/esm/duet-combobox.entry.js +44 -40
- package/lib/esm/duet-contact-card.entry.js +5 -5
- package/lib/esm/duet-cookie-consent.entry.js +2 -2
- package/lib/esm/duet-date-picker.entry.js +5 -5
- package/lib/esm/duet-divider_2.entry.js +5 -5
- package/lib/esm/duet-editable-table_3.entry.js +11 -11
- package/lib/esm/duet-empty-state.entry.js +2 -2
- package/lib/esm/duet-fieldset.entry.js +6 -6
- package/lib/esm/duet-file-chooser.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +4 -4
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +6 -6
- package/lib/esm/duet-hero.entry.js +4 -4
- package/lib/esm/duet-icon.entry.js +6 -6
- package/lib/esm/duet-input_2.entry.js +102 -13
- package/lib/esm/duet-layout.entry.js +7 -10
- package/lib/esm/duet-list_2.entry.js +5 -5
- package/lib/esm/duet-menu-bar-button.entry.js +3 -3
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
- package/lib/esm/duet-menu-bar-item.entry.js +24 -6
- package/lib/esm/duet-menu-bar-link.entry.js +3 -3
- package/lib/esm/duet-menu-bar.entry.js +6 -6
- package/lib/esm/duet-modal.entry.js +11 -11
- package/lib/esm/duet-multiselect.entry.js +9 -9
- package/lib/esm/duet-nav.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +8 -8
- package/lib/esm/duet-number-input.entry.js +4 -4
- package/lib/esm/duet-overlay.entry.js +3 -3
- package/lib/esm/duet-page-heading.entry.js +4 -4
- package/lib/esm/duet-pagination_2.entry.js +19 -19
- package/lib/esm/duet-progress.entry.js +3 -3
- package/lib/esm/duet-promo-card.entry.js +7 -7
- package/lib/esm/duet-radio_2.entry.js +3 -3
- package/lib/esm/duet-range-slider.entry.js +3 -3
- package/lib/esm/duet-scrollable_3.entry.js +49 -28
- package/lib/esm/duet-section-layout.entry.js +5 -6
- package/lib/esm/duet-select.entry.js +3 -3
- package/lib/esm/duet-shaped-image.entry.js +3 -3
- package/lib/esm/duet-show-more.entry.js +5 -5
- package/lib/esm/duet-slideout-lang.entry.js +4 -4
- package/lib/esm/duet-slideout-link.entry.js +4 -4
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
- package/lib/esm/duet-slideout-panel.entry.js +13 -13
- package/lib/esm/duet-slideout.entry.js +11 -11
- package/lib/esm/duet-step_2.entry.js +3 -3
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
- package/lib/esm/duet-submenu-bar-item.entry.js +23 -5
- package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
- package/lib/esm/duet-submenu-bar.entry.js +8 -8
- package/lib/esm/duet-textarea.entry.js +7 -7
- package/lib/esm/duet-toggle.entry.js +2 -2
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
- package/lib/esm/duet-toolbar-item.entry.js +25 -6
- package/lib/esm/duet-toolbar-link.entry.js +4 -4
- package/lib/esm/duet-toolbar.entry.js +4 -4
- package/lib/esm/duet-tooltip-button_2.entry.js +8 -8
- package/lib/esm/duet-tooltip.entry.js +3 -3
- package/lib/esm/duet-tray.entry.js +6 -6
- package/lib/esm/duet-upload-aria-status.entry.js +2 -2
- package/lib/esm/duet-upload-item.entry.js +5 -5
- package/lib/esm/duet-visually-hidden.entry.js +2 -2
- package/lib/esm/duet.js +4 -4
- package/lib/esm/{errorcodes.utils-2a3a0ed1.js → errorcodes.utils-953f4d47.js} +1 -1
- package/lib/esm/{focus-utils-1e2c1ed7.js → focus-utils-5147573d.js} +1 -1
- package/lib/esm/{index-f384e24a.js → index-940c081d.js} +1 -1
- package/lib/esm/{language-utils-b0c1f3cd.js → language-utils-b0c1eb01.js} +1 -1
- package/lib/esm/loader.js +4 -4
- package/lib/esm/{slot-utils-e698dc9e.js → slot-utils-4a318cb9.js} +1 -1
- package/lib/esm/{token-utils-54a23ef5.js → token-utils-3c2fb643.js} +1 -1
- package/lib/{dist-custom-elements/p-d5c7ae62.js → esm/tokens-84fb2357.js} +25 -25
- package/lib/esm/{tokens.module-b5fab24a.js → tokens.module-216c2ae9.js} +25 -25
- package/lib/esm-es5/a11y-utils-92930863.js +4 -0
- package/lib/esm-es5/{app-globals-6cbf18ba.js → app-globals-19322ff1.js} +1 -1
- 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 +1 -1
- 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_3.entry.js +4 -0
- 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 +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 +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 +1 -1
- 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 +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-item.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-overlay.entry.js +1 -1
- 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-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 +1 -1
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- 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 +1 -1
- package/lib/esm-es5/duet-slideout.entry.js +2 -2
- 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-item.entry.js +2 -2
- 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-item.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 +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 +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-2a3a0ed1.js → errorcodes.utils-953f4d47.js} +1 -1
- package/lib/esm-es5/focus-utils-5147573d.js +4 -0
- package/lib/esm-es5/{index-f384e24a.js → index-940c081d.js} +1 -1
- package/lib/esm-es5/{language-utils-b0c1f3cd.js → language-utils-b0c1eb01.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/{slot-utils-e698dc9e.js → slot-utils-4a318cb9.js} +1 -1
- package/lib/esm-es5/{token-utils-54a23ef5.js → token-utils-3c2fb643.js} +1 -1
- package/lib/esm-es5/tokens-84fb2357.js +4 -0
- package/lib/esm-es5/tokens.module-216c2ae9.js +4 -0
- package/lib/types/components/duet-chip/duet-chip.d.ts +24 -2
- package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +2 -1
- package/lib/types/components/duet-combobox/duet-combobox.d.ts +3 -1
- package/lib/types/components/duet-input/duet-input.d.ts +22 -1
- package/lib/types/components/duet-link/duet-link.d.ts +0 -1
- package/lib/types/components/duet-menu-bar-item/duet-menu-bar-item.d.ts +17 -0
- package/lib/types/components/duet-popup-menu/duet-popup-menu.d.ts +7 -2
- package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +6 -1
- package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +4 -0
- package/lib/types/components/duet-submenu-bar-item/duet-submenu-bar-item.d.ts +17 -0
- package/lib/types/components/duet-toolbar-item/duet-toolbar-item.d.ts +17 -0
- package/lib/types/components.d.ts +112 -10
- package/lib/types/utils/a11y-utils.d.ts +11 -0
- package/package.json +4 -4
- package/lib/cjs/duet-chip.cjs.entry.js +0 -290
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +0 -83
- package/lib/cjs/duet-popup-menu.cjs.entry.js +0 -250
- package/lib/dist-custom-elements/p-9ef37cc5.js +0 -327
- package/lib/duet/p-01ce7028.system.entry.js +0 -4
- package/lib/duet/p-04085d32.entry.js +0 -4
- package/lib/duet/p-053113a9.system.entry.js +0 -4
- package/lib/duet/p-08727974.entry.js +0 -4
- package/lib/duet/p-1b5ce17e.system.entry.js +0 -4
- package/lib/duet/p-1c8c9651.entry.js +0 -4
- package/lib/duet/p-20393f34.system.entry.js +0 -4
- package/lib/duet/p-22a5ac0a.entry.js +0 -4
- package/lib/duet/p-22cb3c28.system.entry.js +0 -4
- package/lib/duet/p-26c71746.system.js +0 -4
- package/lib/duet/p-2e108879.js +0 -4
- package/lib/duet/p-2fc10b59.entry.js +0 -4
- package/lib/duet/p-3233973c.system.entry.js +0 -4
- package/lib/duet/p-344d401b.entry.js +0 -4
- package/lib/duet/p-38ab5505.entry.js +0 -4
- package/lib/duet/p-3a5b7cf7.system.entry.js +0 -4
- package/lib/duet/p-45d596e8.entry.js +0 -4
- package/lib/duet/p-47e4eada.entry.js +0 -4
- package/lib/duet/p-50c83774.js +0 -4
- package/lib/duet/p-54f1f550.system.entry.js +0 -4
- package/lib/duet/p-59ae9e27.system.entry.js +0 -4
- package/lib/duet/p-63f80431.system.entry.js +0 -4
- package/lib/duet/p-6a0ed208.entry.js +0 -4
- package/lib/duet/p-6a34f6be.entry.js +0 -4
- package/lib/duet/p-6d405ca2.system.entry.js +0 -4
- package/lib/duet/p-6e8ebe18.entry.js +0 -4
- package/lib/duet/p-6fde361f.system.entry.js +0 -4
- package/lib/duet/p-76eec0c0.system.entry.js +0 -4
- package/lib/duet/p-86ba2e23.entry.js +0 -4
- package/lib/duet/p-8ab41ea5.entry.js +0 -4
- package/lib/duet/p-8d25bac7.entry.js +0 -4
- package/lib/duet/p-91115d1e.system.js +0 -4
- package/lib/duet/p-9d3ef1e0.system.entry.js +0 -4
- package/lib/duet/p-9d521ea1.system.entry.js +0 -4
- package/lib/duet/p-a2c01fc7.system.entry.js +0 -4
- package/lib/duet/p-a365e326.entry.js +0 -4
- package/lib/duet/p-a81e7736.entry.js +0 -4
- package/lib/duet/p-aa8648b3.system.entry.js +0 -4
- package/lib/duet/p-ae4cd43d.entry.js +0 -4
- package/lib/duet/p-b3bbea88.system.entry.js +0 -4
- package/lib/duet/p-b5aaa528.system.entry.js +0 -4
- package/lib/duet/p-b64eb2b3.system.entry.js +0 -4
- package/lib/duet/p-b93605ee.system.entry.js +0 -4
- package/lib/duet/p-c2ca9373.entry.js +0 -4
- package/lib/duet/p-cb9d279b.system.entry.js +0 -4
- package/lib/duet/p-ce289a58.system.entry.js +0 -4
- package/lib/duet/p-d3b84b94.entry.js +0 -4
- package/lib/duet/p-d5c7ae62.js +0 -4
- package/lib/duet/p-e408682d.system.entry.js +0 -4
- package/lib/duet/p-e69bd7e8.entry.js +0 -4
- package/lib/duet/p-ea445202.system.entry.js +0 -4
- package/lib/duet/p-ec6a0e13.entry.js +0 -4
- package/lib/duet/p-f1bf4f9e.entry.js +0 -4
- package/lib/duet/p-f5063a7d.system.js +0 -4
- package/lib/duet/p-f9eb5cbb.system.entry.js +0 -4
- package/lib/esm/duet-chip.entry.js +0 -286
- package/lib/esm/duet-popup-menu-item.entry.js +0 -79
- package/lib/esm-es5/duet-chip.entry.js +0 -4
- package/lib/esm-es5/duet-popup-menu-item.entry.js +0 -4
- package/lib/esm-es5/duet-popup-menu.entry.js +0 -4
- package/lib/esm-es5/focus-utils-1e2c1ed7.js +0 -4
- package/lib/esm-es5/tokens-e0e3d241.js +0 -4
- package/lib/esm-es5/tokens.module-b5fab24a.js +0 -4
|
@@ -0,0 +1,653 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
|
+
|
|
8
|
+
const index = require('./index-ce05ed4b.js');
|
|
9
|
+
const themeableComponent = require('./themeable-component-996b489c.js');
|
|
10
|
+
const createId = require('./create-id-1f8c438f.js');
|
|
11
|
+
const keyboardUtils = require('./keyboard-utils-681e11ec.js');
|
|
12
|
+
const languageUtils = require('./language-utils-04d69d6b.js');
|
|
13
|
+
const floatingUi_dom_esm = require('./floating-ui.dom.esm-806e7c53.js');
|
|
14
|
+
const focusUtils = require('./focus-utils-c9b32897.js');
|
|
15
|
+
const teleport = require('./teleport-c6f8391a.js');
|
|
16
|
+
require('./string-utils-7b13c16e.js');
|
|
17
|
+
|
|
18
|
+
const duetChipCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;position:relative;display:inline-block;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.input){margin-top:6px !important;margin-right:0 !important;margin-bottom:6px !important;margin-left:4px !important}.duet-chip-container{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:1px;hyphens:none;line-height:1.1;color:rgb(8, 42, 77) !important;text-align:center;cursor:pointer;background:rgb(255, 255, 255);border-color:rgb(181, 198, 208);border-style:solid;border-width:1px;border-radius:8px;transition:background-color 300ms ease, color 300ms ease, border-color 300ms ease}.duet-chip-container.duet-p-0{padding:0 !important}.duet-chip-container.duet-m-0{margin:0 !important}.duet-chip-container.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255);border-color:rgb(199, 202, 207)}.duet-chip-container.duet-theme-turva:hover{border-color:rgb(198, 12, 48)}.duet-chip-container:hover{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-disabled{color:rgb(98, 121, 138) !important;cursor:default;background:rgb(245, 248, 250) !important;border-color:rgb(245, 248, 250) !important}.duet-chip-container.duet-chip-disabled.duet-theme-turva{color:rgb(143, 147, 158) !important;background:rgb(245, 247, 250);border-color:rgb(245, 247, 250)}.duet-chip-container.duet-chip-disabled:hover{background:rgb(245, 248, 250);border-color:rgb(245, 248, 250)}.duet-chip-container.duet-chip-disabled:hover.duet-theme-turva{background:rgb(245, 247, 250);border-color:rgb(245, 247, 250)}.duet-chip-container.duet-chip-disabled button,.duet-chip-container.duet-chip-disabled label{cursor:default}.duet-chip-container button,.duet-chip-container label{display:flex;align-items:center;width:100%;height:100%;padding:8px 14px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:600;line-height:1rem;color:rgb(8, 42, 77) !important;cursor:pointer}.duet-chip-container button:focus,.duet-chip-container label:focus{outline:none}.duet-chip-container .duet-chip-icon-container{display:flex;align-items:center;height:16px;padding:0;transition:padding 300ms ease}.duet-chip-container.duet-chip-has-icon .duet-chip-icon-container{width:24px;height:16px;padding-right:10px}.duet-chip-container.duet-chip-has-icon.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-has-icon.duet-chip-radio-checked .duet-chip-icon-container{padding-right:11px;padding-left:3px}.duet-chip-container.duet-chip-has-icon button,.duet-chip-container.duet-chip-has-icon label{padding-left:10px}.duet-chip-container.duet-chip-has-popup button,.duet-chip-container.duet-chip-has-popup label{padding-right:8px}.duet-chip-container duet-icon:not(.check-mark){width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container duet-icon.check-mark{width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked,.duet-chip-container.duet-chip-radio-checked{padding:0 !important;background:rgb(228, 241, 247);border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-filter-checked:hover,.duet-chip-container.duet-chip-radio-checked:hover{background:rgb(198, 225, 238)}.duet-chip-container.duet-chip-filter-checked.chip-has-icon button,.duet-chip-container.duet-chip-filter-checked.chip-has-icon label,.duet-chip-container.duet-chip-radio-checked.chip-has-icon button,.duet-chip-container.duet-chip-radio-checked.chip-has-icon label{padding-left:10px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container{padding-right:10px}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon:not(.check-mark),.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon:not(.check-mark){width:0;overflow:hidden;visibility:hidden;transition:width 300ms ease, transform 300ms ease;transform:scaleX(0)}.duet-chip-container.duet-chip-filter-checked .duet-chip-icon-container duet-icon.check-mark,.duet-chip-container.duet-chip-radio-checked .duet-chip-icon-container duet-icon.check-mark{width:auto;visibility:visible;transition:width 300ms ease, transform 300ms ease;transform:scaleX(1)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva{background:rgb(245, 247, 250);border-color:rgb(198, 12, 48)}.duet-chip-container.duet-chip-filter-checked.duet-theme-turva:hover,.duet-chip-container.duet-chip-radio-checked.duet-theme-turva:hover{background:rgb(222, 224, 228)}.duet-chip-container .duet-chip-popup-disclosure{padding-right:4.5px;padding-left:12.5px}.duet-chip-container .duet-chip-popup-disclosure duet-icon{transition:transform 300ms ease}.duet-chip-container.duet-chip-filter-popup-open{background:rgb(240, 247, 250);border-color:rgb(240, 247, 250)}.duet-chip-container.duet-chip-filter-popup-open.duet-theme-turva{background:rgb(245, 247, 250);border-color:rgb(245, 247, 250)}.duet-chip-container.duet-chip-filter-popup-open .duet-chip-popup-disclosure duet-icon{transform:rotate(180deg)}.duet-chip-container.duet-chip-input:hover{padding:1px !important;border-color:rgb(181, 198, 208);border-width:1px}.duet-chip-container.duet-chip-input.duet-chip-hover,.duet-chip-container.duet-chip-input.duet-chip-selected{padding:0 !important;border-color:rgb(0, 119, 179);border-width:2px}.duet-chip-container.duet-chip-input.duet-chip-hover .duet-chip-remove-button,.duet-chip-container.duet-chip-input.duet-chip-selected .duet-chip-remove-button{right:0;width:34px;height:34px;background:transparent}.duet-chip-container.duet-chip-input.duet-chip-delete-focus{background:rgb(240, 247, 250)}.duet-chip-container.duet-chip-input .duet-chip-input-button{margin-right:22px}.duet-chip-container.duet-chip-input .duet-chip-remove-button{position:absolute;top:-1px;right:-1px;width:36px;height:36px;padding-left:10px;border:3px solid transparent;border-radius:8px}.duet-chip-container.duet-chip-input .duet-chip-remove-button:hover{background:rgb(217, 236, 245);background-clip:padding-box}.duet-chip-container.duet-chip-input.duet-chip-selected{background:rgb(240, 247, 250)}.duet-chip-container.duet-chip-input.duet-chip-selected.duet-chip-hover{background:rgb(217, 236, 245)}.duet-chip-container.duet-chip-input.duet-chip-selected .duet-chip-remove-button:hover{background:rgb(198, 225, 238);background-clip:padding-box}.duet-chip-container.duet-chip-input.duet-theme-turva:hover{border-color:rgb(199, 202, 207)}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-hover{border-color:rgb(198, 12, 48)}.duet-chip-container.duet-chip-input.duet-theme-turva .duet-chip-remove-button:hover{background:rgb(255, 241, 241)}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-selected{background:rgb(255, 241, 241)}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-selected.duet-chip-hover{background:rgb(255, 213, 215);background-clip:padding-box}.duet-chip-container.duet-chip-input.duet-theme-turva.duet-chip-selected .duet-chip-remove-button:hover{background:rgb(255, 185, 190);background-clip:padding-box}.duet-chip-container.large button,.duet-chip-container.large label{padding:15px 22px}:host(.user-is-tabbing) .duet-chip-focus,:host(.user-is-tabbing) .duet-chip-delete-focus .duet-chip-remove-button{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-chip-focus.duet-theme-turva,:host(.user-is-tabbing) .duet-chip-delete-focus .duet-chip-remove-button.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-chip-container input,*::slotted([slot=input]){position:absolute !important;top:0;left:0;z-index:-1;width:100%;height:100%;margin:0;cursor:pointer;border-width:2px;border-radius:8px;opacity:0;appearance:none}*::slotted([slot=input]:not([aria-disabled=true])){z-index:1}";
|
|
19
|
+
const DuetChipStyle0 = duetChipCss;
|
|
20
|
+
|
|
21
|
+
const DuetChip = class {
|
|
22
|
+
constructor(hostRef) {
|
|
23
|
+
index.registerInstance(this, hostRef);
|
|
24
|
+
this.duetChange = index.createEvent(this, "duetChange", 3);
|
|
25
|
+
this.duetRemove = index.createEvent(this, "duetRemove", 3);
|
|
26
|
+
this.duetFocus = index.createEvent(this, "duetFocus", 7);
|
|
27
|
+
this.duetBlur = index.createEvent(this, "duetBlur", 7);
|
|
28
|
+
/**
|
|
29
|
+
* Own Properties.
|
|
30
|
+
*/
|
|
31
|
+
this.chipId = createId.createID("DuetChip");
|
|
32
|
+
this.deleteLabels = {
|
|
33
|
+
fi: "Poista",
|
|
34
|
+
en: "Remove",
|
|
35
|
+
sv: "Ta bort",
|
|
36
|
+
};
|
|
37
|
+
this.selectedForDeletionLabels = {
|
|
38
|
+
fi: "Valittu, poista askelpalautinnäppäimellä",
|
|
39
|
+
en: "Selected, remove with backspace",
|
|
40
|
+
sv: "Valt, ta bort med backsteg",
|
|
41
|
+
};
|
|
42
|
+
this.enforceNoDisabledSelected = () => {
|
|
43
|
+
if (this.disabled && this.checked) {
|
|
44
|
+
console.error("Duet error: pre-selected chip may not be disabled");
|
|
45
|
+
this.disabled = false;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
this.radioInputListenersRemove = radioInput => {
|
|
49
|
+
radioInput.removeEventListener("change", this.onRadioChange);
|
|
50
|
+
radioInput.removeEventListener("click", this.onRadioClick);
|
|
51
|
+
radioInput.removeEventListener("focus", this.onFocus);
|
|
52
|
+
radioInput.removeEventListener("blur", this.onBlur);
|
|
53
|
+
};
|
|
54
|
+
this.radioInputListenersAdd = radioInput => {
|
|
55
|
+
radioInput.addEventListener("change", this.onRadioChange);
|
|
56
|
+
radioInput.addEventListener("click", this.onRadioClick);
|
|
57
|
+
radioInput.addEventListener("focus", this.onFocus);
|
|
58
|
+
radioInput.addEventListener("blur", this.onBlur);
|
|
59
|
+
};
|
|
60
|
+
this.radioInputSetUp = () => {
|
|
61
|
+
const slotInput = this.element.querySelector("input[slot=input]");
|
|
62
|
+
const radioInput = slotInput || document.createElement("input");
|
|
63
|
+
radioInput.slot = "input";
|
|
64
|
+
radioInput.ariaDisabled = this.disabled ? "true" : undefined;
|
|
65
|
+
radioInput.id = this.identifier || this.chipId;
|
|
66
|
+
radioInput.type = "radio";
|
|
67
|
+
radioInput.name = this.name;
|
|
68
|
+
radioInput.value = this.value;
|
|
69
|
+
radioInput.checked = this.checked;
|
|
70
|
+
if (slotInput) {
|
|
71
|
+
this.radioInputListenersRemove(radioInput);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.element.appendChild(radioInput);
|
|
75
|
+
}
|
|
76
|
+
this.radioInputListenersAdd(radioInput);
|
|
77
|
+
this.focusableElement = radioInput;
|
|
78
|
+
};
|
|
79
|
+
this.popupSetUp = () => {
|
|
80
|
+
const popup = document.querySelector(`duet-popup-menu#${this.popup}`);
|
|
81
|
+
if (popup) {
|
|
82
|
+
this.popupElement = popup;
|
|
83
|
+
popup.controller = this.element;
|
|
84
|
+
const originalText = this.element.textContent;
|
|
85
|
+
const originalValue = this.value;
|
|
86
|
+
if (!popup.id) {
|
|
87
|
+
popup.id = "popup-menu";
|
|
88
|
+
}
|
|
89
|
+
popup.addEventListener("duetToggle", (evt) => {
|
|
90
|
+
this.popupOpen = evt.detail.open;
|
|
91
|
+
});
|
|
92
|
+
const clearActive = () => {
|
|
93
|
+
popup.querySelectorAll("duet-popup-menu-item").forEach(item => {
|
|
94
|
+
item.active = false;
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
popup.querySelectorAll("duet-popup-menu-item").forEach(item => {
|
|
98
|
+
item.addEventListener("click", evt => {
|
|
99
|
+
var _a;
|
|
100
|
+
const value = (_a = item.value) !== null && _a !== void 0 ? _a : item.innerText;
|
|
101
|
+
if (!item.active) {
|
|
102
|
+
clearActive();
|
|
103
|
+
item.active = true;
|
|
104
|
+
this.element.textContent = item.innerText;
|
|
105
|
+
this.value = value;
|
|
106
|
+
this.checked = true;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
clearActive();
|
|
110
|
+
this.element.textContent = originalText;
|
|
111
|
+
this.value = originalValue;
|
|
112
|
+
this.checked = false;
|
|
113
|
+
}
|
|
114
|
+
this.emitChange(evt);
|
|
115
|
+
// A workaround to the difference of event handling between the browers.
|
|
116
|
+
// Chrome will emit a separate click event on the chip after the popup is closed, resulting popup.toggle() to
|
|
117
|
+
// open the popup again. Firefox does not have this behavior.
|
|
118
|
+
setTimeout(() => {
|
|
119
|
+
if (this.popupElement.isOpen()) {
|
|
120
|
+
this.popupElement.hide();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Component event handling.
|
|
129
|
+
*/
|
|
130
|
+
this.onFocus = (ev) => {
|
|
131
|
+
this.focus = true;
|
|
132
|
+
this.duetFocus.emit({
|
|
133
|
+
originalEvent: ev,
|
|
134
|
+
checked: this.checked,
|
|
135
|
+
value: this.value,
|
|
136
|
+
component: "duet-chip",
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
this.onBlur = (ev) => {
|
|
140
|
+
this.focus = false;
|
|
141
|
+
this.duetBlur.emit({
|
|
142
|
+
originalEvent: ev,
|
|
143
|
+
checked: this.checked,
|
|
144
|
+
value: this.value,
|
|
145
|
+
component: "duet-chip",
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
this.emitChange = originalEvent => {
|
|
149
|
+
this.duetChange.emit({
|
|
150
|
+
originalEvent,
|
|
151
|
+
checked: this.checked,
|
|
152
|
+
value: this.value,
|
|
153
|
+
component: "duet-chip",
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Change checked state and emit duetChange event.
|
|
158
|
+
*/
|
|
159
|
+
this.onFilterChange = (evt) => {
|
|
160
|
+
this.checked = !this.checked;
|
|
161
|
+
this.emitChange(evt);
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Change checked state and emit duetChange event.
|
|
165
|
+
*/
|
|
166
|
+
this.onRadioChange = (evt) => {
|
|
167
|
+
const input = this.focusableElement;
|
|
168
|
+
const inputChecked = input.checked;
|
|
169
|
+
this.checked = inputChecked;
|
|
170
|
+
this.emitChange(evt);
|
|
171
|
+
};
|
|
172
|
+
this.onRadioClick = (evt) => {
|
|
173
|
+
if (this.disabled) {
|
|
174
|
+
evt.preventDefault();
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Stop propagation and prevent default if popup is present, as the popup controls value and checked state.
|
|
179
|
+
*/
|
|
180
|
+
this.onFilterClick = (evt) => {
|
|
181
|
+
if (this.disabled) {
|
|
182
|
+
evt.stopPropagation();
|
|
183
|
+
evt.preventDefault();
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
if (this.popupElement) {
|
|
187
|
+
evt.stopPropagation();
|
|
188
|
+
evt.preventDefault();
|
|
189
|
+
this.popupElement.toggle();
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Remove input chip
|
|
194
|
+
*/
|
|
195
|
+
this.onRemoveClick = (evt) => {
|
|
196
|
+
evt === null || evt === void 0 ? void 0 : evt.stopPropagation();
|
|
197
|
+
evt === null || evt === void 0 ? void 0 : evt.preventDefault();
|
|
198
|
+
this.duetRemove.emit({
|
|
199
|
+
originalEvent: evt,
|
|
200
|
+
checked: this.checked,
|
|
201
|
+
value: this.value,
|
|
202
|
+
component: "duet-chip",
|
|
203
|
+
});
|
|
204
|
+
this.element.remove();
|
|
205
|
+
};
|
|
206
|
+
this.focus = false;
|
|
207
|
+
this.popupElement = undefined;
|
|
208
|
+
this.popupOpen = undefined;
|
|
209
|
+
this.inputChipHover = false;
|
|
210
|
+
this.inputChipDeleteFocus = false;
|
|
211
|
+
this.accessibleLabel = undefined;
|
|
212
|
+
this.variation = "button";
|
|
213
|
+
this.size = "medium";
|
|
214
|
+
this.popup = undefined;
|
|
215
|
+
this.icon = "";
|
|
216
|
+
this.theme = "";
|
|
217
|
+
this.identifier = undefined;
|
|
218
|
+
this.value = undefined;
|
|
219
|
+
this.name = undefined;
|
|
220
|
+
this.selected = false;
|
|
221
|
+
this.checked = false;
|
|
222
|
+
this.disabled = false;
|
|
223
|
+
this.accessibleExpanded = undefined;
|
|
224
|
+
this.accessiblePopup = "false";
|
|
225
|
+
}
|
|
226
|
+
clearOtherRadioButtons() {
|
|
227
|
+
if (this.variation === "radio" && this.checked) {
|
|
228
|
+
const chips = document.querySelectorAll(`duet-chip[variation="radio"][name="${this.name}"]`);
|
|
229
|
+
chips.forEach(chip => {
|
|
230
|
+
if (chip !== this.element) {
|
|
231
|
+
chip.checked = false;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Component lifecycle events.
|
|
238
|
+
*/
|
|
239
|
+
componentWillLoad() {
|
|
240
|
+
themeableComponent.inheritGlobalTheme(this);
|
|
241
|
+
this.popupSetUp();
|
|
242
|
+
this.enforceNoDisabledSelected();
|
|
243
|
+
}
|
|
244
|
+
connectedCallback() {
|
|
245
|
+
keyboardUtils.subscribeTabbingChange(this);
|
|
246
|
+
}
|
|
247
|
+
disconnectedCallback() {
|
|
248
|
+
keyboardUtils.unsubscribeTabbingChange(this);
|
|
249
|
+
}
|
|
250
|
+
componentDidRender() {
|
|
251
|
+
if (this.variation === "radio") {
|
|
252
|
+
this.radioInputSetUp();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
getAccessibleExpanded() {
|
|
256
|
+
if (this.accessibleExpanded != null) {
|
|
257
|
+
return (!!this.accessibleExpanded).toString();
|
|
258
|
+
}
|
|
259
|
+
if (this.popupElement) {
|
|
260
|
+
return this.popupOpen ? "true" : "false";
|
|
261
|
+
}
|
|
262
|
+
return undefined;
|
|
263
|
+
}
|
|
264
|
+
getAccessiblePopup() {
|
|
265
|
+
if (this.popupElement) {
|
|
266
|
+
return "true";
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
return this.accessiblePopup != null ? this.accessiblePopup.toString() : undefined;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
getAccessibleDeleteLabel() {
|
|
273
|
+
return `${languageUtils.getLocaleString(this.deleteLabels)} ${this.element.textContent}`;
|
|
274
|
+
}
|
|
275
|
+
getAccessibleInputChipLabel() {
|
|
276
|
+
return `${this.element.textContent}${this.selected ? ` (${languageUtils.getLocaleString(this.selectedForDeletionLabels)}) ` : ""},`;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Sets focus. Use this method instead of the global focus().
|
|
280
|
+
*/
|
|
281
|
+
async setFocus(options) {
|
|
282
|
+
setTimeout(() => this.focusableElement.focus(options), 200);
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* @internal
|
|
286
|
+
*/
|
|
287
|
+
async setDeleteFocus() {
|
|
288
|
+
setTimeout(() => this.deleteButtonElement.focus(), 200);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Removes input chip. Use this method instead of the native remove() so the component can
|
|
292
|
+
* emit appropriate event
|
|
293
|
+
*/
|
|
294
|
+
async removeChip() {
|
|
295
|
+
this.onRemoveClick();
|
|
296
|
+
}
|
|
297
|
+
render() {
|
|
298
|
+
var _a;
|
|
299
|
+
const identifier = this.identifier || this.chipId;
|
|
300
|
+
const classes = {
|
|
301
|
+
"duet-chip-container": true,
|
|
302
|
+
[`duet-chip-${this.variation}`]: true,
|
|
303
|
+
"duet-chip-focus": this.focus,
|
|
304
|
+
"duet-chip-selected": this.selected,
|
|
305
|
+
"duet-chip-hover": this.inputChipHover,
|
|
306
|
+
"duet-chip-delete-focus": this.inputChipDeleteFocus,
|
|
307
|
+
"duet-chip-has-icon": !!this.icon,
|
|
308
|
+
"duet-chip-has-popup": this.variation === "filter" && !!this.popupElement,
|
|
309
|
+
"duet-theme-turva": this.theme === "turva",
|
|
310
|
+
"duet-chip-filter-checked": this.variation === "filter" && this.checked,
|
|
311
|
+
"duet-chip-radio-checked": this.variation === "radio" && this.checked,
|
|
312
|
+
"duet-chip-filter-popup-open": this.popupOpen,
|
|
313
|
+
"duet-chip-disabled": this.disabled,
|
|
314
|
+
[this.size]: true,
|
|
315
|
+
};
|
|
316
|
+
const focusHandlers = {
|
|
317
|
+
onFocus: this.onFocus,
|
|
318
|
+
onBlur: this.onBlur,
|
|
319
|
+
ref: el => (this.focusableElement = el),
|
|
320
|
+
};
|
|
321
|
+
return (index.h(index.Host, { key: 'a1e4d371f57abce15c06aa88bf2faab012bde60a', class: { [this.variation]: true } }, this.variation === "button" && (index.h("span", { key: '48b8e4b70be8c4511a33be55c6fd25ec850fe1c2', class: classes }, index.h("button", Object.assign({ key: '1e92c0aff2f7d6817644759f8fc0a338a12e651e', id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), index.h("span", { key: 'f0dfef6892bc184005d490ad2d1d5f9ff5c21fe9', class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { key: '490e975ca8e0573278761ac8fe978a5bac7f1188', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), index.h("slot", { key: '1e44610c8ab2868243517a700bfdb9e5adbd5d0d' })))), this.variation === "input" && (index.h("span", { key: 'b4340e31757471ddf6e7e326c4738a34f57d668c', class: classes, "aria-label": this.getAccessibleInputChipLabel() }, index.h("button", Object.assign({ key: 'dbb4afd5b7f46baa28a026ff4531db068eac8980', id: identifier, class: "duet-chip-input-button", value: this.value, "aria-label": this.accessibleLabel, onMouseOver: () => (this.inputChipHover = true), onMouseOut: () => (this.inputChipHover = false), onClick: () => (this.selected = !this.selected) }, focusHandlers), index.h("span", { key: '6e871c13f043685a2bd1fbf484256e801437a86b', class: "duet-chip-icon-container" }, this.icon && (index.h("duet-icon", { key: '74c2893dc01e6e13a2baf628908c5f92a3bfc9d5', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), index.h("slot", { key: 'f0600d50d6bc3a1b549d9d7b8a3c62d4d02ab53f' })), index.h("button", { key: '70055da94df9cb43034d6b70e63c2748ca91eee5', class: "duet-chip-remove-button", "aria-label": this.getAccessibleDeleteLabel(), onClick: this.onRemoveClick, onFocus: () => (this.inputChipDeleteFocus = true), onBlur: () => (this.inputChipDeleteFocus = false), ref: el => (this.deleteButtonElement = el) }, index.h("duet-icon", { key: '1201fc54755c07ce2bbadfc2ec8aa29d5faa43eb', name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (index.h("span", { key: 'c6c3ddfc24d0bce8113029c644f01c5eceee6936', class: classes }, index.h("input", Object.assign({ key: 'dae5813deea4c2b7798852027cc65d2be069fa05', "aria-haspopup": this.getAccessiblePopup(), "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.getAccessibleExpanded(), "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), index.h("label", { key: '5c7534979701b02d02649f0b77aadfae19568c15', htmlFor: identifier }, this.icon && (index.h("span", { key: 'a92359d55dae65066120c53db2f8fcfa09f89904', class: "duet-chip-icon-container" }, index.h("duet-icon", { key: '9193a5782a8848231e53276b90b0ce2e665e2812', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), index.h("duet-icon", { key: '78717f62e085fb0528f6ee7b141691f6c7555f42', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), index.h("slot", { key: '7c210530d8bb610ac7aaadd0f4a7510ddd020d12' }), this.popupElement && (index.h("span", { key: '2a6053db849ac7543ce7649c94a3fda09d7dd2f3', class: "duet-chip-popup-disclosure" }, index.h("duet-icon", { key: 'e21b78ef1b4fca374c1112e4d492ed57f8ab9cab', name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (index.h("span", { key: 'a964e2e03bfbf19d8a01f8475ee6d4b81c671c76', class: classes }, index.h("slot", { key: '3b64cb528868bf3f36b83bfe613df41d7ee17513', name: "input" }), index.h("label", { key: 'f3f52816c1229c2446f51642bcba073e95d44139', htmlFor: identifier }, this.icon && (index.h("span", { key: 'e5d0dbadb5b2cc473dd1ad618bdc3f0e00d3f02c', class: "duet-chip-icon-container" }, index.h("duet-icon", { key: '498cf093393d6b44a60aad4b73520d4f3ebecde2', name: this.icon, size: "x-small", margin: "none", color: "currentColor" }), index.h("duet-icon", { key: '153615d1f9923f824ca91a8799dfaebb9489ad47', name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" }))), index.h("slot", { key: '6f89ed2bcee2e5cdf1b6505f04be602fad04b904' }))))));
|
|
322
|
+
}
|
|
323
|
+
get element() { return index.getElement(this); }
|
|
324
|
+
static get watchers() { return {
|
|
325
|
+
"checked": ["clearOtherRadioButtons"]
|
|
326
|
+
}; }
|
|
327
|
+
};
|
|
328
|
+
DuetChip.style = DuetChipStyle0;
|
|
329
|
+
|
|
330
|
+
const duetPopupMenuCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-popup-menu-list{position:absolute;top:0;left:0;z-index:950;width:max-content;min-width:175px;padding:8px;margin:0;color:rgb(8, 42, 77);list-style:none;visibility:hidden !important;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease;transform:scaleY(0);transform-origin:top center}.duet-popup-menu-list.open{visibility:visible !important;opacity:1;transform:scaleY(1)}.duet-popup-menu-list.fixed{position:fixed}.duet-popup-menu-list.duet-theme-turva{color:rgb(23, 28, 58) !important;background:rgb(255, 255, 255)}";
|
|
331
|
+
const DuetPopupMenuStyle0 = duetPopupMenuCss;
|
|
332
|
+
|
|
333
|
+
const DuetPopupMenu = class {
|
|
334
|
+
constructor(hostRef) {
|
|
335
|
+
index.registerInstance(this, hostRef);
|
|
336
|
+
this.duetToggle = index.createEvent(this, "duetToggle", 7);
|
|
337
|
+
this.setOpenButton = (element) => {
|
|
338
|
+
if (!element) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
try {
|
|
342
|
+
const button = element;
|
|
343
|
+
button.accessiblePopup = "true";
|
|
344
|
+
button.accessibleExpanded = false;
|
|
345
|
+
if (this.controllerIcon) {
|
|
346
|
+
button.setAttribute("trailing-icon", "action-arrow-down-small");
|
|
347
|
+
}
|
|
348
|
+
this.openButton = button;
|
|
349
|
+
}
|
|
350
|
+
catch (_e) { }
|
|
351
|
+
};
|
|
352
|
+
this.openButtonEventListener = () => {
|
|
353
|
+
this.toggle();
|
|
354
|
+
};
|
|
355
|
+
this.updatePlacement = async () => {
|
|
356
|
+
if (!this.openButton) {
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
const middleware = [
|
|
360
|
+
floatingUi_dom_esm.offset({ mainAxis: this.mainAxisOffset, crossAxis: this.crossAxisOffset }),
|
|
361
|
+
floatingUi_dom_esm.flip({ mainAxis: !this.forcePlacement }),
|
|
362
|
+
];
|
|
363
|
+
const coordinates = await floatingUi_dom_esm.computePosition(this.openButton, this.menuElement, {
|
|
364
|
+
middleware,
|
|
365
|
+
placement: this.placement,
|
|
366
|
+
strategy: this.position,
|
|
367
|
+
});
|
|
368
|
+
this.menuY = coordinates.y;
|
|
369
|
+
this.menuX = coordinates.x;
|
|
370
|
+
};
|
|
371
|
+
this.open = false;
|
|
372
|
+
this.menuY = undefined;
|
|
373
|
+
this.menuX = undefined;
|
|
374
|
+
this.accessibleLabel = undefined;
|
|
375
|
+
this.accessibleRole = "menu";
|
|
376
|
+
this.theme = "";
|
|
377
|
+
this.skipTeleport = undefined;
|
|
378
|
+
this.controller = undefined;
|
|
379
|
+
this.placement = "bottom-start";
|
|
380
|
+
this.forcePlacement = false;
|
|
381
|
+
this.position = "absolute";
|
|
382
|
+
this.mainAxisOffset = 0;
|
|
383
|
+
this.crossAxisOffset = 0;
|
|
384
|
+
this.controllerIcon = "action-arrow-down-small";
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Component lifecycle events.
|
|
388
|
+
*/
|
|
389
|
+
componentWillLoad() {
|
|
390
|
+
themeableComponent.inheritGlobalTheme(this);
|
|
391
|
+
}
|
|
392
|
+
componentDidLoad() {
|
|
393
|
+
{
|
|
394
|
+
this.updatePlacement();
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
connectedCallback() {
|
|
398
|
+
this.handleControllerChange(this.controller, null);
|
|
399
|
+
if (!this.teleport) {
|
|
400
|
+
this.teleport = new teleport.Teleport(this.element);
|
|
401
|
+
}
|
|
402
|
+
if (this.teleport) {
|
|
403
|
+
this.teleport.activate();
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
disconnectedCallback() {
|
|
407
|
+
if (this.openButton) {
|
|
408
|
+
this.openButton.removeEventListener("click", this.openButtonEventListener);
|
|
409
|
+
if (this.controllerIcon) {
|
|
410
|
+
this.openButton.removeAttribute("trailing-icon");
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Component event handling.
|
|
416
|
+
*/
|
|
417
|
+
handleKeyUp(evt) {
|
|
418
|
+
if (this.open) {
|
|
419
|
+
// When Esc is pressed the menu should be closed
|
|
420
|
+
if (keyboardUtils.isEscapeKey(evt)) {
|
|
421
|
+
this.focusOpenButton();
|
|
422
|
+
this.hide();
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
async handleKeyDown(evt) {
|
|
427
|
+
if (this.open) {
|
|
428
|
+
if (keyboardUtils.isArrowDownKey(evt)) {
|
|
429
|
+
evt.preventDefault();
|
|
430
|
+
const current = await this.getFocusedItemIndex();
|
|
431
|
+
if (current !== -1) {
|
|
432
|
+
if (current < this.itemElements.length - 1) {
|
|
433
|
+
this.itemElements[current + 1].setFocus();
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
this.itemElements[0].setFocus();
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
if (keyboardUtils.isArrowUpKey(evt)) {
|
|
441
|
+
evt.preventDefault();
|
|
442
|
+
const current = await this.getFocusedItemIndex();
|
|
443
|
+
if (current !== -1) {
|
|
444
|
+
if (current === 0) {
|
|
445
|
+
this.itemElements[this.itemElements.length - 1].setFocus();
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
this.itemElements[current - 1].setFocus();
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
if (keyboardUtils.isTabKey(evt) && this.accessibleRole === "menu") {
|
|
453
|
+
evt.preventDefault();
|
|
454
|
+
this.hide();
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
handleClick(evt) {
|
|
459
|
+
const isClickOutside = evt.composedPath().every(node => node !== this.element && node !== this.openButton);
|
|
460
|
+
if (this.open && isClickOutside) {
|
|
461
|
+
this.hide();
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* isOpen.
|
|
466
|
+
*/
|
|
467
|
+
async isOpen() {
|
|
468
|
+
return this.open;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Show.
|
|
472
|
+
*/
|
|
473
|
+
async show() {
|
|
474
|
+
this.open = true;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Hide.
|
|
478
|
+
*/
|
|
479
|
+
async hide() {
|
|
480
|
+
this.open = false;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Toggle.
|
|
484
|
+
*/
|
|
485
|
+
async toggle() {
|
|
486
|
+
if (this.open) {
|
|
487
|
+
this.hide();
|
|
488
|
+
}
|
|
489
|
+
else {
|
|
490
|
+
this.show();
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
handleControllerChange(newValue, oldValue) {
|
|
494
|
+
if (!!newValue === !!oldValue) {
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
if (typeof this.controller === "string") {
|
|
498
|
+
this.setOpenButton(document.getElementById(this.controller));
|
|
499
|
+
if (this.openButton) {
|
|
500
|
+
this.openButton.addEventListener("click", this.openButtonEventListener);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
else {
|
|
504
|
+
this.setOpenButton(this.controller);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
handleOpenChange(newValue, oldValue) {
|
|
508
|
+
if (!!newValue === !!oldValue) {
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
if (this.open && !oldValue) {
|
|
512
|
+
if (this.openButton) {
|
|
513
|
+
this.openButton.accessibleExpanded = true;
|
|
514
|
+
}
|
|
515
|
+
if (this.accessibleRole !== "listbox") {
|
|
516
|
+
this.teleport.makeSiblingsInert();
|
|
517
|
+
}
|
|
518
|
+
this.updatePlacement();
|
|
519
|
+
setTimeout(() => {
|
|
520
|
+
if (this.accessibleRole === "menu") {
|
|
521
|
+
this.itemElements[0].setFocus();
|
|
522
|
+
}
|
|
523
|
+
this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
|
|
524
|
+
}, 200);
|
|
525
|
+
}
|
|
526
|
+
else if (!this.open && oldValue) {
|
|
527
|
+
if (this.openButton) {
|
|
528
|
+
this.openButton.accessibleExpanded = false;
|
|
529
|
+
}
|
|
530
|
+
setTimeout(() => {
|
|
531
|
+
if (this.accessibleRole === "menu") {
|
|
532
|
+
this.focusOpenButton();
|
|
533
|
+
}
|
|
534
|
+
this.duetToggle.emit({ open: this.open, component: "duet-popup-menu" });
|
|
535
|
+
if (this.accessibleRole !== "listbox") {
|
|
536
|
+
this.teleport.removeInertFromSiblings();
|
|
537
|
+
}
|
|
538
|
+
}, 200);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
focusOpenButton() {
|
|
542
|
+
if (this.open) {
|
|
543
|
+
focusUtils.focusElement(this.openButton);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
get itemElements() {
|
|
547
|
+
return Array.from(this.element.querySelectorAll(":scope duet-popup-menu-item"));
|
|
548
|
+
}
|
|
549
|
+
async getFocusedItemIndex() {
|
|
550
|
+
const items = this.itemElements;
|
|
551
|
+
for (let i = 0; i < items.length; i++) {
|
|
552
|
+
if (await items[i].isFocused()) {
|
|
553
|
+
return i;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
return -1;
|
|
557
|
+
}
|
|
558
|
+
render() {
|
|
559
|
+
const styles = {
|
|
560
|
+
top: `${this.menuY}px`,
|
|
561
|
+
left: `${this.menuX}px`,
|
|
562
|
+
position: this.position,
|
|
563
|
+
overflowY: "auto",
|
|
564
|
+
};
|
|
565
|
+
return (index.h(index.Host, { key: '389d4d1b46db081d29a7fa8d57fd65f9c113f7a9' }, index.h("div", { key: '8d5e47a1dac1f4a7b17aed4aa69afed4cfa44a39', ref: element => {
|
|
566
|
+
this.menuElement = element;
|
|
567
|
+
}, style: styles, class: { open: this.open, "duet-popup-menu-list": true, "duet-theme-turva": this.theme === "turva" }, role: this.accessibleRole, "aria-label": this.accessibleLabel }, index.h("slot", { key: '09fc711a6dc838d9e345a694c5e45c09a01bf4ed' }))));
|
|
568
|
+
}
|
|
569
|
+
get element() { return index.getElement(this); }
|
|
570
|
+
static get watchers() { return {
|
|
571
|
+
"controller": ["handleControllerChange"],
|
|
572
|
+
"open": ["handleOpenChange"]
|
|
573
|
+
}; }
|
|
574
|
+
};
|
|
575
|
+
DuetPopupMenu.style = DuetPopupMenuStyle0;
|
|
576
|
+
|
|
577
|
+
const duetPopupMenuItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start}.duet-popup-menu-item{display:flex;flex-grow:1;gap:12px;align-items:center;height:100%;padding:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer}.duet-popup-menu-item:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-popup-menu-item:focus,.duet-popup-menu-item:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-popup-menu-item.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-popup-menu-item.active{background:rgb(240, 247, 250)}.duet-popup-menu-item.active.duet-theme-turva{background:rgb(245, 247, 250)}.duet-popup-menu-item:hover{background:rgb(228, 241, 247)}.duet-popup-menu-item:hover.duet-theme-turva{background:rgb(222, 224, 228)}.duet-popup-menu-item .duet-popup-menu-item-label{flex-grow:1}.duet-popup-menu-item .duet-popup-menu-item-trailing{padding-left:20px}.active-descendant{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .active-descendant,.active-descendant.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
|
|
578
|
+
const DuetPopupMenuItemStyle0 = duetPopupMenuItemCss;
|
|
579
|
+
|
|
580
|
+
const DuetPopupMenuItem = class {
|
|
581
|
+
constructor(hostRef) {
|
|
582
|
+
index.registerInstance(this, hostRef);
|
|
583
|
+
this.duetFocus = index.createEvent(this, "duetFocus", 7);
|
|
584
|
+
this.duetBlur = index.createEvent(this, "duetBlur", 7);
|
|
585
|
+
/**
|
|
586
|
+
* Component event handling.
|
|
587
|
+
*/
|
|
588
|
+
this.onFocus = (ev) => {
|
|
589
|
+
this.focus = true;
|
|
590
|
+
this.duetFocus.emit({
|
|
591
|
+
originalEvent: ev,
|
|
592
|
+
value: this.value,
|
|
593
|
+
component: "duet-popup-menu-item",
|
|
594
|
+
});
|
|
595
|
+
};
|
|
596
|
+
this.onBlur = (ev) => {
|
|
597
|
+
this.focus = false;
|
|
598
|
+
this.duetBlur.emit({
|
|
599
|
+
originalEvent: ev,
|
|
600
|
+
value: this.value,
|
|
601
|
+
component: "duet-popup-menu-item",
|
|
602
|
+
});
|
|
603
|
+
};
|
|
604
|
+
this.focus = false;
|
|
605
|
+
this.accessibleLabel = undefined;
|
|
606
|
+
this.accessibleRole = "menuitem";
|
|
607
|
+
this.theme = "";
|
|
608
|
+
this.url = undefined;
|
|
609
|
+
this.external = false;
|
|
610
|
+
this.targetLanguage = undefined;
|
|
611
|
+
this.value = undefined;
|
|
612
|
+
this.leadingIcon = undefined;
|
|
613
|
+
this.leadingIconColor = undefined;
|
|
614
|
+
this.trailingIcon = undefined;
|
|
615
|
+
this.trailingText = undefined;
|
|
616
|
+
this.active = false;
|
|
617
|
+
this.activeDescendant = false;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Component lifecycle events.
|
|
621
|
+
*/
|
|
622
|
+
componentWillLoad() {
|
|
623
|
+
themeableComponent.inheritGlobalTheme(this);
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Sets focus. Use this method instead of the global focus().
|
|
627
|
+
*/
|
|
628
|
+
async setFocus(options) {
|
|
629
|
+
setTimeout(() => this.itemElement.focus(options), 200);
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* isFocused.
|
|
633
|
+
*/
|
|
634
|
+
async isFocused() {
|
|
635
|
+
return this.focus;
|
|
636
|
+
}
|
|
637
|
+
render() {
|
|
638
|
+
const TagName = this.url ? "a" : "button";
|
|
639
|
+
const classes = {
|
|
640
|
+
"duet-popup-menu-item": true,
|
|
641
|
+
active: this.active,
|
|
642
|
+
"duet-theme-turva": this.theme === "turva",
|
|
643
|
+
"active-descendant": this.activeDescendant,
|
|
644
|
+
};
|
|
645
|
+
return (index.h(index.Host, { key: 'e53141f7390844d3bd55d5204d7dac9334248fdc', role: this.accessibleRole }, index.h(TagName, { key: '73fe7bb5b8cc6fa57b12e0d210edc4ef25dd401b', ref: element => (this.itemElement = element), tabIndex: this.accessibleRole === "menuitem" || "option" ? -1 : 0, onFocus: this.onFocus, onBlur: this.onBlur, role: `${TagName === "a" ? "link" : "button"}`, "aria-label": this.accessibleLabel, class: classes, value: this.value, href: this.url, target: this.external ? "_blank" : undefined, rel: this.external ? "noopener" : undefined, lang: TagName === "button" ? undefined : this.targetLanguage, hreflang: TagName === "button" ? undefined : this.targetLanguage }, this.leadingIcon && (index.h("duet-icon", { key: '3fd892272f52814da4c8f14ea7bec580a160e858', name: this.leadingIcon, size: "x-small", color: this.leadingIconColor ? this.leadingIconColor : "currentColor", class: "duet-popup-menu-item-leading", margin: "none" })), index.h("span", { key: '51b7da7f29ef0f85344e02b1a85aa185bca9b26a', class: "duet-popup-menu-item-label" }, index.h("slot", { key: '9a72c7fcaeeafe89741760d84c91382b31ab798f' })), (this.trailingIcon || this.active) && (index.h("duet-icon", { key: '1ddf8f956adbe24208d16c33fe28fde167babcb2', name: this.active ? "messaging-checked-small" : this.trailingIcon, size: this.active ? "xx-small" : "x-small", color: "currentColor", class: "duet-popup-menu-item-trailing", margin: "none" })), this.trailingText && index.h("span", { key: '30aa34505231dbe1a78af9256920294e967a559a', class: "duet-popup-menu-item-trailing" }, this.trailingText))));
|
|
646
|
+
}
|
|
647
|
+
get element() { return index.getElement(this); }
|
|
648
|
+
};
|
|
649
|
+
DuetPopupMenuItem.style = DuetPopupMenuItemStyle0;
|
|
650
|
+
|
|
651
|
+
exports.duet_chip = DuetChip;
|
|
652
|
+
exports.duet_popup_menu = DuetPopupMenu;
|
|
653
|
+
exports.duet_popup_menu_item = DuetPopupMenuItem;
|