@duetds/components 6.9.6 → 6.9.7
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 +1246 -58
- package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-alert.cjs.entry.js +1 -1
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-callout.cjs.entry.js +5 -2
- package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
- package/lib/cjs/duet-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +5 -3
- package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +12 -4
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +1 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-hero.cjs.entry.js +4 -3
- package/lib/cjs/duet-icon.cjs.entry.js +1 -1
- package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-modal.cjs.entry.js +2 -2
- package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
- package/lib/cjs/duet-nav.cjs.entry.js +1 -1
- package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
- package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-progress.cjs.entry.js +1 -1
- package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
- package/lib/cjs/duet-slideout.cjs.entry.js +2 -2
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip.cjs.entry.js +1220 -48
- package/lib/cjs/duet-tray.cjs.entry.js +1 -1
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{focus-utils-de2e491b.js → focus-utils-8852d70c.js} +1 -1
- package/lib/cjs/{index-978ec5b0.js → index-8baedc34.js} +1 -1
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/collection/components/duet-callout/duet-callout.js +4 -1
- package/lib/collection/components/duet-choice/duet-choice.js +3 -1
- package/lib/collection/components/duet-hero/duet-hero.css +10 -0
- package/lib/collection/components/duet-hero/duet-hero.js +3 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip.css +39 -106
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +53 -49
- package/lib/collection/components/duet-upload/duet-upload.js +3 -3
- package/lib/collection/components/duet-upload/upload-item.js +8 -2
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-alert.js +1 -1
- package/lib/dist-custom-elements/duet-badge.js +1 -1
- package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
- package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +7 -4
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +3 -3
- package/lib/dist-custom-elements/duet-checkbox.js +1 -1
- package/lib/dist-custom-elements/duet-checkmark.js +1 -1
- package/lib/dist-custom-elements/duet-choice-group.js +6 -6
- package/lib/dist-custom-elements/duet-choice.js +8 -6
- package/lib/dist-custom-elements/duet-collapsible.js +3 -3
- package/lib/dist-custom-elements/duet-combobox.js +2 -2
- package/lib/dist-custom-elements/duet-contact-card.js +8 -8
- package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
- package/lib/dist-custom-elements/duet-date-picker.js +10 -10
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +7 -7
- package/lib/dist-custom-elements/duet-empty-state.js +1 -1
- package/lib/dist-custom-elements/duet-fieldset.js +1 -1
- package/lib/dist-custom-elements/duet-footer.js +4 -4
- package/lib/dist-custom-elements/duet-grid-item.js +1 -1
- package/lib/dist-custom-elements/duet-grid.js +1 -1
- package/lib/dist-custom-elements/duet-header.js +9 -9
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +12 -11
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +1 -1
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +3 -3
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +3 -3
- package/lib/dist-custom-elements/duet-menu-bar-link.js +3 -3
- package/lib/dist-custom-elements/duet-menu-bar.js +3 -3
- package/lib/dist-custom-elements/duet-modal.js +7 -7
- package/lib/dist-custom-elements/duet-multiselect.js +8 -8
- package/lib/dist-custom-elements/duet-nav.js +1 -1
- package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
- package/lib/dist-custom-elements/duet-notification.js +2 -2
- package/lib/dist-custom-elements/duet-number-input.js +9 -9
- package/lib/dist-custom-elements/duet-page-heading.js +2 -2
- package/lib/dist-custom-elements/duet-pagination.js +7 -7
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-radio-group.js +6 -6
- package/lib/dist-custom-elements/duet-radio.js +1 -1
- package/lib/dist-custom-elements/duet-range-slider.js +2 -2
- package/lib/dist-custom-elements/duet-range-stepper.js +4 -4
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +1 -1
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel.js +2 -2
- package/lib/dist-custom-elements/duet-slideout.js +2 -2
- package/lib/dist-custom-elements/duet-spacer.js +1 -1
- package/lib/dist-custom-elements/duet-spinner.js +1 -1
- package/lib/dist-custom-elements/duet-step.js +4 -4
- package/lib/dist-custom-elements/duet-stepper.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +3 -3
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +3 -3
- package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
- package/lib/dist-custom-elements/duet-tab-group.js +9 -9
- package/lib/dist-custom-elements/duet-tab.js +1 -1
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +8 -8
- package/lib/dist-custom-elements/duet-toggle.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +3 -3
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +28 -20
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/p-1635a5ff.js +1446 -0
- package/lib/dist-custom-elements/{p-6f0966d2.js → p-1d207f70.js} +4 -4
- package/lib/dist-custom-elements/{p-0a6a8f11.js → p-2a351223.js} +1 -1
- package/lib/dist-custom-elements/{p-f9c288b5.js → p-369a9e6b.js} +3 -3
- package/lib/dist-custom-elements/{p-9ed66812.js → p-3d6100be.js} +2 -2
- package/lib/dist-custom-elements/{p-4d0f9f83.js → p-4d20fcd1.js} +1 -1
- package/lib/dist-custom-elements/{p-70ef0e9d.js → p-5119f1dc.js} +5 -5
- package/lib/dist-custom-elements/{p-5962ecc8.js → p-5183d2cf.js} +1 -1
- package/lib/dist-custom-elements/{p-a2fa664a.js → p-53c27e8e.js} +1 -1
- package/lib/dist-custom-elements/{p-087e9427.js → p-62683175.js} +1 -1
- package/lib/dist-custom-elements/{p-d8ca2c64.js → p-649043a8.js} +2 -2
- package/lib/dist-custom-elements/{p-f5d77e8e.js → p-67365843.js} +1 -1
- package/lib/dist-custom-elements/{p-a78d941c.js → p-68be9a91.js} +1 -1
- package/lib/dist-custom-elements/{p-c4689e7b.js → p-783a8425.js} +2 -2
- package/lib/dist-custom-elements/{p-5c9bf9ba.js → p-7a905f45.js} +3 -3
- package/lib/dist-custom-elements/{p-0b141ef0.js → p-7e395433.js} +1 -1
- package/lib/dist-custom-elements/{p-57bb44bf.js → p-87df78c6.js} +1 -1
- package/lib/dist-custom-elements/{p-c638adb2.js → p-8bad78a6.js} +1 -1
- package/lib/dist-custom-elements/{p-4a060f56.js → p-93fab31d.js} +1 -1
- package/lib/dist-custom-elements/{p-8160f98e.js → p-99687f8f.js} +6 -6
- package/lib/dist-custom-elements/{p-cbc12626.js → p-9d1b018a.js} +1 -1
- package/lib/dist-custom-elements/{p-a3ba0ed5.js → p-c243ec01.js} +1 -1
- package/lib/{esm/tokens-0963dc8b.js → dist-custom-elements/p-cb9787ec.js} +1 -1
- package/lib/dist-custom-elements/{p-f5252ae4.js → p-cbb67f4e.js} +1 -1
- package/lib/dist-custom-elements/{p-75f47a29.js → p-d95944c8.js} +1 -1
- package/lib/dist-custom-elements/{p-a27921ba.js → p-e080ccaa.js} +1 -1
- package/lib/dist-custom-elements/{p-49ef7e25.js → p-e2a3c6fa.js} +2 -2
- package/lib/dist-custom-elements/{p-064985f6.js → p-e4e40736.js} +2 -2
- package/lib/dist-custom-elements/{p-a1863bda.js → p-efa5255b.js} +1 -1
- package/lib/dist-custom-elements/{p-db20025e.js → p-f0e99128.js} +8 -8
- package/lib/dist-custom-elements/{p-b5a87909.js → p-f2d8763d.js} +2 -2
- package/lib/dist-custom-elements/{p-d54ecc52.js → p-f83c1df9.js} +1 -1
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/p-01d38ac9.entry.js +4 -0
- package/lib/duet/{p-7ecff545.system.entry.js → p-029f96ec.system.entry.js} +1 -1
- package/lib/duet/{p-0c1051da.entry.js → p-03bd5373.entry.js} +1 -1
- package/lib/duet/{p-4c812d78.system.entry.js → p-04da22d7.system.entry.js} +1 -1
- package/lib/duet/{p-b154ecd8.system.entry.js → p-07d0ed0a.system.entry.js} +1 -1
- package/lib/duet/{p-b8705a85.entry.js → p-08693a37.entry.js} +1 -1
- package/lib/duet/{p-11749645.system.entry.js → p-097da893.system.entry.js} +1 -1
- package/lib/duet/{p-50ce994c.system.entry.js → p-09d4bac7.system.entry.js} +1 -1
- package/lib/duet/{p-9c483f1d.system.entry.js → p-0a03a862.system.entry.js} +1 -1
- package/lib/duet/{p-0626d8a9.entry.js → p-0a6ff475.entry.js} +1 -1
- package/lib/duet/{p-26f3b159.system.entry.js → p-0b752687.system.entry.js} +1 -1
- package/lib/duet/{p-0a317f12.entry.js → p-0cdc880e.entry.js} +1 -1
- package/lib/duet/{p-6e5abb84.system.entry.js → p-0e165a4e.system.entry.js} +1 -1
- package/lib/duet/{p-da5583ea.entry.js → p-0f80e2fc.entry.js} +1 -1
- package/lib/duet/{p-f6e2e71a.system.entry.js → p-0fc1b439.system.entry.js} +1 -1
- package/lib/duet/{p-49eef496.system.entry.js → p-1028e393.system.entry.js} +1 -1
- package/lib/duet/{p-940f11ad.system.entry.js → p-106abf71.system.entry.js} +1 -1
- package/lib/duet/{p-67176e9e.entry.js → p-12afe002.entry.js} +1 -1
- package/lib/duet/{p-5707ba42.system.entry.js → p-1396c277.system.entry.js} +1 -1
- package/lib/duet/p-151892ff.system.entry.js +4 -0
- package/lib/duet/{p-830be23d.system.entry.js → p-1677ce5c.system.entry.js} +1 -1
- package/lib/duet/{p-336c0409.system.entry.js → p-1a0b0fe9.system.entry.js} +1 -1
- package/lib/duet/{p-44268138.system.js → p-1c0453e0.system.js} +1 -1
- package/lib/duet/{p-5da36d9e.entry.js → p-1c0a39db.entry.js} +1 -1
- package/lib/duet/{p-ca405201.entry.js → p-2125b071.entry.js} +1 -1
- package/lib/duet/{p-a3b22a18.entry.js → p-2879b97d.entry.js} +1 -1
- package/lib/duet/{p-7a7ef869.entry.js → p-29b9e99e.entry.js} +1 -1
- package/lib/duet/{p-1eece5bf.system.entry.js → p-2bc4d34e.system.entry.js} +1 -1
- package/lib/duet/p-2c68ee2d.system.entry.js +4 -0
- package/lib/duet/{p-e6d1e0be.system.entry.js → p-2d5be93c.system.entry.js} +1 -1
- package/lib/duet/{p-4058cee8.entry.js → p-2d71fa26.entry.js} +1 -1
- package/lib/duet/{p-d656d96e.system.entry.js → p-32eecc8d.system.entry.js} +1 -1
- package/lib/duet/{p-a03c4dcd.system.entry.js → p-344134e5.system.entry.js} +1 -1
- package/lib/duet/{p-c9edd0bb.system.entry.js → p-36bca919.system.entry.js} +1 -1
- package/lib/duet/{p-a0876e2e.system.entry.js → p-3b1ff9be.system.entry.js} +1 -1
- package/lib/duet/{p-2c31977d.entry.js → p-3c88792b.entry.js} +1 -1
- package/lib/duet/{p-13540a69.system.entry.js → p-3d6d2012.system.entry.js} +1 -1
- package/lib/duet/{p-728c2f13.entry.js → p-3de9ea90.entry.js} +1 -1
- package/lib/duet/{p-482497cd.entry.js → p-3e2c87e6.entry.js} +1 -1
- package/lib/duet/{p-50df271c.entry.js → p-3e7b62a4.entry.js} +1 -1
- package/lib/duet/{p-653eb7ce.system.entry.js → p-401a454b.system.entry.js} +1 -1
- package/lib/duet/{p-aa79548d.system.entry.js → p-41a69e48.system.entry.js} +1 -1
- package/lib/duet/{p-3d31b17b.system.entry.js → p-42844e9d.system.entry.js} +1 -1
- package/lib/duet/{p-f2f60847.entry.js → p-44f22e6b.entry.js} +1 -1
- package/lib/duet/{p-0eb4217a.entry.js → p-458dd158.entry.js} +1 -1
- package/lib/duet/{p-c2757db1.entry.js → p-45fe4429.entry.js} +1 -1
- package/lib/duet/p-4634f44d.entry.js +4 -0
- package/lib/duet/{p-51adf63c.system.entry.js → p-466c4910.system.entry.js} +1 -1
- package/lib/duet/{p-475d42a8.system.entry.js → p-48ef2786.system.entry.js} +1 -1
- package/lib/duet/{p-bdc400cf.entry.js → p-4a4cbba5.entry.js} +1 -1
- package/lib/duet/{p-745645b0.entry.js → p-4c1fb962.entry.js} +1 -1
- package/lib/duet/{p-8b148f79.system.entry.js → p-4c7fb05f.system.entry.js} +1 -1
- package/lib/duet/{p-636e5f15.entry.js → p-4cb43c38.entry.js} +1 -1
- package/lib/duet/p-5074accf.entry.js +4 -0
- package/lib/duet/{p-81c05491.system.entry.js → p-5573222d.system.entry.js} +1 -1
- package/lib/duet/{p-b672280a.entry.js → p-57a26a2a.entry.js} +1 -1
- package/lib/duet/{p-a92d4f59.system.entry.js → p-5c17a74a.system.entry.js} +1 -1
- package/lib/duet/{p-c6793076.system.entry.js → p-5d15cd89.system.entry.js} +1 -1
- package/lib/duet/{p-d6149423.entry.js → p-5e6542bc.entry.js} +1 -1
- package/lib/duet/{p-c42f3a40.system.entry.js → p-5f7a2639.system.entry.js} +1 -1
- package/lib/duet/{p-83b776f5.system.entry.js → p-613156e6.system.entry.js} +2 -2
- package/lib/duet/{p-da4c713c.system.entry.js → p-62a63d5b.system.entry.js} +1 -1
- package/lib/duet/{p-4d0d61a7.entry.js → p-6325ae2d.entry.js} +1 -1
- package/lib/duet/p-66fbed51.entry.js +4 -0
- package/lib/duet/{p-4ec88753.entry.js → p-675f844b.entry.js} +1 -1
- package/lib/duet/{p-e66936a4.system.entry.js → p-68ee9bfa.system.entry.js} +1 -1
- package/lib/duet/{p-5b17dfea.system.entry.js → p-6a0f118b.system.entry.js} +1 -1
- package/lib/duet/{p-d71ba70b.system.entry.js → p-6ba40ef9.system.entry.js} +1 -1
- package/lib/duet/{p-5cfb7c71.entry.js → p-6dc868fd.entry.js} +1 -1
- package/lib/duet/{p-ffbb062e.system.entry.js → p-6dcce504.system.entry.js} +1 -1
- package/lib/duet/{p-955782ae.entry.js → p-70e49d00.entry.js} +1 -1
- package/lib/duet/p-752fb0a0.system.entry.js +4 -0
- package/lib/duet/{p-3429690e.entry.js → p-75316086.entry.js} +1 -1
- package/lib/duet/p-789a9af4.entry.js +4 -0
- package/lib/duet/{p-be4bb297.system.entry.js → p-79dd09a6.system.entry.js} +1 -1
- package/lib/duet/{p-825fa6d7.entry.js → p-79eb3572.entry.js} +1 -1
- package/lib/duet/{p-1f66cbb6.entry.js → p-7b99f674.entry.js} +1 -1
- package/lib/duet/{p-587e1ad0.system.js → p-7bab508c.system.js} +1 -1
- package/lib/duet/{p-35664bb6.system.entry.js → p-7cf776fa.system.entry.js} +1 -1
- package/lib/duet/{p-46e061d9.entry.js → p-7e3e70df.entry.js} +1 -1
- package/lib/duet/{p-02fd20f6.system.entry.js → p-7f94280a.system.entry.js} +1 -1
- package/lib/duet/p-7fefe439.entry.js +4 -0
- package/lib/duet/{p-49c7c6fb.system.entry.js → p-8349ff2d.system.entry.js} +1 -1
- package/lib/duet/{p-fbc7ad71.entry.js → p-853ac360.entry.js} +1 -1
- package/lib/duet/{p-9f1699dc.system.entry.js → p-8d5edbbe.system.entry.js} +1 -1
- package/lib/duet/{p-c192f269.system.entry.js → p-91be047f.system.entry.js} +1 -1
- package/lib/duet/{p-7345aff9.system.entry.js → p-92e94229.system.entry.js} +1 -1
- package/lib/duet/{p-0ec6a000.entry.js → p-93a2c807.entry.js} +1 -1
- package/lib/duet/{p-ce00f1fd.system.entry.js → p-97528238.system.entry.js} +1 -1
- package/lib/duet/{p-0bcdec8b.system.entry.js → p-9791ab1b.system.entry.js} +1 -1
- package/lib/duet/{p-d24ebe03.system.entry.js → p-97df072f.system.entry.js} +1 -1
- package/lib/duet/{p-b731849c.system.entry.js → p-981f2443.system.entry.js} +1 -1
- package/lib/duet/{p-af932bca.system.entry.js → p-98777ba0.system.entry.js} +1 -1
- package/lib/duet/{p-e078ba11.entry.js → p-991271a2.entry.js} +1 -1
- package/lib/duet/{p-14ab7ebe.system.entry.js → p-9916b7d2.system.entry.js} +1 -1
- package/lib/duet/{p-02b08c30.entry.js → p-9c127e8f.entry.js} +1 -1
- package/lib/duet/p-9ec19751.entry.js +4 -0
- package/lib/duet/p-9f81873c.entry.js +4 -0
- package/lib/duet/{p-8ab66620.system.entry.js → p-a042bc85.system.entry.js} +2 -2
- package/lib/duet/{p-01dc716d.entry.js → p-a1a8395b.entry.js} +1 -1
- package/lib/duet/{p-cafb90c2.entry.js → p-a341e9c3.entry.js} +1 -1
- package/lib/duet/{p-a74c2dff.entry.js → p-a653bb02.entry.js} +1 -1
- package/lib/duet/{p-474bacf0.entry.js → p-a6aba2d3.entry.js} +1 -1
- package/lib/duet/{p-628600fa.entry.js → p-a903a315.entry.js} +1 -1
- package/lib/duet/{p-8078b081.system.js → p-a9a7d16c.system.js} +1 -1
- package/lib/duet/{p-c03df848.entry.js → p-a9d7b38d.entry.js} +1 -1
- package/lib/duet/{p-de62f610.system.entry.js → p-afcfc528.system.entry.js} +1 -1
- package/lib/duet/{p-8d98f055.entry.js → p-b4ff5c09.entry.js} +1 -1
- package/lib/duet/{p-1522db1d.entry.js → p-b90cdb91.entry.js} +1 -1
- package/lib/duet/{p-b651d2d1.entry.js → p-bb97ab92.entry.js} +1 -1
- package/lib/duet/{p-c9854b35.system.entry.js → p-bef59086.system.entry.js} +1 -1
- package/lib/duet/{p-041b483b.entry.js → p-c39467e4.entry.js} +1 -1
- package/lib/duet/{p-e4faf457.entry.js → p-c50233e1.entry.js} +1 -1
- package/lib/duet/{p-7000ce85.system.entry.js → p-c504d7cd.system.entry.js} +1 -1
- package/lib/duet/{p-f3d588ab.entry.js → p-c56dd6d7.entry.js} +1 -1
- package/lib/duet/{p-d9ef6f51.system.entry.js → p-c6a321f1.system.entry.js} +1 -1
- package/lib/duet/{p-e65709fc.entry.js → p-c94a423f.entry.js} +1 -1
- package/lib/duet/{p-c4d8cad0.js → p-cb9787ec.js} +1 -1
- package/lib/duet/{p-cc5a3edc.js → p-cca182be.js} +1 -1
- package/lib/duet/{p-cdea33d4.entry.js → p-cff8b0b3.entry.js} +1 -1
- package/lib/duet/{p-22c2c6d5.system.entry.js → p-d1b6fd73.system.entry.js} +1 -1
- package/lib/duet/p-d3bba23f.entry.js +4 -0
- package/lib/duet/{p-23ec6f02.entry.js → p-d4d2569e.entry.js} +1 -1
- package/lib/duet/{p-cb9991a5.system.entry.js → p-d6196775.system.entry.js} +1 -1
- package/lib/duet/{p-d0857e1f.system.js → p-d7e6a4ed.system.js} +1 -1
- package/lib/duet/{p-4b457bad.system.entry.js → p-da04e483.system.entry.js} +1 -1
- package/lib/duet/{p-420af35d.system.entry.js → p-dc4b4a04.system.entry.js} +1 -1
- package/lib/duet/{p-40b5d6b7.entry.js → p-de82bfee.entry.js} +1 -1
- package/lib/duet/{p-9c5001ab.entry.js → p-df7481e8.entry.js} +1 -1
- package/lib/duet/{p-9d0b30a0.system.entry.js → p-e057d8c4.system.entry.js} +1 -1
- package/lib/duet/{p-d20fb807.entry.js → p-e05c4a5b.entry.js} +1 -1
- package/lib/duet/{p-56f913f0.system.entry.js → p-e0848924.system.entry.js} +1 -1
- package/lib/duet/{p-332dc9a8.entry.js → p-e5d2b68e.entry.js} +1 -1
- package/lib/duet/{p-a57772d2.system.entry.js → p-e65bc05f.system.entry.js} +1 -1
- package/lib/duet/{p-1eccf55b.system.entry.js → p-e6f92c08.system.entry.js} +1 -1
- package/lib/duet/{p-d82963c2.system.entry.js → p-ed16d00b.system.entry.js} +1 -1
- package/lib/duet/p-f5a74f01.js +4 -0
- package/lib/duet/p-f5fd8e55.entry.js +4 -0
- package/lib/duet/{p-9ebea289.entry.js → p-f691d0b6.entry.js} +1 -1
- package/lib/duet/{p-55bdc762.entry.js → p-f7fbc435.entry.js} +1 -1
- package/lib/duet/{p-e4f417fe.entry.js → p-f8d91f4b.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +1 -1
- package/lib/esm/duet-alert.entry.js +1 -1
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-breadcrumb.entry.js +1 -1
- package/lib/esm/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +1 -1
- package/lib/esm/duet-callout.entry.js +5 -2
- package/lib/esm/duet-caption_4.entry.js +1 -1
- package/lib/esm/duet-card.entry.js +1 -1
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +5 -3
- package/lib/esm/duet-collapsible.entry.js +2 -2
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-contact-card.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +2 -2
- package/lib/esm/duet-divider_2.entry.js +1 -1
- package/lib/esm/duet-editable-table_3.entry.js +12 -4
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +1 -1
- package/lib/esm/duet-grid_2.entry.js +2 -2
- package/lib/esm/duet-header_2.entry.js +2 -2
- package/lib/esm/duet-hero.entry.js +4 -3
- package/lib/esm/duet-icon.entry.js +1 -1
- package/lib/esm/duet-input_2.entry.js +1 -1
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-menu-bar-button.entry.js +2 -2
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown.entry.js +2 -2
- package/lib/esm/duet-menu-bar-link.entry.js +2 -2
- package/lib/esm/duet-menu-bar.entry.js +2 -2
- package/lib/esm/duet-modal.entry.js +2 -2
- package/lib/esm/duet-multiselect.entry.js +1 -1
- package/lib/esm/duet-nav.entry.js +1 -1
- package/lib/esm/duet-notification_2.entry.js +1 -1
- package/lib/esm/duet-number-input.entry.js +1 -1
- package/lib/esm/duet-page-heading.entry.js +1 -1
- package/lib/esm/duet-pagination_2.entry.js +1 -1
- package/lib/esm/duet-progress.entry.js +1 -1
- package/lib/esm/duet-radio_2.entry.js +1 -1
- package/lib/esm/duet-range-slider.entry.js +1 -1
- package/lib/esm/duet-scrollable_3.entry.js +1 -1
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +1 -1
- package/lib/esm/duet-slideout-lang.entry.js +1 -1
- package/lib/esm/duet-slideout-link.entry.js +1 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm/duet-slideout-panel.entry.js +2 -2
- package/lib/esm/duet-slideout.entry.js +2 -2
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +2 -2
- package/lib/esm/duet-submenu-bar-link.entry.js +2 -2
- package/lib/esm/duet-submenu-bar.entry.js +2 -2
- package/lib/esm/duet-textarea.entry.js +1 -1
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm/duet-toolbar-link.entry.js +1 -1
- package/lib/esm/duet-toolbar.entry.js +1 -1
- package/lib/esm/duet-tooltip.entry.js +1220 -48
- package/lib/esm/duet-tray.entry.js +1 -1
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +3 -3
- package/lib/esm/{focus-utils-b482bcb1.js → focus-utils-1e6af8c1.js} +1 -1
- package/lib/esm/{index-5a68b13e.js → index-77de1d56.js} +1 -1
- package/lib/esm/loader.js +3 -3
- package/lib/{dist-custom-elements/p-c4d8cad0.js → esm/tokens-20d688dc.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-alert.entry.js +1 -1
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm-es5/duet-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-callout.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +1 -1
- package/lib/esm-es5/duet-contact-card.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- package/lib/esm-es5/duet-header_2.entry.js +1 -1
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +1 -1
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-multiselect.entry.js +1 -1
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +1 -1
- package/lib/esm-es5/duet-range-slider.entry.js +1 -1
- package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
- package/lib/esm-es5/duet-slideout.entry.js +2 -2
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +2 -2
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/{focus-utils-b482bcb1.js → focus-utils-1e6af8c1.js} +1 -1
- package/lib/esm-es5/{index-5a68b13e.js → index-77de1d56.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/{tokens-0963dc8b.js → tokens-20d688dc.js} +1 -1
- package/lib/types/components/duet-callout/duet-callout.d.ts +2 -0
- package/lib/types/components/duet-hero/duet-hero.d.ts +2 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +8 -7
- package/lib/types/components/duet-upload/duet-upload.d.ts +1 -1
- package/lib/types/components.d.ts +2 -2
- package/package.json +6 -5
- package/lib/dist-custom-elements/p-98c77c8d.js +0 -272
- package/lib/duet/p-2b1f8599.system.entry.js +0 -4
- package/lib/duet/p-3877d445.entry.js +0 -4
- package/lib/duet/p-42e60321.entry.js +0 -4
- package/lib/duet/p-4af2f77a.entry.js +0 -4
- package/lib/duet/p-60912840.entry.js +0 -4
- package/lib/duet/p-624d38a3.system.entry.js +0 -4
- package/lib/duet/p-673a6c11.entry.js +0 -4
- package/lib/duet/p-793dcfc2.js +0 -4
- package/lib/duet/p-95eb41b3.system.entry.js +0 -4
- package/lib/duet/p-a7953c81.entry.js +0 -4
- package/lib/duet/p-b1ae5c07.entry.js +0 -4
- package/lib/duet/p-b89cad4d.entry.js +0 -4
- package/lib/duet/p-bf4ceb06.entry.js +0 -4
- package/lib/duet/p-d5f65552.entry.js +0 -4
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,t,a,i){function n(e){return e instanceof a?e:new a((function(t){t(e)}))}return new(a||(a=Promise))((function(a,r){function o(e){try{s(i.next(e))}catch(t){r(t)}}function l(e){try{s(i["throw"](e))}catch(t){r(t)}}function s(e){e.done?a(e.value):n(e.value).then(o,l)}s((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var a={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,n,r,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(e){return function(t){return s([e,t])}}function s(l){if(i)throw new TypeError("Generator is already executing.");while(o&&(o=0,l[0]&&(a=0)),a)try{if(i=1,n&&(r=l[0]&2?n["return"]:l[0]?n["throw"]||((r=n["return"])&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;if(n=0,r)l=[l[0]&2,r.value];switch(l[0]){case 0:case 1:r=l;break;case 4:a.label++;return{value:l[1],done:false};case 5:a.label++;n=l[1];l=[0];continue;case 7:l=a.ops.pop();a.trys.pop();continue;default:if(!(r=a.trys,r=r.length>0&&r[r.length-1])&&(l[0]===6||l[0]===2)){a=0;continue}if(l[0]===3&&(!r||l[1]>r[0]&&l[1]<r[3])){a.label=l[1];break}if(l[0]===6&&a.label<r[1]){a.label=r[1];r=l;break}if(r&&a.label<r[2]){a.label=r[2];a.ops.push(l);break}if(r[2])a.ops.pop();a.trys.pop();continue}l=t.call(e,a)}catch(s){l=[6,s];n=0}finally{i=r=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,a){if(a||arguments.length===2)for(var i=0,n=t.length,r;i<n;i++){if(r||!(i in t)){if(!r)r=Array.prototype.slice.call(t,0,i);r[i]=t[i]}}return e.concat(r||Array.prototype.slice.call(t))};
|
|
2
|
-
/*!
|
|
3
|
-
* Built with Duet Design System
|
|
4
|
-
*/System.register(["./p-d0857e1f.system.js","./p-33b3aba4.system.js","./p-34ea0849.system.js","./p-51721695.system.js","./p-c8dc599d.system.js","./p-f67ee736.system.js","./p-450e63a4.system.js","./p-5f6bd5db.system.js","./p-b6d51921.system.js"],(function(e){"use strict";var t,a,i,n,r,o,l,s,d,u,p,h,c,f,b,m,g,y,v,x,w;return{setters:[function(e){t=e.h;a=e.r;i=e.c;n=e.H;r=e.g;o=e.F},function(e){l=e.i},function(e){s=e.f;d=e.d},function(e){u=e.i},function(e){p=e.g;h=e.c;c=e.d;f=e.a;b=e.s},function(e){m=e.p;g=e.s},function(e){y=e.b;v=e.a},function(e){x=e.c},function(e){w=e.p}],execute:function(){var k=function(e,a){var i=e.data,n=e.groupId,r=e.alignment;var o="duet-editable-table duet-editable-table-content-".concat(n);if(typeof i==="string"){return t("td",{innerHTML:i,class:o,part:"".concat(n,"content"),style:{verticalAlign:r}})}else{return t("td",{class:o,part:"".concat(n,"content"),style:{verticalAlign:r}},i)}};var L=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";var D=e("duet_editable_table",function(){function e(e){var t=this;a(this,e);this.duetTableToggle=i(this,"duetTableToggle",7);this.duetMenuClick=i(this,"duetMenuClick",7);this.hasHeadSlotFirst=false;this.hasHeadSlotLast=false;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=function(e,a){a.preventDefault();var i=e.sort_order,n=e.direction,r=e.index,o=e.key;t.duetTableToggle.emit({sort_order:i,index:r,direction:n,key:o,component:"duet-editable-table",originalEvent:a})};this.handleKeyDown=function(e,a){if(u(a)){t.toggleColumn(e,a)}};this.language=p();this.margin="auto";this.variation="striped";this.sticky=false;this.stickyDistance="with-links";this.breakpoint="small";this.actions=undefined;this.columns=undefined;this.rows=undefined;this.sortable=false;this.groupId="";this.theme="";this.accessibleRole=undefined;this.hideHeadVisually=false}e.prototype.componentWillLoad=function(){l(this);this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']");this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']")};e.prototype.connectedCallback=function(){h(this)};e.prototype.disconnectedCallback=function(){c(this)};e.prototype.createLabel=function(e){var a=this;var i=e.sort_order,n=e.direction,r=e.index,o=e.label;var l=f(o);if(!this.sortable){return l}var s=function(){if(!!i&&n===1){return"action-arrow-down-small"}else if(!!i&&n===-1){return"action-arrow-up-small"}return"action-subtract-small"};return t("span",{class:"duet-table-label","data-index":r},t("duet-button",{size:"small",icon:s(),"icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":true,onClick:function(t){return a.toggleColumn(e,t)},onKeyDown:function(t){return a.handleKeyDown(e,t)}},l))};e.prototype.getSortedColumns=function(){return __spreadArray([],this.columns,true).sort(s(["index"]))};e.prototype.getRowSortOrder=function(){var e=__spreadArray([],this.columns,true).sort(s(["sort_order"]));return e.filter((function(e){return e.sort_order})).map((function(e){return e.direction===-1?"-".concat(e.key):e.key}))};e.prototype.renderTableHeader=function(){var e=this;if(!this.columns){return}var a=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},a.map((function(a){if(a.display!==false){var i=e.createLabel(a);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])))};e.prototype.renderActions=function(e,a){var i=this;if(!this.actions){return}return t("td",{class:"duet-text-right"},this.actions.map((function(n){return t("duet-action-button",{actionMeta:Object.assign({},(e===null||e===void 0?void 0:e.meta)||{},{index:a}),actionId:(e===null||e===void 0?void 0:e.uid)||(e===null||e===void 0?void 0:e.id)||null,actionName:n.name,theme:i.theme,iconName:n.icon,iconColor:n.color,iconSize:n.size,background:n.background,"accessible-label":"".concat(e.actionDescription||""," ").concat(f(n.label)," ")})})))};e.prototype.renderTableBody=function(){var e=this;var a=this.getSortedColumns();var i=this.getRowSortOrder();var n=__spreadArray([],this.rows,true).sort(s(i));return n.map((function(i,n){var r;return t("tr",{class:(r={"duet-table-action-row":!!e.actions,"duet-editable-table-row":true},r["duet-editable-table-row-".concat(e.groupId)]=true,r),"data-meta":JSON.stringify(i.meta)},a.map((function(a){var n=i[a.key]?i[a.key]:i.item;if(a.display!==false){return t(k,{data:n,groupId:e.groupId})}})),e.actions&&e.renderActions(i,n))}))};e.prototype.render=function(){var e;return t(n,{class:(e={},e["duet-editable-table-".concat(this.variation)]=true,e["duet-editable-table"]=true,e["duet-editable-table-".concat(this.theme)]=true,e["duet-editable-table-scrollable"]=this.breakpoint==="none-scrollable",e["duet-editable-table-sortable"]=this.sortable,e["duet-editable-table-actions"]=!!this.actions,e["duet-m-0"]=this.margin==="none",e["duet-theme-turva"]=this.theme==="turva",e)},t("duet-table",{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",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,this.hasHeadSlotFirst&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),t("tfoot",null,t("tr",null,t("th",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());D.style=L;var M='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;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;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead,duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead *{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:rgb(0, 41, 77)}duet-table.duet-theme-turva td{color:rgb(23, 28, 58)}duet-table th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}duet-table.duet-theme-turva th{color:rgb(116, 116, 117)}duet-table tbody th{font-weight:600;color:rgb(0, 41, 77)}duet-table.duet-theme-turva tbody th{color:rgb(23, 28, 58)}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:rgb(23, 28, 58)}.duet-table-sticky thead th{position:sticky;top:0;background:rgb(255, 255, 255)}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:rgb(255, 255, 255)}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:rgb(228, 228, 230)}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:rgb(228, 228, 230)}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:rgb(228, 228, 230)}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid rgb(101, 119, 135)}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:rgb(68, 68, 69)}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:rgb(228, 228, 230)}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:rgb(228, 228, 230)}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:rgb(228, 228, 230)}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;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%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';var I={none:0,"with-links":parseFloat(m)*16,"without-links":parseFloat(g)*16};var _=e("duet_table",function(){function e(e){var t=this;a(this,e);this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)";this.handleMediaQueryChange=function(e){t.matchesBreakpoint=y.includes(t.breakpoint)?!e.matches:e.matches};this.matchesBreakpoint=true;this.language=p();this.theme=undefined;this.margin="auto";this.variation="striped";this.sticky=false;this.stickyDistance="with-links";this.breakpoint="small";this.hideHeadVisually=false}e.prototype.watchLanguageStateHandler=function(e,t){var a=this;if(e!==t){setTimeout((function(){return a.copyHeadingsToCells()}),50)}};e.prototype.connectedCallback=function(){var e=this;var t=this.breakpoint==="none"||this.breakpoint==="none-scrollable"?"all":v[this.breakpoint];this.mq=matchMedia(t);this.mq.addEventListener("change",d(this.handleMediaQueryChange,50));this.handleMediaQueryChange(this.mq);this.observer=new MutationObserver((function(){return d(e.copyHeadingsToCells(),50)}));this.observer.observe(this.element,{childList:true,subtree:true})};e.prototype.componentWillLoad=function(){l(this);this.copyHeadingsToCells();if(this.sticky&&this.breakpoint==="none-scrollable"){console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence')}if(this.sticky){var e=I[this.stickyDistance];var t=this.element.querySelectorAll(this.headingSelector);t.forEach((function(t){return t.style.top="".concat(e,"px")}))}};e.prototype.componentDidLoad=function(){this.observer?this.observer.takeRecords():null;h(this)};e.prototype.disconnectedCallback=function(){this.observer.disconnect();this.observer=null;this.mq.removeListener(this.handleMediaQueryChange);this.mq=null;this.matchesBreakpoint=true;c(this)};e.prototype.copyHeadingsToCells=function(){var e=this.element.querySelectorAll(this.headingSelector);var t=this.element.querySelectorAll("tbody tr");var a=Array.from(e).map((function(e){return e.textContent.trim()}));t.forEach((function(e){e.querySelectorAll("td").forEach((function(e,t){if(a[t]){e.dataset.heading=a[t]}}))}))};e.prototype.render=function(){var e;return t(n,{class:(e={},e["duet-table-".concat(this.variation)]=true,e["duet-table-flattened"]=!this.matchesBreakpoint,e["duet-table-sticky"]=this.matchesBreakpoint&&this.sticky,e["duet-table-scrollable"]=this.breakpoint==="none-scrollable",e["duet-m-0"]=this.margin==="none",e["duet-theme-turva"]=this.theme==="turva",e["duet-table-hide-head-visually"]=this.hideHeadVisually,e)},t("slot",null))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{language:["watchLanguageStateHandler"]}},enumerable:false,configurable:true});return e}());_.style=M;var S=[{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-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."}}];var F=function(e,t){var a={type:undefined,system_message:undefined,message:undefined};t=w(t);a=t.filter((function(t){return t.type==e}))[0];if(!a){a=t.filter((function(e){return e.type==="default"}))[0]}return a};var z=function(e,t){var a=F(e,t);var i=f(a.message);if(i===""||!i){return a.system_message}else{return i}};var C=function(e,t){if(t===void 0){t=2}if(e===0){return"0 Bytes"}var a=1024;var i=t<0?0:t;var n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];var r=Math.floor(Math.log(e)/Math.log(a));return parseFloat((e/Math.pow(a,r)).toFixed(i))+" "+n[r]};var T=function(e){var a=e.data,i=e.showLinks,n=e.type,r=e.actions,o=e.errorCodes,l=e.theme,s=e.label,d=e.categoryLabel,u=e.showCategory;var p=a.uid,h=a.item,c=a.size,b=a.uploaded,m=a.url,g=a.meta,y=a.progress,v=a.error;var x=h.name;var w=function(){switch(n){case"inprogress":return t("span",{class:"duet-upload-item-name"},t("duet-paragraph",{class:"duet-upload-item-name",color:"gray-darker",margin:"none",weight:"semi-bold"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),x),t("duet-progress",{progress:Math.ceil(y),"aria-hidden":true}));case"pending":return t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),x);case"failure":return t("span",{class:"duet-upload-item-error",role:"status"},t("duet-paragraph",{class:"duet-upload-item-name",color:"danger",margin:"none",weight:"semi-bold"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),x),t("duet-paragraph",{class:"duet-upload-item-error-label",size:"small",margin:"none",color:"danger"},z(v.type,o)));default:return b&&m&&i?t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},t("duet-link",{url:m,external:true},k),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),L):t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},k,t("duet-spacer",{size:"xx-small",direction:"horizontal"}),L)}};var k=t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),x);var L=t("span",{class:"duet-upload-item-size",style:{fontSize:"14px",fontWeight:"400"}},"(",C(c),")");var D=g&&g.badges?t("span",null,g.badges.map((function(e){return t("duet-badge",{color:"primary"},e)}))):undefined;var M="".concat(g&&g.badges?g.badges.join(","):""," ").concat(x);return t("div",{class:{"upload-item-row":true}},u&&t("div",{class:"item-categories"},t("duet-heading",{class:"heading",color:"color-secondary",level:"h6",weight:"semibold"},f(d)),D),t("div",{class:{"item-name":true,"no-category":!u}},!!s&&t("duet-heading",{class:"heading",color:"color-secondary",level:"h6",weight:"semibold"},f(s)),w()),t("div",{class:"item-actions"},r.map((function(e){return t("duet-action-button",{actionMeta:Object.assign({},g||{}),actionId:p||null,actionName:e.name,theme:l,iconName:e.icon,iconColor:e.color,iconSize:e.size,background:e.background,"accessible-label":"".concat(M," ").concat(f(e.label)," ")})}))))};var E=function(e){var a=e.label,i=e.categoryLabel;return t("div",{class:"items-header"},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none"},f(i)),t("duet-heading",{class:{"filename-header":true,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none"},f(a)))};var A=function(e,t){if(!t){return true}var a=e.split(".");var i=t.split(",");var n=a[a.length-1];return i.includes(n)};var B=function(e,t){if(!t||!e){return true}var a=t.split(",");var i=false;a.forEach((function(t){var a=t.split("/");var n=e.split("/");if(a[0]===n[0]&&(a[1]===n[1]||a[1]==="*")){i=true}}));return i};var P=function(e,t){if(!t||!e){return true}return t>=e};var H=function(e,t,a){var i=t.allowedMimetypes,n=t.allowedExtensions,r=t.maxBytes;var o=false;var l=F("default",a);if(e){var s=e.name,d=e.type,u=e.size;var p=B(d,i);var h=n==="all"||n===""||n===" "||n===undefined?true:A(s.toLowerCase(),n);var c=P(u,r);if(!p){l=F("duet-upload-101",a)}if(!h){l=F("duet-upload-100",a)}if(!c){l=F("duet-upload-201",a)}o=p&&h&&c}else{o=false}return{valid:o,errorMessage:o?undefined:f(l.message),errorSystem:o?undefined:l.system_message,errorType:o?undefined:l.type}};var j=function(e,t){var a=0;if(t){e.forEach((function(e){if(e.valid&&e.size){a+=e.size}}));if(a>t){return true}}return false};var U=function(e,t){var a=0;if(t){e.forEach((function(e){if(e.valid){a++}}));if(a>t){return true}}return false};var R=function(e){var t=e.payload,a=e.options,i=e.onFailure,n=e.onSuccess,r=e.onProgress;var o=a.type,l=o===void 0?"POST":o,s=a.xhr,d=a.uri,u=a.argument,p=u===void 0?null:u,h=a.headers,c=h===void 0?null:h;s.open(l,"".concat(d).concat(p||""),true);var f=t.data,b=t.name;if(c){Object.keys(c).forEach((function(e){s.setRequestHeader(e,c[e])}))}if(l==="POST"){s.onreadystatechange=function(){if(s.readyState===XMLHttpRequest.DONE&&s.status>=200&&s.status<300){n(s,b,s.status)}if(s.readyState===XMLHttpRequest.DONE&&s.status>=300&&s.status<999){i(s,b,s.status)}};r(b)}s.send(f);return s};var V="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::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;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.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:28px}.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(225, 227, 230)}@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}";var q=e("duet_upload",function(){function e(e){var n=this;a(this,e);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.buttonId=x("DuetButton");this.labelId=x("DuetLabel");this.uploadId=x("DuetUpload");this.filesInProgress=new Map;this.fileMaxReached=false;this.bytesMaxReached=false;this.internalStatusMessageLabel=undefined;this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"};this.kick=d((function(){n.tick=Date.now()}),30);this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"};this.listenForActionEvents=function(){n.element.addEventListener("duetActionEvent",(function(e){var t=e.detail;var a=t.action,i=t.id,r=t.originalEvent;switch(a){case"delete":n.onDelete(i,r);break;case"cancel":n.onCancel(i,r);break}}))};this.verifyValidity=function(){var e=n.getFilesAsArray(),t=e.invalid,a=e.valid;var i=n.valid;n.valid=t.length===0&&a.length!==0;if(n.valid!==i){n.duetState.emit({originalEvent:undefined,data:{valid:n.valid,from:"componentWillRender"},component:"duet-upload"})}};this.getGroupFromItemData=function(e){if(e.valid&&e.progress===100){return n.DefaultGroups.success}else if(e.progress>0&&e.progress!==100){return n.DefaultGroups.inprogress}else if(!e.valid){return n.DefaultGroups.failure}else if(e.pending){return n.DefaultGroups.pending}else if(e.group){return e.group}else{return"none"}};this.mapFilesToUploadItems=function(e,a,i){if(a===n.DefaultGroups.success){return t(T,{theme:n.theme,actions:n.getActions(a),type:"success",data:e,showLinks:n.showLinks,categoryLabel:n.categoryLabel,label:n.uploadedItemsHeaderLabel,showCategory:i})}else if(a===n.DefaultGroups.inprogress){return t(T,{theme:n.theme,actions:n.getActions(a),type:"inprogress",data:e,showLinks:n.showLinks,categoryLabel:n.categoryLabel,label:n.uploadedItemsHeaderLabel,showCategory:i})}else if(a===n.DefaultGroups.pending){return t(T,{theme:n.theme,actions:n.getActions(a),type:"pending",data:e,showLinks:n.showLinks,categoryLabel:n.categoryLabel,label:n.uploadedItemsHeaderLabel,showCategory:i})}else if(a===n.DefaultGroups.failure){return t(T,{theme:n.theme,actions:n.getActions(a),type:"failure",data:e,showLinks:n.showLinks,errorCodes:n.errorCodes,categoryLabel:n.categoryLabel,label:n.uploadedItemsHeaderLabel,showCategory:i})}else if(e.group){return e.html}else{return"none"}};this.genHashName=function(){return Date.now().toString(36)+Math.random()};this.updateValueInMap=function(e,t,a,i){if(i===void 0){i=true}try{var r=n.files.get(e);r[t]=a;n.files.set(e,r);if(n.external&&t!=="url"){n.trackProgress(e,t==="uploaded")}}catch(o){}if(i){n.kick()}};this.updateProgress=function(e,t){var a=function(a){n.updateValueInMap(t,"progress",a);n.onProgress(t,a,e)};if(e.lengthComputable){var i=e.loaded/e.total*100;a(i)}else{console.log("cant read progress")}};this.trackProgress=function(e,t){if(t===void 0){t=false}if(t){n.filesInProgress.delete(e)}else{n.filesInProgress.set(e,"inprogress")}if(n.filesInProgress.size===0){n.onDone()}};this.getFilesAsArray=function(){var e=[];var t=[];n.files.forEach((function(a){if(a.valid&&!a.deleted){e.push(a)}else if(!a.valid&&!a.deleted){t.push(a)}}));return{valid:e,invalid:t}};this.resetFormFields=function(){n.nativeInput.value=""};this.startUpload=function(e,t){if(t===void 0){t=undefined}return __awaiter(n,void 0,void 0,(function(){return __generator(this,(function(a){this.metaData=t;this.nativeInput.click();this.onUpload(e,t);e.stopPropagation();e.preventDefault();return[2]}))}))};this.transferComplete=function(e){n.updateValueInMap(e,"progress",100,false);n.trackProgress(e,true)};this.transferDone=function(e,t,a){n.updateValueInMap(t,"status",a,false);n.updateValueInMap(t,"uploaded",true,false);try{var i=JSON.parse(e.response);n.updateValueInMap(t,"url",i.url)}catch(r){n.updateValueInMap(t,"url",null);console.error("Server did not respond with expected response {url: string}")}return};this.transferDoneWithFailure=function(e,t,a){try{var i=JSON.parse(e.response).error;n.updateValueInMap(t,"error",{message:i.message,type:i.type},false)}catch(r){console.error("Server did not respond with expected response error:{message: string, type: int}");n.updateValueInMap(t,"error",{type:a},false)}n.updateValueInMap(t,"valid",false,true)};this.transferFailed=function(e){n.updateValueInMap(e,"error",z("duet-upload-001",n.errorCodes))};this.transferCanceled=function(e){n.files.delete(e);n.validateTotals(e);n.kick()};this.validateTotals=function(e){var t=j(n.files,n.maxBytesTotal);var a=U(n.files,n.maxFiles);if(t&&e){n.updateValueInMap(e,"error",z("duet-upload-202",n.errorCodes),false)}if(a&&e){n.updateValueInMap(e,"error",z("duet-upload-301",n.errorCodes),false)}n.bytesMaxReached=t;n.fileMaxReached=a;return{bytesMaxReached:t,fileMaxReached:a}};this.uploadFile=function(e,t,a){if(t===void 0){t=false}return __awaiter(n,void 0,void 0,(function(){var i,n,r;return __generator(this,(function(o){switch(o.label){case 0:if(!t&&this.deferUpload){this.updateValueInMap(e.item.name,"pending",true,false);this.updateValueInMap(e.item.name,"group","pending",true)}else if(t){this.updateValueInMap(e.item.name,"pending",false,false);this.updateValueInMap(e.item.name,"group",undefined,true)}o.label=1;case 1:o.trys.push([1,4,,5]);if(!(!this.deferUpload||t))return[3,3];i=new FormData;i.append("file",e.item);if(a){i.append("key",a)}i.append("uid",e.uid);i.append("name",e.item.name);i.append("metadata",JSON.stringify({uid:e.uid,url:this.uri,size:e.item.size,meta:e.meta}));n=e;return[4,this.makeXHRPostRequest(i)];case 2:n.xhr=o.sent();o.label=3;case 3:return[3,5];case 4:r=o.sent();this.updateValueInMap(e.item.name,"valid",false,false);return[3,5];case 5:return[2]}}))}))};this.uploadPendingFiles=function(){for(var e=0,t=Array.from(n.files.entries());e<t.length;e++){var a=t[e],i=a[0],r=a[1];if(r.group==="pending"&&r.pending===true){n.uploadFile(r,true,i)}}};this.getItemFromUID=function(e){for(var t=0,a=Array.from(n.files.entries());t<a.length;t++){var i=a[t],r=i[0],o=i[1];if(o.uid===e){return{value:o,key:r}}}return null};this.onDelete=function(e,t){var a=n.getItemFromUID(e);var i=a.key;var r=n.files.get(i);n.files.delete(i);n.validateTotals();n.kick();n.duetDelete.emit({originalEvent:t,data:{deletion:r},component:"duet-upload"});if(!n.external&&!r.pending){n.makeXHRDeleteRequest(r)}n.resetFormFields()};this.onCancel=function(e,t){var a=n.getItemFromUID(e).key;var i=n.files.get(a);n.files.delete(a);if(!n.external){var r=i.xhr;if(r){r.abort()}}else{n.kick()}n.resetFormFields();n.duetCancel.emit({originalEvent:t,data:{cancelled:i},component:"duet-upload"})};this.onUpload=function(e,t){n.duetUpload.emit({originalEvent:e,metaData:t,component:"duet-upload"})};this.onBlur=function(e){n.duetBlur.emit({originalEvent:e,component:"duet-upload"})};this.onProgress=function(e,t,a){n.duetChange.emit({originalEvent:a,data:{key:e,percentComplete:t},component:"duet-upload"})};this.onFocus=function(e){n.duetFocus.emit({originalEvent:e,component:"duet-upload"})};this.onReady=function(){n.duetReady.emit({component:"duet-upload"})};this.onDone=function(){n.duetDone.emit({component:"duet-upload",data:{files:n.files}})};this.filterMap=function(){var e=Array.from(n.files.values());var t=[];var a=[];var i=[];var r=[];var o=false;e.forEach((function(e){var l=n.getGroupFromItemData(e);if(e.meta&&!!e.meta.badges){o=true}if(l===n.DefaultGroups.success){r.push({uid:e.uid,data:e})}else if(l===n.DefaultGroups.inprogress){t.push({uid:e.uid,data:e})}else if(l===n.DefaultGroups.pending){i.push({uid:e.uid,data:e})}else if(l===n.DefaultGroups.failure){a.push({uid:e.uid,data:e})}else if(e.group){t.push({uid:e.uid,data:e})}}));return{pending:i,failure:a,success:r,inprogress:t,hasCategory:o}};this.getActions=function(e){return n.actions.filter((function(t){return t.map.includes(e)}))};this.renderUploadedItems=function(){var e=n.filterMap();var a=e.hasCategory;var i=n.groups.map((function(i){var r=e[i.id];if(!(r===null||r===void 0?void 0:r.length)){return}return t(o,null,!n.hideGroups&&t(E,{categoryLabel:a?n.categoryLabel:undefined,label:i.label}),r.map((function(e){return n.mapFilesToUploadItems(e.data,i.id,a)})))}));return t(o,null,n.showUploadedItemsHeader&&t(E,{categoryLabel:a?n.categoryLabel:undefined,label:n.uploadedItemsHeaderLabel}),i)};this.tick=Date.now();this.accessibleActiveDescendant=undefined;this.accessibleDescribedBy=undefined;this.accessibleControls=undefined;this.accessibleOwns=undefined;this.external=false;this.middleware=null;this.deferUpload=false;this.hideButton=false;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.uri=undefined;this.showLinks=false;this.caption=undefined;this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded} lähetettävästä {filesTotal} tiedostosta",inProgressWithErrors:"Lähetetään {filesInProgress} tiedostoa, lähetetty {filesUploaded} lähetettävästä {filesTotal} tiedostosta, {filesWithErrors} tiedostossa on virheitä",done:"Kaikki {filesTotal} tiedostoa lähetetty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} tiedostoa on lähetetty onnistuneesti, {filesWithErrors} tiedostossa oli virheitä",files:"tiedostot",file:"tiedosto"},sv:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Alla {filesTotal} har lagts till",doneWithErrors:"Handling slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"All {filesTotal} added successfully",doneWithErrors:"Action completed, {filesUploaded} has been added successfully, {filesWithErrors} had errors",files:"File",file:"file"}};this.statusMessageLabel=f(this.statusLabelDefaults);this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"};this.buttonLabel=f(this.buttonLabelDefaults);this.accessibleButtonLabel=undefined;this.theme="";this.disabled=false;this.identifier=undefined;this.margin="auto";this.required=false;this.alignment="middle";this.hideGroups=false;this.files=new Map;this.valid=!this.required;this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"};this.label=f(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=f(this.descriptionDefaults);this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."};this.fileListEmpty=f(this.fileListEmptyDefaults);this.error="";this.errorCodes=S;this.name=undefined;this.maxBytes=2e8;this.maxBytesTotal=undefined;this.maxFiles=99;this.allowedExtensions="all";this.allowedMimetypes="*";this.multiple=true;this.limitSelection=false;this.value=undefined;this.externalUploadButtonId=undefined;this.captionOnBottom=false;this.showUploadedItemsHeader=false;this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"};this.hideHeader=false;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"}}]}e.prototype.watchValidHandler=function(e,t){if(e!==t){this.kick()}};e.prototype.componentWillLoad=function(){if(typeof this.statusMessageLabel==="string"){this.internalStatusMessageLabel=b(this.groups)}else{this.internalStatusMessageLabel=this.statusMessageLabel}l(this);this.listenForActionEvents();this.onReady();this.externalUploadButton=document.querySelector("#".concat(this.externalUploadButtonId))};e.prototype.componentWillRender=function(){this.verifyValidity()};e.prototype.setFocus=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.nativeInput){this.nativeInput.focus(e)}return[2]}))}))};e.prototype.upload=function(e){if(e===void 0){e=undefined}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,this.setFocus()];case 1:t.sent();this.metaData=e;this.nativeInput.click();return[2]}}))}))};e.prototype.uploadPending=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.uploadPendingFiles();return[2]}))}))};e.prototype.refresh=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.kick();return[4,this.setFocus()];case 1:e.sent();return[2]}}))}))};e.prototype.getFiles=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this.files||this.files.size===0){return[2,false]}return[2,this.getFilesAsArray()]}))}))};e.prototype.updateValue=function(e,t,a){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){this.updateValueInMap(e,t,a);return[2]}))}))};e.prototype.render=function(){var e=this;var a=this.identifier||this.uploadId;var i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024);var r=Math.round(this.maxBytes/1024/1024);var l=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());l=l.replace(/{maxbytes}/g,"".concat(r.toString()," MB"));l=l.replace(/{maxbytestotal}/g,"".concat(i.toString()," MB"));l=l.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", "));if(this.externalUploadButton){this.externalUploadButton.ariaLabel=l}return t(n,{class:{"duet-m-0":this.margin==="none"}},t("duet-fieldset",{"label-hidden":this.hideHeader,label:this.label,caption:!this.captionOnBottom?l:undefined},t("slot",{name:"header"}),!this.files.size&&t("duet-empty-state",{id:this.labelId,part:this.identifier?"".concat(this.identifier,"-empty-state"):"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{margin:"none",size:"small"},t("div",{class:"upload-bottom-caption"},l)),t("slot",{name:"afterfooter"}),!this.hideButton&&t(o,null,t("duet-spacer",{size:"large"}),t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":a,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"accessible-owns":a,size:"small",variation:"secondary",fixed:true,icon:"action-add-circle",part:this.identifier?"".concat(this.identifier,"-button-upload"):"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached)&&t(o,null,t("duet-spacer",{size:"medium"}),t("duet-alert",{part:this.identifier?"".concat(this.identifier,"-error-notification"):"duet-upload-error-notification"},this.fileMaxReached&&z("duet-upload-301",this.errorCodes),this.bytesMaxReached&&z("duet-upload-202",this.errorCodes))),t("duet-visually-hidden",{"aria-hidden":"true"},t("input",{ref:function(t){e.nativeInput=t},accept:!this.limitSelection?undefined:"".concat(this.allowedMimetypes,",").concat(this.allowedExtensions),onBlur:this.onBlur,onFocus:this.onFocus,onChange:function(t){return e.onChange(t)},type:"file",class:{"duet-upload":true},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))};e.prototype.makeXHRPostRequest=function(e){var t=this;var a=new XMLHttpRequest;var i=e.get("name");a.upload.addEventListener("progress",(function(e){t.updateProgress(e,i)}));a.upload.addEventListener("load",(function(){t.transferComplete(i)}));a.upload.addEventListener("error",(function(){t.transferFailed(i)}));a.upload.addEventListener("abort",(function(){t.transferCanceled(i)}));var n={payload:{data:e,name:i},options:{type:"POST",uri:this.uri,xhr:a,argument:null,headers:undefined},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};if(this.middleware){n=this.middleware(n)}return R(n)};e.prototype.makeXHRDeleteRequest=function(e){var t=e.uid,a=e.item;var i=new XMLHttpRequest;var n={"x-fileuid":t,"x-filename":a.name};var r={payload:{data:null,name:name},options:{type:"DELETE",xhr:i,uri:this.uri,argument:"?key=".concat(t,"&name=").concat(a.name),headers:n},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};if(this.middleware){r=this.middleware(r)}return R(r)};e.prototype.onChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,a,i,n,r,o,l,s,d,u,p,h,c,f,b;return __generator(this,(function(m){switch(m.label){case 0:a=Array.from((t=this.nativeInput)===null||t===void 0?void 0:t.files);if(!a)return[3,8];i=0,n=a;m.label=1;case 1:if(!(i<n.length))return[3,8];r=n[i];o=H(r,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),l=o.valid,s=o.errorMessage,d=o.errorType,u=o.errorSystem;p=this.genHashName();h={uid:p,item:r,size:r.size,meta:this.metaData,uploaded:false,valid:l,error:{type:l?undefined:d,message:l?undefined:s,system_message:l?undefined:u},progress:0,deleted:false,xhr:false,url:false};this.files.set(r.name,h);c=this.validateTotals(r.name),f=c.bytesMaxReached,b=c.fileMaxReached;if(!f)return[3,2];this.updateValueInMap(r.name,"valid",false,false);return[3,6];case 2:if(!b)return[3,3];this.updateValueInMap(r.name,"valid",false,false);return[3,6];case 3:if(!(l&&!this.external))return[3,5];return[4,this.uploadFile(h)];case 4:m.sent();return[3,6];case 5:if(l&&this.external){this.updateValueInMap(h.item.name,"pending",true,false);this.updateValueInMap(h.item.name,"group","pending",true)}else if(!l){this.updateValueInMap(r.name,"valid",false,true)}m.label=6;case 6:this.kick();m.label=7;case 7:i++;return[3,1];case 8:this.resetFormFields();this.metaData=undefined;this.duetChange.emit({originalEvent:e,data:{files:this.files},component:"duet-upload"});return[2]}}))}))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{valid:["watchValidHandler"]}},enumerable:false,configurable:true});return e}());q.style=V}}}));
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,h as o,H as i,g as e}from"./p-cc5a3edc.js";import{i as r}from"./p-4ebf1618.js";import{c as a}from"./p-c1325e35.js";import{g as s,a as n,c as l,d as p}from"./p-076452be.js";import"./p-5a9d75e1.js";const d=class{constructor(o){t(this,o),this.tooltipId=a("DuetTooltip"),this.lastScrollTop=0,this.openTooltip=()=>{this.focusTarget="tooltip",this.active=!0},this.closeTooltip=(t=!1)=>{t&&(this.focusTarget="trigger"),this.active=!1},this.toggleOpen=()=>{this.active?this.closeTooltip():this.openTooltip()},this.handleFocusOut=t=>{if(!this.active)return;const o=t.relatedTarget;null==o||this.element.shadowRoot.contains(o)||this.element.contains(o)||this.closeTooltip()},this.handleKeyDown=t=>{(27===t.keyCode||t.target===this.scrollableEl&&t.shiftKey&&9===t.keyCode)&&this.closeTooltip(!0)},this.handleCloseClick=()=>{this.closeTooltip(!0)},this.isElementInViewportVertically=()=>{if(!this.tooltipEl)return!1;var t=this.tooltipEl.getBoundingClientRect();return t.top>=100&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)},this.handleVerticalVisibility=()=>{const t=window.pageYOffset||document.documentElement.scrollTop;this.isElementInViewportVertically()||(this.openDown=t>this.lastScrollTop),this.lastScrollTop=Math.max(0,t)},this.handleHorizontalVisibility=()=>{var t=this.tooltipEl.getBoundingClientRect();const o=t.right<(window.innerWidth||document.documentElement.clientWidth);this.openRight=!(t.left>=0&&("right"===this.direction||!this.openRight))||"right"===this.direction,this.openLeft=!(o&&("left"===this.direction||!this.openLeft))||"left"===this.direction},this.openDown=!1,this.openLeft=!1,this.openRight=!1,this.theme="",this.language=s(),this.accessibleLabelDefault={fi:"Näytä lisätietoja",en:"Show more information",sv:"Visa mer tilläggsuppgifter"},this.accessibleLabel=n(this.accessibleLabelDefault,this.language),this.accessibleInputLabel=void 0,this.accessibleCloseLabelDefault={fi:"Sulje lisätiedot",en:"Close details",sv:"Stäng tilläggsuppgifter"},this.accessibleCloseLabel=n(this.accessibleCloseLabelDefault,this.language),this.label="",this.breakpoint="medium",this.direction="auto",this.positionVertical="0",this.positionHorizontal="0",this.active=!1}watchLanguageStateHandler(t,o){t!==o&&this.accessibleLabel===this.accessibleLabelDefault[o]&&(this.accessibleLabel=n(this.accessibleLabelDefault,t)),t!==o&&this.accessibleCloseLabel===this.accessibleCloseLabelDefault[o]&&(this.accessibleCloseLabel=n(this.accessibleCloseLabelDefault,t))}componentWillLoad(){r(this)}componentDidLoad(){this.handleHorizontalVisibility()}componentDidUpdate(){switch(this.focusTarget){case"tooltip":this.scrollableEl.focus({preventScroll:!0});break;case"trigger":this.buttonEl.focus({preventScroll:!0})}this.focusTarget=null}connectedCallback(){l(this)}disconnectedCallback(){p(this)}onScroll(){clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout((()=>{this.active&&(this.handleHorizontalVisibility(),this.handleVerticalVisibility())}),100)}handleWindowResize(){clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout((()=>{this.handleHorizontalVisibility()}),100)}handleDocumentClick(t){this.active&&t.composedPath().every((t=>t!==this.element))&&this.closeTooltip()}async handleActiveChange(t){t?(this.handleHorizontalVisibility(),this.openDown=!this.isElementInViewportVertically()):setTimeout((()=>this.openDown=!1),300)}render(){return o(i,{style:{transform:`translateY(${this.positionVertical}) translateX(${this.positionHorizontal})`,zIndex:this.active?"201":""}},o("button",{ref:t=>this.buttonEl=t,"aria-controls":this.tooltipId,"aria-expanded":this.active?"true":"false",onClick:this.toggleOpen,type:"button",class:{"duet-tooltip-button":!0,"duet-tooltip-button-has-label":!!this.label,"duet-theme-turva":"turva"===this.theme}},o("svg",{"aria-hidden":"true",role:"img",fill:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},o("path",{d:"m13.5 17.25c-1.241 0-2.25-1.009-2.25-2.25v-3.75h-.75c-.414 0-.75-.336-.75-.75s.336-.75.75-.75h.75c.827 0 1.5.673 1.5 1.5v3.75c0 .414.336.75.75.75h.75c.414 0 .75.336.75.75s-.336.75-.75.75z"}),o("circle",{cx:"11.625",cy:"7.125",r:"1.125"}),o("path",{d:"m12 24c-6.617 0-12-5.383-12-12s5.383-12 12-12 12 5.383 12 12-5.383 12-12 12zm0-22.5c-5.79 0-10.5 4.71-10.5 10.5s4.71 10.5 10.5 10.5 10.5-4.71 10.5-10.5-4.71-10.5-10.5-10.5z"})),this.label?o("span",{class:"duet-tooltip-label"},this.label):o("duet-visually-hidden",null,this.accessibleInputLabel?`${this.accessibleInputLabel}, ${this.accessibleLabel}`:this.accessibleLabel)),o("div",{ref:t=>this.tooltipEl=t,class:{"duet-tooltip":!0,"duet-mq-large":"large"===this.breakpoint,"duet-mq-medium":"medium"===this.breakpoint,"duet-theme-turva":"turva"===this.theme,"duet-tooltip-down":this.openDown,"duet-tooltip-has-label":!!this.label,"duet-tooltip-left":this.openLeft,"duet-tooltip-right":this.openRight,"duet-tooltip-active":!0===this.active},onClick:t=>t.stopPropagation(),onKeyDown:this.handleKeyDown,onFocusout:this.handleFocusOut},o("div",{ref:t=>this.scrollableEl=t,class:"duet-tooltip-scrollable",tabindex:"0",id:this.tooltipId},o("slot",null)),o("button",{type:"button",class:"duet-tooltip-close",onClick:this.handleCloseClick},o("duet-icon",{name:"navigation-close-small",margin:"none",color:"currentColor",size:"xxx-small"}),o("duet-visually-hidden",null,this.accessibleCloseLabel))))}get element(){return e(this)}static get watchers(){return{language:["watchLanguageStateHandler"],active:["handleActiveChange"]}}};d.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;z-index:200;display:inline-flex;width:auto;margin-top:-16px !important;margin-left:-3px !important;-webkit-tap-highlight-color:transparent}.duet-tooltip{position:absolute;right:-141px;bottom:100%;z-index:950;display:block;width:282px;min-height:48px;max-height:340px;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(0, 41, 77);visibility:hidden;background:rgb(255, 255, 255);border:1px solid rgb(225, 227, 230);border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:300ms ease;transform:scale(0.9) translateZ(0) translateY(20px);transform-origin:100% 100%}.duet-tooltip.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, 28, 58);border-color:rgb(228, 228, 230);box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-tooltip::after{position:absolute;right:142px;bottom:-20px;z-index:200;width:0;height:0;content:"";border:10px solid transparent;border-top:10px solid rgb(255, 255, 255)}.duet-tooltip::before{position:absolute;right:141px;bottom:-22px;z-index:100;width:0;height:0;content:"";border:11px solid transparent;border-top:11px solid rgb(225, 227, 230)}.duet-theme-turva .duet-tooltip::before{border-top:11px solid rgb(228, 228, 230)}.duet-tooltip.duet-tooltip-down{top:100%;bottom:auto;transform:scale(0.9) translateZ(0) translateY(-20px);transform-origin:100% 0}.duet-tooltip.duet-tooltip-down::after{top:-20px;bottom:auto;border:10px solid transparent;border-bottom:10px solid rgb(255, 255, 255)}.duet-tooltip.duet-tooltip-down::before{top:-22px;bottom:auto;border:11px solid transparent;border-bottom:11px solid rgb(225, 227, 230)}.duet-theme-turva .duet-tooltip.duet-tooltip-down::before{border-bottom:11px solid rgb(228, 228, 230)}.duet-tooltip.duet-tooltip-left{right:-21px !important;transform-origin:100% 100% !important}.duet-tooltip.duet-tooltip-left::after{right:22px !important;transform:none !important}.duet-tooltip.duet-tooltip-left::before{right:21px !important;transform:none !important}.duet-tooltip.duet-tooltip-right{right:auto !important;left:-9px !important;transform-origin:100% 100% !important}.duet-tooltip.duet-tooltip-right::after{right:auto !important;left:22px !important;transform:none !important}.duet-tooltip.duet-tooltip-right::before{right:auto !important;left:21px !important;transform:none !important}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-has-label::after{right:auto !important;left:1px !important;transform:none !important}.duet-tooltip.duet-tooltip-has-label::before{right:auto !important;left:0 !important;transform:none !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(-8px)}.duet-tooltip.duet-tooltip-active.duet-tooltip-down{transform:scale(1.0001) translateZ(0) translateY(8px)}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:rgb(0, 119, 179);white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button.duet-theme-turva{color:rgb(198, 12, 48)}.duet-tooltip-button:hover{color:rgb(0, 77, 128)}.duet-tooltip-button:hover.duet-theme-turva{color:rgb(148, 9, 37)}.duet-tooltip-button:focus{background:transparent !important;outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179) !important}:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58) !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-scrollable{padding:20px !important;width:100%;max-height:250px;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-scrollable:focus{outline:none}:host(.user-is-tabbing) .duet-tooltip-scrollable:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}:host(.user-is-tabbing) .duet-theme-turva .duet-tooltip-scrollable:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-tooltip-scrollable::-webkit-scrollbar{width:4px}.duet-tooltip-scrollable::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-scrollable::-webkit-scrollbar-thumb{background:rgb(225, 227, 230);border-radius:4px}.duet-theme-turva .duet-tooltip-scrollable::-webkit-scrollbar-thumb{background:rgb(228, 228, 230)}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;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:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}.duet-theme-turva .duet-tooltip-label{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:rgb(0, 41, 77);cursor:pointer;background:rgb(245, 248, 250);border-radius:50%;-webkit-appearance:none;appearance:none}.duet-tooltip-close:focus{outline:none;box-shadow:0 0 0 2px rgb(0, 119, 179)}.duet-theme-turva .duet-tooltip-close:focus{color:rgb(23, 28, 58);box-shadow:0 0 0 2px rgb(23, 28, 58)}@media (min-width: 48em){.duet-tooltip.duet-mq-medium{right:-148px;width:320px;transform-origin:50% 100%}.duet-tooltip.duet-mq-medium::after{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-medium::before{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-medium.duet-tooltip-down{transform-origin:50% 0}}@media (min-width: 62em){.duet-tooltip.duet-mq-large{right:-148px;width:320px;transform-origin:50% 100%}.duet-tooltip.duet-mq-large::after{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-large::before{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-large.duet-tooltip-down{transform-origin:50% 0}}';export{d as duet_tooltip}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,c as e,h as i,H as n,g as s}from"./p-cc5a3edc.js";import{i as u}from"./p-4ebf1618.js";import{c as r}from"./p-c1325e35.js";import{a,b as o,c as h,d,e as b}from"./p-f077c646.js";import{g as l,b as c,a as m}from"./p-076452be.js";import"./p-5a9d75e1.js";function p(t,e){let i;if("string"==typeof t){let n=t.replace("−","-").replace("‐","-").replace("−","-").replace("–","-").replace("—","-");e&&(n=function(t,e,i=!1){let n;const s=new Intl.NumberFormat(e).format(.5).replace(/[0-9]/g,""),u=new Intl.NumberFormat("en-US").format(.5).replace(/[0-9]/g,""),r=new Intl.NumberFormat(e).format(1e3).replace(/[0-9]/g,""),a=new Intl.NumberFormat("en-US").format(1e3).replace(/[0-9]/g,"");return n=t.replace(s,"DECIMALSEPARATOR"),n=n.replace(r,i?"THOUSANDSEPARATOR":""),n=n.replace("DECIMALSEPARATOR",u),n=n.replace("THOUSANDSEPARATOR",a),n}(n,e,!1)),n=n.replace(/\s+/g,""),n=n.replace(/(?!^-?\d*\.{0,1}\d+$)/g,""),i=parseFloat(n)}if("number"==typeof t&&(i=parseFloat(String(t))),!isNaN(Number(i)))return Number(i);if(null==t)return null;throw new Error("Invalid value passed to SafeParseFloat")}const g=(t,e,i)=>Math.min(Math.max(t,e),i),v=class{constructor(i){t(this,i),this.duetChange=e(this,"duetChange",3),this.duetInput=e(this,"duetInput",3),this.duetBlur=e(this,"duetBlur",7),this.duetFocus=e(this,"duetFocus",7),this.inputId=r("DuetInput"),this.handleFocus=()=>{this.focusedValue=this.value},this.handleKeyDown=t=>{a(t)||o(t)?this.add(t):h(t)||d(t)?this.subtract(t):b(t)&&this.clearValue()},this.handleChange=t=>{const e=t.target;if(e&&e.value)try{let i=p(e.value,this.locale);(isNaN(i)||null==i)&&(i=this.min||0),this.setValue(i),this.duetInput.emit({component:"duet-number-input",originalEvent:t,value:p(this.value,this.locale).toString(),valueAsNumber:i})}catch(i){this.duetInput.emit({component:"duet-number-input",originalEvent:t,value:null,valueAsNumber:null})}else this.duetInput.emit({component:"duet-number-input",originalEvent:t,value:null,valueAsNumber:null})},this.handleBlur=t=>{const e=t.target;var i;if(e)if(e.value)try{let n=p(e.value,this.locale);this.rounding&&(i=this.step,n=Math.round(n/i)*i),n=g(n,this.min,this.max),n===p(this.value,this.locale)&&n===p(this.focusedValue,this.locale)||(this.setValue(n),this.emitChange(t))}catch(n){this.emitNull(t)}else this.emitNull(t)},this.emitChange=t=>{const e=p(this.value,this.locale);this.duetChange.emit({originalEvent:t,value:e.toString(),valueAsNumber:e,component:"duet-number-input"})},this.emitNull=t=>{this.duetChange.emit({originalEvent:t,value:null,valueAsNumber:null,component:"duet-number-input"})},this.localizeValue=t=>t.toLocaleString(this.locale),this.setValue=t=>{this.value=this.localizeValue(t),this.duetInputElement.value=`${this.value} ${this.unit}`},this.add=t=>{t&&t.preventDefault();const e=p(this.value,this.locale);if(e===this.max)return;let i=null==e?this.min:e+this.step;i%this.step!=0&&(i-=i%this.step);const n=g(i,this.min,this.max);this.value=this.localizeValue(n),this.emitChange(t)},this.subtract=t=>{t&&t.preventDefault();const e=p(this.value,this.locale);if(e===this.min)return;let i=e-this.step;i%this.step!=0&&(i+=this.step-i%this.step),i=g(i,this.min,this.max),this.value=this.localizeValue(i),this.emitChange(t)},this.language=l(),this.locale=c(this.language).locale,this.unit=c(this.language).money,this.focusedValue=void 0,this.accessibleActiveDescendant=void 0,this.accessibleControls=void 0,this.accessibleDetails=void 0,this.accessibleLabelledBy=void 0,this.accessibleDescription=void 0,this.accessibleOwns=void 0,this.accessibleDescribedBy=void 0,this.accessibleLiveDefaults={fi:"{current} euroa valittuna",en:"{current} euros selected",sv:"{current} euro valt"},this.accessibleLive=m(this.accessibleLiveDefaults,this.language),this.accessibleLiveEnabled=!0,this.accessibleAddDefaults={fi:"Lisää summaan",en:"Add to the amount",sv:"Lägg till beloppet"},this.accessibleAdd=m(this.accessibleAddDefaults,this.language),this.accessibleSubtractDefaults={fi:"Vähennä summasta",en:"Subtract from the amount",sv:"Dra från beloppet"},this.accessibleSubtract=m(this.accessibleSubtractDefaults,this.language),this.theme="",this.margin="auto",this.expand=!1,this.identifier=void 0,this.min=0,this.labelDefaults={fi:"Nimilappu",en:"Label",sv:"Etikett"},this.label=m(this.labelDefaults,this.language),this.labelHidden=!1,this.max=1e6,this.name=void 0,this.error="",this.tooltip="",this.step=5e3,this.rounding=!0,this.role=void 0,this.disabled=!1,this.required=!1,this.value=void 0}componentWillLoad(){u(this),this.value&&(this.value=this.localizeValue(p(this.value,this.locale)))}async setFocus(t){this.duetInputElement.setFocus(t)}clearValue(){this.value=null,this.duetInputElement.value=""}formatAnnouncement(){const t=this.value?p(this.value,this.locale):null;return null==t?"":this.accessibleLive.replace("{current}",t.toString(10))}render(){const t=this.identifier||this.inputId,e=`${this.localizeValue(this.max)} ${this.unit}`.length,s=this.value?p(this.value,this.locale):null;return i(n,{class:{"duet-theme-turva":"turva"===this.theme,"duet-expand":this.expand,"duet-m-0":"none"===this.margin}},i("div",{class:"duet-number-container"},i("duet-input",{ref:t=>this.duetInputElement=t,onDuetChange:t=>this.handleChange(t),onDuetFocus:this.handleFocus,onDuetBlur:t=>this.handleBlur(t),onKeyDown:t=>this.handleKeyDown(t),label:this.label,value:this.value?`${this.value} ${this.unit}`:"",error:this.error,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":null!=s?s:"",maxlength:e,name:this.name,component:"number",required:this.required,disabled:this.disabled,role:this.role,labelHidden:this.labelHidden,tooltip:this.tooltip,identifier:t,theme:this.theme,margin:"none",expand:!0,numericKeyboard:!0,autoComplete:"off",type:"text",accessibleActiveDescendant:this.accessibleActiveDescendant,accessibleLabelledBy:this.accessibleLabelledBy,accessibleDescription:this.accessibleDescription,accessibleDetails:this.accessibleDetails,accessibleControls:this.accessibleControls,accessibleOwns:this.accessibleOwns,accessibleDescribedBy:this.accessibleDescribedBy},i("div",{class:{"duet-number-buttons":!0,"duet-no-label":this.labelHidden}},i("button",{"aria-controls":t,disabled:this.disabled,"aria-disabled":null==s||s===this.min?"true":"false",class:"duet-number-button duet-number-button-subtract",onClick:this.subtract,type:"button"},i("duet-visually-hidden",null,this.accessibleSubtract," ",this.step),i("duet-icon",{icon:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M.75 12.788a.75.75 0 0 1 0-1.5h22.5a.75.75 0 0 1 0 1.5z"/></svg>',size:"small",margin:"none",color:"turva"===this.theme?"secondary-turva":"secondary"})),i("button",{"aria-controls":t,disabled:this.disabled,"aria-disabled":s===this.max?"true":"false",class:"duet-number-button duet-number-button-add",onClick:this.add,type:"button"},i("duet-visually-hidden",null,this.accessibleAdd," ",this.step),i("duet-icon",{icon:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M12 24a.75.75 0 0 1-.75-.75v-10.5H.75a.75.75 0 0 1 0-1.5h10.5V.75a.75.75 0 0 1 1.5 0v10.5h10.5a.75.75 0 0 1 0 1.5h-10.5v10.5A.75.75 0 0 1 12 24z"/></svg>',size:"small",margin:"none",color:"turva"===this.theme?"secondary-turva":"secondary"})))),this.accessibleLiveEnabled&&i("duet-visually-hidden",{"aria-live":"polite","aria-atomic":"true","aria-relevant":"all"},this.formatAnnouncement())))}get element(){return s(this)}};v.style='*.sc-duet-number-input,*.sc-duet-number-input::after,*.sc-duet-number-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-number-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;line-height:1.25;text-align:left;vertical-align:bottom}.sc-duet-number-input-h:last-child,.sc-duet-number-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-number-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-number-input-h{width:100% !important}.duet-m-0.sc-duet-number-input-h{margin:0 !important}.duet-number-container.sc-duet-number-input{position:relative;width:100%}.duet-number-buttons.sc-duet-number-input{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;width:96px;height:calc(100% - 2px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50%;height:100%;text-align:center;cursor:pointer;background:transparent;-webkit-appearance:none;appearance:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled{pointer-events:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input duet-icon.sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled duet-icon.sc-duet-number-input{opacity:0.4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:active duet-icon.sc-duet-number-input{transform:translateY(1px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{outline:0}.user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{z-index:2;box-shadow:0 0 0 2px rgb(0, 119, 179)}.duet-theme-turva .user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{box-shadow:0 0 0 2px rgb(23, 28, 58)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type{border-left:1px solid rgb(207, 210, 212)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:"";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{position:absolute;top:20%;left:0;width:1px;height:60%;content:"";background:rgb(225, 227, 230)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{background:linear-gradient(to left, rgba(207, 207, 209, 0.2) 0%, rgba(207, 207, 209, 0.2) 1px, rgba(207, 207, 209, 0.1) 1px, rgba(207, 207, 209, 0) 100%)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{background:rgb(228, 228, 230)}';export{v as duet_number_input}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,c as t,h as r,g as d}from"./p-cc5a3edc.js";import{a as i}from"./p-f11208c3.js";import{D as o}from"./p-76f00bd5.js";import{i as u}from"./p-4ebf1618.js";import{g as a,a as h,c as M,d as g}from"./p-076452be.js";import{p as n}from"./p-5a9d75e1.js";const N=class{constructor(r){e(this,r),this.duetClick=t(this,"duetClick",7),this.duetAnalytics=t(this,"duetAnalytics",7),this.handleClick=(e,t)=>{t&&t.analytics&&this.duetAnalytics.emit({component:"duet-hero",analyticsId:t.analytics}),this.emitChange(e,t)},this.processedListItems=null,this.processedActions=null,this.processedBack=null,this.theme="",this.heading="",this.preHeading="",this.level="h1",this.subHeadingLevel="h2",this.description="",this.icon="",this.iconSize="medium",this.iconRight=!1,this.categoryIcon="",this.categoryIconColor="category-pet",this.buttonLabel="",this.language=a(),this.accessibleLabelExternalDefaults=o,this.accessibleLabelExternal=h(this.accessibleLabelExternalDefaults),this.buttonUrl="#",this.buttonId="",this.buttonData=void 0,this.textCenter=!1,this.leftAlign=!1,this.image="",this.variation="default",this.back=void 0,this.listItems=void 0,this.actions=void 0,this.layout="narrow"}watchLanguageStateHandler(e,t){e!==t&&this.accessibleLabelExternal===this.accessibleLabelExternalDefaults[t]&&(this.accessibleLabelExternal=h(this.accessibleLabelExternalDefaults,e))}componentWillLoad(){u(this),this.hasHeadingSlot=!!this.element.querySelector('[slot="heading"]'),this.hasSubHeadingSlot=!!this.element.querySelector('[slot="subheading"]'),this.refresh()}connectedCallback(){M(this)}disconnectedCallback(){g(this)}async refresh(){this.processedListItems=n(this.listItems),this.processedActions=n(this.actions),this.processedBack=n(this.back)}emitChange(e,t){t||(t={}),this.buttonLabel&&(t.label=this.buttonLabel,t.href=this.buttonUrl,t.id=this.buttonId||"No ID defined via buttonId prop"),this.duetClick.emit({originalEvent:e,data:t,component:"duet-hero"})}render(){const e="campaign"===this.variation||"section"===this.variation,t={backgroundImage:`url(${this.image})`};let d="gray"===this.variation||"minimal"===this.variation?"h2":"h1";e?d="h0":"product"===this.variation&&(d="h1");let o="default"===this.variation?"gray-lightest":"";e&&(o="color-gray-lightest","turva"===this.theme&&(o="color-gray-lightest-turva"));let u="turva"===this.theme?"negative":"primary",a="primary-blue",h="gray-lightest",M="primary";return("light"===this.variation||"image"===this.variation||"gray"===this.variation||"minimal"===this.variation||e||"product"===this.variation||"content"===this.variation)&&(h="secondary","turva"===this.theme&&(h="secondary-turva",u="primary",M="color-primary-turva",a="color-primary-turva")),r("div",{role:"region",class:{"duet-hero":!0,"duet-theme-turva":"turva"===this.theme,"duet-has-category-icon":!!this.categoryIcon,"duet-hero-light":"light"===this.variation,"duet-hero-gray":"gray"===this.variation||"minimal"===this.variation,"duet-hero-minimal":"minimal"===this.variation,"duet-hero-with-image":"image"===this.variation,"duet-hero-has-image":!!this.image,"duet-hero-campaign":"campaign"===this.variation,"duet-hero-section":"section"===this.variation,"duet-hero-product":"product"===this.variation,"duet-hero-content":"content"===this.variation,"duet-hero-gray-with-actions":!!this.processedActions,"duet-hero-gray-with-back":!!this.processedBack,"duet-hero-text-center":this.textCenter&&!this.leftAlign||e,"duet-hero-left-align":this.leftAlign&&!e,"duet-hero-narrow":"narrow"===this.layout},part:"duet-hero"},e&&this.image&&r("div",{class:"background-area"},r("div",{class:"background-container"},r("div",{class:"background"},r("img",{src:this.image,alt:"",role:"presentation"})),r("div",{class:"brand-shape"}))),"product"===this.variation&&this.image&&r("div",{class:{"background-area":!0,[this.layout]:!0}},r("div",{class:{"background-container":!0,[this.layout]:!0}},r("div",{class:{background:!0,[this.layout]:!0}},r("div",{class:{"background-mask":!0,[this.layout]:!0}}),"turva"!==this.theme&&r("div",{class:{"brand-shape":!0,[this.layout]:!0}}),r("div",{class:{"brand-shaped-image":!0,[this.layout]:!0}},r("div",{class:{"brand-shaped-image-wrapper":!0,[this.layout]:!0}},r("div",{class:{"brand-shaped-image-bg":!0,[this.layout]:!0},style:t}))),this.categoryIcon&&r("div",{class:{"brand-shaped-icon":!0,[this.layout]:!0}},r("duet-icon",{class:{[this.layout]:!0},background:"none",name:this.categoryIcon,margin:"none",size:"auto",responsive:!1}))))),"content"===this.variation&&this.image&&r("div",{class:"background-area"},r("div",{class:"background"},r("div",{class:"background-mask"}),"turva"!==this.theme&&r("div",{class:"brand-shape"}),r("div",{class:"brand-shaped-image"},r("div",{class:"brand-shaped-image-wrapper"},r("div",{class:"brand-shaped-image-bg",style:t}))))),r("div",{class:{"duet-hero-wrapper":!0,[this.layout]:!0}},this.image&&"image"===this.variation&&r("div",{class:"duet-hero-image-mask"},r("div",{class:"duet-hero-image-wrapper"},r("div",{class:"duet-hero-image",style:t}))),("gray"===this.variation||"light"===this.variation||"minimal"===this.variation)&&this.processedBack&&r("div",{class:"duet-hero-back"},r("duet-button",{style:{transform:"translateX(-8px)"},variation:"plain",icon:"action-arrow-left-small",theme:this.theme,iconSize:"small",color:M,padding:"none",margin:"none",fixed:!0,url:this.processedBack.href,identifier:this.processedBack.id,onClick:e=>this.handleClick(e,{label:this.processedBack.label,href:this.processedBack.href,id:this.processedBack.id,analyticsId:this.processedBack.analyticsId})},this.processedBack.label)),("gray"===this.variation||"minimal"===this.variation)&&this.categoryIcon&&r("duet-icon",{class:{"duet-hero-icon":!0,"duet-hero-icon-has-heading":""!==this.preHeading},size:"x-large",background:this.categoryIconColor,name:this.categoryIcon}),r("div",{class:{"duet-hero-text":!0},part:"duet-hero-text"},this.preHeading&&r("duet-paragraph",{margin:"none",class:"duet-hero-pre"},this.preHeading),r("slot",{name:"badge"}),(this.heading||this.hasHeadingSlot)&&r("duet-heading",{theme:this.theme,level:this.level,class:{"duet-hero-heading":!0,"duet-hero-heading-has-pre":""!==this.preHeading},color:o,visualLevel:d,margin:e?"none":"auto"},this.heading?this.heading:r("slot",{name:"heading"})),e&&this.hasSubHeadingSlot&&r("duet-heading",{theme:this.theme,level:this.subHeadingLevel,class:{"duet-hero-subheading":!0},color:"turva"===this.theme?"secondary-turva":"secondary",visualLevel:"h2"},r("slot",{name:"subheading"})),this.description&&r("duet-paragraph",{theme:this.theme,color:h,variation:"intro"},this.description),("gray"===this.variation||"minimal"===this.variation)&&this.processedListItems&&r("duet-list",{theme:this.theme,"label-width":"30",breakpoint:"large",mobile:this.leftAlign?void 0:"center"},this.processedListItems.map((e=>r("duet-list-item",null,r("span",{slot:"label"},e.label),r("span",{slot:"value"},e.value))))),this.buttonLabel&&r("duet-button",{url:this.buttonUrl,icon:this.icon,iconRight:this.iconRight,iconSize:this.iconSize,variation:u,theme:this.theme,identifier:this.buttonId,onClick:e=>this.handleClick(e,this.buttonData),fixed:!0},this.buttonLabel),r("span",{class:"duet-hero-slot-unnamed"},r("slot",null))),("gray"===this.variation||"minimal"===this.variation)&&this.processedActions&&r("div",{class:"duet-hero-links"},this.processedActions.map((e=>r("a",{class:"duet-hero-link",href:e.href,id:e.id,target:e.external?"_blank":"_self",onClick:t=>this.handleClick(t,e)},r("div",{class:"duet-hero-action-icon"},r("duet-icon",{size:"small",margin:"none",name:e.icon,color:"currentColor",outline:a})),r("span",null,e.label),e.external&&r("duet-visually-hidden",null,", ",this.accessibleLabelExternal),e.external&&r("div",{class:"duet-hero-action-arrow"},r("duet-icon",{icon:i.svg,size:"xx-small",margin:"none",color:"currentColor"})))))),this.image&&"image"!==this.variation&&!e&&"product"!==this.variation&&"content"!==this.variation&&r("div",{class:"duet-hero-image",style:t}),r("slot",{name:"bottom"})))}get element(){return d(this)}static get watchers(){return{language:["watchLanguageStateHandler"],back:["refresh"],listItems:["refresh"],actions:["refresh"]}}};N.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 77)}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:rgb(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:"";background-image:linear-gradient(#f9fcfe, rgb(255, 255, 255))}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}.duet-hero.duet-hero-gray{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}.duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 245, 247)}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{padding:0 0 48px;margin:0;background:none}.duet-hero.duet-hero-campaign .background-area,.duet-hero.duet-hero-section .background-area{height:1px;margin-bottom:-1px}.duet-hero.duet-hero-campaign .background-container,.duet-hero.duet-hero-section .background-container{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{height:100%}@media (min-width: 1440px){.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:300px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:450px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:500px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:580px}}@media (min-width: 1600px){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{width:1600px;overflow:hidden}}.duet-hero.duet-hero-campaign .background .brand-container,.duet-hero.duet-hero-section .background .brand-container{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:-200px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{background-position:right -200%}}.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:160px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:240px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:280px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:310px}}.duet-hero.duet-hero-campaign .duet-hero-text,.duet-hero.duet-hero-section .duet-hero-text{width:100%}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:36px}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:48px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:64px}}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{margin:0 auto}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:80%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:2rem 0 4rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:6rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:8rem 0 11rem}}.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid,.duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow,.duet-hero.duet-hero-section .duet-hero-wrapper.fluid,.duet-hero.duet-hero-section .duet-hero-wrapper.narrow{padding:0 16px}.duet-hero.duet-hero-campaign.duet-theme-turva,.duet-hero.duet-hero-section.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";background:none}.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-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");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:230px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:260px}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:290px}}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:2rem 0 5rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:6rem 0 12rem}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:8rem 0 13rem}}@media (min-width: 62em){.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 62em){.duet-hero.duet-hero-section .background{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){.duet-hero.duet-hero-section .background{width:1536px;height:516px}}@media (min-width: 106.25em){.duet-hero.duet-hero-section .background{width:1536px}}.duet-hero.duet-hero-product{position:relative;padding:0 0 48px;padding-top:236px;margin:0;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-product{padding-top:250px}}@media (min-width: 62em){.duet-hero.duet-hero-product{min-height:375px;padding-top:0}.duet-hero.duet-hero-product.duet-hero-narrow{padding-top:200px}}.duet-hero.duet-hero-product .background-area{position:absolute;top:0;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){.duet-hero.duet-hero-product .background-area{top:-112px}.duet-hero.duet-hero-product .background-area.narrow{top:0}}.duet-hero.duet-hero-product .background-container{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){.duet-hero.duet-hero-product .background-container{top:-48px}.duet-hero.duet-hero-product .background-container.narrow{top:-160px}}.duet-hero.duet-hero-product .background{position:absolute;top:145px;width:100%;overflow:visible}.duet-hero.duet-hero-product .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-product .background{top:130px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{top:35px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background.narrow{top:140px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background:not(.narrow){position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}.duet-hero.duet-hero-product .background .brand-shaped-image{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image{right:15%}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-210px;width:485px;height:485px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow){width:736px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:30%}}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:320px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow){width:800px;height:470px}}.duet-hero.duet-hero-product .background .brand-shape{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shape{top:-60px;width:340px;height:340px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shape:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shape:not(.narrow){right:414px;width:400px;height:400px}}.duet-hero.duet-hero-product .background .brand-shaped-icon{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:180px;width:120px;height:120px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow{right:35%}}.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow){width:120px;height:120px}}.duet-hero.duet-hero-product .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text{margin-top:0}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:1rem}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:2rem}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:7rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:7rem}}.duet-hero.duet-hero-product .duet-hero-wrapper.fluid,.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:50%}}.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 72px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:80%}}.duet-hero.duet-hero-product.duet-theme-turva{background:rgb(255, 255, 255)}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow{padding-top:160px}}.duet-hero.duet-hero-product.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background-mask{left:181px}}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-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");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{right:0}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image{top:-165px;right:0}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image.narrow{right:40%;left:auto}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image:not(.narrow){top:-230px;right:-180px;left:auto;width:675px;height:675px;margin:0}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image:not(.narrow){right:-120px;width:736px}}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg:not(.narrow){width:800px;height:470px}}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:150px;background:rgba(198, 12, 48, 0.9);-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");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat;transform:rotate(0deg)}.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon duet-icon{position:relative;top:-10px;transform:rotate(0deg)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon duet-icon{top:-15px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:180px;right:20%}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:192px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon{top:192px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon.narrow{right:40%}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon:not(.narrow){right:340px}}.duet-hero.duet-hero-content{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-content{padding-top:384px}}.duet-hero.duet-hero-content:not(.duet-hero-has-image){padding:72px 0 48px}.duet-hero.duet-hero-content .background-area{position:absolute;width:100%}.duet-hero.duet-hero-content .background{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden}.duet-hero.duet-hero-content .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-content .background{top:-384px}}.duet-hero.duet-hero-content .background .brand-shaped-image{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image{top:-325px;left:250px;width:687px;height:687px}}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content .background .brand-shape{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shape{top:80px;left:-400px;width:373px;height:373px}}.duet-hero.duet-hero-content .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-content .duet-hero-wrapper.fluid,.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 72px}}.duet-hero.duet-hero-content .duet-hero-text{max-width:100%}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text{width:80%}}.duet-hero.duet-hero-content.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-content.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .background-mask{left:181px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-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");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-230px;width:687px;height:637px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.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";background:rgb(198, 12, 48)}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}.duet-theme-turva .duet-hero-image-wrapper{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-hero-image-wrapper .duet-hero-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}.duet-hero-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:rgb(0, 77, 128) !important;background:transparent !important}.duet-theme-turva .duet-hero-link:hover,.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:rgb(148, 9, 37) !important}.duet-theme-turva .duet-hero-link{color:rgb(198, 12, 48)}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid rgb(225, 227, 230)}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-theme-turva .duet-hero-action-arrow{color:rgb(198, 12, 48)}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}';export{N as duet_hero}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,h as e,H as o,g as n}from"./p-cc5a3edc.js";import{m as a}from"./p-c4d8cad0.js";import{i as r}from"./p-4ebf1618.js";import{f as i}from"./p-f077c646.js";const d=class{constructor(e){t(this,e),this.mql=[window.matchMedia(a.replace(/'/g,""))],this.boundMqlFunctions=[],this.changeIconSize=()=>{this.iconSize=this.mql[0].matches?"x-small":"small"},this.onClick=()=>{this.open=!this.open},this.getVariant=()=>(this.element.parentElement.getAttribute("slot"),"right"),this.iconSize="x-small",this.accessibleLabel=void 0,this.theme="",this.open=!1,this.icon=void 0}handleFocus(t){t.composedPath().every((t=>t!==this.element))&&(this.open=!1)}componentWillLoad(){r(this)}connectedCallback(){this.changeIconSize();for(let t=0;t<this.mql.length;t++)if(this.mql[t].addEventListener){const e=this.changeIconSize.bind(this);this.mql[t].addEventListener("change",e),this.boundMqlFunctions[t]=e}}disconnectedCallback(){for(let t=0;t<this.mql.length;t++)this.mql[t].removeEventListener&&this.mql[t].removeEventListener("change",this.boundMqlFunctions[t]);this.boundMqlFunctions=[]}handleEscape(t){i(t)&&(this.open=!1,this.setFocus())}async setFocus(t){this.button.focus(t)}render(){return e(o,null,e("div",{class:{"duet-menu-bar-dropdown":!0,"duet-theme-turva":"turva"===this.theme,active:this.open,[`duet-menu-bar-dropdown--slot-${this.getVariant()}`]:!0}},e("button",{ref:t=>this.button=t,"aria-label":this.accessibleLabel,"aria-haspopup":"menu","aria-controls":"menu","aria-expanded":this.open?"true":"false",id:"button",type:"button",class:{active:this.open},onClick:this.onClick,onKeyUp:t=>this.handleEscape(t)},this.icon&&e("duet-icon",{theme:this.theme,name:this.icon,size:this.iconSize,margin:"none",color:"currentColor"}),e("div",{class:"label"},e("slot",{name:"label"}),e("duet-icon",{class:"caret",theme:this.theme,name:"action-arrow-down-small",margin:"none",size:"xxx-small",color:"currentColor"}))),e("div",{tabindex:"-1",role:"menu",id:"menu","aria-labelledby":"button",class:{items:!0,hidden:!this.open}},e("slot",null))))}get element(){return n(this)}};d.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;height:100%}@media (min-width: 62em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 16px}}@media (min-width: 76.25em){:host(:last-child) .duet-menu-bar-dropdown button{padding:0 16px 0 28px}}.duet-menu-bar-dropdown{position:relative;height:100%}.duet-menu-bar-dropdown button{position:relative;display:flex;gap:8px;align-items:center;justify-content:center;height:100%;padding:0 12px;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128);text-align:center;text-decoration:none;cursor:pointer}@media (min-width: 62em){.duet-menu-bar-dropdown button{padding:0 16px}}@media (min-width: 76.25em){.duet-menu-bar-dropdown button{padding:0 28px}}.duet-menu-bar-dropdown button:hover{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}.duet-menu-bar-dropdown button .label{display:flex;gap:0.5rem;align-items:center;justify-content:center}.duet-menu-bar-dropdown button.active{color:rgb(0, 119, 179)}.duet-menu-bar-dropdown button.active .caret{transform:rotate(180deg)}.duet-theme-turva .duet-menu-bar-dropdown button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown button.active::after{position:absolute;top:auto;bottom:2px;left:0;display:block;width:100%;height:2px;content:"";background:rgb(0, 119, 179);transition:300ms ease;transform:translateY(2px)}.duet-theme-turva .duet-menu-bar-dropdown button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown .items{position:absolute;right:0%;left:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:225px;padding:1rem 0;color:rgb(0, 41, 77);background:rgb(243, 249, 252);border-radius:0 0 8px 8px;box-shadow:0 6px 6px 0 rgba(0, 41, 77, 0.1)}.duet-menu-bar-dropdown .items.hidden{display:none}.duet-menu-bar-dropdown.duet-theme-turva button{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 28, 58)}.duet-menu-bar-dropdown.duet-theme-turva button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}.duet-menu-bar-dropdown.duet-theme-turva button:hover{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button.active{color:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva button.active::after{background:rgb(198, 12, 48)}.duet-menu-bar-dropdown.duet-theme-turva .items{background:rgb(245, 245, 247)}';export{d as duet_menu_bar_dropdown}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{h as t,r as e,c as a,H as i,g as s,F as d}from"./p-cc5a3edc.js";import{i as o}from"./p-4ebf1618.js";import{f as l,d as n}from"./p-0b3f675e.js";import{i as r}from"./p-f077c646.js";import{g as h,c as u,d as b,a as p,s as m}from"./p-076452be.js";import{p as c,s as g}from"./p-7c4baf1c.js";import{b as f,a as y}from"./p-73f9efad.js";import{c as v}from"./p-c1325e35.js";import{p as x}from"./p-5a9d75e1.js";const w=({data:e,groupId:a,alignment:i})=>{const s=`duet-editable-table duet-editable-table-content-${a}`;return"string"==typeof e?t("td",{innerHTML:e,class:s,part:`${a}content`,style:{verticalAlign:i}}):t("td",{class:s,part:`${a}content`,style:{verticalAlign:i}},e)},k=class{constructor(t){e(this,t),this.duetTableToggle=a(this,"duetTableToggle",7),this.duetMenuClick=a(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!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:a,direction:i,index:s,key:d}=t;this.duetTableToggle.emit({sort_order:a,index:s,direction:i,key:d,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{r(e)&&this.toggleColumn(t,e)},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}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']")}connectedCallback(){u(this)}disconnectedCallback(){b(this)}createLabel(e){const{sort_order:a,direction:i,index:s,label:d}=e,o=p(d);return this.sortable?t("span",{class:"duet-table-label","data-index":s},t("duet-button",{size:"small",icon:a&&1===i?"action-arrow-down-small":a&&-1===i?"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(l(["index"]))}getRowSortOrder(){return[...this.columns].sort(l(["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 a=this.createLabel(e);return""!==a?t("th",{scope:"col"},a):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,a){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((i=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:a}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:i.name,theme:this.theme,iconName:i.icon,iconColor:i.color,iconSize:i.size,background:i.background,"accessible-label":`${e.actionDescription||""} ${p(i.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),a=this.getRowSortOrder();return[...this.rows].sort(l(a)).map(((a,i)=>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(a.meta)},e.map((e=>{if(!1!==e.display)return t(w,{data:a[e.key]?a[e.key]:a.item,groupId:this.groupId})})),this.actions&&this.renderActions(a,i))))}render(){return t(i,{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",{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",{role:this.accessibleRole},t("caption",null,t("slot",{name:"tcaption"})),t("thead",null,this.hasHeadSlotFirst&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",null,t("td",{class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{name:"thead-last"})))),t("tbody",null,this.renderTableBody()),t("tfoot",null,t("tr",null,t("th",{class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{name:"tfoot"})))))))}get element(){return s(this)}};k.style=".sc-duet-editable-table-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-actions-menu.sc-duet-editable-table{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button.sc-duet-editable-table{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon.sc-duet-editable-table .duet-icon.sc-duet-editable-table{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row.sc-duet-editable-table .duet-text-right.sc-duet-editable-table{text-align:right}.duet-editable-table-header.sc-duet-editable-table tr.sc-duet-editable-table .duet-editable-table-header-hidden.sc-duet-editable-table{padding:0 !important;font-size:0;border-bottom:0}";const z={none:0,"with-links":16*parseFloat(c),"without-links":16*parseFloat(g)},T=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.handleMediaQueryChange=t=>{this.matchesBreakpoint=f.includes(this.breakpoint)?!t.matches:t.matches},this.matchesBreakpoint=!0,this.language=h(),this.theme=void 0,this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":y[this.breakpoint]),this.mq.addEventListener("change",n(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>n(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=z[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,b(this)}copyHeadingsToCells(){const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),a=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{a[e]&&(t.dataset.heading=a[e])}))}))}render(){return t(i,{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",null))}get element(){return s(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};T.style='duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;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;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead,duet-table.duet-table-hide-head-visually.duet-table-hide-head-visually thead *{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}duet-table.duet-theme-turva table{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:rgb(0, 41, 77)}duet-table.duet-theme-turva td{color:rgb(23, 28, 58)}duet-table th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}duet-table.duet-theme-turva th{color:rgb(116, 116, 117)}duet-table tbody th{font-weight:600;color:rgb(0, 41, 77)}duet-table.duet-theme-turva tbody th{color:rgb(23, 28, 58)}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:rgb(101, 119, 135);text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:rgb(0, 41, 77);content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:rgb(23, 28, 58)}.duet-table-sticky thead th{position:sticky;top:0;background:rgb(255, 255, 255)}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:rgb(255, 255, 255)}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:rgb(228, 228, 230)}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:rgb(228, 228, 230)}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid rgb(225, 227, 230)}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:rgb(228, 228, 230)}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid rgb(101, 119, 135)}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:rgb(68, 68, 69)}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:rgb(228, 228, 230)}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid rgb(225, 227, 230)}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:rgb(228, 228, 230)}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:rgb(228, 228, 230)}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;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%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid rgb(225, 227, 230)}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:rgb(228, 228, 230)}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:""}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}';const L=[{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-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."}}],S=(t,e)=>{let a={type:void 0,system_message:void 0,message:void 0};return a=(e=x(e)).filter((e=>e.type==t))[0],a||(a=e.filter((t=>"default"===t.type))[0]),a},E=(t,e)=>{const a=S(t,e),i=p(a.message);return""!==i&&i?i:a.system_message},j=({data:e,showLinks:a,type:i,actions:s,errorCodes:d,theme:o,label:l,categoryLabel:n,showCategory:r})=>{const{uid:h,item:u,size:b,uploaded:m,url:c,meta:g,progress:f,error:y}=e,{name:v}=u,x=t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),v),w=t("span",{class:"duet-upload-item-size",style:{fontSize:"14px",fontWeight:"400"}},"(",((t,e=2)=>{if(0===t)return"0 Bytes";const a=e<0?0:e,i=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,i)).toFixed(a))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]})(b),")"),k=g&&g.badges?t("span",null,g.badges.map((e=>t("duet-badge",{color:"primary"},e)))):void 0,z=`${g&&g.badges?g.badges.join(","):""} ${v}`;return t("div",{class:{"upload-item-row":!0}},r&&t("div",{class:"item-categories"},t("duet-heading",{class:"heading",color:"color-secondary",level:"h6",weight:"semibold"},p(n)),k),t("div",{class:{"item-name":!0,"no-category":!r}},!!l&&t("duet-heading",{class:"heading",color:"color-secondary",level:"h6",weight:"semibold"},p(l)),(()=>{switch(i){case"inprogress":return t("span",{class:"duet-upload-item-name"},t("duet-paragraph",{class:"duet-upload-item-name",color:"gray-darker",margin:"none",weight:"semi-bold"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),v),t("duet-progress",{progress:Math.ceil(f),"aria-hidden":!0}));case"pending":return t("span",{class:"duet-upload-item-name"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),v);case"failure":return t("span",{class:"duet-upload-item-error",role:"status"},t("duet-paragraph",{class:"duet-upload-item-name",color:"danger",margin:"none",weight:"semi-bold"},t("duet-icon",{margin:"none",size:"x-small",name:"messaging-attachment"}),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),v),t("duet-paragraph",{class:"duet-upload-item-error-label",size:"small",margin:"none",color:"danger"},E(y.type,d)));default:return t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},m&&c&&a?t("duet-link",{url:c,external:!0},x):x,t("duet-spacer",{size:"xx-small",direction:"horizontal"}),w)}})()),t("div",{class:"item-actions"},s.map((e=>t("duet-action-button",{actionMeta:Object.assign({},g||{}),actionId:h||null,actionName:e.name,theme:o,iconName:e.icon,iconColor:e.color,iconSize:e.size,background:e.background,"accessible-label":`${z} ${p(e.label)} `})))))},M=({label:e,categoryLabel:a})=>t("div",{class:"items-header"},a&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none"},p(a)),t("duet-heading",{class:{"filename-header":!0,"no-category":!a},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none"},p(e))),F=(t,e,a)=>{const{allowedMimetypes:i,allowedExtensions:s,maxBytes:d}=e;let o=!1,l=S("default",a);if(t){const{name:e,type:n,size:r}=t,h=((t,e)=>{if(!e||!t)return!0;const a=e.split(",");let i=!1;return a.forEach((e=>{const a=e.split("/"),s=t.split("/");a[0]!==s[0]||a[1]!==s[1]&&"*"!==a[1]||(i=!0)})),i})(n,i),u="all"===s||""===s||" "===s||void 0===s||((t,e)=>{if(!e)return!0;const a=t.split(".");return e.split(",").includes(a[a.length-1])})(e.toLowerCase(),s),b=((t,e)=>!e||!t||e>=t)(r,d);h||(l=S("duet-upload-101",a)),u||(l=S("duet-upload-100",a)),b||(l=S("duet-upload-201",a)),o=h&&u&&b}else o=!1;return{valid:o,errorMessage:o?void 0:p(l.message),errorSystem:o?void 0:l.system_message,errorType:o?void 0:l.type}},C=({payload:t,options:e,onFailure:a,onSuccess:i,onProgress:s})=>{const{type:d="POST",xhr:o,uri:l,argument:n=null,headers:r=null}=e;o.open(d,`${l}${n||""}`,!0);const{data:h,name:u}=t;return r&&Object.keys(r).forEach((t=>{o.setRequestHeader(t,r[t])})),"POST"===d&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&i(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&a(o,u,o.status)},s(u)),o.send(h),o},$=class{constructor(i){e(this,i),this.duetChange=a(this,"duetChange",3),this.duetBlur=a(this,"duetBlur",7),this.duetFocus=a(this,"duetFocus",7),this.duetReady=a(this,"duetReady",7),this.duetDone=a(this,"duetDone",3),this.duetState=a(this,"duetState",3),this.duetDelete=a(this,"duetDelete",3),this.duetCancel=a(this,"duetCancel",3),this.duetProgress=a(this,"duetProgress",3),this.duetUpload=a(this,"duetUpload",3),this.buttonId=v("DuetButton"),this.labelId=v("DuetLabel"),this.uploadId=v("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.internalStatusMessageLabel=void 0,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.kick=n((()=>{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:a,id:i,originalEvent:s}=e;switch(a){case"delete":this.onDelete(i,s);break;case"cancel":this.onCancel(i,s)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),a=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==a&&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,a,i)=>a===this.DefaultGroups.success?t(j,{theme:this.theme,actions:this.getActions(a),type:"success",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:i}):a===this.DefaultGroups.inprogress?t(j,{theme:this.theme,actions:this.getActions(a),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:i}):a===this.DefaultGroups.pending?t(j,{theme:this.theme,actions:this.getActions(a),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:i}):a===this.DefaultGroups.failure?t(j,{theme:this.theme,actions:this.getActions(a),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:i}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,a,i=!0)=>{try{const i=this.files.get(t);i[e]=a,this.files.set(t,i),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(s){}i&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(a=>{this.updateValueInMap(e,"progress",a),this.onProgress(e,a,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((a=>{a.valid&&!a.deleted?t.push(a):a.valid||a.deleted||e.push(a)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{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,a)=>{this.updateValueInMap(e,"status",a,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const a=JSON.parse(t.response);this.updateValueInMap(e,"url",a.url)}catch(i){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,a)=>{try{const{error:a}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:a.message,type:a.type},!1)}catch(i){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:a},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",E("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 a=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),a>e))})(0,this.maxBytesTotal),a=((t,e)=>{let a=0;return!!(e&&(this.files.forEach((t=>{t.valid&&a++})),a>e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",E("duet-upload-202",this.errorCodes),!1),a&&t&&this.updateValueInMap(t,"error",E("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=a,{bytesMaxReached:e,fileMaxReached:a}},this.uploadFile=async(t,e=!1,a)=>{!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),a&&e.append("key",a),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(i){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,a]of Array.from(this.files.entries()))if(a.uid===t)return{value:a,key:e};return null},this.onDelete=(t,e)=>{const a=this.getItemFromUID(t).key,i=this.files.get(a);this.files.delete(a),this.validateTotals(),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:i},component:"duet-upload"}),this.external||i.pending||this.makeXHRDeleteRequest(i),this.resetFormFields()},this.onCancel=(t,e)=>{const a=this.getItemFromUID(t).key,i=this.files.get(a);if(this.files.delete(a),this.external)this.kick();else{const{xhr:t}=i;t&&t.abort()}this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:i},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,a)=>{this.duetChange.emit({originalEvent:a,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=[],a=[],i=[],s=[];let d=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(d=!0),o===this.DefaultGroups.success?s.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?i.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?a.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:i,failure:a,success:s,inprogress:e,hasCategory:d}},this.getActions=t=>this.actions.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{const e=this.filterMap(),a=e.hasCategory,i=this.groups.map((i=>{const s=e[i.id];if(null==s?void 0:s.length)return t(d,null,!this.hideGroups&&t(M,{categoryLabel:a?this.categoryLabel:void 0,label:i.label}),s.map((t=>this.mapFilesToUploadItems(t.data,i.id,a))))}));return t(d,null,this.showUploadedItemsHeader&&t(M,{categoryLabel:a?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),i)},this.tick=Date.now(),this.accessibleActiveDescendant=void 0,this.accessibleDescribedBy=void 0,this.accessibleControls=void 0,this.accessibleOwns=void 0,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.uri=void 0,this.showLinks=!1,this.caption=void 0,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded} lähetettävästä {filesTotal} tiedostosta",inProgressWithErrors:"Lähetetään {filesInProgress} tiedostoa, lähetetty {filesUploaded} lähetettävästä {filesTotal} tiedostosta, {filesWithErrors} tiedostossa on virheitä",done:"Kaikki {filesTotal} tiedostoa lähetetty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} tiedostoa on lähetetty onnistuneesti, {filesWithErrors} tiedostossa oli virheitä",files:"tiedostot",file:"tiedosto"},sv:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Alla {filesTotal} har lagts till",doneWithErrors:"Handling slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Adding {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"All {filesTotal} added successfully",doneWithErrors:"Action completed, {filesUploaded} has been added successfully, {filesWithErrors} had errors",files:"File",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.identifier=void 0,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=L,this.name=void 0,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="*",this.multiple=!0,this.limitSelection=!1,this.value=void 0,this.externalUploadButtonId=void 0,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.hideHeader=!1,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"}}]}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?m(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){await this.setFocus(),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,a){this.updateValueInMap(t,e,a)}render(){const e=this.identifier||this.uploadId,a=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),s=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${s.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${a.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.ariaLabel=o),t(i,{class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{"label-hidden":this.hideHeader,label:this.label,caption:this.captionOnBottom?void 0:o},t("slot",{name:"header"}),!this.files.size&&t("duet-empty-state",{id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{margin:"none",size:"small"},t("div",{class:"upload-bottom-caption"},o)),t("slot",{name:"afterfooter"}),!this.hideButton&&t(d,null,t("duet-spacer",{size:"large"}),t("duet-button",{id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel,"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)&&t(d,null,t("duet-spacer",{size:"medium"}),t("duet-alert",{part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&E("duet-upload-301",this.errorCodes),this.bytesMaxReached&&E("duet-upload-202",this.errorCodes))),t("duet-visually-hidden",{"aria-hidden":"true"},t("input",{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,a=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,a)})),e.upload.addEventListener("load",(()=>{this.transferComplete(a)})),e.upload.addEventListener("error",(()=>{this.transferFailed(a)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(a)}));let i={payload:{data:t,name:a},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&&(i=this.middleware(i)),C(i)}makeXHRDeleteRequest(t){const{uid:e,item:a}=t,i=new XMLHttpRequest;let s={payload:{data:null,name},options:{type:"DELETE",xhr:i,uri:this.uri,argument:`?key=${e}&name=${a.name}`,headers:{"x-fileuid":e,"x-filename":a.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(s=this.middleware(s)),C(s)}async onChange(t){var e;const a=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(a)for(const i of a){const{valid:t,errorMessage:e,errorType:a,errorSystem:s}=F(i,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),d={uid:this.genHashName(),item:i,size:i.size,meta:this.metaData,uploaded:!1,valid:t,error:{type:t?void 0:a,message:t?void 0:e,system_message:t?void 0:s},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(i.name,d);const{bytesMaxReached:o,fileMaxReached:l}=this.validateTotals(i.name);o||l?this.updateValueInMap(i.name,"valid",!1,!1):t&&!this.external?await this.uploadFile(d):t&&this.external?(this.updateValueInMap(d.item.name,"pending",!0,!1),this.updateValueInMap(d.item.name,"group","pending",!0)):t||this.updateValueInMap(i.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 s(this)}static get watchers(){return{valid:["watchValidHandler"]}}};$.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}::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;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.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:28px}.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(225, 227, 230)}@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{k as duet_editable_table,T as duet_table,$ as duet_upload}
|