@duetds/components 5.0.3 → 5.1.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 +491 -16
- package/lib/cjs/duet-action-button.cjs.entry.js +5 -5
- package/lib/cjs/duet-alert.cjs.entry.js +2 -2
- package/lib/cjs/duet-badge.cjs.entry.js +2 -2
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
- package/lib/cjs/duet-button_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-caption_4.cjs.entry.js +4 -4
- package/lib/cjs/duet-card.cjs.entry.js +5 -5
- package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
- package/lib/cjs/duet-choice_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
- package/lib/cjs/duet-combobox.cjs.entry.js +390 -0
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +10 -5
- package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +9 -7
- package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
- package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
- package/lib/cjs/duet-footer.cjs.entry.js +4 -4
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +40 -9
- package/lib/cjs/duet-hero.cjs.entry.js +2 -2
- package/lib/cjs/duet-icon.cjs.entry.js +4 -4
- package/lib/cjs/duet-input_2.cjs.entry.js +42 -4
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-modal.cjs.entry.js +4 -4
- package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-number-input.cjs.entry.js +3 -3
- package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-progress.cjs.entry.js +2 -2
- package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-range-slider.cjs.entry.js +3 -3
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -3
- package/lib/cjs/duet-select.cjs.entry.js +2 -2
- package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-textarea.cjs.entry.js +3 -3
- package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
- package/lib/cjs/duet-tray.cjs.entry.js +3 -3
- 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-be11fe84.js → focus-utils-be2df924.js} +1 -1
- package/lib/cjs/{index-4be1f8f7.js → index-608ca44d.js} +1 -1
- package/lib/cjs/{input-utils-f3e3854c.js → input-utils-b5e8f524.js} +1 -1
- package/lib/cjs/{keyboard-utils-898cfe14.js → keyboard-utils-bb32119b.js} +3 -0
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/themeable-component-940d3b50.js +15 -0
- package/lib/cjs/{token-utils-ac8432d1.js → token-utils-f402e205.js} +1 -1
- package/lib/cjs/{tokens-72efc7fd.js → tokens-8596cece.js} +0 -0
- package/lib/cjs/{tokens.module-6afcc9c1.js → tokens.module-6b2df1c2.js} +0 -0
- package/lib/collection/collection-manifest.json +1 -0
- package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +12 -0
- package/lib/collection/components/duet-combobox/duet-combobox-select.js +19 -0
- package/lib/collection/components/duet-combobox/duet-combobox.css +78 -0
- package/lib/collection/components/duet-combobox/duet-combobox.js +592 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +24 -2
- package/lib/collection/components/duet-date-picker/utils.js +1 -0
- package/lib/collection/components/duet-footer/duet-footer.js +6 -2
- package/lib/collection/components/duet-header/duet-header.css +15 -0
- package/lib/collection/components/duet-header/duet-header.js +41 -3
- package/lib/collection/components/duet-input/duet-input.js +92 -2
- package/lib/collection/components/duet-upload/duet-upload.css +12 -0
- package/lib/collection/components/duet-upload/duet-upload.js +4 -1
- package/lib/collection/components/duet-upload/upload-editable-item-success.js +1 -1
- package/lib/collection/utils/input-utils.js +1 -1
- package/lib/collection/utils/themeable-component.js +5 -2
- package/lib/custom-elements-bundle/index.d.ts +6 -0
- package/lib/custom-elements-bundle/index.js +487 -28
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-74586a15.system.entry.js → p-026083dd.system.entry.js} +1 -1
- package/lib/duet/{p-cdd335a3.entry.js → p-068a3522.entry.js} +1 -1
- package/lib/duet/{p-7e8d9165.entry.js → p-06b01be8.entry.js} +1 -1
- package/lib/duet/{p-dbc85b3a.entry.js → p-08c949c2.entry.js} +1 -1
- package/lib/duet/{p-1159dab0.system.entry.js → p-0cfe2b11.system.entry.js} +1 -1
- package/lib/duet/{p-71f87732.entry.js → p-143182be.entry.js} +1 -1
- package/lib/duet/p-156538ea.system.entry.js +4 -0
- package/lib/duet/{p-b6d748a9.system.entry.js → p-1dd368a3.system.entry.js} +1 -1
- package/lib/duet/{p-b72b4f9d.entry.js → p-1feabba1.entry.js} +1 -1
- package/lib/duet/{p-79f99668.entry.js → p-206f46ba.entry.js} +1 -1
- package/lib/duet/{p-22ed4dd2.entry.js → p-2287449d.entry.js} +1 -1
- package/lib/duet/{p-0c71c685.system.entry.js → p-23a19b83.system.entry.js} +1 -1
- package/lib/duet/{p-8824199e.system.entry.js → p-2866ccc1.system.entry.js} +1 -1
- package/lib/duet/{p-8f3be2e7.system.entry.js → p-29e73d8c.system.entry.js} +1 -1
- package/lib/duet/{p-33c8d8b9.entry.js → p-2f409514.entry.js} +1 -1
- package/lib/duet/{p-2a0ae7f6.system.entry.js → p-3048d8ef.system.entry.js} +1 -1
- package/lib/duet/{p-04ad8a51.system.js → p-31bc24a2.system.js} +1 -1
- package/lib/duet/{p-5be54927.entry.js → p-383c7df0.entry.js} +1 -1
- package/lib/duet/{p-24a9e68e.system.entry.js → p-388535da.system.entry.js} +1 -1
- package/lib/duet/p-3dfcf826.entry.js +4 -0
- package/lib/duet/{p-19a632b5.system.entry.js → p-41ff8913.system.entry.js} +1 -1
- package/lib/duet/{p-4a0d062b.entry.js → p-48ea1da4.entry.js} +1 -1
- package/lib/duet/{p-e171592e.entry.js → p-4c57fe8a.entry.js} +1 -1
- package/lib/duet/{p-77acbfe4.system.js → p-4e2532c7.system.js} +1 -1
- package/lib/duet/{p-364daea3.entry.js → p-4e4cce23.entry.js} +1 -1
- package/lib/duet/p-546444b0.system.entry.js +4 -0
- package/lib/duet/{p-fb3f8bae.entry.js → p-54724f73.entry.js} +1 -1
- package/lib/duet/p-54f35a79.js +4 -0
- package/lib/duet/p-56118313.js +4 -0
- package/lib/duet/{p-b9a23922.system.entry.js → p-58c20a42.system.entry.js} +1 -1
- package/lib/duet/{p-f40ab568.entry.js → p-60e2436b.entry.js} +1 -1
- package/lib/duet/{p-3e4f8f38.entry.js → p-63ac8866.entry.js} +1 -1
- package/lib/duet/{p-d8d93e29.system.js → p-64ebe689.system.js} +1 -1
- package/lib/duet/{p-3ab1a68a.entry.js → p-65a79da5.entry.js} +1 -1
- package/lib/duet/{p-8493e747.system.entry.js → p-69c0a7f6.system.entry.js} +1 -1
- package/lib/duet/p-6b03322b.system.js +4 -0
- package/lib/duet/{p-302a1111.system.entry.js → p-6b1abf52.system.entry.js} +1 -1
- package/lib/duet/{p-9bc80a7f.js → p-6b6176f4.js} +1 -1
- package/lib/duet/{p-480d4dcf.system.entry.js → p-6ba20e72.system.entry.js} +2 -2
- package/lib/duet/{p-0047c4f5.system.entry.js → p-6f4863db.system.entry.js} +1 -1
- package/lib/duet/{p-4c3d3d98.system.entry.js → p-6f603653.system.entry.js} +1 -1
- package/lib/duet/{p-5bb0d504.system.entry.js → p-7339eb94.system.entry.js} +1 -1
- package/lib/duet/{p-5208e8c8.entry.js → p-74728a74.entry.js} +1 -1
- package/lib/duet/{p-70090114.entry.js → p-7666b058.entry.js} +1 -1
- package/lib/duet/{p-cda9e6ea.entry.js → p-7729af53.entry.js} +1 -1
- package/lib/duet/p-7754c44f.entry.js +4 -0
- package/lib/duet/{p-c44470ff.entry.js → p-7a906647.entry.js} +1 -1
- package/lib/duet/{p-8c873050.system.entry.js → p-7aa17a19.system.entry.js} +1 -1
- package/lib/duet/{p-48c23e5c.entry.js → p-7f857142.entry.js} +1 -1
- package/lib/duet/{p-d7bc0102.js → p-8143f3de.js} +0 -0
- package/lib/duet/{p-49b566b8.entry.js → p-81c4e0b8.entry.js} +1 -1
- package/lib/duet/{p-7fe35615.system.entry.js → p-84afb642.system.entry.js} +1 -1
- package/lib/duet/{p-2724a54c.entry.js → p-85fe86ef.entry.js} +1 -1
- package/lib/duet/{p-839ea534.entry.js → p-887d51ae.entry.js} +1 -1
- package/lib/duet/{p-3cfbe168.entry.js → p-8cc38bb7.entry.js} +1 -1
- package/lib/duet/{p-a008aacc.entry.js → p-8f2b3690.entry.js} +1 -1
- package/lib/duet/p-93c1b85e.system.entry.js +4 -0
- package/lib/duet/{p-0e962ab1.system.entry.js → p-9592fa1f.system.entry.js} +1 -1
- package/lib/duet/{p-f65e0de6.system.entry.js → p-99dc86ab.system.entry.js} +1 -1
- package/lib/duet/{p-afe9e9f0.system.entry.js → p-9a47fd17.system.entry.js} +1 -1
- package/lib/duet/{p-8e7c504a.entry.js → p-9b0489b4.entry.js} +1 -1
- package/lib/duet/{p-a3506401.system.entry.js → p-9b282421.system.entry.js} +2 -2
- package/lib/duet/{p-36af1d4b.system.entry.js → p-9e06a7c7.system.entry.js} +1 -1
- package/lib/duet/p-a63f753e.system.js +4 -0
- package/lib/duet/{p-419e1df7.entry.js → p-a682a6a5.entry.js} +1 -1
- package/lib/duet/{p-25b156ea.entry.js → p-aa9d165e.entry.js} +1 -1
- package/lib/duet/{p-693cec9c.system.entry.js → p-ab3a0d39.system.entry.js} +1 -1
- package/lib/duet/p-ab8e590d.system.js +4 -0
- package/lib/duet/p-abf8eaf7.js +4 -0
- package/lib/duet/{p-ed75c8b3.js → p-ad07f399.js} +0 -0
- package/lib/duet/{p-14aba051.entry.js → p-b77d4386.entry.js} +1 -1
- package/lib/duet/{p-515fe415.system.entry.js → p-b7a86acf.system.entry.js} +1 -1
- package/lib/duet/p-badc3ac3.entry.js +4 -0
- package/lib/duet/{p-995288c0.entry.js → p-bc84c679.entry.js} +1 -1
- package/lib/duet/{p-1aa9b60c.system.entry.js → p-bdc61811.system.entry.js} +1 -1
- package/lib/duet/{p-38cc1d02.system.entry.js → p-c3019850.system.entry.js} +1 -1
- package/lib/duet/{p-9a8d5b11.system.js → p-c466bad9.system.js} +1 -1
- package/lib/duet/{p-68b50c43.entry.js → p-c5429708.entry.js} +1 -1
- package/lib/duet/{p-140cf44e.entry.js → p-ca55e1f8.entry.js} +1 -1
- package/lib/duet/{p-5746d88c.js → p-cb445018.js} +1 -1
- package/lib/duet/{p-f0dba299.system.entry.js → p-cd2e4ea8.system.entry.js} +1 -1
- package/lib/duet/{p-799f35c8.system.entry.js → p-d4734090.system.entry.js} +1 -1
- package/lib/duet/{p-d5a75400.system.entry.js → p-d8ebb48c.system.entry.js} +1 -1
- package/lib/duet/{p-29c093f0.entry.js → p-dca9237d.entry.js} +1 -1
- package/lib/duet/{p-268c0abb.system.js → p-ddb6344c.system.js} +0 -0
- package/lib/duet/p-df6b0878.system.entry.js +4 -0
- package/lib/duet/{p-7afb2bcf.system.entry.js → p-e4f8e874.system.entry.js} +1 -1
- package/lib/duet/{p-76f3205a.system.entry.js → p-e50c8c08.system.entry.js} +1 -1
- package/lib/duet/{p-b6339b38.system.entry.js → p-e5f9c7b8.system.entry.js} +1 -1
- package/lib/duet/{p-dca6993f.system.entry.js → p-e8a5580c.system.entry.js} +1 -1
- package/lib/duet/{p-d1549bd1.entry.js → p-e8da9596.entry.js} +1 -1
- package/lib/duet/{p-8594bc4d.entry.js → p-ea131807.entry.js} +1 -1
- package/lib/duet/{p-2be3b1ee.entry.js → p-ec340319.entry.js} +1 -1
- package/lib/duet/{p-2345965b.system.entry.js → p-ed1ea287.system.entry.js} +1 -1
- package/lib/duet/p-f37a0b50.entry.js +4 -0
- package/lib/duet/{p-bfc93e93.system.entry.js → p-f3ed1115.system.entry.js} +1 -1
- package/lib/duet/p-f42b06ec.entry.js +4 -0
- package/lib/duet/{p-343975bc.js → p-f5ced40a.js} +1 -1
- package/lib/duet/{p-83aaed17.system.entry.js → p-f7e5404c.system.entry.js} +1 -1
- package/lib/duet/{p-636dfb04.system.entry.js → p-f9ddfbd3.system.entry.js} +1 -1
- package/lib/duet/{p-812b0905.system.js → p-fa99eaa4.system.js} +0 -0
- package/lib/esm/duet-action-button.entry.js +5 -5
- package/lib/esm/duet-alert.entry.js +2 -2
- package/lib/esm/duet-badge.entry.js +2 -2
- package/lib/esm/duet-breadcrumb.entry.js +2 -2
- package/lib/esm/duet-breadcrumbs.entry.js +2 -2
- package/lib/esm/duet-button_2.entry.js +4 -4
- package/lib/esm/duet-caption_4.entry.js +4 -4
- package/lib/esm/duet-card.entry.js +5 -5
- package/lib/esm/duet-checkbox.entry.js +2 -2
- package/lib/esm/duet-choice_2.entry.js +4 -4
- package/lib/esm/duet-collapsible.entry.js +4 -4
- package/lib/esm/duet-combobox.entry.js +386 -0
- package/lib/esm/duet-cookie-consent.entry.js +2 -2
- package/lib/esm/duet-date-picker.entry.js +10 -5
- package/lib/esm/duet-divider_2.entry.js +2 -2
- package/lib/esm/duet-editable-table_3.entry.js +9 -7
- package/lib/esm/duet-empty-state.entry.js +2 -2
- package/lib/esm/duet-fieldset.entry.js +2 -2
- package/lib/esm/duet-footer.entry.js +4 -4
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +40 -9
- package/lib/esm/duet-hero.entry.js +2 -2
- package/lib/esm/duet-icon.entry.js +4 -4
- package/lib/esm/duet-input_2.entry.js +42 -4
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +2 -2
- package/lib/esm/duet-modal.entry.js +4 -4
- package/lib/esm/duet-notification_2.entry.js +2 -2
- package/lib/esm/duet-number-input.entry.js +3 -3
- package/lib/esm/duet-pagination_2.entry.js +3 -3
- package/lib/esm/duet-progress.entry.js +2 -2
- package/lib/esm/duet-radio_2.entry.js +2 -2
- package/lib/esm/duet-range-slider.entry.js +3 -3
- package/lib/esm/duet-scrollable_3.entry.js +3 -3
- package/lib/esm/duet-select.entry.js +2 -2
- package/lib/esm/duet-step_2.entry.js +3 -3
- package/lib/esm/duet-textarea.entry.js +3 -3
- package/lib/esm/duet-toggle.entry.js +2 -2
- package/lib/esm/duet-tooltip.entry.js +2 -2
- package/lib/esm/duet-tray.entry.js +3 -3
- 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 +2 -2
- package/lib/esm/{focus-utils-e649bb9d.js → focus-utils-b6b1e60d.js} +1 -1
- package/lib/esm/{index-fe6fd837.js → index-0b088451.js} +1 -1
- package/lib/esm/{input-utils-f4cafee1.js → input-utils-de45e099.js} +1 -1
- package/lib/esm/{keyboard-utils-6eb55cd5.js → keyboard-utils-88ea1007.js} +2 -1
- package/lib/esm/loader.js +2 -2
- package/lib/esm/themeable-component-e8fc98bf.js +13 -0
- package/lib/esm/{token-utils-e9a0cb88.js → token-utils-e9a69acf.js} +1 -1
- package/lib/esm/{tokens-57d98824.js → tokens-e110dc89.js} +0 -0
- package/lib/esm/{tokens.module-a13e9683.js → tokens.module-49cbf963.js} +0 -0
- 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-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +4 -0
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- package/lib/esm-es5/duet-header_2.entry.js +2 -2
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +1 -1
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-modal.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-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-select.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-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-b6b1e60d.js +4 -0
- package/lib/esm-es5/{index-fe6fd837.js → index-0b088451.js} +1 -1
- package/lib/esm-es5/input-utils-de45e099.js +4 -0
- package/lib/esm-es5/keyboard-utils-88ea1007.js +4 -0
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/themeable-component-e8fc98bf.js +4 -0
- package/lib/esm-es5/{token-utils-e9a0cb88.js → token-utils-e9a69acf.js} +1 -1
- package/lib/esm-es5/{tokens-57d98824.js → tokens-e110dc89.js} +0 -0
- package/lib/esm-es5/{tokens.module-a13e9683.js → tokens.module-49cbf963.js} +0 -0
- package/lib/html.html-data.json +56 -1
- package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +8 -0
- package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +14 -0
- package/lib/types/components/duet-combobox/duet-combobox.d.ts +131 -0
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +4 -0
- package/lib/types/components/duet-footer/duet-footer.d.ts +4 -0
- package/lib/types/components/duet-header/duet-header.d.ts +8 -0
- package/lib/types/components/duet-input/duet-input.d.ts +17 -0
- package/lib/types/components.d.ts +115 -0
- package/package.json +7 -7
- package/lib/cjs/themeable-component-0c1be552.js +0 -12
- package/lib/duet/p-251ee915.system.entry.js +0 -4
- package/lib/duet/p-2759fa82.system.entry.js +0 -4
- package/lib/duet/p-2fd6f95a.system.js +0 -4
- package/lib/duet/p-35a8dcc6.entry.js +0 -4
- package/lib/duet/p-7385e892.entry.js +0 -4
- package/lib/duet/p-74780bca.system.js +0 -4
- package/lib/duet/p-898f30a5.js +0 -4
- package/lib/duet/p-9ad2878e.system.entry.js +0 -4
- package/lib/duet/p-9dfcd29a.js +0 -4
- package/lib/duet/p-a28cf57b.js +0 -4
- package/lib/duet/p-d1a4aa9c.entry.js +0 -4
- package/lib/duet/p-dc9de1e3.entry.js +0 -4
- package/lib/duet/p-efaa0c04.system.js +0 -4
- package/lib/esm/themeable-component-572685dd.js +0 -10
- package/lib/esm-es5/focus-utils-e649bb9d.js +0 -4
- package/lib/esm-es5/input-utils-f4cafee1.js +0 -4
- package/lib/esm-es5/keyboard-utils-6eb55cd5.js +0 -4
- package/lib/esm-es5/themeable-component-572685dd.js +0 -4
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
4
|
const NAMESPACE = 'duet';
|
|
5
|
-
const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"2.2.
|
|
5
|
+
const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"2.2.23"};
|
|
6
6
|
|
|
7
7
|
let scopeId;
|
|
8
8
|
let contentRef;
|
|
@@ -1593,7 +1593,7 @@ const proxyCustomElement = (Cstr, compactMeta) => {
|
|
|
1593
1593
|
};
|
|
1594
1594
|
const setAssetPath = (path) => (plt.$resourcesUrl$ = path);
|
|
1595
1595
|
const setPlatformOptions = (opts) => Object.assign(plt, opts);
|
|
1596
|
-
const Fragment = (_, children) => children;
|
|
1596
|
+
const Fragment$1 = (_, children) => children;
|
|
1597
1597
|
const hostRefs = new WeakMap();
|
|
1598
1598
|
const getHostRef = (ref) => hostRefs.get(ref);
|
|
1599
1599
|
const registerHost = (elm, cmpMeta) => {
|
|
@@ -1733,6 +1733,7 @@ const isArrowRightKey = (e) => e.keyCode === 39;
|
|
|
1733
1733
|
const isArrowDownKey = (e) => e.keyCode === 40;
|
|
1734
1734
|
const isArrowKey = (e) => isArrowDownKey(e) || isArrowRightKey(e) || isArrowUpKey(e) || isArrowLeftKey(e);
|
|
1735
1735
|
const isEscapeKey = (e) => e.key === "Escape" || e.key === "Esc" || e.keyCode === 27;
|
|
1736
|
+
const isTabKey = (e) => e.key === "Tab" || e.keyCode === 9;
|
|
1736
1737
|
const isBackspaceKey = (e) => e.keyCode === 8;
|
|
1737
1738
|
const isSpaceKey = (e) => e.key === "Space" || e.keyCode === 32;
|
|
1738
1739
|
const isPlusKey = (e) => e.key === "+" || e.keyCode === 43;
|
|
@@ -1874,8 +1875,11 @@ const getLocaleString = (langObject, languageOverride) => {
|
|
|
1874
1875
|
};
|
|
1875
1876
|
|
|
1876
1877
|
const inheritGlobalTheme = (component) => {
|
|
1877
|
-
|
|
1878
|
-
|
|
1878
|
+
// this minor change enables duet-theme-XXXXX instead of just duet-theme-turva
|
|
1879
|
+
const classList = Array.from(document.documentElement.classList).join(" ") || "";
|
|
1880
|
+
const theme = /(duet-theme-)([a-z]*)/gis.exec(classList);
|
|
1881
|
+
if (theme && theme[1] === "duet-theme-") {
|
|
1882
|
+
component.theme = theme[2] === "default" ? "" : theme[2];
|
|
1879
1883
|
}
|
|
1880
1884
|
};
|
|
1881
1885
|
|
|
@@ -2627,7 +2631,7 @@ const DuetBreadcrumbs$1 = class extends H {
|
|
|
2627
2631
|
return (h$1(Host, null, h$1("nav", { "aria-label": this.breadcrumbsAriaLabel, class: {
|
|
2628
2632
|
"duet-breadcrumbs": true,
|
|
2629
2633
|
"duet-theme-turva": this.theme === "turva",
|
|
2630
|
-
} }, h$1("ol", null, this.children.map((child, index) => (h$1(Fragment, null, index > 0 && (h$1("li", { "aria-hidden": "true" }, h$1("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.svg, margin: "none", color: "currentColor" }))), h$1("li", { innerHTML: child.outerHTML }), h$1("div", { class: "hide" }, h$1("slot", null)))))))));
|
|
2634
|
+
} }, h$1("ol", null, this.children.map((child, index) => (h$1(Fragment$1, null, index > 0 && (h$1("li", { "aria-hidden": "true" }, h$1("duet-icon", { class: "duet-breadrumbs-arrow", size: "auto", icon: actionArrowRightSmall.svg, margin: "none", color: "currentColor" }))), h$1("li", { innerHTML: child.outerHTML }), h$1("div", { class: "hide" }, h$1("slot", null)))))))));
|
|
2631
2635
|
}
|
|
2632
2636
|
get element() { return this; }
|
|
2633
2637
|
static get style() { return duetBreadcrumbsCss; }
|
|
@@ -3026,7 +3030,7 @@ const DuetCard$1 = class extends H {
|
|
|
3026
3030
|
onKeyDown: this.handleKeyDown,
|
|
3027
3031
|
}
|
|
3028
3032
|
: {};
|
|
3029
|
-
return (h$1(HeadingTag, Object.assign({ class: "duet-card-heading" }, headingProps), h$1("div", { class: "duet-card-heading-grid" }, this.icon && (h$1(Fragment, null, h$1("duet-icon", { class: "duet-card-icon", name: this.icon, size: "medium", margin: "none", color: "currentColor" }), h$1("duet-spacer", { direction: "horizontal", size: "small" }))), h$1("div", { class: "duet-card-heading-text" }, this.heading), this.secondaryHeading && (h$1(Fragment, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("div", { class: "duet-card-secondary-heading duet-card-secondary-heading--inline" }, this.secondaryHeading))), this.collapsible && (h$1(Fragment, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("duet-icon", { class: "duet-card-caret", icon: actionArrowUp.svg, size: "small", margin: "none", color: "currentColor" })))), this.secondaryHeading && (h$1("div", { class: "duet-card-secondary-heading duet-card-secondary-heading--new-line" }, this.secondaryHeading)), h$1("slot", { name: "below-heading" })));
|
|
3033
|
+
return (h$1(HeadingTag, Object.assign({ class: "duet-card-heading" }, headingProps), h$1("div", { class: "duet-card-heading-grid" }, this.icon && (h$1(Fragment$1, null, h$1("duet-icon", { class: "duet-card-icon", name: this.icon, size: "medium", margin: "none", color: "currentColor" }), h$1("duet-spacer", { direction: "horizontal", size: "small" }))), h$1("div", { class: "duet-card-heading-text" }, this.heading), this.secondaryHeading && (h$1(Fragment$1, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("div", { class: "duet-card-secondary-heading duet-card-secondary-heading--inline" }, this.secondaryHeading))), this.collapsible && (h$1(Fragment$1, null, h$1("duet-spacer", { direction: "horizontal", size: "small" }), h$1("duet-icon", { class: "duet-card-caret", icon: actionArrowUp.svg, size: "small", margin: "none", color: "currentColor" })))), this.secondaryHeading && (h$1("div", { class: "duet-card-secondary-heading duet-card-secondary-heading--new-line" }, this.secondaryHeading)), h$1("slot", { name: "below-heading" })));
|
|
3030
3034
|
}
|
|
3031
3035
|
/**
|
|
3032
3036
|
* Sets focus on the specified `duet-card`. Use this method instead of the global
|
|
@@ -3304,6 +3308,7 @@ const convertToPrivate = (node) => {
|
|
|
3304
3308
|
vnode.$name$ = node.vname;
|
|
3305
3309
|
return vnode;
|
|
3306
3310
|
};
|
|
3311
|
+
const Fragment = (_, children) => children;
|
|
3307
3312
|
|
|
3308
3313
|
const focusElement = (element) => {
|
|
3309
3314
|
if ("setFocus" in element) {
|
|
@@ -4388,6 +4393,382 @@ const DuetCollapsible$1 = class extends H {
|
|
|
4388
4393
|
static get style() { return duetCollapsibleCss; }
|
|
4389
4394
|
};
|
|
4390
4395
|
|
|
4396
|
+
const SelectSingle = ({ item, search = "", selected }) => {
|
|
4397
|
+
const regEx = search !== "" ? new RegExp("(" + search.split(" ").join("|") + ")", "gi") : undefined;
|
|
4398
|
+
return (h(Fragment, null,
|
|
4399
|
+
selected && h("duet-icon", { class: "option-icon", name: "messaging-checked", size: "xx-small", margin: "none" }),
|
|
4400
|
+
regEx ? (h("span", { class: "option-container", "aria-hidden": "true" },
|
|
4401
|
+
h("span", { innerHTML: item.name.replace(regEx, '<span class="highlight">$&</span>') }))) : (item.name),
|
|
4402
|
+
item.tags && h("span", { class: "option-tags" }, item.tags.join(", "))));
|
|
4403
|
+
};
|
|
4404
|
+
|
|
4405
|
+
const DuetComboBoxSelect = ({ item, active, total, selected, label = undefined, clickHandler = e => {
|
|
4406
|
+
e.preventDefault();
|
|
4407
|
+
}, keyHandler = e => {
|
|
4408
|
+
e.preventDefault();
|
|
4409
|
+
}, search, }) => {
|
|
4410
|
+
return (h("li", { class: {
|
|
4411
|
+
"list-item": true,
|
|
4412
|
+
option: true,
|
|
4413
|
+
active: active,
|
|
4414
|
+
selected: selected,
|
|
4415
|
+
}, id: active ? "active_item" : "", "data-index": item.id, "aria-selected": active ? "true" : undefined, "aria-current": selected ? "true" : undefined, role: "option", "aria-label": label || `${item.name}, (${item.id + 1} of ${total})` },
|
|
4416
|
+
h("a", { tabindex: "-1", onClick: e => clickHandler(e), onKeyUp: e => keyHandler(e), class: "option-link", "aria-label": label || `${item.name}, (${item.id + 1} of ${total})`, "aria-hidden": "true" },
|
|
4417
|
+
h(SelectSingle, { item: item, search: search, selected: selected }))));
|
|
4418
|
+
};
|
|
4419
|
+
|
|
4420
|
+
const duetComboboxCss = ".sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#00294d}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);display:none;overflow:hidden;background:white;border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-combobox-list.open.sc-duet-combobox{z-index:700;display:block}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:#cde5f1}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:white;background:#0077b3}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:#e1e3e6}";
|
|
4421
|
+
|
|
4422
|
+
const DuetCombobox$1 = class extends H {
|
|
4423
|
+
constructor() {
|
|
4424
|
+
super();
|
|
4425
|
+
this.__registerHost();
|
|
4426
|
+
this.duetChange = createEvent$2(this, "duetChange", 3);
|
|
4427
|
+
// Safari doesnt properly support aria-activedecendatn, the code associated with this bool is a workaround for that,
|
|
4428
|
+
// this should be removed when Safari fixes the issue
|
|
4429
|
+
// see: https://a11ysupport.io/tests/apg__aria-1-2-combobox-with-list-autocomplete-example#assertion-aria-aria-activedescendant_attribute-convey_value-aria-combobox_role-vo_macos-safari
|
|
4430
|
+
this.isSafari = false;
|
|
4431
|
+
this.resizeObserver = new ResizeObserver(debounce(entries => {
|
|
4432
|
+
var _a, _b;
|
|
4433
|
+
// otherwise, something is wrong, expecting 1 element only
|
|
4434
|
+
if ((entries === null || entries === void 0 ? void 0 : entries.length) === 1) {
|
|
4435
|
+
const currentWidth = (_b = (_a = entries[0]) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width;
|
|
4436
|
+
this.listContainer.style.width = `${currentWidth + 1}px`;
|
|
4437
|
+
// this.listElement.style.width = `${currentWidth + 1}px`
|
|
4438
|
+
}
|
|
4439
|
+
}, 100));
|
|
4440
|
+
this.processedItems = null;
|
|
4441
|
+
this.inputWidth = 0;
|
|
4442
|
+
this.inputValue = "";
|
|
4443
|
+
this.selectionMsg = "";
|
|
4444
|
+
this.listOpen = false;
|
|
4445
|
+
// the selected item is based upon the DuetComboboxItem.id value
|
|
4446
|
+
this.selectedItems = new Set();
|
|
4447
|
+
// the activeItem number is based upon the array.index of the array stored in processedItems
|
|
4448
|
+
this.activeItem = undefined;
|
|
4449
|
+
/**
|
|
4450
|
+
* Placeholder defaults
|
|
4451
|
+
* @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
|
|
4452
|
+
*/
|
|
4453
|
+
this.accessibleLabelDefaults = {
|
|
4454
|
+
en: {
|
|
4455
|
+
heading: "Select:",
|
|
4456
|
+
item: "{name}, ({current} of {total})",
|
|
4457
|
+
itemFiltered: "{name}, ({current} of {total}, {hiddenItems} filtered)",
|
|
4458
|
+
},
|
|
4459
|
+
fi: {
|
|
4460
|
+
heading: "Valitse:",
|
|
4461
|
+
item: "{name}, ({current}/{total})",
|
|
4462
|
+
itemFiltered: "{name}, ({current}/{total}, {hiddenItems} suodatettu)",
|
|
4463
|
+
},
|
|
4464
|
+
sv: {
|
|
4465
|
+
heading: "Välj:",
|
|
4466
|
+
item: "{name}, ({current} av {total})",
|
|
4467
|
+
itemFiltered: "{name}, ({current} av {total}, {hiddenItems} filtrerade)",
|
|
4468
|
+
},
|
|
4469
|
+
};
|
|
4470
|
+
/**
|
|
4471
|
+
* Hint text to display before the user types into the date picker input.
|
|
4472
|
+
* @default {
|
|
4473
|
+
* heading: "Valitse:",
|
|
4474
|
+
* item: "{0}, ({1}/{2})",
|
|
4475
|
+
* itemFiltered: "{0}, ({1}/{2} - {3} suodatettu"
|
|
4476
|
+
* }
|
|
4477
|
+
*/
|
|
4478
|
+
this.accessibleLabels = getLocaleString(parsePossibleJSON(this.accessibleLabelDefaults), getLanguage());
|
|
4479
|
+
/**
|
|
4480
|
+
* Theme of the combobox.
|
|
4481
|
+
*/
|
|
4482
|
+
this.theme = "";
|
|
4483
|
+
/**
|
|
4484
|
+
* Force the user to make a selection (typing things in the input field will only be used for list search)
|
|
4485
|
+
*/
|
|
4486
|
+
this.force = false;
|
|
4487
|
+
/**
|
|
4488
|
+
* A hook to overwrite how the values are displayed in the input field after a User select an item
|
|
4489
|
+
* @example (item) => `${item.name} (${item.value})`
|
|
4490
|
+
* @default undefined
|
|
4491
|
+
*/
|
|
4492
|
+
this.formatter = (item) => item && item.name ? item.name : "";
|
|
4493
|
+
}
|
|
4494
|
+
activeItemHandler(state) {
|
|
4495
|
+
this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? `active_item` : "";
|
|
4496
|
+
}
|
|
4497
|
+
handleDocumentClick(e) {
|
|
4498
|
+
//we want to remove all user text if they have NOT selected from the dropdown
|
|
4499
|
+
const path = e.composedPath();
|
|
4500
|
+
const isClickOutside = path.every(el => el !== this.element);
|
|
4501
|
+
if (isClickOutside) {
|
|
4502
|
+
this.updateInputText(true);
|
|
4503
|
+
this.listOpen = false;
|
|
4504
|
+
}
|
|
4505
|
+
}
|
|
4506
|
+
/**
|
|
4507
|
+
* Exposes a formatter function to format the item value displayed after a user selects an item
|
|
4508
|
+
* @param item: DuetComboboxItem
|
|
4509
|
+
*/
|
|
4510
|
+
async formatItem(item) {
|
|
4511
|
+
return this.formatter(item);
|
|
4512
|
+
}
|
|
4513
|
+
/**
|
|
4514
|
+
* Component lifecycle events.
|
|
4515
|
+
*/
|
|
4516
|
+
componentWillLoad() {
|
|
4517
|
+
inheritGlobalTheme(this);
|
|
4518
|
+
}
|
|
4519
|
+
connectedCallback() {
|
|
4520
|
+
if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
|
|
4521
|
+
this.isSafari = true;
|
|
4522
|
+
}
|
|
4523
|
+
this.items = this.processedItems = parsePossibleJSON(this.items);
|
|
4524
|
+
this.input = this.element.querySelector("duet-input");
|
|
4525
|
+
this.input.addEventListener("duetChange", this.updateInputValue.bind(this));
|
|
4526
|
+
this.input.addEventListener("click", () => {
|
|
4527
|
+
this.inputValue.length ? (this.listOpen = true) : (this.listOpen = false);
|
|
4528
|
+
});
|
|
4529
|
+
this.element.addEventListener("keydown", this.handleInputKeyDownEvent.bind(this));
|
|
4530
|
+
//add correct aria attributes to the input element
|
|
4531
|
+
this.input.accessibleAutocomplete = "list";
|
|
4532
|
+
this.input.accessibleControls = "duet-combobox-list-element";
|
|
4533
|
+
}
|
|
4534
|
+
disconnectedCallback() {
|
|
4535
|
+
this.input.removeEventListener("duetChange", this.updateInputValue.bind(this));
|
|
4536
|
+
this.input.removeEventListener("click", () => this.inputValue.length ? (this.listOpen = true) : (this.listOpen = false));
|
|
4537
|
+
this.element.removeEventListener("keydown", this.handleInputKeyDownEvent.bind(this));
|
|
4538
|
+
this.listElement.removeEventListener("click", e => {
|
|
4539
|
+
e.stopPropagation();
|
|
4540
|
+
});
|
|
4541
|
+
this.resizeObserver.disconnect();
|
|
4542
|
+
}
|
|
4543
|
+
componentDidLoad() {
|
|
4544
|
+
// observe resize events to dynamically adjust size of dropdown area
|
|
4545
|
+
this.resizeObserver.observe(this.input);
|
|
4546
|
+
this.listElement.addEventListener("click", e => {
|
|
4547
|
+
e.stopPropagation();
|
|
4548
|
+
});
|
|
4549
|
+
}
|
|
4550
|
+
/**
|
|
4551
|
+
* Updates the input text based on the selected/clicked items.
|
|
4552
|
+
* @param event - event
|
|
4553
|
+
*'param item: DuetComboboxItem - the item that was selected
|
|
4554
|
+
*/
|
|
4555
|
+
onListClick(e, item) {
|
|
4556
|
+
e.preventDefault();
|
|
4557
|
+
// update selected item with id
|
|
4558
|
+
this.updateSelectedItems(item.id);
|
|
4559
|
+
this.listOpen = false;
|
|
4560
|
+
return this.listOpen;
|
|
4561
|
+
}
|
|
4562
|
+
/**
|
|
4563
|
+
* Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
|
|
4564
|
+
* TODO: this should be disabled in multiple mode
|
|
4565
|
+
*/
|
|
4566
|
+
shouldListBeFiltered() {
|
|
4567
|
+
if (this.selectedItems.size && this.input.value === this.inputValue) {
|
|
4568
|
+
const item = this.items.filter(item => this.selectedItems.has(item.id));
|
|
4569
|
+
return !(this.formatter(item).toLowerCase() === this.input.value.toLowerCase());
|
|
4570
|
+
}
|
|
4571
|
+
return true;
|
|
4572
|
+
}
|
|
4573
|
+
/**
|
|
4574
|
+
* Helper function that return correct collection depending on filter status returend by shouldListBeFiltered
|
|
4575
|
+
*/
|
|
4576
|
+
returnFilteredOrNonFiltered() {
|
|
4577
|
+
return this.processedItems
|
|
4578
|
+
? this.shouldListBeFiltered()
|
|
4579
|
+
? this.getFilteredItems()
|
|
4580
|
+
: this.sortFilteredItems(this.processedItems)
|
|
4581
|
+
: [];
|
|
4582
|
+
}
|
|
4583
|
+
/**
|
|
4584
|
+
* Updates the selected items based on the item id.
|
|
4585
|
+
* @param id
|
|
4586
|
+
* @private
|
|
4587
|
+
*/
|
|
4588
|
+
async updateSelectedItems(id) {
|
|
4589
|
+
// for a multiple scenario wrap this in an if/else and just don't clear here
|
|
4590
|
+
this.selectedItems.clear();
|
|
4591
|
+
if (this.selectedItems) {
|
|
4592
|
+
if (this.selectedItems.has(id)) {
|
|
4593
|
+
this.selectedItems.delete(id);
|
|
4594
|
+
}
|
|
4595
|
+
else {
|
|
4596
|
+
this.selectedItems.add(id);
|
|
4597
|
+
}
|
|
4598
|
+
}
|
|
4599
|
+
await this.updateInputText();
|
|
4600
|
+
}
|
|
4601
|
+
/**
|
|
4602
|
+
* Updates the input text based on the selected/clicked items.
|
|
4603
|
+
* @param bool -override to clear if invoked by "click outside"
|
|
4604
|
+
*/
|
|
4605
|
+
async updateInputText(isBlurred = false) {
|
|
4606
|
+
const item = this.selectedItems.size === 0 ? [] : this.items.filter(item => this.selectedItems.has(item.id));
|
|
4607
|
+
if (this.selectedItems.size === 1) {
|
|
4608
|
+
this.input.value = ""; // set value to empty so that cursor position follows accordingly
|
|
4609
|
+
this.input.value = await this.formatItem(item[0]);
|
|
4610
|
+
this.input.scrollLeft = this.input.scrollWidth;
|
|
4611
|
+
this.activeItem = undefined;
|
|
4612
|
+
this.value = await this.formatItem(item[0]);
|
|
4613
|
+
this.duetChange.emit({
|
|
4614
|
+
value: item[0].value,
|
|
4615
|
+
item: item[0],
|
|
4616
|
+
component: "duet-combobox",
|
|
4617
|
+
});
|
|
4618
|
+
}
|
|
4619
|
+
else if (isBlurred && this.selectedItems.size === 0) {
|
|
4620
|
+
//if nothing is selected and a user clicks outside, we want the input field to clearly illustrate that nothing was selected
|
|
4621
|
+
if (this.force) {
|
|
4622
|
+
this.inputValue = "";
|
|
4623
|
+
this.input.value = "";
|
|
4624
|
+
}
|
|
4625
|
+
this.activeItem = undefined;
|
|
4626
|
+
}
|
|
4627
|
+
this.listOpen = false;
|
|
4628
|
+
}
|
|
4629
|
+
updateInputValue(e) {
|
|
4630
|
+
var _a;
|
|
4631
|
+
this.inputValue = e.detail.value;
|
|
4632
|
+
this.listOpen = String(this.inputValue).length > 0 && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
4633
|
+
}
|
|
4634
|
+
handleInputKeyDownEvent(e) {
|
|
4635
|
+
//if selection is made, close the list and update internal and external values
|
|
4636
|
+
// this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
|
|
4637
|
+
// https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
|
|
4638
|
+
this.input.accessibleActiveDescendant = undefined;
|
|
4639
|
+
if (isEnterKey(e)) {
|
|
4640
|
+
e.preventDefault();
|
|
4641
|
+
this.selectActiveItem();
|
|
4642
|
+
this.listOpen = false;
|
|
4643
|
+
return;
|
|
4644
|
+
}
|
|
4645
|
+
//tabbing out or escaping, restore initial state
|
|
4646
|
+
if (isEscapeKey(e) || isTabKey(e)) {
|
|
4647
|
+
this.updateInputText(true);
|
|
4648
|
+
this.listOpen = false;
|
|
4649
|
+
return;
|
|
4650
|
+
}
|
|
4651
|
+
//handle arrow up/down navigation
|
|
4652
|
+
let nextActiveItem = this.activeItem;
|
|
4653
|
+
if (isArrowUpKey(e)) {
|
|
4654
|
+
e.preventDefault();
|
|
4655
|
+
nextActiveItem = this.activeItem - 1;
|
|
4656
|
+
}
|
|
4657
|
+
else if (isArrowDownKey(e)) {
|
|
4658
|
+
e.preventDefault();
|
|
4659
|
+
nextActiveItem = this.listOpen ? this.activeItem + 1 : this.activeItem;
|
|
4660
|
+
this.listOpen = true;
|
|
4661
|
+
}
|
|
4662
|
+
if (isArrowDownKey(e) || isArrowUpKey(e)) {
|
|
4663
|
+
const listItems = this.shouldListBeFiltered() ? this.getFilteredItems() : this.processedItems;
|
|
4664
|
+
if (nextActiveItem < 0 || !nextActiveItem) {
|
|
4665
|
+
nextActiveItem = 0;
|
|
4666
|
+
}
|
|
4667
|
+
if (nextActiveItem >= listItems.length) {
|
|
4668
|
+
nextActiveItem = listItems.length - 1;
|
|
4669
|
+
}
|
|
4670
|
+
// this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
|
|
4671
|
+
// https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
|
|
4672
|
+
this.input.accessibleActiveDescendant = "active_item";
|
|
4673
|
+
this.activeItem = nextActiveItem;
|
|
4674
|
+
this.scrollToActive();
|
|
4675
|
+
}
|
|
4676
|
+
this.announceActive();
|
|
4677
|
+
return;
|
|
4678
|
+
}
|
|
4679
|
+
selectActiveItem() {
|
|
4680
|
+
if (this.activeItem === undefined) {
|
|
4681
|
+
return;
|
|
4682
|
+
}
|
|
4683
|
+
const filteredItem = this.returnFilteredOrNonFiltered();
|
|
4684
|
+
const item = filteredItem[this.activeItem];
|
|
4685
|
+
this.updateSelectedItems(item.id);
|
|
4686
|
+
}
|
|
4687
|
+
announceActive(items) {
|
|
4688
|
+
if (!items) {
|
|
4689
|
+
items = this.returnFilteredOrNonFiltered();
|
|
4690
|
+
}
|
|
4691
|
+
if (this.activeItem === undefined || this.activeItem === -1) {
|
|
4692
|
+
return;
|
|
4693
|
+
}
|
|
4694
|
+
const item = items[this.activeItem];
|
|
4695
|
+
this.selectionMsg = this.formatLabel(item, items.length, this.items.length);
|
|
4696
|
+
}
|
|
4697
|
+
//function that scrolls to the li element with the class "active"
|
|
4698
|
+
scrollToActive() {
|
|
4699
|
+
const activeElement = this.listElement.querySelector(".active");
|
|
4700
|
+
if (activeElement) {
|
|
4701
|
+
activeElement.scrollIntoView({
|
|
4702
|
+
behavior: "smooth",
|
|
4703
|
+
block: "center",
|
|
4704
|
+
});
|
|
4705
|
+
}
|
|
4706
|
+
}
|
|
4707
|
+
formatLabel(item, length, itemsLength) {
|
|
4708
|
+
if (!item || itemsLength === undefined) {
|
|
4709
|
+
return "";
|
|
4710
|
+
}
|
|
4711
|
+
const labelString = length === itemsLength ? this.accessibleLabels.item : this.accessibleLabels.itemFiltered;
|
|
4712
|
+
return labelString
|
|
4713
|
+
.replace("{name}", String(item.name))
|
|
4714
|
+
.replace("{current}", String(this.activeItem + 1))
|
|
4715
|
+
.replace("{total}", String(length))
|
|
4716
|
+
.replace("{hiddenItems}", String(itemsLength - length));
|
|
4717
|
+
}
|
|
4718
|
+
/**
|
|
4719
|
+
* Filter the items based on the input value
|
|
4720
|
+
*/
|
|
4721
|
+
getFilteredItems() {
|
|
4722
|
+
// filter items based on user inputs
|
|
4723
|
+
const filteredItems = this.processedItems.filter(item =>
|
|
4724
|
+
// filter by name and value
|
|
4725
|
+
// if value contains inputvalue
|
|
4726
|
+
String(item.value).toLowerCase().includes(this.inputValue.toLowerCase()) ||
|
|
4727
|
+
// if name contains input value
|
|
4728
|
+
String(item.name).toLowerCase().includes(this.inputValue.toLowerCase()) ||
|
|
4729
|
+
// if the item is selected
|
|
4730
|
+
this.selectedItems.has(item.id));
|
|
4731
|
+
return this.sortFilteredItems(filteredItems);
|
|
4732
|
+
}
|
|
4733
|
+
/**
|
|
4734
|
+
* Sort the return from getFilteredItems so that any item with and item.id that matches this.selectedItems is placed first
|
|
4735
|
+
*/
|
|
4736
|
+
sortFilteredItems(items) {
|
|
4737
|
+
if (items.length > 0) {
|
|
4738
|
+
items
|
|
4739
|
+
.filter(item => this.selectedItems.has(item.id))
|
|
4740
|
+
.forEach(item => {
|
|
4741
|
+
const index = items.indexOf(item);
|
|
4742
|
+
items.splice(index, 1);
|
|
4743
|
+
items.unshift(item);
|
|
4744
|
+
});
|
|
4745
|
+
}
|
|
4746
|
+
return items;
|
|
4747
|
+
}
|
|
4748
|
+
/**
|
|
4749
|
+
* render() function
|
|
4750
|
+
* Always the last one in the class.
|
|
4751
|
+
*/
|
|
4752
|
+
render() {
|
|
4753
|
+
const selectElements = this.returnFilteredOrNonFiltered();
|
|
4754
|
+
return (h$1(Host, { role: "combobox", "aria-expanded": this.listOpen ? "true" : "false", "aria-owns": this.listOpen ? "duet-combobox-list-element" : undefined, "aria-haspopup": "listbox", class: {
|
|
4755
|
+
"duet-combobox": true,
|
|
4756
|
+
[`duet-theme-${this.theme}`]: true,
|
|
4757
|
+
} }, h$1("slot", null), this.isSafari && (h$1("duet-visually-hidden", { "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, this.selectionMsg)), h$1("div", { role: "list", class: {
|
|
4758
|
+
"duet-combobox-list": true,
|
|
4759
|
+
open: this.listOpen,
|
|
4760
|
+
}, ref: el => (this.listContainer = el) }, h$1("ul", { role: "listbox", ref: el => (this.listElement = el), id: "duet-combobox-list-element", class: "listbox" }, this.processedItems &&
|
|
4761
|
+
selectElements.map((item, index) => {
|
|
4762
|
+
return (h$1(DuetComboBoxSelect, { item: item, active: index === this.activeItem, selected: this.selectedItems.has(item.id), search: this.inputValue, total: selectElements.length, clickHandler: e => this.onListClick(e, item), label: this.formatLabel(item, this.returnFilteredOrNonFiltered().length, this.items.length) }));
|
|
4763
|
+
})))));
|
|
4764
|
+
}
|
|
4765
|
+
get element() { return this; }
|
|
4766
|
+
static get watchers() { return {
|
|
4767
|
+
"activeItem": ["activeItemHandler"]
|
|
4768
|
+
}; }
|
|
4769
|
+
static get style() { return duetComboboxCss; }
|
|
4770
|
+
};
|
|
4771
|
+
|
|
4391
4772
|
const duetCookieConsentCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:fixed;right:0;bottom:0;left:0;z-index:950;display:block;width:100%;box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}@media (min-width: 48em){:host{right:28px;bottom:28px;left:auto;width:25rem}}:host(:focus){outline:0}:host(.user-is-tabbing:focus){border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing.duet-theme-turva:focus){box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-cookie-consent{padding:20px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;color:white !important;background-color:rgba(0, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent{background:rgba(0, 21, 39, 0.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.duet-cookie-consent.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-color:rgba(12, 14, 29, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent.duet-theme-turva{background:rgba(12, 14, 29, 0.8)}}@media (min-width: 48em){.duet-cookie-consent{padding:20px;border-radius:4px}}.duet-cookie-consent-content{display:flex;align-items:center;max-width:1110px;margin:0 auto}.duet-cookie-consent-content .expand{flex:1}::slotted(a){font-weight:600;color:white !important;text-decoration:underline;white-space:nowrap}::slotted(a[target=_blank]){padding-right:16px;background:url(\"data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMmExLjUgMS41IDAgMDEuMTQgM0gzLjc1Yy0uMzggMC0uNy4yOC0uNzQuNjVsLS4wMS4xdjE0LjVjMCAuMzguMjguNy42NS43NGwuMS4wMWgxNC41Yy4zOCAwIC43LS4yOC43NC0uNjVsLjAxLS4xdi02Ljg5YTEuNSAxLjUgMCAwMTMgMHY2Ljg5QTMuNzUgMy43NSAwIDAxMTguMjUgMjRIMy43NUEzLjc1IDMuNzUgMCAwMTAgMjAuMjVWNS43NUEzLjc1IDMuNzUgMCAwMTMuNzUgMnptMTItMmMuNzggMCAxLjQyLjYgMS41IDEuMzZWNy41YTEuNSAxLjUgMCAwMS0zIC4xNFY1LjEybC01LjQ0IDUuNDRhMS41IDEuNSAwIDAxLTIuMjItMmwuMS0uMTJMMTguODggM0gxNi41QTEuNSAxLjUgMCAwMTE1IDEuNjRWMS41YzAtLjc4LjYtMS40MiAxLjM2LTEuNWguMTR6Ii8+PC9zdmc+\") no-repeat right 50%;background-size:12px 10px}::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva ::slotted(a:focus){outline:0;box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
|
|
4392
4773
|
|
|
4393
4774
|
const DuetCookieConsent$1 = class extends H {
|
|
@@ -4738,6 +5119,7 @@ const DatePickerDay = ({ focusedDay, today, day, language, onDaySelect, onKeyboa
|
|
|
4738
5119
|
* @param to
|
|
4739
5120
|
*/
|
|
4740
5121
|
function range(from, to) {
|
|
5122
|
+
console.log({ from, to });
|
|
4741
5123
|
var result = [];
|
|
4742
5124
|
for (var i = from; i <= to; i++) {
|
|
4743
5125
|
result.push(i);
|
|
@@ -4933,6 +5315,10 @@ const DuetDatePicker$1 = class extends H {
|
|
|
4933
5315
|
* This setting can be used alone or together with the min property.
|
|
4934
5316
|
*/
|
|
4935
5317
|
this.max = "";
|
|
5318
|
+
/**
|
|
5319
|
+
* Increment to add to years, defaults to 10 for simplicity, if you need a larger selectionspace you can set it to 100
|
|
5320
|
+
*/
|
|
5321
|
+
this.incrementYears = 10;
|
|
4936
5322
|
this.enableActiveFocus = () => {
|
|
4937
5323
|
this.focusTarget = "day-button";
|
|
4938
5324
|
};
|
|
@@ -5198,8 +5584,8 @@ const DuetDatePicker$1 = class extends H {
|
|
|
5198
5584
|
const maxDate = parseISODate(this.max);
|
|
5199
5585
|
const prevMonthDisabled = minDate != null && minDate.getMonth() === focusedMonth && minDate.getFullYear() === focusedYear;
|
|
5200
5586
|
const nextMonthDisabled = maxDate != null && maxDate.getMonth() === focusedMonth && maxDate.getFullYear() === focusedYear;
|
|
5201
|
-
let minYear = selectedYear -
|
|
5202
|
-
let maxYear = selectedYear +
|
|
5587
|
+
let minYear = selectedYear - this.incrementYears;
|
|
5588
|
+
let maxYear = selectedYear + this.incrementYears;
|
|
5203
5589
|
if (minDate) {
|
|
5204
5590
|
minYear = Math.max(minYear, minDate.getFullYear());
|
|
5205
5591
|
}
|
|
@@ -5689,9 +6075,9 @@ const DuetFooter$1 = class extends H {
|
|
|
5689
6075
|
"duet-m-0": this.margin === "none",
|
|
5690
6076
|
"duet-theme-turva": this.theme === "turva",
|
|
5691
6077
|
"duet-footer-simple": this.variation === "simple",
|
|
5692
|
-
} }, h$1("div", { class: "duet-footer-wrapper" }, h$1("div", { class: "duet-footer-top" }, this.variation !== "simple" && (h$1("duet-logo", { href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), this.processedItems &&
|
|
6078
|
+
} }, h$1("div", { class: "duet-footer-wrapper" }, h$1("div", { class: "duet-footer-top", part: "top" }, this.variation !== "simple" && (h$1("duet-logo", { href: this.logoHref, onClick: this.handleLogoClick, size: "large", inverse: true, language: this.language, theme: this.theme })), this.processedItems &&
|
|
5693
6079
|
this.variation !== "simple" &&
|
|
5694
|
-
this.processedItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("div", { class: "duet-footer-icon" }, h$1("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })), h$1("span", null, item.label), item.external && h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-arrow" }, item.external ? (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (h$1("duet-icon", { icon: actionArrowRight.svg, size: "auto", margin: "none", color: "currentColor" }))))))), h$1("p", { class: "duet-footer-menu" }, h$1("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), this.processedMenu && (h$1(Fragment, null, h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"), this.processedMenu.map(item => (h$1("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) }, item.label, item.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"))))))))));
|
|
6080
|
+
this.processedItems.map(item => (h$1("a", { class: "duet-footer-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleItemClick(event, item) }, h$1("div", { class: "duet-footer-icon" }, h$1("duet-icon", { size: "medium", margin: "none", name: item.icon, color: "currentColor" })), h$1("span", null, item.label), item.external && h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-arrow" }, item.external ? (h$1("duet-icon", { icon: actionNewWindow.svg, size: "xx-small", margin: "none", color: "currentColor" })) : (h$1("duet-icon", { icon: actionArrowRight.svg, size: "auto", margin: "none", color: "currentColor" }))))))), h$1("p", { class: "duet-footer-menu", part: "menu" }, h$1("span", { class: "duet-footer-copyright" }, `${copyrightLabel} ${new Date().getFullYear()}`), this.processedMenu && (h$1(Fragment$1, null, h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"), this.processedMenu.map(item => (h$1("a", { href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleMenuClick(event, item) }, item.label, item.external && (h$1(Fragment$1, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("div", { class: "duet-footer-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))), h$1("span", { class: "duet-footer-divider", role: "presentation", "aria-hidden": "true" }, "/"))))))))));
|
|
5695
6081
|
}
|
|
5696
6082
|
get element() { return this; }
|
|
5697
6083
|
static get watchers() { return {
|
|
@@ -6155,7 +6541,7 @@ const DuetHeaderHamburger = () => (h("div", { class: "duet-header-hamburger" },
|
|
|
6155
6541
|
h("span", { class: "duet-header-bar" }),
|
|
6156
6542
|
h("span", { class: "duet-header-bar" })));
|
|
6157
6543
|
|
|
6158
|
-
const duetHeaderCss = "*,*::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%}@supports (position: -webkit-sticky){:host{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){:host{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){:host(.duet-header-multi-level-desktop-variation){top:0}}@supports (position: sticky){:host(.duet-header-multi-level-desktop-variation){top:0}}.duet-header-reserved-space{height:4rem}@media (min-width: 62em){.duet-header-reserved-space.duet-with-links{height:7rem}}.duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;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:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}.duet-header.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){.duet-header.duet-theme-turva{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){.duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}.duet-header.duet-header-inactive{position:fixed}}.duet-header *{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.duet-header-top{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){.duet-header-top{z-index:100;padding:0 28px;box-shadow:none}.duet-header-top duet-logo{padding-right:4px}}@media (min-width: 106.25em){.duet-header-top{padding:0 48px}}.duet-theme-turva .duet-header-top{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){.duet-theme-turva .duet-header-top{box-shadow:none}}.duet-theme-turva .duet-header-top duet-logo{left:-80px !important;margin-top:-8px !important}.duet-header-top .duet-header-region{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}.duet-theme-turva .duet-header-top .duet-header-region{border-color:#cfcfd1}@media (max-width: 35.9375em){.duet-header-top .duet-header-region{display:none}}@media (min-width: 62em){.duet-header-top .duet-header-region{padding-left:19px}}.duet-header-bottom{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f3f9fc;opacity:0;-webkit-overflow-scrolling:touch}.duet-theme-turva .duet-header-bottom{background:#f5f5f7}@media (min-width: 62em){.duet-header-bottom{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}.duet-header-bottom.duet-header-inactive{position:relative}}.duet-header-bottom.active{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){.duet-header-bottom{position:relative;transition:none !important}}.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:1;transition:none !important;transform:none}}.active .duet-header-items,.active .duet-header-bottom-utils,.active .duet-header-utils{opacity:1;transform:translateY(0)}.duet-header-items{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){.duet-header-items{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){.duet-header-items{padding-left:43.6363636364px}}.duet-header-items .duet-header-item-container{border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){.duet-header-items .duet-header-item-container{border:0}}.duet-header-items .duet-header-second-level .duet-header-item{padding:0 40px;border:0}.duet-header-items .duet-header-second-level .duet-header-button{border:0}.duet-header-items .duet-header-second-level .duet-header-dropdown-content{padding:0;border:0}.duet-header-items .duet-header-third-level .duet-header-item{padding:0 75px}.duet-header-items .duet-header-item{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-items .duet-header-item{border-radius:4px}}.duet-theme-turva .duet-header-items .duet-header-item{font-weight:600;color:#171c3a;border-color:#e1e3e6}.duet-header-items .duet-header-item:hover{color:#004d80}.duet-theme-turva .duet-header-items .duet-header-item:hover{color:#444445}.duet-header-items .duet-header-item:focus{outline:0}:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-items .duet-header-item{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}.duet-header-items .duet-header-item.active{color:#0077b3}.duet-theme-turva .duet-header-items .duet-header-item.active{color:#c60c30}.duet-header-items .duet-header-item.active:hover{color:#0077b3}.duet-theme-turva .duet-header-items .duet-header-item.active:hover{color:#c60c30}.duet-header-items .duet-header-item.active::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-items .duet-header-item.active::after{background:#c60c30}@media (min-width: 62em){.duet-header-items .duet-header-item.active::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}.duet-header-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-header-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-toggle{display:none}}.duet-header-hamburger{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}.duet-header-hamburger .duet-header-bar{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}.duet-theme-turva .duet-header-hamburger .duet-header-bar{background:#171c3a}.duet-header-hamburger .duet-header-bar:nth-child(1){top:0}.duet-header-hamburger .duet-header-bar:nth-child(2),.duet-header-hamburger .duet-header-bar:nth-child(3){top:7px}.duet-header-hamburger .duet-header-bar:nth-child(4){top:14px}button.active .duet-header-hamburger .duet-header-bar:nth-child(1){top:7px;left:50%;width:0%}button.active .duet-header-hamburger .duet-header-bar:nth-child(2){transform:rotate(45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(3){transform:rotate(-45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(4){top:7px;left:50%;width:0%}.duet-header-utils{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){.duet-header-utils{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){.duet-header-utils{margin-right:36px}}@media (min-width: 62em){.duet-header-bottom-utils{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){.duet-header-bottom-utils{margin-right:36px}}button{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-header-button{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-theme-turva .duet-header-button{color:#171c3a;border-color:#e4e4e6}.duet-header-button:hover{color:#004d80}.duet-theme-turva .duet-header-button:hover{color:#444445}.duet-header-button:focus{outline:0}:host(.user-is-tabbing) .duet-header-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-button:active{opacity:0.75}@media (min-width: 62em){.duet-header-button{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}.duet-header-button::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}.duet-theme-turva .duet-header-button::before{background:#cfcfd1}}.duet-header-button.active{color:#0077b3;border-radius:0}.duet-theme-turva .duet-header-button.active{color:#c60c30}.duet-header-button.active:hover{color:#0077b3}.duet-theme-turva .duet-header-button.active:hover{color:#c60c30}@media (min-width: 62em){.duet-header-button.active::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-button.active::after{color:#c60c30}}.duet-header-utils .duet-header-button.duet-header-logout{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid #00294d;border-radius:20rem}.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout{border-color:#171c3a}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon{margin-right:0.5rem}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label{font-size:0.875rem}@media (min-width: 62em){.duet-header-utils .duet-header-button.duet-header-logout{height:4rem;margin:0;font-weight:400;border:0}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon{margin-right:0.75rem}}.duet-header-no-action{pointer-events:none}.duet-header-user-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-utils>*:last-child::before,.duet-header-utils>*:last-child button::before{display:none}}@media (min-width: 62em){.duet-header-utils>*:last-child .duet-header-dropdown-content{right:0;left:auto}}.duet-header-language{text-transform:uppercase}.duet-header-language.active,.duet-header-language.active:hover,.duet-header-contact.active,.duet-header-contact.active:hover{color:inherit}.duet-theme-turva .duet-header-language.active,.duet-theme-turva .duet-header-language.active:hover,.duet-theme-turva .duet-header-contact.active,.duet-theme-turva .duet-header-contact.active:hover{color:inherit}.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after{width:0}@media (min-width: 62em){.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after{width:100%}}.duet-header-icon{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-header-icon{margin-right:8px}}.duet-header-caret{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){.duet-header-caret{width:7px;height:7px}}.duet-header-caret duet-icon{width:10px}.duet-header-dropdown-toggle.active .duet-header-caret{transform:translateY(-50%) rotate(180deg)}.duet-header-dropdown-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown-toggle:active{outline:none}.duet-header-badge{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-header-badge{background:#faa40f}.active-bar{color:#0077b3}.active-bar::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .active-bar::after{background:#c60c30}.duet-header-dropdown{position:relative}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after{background:#c60c30}}.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border-bottom:1px solid #f5f8fa}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{background:#c60c30}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border-color:#f5f5f7}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{color:#004d80;border:0}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content{display:none;padding-bottom:16px;background:#f3f9fc;border-bottom:1px solid #e1e3e6}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}}@media (min-width: 64.0625em){.duet-header-dropdown .duet-header-dropdown-content{min-width:170px}}.duet-header-dropdown .duet-header-dropdown-content.active{display:block}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content.active{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){color:#171c3a}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover{background:#e6f2f8}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover{background:#f9e6ea}}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{color:white;background:#0077b3}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{background:#c60c30}}.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external{margin-left:4px}.duet-header-back .duet-header-top{flex-direction:row;align-items:center;justify-content:center}.duet-header-back duet-button{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){.duet-header-back duet-button{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}.duet-header-back .duet-header-toggle{display:none !important}.duet-header-skip{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}.duet-header-skip:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-header-skip:focus,.duet-header-skip:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-theme-turva .duet-header-skip{min-width:120px;color:#171c3a}@media (min-width: 106.25em){.duet-header-skip{margin-left:20px}}.duet-header-skip:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.duet-header-multi-level-desktop{height:6rem}.duet-header-multi-level-desktop .duet-header-top{justify-content:space-between;height:6rem}.duet-header-multi-level-desktop .duet-header-button{height:6rem}.duet-header-multi-level-desktop .logo-and-segment{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown{z-index:400;margin-left:2rem}.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content{background:#f3f9fc}.duet-header-multi-level-desktop .logo-and-segment button{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}.duet-header-multi-level-desktop .logo-and-segment button::before{display:none}.duet-header-multi-level-desktop .logo-and-segment .duet-header-caret{top:25%}.duet-header-multi-level-desktop-nav{display:flex}.duet-header-multi-level-desktop-nav .duet-header-dropdown{position:static}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active{color:#0077b3}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:#f3f9fc;border-top:1px solid #e1e3e6;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active{font-weight:600;color:#0077b3;background:none}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after{transform:translateY(0)}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon{margin:0}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge{position:absolute;margin-top:-2rem;margin-right:-2.25rem}.duet-header-multi-level-desktop-nav button::before{display:none}.duet-header-multi-level-desktop-nav .duet-header-caret{display:none}.duet-header-multi-level-desktop-utils{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-header-multi-level-desktop-utils>:last-child::before{display:none}.duet-header-multi-level-desktop-utils .duet-header-dropdown{z-index:400}.duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content{background:#f3f9fc}.duet-header-multi-level-desktop-utils .duet-header-button-label,.duet-header-multi-level-desktop-utils .duet-header-dropdown-label{display:none}@media (min-width: 64.0625em){.duet-header-multi-level-desktop-utils .duet-header-button-label,.duet-header-multi-level-desktop-utils .duet-header-dropdown-label{display:initial}}.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content{background:#fcf3f4}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active{color:#c60c30}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content{background:#fcf3f4;border-color:#e4e4e6}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after{background:#c60c30}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active{color:#c60c30;background:none}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content{background:#fcf3f4}";
|
|
6544
|
+
const duetHeaderCss = "*,*::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%}@supports (position: -webkit-sticky){:host{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){:host{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){:host(.duet-header-multi-level-desktop-variation){top:0}}@supports (position: sticky){:host(.duet-header-multi-level-desktop-variation){top:0}}.duet-header-reserved-space{height:4rem}@media (min-width: 62em){.duet-header-reserved-space.duet-with-links{height:7rem}}.duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;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:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}.duet-header.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){.duet-header.duet-theme-turva{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){.duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}.duet-header.duet-header-inactive{position:fixed}}.duet-header *{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.duet-header-top{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){.duet-header-top{z-index:100;padding:0 28px;box-shadow:none}.duet-header-top duet-logo{padding-right:4px}}@media (min-width: 106.25em){.duet-header-top{padding:0 48px}}.duet-theme-turva .duet-header-top{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){.duet-theme-turva .duet-header-top{box-shadow:none}}.duet-theme-turva .duet-header-top duet-logo{left:-80px !important;margin-top:-8px !important}.duet-header-top .duet-header-region{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}.duet-theme-turva .duet-header-top .duet-header-region{border-color:#cfcfd1}@media (max-width: 35.9375em){.duet-header-top .duet-header-region{display:none}}@media (min-width: 62em){.duet-header-top .duet-header-region{padding-left:19px}}.duet-header-bottom{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f3f9fc;opacity:0;-webkit-overflow-scrolling:touch}.duet-theme-turva .duet-header-bottom{background:#f5f5f7}@media (min-width: 62em){.duet-header-bottom{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}.duet-header-bottom.duet-header-inactive{position:relative}}.duet-header-bottom.active{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){.duet-header-bottom{position:relative;transition:none !important}}.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){.duet-header-items,.duet-header-bottom-utils,.duet-header-utils{opacity:1;transition:none !important;transform:none}}.active .duet-header-items,.active .duet-header-bottom-utils,.active .duet-header-utils{opacity:1;transform:translateY(0)}.duet-header-items{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){.duet-header-items{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){.duet-header-items{padding-left:43.6363636364px}}.duet-header-items .duet-header-item-container{border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){.duet-header-items .duet-header-item-container{border:0}}.duet-header-items .duet-header-second-level .duet-header-item{padding:0 40px;border:0}.duet-header-items .duet-header-second-level .duet-header-button{border:0}.duet-header-items .duet-header-second-level .duet-header-dropdown-content{padding:0;border:0}.duet-header-items .duet-header-third-level .duet-header-item{padding:0 75px}.duet-header-items .duet-header-item{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-items .duet-header-item{border-radius:4px}}.duet-theme-turva .duet-header-items .duet-header-item{font-weight:600;color:#171c3a;border-color:#e1e3e6}.duet-header-items .duet-header-item:hover{color:#004d80}.duet-theme-turva .duet-header-items .duet-header-item:hover{color:#444445}.duet-header-items .duet-header-item:focus{outline:0}:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-items .duet-header-item{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}.duet-header-items .duet-header-item.active{color:#0077b3}.duet-theme-turva .duet-header-items .duet-header-item.active{color:#c60c30}.duet-header-items .duet-header-item.active:hover{color:#0077b3}.duet-theme-turva .duet-header-items .duet-header-item.active:hover{color:#c60c30}.duet-header-items .duet-header-item.active::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-items .duet-header-item.active::after{background:#c60c30}@media (min-width: 62em){.duet-header-items .duet-header-item.active::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}.duet-header-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-header-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){.duet-header-toggle{display:none}}.duet-header-hamburger{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}.duet-header-hamburger .duet-header-bar{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}.duet-theme-turva .duet-header-hamburger .duet-header-bar{background:#171c3a}.duet-header-hamburger .duet-header-bar:nth-child(1){top:0}.duet-header-hamburger .duet-header-bar:nth-child(2),.duet-header-hamburger .duet-header-bar:nth-child(3){top:7px}.duet-header-hamburger .duet-header-bar:nth-child(4){top:14px}button.active .duet-header-hamburger .duet-header-bar:nth-child(1){top:7px;left:50%;width:0%}button.active .duet-header-hamburger .duet-header-bar:nth-child(2){transform:rotate(45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(3){transform:rotate(-45deg)}button.active .duet-header-hamburger .duet-header-bar:nth-child(4){top:7px;left:50%;width:0%}.duet-header-utils{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){.duet-header-utils{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){.duet-header-utils{margin-right:36px}}@media (min-width: 62em){.duet-header-bottom-utils{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){.duet-header-bottom-utils{margin-right:36px}}button{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-theme-turva button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-header-button{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}.duet-theme-turva .duet-header-button{color:#171c3a;border-color:#e4e4e6}.duet-header-button:hover{color:#004d80}.duet-theme-turva .duet-header-button:hover{color:#444445}.duet-header-button:focus{outline:0}:host(.user-is-tabbing) .duet-header-button:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-button:active{opacity:0.75}@media (min-width: 62em){.duet-header-button{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}.duet-header-button::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}.duet-theme-turva .duet-header-button::before{background:#cfcfd1}}.duet-header-button.active{color:#0077b3;border-radius:0}.duet-theme-turva .duet-header-button.active{color:#c60c30}.duet-header-button.active:hover{color:#0077b3}.duet-theme-turva .duet-header-button.active:hover{color:#c60c30}@media (min-width: 62em){.duet-header-button.active::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-button.active::after{color:#c60c30}}.duet-header-utils .duet-header-button.duet-header-logout{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid #00294d;border-radius:20rem}.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout{border-color:#171c3a}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon{margin-right:0.5rem}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label{font-size:0.875rem}@media (min-width: 62em){.duet-header-utils .duet-header-button.duet-header-logout{height:4rem;margin:0;font-weight:400;border:0}.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon{margin-right:0.75rem}}.duet-header-no-action{pointer-events:none}.duet-header-user-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){.duet-header-utils>*:last-child::before,.duet-header-utils>*:last-child button::before{display:none}}@media (min-width: 62em){.duet-header-utils>*:last-child .duet-header-dropdown-content{right:0;left:auto}}.duet-header-language{text-transform:uppercase}.duet-header-language.active,.duet-header-language.active:hover,.duet-header-contact.active,.duet-header-contact.active:hover{color:inherit}.duet-theme-turva .duet-header-language.active,.duet-theme-turva .duet-header-language.active:hover,.duet-theme-turva .duet-header-contact.active,.duet-theme-turva .duet-header-contact.active:hover{color:inherit}.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after{width:0}@media (min-width: 62em){.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after{width:100%}}.duet-header-icon{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-header-icon{margin-right:8px}}.duet-header-caret{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){.duet-header-caret{width:7px;height:7px}}.duet-header-caret duet-icon{width:10px}.duet-header-dropdown-toggle.active .duet-header-caret{transform:translateY(-50%) rotate(180deg)}.duet-header-dropdown-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown-toggle:active{outline:none}.duet-header-badge{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-header-badge{background:#faa40f}.active-bar{color:#0077b3}.active-bar::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .active-bar::after{background:#c60c30}.duet-header-dropdown{position:relative}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after{background:#c60c30}}.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border-bottom:1px solid #f5f8fa}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{background:#c60c30}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover{border-color:#f5f5f7}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-toggle.active,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover{color:#004d80;border:0}.duet-header-dropdown .duet-header-dropdown-toggle.active::after,.duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content{display:none;padding-bottom:16px;background:#f3f9fc;border-bottom:1px solid #e1e3e6}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items{right:0%;left:auto;min-width:225px}.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items .duet-header-session-label{padding:0 20px;font-weight:600}}@media (min-width: 64.0625em){.duet-header-dropdown .duet-header-dropdown-content{min-width:170px}.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items{min-width:225px}}.duet-header-dropdown .duet-header-dropdown-content.active{display:block}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content.active{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){color:#171c3a}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover{background:#e6f2f8}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover{background:#f9e6ea}}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{outline:0}:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{color:white;background:#0077b3}.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active{background:#c60c30}}.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external{margin-left:4px}.duet-header-back .duet-header-top{flex-direction:row;align-items:center;justify-content:center}.duet-header-back duet-button{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){.duet-header-back duet-button{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}.duet-header-back .duet-header-toggle{display:none !important}.duet-header-skip{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}.duet-header-skip:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-header-skip:focus,.duet-header-skip:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-theme-turva .duet-header-skip{min-width:120px;color:#171c3a}@media (min-width: 106.25em){.duet-header-skip{margin-left:20px}}.duet-header-skip:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}.duet-header-multi-level-desktop{height:6rem}.duet-header-multi-level-desktop .duet-header-top{justify-content:space-between;height:6rem}.duet-header-multi-level-desktop .duet-header-button{height:6rem}.duet-header-multi-level-desktop .logo-and-segment{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown{z-index:400;margin-left:2rem}.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content{background:#f3f9fc}.duet-header-multi-level-desktop .logo-and-segment button{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}.duet-header-multi-level-desktop .logo-and-segment button::before{display:none}.duet-header-multi-level-desktop .logo-and-segment .duet-header-caret{top:25%}.duet-header-multi-level-desktop-nav{display:flex}.duet-header-multi-level-desktop-nav .duet-header-dropdown{position:static}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active{color:#0077b3}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:#f3f9fc;border-top:1px solid #e1e3e6;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active{font-weight:600;color:#0077b3;background:none}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after{transform:translateY(0)}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon{margin:0}.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge{position:absolute;margin-top:-2rem;margin-right:-2.25rem}.duet-header-multi-level-desktop-nav button::before{display:none}.duet-header-multi-level-desktop-nav .duet-header-caret{display:none}.duet-header-multi-level-desktop-utils{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}.duet-header-multi-level-desktop-utils>:last-child::before{display:none}.duet-header-multi-level-desktop-utils>:last-child.duet-header-dropdown .duet-header-button::before{display:none}.duet-header-multi-level-desktop-utils .duet-header-dropdown{z-index:400}.duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content{background:#f3f9fc}.duet-header-multi-level-desktop-utils .duet-header-button-label,.duet-header-multi-level-desktop-utils .duet-header-dropdown-label{display:none}@media (min-width: 64.0625em){.duet-header-multi-level-desktop-utils .duet-header-button-label,.duet-header-multi-level-desktop-utils .duet-header-dropdown-label{display:initial}}.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content{background:#fcf3f4}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active{color:#c60c30}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content{background:#fcf3f4;border-color:#e4e4e6}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after{background:#c60c30}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active{color:#c60c30;background:none}.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content{background:#fcf3f4}";
|
|
6159
6545
|
|
|
6160
6546
|
const createEvent = (ev, data) => ({
|
|
6161
6547
|
component: "duet-header",
|
|
@@ -6193,6 +6579,7 @@ const DuetHeader$1 = class extends H {
|
|
|
6193
6579
|
*/
|
|
6194
6580
|
this.isContactOpen = false;
|
|
6195
6581
|
this.isLanguageOpen = false;
|
|
6582
|
+
this.isSessionOpen = false;
|
|
6196
6583
|
this.isSlideOutOpen = false;
|
|
6197
6584
|
this.isSegmentOpen = false;
|
|
6198
6585
|
this.openMenu = null;
|
|
@@ -6344,6 +6731,11 @@ const DuetHeader$1 = class extends H {
|
|
|
6344
6731
|
this.handleClick(e);
|
|
6345
6732
|
this.duetSessionClick.emit(e);
|
|
6346
6733
|
};
|
|
6734
|
+
this.handleSessionItemClick = (ev, item) => {
|
|
6735
|
+
const e = createEvent(ev, item);
|
|
6736
|
+
this.handleClick(e);
|
|
6737
|
+
this.duetSessionClick.emit(e);
|
|
6738
|
+
};
|
|
6347
6739
|
this.handleSearchClick = (ev) => {
|
|
6348
6740
|
const e = createEvent(ev, this.processedSearch);
|
|
6349
6741
|
this.handleClick(e);
|
|
@@ -6406,13 +6798,23 @@ const DuetHeader$1 = class extends H {
|
|
|
6406
6798
|
this.isContactOpen = false;
|
|
6407
6799
|
this.isLanguageOpen = !this.isLanguageOpen;
|
|
6408
6800
|
this.isSegmentOpen = false;
|
|
6801
|
+
this.isSessionOpen = false;
|
|
6409
6802
|
el = this.languageItemsEl;
|
|
6410
6803
|
}
|
|
6804
|
+
// For session menu
|
|
6805
|
+
if (type === "session") {
|
|
6806
|
+
this.isContactOpen = false;
|
|
6807
|
+
this.isLanguageOpen = false;
|
|
6808
|
+
this.isSegmentOpen = false;
|
|
6809
|
+
this.isSessionOpen = !this.isSessionOpen;
|
|
6810
|
+
el = this.sessionItemsEl;
|
|
6811
|
+
}
|
|
6411
6812
|
// For contact menu
|
|
6412
6813
|
else if (type === "contact") {
|
|
6413
6814
|
this.isLanguageOpen = false;
|
|
6414
6815
|
this.isContactOpen = !this.isContactOpen;
|
|
6415
6816
|
this.isSegmentOpen = false;
|
|
6817
|
+
this.isSessionOpen = false;
|
|
6416
6818
|
el = this.contactItemsEl;
|
|
6417
6819
|
}
|
|
6418
6820
|
// For mobile menu
|
|
@@ -6420,6 +6822,7 @@ const DuetHeader$1 = class extends H {
|
|
|
6420
6822
|
this.isContactOpen = false;
|
|
6421
6823
|
this.isLanguageOpen = false;
|
|
6422
6824
|
this.isSegmentOpen = false;
|
|
6825
|
+
this.isSessionOpen = false;
|
|
6423
6826
|
el = this.navigationEl;
|
|
6424
6827
|
this.isSlideOutOpen = !this.isSlideOutOpen;
|
|
6425
6828
|
if (this.isSlideOutOpen) {
|
|
@@ -6433,15 +6836,22 @@ const DuetHeader$1 = class extends H {
|
|
|
6433
6836
|
this.isContactOpen = false;
|
|
6434
6837
|
this.isLanguageOpen = false;
|
|
6435
6838
|
this.isSegmentOpen = false;
|
|
6839
|
+
this.isSessionOpen = false;
|
|
6436
6840
|
el = this.subMenuItemRefs[id];
|
|
6437
6841
|
}
|
|
6438
6842
|
else if (type === "segment") {
|
|
6439
6843
|
this.isContactOpen = false;
|
|
6440
6844
|
this.isLanguageOpen = false;
|
|
6845
|
+
this.isSessionOpen = false;
|
|
6441
6846
|
this.isSegmentOpen = !this.isSegmentOpen;
|
|
6442
6847
|
el = this.segmentItemsEl;
|
|
6443
6848
|
}
|
|
6444
|
-
if (this.isSlideOutOpen ||
|
|
6849
|
+
if (this.isSlideOutOpen ||
|
|
6850
|
+
this.isLanguageOpen ||
|
|
6851
|
+
this.isContactOpen ||
|
|
6852
|
+
this.isSegmentOpen ||
|
|
6853
|
+
this.isSessionOpen ||
|
|
6854
|
+
this.openMenu) {
|
|
6445
6855
|
const drawer = this.element.querySelector("duet-notification-drawer");
|
|
6446
6856
|
if (drawer) {
|
|
6447
6857
|
drawer.close(false);
|
|
@@ -6565,7 +6975,7 @@ const DuetHeader$1 = class extends H {
|
|
|
6565
6975
|
* Closes all dropdown menus in header when called.
|
|
6566
6976
|
*/
|
|
6567
6977
|
async closeMenus(moveFocusToButton = false) {
|
|
6568
|
-
if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.openMenu) {
|
|
6978
|
+
if (this.isContactOpen || this.isLanguageOpen || this.isSegmentOpen || this.isSessionOpen || this.openMenu) {
|
|
6569
6979
|
if (this.isContactOpen && moveFocusToButton) {
|
|
6570
6980
|
this.contactItemsButtonEl.focus({
|
|
6571
6981
|
preventScroll: true,
|
|
@@ -6581,6 +6991,11 @@ const DuetHeader$1 = class extends H {
|
|
|
6581
6991
|
preventScroll: true,
|
|
6582
6992
|
});
|
|
6583
6993
|
}
|
|
6994
|
+
if (this.isSessionOpen && moveFocusToButton) {
|
|
6995
|
+
this.sessionItemsButtonEl.focus({
|
|
6996
|
+
preventScroll: true,
|
|
6997
|
+
});
|
|
6998
|
+
}
|
|
6584
6999
|
if (this.openMenu && moveFocusToButton) {
|
|
6585
7000
|
this.subMenuButtonRefs[this.openMenu].focus({
|
|
6586
7001
|
preventScroll: true,
|
|
@@ -6589,6 +7004,7 @@ const DuetHeader$1 = class extends H {
|
|
|
6589
7004
|
this.isContactOpen = false;
|
|
6590
7005
|
this.isLanguageOpen = false;
|
|
6591
7006
|
this.isSegmentOpen = false;
|
|
7007
|
+
this.isSessionOpen = false;
|
|
6592
7008
|
this.openMenu = null;
|
|
6593
7009
|
}
|
|
6594
7010
|
}
|
|
@@ -6608,12 +7024,13 @@ const DuetHeader$1 = class extends H {
|
|
|
6608
7024
|
const skipToLabel = this.skipToId ? (h$1("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
|
|
6609
7025
|
const logo = (h$1("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
|
|
6610
7026
|
const largeLogo = (h$1("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
|
|
6611
|
-
const contactDropdown = this.contact && this.processedContactItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (h$1("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, item.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("span", { class: "duet-header-link-external" }, h$1("duet-icon", { name: "action-new-window-small", size: "xx-small", margin: "none", color: this.theme === "turva" ? "primary-turva" : "primary" }))))))))) : null;
|
|
7027
|
+
const contactDropdown = this.contact && this.processedContactItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (h$1("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, item.external && (h$1(Fragment$1, null, h$1("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), h$1("span", { class: "duet-header-link-external" }, h$1("duet-icon", { name: "action-new-window-small", size: "xx-small", margin: "none", color: this.theme === "turva" ? "primary-turva" : "primary" }))))))))) : null;
|
|
6612
7028
|
const languageDropdown = this.language && this.processedLanguageItems ? (h$1(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: navigationLanguage.svg, accessibleText: `${changeLanguage}${this.hasLanguageChanged ? `, ${activeLanguage}` : ""}`, active: this.isLanguageOpen, isOpen: this.isLanguageOpen, badge: false, toggleRef: el => (this.languageItemsButtonEl = el), itemsRef: el => (this.languageItemsEl = el), onToggle: event => this.toggleMenu(event, "language") }, this.processedLanguageItems.map(item => (h$1("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))))) : null;
|
|
6613
7029
|
const processedUserWithLink = this.processedUser && this.processedUser.href ? (h$1("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, h$1(DuetHeaderIcon, { icon: navigationUser.svg }), h$1("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
|
|
6614
7030
|
const processedUserWithoutLink = this.processedUser && !this.processedUser.href ? (h$1("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, h$1(DuetHeaderIcon, { icon: navigationUser.svg }), h$1("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
|
|
6615
7031
|
const processedSessionIconSize = this.renderDesktopNav ? "x-small" : "small";
|
|
6616
7032
|
const processedSession = this.processedSession ? (h$1("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, h$1(DuetHeaderIcon, { icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: processedSessionIconSize }), h$1("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
|
|
7033
|
+
const processedSessionDropdown = this.processedSession && this.processedSession.sessionItems ? (h$1(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, active: this.isSessionOpen, isOpen: this.isSessionOpen, badge: false, toggleRef: el => (this.sessionItemsButtonEl = el), itemsRef: el => (this.sessionItemsEl = el), onToggle: event => this.toggleMenu(event, "session") }, this.processedSession.sessionItems.map((sessionItem, index) => (h$1(Fragment$1, null, sessionItem.label && h$1("span", { class: "duet-header-session-label" }, sessionItem.label), h$1("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (h$1("a", { role: "menuitem", "aria-label": sessionItem.label ? `${sessionItem.label} ${item.label}` : item.label, id: item.id, href: item.href || "#", onClick: event => this.handleSessionItemClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))), index !== this.processedSession.sessionItems.length - 1 && (h$1(Fragment$1, null, h$1("duet-spacer", { size: "x-small", "aria-hidden": "true" }), h$1("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
|
|
6617
7034
|
const processedSearch = this.processedSearch ? (h$1("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, h$1(DuetHeaderIcon, { icon: formSearch.svg }), h$1("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
|
|
6618
7035
|
// Back variation
|
|
6619
7036
|
if (this.processedBack) {
|
|
@@ -6646,7 +7063,7 @@ const DuetHeader$1 = class extends H {
|
|
|
6646
7063
|
const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
|
|
6647
7064
|
return (h$1(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
|
|
6648
7065
|
secondLevelItem.items.map(thirdLevelItem => (h$1("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h$1("span", null, thirdLevelItem.label), thirdLevelItem.badge && h$1("div", { class: "duet-header-badge" }))))));
|
|
6649
|
-
})), h$1("div", { class: "duet-header-multi-level-desktop-utils" }, processedSearch, languageDropdown, processedSession), h$1("slot", { name: "utility" }))))));
|
|
7066
|
+
})), h$1("div", { class: "duet-header-multi-level-desktop-utils" }, processedSearch, languageDropdown, processedSessionDropdown != null ? processedSessionDropdown : processedSession), h$1("slot", { name: "utility" }))))));
|
|
6650
7067
|
}
|
|
6651
7068
|
// Default variation
|
|
6652
7069
|
const isSecondLevelActive = this.processedItems &&
|
|
@@ -6701,7 +7118,7 @@ const DuetHeader$1 = class extends H {
|
|
|
6701
7118
|
"duet-header-item": true,
|
|
6702
7119
|
active: thirdLevelItem.active === true,
|
|
6703
7120
|
}, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (h$1("div", { class: "duet-header-icon" }, h$1("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), h$1("span", null, thirdLevelItem.label), thirdLevelItem.badge && h$1("div", { class: "duet-header-badge" })))))));
|
|
6704
|
-
}))))), h$1("div", { class: "duet-header-bottom-utils" }, h$1("slot", { name: "utility" })), h$1("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown, languageDropdown, !itemsHaveSubItems && (h$1(Fragment, null, processedUserWithLink, processedUserWithoutLink)), processedSearch, processedSession))))));
|
|
7121
|
+
}))))), h$1("div", { class: "duet-header-bottom-utils" }, h$1("slot", { name: "utility" })), h$1("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown, languageDropdown, !itemsHaveSubItems && (h$1(Fragment$1, null, processedUserWithLink, processedUserWithoutLink)), processedSearch, processedSession))))));
|
|
6705
7122
|
}
|
|
6706
7123
|
get element() { return this; }
|
|
6707
7124
|
static get watchers() { return {
|
|
@@ -7195,7 +7612,7 @@ function resetCursor(domElement) {
|
|
|
7195
7612
|
}
|
|
7196
7613
|
};
|
|
7197
7614
|
}
|
|
7198
|
-
return () =>
|
|
7615
|
+
return () => true;
|
|
7199
7616
|
}
|
|
7200
7617
|
/**
|
|
7201
7618
|
* Given an input and a regex, remove any characters from the input's value
|
|
@@ -7245,6 +7662,14 @@ const DuetInput$1 = class extends H {
|
|
|
7245
7662
|
this.topCaptionPlaceholderId = createID("DuetCaptionPlaceholderTop");
|
|
7246
7663
|
this.errorId = createID("DuetError");
|
|
7247
7664
|
this.disallowPatternRegex = null;
|
|
7665
|
+
/**
|
|
7666
|
+
* Indicates the id of a component that describes the input.
|
|
7667
|
+
*/
|
|
7668
|
+
this.accessibleDescribedBy = "";
|
|
7669
|
+
/**
|
|
7670
|
+
* Indicates value of any popup element associated with the input.
|
|
7671
|
+
*/
|
|
7672
|
+
this.accessibleHasPopup = undefined;
|
|
7248
7673
|
/**
|
|
7249
7674
|
* Set the amount of time, in milliseconds, to wait to trigger the duetChange
|
|
7250
7675
|
* event after each keystroke.
|
|
@@ -7350,6 +7775,25 @@ const DuetInput$1 = class extends H {
|
|
|
7350
7775
|
component: "duet-input",
|
|
7351
7776
|
});
|
|
7352
7777
|
};
|
|
7778
|
+
/** Private functions
|
|
7779
|
+
*
|
|
7780
|
+
*/
|
|
7781
|
+
this.getDescribedBy = () => {
|
|
7782
|
+
let describedBy = "";
|
|
7783
|
+
if (this.isCaptionVisible && this.topCaptionId) {
|
|
7784
|
+
describedBy = this.topCaptionId;
|
|
7785
|
+
if (this.accessibleDescribedBy) {
|
|
7786
|
+
describedBy += " " + this.accessibleDescribedBy;
|
|
7787
|
+
}
|
|
7788
|
+
}
|
|
7789
|
+
else if (this.accessibleDescribedBy.length > 0) {
|
|
7790
|
+
describedBy = this.accessibleDescribedBy;
|
|
7791
|
+
}
|
|
7792
|
+
else {
|
|
7793
|
+
describedBy = undefined;
|
|
7794
|
+
}
|
|
7795
|
+
return describedBy;
|
|
7796
|
+
};
|
|
7353
7797
|
}
|
|
7354
7798
|
disallowedPatternChange() {
|
|
7355
7799
|
this.disallowPatternRegex = this.disallowPattern ? new RegExp(this.disallowPattern, "g") : null;
|
|
@@ -7393,6 +7837,17 @@ const DuetInput$1 = class extends H {
|
|
|
7393
7837
|
this.nativeInput.focus(options);
|
|
7394
7838
|
}
|
|
7395
7839
|
}
|
|
7840
|
+
/**
|
|
7841
|
+
* Reset the cursor position on the native element
|
|
7842
|
+
* `input.resetCursor()`.
|
|
7843
|
+
*/
|
|
7844
|
+
async resetCursor() {
|
|
7845
|
+
if (this.nativeInput) {
|
|
7846
|
+
const restoreCursor = resetCursor(this.nativeInput);
|
|
7847
|
+
this.nativeInput.value = this.value;
|
|
7848
|
+
restoreCursor();
|
|
7849
|
+
}
|
|
7850
|
+
}
|
|
7396
7851
|
/**
|
|
7397
7852
|
* render() function
|
|
7398
7853
|
* Always the last one in the class.
|
|
@@ -7422,7 +7877,7 @@ const DuetInput$1 = class extends H {
|
|
|
7422
7877
|
disabled: this.disabled,
|
|
7423
7878
|
"is-number": this.component === "number",
|
|
7424
7879
|
"is-date": this.component === "date",
|
|
7425
|
-
}, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-
|
|
7880
|
+
}, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.icon && this.type !== "text" && this.type !== "tel" && this.type !== "password" && (h$1("div", { class: "duet-input-icon" }, h$1("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.icon && (h$1("div", { class: "duet-input-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), h$1("slot", null)), h$1("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h$1("span", { class: "duet-input-error" }, this.error)))));
|
|
7426
7881
|
}
|
|
7427
7882
|
get element() { return this; }
|
|
7428
7883
|
static get watchers() { return {
|
|
@@ -7614,7 +8069,7 @@ const DuetLink$1 = class extends H {
|
|
|
7614
8069
|
"duet-link": true,
|
|
7615
8070
|
"duet-link-is-external": this.external,
|
|
7616
8071
|
"duet-theme-turva": this.theme === "turva",
|
|
7617
|
-
}, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, h$1("slot", null), this.external && (h$1(Fragment, null, h$1("duet-visually-hidden", null, this.accessibleLabelExternal), h$1("span", { class: "duet-link-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))));
|
|
8072
|
+
}, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, h$1("slot", null), this.external && (h$1(Fragment$1, null, h$1("duet-visually-hidden", null, this.accessibleLabelExternal), h$1("span", { class: "duet-link-external" }, h$1("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))));
|
|
7618
8073
|
}
|
|
7619
8074
|
static get delegatesFocus() { return true; }
|
|
7620
8075
|
static get style() { return duetLinkCss; }
|
|
@@ -8925,7 +9380,7 @@ const DuetPagination$1 = class extends H {
|
|
|
8925
9380
|
}, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, h$1("li", { class: {
|
|
8926
9381
|
"duet-pagination-page-button": true,
|
|
8927
9382
|
"duet-pagination-button-first": true,
|
|
8928
|
-
}, role: "menuitem", part: "navigation-arrow" }, h$1("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (h$1(Fragment, null, h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) }, h$1("div", { class: "duet-pagination-page-number" }, "1"))), h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) }, h$1("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))), this.renderPageNumbers(), this.internalSectionIndex !== this.totalPages / this.visibleItems - 1 && this.shouldDisplayNavigation() && (h$1(Fragment, null, h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) }, h$1("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))), h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e) }, h$1("div", { class: "duet-pagination-page-number" }, this.totalPages))))), h$1("li", { class: {
|
|
9383
|
+
}, role: "menuitem", part: "navigation-arrow" }, h$1("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (h$1(Fragment$1, null, h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) }, h$1("div", { class: "duet-pagination-page-number" }, "1"))), h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) }, h$1("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))), this.renderPageNumbers(), this.internalSectionIndex !== this.totalPages / this.visibleItems - 1 && this.shouldDisplayNavigation() && (h$1(Fragment$1, null, h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) }, h$1("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))), h$1("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, h$1("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e) }, h$1("div", { class: "duet-pagination-page-number" }, this.totalPages))))), h$1("li", { class: {
|
|
8929
9384
|
"duet-pagination-page-button": true,
|
|
8930
9385
|
"duet-pagination-button-last": true,
|
|
8931
9386
|
}, role: "menuitem", part: "navigation-arrow" }, h$1("duet-action-button", { disabled: this.current === this.totalPages &&
|
|
@@ -11284,7 +11739,7 @@ const DuetTray$1 = class extends H {
|
|
|
11284
11739
|
"duet-tray-is-responsive": this.responsive,
|
|
11285
11740
|
"duet-theme-turva": this.theme === "turva",
|
|
11286
11741
|
"duet-tray-is-expandable": this.hasAdditionalContent,
|
|
11287
|
-
} }, h$1("div", { class: "duet-tray-default-content", role: "status" }, h$1("slot", null)), this.hasAdditionalContent && (h$1(Fragment, null, h$1("button", { "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, h$1("duet-icon", { name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), h$1("duet-visually-hidden", null, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), h$1("div", { id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, h$1("div", { class: "duet-tray-expandable-content" }, h$1("slot", { name: "additional" })))))));
|
|
11742
|
+
} }, h$1("div", { class: "duet-tray-default-content", role: "status" }, h$1("slot", null)), this.hasAdditionalContent && (h$1(Fragment$1, null, h$1("button", { "aria-expanded": this.expanded ? "true" : "false", "aria-controls": this.expandableId, onClick: ev => this.toggleExpandable(ev), class: { "duet-tray-button": true, "duet-tray-is-expanded": this.expanded } }, h$1("duet-icon", { name: "action-arrow-down", size: "small", color: "currentColor", margin: "none" }), h$1("duet-visually-hidden", null, this.expanded ? this.accessibleCloseLabel : this.accessibleOpenLabel)), h$1("div", { id: this.expandableId, class: { "duet-tray-expandable": true, active: this.expanded } }, h$1("div", { class: "duet-tray-expandable-content" }, h$1("slot", { name: "additional" })))))));
|
|
11288
11743
|
}
|
|
11289
11744
|
get element() { return this; }
|
|
11290
11745
|
static get style() { return duetTrayCss; }
|
|
@@ -11479,7 +11934,7 @@ const SuccessItem = ({ data, showLinks }) => {
|
|
|
11479
11934
|
const { item, size, uploaded, url, meta } = data;
|
|
11480
11935
|
const { name } = item;
|
|
11481
11936
|
const ContentName = (h("span", { class: "duet-upload-item-name" },
|
|
11482
|
-
h("duet-icon", { margin: "none", size: "
|
|
11937
|
+
h("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
11483
11938
|
h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
11484
11939
|
name));
|
|
11485
11940
|
const SizeText = (h("span", { class: "duet-upload-item-size", style: { fontSize: "14px", fontWeight: "400" } },
|
|
@@ -11618,7 +12073,7 @@ const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress })
|
|
|
11618
12073
|
return xhr;
|
|
11619
12074
|
};
|
|
11620
12075
|
|
|
11621
|
-
const duetUploadCss = "*,*::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:#f5f8fa}.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:0.75rem 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-action-button::part(button){border:0}";
|
|
12076
|
+
const duetUploadCss = "*,*::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:#f5f8fa}.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:0.75rem 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-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}";
|
|
11622
12077
|
|
|
11623
12078
|
const DuetUpload$1 = class extends H {
|
|
11624
12079
|
constructor() {
|
|
@@ -12369,7 +12824,9 @@ const DuetUpload$1 = class extends H {
|
|
|
12369
12824
|
"duet-upload-filelist-empty": !this.files.size,
|
|
12370
12825
|
"duet-upload-filelist": true,
|
|
12371
12826
|
"duet-upload-filelist-filled": this.files.size,
|
|
12372
|
-
}, id: this.labelId, for: identifier },
|
|
12827
|
+
}, id: this.labelId, for: identifier }, h$1("span", { class: {
|
|
12828
|
+
"duet-upload-filelist-empty-label": !this.files.size,
|
|
12829
|
+
} }, this.fileListEmpty))), !!this.files.size && h$1("slot", { name: "fileheader" }), !!this.files.size && (h$1("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 && h$1("slot", { name: "filefooter" }), h$1("duet-spacer", { size: "large" }), !this.hideButton && (h$1("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), h$1("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (h$1("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301"), this.bytesMaxReached && getI18nError("duet-upload-202"))), h$1("duet-spacer", { size: "medium" }), h$1("duet-visually-hidden", null, h$1("input", { ref: input => {
|
|
12373
12830
|
this.nativeInput = input;
|
|
12374
12831
|
}, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
|
|
12375
12832
|
"duet-upload": true,
|
|
@@ -12626,8 +13083,9 @@ const DuetCheckbox = /*@__PURE__*/proxyCustomElement(DuetCheckbox$1, [2,"duet-ch
|
|
|
12626
13083
|
const DuetChoice = /*@__PURE__*/proxyCustomElement(DuetChoice$1, [6,"duet-choice",{"theme":[1025],"label":[1],"accessibleLabelInfoButtonDefaults":[1,"accessible-label-info-default"],"accessibleLabelInfoButton":[1,"accessible-label-info-button"],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"caption":[1],"value":[1537],"type":[513],"name":[1],"checked":[1540],"collapsible":[4],"margin":[1],"icon":[1],"expand":[4],"padding":[1],"identifier":[1],"groupDirection":[1,"group-direction"],"groupDisabled":[4,"group-disabled"],"groupResponsive":[4,"group-responsive"],"disabled":[516],"required":[4],"infoLabelDefaults":[1,"accessible-label-info-default"],"infoLabel":[1,"info-label"],"isHovering":[32],"isInfoOpen":[32],"isBlurred":[32]},[[2,"blur","handleHostBlur"],[2,"keydown","handleHostKeyDown"],[2,"keyup","handleHostKeyUp"]]]);
|
|
12627
13084
|
const DuetChoiceGroup = /*@__PURE__*/proxyCustomElement(DuetChoiceGroup$1, [6,"duet-choice-group",{"direction":[1],"margin":[1],"theme":[1025],"error":[1],"name":[1],"label":[1],"labelHidden":[4,"label-hidden"],"caption":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"responsive":[4],"value":[1537],"disabled":[4]}]);
|
|
12628
13085
|
const DuetCollapsible = /*@__PURE__*/proxyCustomElement(DuetCollapsible$1, [1,"duet-collapsible",{"theme":[1025],"heading":[1],"headingWeight":[1,"heading-weight"],"headingSize":[1,"heading-size"],"headingLevel":[1,"heading-level"],"margin":[1],"open":[1540]}]);
|
|
13086
|
+
const DuetCombobox = /*@__PURE__*/proxyCustomElement(DuetCombobox$1, [6,"duet-combobox",{"accessibleLabelDefaults":[1,"accessible-label-defaults"],"accessibleLabels":[16],"theme":[1025],"force":[4],"items":[1032],"formatter":[16],"value":[1537],"processedItems":[32],"inputWidth":[32],"inputValue":[32],"selectionMsg":[32],"listOpen":[32],"selectedItems":[32],"activeItem":[32]},[[4,"click","handleDocumentClick"]]]);
|
|
12629
13087
|
const DuetCookieConsent = /*@__PURE__*/proxyCustomElement(DuetCookieConsent$1, [1,"duet-cookie-consent",{"accessibleLabel":[1,"accessible-label"],"theme":[1025]}]);
|
|
12630
|
-
const DuetDatePicker = /*@__PURE__*/proxyCustomElement(DuetDatePicker$1, [2,"duet-date-picker",{"theme":[1025],"expand":[4],"name":[1],"identifier":[1],"label":[1],"caption":[1],"margin":[1],"language":[1],"placeholderDefaults":[1,"placeholder-default"],"placeholder":[1],"echoPlaceholder":[1540,"echo-placeholder"],"disabled":[516],"error":[1],"labelHidden":[4,"label-hidden"],"role":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"required":[4],"direction":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"value":[1537],"min":[1],"max":[1],"validity":[1040],"open":[32],"focusedDay":[32],"inputValue":[32]},[[4,"click","handleDocumentClick"]]]);
|
|
13088
|
+
const DuetDatePicker = /*@__PURE__*/proxyCustomElement(DuetDatePicker$1, [2,"duet-date-picker",{"theme":[1025],"expand":[4],"name":[1],"identifier":[1],"label":[1],"caption":[1],"margin":[1],"language":[1],"placeholderDefaults":[1,"placeholder-default"],"placeholder":[1],"echoPlaceholder":[1540,"echo-placeholder"],"disabled":[516],"error":[1],"labelHidden":[4,"label-hidden"],"role":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"required":[4],"direction":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"value":[1537],"min":[1],"max":[1],"incrementYears":[2,"increment"],"validity":[1040],"open":[32],"focusedDay":[32],"inputValue":[32]},[[4,"click","handleDocumentClick"]]]);
|
|
12631
13089
|
const DuetDivider = /*@__PURE__*/proxyCustomElement(DuetDivider$1, [1,"duet-divider",{"theme":[1025],"margin":[1]}]);
|
|
12632
13090
|
const DuetEditableTable = /*@__PURE__*/proxyCustomElement(DuetEditableTable$1, [6,"duet-editable-table",{"margin":[1],"variation":[1],"sticky":[4],"stickyDistance":[1,"sticky-distance"],"breakpoint":[1],"actions":[1040],"columns":[1040],"rows":[1040],"sortable":[4],"groupId":[1,"group-id"],"theme":[1025],"accessibleRole":[1,"accessible-role"]}]);
|
|
12633
13091
|
const DuetEmptyState = /*@__PURE__*/proxyCustomElement(DuetEmptyState$1, [1,"duet-empty-state",{"theme":[1025],"icon":[1],"size":[1]}]);
|
|
@@ -12635,11 +13093,11 @@ const DuetFieldset = /*@__PURE__*/proxyCustomElement(DuetFieldset$1, [1,"duet-fi
|
|
|
12635
13093
|
const DuetFooter = /*@__PURE__*/proxyCustomElement(DuetFooter$1, [1,"duet-footer",{"theme":[1025],"variation":[1],"margin":[1],"logoHref":[1,"logo-href"],"language":[1025],"items":[8],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"menu":[8],"processedItems":[32],"processedMenu":[32]}]);
|
|
12636
13094
|
const DuetGrid = /*@__PURE__*/proxyCustomElement(DuetGrid$1, [2,"duet-grid",{"responsive":[4],"breakpoint":[1],"direction":[1],"alignment":[1],"distribution":[1],"mobile":[1],"distributeFormElement":[32]}]);
|
|
12637
13095
|
const DuetGridItem = /*@__PURE__*/proxyCustomElement(DuetGridItem$1, [2,"duet-grid-item",{"fill":[4],"maxWidth":[1,"max-width"],"minWidth":[1,"min-width"],"theme":[1025],"margin":[1],"responsive":[4],"breakpoint":[1]}]);
|
|
12638
|
-
const DuetHeader = /*@__PURE__*/proxyCustomElement(DuetHeader$1, [1,"duet-header",{"theme":[1025],"language":[1025],"accessibleI18nLabelsDefaults":[1,"accessible-labels-default"],"accessibleI18nLabels":[16],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"accessibleLabelDefaults":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"user":[8],"logoHref":[1,"logo-href"],"currentHref":[1025,"current-href"],"skipToId":[1,"skip-to-id"],"items":[8],"region":[1],"session":[8],"search":[8],"back":[8],"contact":[1],"contactItems":[8,"contact-items"],"languageItems":[8,"language-items"],"isContactOpen":[32],"isLanguageOpen":[32],"isSlideOutOpen":[32],"isSegmentOpen":[32],"openMenu":[32],"closedActives":[32],"processedItems":[32],"processedLanguageItems":[32],"processedContactItems":[32],"processedSession":[32],"processedSearch":[32],"processedUser":[32],"processedBack":[32],"renderDesktopNav":[32]},[[8,"keyup","handleKeyUp"],[8,"keydown","handleKeyDown"],[4,"focus","handleDocumentClick"],[4,"click","handleDocumentClick"]]]);
|
|
13096
|
+
const DuetHeader = /*@__PURE__*/proxyCustomElement(DuetHeader$1, [1,"duet-header",{"theme":[1025],"language":[1025],"accessibleI18nLabelsDefaults":[1,"accessible-labels-default"],"accessibleI18nLabels":[16],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"accessibleLabelDefaults":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"user":[8],"logoHref":[1,"logo-href"],"currentHref":[1025,"current-href"],"skipToId":[1,"skip-to-id"],"items":[8],"region":[1],"session":[8],"search":[8],"back":[8],"contact":[1],"contactItems":[8,"contact-items"],"languageItems":[8,"language-items"],"isContactOpen":[32],"isLanguageOpen":[32],"isSessionOpen":[32],"isSlideOutOpen":[32],"isSegmentOpen":[32],"openMenu":[32],"closedActives":[32],"processedItems":[32],"processedLanguageItems":[32],"processedContactItems":[32],"processedSession":[32],"processedSearch":[32],"processedUser":[32],"processedBack":[32],"renderDesktopNav":[32]},[[8,"keyup","handleKeyUp"],[8,"keydown","handleKeyDown"],[4,"focus","handleDocumentClick"],[4,"click","handleDocumentClick"]]]);
|
|
12639
13097
|
const DuetHeading = /*@__PURE__*/proxyCustomElement(DuetHeading$1, [1,"duet-heading",{"level":[513],"margin":[1],"visualLevel":[1,"visual-level"],"border":[8],"weight":[1],"color":[1],"theme":[1025],"hyphenate":[4]}]);
|
|
12640
13098
|
const DuetHero = /*@__PURE__*/proxyCustomElement(DuetHero$1, [1,"duet-hero",{"theme":[1025],"heading":[1],"preHeading":[1,"pre-heading"],"level":[1],"description":[1],"icon":[1],"iconSize":[1,"icon-size"],"iconRight":[4,"icon-right"],"categoryIcon":[1,"category-icon"],"categoryIconColor":[1,"category-icon-color"],"buttonLabel":[1,"button-label"],"language":[1025],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"buttonUrl":[1,"button-url"],"buttonId":[1,"button-id"],"buttonData":[16],"textCenter":[4,"text-center"],"leftAlign":[4,"left-align"],"image":[1],"variation":[1],"back":[8],"listItems":[8,"list-items"],"actions":[8],"processedListItems":[32],"processedActions":[32],"processedBack":[32]}]);
|
|
12641
13099
|
const DuetIcon = /*@__PURE__*/proxyCustomElement(DuetIcon$1, [1,"duet-icon",{"theme":[1025],"icon":[1],"src":[1],"name":[1],"margin":[1],"responsive":[4],"color":[513],"background":[1],"size":[1],"outline":[1],"svgContent":[32]}]);
|
|
12642
|
-
const DuetInput = /*@__PURE__*/proxyCustomElement(DuetInput$1, [6,"duet-input",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleAutocomplete":[1,"accessible-autocomplete"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"debounce":[2],"caption":[1],"echoPlaceholder":[4,"echo-placeholder"],"theme":[1025],"expand":[4],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"type":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"numericKeyboard":[4,"numeric-keyboard"],"name":[1],"pattern":[1],"maxlength":[2],"minlength":[2],"placeholder":[1],"component":[1],"role":[1],"icon":[1],"autoComplete":[1,"auto-complete"],"disallowPattern":[1,"disallow-pattern"],"value":[1025],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"]}]);
|
|
13100
|
+
const DuetInput = /*@__PURE__*/proxyCustomElement(DuetInput$1, [6,"duet-input",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleAutocomplete":[1,"accessible-autocomplete"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleExpanded":[1,"accessible-expanded"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleHasPopup":[1,"accessible-has-popup"],"debounce":[2],"caption":[1],"echoPlaceholder":[4,"echo-placeholder"],"theme":[1025],"expand":[4],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"type":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"numericKeyboard":[4,"numeric-keyboard"],"name":[1],"pattern":[1],"maxlength":[2],"minlength":[2],"placeholder":[1],"component":[1],"role":[1],"icon":[1],"autoComplete":[1,"auto-complete"],"disallowPattern":[1,"disallow-pattern"],"value":[1025],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"]}]);
|
|
12643
13101
|
const DuetLabel = /*@__PURE__*/proxyCustomElement(DuetLabel$1, [6,"duet-label",{"theme":[1025],"for":[1],"margin":[1],"size":[1]}]);
|
|
12644
13102
|
const DuetLayout = /*@__PURE__*/proxyCustomElement(DuetLayout$1, [1,"duet-layout",{"sticky":[4],"margin":[1],"stickyDistance":[1,"sticky-distance"],"center":[4],"tabs":[4],"middle":[4]}]);
|
|
12645
13103
|
const DuetLink = /*@__PURE__*/proxyCustomElement(DuetLink$1, [17,"duet-link",{"accessibleLabel":[1,"accessible-label"],"language":[1025],"accessibleLabelExternalDefaults":[1,"accessible-label-external-default"],"accessibleLabelExternal":[1,"accessible-label-external"],"identifier":[1],"theme":[1025],"url":[513],"external":[4]}]);
|
|
@@ -12688,6 +13146,7 @@ const defineCustomElements = (opts) => {
|
|
|
12688
13146
|
DuetChoice,
|
|
12689
13147
|
DuetChoiceGroup,
|
|
12690
13148
|
DuetCollapsible,
|
|
13149
|
+
DuetCombobox,
|
|
12691
13150
|
DuetCookieConsent,
|
|
12692
13151
|
DuetDatePicker,
|
|
12693
13152
|
DuetDivider,
|
|
@@ -13135,4 +13594,4 @@ const shadowCss = /*#__PURE__*/Object.freeze({
|
|
|
13135
13594
|
scopeCss: scopeCss
|
|
13136
13595
|
});
|
|
13137
13596
|
|
|
13138
|
-
export { DuetActionButton, DuetAlert, DuetBadge, DuetBreadcrumb, DuetBreadcrumbs, DuetButton, DuetCaption, DuetCard, DuetCheckbox, DuetChoice, DuetChoiceGroup, DuetCollapsible, DuetCookieConsent, DuetDatePicker, DuetDivider, DuetEditableTable, DuetEmptyState, DuetFieldset, DuetFooter, DuetGrid, DuetGridItem, DuetHeader, DuetHeading, DuetHero, DuetIcon, DuetInput, DuetLabel, DuetLayout, DuetLink, DuetList, DuetListItem, DuetLogo, DuetModal, DuetNotification, DuetNotificationDrawer, DuetNumberInput, DuetPagination, DuetParagraph, DuetProgress, DuetRadio, DuetRadioGroup, DuetRangeSlider, DuetRangeStepper, DuetScrollable, DuetSelect, DuetSpacer, DuetSpinner, DuetStep, DuetStepper, DuetTab, DuetTabGroup, DuetTable, DuetTextarea, DuetToggle, DuetTooltip, DuetTray, DuetUpload, DuetUploadAriaStatus, DuetVisuallyHidden, defineCustomElements, setAssetPath, setPlatformOptions };
|
|
13597
|
+
export { DuetActionButton, DuetAlert, DuetBadge, DuetBreadcrumb, DuetBreadcrumbs, DuetButton, DuetCaption, DuetCard, DuetCheckbox, DuetChoice, DuetChoiceGroup, DuetCollapsible, DuetCombobox, DuetCookieConsent, DuetDatePicker, DuetDivider, DuetEditableTable, DuetEmptyState, DuetFieldset, DuetFooter, DuetGrid, DuetGridItem, DuetHeader, DuetHeading, DuetHero, DuetIcon, DuetInput, DuetLabel, DuetLayout, DuetLink, DuetList, DuetListItem, DuetLogo, DuetModal, DuetNotification, DuetNotificationDrawer, DuetNumberInput, DuetPagination, DuetParagraph, DuetProgress, DuetRadio, DuetRadioGroup, DuetRangeSlider, DuetRangeStepper, DuetScrollable, DuetSelect, DuetSpacer, DuetSpinner, DuetStep, DuetStepper, DuetTab, DuetTabGroup, DuetTable, DuetTextarea, DuetToggle, DuetTooltip, DuetTray, DuetUpload, DuetUploadAriaStatus, DuetVisuallyHidden, defineCustomElements, setAssetPath, setPlatformOptions };
|