@duetds/components 6.11.1 → 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 +479 -289
- 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 +4 -4
- 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 +75 -22
- 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 +2 -2
- 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 +3 -2
- package/lib/cjs/duet-modal.cjs.entry.js +6 -2
- package/lib/cjs/duet-multiselect.cjs.entry.js +23 -4
- 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 +4 -31
- 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 +92 -0
- package/lib/cjs/duet-tooltip.cjs.entry.js +33 -48
- 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/{floating-ui.dom.esm-3801794e.js → floating-ui.dom.esm-d537b048.js} +154 -159
- package/lib/cjs/{focus-utils-832cb087.js → focus-utils-6d4f01d9.js} +1 -1
- package/lib/cjs/{index-f9a10385.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/collection-manifest.json +2 -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.css +22 -1
- 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.css +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 +3 -2
- package/lib/collection/components/duet-modal/duet-modal.js +7 -3
- package/lib/collection/components/duet-multiselect/duet-multiselect.css +36 -0
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +44 -7
- 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-table/duet-table.css +13 -11
- package/lib/collection/components/duet-table/duet-table.js +10 -1
- 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-button.css +87 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +175 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +2 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +9 -12
- package/lib/collection/components/duet-tooltip/duet-tooltip.css +4 -61
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +39 -48
- package/lib/collection/components/duet-upload/duet-upload.js +66 -32
- package/lib/collection/components/duet-upload/upload-item-header.js +6 -1
- package/lib/collection/components/duet-upload/upload-validators.js +19 -0
- 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 +64 -10
- 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 +17 -11
- 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 +25 -19
- 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 +4 -3
- package/lib/dist-custom-elements/duet-modal.js +11 -7
- package/lib/dist-custom-elements/duet-multiselect.js +44 -18
- 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 +26 -17
- 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 -30
- 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 +17 -11
- 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 +27 -21
- 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 +21 -15
- 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.d.ts +11 -0
- package/lib/dist-custom-elements/duet-tooltip-button.js +9 -0
- 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 +80 -35
- 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-98bca605.js → p-19b04293.js} +1 -1
- package/lib/dist-custom-elements/{p-fc2fdeba.js → p-1fef65c4.js} +1 -1
- package/lib/dist-custom-elements/{p-b5568c37.js → p-20d8a7ab.js} +14 -13
- package/lib/dist-custom-elements/{p-b1c2af98.js → p-28facbdc.js} +2 -2
- package/lib/dist-custom-elements/{p-fa37a369.js → p-32a42529.js} +4 -4
- package/lib/dist-custom-elements/{p-95d44d0f.js → p-34d193a7.js} +1 -1
- package/lib/dist-custom-elements/p-371290d2.js +145 -0
- package/lib/dist-custom-elements/{p-09ac696c.js → p-47bc3fc6.js} +1 -1
- package/lib/dist-custom-elements/{p-74b72454.js → p-4fa0d10e.js} +3 -3
- package/lib/dist-custom-elements/{p-8badaab4.js → p-507ae246.js} +2 -2
- package/lib/dist-custom-elements/{p-4fb34519.js → p-591040e5.js} +1 -1
- package/lib/dist-custom-elements/p-63c149ab.js +86 -0
- package/lib/dist-custom-elements/{p-215e9694.js → p-66206ea5.js} +1 -1
- package/lib/dist-custom-elements/{p-48b731bc.js → p-80bd412e.js} +22 -16
- package/lib/dist-custom-elements/{p-5db7fd87.js → p-84003069.js} +5 -3
- package/lib/dist-custom-elements/{p-a8b46969.js → p-86f35893.js} +1 -1
- package/lib/{esm/floating-ui.dom.esm-37dc174a.js → dist-custom-elements/p-8adb9463.js} +154 -159
- package/lib/dist-custom-elements/{p-67064f22.js → p-8dbc5e4b.js} +1 -1
- package/lib/dist-custom-elements/{p-8319ca94.js → p-8e9d78b5.js} +1 -1
- package/lib/dist-custom-elements/{p-cb811b5c.js → p-91f98ca2.js} +5 -5
- package/lib/dist-custom-elements/{p-0d04d137.js → p-93609c40.js} +2 -2
- package/lib/dist-custom-elements/{p-841186f0.js → p-960b00e1.js} +2 -2
- package/lib/dist-custom-elements/{p-e41a8579.js → p-9fb22951.js} +2 -2
- package/lib/dist-custom-elements/{p-184261b3.js → p-a7cc7bd9.js} +2 -2
- package/lib/dist-custom-elements/p-b1fa6ee7.js +72 -0
- package/lib/dist-custom-elements/{p-7be4444a.js → p-b95006a5.js} +2 -2
- package/lib/dist-custom-elements/{p-217bb82f.js → p-c2a056b1.js} +2 -2
- package/lib/dist-custom-elements/{p-0c3282a0.js → p-c85f0028.js} +17 -11
- package/lib/dist-custom-elements/{p-05ab48bf.js → p-cbc43bac.js} +21 -7
- package/lib/dist-custom-elements/{p-1888263b.js → p-da75f5d9.js} +1 -1
- package/lib/dist-custom-elements/p-dd112690.js +273 -0
- package/lib/dist-custom-elements/{p-37f86174.js → p-de10f837.js} +45 -55
- package/lib/dist-custom-elements/{p-661e7864.js → p-de68431d.js} +1 -1
- package/lib/dist-custom-elements/p-e78bd379.js +87 -0
- package/lib/dist-custom-elements/{p-cd9b5f96.js → p-e8475b3c.js} +1 -1
- package/lib/dist-custom-elements/{p-3366d1ff.js → p-eb0475d3.js} +1 -1
- package/lib/dist-custom-elements/{p-841f9d02.js → p-f3ffb5b4.js} +2 -2
- package/lib/dist-custom-elements/{p-b7cc653b.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-d9886ef0.system.entry.js → p-01aaac6a.system.entry.js} +1 -1
- package/lib/duet/{p-a306b058.system.entry.js → p-01f3e23e.system.entry.js} +1 -1
- package/lib/duet/{p-c7f097e8.entry.js → p-02ce139d.entry.js} +1 -1
- package/lib/duet/p-02fa277e.system.entry.js +4 -0
- package/lib/duet/{p-2a14f9c7.system.entry.js → p-04dd24ca.system.entry.js} +1 -1
- package/lib/duet/p-05545e81.entry.js +4 -0
- package/lib/duet/{p-1ebe62cb.entry.js → p-07871336.entry.js} +1 -1
- package/lib/duet/{p-54589f3a.entry.js → p-090b0eb4.entry.js} +1 -1
- package/lib/duet/{p-5cc44de5.system.entry.js → p-0c3cfb88.system.entry.js} +1 -1
- package/lib/duet/{p-f3a4805a.entry.js → p-0ec7bc0d.entry.js} +1 -1
- package/lib/duet/{p-ff28d71a.entry.js → p-104758cf.entry.js} +1 -1
- package/lib/duet/{p-65bef373.entry.js → p-10b014f5.entry.js} +1 -1
- package/lib/duet/{p-1830770c.entry.js → p-1137a234.entry.js} +1 -1
- package/lib/duet/{p-3cfd5322.system.entry.js → p-11a22107.system.entry.js} +1 -1
- package/lib/duet/{p-933417e6.system.entry.js → p-125fff3c.system.entry.js} +1 -1
- package/lib/duet/{p-50180a44.system.entry.js → p-15c364ef.system.entry.js} +1 -1
- package/lib/duet/p-180b9ef7.entry.js +4 -0
- package/lib/duet/{p-09f48cb9.entry.js → p-1e2689a2.entry.js} +1 -1
- package/lib/duet/p-231e217b.entry.js +4 -0
- package/lib/duet/{p-fda4e4a4.system.entry.js → p-2362c81c.system.entry.js} +1 -1
- package/lib/duet/{p-05bfc8ff.system.entry.js → p-236348a6.system.entry.js} +1 -1
- package/lib/duet/{p-77cbe175.entry.js → p-26082482.entry.js} +1 -1
- package/lib/duet/{p-6910113f.entry.js → p-27831ad1.entry.js} +1 -1
- package/lib/duet/p-27cbcb00.system.entry.js +4 -0
- package/lib/duet/{p-9c464273.entry.js → p-28cbcde9.entry.js} +1 -1
- package/lib/duet/{p-f23c11c2.system.entry.js → p-2b90e0bf.system.entry.js} +1 -1
- package/lib/duet/{p-31562410.entry.js → p-2f8baf13.entry.js} +1 -1
- package/lib/duet/{p-34293dad.entry.js → p-2f8ff010.entry.js} +1 -1
- package/lib/duet/{p-305f20a0.system.entry.js → p-31f51b63.system.entry.js} +1 -1
- package/lib/duet/{p-8d288b4f.entry.js → p-3351f110.entry.js} +1 -1
- package/lib/duet/p-33620d03.js +4 -0
- package/lib/duet/p-3493bd62.entry.js +4 -0
- package/lib/duet/{p-59dde679.system.entry.js → p-361a40a6.system.entry.js} +1 -1
- package/lib/duet/{p-bea6e5e0.entry.js → p-399ae33f.entry.js} +1 -1
- package/lib/duet/{p-9bbda8a9.system.entry.js → p-3a48878a.system.entry.js} +1 -1
- package/lib/duet/{p-25aa9da5.entry.js → p-3addfa0b.entry.js} +1 -1
- package/lib/duet/{p-34e93067.system.entry.js → p-3bd38a60.system.entry.js} +1 -1
- package/lib/duet/{p-9b5f71df.entry.js → p-3bdaca53.entry.js} +1 -1
- package/lib/duet/{p-95dbb7e9.system.entry.js → p-3bf13db2.system.entry.js} +1 -1
- package/lib/duet/{p-daf609a8.entry.js → p-3ddc61bc.entry.js} +1 -1
- package/lib/duet/p-3e3f76cc.entry.js +4 -0
- package/lib/duet/{p-11090514.entry.js → p-407bc2e8.entry.js} +1 -1
- package/lib/duet/{p-58491286.entry.js → p-4525bb7b.entry.js} +1 -1
- package/lib/duet/p-45d92a24.system.js +4 -0
- package/lib/duet/{p-f9625065.system.entry.js → p-46ae0197.system.entry.js} +1 -1
- package/lib/duet/{p-15e3eca0.system.entry.js → p-4908aa39.system.entry.js} +1 -1
- package/lib/duet/p-491006e1.system.js +4 -0
- package/lib/duet/{p-617c03dc.system.entry.js → p-494e7691.system.entry.js} +1 -1
- package/lib/duet/{p-212651b5.system.entry.js → p-49e39bc1.system.entry.js} +1 -1
- package/lib/duet/p-4b3bef47.entry.js +4 -0
- package/lib/duet/{p-9180e7f5.system.entry.js → p-4b57b898.system.entry.js} +1 -1
- package/lib/duet/{p-4e6ad0aa.entry.js → p-4d272de8.entry.js} +1 -1
- package/lib/duet/{p-47ec0bce.system.entry.js → p-4ee4938c.system.entry.js} +1 -1
- package/lib/duet/{p-5b4e316c.system.entry.js → p-4f99c879.system.entry.js} +1 -1
- package/lib/duet/{p-cc70ab4a.entry.js → p-5003f2f7.entry.js} +1 -1
- package/lib/duet/p-501d76ac.system.entry.js +4 -0
- package/lib/duet/{p-be7a7b77.entry.js → p-51ea8a1e.entry.js} +1 -1
- package/lib/duet/{p-130d0e42.entry.js → p-56e8e51e.entry.js} +1 -1
- package/lib/duet/{p-e2c354ef.system.entry.js → p-5700d7df.system.entry.js} +1 -1
- package/lib/duet/{p-3dc8596c.system.entry.js → p-5726b0c6.system.entry.js} +1 -1
- package/lib/duet/{p-c405af98.system.entry.js → p-57c81cdf.system.entry.js} +1 -1
- package/lib/duet/{p-57708d82.entry.js → p-58d191e0.entry.js} +1 -1
- package/lib/duet/{p-86991900.system.entry.js → p-5bb44d21.system.entry.js} +1 -1
- package/lib/duet/{p-c37c86ef.entry.js → p-5be89661.entry.js} +1 -1
- package/lib/duet/{p-a05fa71c.entry.js → p-5c682b2c.entry.js} +1 -1
- package/lib/duet/{p-732d4693.system.entry.js → p-5d06caee.system.entry.js} +1 -1
- package/lib/duet/{p-88501e6a.entry.js → p-5d1f9c44.entry.js} +1 -1
- package/lib/duet/{p-6d9e809f.system.entry.js → p-61c551d2.system.entry.js} +1 -1
- package/lib/duet/{p-f0173106.system.entry.js → p-63330f08.system.entry.js} +1 -1
- package/lib/duet/{p-0c72528c.system.entry.js → p-63566970.system.entry.js} +1 -1
- package/lib/duet/p-63c149ab.js +4 -0
- package/lib/duet/{p-bb64f25d.system.entry.js → p-66ab3c0e.system.entry.js} +2 -2
- package/lib/duet/{p-5e965627.system.entry.js → p-6c1482e6.system.entry.js} +1 -1
- package/lib/duet/{p-fe3dbb59.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-3db4b9e1.entry.js → p-720ffaf8.entry.js} +1 -1
- package/lib/duet/{p-a727e03a.entry.js → p-74bee1d0.entry.js} +1 -1
- package/lib/duet/p-7709b117.entry.js +4 -0
- package/lib/duet/{p-5e2c8e38.entry.js → p-7a3c5568.entry.js} +1 -1
- package/lib/duet/{p-3117f16c.system.entry.js → p-7d1b0468.system.entry.js} +1 -1
- package/lib/duet/{p-66cc34da.entry.js → p-7d5e5659.entry.js} +1 -1
- package/lib/duet/{p-312656b2.entry.js → p-7e43823e.entry.js} +1 -1
- package/lib/duet/p-8894b5f8.system.entry.js +4 -0
- package/lib/duet/p-892b0784.system.js +5 -0
- package/lib/duet/p-8ace7a8f.entry.js +4 -0
- package/lib/duet/{p-d2cbaed2.entry.js → p-8adadd0e.entry.js} +1 -1
- package/lib/duet/p-8adb9463.js +4 -0
- package/lib/duet/{p-b959ac63.system.entry.js → p-8aee7f16.system.entry.js} +1 -1
- package/lib/duet/{p-fe5705fe.system.entry.js → p-8b01d5ae.system.entry.js} +1 -1
- package/lib/duet/p-8be782cb.system.entry.js +4 -0
- package/lib/duet/{p-f2b11d36.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-00fc5376.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-8548fc3a.system.entry.js → p-9116810a.system.entry.js} +1 -1
- package/lib/duet/{p-b66706de.entry.js → p-91e92ff0.entry.js} +1 -1
- package/lib/duet/p-92a26eb7.system.entry.js +4 -0
- package/lib/duet/{p-36fafe5f.entry.js → p-939bceb1.entry.js} +1 -1
- package/lib/duet/{p-52fdd651.system.entry.js → p-968c8724.system.entry.js} +1 -1
- package/lib/duet/p-9837720e.system.entry.js +4 -0
- package/lib/duet/{p-22a436ef.entry.js → p-99a6c65d.entry.js} +1 -1
- package/lib/duet/{p-9d3deabb.system.entry.js → p-9a9f4f83.system.entry.js} +1 -1
- package/lib/duet/{p-66ce877b.entry.js → p-9ad54264.entry.js} +1 -1
- package/lib/duet/{p-42242eb4.entry.js → p-9bad6410.entry.js} +1 -1
- package/lib/duet/{p-df03f394.entry.js → p-9ef41dff.entry.js} +1 -1
- package/lib/duet/{p-97162b31.system.entry.js → p-a04538da.system.entry.js} +1 -1
- package/lib/duet/{p-f75b8801.system.entry.js → p-a4dc39b7.system.entry.js} +1 -1
- package/lib/duet/{p-e3d40270.entry.js → p-a61f629f.entry.js} +1 -1
- package/lib/duet/p-a659351d.system.js +4 -0
- package/lib/duet/{p-c1ec3ad4.entry.js → p-a6a78989.entry.js} +1 -1
- package/lib/duet/{p-75f7a572.js → p-a76ceaf6.js} +1 -1
- package/lib/duet/{p-293d6a2b.entry.js → p-acfd55b1.entry.js} +1 -1
- package/lib/duet/{p-896fff8f.entry.js → p-afd647b4.entry.js} +1 -1
- package/lib/duet/{p-daa1595d.entry.js → p-b150413c.entry.js} +1 -1
- package/lib/duet/{p-4ca5d008.system.entry.js → p-b4548652.system.entry.js} +1 -1
- package/lib/duet/{p-419b1bec.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-ced4679a.entry.js → p-b70632f4.entry.js} +1 -1
- package/lib/duet/{p-930c8f3c.system.entry.js → p-b8f45b9b.system.entry.js} +1 -1
- package/lib/duet/{p-5847fbcf.system.entry.js → p-ba8d654e.system.entry.js} +1 -1
- package/lib/duet/{p-6fcc9de8.entry.js → p-c047dce3.entry.js} +1 -1
- package/lib/duet/{p-fde10739.system.entry.js → p-c06dd7ff.system.entry.js} +1 -1
- package/lib/duet/{p-45043c9d.system.entry.js → p-c1aa415d.system.entry.js} +1 -1
- package/lib/duet/p-c6265d54.system.entry.js +4 -0
- package/lib/duet/{p-615a393c.system.entry.js → p-c7f078b4.system.entry.js} +1 -1
- package/lib/duet/{p-7f9909ed.entry.js → p-ca587193.entry.js} +1 -1
- package/lib/duet/{p-9fb4f41a.system.entry.js → p-cc2c3bda.system.entry.js} +1 -1
- package/lib/duet/{p-5c37dda9.system.entry.js → p-ccbd26f8.system.entry.js} +1 -1
- package/lib/duet/{p-a6d18e87.system.entry.js → p-cd494ec0.system.entry.js} +1 -1
- package/lib/duet/{p-655275ec.entry.js → p-d0517764.entry.js} +1 -1
- package/lib/duet/{p-c905c010.entry.js → p-d1ada824.entry.js} +1 -1
- package/lib/duet/{p-d1ee4298.system.entry.js → p-d23f5574.system.entry.js} +1 -1
- package/lib/duet/{p-1e161672.entry.js → p-d38f4401.entry.js} +1 -1
- package/lib/duet/{p-d649d264.system.entry.js → p-d5a72abd.system.entry.js} +1 -1
- package/lib/duet/{p-41c64229.system.entry.js → p-d976e355.system.entry.js} +1 -1
- package/lib/duet/p-dafb7efd.js +5 -0
- package/lib/duet/{p-1eada326.system.entry.js → p-dc00285e.system.entry.js} +1 -1
- package/lib/duet/{p-d6e7f2d1.entry.js → p-ddec1906.entry.js} +1 -1
- package/lib/duet/{p-27b9e751.system.entry.js → p-dfecd542.system.entry.js} +1 -1
- package/lib/duet/{p-c65b31df.entry.js → p-e1a2ad9b.entry.js} +1 -1
- package/lib/duet/{p-222548cd.entry.js → p-e26224c8.entry.js} +1 -1
- package/lib/duet/{p-17f95bce.entry.js → p-e2674cbd.entry.js} +1 -1
- package/lib/duet/{p-889fc0c6.entry.js → p-e464c127.entry.js} +1 -1
- package/lib/duet/{p-f31b839f.system.entry.js → p-e62bcf02.system.entry.js} +1 -1
- package/lib/duet/{p-78eb3378.system.entry.js → p-e73904ab.system.entry.js} +1 -1
- package/lib/duet/{p-a7d43918.entry.js → p-e775f206.entry.js} +1 -1
- package/lib/duet/{p-08945ef7.entry.js → p-e8496052.entry.js} +1 -1
- package/lib/duet/{p-e591257f.entry.js → p-e8e50fdb.entry.js} +1 -1
- package/lib/duet/{p-653fd5d0.system.entry.js → p-ecfdc7d9.system.entry.js} +1 -1
- package/lib/duet/p-edddef22.entry.js +4 -0
- package/lib/duet/{p-a7f9f585.system.entry.js → p-ee2dc527.system.entry.js} +1 -1
- package/lib/duet/{p-4bae7f7e.entry.js → p-ee3d6a73.entry.js} +1 -1
- package/lib/duet/{p-26f8a5e3.entry.js → p-ef194759.entry.js} +1 -1
- package/lib/duet/{p-2ba628cc.system.entry.js → p-f06b4b03.system.entry.js} +1 -1
- package/lib/duet/{p-ab07e9c2.entry.js → p-f29123b4.entry.js} +1 -1
- package/lib/duet/{p-f22404fe.system.js → p-f36c856d.system.js} +1 -1
- package/lib/duet/{p-81ef610a.system.entry.js → p-f36ee41c.system.entry.js} +1 -1
- package/lib/duet/p-fa56fe59.entry.js +4 -0
- package/lib/duet/{p-c2a407e8.system.entry.js → p-fa7cdc28.system.entry.js} +1 -1
- package/lib/duet/{p-69abe752.system.entry.js → p-fc3275ba.system.entry.js} +1 -1
- package/lib/duet/p-fd4785ab.js +4 -0
- package/lib/duet/{p-d00f7632.system.entry.js → p-fd54a219.system.entry.js} +1 -1
- package/lib/duet/p-fe4cd626.entry.js +4 -0
- 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 +4 -4
- 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 +75 -22
- 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 +2 -2
- 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 +3 -2
- package/lib/esm/duet-modal.entry.js +6 -2
- package/lib/esm/duet-multiselect.entry.js +23 -4
- 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 -30
- 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 +87 -0
- package/lib/esm/duet-tooltip.entry.js +33 -48
- 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/{dist-custom-elements/p-df10a767.js → esm/floating-ui.dom.esm-6025c98f.js} +154 -159
- package/lib/esm/{focus-utils-08d27c67.js → focus-utils-8a8cfffd.js} +1 -1
- package/lib/esm/{index-729ef6e7.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 +1 -1
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-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 +2 -2
- 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 +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip-button_2.entry.js +4 -0
- package/lib/esm-es5/duet-tooltip.entry.js +2 -2
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-upload-item.entry.js +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-multiselect/duet-multiselect.d.ts +9 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +29 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +4 -7
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +3 -2
- package/lib/types/components/duet-upload/duet-upload.d.ts +21 -16
- package/lib/types/components/duet-upload/upload-validators.d.ts +1 -0
- package/lib/types/components.d.ts +71 -7
- package/lib/types/utils/teleport.d.ts +15 -2
- package/package.json +5 -5
- package/lib/cjs/duet-tooltip-popup.cjs.entry.js +0 -56
- package/lib/dist-custom-elements/p-95109364.js +0 -136
- package/lib/dist-custom-elements/p-d6238b66.js +0 -88
- package/lib/dist-custom-elements/p-f3b91052.js +0 -273
- package/lib/duet/p-00215a97.entry.js +0 -4
- package/lib/duet/p-106940dd.js +0 -5
- package/lib/duet/p-1700211f.system.js +0 -5
- package/lib/duet/p-1760b8d4.system.entry.js +0 -4
- package/lib/duet/p-1ea89299.entry.js +0 -4
- package/lib/duet/p-2a64f169.system.entry.js +0 -4
- package/lib/duet/p-2d68f259.entry.js +0 -4
- package/lib/duet/p-340e36a8.system.js +0 -4
- package/lib/duet/p-3a417fd2.entry.js +0 -4
- package/lib/duet/p-61fb382d.entry.js +0 -4
- package/lib/duet/p-6494c48e.entry.js +0 -4
- package/lib/duet/p-6c24d8b4.entry.js +0 -4
- package/lib/duet/p-7084c7fa.system.entry.js +0 -4
- package/lib/duet/p-7649b95e.js +0 -4
- package/lib/duet/p-7e64358b.entry.js +0 -4
- package/lib/duet/p-8040b3f3.system.entry.js +0 -4
- package/lib/duet/p-82b5380b.system.js +0 -4
- package/lib/duet/p-86dc2ebb.entry.js +0 -4
- package/lib/duet/p-90ad5759.system.entry.js +0 -4
- package/lib/duet/p-a1057e50.js +0 -4
- package/lib/duet/p-a8af0ea4.entry.js +0 -4
- package/lib/duet/p-bd751ea4.system.entry.js +0 -4
- package/lib/duet/p-d3910688.entry.js +0 -4
- package/lib/duet/p-d759b718.system.entry.js +0 -4
- package/lib/duet/p-d7fa5f72.system.entry.js +0 -4
- package/lib/duet/p-df10a767.js +0 -4
- package/lib/duet/p-e0cfe3d5.entry.js +0 -4
- package/lib/duet/p-e73a1930.entry.js +0 -4
- package/lib/duet/p-ebbb398a.system.entry.js +0 -4
- package/lib/duet/p-f3c3932d.system.entry.js +0 -4
- package/lib/esm/duet-tooltip-popup.entry.js +0 -52
- package/lib/esm-es5/duet-tooltip-popup.entry.js +0 -4
- package/lib/esm-es5/floating-ui.dom.esm-37dc174a.js +0 -4
- package/lib/esm-es5/focus-utils-08d27c67.js +0 -4
- package/lib/esm-es5/index-729ef6e7.js +0 -5
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
-moz-appearance: none;
|
|
21
21
|
-webkit-appearance: none;
|
|
22
22
|
appearance: none;
|
|
23
|
-
position: relative;
|
|
24
23
|
z-index: 200;
|
|
25
24
|
display: inline-flex;
|
|
26
25
|
width: auto;
|
|
@@ -29,66 +28,10 @@
|
|
|
29
28
|
-webkit-tap-highlight-color: transparent;
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
z-index: 100;
|
|
34
|
-
display: inline-block;
|
|
35
|
-
align-items: center;
|
|
36
|
-
justify-content: center;
|
|
37
|
-
min-width: 48px;
|
|
38
|
-
height: 48px;
|
|
39
|
-
padding: 0 !important;
|
|
40
|
-
margin-right: -12px;
|
|
41
|
-
line-height: normal !important;
|
|
42
|
-
color: rgb(0, 119, 179);
|
|
43
|
-
white-space: nowrap;
|
|
44
|
-
cursor: pointer;
|
|
45
|
-
background: transparent !important;
|
|
46
|
-
border-radius: 4px;
|
|
47
|
-
}
|
|
48
|
-
.duet-tooltip-button.duet-theme-turva {
|
|
49
|
-
color: rgb(198, 12, 48);
|
|
50
|
-
}
|
|
51
|
-
.duet-tooltip-button:hover {
|
|
52
|
-
color: rgb(0, 77, 128);
|
|
53
|
-
}
|
|
54
|
-
.duet-tooltip-button:hover.duet-theme-turva {
|
|
55
|
-
color: rgb(148, 9, 37);
|
|
56
|
-
}
|
|
57
|
-
.duet-tooltip-button:focus {
|
|
58
|
-
background: transparent !important;
|
|
59
|
-
outline: 0;
|
|
60
|
-
}
|
|
61
|
-
:host(.user-is-tabbing) .duet-tooltip-button:focus {
|
|
62
|
-
background: transparent !important;
|
|
63
|
-
box-shadow: 0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179) !important;
|
|
64
|
-
}
|
|
65
|
-
:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus {
|
|
66
|
-
box-shadow: 0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58) !important;
|
|
67
|
-
}
|
|
68
|
-
.duet-tooltip-button svg {
|
|
69
|
-
width: 20px;
|
|
70
|
-
height: 20px;
|
|
71
|
-
pointer-events: none;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.duet-tooltip-button-has-label {
|
|
75
|
-
margin-right: 0;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.duet-tooltip-label {
|
|
31
|
+
duet-tooltip-button {
|
|
79
32
|
position: relative;
|
|
80
|
-
z-index: 100;
|
|
81
|
-
display: inline-block;
|
|
82
|
-
max-width: calc(100% - 30px);
|
|
83
|
-
margin-left: 12px !important;
|
|
84
|
-
font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
85
|
-
font-size: 1rem;
|
|
86
|
-
font-weight: 600;
|
|
87
|
-
line-height: 1.25;
|
|
88
|
-
text-align: left;
|
|
89
|
-
white-space: normal;
|
|
90
|
-
vertical-align: top;
|
|
91
33
|
}
|
|
92
|
-
|
|
93
|
-
|
|
34
|
+
|
|
35
|
+
duet-tooltip-popup {
|
|
36
|
+
position: absolute;
|
|
94
37
|
}
|
|
@@ -6,7 +6,9 @@ import { arrow, computePosition, flip, shift } from "@floating-ui/dom";
|
|
|
6
6
|
import { Build, h, Host } from "@stencil/core";
|
|
7
7
|
import { inheritGlobalTheme } from "../../common";
|
|
8
8
|
import { createID } from "../../utils/create-id";
|
|
9
|
+
import { isEscapeKey } from "../../utils/keyboard-utils";
|
|
9
10
|
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
11
|
+
import { Teleport } from "../../utils/teleport";
|
|
10
12
|
export class DuetTooltip {
|
|
11
13
|
constructor() {
|
|
12
14
|
/**
|
|
@@ -21,42 +23,23 @@ export class DuetTooltip {
|
|
|
21
23
|
* Local methods
|
|
22
24
|
*/
|
|
23
25
|
this.openTooltip = () => {
|
|
24
|
-
this.focusTarget = "tooltip";
|
|
25
26
|
this.active = true;
|
|
27
|
+
this.focusTarget = "tooltip";
|
|
28
|
+
this.teleport.go();
|
|
26
29
|
};
|
|
27
30
|
this.closeTooltip = (moveFocusToButton = false) => {
|
|
31
|
+
this.active = false;
|
|
28
32
|
if (moveFocusToButton) {
|
|
29
33
|
this.focusTarget = "trigger";
|
|
30
34
|
}
|
|
31
|
-
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
this.teleport.resume();
|
|
37
|
+
this.updatePlacement();
|
|
38
|
+
}, 200);
|
|
32
39
|
};
|
|
33
40
|
this.toggleOpen = () => {
|
|
34
41
|
this.active ? this.closeTooltip() : this.openTooltip();
|
|
35
42
|
};
|
|
36
|
-
this.handleFocusOut = (e) => {
|
|
37
|
-
if (!this.active) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const relatedTarget = e.relatedTarget;
|
|
41
|
-
if (
|
|
42
|
-
// if we don't know where focus went
|
|
43
|
-
relatedTarget == null ||
|
|
44
|
-
// if focus is within the tooltip itself
|
|
45
|
-
this.element.shadowRoot.contains(relatedTarget) ||
|
|
46
|
-
// if focus is within the tooltip light DOM
|
|
47
|
-
this.element.contains(relatedTarget)) {
|
|
48
|
-
// then we can skip closing
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this.closeTooltip();
|
|
52
|
-
};
|
|
53
|
-
this.handleKeyDown = (e) => {
|
|
54
|
-
const isEscapeKey = e.keyCode === 27;
|
|
55
|
-
const isTabbingOut = e.target === this.popupElement && e.shiftKey && e.keyCode === 9;
|
|
56
|
-
if (isEscapeKey || isTabbingOut) {
|
|
57
|
-
this.closeTooltip(true);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
43
|
this.updatePlacement = async () => {
|
|
61
44
|
var _a, _b;
|
|
62
45
|
let preferRight = true;
|
|
@@ -77,7 +60,6 @@ export class DuetTooltip {
|
|
|
77
60
|
placement,
|
|
78
61
|
middleware: [flip(), shift({ padding: 5 }), arrow({ element: this.arrowEl })],
|
|
79
62
|
});
|
|
80
|
-
// magic number adjustment for the tooltip position to cater for the arrow
|
|
81
63
|
this.tooltipY = position.y;
|
|
82
64
|
this.tooltipX = position.x;
|
|
83
65
|
this.placement = position.placement;
|
|
@@ -128,24 +110,25 @@ export class DuetTooltip {
|
|
|
128
110
|
async componentDidLoad() {
|
|
129
111
|
this.arrowEl = await this.popupElement.getArrowElement();
|
|
130
112
|
this.contentEl = await this.popupElement.getContentElement();
|
|
113
|
+
this.teleport = new Teleport(this.popupElement);
|
|
131
114
|
if (!Build.isServer) {
|
|
132
115
|
this.updatePlacement();
|
|
133
116
|
}
|
|
117
|
+
if (this.active) {
|
|
118
|
+
this.openTooltip();
|
|
119
|
+
}
|
|
120
|
+
this.intersectionObserver = new IntersectionObserver(this.updatePlacement, { root: document.body });
|
|
121
|
+
this.intersectionObserver.observe(this.element);
|
|
134
122
|
}
|
|
135
123
|
componentDidUpdate() {
|
|
136
124
|
switch (this.focusTarget) {
|
|
137
125
|
case "tooltip":
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (this.element.classList.contains("user-is-tabbing")) {
|
|
141
|
-
this.popupElement.classList.add("user-is-tabbing");
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
this.popupElement.classList.remove("user-is-tabbing");
|
|
145
|
-
}
|
|
126
|
+
// delay focus so button is correctly announced as "expanded"
|
|
127
|
+
setTimeout(() => this.contentEl.focus({ preventScroll: true }));
|
|
146
128
|
break;
|
|
147
129
|
case "trigger":
|
|
148
|
-
|
|
130
|
+
// delay focus so button is correctly announced as "collapsed"
|
|
131
|
+
setTimeout(() => this.buttonEl.setFocus({ preventScroll: true }));
|
|
149
132
|
break;
|
|
150
133
|
}
|
|
151
134
|
this.focusTarget = null;
|
|
@@ -178,13 +161,20 @@ export class DuetTooltip {
|
|
|
178
161
|
return;
|
|
179
162
|
}
|
|
180
163
|
const path = e.composedPath();
|
|
181
|
-
const isClickOutside = path.every(el => el !== this.element);
|
|
164
|
+
const isClickOutside = path.every(el => el !== this.element && el !== this.contentEl);
|
|
182
165
|
if (isClickOutside) {
|
|
183
166
|
this.closeTooltip();
|
|
184
167
|
}
|
|
185
168
|
}
|
|
169
|
+
handleKeyDown(e) {
|
|
170
|
+
if (this.active && isEscapeKey(e)) {
|
|
171
|
+
this.closeTooltip(true);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
186
174
|
handlePopupClose() {
|
|
187
|
-
this.
|
|
175
|
+
if (this.active) {
|
|
176
|
+
this.closeTooltip(true);
|
|
177
|
+
}
|
|
188
178
|
}
|
|
189
179
|
async handleActiveChange(newActiveValue) {
|
|
190
180
|
if (newActiveValue) {
|
|
@@ -209,21 +199,16 @@ export class DuetTooltip {
|
|
|
209
199
|
top: `${this.tooltipY}px`,
|
|
210
200
|
left: `${this.tooltipX}px`,
|
|
211
201
|
display: "block",
|
|
202
|
+
"pointer-events": this.active ? "auto" : "none",
|
|
212
203
|
};
|
|
213
204
|
const arrowStyles = {
|
|
214
205
|
top: this.arrowY ? `${this.arrowY}px` : undefined,
|
|
215
206
|
left: this.arrowX ? `${this.arrowX}px` : undefined,
|
|
216
207
|
};
|
|
217
|
-
return (h(Host, { style: tooltipStyles }, h("button", { ref: element => (this.buttonEl = element),
|
|
218
|
-
"duet-tooltip-button": true,
|
|
219
|
-
"duet-tooltip-button-has-label": !!this.label,
|
|
220
|
-
"duet-theme-turva": this.theme === "turva",
|
|
221
|
-
} }, h("svg", { "aria-hidden": "true", role: "img", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z" }), h("circle", { cx: "11.625", cy: "7.125", r: "1.125" }), h("path", { d: "m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z" })), this.label ? (h("span", { class: "duet-tooltip-label" }, this.label)) : (h("duet-visually-hidden", null, this.accessibleInputLabel
|
|
222
|
-
? `${this.accessibleInputLabel}, ${this.accessibleLabel}`
|
|
223
|
-
: this.accessibleLabel))), h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel, onKeyDown: this.handleKeyDown, onFocusout: this.handleFocusOut }, h("slot", null))));
|
|
208
|
+
return (h(Host, { style: tooltipStyles }, h("duet-tooltip-button", { ref: element => (this.buttonEl = element), active: this.active, tooltipId: this.tooltipId, label: this.label, accessibleLabel: this.accessibleInputLabel ? `${this.accessibleInputLabel}, ${this.accessibleLabel}` : this.accessibleLabel, onClick: this.toggleOpen }), h("duet-tooltip-popup", { ref: element => (this.popupElement = element), active: this.active, tooltipId: this.tooltipId, arrowStyles: arrowStyles, style: positionStyles, placement: this.placement, accessibleCloseLabel: this.accessibleCloseLabel }, h("slot", null))));
|
|
224
209
|
}
|
|
225
210
|
static get is() { return "duet-tooltip"; }
|
|
226
|
-
static get encapsulation() { return "
|
|
211
|
+
static get encapsulation() { return "scoped"; }
|
|
227
212
|
static get originalStyleUrls() {
|
|
228
213
|
return {
|
|
229
214
|
"$": ["duet-tooltip.scss"]
|
|
@@ -429,7 +414,7 @@ export class DuetTooltip {
|
|
|
429
414
|
"references": {
|
|
430
415
|
"DuetTooltipBreakpoint": {
|
|
431
416
|
"location": "local",
|
|
432
|
-
"path": "/Users/
|
|
417
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-tooltip/duet-tooltip.tsx"
|
|
433
418
|
}
|
|
434
419
|
}
|
|
435
420
|
},
|
|
@@ -560,10 +545,16 @@ export class DuetTooltip {
|
|
|
560
545
|
"target": "document",
|
|
561
546
|
"capture": false,
|
|
562
547
|
"passive": false
|
|
548
|
+
}, {
|
|
549
|
+
"name": "keydown",
|
|
550
|
+
"method": "handleKeyDown",
|
|
551
|
+
"target": "document",
|
|
552
|
+
"capture": false,
|
|
553
|
+
"passive": false
|
|
563
554
|
}, {
|
|
564
555
|
"name": "tooltipPopupClosed",
|
|
565
556
|
"method": "handlePopupClose",
|
|
566
|
-
"target":
|
|
557
|
+
"target": "document",
|
|
567
558
|
"capture": false,
|
|
568
559
|
"passive": false
|
|
569
560
|
}];
|
|
@@ -9,7 +9,7 @@ import { getLocaleString, sanitizeString } from "../../utils/language-utils";
|
|
|
9
9
|
import errorCodes from "./errorcodes.json";
|
|
10
10
|
import { getI18nError } from "./errorcodes.utils";
|
|
11
11
|
import { UploadItemHeader } from "./upload-item-header";
|
|
12
|
-
import { filesToUploadCountAboveMax, validateFile, validateTotalAmountIsAboveMax, validateTotalSizeIsAboveMax, } from "./upload-validators";
|
|
12
|
+
import { filesToUploadCountAboveMax, filesToUploadTotalSizeIsAboveMax, validateFile, validateTotalAmountIsAboveMax, validateTotalSizeIsAboveMax, } from "./upload-validators";
|
|
13
13
|
import { makeXhrRequest, } from "./xhr.helpers";
|
|
14
14
|
/**
|
|
15
15
|
* @slot header - named slot - to place content after description / caption (if caption is on top)
|
|
@@ -33,6 +33,7 @@ export class DuetUpload {
|
|
|
33
33
|
this.fileMaxReached = false;
|
|
34
34
|
this.bytesMaxReached = false;
|
|
35
35
|
this.filesToUploadExceedsLimit = false;
|
|
36
|
+
this.filesToUploadTotalSizeIsAboveMax = false;
|
|
36
37
|
this.internalStatusMessageLabel = undefined;
|
|
37
38
|
this.itemRefs = new Map();
|
|
38
39
|
/**
|
|
@@ -523,27 +524,27 @@ export class DuetUpload {
|
|
|
523
524
|
this.caption = undefined;
|
|
524
525
|
this.statusLabelDefaults = {
|
|
525
526
|
fi: {
|
|
526
|
-
inProgress: "Lähetetään {filesUploaded}
|
|
527
|
-
inProgressWithErrors: "Lähetetään {filesInProgress}
|
|
528
|
-
done: "
|
|
529
|
-
doneWithErrors: "
|
|
530
|
-
files: "
|
|
527
|
+
inProgress: "Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",
|
|
528
|
+
inProgressWithErrors: "Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",
|
|
529
|
+
done: "Lähetys valmis, {filesTotal} lisätty onnistuneesti",
|
|
530
|
+
doneWithErrors: "Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",
|
|
531
|
+
files: "tiedostoa",
|
|
531
532
|
file: "tiedosto",
|
|
532
533
|
},
|
|
533
534
|
sv: {
|
|
534
|
-
inProgress: "
|
|
535
|
+
inProgress: "Laddar upp {filesUploaded} av {filesTotal}",
|
|
535
536
|
inProgressWithErrors: "Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",
|
|
536
|
-
done: "
|
|
537
|
-
doneWithErrors: "
|
|
537
|
+
done: "Uppladdningen slutförd, {filesTotal} har lagts till",
|
|
538
|
+
doneWithErrors: "Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",
|
|
538
539
|
files: "filer",
|
|
539
540
|
file: "fil",
|
|
540
541
|
},
|
|
541
542
|
en: {
|
|
542
|
-
inProgress: "
|
|
543
|
+
inProgress: "Uploading {filesUploaded} of {filesTotal}",
|
|
543
544
|
inProgressWithErrors: "Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",
|
|
544
|
-
done: "
|
|
545
|
-
doneWithErrors: "
|
|
546
|
-
files: "
|
|
545
|
+
done: "Upload completed, {filesTotal} added successfully",
|
|
546
|
+
doneWithErrors: "Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",
|
|
547
|
+
files: "files",
|
|
547
548
|
file: "file",
|
|
548
549
|
},
|
|
549
550
|
};
|
|
@@ -589,7 +590,7 @@ export class DuetUpload {
|
|
|
589
590
|
this.maxBytesTotal = undefined;
|
|
590
591
|
this.maxFiles = 99;
|
|
591
592
|
this.allowedExtensions = "all";
|
|
592
|
-
this.allowedMimetypes = "
|
|
593
|
+
this.allowedMimetypes = "";
|
|
593
594
|
this.multiple = true;
|
|
594
595
|
this.limitSelection = false;
|
|
595
596
|
this.value = undefined;
|
|
@@ -601,6 +602,7 @@ export class DuetUpload {
|
|
|
601
602
|
sv: "Lägg till en bilaga",
|
|
602
603
|
en: "Uploaded file",
|
|
603
604
|
};
|
|
605
|
+
this.headerHeadingLevel = "h3";
|
|
604
606
|
this.hideHeader = false;
|
|
605
607
|
this.emitEvent = false;
|
|
606
608
|
this.groups = [
|
|
@@ -737,7 +739,10 @@ export class DuetUpload {
|
|
|
737
739
|
this.externalUploadButton.ariaLabel = caption;
|
|
738
740
|
}
|
|
739
741
|
// @ts-ignore
|
|
740
|
-
return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, h("slot", { name: "header" }), !this.files.size && (h("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { name: "fileheader" }), !!this.files.size && (h("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 && h("slot", { name: "filefooter" }), h("slot", { name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { margin: "none", size: "small" }, h("div", { class: "upload-bottom-caption" }, caption))), h("slot", { name: "afterfooter" }), !this.hideButton && (h(Fragment, null, h("duet-spacer", { size: "large" }), h("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 ||
|
|
742
|
+
return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("duet-fieldset", { "label-heading-level": this.headerHeadingLevel, "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, h("slot", { name: "header" }), !this.files.size && (h("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, h("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && h("slot", { name: "fileheader" }), !!this.files.size && (h("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 && h("slot", { name: "filefooter" }), h("slot", { name: "uploadfooter" }), this.captionOnBottom && (h("duet-caption", { margin: "none", size: "small" }, h("div", { class: "upload-bottom-caption" }, caption))), h("slot", { name: "afterfooter" }), !this.hideButton && (h(Fragment, null, h("duet-spacer", { size: "large" }), h("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 ||
|
|
743
|
+
this.bytesMaxReached ||
|
|
744
|
+
this.filesToUploadExceedsLimit ||
|
|
745
|
+
this.filesToUploadTotalSizeIsAboveMax) && (h(Fragment, null, h("duet-spacer", { size: "medium" }), h("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)))), h("duet-visually-hidden", { "aria-hidden": "true" }, h("input", { ref: input => {
|
|
741
746
|
this.nativeInput = input;
|
|
742
747
|
}, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
|
|
743
748
|
"duet-upload": true,
|
|
@@ -814,6 +819,12 @@ export class DuetUpload {
|
|
|
814
819
|
this.kick();
|
|
815
820
|
return;
|
|
816
821
|
}
|
|
822
|
+
this.filesToUploadTotalSizeIsAboveMax = false;
|
|
823
|
+
if (filesToUploadTotalSizeIsAboveMax(this.files, selectedFiles, this.maxBytesTotal)) {
|
|
824
|
+
this.filesToUploadTotalSizeIsAboveMax = true;
|
|
825
|
+
this.kick();
|
|
826
|
+
return;
|
|
827
|
+
}
|
|
817
828
|
if (selectedFiles) {
|
|
818
829
|
for (const item of selectedFiles) {
|
|
819
830
|
const { valid, errorMessage, errorType, errorSystem } = validateFile(item, {
|
|
@@ -973,7 +984,7 @@ export class DuetUpload {
|
|
|
973
984
|
"references": {
|
|
974
985
|
"XHRInternalMiddleWare": {
|
|
975
986
|
"location": "local",
|
|
976
|
-
"path": "/Users/
|
|
987
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
977
988
|
}
|
|
978
989
|
}
|
|
979
990
|
},
|
|
@@ -1112,13 +1123,13 @@ export class DuetUpload {
|
|
|
1112
1123
|
"docs": {
|
|
1113
1124
|
"tags": [{
|
|
1114
1125
|
"name": "default",
|
|
1115
|
-
"text": "{\nfi: {\ninProgress: \"L\u00E4hetet\u00E4\u00E4n {filesUploaded} l\u00E4hetett\u00E4v\
|
|
1126
|
+
"text": "{\nfi: {\ninProgress: \"L\u00E4hetet\u00E4\u00E4n {filesUploaded}, yhteens\u00E4 l\u00E4hetett\u00E4v\u00E4n\u00E4 {filesTotal}.\",\ninProgressWithErrors:\n\"L\u00E4hetet\u00E4\u00E4n {filesInProgress}, l\u00E4hetetty {filesUploaded}, yhteens\u00E4 l\u00E4hetett\u00E4v\u00E4n\u00E4 {filesTotal}, {filesWithErrors} ep\u00E4onnistui\",\ndone: \"L\u00E4hetys valmis, {filesTotal} lis\u00E4tty onnistuneesti\",\ndoneWithErrors: \"L\u00E4hetys valmis, {filesUploaded} lis\u00E4tty onnistuneesti, {filesWithErrors} ep\u00E4onnistui\",\nfiles: \"tiedostoa\",\nfile: \"tiedosto\",\n},\nsv: {\ninProgress: \"Laddar upp {filesUploaded} av {filesTotal}\",\ninProgressWithErrors:\n\"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades\",\ndone: \"Uppladdningen slutf\u00F6rd, {filesTotal} har lagts till\",\ndoneWithErrors: \"Uppladdningen slutf\u00F6rd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades\",\nfiles: \"filer\",\nfile: \"fil\",\n},\nen: {\ninProgress: \"Uploading {filesUploaded} of {filesTotal}\",\ninProgressWithErrors:\n\"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed\",\ndone: \"Upload completed, {filesTotal} added successfully\",\ndoneWithErrors: \"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.\",\nfiles: \"files\",\nfile: \"file\",\n},\n}"
|
|
1116
1127
|
}],
|
|
1117
1128
|
"text": "Property to change the aria upload progress text read aloud by screenreaders"
|
|
1118
1129
|
},
|
|
1119
1130
|
"attribute": "status-label-default",
|
|
1120
1131
|
"reflect": false,
|
|
1121
|
-
"defaultValue": "{\n fi: {\n inProgress: \"L\u00E4hetet\u00E4\u00E4n {filesUploaded} l\u00E4hetett\u00E4v\
|
|
1132
|
+
"defaultValue": "{\n fi: {\n inProgress: \"L\u00E4hetet\u00E4\u00E4n {filesUploaded}, yhteens\u00E4 l\u00E4hetett\u00E4v\u00E4n\u00E4 {filesTotal}.\",\n inProgressWithErrors:\n \"L\u00E4hetet\u00E4\u00E4n {filesInProgress}, l\u00E4hetetty {filesUploaded}, yhteens\u00E4 l\u00E4hetett\u00E4v\u00E4n\u00E4 {filesTotal}, {filesWithErrors} ep\u00E4onnistui\",\n done: \"L\u00E4hetys valmis, {filesTotal} lis\u00E4tty onnistuneesti\",\n doneWithErrors: \"L\u00E4hetys valmis, {filesUploaded} lis\u00E4tty onnistuneesti, {filesWithErrors} ep\u00E4onnistui\",\n files: \"tiedostoa\",\n file: \"tiedosto\",\n },\n sv: {\n inProgress: \"Laddar upp {filesUploaded} av {filesTotal}\",\n inProgressWithErrors:\n \"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades\",\n done: \"Uppladdningen slutf\u00F6rd, {filesTotal} har lagts till\",\n doneWithErrors: \"Uppladdningen slutf\u00F6rd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades\",\n files: \"filer\",\n file: \"fil\",\n },\n en: {\n inProgress: \"Uploading {filesUploaded} of {filesTotal}\",\n inProgressWithErrors:\n \"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed\",\n done: \"Upload completed, {filesTotal} added successfully\",\n doneWithErrors: \"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.\",\n files: \"files\",\n file: \"file\",\n },\n }"
|
|
1122
1133
|
},
|
|
1123
1134
|
"statusMessageLabel": {
|
|
1124
1135
|
"type": "string",
|
|
@@ -1352,7 +1363,7 @@ export class DuetUpload {
|
|
|
1352
1363
|
"references": {
|
|
1353
1364
|
"StringMap": {
|
|
1354
1365
|
"location": "local",
|
|
1355
|
-
"path": "/Users/
|
|
1366
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1356
1367
|
}
|
|
1357
1368
|
}
|
|
1358
1369
|
},
|
|
@@ -1673,7 +1684,7 @@ export class DuetUpload {
|
|
|
1673
1684
|
},
|
|
1674
1685
|
"attribute": "allowed-mimetypes",
|
|
1675
1686
|
"reflect": false,
|
|
1676
|
-
"defaultValue": "\"
|
|
1687
|
+
"defaultValue": "\"\""
|
|
1677
1688
|
},
|
|
1678
1689
|
"multiple": {
|
|
1679
1690
|
"type": "boolean",
|
|
@@ -1805,6 +1816,29 @@ export class DuetUpload {
|
|
|
1805
1816
|
},
|
|
1806
1817
|
"defaultValue": "{\n fi: \"Ladattu tiedosto\",\n sv: \"L\u00E4gg till en bilaga\",\n en: \"Uploaded file\",\n }"
|
|
1807
1818
|
},
|
|
1819
|
+
"headerHeadingLevel": {
|
|
1820
|
+
"type": "string",
|
|
1821
|
+
"mutable": false,
|
|
1822
|
+
"complexType": {
|
|
1823
|
+
"original": "DuetHeadingLevel",
|
|
1824
|
+
"resolved": "\"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
|
|
1825
|
+
"references": {
|
|
1826
|
+
"DuetHeadingLevel": {
|
|
1827
|
+
"location": "import",
|
|
1828
|
+
"path": "../../common-types"
|
|
1829
|
+
}
|
|
1830
|
+
}
|
|
1831
|
+
},
|
|
1832
|
+
"required": false,
|
|
1833
|
+
"optional": false,
|
|
1834
|
+
"docs": {
|
|
1835
|
+
"tags": [],
|
|
1836
|
+
"text": "Heading level for the label in the legend element. This is only used to give screen readers better logical structure.\nThis does not affect visual appearance."
|
|
1837
|
+
},
|
|
1838
|
+
"attribute": "header-heading-level",
|
|
1839
|
+
"reflect": false,
|
|
1840
|
+
"defaultValue": "\"h3\""
|
|
1841
|
+
},
|
|
1808
1842
|
"hideHeader": {
|
|
1809
1843
|
"type": "boolean",
|
|
1810
1844
|
"mutable": false,
|
|
@@ -1850,7 +1884,7 @@ export class DuetUpload {
|
|
|
1850
1884
|
"references": {
|
|
1851
1885
|
"DuetUploadTableGroupName": {
|
|
1852
1886
|
"location": "local",
|
|
1853
|
-
"path": "/Users/
|
|
1887
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1854
1888
|
}
|
|
1855
1889
|
}
|
|
1856
1890
|
},
|
|
@@ -1892,7 +1926,7 @@ export class DuetUpload {
|
|
|
1892
1926
|
"references": {
|
|
1893
1927
|
"DuetUploadEvent": {
|
|
1894
1928
|
"location": "local",
|
|
1895
|
-
"path": "/Users/
|
|
1929
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1896
1930
|
}
|
|
1897
1931
|
}
|
|
1898
1932
|
}
|
|
@@ -1912,7 +1946,7 @@ export class DuetUpload {
|
|
|
1912
1946
|
"references": {
|
|
1913
1947
|
"DuetUploadEvent": {
|
|
1914
1948
|
"location": "local",
|
|
1915
|
-
"path": "/Users/
|
|
1949
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1916
1950
|
}
|
|
1917
1951
|
}
|
|
1918
1952
|
}
|
|
@@ -1932,7 +1966,7 @@ export class DuetUpload {
|
|
|
1932
1966
|
"references": {
|
|
1933
1967
|
"DuetUploadEvent": {
|
|
1934
1968
|
"location": "local",
|
|
1935
|
-
"path": "/Users/
|
|
1969
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1936
1970
|
}
|
|
1937
1971
|
}
|
|
1938
1972
|
}
|
|
@@ -1952,7 +1986,7 @@ export class DuetUpload {
|
|
|
1952
1986
|
"references": {
|
|
1953
1987
|
"DuetUploadEvent": {
|
|
1954
1988
|
"location": "local",
|
|
1955
|
-
"path": "/Users/
|
|
1989
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1956
1990
|
}
|
|
1957
1991
|
}
|
|
1958
1992
|
}
|
|
@@ -1972,7 +2006,7 @@ export class DuetUpload {
|
|
|
1972
2006
|
"references": {
|
|
1973
2007
|
"DuetUploadEvent": {
|
|
1974
2008
|
"location": "local",
|
|
1975
|
-
"path": "/Users/
|
|
2009
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1976
2010
|
}
|
|
1977
2011
|
}
|
|
1978
2012
|
}
|
|
@@ -1992,7 +2026,7 @@ export class DuetUpload {
|
|
|
1992
2026
|
"references": {
|
|
1993
2027
|
"DuetUploadEvent": {
|
|
1994
2028
|
"location": "local",
|
|
1995
|
-
"path": "/Users/
|
|
2029
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
1996
2030
|
}
|
|
1997
2031
|
}
|
|
1998
2032
|
}
|
|
@@ -2012,7 +2046,7 @@ export class DuetUpload {
|
|
|
2012
2046
|
"references": {
|
|
2013
2047
|
"DuetUploadEvent": {
|
|
2014
2048
|
"location": "local",
|
|
2015
|
-
"path": "/Users/
|
|
2049
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
2016
2050
|
}
|
|
2017
2051
|
}
|
|
2018
2052
|
}
|
|
@@ -2032,7 +2066,7 @@ export class DuetUpload {
|
|
|
2032
2066
|
"references": {
|
|
2033
2067
|
"DuetUploadEvent": {
|
|
2034
2068
|
"location": "local",
|
|
2035
|
-
"path": "/Users/
|
|
2069
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
2036
2070
|
}
|
|
2037
2071
|
}
|
|
2038
2072
|
}
|
|
@@ -2052,7 +2086,7 @@ export class DuetUpload {
|
|
|
2052
2086
|
"references": {
|
|
2053
2087
|
"DuetUploadEvent": {
|
|
2054
2088
|
"location": "local",
|
|
2055
|
-
"path": "/Users/
|
|
2089
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
2056
2090
|
}
|
|
2057
2091
|
}
|
|
2058
2092
|
}
|
|
@@ -2072,7 +2106,7 @@ export class DuetUpload {
|
|
|
2072
2106
|
"references": {
|
|
2073
2107
|
"DuetUploadEvent": {
|
|
2074
2108
|
"location": "local",
|
|
2075
|
-
"path": "/Users/
|
|
2109
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
2076
2110
|
}
|
|
2077
2111
|
}
|
|
2078
2112
|
}
|
|
@@ -2092,7 +2126,7 @@ export class DuetUpload {
|
|
|
2092
2126
|
"references": {
|
|
2093
2127
|
"DuetUploadEvent": {
|
|
2094
2128
|
"location": "local",
|
|
2095
|
-
"path": "/Users/
|
|
2129
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload/duet-upload.tsx"
|
|
2096
2130
|
}
|
|
2097
2131
|
}
|
|
2098
2132
|
}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
import { getLocaleString } from "../../utils/language-utils";
|
|
6
|
+
const headerAriaLabel = {
|
|
7
|
+
fi: "Liiteluettelo",
|
|
8
|
+
sv: "Lista över bilagor",
|
|
9
|
+
en: "Attachments list",
|
|
10
|
+
};
|
|
6
11
|
export const UploadItemHeader = ({ label, categoryLabel }) => {
|
|
7
|
-
return (h("div", { class: "items-header" }, categoryLabel && (h("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none" }, getLocaleString(categoryLabel))), h("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))));
|
|
12
|
+
return (h("div", { class: "items-header", tabindex: "0", "aria-label": getLocaleString(headerAriaLabel) }, categoryLabel && (h("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold", margin: "none", "aria-hidden": "true" }, getLocaleString(categoryLabel))), h("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))));
|
|
8
13
|
};
|
|
@@ -102,3 +102,22 @@ export const filesToUploadCountAboveMax = (currentFilesCount, filesToUploadCount
|
|
|
102
102
|
}
|
|
103
103
|
return false;
|
|
104
104
|
};
|
|
105
|
+
export const filesToUploadTotalSizeIsAboveMax = (currentFiles, filesToUpload, maxTotalBytes) => {
|
|
106
|
+
let total = 0;
|
|
107
|
+
if (maxTotalBytes) {
|
|
108
|
+
currentFiles.forEach(item => {
|
|
109
|
+
if (item.valid && item.size) {
|
|
110
|
+
total += item.size;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
filesToUpload.forEach(item => {
|
|
114
|
+
if (item.size) {
|
|
115
|
+
total += item.size;
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
if (total >= maxTotalBytes) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return false;
|
|
123
|
+
};
|
|
@@ -42,7 +42,8 @@ export class DuetUploadItem {
|
|
|
42
42
|
}
|
|
43
43
|
async focusActionButton() {
|
|
44
44
|
if (this.actionButton) {
|
|
45
|
-
await this.actionButton.setFocus();
|
|
45
|
+
await this.actionButton.setFocus({ preventScroll: true });
|
|
46
|
+
this.actionButton.scrollIntoView({ behavior: "smooth", block: "center", inline: "nearest" });
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
getFileNameLine() {
|
|
@@ -62,9 +63,9 @@ export class DuetUploadItem {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
render() {
|
|
65
|
-
const { uid, meta } = this.data;
|
|
66
|
+
const { uid, meta, item } = this.data;
|
|
66
67
|
const Badges = meta && meta.badges ? (h("span", null, meta.badges.map(badgeText => (h("duet-badge", { color: "primary" }, badgeText))))) : undefined;
|
|
67
|
-
const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${name}`;
|
|
68
|
+
const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${item.name}`;
|
|
68
69
|
return (h("div", { class: {
|
|
69
70
|
"upload-item-row": true,
|
|
70
71
|
} }, this.showCategory && (h("div", { class: "item-categories" }, h("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.categoryLabel)), Badges)), h("div", { class: { "item-name": true, "no-category": !this.showCategory } }, !!this.label && (h("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(this.label))), this.getFileNameLine()), h("div", { class: "item-actions" }, this.actions.map(actionItem => {
|
|
@@ -126,7 +127,7 @@ export class DuetUploadItem {
|
|
|
126
127
|
"references": {
|
|
127
128
|
"ItemType": {
|
|
128
129
|
"location": "local",
|
|
129
|
-
"path": "/Users/
|
|
130
|
+
"path": "/Users/mgibas/workspace/duet/packages/components/src/components/duet-upload-item/duet-upload-item.tsx"
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
},
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
export function SafeParseFloat(value, locale) {
|
|
12
12
|
let results;
|
|
13
13
|
if (typeof value === "string") {
|
|
14
|
+
if (value === "") {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
14
17
|
//the minuses are NOT the same characters, they differ in unicode for some languages
|
|
15
18
|
// "‐", "−", "–", and "—"
|
|
16
19
|
let convertedMinus = value.replace("−", "-").replace("‐", "-").replace("−", "-").replace("–", "-").replace("—", "-");
|