@duetds/components 10.3.1 → 10.5.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 +501 -306
- package/hydrate/index.mjs +501 -306
- package/lib/cjs/{a11y-utils-dXXDBTyF.js → a11y-utils-DaAO4N9d.js} +1 -1
- package/lib/cjs/{app-globals-CyPV2FZK.js → app-globals-CHNvdfQj.js} +1 -1
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-alert.cjs.entry.js +4 -4
- package/lib/cjs/duet-badge.cjs.entry.js +29 -6
- package/lib/cjs/duet-banner.cjs.entry.js +3 -3
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +5 -5
- package/lib/cjs/duet-button_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-callout.cjs.entry.js +5 -5
- package/lib/cjs/duet-caption_4.cjs.entry.js +12 -12
- package/lib/cjs/duet-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
- package/lib/cjs/duet-chip.cjs.entry.js +8 -9
- package/lib/cjs/duet-choice_2.cjs.entry.js +22 -22
- package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
- package/lib/cjs/duet-combobox.cjs.entry.js +26 -10
- package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +11 -10
- package/lib/cjs/duet-divider_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
- package/lib/cjs/duet-empty-state.cjs.entry.js +33 -7
- package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
- package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
- package/lib/cjs/duet-footer.cjs.entry.js +8 -8
- package/lib/cjs/duet-grid_2.cjs.entry.js +15 -8
- package/lib/cjs/duet-header_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-hero.cjs.entry.js +9 -9
- package/lib/cjs/duet-icon.cjs.entry.js +5 -5
- package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
- package/lib/cjs/duet-input_2.cjs.entry.js +79 -18
- package/lib/cjs/duet-layout.cjs.entry.js +7 -7
- package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
- package/lib/cjs/duet-modal.cjs.entry.js +12 -12
- package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
- package/lib/cjs/duet-nav.cjs.entry.js +3 -3
- package/lib/cjs/duet-notification_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-number-input.cjs.entry.js +13 -11
- package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
- package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
- package/lib/cjs/duet-pagination_2.cjs.entry.js +17 -18
- package/lib/cjs/duet-panel.cjs.entry.js +4 -4
- package/lib/cjs/duet-phone-input.cjs.entry.js +17 -5
- package/lib/cjs/duet-popup-menu_2.cjs.entry.js +21 -11
- package/lib/cjs/duet-progress.cjs.entry.js +3 -3
- package/lib/cjs/duet-promo-card.cjs.entry.js +5 -5
- package/lib/cjs/duet-radio_2.cjs.entry.js +10 -11
- package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +15 -15
- package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
- package/lib/cjs/duet-select.cjs.entry.js +10 -10
- package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
- package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
- package/lib/cjs/duet-share-chart.cjs.entry.js +6 -6
- package/lib/cjs/duet-show-more.cjs.entry.js +5 -5
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +11 -11
- package/lib/cjs/duet-slideout.cjs.entry.js +10 -10
- package/lib/cjs/duet-status-icon.cjs.entry.js +7 -3
- package/lib/cjs/duet-step_2.cjs.entry.js +6 -6
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
- package/lib/cjs/duet-textarea.cjs.entry.js +14 -21
- package/lib/cjs/duet-toggle.cjs.entry.js +8 -8
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +13 -11
- package/lib/cjs/duet-tooltip.cjs.entry.js +24 -7
- package/lib/cjs/duet-tray.cjs.entry.js +5 -5
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
- package/lib/cjs/duet.cjs.js +3 -3
- package/lib/cjs/{errorcodes.utils-DQ-I8x2z.js → errorcodes.utils-Dkf_MfrJ.js} +1 -1
- package/lib/cjs/{focus-utils-DstNW4_h.js → focus-utils-BuGg0Oha.js} +1 -1
- package/lib/cjs/{index-B_QTwXEx.js → index-ZxE6MB5V.js} +5 -5
- package/lib/cjs/{label-yAj5CKm3.js → label-CpPOBfjS.js} +1 -1
- package/lib/cjs/{language-utils-DjtvVntE.js → language-utils-C7Z0KYg-.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/{slot-utils-YUU0XWn9.js → slot-utils-BXdHT3A1.js} +2 -2
- package/lib/cjs/{themeable-component-h3OzJgCb.js → themeable-component-CIDaln0Z.js} +1 -1
- package/lib/collection/components/duet-badge/duet-badge.css +66 -5
- package/lib/collection/components/duet-badge/duet-badge.js +49 -2
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
- package/lib/collection/components/duet-button/duet-button.css +5 -0
- package/lib/collection/components/duet-callout/duet-callout.js +2 -2
- package/lib/collection/components/duet-chip/duet-chip.js +5 -6
- package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
- package/lib/collection/components/duet-choice/duet-choice.js +12 -39
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
- package/lib/collection/components/duet-combobox/duet-combobox.js +22 -6
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
- package/lib/collection/components/duet-date-picker/duet-date-picker.css +0 -1
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +5 -2
- package/lib/collection/components/duet-divider/duet-divider.js +1 -1
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -2
- package/lib/collection/components/duet-empty-state/duet-empty-state.css +55 -2
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +124 -6
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
- package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +1 -1
- package/lib/collection/components/duet-footer/duet-footer.js +4 -4
- package/lib/collection/components/duet-grid/duet-grid.css +23 -0
- package/lib/collection/components/duet-grid/duet-grid.js +29 -2
- package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
- package/lib/collection/components/duet-heading/duet-heading.css +62 -0
- package/lib/collection/components/duet-heading/duet-heading.js +40 -2
- package/lib/collection/components/duet-hero/duet-hero.js +5 -5
- package/lib/collection/components/duet-icon/duet-icon.js +3 -3
- package/lib/collection/components/duet-indicator/duet-indicator.js +2 -2
- package/lib/collection/components/duet-input/duet-input.css +49 -5
- package/lib/collection/components/duet-input/duet-input.js +152 -15
- package/lib/collection/components/duet-layout/duet-layout.js +5 -5
- package/lib/collection/components/duet-link/duet-link.js +2 -2
- package/lib/collection/components/duet-list/duet-list.js +1 -1
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
- package/lib/collection/components/duet-logo/duet-logo.js +1 -1
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +3 -3
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
- package/lib/collection/components/duet-modal/duet-modal.js +7 -7
- package/lib/collection/components/duet-multiselect/duet-multiselect.css +11 -2
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
- package/lib/collection/components/duet-nav/duet-nav.js +1 -1
- package/lib/collection/components/duet-notification/duet-notification.js +2 -2
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +3 -3
- package/lib/collection/components/duet-number-input/duet-number-input.js +10 -9
- package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
- package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
- package/lib/collection/components/duet-pagination/duet-pagination.js +12 -13
- package/lib/collection/components/duet-panel/duet-panel.js +2 -2
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +2 -2
- package/lib/collection/components/duet-phone-input/duet-phone-input.js +13 -1
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -3
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +2 -2
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +2 -2
- package/lib/collection/components/duet-radio/duet-radio.js +6 -7
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -2
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
- package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
- package/lib/collection/components/duet-select/duet-select.css +11 -2
- package/lib/collection/components/duet-select/duet-select.js +5 -5
- package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
- package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
- package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
- package/lib/collection/components/duet-show-more/duet-show-more.js +2 -2
- package/lib/collection/components/duet-slideout/duet-slideout.js +4 -4
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
- package/lib/collection/components/duet-spacer/duet-spacer.js +1 -1
- package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
- package/lib/collection/components/duet-status-icon/duet-status-icon.css +39 -0
- package/lib/collection/components/duet-status-icon/duet-status-icon.js +13 -2
- 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-submenu-bar/duet-submenu-bar.js +5 -5
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
- package/lib/collection/components/duet-tab/duet-tab.js +2 -2
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
- package/lib/collection/components/duet-table/duet-table.js +2 -2
- package/lib/collection/components/duet-textarea/duet-textarea.css +11 -2
- package/lib/collection/components/duet-textarea/duet-textarea.js +8 -15
- package/lib/collection/components/duet-toggle/duet-toggle.js +3 -3
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +47 -4
- package/lib/collection/components/duet-tray/duet-tray.js +2 -2
- package/lib/collection/components/duet-upload/duet-upload.js +2 -2
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +2 -2
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
- package/lib/collection/utils/math.utils.js +1 -0
- package/lib/collection/utils/slot-utils.js +1 -1
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/{p-c8e520b6.entry.js → p-02d8e844.entry.js} +1 -1
- package/lib/duet/p-06297bd8.entry.js +4 -0
- package/lib/duet/p-0c04f9f5.entry.js +4 -0
- package/lib/duet/p-110c7572.entry.js +4 -0
- package/lib/duet/p-18a8ea12.entry.js +4 -0
- package/lib/duet/{p-d8bc628c.entry.js → p-19863cdf.entry.js} +1 -1
- package/lib/duet/p-1bca9931.entry.js +4 -0
- package/lib/duet/{p-0cc2921b.entry.js → p-1da7703d.entry.js} +1 -1
- package/lib/duet/{p-690beb31.entry.js → p-20a8ef81.entry.js} +1 -1
- package/lib/duet/p-268b3066.entry.js +4 -0
- package/lib/duet/{p-2e126e15.entry.js → p-2dd7d75e.entry.js} +1 -1
- package/lib/duet/{p-5fb1092c.entry.js → p-2f8a47e2.entry.js} +1 -1
- package/lib/duet/{p-608ebd47.entry.js → p-30108edc.entry.js} +1 -1
- package/lib/duet/{p-3a45c3a4.entry.js → p-317a1fc0.entry.js} +1 -1
- package/lib/duet/{p-ae778cb1.entry.js → p-317e81f3.entry.js} +1 -1
- package/lib/duet/p-3277233e.entry.js +4 -0
- package/lib/duet/{p-efa1cd0b.entry.js → p-3690576a.entry.js} +1 -1
- package/lib/duet/{p-d7506eaa.entry.js → p-38973524.entry.js} +1 -1
- package/lib/duet/{p-3d00efb7.entry.js → p-3b2fba0f.entry.js} +1 -1
- package/lib/duet/{p-4b8293b3.entry.js → p-3f35fce3.entry.js} +1 -1
- package/lib/duet/p-3f3c6e64.entry.js +4 -0
- package/lib/duet/{p-06f17fe7.entry.js → p-3f7afd87.entry.js} +1 -1
- package/lib/duet/p-407f7f03.entry.js +4 -0
- package/lib/duet/p-40fa7371.entry.js +4 -0
- package/lib/duet/p-42ec7305.entry.js +4 -0
- package/lib/duet/p-43e076b5.entry.js +4 -0
- package/lib/duet/p-443af533.entry.js +4 -0
- package/lib/duet/{p-2d963ab0.entry.js → p-461d4089.entry.js} +1 -1
- package/lib/duet/p-4af6a8ed.entry.js +4 -0
- package/lib/duet/{p-ecf69f6d.entry.js → p-4b7f1244.entry.js} +1 -1
- package/lib/duet/{p-18eada94.entry.js → p-516397ba.entry.js} +1 -1
- package/lib/duet/p-5284c707.entry.js +4 -0
- package/lib/duet/{p-1e168d4b.entry.js → p-52beb436.entry.js} +1 -1
- package/lib/duet/p-5c9f443c.entry.js +4 -0
- package/lib/duet/{p-968546f6.entry.js → p-5f5f72d4.entry.js} +1 -1
- package/lib/duet/p-5lFzA17H.js +4 -0
- package/lib/duet/{p-a6bec2da.entry.js → p-61ec0e1c.entry.js} +1 -1
- package/lib/duet/{p-07b9b6c3.entry.js → p-6b469225.entry.js} +1 -1
- package/lib/duet/{p-10a326fa.entry.js → p-6ef683d5.entry.js} +1 -1
- package/lib/duet/{p-de4b0518.entry.js → p-70612314.entry.js} +1 -1
- package/lib/duet/{p-6cffc5b7.entry.js → p-70961edb.entry.js} +1 -1
- package/lib/duet/p-7294c37d.entry.js +4 -0
- package/lib/duet/{p-7ce31e10.entry.js → p-72b504ef.entry.js} +1 -1
- package/lib/duet/p-734249e0.entry.js +4 -0
- package/lib/duet/{p-4856f07c.entry.js → p-7353ee4c.entry.js} +1 -1
- package/lib/duet/p-74aac967.entry.js +4 -0
- package/lib/duet/{p-ed750cdf.entry.js → p-7c08fd87.entry.js} +1 -1
- package/lib/duet/{p-44a97d21.entry.js → p-7eea47d5.entry.js} +1 -1
- package/lib/duet/{p-86166f8d.entry.js → p-7fd39204.entry.js} +1 -1
- package/lib/duet/{p-898d5701.entry.js → p-8012c7bc.entry.js} +1 -1
- package/lib/duet/{p-162a0691.entry.js → p-829db926.entry.js} +1 -1
- package/lib/duet/p-83238bf3.entry.js +4 -0
- package/lib/duet/{p-25b4886a.entry.js → p-833802f9.entry.js} +1 -1
- package/lib/duet/{p-2ac11077.entry.js → p-86ffd3cb.entry.js} +1 -1
- package/lib/duet/{p-8a28f86e.entry.js → p-871620d3.entry.js} +1 -1
- package/lib/duet/{p-d2e74e89.entry.js → p-8ace1eb4.entry.js} +1 -1
- package/lib/duet/p-8b0dfbd7.entry.js +4 -0
- package/lib/duet/p-93ff8fe4.entry.js +4 -0
- package/lib/duet/{p-a8229728.entry.js → p-9ae7aaef.entry.js} +1 -1
- package/lib/duet/{p-f71d04ce.entry.js → p-9c9811ba.entry.js} +1 -1
- package/lib/duet/{p-f15ab3b8.entry.js → p-9e1a59d1.entry.js} +1 -1
- package/lib/duet/{p-DrqQiRTn.js → p-B2cboDWM.js} +1 -1
- package/lib/duet/{p-CW11pVgw.js → p-B8-N_qjs.js} +1 -1
- package/lib/duet/p-BzYmwX5_.js +4 -0
- package/lib/duet/{p-BUWuSkQW.js → p-C5Yfx2kd.js} +1 -1
- package/lib/duet/{p-DFAnksuG.js → p-CFqvB5PA.js} +1 -1
- package/lib/duet/p-Cg4m_WHe.js +4 -0
- package/lib/duet/{p-B6Z_1gqI.js → p-R3pTP2Oy.js} +1 -1
- package/lib/duet/p-a068c086.entry.js +4 -0
- package/lib/duet/p-a483117e.entry.js +4 -0
- package/lib/duet/p-a5177d32.entry.js +4 -0
- package/lib/duet/{p-65350441.entry.js → p-a8876b3d.entry.js} +1 -1
- package/lib/duet/{p-5c9530f1.entry.js → p-a9104184.entry.js} +1 -1
- package/lib/duet/{p-b4c18ee6.entry.js → p-b1326cbb.entry.js} +1 -1
- package/lib/duet/{p-17413943.entry.js → p-b747f6e9.entry.js} +1 -1
- package/lib/duet/{p-12b2d402.entry.js → p-bdbf0fae.entry.js} +1 -1
- package/lib/duet/{p-b6dc4395.entry.js → p-c1afac0d.entry.js} +1 -1
- package/lib/duet/p-c2026c6b.entry.js +4 -0
- package/lib/duet/{p-301b8664.entry.js → p-c216e746.entry.js} +1 -1
- package/lib/duet/{p-bfc75bb9.entry.js → p-c54be349.entry.js} +1 -1
- package/lib/duet/{p-fca9c5c4.entry.js → p-cb6c4158.entry.js} +1 -1
- package/lib/duet/{p-278ef4d8.entry.js → p-cbcee3e2.entry.js} +1 -1
- package/lib/duet/{p-0ccecf5b.entry.js → p-d3b5c997.entry.js} +1 -1
- package/lib/duet/{p-ec689a7c.entry.js → p-d3baa815.entry.js} +1 -1
- package/lib/duet/{p-f55f8bd9.entry.js → p-d5f90dbc.entry.js} +1 -1
- package/lib/duet/{p-b9a54319.entry.js → p-d6f0afa5.entry.js} +1 -1
- package/lib/duet/{p-d83f38c7.entry.js → p-d779fe42.entry.js} +1 -1
- package/lib/duet/{p-806c4ab8.entry.js → p-dedf6a32.entry.js} +1 -1
- package/lib/duet/{p-5fb783eb.entry.js → p-e08dce92.entry.js} +1 -1
- package/lib/duet/{p-fe00331c.entry.js → p-e7f2359a.entry.js} +1 -1
- package/lib/duet/{p-419b96b6.entry.js → p-efa4eecc.entry.js} +1 -1
- package/lib/duet/p-f040706c.entry.js +4 -0
- package/lib/duet/{p-17c063a3.entry.js → p-fa13ffe9.entry.js} +1 -1
- package/lib/duet/{p-93abd97a.entry.js → p-fe829b53.entry.js} +1 -1
- package/lib/duet/p-s8EL6NG5.js +4 -0
- package/lib/esm/{a11y-utils-D66Lzlz5.js → a11y-utils-ChN5Nhxh.js} +1 -1
- package/lib/esm/{app-globals-G9KPoeGD.js → app-globals-4kCk2rkO.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- package/lib/esm/duet-alert.entry.js +4 -4
- package/lib/esm/duet-badge.entry.js +29 -6
- package/lib/esm/duet-banner.entry.js +3 -3
- package/lib/esm/duet-breadcrumb.entry.js +6 -6
- package/lib/esm/duet-breadcrumbs.entry.js +5 -5
- package/lib/esm/duet-button_2.entry.js +5 -5
- package/lib/esm/duet-callout.entry.js +5 -5
- package/lib/esm/duet-caption_4.entry.js +12 -12
- package/lib/esm/duet-card.entry.js +3 -3
- package/lib/esm/duet-checkbox.entry.js +3 -3
- package/lib/esm/duet-checkmark.entry.js +4 -4
- package/lib/esm/duet-chip.entry.js +8 -9
- package/lib/esm/duet-choice_2.entry.js +22 -22
- package/lib/esm/duet-collapsible.entry.js +3 -3
- package/lib/esm/duet-combobox.entry.js +26 -10
- package/lib/esm/duet-contact-card.entry.js +5 -5
- package/lib/esm/duet-cookie-consent.entry.js +2 -2
- package/lib/esm/duet-date-picker.entry.js +11 -10
- package/lib/esm/duet-divider_2.entry.js +4 -4
- package/lib/esm/duet-editable-table_3.entry.js +10 -10
- package/lib/esm/duet-empty-state.entry.js +33 -7
- package/lib/esm/duet-fieldset.entry.js +6 -6
- package/lib/esm/duet-file-chooser.entry.js +3 -3
- package/lib/esm/duet-footer.entry.js +8 -8
- package/lib/esm/duet-grid_2.entry.js +15 -8
- package/lib/esm/duet-header_2.entry.js +4 -4
- package/lib/esm/duet-hero.entry.js +9 -9
- package/lib/esm/duet-icon.entry.js +5 -5
- package/lib/esm/duet-indicator.entry.js +5 -5
- package/lib/esm/duet-input_2.entry.js +79 -18
- package/lib/esm/duet-layout.entry.js +7 -7
- package/lib/esm/duet-list_2.entry.js +5 -5
- package/lib/esm/duet-menu-bar-button.entry.js +4 -4
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-menu-bar-dropdown.entry.js +6 -6
- package/lib/esm/duet-menu-bar-item.entry.js +7 -7
- package/lib/esm/duet-menu-bar-link.entry.js +4 -4
- package/lib/esm/duet-menu-bar.entry.js +6 -6
- package/lib/esm/duet-modal.entry.js +12 -12
- package/lib/esm/duet-multiselect.entry.js +11 -11
- package/lib/esm/duet-nav.entry.js +3 -3
- package/lib/esm/duet-notification_2.entry.js +9 -9
- package/lib/esm/duet-number-input.entry.js +13 -11
- package/lib/esm/duet-overlay.entry.js +3 -3
- package/lib/esm/duet-page-heading.entry.js +20 -5
- package/lib/esm/duet-pagination_2.entry.js +17 -18
- package/lib/esm/duet-panel.entry.js +4 -4
- package/lib/esm/duet-phone-input.entry.js +17 -5
- package/lib/esm/duet-popup-menu_2.entry.js +21 -11
- package/lib/esm/duet-progress.entry.js +3 -3
- package/lib/esm/duet-promo-card.entry.js +5 -5
- package/lib/esm/duet-radio_2.entry.js +10 -11
- package/lib/esm/duet-range-slider.entry.js +6 -6
- package/lib/esm/duet-scrollable_3.entry.js +15 -15
- package/lib/esm/duet-section-layout.entry.js +4 -4
- package/lib/esm/duet-select.entry.js +10 -10
- package/lib/esm/duet-shaped-image.entry.js +4 -4
- package/lib/esm/duet-share-chart-item.entry.js +2 -2
- package/lib/esm/duet-share-chart.entry.js +6 -6
- package/lib/esm/duet-show-more.entry.js +5 -5
- package/lib/esm/duet-slideout-lang.entry.js +4 -4
- package/lib/esm/duet-slideout-link.entry.js +7 -7
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
- package/lib/esm/duet-slideout-panel.entry.js +11 -11
- package/lib/esm/duet-slideout.entry.js +10 -10
- package/lib/esm/duet-status-icon.entry.js +7 -3
- package/lib/esm/duet-step_2.entry.js +6 -6
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +6 -6
- package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
- package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
- package/lib/esm/duet-submenu-bar.entry.js +7 -7
- package/lib/esm/duet-textarea.entry.js +14 -21
- package/lib/esm/duet-toggle.entry.js +8 -8
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-toolbar-dropdown.entry.js +6 -6
- package/lib/esm/duet-toolbar-item.entry.js +8 -8
- package/lib/esm/duet-toolbar-link.entry.js +4 -4
- package/lib/esm/duet-toolbar.entry.js +4 -4
- package/lib/esm/duet-tooltip-button_2.entry.js +13 -11
- package/lib/esm/duet-tooltip.entry.js +25 -8
- package/lib/esm/duet-tray.entry.js +5 -5
- package/lib/esm/duet-upload-aria-status.entry.js +2 -2
- package/lib/esm/duet-upload-item.entry.js +6 -6
- package/lib/esm/duet-visually-hidden.entry.js +2 -2
- package/lib/esm/duet.js +4 -4
- package/lib/esm/{errorcodes.utils-C6zptXiM.js → errorcodes.utils-DuFCu_27.js} +1 -1
- package/lib/esm/{focus-utils-YZ2ticmM.js → focus-utils-CFswdkeD.js} +1 -1
- package/lib/esm/{index-DrqQiRTn.js → index-B2cboDWM.js} +5 -5
- package/lib/esm/{label-CnTwCD-3.js → label-CJxIWUOT.js} +1 -1
- package/lib/esm/{language-utils-BEG0cFmw.js → language-utils-C4M4ASkT.js} +1 -1
- package/lib/esm/loader.js +4 -4
- package/lib/esm/{slot-utils-Dzrezpl3.js → slot-utils--sNK1DNn.js} +2 -2
- package/lib/esm/{themeable-component-BLql61nC.js → themeable-component-BBi3552X.js} +1 -1
- package/lib/types/common-types.d.ts +11 -28
- package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
- package/lib/types/components/duet-chip/duet-chip.d.ts +1 -1
- package/lib/types/components/duet-combobox/duet-combobox.d.ts +1 -0
- package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +24 -4
- package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
- package/lib/types/components/duet-heading/duet-heading.d.ts +10 -0
- package/lib/types/components/duet-input/duet-input.d.ts +31 -3
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
- package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
- package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +2 -0
- package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
- package/lib/types/components/duet-textarea/duet-textarea.d.ts +0 -5
- package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
- package/lib/types/components.d.ts +151 -14
- package/lib/types/utils/math.utils.d.ts +1 -0
- package/package.json +5 -5
- package/lib/duet/p-0a80de40.entry.js +0 -4
- package/lib/duet/p-162993d2.entry.js +0 -4
- package/lib/duet/p-234f4365.entry.js +0 -4
- package/lib/duet/p-245c0535.entry.js +0 -4
- package/lib/duet/p-29599dc5.entry.js +0 -4
- package/lib/duet/p-3d0a716c.entry.js +0 -4
- package/lib/duet/p-3eba33cd.entry.js +0 -4
- package/lib/duet/p-550bfab9.entry.js +0 -4
- package/lib/duet/p-5c60eca3.entry.js +0 -4
- package/lib/duet/p-67b3a01a.entry.js +0 -4
- package/lib/duet/p-6e1b9cc8.entry.js +0 -4
- package/lib/duet/p-9172ba70.entry.js +0 -4
- package/lib/duet/p-BQVGvl4H.js +0 -4
- package/lib/duet/p-CLZq8YfV.js +0 -4
- package/lib/duet/p-D2JvSVnG.js +0 -4
- package/lib/duet/p-ELbbzMVZ.js +0 -4
- package/lib/duet/p-a3ad5622.entry.js +0 -4
- package/lib/duet/p-a73b7110.entry.js +0 -4
- package/lib/duet/p-b1d91a91.entry.js +0 -4
- package/lib/duet/p-b9be36c8.entry.js +0 -4
- package/lib/duet/p-bdae48d3.entry.js +0 -4
- package/lib/duet/p-bdf6a296.entry.js +0 -4
- package/lib/duet/p-c8d10c67.entry.js +0 -4
- package/lib/duet/p-ce4d9add.entry.js +0 -4
- package/lib/duet/p-da275568.entry.js +0 -4
- package/lib/duet/p-dc5682d8.entry.js +0 -4
- package/lib/duet/p-e050ed5c.entry.js +0 -4
- package/lib/duet/p-e9c2eb66.entry.js +0 -4
- package/lib/duet/p-ec5f40a5.entry.js +0 -4
- package/lib/duet/p-f68a4a23.entry.js +0 -4
- package/lib/duet/p-f8e26f21.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as o,H as t,g as n}from"./p-
|
|
4
|
+
import{r as e,h as o,H as t,g as n}from"./p-B2cboDWM.js";import{i as r}from"./p-BzYmwX5_.js";import{a}from"./p-Db8rvjPI.js";const i=class{constructor(o){e(this,o),this.theme="",this.href="#",this.icon=void 0,this.getVariant=()=>(this.element.parentElement.parentElement.getAttribute("slot"),"right")}componentWillLoad(){r(this)}handleEscape(e){if(a(e)){const e=this.element.closest("duet-menu-bar-dropdown");e.open=!1,e.setFocus()}}render(){return o(t,{key:"44c02bb0c92ca03579e70dc6f79178099f38de61"},o("a",{key:"26b45ac19043800a070894afec67517d051b6ccc",class:{"duet-menu-bar-dropdown-link":!0,[`duet-menu-bar-dropdown-link--slot-${this.getVariant()}`]:!0,"duet-theme-turva":"turva"===this.theme},href:this.href,role:"menuitem",onKeyUp:e=>this.handleEscape(e),"aria-label":this.accessibleLabel},this.icon&&o("duet-icon",{key:"4d481450931bbf089d2f6d5ee7076aca7c3978f1",theme:this.theme,name:this.icon,size:"x-small",margin:"none",color:"currentColor"}),o("slot",{key:"b47043814429787c833949bac92bae95b2001419"})))}get element(){return n(this)}};i.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}.duet-menu-bar-dropdown-link{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:flex-start;height:100%;padding:0.5rem 8px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-align:left;text-decoration:none}.duet-menu-bar-dropdown-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-dropdown-link:focus,.duet-menu-bar-dropdown-link:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-dropdown-link:hover{background:rgb(228, 241, 247)}.duet-menu-bar-dropdown-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}.duet-menu-bar-dropdown-link.duet-theme-turva:hover{background:rgb(251, 235, 225)}';export{i as duet_menu_bar_dropdown_link}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-DrqQiRTn.js";import{i as o}from"./p-CLZq8YfV.js";import{f as d,d as l}from"./p-BlUsLmbQ.js";import{i as r}from"./p-Db8rvjPI.js";import{a as h,c as u,d as c,g as p,s as b}from"./p-DFAnksuG.js";import{q as m,r as f,p as g,u as y,v,w as k,x,y as w,z as $,A as T,f as L,B as z,C as E,D as j,E as S,F as M,G as D,H as F,I as C,j as R,s as _,J as U}from"./p-DEzE2U5T.js";import{b as P,a as A}from"./p-D2ly4TZR.js";import{c as W}from"./p-Cfr_DJqU.js";import{p as q}from"./p-C6E9F6QT.js";import{a as H,g as B}from"./p-BUWuSkQW.js";const I=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},N=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){c(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=p(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(d(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(I,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"a0c3202194fcc3910b50193f2a4fcb3bd7d3a5d8",class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{key:"6e53631c212527e8702f9e9c8a1b9bc2b390c830",class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{key:"990481c1affeb11d6a6541a36a8f0118c961915c",role:this.accessibleRole},t("caption",{key:"f7b1bc44ab9fef0194485fdd6e49e11a306e365c"},t("slot",{key:"2caecec6e5c024bdde6fa6bf72917914e2626752",name:"tcaption"})),t("thead",{key:"c892dcd586814dcecddc46fbaf0319b04b6d9f16"},this.hasHeadSlotFirst&&t("tr",{key:"bfbac21dbab8afab7f34e952bd5803954be4991d"},t("td",{key:"0a491ed1c4855d55b4dbc493a52029d657a08cc5",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"87c033e72a1bd3b87a51a4981b1b4939de66578d",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"2ab66f9b14fe592f7ee7e6293cdd56b3aed0190e"},t("td",{key:"edb3ae066371b6f5dc990f10f088246c0d9388d9",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"f57ebf07ee01c40cb47469b2fa07a706c4724dae",name:"thead-last"})))),t("tbody",{key:"538b2de606132fcb272e5af1650cafb947fc5b2a"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"2f1a98dd550705933222f7179bc3ff4d6554d117"},t("tr",{key:"ecb9667d57ea85de7efa6fa0035fbfbb16c78a9e"},t("td",{key:"c78b25495de0621c55f70cce5131b1d192fc5e0e",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"ed051b0e66c28fdbee565b33c1c394034a817a82",name:"tfoot"})))))))}get element(){return n(this)}};N.style=":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-editable-table-actions-menu,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const Y=t=>t.replace("rgb(","").replace(")",""),O=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${y};\n }\n\n th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n\n tbody th {\n font-weight: ${v};\n color: ${y};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${k};\n\n &:not(:last-child) {\n margin-bottom: ${w};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${$};\n display: block;\n font-size: ${g};\n font-weight: ${v};\n color: ${y};\n }\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n z-index: $z-index-sticky;\n background: ${T};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${L.replace("'","").replace("'","")} {\n padding: ${m} ${z} !important;\n }\n }\n\n tbody th {\n background: ${T};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${E};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${E};\n }\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${w} !important;\n border-bottom: 1px solid ${x};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n \n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${E};\n }\n\n td {\n padding: ${w} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${$} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${E};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${Y(R)}, 0.08);\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n}\n \nduet-table.duet-theme-turva table {\n font-family: ${j};\n}\n\nduet-table.duet-theme-turva td {\n color: ${S};\n}\n\nduet-table.duet-theme-turva th {\n color: ${M};\n}\n\nduet-table.duet-theme-turva tbody th {\n color: ${S};\n}\n\nduet-table.duet-theme-turva td span.duet-table-cell-heading {\n color: ${D};\n}\n\nduet-table.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: ${F};\n }\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${Y(S)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${Y(S)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: ${F};\n }\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: ${F};\n}\n\nduet-theme-turva.duet-table-plain th, duet-theme-turva.duet-table-fixed th, duet-theme-turva.duet-table-minimal th {\n border-bottom-color: ${C};\n}\n\nduet-theme-turva.duet-table-plain tbody th, duet-theme-turva.duet-table-fixed tbody th, duet-theme-turva.duet-table-minimal tbody th {\n border-bottom-color: ${F};\n}\n\n.duet-table-flattened.duet-table-plain.duet-theme-turva tbody tr {\n border-bottom-color: ${F};\n}\n\n.duet-theme-turva .duet-table-selected-column {\n background: rgba(${Y(C)}, 0.08);\n}\n\nduet-table.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: ${F};\n}\n\nduet-table.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${F};\n}\n\nduet-table.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${F};\n}\n`.replace(/[\n\r\t]/gm,""),V={none:0,"with-links":16*parseFloat(U),"without-links":16*parseFloat(_)},J=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=P.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":A[this.breakpoint]),this.mq.addEventListener("change",l(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>l(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=V[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,c(this)}copyHeadingsToCells(){if(["none","none-scrollable"].includes(this.breakpoint))return;const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"a1dd7fa3685f9dba8b9e5dca8a0fd24c14431658",class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",{key:"3f4f49a2dc93f99278caa0089c0305a7049817e6"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var X=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}];const K={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},Q=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(K)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(i)),t("duet-heading",{class:{"filename-header":!0,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(e))),G=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=H("default",i);if(t){const{name:e,type:l,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(l,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),c=((t,e)=>!e||!t||e>=t)(r,s);h||(d=H("duet-upload-101",i)),u||(d=H("duet-upload-100",i)),c||(d=H("duet-upload-201",i)),o=h&&u&&c}else o=!1;return{valid:o,errorMessage:o?void 0:p(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Z=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:l=null,headers:r=null}=e;o.open(s,`${d}${l||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{o.setRequestHeader(t,r[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},tt=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.tick=Date.now(),this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=X,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=W("DuetButton"),this.labelId=W("DuetLabel"),this.uploadId=W("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}],this.kick=l((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",B("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",B("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",B("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(Q,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(Q,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?b(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=q(this.actionButtonTitles)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"dc222a10613a05aa4d56526accf4f20d09a85524",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"afd3bbefc25846e30ea0a4a3dd6fef490cfce55d","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"9927e358eb190f2023f863d4de2306390d71fc8b",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"843385b600508604aeed2894ae0d13134c4726d0",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"c75ef6ac779000de5dee49f7793a01dcad735808",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"f9756746a31507f1dca930bdf7fea75ccf2c577b",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"b88ca83dcc669708410ac4ff2ab95c171909bcfd",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&&t("slot",{key:"cf7410f30e64f19d7dfc05848cae516c3c4c4998",name:"filefooter"}),t("slot",{key:"3d6ae7f015427bc576b46bcbad37ad21c75c5cff",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"d9839e2f61e00879f0fe4d804b76884eb3a3c426",margin:"none",size:"small"},t("div",{key:"0793e849c010f2611e8c30fc9a1adfd5739036ca",class:"upload-bottom-caption"},o)),t("slot",{key:"aea1cf5e8be9c04cfe942a63b609304b89dbd3bf",name:"afterfooter"}),!this.hideButton&&t(s,{key:"5bc3f7808057aecbe5a082aa960cfd0179a5ebb8"},t("duet-spacer",{key:"dea860e2657fdd9d826a56ed1cbd3c29c27a6566",size:"large"}),t("duet-button",{key:"d2e2120f450bd44190d819bcc8b7d3193a2fd7f1",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(s,{key:"fcf6947ea9fd60eb05745627ea9bcfdc0a186ae2"},t("duet-spacer",{key:"0d8d15f15c9dcecb7749d481e29073be66c1e77f",size:"medium"}),t("duet-alert",{key:"392a1d62012973d5e0b730a58ad3d97c48db3256",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&B("duet-upload-301",this.errorCodes),this.bytesMaxReached&&B("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&B("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&B("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"ecf1098f5d21721d322bc382ff218b2b374e907a","aria-hidden":"true"},t("input",{key:"d47f7522e739d1bda7407882e7ceda5f3e416b3d",ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),Z(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(n=this.middleware(n)),Z(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=G(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};tt.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{N as duet_editable_table,J as duet_table,tt as duet_upload}
|
|
4
|
+
import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-B2cboDWM.js";import{i as o}from"./p-BzYmwX5_.js";import{f as d,d as l}from"./p-BlUsLmbQ.js";import{i as r}from"./p-Db8rvjPI.js";import{a as h,c as u,d as p,g as b,s as c}from"./p-CFqvB5PA.js";import{q as m,r as f,p as g,u as y,v,w as k,x,y as w,z as $,A as T,f as L,B as z,C as E,D as j,E as M,F as S,G as F,H as C,I as D,j as R,s as _,J as P}from"./p-DEzE2U5T.js";import{b as U,a as A}from"./p-D2ly4TZR.js";import{c as W}from"./p-Cfr_DJqU.js";import{p as q}from"./p-C6E9F6QT.js";import{a as B,g as H}from"./p-C5Yfx2kd.js";const I=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},Y=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){p(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=b(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${b(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(d(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(I,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"e8047048590b1dfac635e5a94a46fb1d61e4030b",class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{key:"abcb5c0dc22830d840bbf18144e66605207849d0",class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{key:"269ab86ebe745cfcf2e208e174e0914ea7b4fed8",role:this.accessibleRole},t("caption",{key:"2753e748db0c5264c994a41b002e52a5641d2971"},t("slot",{key:"567de210690137ae00e2ad40e2e2c1e1c733f3d7",name:"tcaption"})),t("thead",{key:"ea6b829d344cd19619f667d75304614cbf60cc9d"},this.hasHeadSlotFirst&&t("tr",{key:"84c66d116690df93737670dbbd0fc2b0e5c9f80b"},t("td",{key:"3ab4954300f48b65cdc48f612045ef4296f3561d",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"9f32c90606e46036a34ca037bdfd61d4eae70fb2",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"8be7b6223bd2ba7109db839efde2baab0f04c40f"},t("td",{key:"1d6b0626d4b9dfdedc24f1118b53558e3ad80a54",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"247e4a043cc716d504a4827c415a3d73e8285046",name:"thead-last"})))),t("tbody",{key:"778fd5a880190cffa0f9649b37839b2a0abedbe5"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"8c5e4045377ec3547c5005836f389cac2221dc62"},t("tr",{key:"71959adb135cbcd6b7e19c9c9d4dcd3e799e8720"},t("td",{key:"ff1dc8216a9c918c1d9dec4aaf77454fd728a9ff",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"450238c070a9f72a326737a26b1f6ede2f9606d2",name:"tfoot"})))))))}get element(){return n(this)}};Y.style=":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-editable-table-actions-menu,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const N=t=>t.replace("rgb(","").replace(")",""),O=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${y};\n }\n\n th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n\n tbody th {\n font-weight: ${v};\n color: ${y};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${k};\n\n &:not(:last-child) {\n margin-bottom: ${w};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${$};\n display: block;\n font-size: ${g};\n font-weight: ${v};\n color: ${y};\n }\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${v};\n line-height: ${k};\n color: ${x};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n z-index: $z-index-sticky;\n background: ${T};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${L.replace("'","").replace("'","")} {\n padding: ${m} ${z} !important;\n }\n }\n\n tbody th {\n background: ${T};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${E};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${E};\n }\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${w} !important;\n border-bottom: 1px solid ${x};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n \n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${E};\n }\n\n td {\n padding: ${w} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${$} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${E};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${E};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${N(R)}, 0.08);\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${E};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n}\n \nduet-table.duet-theme-turva table {\n font-family: ${j};\n}\n\nduet-table.duet-theme-turva td {\n color: ${M};\n}\n\nduet-table.duet-theme-turva th {\n color: ${S};\n}\n\nduet-table.duet-theme-turva tbody th {\n color: ${M};\n}\n\nduet-table.duet-theme-turva td span.duet-table-cell-heading {\n color: ${F};\n}\n\nduet-table.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: ${C};\n }\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${N(M)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${N(M)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: ${C};\n }\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: ${C};\n}\n\nduet-theme-turva.duet-table-plain th, duet-theme-turva.duet-table-fixed th, duet-theme-turva.duet-table-minimal th {\n border-bottom-color: ${D};\n}\n\nduet-theme-turva.duet-table-plain tbody th, duet-theme-turva.duet-table-fixed tbody th, duet-theme-turva.duet-table-minimal tbody th {\n border-bottom-color: ${C};\n}\n\n.duet-table-flattened.duet-table-plain.duet-theme-turva tbody tr {\n border-bottom-color: ${C};\n}\n\n.duet-theme-turva .duet-table-selected-column {\n background: rgba(${N(D)}, 0.08);\n}\n\nduet-table.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: ${C};\n}\n\nduet-table.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${C};\n}\n\nduet-table.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${C};\n}\n`.replace(/[\n\r\t]/gm,""),J={none:0,"with-links":16*parseFloat(P),"without-links":16*parseFloat(_)},V=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=U.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":A[this.breakpoint]),this.mq.addEventListener("change",l(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>l(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=J[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,p(this)}copyHeadingsToCells(){if(["none","none-scrollable"].includes(this.breakpoint))return;const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"9f1704f22fc4624b02f78c7aef30b43a788ce295",class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",{key:"110acd28c9af7e36e6be318cfc5ad44251b72d32"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var X=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}];const K={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},G=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":b(K)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},b(i)),t("duet-heading",{class:{"filename-header":!0,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},b(e))),Q=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=B("default",i);if(t){const{name:e,type:l,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(l,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),p=((t,e)=>!e||!t||e>=t)(r,s);h||(d=B("duet-upload-101",i)),u||(d=B("duet-upload-100",i)),p||(d=B("duet-upload-201",i)),o=h&&u&&p}else o=!1;return{valid:o,errorMessage:o?void 0:b(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Z=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:l=null,headers:r=null}=e;o.open(s,`${d}${l||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{o.setRequestHeader(t,r[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},tt=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.tick=Date.now(),this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=b(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=b(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=b(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=b(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=b(this.fileListEmptyDefaults),this.error="",this.errorCodes=X,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=W("DuetButton"),this.labelId=W("DuetLabel"),this.uploadId=W("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}],this.kick=l((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",H("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",H("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",H("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(G,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(G,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?c(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=q(this.actionButtonTitles)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"fe296e7a1f173e1f9d106725647de568270f7381",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"72451c8e8021c8efdbef350e92d5d00db671f5eb","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"120762b8d74276d518b1a4aa5ebc9267bb821b86",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"7d1685f051c1607ed5984f21ca0306cffb135f9c",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"4341d78e97e8842976517a9427dad1fb79f15600",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"ebd5fcbee689a2d69689a66da5770057f959e05b",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"da8d067ccff2b9de4ef7036d28538c3e1a99813a",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&&t("slot",{key:"72fb36ce235d388cf811d0b1e2689e673f166aee",name:"filefooter"}),t("slot",{key:"1f0f3dc31f01636b94567622dc365a743bb9c555",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"071ab836a62ea4c49ab66af59eebf8fd8e6ac0a1",margin:"none",size:"small"},t("div",{key:"8cb3bbe8afe46260ee01de1ccfec1171ad7d15b3",class:"upload-bottom-caption"},o)),t("slot",{key:"6ccb7bba76d874455cb6c6e4cde19fb4f3118c84",name:"afterfooter"}),!this.hideButton&&t(s,{key:"fb69a17ce2cd8ab89382b3a88aaf11c3ec5111d3"},t("duet-spacer",{key:"d12382964296660b0138d5e7cb23119d9ba51315",size:"large"}),t("duet-button",{key:"585b1a6670caf0810ea89a1dc930b4cb7a45c09a",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(s,{key:"2c6faea7f05f92b8156afb6125ed218230d03a9b"},t("duet-spacer",{key:"0a03717e16ad6080343f46e9cea6235fe7c95fb3",size:"medium"}),t("duet-alert",{key:"6e455df241d9c0371a4ac45e9d7f11f9d5b2469a",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&H("duet-upload-301",this.errorCodes),this.bytesMaxReached&&H("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&H("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&H("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"0dcf57e2b593b8b4581b9516300d7fcf93a94ded","aria-hidden":"true"},t("input",{key:"8c8089792d4049c26b827d1b543bd9ddaaba326b",ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),Z(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(n=this.middleware(n)),Z(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=Q(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};tt.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{Y as duet_editable_table,V as duet_table,tt as duet_upload}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,c as i,h as o,H as e,g as n}from"./p-
|
|
4
|
+
import{r as t,c as i,h as o,H as e,g as n}from"./p-B2cboDWM.js";import{i as a}from"./p-BzYmwX5_.js";import{c as s}from"./p-Cfr_DJqU.js";import{d as r}from"./p-BlUsLmbQ.js";import{i as c}from"./p-Db8rvjPI.js";import{g as d,c as u,d as h}from"./p-CFqvB5PA.js";import{c as b,g as l,s as p}from"./p-D2ly4TZR.js";import"./p-C6E9F6QT.js";import"./p-DEzE2U5T.js";const m=class{constructor(o){t(this,o),this.duetActionEvent=i(this,"duetActionEvent",6),this.listId=s("duet-action-button"),this.numbersStore="",this.theme="",this.iconName="action-arrow-left-small",this.iconColor="currentColor",this.iconSize="xx-small",this.actionId=void 0,this.actionMeta=void 0,this.disabled=!1,this.color="",this.background="",this.accessibleTitle=!0,this.accessibleDescribedBy=void 0,this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.accessibleLabelsDefaults={en:"Click to activate action",fi:"Klikkaa aktivoidaksesi toiminto",sv:"Klicka för att aktivera åtgärd"},this.accessibleLabel=d(this.accessibleLabelsDefaults),this.accessibleControls="",this.emitPageEvent=r((t=>{this.duetActionEvent.emit({component:"duet-action-button",originalEvent:t,action:this.actionId,name:this.actionName,meta:this.actionMeta,id:this.listId})}))}async onKeyboardDown(t){c(t)&&this.emitPageEvent(t)}getTitle(){return"string"==typeof this.accessibleTitle?this.accessibleTitle:!0===this.accessibleTitle&&this.actionName?b(`${this.actionName}`):null}async onMouseHandler(t){t.preventDefault(),this.duetActionEvent.emit({component:"duet-action-button",originalEvent:t,action:this.actionName,id:this.actionId,meta:this.actionMeta})}componentWillLoad(){a(this)}connectedCallback(){u(this,{prop:"accessibleLabel",defaults:"accessibleLabelsDefaults"})}disconnectedCallback(){h(this)}async setFocus(t){this.nativeButton&&this.nativeButton.focus(t)}render(){const t="currentColor"===this.color?"currentColor":l(this.color,this.theme),i=l(this.background,this.theme),n=i?p(i,-.1):i,a=i?`\n button.duet-action-button {\n background: ${i} !important;\n }\n button.duet-action-button:not(:disabled):hover {\n background: ${n} !important;\n }\n `:"",s={ref:t=>this.nativeButton=t,part:"button",style:{color:t,"border-color":l(this.iconColor,this.theme),"border-width":"1px","border-style":"solid"},disabled:this.disabled,id:this.listId,type:"button","aria-label":this.accessibleLabel,"aria-labelledby":this.accessibleLabelledBy,"aria-description":this.accessibleDescription,"aria-describedby":this.accessibleDescribedBy,"aria-details":this.accessibleDetails,"aria-controls":this.accessibleControls,title:this.getTitle(),class:{"duet-action-button":!0,"duet-action-button--disabled":this.disabled,[`duet-action-button--${this.theme}`]:""!==this.theme,"duet-theme-turva":"turva"===this.theme}};return o(e,{key:"784004122f9530676cbff39d09e3e4a4f7ccbf8f",onKeyDown:t=>this.onKeyboardDown(t)},o("style",{key:"b34416cab89d2c6f2c4d67902239ab7140d74fb4",innerHTML:a}),this.url&&!this.disabled?o("a",Object.assign({},s,{href:this.url}),o("duet-icon",{part:"icon",name:this.iconName,color:this.iconColor,margin:"none",size:this.iconSize})):o("button",Object.assign({},s,{onClick:t=>this.onMouseHandler(t)}),o("duet-icon",{part:"icon",name:this.iconName,color:this.iconColor,margin:"none",size:this.iconSize}),o("duet-visually-hidden",null,o("slot",null))))}get element(){return n(this)}};m.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:inline-block;margin:0 auto}.duet-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px;color:rgb(8, 42, 77);white-space:nowrap;cursor:pointer;background:rgb(245, 248, 250);border-radius:50%;transition:background-color 300ms ease !important}.duet-action-button:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-action-button:focus,.duet-action-button:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-action-button duet-icon{display:block}@media (max-width: 35.9375em){.duet-action-button{width:32px;height:32px}}.duet-action-button:not(:disabled):hover{background:#e9ecee}.duet-action-button:active:focus{background:#dddfe1 !important}.duet-action-button:disabled{color:rgb(127, 150, 165);cursor:default;background:rgb(245, 248, 250);opacity:0.75}.duet-action-button.duet-theme-turva{color:rgb(23, 42, 59);background:rgb(253, 247, 242)}.duet-action-button.duet-theme-turva:not(:disabled):hover{background:#f0ebe6}.duet-action-button.duet-theme-turva:active:focus{background:#e4deda !important}.duet-action-button.duet-theme-turva:disabled{color:rgb(120, 145, 164);background:rgb(245, 246, 247)}";export{m as duet_action_button}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import{r as t,c as e,h as i,H as s,g as o}from"./p-B2cboDWM.js";import{o as n}from"./p-DEzE2U5T.js";import{M as a,z as r,o as h,f as p,s as l}from"./p-B_NkY9T0.js";import{i as u}from"./p-BzYmwX5_.js";import{s as d}from"./p-B8-N_qjs.js";import{f as c}from"./p-R3pTP2Oy.js";import{g as m,a as b,e as f,b as g}from"./p-Db8rvjPI.js";import{a as v}from"./p-CFqvB5PA.js";import{T as x}from"./p-CxwkvTlZ.js";import{n as y}from"./p-vVCYtBMj.js";import"./p-5lFzA17H.js";import"./p-C6E9F6QT.js";import"./p-DvwKrUS6.js";const k=class{constructor(i){t(this,i),this.duetToggle=e(this,"duetToggle",7),this.filterLabel={en:"Filter menu",fi:"Suodata valikkoa",sv:"Filtrera meny"},this.filterResultCountLabel={en:"items match filter",fi:"kohtaa vastaa suodatinta",sv:"menyalternativ matchar filtret"},this.disconnectController=new AbortController,this.eventListenerController=new AbortController,this.open=!1,this.language=v(),this.accessibleRole="menu",this.theme="",this.placement="bottom-start",this.forcePlacement=!1,this.allowVerticalFlip=!0,this.position="absolute",this.mainAxisOffset=0,this.crossAxisOffset=0,this.controllerIcon="action-arrow-down-small",this.setOpenButton=t=>{let e,i;if(t||null===t)e=t,i=!1;else{if(e="string"==typeof this.controller?document.getElementById(this.controller):this.controller,e&&this.openButton===e)return;i=!0}if(this.eventListenerController&&this.eventListenerController.abort(),!e)return this.openButton&&this.controllerIcon&&this.openButton.removeAttribute("trailing-icon"),void(this.openButton=void 0);try{const t=e;d(t,!1),this.controllerIcon&&t.setAttribute("trailing-icon","action-arrow-down-small"),this.openButton=t,i&&!this.disconnectController.signal.aborted&&(this.eventListenerController=new AbortController,this.openButton.addEventListener("click",this.openButtonEventListener,{signal:this.eventListenerController.signal}))}catch(t){console.error(t)}},this.openButtonEventListener=()=>{this.toggle()},this.updatePlacement=async()=>{if(!this.openButton)return;const t=[h({mainAxis:this.mainAxisOffset,crossAxis:this.crossAxisOffset}),this.allowVerticalFlip&&p(),l({padding:5})].filter(Boolean),e=await a(this.openButton,this.menuElement,{middleware:t,placement:this.placement,strategy:this.position});this.menuY=e.y,this.menuX=e.x},this.getNonFilteredItems=()=>this.showFilterInput?this.itemElements.filter((t=>"none"!==t.style.display)):this.itemElements,this.filterItems=()=>{var t;const e=null===(t=this.filterInput.value)||void 0===t?void 0:t.toLocaleLowerCase(),i=this.itemElements;i.forEach((t=>{var i;t.style.display=!e||t.textContent.toLowerCase().includes(e)||(null===(i=t.value)||void 0===i?void 0:i.toLowerCase().includes(e))?"":"none"})),this.filterResultCount=i.filter((t=>"none"!==t.style.display)).length},this.handleKeyDownOnFilter=t=>{var e;m(t)&&(null===(e=this.getNonFilteredItems()[0])||void 0===e||e.setFocus())}}get opener(){return this.controller}set opener(t){this.controller=t}componentWillLoad(){u(this)}componentDidLoad(){this.updatePlacement()}connectedCallback(){this.disconnectController&&this.disconnectController.signal.aborted&&(this.disconnectController=new AbortController),this.teleport||(this.teleport=new x(this.element)),this.teleport.isActive?(this.teleport.observeDeletion(),requestAnimationFrame((()=>{this.controller&&"string"!=typeof this.controller?this.setOpenButton(this.controller):this.setOpenButton()}))):this.teleport.activate()}disconnectedCallback(){this.autoUpdateCleanup&&this.autoUpdateCleanup(),this.disconnectController&&this.disconnectController.abort(),this.setOpenButton(null)}handleKeyUp(t){var e;"combobox"!==(null===(e=this.openButton)||void 0===e?void 0:e.role)&&this.open&&b(t)&&this.hide()}async handleKeyDown(t){const e=this.getNonFilteredItems();if(this.open){if(m(t)){t.preventDefault();const i=await this.getFocusedItemIndex();-1!==i&&(i<e.length-1?e[i+1].setFocus():e[0].setFocus())}if(f(t)){t.preventDefault();const i=await this.getFocusedItemIndex();-1!==i&&(0===i?this.showFilterInput?this.filterInput.setFocus():e[e.length-1].setFocus():e[i-1].setFocus())}g(t)&&"menu"===this.accessibleRole&&(t.preventDefault(),this.hide())}}handleClick(t){var e;if("combobox"===(null===(e=this.openButton)||void 0===e?void 0:e.role))return;const i=t.composedPath().every((t=>t!==this.element&&t!==this.openButton));this.open&&i&&this.hide()}async isOpen(){return this.open}async show(){this.open=!0}async hide(){this.autoUpdateCleanup&&this.autoUpdateCleanup(),this.open=!1}async toggle(){this.open?this.hide():this.show()}handleOpenChange(t,e){if(!!t!=!!e)if(this.openButton&&d(this.openButton,this.open),this.open&&!e){const t={ancestorScroll:!this.forcePlacement};"listbox"!==this.accessibleRole&&this.teleport.makeSiblingsInert(),this.updatePlacement(),this.menuElement&&this.openButton&&(this.autoUpdateCleanup=r(this.openButton,this.menuElement,this.updatePlacement,t)),this.showFilterInput&&(this.filterInput.value="",this.filterItems()),setTimeout((()=>{"menu"===this.accessibleRole&&this.itemElements[0].setFocus(),this.duetToggle.emit({open:this.open,component:"duet-popup-menu"})}),200)}else!this.open&&e&&(this.autoUpdateCleanup&&this.autoUpdateCleanup(),setTimeout((()=>{"menu"===this.accessibleRole&&c(this.openButton),this.duetToggle.emit({open:this.open,component:"duet-popup-menu"}),"listbox"!==this.accessibleRole&&this.teleport.removeInertFromSiblings()}),200))}handleControllerChange(t,e){t!==e&&("string"==typeof t?this.setOpenButton():this.setOpenButton(t))}get itemElements(){return Array.from(this.element.querySelectorAll(":scope duet-popup-menu-item"))}getAllPrecedingMatchingSiblings(t,e){const i=t.previousElementSibling;if(i){const t=this.getAllPrecedingMatchingSiblings(i,e);return(null==i?void 0:i.matches(e))&&t.push(i),t}return[]}get popupMenuStyleHeight(){var t;const e=Array.from(this.element.querySelectorAll(":scope duet-popup-menu-item, :scope duet-notification")).filter((t=>"none"!==t.style.display));if(e.length>0&&this.scrollLimit){const i=e.slice(0,this.scrollLimit-1);return`${i.reduce(((t,e)=>t+e.offsetHeight),0)+((null===(t=this.filterInput)||void 0===t?void 0:t.offsetHeight)||0)+17*this.getAllPrecedingMatchingSiblings(i[i.length-1],"duet-divider").length+2*Number(n.replace("px",""))}px`}return"auto"}async getFocusedItemIndex(){const t=this.getNonFilteredItems();for(let e=0;e<t.length;e++)if(await t[e].isFocused())return e;return-1}render(){return i(s,{key:"faa607d185d31d39be849eaf1bc2e04a18dc6844",role:"menu"===this.accessibleRole?"application":null},i("div",{key:"30e8fda181937ec87b45753e11407752b9cb8bdb",ref:t=>{this.menuElement=t},style:{top:`${this.menuY}px`,left:`${this.menuX}px`,position:this.position,overflowY:"auto",height:this.popupMenuStyleHeight},class:{open:this.open,"duet-popup-menu-list":!0,"duet-theme-turva":"turva"===this.theme,"scroll-visible":this.scrollLimit<this.itemElements.length},role:this.accessibleRole,"aria-label":this.accessibleLabel},this.showFilterInput&&i("div",{key:"63a51a1dade7d51632c7cc03dcc5889943c06384"},i("duet-input",{key:"0afe720395fbe6388ce6fb8fa106540671768f10",ref:t=>this.filterInput=t,label:this.filterLabel[this.language],"label-hidden":!0,expand:!0,margin:"none",type:"search",onDuetInput:this.filterItems,onKeyDown:this.handleKeyDownOnFilter}),i("duet-visually-hidden",{key:"8dafb4aa2cec51336c1ac0ce62fc7d55aa8950e6"},i("span",{key:"172e686cfd6f5cbaab6e64a49ab86ad9ef6f860d",role:"status"},`\n ${this.filterResultCount}/${this.itemElements.length}\n ${this.filterResultCountLabel[this.language]}\n `)),i("duet-spacer",{key:"01b48e3d5918af7980363bb2256e65e9e109bfa3",size:"xx-small"})),i("slot",{key:"d2dec433d6eb6720850805950182ff9edeaa4dc3"})))}get element(){return o(this)}static get watchers(){return{open:["handleOpenChange"],controller:["handleControllerChange"]}}};k.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-popup-menu-list{position:absolute;top:0;left:0;z-index:950;visibility:hidden !important;width:max-content;min-width:175px;padding:8px;margin:0;color:rgb(8, 42, 77);list-style:none;background:rgb(255, 255, 255);border-radius:8px;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.07), 0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transform:scaleY(0);transform-origin:top center;transition:transform 300ms ease, visibility 300ms ease, opacity 300ms ease}.duet-popup-menu-list.open{visibility:visible !important;opacity:1;transform:scaleY(1)}.duet-popup-menu-list.fixed{position:fixed}.duet-popup-menu-list.scroll-visible{overflow-y:scroll;scroll-margin:20px}::slotted(duet-notification){max-width:360px}slot{--divider-margin:var(--space-x-small, 8px)}.duet-popup-menu-list.duet-theme-turva{color:rgb(23, 42, 59) !important;background:rgb(255, 255, 255)}";const w=class{constructor(i){t(this,i),this.duetFocus=e(this,"duetFocus",7),this.duetBlur=e(this,"duetBlur",7),this.focus=!1,this.isSafariBrowser=/^((?!chrome|android).)*safari/i.test(null===navigator||void 0===navigator?void 0:navigator.userAgent),this.accessibleRole="menuitem",this.theme="",this.external=!1,this.targetLanguage=void 0,this.value=void 0,this.leadingIcon=void 0,this.leadingIconColor=void 0,this.trailingIcon=void 0,this.trailingText=void 0,this.active=!1,this.activeDescendant=!1,this.onFocus=t=>{this.focus=!0,this.duetFocus.emit({originalEvent:t,value:this.value,component:"duet-popup-menu-item"})},this.onBlur=t=>{this.focus=!1,this.duetBlur.emit({originalEvent:t,value:this.value,component:"duet-popup-menu-item"})}}componentWillLoad(){u(this)}async setFocus(t){setTimeout((()=>this.itemElement.focus(t)),200)}async isFocused(){return this.focus}render(){const t=this.url?"a":"button";return i(s,{key:"e4d908ef580f7a4b7f6c73b005df3024376394cf",role:"menuitem"===this.accessibleRole&&this.isSafariBrowser?null:this.accessibleRole},i(t,{key:"9a8c95e7192879c5ef1d7c8bd8b4a1af4042f4bf",ref:t=>this.itemElement=t,tabIndex:"listitem"===this.accessibleRole?0:-1,onFocus:this.onFocus,onBlur:this.onBlur,role:"a"===t?"link":"button","aria-label":this.accessibleLabel,class:{"duet-popup-menu-item":!0,active:this.active,"duet-theme-turva":"turva"===this.theme,"active-descendant":this.activeDescendant},value:this.value,href:this.url,target:this.external?"_blank":void 0,rel:this.external?"noopener":void 0,lang:"button"===t?void 0:this.targetLanguage,hreflang:"button"===t?void 0:this.targetLanguage,"aria-current":this.active?"true":void 0},this.leadingIcon&&i("duet-icon",{key:"7483b06d6477b2901f37bc6ac5d0c73c74fcc0ac",name:this.leadingIcon,size:"x-small",color:this.leadingIconColor?this.leadingIconColor:"currentColor",class:"duet-popup-menu-item-leading",margin:"none"}),i("span",{key:"29946d960923b123aab68ac401922cb29aaa4cd8",class:"duet-popup-menu-item-label"},i("slot",{key:"9994e35a66c58296c3af45cd40f477bc23f460f8"})),(this.trailingIcon||this.active||this.url&&this.external)&&i("duet-icon",{key:"29a0b6a25a8376d41f5279bebebd208e65ce4640",name:this.url&&this.external?y.title:this.active?"messaging-checked-small":this.trailingIcon,size:this.url&&this.external||this.active?"xx-small":"x-small",color:"currentColor",class:"duet-popup-menu-item-trailing",margin:"none"}),this.trailingText&&i("span",{key:"6d6c1681d4e0551b89bd15d461d14d583fd12b93",class:"duet-popup-menu-item-trailing"},this.trailingText)))}get element(){return o(this)}};w.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start}.duet-popup-menu-item{position:relative;z-index:1;display:flex;flex-grow:1;gap:12px;align-items:center;height:100%;padding:8px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:rgb(8, 42, 77);text-align:left;text-decoration:none;cursor:pointer;border-radius:4px}.duet-popup-menu-item:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-popup-menu-item:focus,.duet-popup-menu-item:focus.duet-theme-turva{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-popup-menu-item.active{z-index:0;background:rgb(240, 247, 250)}.duet-popup-menu-item:hover{background:rgb(228, 241, 247)}.duet-popup-menu-item .duet-popup-menu-item-label{flex-grow:1}.duet-popup-menu-item .duet-popup-menu-item-trailing{padding-left:20px}.active-descendant{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .active-descendant,.active-descendant.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-popup-menu-item.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}.duet-popup-menu-item.active.duet-theme-turva{background:rgb(253, 247, 242)}.duet-popup-menu-item:hover.duet-theme-turva{background:rgb(251, 235, 225)}';export{k as duet_popup_menu,w as duet_popup_menu_item}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import{r as t,h as i,H as e,g as n}from"./p-B2cboDWM.js";import{i as d}from"./p-BzYmwX5_.js";const r=class{constructor(i){t(this,i),this.responsive=!1,this.breakpoint="small",this.direction="horizontal",this.rowReverse=!1,this.alignment="top",this.distribution="default",this.mobile="",this.gridTemplate=null,this.gridTemplateGap="auto"}validateAlignment(){"form_distribute"===this.alignment&&(console.warn('DuetGrid alignment value "form_distribute" is deprecated, replace with "form-distribute"'),this.alignment="form-distribute")}outerHeight(t){const i=t.offsetHeight,e=window.getComputedStyle(t);return parseInt(e.marginTop)+i+parseInt(e.marginBottom)}debounceWindowResizeHandler(){}async connectedCallback(){this.childObserver=new MutationObserver(this.updateGridItems.bind(this)),this.childObserver.observe(this.element,{childList:!0}),this.validateAlignment(),"form-distribute"===this.alignment&&(this.formDistributeObserver=new MutationObserver(this.updateGridItemsWithInputFields.bind(this)),this.formDistributeObserver.observe(this.element,{subtree:!0,childList:!0,characterData:!0,attributeFilter:["error"]}),window.addEventListener("resize",this.debounceWindowResizeHandler)),this.updateGridItems()}componentDidLoad(){"form-distribute"===this.alignment&&this.updateGridItemsWithInputFields()}disconnectedCallback(){this.childObserver&&(this.childObserver.disconnect(),this.childObserver=void 0),this.formDistributeObserver&&(this.formDistributeObserver.disconnect(),this.formDistributeObserver=void 0),window.removeEventListener("resize",this.debounceWindowResizeHandler)}getDirectChildren(){return Array.from(this.element.querySelectorAll(":scope > *"))}async updateGridItems(){this.getDirectChildren().filter((t=>"duet-grid-item"===t.tagName.toLowerCase())).forEach((t=>{t.responsive=this.responsive,t.breakpoint=this.breakpoint,t.direction=this.direction,t.rowReverse=this.rowReverse}))}async updateGridItemsWithInputFields(){const t=["duet-button","duet-checkbox","duet-choice","duet-choice-group","duet-combobox","duet-date-picker","duet-fieldset","duet-grid-item","duet-input","duet-multiselect","duet-number-input","duet-phone-input","duet-radio","duet-radio-group","duet-range-slider","duet-select","duet-textarea","duet-toggle"],i=[".duet-checkbox-error",".duet-fieldset-error",".duet-input-error",".duet-multiselect-error",".duet-select-error",".duet-textarea-error"],e=this.getDirectChildren().filter((i=>!!i.querySelector(t.join(","))||t.includes(i.tagName.toLowerCase())));e.forEach((t=>t.classList.add("form-distribute")));const n=!!window&&"column"===window.getComputedStyle(this.element).flexDirection,d=t=>{var e;return(null==t?void 0:t.querySelector(i.join(",")))||(null===(e=null==t?void 0:t.shadowRoot)||void 0===e?void 0:e.querySelector(i.join(",")))},r=i=>{var e;const n=[...Array.from(null===(e=i.shadowRoot)||void 0===e?void 0:e.querySelectorAll(t.join(","))),...Array.from(i.querySelectorAll(t.join(",")))],d=n.map(r).flat();return[...n,...d]},a=t=>{return d(t)||(i=r(t),d(i.find(d)));var i};let o=0;const m=[];e.forEach((t=>{const i=a(t),e=i?this.outerHeight(i):0;m.push(e)})),o=Math.max(...m),e.forEach((t=>{const i=a(t),e=i?this.outerHeight(i):0;e<o&&!n?t.setAttribute("style",`padding-bottom: ${o-e}px;`):(e===o||n)&&t.setAttribute("style","padding-bottom: 0px;")}))}render(){return i(e,{key:"e64260236eda4217a2cb10444342c33d243da8cf",class:{"duet-grid":!0,"duet-no-stacking":!this.responsive,"duet-grid-align-top":"top"===this.alignment,"duet-grid-align-bottom":"bottom"===this.alignment||"form-distribute"===this.alignment,"duet-grid-align-center":"center"===this.alignment,"duet-grid-align-stretch":"stretch"===this.alignment,"duet-grid-align-baseline":"baseline"===this.alignment,"duet-grid-distribution-left":"left"===this.distribution,"duet-grid-distribution-right":"right"===this.distribution,"duet-grid-distribution-center":"center"===this.distribution,"duet-grid-distribution-between":"space-between"===this.distribution,"duet-grid-distribution-around":"space-around"===this.distribution,"duet-grid-distribution-evenly":"space-evenly"===this.distribution,"duet-grid-mobile-left":"left"===this.mobile,"duet-grid-mobile-center":"center"===this.mobile,"duet-grid-mobile-right":"right"===this.mobile,"duet-grid-direction-horizontal":"horizontal"===this.direction,"duet-grid-direction-vertical":"vertical"===this.direction,"duet-grid-breakpoint-x-small":"x-small"===this.breakpoint,"duet-grid-breakpoint-small":"small"===this.breakpoint,"duet-grid-breakpoint-medium":"medium"===this.breakpoint,"duet-grid-breakpoint-large":"large"===this.breakpoint,"duet-grid-breakpoint-x-large":"x-large"===this.breakpoint,"duet-grid-row-reverse":this.rowReverse,["duet-grid-variation-"+(this.gridTemplate?"grid":"flex")]:!0,[`duet-grid-template-${this.gridTemplate}`]:!0,"duet-grid-no-row-gap":this.gridTemplateGap.startsWith("none")&&"button-grid"!==this.gridTemplate,"duet-grid-no-column-gap":this.gridTemplateGap.endsWith("none")&&"button-grid"!==this.gridTemplate}},i("slot",{key:"1cb11ce3685bf5043dfa3e36e6a0ff3653106b54"}))}get element(){return n(this)}static get watchers(){return{alignment:["validateAlignment"],responsive:["updateGridItems"],breakpoint:["updateGridItems"],direction:["updateGridItems"]}}};r.style=":host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host(.duet-grid-variation-flex) {\n display: flex !important;\n flex-direction: column !important;\n align-items: flex-start !important;\n justify-content: flex-start !important;\n width: 100%;\n max-width: 100%;\n height: auto;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-breakpoint-x-small) {\n flex-direction: row !important;\n}\n@media (max-width: 22.5em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-x-small) {\n flex-direction: column !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-breakpoint-x-small.duet-grid-row-reverse) {\n flex-direction: row-reverse !important;\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-small) {\n flex-direction: row !important;\n }\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-small.duet-grid-row-reverse) {\n flex-direction: row-reverse !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-medium) {\n flex-direction: row !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-medium.duet-grid-row-reverse) {\n flex-direction: row-reverse !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-large) {\n flex-direction: row !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-large.duet-grid-row-reverse) {\n flex-direction: row-reverse !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-x-large) {\n flex-direction: row !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-breakpoint-x-large.duet-grid-row-reverse) {\n flex-direction: row-reverse !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-wrap) {\n flex-wrap: wrap !important;\n}\n\n:host(.duet-grid-variation-flex.duet-no-stacking) {\n flex-direction: row !important;\n}\n\n:host(.duet-grid-variation-flex.duet-no-stacking.duet-grid-row-reverse) {\n flex-direction: row-reverse !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-x-small) {\n flex-direction: column !important;\n}\n@media (max-width: 35.9375em) {\n :host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-x-small) {\n flex-direction: column !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-small) {\n flex-direction: column !important;\n}\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-small) {\n flex-direction: column !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-medium) {\n flex-direction: column !important;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-medium) {\n flex-direction: column !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-large) {\n flex-direction: column !important;\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-large) {\n flex-direction: column !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-x-large) {\n flex-direction: column !important;\n}\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-direction-vertical.duet-grid-breakpoint-x-large) {\n flex-direction: column !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-top.duet-no-stacking) {\n align-items: flex-start !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-bottom.duet-no-stacking) {\n align-items: flex-end !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-center.duet-no-stacking) {\n align-items: center !important;\n}\n\n.duet-grid-align-stretch.duet-no-stacking {\n align-items: stretch !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-baseline.duet-no-stacking) {\n align-items: baseline !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-top.duet-grid-breakpoint-x-small) {\n align-items: flex-start !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-bottom.duet-grid-breakpoint-x-small) {\n align-items: flex-end !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-center.duet-grid-breakpoint-x-small) {\n align-items: center !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-stretch.duet-grid-breakpoint-x-small) {\n align-items: stretch !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-align-baseline.duet-grid-breakpoint-x-small) {\n align-items: baseline !important;\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-align-top.duet-grid-breakpoint-small) {\n align-items: flex-start !important;\n }\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-align-bottom.duet-grid-breakpoint-small) {\n align-items: flex-end !important;\n }\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-align-center.duet-grid-breakpoint-small) {\n align-items: center !important;\n }\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-align-stretch.duet-grid-breakpoint-small) {\n align-items: stretch !important;\n }\n}\n\n@media (min-width: 36em) {\n :host(.duet-grid-variation-flex.duet-grid-align-baseline.duet-grid-breakpoint-small) {\n align-items: baseline !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-align-top.duet-grid-breakpoint-medium) {\n align-items: flex-start !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-align-bottom.duet-grid-breakpoint-medium) {\n align-items: flex-end !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-align-center.duet-grid-breakpoint-medium) {\n align-items: center !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-align-stretch.duet-grid-breakpoint-medium) {\n align-items: stretch !important;\n }\n}\n\n@media (min-width: 48em) {\n :host(.duet-grid-variation-flex.duet-grid-align-baseline.duet-grid-breakpoint-medium) {\n align-items: baseline !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-align-top.duet-grid-breakpoint-large) {\n align-items: flex-start !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-align-bottom.duet-grid-breakpoint-large) {\n align-items: flex-end !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-align-center.duet-grid-breakpoint-large) {\n align-items: center !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-align-stretch.duet-grid-breakpoint-large) {\n align-items: stretch !important;\n }\n}\n\n@media (min-width: 62em) {\n :host(.duet-grid-variation-flex.duet-grid-align-baseline.duet-grid-breakpoint-large) {\n align-items: baseline !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-align-top.duet-grid-breakpoint-x-large) {\n align-items: flex-start !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-align-bottom.duet-grid-breakpoint-x-large) {\n align-items: flex-end !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-align-center.duet-grid-breakpoint-x-large) {\n align-items: center !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-align-stretch.duet-grid-breakpoint-x-large) {\n align-items: stretch !important;\n }\n}\n\n@media (min-width: 64.0625em) {\n :host(.duet-grid-variation-flex.duet-grid-align-baseline.duet-grid-breakpoint-x-large) {\n align-items: baseline !important;\n }\n}\n\n:host(.duet-grid-variation-flex.duet-grid-distribution-left) {\n justify-content: flex-start !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-distribution-right) {\n justify-content: flex-end !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-distribution-center) {\n justify-content: center !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-distribution-between) {\n justify-content: space-between !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-distribution-around) {\n justify-content: space-around !important;\n}\n\n:host(.duet-grid-variation-flex.duet-grid-distribution-evenly) {\n justify-content: space-evenly !important;\n}\n\n@media (max-width: 35.9375em) {\n :host(.duet-grid-variation-flex.duet-grid-mobile-left) {\n align-items: flex-start !important;\n justify-content: flex-start !important;\n text-align: left !important;\n }\n}\n\n@media (max-width: 35.9375em) {\n :host(.duet-grid-variation-flex.duet-grid-mobile-center) {\n align-items: center !important;\n justify-content: center !important;\n text-align: center !important;\n }\n :host(.duet-grid-variation-flex.duet-grid-mobile-center) * {\n text-align: center !important;\n }\n}\n\n@media (max-width: 35.9375em) {\n :host(.duet-grid-variation-flex.duet-grid-mobile-right) {\n align-items: flex-end !important;\n justify-content: flex-end !important;\n text-align: right !important;\n }\n :host(.duet-grid-variation-flex.duet-grid-mobile-right) * {\n text-align: right !important;\n }\n}\n\n:host(.duet-grid-variation-grid) {\n display: grid;\n grid-template-rows: repeat(1, 1fr);\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: 16px;\n align-items: flex-start;\n justify-content: center;\n padding: 0 20px;\n container-type: inline-size;\n overflow-x: clip;\n}\n@media (min-width: 36em) {\n :host(.duet-grid-variation-grid) {\n gap: 24px;\n padding: 0 40px;\n }\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid) {\n grid-template-columns: repeat(8, 55px);\n gap: 24px 32px;\n padding: 0;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid) {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n padding: 0 64px;\n }\n}\n@media (min-width: 76.25em) {\n :host(.duet-grid-variation-grid) {\n grid-template-columns: repeat(12, 55px);\n gap: 40px;\n padding: 0;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-no-row-gap) {\n row-gap: 0;\n}\n\n:host(.duet-grid-variation-grid.duet-grid-no-column-gap) {\n column-gap: 0;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {\n grid-template-columns: repeat(8, 83px);\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n }\n}\n@media (min-width: 76.25em) {\n :host(.duet-grid-variation-grid.duet-grid-no-column-gap) {\n grid-template-columns: repeat(12, 91.6666666667px);\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-small) ::slotted(*) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-small) ::slotted(*) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-small) ::slotted(*) {\n grid-column: 3/span 8;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-medium) ::slotted(*) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-medium) ::slotted(*) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-medium) ::slotted(*) {\n grid-column: 2/span 10;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-large) ::slotted(*) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-large) ::slotted(*) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-large) ::slotted(*) {\n grid-column: 1/span 12;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-sidebar-right) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-right) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-right) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 8;\n }\n}\n:host(.duet-grid-variation-grid.duet-grid-template-sidebar-right) ::slotted(:nth-child(even)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-right) ::slotted(:nth-child(even)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-right) ::slotted(:nth-child(even)) {\n grid-column: 9/span 4;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-sidebar-left) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-left) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-left) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 4;\n }\n}\n:host(.duet-grid-variation-grid.duet-grid-template-sidebar-left) ::slotted(:nth-child(even)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-left) ::slotted(:nth-child(even)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-sidebar-left) ::slotted(:nth-child(even)) {\n grid-column: 5/span 8;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-two-columns) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-two-columns) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 4;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-two-columns) ::slotted(:nth-child(odd)) {\n grid-column: 1/span 6;\n }\n}\n:host(.duet-grid-variation-grid.duet-grid-template-two-columns) ::slotted(:nth-child(even)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-two-columns) ::slotted(:nth-child(even)) {\n grid-column: 5/span 4;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-two-columns) ::slotted(:nth-child(even)) {\n grid-column: 7/span 6;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+1)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+1)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+1)) {\n grid-column: 1/span 4;\n }\n}\n:host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+2)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+2)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+2)) {\n grid-column: 5/span 4;\n }\n}\n:host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+3)) {\n grid-column: 1/span 4;\n}\n@media (min-width: 48em) {\n :host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+3)) {\n grid-column: 1/span 8;\n }\n}\n@media (min-width: 62em) {\n :host(.duet-grid-variation-grid.duet-grid-template-three-columns) ::slotted(:nth-child(3n+3)) {\n grid-column: 9/span 4;\n }\n}\n\n:host(.duet-grid-variation-grid.duet-grid-template-button-grid) {\n grid-template-columns: minmax(0, 1fr);\n gap: 12px;\n padding: 0;\n}\n@media (min-width: 36em) {\n :host(.duet-grid-variation-grid.duet-grid-template-button-grid) {\n gap: 16px;\n }\n}\n@container (min-width: 664px) {\n :host(.duet-grid-variation-grid.duet-grid-template-button-grid) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n@container (min-width: 1100px) {\n :host(.duet-grid-variation-grid.duet-grid-template-button-grid) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}";const a=class{constructor(i){t(this,i),this.fill=!1,this.theme="",this.margin="auto",this.responsive=!1,this.direction="horizontal",this.breakpoint="small",this.rowReverse=!1}componentWillLoad(){d(this)}render(){return i(e,{key:"59b2546565c78716d981db97ba3a66b9f4b06104",style:{"min-width":this.minWidth,"max-width":this.maxWidth},class:{"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-grid-item":!0,"duet-grid-item-fill":this.fill,"duet-grid-item-responsive":this.responsive,"duet-grid-item-row-reverse":this.rowReverse,"duet-grid-direction-horizontal":"horizontal"===this.direction,"duet-grid-direction-vertical":"vertical"===this.direction,"duet-grid-item-br-x-small":"x-small"===this.breakpoint,"duet-grid-item-br-small":"small"===this.breakpoint,"duet-grid-item-br-medium":"medium"===this.breakpoint,"duet-grid-item-br-large":"large"===this.breakpoint,"duet-grid-item-br-x-large":"x-large"===this.breakpoint}},i("slot",{key:"78c0ca977366f49a62d91c19e42b7140455c0e7e"}))}get element(){return n(this)}};a.style=':host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:rgb(8, 42, 77)}:host(.duet-grid-direction-vertical){padding-right:0;padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):first-child){padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):first-of-type){padding-left:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):last-child){padding-right:0}:host(.duet-grid-direction-horizontal:not(.duet-grid-item-row-reverse):last-of-type){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:first-child){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:first-of-type){padding-right:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:last-child){padding-left:0}:host(.duet-grid-direction-horizontal.duet-grid-item-row-reverse:last-of-type){padding-left:0}@media (max-width: 35.9375em){:host(.duet-grid-item-responsive){width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){:host(.duet-grid-item-br-medium){width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){:host(.duet-grid-item-responsive.duet-grid-item-br-medium){padding-right:0;padding-left:0}}@media screen and (max-width: 64em){:host(.duet-grid-item-br-x-large){width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){:host(.duet-grid-item-responsive.duet-grid-item-br-x-large){padding-right:0;padding-left:0}}:host(.duet-grid-item-fill){flex:1 1 auto;width:100%}:host(.duet-m-0){padding:0 !important;margin:0 !important}:host(.duet-theme-turva){font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}';export{r as duet_grid,a as duet_grid_item}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as t,H as i,g as a}from"./p-
|
|
4
|
+
import{r as e,h as t,H as i,g as a}from"./p-B2cboDWM.js";import{n as r}from"./p-vVCYtBMj.js";import{a as o}from"./p-8RjiAqaE.js";import{i as n}from"./p-BzYmwX5_.js";import{g as s}from"./p-B8-N_qjs.js";import{g as m,c as d,d as u}from"./p-CFqvB5PA.js";import"./p-DvwKrUS6.js";import"./p-5lFzA17H.js";import"./p-C6E9F6QT.js";const l=class{constructor(t){e(this,t),this.theme="",this.active=!1,this.leadingIcon=void 0,this.trailingIcon=void 0,this.accessiblePopup="false",this.accessibleLabelExternalDefaults=o,this.accessibleLabelExternal=m(this.accessibleLabelExternalDefaults),this.external=!1}componentWillLoad(){n(this)}connectedCallback(){d(this,{prop:"accessibleLabelExternal",defaults:"accessibleLabelExternalDefaults"})}disconnectedCallback(){u(this)}async setFocus(e){setTimeout((()=>this.itemElement.focus(e)),200)}render(){const e=this.url?"a":"button";return t(i,{key:"9feca792c6d12ed05344d17db4a5076ad037994e",role:"listitem"},t(e,{key:"5ab6813f5290c5f323713e6015a46330089d555a",target:this.url?this.external?"_blank":"_self":null,ref:e=>this.itemElement=e,class:{"duet-menu-bar-item":!0,"duet-theme-turva":"turva"===this.theme,active:this.active},href:this.url,role:"a"===e?"link":"button","aria-current":this.active?"true":"false","aria-label":this.url&&s(this)||this.accessibleLabel,"aria-expanded":null!=this.accessibleExpanded?this.accessibleExpanded.toString():void 0,"aria-haspopup":null!=this.accessiblePopup?this.accessiblePopup.toString():void 0,rel:this.external?"noopener":void 0},this.leadingIcon&&t("duet-icon",{key:"7b6541e7b7cab53fedf815feebc683b9f122e323",class:"leading-icon",size:"auto",name:this.leadingIcon,margin:"none",theme:this.theme,color:"currentColor"}),t("slot",{key:"ab89cf87285d10e52798cd123c404acb69d6bf91"}),(this.trailingIcon||this.external)&&t("duet-icon",{key:"6bc587bed959b634caf6b25db7f3374ed538151c",class:{"trailing-icon":!!this.trailingIcon,"trailing-icon-arrow":"action-arrow-down-small"===this.trailingIcon,"external-icon":!!this.external,rotate:"action-arrow-down-small"===this.trailingIcon&&this.accessibleExpanded},theme:this.theme,name:this.trailingIcon?this.trailingIcon:this.external?r.title:"",margin:"none",size:"auto",color:"currentColor"})))}get element(){return a(this)}};l.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;height:100%}.duet-menu-bar-item{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;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:inherit;font-weight:inherit;color:inherit;text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer}.duet-menu-bar-item:focus{outline:2px solid;outline-offset:-4px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-menu-bar-item:focus,.duet-menu-bar-item:focus.duet-theme-turva{outline:2px solid;outline-offset:-4px;outline-color:rgba(53, 79, 101, 0.8)}.duet-menu-bar-item .leading-icon,.duet-menu-bar-item .trailing-icon{width:20px;height:20px}@media (min-width: 62em){.duet-menu-bar-item .leading-icon,.duet-menu-bar-item .trailing-icon{width:16px;height:16px}}.duet-menu-bar-item .trailing-icon.trailing-icon-arrow{width:7px;height:7px}.duet-menu-bar-item .external-icon{width:10px;height:10px}.duet-menu-bar-item[aria-expanded=true]{color:rgb(0, 119, 179)}.duet-menu-bar-item[aria-expanded=true] .trailing-icon.rotate{transform:rotate(180deg)}@media (min-width: 62em){.duet-menu-bar-item{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-item{padding:0 28px}}.duet-menu-bar-item.active{color:rgb(0, 119, 179)}.duet-menu-bar-item.active::after{position:absolute;top:auto;bottom:2px;left:0;z-index:1;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(2px);transition:300ms ease}@media (min-width: 62em){.duet-menu-bar-item.active::after{z-index:auto;height:2px}}@media (min-width: 62em){.duet-menu-bar-item:hover{color:rgb(0, 119, 179)}}.duet-menu-bar-item.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.duet-menu-bar-item.duet-theme-turva::after{background:rgb(230, 23, 64)}.duet-menu-bar-item.duet-theme-turva[aria-expanded=true]{color:rgb(230, 23, 64)}.duet-menu-bar-item.active.duet-theme-turva{color:rgb(230, 23, 64)}.duet-menu-bar-item.active.duet-theme-turva::after{background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-menu-bar-item.duet-theme-turva:hover{color:rgb(230, 23, 64)}}';export{l as duet_menu_bar_item}
|