@duetds/components 6.11.2 → 7.0.0
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 +309 -230
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-alert.cjs.entry.js +14 -2
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-banner.cjs.entry.js +3 -3
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-callout.cjs.entry.js +1 -1
- package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
- package/lib/cjs/duet-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-chip.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +25 -19
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +3 -2
- package/lib/cjs/duet-footer.cjs.entry.js +1 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-header_2.cjs.entry.js +14 -9
- package/lib/cjs/duet-hero.cjs.entry.js +1 -1
- package/lib/cjs/duet-icon.cjs.entry.js +3 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-modal.cjs.entry.js +6 -2
- package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
- package/lib/cjs/duet-nav.cjs.entry.js +1 -1
- package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +4 -1
- package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +1 -1
- package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
- package/lib/cjs/duet-progress.cjs.entry.js +1 -1
- package/lib/cjs/duet-promo-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +1 -1
- package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
- package/lib/cjs/duet-show-more.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout.cjs.entry.js +4 -4
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
- package/lib/cjs/duet-tray.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-upload-item.cjs.entry.js +5 -4
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{teleport-d79735ca.js → floating-ui.dom.esm-d537b048.js} +154 -195
- package/lib/cjs/{focus-utils-e486f272.js → focus-utils-6d4f01d9.js} +1 -1
- package/lib/cjs/{index-04de4d35.js → index-b7f668db.js} +1 -1
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/teleport-04ad16c2.js +88 -0
- package/lib/cjs/{token-utils-18a05118.js → token-utils-c1864408.js} +1 -1
- package/lib/cjs/{tokens.module-d30fb52a.js → tokens.module-5fe478ed.js} +0 -1
- package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
- package/lib/collection/components/duet-alert/duet-alert.js +54 -2
- package/lib/collection/components/duet-button/duet-button.js +5 -5
- package/lib/collection/components/duet-caption/duet-caption.js +1 -1
- package/lib/collection/components/duet-card/duet-card.js +3 -3
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
- package/lib/collection/components/duet-chip/duet-chip.js +4 -4
- package/lib/collection/components/duet-choice/duet-choice.js +3 -3
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
- package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
- package/lib/collection/components/duet-divider/duet-divider.js +1 -1
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +5 -5
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +25 -1
- package/lib/collection/components/duet-footer/duet-footer.js +7 -7
- package/lib/collection/components/duet-grid/duet-grid.js +3 -3
- package/lib/collection/components/duet-header/duet-header.js +28 -23
- package/lib/collection/components/duet-heading/duet-heading.js +1 -1
- package/lib/collection/components/duet-hero/duet-hero.js +5 -5
- package/lib/collection/components/duet-icon/duet-icon.js +1 -1
- package/lib/collection/components/duet-input/duet-input.js +8 -8
- package/lib/collection/components/duet-label/duet-label.js +2 -2
- package/lib/collection/components/duet-layout/duet-layout.js +1 -1
- package/lib/collection/components/duet-list/duet-list.js +3 -3
- package/lib/collection/components/duet-logo/duet-logo.js +1 -1
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
- package/lib/collection/components/duet-modal/duet-modal.js +7 -3
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
- package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
- package/lib/collection/components/duet-pagination/duet-pagination.js +2 -2
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
- package/lib/collection/components/duet-radio/duet-radio.js +3 -3
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +1 -1
- package/lib/collection/components/duet-select/duet-select.js +5 -5
- package/lib/collection/components/duet-show-more/duet-show-more.js +1 -1
- package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
- package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
- package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
- package/lib/collection/components/duet-step/duet-step.js +2 -2
- package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +5 -5
- package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
- package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
- package/lib/collection/components/duet-upload/duet-upload.js +53 -29
- package/lib/collection/components/duet-upload/upload-item-header.js +6 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +5 -4
- package/lib/collection/utils/math.utils.js +3 -0
- package/lib/collection/utils/teleport.js +55 -7
- 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 +5 -5
- package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
- package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +3 -3
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +4 -4
- 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 +2 -2
- package/lib/dist-custom-elements/duet-choice-group.js +8 -8
- package/lib/dist-custom-elements/duet-choice.js +5 -5
- package/lib/dist-custom-elements/duet-collapsible.js +2 -2
- package/lib/dist-custom-elements/duet-combobox.js +2 -2
- package/lib/dist-custom-elements/duet-contact-card.js +8 -8
- package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
- package/lib/dist-custom-elements/duet-date-picker.js +12 -12
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +7 -7
- 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 +4 -4
- 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 +20 -15
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +9 -9
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +1 -1
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
- package/lib/dist-custom-elements/duet-modal.js +11 -7
- package/lib/dist-custom-elements/duet-multiselect.js +10 -10
- package/lib/dist-custom-elements/duet-nav.js +1 -1
- package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
- package/lib/dist-custom-elements/duet-notification.js +2 -2
- package/lib/dist-custom-elements/duet-number-input.js +14 -11
- package/lib/dist-custom-elements/duet-page-heading.js +2 -2
- package/lib/dist-custom-elements/duet-pagination.js +7 -7
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +2 -2
- package/lib/dist-custom-elements/duet-popup-menu.js +3 -2
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +4 -4
- package/lib/dist-custom-elements/duet-radio-group.js +8 -8
- package/lib/dist-custom-elements/duet-radio.js +1 -1
- package/lib/dist-custom-elements/duet-range-slider.js +3 -3
- package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +1 -1
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-shaped-image.js +1 -1
- package/lib/dist-custom-elements/duet-show-more.js +5 -5
- package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
- package/lib/dist-custom-elements/duet-slideout.js +3 -3
- 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 +4 -4
- package/lib/dist-custom-elements/duet-stepper.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar.js +2 -2
- package/lib/dist-custom-elements/duet-tab-group.js +13 -13
- package/lib/dist-custom-elements/duet-tab.js +1 -1
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +10 -10
- package/lib/dist-custom-elements/duet-toggle.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +4 -4
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload-item.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +41 -34
- 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-e354b687.js → p-19b04293.js} +1 -1
- package/lib/dist-custom-elements/{p-b260c7b8.js → p-1fef65c4.js} +1 -1
- package/lib/dist-custom-elements/{p-f9076d3e.js → p-20d8a7ab.js} +14 -13
- package/lib/dist-custom-elements/{p-a5cb00f4.js → p-28facbdc.js} +2 -2
- package/lib/dist-custom-elements/{p-2bd44c3c.js → p-32a42529.js} +4 -4
- package/lib/dist-custom-elements/{p-4f3d4b28.js → p-34d193a7.js} +1 -1
- package/lib/dist-custom-elements/{p-411af53d.js → p-371290d2.js} +3 -3
- package/lib/dist-custom-elements/{p-44316a49.js → p-47bc3fc6.js} +1 -1
- package/lib/dist-custom-elements/{p-67584a63.js → p-4fa0d10e.js} +3 -3
- package/lib/dist-custom-elements/{p-df34106b.js → p-507ae246.js} +2 -2
- package/lib/dist-custom-elements/{p-f79fe19b.js → p-591040e5.js} +1 -1
- package/lib/dist-custom-elements/p-63c149ab.js +86 -0
- package/lib/dist-custom-elements/{p-baa9e0f3.js → p-66206ea5.js} +1 -1
- package/lib/dist-custom-elements/{p-9dc40c4f.js → p-80bd412e.js} +10 -10
- package/lib/dist-custom-elements/{p-2ca516d3.js → p-84003069.js} +5 -3
- package/lib/dist-custom-elements/{p-b244b9d4.js → p-86f35893.js} +1 -1
- package/lib/dist-custom-elements/{p-784fe90e.js → p-8adb9463.js} +155 -195
- package/lib/dist-custom-elements/{p-e4198c92.js → p-8dbc5e4b.js} +1 -1
- package/lib/dist-custom-elements/{p-748fb4e9.js → p-8e9d78b5.js} +1 -1
- package/lib/dist-custom-elements/{p-726f277c.js → p-91f98ca2.js} +5 -5
- package/lib/dist-custom-elements/{p-c56b4bad.js → p-93609c40.js} +2 -2
- package/lib/dist-custom-elements/{p-b4163126.js → p-960b00e1.js} +2 -2
- package/lib/dist-custom-elements/{p-2159ffc3.js → p-9fb22951.js} +2 -2
- package/lib/dist-custom-elements/{p-32fdcec8.js → p-a7cc7bd9.js} +2 -2
- package/lib/dist-custom-elements/{p-e22956bf.js → p-b1fa6ee7.js} +2 -2
- package/lib/dist-custom-elements/{p-351b0f8c.js → p-b95006a5.js} +2 -2
- package/lib/dist-custom-elements/{p-7a906a81.js → p-c2a056b1.js} +2 -2
- package/lib/dist-custom-elements/{p-c624c26b.js → p-c85f0028.js} +8 -8
- package/lib/dist-custom-elements/{p-229871c3.js → p-cbc43bac.js} +21 -7
- package/lib/dist-custom-elements/{p-d9bf49cf.js → p-da75f5d9.js} +1 -1
- package/lib/dist-custom-elements/{p-66ab9994.js → p-dd112690.js} +5 -5
- package/lib/dist-custom-elements/{p-7c68ac5a.js → p-de10f837.js} +7 -6
- package/lib/dist-custom-elements/{p-661e7864.js → p-de68431d.js} +1 -1
- package/lib/dist-custom-elements/{p-f13081a0.js → p-e78bd379.js} +3 -3
- package/lib/dist-custom-elements/{p-cd9b5f96.js → p-e8475b3c.js} +1 -1
- package/lib/dist-custom-elements/{p-ce09b821.js → p-eb0475d3.js} +1 -1
- package/lib/dist-custom-elements/{p-f30df343.js → p-f3ffb5b4.js} +2 -2
- package/lib/dist-custom-elements/{p-7ece12ec.js → p-f933f857.js} +1 -1
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-31441d04.system.entry.js → p-01aaac6a.system.entry.js} +1 -1
- package/lib/duet/{p-cc9f1e7e.system.entry.js → p-01f3e23e.system.entry.js} +1 -1
- package/lib/duet/{p-5d5f6c7c.entry.js → p-02ce139d.entry.js} +1 -1
- package/lib/duet/{p-e0af1e68.system.entry.js → p-02fa277e.system.entry.js} +1 -1
- package/lib/duet/{p-581baf04.system.entry.js → p-04dd24ca.system.entry.js} +1 -1
- package/lib/duet/p-05545e81.entry.js +4 -0
- package/lib/duet/{p-beb2fcfd.entry.js → p-07871336.entry.js} +1 -1
- package/lib/duet/{p-4aa7c43e.entry.js → p-090b0eb4.entry.js} +1 -1
- package/lib/duet/{p-fb763129.system.entry.js → p-0c3cfb88.system.entry.js} +1 -1
- package/lib/duet/{p-97b7d224.entry.js → p-0ec7bc0d.entry.js} +1 -1
- package/lib/duet/{p-20a3bf2b.entry.js → p-104758cf.entry.js} +1 -1
- package/lib/duet/{p-02c5180a.entry.js → p-10b014f5.entry.js} +1 -1
- package/lib/duet/{p-ff433afd.entry.js → p-1137a234.entry.js} +1 -1
- package/lib/duet/{p-27c853fe.system.entry.js → p-11a22107.system.entry.js} +1 -1
- package/lib/duet/{p-8b533166.system.entry.js → p-125fff3c.system.entry.js} +1 -1
- package/lib/duet/{p-da62279b.system.entry.js → p-15c364ef.system.entry.js} +1 -1
- package/lib/duet/p-180b9ef7.entry.js +4 -0
- package/lib/duet/{p-9e675661.entry.js → p-1e2689a2.entry.js} +1 -1
- package/lib/duet/{p-23ba8301.entry.js → p-231e217b.entry.js} +1 -1
- package/lib/duet/{p-7d15ac32.system.entry.js → p-2362c81c.system.entry.js} +1 -1
- package/lib/duet/{p-e8323345.system.entry.js → p-236348a6.system.entry.js} +1 -1
- package/lib/duet/{p-2ec51250.entry.js → p-26082482.entry.js} +1 -1
- package/lib/duet/{p-d67196da.entry.js → p-27831ad1.entry.js} +1 -1
- package/lib/duet/{p-a47b67e2.system.entry.js → p-27cbcb00.system.entry.js} +1 -1
- package/lib/duet/{p-a262eecf.entry.js → p-28cbcde9.entry.js} +1 -1
- package/lib/duet/{p-abdf2879.system.entry.js → p-2b90e0bf.system.entry.js} +1 -1
- package/lib/duet/{p-994fd476.entry.js → p-2f8baf13.entry.js} +1 -1
- package/lib/duet/{p-a1d40591.entry.js → p-2f8ff010.entry.js} +1 -1
- package/lib/duet/{p-bd3fd83f.system.entry.js → p-31f51b63.system.entry.js} +1 -1
- package/lib/duet/{p-05dc550e.entry.js → p-3351f110.entry.js} +1 -1
- package/lib/duet/{p-3c2ae0d5.js → p-33620d03.js} +1 -1
- package/lib/duet/{p-cc6b57eb.entry.js → p-3493bd62.entry.js} +1 -1
- package/lib/duet/{p-262f4bf7.system.entry.js → p-361a40a6.system.entry.js} +1 -1
- package/lib/duet/{p-57fbcba7.entry.js → p-399ae33f.entry.js} +1 -1
- package/lib/duet/{p-5e96a337.system.entry.js → p-3a48878a.system.entry.js} +1 -1
- package/lib/duet/{p-dae9d8eb.entry.js → p-3addfa0b.entry.js} +1 -1
- package/lib/duet/{p-c4917f80.system.entry.js → p-3bd38a60.system.entry.js} +1 -1
- package/lib/duet/{p-475d6e82.entry.js → p-3bdaca53.entry.js} +1 -1
- package/lib/duet/{p-e380af5d.system.entry.js → p-3bf13db2.system.entry.js} +1 -1
- package/lib/duet/{p-ef2eb6d8.entry.js → p-3ddc61bc.entry.js} +1 -1
- package/lib/duet/p-3e3f76cc.entry.js +4 -0
- package/lib/duet/{p-b5ea61f3.entry.js → p-407bc2e8.entry.js} +1 -1
- package/lib/duet/{p-6753d3e9.entry.js → p-4525bb7b.entry.js} +1 -1
- package/lib/duet/p-45d92a24.system.js +4 -0
- package/lib/duet/{p-e6ebe252.system.entry.js → p-46ae0197.system.entry.js} +1 -1
- package/lib/duet/{p-a77b749b.system.entry.js → p-4908aa39.system.entry.js} +1 -1
- package/lib/duet/{p-00cf42c2.system.js → p-491006e1.system.js} +1 -1
- package/lib/duet/{p-9915e4e4.system.entry.js → p-494e7691.system.entry.js} +1 -1
- package/lib/duet/{p-07bea2fe.system.entry.js → p-49e39bc1.system.entry.js} +1 -1
- package/lib/duet/p-4b3bef47.entry.js +4 -0
- package/lib/duet/{p-c674c251.system.entry.js → p-4b57b898.system.entry.js} +1 -1
- package/lib/duet/{p-37fb65e4.entry.js → p-4d272de8.entry.js} +1 -1
- package/lib/duet/{p-aec52fd0.system.entry.js → p-4ee4938c.system.entry.js} +1 -1
- package/lib/duet/{p-de07a6c7.system.entry.js → p-4f99c879.system.entry.js} +1 -1
- package/lib/duet/{p-3b651d8c.entry.js → p-5003f2f7.entry.js} +1 -1
- package/lib/duet/p-501d76ac.system.entry.js +4 -0
- package/lib/duet/{p-c3c627fe.entry.js → p-51ea8a1e.entry.js} +1 -1
- package/lib/duet/{p-66dfe352.entry.js → p-56e8e51e.entry.js} +1 -1
- package/lib/duet/{p-df3c0a26.system.entry.js → p-5700d7df.system.entry.js} +1 -1
- package/lib/duet/{p-d7cb8511.system.entry.js → p-5726b0c6.system.entry.js} +1 -1
- package/lib/duet/{p-5aa537c3.system.entry.js → p-57c81cdf.system.entry.js} +1 -1
- package/lib/duet/{p-fc25294f.entry.js → p-58d191e0.entry.js} +1 -1
- package/lib/duet/{p-2dd573a3.system.entry.js → p-5bb44d21.system.entry.js} +1 -1
- package/lib/duet/{p-99cc8fb5.entry.js → p-5be89661.entry.js} +1 -1
- package/lib/duet/{p-1dc34d52.entry.js → p-5c682b2c.entry.js} +1 -1
- package/lib/duet/{p-892dab61.system.entry.js → p-5d06caee.system.entry.js} +1 -1
- package/lib/duet/{p-e8bef1aa.entry.js → p-5d1f9c44.entry.js} +1 -1
- package/lib/duet/{p-e500eae6.system.entry.js → p-61c551d2.system.entry.js} +1 -1
- package/lib/duet/{p-6049c423.system.entry.js → p-63330f08.system.entry.js} +1 -1
- package/lib/duet/{p-5b27a74d.system.entry.js → p-63566970.system.entry.js} +1 -1
- package/lib/duet/p-63c149ab.js +4 -0
- package/lib/duet/{p-a8ea10a9.system.entry.js → p-66ab3c0e.system.entry.js} +1 -1
- package/lib/duet/{p-3d94b518.system.entry.js → p-6c1482e6.system.entry.js} +1 -1
- package/lib/duet/{p-e7ddaaf0.entry.js → p-715db5f9.entry.js} +1 -1
- package/lib/duet/{p-277d9e45.system.js → p-71a46879.system.js} +1 -1
- package/lib/duet/{p-a829f5f4.entry.js → p-720ffaf8.entry.js} +1 -1
- package/lib/duet/{p-19babdcf.entry.js → p-74bee1d0.entry.js} +1 -1
- package/lib/duet/{p-dd6874b5.entry.js → p-7709b117.entry.js} +1 -1
- package/lib/duet/{p-107887be.entry.js → p-7a3c5568.entry.js} +1 -1
- package/lib/duet/{p-807acf6d.system.entry.js → p-7d1b0468.system.entry.js} +1 -1
- package/lib/duet/{p-b6e0c13e.entry.js → p-7d5e5659.entry.js} +1 -1
- package/lib/duet/{p-f08bc317.entry.js → p-7e43823e.entry.js} +1 -1
- package/lib/duet/{p-00ff74e5.system.entry.js → p-8894b5f8.system.entry.js} +1 -1
- package/lib/duet/p-892b0784.system.js +5 -0
- package/lib/duet/p-8ace7a8f.entry.js +4 -0
- package/lib/duet/{p-6ecf1c48.entry.js → p-8adadd0e.entry.js} +1 -1
- package/lib/duet/p-8adb9463.js +4 -0
- package/lib/duet/{p-2d1e8451.system.entry.js → p-8aee7f16.system.entry.js} +1 -1
- package/lib/duet/{p-7431d1f1.system.entry.js → p-8b01d5ae.system.entry.js} +1 -1
- package/lib/duet/p-8be782cb.system.entry.js +4 -0
- package/lib/duet/{p-6999dcca.system.entry.js → p-8bfe774e.system.entry.js} +1 -1
- package/lib/duet/{p-10695d55.system.js → p-8c6e3c4f.system.js} +1 -1
- package/lib/duet/{p-1a5b2354.system.entry.js → p-8e64876c.system.entry.js} +1 -1
- package/lib/duet/p-90b90630.system.entry.js +4 -0
- package/lib/duet/p-90d5fb9a.entry.js +4 -0
- package/lib/duet/{p-72e1da72.system.entry.js → p-9116810a.system.entry.js} +1 -1
- package/lib/duet/{p-e232c9a6.entry.js → p-91e92ff0.entry.js} +1 -1
- package/lib/duet/{p-1f2686b7.system.entry.js → p-92a26eb7.system.entry.js} +1 -1
- package/lib/duet/{p-a11c326b.entry.js → p-939bceb1.entry.js} +1 -1
- package/lib/duet/{p-a6b44386.system.entry.js → p-968c8724.system.entry.js} +1 -1
- package/lib/duet/{p-2f3e999c.system.entry.js → p-9837720e.system.entry.js} +1 -1
- package/lib/duet/{p-164aa67a.entry.js → p-99a6c65d.entry.js} +1 -1
- package/lib/duet/{p-9793321f.system.entry.js → p-9a9f4f83.system.entry.js} +1 -1
- package/lib/duet/{p-60b48a3d.entry.js → p-9ad54264.entry.js} +1 -1
- package/lib/duet/{p-3f96bb94.entry.js → p-9bad6410.entry.js} +1 -1
- package/lib/duet/{p-f601fb92.entry.js → p-9ef41dff.entry.js} +1 -1
- package/lib/duet/{p-9364781c.system.entry.js → p-a04538da.system.entry.js} +2 -2
- package/lib/duet/{p-b482b06d.system.entry.js → p-a4dc39b7.system.entry.js} +1 -1
- package/lib/duet/{p-2a49661d.entry.js → p-a61f629f.entry.js} +1 -1
- package/lib/duet/p-a659351d.system.js +4 -0
- package/lib/duet/{p-ac93ef4d.entry.js → p-a6a78989.entry.js} +1 -1
- package/lib/duet/{p-75f7a572.js → p-a76ceaf6.js} +1 -1
- package/lib/duet/{p-78207603.entry.js → p-acfd55b1.entry.js} +1 -1
- package/lib/duet/{p-2f35384b.entry.js → p-afd647b4.entry.js} +1 -1
- package/lib/duet/{p-6586bc19.entry.js → p-b150413c.entry.js} +1 -1
- package/lib/duet/{p-5ccd0a8a.system.entry.js → p-b4548652.system.entry.js} +1 -1
- package/lib/duet/{p-88b565dc.system.entry.js → p-b50fe6a3.system.entry.js} +1 -1
- package/lib/duet/p-b63e9d32.system.entry.js +4 -0
- package/lib/duet/p-b63fdf97.entry.js +4 -0
- package/lib/duet/{p-c84acb8f.entry.js → p-b70632f4.entry.js} +1 -1
- package/lib/duet/{p-d202fbd4.system.entry.js → p-b8f45b9b.system.entry.js} +1 -1
- package/lib/duet/{p-ab7d36e8.system.entry.js → p-ba8d654e.system.entry.js} +1 -1
- package/lib/duet/{p-1507d44f.entry.js → p-c047dce3.entry.js} +1 -1
- package/lib/duet/{p-2d4c9a5b.system.entry.js → p-c06dd7ff.system.entry.js} +1 -1
- package/lib/duet/{p-3ba5bafd.system.entry.js → p-c1aa415d.system.entry.js} +1 -1
- package/lib/duet/p-c6265d54.system.entry.js +4 -0
- package/lib/duet/{p-11c031c1.system.entry.js → p-c7f078b4.system.entry.js} +1 -1
- package/lib/duet/{p-18607658.entry.js → p-ca587193.entry.js} +1 -1
- package/lib/duet/{p-66604d21.system.entry.js → p-cc2c3bda.system.entry.js} +1 -1
- package/lib/duet/{p-aa6a1a0e.system.entry.js → p-ccbd26f8.system.entry.js} +1 -1
- package/lib/duet/{p-7b8bd6ae.system.entry.js → p-cd494ec0.system.entry.js} +1 -1
- package/lib/duet/{p-a9997645.entry.js → p-d0517764.entry.js} +1 -1
- package/lib/duet/{p-b4b2f99a.entry.js → p-d1ada824.entry.js} +1 -1
- package/lib/duet/{p-94ecf766.system.entry.js → p-d23f5574.system.entry.js} +1 -1
- package/lib/duet/{p-14fc2fba.entry.js → p-d38f4401.entry.js} +1 -1
- package/lib/duet/{p-eb3a72fc.system.entry.js → p-d5a72abd.system.entry.js} +1 -1
- package/lib/duet/{p-375a323f.system.entry.js → p-d976e355.system.entry.js} +1 -1
- package/lib/duet/p-dafb7efd.js +5 -0
- package/lib/duet/{p-a9a34171.system.entry.js → p-dc00285e.system.entry.js} +1 -1
- package/lib/duet/{p-ab26e29d.entry.js → p-ddec1906.entry.js} +1 -1
- package/lib/duet/{p-cfea40ab.system.entry.js → p-dfecd542.system.entry.js} +1 -1
- package/lib/duet/{p-a93132ea.entry.js → p-e1a2ad9b.entry.js} +1 -1
- package/lib/duet/{p-2b1d7c14.entry.js → p-e26224c8.entry.js} +1 -1
- package/lib/duet/{p-a6307cb3.entry.js → p-e2674cbd.entry.js} +1 -1
- package/lib/duet/{p-489c0d61.entry.js → p-e464c127.entry.js} +1 -1
- package/lib/duet/{p-2a6ca4ea.system.entry.js → p-e62bcf02.system.entry.js} +1 -1
- package/lib/duet/{p-9355b478.system.entry.js → p-e73904ab.system.entry.js} +1 -1
- package/lib/duet/{p-8459e611.entry.js → p-e775f206.entry.js} +1 -1
- package/lib/duet/{p-7de54682.entry.js → p-e8496052.entry.js} +1 -1
- package/lib/duet/p-e8e50fdb.entry.js +4 -0
- package/lib/duet/{p-dee965b3.system.entry.js → p-ecfdc7d9.system.entry.js} +1 -1
- package/lib/duet/p-edddef22.entry.js +4 -0
- package/lib/duet/{p-6a640a77.system.entry.js → p-ee2dc527.system.entry.js} +1 -1
- package/lib/duet/{p-86c132c9.entry.js → p-ee3d6a73.entry.js} +1 -1
- package/lib/duet/{p-9fbdd8b6.entry.js → p-ef194759.entry.js} +1 -1
- package/lib/duet/{p-747807c9.system.entry.js → p-f06b4b03.system.entry.js} +1 -1
- package/lib/duet/{p-3fcc6db9.entry.js → p-f29123b4.entry.js} +1 -1
- package/lib/duet/{p-e3b90925.system.js → p-f36c856d.system.js} +1 -1
- package/lib/duet/{p-197496f4.system.entry.js → p-f36ee41c.system.entry.js} +1 -1
- package/lib/duet/p-fa56fe59.entry.js +4 -0
- package/lib/duet/{p-e91ebfb3.system.entry.js → p-fa7cdc28.system.entry.js} +1 -1
- package/lib/duet/{p-8ac9042e.system.entry.js → p-fc3275ba.system.entry.js} +1 -1
- package/lib/duet/p-fd4785ab.js +4 -0
- package/lib/duet/{p-1274aa0f.system.entry.js → p-fd54a219.system.entry.js} +1 -1
- package/lib/duet/{p-3d8f8731.entry.js → p-fe4cd626.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- package/lib/esm/duet-alert.entry.js +14 -2
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-banner.entry.js +3 -3
- package/lib/esm/duet-breadcrumb.entry.js +1 -1
- package/lib/esm/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +3 -3
- package/lib/esm/duet-callout.entry.js +1 -1
- package/lib/esm/duet-caption_4.entry.js +3 -3
- package/lib/esm/duet-card.entry.js +3 -3
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-chip.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +2 -2
- package/lib/esm/duet-collapsible.entry.js +1 -1
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-contact-card.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +2 -2
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +25 -19
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +3 -2
- package/lib/esm/duet-footer.entry.js +1 -1
- package/lib/esm/duet-grid_2.entry.js +1 -1
- package/lib/esm/duet-header_2.entry.js +14 -9
- package/lib/esm/duet-hero.entry.js +1 -1
- package/lib/esm/duet-icon.entry.js +3 -3
- package/lib/esm/duet-input_2.entry.js +1 -1
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar.entry.js +1 -1
- package/lib/esm/duet-modal.entry.js +6 -2
- package/lib/esm/duet-multiselect.entry.js +1 -1
- package/lib/esm/duet-nav.entry.js +1 -1
- package/lib/esm/duet-notification_2.entry.js +1 -1
- package/lib/esm/duet-number-input.entry.js +4 -1
- package/lib/esm/duet-page-heading.entry.js +1 -1
- package/lib/esm/duet-pagination_2.entry.js +1 -1
- package/lib/esm/duet-popup-menu-item.entry.js +1 -1
- package/lib/esm/duet-popup-menu.entry.js +3 -3
- package/lib/esm/duet-progress.entry.js +1 -1
- package/lib/esm/duet-promo-card.entry.js +3 -3
- package/lib/esm/duet-radio_2.entry.js +1 -1
- package/lib/esm/duet-range-slider.entry.js +2 -2
- package/lib/esm/duet-scrollable_3.entry.js +1 -1
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +1 -1
- package/lib/esm/duet-shaped-image.entry.js +1 -1
- package/lib/esm/duet-show-more.entry.js +1 -1
- package/lib/esm/duet-slideout-lang.entry.js +1 -1
- package/lib/esm/duet-slideout-link.entry.js +1 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm/duet-slideout-panel.entry.js +4 -4
- package/lib/esm/duet-slideout.entry.js +4 -4
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar.entry.js +1 -1
- package/lib/esm/duet-textarea.entry.js +1 -1
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm/duet-toolbar-link.entry.js +1 -1
- package/lib/esm/duet-toolbar.entry.js +1 -1
- package/lib/esm/duet-tooltip-button_2.entry.js +2 -2
- package/lib/esm/duet-tooltip.entry.js +3 -3
- package/lib/esm/duet-tray.entry.js +2 -2
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-upload-item.entry.js +5 -4
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +3 -3
- package/lib/esm/{teleport-542f423e.js → floating-ui.dom.esm-6025c98f.js} +155 -195
- package/lib/esm/{focus-utils-8008bc82.js → focus-utils-8a8cfffd.js} +1 -1
- package/lib/esm/{index-79528b07.js → index-d48e2c74.js} +1 -1
- package/lib/esm/loader.js +3 -3
- package/lib/esm/teleport-4ede216d.js +86 -0
- package/lib/esm/{token-utils-058d6220.js → token-utils-a1dcaa4b.js} +1 -1
- package/lib/esm/{tokens.module-f436c2cd.js → tokens.module-ed773027.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- 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 +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 +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-chip.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +1 -1
- package/lib/esm-es5/duet-contact-card.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +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 +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 +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-multiselect.entry.js +1 -1
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-popup-menu-item.entry.js +1 -1
- package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-promo-card.entry.js +1 -1
- 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 +1 -1
- 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-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 +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +1 -1
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-upload-item.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/floating-ui.dom.esm-6025c98f.js +4 -0
- package/lib/esm-es5/focus-utils-8a8cfffd.js +4 -0
- package/lib/esm-es5/index-d48e2c74.js +5 -0
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/teleport-4ede216d.js +4 -0
- package/lib/esm-es5/{token-utils-058d6220.js → token-utils-a1dcaa4b.js} +1 -1
- package/lib/esm-es5/{tokens.module-f436c2cd.js → tokens.module-ed773027.js} +1 -1
- package/lib/types/components/duet-alert/duet-alert.d.ts +12 -0
- package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +6 -1
- package/lib/types/components/duet-header/duet-header.d.ts +3 -0
- package/lib/types/components/duet-modal/duet-modal.d.ts +1 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +20 -16
- package/lib/types/components.d.ts +32 -4
- package/lib/types/utils/teleport.d.ts +14 -2
- package/package.json +5 -5
- package/lib/duet/p-042b1636.entry.js +0 -4
- package/lib/duet/p-0e6350bf.system.entry.js +0 -4
- package/lib/duet/p-1002e2ae.system.entry.js +0 -4
- package/lib/duet/p-247f5600.entry.js +0 -4
- package/lib/duet/p-27530b53.js +0 -5
- package/lib/duet/p-30218ca6.system.entry.js +0 -4
- package/lib/duet/p-3ca2dafc.entry.js +0 -4
- package/lib/duet/p-4c063f5f.entry.js +0 -4
- package/lib/duet/p-7649b95e.js +0 -4
- package/lib/duet/p-7a0c7e22.system.entry.js +0 -4
- package/lib/duet/p-8c7ae2a9.system.js +0 -4
- package/lib/duet/p-8f416ae3.entry.js +0 -4
- package/lib/duet/p-949c4fd0.entry.js +0 -4
- package/lib/duet/p-be192c5b.js +0 -4
- package/lib/duet/p-be52bfd0.system.entry.js +0 -4
- package/lib/duet/p-be567ab1.entry.js +0 -4
- package/lib/duet/p-d86d90f2.entry.js +0 -4
- package/lib/duet/p-e15bdc0f.entry.js +0 -4
- package/lib/duet/p-ea8d7c61.system.js +0 -5
- package/lib/duet/p-f1d9862a.entry.js +0 -4
- package/lib/esm-es5/focus-utils-8008bc82.js +0 -4
- package/lib/esm-es5/index-79528b07.js +0 -5
- package/lib/esm-es5/teleport-542f423e.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -6678,6 +6678,7 @@ class DuetAlert {
|
|
|
6678
6678
|
this.padding = "auto";
|
|
6679
6679
|
this.variation = "default";
|
|
6680
6680
|
this.dismissible = false;
|
|
6681
|
+
this.focusable = false;
|
|
6681
6682
|
}
|
|
6682
6683
|
watchLanguageStateHandler(newValue, oldValue) {
|
|
6683
6684
|
if (newValue !== oldValue && this.accessibleLabel === this.accessibleLabelDefaults[oldValue]) {
|
|
@@ -6716,6 +6717,15 @@ class DuetAlert {
|
|
|
6716
6717
|
async hide() {
|
|
6717
6718
|
this.handleHide();
|
|
6718
6719
|
}
|
|
6720
|
+
/**
|
|
6721
|
+
* Sets focus on the specified `duet-alert`.
|
|
6722
|
+
* Works only when focusable property is set to true.
|
|
6723
|
+
* Use this method instead of the global
|
|
6724
|
+
* `button.focus()`.
|
|
6725
|
+
*/
|
|
6726
|
+
async setFocus(options) {
|
|
6727
|
+
this.alertContainer.focus(options);
|
|
6728
|
+
}
|
|
6719
6729
|
/**
|
|
6720
6730
|
* There is bug in NVDA screen reader
|
|
6721
6731
|
* that is causing multiple alert readings
|
|
@@ -6739,7 +6749,9 @@ class DuetAlert {
|
|
|
6739
6749
|
"duet-m-0": this.margin === "none",
|
|
6740
6750
|
[this.variation]: true,
|
|
6741
6751
|
"duet-theme-turva": this.theme === "turva",
|
|
6742
|
-
} }, hAsync("div", { class: "duet-alert-container"
|
|
6752
|
+
} }, hAsync("div", { class: "duet-alert-container", ref: element => {
|
|
6753
|
+
this.alertContainer = element;
|
|
6754
|
+
}, tabindex: this.focusable ? "0" : undefined }, this.icon && (hAsync("div", { class: "duet-alert-icon" }, hAsync("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), hAsync("span", { id: this.descriptiveId }, hAsync("slot", null))), this.dismissible && (hAsync("div", { class: "duet-alert-dismiss" }, hAsync("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
|
|
6743
6755
|
}
|
|
6744
6756
|
static get watchers() { return {
|
|
6745
6757
|
"language": ["watchLanguageStateHandler"]
|
|
@@ -6759,11 +6771,13 @@ class DuetAlert {
|
|
|
6759
6771
|
"padding": [1],
|
|
6760
6772
|
"variation": [1],
|
|
6761
6773
|
"dismissible": [4],
|
|
6774
|
+
"focusable": [4],
|
|
6762
6775
|
"isDismissed": [32],
|
|
6763
6776
|
"timeoutID": [32],
|
|
6764
6777
|
"language": [32],
|
|
6765
6778
|
"show": [64],
|
|
6766
|
-
"hide": [64]
|
|
6779
|
+
"hide": [64],
|
|
6780
|
+
"setFocus": [64]
|
|
6767
6781
|
},
|
|
6768
6782
|
"$listeners$": undefined,
|
|
6769
6783
|
"$lazyBundleId$": "-",
|
|
@@ -9688,12 +9702,12 @@ function setYear(date, year) {
|
|
|
9688
9702
|
* Check if date is within a min and max
|
|
9689
9703
|
*/
|
|
9690
9704
|
function inRange(date, min, max) {
|
|
9691
|
-
return clamp$
|
|
9705
|
+
return clamp$2(date, min, max) === date;
|
|
9692
9706
|
}
|
|
9693
9707
|
/**
|
|
9694
9708
|
* Ensures date is within range, returns min or max if out of bounds
|
|
9695
9709
|
*/
|
|
9696
|
-
function clamp$
|
|
9710
|
+
function clamp$2(date, min, max) {
|
|
9697
9711
|
const time = date.getTime();
|
|
9698
9712
|
if (min && min instanceof Date && time < min.getTime()) {
|
|
9699
9713
|
return min;
|
|
@@ -10073,16 +10087,16 @@ class DuetDatePicker {
|
|
|
10073
10087
|
const min = setMonth(startOfMonth(this.focusedDay), month);
|
|
10074
10088
|
const max = endOfMonth(min);
|
|
10075
10089
|
const date = setMonth(this.focusedDay, month);
|
|
10076
|
-
this.setFocusedDay(clamp$
|
|
10090
|
+
this.setFocusedDay(clamp$2(date, min, max));
|
|
10077
10091
|
}
|
|
10078
10092
|
setYear(year) {
|
|
10079
10093
|
const min = setYear(startOfMonth(this.focusedDay), year);
|
|
10080
10094
|
const max = endOfMonth(min);
|
|
10081
10095
|
const date = setYear(this.focusedDay, year);
|
|
10082
|
-
this.setFocusedDay(clamp$
|
|
10096
|
+
this.setFocusedDay(clamp$2(date, min, max));
|
|
10083
10097
|
}
|
|
10084
10098
|
setFocusedDay(day) {
|
|
10085
|
-
this.focusedDay = clamp$
|
|
10099
|
+
this.focusedDay = clamp$2(day, parseISODate(this.min), parseISODate(this.max));
|
|
10086
10100
|
}
|
|
10087
10101
|
determineValidity(date) {
|
|
10088
10102
|
var _a, _b;
|
|
@@ -10529,6 +10543,7 @@ class DuetFieldset {
|
|
|
10529
10543
|
this.label = undefined;
|
|
10530
10544
|
this.error = undefined;
|
|
10531
10545
|
this.accessibleLiveError = "polite";
|
|
10546
|
+
this.labelHeadingLevel = "h3";
|
|
10532
10547
|
this.labelHidden = false;
|
|
10533
10548
|
}
|
|
10534
10549
|
/**
|
|
@@ -10550,7 +10565,7 @@ class DuetFieldset {
|
|
|
10550
10565
|
class: {
|
|
10551
10566
|
"duet-fieldset": true,
|
|
10552
10567
|
"duet-theme-turva": this.theme === "turva",
|
|
10553
|
-
} }, hAsync("legend", { id: this.labelId }, hAsync(
|
|
10568
|
+
} }, hAsync("legend", { id: this.labelId }, hAsync(this.labelHeadingLevel, null, this.label), this.caption && hAsync("span", null, this.caption)), hAsync("div", { class: {
|
|
10554
10569
|
"duet-legend-wrapper": true,
|
|
10555
10570
|
"duet-legend-has-caption": !!this.caption,
|
|
10556
10571
|
"duet-legend-has-tooltip": this.hasTooltip,
|
|
@@ -10569,6 +10584,7 @@ class DuetFieldset {
|
|
|
10569
10584
|
"label": [1],
|
|
10570
10585
|
"error": [1],
|
|
10571
10586
|
"accessibleLiveError": [1, "accessible-live-error"],
|
|
10587
|
+
"labelHeadingLevel": [1, "label-heading-level"],
|
|
10572
10588
|
"labelHidden": [4, "label-hidden"],
|
|
10573
10589
|
"hasTooltip": [32]
|
|
10574
10590
|
},
|
|
@@ -11240,7 +11256,7 @@ class DuetHeader {
|
|
|
11240
11256
|
this.hasLanguageChanged = false;
|
|
11241
11257
|
this.mql = [window.matchMedia(media_query_large.replace(/'/g, ""))];
|
|
11242
11258
|
this.boundMqlFunctions = [];
|
|
11243
|
-
this.handleClick = (event) => {
|
|
11259
|
+
this.handleClick = (event, moveFocusToButton = false) => {
|
|
11244
11260
|
if (event.data.analyticsId) {
|
|
11245
11261
|
this.duetAnalytics.emit({
|
|
11246
11262
|
component: "duet-header",
|
|
@@ -11248,8 +11264,8 @@ class DuetHeader {
|
|
|
11248
11264
|
});
|
|
11249
11265
|
}
|
|
11250
11266
|
this.duetChange.emit(event);
|
|
11251
|
-
this.closeMenus();
|
|
11252
|
-
this.closeMobileNavigation();
|
|
11267
|
+
this.closeMenus(moveFocusToButton);
|
|
11268
|
+
this.closeMobileNavigation(moveFocusToButton);
|
|
11253
11269
|
};
|
|
11254
11270
|
this.handleSessionClick = (ev) => {
|
|
11255
11271
|
const e = createEvent(ev, this.processedSession);
|
|
@@ -11501,7 +11517,7 @@ class DuetHeader {
|
|
|
11501
11517
|
// When Esc is pressed
|
|
11502
11518
|
if (isEscapeKey(ev)) {
|
|
11503
11519
|
this.closeMenus(true);
|
|
11504
|
-
this.closeMobileNavigation();
|
|
11520
|
+
this.closeMobileNavigation(true);
|
|
11505
11521
|
}
|
|
11506
11522
|
}
|
|
11507
11523
|
handleKeyDown(ev) {
|
|
@@ -11535,7 +11551,7 @@ class DuetHeader {
|
|
|
11535
11551
|
this.language = data.country;
|
|
11536
11552
|
this.hasLanguageChanged = true;
|
|
11537
11553
|
const e = createEvent(ev, data);
|
|
11538
|
-
this.handleClick(e);
|
|
11554
|
+
this.handleClick(e, true);
|
|
11539
11555
|
this.duetLanguageSelect.emit(e);
|
|
11540
11556
|
}
|
|
11541
11557
|
handleContactClick(ev, data) {
|
|
@@ -11571,10 +11587,15 @@ class DuetHeader {
|
|
|
11571
11587
|
/**
|
|
11572
11588
|
* Closes mobile menu in header when called.
|
|
11573
11589
|
*/
|
|
11574
|
-
async closeMobileNavigation() {
|
|
11590
|
+
async closeMobileNavigation(moveFocusToButton = false) {
|
|
11575
11591
|
if (this.isSlideOutOpen) {
|
|
11576
11592
|
this.isSlideOutOpen = false;
|
|
11577
11593
|
enableBodyScroll(this.navigationEl);
|
|
11594
|
+
if (moveFocusToButton) {
|
|
11595
|
+
this.navigationElButton.focus({
|
|
11596
|
+
preventScroll: true,
|
|
11597
|
+
});
|
|
11598
|
+
}
|
|
11578
11599
|
}
|
|
11579
11600
|
}
|
|
11580
11601
|
/**
|
|
@@ -11666,7 +11687,7 @@ class DuetHeader {
|
|
|
11666
11687
|
languageDropdown() ||
|
|
11667
11688
|
contactDropdown() ||
|
|
11668
11689
|
this.processedSession ||
|
|
11669
|
-
this.processedUser) && (hAsync("button", { class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button" }, hAsync("duet-visually-hidden", null, this.accessibleLabel), hAsync(DuetHeaderHamburger, null)))), hAsync("div", { ref: el => (this.navigationEl = el), class: {
|
|
11690
|
+
this.processedUser) && (hAsync("button", { ref: el => (this.navigationElButton = el), class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button", "aria-controls": "duet-header-bottom", "aria-expanded": this.isSlideOutOpen ? "true" : "false" }, hAsync("duet-visually-hidden", null, this.accessibleLabel), hAsync(DuetHeaderHamburger, null)))), hAsync("div", { ref: el => (this.navigationEl = el), id: "duet-header-bottom", class: {
|
|
11670
11691
|
"duet-header-bottom": true,
|
|
11671
11692
|
active: this.isSlideOutOpen,
|
|
11672
11693
|
inactive: !this.processedItems,
|
|
@@ -13623,6 +13644,88 @@ class DuetMenuBarLink {
|
|
|
13623
13644
|
}; }
|
|
13624
13645
|
}
|
|
13625
13646
|
|
|
13647
|
+
/**
|
|
13648
|
+
* Teleport helps resolving z-index issues of overlapping popup elements.
|
|
13649
|
+
* Initiate it in your component's willLoad or didLoad lifecycle hook.
|
|
13650
|
+
* When you open the popup, call teleport.go() and move focus to the popup.
|
|
13651
|
+
* When you close the popup, call teleport.resume() and move focus to the element that opened the popup.
|
|
13652
|
+
* If your popup has closing animation, use the timeout parameter.
|
|
13653
|
+
*/
|
|
13654
|
+
class Teleport {
|
|
13655
|
+
constructor(element, target) {
|
|
13656
|
+
this.element = element;
|
|
13657
|
+
this.target = target || document.body;
|
|
13658
|
+
this.teleportId = `${Math.random()}-${Date.now()}`.substring(2);
|
|
13659
|
+
}
|
|
13660
|
+
/**
|
|
13661
|
+
* @param makeSiblingsInert - make all siblings of the element inert, use only with modals
|
|
13662
|
+
*/
|
|
13663
|
+
go(makeSiblingsInert = false) {
|
|
13664
|
+
this.stub = document.createElement("div");
|
|
13665
|
+
this.element.insertAdjacentElement("afterend", this.stub);
|
|
13666
|
+
this.target.appendChild(this.element);
|
|
13667
|
+
if (makeSiblingsInert) {
|
|
13668
|
+
this._makeSiblingsInert();
|
|
13669
|
+
}
|
|
13670
|
+
this.deletionObserver = new MutationObserver(this._deletionObserverCallback.bind(this));
|
|
13671
|
+
this.deletionObserver.observe(document.documentElement, { childList: true, subtree: true });
|
|
13672
|
+
}
|
|
13673
|
+
resume(delay = 0) {
|
|
13674
|
+
if (delay) {
|
|
13675
|
+
setTimeout(this._resume.bind(this), delay);
|
|
13676
|
+
}
|
|
13677
|
+
else {
|
|
13678
|
+
this._resume();
|
|
13679
|
+
}
|
|
13680
|
+
}
|
|
13681
|
+
_resume() {
|
|
13682
|
+
this.stub.insertAdjacentElement("beforebegin", this.element);
|
|
13683
|
+
this.stub.remove();
|
|
13684
|
+
this._removeInertFromSiblings();
|
|
13685
|
+
this.deletionObserver.disconnect();
|
|
13686
|
+
}
|
|
13687
|
+
_remove() {
|
|
13688
|
+
var _a, _b;
|
|
13689
|
+
(_a = this.element) === null || _a === void 0 ? void 0 : _a.remove();
|
|
13690
|
+
(_b = this.stub) === null || _b === void 0 ? void 0 : _b.remove();
|
|
13691
|
+
this._removeInertFromSiblings();
|
|
13692
|
+
this.deletionObserver.disconnect();
|
|
13693
|
+
}
|
|
13694
|
+
_makeSiblingsInert() {
|
|
13695
|
+
const siblings = Array.from(this.target.children);
|
|
13696
|
+
siblings.forEach(sibling => {
|
|
13697
|
+
if (sibling !== this.element) {
|
|
13698
|
+
sibling.dataset.duetTeleportId = (sibling.dataset.duetTeleportId || "") + this.teleportId;
|
|
13699
|
+
sibling.inert = true;
|
|
13700
|
+
}
|
|
13701
|
+
});
|
|
13702
|
+
}
|
|
13703
|
+
_removeInertFromSiblings() {
|
|
13704
|
+
const siblings = Array.from(this.target.children);
|
|
13705
|
+
siblings.forEach(sibling => {
|
|
13706
|
+
var _a;
|
|
13707
|
+
if ((_a = sibling.dataset.duetTeleportId) === null || _a === void 0 ? void 0 : _a.includes(this.teleportId)) {
|
|
13708
|
+
sibling.dataset.duetTeleportId = sibling.dataset.duetTeleportId.replace(this.teleportId, "");
|
|
13709
|
+
if (sibling.dataset.duetTeleportId === "") {
|
|
13710
|
+
delete sibling.dataset.duetTeleportId;
|
|
13711
|
+
sibling.inert = false;
|
|
13712
|
+
}
|
|
13713
|
+
}
|
|
13714
|
+
});
|
|
13715
|
+
}
|
|
13716
|
+
/**
|
|
13717
|
+
* If the teleported element or its component (observed via stub) is removed from DOM, clean up the teleport.
|
|
13718
|
+
*/
|
|
13719
|
+
_deletionObserverCallback(mutationList) {
|
|
13720
|
+
mutationList.forEach(mutation => {
|
|
13721
|
+
if (Array.from(mutation.removedNodes).includes(this.element) ||
|
|
13722
|
+
Array.from(mutation.removedNodes).some(n => n.contains(this.stub))) {
|
|
13723
|
+
this._remove();
|
|
13724
|
+
}
|
|
13725
|
+
});
|
|
13726
|
+
}
|
|
13727
|
+
}
|
|
13728
|
+
|
|
13626
13729
|
const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.85);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.85)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.duet-modal-large*/.duet-modal-inner.duet-modal-large.sc-duet-modal{padding-right:0;padding-left:0}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{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-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-none*/.duet-modal-body.duet-modal-gutter-none.sc-duet-modal{padding:0 !important}/*!@.duet-modal-body.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;overflow:hidden;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:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(0, 41, 77);text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
|
|
13627
13730
|
|
|
13628
13731
|
// The transition below is slightly higher than the actual CSS transition as VoiceOver on
|
|
@@ -13691,6 +13794,7 @@ class DuetModal {
|
|
|
13691
13794
|
}
|
|
13692
13795
|
this.focusedElBeforeOpen = document.activeElement;
|
|
13693
13796
|
disableBodyScroll(this.modalEl, { reserveScrollBarGap: true });
|
|
13797
|
+
this.teleport.go(true);
|
|
13694
13798
|
setTimeout(() => {
|
|
13695
13799
|
this.buttonEl.setFocus();
|
|
13696
13800
|
}, TRANSITION_MS);
|
|
@@ -13708,6 +13812,7 @@ class DuetModal {
|
|
|
13708
13812
|
this.modalEl.classList.remove("duet-disable-transitions");
|
|
13709
13813
|
enableBodyScroll(this.modalEl);
|
|
13710
13814
|
this.duetClose.emit();
|
|
13815
|
+
this.teleport.resume(TRANSITION_MS);
|
|
13711
13816
|
setTimeout(() => {
|
|
13712
13817
|
focusElement(this.focusedElBeforeOpen);
|
|
13713
13818
|
}, TRANSITION_MS);
|
|
@@ -13731,6 +13836,7 @@ class DuetModal {
|
|
|
13731
13836
|
inheritGlobalTheme(this);
|
|
13732
13837
|
}
|
|
13733
13838
|
componentDidLoad() {
|
|
13839
|
+
this.teleport = new Teleport(this.element);
|
|
13734
13840
|
if (this.active) {
|
|
13735
13841
|
// This specific line below can’t be moved to componentWillLoad()
|
|
13736
13842
|
// as it breaks body scroll enabling.
|
|
@@ -14356,6 +14462,9 @@ var actionSubtract={"title":"action-subtract","tags":"action subtract minus remo
|
|
|
14356
14462
|
function SafeParseFloat(value, locale) {
|
|
14357
14463
|
let results;
|
|
14358
14464
|
if (typeof value === "string") {
|
|
14465
|
+
if (value === "") {
|
|
14466
|
+
return null;
|
|
14467
|
+
}
|
|
14359
14468
|
//the minuses are NOT the same characters, they differ in unicode for some languages
|
|
14360
14469
|
// "‐", "−", "–", and "—"
|
|
14361
14470
|
let convertedMinus = value.replace("−", "-").replace("‐", "-").replace("−", "-").replace("–", "-").replace("—", "-");
|
|
@@ -14418,7 +14527,7 @@ function ConvertToEnUS(value, locale, replaceThousands = false) {
|
|
|
14418
14527
|
return replacedValue;
|
|
14419
14528
|
}
|
|
14420
14529
|
const roundTo = (val, multiple) => Math.round(val / multiple) * multiple;
|
|
14421
|
-
const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
|
|
14530
|
+
const clamp$1 = (val, min, max) => Math.min(Math.max(val, min), max);
|
|
14422
14531
|
|
|
14423
14532
|
const duetNumberInputCss = "*.sc-duet-number-input,*.sc-duet-number-input::after,*.sc-duet-number-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-number-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;line-height:1.25;text-align:left;vertical-align:bottom}.sc-duet-number-input-h:last-child,.sc-duet-number-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-number-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-number-input-h{width:100% !important}.duet-m-0.sc-duet-number-input-h{margin:0 !important}.duet-number-container.sc-duet-number-input{position:relative;width:100%}.duet-number-buttons.sc-duet-number-input{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;width:96px;height:calc(100% - 2px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50%;height:100%;text-align:center;cursor:pointer;background:transparent;-webkit-appearance:none;appearance:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled{pointer-events:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input duet-icon.sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled duet-icon.sc-duet-number-input{opacity:0.4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:active duet-icon.sc-duet-number-input{transform:translateY(1px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{outline:0}.user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{z-index:2;box-shadow:0 0 0 2px rgb(0, 119, 179)}.duet-theme-turva .user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{box-shadow:0 0 0 2px rgb(23, 28, 58)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type{border-left:1px solid rgb(207, 210, 212)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{position:absolute;top:20%;left:0;width:1px;height:60%;content:\"\";background:rgb(225, 227, 230)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{background:linear-gradient(to left, rgba(207, 207, 209, 0.2) 0%, rgba(207, 207, 209, 0.2) 1px, rgba(207, 207, 209, 0.1) 1px, rgba(207, 207, 209, 0) 100%)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{background:rgb(228, 228, 230)}";
|
|
14424
14533
|
|
|
@@ -14497,7 +14606,7 @@ class DuetNumberInput {
|
|
|
14497
14606
|
if (this.rounding) {
|
|
14498
14607
|
value = roundTo(value, this.step);
|
|
14499
14608
|
}
|
|
14500
|
-
value = clamp(value, this.min, this.max);
|
|
14609
|
+
value = clamp$1(value, this.min, this.max);
|
|
14501
14610
|
if (value !== SafeParseFloat(this.value, this.locale) ||
|
|
14502
14611
|
value !== SafeParseFloat(this.focusedValue, this.locale)) {
|
|
14503
14612
|
this.setValue(value);
|
|
@@ -14562,7 +14671,7 @@ class DuetNumberInput {
|
|
|
14562
14671
|
const adjustment = newValue % this.step;
|
|
14563
14672
|
newValue -= adjustment;
|
|
14564
14673
|
}
|
|
14565
|
-
const clampedValue = clamp(newValue, this.min, this.max);
|
|
14674
|
+
const clampedValue = clamp$1(newValue, this.min, this.max);
|
|
14566
14675
|
this.value = this.localizeValue(clampedValue);
|
|
14567
14676
|
this.emitChange(ev);
|
|
14568
14677
|
};
|
|
@@ -14585,7 +14694,7 @@ class DuetNumberInput {
|
|
|
14585
14694
|
const adjustment = this.step - (newValue % this.step);
|
|
14586
14695
|
newValue += adjustment;
|
|
14587
14696
|
}
|
|
14588
|
-
newValue = clamp(newValue, this.min, this.max);
|
|
14697
|
+
newValue = clamp$1(newValue, this.min, this.max);
|
|
14589
14698
|
this.value = this.localizeValue(newValue);
|
|
14590
14699
|
this.emitChange(ev);
|
|
14591
14700
|
};
|
|
@@ -15161,20 +15270,118 @@ class DuetParagraph {
|
|
|
15161
15270
|
}; }
|
|
15162
15271
|
}
|
|
15163
15272
|
|
|
15273
|
+
const min$1 = Math.min;
|
|
15274
|
+
const max$1 = Math.max;
|
|
15275
|
+
const oppositeSideMap = {
|
|
15276
|
+
left: 'right',
|
|
15277
|
+
right: 'left',
|
|
15278
|
+
bottom: 'top',
|
|
15279
|
+
top: 'bottom'
|
|
15280
|
+
};
|
|
15281
|
+
const oppositeAlignmentMap = {
|
|
15282
|
+
start: 'end',
|
|
15283
|
+
end: 'start'
|
|
15284
|
+
};
|
|
15285
|
+
function clamp(start, value, end) {
|
|
15286
|
+
return max$1(start, min$1(value, end));
|
|
15287
|
+
}
|
|
15288
|
+
function evaluate(value, param) {
|
|
15289
|
+
return typeof value === 'function' ? value(param) : value;
|
|
15290
|
+
}
|
|
15291
|
+
function getSide(placement) {
|
|
15292
|
+
return placement.split('-')[0];
|
|
15293
|
+
}
|
|
15164
15294
|
function getAlignment(placement) {
|
|
15165
15295
|
return placement.split('-')[1];
|
|
15166
15296
|
}
|
|
15167
|
-
|
|
15168
|
-
|
|
15297
|
+
function getOppositeAxis(axis) {
|
|
15298
|
+
return axis === 'x' ? 'y' : 'x';
|
|
15299
|
+
}
|
|
15300
|
+
function getAxisLength(axis) {
|
|
15169
15301
|
return axis === 'y' ? 'height' : 'width';
|
|
15170
15302
|
}
|
|
15171
|
-
|
|
15172
|
-
|
|
15173
|
-
return placement.split('-')[0];
|
|
15303
|
+
function getSideAxis(placement) {
|
|
15304
|
+
return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
|
|
15174
15305
|
}
|
|
15175
|
-
|
|
15176
|
-
|
|
15177
|
-
|
|
15306
|
+
function getAlignmentAxis(placement) {
|
|
15307
|
+
return getOppositeAxis(getSideAxis(placement));
|
|
15308
|
+
}
|
|
15309
|
+
function getAlignmentSides(placement, rects, rtl) {
|
|
15310
|
+
if (rtl === void 0) {
|
|
15311
|
+
rtl = false;
|
|
15312
|
+
}
|
|
15313
|
+
const alignment = getAlignment(placement);
|
|
15314
|
+
const alignmentAxis = getAlignmentAxis(placement);
|
|
15315
|
+
const length = getAxisLength(alignmentAxis);
|
|
15316
|
+
let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';
|
|
15317
|
+
if (rects.reference[length] > rects.floating[length]) {
|
|
15318
|
+
mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
|
|
15319
|
+
}
|
|
15320
|
+
return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
|
|
15321
|
+
}
|
|
15322
|
+
function getExpandedPlacements(placement) {
|
|
15323
|
+
const oppositePlacement = getOppositePlacement(placement);
|
|
15324
|
+
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
15325
|
+
}
|
|
15326
|
+
function getOppositeAlignmentPlacement(placement) {
|
|
15327
|
+
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
15328
|
+
}
|
|
15329
|
+
function getSideList(side, isStart, rtl) {
|
|
15330
|
+
const lr = ['left', 'right'];
|
|
15331
|
+
const rl = ['right', 'left'];
|
|
15332
|
+
const tb = ['top', 'bottom'];
|
|
15333
|
+
const bt = ['bottom', 'top'];
|
|
15334
|
+
switch (side) {
|
|
15335
|
+
case 'top':
|
|
15336
|
+
case 'bottom':
|
|
15337
|
+
if (rtl) return isStart ? rl : lr;
|
|
15338
|
+
return isStart ? lr : rl;
|
|
15339
|
+
case 'left':
|
|
15340
|
+
case 'right':
|
|
15341
|
+
return isStart ? tb : bt;
|
|
15342
|
+
default:
|
|
15343
|
+
return [];
|
|
15344
|
+
}
|
|
15345
|
+
}
|
|
15346
|
+
function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
15347
|
+
const alignment = getAlignment(placement);
|
|
15348
|
+
let list = getSideList(getSide(placement), direction === 'start', rtl);
|
|
15349
|
+
if (alignment) {
|
|
15350
|
+
list = list.map(side => side + "-" + alignment);
|
|
15351
|
+
if (flipAlignment) {
|
|
15352
|
+
list = list.concat(list.map(getOppositeAlignmentPlacement));
|
|
15353
|
+
}
|
|
15354
|
+
}
|
|
15355
|
+
return list;
|
|
15356
|
+
}
|
|
15357
|
+
function getOppositePlacement(placement) {
|
|
15358
|
+
return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
|
|
15359
|
+
}
|
|
15360
|
+
function expandPaddingObject(padding) {
|
|
15361
|
+
return {
|
|
15362
|
+
top: 0,
|
|
15363
|
+
right: 0,
|
|
15364
|
+
bottom: 0,
|
|
15365
|
+
left: 0,
|
|
15366
|
+
...padding
|
|
15367
|
+
};
|
|
15368
|
+
}
|
|
15369
|
+
function getPaddingObject(padding) {
|
|
15370
|
+
return typeof padding !== 'number' ? expandPaddingObject(padding) : {
|
|
15371
|
+
top: padding,
|
|
15372
|
+
right: padding,
|
|
15373
|
+
bottom: padding,
|
|
15374
|
+
left: padding
|
|
15375
|
+
};
|
|
15376
|
+
}
|
|
15377
|
+
function rectToClientRect(rect) {
|
|
15378
|
+
return {
|
|
15379
|
+
...rect,
|
|
15380
|
+
top: rect.y,
|
|
15381
|
+
left: rect.x,
|
|
15382
|
+
right: rect.x + rect.width,
|
|
15383
|
+
bottom: rect.y + rect.height
|
|
15384
|
+
};
|
|
15178
15385
|
}
|
|
15179
15386
|
|
|
15180
15387
|
function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
@@ -15182,13 +15389,14 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
15182
15389
|
reference,
|
|
15183
15390
|
floating
|
|
15184
15391
|
} = _ref;
|
|
15392
|
+
const sideAxis = getSideAxis(placement);
|
|
15393
|
+
const alignmentAxis = getAlignmentAxis(placement);
|
|
15394
|
+
const alignLength = getAxisLength(alignmentAxis);
|
|
15395
|
+
const side = getSide(placement);
|
|
15396
|
+
const isVertical = sideAxis === 'y';
|
|
15185
15397
|
const commonX = reference.x + reference.width / 2 - floating.width / 2;
|
|
15186
15398
|
const commonY = reference.y + reference.height / 2 - floating.height / 2;
|
|
15187
|
-
const
|
|
15188
|
-
const length = getLengthFromAxis(mainAxis);
|
|
15189
|
-
const commonAlign = reference[length] / 2 - floating[length] / 2;
|
|
15190
|
-
const side = getSide(placement);
|
|
15191
|
-
const isVertical = mainAxis === 'x';
|
|
15399
|
+
const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
|
|
15192
15400
|
let coords;
|
|
15193
15401
|
switch (side) {
|
|
15194
15402
|
case 'top':
|
|
@@ -15223,10 +15431,10 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
15223
15431
|
}
|
|
15224
15432
|
switch (getAlignment(placement)) {
|
|
15225
15433
|
case 'start':
|
|
15226
|
-
coords[
|
|
15434
|
+
coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
|
|
15227
15435
|
break;
|
|
15228
15436
|
case 'end':
|
|
15229
|
-
coords[
|
|
15437
|
+
coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
|
|
15230
15438
|
break;
|
|
15231
15439
|
}
|
|
15232
15440
|
return coords;
|
|
@@ -15324,35 +15532,6 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
15324
15532
|
};
|
|
15325
15533
|
};
|
|
15326
15534
|
|
|
15327
|
-
function expandPaddingObject(padding) {
|
|
15328
|
-
return {
|
|
15329
|
-
top: 0,
|
|
15330
|
-
right: 0,
|
|
15331
|
-
bottom: 0,
|
|
15332
|
-
left: 0,
|
|
15333
|
-
...padding
|
|
15334
|
-
};
|
|
15335
|
-
}
|
|
15336
|
-
|
|
15337
|
-
function getSideObjectFromPadding(padding) {
|
|
15338
|
-
return typeof padding !== 'number' ? expandPaddingObject(padding) : {
|
|
15339
|
-
top: padding,
|
|
15340
|
-
right: padding,
|
|
15341
|
-
bottom: padding,
|
|
15342
|
-
left: padding
|
|
15343
|
-
};
|
|
15344
|
-
}
|
|
15345
|
-
|
|
15346
|
-
function rectToClientRect(rect) {
|
|
15347
|
-
return {
|
|
15348
|
-
...rect,
|
|
15349
|
-
top: rect.y,
|
|
15350
|
-
left: rect.x,
|
|
15351
|
-
right: rect.x + rect.width,
|
|
15352
|
-
bottom: rect.y + rect.height
|
|
15353
|
-
};
|
|
15354
|
-
}
|
|
15355
|
-
|
|
15356
15535
|
/**
|
|
15357
15536
|
* Resolves with an object of overflow side offsets that determine how much the
|
|
15358
15537
|
* element is overflowing a given clipping boundary on each side.
|
|
@@ -15380,8 +15559,8 @@ async function detectOverflow(state, options) {
|
|
|
15380
15559
|
elementContext = 'floating',
|
|
15381
15560
|
altBoundary = false,
|
|
15382
15561
|
padding = 0
|
|
15383
|
-
} = options;
|
|
15384
|
-
const paddingObject =
|
|
15562
|
+
} = evaluate(options, state);
|
|
15563
|
+
const paddingObject = getPaddingObject(padding);
|
|
15385
15564
|
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
15386
15565
|
const element = elements[altBoundary ? altContext : elementContext];
|
|
15387
15566
|
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
@@ -15416,13 +15595,6 @@ async function detectOverflow(state, options) {
|
|
|
15416
15595
|
};
|
|
15417
15596
|
}
|
|
15418
15597
|
|
|
15419
|
-
const min$1 = Math.min;
|
|
15420
|
-
const max$1 = Math.max;
|
|
15421
|
-
|
|
15422
|
-
function within(min$1$1, value, max$1$1) {
|
|
15423
|
-
return max$1(min$1$1, min$1(value, max$1$1));
|
|
15424
|
-
}
|
|
15425
|
-
|
|
15426
15598
|
/**
|
|
15427
15599
|
* Provides data to position an inner element of the floating element so that it
|
|
15428
15600
|
* appears centered to the reference element.
|
|
@@ -15432,11 +15604,6 @@ const arrow = options => ({
|
|
|
15432
15604
|
name: 'arrow',
|
|
15433
15605
|
options,
|
|
15434
15606
|
async fn(state) {
|
|
15435
|
-
// Since `element` is required, we don't Partial<> the type.
|
|
15436
|
-
const {
|
|
15437
|
-
element,
|
|
15438
|
-
padding = 0
|
|
15439
|
-
} = options || {};
|
|
15440
15607
|
const {
|
|
15441
15608
|
x,
|
|
15442
15609
|
y,
|
|
@@ -15445,16 +15612,21 @@ const arrow = options => ({
|
|
|
15445
15612
|
platform,
|
|
15446
15613
|
elements
|
|
15447
15614
|
} = state;
|
|
15615
|
+
// Since `element` is required, we don't Partial<> the type.
|
|
15616
|
+
const {
|
|
15617
|
+
element,
|
|
15618
|
+
padding = 0
|
|
15619
|
+
} = evaluate(options, state) || {};
|
|
15448
15620
|
if (element == null) {
|
|
15449
15621
|
return {};
|
|
15450
15622
|
}
|
|
15451
|
-
const paddingObject =
|
|
15623
|
+
const paddingObject = getPaddingObject(padding);
|
|
15452
15624
|
const coords = {
|
|
15453
15625
|
x,
|
|
15454
15626
|
y
|
|
15455
15627
|
};
|
|
15456
|
-
const axis =
|
|
15457
|
-
const length =
|
|
15628
|
+
const axis = getAlignmentAxis(placement);
|
|
15629
|
+
const length = getAxisLength(axis);
|
|
15458
15630
|
const arrowDimensions = await platform.getDimensions(element);
|
|
15459
15631
|
const isYAxis = axis === 'y';
|
|
15460
15632
|
const minProp = isYAxis ? 'top' : 'left';
|
|
@@ -15471,98 +15643,35 @@ const arrow = options => ({
|
|
|
15471
15643
|
}
|
|
15472
15644
|
const centerToReference = endDiff / 2 - startDiff / 2;
|
|
15473
15645
|
|
|
15646
|
+
// If the padding is large enough that it causes the arrow to no longer be
|
|
15647
|
+
// centered, modify the padding so that it is centered.
|
|
15648
|
+
const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
|
|
15649
|
+
const minPadding = min$1(paddingObject[minProp], largestPossiblePadding);
|
|
15650
|
+
const maxPadding = min$1(paddingObject[maxProp], largestPossiblePadding);
|
|
15651
|
+
|
|
15474
15652
|
// Make sure the arrow doesn't overflow the floating element if the center
|
|
15475
15653
|
// point is outside the floating element's bounds.
|
|
15476
|
-
const min =
|
|
15477
|
-
const max = clientSize - arrowDimensions[length] -
|
|
15654
|
+
const min$1$1 = minPadding;
|
|
15655
|
+
const max = clientSize - arrowDimensions[length] - maxPadding;
|
|
15478
15656
|
const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
|
|
15479
|
-
const offset =
|
|
15657
|
+
const offset = clamp(min$1$1, center, max);
|
|
15480
15658
|
|
|
15481
15659
|
// If the reference is small enough that the arrow's padding causes it to
|
|
15482
15660
|
// to point to nothing for an aligned placement, adjust the offset of the
|
|
15483
15661
|
// floating element itself. This stops `shift()` from taking action, but can
|
|
15484
15662
|
// be worked around by calling it again after the `arrow()` if desired.
|
|
15485
|
-
const shouldAddOffset = getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min ?
|
|
15486
|
-
const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0;
|
|
15663
|
+
const shouldAddOffset = getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
|
|
15664
|
+
const alignmentOffset = shouldAddOffset ? center < min$1$1 ? min$1$1 - center : max - center : 0;
|
|
15487
15665
|
return {
|
|
15488
15666
|
[axis]: coords[axis] - alignmentOffset,
|
|
15489
15667
|
data: {
|
|
15490
15668
|
[axis]: offset,
|
|
15491
|
-
centerOffset: center - offset
|
|
15669
|
+
centerOffset: center - offset + alignmentOffset
|
|
15492
15670
|
}
|
|
15493
15671
|
};
|
|
15494
15672
|
}
|
|
15495
15673
|
});
|
|
15496
15674
|
|
|
15497
|
-
const oppositeSideMap = {
|
|
15498
|
-
left: 'right',
|
|
15499
|
-
right: 'left',
|
|
15500
|
-
bottom: 'top',
|
|
15501
|
-
top: 'bottom'
|
|
15502
|
-
};
|
|
15503
|
-
function getOppositePlacement(placement) {
|
|
15504
|
-
return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
|
|
15505
|
-
}
|
|
15506
|
-
|
|
15507
|
-
function getAlignmentSides(placement, rects, rtl) {
|
|
15508
|
-
if (rtl === void 0) {
|
|
15509
|
-
rtl = false;
|
|
15510
|
-
}
|
|
15511
|
-
const alignment = getAlignment(placement);
|
|
15512
|
-
const mainAxis = getMainAxisFromPlacement(placement);
|
|
15513
|
-
const length = getLengthFromAxis(mainAxis);
|
|
15514
|
-
let mainAlignmentSide = mainAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';
|
|
15515
|
-
if (rects.reference[length] > rects.floating[length]) {
|
|
15516
|
-
mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
|
|
15517
|
-
}
|
|
15518
|
-
return {
|
|
15519
|
-
main: mainAlignmentSide,
|
|
15520
|
-
cross: getOppositePlacement(mainAlignmentSide)
|
|
15521
|
-
};
|
|
15522
|
-
}
|
|
15523
|
-
|
|
15524
|
-
const oppositeAlignmentMap = {
|
|
15525
|
-
start: 'end',
|
|
15526
|
-
end: 'start'
|
|
15527
|
-
};
|
|
15528
|
-
function getOppositeAlignmentPlacement(placement) {
|
|
15529
|
-
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
15530
|
-
}
|
|
15531
|
-
|
|
15532
|
-
function getExpandedPlacements(placement) {
|
|
15533
|
-
const oppositePlacement = getOppositePlacement(placement);
|
|
15534
|
-
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
15535
|
-
}
|
|
15536
|
-
|
|
15537
|
-
function getSideList(side, isStart, rtl) {
|
|
15538
|
-
const lr = ['left', 'right'];
|
|
15539
|
-
const rl = ['right', 'left'];
|
|
15540
|
-
const tb = ['top', 'bottom'];
|
|
15541
|
-
const bt = ['bottom', 'top'];
|
|
15542
|
-
switch (side) {
|
|
15543
|
-
case 'top':
|
|
15544
|
-
case 'bottom':
|
|
15545
|
-
if (rtl) return isStart ? rl : lr;
|
|
15546
|
-
return isStart ? lr : rl;
|
|
15547
|
-
case 'left':
|
|
15548
|
-
case 'right':
|
|
15549
|
-
return isStart ? tb : bt;
|
|
15550
|
-
default:
|
|
15551
|
-
return [];
|
|
15552
|
-
}
|
|
15553
|
-
}
|
|
15554
|
-
function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
15555
|
-
const alignment = getAlignment(placement);
|
|
15556
|
-
let list = getSideList(getSide(placement), direction === 'start', rtl);
|
|
15557
|
-
if (alignment) {
|
|
15558
|
-
list = list.map(side => side + "-" + alignment);
|
|
15559
|
-
if (flipAlignment) {
|
|
15560
|
-
list = list.concat(list.map(getOppositeAlignmentPlacement));
|
|
15561
|
-
}
|
|
15562
|
-
}
|
|
15563
|
-
return list;
|
|
15564
|
-
}
|
|
15565
|
-
|
|
15566
15675
|
/**
|
|
15567
15676
|
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
15568
15677
|
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
@@ -15594,7 +15703,7 @@ const flip = function (options) {
|
|
|
15594
15703
|
fallbackAxisSideDirection = 'none',
|
|
15595
15704
|
flipAlignment = true,
|
|
15596
15705
|
...detectOverflowOptions
|
|
15597
|
-
} = options;
|
|
15706
|
+
} = evaluate(options, state);
|
|
15598
15707
|
const side = getSide(placement);
|
|
15599
15708
|
const isBasePlacement = getSide(initialPlacement) === initialPlacement;
|
|
15600
15709
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
|
@@ -15610,11 +15719,8 @@ const flip = function (options) {
|
|
|
15610
15719
|
overflows.push(overflow[side]);
|
|
15611
15720
|
}
|
|
15612
15721
|
if (checkCrossAxis) {
|
|
15613
|
-
const
|
|
15614
|
-
|
|
15615
|
-
cross
|
|
15616
|
-
} = getAlignmentSides(placement, rects, rtl);
|
|
15617
|
-
overflows.push(overflow[main], overflow[cross]);
|
|
15722
|
+
const sides = getAlignmentSides(placement, rects, rtl);
|
|
15723
|
+
overflows.push(overflow[sides[0]], overflow[sides[1]]);
|
|
15618
15724
|
}
|
|
15619
15725
|
overflowsData = [...overflowsData, {
|
|
15620
15726
|
placement,
|
|
@@ -15673,7 +15779,9 @@ const flip = function (options) {
|
|
|
15673
15779
|
};
|
|
15674
15780
|
};
|
|
15675
15781
|
|
|
15676
|
-
|
|
15782
|
+
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
15783
|
+
// Derivable.
|
|
15784
|
+
async function convertValueToCoords(state, options) {
|
|
15677
15785
|
const {
|
|
15678
15786
|
placement,
|
|
15679
15787
|
platform,
|
|
@@ -15682,10 +15790,10 @@ async function convertValueToCoords(state, value) {
|
|
|
15682
15790
|
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
|
15683
15791
|
const side = getSide(placement);
|
|
15684
15792
|
const alignment = getAlignment(placement);
|
|
15685
|
-
const isVertical =
|
|
15793
|
+
const isVertical = getSideAxis(placement) === 'y';
|
|
15686
15794
|
const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
|
|
15687
15795
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
15688
|
-
const rawValue =
|
|
15796
|
+
const rawValue = evaluate(options, state);
|
|
15689
15797
|
|
|
15690
15798
|
// eslint-disable-next-line prefer-const
|
|
15691
15799
|
let {
|
|
@@ -15721,19 +15829,19 @@ async function convertValueToCoords(state, value) {
|
|
|
15721
15829
|
* object may be passed.
|
|
15722
15830
|
* @see https://floating-ui.com/docs/offset
|
|
15723
15831
|
*/
|
|
15724
|
-
const offset = function (
|
|
15725
|
-
if (
|
|
15726
|
-
|
|
15832
|
+
const offset = function (options) {
|
|
15833
|
+
if (options === void 0) {
|
|
15834
|
+
options = 0;
|
|
15727
15835
|
}
|
|
15728
15836
|
return {
|
|
15729
15837
|
name: 'offset',
|
|
15730
|
-
options
|
|
15838
|
+
options,
|
|
15731
15839
|
async fn(state) {
|
|
15732
15840
|
const {
|
|
15733
15841
|
x,
|
|
15734
15842
|
y
|
|
15735
15843
|
} = state;
|
|
15736
|
-
const diffCoords = await convertValueToCoords(state,
|
|
15844
|
+
const diffCoords = await convertValueToCoords(state, options);
|
|
15737
15845
|
return {
|
|
15738
15846
|
x: x + diffCoords.x,
|
|
15739
15847
|
y: y + diffCoords.y,
|
|
@@ -15743,10 +15851,6 @@ const offset = function (value) {
|
|
|
15743
15851
|
};
|
|
15744
15852
|
};
|
|
15745
15853
|
|
|
15746
|
-
function getCrossAxis(axis) {
|
|
15747
|
-
return axis === 'x' ? 'y' : 'x';
|
|
15748
|
-
}
|
|
15749
|
-
|
|
15750
15854
|
/**
|
|
15751
15855
|
* Optimizes the visibility of the floating element by shifting it in order to
|
|
15752
15856
|
* keep it in view when it will overflow the clipping boundary.
|
|
@@ -15781,14 +15885,14 @@ const shift = function (options) {
|
|
|
15781
15885
|
}
|
|
15782
15886
|
},
|
|
15783
15887
|
...detectOverflowOptions
|
|
15784
|
-
} = options;
|
|
15888
|
+
} = evaluate(options, state);
|
|
15785
15889
|
const coords = {
|
|
15786
15890
|
x,
|
|
15787
15891
|
y
|
|
15788
15892
|
};
|
|
15789
15893
|
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
15790
|
-
const
|
|
15791
|
-
const
|
|
15894
|
+
const crossAxis = getSideAxis(getSide(placement));
|
|
15895
|
+
const mainAxis = getOppositeAxis(crossAxis);
|
|
15792
15896
|
let mainAxisCoord = coords[mainAxis];
|
|
15793
15897
|
let crossAxisCoord = coords[crossAxis];
|
|
15794
15898
|
if (checkMainAxis) {
|
|
@@ -15796,14 +15900,14 @@ const shift = function (options) {
|
|
|
15796
15900
|
const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
|
|
15797
15901
|
const min = mainAxisCoord + overflow[minSide];
|
|
15798
15902
|
const max = mainAxisCoord - overflow[maxSide];
|
|
15799
|
-
mainAxisCoord =
|
|
15903
|
+
mainAxisCoord = clamp(min, mainAxisCoord, max);
|
|
15800
15904
|
}
|
|
15801
15905
|
if (checkCrossAxis) {
|
|
15802
15906
|
const minSide = crossAxis === 'y' ? 'top' : 'left';
|
|
15803
15907
|
const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
|
|
15804
15908
|
const min = crossAxisCoord + overflow[minSide];
|
|
15805
15909
|
const max = crossAxisCoord - overflow[maxSide];
|
|
15806
|
-
crossAxisCoord =
|
|
15910
|
+
crossAxisCoord = clamp(min, crossAxisCoord, max);
|
|
15807
15911
|
}
|
|
15808
15912
|
const limitedCoords = limiter.fn({
|
|
15809
15913
|
...state,
|
|
@@ -16402,39 +16506,6 @@ const computePosition = (reference, floating, options) => {
|
|
|
16402
16506
|
});
|
|
16403
16507
|
};
|
|
16404
16508
|
|
|
16405
|
-
/**
|
|
16406
|
-
* Teleport helps resolving z-index issues of overlapping popup elements.
|
|
16407
|
-
* Initiate it in your component's willLoad or didLoad lifecycle hook.
|
|
16408
|
-
* When you open the popup, call teleport.go() and move focus to the popup.
|
|
16409
|
-
* When you close the popup, call teleport.resume() and move focus to the element that opened the popup.
|
|
16410
|
-
* If your popup has closing animation, use the timeout parameter.
|
|
16411
|
-
*/
|
|
16412
|
-
class Teleport {
|
|
16413
|
-
constructor(element, target) {
|
|
16414
|
-
this.element = element;
|
|
16415
|
-
this.target = target || document.body;
|
|
16416
|
-
}
|
|
16417
|
-
go() {
|
|
16418
|
-
this.stub = document.createElement("div");
|
|
16419
|
-
this.element.insertAdjacentElement("afterend", this.stub);
|
|
16420
|
-
this.target.appendChild(this.element);
|
|
16421
|
-
this.element.style.zIndex = zIndexPopup;
|
|
16422
|
-
}
|
|
16423
|
-
resume(timeout = 0) {
|
|
16424
|
-
if (timeout) {
|
|
16425
|
-
setTimeout(this._resume.bind(this), timeout);
|
|
16426
|
-
}
|
|
16427
|
-
else {
|
|
16428
|
-
this._resume();
|
|
16429
|
-
}
|
|
16430
|
-
}
|
|
16431
|
-
_resume() {
|
|
16432
|
-
this.element.style.zIndex = "";
|
|
16433
|
-
this.stub.insertAdjacentElement("beforebegin", this.element);
|
|
16434
|
-
this.stub.remove();
|
|
16435
|
-
}
|
|
16436
|
-
}
|
|
16437
|
-
|
|
16438
16509
|
const duetPopupMenuCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-popup-menu,*.sc-duet-popup-menu::after,*.sc-duet-popup-menu::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-popup-menu-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-popup-menu-list*/.duet-popup-menu-list.sc-duet-popup-menu{position:absolute;top:0;left:0;z-index:950;width:max-content;min-width:175px;padding:0;padding:1rem 0;margin:0;color:rgb(0, 41, 77);list-style:none;visibility:hidden !important;background:rgb(243, 249, 252);border-radius:0 0 8px 8px;box-shadow:0 6px 6px 0 rgba(0, 41, 77, 0.1);opacity:0;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease;transform:scaleY(0);transform-origin:top center}/*!@.duet-popup-menu-list.open*/.duet-popup-menu-list.open.sc-duet-popup-menu{visibility:visible !important;opacity:1;transform:scaleY(1)}/*!@.duet-popup-menu-list.fixed*/.duet-popup-menu-list.fixed.sc-duet-popup-menu{position:fixed}/*!@.duet-popup-menu-list.duet-theme-turva*/.duet-popup-menu-list.duet-theme-turva.sc-duet-popup-menu{color:rgb(23, 28, 58) !important;background:rgb(245, 245, 247)}";
|
|
16439
16510
|
|
|
16440
16511
|
class DuetPopupMenu {
|
|
@@ -20767,10 +20838,15 @@ const getI18nError = (errorCode, errorCodes) => {
|
|
|
20767
20838
|
}
|
|
20768
20839
|
};
|
|
20769
20840
|
|
|
20841
|
+
const headerAriaLabel = {
|
|
20842
|
+
fi: "Liiteluettelo",
|
|
20843
|
+
sv: "Lista över bilagor",
|
|
20844
|
+
en: "Attachments list",
|
|
20845
|
+
};
|
|
20770
20846
|
const UploadItemHeader = ({ label, categoryLabel }) => {
|
|
20771
|
-
return (hAsync("div", { class: "items-header" },
|
|
20772
|
-
categoryLabel && (hAsync("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none" }, getLocaleString(categoryLabel))),
|
|
20773
|
-
hAsync("duet-heading", { class: { "filename-header": true, "no-category": !categoryLabel }, border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none" }, getLocaleString(label))));
|
|
20847
|
+
return (hAsync("div", { class: "items-header", tabindex: "0", "aria-label": getLocaleString(headerAriaLabel) },
|
|
20848
|
+
categoryLabel && (hAsync("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none", "aria-hidden": "true" }, getLocaleString(categoryLabel))),
|
|
20849
|
+
hAsync("duet-heading", { class: { "filename-header": true, "no-category": !categoryLabel }, border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none", "aria-hidden": "true" }, getLocaleString(label))));
|
|
20774
20850
|
};
|
|
20775
20851
|
|
|
20776
20852
|
const validateFileExtension = (name, allowedExtensions) => {
|
|
@@ -21447,27 +21523,27 @@ class DuetUpload {
|
|
|
21447
21523
|
this.caption = undefined;
|
|
21448
21524
|
this.statusLabelDefaults = {
|
|
21449
21525
|
fi: {
|
|
21450
|
-
inProgress: "Lähetetään {filesUploaded}
|
|
21451
|
-
inProgressWithErrors: "Lähetetään {filesInProgress}
|
|
21452
|
-
done: "
|
|
21453
|
-
doneWithErrors: "
|
|
21454
|
-
files: "
|
|
21526
|
+
inProgress: "Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",
|
|
21527
|
+
inProgressWithErrors: "Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",
|
|
21528
|
+
done: "Lähetys valmis, {filesTotal} lisätty onnistuneesti",
|
|
21529
|
+
doneWithErrors: "Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",
|
|
21530
|
+
files: "tiedostoa",
|
|
21455
21531
|
file: "tiedosto",
|
|
21456
21532
|
},
|
|
21457
21533
|
sv: {
|
|
21458
|
-
inProgress: "
|
|
21534
|
+
inProgress: "Laddar upp {filesUploaded} av {filesTotal}",
|
|
21459
21535
|
inProgressWithErrors: "Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",
|
|
21460
|
-
done: "
|
|
21461
|
-
doneWithErrors: "
|
|
21536
|
+
done: "Uppladdningen slutförd, {filesTotal} har lagts till",
|
|
21537
|
+
doneWithErrors: "Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",
|
|
21462
21538
|
files: "filer",
|
|
21463
21539
|
file: "fil",
|
|
21464
21540
|
},
|
|
21465
21541
|
en: {
|
|
21466
|
-
inProgress: "
|
|
21542
|
+
inProgress: "Uploading {filesUploaded} of {filesTotal}",
|
|
21467
21543
|
inProgressWithErrors: "Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",
|
|
21468
|
-
done: "
|
|
21469
|
-
doneWithErrors: "
|
|
21470
|
-
files: "
|
|
21544
|
+
done: "Upload completed, {filesTotal} added successfully",
|
|
21545
|
+
doneWithErrors: "Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",
|
|
21546
|
+
files: "files",
|
|
21471
21547
|
file: "file",
|
|
21472
21548
|
},
|
|
21473
21549
|
};
|
|
@@ -21525,6 +21601,7 @@ class DuetUpload {
|
|
|
21525
21601
|
sv: "Lägg till en bilaga",
|
|
21526
21602
|
en: "Uploaded file",
|
|
21527
21603
|
};
|
|
21604
|
+
this.headerHeadingLevel = "h3";
|
|
21528
21605
|
this.hideHeader = false;
|
|
21529
21606
|
this.emitEvent = false;
|
|
21530
21607
|
this.groups = [
|
|
@@ -21661,7 +21738,7 @@ class DuetUpload {
|
|
|
21661
21738
|
this.externalUploadButton.ariaLabel = caption;
|
|
21662
21739
|
}
|
|
21663
21740
|
// @ts-ignore
|
|
21664
|
-
return (hAsync(Host, { class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, hAsync("slot", { name: "header" }), !this.files.size && (hAsync("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, hAsync("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("slot", { name: "uploadfooter" }), this.captionOnBottom && (hAsync("duet-caption", { margin: "none", size: "small" }, hAsync("div", { class: "upload-bottom-caption" }, caption))), hAsync("slot", { name: "afterfooter" }), !this.hideButton && (hAsync(Fragment, null, hAsync("duet-spacer", { size: "large" }), hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
|
|
21741
|
+
return (hAsync(Host, { class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, hAsync("slot", { name: "header" }), !this.files.size && (hAsync("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, hAsync("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { invalid: this.getFilesAsArray().invalid.length, valid: this.getFilesAsArray().valid.length, inprogress: this.filesInProgress.size, total: this.files.size, statusMessageLabel: this.internalStatusMessageLabel })), !!this.files.size && this.renderUploadedItems(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("slot", { name: "uploadfooter" }), this.captionOnBottom && (hAsync("duet-caption", { margin: "none", size: "small" }, hAsync("div", { class: "upload-bottom-caption" }, caption))), hAsync("slot", { name: "afterfooter" }), !this.hideButton && (hAsync(Fragment, null, hAsync("duet-spacer", { size: "large" }), hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel))), (this.fileMaxReached ||
|
|
21665
21742
|
this.bytesMaxReached ||
|
|
21666
21743
|
this.filesToUploadExceedsLimit ||
|
|
21667
21744
|
this.filesToUploadTotalSizeIsAboveMax) && (hAsync(Fragment, null, hAsync("duet-spacer", { size: "medium" }), hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes), this.filesToUploadExceedsLimit && getI18nError("duet-upload-302", this.errorCodes), this.filesToUploadTotalSizeIsAboveMax && getI18nError("duet-upload-203", this.errorCodes)))), hAsync("duet-visually-hidden", { "aria-hidden": "true" }, hAsync("input", { ref: input => {
|
|
@@ -21853,6 +21930,7 @@ class DuetUpload {
|
|
|
21853
21930
|
"captionOnBottom": [4, "caption-on-bottom"],
|
|
21854
21931
|
"showUploadedItemsHeader": [4, "show-uploaded-items-header"],
|
|
21855
21932
|
"uploadedItemsHeaderLabel": [16],
|
|
21933
|
+
"headerHeadingLevel": [1, "header-heading-level"],
|
|
21856
21934
|
"hideHeader": [4, "hide-header"],
|
|
21857
21935
|
"emitEvent": [4, "link-click-event"],
|
|
21858
21936
|
"groups": [16],
|
|
@@ -22004,7 +22082,8 @@ class DuetUploadItem {
|
|
|
22004
22082
|
}
|
|
22005
22083
|
async focusActionButton() {
|
|
22006
22084
|
if (this.actionButton) {
|
|
22007
|
-
await this.actionButton.setFocus();
|
|
22085
|
+
await this.actionButton.setFocus({ preventScroll: true });
|
|
22086
|
+
this.actionButton.scrollIntoView({ behavior: "smooth", block: "center", inline: "nearest" });
|
|
22008
22087
|
}
|
|
22009
22088
|
}
|
|
22010
22089
|
getFileNameLine() {
|
|
@@ -22024,9 +22103,9 @@ class DuetUploadItem {
|
|
|
22024
22103
|
}
|
|
22025
22104
|
}
|
|
22026
22105
|
render() {
|
|
22027
|
-
const { uid, meta } = this.data;
|
|
22106
|
+
const { uid, meta, item } = this.data;
|
|
22028
22107
|
const Badges = meta && meta.badges ? (hAsync("span", null, meta.badges.map(badgeText => (hAsync("duet-badge", { color: "primary" }, badgeText))))) : undefined;
|
|
22029
|
-
const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${name}`;
|
|
22108
|
+
const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${item.name}`;
|
|
22030
22109
|
return (hAsync("div", { class: {
|
|
22031
22110
|
"upload-item-row": true,
|
|
22032
22111
|
} }, this.showCategory && (hAsync("div", { class: "item-categories" }, hAsync("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.categoryLabel)), Badges)), hAsync("div", { class: { "item-name": true, "no-category": !this.showCategory } }, !!this.label && (hAsync("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.label))), this.getFileNameLine()), hAsync("div", { class: "item-actions" }, this.actions.map(actionItem => {
|