@duetds/components 7.1.0 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hydrate/index.d.ts +6 -6
- package/hydrate/index.js +404 -243
- package/lib/cjs/duet-action-button.cjs.entry.js +29 -13
- package/lib/cjs/duet-alert.cjs.entry.js +6 -6
- package/lib/cjs/duet-badge.cjs.entry.js +3 -3
- package/lib/cjs/duet-banner.cjs.entry.js +4 -4
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +5 -5
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
- package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-callout.cjs.entry.js +3 -3
- package/lib/cjs/duet-caption_4.cjs.entry.js +26 -9
- package/lib/cjs/duet-card.cjs.entry.js +7 -7
- package/lib/cjs/duet-checkbox.cjs.entry.js +4 -4
- package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
- package/lib/cjs/duet-chip.cjs.entry.js +4 -4
- package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
- package/lib/cjs/duet-collapsible.cjs.entry.js +7 -7
- package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
- package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
- package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
- package/lib/cjs/duet-empty-state.cjs.entry.js +3 -3
- package/lib/cjs/duet-fieldset.cjs.entry.js +5 -5
- package/lib/cjs/duet-footer.cjs.entry.js +6 -6
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-hero.cjs.entry.js +14 -8
- package/lib/cjs/duet-icon.cjs.entry.js +4 -4
- package/lib/cjs/duet-input_2.cjs.entry.js +8 -8
- package/lib/cjs/duet-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +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 +4 -4
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
- package/lib/cjs/duet-modal.cjs.entry.js +10 -10
- package/lib/cjs/duet-multiselect.cjs.entry.js +7 -7
- package/lib/cjs/duet-nav.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-number-input.cjs.entry.js +7 -7
- package/lib/cjs/duet-page-heading.cjs.entry.js +3 -3
- package/lib/cjs/duet-pagination_2.cjs.entry.js +79 -45
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +3 -3
- package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
- package/lib/cjs/duet-progress.cjs.entry.js +6 -6
- package/lib/cjs/duet-promo-card.cjs.entry.js +4 -4
- package/lib/cjs/duet-radio_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-range-slider.cjs.entry.js +5 -5
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +7 -7
- package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-select.cjs.entry.js +5 -5
- package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
- package/lib/cjs/duet-show-more.cjs.entry.js +7 -7
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +5 -5
- package/lib/cjs/duet-slideout-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +3 -3
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +7 -7
- package/lib/cjs/duet-slideout.cjs.entry.js +9 -9
- package/lib/cjs/duet-step_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +4 -4
- package/lib/cjs/duet-textarea.cjs.entry.js +5 -5
- package/lib/cjs/duet-toggle.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-tooltip.cjs.entry.js +8 -8
- 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 +6 -6
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
- package/lib/cjs/duet.cjs.js +4 -11
- package/lib/cjs/{errorcodes.utils-c85ef728.js → errorcodes.utils-8e928de5.js} +2 -2
- package/lib/cjs/{focus-utils-09463cf4.js → focus-utils-c58cda6e.js} +1 -1
- package/lib/cjs/{index-e43540c9.js → index-690ed579.js} +505 -183
- package/lib/cjs/{language-utils-6f1ce5d7.js → language-utils-dc19e8b6.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -12
- package/lib/collection/collection-manifest.json +98 -98
- package/lib/collection/components/duet-action-button/duet-action-button.css +12 -12
- package/lib/collection/components/duet-action-button/duet-action-button.js +54 -12
- package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
- package/lib/collection/components/duet-alert/duet-alert.js +23 -12
- package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
- package/lib/collection/components/duet-badge/duet-badge.js +6 -3
- package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
- package/lib/collection/components/duet-banner/duet-banner.js +16 -8
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -2
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +18 -0
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -1
- package/lib/collection/components/duet-button/duet-button.e2e.js +210 -0
- package/lib/collection/components/duet-button/duet-button.js +29 -15
- package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
- package/lib/collection/components/duet-callout/duet-callout.js +4 -2
- package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
- package/lib/collection/components/duet-caption/duet-caption.js +6 -3
- package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
- package/lib/collection/components/duet-card/duet-card.js +24 -12
- package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +14 -7
- package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
- package/lib/collection/components/duet-chip/duet-chip.js +16 -8
- package/lib/collection/components/duet-choice/duet-checkmark.js +4 -2
- package/lib/collection/components/duet-choice/duet-choice.e2e.js +181 -0
- package/lib/collection/components/duet-choice/duet-choice.js +27 -14
- package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +88 -0
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +10 -5
- package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +16 -8
- package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +110 -0
- package/lib/collection/components/duet-combobox/duet-combobox.js +14 -7
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +6 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +31 -0
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +4 -2
- package/lib/collection/components/duet-date-picker/date-utils.spec.js +330 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +694 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +28 -14
- package/lib/collection/components/duet-divider/duet-divider.e2e.js +32 -0
- package/lib/collection/components/duet-divider/duet-divider.js +6 -3
- package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +29 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +20 -10
- package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +16 -0
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +6 -3
- package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +6 -3
- package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
- package/lib/collection/components/duet-footer/duet-footer.js +23 -12
- package/lib/collection/components/duet-grid/duet-grid.e2e.js +42 -0
- package/lib/collection/components/duet-grid/duet-grid.js +10 -5
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +8 -4
- package/lib/collection/components/duet-header/duet-header.e2e.js +468 -0
- package/lib/collection/components/duet-header/duet-header.js +50 -26
- package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
- package/lib/collection/components/duet-heading/duet-heading.js +12 -6
- package/lib/collection/components/duet-hero/duet-hero.css +6 -0
- package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
- package/lib/collection/components/duet-hero/duet-hero.js +69 -14
- package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
- package/lib/collection/components/duet-icon/duet-icon.js +14 -7
- package/lib/collection/components/duet-icon/icon-utils.spec.js +84 -0
- package/lib/collection/components/duet-input/duet-input.e2e.js +201 -0
- package/lib/collection/components/duet-input/duet-input.js +32 -16
- package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
- package/lib/collection/components/duet-label/duet-label.js +6 -3
- package/lib/collection/components/duet-layout/duet-layout.e2e.js +32 -0
- package/lib/collection/components/duet-layout/duet-layout.js +6 -3
- package/lib/collection/components/duet-link/duet-link.css +4 -1
- package/lib/collection/components/duet-link/duet-link.e2e.js +53 -0
- package/lib/collection/components/duet-link/duet-link.js +90 -11
- package/lib/collection/components/duet-list/duet-list.e2e.js +105 -0
- package/lib/collection/components/duet-list/duet-list.js +14 -7
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -1
- package/lib/collection/components/duet-logo/duet-logo.e2e.js +42 -0
- package/lib/collection/components/duet-logo/duet-logo.js +14 -7
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -2
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +6 -3
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +6 -3
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -1
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -1
- package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
- package/lib/collection/components/duet-modal/duet-modal.js +24 -12
- package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +20 -10
- package/lib/collection/components/duet-nav/duet-nav.js +2 -1
- package/lib/collection/components/duet-notification/duet-notification.e2e.js +12 -0
- package/lib/collection/components/duet-notification/duet-notification.js +11 -6
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +177 -0
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +18 -9
- package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +32 -0
- package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +242 -0
- package/lib/collection/components/duet-number-input/duet-number-input.js +30 -15
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +4 -2
- package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
- package/lib/collection/components/duet-pagination/duet-pagination.js +102 -41
- package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +12 -6
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +14 -7
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +16 -8
- package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
- package/lib/collection/components/duet-progress/duet-progress.js +4 -2
- package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +23 -0
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +10 -5
- package/lib/collection/components/duet-radio/duet-radio.e2e.js +135 -0
- package/lib/collection/components/duet-radio/duet-radio.js +16 -8
- package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +57 -0
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +8 -4
- package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +57 -0
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +14 -7
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +51 -0
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +8 -4
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +23 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +12 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +2 -1
- package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +22 -0
- package/lib/collection/components/duet-section-layout/duet-section-layout.js +2 -1
- package/lib/collection/components/duet-select/duet-select.e2e.js +211 -0
- package/lib/collection/components/duet-select/duet-select.js +20 -10
- package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +4 -2
- package/lib/collection/components/duet-show-more/duet-show-more.js +16 -8
- package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +2 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -1
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +8 -4
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +6 -3
- package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +27 -0
- package/lib/collection/components/duet-spacer/duet-spacer.js +6 -3
- package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +30 -0
- package/lib/collection/components/duet-spinner/duet-spinner.js +6 -3
- package/lib/collection/components/duet-step/duet-step.e2e.js +92 -0
- package/lib/collection/components/duet-step/duet-step.js +12 -6
- package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
- package/lib/collection/components/duet-stepper/duet-stepper.js +6 -3
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +6 -3
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +6 -3
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -1
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +2 -1
- package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
- package/lib/collection/components/duet-tab/duet-tab.js +2 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +108 -0
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +24 -12
- package/lib/collection/components/duet-table/duet-table.e2e.js +95 -0
- package/lib/collection/components/duet-table/duet-table.js +10 -5
- package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +199 -0
- package/lib/collection/components/duet-textarea/duet-textarea.js +18 -9
- package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
- package/lib/collection/components/duet-toggle/duet-toggle.js +10 -5
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +6 -3
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -1
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +6 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +14 -7
- package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +12 -6
- package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
- package/lib/collection/components/duet-tray/duet-tray.js +8 -4
- package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
- package/lib/collection/components/duet-upload/duet-upload.js +69 -35
- package/lib/collection/components/duet-upload/upload-validators.spec.js +41 -0
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +2 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +18 -9
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -0
- package/lib/collection/utils/create-id.spec.js +12 -0
- package/lib/collection/utils/js-utils.spec.js +22 -0
- package/lib/collection/utils/language-utils.spec.js +159 -0
- package/lib/collection/utils/math.utils.spec.js +140 -0
- package/lib/collection/utils/string-utils.spec.js +39 -0
- package/lib/collection/utils/template-utils.spec.js +39 -0
- package/lib/collection/utils/token-utils.spec.js +178 -0
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-alert.js +1 -1
- package/lib/dist-custom-elements/duet-badge.js +1 -1
- package/lib/dist-custom-elements/duet-banner.js +8 -8
- package/lib/dist-custom-elements/duet-breadcrumb.js +6 -6
- package/lib/dist-custom-elements/duet-breadcrumbs.js +4 -4
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +6 -6
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +10 -10
- 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 +8 -6
- package/lib/dist-custom-elements/duet-choice-group.js +18 -12
- package/lib/dist-custom-elements/duet-choice.js +14 -14
- package/lib/dist-custom-elements/duet-collapsible.js +9 -9
- package/lib/dist-custom-elements/duet-combobox.js +15 -10
- package/lib/dist-custom-elements/duet-contact-card.js +12 -12
- package/lib/dist-custom-elements/duet-cookie-consent.js +9 -9
- package/lib/dist-custom-elements/duet-date-picker.js +25 -20
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +14 -14
- package/lib/dist-custom-elements/duet-empty-state.js +1 -1
- package/lib/dist-custom-elements/duet-fieldset.js +1 -1
- package/lib/dist-custom-elements/duet-footer.js +13 -10
- 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 +25 -18
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +29 -17
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +3 -3
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +5 -5
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -6
- package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -5
- package/lib/dist-custom-elements/duet-menu-bar.js +5 -5
- package/lib/dist-custom-elements/duet-modal.js +20 -17
- package/lib/dist-custom-elements/duet-multiselect.js +20 -18
- package/lib/dist-custom-elements/duet-nav.js +3 -3
- 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 +17 -17
- package/lib/dist-custom-elements/duet-page-heading.js +5 -5
- package/lib/dist-custom-elements/duet-pagination.js +98 -57
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +5 -5
- package/lib/dist-custom-elements/duet-popup-menu.js +6 -6
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +7 -7
- package/lib/dist-custom-elements/duet-radio-group.js +18 -12
- package/lib/dist-custom-elements/duet-radio.js +4 -4
- package/lib/dist-custom-elements/duet-range-slider.js +7 -7
- package/lib/dist-custom-elements/duet-range-stepper.js +13 -10
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +3 -3
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
- package/lib/dist-custom-elements/duet-show-more.js +11 -11
- package/lib/dist-custom-elements/duet-slideout-lang.js +6 -6
- package/lib/dist-custom-elements/duet-slideout-link.js +5 -5
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +5 -5
- package/lib/dist-custom-elements/duet-slideout-panel.js +8 -8
- 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 +9 -9
- package/lib/dist-custom-elements/duet-stepper.js +9 -6
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar.js +8 -6
- package/lib/dist-custom-elements/duet-tab-group.js +19 -19
- package/lib/dist-custom-elements/duet-tab.js +4 -4
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +17 -15
- package/lib/dist-custom-elements/duet-toggle.js +8 -6
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
- package/lib/dist-custom-elements/duet-toolbar-link.js +5 -5
- package/lib/dist-custom-elements/duet-toolbar.js +3 -3
- package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +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 +27 -25
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.d.ts +6 -0
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/{p-fcc738df.js → p-0b57c524.js} +3 -3
- package/lib/dist-custom-elements/{p-53148470.js → p-0ba124b9.js} +5 -5
- package/lib/dist-custom-elements/{p-4d9d4c43.js → p-1486b0c1.js} +9 -4
- package/lib/dist-custom-elements/{p-67b279fa.js → p-1e4076af.js} +5 -5
- package/lib/dist-custom-elements/{p-a5b5343b.js → p-2641fc0a.js} +16 -13
- package/lib/dist-custom-elements/{p-fc3ae836.js → p-2c71a27f.js} +7 -3
- package/lib/dist-custom-elements/{p-99ec82e5.js → p-35de375b.js} +6 -6
- package/lib/dist-custom-elements/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/dist-custom-elements/{p-6958bba3.js → p-493cc4fa.js} +15 -15
- package/lib/dist-custom-elements/{p-1a8cb0ad.js → p-58de13d4.js} +8 -6
- package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
- package/lib/dist-custom-elements/{p-d8859df9.js → p-630ecbb3.js} +4 -4
- package/lib/dist-custom-elements/{p-479fa83d.js → p-67c36e47.js} +32 -15
- package/lib/dist-custom-elements/{p-87cf7266.js → p-6d492269.js} +10 -8
- package/lib/dist-custom-elements/{p-77c93063.js → p-88eed3e1.js} +4 -4
- package/lib/dist-custom-elements/{p-d6e49c93.js → p-8ad6dca9.js} +7 -7
- package/lib/dist-custom-elements/{p-c2533c03.js → p-8bf1f4a8.js} +3 -3
- package/lib/dist-custom-elements/{p-cedaa97e.js → p-912094d4.js} +2 -2
- package/lib/dist-custom-elements/{p-6a66573f.js → p-948bdce9.js} +15 -10
- package/lib/dist-custom-elements/{p-d8c53f43.js → p-9c86efb4.js} +2 -2
- package/lib/dist-custom-elements/{p-6816fd1b.js → p-9f8e1aca.js} +10 -10
- package/lib/dist-custom-elements/{p-ad704699.js → p-a1becc63.js} +10 -8
- package/lib/dist-custom-elements/{p-f7337164.js → p-a25a0c57.js} +4 -4
- package/lib/dist-custom-elements/{p-dd33aa4e.js → p-a83ac481.js} +5 -5
- package/lib/dist-custom-elements/{p-decdd69c.js → p-acba25ec.js} +5 -5
- package/lib/dist-custom-elements/{p-72c9e944.js → p-b0e6db65.js} +4 -4
- package/lib/dist-custom-elements/{p-85087518.js → p-b3d7f37b.js} +5 -5
- package/lib/dist-custom-elements/{p-21dd956e.js → p-c0599d67.js} +31 -10
- package/lib/dist-custom-elements/{p-e611a3df.js → p-c4dd0df2.js} +9 -5
- package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
- package/lib/dist-custom-elements/{p-7c6ee265.js → p-c9e95a9c.js} +15 -13
- package/lib/dist-custom-elements/{p-53fba128.js → p-d10ecec6.js} +4 -4
- package/lib/dist-custom-elements/{p-89dec98e.js → p-d9120001.js} +7 -7
- package/lib/dist-custom-elements/{p-12a46182.js → p-dca02738.js} +12 -4
- package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
- package/lib/dist-custom-elements/{p-e90b70ac.js → p-e81b7043.js} +3 -3
- package/lib/dist-custom-elements/{p-954d4096.js → p-f99ec481.js} +20 -17
- package/lib/dist-custom-elements/{p-1d90b10e.js → p-ff199982.js} +507 -166
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +2 -6
- package/lib/duet/{p-0c203d28.entry.js → p-002b8f41.entry.js} +1 -1
- package/lib/duet/{p-1c8634b1.entry.js → p-02baa949.entry.js} +1 -1
- package/lib/duet/{p-0f2664ed.entry.js → p-0528e2a7.entry.js} +1 -1
- package/lib/duet/p-053b71e6.system.js +1 -1
- package/lib/duet/{p-cc48a8a0.system.entry.js → p-06352a34.system.entry.js} +2 -2
- package/lib/duet/{p-b42b2676.entry.js → p-09bade4b.entry.js} +1 -1
- package/lib/duet/{p-e52631b1.entry.js → p-0a33ef8e.entry.js} +1 -1
- package/lib/duet/p-0c4bbd65.system.js +1 -1
- package/lib/duet/{p-acfae908.system.entry.js → p-0eb0c8c0.system.entry.js} +2 -2
- package/lib/duet/p-0ee95a64.entry.js +4 -0
- package/lib/duet/{p-84ebe175.entry.js → p-11bd9a89.entry.js} +1 -1
- package/lib/duet/p-11e2303e.system.entry.js +4 -0
- package/lib/duet/{p-250745c0.system.entry.js → p-16d4371a.system.entry.js} +2 -2
- package/lib/duet/{p-469892f4.system.entry.js → p-17e15242.system.entry.js} +1 -1
- package/lib/duet/{p-5ab4d5d4.entry.js → p-18a31510.entry.js} +1 -1
- package/lib/duet/p-1a91e22a.system.js +4 -0
- package/lib/duet/{p-9b992ce9.entry.js → p-1b6fb905.entry.js} +1 -1
- package/lib/duet/{p-9f65b014.system.entry.js → p-1bdc4a34.system.entry.js} +1 -1
- package/lib/duet/{p-c655b7d1.system.entry.js → p-1d053237.system.entry.js} +1 -1
- package/lib/duet/p-1f65b60f.entry.js +4 -0
- package/lib/duet/{p-7ee29cc1.system.entry.js → p-1fcbfb23.system.entry.js} +2 -2
- package/lib/duet/p-215eda28.system.entry.js +4 -0
- package/lib/duet/p-21f3a17a.system.js +1 -1
- package/lib/duet/{p-84390ead.entry.js → p-23134d90.entry.js} +1 -1
- package/lib/duet/p-232940fa.system.js +4 -0
- package/lib/duet/{p-d79fa6a4.system.entry.js → p-245fb629.system.entry.js} +2 -2
- package/lib/duet/p-26095a08.system.js +4 -0
- package/lib/duet/{p-3878572f.entry.js → p-2748aa50.entry.js} +1 -1
- package/lib/duet/{p-b41ed3c4.entry.js → p-28960e09.entry.js} +1 -1
- package/lib/duet/{p-f7793f52.entry.js → p-2906fe6c.entry.js} +1 -1
- package/lib/duet/{p-fb238069.entry.js → p-2a830ee9.entry.js} +1 -1
- package/lib/duet/{p-5fb428c8.system.entry.js → p-2cacedde.system.entry.js} +2 -2
- package/lib/duet/{p-5f2fc4bd.entry.js → p-2d4c6724.entry.js} +1 -1
- package/lib/duet/p-2da624a5.system.entry.js +4 -0
- package/lib/duet/{p-b6c212f5.system.entry.js → p-2eab12b7.system.entry.js} +1 -1
- package/lib/duet/{p-a322b729.entry.js → p-2fb0a3de.entry.js} +1 -1
- package/lib/duet/{p-e62f72a3.entry.js → p-32d74eb9.entry.js} +1 -1
- package/lib/duet/{p-0bb83776.system.entry.js → p-334112ab.system.entry.js} +2 -2
- package/lib/duet/{p-6d71214f.entry.js → p-34249a02.entry.js} +1 -1
- package/lib/duet/{p-42c64bb8.system.entry.js → p-34b3855f.system.entry.js} +2 -2
- package/lib/duet/{p-3768dda7.system.entry.js → p-35a932ab.system.entry.js} +2 -2
- package/lib/duet/{p-70c7a137.system.entry.js → p-35c6f8ce.system.entry.js} +1 -1
- package/lib/duet/{p-3092d696.system.entry.js → p-3b82aa9e.system.entry.js} +2 -2
- package/lib/duet/p-3cd4a72e.system.entry.js +4 -0
- package/lib/duet/{p-73c9436a.entry.js → p-3e39b66d.entry.js} +1 -1
- package/lib/duet/{p-e4fd145a.entry.js → p-43587827.entry.js} +1 -1
- package/lib/duet/p-43f99432.entry.js +4 -0
- package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
- package/lib/duet/{p-79266582.system.entry.js → p-46b4ef6c.system.entry.js} +1 -1
- package/lib/duet/{p-15a77012.system.entry.js → p-48361f6f.system.entry.js} +1 -1
- package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/duet/{p-9f975819.system.entry.js → p-48da4668.system.entry.js} +2 -2
- package/lib/duet/{p-7be35e53.system.entry.js → p-4a497c15.system.entry.js} +2 -2
- package/lib/duet/{p-729f35d8.system.entry.js → p-4a4dbe4e.system.entry.js} +2 -2
- package/lib/duet/{p-529dc6fe.entry.js → p-4b79c0dc.entry.js} +1 -1
- package/lib/duet/{p-86b83b73.system.entry.js → p-4c3b19ec.system.entry.js} +2 -2
- package/lib/duet/p-4f1c6cc0.system.entry.js +4 -0
- package/lib/duet/p-52b57add.system.entry.js +4 -0
- package/lib/duet/p-54e6e82f.system.js +5 -0
- package/lib/duet/{p-a276bfbd.entry.js → p-55759777.entry.js} +1 -1
- package/lib/duet/{p-014edbda.system.entry.js → p-5664dbfc.system.entry.js} +2 -2
- package/lib/duet/p-58dc5c7f.entry.js +4 -0
- package/lib/duet/{p-f702fd53.entry.js → p-5bdc3d08.entry.js} +1 -1
- package/lib/duet/{p-c8836a67.system.entry.js → p-5e56ebad.system.entry.js} +1 -1
- package/lib/duet/{p-73242991.entry.js → p-5eb72773.entry.js} +1 -1
- package/lib/duet/p-63707d67.system.entry.js +4 -0
- package/lib/duet/{p-30d1b2b5.entry.js → p-65d39961.entry.js} +1 -1
- package/lib/duet/{p-7a7da6cf.system.entry.js → p-6779c17b.system.entry.js} +2 -2
- package/lib/duet/{p-0dfe14d3.entry.js → p-67819e2b.entry.js} +1 -1
- package/lib/duet/{p-dde971f6.system.entry.js → p-6a26a5c9.system.entry.js} +2 -2
- package/lib/duet/{p-b529eb0c.system.entry.js → p-6a8c7ad8.system.entry.js} +2 -2
- package/lib/duet/{p-2d7d1ff7.entry.js → p-6b02135b.entry.js} +1 -1
- package/lib/duet/{p-fc26d56a.entry.js → p-6b9bcd66.entry.js} +1 -1
- package/lib/duet/{p-baef301c.system.entry.js → p-6c1bb847.system.entry.js} +2 -2
- package/lib/duet/{p-6b2c127a.entry.js → p-6cca1a56.entry.js} +1 -1
- package/lib/duet/{p-c8536d3f.entry.js → p-6cf633e0.entry.js} +1 -1
- package/lib/duet/{p-bb5d22df.entry.js → p-6f399f72.entry.js} +1 -1
- package/lib/duet/{p-e2daed97.entry.js → p-701d90ff.entry.js} +1 -1
- package/lib/duet/{p-a620d583.system.entry.js → p-70dcc782.system.entry.js} +1 -1
- package/lib/duet/p-719b38fe.system.js +4 -0
- package/lib/duet/p-72887f8e.system.entry.js +4 -0
- package/lib/duet/p-75daef16.system.js +4 -0
- package/lib/duet/p-7671b7b7.system.js +4 -0
- package/lib/duet/{p-33b3aba4.system.js → p-77b6e4ba.system.js} +1 -1
- package/lib/duet/{p-37ee4ceb.system.entry.js → p-78f8e483.system.entry.js} +2 -2
- package/lib/duet/{p-3344fca3.entry.js → p-7becefd3.entry.js} +1 -1
- package/lib/duet/{p-85605193.system.entry.js → p-7bfb912d.system.entry.js} +2 -2
- package/lib/duet/p-7c29d36a.system.js +4 -0
- package/lib/duet/{p-bdb50607.system.entry.js → p-7c672283.system.entry.js} +2 -2
- package/lib/duet/p-7cd149d5.system.entry.js +4 -0
- package/lib/duet/{p-edbc2774.entry.js → p-7cefb9c8.entry.js} +1 -1
- package/lib/duet/{p-90f97748.entry.js → p-7d5d6371.entry.js} +1 -1
- package/lib/duet/{p-792cbd42.system.entry.js → p-80157d8f.system.entry.js} +2 -2
- package/lib/duet/{p-1e3f0d63.system.entry.js → p-824841b9.system.entry.js} +1 -1
- package/lib/duet/{p-f5c2ccce.entry.js → p-82ed0c1e.entry.js} +1 -1
- package/lib/duet/{p-fc1fee5c.system.js → p-83c33ce1.system.js} +1 -1
- package/lib/duet/{p-9601bad5.entry.js → p-852393bd.entry.js} +1 -1
- package/lib/duet/{p-9bdf6ce2.entry.js → p-861e2ba5.entry.js} +1 -1
- package/lib/duet/p-87dd7bf3.system.js +4 -0
- package/lib/duet/{p-51328149.entry.js → p-893682f2.entry.js} +1 -1
- package/lib/duet/p-8972381a.system.js +4 -0
- package/lib/duet/{p-a922b309.system.entry.js → p-8c2eb2f4.system.entry.js} +2 -2
- package/lib/duet/p-8d0d6e06.system.js +4 -0
- package/lib/duet/p-8e1da663.system.js +4 -0
- package/lib/duet/{p-2bec5be2.entry.js → p-8e2ddb69.entry.js} +1 -1
- package/lib/duet/{p-285b2d7b.system.entry.js → p-8f2a8dfd.system.entry.js} +1 -1
- package/lib/duet/p-8f477bd6.system.js +1 -1
- package/lib/duet/{p-5ac682b3.system.entry.js → p-90133074.system.entry.js} +1 -1
- package/lib/duet/{p-0b38374b.system.entry.js → p-9170537f.system.entry.js} +1 -1
- package/lib/duet/{p-da7cc3d1.entry.js → p-921c430e.entry.js} +1 -1
- package/lib/duet/{p-b6e50064.entry.js → p-9281ad1f.entry.js} +1 -1
- package/lib/duet/{p-34aa54e1.entry.js → p-929f96e6.entry.js} +1 -1
- package/lib/duet/p-94a9fe8f.system.entry.js +4 -0
- package/lib/duet/{p-4903f5c4.system.entry.js → p-959c412f.system.entry.js} +1 -1
- package/lib/duet/{p-b3a1ea89.system.entry.js → p-97af94e6.system.entry.js} +2 -2
- package/lib/duet/{p-1853e4e5.system.entry.js → p-983ffcca.system.entry.js} +2 -2
- package/lib/duet/{p-92c7c0ba.entry.js → p-9a5b6324.entry.js} +1 -1
- package/lib/duet/p-9d033a04.system.js +1 -1
- package/lib/duet/{p-ee0ca0fd.entry.js → p-9e2fc97b.entry.js} +1 -1
- package/lib/duet/p-a1dadf5f.entry.js +4 -0
- package/lib/duet/{p-8ac518e1.system.entry.js → p-a27749fc.system.entry.js} +1 -1
- package/lib/duet/{p-ad70248d.entry.js → p-a4262e9e.entry.js} +1 -1
- package/lib/duet/p-a44381d5.js +5 -0
- package/lib/duet/{p-ab2d8091.entry.js → p-a77d6daa.entry.js} +1 -1
- package/lib/duet/{p-4b71c8e9.entry.js → p-a8c0eab5.entry.js} +1 -1
- package/lib/duet/{p-97076e02.entry.js → p-ad97d7c8.entry.js} +1 -1
- package/lib/duet/{p-c52e0917.entry.js → p-af9efdf9.entry.js} +1 -1
- package/lib/duet/{p-f5e12c14.system.entry.js → p-b0552213.system.entry.js} +1 -1
- package/lib/duet/{p-e96bed1e.system.entry.js → p-b177abe2.system.entry.js} +1 -1
- package/lib/duet/p-b1db3006.js +1 -1
- package/lib/duet/{p-64710156.entry.js → p-b43c3844.entry.js} +1 -1
- package/lib/duet/{p-8156e5a5.system.entry.js → p-b4da4477.system.entry.js} +1 -1
- package/lib/duet/{p-cfe09501.system.entry.js → p-b4f0714b.system.entry.js} +1 -1
- package/lib/duet/{p-d86480ea.system.entry.js → p-b6969c2e.system.entry.js} +1 -1
- package/lib/duet/{p-54c07ffa.system.entry.js → p-b7746ffa.system.entry.js} +1 -1
- package/lib/duet/{p-9d317471.entry.js → p-b8e1051f.entry.js} +1 -1
- package/lib/duet/{p-f9f1c707.system.entry.js → p-b9743891.system.entry.js} +2 -2
- package/lib/duet/p-b99c00fa.system.js +4 -0
- package/lib/duet/{p-0414004a.entry.js → p-ba7e2b46.entry.js} +1 -1
- package/lib/duet/{p-c135039c.entry.js → p-bb197ad9.entry.js} +1 -1
- package/lib/duet/{p-2556c6f0.system.entry.js → p-c0cd5815.system.entry.js} +2 -2
- package/lib/duet/p-c30a5f7c.system.js +4 -0
- package/lib/duet/p-c3148fb5.entry.js +4 -0
- package/lib/duet/{p-a64cf9f8.system.entry.js → p-c45cca40.system.entry.js} +1 -1
- package/lib/duet/{p-22acfa83.entry.js → p-c486b82a.entry.js} +1 -1
- package/lib/duet/{p-b52f8ce1.entry.js → p-c689a5a2.entry.js} +1 -1
- package/lib/duet/{p-fc6d2bf4.entry.js → p-c69dd504.entry.js} +1 -1
- package/lib/duet/{p-0ea3453c.system.entry.js → p-c8153914.system.entry.js} +1 -1
- package/lib/duet/{p-3a9779ee.entry.js → p-c9302dda.entry.js} +1 -1
- package/lib/duet/p-c97109b5.system.js +4 -0
- package/lib/duet/{p-29a6d3b3.entry.js → p-c9d0296f.entry.js} +1 -1
- package/lib/duet/{p-24bc0b8c.entry.js → p-ccd1c1da.entry.js} +1 -1
- package/lib/duet/{p-9c5860a3.entry.js → p-ce0dbe46.entry.js} +1 -1
- package/lib/duet/p-ce60ea36.entry.js +4 -0
- package/lib/duet/{p-39c72a24.system.entry.js → p-cf78c0e7.system.entry.js} +2 -2
- package/lib/duet/{p-2e54c214.entry.js → p-d3b8295e.entry.js} +1 -1
- package/lib/duet/p-d79067a9.entry.js +4 -0
- package/lib/duet/{p-2e54c1f8.system.entry.js → p-db932add.system.entry.js} +2 -2
- package/lib/duet/{p-20767b15.system.entry.js → p-de466d61.system.entry.js} +1 -1
- package/lib/duet/{p-3c2f1fd0.entry.js → p-dfaea3f3.entry.js} +1 -1
- package/lib/duet/{p-ea4f5d13.system.entry.js → p-e00b3992.system.entry.js} +1 -1
- package/lib/duet/{p-bc7c47f4.system.entry.js → p-e04bf7e7.system.entry.js} +2 -2
- package/lib/duet/{p-ebf4a629.entry.js → p-e6d1abab.entry.js} +1 -1
- package/lib/duet/{p-3b85f649.system.entry.js → p-e72b91d4.system.entry.js} +1 -1
- package/lib/duet/{p-f30d3b09.system.entry.js → p-e7389f0d.system.entry.js} +1 -1
- package/lib/duet/{p-457ae87b.system.entry.js → p-e81603e4.system.entry.js} +1 -1
- package/lib/duet/{p-651d430e.system.entry.js → p-e86a0e7f.system.entry.js} +2 -2
- package/lib/duet/{p-1e88edec.entry.js → p-e888b133.entry.js} +1 -1
- package/lib/duet/{p-5f46f02e.system.entry.js → p-e949b01f.system.entry.js} +1 -1
- package/lib/duet/{p-fb7d7222.entry.js → p-ea17a879.entry.js} +1 -1
- package/lib/duet/{p-ca112a3f.system.entry.js → p-eaa27d39.system.entry.js} +2 -2
- package/lib/duet/{p-00a893c1.js → p-ec99ae64.js} +1 -1
- package/lib/duet/p-ecf1f6cd.system.js +4 -0
- package/lib/duet/{p-a095c36f.system.entry.js → p-ecff7157.system.entry.js} +2 -2
- package/lib/duet/p-ed5a5071.system.js +4 -0
- package/lib/duet/{p-b6cf05c0.system.entry.js → p-f07e9544.system.entry.js} +1 -1
- package/lib/duet/{p-00743d6c.system.entry.js → p-f45d7795.system.entry.js} +1 -1
- package/lib/duet/{p-096d7724.entry.js → p-f46d2985.entry.js} +1 -1
- package/lib/duet/{p-db2865b5.entry.js → p-fbeab44b.entry.js} +1 -1
- package/lib/duet/{p-88c01d1c.entry.js → p-fe21ca0a.entry.js} +1 -1
- package/lib/duet/{p-31d63beb.system.entry.js → p-feece078.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +29 -13
- package/lib/esm/duet-alert.entry.js +6 -6
- package/lib/esm/duet-badge.entry.js +3 -3
- package/lib/esm/duet-banner.entry.js +4 -4
- package/lib/esm/duet-breadcrumb.entry.js +5 -5
- package/lib/esm/duet-breadcrumbs.entry.js +4 -4
- package/lib/esm/duet-button_2.entry.js +7 -7
- package/lib/esm/duet-callout.entry.js +3 -3
- package/lib/esm/duet-caption_4.entry.js +26 -9
- package/lib/esm/duet-card.entry.js +7 -7
- package/lib/esm/duet-checkbox.entry.js +4 -4
- package/lib/esm/duet-checkmark.entry.js +2 -2
- package/lib/esm/duet-chip.entry.js +4 -4
- package/lib/esm/duet-choice_2.entry.js +11 -11
- package/lib/esm/duet-collapsible.entry.js +7 -7
- package/lib/esm/duet-combobox.entry.js +6 -6
- package/lib/esm/duet-contact-card.entry.js +5 -5
- package/lib/esm/duet-cookie-consent.entry.js +3 -3
- package/lib/esm/duet-date-picker.entry.js +7 -7
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +10 -10
- package/lib/esm/duet-empty-state.entry.js +3 -3
- package/lib/esm/duet-fieldset.entry.js +5 -5
- package/lib/esm/duet-footer.entry.js +6 -6
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +9 -9
- package/lib/esm/duet-hero.entry.js +14 -8
- package/lib/esm/duet-icon.entry.js +4 -4
- package/lib/esm/duet-input_2.entry.js +8 -8
- package/lib/esm/duet-layout.entry.js +2 -2
- package/lib/esm/duet-list_2.entry.js +3 -3
- package/lib/esm/duet-menu-bar-button.entry.js +3 -3
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-menu-bar-dropdown.entry.js +4 -4
- package/lib/esm/duet-menu-bar-link.entry.js +3 -3
- package/lib/esm/duet-menu-bar.entry.js +3 -3
- package/lib/esm/duet-modal.entry.js +10 -10
- package/lib/esm/duet-multiselect.entry.js +7 -7
- package/lib/esm/duet-nav.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +5 -5
- package/lib/esm/duet-number-input.entry.js +7 -7
- package/lib/esm/duet-page-heading.entry.js +3 -3
- package/lib/esm/duet-pagination_2.entry.js +79 -45
- package/lib/esm/duet-popup-menu-item.entry.js +3 -3
- package/lib/esm/duet-popup-menu.entry.js +5 -5
- package/lib/esm/duet-progress.entry.js +6 -6
- package/lib/esm/duet-promo-card.entry.js +4 -4
- package/lib/esm/duet-radio_2.entry.js +5 -5
- package/lib/esm/duet-range-slider.entry.js +5 -5
- package/lib/esm/duet-scrollable_3.entry.js +7 -7
- package/lib/esm/duet-section-layout.entry.js +2 -2
- package/lib/esm/duet-select.entry.js +5 -5
- package/lib/esm/duet-shaped-image.entry.js +2 -2
- package/lib/esm/duet-show-more.entry.js +7 -7
- package/lib/esm/duet-slideout-lang.entry.js +5 -5
- package/lib/esm/duet-slideout-link.entry.js +3 -3
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +3 -3
- package/lib/esm/duet-slideout-panel.entry.js +7 -7
- package/lib/esm/duet-slideout.entry.js +9 -9
- package/lib/esm/duet-step_2.entry.js +5 -5
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar.entry.js +4 -4
- package/lib/esm/duet-textarea.entry.js +5 -5
- package/lib/esm/duet-toggle.entry.js +4 -4
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-toolbar-dropdown.entry.js +4 -4
- package/lib/esm/duet-toolbar-link.entry.js +3 -3
- package/lib/esm/duet-toolbar.entry.js +2 -2
- package/lib/esm/duet-tooltip-button_2.entry.js +5 -5
- package/lib/esm/duet-tooltip.entry.js +8 -8
- 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 +6 -6
- package/lib/esm/duet-visually-hidden.entry.js +2 -2
- package/lib/esm/duet.js +5 -12
- package/lib/esm/{errorcodes.utils-47fc5d49.js → errorcodes.utils-424b1197.js} +2 -2
- package/lib/esm/{focus-utils-8fc4feb5.js → focus-utils-a669bad3.js} +1 -1
- package/lib/esm/{index-b1b085ac.js → index-4b92be25.js} +505 -183
- package/lib/esm/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
- package/lib/esm/loader.js +4 -13
- package/lib/esm-es5/app-globals-de2a5510.js +1 -1
- package/lib/esm-es5/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +1 -1
- package/lib/esm-es5/{create-id-981107da.js → create-id-2b0cd46d.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +2 -2
- package/lib/esm-es5/duet-alert.entry.js +2 -2
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-banner.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
- package/lib/esm-es5/duet-button_2.entry.js +2 -2
- package/lib/esm-es5/duet-callout.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +2 -2
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +2 -2
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-chip.entry.js +2 -2
- package/lib/esm-es5/duet-choice_2.entry.js +2 -2
- package/lib/esm-es5/duet-collapsible.entry.js +2 -2
- package/lib/esm-es5/duet-combobox.entry.js +2 -2
- package/lib/esm-es5/duet-contact-card.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +2 -2
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +2 -2
- package/lib/esm-es5/duet-grid_2.entry.js +2 -2
- package/lib/esm-es5/duet-header_2.entry.js +2 -2
- package/lib/esm-es5/duet-hero.entry.js +2 -2
- package/lib/esm-es5/duet-icon.entry.js +2 -2
- package/lib/esm-es5/duet-input_2.entry.js +2 -2
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +2 -2
- package/lib/esm-es5/duet-multiselect.entry.js +2 -2
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +2 -2
- package/lib/esm-es5/duet-number-input.entry.js +2 -2
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
- package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
- package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-promo-card.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +2 -2
- package/lib/esm-es5/duet-range-slider.entry.js +2 -2
- package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +2 -2
- package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
- package/lib/esm-es5/duet-show-more.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
- package/lib/esm-es5/duet-slideout.entry.js +2 -2
- package/lib/esm-es5/duet-step_2.entry.js +2 -2
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
- package/lib/esm-es5/duet-textarea.entry.js +2 -2
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
- package/lib/esm-es5/duet-tooltip.entry.js +2 -2
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-upload-item.entry.js +2 -2
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/errorcodes.utils-424b1197.js +4 -0
- package/lib/esm-es5/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +2 -2
- package/lib/esm-es5/focus-utils-a669bad3.js +4 -0
- package/lib/esm-es5/index-4b92be25.js +5 -0
- package/lib/esm-es5/input-utils-a0225b92.js +4 -0
- package/lib/esm-es5/keyboard-utils-5746e126.js +4 -0
- package/lib/esm-es5/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/string-utils-59ad4cb2.js +4 -0
- package/lib/esm-es5/teleport-15747328.js +4 -0
- package/lib/esm-es5/token-utils-46c8fe31.js +4 -0
- package/lib/esm-es5/watch-options-f189118b.js +4 -0
- package/lib/loader/index.d.ts +2 -2
- package/lib/types/common-types.d.ts +1 -0
- package/lib/types/components/duet-action-button/duet-action-button.d.ts +4 -0
- package/lib/types/components/duet-alert/duet-alert.d.ts +1 -1
- package/lib/types/components/duet-button/duet-button.d.ts +1 -1
- package/lib/types/components/duet-choice/duet-choice.d.ts +1 -1
- package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
- package/lib/types/components/duet-header/duet-header.d.ts +2 -2
- package/lib/types/components/duet-hero/duet-hero.d.ts +8 -0
- package/lib/types/components/duet-link/duet-link.d.ts +20 -3
- package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
- package/lib/types/components/duet-pagination/duet-pagination.d.ts +8 -1
- package/lib/types/components/duet-upload/duet-upload.d.ts +1 -1
- package/lib/types/components.d.ts +526 -22
- package/lib/types/stencil-public-runtime.d.ts +41 -5
- package/package.json +6 -6
- package/lib/duet/p-0762d0ce.system.entry.js +0 -4
- package/lib/duet/p-1e709927.system.entry.js +0 -4
- package/lib/duet/p-34ea0849.system.js +0 -4
- package/lib/duet/p-3538b0af.entry.js +0 -4
- package/lib/duet/p-43660fa9.system.js +0 -4
- package/lib/duet/p-4c04b1c6.entry.js +0 -4
- package/lib/duet/p-51721695.system.js +0 -4
- package/lib/duet/p-5c8e5f29.system.js +0 -4
- package/lib/duet/p-5f6bd5db.system.js +0 -4
- package/lib/duet/p-60b4b7c1.system.js +0 -4
- package/lib/duet/p-673a726a.entry.js +0 -4
- package/lib/duet/p-6aa821df.system.js +0 -4
- package/lib/duet/p-6d09651a.entry.js +0 -4
- package/lib/duet/p-6d620156.system.entry.js +0 -4
- package/lib/duet/p-703c3662.system.entry.js +0 -4
- package/lib/duet/p-733bb740.js +0 -5
- package/lib/duet/p-737167be.system.js +0 -4
- package/lib/duet/p-7966dc5b.system.entry.js +0 -4
- package/lib/duet/p-8304e300.system.entry.js +0 -4
- package/lib/duet/p-962a83ef.entry.js +0 -4
- package/lib/duet/p-9f97eb07.system.js +0 -5
- package/lib/duet/p-a659351d.system.js +0 -4
- package/lib/duet/p-a6f6f073.system.entry.js +0 -4
- package/lib/duet/p-a7915b7d.entry.js +0 -4
- package/lib/duet/p-aa634481.entry.js +0 -4
- package/lib/duet/p-acb9ba1b.system.entry.js +0 -4
- package/lib/duet/p-b6d51921.system.js +0 -4
- package/lib/duet/p-b760c72b.system.js +0 -4
- package/lib/duet/p-c466bad9.system.js +0 -4
- package/lib/duet/p-d863e150.system.js +0 -4
- package/lib/duet/p-e30d6bee.system.entry.js +0 -4
- package/lib/duet/p-e566ff11.system.js +0 -4
- package/lib/duet/p-e58f4a37.entry.js +0 -4
- package/lib/duet/p-eb55ccd2.system.js +0 -4
- package/lib/duet/p-fa5bcc42.system.js +0 -4
- package/lib/duet/p-ff9ef21e.system.entry.js +0 -4
- package/lib/esm/polyfills/css-shim.js +0 -1
- package/lib/esm-es5/errorcodes.utils-47fc5d49.js +0 -4
- package/lib/esm-es5/focus-utils-8fc4feb5.js +0 -4
- package/lib/esm-es5/index-b1b085ac.js +0 -5
- package/lib/esm-es5/input-utils-de45e099.js +0 -4
- package/lib/esm-es5/keyboard-utils-d237bd5a.js +0 -4
- package/lib/esm-es5/string-utils-5954f458.js +0 -4
- package/lib/esm-es5/teleport-467626fe.js +0 -4
- package/lib/esm-es5/token-utils-2d3af0db.js +0 -4
- package/lib/esm-es5/watch-options-dd55bce8.js +0 -4
- /package/lib/cjs/{bodyScrollLock.es6-6ef1142a.js → bodyScrollLock.es6-83f334d1.js} +0 -0
- /package/lib/cjs/{common-strings-de17f887.js → common-strings-17770d7a.js} +0 -0
- /package/lib/cjs/{create-id-c3b984b1.js → create-id-167cd350.js} +0 -0
- /package/lib/cjs/{floating-ui.dom.esm-d537b048.js → floating-ui.dom.esm-a7d59d53.js} +0 -0
- /package/lib/cjs/{input-utils-b5e8f524.js → input-utils-b4615782.js} +0 -0
- /package/lib/cjs/{is-internet-explorer-91361c56.js → is-internet-explorer-76c3b538.js} +0 -0
- /package/lib/cjs/{js-utils-134e0318.js → js-utils-b20cfc79.js} +0 -0
- /package/lib/cjs/{keyboard-utils-bb32119b.js → keyboard-utils-02441bc5.js} +0 -0
- /package/lib/cjs/{nudge-82021e4f.js → nudge-ee03ce2e.js} +0 -0
- /package/lib/cjs/{slot-query-1624497e.js → slot-query-b7555763.js} +0 -0
- /package/lib/cjs/{string-utils-5cadd058.js → string-utils-51a2f59f.js} +0 -0
- /package/lib/cjs/{teleport-3166d264.js → teleport-af825e04.js} +0 -0
- /package/lib/cjs/{themeable-component-fdeaef9f.js → themeable-component-0be6d1f4.js} +0 -0
- /package/lib/cjs/{token-utils-71db4785.js → token-utils-dbfeff2e.js} +0 -0
- /package/lib/cjs/{watch-options-d88afac0.js → watch-options-1773d69f.js} +0 -0
- /package/lib/dist-custom-elements/{p-8adb9463.js → p-00c8a755.js} +0 -0
- /package/lib/dist-custom-elements/{p-3ae39071.js → p-040f8831.js} +0 -0
- /package/lib/dist-custom-elements/{p-bd779757.js → p-141e14d0.js} +0 -0
- /package/lib/dist-custom-elements/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
- /package/lib/dist-custom-elements/{p-9c1b089a.js → p-24853ebf.js} +0 -0
- /package/lib/dist-custom-elements/{p-704245ef.js → p-268171f7.js} +0 -0
- /package/lib/dist-custom-elements/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
- /package/lib/dist-custom-elements/{p-c1325e35.js → p-45f71a69.js} +0 -0
- /package/lib/dist-custom-elements/{p-d8549efe.js → p-56ac3289.js} +0 -0
- /package/lib/dist-custom-elements/{p-56118313.js → p-77f2dbee.js} +0 -0
- /package/lib/dist-custom-elements/{p-12721178.js → p-a1371eee.js} +0 -0
- /package/lib/dist-custom-elements/{p-4ebf1618.js → p-d48735b6.js} +0 -0
- /package/lib/dist-custom-elements/{p-76f00bd5.js → p-dade978b.js} +0 -0
- /package/lib/dist-custom-elements/{p-9d915d45.js → p-f8c76b25.js} +0 -0
- /package/lib/duet/{p-8adb9463.js → p-00c8a755.js} +0 -0
- /package/lib/duet/{p-3ae39071.js → p-040f8831.js} +0 -0
- /package/lib/duet/{p-2bb34e3d.js → p-0b31864f.js} +0 -0
- /package/lib/duet/{p-bd779757.js → p-141e14d0.js} +0 -0
- /package/lib/duet/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
- /package/lib/duet/{p-9c1b089a.js → p-24853ebf.js} +0 -0
- /package/lib/duet/{p-704245ef.js → p-268171f7.js} +0 -0
- /package/lib/duet/{p-c7ae95bd.system.js → p-36b36a8e.system.js} +0 -0
- /package/lib/duet/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
- /package/lib/duet/{p-c1325e35.js → p-45f71a69.js} +0 -0
- /package/lib/duet/{p-56118313.js → p-77f2dbee.js} +0 -0
- /package/lib/duet/{p-12721178.js → p-a1371eee.js} +0 -0
- /package/lib/duet/{p-f077c646.js → p-cc1909de.js} +0 -0
- /package/lib/duet/{p-4ebf1618.js → p-d48735b6.js} +0 -0
- /package/lib/duet/{p-76f00bd5.js → p-dade978b.js} +0 -0
- /package/lib/duet/{p-9d915d45.js → p-f8c76b25.js} +0 -0
- /package/lib/esm/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +0 -0
- /package/lib/esm/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
- /package/lib/esm/{create-id-981107da.js → create-id-2b0cd46d.js} +0 -0
- /package/lib/esm/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +0 -0
- /package/lib/esm/{input-utils-de45e099.js → input-utils-a0225b92.js} +0 -0
- /package/lib/esm/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
- /package/lib/esm/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
- /package/lib/esm/{keyboard-utils-d237bd5a.js → keyboard-utils-5746e126.js} +0 -0
- /package/lib/esm/{nudge-a828c525.js → nudge-560904c3.js} +0 -0
- /package/lib/esm/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
- /package/lib/esm/{string-utils-5954f458.js → string-utils-59ad4cb2.js} +0 -0
- /package/lib/esm/{teleport-467626fe.js → teleport-15747328.js} +0 -0
- /package/lib/esm/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
- /package/lib/esm/{token-utils-2d3af0db.js → token-utils-46c8fe31.js} +0 -0
- /package/lib/esm/{watch-options-dd55bce8.js → watch-options-f189118b.js} +0 -0
- /package/lib/esm-es5/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
- /package/lib/esm-es5/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
- /package/lib/esm-es5/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
- /package/lib/esm-es5/{nudge-a828c525.js → nudge-560904c3.js} +0 -0
- /package/lib/esm-es5/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
- /package/lib/esm-es5/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { createPage } from "../../utils/test-utils";
|
|
5
|
+
describe("duet-header", () => {
|
|
6
|
+
it("should render a header", async () => {
|
|
7
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
8
|
+
const component = await page.find("duet-header");
|
|
9
|
+
expect(component).not.toBeNull();
|
|
10
|
+
expect(component).toHaveClass("hydrated");
|
|
11
|
+
});
|
|
12
|
+
it("should shouldn’t render mobile dropdown if no items are passed", async () => {
|
|
13
|
+
const page = await createPage(`<duet-header language="fi"></duet-header>`);
|
|
14
|
+
const element = await page.find("duet-header >>> .duet-header-toggle");
|
|
15
|
+
expect(element).toBeNull();
|
|
16
|
+
});
|
|
17
|
+
it("should should render mobile dropdown if items are passed", async () => {
|
|
18
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
19
|
+
await page.$eval("duet-header", (el) => {
|
|
20
|
+
el.contact = "demo";
|
|
21
|
+
el.contactItems = [
|
|
22
|
+
{ label: "Viestit", href: "/viestit/" },
|
|
23
|
+
{ label: "Avaa chat", href: "/chat/" },
|
|
24
|
+
{ label: "Yhteystiedot", href: "/yhteystiedot/" },
|
|
25
|
+
];
|
|
26
|
+
});
|
|
27
|
+
await page.waitForChanges();
|
|
28
|
+
const element = await page.find("duet-header >>> .duet-header-toggle");
|
|
29
|
+
expect(element).not.toBeNull();
|
|
30
|
+
});
|
|
31
|
+
it("should shouldn’t render contact menu when prop isn’t passed", async () => {
|
|
32
|
+
const page = await createPage(`<duet-header language="fi"></duet-header>`);
|
|
33
|
+
const element = await page.find("duet-header >>> .duet-header-contact");
|
|
34
|
+
expect(element).toBeNull();
|
|
35
|
+
});
|
|
36
|
+
it("shouldn’t render language menu when prop isn’t passed", async () => {
|
|
37
|
+
const page = await createPage(`<duet-header language="fi"></duet-header>`);
|
|
38
|
+
const element = await page.find("duet-header >>> .duet-header-language");
|
|
39
|
+
expect(element).toBeNull();
|
|
40
|
+
});
|
|
41
|
+
it("shouldn’t render region when prop isn’t passed", async () => {
|
|
42
|
+
const page = await createPage(`<duet-header language="fi"></duet-header>`);
|
|
43
|
+
const element = await page.find("duet-header >>> .duet-header-region");
|
|
44
|
+
expect(element).toBeNull();
|
|
45
|
+
});
|
|
46
|
+
it("shouldn’t render user when prop isn’t passed", async () => {
|
|
47
|
+
const page = await createPage(`<duet-header language="fi"></duet-header>`);
|
|
48
|
+
const element = await page.find("duet-header >>> .duet-header-user");
|
|
49
|
+
expect(element).toBeNull();
|
|
50
|
+
});
|
|
51
|
+
it("should provide a property that sets language", async () => {
|
|
52
|
+
const page = await createPage(`<duet-header language="en"></duet-header>`);
|
|
53
|
+
const element = await page.find("duet-header >>> duet-logo");
|
|
54
|
+
expect(element.getAttribute("language")).toEqual("en");
|
|
55
|
+
});
|
|
56
|
+
it("should provide a property that sets language items", async () => {
|
|
57
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
58
|
+
await page.$eval("duet-header", (el) => {
|
|
59
|
+
el.language = "en";
|
|
60
|
+
el.languageItems = [
|
|
61
|
+
{ label: "Suomeksi", country: "fi", href: "/?lang=fi" },
|
|
62
|
+
{ label: "På Svenska", country: "sv", href: "/?lang=sv" },
|
|
63
|
+
{ label: "In English", country: "en", href: "/?lang=en" },
|
|
64
|
+
];
|
|
65
|
+
});
|
|
66
|
+
await page.waitForChanges();
|
|
67
|
+
const element = await page.find("duet-header >>> .duet-header-language-items a:first-child");
|
|
68
|
+
expect(element.getAttribute("href")).toEqual("/?lang=fi");
|
|
69
|
+
});
|
|
70
|
+
it("should provide a property that switches the theme", async () => {
|
|
71
|
+
const page = await createPage(`<duet-header theme="turva"></duet-header>`);
|
|
72
|
+
const element = await page.find("duet-header >>> .duet-header");
|
|
73
|
+
expect(element).toHaveClass("duet-theme-turva");
|
|
74
|
+
});
|
|
75
|
+
it("should provide a property that gives accessible label to nav toggle", async () => {
|
|
76
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
77
|
+
await page.$eval("duet-header", (el) => {
|
|
78
|
+
el.accessibleLabel = "demo";
|
|
79
|
+
el.items = [
|
|
80
|
+
{ label: "Etusivu", href: "/" },
|
|
81
|
+
{ label: "Vakuutukset", href: "/vakuutukset/", id: "test" },
|
|
82
|
+
];
|
|
83
|
+
el.user = { label: "Test", href: "/" };
|
|
84
|
+
});
|
|
85
|
+
await page.waitForChanges();
|
|
86
|
+
const element = await page.find("duet-header >>> .duet-header-toggle duet-visually-hidden");
|
|
87
|
+
expect(element.textContent).toEqual("demo");
|
|
88
|
+
});
|
|
89
|
+
it("should provide a property that changes logo’s href", async () => {
|
|
90
|
+
const page = await createPage(`<duet-header logo-href="demo"></duet-header>`);
|
|
91
|
+
const element = await page.find("duet-header >>> duet-logo");
|
|
92
|
+
expect(element.getAttribute("href")).toEqual("demo");
|
|
93
|
+
});
|
|
94
|
+
it("should provide a property that highlights the currently active href", async () => {
|
|
95
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
96
|
+
await page.$eval("duet-header", (el) => {
|
|
97
|
+
el.currentHref = "/vakuutukset/";
|
|
98
|
+
el.items = [
|
|
99
|
+
{ label: "Etusivu", href: "/" },
|
|
100
|
+
{ label: "Vakuutukset", href: "/vakuutukset/", id: "test" },
|
|
101
|
+
];
|
|
102
|
+
});
|
|
103
|
+
await page.waitForChanges();
|
|
104
|
+
const element = await page.find("duet-header >>> .duet-header-items #test");
|
|
105
|
+
expect(element).toHaveClass("active");
|
|
106
|
+
});
|
|
107
|
+
it("should provide a property that renders main navigation", async () => {
|
|
108
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
109
|
+
await page.$eval("duet-header", (el) => {
|
|
110
|
+
el.items = [
|
|
111
|
+
{ label: "Etusivu", href: "/" },
|
|
112
|
+
{ label: "Vakuutukset", href: "/vakuutukset/" },
|
|
113
|
+
];
|
|
114
|
+
});
|
|
115
|
+
await page.waitForChanges();
|
|
116
|
+
const element = await page.find("duet-header >>> .duet-header-items a:first-child");
|
|
117
|
+
expect(element).not.toBeNull();
|
|
118
|
+
});
|
|
119
|
+
it("should provide a property that sets the current region", async () => {
|
|
120
|
+
const page = await createPage(`
|
|
121
|
+
<meta charset="UTF-8">
|
|
122
|
+
<duet-header region="Pääkaupunkiseutu"></duet-header>
|
|
123
|
+
`);
|
|
124
|
+
const element = await page.find("duet-header >>> .duet-header-region");
|
|
125
|
+
expect(element.textContent).toEqual("Pääkaupunkiseutu");
|
|
126
|
+
});
|
|
127
|
+
it("should provide a property that renders contact menu label", async () => {
|
|
128
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
129
|
+
await page.$eval("duet-header", (el) => {
|
|
130
|
+
el.contact = "demo";
|
|
131
|
+
el.contactItems = [
|
|
132
|
+
{ label: "Viestit", href: "/viestit/" },
|
|
133
|
+
{ label: "Avaa chat", href: "/chat/" },
|
|
134
|
+
{ label: "Yhteystiedot", href: "/yhteystiedot/" },
|
|
135
|
+
];
|
|
136
|
+
});
|
|
137
|
+
await page.waitForChanges();
|
|
138
|
+
const element = await page.find("duet-header >>> .duet-header-contact");
|
|
139
|
+
expect(element).not.toBeNull();
|
|
140
|
+
});
|
|
141
|
+
it("should provide a property that renders contact menu items", async () => {
|
|
142
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
143
|
+
await page.$eval("duet-header", (el) => {
|
|
144
|
+
el.contact = "demo";
|
|
145
|
+
el.contactItems = [
|
|
146
|
+
{ label: "Viestit", href: "/viestit/" },
|
|
147
|
+
{ label: "Avaa chat", href: "/chat/" },
|
|
148
|
+
{ label: "Yhteystiedot", href: "/yhteystiedot/" },
|
|
149
|
+
];
|
|
150
|
+
});
|
|
151
|
+
await page.waitForChanges();
|
|
152
|
+
const element = await page.find("duet-header >>> .duet-header-contact-items a:first-child");
|
|
153
|
+
expect(element.textContent).toEqual("Viestit");
|
|
154
|
+
});
|
|
155
|
+
it("should provide a property that renders user menu link", async () => {
|
|
156
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
157
|
+
await page.$eval("duet-header", (el) => {
|
|
158
|
+
el.user = { label: "Foo bar", href: "/demo/", id: "test" };
|
|
159
|
+
});
|
|
160
|
+
await page.waitForChanges();
|
|
161
|
+
const element = await page.find("duet-header >>> #test");
|
|
162
|
+
expect(element.textContent).toEqual("Foo bar");
|
|
163
|
+
});
|
|
164
|
+
it("should provide a property that renders session menu link", async () => {
|
|
165
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
166
|
+
await page.$eval("duet-header", (el) => {
|
|
167
|
+
el.session = { label: "Log out", href: "/?logout=true", id: "test", type: "logout" };
|
|
168
|
+
});
|
|
169
|
+
await page.waitForChanges();
|
|
170
|
+
const element = await page.find("duet-header >>> #test");
|
|
171
|
+
expect(element.textContent).toEqual("Log out");
|
|
172
|
+
});
|
|
173
|
+
it("should be possible to render login link as well", async () => {
|
|
174
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
175
|
+
await page.$eval("duet-header", (el) => {
|
|
176
|
+
el.session = { label: "Log in", href: "/?login", id: "test", type: "login" };
|
|
177
|
+
});
|
|
178
|
+
await page.waitForChanges();
|
|
179
|
+
const element = await page.find("duet-header >>> #test");
|
|
180
|
+
expect(element.textContent).toEqual("Log in");
|
|
181
|
+
});
|
|
182
|
+
it("should provide a property that renders back link", async () => {
|
|
183
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
184
|
+
await page.$eval("duet-header", (el) => {
|
|
185
|
+
el.back = { label: "Takaisin", href: "/", id: "test" };
|
|
186
|
+
});
|
|
187
|
+
await page.waitForChanges();
|
|
188
|
+
const element = await page.find("duet-header >>> #test");
|
|
189
|
+
expect(element.textContent).toEqual("Takaisin");
|
|
190
|
+
});
|
|
191
|
+
it("shouldn’t render skip to content link if no ID is passed", async () => {
|
|
192
|
+
const page = await createPage(`<duet-header language="fi"></duet-header>`);
|
|
193
|
+
const element = await page.find("duet-header >>> .duet-header-skip");
|
|
194
|
+
expect(element).toBeNull();
|
|
195
|
+
});
|
|
196
|
+
it("should render skip to content link", async () => {
|
|
197
|
+
const page = await createPage(`<duet-header skip-to-id="#content"></duet-header>`);
|
|
198
|
+
const element = await page.find("duet-header >>> .duet-header-skip");
|
|
199
|
+
expect(element.textContent).toEqual("Siirry pääsisältöön");
|
|
200
|
+
});
|
|
201
|
+
it("should automatically refresh itself when content changes", async () => {
|
|
202
|
+
const page = await createPage(`<duet-header></duet-header>`);
|
|
203
|
+
await page.$eval("duet-header", (el) => {
|
|
204
|
+
el.items = [
|
|
205
|
+
{ label: "Etusivu", href: "/" },
|
|
206
|
+
{ label: "Vakuutukset", href: "#" },
|
|
207
|
+
{ label: "Vahinkoasiat", href: "#" },
|
|
208
|
+
{ label: "Säästöt ja sijoitukset", href: "#" },
|
|
209
|
+
{ label: "Laskut", href: "#", badge: true },
|
|
210
|
+
{ label: "Viestit", href: "#" },
|
|
211
|
+
];
|
|
212
|
+
});
|
|
213
|
+
const element = await page.find("duet-header");
|
|
214
|
+
// should be updated when setting the *attribute*
|
|
215
|
+
element.setAttribute("items", '[{ "label": "test", "href": "#" }]');
|
|
216
|
+
await page.waitForChanges();
|
|
217
|
+
const test = await page.find("duet-header >>> .duet-header-items a:first-child");
|
|
218
|
+
expect(test).toEqualText("test");
|
|
219
|
+
// should also be updated when setting the label *property*
|
|
220
|
+
element.setProperty("items", [{ label: "test 2", href: "#" }]);
|
|
221
|
+
await page.waitForChanges();
|
|
222
|
+
expect(test).toEqualText("test 2");
|
|
223
|
+
});
|
|
224
|
+
it("should not error when unmounting", async () => {
|
|
225
|
+
const back = { label: "back", href: "#" };
|
|
226
|
+
const page = await createPage(`<duet-header back="${JSON.stringify(back)}"></duet-header>`);
|
|
227
|
+
let error = null;
|
|
228
|
+
page.on("console", err => {
|
|
229
|
+
if (err.type() === "error") {
|
|
230
|
+
error = err.text();
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
await page.$eval("duet-header", header => header.remove());
|
|
234
|
+
expect(error).toBeNull();
|
|
235
|
+
});
|
|
236
|
+
describe("events", () => {
|
|
237
|
+
let page;
|
|
238
|
+
let header;
|
|
239
|
+
const props = {
|
|
240
|
+
items: [
|
|
241
|
+
{ id: "item-1", label: "Etusivu", href: "/" },
|
|
242
|
+
{ id: "item-2", label: "Vakuutukset", href: "#" },
|
|
243
|
+
{ id: "item-3", label: "Vahinkoasiat", href: "#" },
|
|
244
|
+
{ id: "item-4", label: "Säästöt ja sijoitukset", href: "#" },
|
|
245
|
+
{ id: "item-5", label: "Laskut", href: "#", badge: true },
|
|
246
|
+
{ id: "item-6", label: "Viestit", href: "#" },
|
|
247
|
+
],
|
|
248
|
+
contactItems: [
|
|
249
|
+
{ id: "contact-1", label: "Lähetä viesti", href: "/viestit/laheta" },
|
|
250
|
+
{ id: "contact-2", label: "Avaa chat", href: "/chat/" },
|
|
251
|
+
{ id: "contact-3", label: "Yhteystiedot", href: "/yhteystiedot/" },
|
|
252
|
+
],
|
|
253
|
+
languageItems: [
|
|
254
|
+
{ id: "language-1", label: "Suomeksi", country: "fi", href: "/?lang=fi" },
|
|
255
|
+
{ id: "language-2", label: "På Svenska", country: "sv", href: "/?lang=sv" },
|
|
256
|
+
{ id: "language-3", label: "In English", country: "en", href: "/?lang=en" },
|
|
257
|
+
],
|
|
258
|
+
session: {
|
|
259
|
+
label: "Kirjaudu ulos",
|
|
260
|
+
href: "/?logout",
|
|
261
|
+
type: "logout",
|
|
262
|
+
id: "session",
|
|
263
|
+
},
|
|
264
|
+
user: {
|
|
265
|
+
label: "Elina",
|
|
266
|
+
href: "/?userId=elina",
|
|
267
|
+
id: "user",
|
|
268
|
+
},
|
|
269
|
+
logoHref: "/logo",
|
|
270
|
+
skipToId: "#content",
|
|
271
|
+
};
|
|
272
|
+
async function openMenu(page) {
|
|
273
|
+
const menuToggle = await page.find("duet-header >>> .duet-header-toggle");
|
|
274
|
+
await menuToggle.click();
|
|
275
|
+
await page.waitForChanges();
|
|
276
|
+
}
|
|
277
|
+
beforeEach(async () => {
|
|
278
|
+
page = await createPage(`
|
|
279
|
+
<meta charset="utf-8" />
|
|
280
|
+
<duet-header
|
|
281
|
+
language="fi"
|
|
282
|
+
region="Pääkaupunkiseutu"
|
|
283
|
+
contact="Ota yhteyttä"
|
|
284
|
+
current-href="/"
|
|
285
|
+
>
|
|
286
|
+
</duet-header>
|
|
287
|
+
`);
|
|
288
|
+
header = await page.find("duet-header");
|
|
289
|
+
await page.$eval("duet-header", (header, props) => Object.assign(header, props), props);
|
|
290
|
+
await page.waitForChanges();
|
|
291
|
+
});
|
|
292
|
+
it("raises events when logo is clicked", async () => {
|
|
293
|
+
const logo = await page.find("duet-header >>> duet-logo");
|
|
294
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
295
|
+
const logoSpy = await header.spyOnEvent("duetLogoClick");
|
|
296
|
+
await logo.click();
|
|
297
|
+
const expected = {
|
|
298
|
+
component: "duet-header",
|
|
299
|
+
data: { href: props.logoHref, label: "logo" },
|
|
300
|
+
originalEvent: expect.anything(),
|
|
301
|
+
};
|
|
302
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
303
|
+
expect(logoSpy.firstEvent.detail).toEqual(expected);
|
|
304
|
+
});
|
|
305
|
+
it("raises events when a menu item is clicked", async () => {
|
|
306
|
+
const menuItem = await page.find("duet-header >>> #item-1");
|
|
307
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
308
|
+
const itemSpy = await header.spyOnEvent("duetItemClick");
|
|
309
|
+
await openMenu(page);
|
|
310
|
+
await page.waitForChanges();
|
|
311
|
+
await menuItem.click();
|
|
312
|
+
const expected = {
|
|
313
|
+
component: "duet-header",
|
|
314
|
+
data: props.items[0],
|
|
315
|
+
originalEvent: expect.anything(),
|
|
316
|
+
};
|
|
317
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
318
|
+
expect(itemSpy.firstEvent.detail).toEqual(expected);
|
|
319
|
+
});
|
|
320
|
+
it("raises events when a language is selected", async () => {
|
|
321
|
+
const languageSelect = await page.find("duet-header >>> #duet-header-language-button");
|
|
322
|
+
const language = await page.find("duet-header >>> #language-3");
|
|
323
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
324
|
+
const languageSpy = await header.spyOnEvent("duetLanguageSelect");
|
|
325
|
+
await openMenu(page);
|
|
326
|
+
await languageSelect.click();
|
|
327
|
+
await page.waitForChanges();
|
|
328
|
+
await language.click();
|
|
329
|
+
const expected = {
|
|
330
|
+
component: "duet-header",
|
|
331
|
+
data: props.languageItems[2],
|
|
332
|
+
originalEvent: expect.anything(),
|
|
333
|
+
};
|
|
334
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
335
|
+
expect(languageSpy.firstEvent.detail).toEqual(expected);
|
|
336
|
+
});
|
|
337
|
+
it("raises events when contact item is clicked", async () => {
|
|
338
|
+
const contactDropdown = await page.find("duet-header >>> #duet-header-contact-button");
|
|
339
|
+
const contact = await page.find("duet-header >>> #contact-3");
|
|
340
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
341
|
+
const contactSpy = await header.spyOnEvent("duetContactClick");
|
|
342
|
+
await openMenu(page);
|
|
343
|
+
await contactDropdown.click();
|
|
344
|
+
await page.waitForChanges();
|
|
345
|
+
await contact.click();
|
|
346
|
+
const expected = {
|
|
347
|
+
component: "duet-header",
|
|
348
|
+
data: props.contactItems[2],
|
|
349
|
+
originalEvent: expect.anything(),
|
|
350
|
+
};
|
|
351
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
352
|
+
expect(contactSpy.firstEvent.detail).toEqual(expected);
|
|
353
|
+
});
|
|
354
|
+
it("raises events when session is clicked", async () => {
|
|
355
|
+
const session = await page.find("duet-header >>> #session");
|
|
356
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
357
|
+
const sessionSpy = await header.spyOnEvent("duetSessionClick");
|
|
358
|
+
await openMenu(page);
|
|
359
|
+
await page.waitForChanges();
|
|
360
|
+
await session.click();
|
|
361
|
+
const expected = {
|
|
362
|
+
component: "duet-header",
|
|
363
|
+
data: props.session,
|
|
364
|
+
originalEvent: expect.anything(),
|
|
365
|
+
};
|
|
366
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
367
|
+
expect(sessionSpy.firstEvent.detail).toEqual(expected);
|
|
368
|
+
});
|
|
369
|
+
it("raises events when user is clicked", async () => {
|
|
370
|
+
const user = await page.find("duet-header >>> #user");
|
|
371
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
372
|
+
const userSpy = await header.spyOnEvent("duetUserClick");
|
|
373
|
+
await openMenu(page);
|
|
374
|
+
await page.waitForChanges();
|
|
375
|
+
await user.click();
|
|
376
|
+
const expected = {
|
|
377
|
+
component: "duet-header",
|
|
378
|
+
data: props.user,
|
|
379
|
+
originalEvent: expect.anything(),
|
|
380
|
+
};
|
|
381
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
382
|
+
expect(userSpy.firstEvent.detail).toEqual(expected);
|
|
383
|
+
});
|
|
384
|
+
it("raises events when skip link is clicked", async () => {
|
|
385
|
+
await page.keyboard.press("Tab");
|
|
386
|
+
await page.waitForChanges();
|
|
387
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
388
|
+
const skipSpy = await header.spyOnEvent("duetSkipClick");
|
|
389
|
+
await page.keyboard.press("Enter");
|
|
390
|
+
const expected = {
|
|
391
|
+
component: "duet-header",
|
|
392
|
+
data: { href: props.skipToId, label: expect.any(String) },
|
|
393
|
+
originalEvent: expect.anything(),
|
|
394
|
+
};
|
|
395
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
396
|
+
expect(skipSpy.firstEvent.detail).toEqual(expected);
|
|
397
|
+
});
|
|
398
|
+
it("raises events when back button is clicked", async () => {
|
|
399
|
+
const backData = { id: "back-btn", href: "#", label: "back" };
|
|
400
|
+
await page.$eval("duet-header", (header, back) => {
|
|
401
|
+
header.back = back;
|
|
402
|
+
}, backData);
|
|
403
|
+
await page.waitForChanges();
|
|
404
|
+
const back = await page.find(`duet-header >>> #${backData.id}`);
|
|
405
|
+
const changeSpy = await header.spyOnEvent("duetChange");
|
|
406
|
+
const backSpy = await header.spyOnEvent("duetBackClick");
|
|
407
|
+
await back.click();
|
|
408
|
+
const expected = {
|
|
409
|
+
component: "duet-header",
|
|
410
|
+
data: backData,
|
|
411
|
+
originalEvent: expect.anything(),
|
|
412
|
+
};
|
|
413
|
+
expect(changeSpy.firstEvent.detail).toEqual(expected);
|
|
414
|
+
expect(backSpy.firstEvent.detail).toEqual(expected);
|
|
415
|
+
});
|
|
416
|
+
});
|
|
417
|
+
describe("analytics", () => {
|
|
418
|
+
let page;
|
|
419
|
+
const openMenu = async () => {
|
|
420
|
+
const menuToggle = await page.find("duet-header >>> .duet-header-toggle");
|
|
421
|
+
await menuToggle.click();
|
|
422
|
+
};
|
|
423
|
+
beforeEach(async () => {
|
|
424
|
+
page = await createPage(`
|
|
425
|
+
<duet-header
|
|
426
|
+
items='[
|
|
427
|
+
{ "label": "item 1", "id": "item-1", "analyticsId": "item analytics" } ,
|
|
428
|
+
{ "label": "item 2", "id": "item-2" }
|
|
429
|
+
]'
|
|
430
|
+
></duet-header>
|
|
431
|
+
`);
|
|
432
|
+
});
|
|
433
|
+
it("allows analytics to be set for header items", async () => {
|
|
434
|
+
await openMenu();
|
|
435
|
+
const analyticsSpy = await page.spyOnEvent("duetAnalytics");
|
|
436
|
+
const item1 = await page.find("duet-header >>> #item-1");
|
|
437
|
+
await item1.click();
|
|
438
|
+
expect(analyticsSpy).toHaveReceivedEventDetail({
|
|
439
|
+
analyticsId: "item analytics",
|
|
440
|
+
component: "duet-header",
|
|
441
|
+
});
|
|
442
|
+
});
|
|
443
|
+
it("does nothing when items without analytics are clicked", async () => {
|
|
444
|
+
await openMenu();
|
|
445
|
+
const analyticsSpy = await page.spyOnEvent("duetAnalytics");
|
|
446
|
+
const item2 = await page.find("duet-header >>> #item-2");
|
|
447
|
+
await item2.click();
|
|
448
|
+
expect(analyticsSpy).toHaveReceivedEventTimes(0);
|
|
449
|
+
});
|
|
450
|
+
it("allows analytics to be set for user item", async () => {
|
|
451
|
+
await page.$eval("duet-header", (header) => {
|
|
452
|
+
header.user = {
|
|
453
|
+
label: "Nick",
|
|
454
|
+
href: "#",
|
|
455
|
+
analyticsId: "user analytics",
|
|
456
|
+
};
|
|
457
|
+
});
|
|
458
|
+
await openMenu();
|
|
459
|
+
const analyticsSpy = await page.spyOnEvent("duetAnalytics");
|
|
460
|
+
const userButton = await page.find("duet-header >>> .duet-header-user");
|
|
461
|
+
await userButton.click();
|
|
462
|
+
expect(analyticsSpy).toHaveReceivedEventDetail({
|
|
463
|
+
analyticsId: "user analytics",
|
|
464
|
+
component: "duet-header",
|
|
465
|
+
});
|
|
466
|
+
});
|
|
467
|
+
});
|
|
468
|
+
});
|