@duetds/components 6.8.8 → 6.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hydrate/index.js +152 -144
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- 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 +3 -3
- package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
- package/lib/cjs/duet-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +95 -125
- 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 +11 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +6 -6
- package/lib/cjs/duet-hero.cjs.entry.js +3 -3
- package/lib/cjs/duet-icon.cjs.entry.js +3 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
- 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 +33 -9
- 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 +2 -2
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout.cjs.entry.js +4 -4
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +3 -3
- 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 +1 -1
- package/lib/cjs/duet-tray.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{focus-utils-ff93a6ec.js → focus-utils-5c2e36e8.js} +1 -1
- package/lib/cjs/{index-a3e8bc14.js → index-92f0a873.js} +1 -1
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/{token-utils-2e10264d.js → token-utils-4bfb15d4.js} +4 -1
- package/lib/cjs/{tokens.module-69170ddd.js → tokens.module-d402cfac.js} +0 -1
- package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
- package/lib/collection/components/duet-alert/duet-alert.js +1 -1
- package/lib/collection/components/duet-button/duet-button.js +5 -5
- package/lib/collection/components/duet-caption/duet-caption.js +1 -1
- package/lib/collection/components/duet-card/duet-card.js +3 -3
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
- package/lib/collection/components/duet-choice/duet-choice.js +3 -3
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
- package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
- package/lib/collection/components/duet-divider/duet-divider.js +1 -1
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +6 -6
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
- package/lib/collection/components/duet-footer/duet-footer.js +7 -7
- package/lib/collection/components/duet-grid/duet-grid.js +7 -3
- package/lib/collection/components/duet-grid-item/duet-grid-item.css +3 -2
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +32 -0
- package/lib/collection/components/duet-header/duet-header.js +15 -15
- package/lib/collection/components/duet-heading/duet-heading.js +1 -1
- package/lib/collection/components/duet-hero/duet-hero.css +21 -2
- package/lib/collection/components/duet-hero/duet-hero.js +6 -6
- package/lib/collection/components/duet-icon/duet-icon.js +1 -1
- package/lib/collection/components/duet-input/duet-input.js +8 -8
- package/lib/collection/components/duet-label/duet-label.js +2 -2
- package/lib/collection/components/duet-layout/duet-layout.js +1 -1
- package/lib/collection/components/duet-list/duet-list.js +4 -4
- package/lib/collection/components/duet-logo/duet-logo.js +7 -7
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +0 -6
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
- package/lib/collection/components/duet-modal/duet-modal.js +3 -3
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
- package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
- package/lib/collection/components/duet-pagination/duet-pagination.js +8 -6
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
- package/lib/collection/components/duet-radio/duet-radio.js +3 -3
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +28 -6
- package/lib/collection/components/duet-select/duet-select.js +5 -5
- package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
- package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
- package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
- package/lib/collection/components/duet-step/duet-step.js +2 -2
- package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +20 -0
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +1 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
- package/lib/collection/components/duet-table/duet-table.js +3 -3
- package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
- package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
- package/lib/collection/components/duet-upload/duet-upload.css +79 -13
- package/lib/collection/components/duet-upload/duet-upload.js +113 -90
- package/lib/collection/components/duet-upload/upload-item-header.js +8 -0
- package/lib/collection/components/duet-upload/upload-item.js +21 -5
- package/lib/collection/utils/token-utils.js +2 -0
- 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-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +4 -4
- package/lib/dist-custom-elements/duet-checkbox.js +1 -1
- package/lib/dist-custom-elements/duet-checkmark.js +1 -1
- package/lib/dist-custom-elements/duet-choice-group.js +6 -6
- package/lib/dist-custom-elements/duet-choice.js +5 -5
- package/lib/dist-custom-elements/duet-collapsible.js +2 -2
- package/lib/dist-custom-elements/duet-combobox.js +2 -2
- package/lib/dist-custom-elements/duet-contact-card.js +8 -8
- package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
- package/lib/dist-custom-elements/duet-date-picker.js +10 -10
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +238 -1
- 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 +8 -8
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +11 -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 +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar.js +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 +12 -10
- 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 +3 -3
- package/lib/dist-custom-elements/duet-range-stepper.js +31 -9
- 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 +3 -3
- package/lib/dist-custom-elements/duet-slideout.js +3 -3
- package/lib/dist-custom-elements/duet-spacer.js +1 -1
- package/lib/dist-custom-elements/duet-spinner.js +1 -1
- package/lib/dist-custom-elements/duet-step.js +4 -4
- package/lib/dist-custom-elements/duet-stepper.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar.js +4 -4
- 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 +4 -4
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +125 -158
- 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-59650585.js → p-0d1b84db.js} +1 -1
- package/lib/dist-custom-elements/{p-ebbe90a8.js → p-132f2514.js} +6 -6
- package/lib/dist-custom-elements/{p-94ae95da.js → p-17d43428.js} +3 -3
- package/lib/dist-custom-elements/{p-e6c6717b.js → p-19ad4945.js} +9 -2
- package/lib/dist-custom-elements/{p-5f6be181.js → p-1bf112be.js} +1 -1
- package/lib/dist-custom-elements/{p-4de93a4d.js → p-26d32594.js} +3 -3
- package/lib/dist-custom-elements/{p-bc53c84a.js → p-276e05ab.js} +5 -5
- package/lib/dist-custom-elements/{p-11968273.js → p-29b2c3bb.js} +1 -1
- package/lib/dist-custom-elements/{p-0ca98fac.js → p-353d6d0c.js} +1 -1
- package/lib/dist-custom-elements/{p-d3e9fa79.js → p-41ef88f4.js} +4 -4
- package/lib/dist-custom-elements/{p-c45d78ad.js → p-47ba781e.js} +4 -4
- package/lib/dist-custom-elements/{p-18928f76.js → p-49848110.js} +1 -1
- package/lib/dist-custom-elements/{p-18eb8a09.js → p-4b4a086d.js} +8 -8
- package/lib/dist-custom-elements/{p-33e00967.js → p-505389ac.js} +1 -1
- package/lib/dist-custom-elements/{p-9ed347f9.js → p-68024252.js} +4 -2
- package/lib/dist-custom-elements/{p-8b2b7e77.js → p-7199196e.js} +2 -2
- package/lib/dist-custom-elements/{p-0531827c.js → p-7a4bdb83.js} +1 -1
- package/lib/dist-custom-elements/{p-54680d09.js → p-85fd8f09.js} +1 -1
- package/lib/dist-custom-elements/{p-321ebafe.js → p-890a9b12.js} +2 -2
- package/lib/dist-custom-elements/{p-a93335f6.js → p-945a2c0c.js} +6 -6
- package/lib/dist-custom-elements/{p-ea9a3c47.js → p-9d23386f.js} +2 -2
- package/lib/dist-custom-elements/{p-8330affc.js → p-9eba8647.js} +2 -2
- package/lib/dist-custom-elements/{p-b4ecffcc.js → p-a1ee31fb.js} +1 -1
- package/lib/dist-custom-elements/{p-7f53cb7b.js → p-a56cc313.js} +2 -2
- package/lib/dist-custom-elements/{p-abff644a.js → p-c01c91d6.js} +2 -2
- package/lib/dist-custom-elements/{p-c23454c0.js → p-c4a3d30d.js} +1 -1
- package/lib/dist-custom-elements/{p-aecb0a5e.js → p-c820f65e.js} +2 -2
- package/lib/dist-custom-elements/{p-a50a98c7.js → p-d0dea200.js} +2 -2
- package/lib/dist-custom-elements/{p-c9182b8c.js → p-d6a4de03.js} +2 -2
- package/lib/dist-custom-elements/{p-2a5cb90a.js → p-d6bcc527.js} +1 -1
- package/lib/dist-custom-elements/{p-9a6eda30.js → p-dde8e436.js} +5 -5
- package/lib/dist-custom-elements/{p-4d94ed39.js → p-e1de0408.js} +2 -2
- package/lib/dist-custom-elements/{p-95711e28.js → p-e48e8201.js} +4 -2
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-fcf9d72b.system.entry.js → p-00e57f9b.system.entry.js} +1 -1
- package/lib/duet/{p-35ee3c02.entry.js → p-02e23372.entry.js} +1 -1
- package/lib/duet/{p-22476bd9.entry.js → p-049f7427.entry.js} +1 -1
- package/lib/duet/{p-de399c6f.entry.js → p-07e54b8a.entry.js} +1 -1
- package/lib/duet/{p-c252fd27.system.entry.js → p-12ee9a23.system.entry.js} +1 -1
- package/lib/duet/{p-8346f3df.entry.js → p-1710310b.entry.js} +1 -1
- package/lib/duet/{p-c86289ac.entry.js → p-17d1d5ee.entry.js} +1 -1
- package/lib/duet/p-18843061.entry.js +4 -0
- package/lib/duet/{p-df6dadb2.system.entry.js → p-190507d4.system.entry.js} +1 -1
- package/lib/duet/p-197dba64.system.entry.js +4 -0
- package/lib/duet/{p-ca8c60df.system.entry.js → p-1bfff197.system.entry.js} +1 -1
- package/lib/duet/{p-6f68220c.system.entry.js → p-1d283741.system.entry.js} +1 -1
- package/lib/duet/{p-08511b16.system.entry.js → p-1de4b105.system.entry.js} +1 -1
- package/lib/duet/{p-fe7f676a.js → p-1ef436d2.js} +1 -1
- package/lib/duet/{p-6116351d.system.entry.js → p-2184a285.system.entry.js} +1 -1
- package/lib/duet/{p-092339f8.entry.js → p-21d08944.entry.js} +1 -1
- package/lib/duet/{p-4b873326.entry.js → p-21d4df80.entry.js} +1 -1
- package/lib/duet/{p-bd979a4c.system.entry.js → p-26ebc753.system.entry.js} +1 -1
- package/lib/duet/{p-03731409.entry.js → p-29193196.entry.js} +1 -1
- package/lib/duet/{p-1070b759.entry.js → p-2a80caf9.entry.js} +1 -1
- package/lib/duet/p-2a89686a.entry.js +4 -0
- package/lib/duet/{p-8ecb7a52.system.entry.js → p-2b0d6d66.system.entry.js} +1 -1
- package/lib/duet/{p-97408054.system.entry.js → p-2b4f4c85.system.entry.js} +1 -1
- package/lib/duet/{p-879d7357.entry.js → p-2b94fb6c.entry.js} +1 -1
- package/lib/duet/{p-9d0a8699.entry.js → p-2c0d4d3c.entry.js} +1 -1
- package/lib/duet/{p-cc46a1b1.entry.js → p-2e69c81b.entry.js} +1 -1
- package/lib/duet/{p-8a7c5d79.entry.js → p-2e822cf0.entry.js} +1 -1
- package/lib/duet/{p-de784087.entry.js → p-2faa3962.entry.js} +1 -1
- package/lib/duet/{p-010b0c7e.entry.js → p-2ff8c614.entry.js} +1 -1
- package/lib/duet/{p-9521f627.system.entry.js → p-38680e94.system.entry.js} +1 -1
- package/lib/duet/{p-a6054e33.system.entry.js → p-39c34fde.system.entry.js} +1 -1
- package/lib/duet/{p-52be0c45.entry.js → p-4136d211.entry.js} +1 -1
- package/lib/duet/{p-c1ecad44.entry.js → p-44bbf984.entry.js} +1 -1
- package/lib/duet/p-459b8e74.system.entry.js +4 -0
- package/lib/duet/{p-259bb597.entry.js → p-45a64d20.entry.js} +1 -1
- package/lib/duet/{p-a789758e.system.entry.js → p-47fb8005.system.entry.js} +1 -1
- package/lib/duet/{p-e10c2b0d.entry.js → p-48bab8b6.entry.js} +1 -1
- package/lib/duet/{p-7396f499.system.entry.js → p-4ab70001.system.entry.js} +1 -1
- package/lib/duet/{p-4c11dd19.system.entry.js → p-4b02643a.system.entry.js} +1 -1
- package/lib/duet/{p-02c7edd0.entry.js → p-5047ae3d.entry.js} +1 -1
- package/lib/duet/{p-515bef3b.entry.js → p-5127e9fb.entry.js} +1 -1
- package/lib/duet/{p-1495babe.entry.js → p-52766fb1.entry.js} +1 -1
- package/lib/duet/{p-99cbab16.system.entry.js → p-5576e447.system.entry.js} +1 -1
- package/lib/duet/{p-8498c856.entry.js → p-568c7b6d.entry.js} +1 -1
- package/lib/duet/{p-eb93ebaa.system.js → p-5743852f.system.js} +1 -1
- package/lib/duet/{p-f1674fe8.system.entry.js → p-58b9c7b4.system.entry.js} +1 -1
- package/lib/duet/{p-b52969e7.entry.js → p-58d08fb8.entry.js} +1 -1
- package/lib/duet/p-5c083efb.system.entry.js +4 -0
- package/lib/duet/{p-181c9320.entry.js → p-5f872140.entry.js} +1 -1
- package/lib/duet/{p-c6f1cac9.system.entry.js → p-6023d419.system.entry.js} +1 -1
- package/lib/duet/p-621e8af8.js +4 -0
- package/lib/duet/{p-8dfd54fa.system.entry.js → p-628c4fc7.system.entry.js} +1 -1
- package/lib/duet/{p-46493c73.system.entry.js → p-6326cade.system.entry.js} +1 -1
- package/lib/duet/{p-e4d9d7d7.entry.js → p-643dd974.entry.js} +1 -1
- package/lib/duet/{p-5eee6d48.system.entry.js → p-65b119a7.system.entry.js} +1 -1
- package/lib/duet/{p-5bad512d.entry.js → p-6fe463e6.entry.js} +1 -1
- package/lib/duet/{p-b599e988.system.entry.js → p-6fe5922d.system.entry.js} +1 -1
- package/lib/duet/{p-167c6afa.entry.js → p-702a9390.entry.js} +1 -1
- package/lib/duet/{p-d74f6c72.entry.js → p-72264693.entry.js} +1 -1
- package/lib/duet/p-723308e1.entry.js +4 -0
- package/lib/duet/{p-ae269abb.entry.js → p-72585f83.entry.js} +1 -1
- package/lib/duet/{p-d7a00344.system.entry.js → p-78f49cbf.system.entry.js} +1 -1
- package/lib/duet/{p-bf23e2c2.system.entry.js → p-7a5077a2.system.entry.js} +1 -1
- package/lib/duet/{p-5120cf45.entry.js → p-7a53ff56.entry.js} +1 -1
- package/lib/duet/{p-9e66ec5a.system.entry.js → p-7c32523b.system.entry.js} +1 -1
- package/lib/duet/p-7c4baf1c.js +4 -0
- package/lib/duet/{p-6cc35083.system.entry.js → p-7d4e2e96.system.entry.js} +1 -1
- package/lib/duet/{p-7d6351ee.system.js → p-7dc36831.system.js} +1 -1
- package/lib/duet/{p-d6bb4328.entry.js → p-7f2a16b3.entry.js} +1 -1
- package/lib/duet/{p-db66ad12.system.entry.js → p-7fd9b8b6.system.entry.js} +1 -1
- package/lib/duet/{p-7af63b73.entry.js → p-80bc3db3.entry.js} +1 -1
- package/lib/duet/{p-54739dc4.system.entry.js → p-835ea0dc.system.entry.js} +1 -1
- package/lib/duet/{p-92218406.system.entry.js → p-84eb3d96.system.entry.js} +1 -1
- package/lib/duet/{p-a373581e.entry.js → p-850b95d7.entry.js} +1 -1
- package/lib/duet/{p-99836c8b.system.entry.js → p-8760c0ee.system.entry.js} +1 -1
- package/lib/duet/{p-5e4e7d48.entry.js → p-893d0a53.entry.js} +1 -1
- package/lib/duet/{p-984dd5b8.system.entry.js → p-8a963cd7.system.entry.js} +1 -1
- package/lib/duet/{p-9730e382.system.entry.js → p-8b123c27.system.entry.js} +1 -1
- package/lib/duet/{p-c030c439.entry.js → p-8f0579d1.entry.js} +1 -1
- package/lib/duet/{p-660a6691.entry.js → p-8f60b4a4.entry.js} +1 -1
- package/lib/duet/{p-31510b9d.system.entry.js → p-93f3e158.system.entry.js} +1 -1
- package/lib/duet/{p-c4ff0d5e.system.entry.js → p-95f020cc.system.entry.js} +1 -1
- package/lib/duet/p-98c7286c.entry.js +4 -0
- package/lib/duet/{p-ec32e21b.system.entry.js → p-9aae9d2a.system.entry.js} +1 -1
- package/lib/duet/{p-2469ec0a.system.entry.js → p-9f5446d7.system.entry.js} +1 -1
- package/lib/duet/{p-68bb404f.entry.js → p-9f9a14d7.entry.js} +1 -1
- package/lib/duet/p-a3782a14.entry.js +4 -0
- package/lib/duet/{p-6a9c258b.system.entry.js → p-a5b5f3e2.system.entry.js} +1 -1
- package/lib/duet/{p-90bb0d6e.entry.js → p-a6a5458a.entry.js} +1 -1
- package/lib/duet/{p-39948f72.system.entry.js → p-a79f86b5.system.entry.js} +1 -1
- package/lib/duet/{p-997b2b9f.entry.js → p-aac361b8.entry.js} +1 -1
- package/lib/duet/{p-6d6dddf6.system.entry.js → p-acb0fbdc.system.entry.js} +1 -1
- package/lib/duet/{p-9db5ccda.system.entry.js → p-ad82c633.system.entry.js} +1 -1
- package/lib/duet/{p-24c6dbed.system.entry.js → p-addd277e.system.entry.js} +1 -1
- package/lib/duet/p-afb58e46.js +4 -0
- package/lib/duet/{p-34e1a893.system.entry.js → p-b16b89c3.system.entry.js} +1 -1
- package/lib/duet/{p-c54163d4.system.entry.js → p-b1b1160e.system.entry.js} +1 -1
- package/lib/duet/{p-bc886019.system.entry.js → p-b3584ef1.system.entry.js} +1 -1
- package/lib/duet/{p-92631252.system.entry.js → p-b421ea8a.system.entry.js} +1 -1
- package/lib/duet/{p-4f9a3272.entry.js → p-bc89db28.entry.js} +1 -1
- package/lib/duet/{p-c406feab.entry.js → p-be3c04fb.entry.js} +1 -1
- package/lib/duet/{p-2e81a884.system.entry.js → p-c073eb55.system.entry.js} +1 -1
- package/lib/duet/{p-16dbbf0f.entry.js → p-c0ac70a9.entry.js} +1 -1
- package/lib/duet/{p-49d4ca3a.system.entry.js → p-c22a97ea.system.entry.js} +1 -1
- package/lib/duet/p-c3495075.system.entry.js +4 -0
- package/lib/duet/{p-97929e49.system.js → p-c360334a.system.js} +1 -1
- package/lib/duet/{p-711d5c90.system.entry.js → p-c3e4e6a2.system.entry.js} +1 -1
- package/lib/duet/{p-5bf8daa8.system.entry.js → p-c4738155.system.entry.js} +1 -1
- package/lib/duet/{p-7deb19fe.system.entry.js → p-c518f7da.system.entry.js} +1 -1
- package/lib/duet/{p-83160849.system.entry.js → p-c7507f6b.system.entry.js} +1 -1
- package/lib/duet/{p-f78cbe1a.system.entry.js → p-c832c83e.system.entry.js} +1 -1
- package/lib/duet/{p-32b7661a.system.entry.js → p-c91aaa04.system.entry.js} +1 -1
- package/lib/duet/{p-19a46ccc.entry.js → p-cb2bd40e.entry.js} +1 -1
- package/lib/duet/{p-aa0e8c20.entry.js → p-cc7f7692.entry.js} +1 -1
- package/lib/duet/{p-aff3a01c.entry.js → p-ce108a20.entry.js} +1 -1
- package/lib/duet/{p-113f7afe.system.entry.js → p-d3da2989.system.entry.js} +1 -1
- package/lib/duet/{p-91088965.entry.js → p-d503fd3d.entry.js} +1 -1
- package/lib/duet/{p-8e9dde5b.system.entry.js → p-d5474f30.system.entry.js} +1 -1
- package/lib/duet/{p-4b75977e.entry.js → p-d563682c.entry.js} +1 -1
- package/lib/duet/{p-4d14e835.entry.js → p-d7c0027e.entry.js} +1 -1
- package/lib/duet/{p-77e2eba0.system.entry.js → p-d8d3f485.system.entry.js} +1 -1
- package/lib/duet/{p-88750631.entry.js → p-d8de0d06.entry.js} +1 -1
- package/lib/duet/{p-fddfa497.entry.js → p-daa0dccd.entry.js} +1 -1
- package/lib/duet/{p-2c647f93.entry.js → p-dc71bc89.entry.js} +1 -1
- package/lib/duet/{p-d576a779.entry.js → p-dcce6bad.entry.js} +1 -1
- package/lib/duet/{p-1b417a81.entry.js → p-de06c5ff.entry.js} +1 -1
- package/lib/duet/{p-2ca21c70.entry.js → p-e57b04f0.entry.js} +1 -1
- package/lib/duet/{p-0bb66e24.entry.js → p-e71cb6f4.entry.js} +1 -1
- package/lib/duet/{p-e1d767cf.system.entry.js → p-e73937e1.system.entry.js} +2 -2
- package/lib/duet/{p-494ddebc.system.entry.js → p-e8a6eda7.system.entry.js} +1 -1
- package/lib/duet/{p-61b41371.entry.js → p-e9cea31c.entry.js} +1 -1
- package/lib/duet/p-eb6c4a2a.system.js +4 -0
- package/lib/duet/{p-be140833.system.entry.js → p-ef31120e.system.entry.js} +1 -1
- package/lib/duet/{p-fc063fa8.entry.js → p-f173da98.entry.js} +1 -1
- package/lib/duet/p-f67ee736.system.js +4 -0
- package/lib/duet/{p-775d5c50.entry.js → p-f7ff8b67.entry.js} +1 -1
- package/lib/duet/p-f9c26b20.system.entry.js +4 -0
- package/lib/duet/{p-d9534bab.entry.js → p-fa7a4245.entry.js} +1 -1
- package/lib/duet/{p-e44c2634.entry.js → p-faaa6249.entry.js} +1 -1
- package/lib/duet/{p-446287e7.system.entry.js → p-fad8bcee.system.entry.js} +1 -1
- package/lib/duet/{p-3adeafd9.system.entry.js → p-fc8b03f3.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- 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 +3 -3
- package/lib/esm/duet-caption_4.entry.js +3 -3
- package/lib/esm/duet-card.entry.js +3 -3
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +2 -2
- package/lib/esm/duet-collapsible.entry.js +1 -1
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-contact-card.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +2 -2
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +95 -125
- 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 +11 -3
- package/lib/esm/duet-header_2.entry.js +6 -6
- package/lib/esm/duet-hero.entry.js +3 -3
- package/lib/esm/duet-icon.entry.js +3 -3
- package/lib/esm/duet-input_2.entry.js +1 -1
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar.entry.js +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 +33 -9
- 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 +2 -2
- package/lib/esm/duet-scrollable_3.entry.js +1 -1
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +1 -1
- package/lib/esm/duet-slideout-lang.entry.js +1 -1
- package/lib/esm/duet-slideout-link.entry.js +1 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm/duet-slideout-panel.entry.js +4 -4
- package/lib/esm/duet-slideout.entry.js +4 -4
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar.entry.js +3 -3
- 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 +1 -1
- package/lib/esm/duet-tray.entry.js +2 -2
- 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-3d6defe8.js → focus-utils-123e9cba.js} +1 -1
- package/lib/esm/{index-56a17140.js → index-9d169c3d.js} +1 -1
- package/lib/esm/loader.js +3 -3
- package/lib/esm/{token-utils-b531747a.js → token-utils-6e0e2653.js} +4 -2
- package/lib/esm/{tokens.module-d3321092.js → tokens.module-5601adc9.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-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 +2 -2
- 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 +2 -2
- 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 +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +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 +1 -1
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/{focus-utils-3d6defe8.js → focus-utils-123e9cba.js} +1 -1
- package/lib/esm-es5/{index-56a17140.js → index-9d169c3d.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/{token-utils-b531747a.js → token-utils-6e0e2653.js} +1 -1
- package/lib/esm-es5/{tokens.module-d3321092.js → tokens.module-5601adc9.js} +1 -1
- package/lib/types/common-types.d.ts +3 -0
- package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +7 -1
- package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +2 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +21 -4
- package/lib/types/components/duet-upload/upload-item-header.d.ts +8 -0
- package/lib/types/components/duet-upload/upload-item.d.ts +10 -1
- package/lib/types/components.d.ts +27 -0
- package/lib/types/utils/token-utils.d.ts +2 -0
- package/package.json +5 -5
- package/lib/dist-custom-elements/p-6c7f6492.js +0 -243
- package/lib/duet/p-05226ce1.entry.js +0 -4
- package/lib/duet/p-13b52e54.system.entry.js +0 -4
- package/lib/duet/p-17063917.system.js +0 -4
- package/lib/duet/p-2abc31ff.system.entry.js +0 -4
- package/lib/duet/p-380c1b6d.entry.js +0 -4
- package/lib/duet/p-3ce879c8.system.entry.js +0 -4
- package/lib/duet/p-48bd2e8f.js +0 -4
- package/lib/duet/p-5d46f619.system.js +0 -4
- package/lib/duet/p-71dd05bf.entry.js +0 -4
- package/lib/duet/p-79a9746e.js +0 -4
- package/lib/duet/p-7c860a8b.entry.js +0 -4
- package/lib/duet/p-9052b6f5.js +0 -4
- package/lib/duet/p-b2ee0816.system.entry.js +0 -4
- package/lib/duet/p-dbae4b4f.entry.js +0 -4
- package/lib/duet/p-e72eb774.system.entry.js +0 -4
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import { p as proxyCustomElement, H, c as createEvent, h as h$1, d as Host } from './p-59650585.js';
|
|
5
|
-
import { i as inheritGlobalTheme } from './p-4ebf1618.js';
|
|
6
|
-
import { f as fieldSorter } from './p-0b3f675e.js';
|
|
7
|
-
import { i as isKeyboardClick } from './p-d8549efe.js';
|
|
8
|
-
import { g as getLocaleString } from './p-6c05e879.js';
|
|
9
|
-
import { h } from './p-152ee893.js';
|
|
10
|
-
import { d as defineCustomElement$6 } from './p-d3e9fa79.js';
|
|
11
|
-
import { d as defineCustomElement$5 } from './p-9a6eda30.js';
|
|
12
|
-
import { d as defineCustomElement$4 } from './p-c9182b8c.js';
|
|
13
|
-
import { d as defineCustomElement$3 } from './p-ea9a3c47.js';
|
|
14
|
-
import { d as defineCustomElement$2 } from './p-c45d78ad.js';
|
|
15
|
-
import { d as defineCustomElement$1 } from './p-54680d09.js';
|
|
16
|
-
|
|
17
|
-
//simple functional component that renders the data in the table
|
|
18
|
-
const TableData = ({ data, groupId, alignment }, _children) => {
|
|
19
|
-
const classNames = `duet-editable-table duet-editable-table-content-${groupId}`;
|
|
20
|
-
if (typeof data === "string") {
|
|
21
|
-
return h("td", { innerHTML: data, class: classNames, part: `${groupId}content`, style: { verticalAlign: alignment } });
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return (h("td", { class: classNames, part: `${groupId}content`, style: { verticalAlign: alignment } }, data));
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const duetEditableTableCss = ".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}";
|
|
29
|
-
|
|
30
|
-
const DuetEditableTable = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
31
|
-
constructor() {
|
|
32
|
-
super();
|
|
33
|
-
this.__registerHost();
|
|
34
|
-
this.duetTableToggle = createEvent(this, "duetTableToggle", 7);
|
|
35
|
-
this.duetMenuClick = createEvent(this, "duetMenuClick", 7);
|
|
36
|
-
this.hasHeadSlotFirst = false;
|
|
37
|
-
this.hasHeadSlotLast = false;
|
|
38
|
-
this.sortableDefaultLabel = {
|
|
39
|
-
fi: "Järjestä",
|
|
40
|
-
en: "Click to sort",
|
|
41
|
-
sv: "Klicka för att sortera",
|
|
42
|
-
};
|
|
43
|
-
this.actionColumnLabel = {
|
|
44
|
-
en: "Actions for rows",
|
|
45
|
-
fi: "Toiminnot rivillä",
|
|
46
|
-
sv: "Åtgärder för rader",
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Private methods.
|
|
50
|
-
*/
|
|
51
|
-
this.toggleColumn = (column, e) => {
|
|
52
|
-
e.preventDefault();
|
|
53
|
-
const { sort_order, direction, index, key } = column;
|
|
54
|
-
this.duetTableToggle.emit({
|
|
55
|
-
sort_order,
|
|
56
|
-
index,
|
|
57
|
-
direction,
|
|
58
|
-
key,
|
|
59
|
-
component: "duet-editable-table",
|
|
60
|
-
originalEvent: e,
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
this.handleKeyDown = (column, e) => {
|
|
64
|
-
if (isKeyboardClick(e)) {
|
|
65
|
-
this.toggleColumn(column, e);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
this.margin = "auto";
|
|
69
|
-
this.variation = "striped";
|
|
70
|
-
this.sticky = false;
|
|
71
|
-
this.stickyDistance = "with-links";
|
|
72
|
-
this.breakpoint = "small";
|
|
73
|
-
this.actions = undefined;
|
|
74
|
-
this.columns = undefined;
|
|
75
|
-
this.rows = undefined;
|
|
76
|
-
this.sortable = false;
|
|
77
|
-
this.groupId = "";
|
|
78
|
-
this.theme = "";
|
|
79
|
-
this.accessibleRole = undefined;
|
|
80
|
-
this.hideHeadVisually = false;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Component lifecycle events.
|
|
84
|
-
*/
|
|
85
|
-
componentWillLoad() {
|
|
86
|
-
inheritGlobalTheme(this);
|
|
87
|
-
this.hasHeadSlotFirst = !!this.element.querySelector("[slot='thead-first']");
|
|
88
|
-
this.hasHeadSlotLast = !!this.element.querySelector("[slot='thead-last']");
|
|
89
|
-
}
|
|
90
|
-
createLabel(column) {
|
|
91
|
-
const { sort_order, direction, index, label } = column;
|
|
92
|
-
const i18nLabel = getLocaleString(label);
|
|
93
|
-
if (!this.sortable) {
|
|
94
|
-
return i18nLabel;
|
|
95
|
-
}
|
|
96
|
-
const getButtonIcon = () => {
|
|
97
|
-
// "action-subtract-small" https://cdn.duetds.com/api/icons/2.2.12/lib/assets/action-subtract-small.svg
|
|
98
|
-
// "action-arrow-down-small" https://cdn.duetds.com/api/icons/2.2.12/lib/assets/action-arrow-down-small.svg
|
|
99
|
-
// "action-arrow-up-small" https://cdn.duetds.com/api/icons/2.2.12/lib/assets/action-arrow-up-small.svg
|
|
100
|
-
if (!!sort_order && direction === 1) {
|
|
101
|
-
return "action-arrow-down-small";
|
|
102
|
-
}
|
|
103
|
-
else if (!!sort_order && direction === -1) {
|
|
104
|
-
return "action-arrow-up-small";
|
|
105
|
-
}
|
|
106
|
-
return "action-subtract-small";
|
|
107
|
-
};
|
|
108
|
-
return (h$1("span", { class: "duet-table-label", "data-index": index }, h$1("duet-button", { size: "small", icon: getButtonIcon(), "icon-size": "medium-small", "accessible-label": getLocaleString(this.sortableDefaultLabel), variation: "plain", margin: "none", "icon-right": true, onClick: event => this.toggleColumn(column, event), onKeyDown: event => this.handleKeyDown(column, event) }, i18nLabel)));
|
|
109
|
-
}
|
|
110
|
-
getSortedColumns() {
|
|
111
|
-
//create a new array from sort instead of mutating original
|
|
112
|
-
return [...this.columns].sort(fieldSorter(["index"]));
|
|
113
|
-
}
|
|
114
|
-
getRowSortOrder() {
|
|
115
|
-
//create a new array from sort instead of mutating original
|
|
116
|
-
const fields = [...this.columns].sort(fieldSorter(["sort_order"]));
|
|
117
|
-
//return only key from objects that have sort_order
|
|
118
|
-
return fields
|
|
119
|
-
.filter(column => column.sort_order)
|
|
120
|
-
.map(column => {
|
|
121
|
-
// add - in-front of descending direction (required by field-sorter)
|
|
122
|
-
return column.direction === -1 ? `-${column.key}` : column.key;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
renderTableHeader() {
|
|
126
|
-
if (!this.columns) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const sortedColumns = this.getSortedColumns();
|
|
130
|
-
return (h$1("tr", { class: {
|
|
131
|
-
"duet-table-action-header": !!this.actions,
|
|
132
|
-
} }, sortedColumns.map(column => {
|
|
133
|
-
if (column.display !== false) {
|
|
134
|
-
const label = this.createLabel(column);
|
|
135
|
-
return label !== "" ? h$1("th", { scope: "col" }, label) : h$1("td", null);
|
|
136
|
-
}
|
|
137
|
-
}), this.actions && (h$1("th", { scope: "col", class: "duet-table-action-header-heading" }, this.actions && h$1("duet-visually-hidden", null, getLocaleString(this.actionColumnLabel))))));
|
|
138
|
-
}
|
|
139
|
-
renderActions(rowItem, index) {
|
|
140
|
-
// escape early
|
|
141
|
-
if (!this.actions) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
// iterate through actions and add them in the sidebar
|
|
145
|
-
return (h$1("td", { class: "duet-text-right" }, this.actions.map(actionItem => {
|
|
146
|
-
return (h$1("duet-action-button", { actionMeta: Object.assign({}, (rowItem === null || rowItem === void 0 ? void 0 : rowItem.meta) || {}, { index }), actionId: (rowItem === null || rowItem === void 0 ? void 0 : rowItem.uid) || (rowItem === null || rowItem === void 0 ? void 0 : rowItem.id) || null, actionName: actionItem.name, theme: this.theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${rowItem.actionDescription || ""} ${getLocaleString(actionItem.label)} ` }));
|
|
147
|
-
})));
|
|
148
|
-
}
|
|
149
|
-
renderTableBody() {
|
|
150
|
-
const columns = this.getSortedColumns();
|
|
151
|
-
const rowSortOrder = this.getRowSortOrder();
|
|
152
|
-
const sortedRows = [...this.rows].sort(fieldSorter(rowSortOrder));
|
|
153
|
-
// return a tbody with rows for each item in sortedRows
|
|
154
|
-
return sortedRows.map((row, index) => (h$1("tr", { class: {
|
|
155
|
-
"duet-table-action-row": !!this.actions,
|
|
156
|
-
"duet-editable-table-row": true,
|
|
157
|
-
[`duet-editable-table-row-${this.groupId}`]: true,
|
|
158
|
-
}, "data-meta": JSON.stringify(row.meta) }, columns.map(column => {
|
|
159
|
-
//if we don't have any data for this column, try getting an item instead (for backwards compatibility
|
|
160
|
-
const value = row[column.key] ? row[column.key] : row.item;
|
|
161
|
-
if (column.display !== false) {
|
|
162
|
-
return h$1(TableData, { data: value, groupId: this.groupId });
|
|
163
|
-
}
|
|
164
|
-
}), this.actions && this.renderActions(row, index))));
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Render Methods
|
|
168
|
-
*/
|
|
169
|
-
render() {
|
|
170
|
-
return (h$1(Host, { class: {
|
|
171
|
-
[`duet-editable-table-${this.variation}`]: true,
|
|
172
|
-
"duet-editable-table": true,
|
|
173
|
-
[`duet-editable-table-${this.theme}`]: true,
|
|
174
|
-
// sticky only valid when in regular table layout
|
|
175
|
-
"duet-editable-table-scrollable": this.breakpoint === "none-scrollable",
|
|
176
|
-
"duet-editable-table-sortable": this.sortable,
|
|
177
|
-
"duet-editable-table-actions": !!this.actions,
|
|
178
|
-
"duet-m-0": this.margin === "none",
|
|
179
|
-
"duet-theme-turva": this.theme === "turva",
|
|
180
|
-
} }, h$1("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 }, h$1("table", { role: this.accessibleRole }, h$1("caption", null, h$1("slot", { name: "tcaption" })), h$1("thead", null, this.hasHeadSlotFirst && (h$1("tr", null, h$1("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, h$1("slot", { name: "thead-first" })))), this.renderTableHeader(), this.hasHeadSlotLast && (h$1("tr", null, h$1("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, h$1("slot", { name: "thead-last" }))))), h$1("tbody", null, this.renderTableBody()), h$1("tfoot", null, h$1("tr", null, h$1("th", { class: "duet-editable-table-footer-menu", colSpan: 99 }, h$1("slot", { name: "tfoot" }))))))));
|
|
181
|
-
}
|
|
182
|
-
get element() { return this; }
|
|
183
|
-
static get style() { return duetEditableTableCss; }
|
|
184
|
-
}, [6, "duet-editable-table", {
|
|
185
|
-
"margin": [1],
|
|
186
|
-
"variation": [1],
|
|
187
|
-
"sticky": [4],
|
|
188
|
-
"stickyDistance": [1, "sticky-distance"],
|
|
189
|
-
"breakpoint": [1],
|
|
190
|
-
"actions": [1040],
|
|
191
|
-
"columns": [1040],
|
|
192
|
-
"rows": [1040],
|
|
193
|
-
"sortable": [4],
|
|
194
|
-
"groupId": [1, "group-id"],
|
|
195
|
-
"theme": [1025],
|
|
196
|
-
"accessibleRole": [1, "accessible-role"],
|
|
197
|
-
"hideHeadVisually": [4, "hide-head-visually"]
|
|
198
|
-
}]);
|
|
199
|
-
function defineCustomElement() {
|
|
200
|
-
if (typeof customElements === "undefined") {
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
const components = ["duet-editable-table", "duet-action-button", "duet-button", "duet-icon", "duet-spinner", "duet-table", "duet-visually-hidden"];
|
|
204
|
-
components.forEach(tagName => { switch (tagName) {
|
|
205
|
-
case "duet-editable-table":
|
|
206
|
-
if (!customElements.get(tagName)) {
|
|
207
|
-
customElements.define(tagName, DuetEditableTable);
|
|
208
|
-
}
|
|
209
|
-
break;
|
|
210
|
-
case "duet-action-button":
|
|
211
|
-
if (!customElements.get(tagName)) {
|
|
212
|
-
defineCustomElement$6();
|
|
213
|
-
}
|
|
214
|
-
break;
|
|
215
|
-
case "duet-button":
|
|
216
|
-
if (!customElements.get(tagName)) {
|
|
217
|
-
defineCustomElement$5();
|
|
218
|
-
}
|
|
219
|
-
break;
|
|
220
|
-
case "duet-icon":
|
|
221
|
-
if (!customElements.get(tagName)) {
|
|
222
|
-
defineCustomElement$4();
|
|
223
|
-
}
|
|
224
|
-
break;
|
|
225
|
-
case "duet-spinner":
|
|
226
|
-
if (!customElements.get(tagName)) {
|
|
227
|
-
defineCustomElement$3();
|
|
228
|
-
}
|
|
229
|
-
break;
|
|
230
|
-
case "duet-table":
|
|
231
|
-
if (!customElements.get(tagName)) {
|
|
232
|
-
defineCustomElement$2();
|
|
233
|
-
}
|
|
234
|
-
break;
|
|
235
|
-
case "duet-visually-hidden":
|
|
236
|
-
if (!customElements.get(tagName)) {
|
|
237
|
-
defineCustomElement$1();
|
|
238
|
-
}
|
|
239
|
-
break;
|
|
240
|
-
} });
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
export { DuetEditableTable as D, defineCustomElement as d };
|
|
@@ -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 i}from"./p-fe7f676a.js";import{a as d}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 M}from"./p-076452be.js";import{p as h}from"./p-5a9d75e1.js";const g=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=M(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"}componentWillLoad(){u(this),this.hasHeadingSlot=!!this.element.querySelector('[slot="heading"]'),this.hasSubHeadingSlot=!!this.element.querySelector('[slot="subheading"]'),this.refresh()}async refresh(){this.processedListItems=h(this.listItems),this.processedActions=h(this.actions),this.processedBack=h(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 i="gray"===this.variation||"minimal"===this.variation?"h2":"h1";e?i="h0":"product"===this.variation&&(i="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",M="gray-lightest",h="primary";return("light"===this.variation||"image"===this.variation||"gray"===this.variation||"minimal"===this.variation||e||"product"===this.variation||"content"===this.variation)&&(M="secondary","turva"===this.theme&&(M="secondary-turva",u="primary",h="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"},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:h,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:i,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:M,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:d.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 i(this)}static get watchers(){return{back:["refresh"],listItems:["refresh"],actions:["refresh"]}}};g.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:155px;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-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:115px;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:140px;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:544px;padding-top:0}.duet-hero.duet-hero-product.duet-hero-narrow{padding-top:200px}}.duet-hero.duet-hero-product .background-area{position:absolute;top:-160px;width:100%;height:600px;overflow:hidden}.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-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{g as duet_hero}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
System.register(["./p-7d6351ee.system.js","./p-8078b081.system.js","./p-33b3aba4.system.js"],(function(e){"use strict";var t,i,n,o,r,a,l,s;return{setters:[function(e){t=e.r;i=e.c;n=e.h;o=e.H;r=e.g},function(e){a=e.m;l=e.c},function(e){s=e.i}],execute:function(){var c='*,*::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;width:100%}.duet-menu-bar{display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){.duet-menu-bar{box-shadow:0 3px 6px 0 rgba(0, 41, 77, 0.1)}}.duet-menu-bar .top{display:none}.duet-menu-bar .bottom{display:none}.duet-menu-bar.horizontal-nav{position:relative}.duet-menu-bar.horizontal-nav .top{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}.duet-menu-bar.horizontal-nav .bottom{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(225, 227, 230)}.duet-menu-bar.horizontal-nav .more-left{position:absolute;top:0;left:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-left{display:none}}.duet-menu-bar.horizontal-nav .more-right{position:absolute;top:0;right:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){.duet-menu-bar.horizontal-nav .more-right{display:none}}@media (pointer: fine){.duet-menu-bar.horizontal-nav{display:none}}@media (pointer: fine) and ((min-width: 62em)){.duet-menu-bar.horizontal-nav{display:flex}}.duet-menu-bar .container{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}.duet-menu-bar .container::-webkit-scrollbar{width:0;height:0}@media (min-width: 62em){.duet-menu-bar .container{height:5rem;padding:0 28px;overflow-x:visible}}.duet-menu-bar .container .list{height:100%;list-style-type:none}.duet-menu-bar .container ::slotted(*){height:100%}.duet-menu-bar .container>*{display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar .container>:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}.duet-menu-bar .container>:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-menu-bar .container ::slotted(*){display:flex;align-items:center;justify-content:center;height:100%}.duet-menu-bar.duet-theme-turva{background:rgb(255, 255, 255)}.center{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77)}.duet-theme-turva .center{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)}.right{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128)}.duet-theme-turva .right{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)}';var h=e("duet_menu_bar",function(){function e(e){var n=this;t(this,e);this.duetEvent=i(this,"duetEvent",7);this.mql=[window.matchMedia(a.replace(/'/g,"")),window.matchMedia(l.replace(/'/g,""))];this.boundMqlFunctions=[];this.scrollbarCheck=function(){n.leftMoreVisible=n.container.scrollLeft>0;n.rightMoreVisible=n.container.scrollLeft!==n.container.scrollWidth-n.container.clientWidth};this.scrollToActive=function(){var e=n.element.querySelectorAll("[active]");var t;e.forEach((function(e){if(e.active){t=e}}));if(t&&t.offsetLeft){if(t.offsetLeft>50){n.container.scrollLeft=t.offsetLeft-n.element.offsetWidth/2+t.offsetWidth/2}}};this.changeLogoSize=function(){if(n.mql[1].matches){n.logoSize="large"}else{n.logoSize="medium"}};this.handleLogoClick=function(e){n.duetEvent.emit({name:"logoClick",component:"duet-menu-bar",data:{logoHref:n.logoHref},originalEvent:e})};this.logoSize="large";this.leftMoreVisible=false;this.rightMoreVisible=false;this.theme="";this.logo=true;this.logoHref=undefined;this.logoLinkAccessibleLabel=undefined;this.accessibleLabel=undefined}e.prototype.componentWillLoad=function(){s(this);var e=Array.from(this.element.children);for(var t=0,i=e;t<i.length;t++){var n=i[t];if(n.getAttribute("slot")==="center"){for(var o=0,r=Array.from(n.children);o<r.length;o++){var a=r[o];a.setAttribute("role","listitem")}}else if(n.getAttribute("slot")==="right"){for(var l=0,c=Array.from(n.children);l<c.length;l++){var a=c[l];a.setAttribute("role","listitem")}}}};e.prototype.connectedCallback=function(){this.changeLogoSize();for(var e=0;e<this.mql.length;e++){if(this.mql[e].addEventListener){var t=this.changeLogoSize.bind(this);this.mql[e].addEventListener("change",t);this.boundMqlFunctions[e]=t}}};e.prototype.disconnectedCallback=function(){for(var e=0;e<this.mql.length;e++){if(this.mql[e].removeEventListener){this.mql[e].removeEventListener("change",this.boundMqlFunctions[e])}}this.boundMqlFunctions=[]};e.prototype.componentDidLoad=function(){var e=this;setTimeout((function(){e.scrollbarCheck();e.scrollToActive()}),0)};e.prototype.onWindowResize=function(){var e=this;clearTimeout(this.resizeTimer);this.resizeTimer=setTimeout((function(){e.scrollToActive()}),100)};e.prototype.render=function(){var e=this;var t=document.querySelectorAll("duet-slideout").length>0;var i=t&&!this.logo;return n(o,null,n("nav",{class:{"duet-menu-bar":true,"duet-theme-turva":this.theme==="turva","horizontal-nav":i},"aria-label":this.accessibleLabel},n("div",{class:"top"}),n("div",{class:{container:true},ref:function(t){return e.container=t},onScroll:function(){return e.scrollbarCheck()}},this.logo&&n("div",null,n("duet-logo",{size:this.logoSize,margin:"none",theme:this.theme,href:this.logoHref,accessibleLabel:this.logoLinkAccessibleLabel,onClick:this.handleLogoClick})),n("div",{class:"list center",role:"list"},n("div",{class:"more-left",hidden:!this.leftMoreVisible,role:"presentation"}),n("slot",{name:"center"}),n("div",{class:"more-right",hidden:!this.rightMoreVisible,role:"presentation"})),n("div",{class:"list right",role:"list"},n("slot",{name:"right"}))),n("div",{class:"bottom"})))};Object.defineProperty(e.prototype,"element",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());h.style=c}}}));
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
System.register([],(function(r){"use strict";return{execute:function(){var a="rgb(247, 178, 40)";var e="rgb(101, 119, 135)";var o="rgb(245, 248, 250)";var v="rgb(211, 36, 131)";var l=r("k","rgb(0, 119, 179)");var i="rgb(54, 74, 129)";var g="rgb(0, 135, 90)";var t="rgb(11, 114, 136)";var c="rgb(243, 249, 252)";var m="rgb(230, 242, 248)";var x=r("p","rgb(0, 161, 212)");var n="rgb(0, 77, 128)";var p=r("n","rgb(255, 255, 255)");var s="rgb(122, 1, 196)";var b="rgb(144, 149, 153)";var d="rgb(225, 227, 230)";var y="rgb(0, 41, 77)";var u="rgb(168, 1, 78)";var S="rgb(205, 229, 241)";var h="rgb(213, 66, 3)";var z=r("l","rgb(207, 210, 212)");var T="rgb(222, 35, 98)";var I="rgb(68, 68, 69)";var L="rgb(245, 245, 247)";var D="rgb(161, 10, 78)";var f=r("i","rgb(198, 12, 48)");var X="rgb(23, 28, 58)";var w="rgb(8, 135, 78)";var C="rgb(252, 243, 244)";var B="rgb(199, 12, 112)";var M="rgb(169, 69, 124)";var k="rgb(249, 230, 234)";var H="rgb(148, 9, 37)";var G="rgb(255, 255, 255)";var P="rgb(116, 116, 117)";var U="rgb(228, 228, 230)";var F=r("o","rgb(178, 180, 179)");var j="rgb(23, 28, 58)";var Q="rgb(244, 207, 214)";var E="rgb(9, 129, 148)";var A=r("j","rgb(207, 207, 209)");var W="rgb(224, 42, 13)";var R="rgb(250, 164, 15)";var _="rgb(192, 101, 247)";var q="rgb(0, 105, 191)";var N="rgb(19, 120, 53)";var O="rgb(179, 60, 24)";var V="rgb(13, 163, 166)";var J="rgb(122, 1, 196)";var K="rgb(11, 114, 136)";var Y="rgb(0, 155, 204)";var Z="rgb(179, 137, 24)";var $="rgb(27, 171, 75)";var rr="rgb(128, 98, 17)";var ar="rgb(255, 86, 34)";var er="rgb(0, 41, 77)";var or="rgb(245, 76, 154)";var vr="rgb(194, 21, 101)";var lr="800";var ir="-0.01rem";var gr="'turva-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";var tr="'turva-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";var cr="'localtapiola-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";var mr="'localtapiola-sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'";var xr="700";var nr="400";var pr="600";var sr="4.5rem";var br="3rem";var dr="2.25rem";var yr="1.5rem";var ur="1.25rem";var Sr="1rem";var hr="0.875rem";var zr="0.75rem";var Tr="0";var Ir="4px";var Lr="50%";var Dr="20rem";var fr="0 2px 10px 0 rgba(117, 117, 117, 0.13)";var Xr="0 2px 6px 0 rgba(0, 41, 77, 0.07)";var wr="0 2px 10px 0 rgba(0, 41, 77, 0.07)";var Cr="0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)";var Br="0 2px 20px 0 rgba(0, 0, 0, 0.2)";var Mr="0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)";var kr="0 2px 10px 0 rgba(117, 117, 117, 0.15)";var Hr="0 2px 10px 0 rgba(0, 41, 77, 0.1)";var Gr="0 2px 6px 0 rgba(117, 117, 117, 0.13)";var Pr="4px";var Ur="20px";var Fr="8px";var jr="2px";var Qr="12px";var Er="16px";var Ar="36px";var Wr="72px";var Rr="94px";var _r="48px";var qr="28px";var Nr="48px";var Or="1px";var Vr="40px";var Jr="8rem";var Kr=r("s","4rem");var Yr="72px";var Zr="36px";var $r="10px";var ra="30px";var aa=r("q","3rem");var ea="30px";var oa="1110px";var va="48px";var la="16px";var ia="7px";var ga="2px";var ta="1px";var ca="24px";var ma="20px";var xa="0.85";var na="0.75";var pa="0.50";var sa="0.30";var ba="250";var da="600";var ya="800";var ua="1";var Sa="500";var ha="950";var za="900";var Ta="300";var Ia="100";var La="-999999";var Da="700";var fa="200";var Xa="400";var wa="1.5";var Ca="1.25";var Ba="1.1";var Ma="300ms ease";var ka="600ms ease";var Ha=r("g","'(min-width: 106.25em)'");var Ga=r("e","'(min-width: 64.0625em)'");var Pa=r("c","'(min-width: 48em)'");var Ua=r("d","'(min-width: 62em)'");var Fa=r("f","'(min-width: 76.25em)'");var ja=r("a","'(max-width: 35.9375em)'");var Qa=r("h","'(max-width: 20.5em)'");var Ea=r("b","'(min-width: 36em)'");var Aa=r("m","'(max-width: 22.5em)'");var Wa=Object.freeze({__proto__:null,colorWarning:a,colorGrayDarker:e,colorGrayLighter:o,colorCategoryHome:v,colorPrimary:l,colorCategoryVehicle:i,colorSuccess:g,colorCategoryFamily:t,colorPrimaryLightest:c,colorPrimaryLighter:m,colorBrandBlue:x,colorPrimaryDark:n,colorGrayLightest:p,colorCategoryFinance:s,colorGrayDark:b,colorGrayLight:d,colorSecondary:y,colorCategoryPet:u,colorPrimaryLight:S,colorCategoryTravel:h,colorGray:z,colorDanger:T,colorGrayDarkerTurva:I,colorGrayLighterTurva:L,colorCategoryHomeTurva:D,colorPrimaryTurva:f,colorCategoryVehicleTurva:X,colorSuccessTurva:w,colorPrimaryLightestTurva:C,colorCategoryFamilyTurva:B,colorCategoryUnionTurva:M,colorPrimaryLighterTurva:k,colorPrimaryDarkTurva:H,colorGrayLightestTurva:G,colorGrayDarkTurva:P,colorGrayLightTurva:U,colorBrandGrayTurva:F,colorSecondaryTurva:j,colorPrimaryLightTurva:Q,colorCategoryTravelTurva:E,colorGrayTurva:A,colorDangerTurva:W,colorWarningTurva:R,colorData07:_,colorData08:q,colorData09:N,colorData10:O,colorData11:V,colorData01:J,colorData12:K,colorData02:Y,colorData13:Z,colorData03:$,colorData14:rr,colorData04:ar,colorData15:er,colorData05:or,colorData06:vr,fontWeightExtraBold:lr,letterSpacingHeading:ir,fontFamilyHeadingTurva:gr,fontFamilyTextTurva:tr,fontFamilyHeading:cr,fontFamilyText:mr,fontWeightBold:xr,fontWeightNormal:nr,fontWeightSemiBold:pr,fontSizeXxxxLarge:sr,fontSizeXxxLarge:br,fontSizeXxLarge:dr,fontSizeXLarge:yr,fontSizeLarge:ur,fontSizeMedium:Sr,fontSizeSmall:hr,fontSizeXSmall:zr,radiusSharp:Tr,radiusDefault:Ir,radiusCircle:Lr,radiusPill:Dr,shadowTooltipTurva:fr,shadowDefault:Xr,shadowTooltip:wr,shadowCardTurva:Cr,shadowModal:Br,shadowCard:Mr,shadowHoverTurva:kr,shadowHover:Hr,shadowDefaultTurva:Gr,spaceXxSmall:Pr,spaceLarge:Ur,spaceXSmall:Fr,spaceXxxSmall:jr,spaceSmall:Qr,spaceMedium:Er,spaceXxLarge:Ar,spaceXxxxLarge:Wr,spaceXxxxxLarge:Rr,spaceXxxLarge:_r,spaceXLarge:qr,sizeIconXxLarge:Nr,sizeFormBorder:Or,sizeStepMedium:Vr,sizeButtonMinWidth:Jr,sizeHeader:Kr,sizeIconXxxLarge:Yr,sizeIconXLarge:Zr,sizeIconXxSmall:$r,sizeStepSmall:ra,sizeNavigation:aa,sizeIconLarge:ea,sizeLayoutMaxWidth:oa,sizeTappableSquare:va,sizeIconXSmall:la,sizeIconXxxSmall:ia,sizeButtonBorder:ga,sizeButtonTinyBorder:ta,sizeIconMedium:ca,sizeIconSmall:ma,opacity85:xa,opacity75:na,opacity50:pa,opacity30:sa,zIndexMaskButtons:ba,zIndexDropdown:da,zIndexSpinner:ya,zIndexDefault:ua,zIndexToast:Sa,zIndexPopup:ha,zIndexModal:za,zIndexSticky:Ta,zIndexMasked:Ia,zIndexDeep:La,zIndexOverlay:Da,zIndexMask:fa,zIndexHeader:Xa,lineHeightMedium:wa,lineHeightSmall:Ca,lineHeightXSmall:Ba,transitionQuickly:Ma,transitionSlowly:ka,mediaQueryXxxLarge:Ha,mediaQueryXLarge:Ga,mediaQueryMedium:Pa,mediaQueryLarge:Ua,mediaQueryXxLarge:Fa,mediaQueryXSmall:ja,mediaQueryXxxSmall:Qa,mediaQuerySmall:Ea,mediaQueryXxSmall:Aa});r("t",Wa)}}}));
|
|
@@ -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-7d6351ee.system.js","./p-33b3aba4.system.js","./p-34ea0849.system.js","./p-51721695.system.js","./p-c8dc599d.system.js","./p-17063917.system.js","./p-5d46f619.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,c,h,f,b,m;return{setters:[function(e){t=e.h;a=e.r;i=e.c;n=e.H;r=e.g},function(e){o=e.i},function(e){l=e.f;s=e.d},function(e){d=e.i},function(e){u=e.a;p=e.s},function(e){c=e.q;h=e.s},function(e){f=e.b},function(e){b=e.c},function(e){m=e.p}],execute:function(){var g=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 y=".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 v=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(d(a)){t.toggleColumn(e,a)}};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(){o(this);this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']");this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']")};e.prototype.createLabel=function(e){var a=this;var i=e.sort_order,n=e.direction,r=e.index,o=e.label;var l=u(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":u(this.sortableDefaultLabel),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(l(["index"]))};e.prototype.getRowSortOrder=function(){var e=__spreadArray([],this.columns,true).sort(l(["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,u(this.actionColumnLabel))))};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(u(n.label)," ")})})))};e.prototype.renderTableBody=function(){var e=this;var a=this.getSortedColumns();var i=this.getRowSortOrder();var n=__spreadArray([],this.rows,true).sort(l(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(g,{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}());v.style=y;var x='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 k={none:0,"with-links":parseFloat(c)*16,"without-links":parseFloat(h)*16};var w=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=e.matches};this.matchesBreakpoint=true;this.theme=undefined;this.margin="auto";this.variation="striped";this.sticky=false;this.stickyDistance="with-links";this.breakpoint="small";this.hideHeadVisually=false}e.prototype.connectedCallback=function(){var e=this;var t=this.breakpoint==="none"||this.breakpoint==="none-scrollable"?"all":f[this.breakpoint];this.mq=matchMedia(t);this.mq.addEventListener("change",s(this.handleMediaQueryChange,50));this.handleMediaQueryChange(this.mq);this.observer=new MutationObserver((function(){return s(e.copyHeadingsToCells(),50)}));this.observer.observe(this.element,{childList:true,subtree:true})};e.prototype.componentWillLoad=function(){o(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=k[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};e.prototype.disconnectedCallback=function(){this.observer.disconnect();this.observer=null;this.mq.removeListener(this.handleMediaQueryChange);this.mq=null;this.matchesBreakpoint=true};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});return e}());w.style=x;var D=[{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 M=function(e,t){var a={type:undefined,system_message:undefined,message:undefined};t=m(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 _=function(e,t){var a=M(e,t);var i=u(a.message);if(i===""||!i){return a.system_message}else{return i}};var I=function(e){var a=e.data,i=e.errorCodes;var n=a.item,r=a.error;var o=n.name;var l=r.type;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"}),o),t("duet-paragraph",{class:"duet-upload-item-error-label",size:"small",margin:"none",color:"danger"},_(l,i)))};var S=function(e){var a=e.progress,i=e.name;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"}),i),t("br",null),t("duet-progress",{progress:Math.ceil(a),"aria-hidden":true}))};var z=function(e){var a=e.name;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"}),a)};var F=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 E=function(e){var a=e.data,i=e.showLinks;var n=a.item,r=a.size,o=a.uploaded,l=a.url;var s=n.name;var d=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"}),s);var u=t("span",{class:"duet-upload-item-size",style:{fontSize:"14px",fontWeight:"400"}},"(",F(r),")");var p=o&&l&&i?t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},t("duet-link",{url:l,external:true},d),t("duet-spacer",{size:"xx-small",direction:"horizontal"}),u):t("duet-paragraph",{color:"secondary",margin:"none",weight:"semi-bold"},d,t("duet-spacer",{size:"xx-small",direction:"horizontal"}),u);return t("span",{class:"duet-upload-item-success"},t("div",null,p))};var T=function(e){var a=e.meta;var i=a&&a.badges?t("span",null,t("duet-spacer",{size:"xx-small"}),a.badges.map((function(e){return t("duet-badge",{color:"primary"},e)}))):t("span",null);return i};var L=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 C=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 A=function(e,t){if(!t||!e){return true}return t>=e};var B=function(e,t,a){var i=t.allowedMimetypes,n=t.allowedExtensions,r=t.maxBytes;var o=false;var l=M("default",a);if(e){var s=e.name,d=e.type,p=e.size;var c=C(d,i);var h=n==="all"||n===""||n===" "||n===undefined?true:L(s.toLowerCase(),n);var f=A(p,r);if(!c){l=M("duet-upload-101",a)}if(!h){l=M("duet-upload-100",a)}if(!f){l=M("duet-upload-201",a)}o=c&&h&&f}else{o=false}return{valid:o,errorMessage:o?undefined:u(l.message),errorSystem:o?undefined:l.system_message,errorType:o?undefined:l.type}};var P=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 j=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,c=a.headers,h=c===void 0?null:c;s.open(l,"".concat(d).concat(p||""),true);var f=t.data,b=t.name;if(h){Object.keys(h).forEach((function(e){s.setRequestHeader(e,h[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 U="*,*::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}.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-upload-editable-table .duet-upload-item-name duet-icon{position:relative;top:2px}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-bottom:12px}.test{display:flex;flex-direction:row}.test .item-categories{flex-grow:1}.test .item-label{flex-grow:2}.test .item-actions{flex-grow:1}";var V=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=b("DuetButton");this.labelId=b("DuetLabel");this.uploadId=b("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=s((function(){n.tick=Date.now()}),30);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.getItemHTMLFromItemData=function(e,a){if(a===n.DefaultGroups.success){return t(E,{data:e,showLinks:n.showLinks})}else if(a===n.DefaultGroups.inprogress){return t(S,{progress:e.progress,name:e.item.name})}else if(a===n.DefaultGroups.pending){return t(z,{name:e.item.name})}else if(a===n.DefaultGroups.failure){return t(I,{data:e,errorCodes:n.errorCodes})}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)}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",_("duet-upload-001",n.errorCodes))};this.transferCanceled=function(e){n.files.delete(e);n.validateTotals(e);n.kick()};this.validateTotals=function(e){var t=P(n.files,n.maxBytesTotal);var a=j(n.files,n.maxFiles);if(t&&e){n.updateValueInMap(e,"error",_("duet-upload-202",n.errorCodes),false)}if(a&&e){n.updateValueInMap(e,"error",_("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 a=[];var i=[];var r=[];var o=[];e.forEach((function(e){var l,s;var d=n.getGroupFromItemData(e);var u=n.getItemHTMLFromItemData(e,d);var p=t(T,{meta:e.meta});var c=(s=(l=e.meta)===null||l===void 0?void 0:l.badges)===null||s===void 0?void 0:s.join(",");if(d===n.DefaultGroups.success){o.push({uid:e.uid,item:u,hasCategory:e.meta&&!!e.meta.badges,category:p,group:d,actionDescription:"".concat(c||""," ").concat(e.item.name)})}else if(d===n.DefaultGroups.inprogress){a.push({uid:e.uid,item:u,hasCategory:e.meta&&!!e.meta.badges,category:p,group:d,actionDescription:"category ".concat(e.item.name)})}else if(d===n.DefaultGroups.pending){r.push({uid:e.uid,item:u,hasCategory:e.meta&&!!e.meta.badges,category:p,group:d,actionDescription:"category ".concat(e.item.name)})}else if(d===n.DefaultGroups.failure){i.push({uid:e.uid,item:u,hasCategory:e.meta&&!!e.meta.badges,category:p,group:d,actionDescription:"category ".concat(e.item.name)})}else if(e.group){a.push({uid:e.uid,item:u,hasCategory:e.meta&&!!e.meta.badges,category:p,group:e.group,actionDescription:"category ".concat(e.item.name)})}}));return{pending:r,failure:i,success:o,inprogress:a}};this.getColumns=function(e,t){return[{sort_order:1,direction:-1,index:0,key:"category",label:{fi:"Kategoria",sv:"Kategori",en:"Category"},display:t},{sort_order:1,direction:-1,index:1,key:e.id,label:e.label,display:true}]};this.getActions=function(e){return n.actions.filter((function(t){return t.map.includes(e)}))};this.renderEditableTableGroups=function(){var e=n.filterMap();var a=n.groups.map((function(a){var i=e[a.id];if(!(i===null||i===void 0?void 0:i.length)){return}var r=i.some((function(e){return e.hasCategory}));return t("duet-editable-table",{variation:"plain",groupId:a.id,columns:n.getColumns(a,r),actions:n.getActions(a.id),margin:"none",rows:i,"hide-head-visually":n.hideGroups||a.id!==n.DefaultGroups.success})}));return a};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=u(this.statusLabelDefaults);this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"};this.buttonLabel=u(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=u(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=u(this.descriptionDefaults);this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."};this.fileListEmpty=u(this.fileListEmptyDefaults);this.error="";this.errorCodes=D;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.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=p(this.groups)}else{this.internalStatusMessageLabel=this.statusMessageLabel}o(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 o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());o=o.replace(/{maxbytes}/g,"".concat(r.toString()," MB"));o=o.replace(/{maxbytestotal}/g,"".concat(i.toString()," MB"));o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", "));if(this.externalUploadButton){this.externalUploadButton.ariaLabel=o}return t(n,{class:{"duet-m-0":this.margin==="none"}},t("duet-fieldset",{label:this.label,caption:!this.captionOnBottom?o:undefined},t("slot",{name:"header"}),!this.files.size&&t("duet-label",{part:this.identifier?"".concat(this.identifier,"-empty-state"):"duet-upload-empty-state",theme:this.theme==="turva"?"turva":"default",size:"small",class:{"duet-upload-filelist-empty":!this.files.size,"duet-upload-filelist":true,"duet-upload-filelist-filled":this.files.size},id:this.labelId,for:a},t("span",{class:{"duet-upload-filelist-empty-label":!this.files.size}},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.renderEditableTableGroups(),!!this.files.size&&t("slot",{name:"filefooter"}),t("slot",{name:"footer"}),this.captionOnBottom&&t("duet-caption",{size:"small"},t("div",{class:"upload-bottom-caption"},o)),t("slot",{name:"afterfooter"}),t("duet-spacer",{size:"large"}),!this.hideButton&&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),t("duet-spacer",{size:"medium"}),(this.fileMaxReached||this.bytesMaxReached)&&t("duet-alert",{part:this.identifier?"".concat(this.identifier,"-error-notification"):"duet-upload-error-notification"},this.fileMaxReached&&_("duet-upload-301",this.errorCodes),this.bytesMaxReached&&_("duet-upload-202",this.errorCodes)),t("duet-spacer",{size:"medium"}),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,c,h,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=B(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();c={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,c);h=this.validateTotals(r.name),f=h.bytesMaxReached,b=h.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(c)];case 4:m.sent();return[3,6];case 5:if(l&&this.external){this.updateValueInMap(c.item.name,"pending",true,false);this.updateValueInMap(c.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}());V.style=U}}}));
|