@duetds/components 10.7.0 → 10.8.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 +385 -237
- package/hydrate/index.mjs +385 -237
- package/lib/cjs/{a11y-utils-DmCjy3Q3.js → a11y-utils-DZ42p33K.js} +1 -1
- package/lib/cjs/{app-globals-D1tikFob.js → app-globals-DiBfle2l.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 +6 -6
- package/lib/cjs/duet-banner.cjs.entry.js +4 -4
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +6 -6
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +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 +10 -10
- package/lib/cjs/duet-card.cjs.entry.js +5 -5
- 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 +3 -3
- package/lib/cjs/duet-choice_2.cjs.entry.js +16 -7
- package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
- package/lib/cjs/duet-combobox.cjs.entry.js +31 -14
- package/lib/cjs/duet-contact-card.cjs.entry.js +6 -6
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +17 -13
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -8
- package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
- package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
- package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
- package/lib/cjs/duet-footer.cjs.entry.js +4 -4
- package/lib/cjs/duet-grid_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-hero.cjs.entry.js +5 -5
- package/lib/cjs/duet-icon.cjs.entry.js +5 -5
- package/lib/cjs/duet-indicator.cjs.entry.js +3 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +33 -19
- package/lib/cjs/duet-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-list_2.cjs.entry.js +4 -4
- 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 +3 -3
- package/lib/cjs/duet-modal.cjs.entry.js +12 -13
- package/lib/cjs/duet-multiselect.cjs.entry.js +10 -10
- 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 +8 -8
- package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
- package/lib/cjs/duet-page-heading.cjs.entry.js +6 -6
- package/lib/cjs/duet-pagination_2.cjs.entry.js +16 -16
- package/lib/cjs/duet-panel.cjs.entry.js +4 -4
- package/lib/cjs/duet-phone-input.cjs.entry.js +13 -5
- package/lib/cjs/duet-popup-menu_2.cjs.entry.js +22 -13
- package/lib/cjs/duet-progress.cjs.entry.js +3 -3
- package/lib/cjs/duet-promo-card.cjs.entry.js +6 -6
- package/lib/cjs/duet-radio_2.cjs.entry.js +7 -7
- 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 +9 -9
- 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 +3 -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-teaser.cjs.entry.js +6 -6
- package/lib/cjs/duet-textarea.cjs.entry.js +20 -11
- 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 +10 -10
- package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
- 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-Di-nO8ua.js → errorcodes.utils-MdC-C1Fa.js} +1 -1
- package/lib/cjs/{floating-ui.dom.browser.min-Cj0r5YDz.js → floating-ui.dom.browser.min-DaH62q3u.js} +83 -0
- package/lib/cjs/{focus-utils-uEO1pi2O.js → focus-utils-KpSp5WDp.js} +1 -1
- package/lib/cjs/{index-BGRMvA4R.js → index-BP4tQozH.js} +1 -1
- package/lib/cjs/{label-CwgdRt0Q.js → label-CjvqwyJR.js} +1 -1
- package/lib/cjs/{language-utils-CrB5zNlc.js → language-utils-BCJyRc_q.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/{picture-utils-CZhgDlXJ.js → picture-utils-Dp6TiDHy.js} +1 -1
- package/lib/cjs/{slot-utils-4v5bqyQh.js → slot-utils-DvtoWHAA.js} +1 -1
- package/lib/cjs/{themeable-component-I4SEm6nQ.js → themeable-component-BXqwFhg-.js} +1 -1
- package/lib/collection/components/duet-badge/duet-badge.js +2 -2
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
- package/lib/collection/components/duet-button/duet-button.css +3 -0
- package/lib/collection/components/duet-callout/duet-callout.js +2 -2
- package/lib/collection/components/duet-card/duet-card.css +13 -9
- package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +12 -3
- package/lib/collection/components/duet-combobox/duet-combobox-select.js +1 -1
- package/lib/collection/components/duet-combobox/duet-combobox.js +29 -11
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +2 -2
- package/lib/collection/components/duet-date-picker/date-picker-day.js +1 -1
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +34 -7
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
- package/lib/collection/components/duet-icon/duet-icon.js +3 -3
- package/lib/collection/components/duet-input/duet-input.css +31 -0
- package/lib/collection/components/duet-input/duet-input.js +48 -14
- package/lib/collection/components/duet-link/duet-link.css +16 -0
- package/lib/collection/components/duet-link/duet-link.js +2 -2
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.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.css +8 -1
- package/lib/collection/components/duet-modal/duet-modal.js +6 -7
- 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 +23 -4
- package/lib/collection/components/duet-overlay/duet-overlay.js +1 -1
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +3 -3
- package/lib/collection/components/duet-pagination/duet-pagination.js +11 -11
- 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 +9 -1
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +13 -4
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +2 -0
- 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 +3 -3
- 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.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.js +2 -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-teaser/duet-teaser.js +2 -2
- package/lib/collection/components/duet-textarea/duet-textarea.css +8 -0
- package/lib/collection/components/duet-textarea/duet-textarea.js +35 -6
- 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 +6 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +3 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
- 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/duet/duet.esm.js +1 -1
- package/lib/duet/{p-4695398d.entry.js → p-01a6e993.entry.js} +1 -1
- package/lib/duet/{p-e3d91f53.entry.js → p-0476dabc.entry.js} +1 -1
- package/lib/duet/{p-05a6360b.entry.js → p-06e879d2.entry.js} +1 -1
- package/lib/duet/p-0f433f55.entry.js +4 -0
- package/lib/duet/{p-5fc88879.entry.js → p-126b3fd0.entry.js} +1 -1
- package/lib/duet/p-1566e2ec.entry.js +4 -0
- package/lib/duet/{p-a6dc8c7d.entry.js → p-1956dd8e.entry.js} +1 -1
- package/lib/duet/{p-8b9ffff4.entry.js → p-1db9e784.entry.js} +1 -1
- package/lib/duet/{p-b2f0905a.entry.js → p-1deed1aa.entry.js} +1 -1
- package/lib/duet/{p-f264879d.entry.js → p-27894857.entry.js} +1 -1
- package/lib/duet/{p-868647de.entry.js → p-2c2e7c9b.entry.js} +1 -1
- package/lib/duet/{p-6865e880.entry.js → p-2c465a03.entry.js} +1 -1
- package/lib/duet/p-2d780739.entry.js +4 -0
- package/lib/duet/{p-9987420d.entry.js → p-2f092aed.entry.js} +1 -1
- package/lib/duet/p-304af2e5.entry.js +4 -0
- package/lib/duet/{p-0df7094e.entry.js → p-34d16cbb.entry.js} +1 -1
- package/lib/duet/p-34ec25cb.entry.js +4 -0
- package/lib/duet/{p-430fad4e.entry.js → p-37d5a3c5.entry.js} +1 -1
- package/lib/duet/{p-e9a7215b.entry.js → p-3932a89b.entry.js} +1 -1
- package/lib/duet/{p-4bc7198d.entry.js → p-3c8d76e2.entry.js} +1 -1
- package/lib/duet/{p-9d41df85.entry.js → p-3d454072.entry.js} +1 -1
- package/lib/duet/{p-c5c63d0f.entry.js → p-3e66035d.entry.js} +1 -1
- package/lib/duet/p-471d4d75.entry.js +4 -0
- package/lib/duet/{p-ccaf5c28.entry.js → p-4ddf8009.entry.js} +1 -1
- package/lib/duet/{p-047af1e2.entry.js → p-5044e0ed.entry.js} +1 -1
- package/lib/duet/{p-c26e2123.entry.js → p-5103d5f4.entry.js} +1 -1
- package/lib/duet/{p-f959ca52.entry.js → p-51693a7c.entry.js} +1 -1
- package/lib/duet/{p-b58cfa18.entry.js → p-54bfe081.entry.js} +1 -1
- package/lib/duet/p-588e75cd.entry.js +4 -0
- package/lib/duet/{p-feae1702.entry.js → p-5d70e259.entry.js} +1 -1
- package/lib/duet/p-618cfeef.entry.js +4 -0
- package/lib/duet/{p-8ea85c31.entry.js → p-6449b1cc.entry.js} +1 -1
- package/lib/duet/{p-a944ffff.entry.js → p-6502a274.entry.js} +1 -1
- package/lib/duet/p-69a72f22.entry.js +4 -0
- package/lib/duet/{p-d78923f9.entry.js → p-6e4536e3.entry.js} +1 -1
- package/lib/duet/p-6ed52261.entry.js +4 -0
- package/lib/duet/{p-b4a1c719.entry.js → p-712adcec.entry.js} +1 -1
- package/lib/duet/{p-c49a72ad.entry.js → p-79afa773.entry.js} +1 -1
- package/lib/duet/p-7d61dc62.entry.js +4 -0
- package/lib/duet/p-7f9de2a6.entry.js +4 -0
- package/lib/duet/{p-f17438c7.entry.js → p-870d3c78.entry.js} +1 -1
- package/lib/duet/{p-017873ec.entry.js → p-88bf42dc.entry.js} +1 -1
- package/lib/duet/{p-2013545d.entry.js → p-88e65283.entry.js} +1 -1
- package/lib/duet/{p-8ad4bb4c.entry.js → p-8aaf283d.entry.js} +1 -1
- package/lib/duet/p-8d939074.entry.js +4 -0
- package/lib/duet/{p-84ed366e.entry.js → p-908fca79.entry.js} +1 -1
- package/lib/duet/{p-1358a396.entry.js → p-93080f2d.entry.js} +1 -1
- package/lib/duet/{p-b9e97305.entry.js → p-94d057ea.entry.js} +1 -1
- package/lib/duet/{p-8da66626.entry.js → p-99367980.entry.js} +1 -1
- package/lib/duet/{p-2f0f3a4a.entry.js → p-9a248faf.entry.js} +1 -1
- package/lib/duet/p-9d405b35.entry.js +4 -0
- package/lib/duet/{p-058fcc72.entry.js → p-9ed154f5.entry.js} +1 -1
- package/lib/duet/{p-DtprEjjN.js → p-B1GzOTNZ.js} +1 -1
- package/lib/duet/p-BQTM1aqo.js +4 -0
- package/lib/duet/{p-D4MpGrUR.js → p-CdcBxXLd.js} +1 -1
- package/lib/duet/p-CirNV9Vh.js +4 -0
- package/lib/duet/{p-B0XOGsB6.js → p-Cj9zQLn2.js} +1 -1
- package/lib/duet/p-D3ladndz.js +4 -0
- package/lib/duet/p-D4pJQwPW.js +4 -0
- package/lib/duet/p-Dbe-q7B5.js +4 -0
- package/lib/duet/{p-DSNAI2Lx.js → p-DmLE9-rw.js} +1 -1
- package/lib/duet/p-DoEOuTZj.js +4 -0
- package/lib/duet/{p-420df0aa.entry.js → p-a2514ad4.entry.js} +1 -1
- package/lib/duet/{p-a2f7ef35.entry.js → p-a4a3febe.entry.js} +1 -1
- package/lib/duet/p-a517cdce.entry.js +4 -0
- package/lib/duet/{p-0acf9bcf.entry.js → p-a70bb08d.entry.js} +1 -1
- package/lib/duet/{p-1498e4a8.entry.js → p-aa2c3e0a.entry.js} +1 -1
- package/lib/duet/{p-0c42cc61.entry.js → p-af7b2954.entry.js} +1 -1
- package/lib/duet/{p-1ec31f22.entry.js → p-b37d4985.entry.js} +1 -1
- package/lib/duet/{p-fb59f80d.entry.js → p-b4cf5f14.entry.js} +1 -1
- package/lib/duet/{p-ebe55a34.entry.js → p-b6233e75.entry.js} +1 -1
- package/lib/duet/{p-07d43c60.entry.js → p-b97098a6.entry.js} +1 -1
- package/lib/duet/{p-aebcf484.entry.js → p-bd0263e4.entry.js} +1 -1
- package/lib/duet/{p-69bcb076.entry.js → p-beaa4612.entry.js} +1 -1
- package/lib/duet/{p-a2106abd.entry.js → p-c15c8dd2.entry.js} +1 -1
- package/lib/duet/{p-b7351bfd.entry.js → p-c223cd3e.entry.js} +1 -1
- package/lib/duet/{p-b7bb7472.entry.js → p-c35ae5a0.entry.js} +1 -1
- package/lib/duet/{p-b5204ec2.entry.js → p-c435bb67.entry.js} +1 -1
- package/lib/duet/p-c6e3723f.entry.js +4 -0
- package/lib/duet/{p-a62e6d8d.entry.js → p-c7b32952.entry.js} +1 -1
- package/lib/duet/p-c95669be.entry.js +4 -0
- package/lib/duet/{p-9dee0205.entry.js → p-c987a644.entry.js} +1 -1
- package/lib/duet/p-c9b8c2ba.entry.js +4 -0
- package/lib/duet/{p-3ce04abc.entry.js → p-c9bdf927.entry.js} +1 -1
- package/lib/duet/{p-b3a7ef62.entry.js → p-cdf0fb4c.entry.js} +1 -1
- package/lib/duet/p-d069edf1.entry.js +4 -0
- package/lib/duet/p-ddafe27d.entry.js +4 -0
- package/lib/duet/{p-fb0f6212.entry.js → p-dfdec452.entry.js} +1 -1
- package/lib/duet/{p-f89da74c.entry.js → p-e0f729ad.entry.js} +1 -1
- package/lib/duet/{p-bef7eed7.entry.js → p-e32af858.entry.js} +1 -1
- package/lib/duet/{p-68a9ffb5.entry.js → p-e353daaf.entry.js} +1 -1
- package/lib/duet/p-e5dbac7a.entry.js +4 -0
- package/lib/duet/{p-f647f09e.entry.js → p-ec2dcb1b.entry.js} +1 -1
- package/lib/duet/{p-0ab559fb.entry.js → p-ed7fbc44.entry.js} +1 -1
- package/lib/duet/{p-76e2c659.entry.js → p-ef6ce9dc.entry.js} +1 -1
- package/lib/duet/{p-2b17c517.entry.js → p-fcb9c0db.entry.js} +1 -1
- package/lib/duet/{p-e78af675.entry.js → p-fe821e46.entry.js} +1 -1
- package/lib/duet/p-qboSQpUe.js +4 -0
- package/lib/esm/{a11y-utils-DZqe1lDK.js → a11y-utils-DbDY4hy4.js} +1 -1
- package/lib/esm/{app-globals-Byl9AdI1.js → app-globals-COfbcvxE.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 +6 -6
- package/lib/esm/duet-banner.entry.js +4 -4
- package/lib/esm/duet-breadcrumb.entry.js +6 -6
- package/lib/esm/duet-breadcrumbs.entry.js +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 +10 -10
- package/lib/esm/duet-card.entry.js +5 -5
- 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 +3 -3
- package/lib/esm/duet-choice_2.entry.js +16 -7
- package/lib/esm/duet-collapsible.entry.js +3 -3
- package/lib/esm/duet-combobox.entry.js +31 -14
- package/lib/esm/duet-contact-card.entry.js +6 -6
- package/lib/esm/duet-cookie-consent.entry.js +2 -2
- package/lib/esm/duet-date-picker.entry.js +17 -13
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +8 -8
- package/lib/esm/duet-empty-state.entry.js +2 -2
- package/lib/esm/duet-fieldset.entry.js +6 -6
- package/lib/esm/duet-file-chooser.entry.js +2 -2
- package/lib/esm/duet-footer.entry.js +4 -4
- package/lib/esm/duet-grid_2.entry.js +4 -4
- package/lib/esm/duet-header_2.entry.js +3 -3
- package/lib/esm/duet-hero.entry.js +5 -5
- package/lib/esm/duet-icon.entry.js +5 -5
- package/lib/esm/duet-indicator.entry.js +3 -3
- package/lib/esm/duet-input_2.entry.js +33 -19
- package/lib/esm/duet-layout.entry.js +2 -2
- package/lib/esm/duet-list_2.entry.js +4 -4
- 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 +3 -3
- package/lib/esm/duet-modal.entry.js +12 -13
- package/lib/esm/duet-multiselect.entry.js +10 -10
- 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 +8 -8
- package/lib/esm/duet-overlay.entry.js +3 -3
- package/lib/esm/duet-page-heading.entry.js +6 -6
- package/lib/esm/duet-pagination_2.entry.js +16 -16
- package/lib/esm/duet-panel.entry.js +4 -4
- package/lib/esm/duet-phone-input.entry.js +13 -5
- package/lib/esm/duet-popup-menu_2.entry.js +22 -13
- package/lib/esm/duet-progress.entry.js +3 -3
- package/lib/esm/duet-promo-card.entry.js +6 -6
- package/lib/esm/duet-radio_2.entry.js +7 -7
- 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 +9 -9
- 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 +3 -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-teaser.entry.js +6 -6
- package/lib/esm/duet-textarea.entry.js +20 -11
- 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 +10 -10
- package/lib/esm/duet-tooltip.entry.js +5 -5
- 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-KA3z1KuW.js → errorcodes.utils-0XnfYFAn.js} +1 -1
- package/lib/esm/{floating-ui.dom.browser.min-B_NkY9T0.js → floating-ui.dom.browser.min-BQTM1aqo.js} +83 -1
- package/lib/esm/{focus-utils-id9x3opi.js → focus-utils-BwoMMpkj.js} +1 -1
- package/lib/esm/{index-D4MpGrUR.js → index-CdcBxXLd.js} +1 -1
- package/lib/esm/{label-Caev3m-F.js → label-D835wXCb.js} +1 -1
- package/lib/esm/{language-utils-DTyUbpD-.js → language-utils-C-lpMyP9.js} +1 -1
- package/lib/esm/loader.js +4 -4
- package/lib/esm/{picture-utils-4PMNZDR2.js → picture-utils-Cl2qK3GJ.js} +1 -1
- package/lib/esm/{slot-utils-BhEk4zKY.js → slot-utils-BSS0Em_Z.js} +1 -1
- package/lib/esm/{themeable-component-B_d7Klmd.js → themeable-component-DQtSOD4i.js} +1 -1
- package/lib/types/components/duet-combobox/duet-combobox.d.ts +2 -0
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +5 -1
- package/lib/types/components/duet-input/duet-input.d.ts +11 -1
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +4 -0
- package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +1 -0
- package/lib/types/components/duet-textarea/duet-textarea.d.ts +8 -1
- package/lib/types/components.d.ts +48 -10
- package/package.json +5 -5
- package/lib/duet/p-05b5ef84.entry.js +0 -4
- package/lib/duet/p-10baba94.entry.js +0 -4
- package/lib/duet/p-16d5dd2c.entry.js +0 -4
- package/lib/duet/p-2265c46a.entry.js +0 -4
- package/lib/duet/p-2394b3cd.entry.js +0 -4
- package/lib/duet/p-453001ea.entry.js +0 -4
- package/lib/duet/p-4e028274.entry.js +0 -4
- package/lib/duet/p-5be103d0.entry.js +0 -4
- package/lib/duet/p-5e5b6dc7.entry.js +0 -4
- package/lib/duet/p-71da8fbe.entry.js +0 -4
- package/lib/duet/p-7f5387dd.entry.js +0 -4
- package/lib/duet/p-940a87e7.entry.js +0 -4
- package/lib/duet/p-99550717.entry.js +0 -4
- package/lib/duet/p-B44ykle6.js +0 -4
- package/lib/duet/p-B5SMAn1G.js +0 -4
- package/lib/duet/p-BAiGBGTO.js +0 -4
- package/lib/duet/p-BWz_ChlU.js +0 -4
- package/lib/duet/p-B_NkY9T0.js +0 -4
- package/lib/duet/p-Bnup2-sN.js +0 -4
- package/lib/duet/p-C6rGA5IU.js +0 -4
- package/lib/duet/p-a2a2f775.entry.js +0 -4
- package/lib/duet/p-b69946d4.entry.js +0 -4
- package/lib/duet/p-bb7fa0cf.entry.js +0 -4
- package/lib/duet/p-bffae8f6.entry.js +0 -4
- package/lib/duet/p-c9a12663.entry.js +0 -4
- package/lib/duet/p-d8383f1a.entry.js +0 -4
- package/lib/duet/p-ef340dc6.entry.js +0 -4
- package/lib/duet/p-f61ebeb1.entry.js +0 -4
|
@@ -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-D4MpGrUR.js";import{i as o}from"./p-B44ykle6.js";import{f as d,d as l}from"./p-BlUsLmbQ.js";import{i as r}from"./p-BaefVzkx.js";import{a as h,c as u,d as p,g as c,s as b}from"./p-B0XOGsB6.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,B as L,f as z,C as E,D as j,E as S,F as M,G as F,H as C,I as D,J as R,j as _,s as U,K as P}from"./p-kkZE1C6Z.js";import{b as A,a as W}from"./p-DYmL1tSl.js";import{c as B}from"./p-Cfr_DJqU.js";import{p as H}from"./p-C6E9F6QT.js";import{a as q,g as N}from"./p-DtprEjjN.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)},O=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=c(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||""} ${c(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)}};O.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(")",""),V=`\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: ${T};\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: ${L};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${z.replace("'","").replace("'","")} {\n padding: ${m} ${E} !important;\n }\n }\n\n tbody th {\n background: ${L};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${j};\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 ${j};\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 ${j};\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 ${T};\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: ${j};\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 ${j};\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 ${j};\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 ${j};\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 ${j};\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 ${j};\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(_)}, 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 ${j};\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: ${S};\n}\n\nduet-table.duet-theme-turva td {\n color: ${M};\n}\n\nduet-table.duet-theme-turva th {\n color: ${F};\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: ${C};\n}\n\nduet-table.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: ${D};\n }\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${Y(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(${Y(M)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: ${D};\n }\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: ${D};\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: ${R};\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: ${D};\n}\n\n.duet-table-flattened.duet-table-plain.duet-theme-turva tbody tr {\n border-bottom-color: ${D};\n}\n\n.duet-theme-turva .duet-table-selected-column {\n background: rgba(${Y(R)}, 0.08);\n}\n\nduet-table.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: ${D};\n}\n\nduet-table.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${D};\n}\n`.replace(/[\n\r\t]/gm,""),J={none:0,"with-links":16*parseFloat(P),"without-links":16*parseFloat(U)},X=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=A.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(V).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=V,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":W[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:"1dee35eb36b222e57e85e68f730b6460a8b9e63c",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:"933771b95dbc033acc97acf8396d23e2fa5e7651"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var K=[{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 G={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},Q=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":c(G)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},c(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"},c(e))),Z=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=q("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=q("duet-upload-101",i)),u||(d=q("duet-upload-100",i)),p||(d=q("duet-upload-201",i)),o=h&&u&&p}else o=!1;return{valid:o,errorMessage:o?void 0:c(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},tt=({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},et=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=c(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=c(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=c(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=c(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=c(this.fileListEmptyDefaults),this.error="",this.errorCodes=K,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=B("DuetButton"),this.labelId=B("DuetLabel"),this.uploadId=B("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",N("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",N("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",N("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=H(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:"18e9b69e6b294624c3caa4197ac3064ad377edb4",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"54bea5df88e753afe0765f709639c895c83182f7","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"6eb5775f80ab5f44f44e3d14140348b86e8f7739",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"63e7bbc89678d80abdc5a85b7e90db25af8f2063",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"cabd4d22d34a0c59af38028a68b9aa9da78e648e",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"a8c8852e2552939af25edd121979d38dd98014ed",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"29a21718b2bb28697aa159e663226899bec68b74",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:"3c0b11350cf2bd0dfbbb4436841c0fb255a696ba",name:"filefooter"}),t("slot",{key:"ace089c7e46c8c7e3d495f53c796494c5102d800",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"46dee1a0c5ede802dbbaa757ead7758153b02333",margin:"none",size:"small"},t("div",{key:"bf5885654a9a43b388484b906392f88d1519d4ef",class:"upload-bottom-caption"},o)),t("slot",{key:"aa6f54876cbc89d68f1c199b41032967b8fdc0a7",name:"afterfooter"}),!this.hideButton&&t(s,{key:"0c26de4c43da284d32d022f94c7ffdc70744971a"},t("duet-spacer",{key:"a89ce9a25c0ca6c15c74162224e8f229f4f4d28c",size:"large"}),t("duet-button",{key:"4bcc0ede230f033b84f1acba6c6f2c29704d5477",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:"b63c5090df58fbeeb81d21c2962e2e4bf374475c"},t("duet-spacer",{key:"23665cef847c4e6a4b5f892a4fb680efb7a5ac3a",size:"medium"}),t("duet-alert",{key:"05ac7cfb41b89c78833aef892eb63ace7cde0424",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&N("duet-upload-301",this.errorCodes),this.bytesMaxReached&&N("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&N("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&N("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"ce48b9cd57df20b21e7d1e6e82a6fb36ccfa0bb8","aria-hidden":"true"},t("input",{key:"5c6545180d5327d5790327897478dacade1df102",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)),tt(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)),tt(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}=Z(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"]}}};et.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{O as duet_editable_table,X as duet_table,et 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-CdcBxXLd.js";import{i as o}from"./p-CirNV9Vh.js";import{f as d,d as l}from"./p-BlUsLmbQ.js";import{i as r}from"./p-BaefVzkx.js";import{a as h,c as u,d as p,g as b,s as c}from"./p-Cj9zQLn2.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,B as L,f as z,C as E,D as j,E as S,F as C,G as M,H as F,I as D,J as R,j as _,s as U,K as P}from"./p-kkZE1C6Z.js";import{b as A,a as W}from"./p-DYmL1tSl.js";import{c as B}from"./p-Cfr_DJqU.js";import{p as H}from"./p-C6E9F6QT.js";import{a as q,g as N}from"./p-B1GzOTNZ.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)},O=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)}};O.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(")",""),V=`\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: ${T};\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: ${L};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${z.replace("'","").replace("'","")} {\n padding: ${m} ${E} !important;\n }\n }\n\n tbody th {\n background: ${L};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${j};\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 ${j};\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 ${j};\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 ${T};\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: ${j};\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 ${j};\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 ${j};\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 ${j};\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 ${j};\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 ${j};\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(_)}, 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 ${j};\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: ${S};\n}\n\nduet-table.duet-theme-turva td {\n color: ${C};\n}\n\nduet-table.duet-theme-turva th {\n color: ${M};\n}\n\nduet-table.duet-theme-turva tbody th {\n color: ${C};\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: ${D};\n }\n}\n\nduet-table.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${Y(C)}, 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(C)}, 0.04);\n}\n\nduet-table.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: ${D};\n }\n}\n\nduet-table.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: ${D};\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: ${R};\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: ${D};\n}\n\n.duet-table-flattened.duet-table-plain.duet-theme-turva tbody tr {\n border-bottom-color: ${D};\n}\n\n.duet-theme-turva .duet-table-selected-column {\n background: rgba(${Y(R)}, 0.08);\n}\n\nduet-table.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: ${D};\n}\n\nduet-table.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${D};\n}\n\nduet-table.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: ${D};\n}\n`.replace(/[\n\r\t]/gm,""),J={none:0,"with-links":16*parseFloat(P),"without-links":16*parseFloat(U)},X=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=A.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(V).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=V,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":W[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:"5416b5f7a33d4e5c30e826f1f41c03005bf5511b",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:"517ff1c0cda9e306cb0ea05f1e56a1d74e9a74d3"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var K=[{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 G={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},Q=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":b(G)},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))),Z=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=q("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=q("duet-upload-101",i)),u||(d=q("duet-upload-100",i)),p||(d=q("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}},tt=({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},et=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=K,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=B("DuetButton"),this.labelId=B("DuetLabel"),this.uploadId=B("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",N("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",N("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",N("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?c(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=H(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:"7a152217f20a5952f3fb56a19e7a023ee4d819cd",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"795450ef207fe4bdcb4a20420dab7a31157b9212","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"bd126d24ef5606b3679f71efd8050269ec03df54",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"3792437017508549add030634c569b1244900b7d",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"3ea6db36be8d73603e76f60edace6861cbd5744c",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"53028d4e767022b6f6b3febf0d5df6e7d32a00a9",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"e3ac3ea0554fef9c565d5b4c1836c6a8d065f38a",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:"cb5adc8146b9e74da3605a0d14a8804f82596a4e",name:"filefooter"}),t("slot",{key:"7abf37dd8db76b7c9f4d8912903f5dbe5b12ec3e",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"57a1b68a1fd251dc605854edd693adf797ca49ea",margin:"none",size:"small"},t("div",{key:"284d2854de5ab0e07c1745ba505964506644a162",class:"upload-bottom-caption"},o)),t("slot",{key:"f61599602e2867e2d4d99f2d651f5a59f6a1b69d",name:"afterfooter"}),!this.hideButton&&t(s,{key:"4aa652f38046eba11567fcaab4afb284b7663d0c"},t("duet-spacer",{key:"61b878fca646add83750e7f5443e83641404c73a",size:"large"}),t("duet-button",{key:"51dd54c0c592bcc16ad74e30cbce94b4410c152d",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:"bc998642add4334e430abac07ab486962e549bce"},t("duet-spacer",{key:"007476fd81b90e2cbf53c30801159e3b418a02f2",size:"medium"}),t("duet-alert",{key:"be4c38fd16bbd10e02a084c978b5f18e66e69d4b",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&N("duet-upload-301",this.errorCodes),this.bytesMaxReached&&N("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&N("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&N("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"479c3dbc81d4d0105339b0139884681b519e9350","aria-hidden":"true"},t("input",{key:"f48b8a20c1cf9f97251fa02eaba68731f18ec909",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)),tt(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)),tt(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}=Z(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"]}}};et.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{O as duet_editable_table,X as duet_table,et as duet_upload}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as n,h as e,H as t,g as i}from"./p-D4MpGrUR.js";import{i as a}from"./p-B44ykle6.js";import{D as r}from"./p-BAiGBGTO.js";import{h as s,c as d,a as o}from"./p-BWz_ChlU.js";import{p as l}from"./p-C6E9F6QT.js";import{g as u,p as m}from"./p-DYmL1tSl.js";import"./p-kkZE1C6Z.js";const p=class{constructor(e){n(this,e),this.theme="",this.margin="auto",this.backgroundColor="primary-lighter",this.iconColor="gray-lightest",this.iconBackgroundColor="primary",this.textColor="secondary",this.size="large",this.image="",this.imageFit="cover",this.icon="",this.headingLevel="h2",this.checkCurrentSize=()=>{const n=this.element.clientWidth;this.currentSize=n<500||"small"===this.size?"small":n<900||"medium"===this.size?"medium":"large",this.setButtonSize()},this.setButtonSize=()=>{if(this.hasActionSlot&&this.currentSize){const n=this.element.querySelectorAll("[slot='action'] duet-button, duet-button[slot='action']");for(const e of n)e&&null===e.getAttribute("size")&&"large"!==this.currentSize?e.size="small":e&&null===e.getAttribute("size")&&"large"===this.currentSize&&(e.size="medium")}},this.getBackgroundColor=()=>u("turva"===this.theme&&"primary-lighter"===this.backgroundColor?"turva-nude-50":this.backgroundColor,this.theme)}componentWillLoad(){const n=["h1","h2","h3","h4","h5","h6"];a(this),this.hasHeadingSlot=s(this.element,"heading"),this.hasDescriptionSlot=s(this.element,"description"),this.hasActionSlot=s(this.element,"action"),d(this.element,"heading",`span,${n.join(",")}`),this.hasHeadingSlot&&o(this.element,"heading")[0].matches(n.join(","))&&(this.hasHeadingSlotNative=!0),this.setButtonSize()}connectedCallback(){window.addEventListener("resize",this.checkCurrentSize)}disconnectedCallback(){window.removeEventListener("resize",this.checkCurrentSize)}componentDidRender(){this.checkCurrentSize()}render(){const n=this.getBackgroundColor(),i=u(this.textColor,this.theme),a={backgroundColor:n},s={img:{src:this.image,alt:this.imageAlt||"",loading:"high"===this.imagePriority?"eager":"lazy",fetchpriority:this.imagePriority,class:`image ${this.imageFit}`},sources:l(this.sources)};return e(t,{key:"021aafd46f614c2d52ccd2d014574a7a095e2883",class:{"duet-m-0":"none"===this.margin}},e("aside",{key:"ea207c896e6b1624a27d4b6ceb79836ab152f207",class:{"duet-banner":!0,"duet-theme-turva":"turva"===this.theme,[this.currentSize]:!0,"size-medium":"medium"===this.size||"large"===this.size,"size-large":"large"===this.size,"no-image":!this.image},style:a},e("div",{key:"525c58ab8a5aaa6cf08bab777f9ea3dd071f75ec",class:"visual"},e("div",{key:"89b977717483d9ffcedeae98f7d2a36263b0f3d3",class:"image-container"},this.image&&e(r,Object.assign({key:"7f1d73ce70cf6687500eef1d0fc546e4bdbb6ea5"},s))),!1,"contain"!==this.imageFit&&e("div",{key:"9cb97c2fefe6058b2d1c9b0e1a0c517d732c8b3f",style:a,class:"brand-shape"})),e("div",{key:"2674a03efa17932dd1654e18a72115646a806fd3",class:"content"},this.hasHeadingSlot&&e("div",{key:"9de6d6fe0940b868b74205ff45c48986776c67a7",class:"heading"},e("duet-heading",{key:"dca384f371f65d7f40e59c97603ffde9536c10ae",theme:this.theme,level:this.hasHeadingSlotNative?"div":this.headingLevel,"visual-level":"large"===this.currentSize?"h2":"h3","fixed-size":!0,margin:"none",color:m(this.textColor,this.theme)},e("span",{key:"e5f9d70b35eb5e3507cc9c4ae78554debd08f7c7"},e("slot",{key:"26d9d93896e0f095112db72501c8c9de765eba16",name:"heading"})))),this.hasDescriptionSlot&&e("div",{key:"1a82c4532fa9862d0207675f89308ee8cd071302",class:"description",style:{color:i}},e("slot",{key:"78febb3eca846bffd9555b8114c9ecaf33e55433",name:"description"})),this.hasActionSlot&&e("div",{key:"2f25d1c449e2ff59bbd41d39da665e1a8822a7a2",class:"action"},e("slot",{key:"2951e812095eaf2e55a40575e6948e83bfd27b2a",name:"action"})))))}get element(){return i(this)}};p.style='*,\n*::after,\n*::before {\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 {\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 margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n[alignment=form-distribute] > :host:last-of-type:not(:last-child) {\n margin-right: 36px !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n}\n@container duet-banner-container (min-width: 0) {\n .duet-banner .visual {\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .image.contain {\n padding: 16px 20px 0;\n object-fit: contain;\n object-position: center bottom;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n mask-image: url("data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E");\n transform: scale(101%);\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.size-medium, .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-medium .visual, .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-medium .visual .image-container, .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-medium .visual .image, .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-medium .visual .image.contain, .duet-banner.size-large .visual .image.contain {\n padding: 28px;\n object-position: center;\n }\n .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-medium .content, .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner.size-medium .action, .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-large .visual .image.contain {\n padding: 48px;\n }\n .duet-banner.size-large .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n.duet-banner.no-image {\n display: flex;\n justify-content: center;\n padding: 36px 20px;\n}\n.duet-banner.no-image .visual {\n display: none;\n}\n.duet-banner.no-image .content {\n width: 100%;\n max-width: 720px;\n padding: 0;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.no-image.size-medium, .duet-banner.no-image.size-large {\n padding: 48px;\n }\n}\n\n::slotted(.duet-heading) {\n margin: inherit !important;\n font-size: inherit !important;\n line-height: inherit !important;\n color: inherit !important;\n}\n\n.duet-banner.duet-theme-turva {\n font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n border-radius: 12px;\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%22540%22%20height%3D%2258%22%20viewBox%3D%220%200%20540%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M540%2018.0729L540%2057.6749H0L0.000139455%2011.2563C0.000139455%202.85822%208.31858%20-2.59156%2015.3307%201.26796C33.6821%2011.3367%2055.6983%2020.0831%2080.3633%2027.3465C134.438%2043.276%20201.239%2052.0939%20270%2052.0939C338.761%2052.0939%20405.572%2043.276%20459.637%2027.3465C484.302%2020.0742%20506.318%2011.3277%20524.669%201.25902C531.682%20-2.59156%20540%202.85822%20540%2011.2563V18.0729Z%22%20fill%3D%22%23FBEBE1%22%2F%3E%0A%3C%2Fsvg%3E%0A");\n mask-repeat: no-repeat;\n mask-position: bottom;\n mask-size: contain;\n scale: 101%;\n}\n.duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.duet-theme-turva.size-medium, .duet-banner.duet-theme-turva.size-large {\n grid-template-columns: 1fr 1fr;\n gap: 28px;\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 12px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image-container, .duet-banner.duet-theme-turva.size-large .visual .image-container {\n padding: 20px;\n padding-right: 0;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image, .duet-banner.duet-theme-turva.size-large .visual .image {\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .brand-shape, .duet-banner.duet-theme-turva.size-large .visual .brand-shape {\n display: none;\n }\n}';export{p as duet_banner}
|
|
4
|
+
import{r as n,h as e,H as t,g as i}from"./p-CdcBxXLd.js";import{i as a}from"./p-CirNV9Vh.js";import{D as r}from"./p-qboSQpUe.js";import{h as s,c as d,a as o}from"./p-DoEOuTZj.js";import{p as l}from"./p-C6E9F6QT.js";import{g as u,p as m}from"./p-DYmL1tSl.js";import"./p-kkZE1C6Z.js";const p=class{constructor(e){n(this,e),this.theme="",this.margin="auto",this.backgroundColor="primary-lighter",this.iconColor="gray-lightest",this.iconBackgroundColor="primary",this.textColor="secondary",this.size="large",this.image="",this.imageFit="cover",this.icon="",this.headingLevel="h2",this.checkCurrentSize=()=>{const n=this.element.clientWidth;this.currentSize=n<500||"small"===this.size?"small":n<900||"medium"===this.size?"medium":"large",this.setButtonSize()},this.setButtonSize=()=>{if(this.hasActionSlot&&this.currentSize){const n=this.element.querySelectorAll("[slot='action'] duet-button, duet-button[slot='action']");for(const e of n)e&&null===e.getAttribute("size")&&"large"!==this.currentSize?e.size="small":e&&null===e.getAttribute("size")&&"large"===this.currentSize&&(e.size="medium")}},this.getBackgroundColor=()=>u("turva"===this.theme&&"primary-lighter"===this.backgroundColor?"turva-nude-50":this.backgroundColor,this.theme)}componentWillLoad(){const n=["h1","h2","h3","h4","h5","h6"];a(this),this.hasHeadingSlot=s(this.element,"heading"),this.hasDescriptionSlot=s(this.element,"description"),this.hasActionSlot=s(this.element,"action"),d(this.element,"heading",`span,${n.join(",")}`),this.hasHeadingSlot&&o(this.element,"heading")[0].matches(n.join(","))&&(this.hasHeadingSlotNative=!0),this.setButtonSize()}connectedCallback(){window.addEventListener("resize",this.checkCurrentSize)}disconnectedCallback(){window.removeEventListener("resize",this.checkCurrentSize)}componentDidRender(){this.checkCurrentSize()}render(){const n=this.getBackgroundColor(),i=u(this.textColor,this.theme),a={backgroundColor:n},s={img:{src:this.image,alt:this.imageAlt||"",loading:"high"===this.imagePriority?"eager":"lazy",fetchpriority:this.imagePriority,class:`image ${this.imageFit}`},sources:l(this.sources)};return e(t,{key:"021aafd46f614c2d52ccd2d014574a7a095e2883",class:{"duet-m-0":"none"===this.margin}},e("aside",{key:"ea207c896e6b1624a27d4b6ceb79836ab152f207",class:{"duet-banner":!0,"duet-theme-turva":"turva"===this.theme,[this.currentSize]:!0,"size-medium":"medium"===this.size||"large"===this.size,"size-large":"large"===this.size,"no-image":!this.image},style:a},e("div",{key:"525c58ab8a5aaa6cf08bab777f9ea3dd071f75ec",class:"visual"},e("div",{key:"89b977717483d9ffcedeae98f7d2a36263b0f3d3",class:"image-container"},this.image&&e(r,Object.assign({key:"7f1d73ce70cf6687500eef1d0fc546e4bdbb6ea5"},s))),!1,"contain"!==this.imageFit&&e("div",{key:"9cb97c2fefe6058b2d1c9b0e1a0c517d732c8b3f",style:a,class:"brand-shape"})),e("div",{key:"2674a03efa17932dd1654e18a72115646a806fd3",class:"content"},this.hasHeadingSlot&&e("div",{key:"9de6d6fe0940b868b74205ff45c48986776c67a7",class:"heading"},e("duet-heading",{key:"dca384f371f65d7f40e59c97603ffde9536c10ae",theme:this.theme,level:this.hasHeadingSlotNative?"div":this.headingLevel,"visual-level":"large"===this.currentSize?"h2":"h3","fixed-size":!0,margin:"none",color:m(this.textColor,this.theme)},e("span",{key:"e5f9d70b35eb5e3507cc9c4ae78554debd08f7c7"},e("slot",{key:"26d9d93896e0f095112db72501c8c9de765eba16",name:"heading"})))),this.hasDescriptionSlot&&e("div",{key:"1a82c4532fa9862d0207675f89308ee8cd071302",class:"description",style:{color:i}},e("slot",{key:"78febb3eca846bffd9555b8114c9ecaf33e55433",name:"description"})),this.hasActionSlot&&e("div",{key:"2f25d1c449e2ff59bbd41d39da665e1a8822a7a2",class:"action"},e("slot",{key:"2951e812095eaf2e55a40575e6948e83bfd27b2a",name:"action"})))))}get element(){return i(this)}};p.style='*,\n*::after,\n*::before {\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 {\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 margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n[alignment=form-distribute] > :host:last-of-type:not(:last-child) {\n margin-right: 36px !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n}\n@container duet-banner-container (min-width: 0) {\n .duet-banner .visual {\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .image.contain {\n padding: 16px 20px 0;\n object-fit: contain;\n object-position: center bottom;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n mask-image: url("data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E");\n transform: scale(101%);\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.size-medium, .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-medium .visual, .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-medium .visual .image-container, .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-medium .visual .image, .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-medium .visual .image.contain, .duet-banner.size-large .visual .image.contain {\n padding: 28px;\n object-position: center;\n }\n .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-medium .content, .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner.size-medium .action, .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-large .visual .image.contain {\n padding: 48px;\n }\n .duet-banner.size-large .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n.duet-banner.no-image {\n display: flex;\n justify-content: center;\n padding: 36px 20px;\n}\n.duet-banner.no-image .visual {\n display: none;\n}\n.duet-banner.no-image .content {\n width: 100%;\n max-width: 720px;\n padding: 0;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.no-image.size-medium, .duet-banner.no-image.size-large {\n padding: 48px;\n }\n}\n\n::slotted(.duet-heading) {\n margin: inherit !important;\n font-size: inherit !important;\n line-height: inherit !important;\n color: inherit !important;\n}\n\n.duet-banner.duet-theme-turva {\n font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n border-radius: 12px;\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%22540%22%20height%3D%2258%22%20viewBox%3D%220%200%20540%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M540%2018.0729L540%2057.6749H0L0.000139455%2011.2563C0.000139455%202.85822%208.31858%20-2.59156%2015.3307%201.26796C33.6821%2011.3367%2055.6983%2020.0831%2080.3633%2027.3465C134.438%2043.276%20201.239%2052.0939%20270%2052.0939C338.761%2052.0939%20405.572%2043.276%20459.637%2027.3465C484.302%2020.0742%20506.318%2011.3277%20524.669%201.25902C531.682%20-2.59156%20540%202.85822%20540%2011.2563V18.0729Z%22%20fill%3D%22%23FBEBE1%22%2F%3E%0A%3C%2Fsvg%3E%0A");\n mask-repeat: no-repeat;\n mask-position: bottom;\n mask-size: contain;\n scale: 101%;\n}\n.duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.duet-theme-turva.size-medium, .duet-banner.duet-theme-turva.size-large {\n grid-template-columns: 1fr 1fr;\n gap: 28px;\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual, .duet-banner.duet-theme-turva.size-large .visual {\n border-top-left-radius: 12px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image-container, .duet-banner.duet-theme-turva.size-large .visual .image-container {\n padding: 20px;\n padding-right: 0;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .image, .duet-banner.duet-theme-turva.size-large .visual .image {\n border-radius: 12px;\n }\n .duet-banner.duet-theme-turva.size-medium .visual .brand-shape, .duet-banner.duet-theme-turva.size-large .visual .brand-shape {\n display: none;\n }\n}';export{p as duet_banner}
|
|
@@ -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-CdcBxXLd.js";import{i as a}from"./p-CirNV9Vh.js";import{a as r}from"./p-BaefVzkx.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(){a(this)}handleEscape(e){if(r(e)){const e=this.element.closest("duet-menu-bar-dropdown");e.open=!1,e.setFocus()}}render(){return o(t,{key:"d38d954b553c14935519a49e02698a1bd32428b4"},o("a",{key:"2476410fa261eb67053dbd56f01bc335bdbcbd7d",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:"ba2417251a7dbd8bc7148c65d0aae529f728b274",theme:this.theme,name:this.icon,size:"x-small",margin:"none",color:"currentColor"}),o("slot",{key:"257327a6af0a87c8565bf75cace2b5657580783a"})))}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{r as e,h as t,H as n,g as r}from"./p-
|
|
4
|
+
import{r as e,h as t,H as n,g as r}from"./p-CdcBxXLd.js";import{i as a}from"./p-CirNV9Vh.js";import{g as i}from"./p-Cj9zQLn2.js";import"./p-C6E9F6QT.js";const o=class{constructor(t){e(this,t),this.defaultLabels={new:{fi:"Uutta sisältöä",en:"New content",sv:"Nyt innehålle"},change:{fi:"Muuttunutta sisältöä",en:"Changed content",sv:"Ändrat innehålle"},error:{fi:"Sisältää virheen",en:"Contains error",sv:"Innehåller ett fel"},success:{fi:"Onnistunut toiminto",en:"Completed successfully",sv:"Lyckad åtgärd"}},this.variation="change",this.theme="",this.getAccessibleLabel=()=>this.accessibleLabel||i(this.defaultLabels[this.variation])}componentWillLoad(){a(this)}render(){return t(n,{key:"329e985ec026dde828ee0e4f896bbbf68054a4ce"},t("span",{key:"688c53ea00e20e7c2aa612ed6cdaede9a83655f9",class:{"duet-indicator":!0,[`duet-indicator-${this.variation}`]:!0,"duet-theme-turva":"turva"===this.theme}}),t("duet-visually-hidden",{key:"37a42c32af9d6d46946d30239592a4794e16de93"},this.getAccessibleLabel()))}get element(){return r(this)}};o.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;position:relative}.duet-indicator{position:absolute;top:0;right:0;display:inline-block;width:8px;height:8px;border-radius:50%}.duet-indicator-new{background:rgb(0, 119, 179)}.duet-indicator-change{background:rgb(247, 178, 40)}.duet-indicator-error{background:rgb(185, 16, 74)}.duet-indicator-success{background:rgb(29, 106, 88)}.duet-indicator-new.duet-theme-turva{background-color:rgb(230, 23, 64)}";export{o as duet_indicator}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as a,H as r}from"./p-
|
|
4
|
+
import{r as e,h as a,H as r}from"./p-CdcBxXLd.js";import{i as t}from"./p-CirNV9Vh.js";const i=class{constructor(a){e(this,a),this.theme="",this.margin="auto",this.rotation=7}componentWillLoad(){t(this)}render(){return a(r,{key:"7b1d056821d3a87f329524519264ae42642f79b2",class:{"duet-theme-turva":"turva"===this.theme,"duet-m-0":"none"===this.margin}},a("span",{key:"cfee37d6e11b4c774057f6e93efc6b4411b4535c",class:{"shaped-image":!0},role:"img","aria-label":this.accessibleLabel,style:{"--rotation":`${this.rotation}deg`}},a("span",{key:"1b81306ffb9c9c34a2301b952ed6894705f2cb03",class:"shaped-image-mask",role:"presentation"},a("span",{key:"de6e0992fec3395802b4ed7863e969b26405a329",class:"shaped-image-img",role:"presentation",style:{backgroundImage:`url("${this.src}")`}}))))}};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;display:inline-block;width:100%;height:100%;margin:5%}:host(.duet-theme-turva){margin:3%}:host(.duet-m-0){margin:0}.shaped-image{position:relative;display:inline-block;width:100%;height:100%}.shaped-image .shaped-image-mask{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:25%;transform:rotate(var(--rotation))}.shaped-image .shaped-image-mask .shaped-image-img{position:relative;display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.07) rotate(calc(-1 * var(--rotation)));transform-origin:center}:host(.duet-theme-turva) .shaped-image .shaped-image-mask{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}:host(.duet-theme-turva) .shaped-image .shaped-image-mask .shaped-image-img{transform:none}';export{i as duet_shaped_image}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as a,H as t,g as n}from"./p-
|
|
4
|
+
import{r as e,h as a,H as t,g as n}from"./p-CdcBxXLd.js";import{i as o}from"./p-CirNV9Vh.js";import{a as r,c as i,d as s,g as d}from"./p-Cj9zQLn2.js";import"./p-C6E9F6QT.js";const l=class{constructor(a){e(this,a),this.chooseLangObject={en:"Choose language",fi:"Valitse kieli",sv:"Välj språk"},this.language=r(),this.theme=""}componentWillLoad(){o(this)}connectedCallback(){i(this)}disconnectedCallback(){s(this)}render(){const e=d(this.chooseLangObject);return a(t,{key:"4553d896b4bfdb640ba3d098ea57128d964a19b6"},a("div",{key:"e296a886f0cb3243458c937866a41f2b4be3a538",class:"duet-slideout-lang",role:"group","aria-label":e},a("duet-icon",{key:"bb80517845c1ee6384be27ed48efc598befb18b3",name:"navigation-language",margin:"none",color:"secondary",size:"small"}),a("slot",{key:"8bd61a2b46aa5d6f488d1ef61d260ca1f2d6c698"})))}get element(){return n(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}.duet-slideout-lang{display:flex;gap:16px;align-items:center;justify-content:flex-start;width:min-content;white-space:nowrap}::slotted(*){position:relative}::slotted(:not(:first-child)){padding-right:0;padding-left:0.5rem}::slotted(:not(:last-child))::after{position:absolute;top:25%;right:-14px;width:2px;height:50%;content:"";background:rgb(8, 42, 77)}.duet-theme-turva ::slotted(:not(:last-child))::after{background:rgb(23, 42, 59)}';export{l as duet_slideout_lang}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as t,g as i,H as a}from"./p-
|
|
4
|
+
import{r as e,h as t,g as i,H as a}from"./p-CdcBxXLd.js";import{i as h}from"./p-CirNV9Vh.js";import{g as d}from"./p-DYmL1tSl.js";import"./p-kkZE1C6Z.js";const r=class{constructor(t){e(this,t),this.theme="",this.margin="auto",this.color=""}componentWillLoad(){h(this)}render(){const e=d(this.color);return t("div",{key:"cfe1692393e236239489a12b1348ee3ceacbd6e8",class:{"duet-m-0":"none"===this.margin,"duet-m-s":"small"===this.margin,"duet-divider":!0,"duet-theme-turva":"turva"===this.theme},style:{background:e}})}get element(){return i(this)}};r.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:block;width:100%}.duet-divider{-webkit-user-select:none;user-select:none;display:block;width:100%;height:1px;margin-top:var(--divider-margin, 36px) !important;margin-right:var(--divider-margin, 0);margin-bottom:var(--divider-margin, 28px);margin-left:var(--divider-margin, 0);background:rgb(212, 223, 229)}.duet-divider.duet-p-0{padding:0 !important}.duet-divider.duet-m-0{margin:0 !important}.duet-divider.duet-m-s{margin-bottom:16px !important;margin-top:0 !important}.duet-divider.duet-theme-turva{background:rgb(212, 221, 226)}";const s=class{constructor(t){e(this,t),this.size="medium",this.direction="vertical",this.breakpoint=""}render(){return t(a,{key:"d6cd3738f2f7e8184419c36dab8844ba5bbb5e1e",class:{"duet-spacer":!0,"duet-spacer-xx-small":"xx-small"===this.breakpoint,"duet-spacer-x-small":"x-small"===this.breakpoint,"duet-spacer-small":"small"===this.breakpoint,"duet-spacer-medium":"medium"===this.breakpoint,"duet-spacer-large":"large"===this.breakpoint,"duet-spacer-x-large":"x-large"===this.breakpoint,"duet-spacer-xx-large":"xx-large"===this.breakpoint,[this.size]:!0,[`duet-spacer-${this.direction}`]:!0}})}};s.style=":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:relative;display:block;width:12px;min-width:12px;height:12px}@media (min-width: 36em){:host{width:16px;min-width:16px;height:16px}}:host(.duet-spacer-horizontal){display:inline-block;height:100% !important}:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px}}:host(.duet-spacer-horizontal.x-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-small){width:8px;min-width:8px}}:host(.duet-spacer-horizontal.small){width:8px;min-width:8px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.small){width:12px;min-width:12px}}:host(.duet-spacer-horizontal.medium){height:100%}:host(.duet-spacer-horizontal.large){width:16px;min-width:16px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.large){width:20px;min-width:20px}}:host(.duet-spacer-horizontal.x-large){width:20px;min-width:20px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-large){width:28px;min-width:28px}}:host(.duet-spacer-horizontal.xx-large){width:28px;min-width:28px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-large){width:36px;min-width:36px}}:host(.duet-spacer-horizontal.xxx-large){width:36px;min-width:36px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxx-large){width:48px;min-width:48px}}:host(.duet-spacer-horizontal.xxxx-large){width:48px;min-width:48px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxxx-large){width:72px;min-width:72px}}:host(.duet-spacer-vertical.xx-small){width:100%;height:4px;min-height:4px}:host(.duet-spacer-vertical.x-small){width:100%;height:4px;min-height:4px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-small){height:8px;min-height:8px}}:host(.duet-spacer-vertical.small){width:100%;height:8px;min-height:8px}@media (min-width: 36em){:host(.duet-spacer-vertical.small){height:12px;min-height:12px}}:host(.duet-spacer-vertical.medium){width:100%}:host(.duet-spacer-vertical.large){width:100%;height:16px;min-height:16px}@media (min-width: 36em){:host(.duet-spacer-vertical.large){height:20px;min-height:20px}}:host(.duet-spacer-vertical.x-large){width:100%;height:20px;min-height:20px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-large){height:28px;min-height:28px}}:host(.duet-spacer-vertical.xx-large){width:100%;height:28px;min-height:28px}@media (min-width: 36em){:host(.duet-spacer-vertical.xx-large){height:36px;min-height:36px}}:host(.duet-spacer-vertical.xxx-large){width:100%;height:36px;min-height:36px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxx-large){height:48px;min-height:48px}}:host(.duet-spacer-vertical.xxxx-large){width:100%;height:48px;min-height:48px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxxx-large){height:72px;min-height:72px}}:host(.duet-spacer-xx-small){display:none}@media (max-width: 22.5em){:host(.duet-spacer-xx-small){display:block}}:host(.duet-spacer-x-small){display:none}@media (max-width: 35.9375em){:host(.duet-spacer-x-small){display:block}}:host(.duet-spacer-small){display:none}@media (min-width: 36em){:host(.duet-spacer-small){display:block}}:host(.duet-spacer-medium){display:none}@media (min-width: 48em){:host(.duet-spacer-medium){display:block}}:host(.duet-spacer-large){display:none}@media (min-width: 62em){:host(.duet-spacer-large){display:block}}:host(.duet-spacer-x-large){display:none}@media (min-width: 64.0625em){:host(.duet-spacer-x-large){display:block}}:host(.duet-spacer-xx-large){display:none}@media (min-width: 76.25em){:host(.duet-spacer-xx-large){display:block}}";export{r as duet_divider,s as duet_spacer}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as o,H as i,g as a}from"./p-
|
|
4
|
+
import{r as e,c as t,h as o,H as i,g as a}from"./p-CdcBxXLd.js";import{i as r}from"./p-CirNV9Vh.js";import{c as s}from"./p-Cfr_DJqU.js";import{h as l}from"./p-DoEOuTZj.js";const d=class{constructor(o){e(this,o),this.duetChange=t(this,"duetChange",3),this.duetFocus=t(this,"duetFocus",7),this.duetBlur=t(this,"duetBlur",7),this.checkboxId=s("DuetCheckbox"),this.afterLabelId=s("DuetCheckboxAfterLabel"),this.errorId=s("DuetError"),this.hasAfterLabelSlot=!1,this.margin="auto",this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.accessibleSelected=void 0,this.accessibleLiveError="polite",this.required=!1,this.error="",this.theme="",this.disabled=!1,this.label="label",this.labelHidden=!1,this.checked=!1,this.onChange=e=>{this.checked=!this.checked,this.duetChange.emit({originalEvent:e,checked:this.checked,value:this.value,component:"duet-checkbox"})},this.onBlur=e=>{this.duetBlur.emit({originalEvent:e,checked:this.checked,value:this.value,component:"duet-checkbox"})},this.onFocus=e=>{this.duetFocus.emit({originalEvent:e,checked:this.checked,value:this.value,component:"duet-checkbox"})},this.getDescribedBy=()=>{const e=[];return this.accessibleDescribedBy&&e.push(this.accessibleDescribedBy),this.error&&e.push(this.errorId),e.length>0?e.join(" "):null}}componentWillLoad(){r(this),this.hasAfterLabelSlot=l(this.element,"after-label"),void 0===this.value&&(this.value=this.identifier)}async setFocus(e){this.nativeInput.focus(e)}getAriaDetails(){const e=[];return this.accessibleDetails&&e.push(this.accessibleDetails),this.hasAfterLabelSlot&&e.push(this.afterLabelId),e.join(" ")}render(){const e=this.identifier||this.checkboxId;return o(i,{key:"969fef83a2c19f8bde9bbe4244282e8baf694dee",class:{"duet-m-0":"none"===this.margin}},o("div",{key:"7dec18303e2eb5f1d03efcd8913ee16aac4279a5",class:{"duet-checkbox-container":!0,"duet-label-hidden":this.labelHidden,"duet-theme-turva":"turva"===this.theme}},o("input",{key:"d48062c10d7b99b4f41e36dc84f293d3217c1112",ref:e=>this.nativeInput=e,type:"checkbox",onFocus:this.onFocus,onBlur:this.onBlur,onChange:this.onChange,value:this.value,class:{"duet-checkbox":!0,disabled:this.disabled},checked:this.checked,disabled:this.disabled,tabindex:this.accessibleIndex,"aria-invalid":this.error?"true":"false","aria-controls":this.accessibleControls,"aria-activedescendant":this.accessibleActiveDescendant,"aria-owns":this.accessibleOwns,"aria-describedby":this.getDescribedBy(),"aria-labelledby":this.accessibleLabelledBy,"aria-details":this.getAriaDetails(),"aria-description":this.accessibleDescription,"aria-selected":this.accessibleSelected,required:this.required,role:this.role,name:this.name,id:e}),o("label",{key:"16993274e2fc393f0975638cb9b086985e8a7824",class:"duet-label",htmlFor:e},o("span",{key:"e23f56d12d28ac8b2365a10d42af3a2da0e22c4f"},this.label)),this.hasAfterLabelSlot&&o("div",{key:"70c7eb127b99fecd261cce9532fe29b52dd6b06a",class:"duet-after-label",id:this.afterLabelId},o("slot",{key:"1ff432b9f19edecef2d61fef39807731f23b887d",name:"after-label"})),o("div",{key:"3684cba399c53315f800893f2865543385fc0160",class:"duet-checkbox-error",id:this.errorId,"aria-atomic":"true","aria-live":this.accessibleLiveError,"aria-relevant":"additions removals"},this.error&&o("span",{key:"a6ef45046d9857c1a546796fc1be69bb63e5b714"},this.error))))}get element(){return a(this)}};d.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{margin-right:8px !important}:host(:last-child),:host(:last-of-type){margin-right:0 !important}:host(.form-distribute:last-of-type:not(:last-child)){margin-right:8px !important}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host(:last-child:not(:only-child)){margin-bottom:0 !important}:host(.duet-m-0){margin:0 !important}.duet-label{position:relative;z-index:100;display:inline;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;vertical-align:top;color:rgb(8, 42, 77);cursor:pointer;background:transparent;transition:300ms ease}.duet-label span{display:inline-block;width:calc(100% - 32px);font-size:1rem;font-weight:400;vertical-align:top}.duet-checkbox-container{position:relative;width:100%;height:100%}.duet-checkbox{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}.duet-checkbox+label::before{z-index:100;display:inline-block;width:20px;height:20px;margin:2px 10px 1px 1px;vertical-align:top;content:"";background:rgb(255, 255, 255);border:1px solid rgb(8, 42, 77);border-radius:4px}.duet-checkbox:checked+label::before{background:rgb(0, 119, 179);border:1px solid rgb(0, 119, 179)}.duet-checkbox:focus+label::before{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-checkbox:focus+label::before,.duet-checkbox:focus+label::before.duet-theme-turva{outline-color:rgba(53, 79, 101, 0.8)}.duet-checkbox[aria-invalid=true]+label::before{background:#fdf4f6;border-color:rgb(214, 28, 82)}.duet-checkbox+label{position:static}.duet-checkbox:checked+label::after{position:absolute;top:6px;left:5px;z-index:200;width:12px;height:12px;pointer-events:none;content:"";background:transparent url("data:image/svg+xml,%3Csvg%20fill%3D%27white%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.374.287a1.5%2C1.5%2C0%2C0%2C0-2.093.345L7.246%2C20.2%2C2.561%2C15.511A1.5%2C1.5%2C0%2C1%2C0%2C.439%2C17.632l5.935%2C5.934a1.525%2C1.525%2C0%2C0%2C0%2C2.279-.186l15.066-21A1.5%2C1.5%2C0%2C0%2C0%2C23.374.287Z%27%20%2F%3E%3C%2Fsvg%3E") no-repeat 0 0;background-size:100% auto}.duet-checkbox[disabled]{cursor:default}.duet-checkbox[disabled]+label{color:rgb(98, 121, 138)}.duet-checkbox[disabled]+label::before{border-color:rgb(181, 198, 208)}.duet-checkbox[disabled]:checked+label::before{background:rgb(127, 150, 165);border:1px solid rgb(127, 150, 165)}.duet-after-label{position:relative;z-index:3;padding-left:31px;margin-top:12px;cursor:default}.duet-checkbox-error{position:relative;z-index:3;padding-left:31px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(214, 28, 82);border-radius:4px}.duet-label-hidden .duet-label span,.duet-label-hidden .duet-checkbox-error span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.duet-theme-turva .duet-label{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-theme-turva .duet-checkbox+label::before{border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-checkbox:checked+label::before{background:rgb(23, 42, 59);border-color:rgb(23, 42, 59)}.duet-theme-turva .duet-checkbox:focus+label::before{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-theme-turva .duet-checkbox[aria-invalid=true]+label::before{background:#fdf4f6;border-color:rgb(214, 28, 82)}.duet-theme-turva .duet-checkbox[disabled]+label{color:rgb(120, 145, 164)}.duet-theme-turva .duet-checkbox[disabled]+label::before{border-color:rgb(178, 194, 205)}.duet-theme-turva .duet-checkbox[disabled]:checked+label::before{background:rgb(120, 145, 164);border-color:rgb(120, 145, 164)}.duet-theme-turva .duet-checkbox-error{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(214, 28, 82)}';export{d as duet_checkbox}
|
|
@@ -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 a,g as r}from"./p-
|
|
4
|
+
import{r as e,h as t,H as a,g as r}from"./p-CdcBxXLd.js";import{i as s}from"./p-CirNV9Vh.js";import{f as i}from"./p-Cj9zQLn2.js";import{g as o}from"./p-DoEOuTZj.js";import{g as h}from"./p-DYmL1tSl.js";import"./p-C6E9F6QT.js";import"./p-kkZE1C6Z.js";const n=class{constructor(t){e(this,t),this.defaultColors=["lt-blue-800","lt-blue-600","success-600","success-800","warning-600","danger-600","danger-800"],this.theme="",this.unit="%"}componentWillLoad(){s(this)}connectedCallback(){this.childObserver=new MutationObserver(this.updateChartItems.bind(this)),this.childObserver.observe(this.element,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),this.updateChartItems()}disconnectedCallback(){this.childObserver&&(this.childObserver.disconnect(),this.childObserver=void 0)}updateChartItems(){const e=o(this.element).filter((e=>"duet-share-chart-item"===e.tagName.toLocaleLowerCase()));this.items=e.map(((e,t)=>({text:e.textContent,value:e.value,color:e.color||this.defaultColors[t%this.defaultColors.length]}))),this.itemsTotalValue=this.items.reduce(((e,{value:t})=>e+t),0)}render(){return t(a,{key:"cbf28a10c67b0f2b45f925b2fc1e3307eb28b417"},t("div",{key:"5d21486e2571bf894d01ff990a144334a1c54690",class:"duet-share-chart-horizontal-bar",role:"presentation"},this.items.filter((e=>!!e.value)).map((e=>t("span",{class:"duet-share-chart-share",style:{width:e.value/this.itemsTotalValue*100+"%",backgroundColor:h(e.color,this.theme)}})))),t("ul",{key:"d292d9aecfdbc152d1c2cc8beb81abb295580fe7",class:"duet-share-chart-item-list"},this.items.map((e=>t("li",{class:{"duet-theme-turva":"turva"===this.theme}},t("span",{class:"duet-share-chart-item-color",style:{background:h(e.color,this.theme)}}),t("span",{class:"duet-share-chart-item-text"},e.text,":"),t("span",{class:"duet-share-chart-item-value"}," ",i(e.value)," ",this.unit),"%"!==this.unit&&t("duet-visually-hidden",null,`${i(e.value/this.itemsTotalValue*100,0)} %`))))),t("slot",{key:"12967cf08700fdf0fee3741b3ba552c6eb89d565"}))}get element(){return r(this)}};n.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-share-chart-horizontal-bar{height:16px;margin-bottom:20px;border-radius:4px}.duet-share-chart-horizontal-bar .duet-share-chart-share{box-sizing:border-box;display:inline-block;height:16px;border-color:rgb(255, 255, 255);border-style:solid;border-width:0 1px}.duet-share-chart-horizontal-bar .duet-share-chart-share:first-child{border-left-width:0;border-radius:4px 0 0 4px}.duet-share-chart-horizontal-bar .duet-share-chart-share:last-child{border-right-width:0;border-radius:0 4px 4px 0}.duet-share-chart-item-list{padding:0 4px;margin:0;list-style:none}.duet-share-chart-item-list li{display:flex;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;font-variant-numeric:tabular-nums;color:rgb(8, 42, 77)}.duet-share-chart-item-list span{display:inline-block}.duet-share-chart-item-list .duet-share-chart-item-color{flex-shrink:0;width:12px;height:12px;margin-top:calc((1.5rem - 12px) / 2);margin-right:12px;border-radius:4px}.duet-share-chart-item-list .duet-share-chart-item-value{font-weight:600}.duet-share-chart-item-list li.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{n as duet_share_chart}
|