@duetds/components 4.32.0 → 4.33.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 +1933 -87
- package/lib/cjs/{dom-a28e5c5f.js → dom-c850c8d7.js} +1 -1
- package/lib/cjs/duet-alert.cjs.entry.js +2 -2
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-caption_4.cjs.entry.js +17 -10
- package/lib/cjs/duet-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkbox.cjs.entry.js +2 -2
- package/lib/cjs/duet-choice_2.cjs.entry.js +40 -18
- package/lib/cjs/duet-collapsible.cjs.entry.js +4 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
- package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-editable-table-button_3.cjs.entry.js +232 -0
- package/lib/cjs/{duet-table.cjs.entry.js → duet-editable-table_3.cjs.entry.js} +206 -2
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +2 -2
- package/lib/cjs/duet-grid_2.cjs.entry.js +52 -4
- package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
- 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 +6 -6
- 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 +3 -3
- package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-number-input.cjs.entry.js +2 -2
- package/lib/cjs/duet-progress.cjs.entry.js +75 -0
- package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
- package/lib/cjs/duet-select.cjs.entry.js +5 -5
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-tab_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-textarea.cjs.entry.js +5 -5
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- 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.cjs.entry.js +1089 -0
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +4 -4
- package/lib/cjs/{focus-utils-55b5a616.js → focus-utils-a7a1fb8b.js} +1 -1
- package/lib/cjs/{index-03ed1f55.js → index-b724d698.js} +5 -2
- package/lib/cjs/js-utils-33a9dbe3.js +16 -0
- package/lib/cjs/{language-utils-48b8860b.js → language-utils-aa282901.js} +6 -2
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/{shadow-css-6560c90c.js → shadow-css-e3edeed1.js} +9 -10
- package/lib/cjs/{token-utils-13e5d13e.js → token-utils-63a9c8dc.js} +1 -1
- package/lib/cjs/{tokens.module-53b3bd92.js → tokens.module-6b2df1c2.js} +2 -0
- package/lib/cjs/{watch-options-3877c082.js → watch-options-d88afac0.js} +29 -6
- package/lib/collection/collection-manifest.json +15 -2
- package/lib/collection/components/duet-checkbox/duet-checkbox.css +1 -1
- package/lib/collection/components/duet-choice/duet-choice.js +95 -21
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +9 -9
- package/lib/collection/components/duet-editable-table/duet-editable-table-button.css +32 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table-button.js +218 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table-item.css +36 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table-item.js +203 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table-tabledata.js +13 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table.css +16 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +348 -0
- package/lib/collection/components/duet-grid/duet-grid.js +57 -6
- package/lib/collection/components/duet-heading/duet-heading.css +3 -0
- package/lib/collection/components/duet-heading/duet-heading.js +7 -6
- package/lib/collection/components/duet-icon/duet-icon.js +2 -6
- package/lib/collection/components/duet-input/duet-input.css +15 -0
- package/lib/collection/components/duet-input/duet-input.js +4 -4
- package/lib/collection/components/duet-paragraph/duet-paragraph.css +6 -0
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +34 -3
- package/lib/collection/components/duet-progress/duet-progress.css +103 -0
- package/lib/collection/components/duet-progress/duet-progress.js +240 -0
- package/lib/collection/components/duet-select/duet-select.css +15 -0
- package/lib/collection/components/duet-select/duet-select.js +3 -3
- package/lib/collection/components/duet-tab-group/duet-tab-group.css +2 -2
- package/lib/collection/components/duet-textarea/duet-textarea.css +19 -0
- package/lib/collection/components/duet-textarea/duet-textarea.js +5 -4
- package/lib/collection/components/duet-upload/duet-upload-aria-status.js +217 -0
- package/lib/collection/components/duet-upload/duet-upload-editable-item-error.js +16 -0
- package/lib/collection/components/duet-upload/duet-upload-editable-item-inprogres.js +8 -0
- package/lib/collection/components/duet-upload/duet-upload-editable-item-success.js +30 -0
- package/lib/collection/components/duet-upload/duet-upload-validators.js +93 -0
- package/lib/collection/components/duet-upload/duet-upload.css +64 -0
- package/lib/collection/components/duet-upload/duet-upload.js +1838 -0
- package/lib/collection/components/duet-upload/errorcodes.utils.js +32 -0
- package/lib/collection/components/duet-upload/mock.helpers.js +91 -0
- package/lib/collection/components/duet-upload/upload.helpers.js +13 -0
- package/lib/collection/components/duet-upload/xhr.helpers.js +30 -0
- package/lib/collection/utils/js-utils.js +12 -0
- package/lib/collection/utils/language-utils.js +6 -3
- package/lib/collection/utils/watch-options.js +35 -6
- package/lib/custom-elements-bundle/index.d.ts +36 -0
- package/lib/custom-elements-bundle/index.js +1917 -277
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-1391ec53.entry.js → p-00735436.entry.js} +1 -1
- package/lib/duet/p-060d79be.entry.js +4 -0
- package/lib/duet/p-0d22396e.system.js +16 -0
- package/lib/duet/p-10deead0.system.js +4 -0
- package/lib/duet/{p-72fd384a.entry.js → p-1208c84f.entry.js} +1 -1
- package/lib/duet/p-12721178.js +4 -0
- package/lib/duet/p-155ef581.system.entry.js +4 -0
- package/lib/duet/{p-08729381.entry.js → p-16c48c5d.entry.js} +1 -1
- package/lib/duet/p-1797df7b.system.entry.js +4 -0
- package/lib/duet/p-1a08fc22.system.entry.js +4 -0
- package/lib/duet/{p-b6a0caf8.system.entry.js → p-237e47b4.system.entry.js} +1 -1
- package/lib/duet/{p-4fcbcecd.system.entry.js → p-2443bdca.system.entry.js} +1 -1
- package/lib/duet/{p-432ba72e.system.entry.js → p-263bc9cd.system.entry.js} +1 -1
- package/lib/duet/p-2764f081.js +4 -0
- package/lib/duet/{p-b0bbbdba.system.entry.js → p-27d80cef.system.entry.js} +1 -1
- package/lib/duet/p-28e02c08.entry.js +4 -0
- package/lib/duet/{p-8740fa38.entry.js → p-2bb1460c.entry.js} +1 -1
- package/lib/duet/p-33c58756.entry.js +4 -0
- package/lib/duet/{p-9cdd361e.js → p-35a3794e.js} +0 -0
- package/lib/duet/{p-8c511832.system.entry.js → p-374fb7e6.system.entry.js} +1 -1
- package/lib/duet/{p-5a817929.system.entry.js → p-387823af.system.entry.js} +1 -1
- package/lib/duet/{p-a678da8c.entry.js → p-3af5d66f.entry.js} +1 -1
- package/lib/duet/{p-322d1c38.js → p-3c1971d8.js} +1 -1
- package/lib/duet/{p-d13874cb.entry.js → p-4607af59.entry.js} +1 -1
- package/lib/duet/{p-2c0dd9ba.system.entry.js → p-48d1eb1f.system.entry.js} +1 -1
- package/lib/duet/p-4a87e9ab.system.entry.js +4 -0
- package/lib/duet/{p-92103298.system.entry.js → p-4b6ebe40.system.entry.js} +1 -1
- package/lib/duet/{p-6cf41bfe.system.entry.js → p-4e28da18.system.entry.js} +1 -1
- package/lib/duet/p-548d484e.js +4 -0
- package/lib/duet/{p-2c679963.entry.js → p-5826523b.entry.js} +1 -1
- package/lib/duet/{p-7331f2fe.system.entry.js → p-58750bae.system.entry.js} +1 -1
- package/lib/duet/{p-7a868085.entry.js → p-597d99c7.entry.js} +1 -1
- package/lib/duet/p-5ea0cd19.entry.js +4 -0
- package/lib/duet/p-63d5bf73.system.entry.js +4 -0
- package/lib/duet/{p-68d09837.system.entry.js → p-67d9a9a9.system.entry.js} +1 -1
- package/lib/duet/{p-9542c540.entry.js → p-6a19b5ec.entry.js} +1 -1
- package/lib/duet/p-6cc3be76.system.entry.js +4 -0
- package/lib/duet/p-6e363557.system.js +4 -0
- package/lib/duet/{p-3b3bac3f.system.entry.js → p-6e6e76db.system.entry.js} +1 -1
- package/lib/duet/p-70fafc98.system.js +4 -0
- package/lib/duet/{p-2d1e2b23.system.entry.js → p-7368b14e.system.entry.js} +1 -1
- package/lib/duet/{p-2a3411b5.system.entry.js → p-751542a0.system.entry.js} +1 -1
- package/lib/duet/{p-b75c5f13.entry.js → p-794659ac.entry.js} +1 -1
- package/lib/duet/{p-b04d738f.system.entry.js → p-7e8d5bb9.system.entry.js} +1 -1
- package/lib/duet/p-7fee0d23.system.entry.js +4 -0
- package/lib/duet/p-81867417.system.js +4 -0
- package/lib/duet/{p-84ece735.entry.js → p-86daec1c.entry.js} +1 -1
- package/lib/duet/{p-94a5fd74.system.entry.js → p-8b5ca0e7.system.entry.js} +1 -1
- package/lib/duet/{p-ffc2ffff.entry.js → p-8cb7416d.entry.js} +1 -1
- package/lib/duet/p-8f826843.system.entry.js +4 -0
- package/lib/duet/p-94169303.entry.js +4 -0
- package/lib/duet/{p-807b2087.entry.js → p-9481e312.entry.js} +1 -1
- package/lib/duet/{p-977f2826.entry.js → p-984576c9.entry.js} +1 -1
- package/lib/duet/p-987edcd0.js +15 -0
- package/lib/duet/p-9d73343a.entry.js +4 -0
- package/lib/duet/{p-8652a7ab.system.entry.js → p-9dca5c22.system.entry.js} +1 -1
- package/lib/duet/p-a207b008.entry.js +4 -0
- package/lib/duet/p-a5b9c192.system.entry.js +4 -0
- package/lib/duet/p-a6a84ec6.entry.js +4 -0
- package/lib/duet/{p-9f0f5674.entry.js → p-a890da72.entry.js} +1 -1
- package/lib/duet/{p-0f2a478e.entry.js → p-a9859a82.entry.js} +1 -1
- package/lib/duet/{p-3040debf.entry.js → p-aba68b7b.entry.js} +1 -1
- package/lib/duet/p-acc57c77.entry.js +4 -0
- package/lib/duet/{p-2826f987.js → p-ad07f399.js} +1 -1
- package/lib/duet/{p-fb898d94.system.entry.js → p-aee24388.system.entry.js} +1 -1
- package/lib/duet/p-aef1b720.system.entry.js +4 -0
- package/lib/duet/{p-00eac879.system.entry.js → p-af41d894.system.entry.js} +1 -1
- package/lib/duet/p-b25d3769.js +4 -0
- package/lib/duet/{p-43dde575.system.entry.js → p-b32224fe.system.entry.js} +1 -1
- package/lib/duet/{p-f13a0883.entry.js → p-b3744481.entry.js} +1 -1
- package/lib/duet/{p-b374d7c2.system.js → p-b42d81c3.system.js} +1 -1
- package/lib/duet/{p-ed479d09.system.entry.js → p-b4e87f02.system.entry.js} +1 -1
- package/lib/duet/{p-b9683731.entry.js → p-bf93a991.entry.js} +1 -1
- package/lib/duet/{p-a962c8c1.system.js → p-c18a599e.system.js} +0 -0
- package/lib/duet/p-c2e77278.entry.js +4 -0
- package/lib/duet/p-c34329f3.entry.js +4 -0
- package/lib/duet/{p-c19094dd.entry.js → p-c36b4da0.entry.js} +1 -1
- package/lib/duet/{p-8002a095.entry.js → p-cdd70b93.entry.js} +1 -1
- package/lib/duet/p-d1c19f04.system.entry.js +4 -0
- package/lib/duet/{p-cc0bd28f.system.entry.js → p-d3a3c3c7.system.entry.js} +1 -1
- package/lib/duet/{p-19c28d99.system.entry.js → p-d4118b6e.system.entry.js} +1 -1
- package/lib/duet/{p-abd3bfb4.system.entry.js → p-d744d188.system.entry.js} +1 -1
- package/lib/duet/p-ddb6344c.system.js +4 -0
- package/lib/duet/p-de07c7d7.entry.js +4 -0
- package/lib/duet/{p-57cb58d4.system.entry.js → p-dfe79666.system.entry.js} +1 -1
- package/lib/duet/{p-c723d36e.system.js → p-e12f2b8b.system.js} +1 -1
- package/lib/duet/p-e2a44156.js +4 -0
- package/lib/duet/p-e76b722f.entry.js +4 -0
- package/lib/duet/{p-0b9b6393.entry.js → p-e964d062.entry.js} +1 -1
- package/lib/duet/p-eb55ccd2.system.js +4 -0
- package/lib/duet/p-f0a4b68d.system.entry.js +4 -0
- package/lib/duet/p-f364eb96.entry.js +4 -0
- package/lib/duet/{p-fbb7d194.entry.js → p-f8ce39fb.entry.js} +1 -1
- package/lib/esm/{dom-8516b24e.js → dom-58cd15f6.js} +1 -1
- package/lib/esm/duet-alert.entry.js +2 -2
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +4 -4
- package/lib/esm/duet-caption_4.entry.js +17 -10
- package/lib/esm/duet-card.entry.js +3 -3
- package/lib/esm/duet-checkbox.entry.js +2 -2
- package/lib/esm/duet-choice_2.entry.js +41 -19
- package/lib/esm/duet-collapsible.entry.js +4 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +7 -7
- package/lib/esm/duet-divider_2.entry.js +1 -1
- package/lib/esm/duet-editable-table-button_3.entry.js +226 -0
- package/lib/esm/{duet-table.entry.js → duet-editable-table_3.entry.js} +205 -3
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +2 -2
- package/lib/esm/duet-grid_2.entry.js +52 -4
- package/lib/esm/duet-header_2.entry.js +3 -3
- 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 +6 -6
- 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 +3 -3
- package/lib/esm/duet-notification_2.entry.js +2 -2
- package/lib/esm/duet-number-input.entry.js +2 -2
- package/lib/esm/duet-progress.entry.js +71 -0
- package/lib/esm/duet-radio_2.entry.js +2 -2
- package/lib/esm/duet-range-slider.entry.js +2 -2
- package/lib/esm/duet-select.entry.js +5 -5
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-tab_2.entry.js +3 -3
- package/lib/esm/duet-textarea.entry.js +5 -5
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-tooltip.entry.js +2 -2
- package/lib/esm/duet-tray.entry.js +3 -3
- package/lib/esm/duet-upload.entry.js +1085 -0
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +4 -4
- package/lib/esm/{focus-utils-6a282066.js → focus-utils-1fe0dcd0.js} +1 -1
- package/lib/esm/{index-3a265449.js → index-84d97bd1.js} +5 -2
- package/lib/esm/js-utils-b69f17df.js +14 -0
- package/lib/esm/{language-utils-d5c38f65.js → language-utils-344d894c.js} +6 -3
- package/lib/esm/loader.js +3 -3
- package/lib/esm/{shadow-css-9178c864.js → shadow-css-7c726abb.js} +9 -10
- package/lib/esm/{token-utils-5a35377f.js → token-utils-590d9413.js} +1 -1
- package/lib/esm/{tokens.module-edb66c04.js → tokens.module-49cbf963.js} +3 -1
- package/lib/esm/watch-options-dd55bce8.js +57 -0
- package/lib/esm-es5/{dom-8516b24e.js → dom-58cd15f6.js} +0 -0
- 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-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +2 -2
- 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 +2 -2
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table-button_3.entry.js +4 -0
- package/lib/esm-es5/duet-editable-table_3.entry.js +4 -0
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +2 -2
- package/lib/esm-es5/duet-header_2.entry.js +1 -1
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +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-progress.entry.js +4 -0
- 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-select.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-tab_2.entry.js +2 -2
- 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.entry.js +4 -0
- 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-6a282066.js → focus-utils-1fe0dcd0.js} +1 -1
- package/lib/esm-es5/index-84d97bd1.js +4 -0
- package/lib/esm-es5/js-utils-b69f17df.js +4 -0
- package/lib/esm-es5/{language-utils-d5c38f65.js → language-utils-344d894c.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/shadow-css-7c726abb.js +15 -0
- package/lib/esm-es5/{token-utils-5a35377f.js → token-utils-590d9413.js} +1 -1
- package/lib/esm-es5/tokens.module-49cbf963.js +4 -0
- package/lib/esm-es5/watch-options-dd55bce8.js +4 -0
- package/lib/types/components/duet-choice/duet-choice.d.ts +20 -1
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +5 -5
- package/lib/types/components/duet-editable-table/duet-editable-table-button.d.ts +72 -0
- package/lib/types/components/duet-editable-table/duet-editable-table-item.d.ts +72 -0
- package/lib/types/components/duet-editable-table/duet-editable-table-tabledata.d.ts +7 -0
- package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +84 -0
- package/lib/types/components/duet-grid/duet-grid.d.ts +16 -2
- package/lib/types/components/duet-heading/duet-heading.d.ts +2 -2
- package/lib/types/components/duet-icon/duet-icon.d.ts +1 -1
- package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +9 -1
- package/lib/types/components/duet-progress/duet-progress.d.ts +64 -0
- package/lib/types/components/duet-upload/duet-upload-aria-status.d.ts +49 -0
- package/lib/types/components/duet-upload/duet-upload-editable-item-error.d.ts +7 -0
- package/lib/types/components/duet-upload/duet-upload-editable-item-inprogres.d.ts +7 -0
- package/lib/types/components/duet-upload/duet-upload-editable-item-success.d.ts +8 -0
- package/lib/types/components/duet-upload/duet-upload-validators.d.ts +12 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +380 -0
- package/lib/types/components/duet-upload/errorcodes.utils.d.ts +8 -0
- package/lib/types/components/duet-upload/mock.helpers.d.ts +2 -0
- package/lib/types/components/duet-upload/upload.helpers.d.ts +1 -0
- package/lib/types/components/duet-upload/xhr.helpers.d.ts +18 -0
- package/lib/types/components.d.ts +789 -19
- package/lib/types/utils/js-utils.d.ts +1 -0
- package/lib/types/utils/language-utils.d.ts +5 -1
- package/lib/types/utils/watch-options.d.ts +2 -0
- package/package.json +6 -6
- package/lib/cjs/duet-fieldset.cjs.entry.js +0 -62
- package/lib/duet/p-0058512b.js +0 -4
- package/lib/duet/p-0b00e8d6.system.js +0 -16
- package/lib/duet/p-15922601.system.js +0 -4
- package/lib/duet/p-194e25ce.system.entry.js +0 -4
- package/lib/duet/p-1d87ea02.system.entry.js +0 -4
- package/lib/duet/p-3618aaee.entry.js +0 -4
- package/lib/duet/p-40d68321.entry.js +0 -4
- package/lib/duet/p-418b2ce7.system.js +0 -4
- package/lib/duet/p-43e39d98.system.js +0 -4
- package/lib/duet/p-4603830b.entry.js +0 -4
- package/lib/duet/p-52d7fbec.entry.js +0 -4
- package/lib/duet/p-60478325.system.entry.js +0 -4
- package/lib/duet/p-64ed7add.entry.js +0 -4
- package/lib/duet/p-6a356ab1.system.js +0 -4
- package/lib/duet/p-753b406c.entry.js +0 -4
- package/lib/duet/p-76c00d0c.entry.js +0 -4
- package/lib/duet/p-85fe1132.js +0 -4
- package/lib/duet/p-8c8e82aa.system.js +0 -4
- package/lib/duet/p-9a89ec39.js +0 -4
- package/lib/duet/p-a11df1b6.js +0 -15
- package/lib/duet/p-a1eccee1.system.entry.js +0 -4
- package/lib/duet/p-a89e88a3.js +0 -4
- package/lib/duet/p-ade33230.entry.js +0 -4
- package/lib/duet/p-cb827bb7.entry.js +0 -4
- package/lib/duet/p-d85fba2c.system.entry.js +0 -4
- package/lib/duet/p-dfa90f8a.system.entry.js +0 -4
- package/lib/duet/p-e6b9bd1d.entry.js +0 -4
- package/lib/duet/p-ec3eef3a.entry.js +0 -4
- package/lib/duet/p-ee64d6be.system.entry.js +0 -4
- package/lib/duet/p-f113671b.system.entry.js +0 -4
- package/lib/duet/p-f2f04396.entry.js +0 -4
- package/lib/duet/p-f364ce8b.system.entry.js +0 -4
- package/lib/duet/p-fc6624fe.system.entry.js +0 -4
- package/lib/esm/duet-fieldset.entry.js +0 -58
- package/lib/esm/watch-options-de55ea78.js +0 -35
- package/lib/esm-es5/duet-fieldset.entry.js +0 -4
- package/lib/esm-es5/duet-table.entry.js +0 -4
- package/lib/esm-es5/index-3a265449.js +0 -4
- package/lib/esm-es5/shadow-css-9178c864.js +0 -15
- package/lib/esm-es5/tokens.module-edb66c04.js +0 -4
- package/lib/esm-es5/watch-options-de55ea78.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.3"};
|
|
6
6
|
|
|
7
7
|
let scopeId;
|
|
8
8
|
let contentRef;
|
|
@@ -14,6 +14,8 @@ let isSvgMode = false;
|
|
|
14
14
|
let queuePending = false;
|
|
15
15
|
const win = typeof window !== 'undefined' ? window : {};
|
|
16
16
|
const doc = win.document || { head: {} };
|
|
17
|
+
const H = (win.HTMLElement || class {
|
|
18
|
+
});
|
|
17
19
|
const plt = {
|
|
18
20
|
$flags$: 0,
|
|
19
21
|
$resourcesUrl$: '',
|
|
@@ -1091,6 +1093,9 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
1091
1093
|
promise = safeCall(instance, 'componentWillLoad');
|
|
1092
1094
|
}
|
|
1093
1095
|
}
|
|
1096
|
+
{
|
|
1097
|
+
promise = then(promise, () => safeCall(instance, 'componentWillRender'));
|
|
1098
|
+
}
|
|
1094
1099
|
endSchedule();
|
|
1095
1100
|
return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
1096
1101
|
};
|
|
@@ -1751,6 +1756,9 @@ const getLocale = (lang) => {
|
|
|
1751
1756
|
}
|
|
1752
1757
|
throw new Error(`Locale for "${lang}" not found`);
|
|
1753
1758
|
};
|
|
1759
|
+
/**
|
|
1760
|
+
* Takes any json object that is passed and/or htmlencoded and converts it to proper json
|
|
1761
|
+
*/
|
|
1754
1762
|
const sanitizeString = (string) => {
|
|
1755
1763
|
const argIsString = typeof string === "string";
|
|
1756
1764
|
if (argIsString) {
|
|
@@ -1758,7 +1766,7 @@ const sanitizeString = (string) => {
|
|
|
1758
1766
|
return JSON.parse(convertHtmlQuotes(string));
|
|
1759
1767
|
}
|
|
1760
1768
|
catch (e) {
|
|
1761
|
-
console.log("
|
|
1769
|
+
console.log("sanitizeString received a string, that didnt parse to json object", string, e);
|
|
1762
1770
|
}
|
|
1763
1771
|
}
|
|
1764
1772
|
return string;
|
|
@@ -1770,7 +1778,7 @@ const sanitizeString = (string) => {
|
|
|
1770
1778
|
* @param {object} langObject - {fi: "finnish", sv: "swedish", en: "english"} | string will get JSON.parsed
|
|
1771
1779
|
* @param {boolean} languageOverride = false - in case you want to override the actual language set in html tag
|
|
1772
1780
|
* @default {object} {locale: "fi-FI", money: "€"}
|
|
1773
|
-
* @returns {(string|Object)} given example contains {fi:"something"} and
|
|
1781
|
+
* @returns {(string|Object)} given example contains {fi:"something"} and language===fi this will return "something"
|
|
1774
1782
|
*/
|
|
1775
1783
|
const getLocaleString = (langObject, languageOverride) => {
|
|
1776
1784
|
const obj = sanitizeString(langObject);
|
|
@@ -1790,7 +1798,7 @@ const inheritGlobalTheme = (component) => {
|
|
|
1790
1798
|
|
|
1791
1799
|
const duetAlertCss = "*,*::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%;max-height:999px;border-radius:4px;transition:opacity 300ms ease, visibility 300ms ease, transform 300ms ease, max-height 300ms ease}: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}:host(.duet-alert-is-dismissed){max-height:0;visibility:hidden;opacity:0;transform:scale(0.98)}:host(.duet-alert-is-dismissed) .duet-alert{margin:0 !important}.duet-alert{margin-bottom:16px !important;position:relative;width:100%;padding:16px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:#00294d;background:#f2f8fb;border:1px solid #0077b3;border-radius:4px;transition:margin 100ms 300ms ease}.duet-alert.duet-p-0{padding:0 !important}.duet-alert.duet-m-0{margin:0 !important}.duet-alert.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;background:#f3f4f5;border-color:#171c3a}.duet-alert.warning{background:#fffbf4;border-color:#f7b228}.duet-alert.warning.duet-theme-turva{background:#fffaf3;border-color:#faa40f}.duet-alert.danger{background:#fdf4f7;border-color:#de2362}.duet-alert.danger.duet-theme-turva{background:#fdf4f3;border-color:#e02a0d}.duet-alert.success{background:#f2f9f7;border-color:#00875a}.duet-alert.success.duet-theme-turva{background:#f3f9f6;border-color:#08874e}.duet-alert-dismiss{position:absolute;top:2px;right:2px}.duet-alert-container{display:inline-flex;align-items:center;justify-content:center;width:100%;margin:0 auto !important}.duet-alert-container span{width:100%}.duet-alert-has-icon .duet-alert-container{margin-top:2px !important}.duet-alert-icon{display:inline-block;align-self:center;width:20px;min-width:20px;height:20px;margin:0 16px 0 0 !important}.duet-alert-icon duet-icon{width:20px;height:20px}.duet-alert-is-dismissible{padding:16px 48px 16px 16px;text-align:left}.duet-alert-is-dismissible .duet-alert-container{text-align:left}";
|
|
1792
1800
|
|
|
1793
|
-
let DuetAlert$1 = class extends
|
|
1801
|
+
let DuetAlert$1 = class extends H {
|
|
1794
1802
|
constructor() {
|
|
1795
1803
|
super();
|
|
1796
1804
|
this.__registerHost();
|
|
@@ -1890,7 +1898,7 @@ let DuetAlert$1 = class extends HTMLElement {
|
|
|
1890
1898
|
|
|
1891
1899
|
const duetBadgeCss = "*,*::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;margin-right:4px !important;margin-bottom:2px !important;display:inline-block;width:auto;vertical-align:middle}:host:last-child,:host:last-of-type{margin-right:0 !important}:host(.duet-m-0){margin:0 !important}.duet-badge{width:100%;padding:4.4444444444px 12px 5.4444444444px;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.75rem;font-style:normal;font-weight:600;line-height:1.25;color:#00294d;text-align:center;word-break:break-word;vertical-align:middle;background:#e6f1f7;border-radius:20rem}.duet-badge.duet-p-0{padding:0 !important}.duet-badge.duet-m-0{margin:0 !important}.duet-badge.duet-theme-turva{padding:5.4444444444px 12px 4.4444444444px;font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:700;color:#171c3a;background:#e8e8eb}.duet-badge.warning{background:#fef3df}.duet-badge.warning.duet-theme-turva{background:#fef1db}.duet-badge.danger{background:#fce9ef}.duet-badge.danger.duet-theme-turva{background:#fceae7}.duet-badge.success{background:#e6f3ef}.duet-badge.success.duet-theme-turva{background:#e6f3ed}";
|
|
1892
1900
|
|
|
1893
|
-
let DuetBadge$1 = class extends
|
|
1901
|
+
let DuetBadge$1 = class extends H {
|
|
1894
1902
|
constructor() {
|
|
1895
1903
|
super();
|
|
1896
1904
|
this.__registerHost();
|
|
@@ -2049,6 +2057,7 @@ const sizeTappableSquare = "48px";
|
|
|
2049
2057
|
const sizeIconXSmall = "16px";
|
|
2050
2058
|
const sizeIconXxxSmall = "7px";
|
|
2051
2059
|
const sizeButtonBorder = "2px";
|
|
2060
|
+
const sizeButtonTinyBorder = "1px";
|
|
2052
2061
|
const sizeIconMedium = "24px";
|
|
2053
2062
|
const sizeIconSmall = "20px";
|
|
2054
2063
|
const opacity85 = "0.85";
|
|
@@ -2198,6 +2207,7 @@ const tokens$2 = /*#__PURE__*/Object.freeze({
|
|
|
2198
2207
|
sizeIconXSmall: sizeIconXSmall,
|
|
2199
2208
|
sizeIconXxxSmall: sizeIconXxxSmall,
|
|
2200
2209
|
sizeButtonBorder: sizeButtonBorder,
|
|
2210
|
+
sizeButtonTinyBorder: sizeButtonTinyBorder,
|
|
2201
2211
|
sizeIconMedium: sizeIconMedium,
|
|
2202
2212
|
sizeIconSmall: sizeIconSmall,
|
|
2203
2213
|
opacity85: opacity85,
|
|
@@ -2255,7 +2265,7 @@ function getColorByName(name) {
|
|
|
2255
2265
|
|
|
2256
2266
|
const duetButtonCss = "*,*::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;margin-right:8px !important;margin-bottom:12px !important;position:relative;z-index:1;display:inline-flex;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}:host:last-child,:host:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host{width:100%}}:host(.duet-small){margin-right:2px !important;margin-bottom:8px !important}:host(.duet-small):last-child,:host(.duet-small):last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){:host(.duet-small){width:auto}}:host(.duet-expand){width:100% !important}:host(.duet-m-0){margin:0 !important}:host(.duet-fixed){width:auto !important}:host(:last-child){margin-right:0 !important}.duet-button-container{position:relative;width:100%}.duet-button{padding:14px 27px 15px !important;-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#0077b3 !important;text-align:center;text-decoration:none;cursor:pointer;background:transparent;border-style:solid;border-width:2px;border-radius:20rem;transition:background-color 300ms ease, color 300ms ease, border 300ms ease, box-shadow 300ms ease}.duet-button.duet-p-0{padding:0 !important}.duet-button.duet-m-0{margin:0 !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only){padding:9px 19px 10px !important;min-width:5.3333333333rem;font-size:0.875rem}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon{padding-left:48px !important}.duet-button.duet-button-is-small:not(.duet-button-icon-only).icon-right{padding-right:48px !important;padding-left:20px !important}.duet-theme-turva .duet-button{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30 !important}.duet-button .duet-button-contents{position:relative;display:inline-block;margin:0 auto;pointer-events:none}.duet-button.duet-no-wrap{white-space:nowrap}.duet-button.icon{padding-left:52px !important}.duet-button.icon-right{padding-right:52px !important;padding-left:28px !important}.duet-button svg{width:100%;min-width:100%;fill:currentColor}.duet-button .duet-button-icon{position:absolute;top:50%;left:-28px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0 !important;transform:translateY(-50%)}.duet-button .duet-button-icon duet-icon{width:16px;height:16px}.duet-button .duet-button-icon.right{right:-28px;left:auto}.duet-button .duet-button-icon.large{left:-32px;width:20px;height:20px}.duet-button .duet-button-icon.large duet-icon{width:20px;height:20px}.duet-button .duet-button-icon.large.right{right:-32px;left:auto}.duet-button .duet-button-icon.medium-small{left:-16px;width:10px;height:10px;padding-top:1px}.duet-button .duet-button-icon.medium-small duet-icon{width:10px;height:10px}.duet-button .duet-button-icon.medium-small.right{right:-16px;left:auto}.duet-button .duet-button-icon.small{left:-16px;width:7px;height:7px}.duet-button .duet-button-icon.small duet-icon{width:7px;height:7px}.duet-button .duet-button-icon.small.right{right:-16px;left:auto}.duet-button:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-button:active{opacity:0.75;transition:none}.duet-button.default{border-color:#e1e3e6}.duet-theme-turva .duet-button.default{color:#c60c30 !important;border-color:#e4e4e6}.duet-button.default:hover{border-color:#0077b3}.duet-theme-turva .duet-button.default:hover{border-color:#c60c30}.duet-button.default.duet-button-negative{background-color:white}.duet-theme-turva .duet-button.default.duet-button-negative{background-color:#e4e4e6 !important}.duet-button.default.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.default.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.primary{color:white !important;background:#0077b3;border-color:#0077b3}.duet-theme-turva .duet-button.primary{color:white !important;background:#c60c30;border-color:#c60c30}.duet-button.primary:hover{background:#005f8f;border-color:#005f8f;box-shadow:0 4px 20px rgba(34, 34, 34, 0.1)}.duet-theme-turva .duet-button.primary:hover{background:#940925;border-color:#940925}.duet-button.primary:focus{outline:0;box-shadow:0 0 0 1px white, 0 0 0 4px rgba(0, 119, 179, 0.75)}.duet-theme-turva .duet-button.primary:focus{box-shadow:0 0 0 1px white, 0 0 0 4px rgba(23, 28, 58, 0.7)}.duet-button.secondary{color:#00294d !important;background:transparent;border-color:#00294d}.duet-theme-turva .duet-button.secondary{color:#171c3a !important;border-color:#171c3a}.duet-button.secondary:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.secondary.duet-button-negative{color:#e1e3e6 !important;border-color:white}.duet-theme-turva .duet-button.secondary.duet-button-negative{color:#e4e4e6 !important}.duet-button.secondary.duet-button-negative:hover{color:#0077b3 !important;border-color:#0077b3}.duet-theme-turva .duet-button.secondary.duet-button-negative:hover{color:#c60c30 !important;border-color:#c60c30}.duet-button.negative{color:#00294d !important;background:white;border-color:white}.duet-theme-turva .duet-button.negative{color:#171c3a !important}.duet-button.negative:hover{color:white !important;background:transparent;border-color:white}.duet-button.negative:focus{outline:0;box-shadow:0 0 0 1px #00294d, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-theme-turva .duet-button.negative:focus{box-shadow:0 0 0 1px #171c3a, 0 0 0 4px rgba(255, 255, 255, 0.7)}.duet-button.destructive{color:#de2362 !important;background:white;border-color:#de2362}.duet-theme-turva .duet-button.destructive{color:#e02a0d !important;background:white;border-color:#e02a0d}.duet-button.destructive:hover{color:white !important;background:#b21c4e;border-color:#b21c4e}.duet-theme-turva .duet-button.destructive:hover{color:white !important;background:#b3220a;border-color:#b3220a}.duet-button.plain{min-width:48px;padding-right:0 !important;padding-left:0 !important;line-height:1.5;text-align:left;background:transparent;border:0;border-color:transparent;border-radius:4px}.duet-theme-turva .duet-button.plain{color:#c60c30 !important;background:transparent;border-color:transparent}.duet-button.plain.icon{padding-left:20px !important}.duet-button.plain.icon.icon-right{padding-right:20px !important;padding-left:0 !important}.duet-button.plain.icon.medium{padding-left:24px !important}.duet-button.plain.icon.medium.icon-right{padding-right:24px !important;padding-left:0 !important}.duet-button.plain.icon.large{padding-left:30px !important}.duet-button.plain.icon.large.icon-right{padding-right:30px !important;padding-left:0 !important}.duet-button.plain .duet-button-icon.left{left:-16.6666666667px !important}.duet-button.plain .duet-button-icon.left.medium{left:-24px !important}.duet-button.plain .duet-button-icon.left.large{left:-30px !important}.duet-button.plain .duet-button-icon.right{right:-16.6666666667px !important}.duet-button.plain .duet-button-icon.right.medium{right:-24px !important}.duet-button.plain .duet-button-icon.right.large{right:-30px !important}.duet-button.plain[disabled]{color:#657787 !important;background:transparent !important;border-color:transparent !important}.duet-theme-turva .duet-button.plain[disabled]{color:transparent !important;background:transparent !important;border-color:#e4e4e6 !important}.duet-button.plain:hover{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-button.plain:hover{color:#940925 !important}.duet-button.plain.duet-button-negative{color:white !important}.duet-theme-turva .duet-button.plain.duet-button-negative{color:#e4e4e6 !important}.duet-button.plain.duet-button-negative:hover{color:#0077b3 !important}.duet-theme-turva .duet-button.plain.duet-button-negative:hover{color:#c60c30 !important}.duet-button.duet-button-icon-only{min-width:48px;min-height:48px;padding:0 !important}.duet-button.duet-button-icon-only .duet-button-contents{position:static}.duet-button.duet-button-icon-only .duet-button-icon.left.large,.duet-button.duet-button-icon-only .duet-button-icon.left.medium,.duet-button.duet-button-icon-only .duet-button-icon.left.small{position:absolute;top:50% !important;left:50% !important;padding:0;margin:0;transform:translateX(-50%) translateY(-50%)}.duet-button[disabled],.duet-button[disabled]:hover,.duet-button.duet-button-negative[disabled],.duet-button.duet-button-negative[disabled]:hover{color:#657787 !important;background:#e1e3e6 !important;border-color:#e1e3e6 !important;box-shadow:none !important}.duet-theme-turva .duet-button[disabled],.duet-theme-turva .duet-button[disabled]:hover,.duet-theme-turva .duet-button.duet-button-negative [disabled],.duet-theme-turva .duet-button.duet-button-negative [disabled]:hover{color:#747475 !important;background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-button-is-loading.primary{color:white}.duet-button-is-loading.default{color:#0077b3}.duet-button-is-loading.default.duet-theme-turva{color:#c60c30}.duet-button-is-loading .duet-button-contents{visibility:hidden;opacity:0}";
|
|
2257
2267
|
|
|
2258
|
-
let DuetButton$1 = class extends
|
|
2268
|
+
let DuetButton$1 = class extends H {
|
|
2259
2269
|
constructor() {
|
|
2260
2270
|
super();
|
|
2261
2271
|
this.__registerHost();
|
|
@@ -2490,7 +2500,7 @@ let DuetButton$1 = class extends HTMLElement {
|
|
|
2490
2500
|
|
|
2491
2501
|
const duetCaptionCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:flex;flex:0 0 100%;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#657787;vertical-align:top}:host.duet-p-0{padding:0 !important}:host.duet-m-0{margin:0 !important}:host(.duet-caption-small){font-size:0.875rem;line-height:1.25}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#747475}:host(.duet-caption-selected){color:#0077b3}:host(.duet-caption-selected.duet-theme-turva){color:#171c3a}:host(.duet-m-0){margin:0 !important}";
|
|
2492
2502
|
|
|
2493
|
-
let DuetCaption$1 = class extends
|
|
2503
|
+
let DuetCaption$1 = class extends H {
|
|
2494
2504
|
constructor() {
|
|
2495
2505
|
super();
|
|
2496
2506
|
this.__registerHost();
|
|
@@ -2556,7 +2566,7 @@ const isKeyboardClick = (e) => isEnterKey(e) || isSpaceKey(e);
|
|
|
2556
2566
|
|
|
2557
2567
|
const duetCardCss = "*,*::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;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}:host(.duet-card-info){margin-bottom:16px !important}:host(.duet-m-0){margin:0 !important}.duet-card{padding:20px !important;position:relative;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:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d;text-decoration:none;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-card.duet-p-0{padding:0 !important}.duet-card.duet-m-0{margin:0 !important}.duet-card:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-card:focus,.duet-card:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 36em){.duet-card{padding:28px !important}}.duet-card.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;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}@media (min-width: 36em){.duet-card.x-small{padding:20px !important}}@media (min-width: 36em){.duet-card.medium{padding:28px !important}}@media (min-width: 48em){.duet-card.medium{padding:36px !important}}@media (min-width: 36em){.duet-card.large{padding:36px !important}}@media (min-width: 48em){.duet-card.large{padding:48px !important}}@media (min-width: 36em){.duet-card.x-large{padding:48px !important}}@media (min-width: 48em){.duet-card.x-large{padding:72px !important}}.duet-card.duet-card-collapsed{padding-bottom:0 !important}@media (min-width: 36em){.duet-card.duet-card-collapsed{padding-bottom:0 !important}}.duet-card.info{background:rgba(0, 80, 128, 0.04) !important;box-shadow:none}.duet-card.info.duet-theme-turva{background:rgba(23, 28, 58, 0.035) !important}.duet-card.plain{box-shadow:none}.duet-card.plain:not(.duet-card-has-bg){background:transparent !important}.duet-card-heading-grid{display:flex;flex-direction:row}.duet-card-icon{align-self:center}.duet-card-heading-text{flex:1;word-break:break-word}.duet-card-secondary-heading{font-size:1rem;font-weight:600;word-break:break-word}.duet-card-secondary-heading--inline{display:block;flex:1;align-self:flex-start;line-height:1.875;text-align:right}@media (max-width: 22.5em){.duet-card-secondary-heading--inline{display:none}}.duet-card-secondary-heading--new-line{display:none}@media (max-width: 22.5em){.duet-card-secondary-heading--new-line{display:block}}.duet-card-heading{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;overflow:hidden;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:1.25rem;font-weight:800;color:#00294d;border-bottom:1px solid #e1e3e6}@media (min-width: 36em){.duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}.duet-card-heading[role=button]{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none}.duet-card-heading[role=button]:focus{outline:0}:host(.user-is-tabbing) .duet-card-heading[role=button]: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 .duet-card-heading[role=button]:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-card-collapsed .duet-card-heading{margin-bottom:0 !important;border-bottom:0 !important}.duet-theme-turva .duet-card-heading{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;border-color:#e4e4e6}@media (min-width: 36em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}.medium .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.medium .duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){.medium .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}.large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.large .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){.large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}.x-large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.x-large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){.x-large .duet-card-heading{padding:39px 72px 40px !important;margin:-72px -72px 48px}}.none .duet-card-heading{padding:0 0 20px !important;margin:0 0 20px}.duet-card-footer{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:#f5f8fa;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.duet-theme-turva .duet-card-footer{background:#f5f5f7}@media (min-width: 36em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){.x-small .duet-card-footer{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){.medium .duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.medium .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){.large .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){.large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){.x-large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){.x-large .duet-card-footer{padding:39px 72px 40px !important;margin:48px -72px -72px}}.none .duet-card-footer{padding:12px 0 !important;margin:20px 0 0}.duet-card-content{width:100%}.duet-card-collapsed .duet-card-content{display:none}.duet-card-caret{position:relative;top:6px;align-self:flex-start;transition:300ms ease}[aria-expanded=false] .duet-card-caret{transform:rotate(-180deg)}.duet-card-image-mask{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.small .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){.medium .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){.medium .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){.large .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){.large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){.x-large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){.x-large .duet-card-image-mask{width:calc(100% + 144px);margin:-72px 0 36px -72px}}.none .duet-card-image-mask{width:100%;margin:0 0 20px}.duet-card-image{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transition:transform 300ms ease;transform:scale(1.0001)}a.duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}a.duet-card:hover .duet-card-image{transform:scale(1.024)}.duet-theme-turva a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}a.duet-card:active{transition:none;transform:translateY(1px)}";
|
|
2558
2568
|
|
|
2559
|
-
let DuetCard$1 = class extends
|
|
2569
|
+
let DuetCard$1 = class extends H {
|
|
2560
2570
|
constructor() {
|
|
2561
2571
|
super();
|
|
2562
2572
|
this.__registerHost();
|
|
@@ -2686,9 +2696,9 @@ let DuetCard$1 = class extends HTMLElement {
|
|
|
2686
2696
|
static get style() { return duetCardCss; }
|
|
2687
2697
|
};
|
|
2688
2698
|
|
|
2689
|
-
const duetCheckboxCss = "*.sc-duet-checkbox,*.sc-duet-checkbox::after,*.sc-duet-checkbox::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-checkbox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-checkbox-h:last-child,.sc-duet-checkbox-h:last-of-type{margin-right:0 !important}.sc-duet-checkbox-h:last-
|
|
2699
|
+
const duetCheckboxCss = "*.sc-duet-checkbox,*.sc-duet-checkbox::after,*.sc-duet-checkbox::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-checkbox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-checkbox-h:last-child,.sc-duet-checkbox-h:last-of-type{margin-right:0 !important}.sc-duet-checkbox-h:last-child:not(:only-child){margin-bottom:0 !important}.duet-m-0.sc-duet-checkbox-h{margin:0 !important}.duet-label.sc-duet-checkbox{position:relative;z-index:100;display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;vertical-align:top;cursor:pointer;background:transparent;transition:300ms ease}.duet-theme-turva.sc-duet-checkbox .duet-label.sc-duet-checkbox{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}.duet-label.sc-duet-checkbox span.sc-duet-checkbox{display:inline-block;width:calc(100% - 32px);font-size:1rem;font-weight:400;vertical-align:top}.duet-checkbox-container.sc-duet-checkbox{position:relative;width:100%;height:100%}.duet-checkbox.sc-duet-checkbox{padding:14px !important;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}.duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox::before{z-index:100;display:inline-block;width:20px;height:20px;margin:2px 10px 1px 1px;vertical-align:top;content:\"\";background:white;border:1px solid #00294d;border-radius:4px}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#171c3a}.duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#00294d;border:1px solid #00294d}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#171c3a;border-color:#171c3a}.duet-checkbox.sc-duet-checkbox:focus+label.sc-duet-checkbox::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox:focus+label.sc-duet-checkbox::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox{position:static}.duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::after{position:absolute;top:6px;left:5px;z-index:200;width:12px;height:12px;pointer-events:none;content:\"\";background:transparent url(\"data:image/svg+xml,%3Csvg%20fill%3D%27white%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.374.287a1.5%2C1.5%2C0%2C0%2C0-2.093.345L7.246%2C20.2%2C2.561%2C15.511A1.5%2C1.5%2C0%2C1%2C0%2C.439%2C17.632l5.935%2C5.934a1.525%2C1.525%2C0%2C0%2C0%2C2.279-.186l15.066-21A1.5%2C1.5%2C0%2C0%2C0%2C23.374.287Z%27%20%2F%3E%3C%2Fsvg%3E\") no-repeat 0 0;background-size:100% auto}.duet-checkbox[disabled].sc-duet-checkbox{cursor:default}.duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox{color:#657787}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox{color:#747475}.duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#cfd2d4}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#cfcfd1}.duet-checkbox[disabled].sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#657787;border:1px solid #657787}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#747475;border-color:#747475}.duet-label-hidden.sc-duet-checkbox .duet-label.sc-duet-checkbox span.sc-duet-checkbox{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
2690
2700
|
|
|
2691
|
-
let DuetCheckbox$1 = class extends
|
|
2701
|
+
let DuetCheckbox$1 = class extends H {
|
|
2692
2702
|
constructor() {
|
|
2693
2703
|
super();
|
|
2694
2704
|
this.__registerHost();
|
|
@@ -2794,17 +2804,165 @@ let DuetCheckbox$1 = class extends HTMLElement {
|
|
|
2794
2804
|
|
|
2795
2805
|
var messagingInfo={"title":"messaging-info","tags":"messaging info information circle","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M13.5 17.25A2.252 2.252 0 0 1 11.25 15v-3.75h-.75a.75.75 0 0 1 0-1.5h.75c.827 0 1.5.673 1.5 1.5V15c0 .414.336.75.75.75h.75a.75.75 0 0 1 0 1.5z\"/><circle cx=\"11.625\" cy=\"7.125\" r=\"1.125\"/><path d=\"M12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12zm0-22.5C6.21 1.5 1.5 6.21 1.5 12S6.21 22.5 12 22.5 22.5 17.79 22.5 12 17.79 1.5 12 1.5z\"/></svg>"};
|
|
2796
2806
|
|
|
2807
|
+
const isComplexType = (o) => {
|
|
2808
|
+
// https://jsperf.com/typeof-fn-object/5
|
|
2809
|
+
o = typeof o;
|
|
2810
|
+
return o === 'object' || o === 'function';
|
|
2811
|
+
};
|
|
2812
|
+
/**
|
|
2813
|
+
* Production h() function based on Preact by
|
|
2814
|
+
* Jason Miller (@developit)
|
|
2815
|
+
* Licensed under the MIT License
|
|
2816
|
+
* https://github.com/developit/preact/blob/master/LICENSE
|
|
2817
|
+
*
|
|
2818
|
+
* Modified for Stencil's compiler and vdom
|
|
2819
|
+
*/
|
|
2820
|
+
// const stack: any[] = [];
|
|
2821
|
+
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
|
|
2822
|
+
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
|
|
2823
|
+
const h = (nodeName, vnodeData, ...children) => {
|
|
2824
|
+
let child = null;
|
|
2825
|
+
let key = null;
|
|
2826
|
+
let slotName = null;
|
|
2827
|
+
let simple = false;
|
|
2828
|
+
let lastSimple = false;
|
|
2829
|
+
let vNodeChildren = [];
|
|
2830
|
+
const walk = (c) => {
|
|
2831
|
+
for (let i = 0; i < c.length; i++) {
|
|
2832
|
+
child = c[i];
|
|
2833
|
+
if (Array.isArray(child)) {
|
|
2834
|
+
walk(child);
|
|
2835
|
+
}
|
|
2836
|
+
else if (child != null && typeof child !== 'boolean') {
|
|
2837
|
+
if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
|
|
2838
|
+
child = String(child);
|
|
2839
|
+
}
|
|
2840
|
+
if (simple && lastSimple) {
|
|
2841
|
+
// If the previous child was simple (string), we merge both
|
|
2842
|
+
vNodeChildren[vNodeChildren.length - 1].$text$ += child;
|
|
2843
|
+
}
|
|
2844
|
+
else {
|
|
2845
|
+
// Append a new vNode, if it's text, we create a text vNode
|
|
2846
|
+
vNodeChildren.push(simple ? newVNode(null, child) : child);
|
|
2847
|
+
}
|
|
2848
|
+
lastSimple = simple;
|
|
2849
|
+
}
|
|
2850
|
+
}
|
|
2851
|
+
};
|
|
2852
|
+
walk(children);
|
|
2853
|
+
if (vnodeData) {
|
|
2854
|
+
// normalize class / classname attributes
|
|
2855
|
+
if (vnodeData.key) {
|
|
2856
|
+
key = vnodeData.key;
|
|
2857
|
+
}
|
|
2858
|
+
if (vnodeData.name) {
|
|
2859
|
+
slotName = vnodeData.name;
|
|
2860
|
+
}
|
|
2861
|
+
{
|
|
2862
|
+
const classData = vnodeData.className || vnodeData.class;
|
|
2863
|
+
if (classData) {
|
|
2864
|
+
vnodeData.class =
|
|
2865
|
+
typeof classData !== 'object'
|
|
2866
|
+
? classData
|
|
2867
|
+
: Object.keys(classData)
|
|
2868
|
+
.filter((k) => classData[k])
|
|
2869
|
+
.join(' ');
|
|
2870
|
+
}
|
|
2871
|
+
}
|
|
2872
|
+
}
|
|
2873
|
+
if (typeof nodeName === 'function') {
|
|
2874
|
+
// nodeName is a functional component
|
|
2875
|
+
return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
|
|
2876
|
+
}
|
|
2877
|
+
const vnode = newVNode(nodeName, null);
|
|
2878
|
+
vnode.$attrs$ = vnodeData;
|
|
2879
|
+
if (vNodeChildren.length > 0) {
|
|
2880
|
+
vnode.$children$ = vNodeChildren;
|
|
2881
|
+
}
|
|
2882
|
+
{
|
|
2883
|
+
vnode.$key$ = key;
|
|
2884
|
+
}
|
|
2885
|
+
{
|
|
2886
|
+
vnode.$name$ = slotName;
|
|
2887
|
+
}
|
|
2888
|
+
return vnode;
|
|
2889
|
+
};
|
|
2890
|
+
const newVNode = (tag, text) => {
|
|
2891
|
+
const vnode = {
|
|
2892
|
+
$flags$: 0,
|
|
2893
|
+
$tag$: tag,
|
|
2894
|
+
$text$: text,
|
|
2895
|
+
$elm$: null,
|
|
2896
|
+
$children$: null,
|
|
2897
|
+
};
|
|
2898
|
+
{
|
|
2899
|
+
vnode.$attrs$ = null;
|
|
2900
|
+
}
|
|
2901
|
+
{
|
|
2902
|
+
vnode.$key$ = null;
|
|
2903
|
+
}
|
|
2904
|
+
{
|
|
2905
|
+
vnode.$name$ = null;
|
|
2906
|
+
}
|
|
2907
|
+
return vnode;
|
|
2908
|
+
};
|
|
2909
|
+
const vdomFnUtils = {
|
|
2910
|
+
forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
|
|
2911
|
+
map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
|
|
2912
|
+
};
|
|
2913
|
+
const convertToPublic = (node) => ({
|
|
2914
|
+
vattrs: node.$attrs$,
|
|
2915
|
+
vchildren: node.$children$,
|
|
2916
|
+
vkey: node.$key$,
|
|
2917
|
+
vname: node.$name$,
|
|
2918
|
+
vtag: node.$tag$,
|
|
2919
|
+
vtext: node.$text$,
|
|
2920
|
+
});
|
|
2921
|
+
const convertToPrivate = (node) => {
|
|
2922
|
+
if (typeof node.vtag === 'function') {
|
|
2923
|
+
const vnodeData = Object.assign({}, node.vattrs);
|
|
2924
|
+
if (node.vkey) {
|
|
2925
|
+
vnodeData.key = node.vkey;
|
|
2926
|
+
}
|
|
2927
|
+
if (node.vname) {
|
|
2928
|
+
vnodeData.name = node.vname;
|
|
2929
|
+
}
|
|
2930
|
+
return h(node.vtag, vnodeData, ...(node.vchildren || []));
|
|
2931
|
+
}
|
|
2932
|
+
const vnode = newVNode(node.vtag, node.vtext);
|
|
2933
|
+
vnode.$attrs$ = node.vattrs;
|
|
2934
|
+
vnode.$children$ = node.vchildren;
|
|
2935
|
+
vnode.$key$ = node.vkey;
|
|
2936
|
+
vnode.$name$ = node.vname;
|
|
2937
|
+
return vnode;
|
|
2938
|
+
};
|
|
2939
|
+
|
|
2940
|
+
const focusElement = (element) => {
|
|
2941
|
+
if ("setFocus" in element) {
|
|
2942
|
+
element.setFocus();
|
|
2943
|
+
}
|
|
2944
|
+
else {
|
|
2945
|
+
element.focus();
|
|
2946
|
+
}
|
|
2947
|
+
};
|
|
2948
|
+
const FocusGuard = ({ moveFocusTo }) => {
|
|
2949
|
+
return h("div", { class: "duet-focus-guard", "aria-hidden": "true", tabIndex: 0, onFocus: () => focusElement(moveFocusTo) });
|
|
2950
|
+
};
|
|
2951
|
+
|
|
2797
2952
|
const duetChoiceCss = "*.sc-duet-choice,*.sc-duet-choice::after,*.sc-duet-choice::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;flex-direction:column;width:auto;max-width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-choice-h:last-child,.sc-duet-choice-h:last-of-type{margin-right:0 !important}@media (max-width: 35.9375em){.sc-duet-choice-h{width:100%}}.duet-expand.sc-duet-choice-h{width:100% !important}.duet-m-0.sc-duet-choice-h{margin:0 !important}.duet-fixed.sc-duet-choice-h{width:auto !important}.vertical.sc-duet-choice-h{margin-right:0 !important}.horizontal.sc-duet-choice-h{margin-bottom:0 !important}@media (min-width: 48em){.horizontal-responsive.sc-duet-choice-h{margin-bottom:0 !important;margin-right:16px !important}.horizontal-responsive.sc-duet-choice-h:last-child,.horizontal-responsive.sc-duet-choice-h:last-of-type{margin-right:0 !important}}.sc-duet-choice-h:last-child:not(:only-child){margin-right:0 !important}.duet-choice-card.sc-duet-choice{position:relative;display:block;width:100%;min-width:8rem;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.1;color:#00294d !important;text-align:left;background:white;border-width:2px}.duet-choice-card.duet-p-0.sc-duet-choice{padding:0 !important}.duet-choice-card.duet-m-0.sc-duet-choice{margin:0 !important}.duet-theme-turva.sc-duet-choice .duet-choice-card.sc-duet-choice{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 !important}.duet-choice-card-flextainer.sc-duet-choice{display:flex}.duet-choice-label.sc-duet-choice{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px 48px 20px 16px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;border:2px solid #e1e3e6;border-radius:4px;transition:background-color 150ms ease}.has-info.sc-duet-choice .duet-choice-label.sc-duet-choice{padding-right:110px;border-top-right-radius:0;border-bottom-right-radius:0}.info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom-right-radius:0;border-bottom-left-radius:0}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice{border-color:#e4e4e6}.duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#909599}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#909599}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-theme-turva.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-checkmark-container.sc-duet-choice{border-color:#747475}.duet-theme-turva.sc-duet-choice .info.sc-duet-choice .duet-choice-label.sc-duet-choice:not(.no-hover):hover{border-color:#747475}.duet-choice-label.sc-duet-choice:active{opacity:0.75;transition:none !important}.has-icon.sc-duet-choice .duet-choice-label.sc-duet-choice{padding-left:48px}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#0077b3 !important;background:#f3f9fc;border-color:#0077b3 !important}.checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#0077b3}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice{color:#171c3a !important;background:#f5f5f7;border-color:#171c3a !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-choice-label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#c60c30}.checked.collapsible.sc-duet-choice .duet-choice-label.sc-duet-choice{border-bottom:0 !important;border-bottom-right-radius:0;border-bottom-left-radius:0}input.sc-duet-choice:focus{outline:0}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3)}.user-is-tabbing.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:checked:focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2)}.user-is-tabbing.duet-theme-turva.sc-duet-choice-h input.sc-duet-choice:not(:checked):focus+.duet-choice-label.sc-duet-choice{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#e1e3e6 !important}input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#657787 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{color:#747475 !important;background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-theme-turva.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice .duet-checkmark.sc-duet-choice{border-color:#747475 !important}.checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e1e3e6 !important;border-color:#e1e3e6 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice input[disabled].sc-duet-choice+.duet-choice-label.sc-duet-choice{background:#e4e4e6 !important;border-color:#e4e4e6 !important}.duet-checkmark-container.sc-duet-choice{position:absolute;top:17.7777777778px;right:16px;width:20px;height:20px;border:1px solid #909599;border-radius:4px;transition:border 300ms ease}.duet-theme-turva.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#747475}.checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#0077b3;border-color:#0077b3;transition:none}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#171c3a;border-color:#171c3a !important}.duet-checkmark-container.duet-checkmark-radio.sc-duet-choice{border-radius:50%}[disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{border-color:#cfcfd1 !important}.checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-choice .checked.sc-duet-choice [disabled].sc-duet-choice+label.sc-duet-choice .duet-checkmark-container.sc-duet-choice{background:#cfcfd1 !important}.duet-checkmark.sc-duet-choice{position:absolute;top:10px;left:3px;width:5.3333333333px;height:11.8518518519px;border-top:2px solid white;border-right:2px solid white;opacity:1;transform:scaleX(-1) rotate(135deg) translateZ(0);transform-origin:left top;animation-name:duet-checkmark;animation-duration:600ms;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes duet-checkmark{0%{width:0;height:0;opacity:1}20%{width:5.3333333333px;height:0;opacity:1}40%,100%{width:5.3333333333px;height:11.8518518519px;opacity:1}}.duet-choice-card-icon.sc-duet-choice{position:absolute;top:50%;left:16px;transform:translateY(-50%)}.duet-choice-card-icon.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-section-hidden.sc-duet-choice{display:none}.duet-choice-card-info.duet-choice-card-collapsed.sc-duet-choice,.duet-choice-card-collapsed.duet-choice-card-collapsible.sc-duet-choice{position:relative;width:auto;padding:0 !important;background:unset !important;border:0;border-radius:0}.duet-choice-card-info.sc-duet-choice,.duet-choice-card-collapsible.sc-duet-choice{padding:28px !important;position:relative;z-index:200;width:100%;font-weight:400;color:#00294d;border:2px solid #e1e3e6;border-top:0;border-radius:0 0 4px 4px}.duet-theme-turva.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.duet-theme-turva.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{color:#171c3a;border-color:#171c3a}.checked.sc-duet-choice .duet-choice-card-info.sc-duet-choice,.checked.sc-duet-choice .duet-choice-card-collapsible.sc-duet-choice{display:block}.duet-choice-card-info-expanded.sc-duet-choice,.duet-choice-card-collapsible-expanded.sc-duet-choice{display:block}.duet-choice-card-collapsible.sc-duet-choice{background:white;border:2px solid #0077b3;border-top:0}.duet-choice-card-collapsible.duet-theme-turva.sc-duet-choice{background:white;border-color:#171c3a}.duet-choice-card-collapsible-disabled.sc-duet-choice{background:#f5f8fa;border-color:#e1e3e6}.duet-choice-card-collapsible-disabled.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-card-info.sc-duet-choice{font-size:0.875rem;line-height:1.5;background:#f5f8fa;transition:150ms ease-out}.duet-choice-card-info.duet-theme-turva.sc-duet-choice{background:#f5f5f7;border-color:#e4e4e6}.duet-choice-info-toggle.sc-duet-choice{display:flex;flex-shrink:0;justify-content:center;width:57.6px;padding-top:18px;cursor:pointer;background:white;border:2px solid #e1e3e6;border-left:0 none;border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-appearance:none;appearance:none}.duet-choice-info-toggle[aria-expanded=true].sc-duet-choice{background:#f5f8fa;border-bottom:0;border-bottom-right-radius:0}.duet-choice-info-toggle[disabled].sc-duet-choice{pointer-events:none;background:#f5f8fa !important;border-color:#e1e3e6 !important}.duet-choice-info-toggle[disabled].sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#909599 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice{background:#f5f5f7 !important;border-color:#e4e4e6 !important}.duet-choice-info-toggle[disabled].duet-theme-turva.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#747475 !important}.duet-choice-info-toggle.sc-duet-choice:focus{outline:none}.user-is-tabbing.sc-duet-choice-h .duet-choice-info-toggle.sc-duet-choice:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-choice-label.sc-duet-choice:not(.no-hover):hover .duet-choice-info-toggle.sc-duet-choice{border-left-color:#909599}.checked.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice{border-left-color:#0077b3 !important}.duet-choice-info-toggle.sc-duet-choice duet-icon.sc-duet-choice{display:block}.duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#0077b3}.duet-theme-turva.sc-duet-choice .duet-choice-info-toggle.sc-duet-choice .duet-choice-info-icon.sc-duet-choice{color:#c60c30}.duet-choice-input.sc-duet-choice{position:absolute !important;width:auto;height:auto;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);color:transparent}";
|
|
2798
2953
|
|
|
2799
|
-
let DuetChoice$1 = class extends
|
|
2954
|
+
let DuetChoice$1 = class extends H {
|
|
2800
2955
|
constructor() {
|
|
2801
2956
|
super();
|
|
2802
2957
|
this.__registerHost();
|
|
2803
2958
|
this.duetChange = createEvent$2(this, "duetChange", 7);
|
|
2804
2959
|
this.duetFocus = createEvent$2(this, "duetFocus", 7);
|
|
2805
2960
|
this.duetBlur = createEvent$2(this, "duetBlur", 7);
|
|
2961
|
+
this.hasHeader = false;
|
|
2806
2962
|
this.choiceId = createID("DuetChoice");
|
|
2807
2963
|
this.expandId = createID("DuetChoiceExpand");
|
|
2964
|
+
this.headerId = createID("DuetChoiceHeader");
|
|
2965
|
+
this.infoButtonId = createID("DuetChoiceInfoButton");
|
|
2808
2966
|
/**
|
|
2809
2967
|
* State() variables
|
|
2810
2968
|
* Inlined decorator, alphabetical order.
|
|
@@ -2882,6 +3040,24 @@ let DuetChoice$1 = class extends HTMLElement {
|
|
|
2882
3040
|
* browser from displaying its own validation errors.
|
|
2883
3041
|
*/
|
|
2884
3042
|
this.required = false;
|
|
3043
|
+
/**
|
|
3044
|
+
* Placeholder defaults
|
|
3045
|
+
* @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
|
|
3046
|
+
*/
|
|
3047
|
+
this.infoLabelDefaults = {
|
|
3048
|
+
fi: "Lisätietoja",
|
|
3049
|
+
en: "More information about",
|
|
3050
|
+
sv: "Mera information om",
|
|
3051
|
+
};
|
|
3052
|
+
/**
|
|
3053
|
+
* Hint text to display before the user types into the date picker input.
|
|
3054
|
+
* @default {
|
|
3055
|
+
* fi: "Lisätietoja",
|
|
3056
|
+
* en: "More information about",
|
|
3057
|
+
* sv: "Mera information om",
|
|
3058
|
+
* }
|
|
3059
|
+
*/
|
|
3060
|
+
this.infoLabel = getLocaleString(this.infoLabelDefaults, getLanguage());
|
|
2885
3061
|
this.onMouseEnter = () => {
|
|
2886
3062
|
this.isHovering = true;
|
|
2887
3063
|
};
|
|
@@ -2956,6 +3132,7 @@ let DuetChoice$1 = class extends HTMLElement {
|
|
|
2956
3132
|
componentWillLoad() {
|
|
2957
3133
|
inheritGlobalTheme(this);
|
|
2958
3134
|
this.hasInfo = !!this.element.querySelector("[slot='info']");
|
|
3135
|
+
this.hasHeader = !!this.element.querySelector('[slot="header"]');
|
|
2959
3136
|
this.hasAdditional = !!this.element.querySelector("[slot='additional']");
|
|
2960
3137
|
}
|
|
2961
3138
|
/**
|
|
@@ -2976,8 +3153,11 @@ let DuetChoice$1 = class extends HTMLElement {
|
|
|
2976
3153
|
handleHostKeyDown() {
|
|
2977
3154
|
this.isKeyDown = true;
|
|
2978
3155
|
}
|
|
2979
|
-
handleHostKeyUp() {
|
|
3156
|
+
handleHostKeyUp(ev) {
|
|
2980
3157
|
this.isKeyDown = false;
|
|
3158
|
+
if (isEscapeKey(ev) && this.isInfoOpen) {
|
|
3159
|
+
this.toggleInfo();
|
|
3160
|
+
}
|
|
2981
3161
|
}
|
|
2982
3162
|
/**
|
|
2983
3163
|
* Sets focus on the specified `duet-choice`. Use this method instead of the global
|
|
@@ -2991,7 +3171,12 @@ let DuetChoice$1 = class extends HTMLElement {
|
|
|
2991
3171
|
return this.accessibleDescribedBy;
|
|
2992
3172
|
}
|
|
2993
3173
|
if (this.collapsible || this.hasInfo) {
|
|
2994
|
-
|
|
3174
|
+
if (this.hasHeader) {
|
|
3175
|
+
return this.headerId;
|
|
3176
|
+
}
|
|
3177
|
+
else {
|
|
3178
|
+
return this.expandId;
|
|
3179
|
+
}
|
|
2995
3180
|
}
|
|
2996
3181
|
return null;
|
|
2997
3182
|
}
|
|
@@ -3023,6 +3208,7 @@ let DuetChoice$1 = class extends HTMLElement {
|
|
|
3023
3208
|
*/
|
|
3024
3209
|
render() {
|
|
3025
3210
|
const identifier = this.identifier || this.choiceId;
|
|
3211
|
+
console.log(this.element);
|
|
3026
3212
|
return (h$1(Host, { class: {
|
|
3027
3213
|
horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
|
|
3028
3214
|
"horizontal-responsive": this.groupDirection === "horizontal" && this.groupResponsive,
|
|
@@ -3040,41 +3226,53 @@ let DuetChoice$1 = class extends HTMLElement {
|
|
|
3040
3226
|
info: this.isInfoOpen,
|
|
3041
3227
|
collapsible: this.collapsible,
|
|
3042
3228
|
"duet-p-0": this.padding === "none",
|
|
3043
|
-
} }, h$1("input", { class: "duet-choice-input", type: this.type, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, disabled: this.disabled || this.groupDisabled, required: this.required, id: identifier, name: this.name, value: this.value, checked: this.checked, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedby(), onKeyDown: this.handleKeyDown, ref: input => (this.nativeInput = input) }), h$1("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering }, onClick: this.onClick }, this.icon && (h$1("div", { class: "duet-choice-card-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.label, this.hasInfo
|
|
3044
|
-
// this is an incredibly dirty way of both hiding the expanded / collapsed state text
|
|
3045
|
-
// and an extremely bad way of notifying any screenreaders about state - unfortunately
|
|
3046
|
-
// this is extremely difficult to do consistently across browsers so this hack is the best way todo it
|
|
3047
|
-
(this.collapsible && (h$1("span", { lang: "en", style: { opacity: "0", pointerEvents: "none", fontSize: "0", lineHeight: "0" } }, this.collapsible
|
|
3048
|
-
? this.checked
|
|
3049
|
-
? ", Expanded"
|
|
3050
|
-
: ", Collapsed"
|
|
3051
|
-
: this.isInfoOpen
|
|
3052
|
-
? ", Expanded"
|
|
3053
|
-
: ", Collapsed"))), this.caption && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("duet-caption", { margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("slot", { name: "additional" }))), h$1("div", { class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h$1("div", { class: "duet-checkmark" })))), this.hasInfo && !this.collapsible && (h$1("button", { class: {
|
|
3229
|
+
} }, h$1("input", { class: "duet-choice-input", type: this.type, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, disabled: this.disabled || this.groupDisabled, required: this.required, id: identifier, name: this.name, value: this.value, checked: this.checked, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.getAriaDescribedby(), onKeyDown: this.handleKeyDown, ref: input => (this.nativeInput = input) }), h$1("label", { htmlFor: identifier, class: { "duet-choice-label": true, "no-hover": this.isHovering }, onClick: this.onClick }, this.icon && (h$1("div", { class: "duet-choice-card-icon" }, h$1("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.label, this.caption && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("duet-caption", { margin: "none", selected: this.checked }, this.caption))), this.hasAdditional && (h$1("div", null, h$1("duet-spacer", { size: "xx-small" }), h$1("slot", { name: "additional" }))), h$1("div", { class: { "duet-checkmark-container": true, "duet-checkmark-radio": this.type === "radio" } }, this.checked && h$1("div", { class: "duet-checkmark" })))), this.hasInfo && !this.collapsible && (h$1("button", { ref: button => (this.infoButtonEl = button), id: this.infoButtonId, class: {
|
|
3054
3230
|
"duet-choice-info-toggle": true,
|
|
3055
3231
|
"duet-theme-turva": this.theme === "turva",
|
|
3056
|
-
}, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.disabled || this.groupDisabled, "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-controls": this.expandId, "aria-flowto": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button" }, h$1("duet-visually-hidden", { "aria-hidden": !this.isBlurred ? "true" : "false" }, this.accessibleLabelInfoButton), h$1("div", { class: "duet-choice-info-icon" }, h$1("duet-icon", { icon: messagingInfo.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible || this.hasInfo ? (h$1("div", { class: this.getClassNames(), id: this.expandId }, h$1("span", { class: {
|
|
3232
|
+
}, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onClick: this.toggleInfo, disabled: this.disabled || this.groupDisabled, "aria-expanded": this.isInfoOpen ? "true" : "false", "aria-label": `${this.infoLabel} ${this.label}`, "aria-controls": this.expandId, "aria-flowto": this.expandId, tabindex: this.type === "radio" && !this.checked ? "-1" : "0", type: "button" }, h$1("duet-visually-hidden", { "aria-hidden": !this.isBlurred ? "true" : "false" }, this.accessibleLabelInfoButton), h$1("div", { class: "duet-choice-info-icon" }, h$1("duet-icon", { icon: messagingInfo.svg, margin: "none", size: "small", color: "currentColor" }))))), this.collapsible || this.hasInfo ? (h$1("div", { class: this.getClassNames(), id: this.expandId }, h$1("span", { class: {
|
|
3057
3233
|
"duet-choice-section-visible": this.collapsible ? this.checked : this.isInfoOpen,
|
|
3058
3234
|
"duet-choice-section-hidden": this.collapsible ? !this.checked : !this.isInfoOpen,
|
|
3059
|
-
} }, this.hasInfo ? (h$1("span", null, h$1("slot", { name: "info" }), h$1("slot", null))) : (h$1("span", null, h$1("slot", null)))))) : null));
|
|
3235
|
+
} }, h$1("span", { id: this.headerId }, h$1("slot", { name: "header" })), this.hasInfo ? (h$1("span", null, h$1("span", { "aria-relevant": "all", "aria-atomic": "true", "aria-live": this.isInfoOpen ? "polite" : "off" }, h$1("slot", { name: "info" })), h$1("slot", null))) : (h$1("span", null, h$1("slot", null)))), this.isInfoOpen && h$1(FocusGuard, { moveFocusTo: this.infoButtonEl }))) : null));
|
|
3060
3236
|
}
|
|
3061
3237
|
get element() { return this; }
|
|
3062
3238
|
static get style() { return duetChoiceCss; }
|
|
3063
3239
|
};
|
|
3064
3240
|
|
|
3065
|
-
const
|
|
3241
|
+
const watchFor = (containerEl, tagName, onChange, changeHandler, options = {
|
|
3242
|
+
childList: true,
|
|
3243
|
+
subtree: true,
|
|
3244
|
+
}) => {
|
|
3066
3245
|
let mutation;
|
|
3067
3246
|
if (typeof MutationObserver !== "undefined") {
|
|
3068
3247
|
mutation = new MutationObserver(mutationList => {
|
|
3069
|
-
onChange(
|
|
3070
|
-
});
|
|
3071
|
-
mutation.observe(containerEl, {
|
|
3072
|
-
childList: true,
|
|
3073
|
-
subtree: true,
|
|
3248
|
+
onChange(changeHandler(mutationList, tagName));
|
|
3074
3249
|
});
|
|
3250
|
+
mutation.observe(containerEl, options);
|
|
3075
3251
|
}
|
|
3076
3252
|
return mutation;
|
|
3077
3253
|
};
|
|
3254
|
+
const watchForOptions = (containerEl, tagName, onChange) => {
|
|
3255
|
+
return watchFor(containerEl, tagName, onChange, getSelectedOption);
|
|
3256
|
+
};
|
|
3257
|
+
const watchForElement = (containerEl, tagName, onChange) => {
|
|
3258
|
+
return watchFor(containerEl, tagName, onChange, getElementItem, {
|
|
3259
|
+
childList: true,
|
|
3260
|
+
subtree: true,
|
|
3261
|
+
});
|
|
3262
|
+
};
|
|
3263
|
+
const getElementItem = (mutationList) => {
|
|
3264
|
+
let addedNode = false;
|
|
3265
|
+
let removedNode = false;
|
|
3266
|
+
mutationList.forEach(mut => {
|
|
3267
|
+
if (mut.addedNodes.length) {
|
|
3268
|
+
addedNode = true;
|
|
3269
|
+
}
|
|
3270
|
+
if (mut.removedNodes.length) {
|
|
3271
|
+
removedNode = true;
|
|
3272
|
+
}
|
|
3273
|
+
});
|
|
3274
|
+
return { addedNode, removedNode, mutationList };
|
|
3275
|
+
};
|
|
3078
3276
|
const getSelectedOption = (mutationList, tagName) => {
|
|
3079
3277
|
let newOption;
|
|
3080
3278
|
mutationList.forEach(mut => {
|
|
@@ -3095,7 +3293,7 @@ const findCheckedOption = (el, tagName) => {
|
|
|
3095
3293
|
|
|
3096
3294
|
const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex;margin-bottom:0}}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";
|
|
3097
3295
|
|
|
3098
|
-
let DuetChoiceGroup$1 = class extends
|
|
3296
|
+
let DuetChoiceGroup$1 = class extends H {
|
|
3099
3297
|
constructor() {
|
|
3100
3298
|
super();
|
|
3101
3299
|
this.__registerHost();
|
|
@@ -3361,6 +3559,7 @@ const size_tappable_square = "48px";
|
|
|
3361
3559
|
const size_icon_x_small = "16px";
|
|
3362
3560
|
const size_icon_xxx_small = "7px";
|
|
3363
3561
|
const size_button_border = "2px";
|
|
3562
|
+
const size_button_tiny_border = "1px";
|
|
3364
3563
|
const size_icon_medium = "24px";
|
|
3365
3564
|
const size_icon_small = "20px";
|
|
3366
3565
|
const opacity_85 = "0.85";
|
|
@@ -3508,6 +3707,7 @@ const tokens = {
|
|
|
3508
3707
|
size_icon_x_small: size_icon_x_small,
|
|
3509
3708
|
size_icon_xxx_small: size_icon_xxx_small,
|
|
3510
3709
|
size_button_border: size_button_border,
|
|
3710
|
+
size_button_tiny_border: size_button_tiny_border,
|
|
3511
3711
|
size_icon_medium: size_icon_medium,
|
|
3512
3712
|
size_icon_small: size_icon_small,
|
|
3513
3713
|
opacity_85: opacity_85,
|
|
@@ -3658,6 +3858,7 @@ const tokens$1 = /*#__PURE__*/Object.freeze({
|
|
|
3658
3858
|
size_icon_x_small: size_icon_x_small,
|
|
3659
3859
|
size_icon_xxx_small: size_icon_xxx_small,
|
|
3660
3860
|
size_button_border: size_button_border,
|
|
3861
|
+
size_button_tiny_border: size_button_tiny_border,
|
|
3661
3862
|
size_icon_medium: size_icon_medium,
|
|
3662
3863
|
size_icon_small: size_icon_small,
|
|
3663
3864
|
opacity_85: opacity_85,
|
|
@@ -3694,7 +3895,7 @@ const tokens$1 = /*#__PURE__*/Object.freeze({
|
|
|
3694
3895
|
|
|
3695
3896
|
const duetCollapsibleCss = "*,*::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;margin-bottom:16px !important;display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}:host(.duet-m-0){margin:0 !important}.duet-collapsible-content{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}@media (max-width: 35.9375em){.duet-collapsible-content{font-size:0.875rem}}.duet-collapsible-content.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}:host([open]) .duet-collapsible-content{display:block}.duet-collapsible-heading{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;cursor:pointer;border-radius:4px}.duet-collapsible-heading.duet-collapsible-normal-weight{font-weight:400}.duet-collapsible-heading.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}.duet-collapsible-heading .duet-collapsible-heading-content{flex:1}.duet-collapsible-heading:focus{outline:0}:host(.user-is-tabbing) .duet-collapsible-heading: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) .duet-collapsible-heading:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-collapsible-heading-icon{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:#00294d;transition:transform 300ms ease}.duet-collapsible-heading-icon:last-child,.duet-collapsible-heading-icon:last-of-type{margin-right:0 !important}[aria-expanded=true] .duet-collapsible-heading-icon{transform:rotate(180deg)}";
|
|
3696
3897
|
|
|
3697
|
-
let DuetCollapsible$1 = class extends
|
|
3898
|
+
let DuetCollapsible$1 = class extends H {
|
|
3698
3899
|
constructor() {
|
|
3699
3900
|
super();
|
|
3700
3901
|
this.__registerHost();
|
|
@@ -3822,7 +4023,7 @@ let DuetCollapsible$1 = class extends HTMLElement {
|
|
|
3822
4023
|
|
|
3823
4024
|
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}";
|
|
3824
4025
|
|
|
3825
|
-
let DuetCookieConsent$1 = class extends
|
|
4026
|
+
let DuetCookieConsent$1 = class extends H {
|
|
3826
4027
|
constructor() {
|
|
3827
4028
|
super();
|
|
3828
4029
|
this.__registerHost();
|
|
@@ -3858,151 +4059,6 @@ let DuetCookieConsent$1 = class extends HTMLElement {
|
|
|
3858
4059
|
static get style() { return duetCookieConsentCss; }
|
|
3859
4060
|
};
|
|
3860
4061
|
|
|
3861
|
-
const isComplexType = (o) => {
|
|
3862
|
-
// https://jsperf.com/typeof-fn-object/5
|
|
3863
|
-
o = typeof o;
|
|
3864
|
-
return o === 'object' || o === 'function';
|
|
3865
|
-
};
|
|
3866
|
-
/**
|
|
3867
|
-
* Production h() function based on Preact by
|
|
3868
|
-
* Jason Miller (@developit)
|
|
3869
|
-
* Licensed under the MIT License
|
|
3870
|
-
* https://github.com/developit/preact/blob/master/LICENSE
|
|
3871
|
-
*
|
|
3872
|
-
* Modified for Stencil's compiler and vdom
|
|
3873
|
-
*/
|
|
3874
|
-
// const stack: any[] = [];
|
|
3875
|
-
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
|
|
3876
|
-
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
|
|
3877
|
-
const h = (nodeName, vnodeData, ...children) => {
|
|
3878
|
-
let child = null;
|
|
3879
|
-
let key = null;
|
|
3880
|
-
let slotName = null;
|
|
3881
|
-
let simple = false;
|
|
3882
|
-
let lastSimple = false;
|
|
3883
|
-
let vNodeChildren = [];
|
|
3884
|
-
const walk = (c) => {
|
|
3885
|
-
for (let i = 0; i < c.length; i++) {
|
|
3886
|
-
child = c[i];
|
|
3887
|
-
if (Array.isArray(child)) {
|
|
3888
|
-
walk(child);
|
|
3889
|
-
}
|
|
3890
|
-
else if (child != null && typeof child !== 'boolean') {
|
|
3891
|
-
if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
|
|
3892
|
-
child = String(child);
|
|
3893
|
-
}
|
|
3894
|
-
if (simple && lastSimple) {
|
|
3895
|
-
// If the previous child was simple (string), we merge both
|
|
3896
|
-
vNodeChildren[vNodeChildren.length - 1].$text$ += child;
|
|
3897
|
-
}
|
|
3898
|
-
else {
|
|
3899
|
-
// Append a new vNode, if it's text, we create a text vNode
|
|
3900
|
-
vNodeChildren.push(simple ? newVNode(null, child) : child);
|
|
3901
|
-
}
|
|
3902
|
-
lastSimple = simple;
|
|
3903
|
-
}
|
|
3904
|
-
}
|
|
3905
|
-
};
|
|
3906
|
-
walk(children);
|
|
3907
|
-
if (vnodeData) {
|
|
3908
|
-
// normalize class / classname attributes
|
|
3909
|
-
if (vnodeData.key) {
|
|
3910
|
-
key = vnodeData.key;
|
|
3911
|
-
}
|
|
3912
|
-
if (vnodeData.name) {
|
|
3913
|
-
slotName = vnodeData.name;
|
|
3914
|
-
}
|
|
3915
|
-
{
|
|
3916
|
-
const classData = vnodeData.className || vnodeData.class;
|
|
3917
|
-
if (classData) {
|
|
3918
|
-
vnodeData.class =
|
|
3919
|
-
typeof classData !== 'object'
|
|
3920
|
-
? classData
|
|
3921
|
-
: Object.keys(classData)
|
|
3922
|
-
.filter((k) => classData[k])
|
|
3923
|
-
.join(' ');
|
|
3924
|
-
}
|
|
3925
|
-
}
|
|
3926
|
-
}
|
|
3927
|
-
if (typeof nodeName === 'function') {
|
|
3928
|
-
// nodeName is a functional component
|
|
3929
|
-
return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
|
|
3930
|
-
}
|
|
3931
|
-
const vnode = newVNode(nodeName, null);
|
|
3932
|
-
vnode.$attrs$ = vnodeData;
|
|
3933
|
-
if (vNodeChildren.length > 0) {
|
|
3934
|
-
vnode.$children$ = vNodeChildren;
|
|
3935
|
-
}
|
|
3936
|
-
{
|
|
3937
|
-
vnode.$key$ = key;
|
|
3938
|
-
}
|
|
3939
|
-
{
|
|
3940
|
-
vnode.$name$ = slotName;
|
|
3941
|
-
}
|
|
3942
|
-
return vnode;
|
|
3943
|
-
};
|
|
3944
|
-
const newVNode = (tag, text) => {
|
|
3945
|
-
const vnode = {
|
|
3946
|
-
$flags$: 0,
|
|
3947
|
-
$tag$: tag,
|
|
3948
|
-
$text$: text,
|
|
3949
|
-
$elm$: null,
|
|
3950
|
-
$children$: null,
|
|
3951
|
-
};
|
|
3952
|
-
{
|
|
3953
|
-
vnode.$attrs$ = null;
|
|
3954
|
-
}
|
|
3955
|
-
{
|
|
3956
|
-
vnode.$key$ = null;
|
|
3957
|
-
}
|
|
3958
|
-
{
|
|
3959
|
-
vnode.$name$ = null;
|
|
3960
|
-
}
|
|
3961
|
-
return vnode;
|
|
3962
|
-
};
|
|
3963
|
-
const vdomFnUtils = {
|
|
3964
|
-
forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
|
|
3965
|
-
map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
|
|
3966
|
-
};
|
|
3967
|
-
const convertToPublic = (node) => ({
|
|
3968
|
-
vattrs: node.$attrs$,
|
|
3969
|
-
vchildren: node.$children$,
|
|
3970
|
-
vkey: node.$key$,
|
|
3971
|
-
vname: node.$name$,
|
|
3972
|
-
vtag: node.$tag$,
|
|
3973
|
-
vtext: node.$text$,
|
|
3974
|
-
});
|
|
3975
|
-
const convertToPrivate = (node) => {
|
|
3976
|
-
if (typeof node.vtag === 'function') {
|
|
3977
|
-
const vnodeData = Object.assign({}, node.vattrs);
|
|
3978
|
-
if (node.vkey) {
|
|
3979
|
-
vnodeData.key = node.vkey;
|
|
3980
|
-
}
|
|
3981
|
-
if (node.vname) {
|
|
3982
|
-
vnodeData.name = node.vname;
|
|
3983
|
-
}
|
|
3984
|
-
return h(node.vtag, vnodeData, ...(node.vchildren || []));
|
|
3985
|
-
}
|
|
3986
|
-
const vnode = newVNode(node.vtag, node.vtext);
|
|
3987
|
-
vnode.$attrs$ = node.vattrs;
|
|
3988
|
-
vnode.$children$ = node.vchildren;
|
|
3989
|
-
vnode.$key$ = node.vkey;
|
|
3990
|
-
vnode.$name$ = node.vname;
|
|
3991
|
-
return vnode;
|
|
3992
|
-
};
|
|
3993
|
-
|
|
3994
|
-
const focusElement = (element) => {
|
|
3995
|
-
if ("setFocus" in element) {
|
|
3996
|
-
element.setFocus();
|
|
3997
|
-
}
|
|
3998
|
-
else {
|
|
3999
|
-
element.focus();
|
|
4000
|
-
}
|
|
4001
|
-
};
|
|
4002
|
-
const FocusGuard = ({ moveFocusTo }) => {
|
|
4003
|
-
return h("div", { class: "duet-focus-guard", "aria-hidden": "true", tabIndex: 0, onFocus: () => focusElement(moveFocusTo) });
|
|
4004
|
-
};
|
|
4005
|
-
|
|
4006
4062
|
const formatOptionsShort = { day: "numeric", month: "long" };
|
|
4007
4063
|
const formatOptionsLong = { day: "numeric", month: "long", year: "numeric" };
|
|
4008
4064
|
const i18n$2 = {
|
|
@@ -4395,7 +4451,7 @@ const DatePickerMonth = ({ selectedDate, focusedDate, labelledById, theme, langu
|
|
|
4395
4451
|
|
|
4396
4452
|
const duetDatePickerCss = "*.sc-duet-date-picker,*.sc-duet-date-picker::after,*.sc-duet-date-picker::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-date-picker-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;position:relative;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:top}.sc-duet-date-picker-h:last-child,.sc-duet-date-picker-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-date-picker-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-date-picker-h{width:100% !important}.duet-m-0.sc-duet-date-picker-h{margin:0 !important}.duet-date.sc-duet-date-picker{position:relative;width:100%}.duet-date.sc-duet-date-picker button.sc-duet-date-picker,.duet-date-dialog.sc-duet-date-picker button.sc-duet-date-picker{max-width:initial !important;min-height:initial !important;padding:0 !important;margin:0 !important;transition:initial}.duet-date-button.sc-duet-date-picker{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;display:flex;align-items:center;justify-content:center;width:48px;height:calc(100% - 2px);color:#00294d;cursor:pointer;background:transparent !important;border-left:1px solid #cfd2d4 !important;border-radius:0 4px 4px 0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker{color:#171c3a;border-color:#cfcfd1}.duet-date-button.sc-duet-date-picker::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-date-button.sc-duet-date-picker:disabled{pointer-events:none;cursor:default;background:#f5f8fa !important;border:0 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:disabled{background:#f5f5f7 !important}.duet-date-button.sc-duet-date-picker:disabled::before{display:none}.duet-date-button.sc-duet-date-picker:disabled duet-icon.sc-duet-date-picker{opacity:0.4}.duet-date-button.sc-duet-date-picker duet-icon.sc-duet-date-picker{transform:translateY(-1px)}.duet-date-button.sc-duet-date-picker:active duet-icon.sc-duet-date-picker{transform:translateY(0)}.duet-date-button.sc-duet-date-picker:focus{color:#0077b3;border-color:transparent;outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-button.sc-duet-date-picker:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}.duet-date-dialog.sc-duet-date-picker{position:absolute;top:100%;left:0;z-index:900;display:flex;width:100%;visibility:hidden;opacity:0;transition:transform 300ms ease, opacity 300ms ease, visibility 300ms ease;transform:scale(0.96) translateZ(0) translateY(-20px);transform-origin:top right}@media (min-width: 36em){.duet-date-dialog.left.sc-duet-date-picker{right:0;left:auto;width:auto}}@media (max-width: 35.9375em){.duet-date-dialog.sc-duet-date-picker{position:fixed;top:0;right:0;bottom:0;background:rgba(0, 41, 77, 0.75);transition:opacity 400ms ease, visibility 400ms ease;transform:translateZ(0);transform-origin:bottom center}.duet-date-dialog.duet-theme-turva.sc-duet-date-picker{background:rgba(23, 28, 58, 0.75)}}.duet-date-dialog.active.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(0)}@media (min-width: 36em){.duet-date-dialog.error.sc-duet-date-picker{top:calc(100% - 28px);margin-top:4px}}.duet-date-dialog-wrapper.sc-duet-date-picker{position:relative;z-index:600;width:100%;min-width:290px;max-width:310px;padding:16px 16px 20px;margin-top:8px;margin-left:auto;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);transform:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{border-color:#e4e4e6}@media (max-width: 35.9375em){.duet-date-dialog-wrapper.sc-duet-date-picker{position:absolute;bottom:0;left:0;z-index:900;max-width:none;min-height:25em;padding:0 8% 20px;margin:0;visibility:hidden;border:0;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;opacity:0;transition:transform 400ms ease, opacity 400ms ease, visibility 400ms ease;transform:translateZ(0) translateY(100%)}.active.sc-duet-date-picker .duet-date-dialog-wrapper.sc-duet-date-picker{visibility:visible;opacity:1;transition-property:transform, opacity;transform:translateZ(0) translateY(0)}}.duet-date-table.sc-duet-date-picker{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25;color:#00294d;text-align:center;border-spacing:0;border-collapse:collapse}.duet-date-table.duet-theme-turva.sc-duet-date-picker{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}.duet-date-table.sc-duet-date-picker th.sc-duet-date-picker{padding-bottom:8px;font-size:0.75rem;font-weight:600;line-height:1.25;text-decoration:none;text-transform:uppercase;letter-spacing:1px}.duet-date-table.sc-duet-date-picker .duet-date-table-cell.sc-duet-date-picker{text-align:center}.duet-date-table-button.sc-duet-date-picker{position:relative;z-index:100;display:inline-block !important;width:36.9230769231px !important;height:36.9230769231px !important;min-height:initial !important;padding:0 !important;margin:0 !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25 !important;color:#00294d !important;text-align:center;vertical-align:initial !important;cursor:pointer;background:transparent !important;border-radius:50% !important;transition:initial !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !important;color:#171c3a !important}.duet-date-table-button.sc-duet-date-picker:hover{background:#e6f2f8 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:hover{background:#f9e6ea !important}.duet-date-table-button.today.sc-duet-date-picker{z-index:200;color:#004d80 !important;background:#f3f9fc !important;box-shadow:0 0 0 1px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.today.sc-duet-date-picker{color:#940925 !important;background:#fcf3f4 !important;box-shadow:0 0 0 1px #c60c30 !important}.duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#0077b3 !important;outline:0}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button[aria-pressed=true].sc-duet-date-picker,.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{color:white !important;background:#c60c30 !important}.duet-date-table-button.sc-duet-date-picker:active{z-index:200;color:white !important;background:#0077b3 !important;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:active{color:white !important;background:#c60c30 !important;box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.sc-duet-date-picker:focus{z-index:200;box-shadow:0 0 5px #0077b3 !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.sc-duet-date-picker:focus{box-shadow:0 0 5px #c60c30 !important}.duet-date-table-button.disabled.sc-duet-date-picker{color:#909599 !important;cursor:default;background:transparent !important;box-shadow:none !important}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.disabled.sc-duet-date-picker{color:#747475 !important;background:transparent !important;box-shadow:none !important}.duet-date-table-button.outside.sc-duet-date-picker{color:#909599 !important;pointer-events:none;cursor:default;background:#f5f8fa !important;box-shadow:none;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-table-button.outside.sc-duet-date-picker{color:#747475;background:#f5f5f7;box-shadow:none}.duet-date-dialog-header.sc-duet-date-picker{margin-bottom:16px !important;display:flex;align-items:center;justify-content:space-between;width:100%}.duet-date-dialog-buttons.sc-duet-date-picker{white-space:nowrap}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;transition:background-color 300ms ease !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{color:#171c3a;background:#f5f5f7}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker duet-icon.sc-duet-date-picker{display:block}@media (max-width: 35.9375em){.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker{width:40px;height:40px}}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:not(:disabled):hover{background:#e9ecee !important}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:not(:disabled):hover{background:#e9e9eb !important}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:focus{outline:0;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:active:focus{background:#dddfe1;box-shadow:none}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:active:focus{background:#ddddde}.duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:disabled{color:#909599;cursor:default;background:#f5f8fa;opacity:0.75}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-buttons.sc-duet-date-picker button.sc-duet-date-picker:disabled{color:#747475;background:#f5f5f7}.duet-date-dialog-select.sc-duet-date-picker{position:relative;display:inline-flex;margin-top:4px}.duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{position:relative;z-index:1;display:flex;align-items:center;width:100%;padding:0 8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1.25rem;font-weight:600;line-height:1.25;color:#00294d;pointer-events:none;border-radius:4px}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker .duet-date-dialog-select-label.sc-duet-date-picker{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}.duet-date-dialog-select.sc-duet-date-picker span.sc-duet-date-picker{margin-right:4px}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker{position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;font-size:1rem;cursor:pointer;opacity:0}.duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #0077b3}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-select.sc-duet-date-picker select.sc-duet-date-picker:focus+.duet-date-dialog-select-label.sc-duet-date-picker{box-shadow:0 0 0 2px #171c3a}.duet-date-dialog-mobile-header.sc-duet-date-picker{position:relative;display:flex;align-items:center;justify-content:space-between;width:120%;padding:12px 20px;margin-bottom:20px;margin-left:-10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #cfd2d4}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker{position:absolute;top:-8px;right:-8px;width:auto;padding:0;margin:0;overflow:visible;border:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-dialog-mobile-header.sc-duet-date-picker{border-color:#cfcfd1}.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:inline-block;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 36em){.duet-date-dialog-mobile-header.sc-duet-date-picker duet-label.sc-duet-date-picker{display:none}}.duet-date-picker-close.sc-duet-date-picker{display:flex;align-items:center;justify-content:center;width:24px;height:24px !important;padding:0 !important;color:#00294d !important;cursor:pointer;background:#f5f8fa !important;border-radius:50%;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker{opacity:0}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f8fa !important}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:hover{background:#f5f5f7 !important}.duet-date-picker-close.sc-duet-date-picker:focus{outline:none;box-shadow:0 0 0 2px #0077b3}@media (min-width: 36em){.duet-date-picker-close.sc-duet-date-picker:focus{opacity:1}}.duet-theme-turva.sc-duet-date-picker .duet-date-picker-close.sc-duet-date-picker:focus{box-shadow:0 0 0 2px #171c3a}";
|
|
4397
4453
|
|
|
4398
|
-
let DuetDatePicker$1 = class extends
|
|
4454
|
+
let DuetDatePicker$1 = class extends H {
|
|
4399
4455
|
constructor() {
|
|
4400
4456
|
super();
|
|
4401
4457
|
this.__registerHost();
|
|
@@ -4436,14 +4492,14 @@ let DuetDatePicker$1 = class extends HTMLElement {
|
|
|
4436
4492
|
*/
|
|
4437
4493
|
this.margin = "auto";
|
|
4438
4494
|
/**
|
|
4439
|
-
* The currently active language. This setting changes the month/year/day
|
|
4495
|
+
* The currently active language. This setting changes the month/year/day.
|
|
4440
4496
|
* names and button labels as well as all screen reader labels.
|
|
4441
|
-
* @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing
|
|
4497
|
+
* @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing.
|
|
4442
4498
|
* @default "fi"
|
|
4443
4499
|
*/
|
|
4444
4500
|
this.language = getLanguage();
|
|
4445
4501
|
/**
|
|
4446
|
-
* Placeholder defaults
|
|
4502
|
+
* Placeholder defaults.
|
|
4447
4503
|
* @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
|
|
4448
4504
|
*/
|
|
4449
4505
|
this.placeholderDefaults = {
|
|
@@ -4506,7 +4562,7 @@ let DuetDatePicker$1 = class extends HTMLElement {
|
|
|
4506
4562
|
*/
|
|
4507
4563
|
this.min = "";
|
|
4508
4564
|
/**
|
|
4509
|
-
* Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD
|
|
4565
|
+
* Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.
|
|
4510
4566
|
* This setting can be used alone or together with the min property.
|
|
4511
4567
|
*/
|
|
4512
4568
|
this.max = "";
|
|
@@ -4803,7 +4859,7 @@ let DuetDatePicker$1 = class extends HTMLElement {
|
|
|
4803
4859
|
|
|
4804
4860
|
const duetDividerCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-divider{-webkit-user-select:none;user-select:none;display:block;width:100%;height:1px;margin-top:36px !important;margin-bottom:28px;background:#e1e3e6}.duet-divider.duet-p-0{padding:0 !important}.duet-divider.duet-m-0{margin:0 !important}.duet-divider.duet-m-s{margin-bottom:16px !important;margin-top:0 !important}.duet-divider.duet-theme-turva{background:#e4e4e6}";
|
|
4805
4861
|
|
|
4806
|
-
let DuetDivider$1 = class extends
|
|
4862
|
+
let DuetDivider$1 = class extends H {
|
|
4807
4863
|
constructor() {
|
|
4808
4864
|
super();
|
|
4809
4865
|
this.__registerHost();
|
|
@@ -4839,9 +4895,297 @@ let DuetDivider$1 = class extends HTMLElement {
|
|
|
4839
4895
|
static get style() { return duetDividerCss; }
|
|
4840
4896
|
};
|
|
4841
4897
|
|
|
4898
|
+
const debounce = (func, timeout = 50) => {
|
|
4899
|
+
let timer;
|
|
4900
|
+
return (...args) => {
|
|
4901
|
+
clearTimeout(timer);
|
|
4902
|
+
timer = setTimeout(() => {
|
|
4903
|
+
func.apply(undefined, args);
|
|
4904
|
+
}, timeout);
|
|
4905
|
+
};
|
|
4906
|
+
};
|
|
4907
|
+
|
|
4908
|
+
const duetEditableTableCss = "duet-editable-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";
|
|
4909
|
+
|
|
4910
|
+
let DuetEditableTable$1 = class extends H {
|
|
4911
|
+
constructor() {
|
|
4912
|
+
super();
|
|
4913
|
+
this.__registerHost();
|
|
4914
|
+
this.__attachShadow();
|
|
4915
|
+
/**
|
|
4916
|
+
* State() variables
|
|
4917
|
+
* @internal
|
|
4918
|
+
*/
|
|
4919
|
+
this.tick = Date.now();
|
|
4920
|
+
/**
|
|
4921
|
+
* Map of items that contain list of things.
|
|
4922
|
+
*/
|
|
4923
|
+
this.items = new Map();
|
|
4924
|
+
/**
|
|
4925
|
+
* Array of internationalized defaults for the default groups labels.
|
|
4926
|
+
*/
|
|
4927
|
+
this.groupsLabelDefaults = {
|
|
4928
|
+
fi: "Kaikki",
|
|
4929
|
+
en: "All items",
|
|
4930
|
+
sv: "Alla objekt",
|
|
4931
|
+
};
|
|
4932
|
+
/**
|
|
4933
|
+
* Array of internationalized defaults for the default action labels.
|
|
4934
|
+
*/
|
|
4935
|
+
this.actionLabelDefaults = {
|
|
4936
|
+
fi: "Toiminnot",
|
|
4937
|
+
en: "Actions",
|
|
4938
|
+
sv: "Handlingar",
|
|
4939
|
+
};
|
|
4940
|
+
/**
|
|
4941
|
+
* Array of group names that you want the editable table to display (can be used to hide or show groups depending on conditions).
|
|
4942
|
+
* @default { id: "all", label: this.groupsLabelDefaults, actionLabel: this.actionLabelDefaults }.
|
|
4943
|
+
* @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}].
|
|
4944
|
+
*/
|
|
4945
|
+
this.groups = [
|
|
4946
|
+
{ id: "all", label: this.groupsLabelDefaults, actionLabel: this.actionLabelDefaults },
|
|
4947
|
+
];
|
|
4948
|
+
/**
|
|
4949
|
+
* Array of actions that are mapped via the map variable to the various groups defined in group.
|
|
4950
|
+
* @default undefined
|
|
4951
|
+
* @example [{
|
|
4952
|
+
variation: "default",
|
|
4953
|
+
icon: "action-edit-2",
|
|
4954
|
+
id: "edit",
|
|
4955
|
+
map: ["success"],
|
|
4956
|
+
label: {
|
|
4957
|
+
fi: " Label",
|
|
4958
|
+
en: " Label",
|
|
4959
|
+
sv: " Label",
|
|
4960
|
+
}
|
|
4961
|
+
}]
|
|
4962
|
+
*/
|
|
4963
|
+
this.actions = undefined;
|
|
4964
|
+
/**
|
|
4965
|
+
* Shows or hides the table labels.
|
|
4966
|
+
*/
|
|
4967
|
+
this.hideGroups = false;
|
|
4968
|
+
/**
|
|
4969
|
+
* Exposes the aria role for optimizing accessibility.
|
|
4970
|
+
*/
|
|
4971
|
+
this.accessibleRole = undefined;
|
|
4972
|
+
/**
|
|
4973
|
+
* Private methods.
|
|
4974
|
+
*/
|
|
4975
|
+
this.kick = debounce(() => {
|
|
4976
|
+
this.tick = Date.now();
|
|
4977
|
+
}, 100); // will trigger re-render
|
|
4978
|
+
this.filterMap = needle => {
|
|
4979
|
+
if (needle === "all") {
|
|
4980
|
+
return Array.from(this.items);
|
|
4981
|
+
}
|
|
4982
|
+
return Array.from(this.items).filter(item => needle === item[1].group);
|
|
4983
|
+
};
|
|
4984
|
+
}
|
|
4985
|
+
/**
|
|
4986
|
+
* Component lifecycle events.
|
|
4987
|
+
*/
|
|
4988
|
+
componentWillLoad() {
|
|
4989
|
+
if (typeof this.groups === "string") {
|
|
4990
|
+
this.internalGroupArray = sanitizeString(this.groups);
|
|
4991
|
+
}
|
|
4992
|
+
else {
|
|
4993
|
+
this.internalGroupArray = this.groups;
|
|
4994
|
+
}
|
|
4995
|
+
if (typeof this.actions === "string") {
|
|
4996
|
+
this.internalActionsArray = sanitizeString(this.actions);
|
|
4997
|
+
}
|
|
4998
|
+
else {
|
|
4999
|
+
this.internalActionsArray = this.actions;
|
|
5000
|
+
}
|
|
5001
|
+
inheritGlobalTheme(this);
|
|
5002
|
+
}
|
|
5003
|
+
/**
|
|
5004
|
+
* Method to force an update of a tabular data array.
|
|
5005
|
+
* when called the method will rerender the entire tabular structure.
|
|
5006
|
+
*/
|
|
5007
|
+
async updateTable(passedItems = undefined) {
|
|
5008
|
+
this.items = new Map(passedItems || this.items);
|
|
5009
|
+
this.kick();
|
|
5010
|
+
}
|
|
5011
|
+
render() {
|
|
5012
|
+
return (h$1(Host, { class: {
|
|
5013
|
+
"duet-theme-turva": this.theme === "turva",
|
|
5014
|
+
} }, this.internalGroupArray.map(group => {
|
|
5015
|
+
const currentGroup = this.filterMap(group.id);
|
|
5016
|
+
if (!currentGroup.length) {
|
|
5017
|
+
return;
|
|
5018
|
+
}
|
|
5019
|
+
return (h$1("duet-table", { variation: "plain", breakpoint: "none", role: "", margin: this.hideGroups ? "none" : "auto" }, h$1("table", { class: "duet-editable-table", "aria-role": this.accessibleRole }, h$1("thead", { class: "duet-editable-table-header" }, h$1("tr", null, h$1("th", { class: {
|
|
5020
|
+
"duet-editable-table-header-hidden": this.hideGroups,
|
|
5021
|
+
} }, !this.hideGroups ? (getLocaleString(group.label)) : (h$1("duet-visually-hidden", null, getLocaleString(group.label)))), h$1("th", { class: {
|
|
5022
|
+
"duet-editable-table-header-hidden": this.hideGroups,
|
|
5023
|
+
} }, h$1("duet-visually-hidden", null, group.actionLabel
|
|
5024
|
+
? getLocaleString(group.actionLabel)
|
|
5025
|
+
: getLocaleString(this.actionLabelDefaults))))), h$1("tbody", null, currentGroup.map(dataAsArray => {
|
|
5026
|
+
const [key, value] = dataAsArray;
|
|
5027
|
+
return (h$1("duet-editable-table-item", { keyName: key, data: Object.assign({}, value), groupId: group.id, part: group.id, actions: this.internalActionsArray }));
|
|
5028
|
+
})))));
|
|
5029
|
+
})));
|
|
5030
|
+
}
|
|
5031
|
+
get element() { return this; }
|
|
5032
|
+
static get style() { return duetEditableTableCss; }
|
|
5033
|
+
};
|
|
5034
|
+
|
|
5035
|
+
const duetEditableTableButtonCss = "*.sc-duet-editable-table-button,*.sc-duet-editable-table-button::after,*.sc-duet-editable-table-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-editable-table-button-h button.sc-duet-editable-table-button{display:flex;align-content:space-between;justify-content:center;min-width:32px;max-width:32px;height:100%;min-height:32px;max-height:32px;padding:0;margin:0;cursor:pointer !important;background-color:transparent;border:1px solid;border-radius:50%}.sc-duet-editable-table-button-h button.sc-duet-editable-table-button duet-icon.sc-duet-editable-table-button{align-self:center}";
|
|
5036
|
+
|
|
5037
|
+
let DuetEditableTableButton$1 = class extends H {
|
|
5038
|
+
constructor() {
|
|
5039
|
+
super();
|
|
5040
|
+
this.__registerHost();
|
|
5041
|
+
this.duetEditableItemAction = createEvent$2(this, "duetEditableItemAction", 7);
|
|
5042
|
+
this.isHovering = false;
|
|
5043
|
+
/**
|
|
5044
|
+
* Theme of the empty state component.
|
|
5045
|
+
*/
|
|
5046
|
+
this.theme = "";
|
|
5047
|
+
/**
|
|
5048
|
+
* action items passed from host component
|
|
5049
|
+
* @internal
|
|
5050
|
+
*/
|
|
5051
|
+
this.actions = undefined;
|
|
5052
|
+
/**
|
|
5053
|
+
* uid that gets passed along when the action is emitted
|
|
5054
|
+
* @internal
|
|
5055
|
+
*/
|
|
5056
|
+
this.uid = "";
|
|
5057
|
+
/**
|
|
5058
|
+
* group associated with action
|
|
5059
|
+
* @internal
|
|
5060
|
+
*/
|
|
5061
|
+
this.group = "";
|
|
5062
|
+
/**
|
|
5063
|
+
* key of the item in the map
|
|
5064
|
+
* @internal
|
|
5065
|
+
*/
|
|
5066
|
+
this.keyName = "";
|
|
5067
|
+
this.onMouseEnter = () => {
|
|
5068
|
+
this.isHovering = true;
|
|
5069
|
+
};
|
|
5070
|
+
this.onMouseLeave = () => {
|
|
5071
|
+
this.isHovering = false;
|
|
5072
|
+
};
|
|
5073
|
+
}
|
|
5074
|
+
/**
|
|
5075
|
+
/**
|
|
5076
|
+
* Component lifecycle events.
|
|
5077
|
+
*/
|
|
5078
|
+
componentWillLoad() {
|
|
5079
|
+
inheritGlobalTheme(this);
|
|
5080
|
+
}
|
|
5081
|
+
/**
|
|
5082
|
+
/**
|
|
5083
|
+
* private functions
|
|
5084
|
+
*/
|
|
5085
|
+
emitActionEvent(ev) {
|
|
5086
|
+
this.duetEditableItemAction.emit({
|
|
5087
|
+
originalEvent: ev,
|
|
5088
|
+
uid: this.uid,
|
|
5089
|
+
group: this.group,
|
|
5090
|
+
action: this.actions.id,
|
|
5091
|
+
keyName: this.keyName,
|
|
5092
|
+
component: "duet-editable-table-item",
|
|
5093
|
+
});
|
|
5094
|
+
}
|
|
5095
|
+
/**
|
|
5096
|
+
* render() function
|
|
5097
|
+
* Always the last one in the class.
|
|
5098
|
+
*/
|
|
5099
|
+
render() {
|
|
5100
|
+
return (h$1("button", { style: {
|
|
5101
|
+
"border-color": this.isHovering
|
|
5102
|
+
? getColorByName(this.actions.color_hover)
|
|
5103
|
+
: getColorByName(this.actions.color),
|
|
5104
|
+
}, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, role: "menuitem", class: "duet-editable-table-actions-items-button", "aria-label": this.actions.label ? getLocaleString(this.actions.label) : undefined, onClick: ev => this.emitActionEvent(ev) }, h$1("duet-icon", { class: "duet-editable-table-actions-items-icon", size: "x-small", name: this.actions.icon, color: this.isHovering ? this.actions.color_hover : this.actions.color, margin: "none" })));
|
|
5105
|
+
}
|
|
5106
|
+
get el() { return this; }
|
|
5107
|
+
static get style() { return duetEditableTableButtonCss; }
|
|
5108
|
+
};
|
|
5109
|
+
|
|
5110
|
+
//simple functional component that renders the data in the table
|
|
5111
|
+
const TableData = ({ data, groupId }, _children) => {
|
|
5112
|
+
if (typeof data === "string") {
|
|
5113
|
+
return h("td", { innerHTML: data, class: "duet-editable-table-content", part: `${groupId}content` });
|
|
5114
|
+
}
|
|
5115
|
+
else {
|
|
5116
|
+
return (h("td", { class: "duet-editable-table-content", part: `${groupId}content` }, data));
|
|
5117
|
+
}
|
|
5118
|
+
};
|
|
5119
|
+
|
|
5120
|
+
const duetEditableTableItemCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{display:table-row;height:32px}.duet-editable-table-content,.duet-editable-table-actions{height:32px;padding:12px 0;vertical-align:middle;break-word:break-all;border-bottom:1px solid #e1e3e6}.duet-editable-table-actions-items{display:flex;justify-content:flex-end}.duet-editable-table-actions-items duet-editable-table-button{padding-left:8px}.duet-editable-table .editable-item-small{font-size:0.75rem;font-weight:400}";
|
|
5121
|
+
|
|
5122
|
+
let DuetEditableTableItem$1 = class extends H {
|
|
5123
|
+
constructor() {
|
|
5124
|
+
super();
|
|
5125
|
+
this.__registerHost();
|
|
5126
|
+
this.__attachShadow();
|
|
5127
|
+
this.duetEditableItemAction = createEvent$2(this, "duetEditableItemAction", 7);
|
|
5128
|
+
this.isHovering = false;
|
|
5129
|
+
/**
|
|
5130
|
+
* Theme of the empty state component.
|
|
5131
|
+
*/
|
|
5132
|
+
this.theme = "";
|
|
5133
|
+
/**
|
|
5134
|
+
* Actions that can be performed on the element
|
|
5135
|
+
*/
|
|
5136
|
+
this.actions = undefined;
|
|
5137
|
+
/**
|
|
5138
|
+
* GroupId used to pierce the shadowdom - gets concatenated with "content & actions" and used as part="groupIDcontent/actions" to pierce the content/Action item
|
|
5139
|
+
* @internal
|
|
5140
|
+
*/
|
|
5141
|
+
this.groupId = "";
|
|
5142
|
+
/**
|
|
5143
|
+
* Key used to identify item, when running actions
|
|
5144
|
+
*/
|
|
5145
|
+
this.keyName = "";
|
|
5146
|
+
/**
|
|
5147
|
+
* Object of data itemsused to render the entire row
|
|
5148
|
+
*/
|
|
5149
|
+
this.data = undefined;
|
|
5150
|
+
}
|
|
5151
|
+
watchPropHandler(_newValue, _oldValue) {
|
|
5152
|
+
// console.log("The new value of activated is: ", _newValue)
|
|
5153
|
+
}
|
|
5154
|
+
/**
|
|
5155
|
+
/**
|
|
5156
|
+
* Component lifecycle events.
|
|
5157
|
+
*/
|
|
5158
|
+
componentWillLoad() {
|
|
5159
|
+
inheritGlobalTheme(this);
|
|
5160
|
+
}
|
|
5161
|
+
/**
|
|
5162
|
+
/**
|
|
5163
|
+
* private functions
|
|
5164
|
+
*/
|
|
5165
|
+
/**
|
|
5166
|
+
* render() function
|
|
5167
|
+
* Always the last one in the class.
|
|
5168
|
+
*/
|
|
5169
|
+
render() {
|
|
5170
|
+
return (h$1(Host, { role: "row" }, h$1(TableData, { data: this.data.item, groupId: this.groupId }), h$1("td", { class: "duet-editable-table-actions" }, h$1("div", { class: "duet-editable-table-actions-items", part: `${this.groupId}actions` }, this.actions.map(result => {
|
|
5171
|
+
const { map = undefined } = result;
|
|
5172
|
+
// if map has been specified, only show the current action if groupID matches the map array
|
|
5173
|
+
if (map && !map.includes(this.groupId)) {
|
|
5174
|
+
return;
|
|
5175
|
+
}
|
|
5176
|
+
return (h$1("duet-editable-table-button", { keyName: this.keyName, group: this.data.group, uid: this.data.uid, actions: result, theme: this.theme }));
|
|
5177
|
+
})))));
|
|
5178
|
+
}
|
|
5179
|
+
get el() { return this; }
|
|
5180
|
+
static get watchers() { return {
|
|
5181
|
+
"data": ["watchPropHandler"]
|
|
5182
|
+
}; }
|
|
5183
|
+
static get style() { return duetEditableTableItemCss; }
|
|
5184
|
+
};
|
|
5185
|
+
|
|
4842
5186
|
const duetEmptyStateCss = "*,*::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%;height:100%}.duet-empty-state{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:100%;padding:48px;color:#00294d;text-align:center;background:#f5f8fa;border-radius:4px}.duet-empty-state.duet-theme-turva{color:#171c3a;background:#f5f5f7}";
|
|
4843
5187
|
|
|
4844
|
-
let DuetEmptyState$1 = class extends
|
|
5188
|
+
let DuetEmptyState$1 = class extends H {
|
|
4845
5189
|
constructor() {
|
|
4846
5190
|
super();
|
|
4847
5191
|
this.__registerHost();
|
|
@@ -4881,7 +5225,7 @@ let DuetEmptyState$1 = class extends HTMLElement {
|
|
|
4881
5225
|
|
|
4882
5226
|
const duetFieldsetCss = "*,*::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;margin-bottom:12px !important;display:block;width:100%}:host(.duet-m-0){margin:0 !important}fieldset{border:0}legend{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-legend-wrapper{position:relative;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:1rem;font-weight:600;line-height:1.5;color:#00294d;text-align:left;background:transparent}.duet-theme-turva .duet-legend-wrapper{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}.duet-fieldset-label{margin-bottom:12px !important;margin-top:8px}.duet-legend-has-caption .duet-fieldset-label{margin-bottom:6px !important}.duet-legend-has-tooltip .duet-fieldset-label{padding-right:36px}@media (min-width: 48em){.duet-legend-has-tooltip .duet-fieldset-label{margin-bottom:3px !important;padding-right:0}}@media (min-width: 48em){.duet-legend-has-tooltip.duet-legend-has-caption .duet-fieldset-label{margin-bottom:-3px !important}}.duet-fieldset-caption{margin-bottom:12px !important}.duet-fieldset-help{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#de2362;border-radius:4px}.duet-fieldset-help span{display:block;margin-top:12px}.duet-theme-turva .duet-fieldset-help{color:#e02a0d}::slotted(duet-tooltip){position:absolute;top:4px;right:0}@media (min-width: 48em){::slotted(duet-tooltip){position:relative;right:auto}}.duet-legend-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
4883
5227
|
|
|
4884
|
-
let DuetFieldset$1 = class extends
|
|
5228
|
+
let DuetFieldset$1 = class extends H {
|
|
4885
5229
|
constructor() {
|
|
4886
5230
|
super();
|
|
4887
5231
|
this.__registerHost();
|
|
@@ -4949,7 +5293,7 @@ const createEvent$1 = (ev, data) => ({
|
|
|
4949
5293
|
data,
|
|
4950
5294
|
originalEvent: ev,
|
|
4951
5295
|
});
|
|
4952
|
-
let DuetFooter$1 = class extends
|
|
5296
|
+
let DuetFooter$1 = class extends H {
|
|
4953
5297
|
constructor() {
|
|
4954
5298
|
super();
|
|
4955
5299
|
this.__registerHost();
|
|
@@ -5070,10 +5414,11 @@ const duetGridCss = ".sc-duet-grid-h{box-sizing:border-box;padding:0;margin:0;ba
|
|
|
5070
5414
|
function isGridItem(element) {
|
|
5071
5415
|
return element.tagName.toLowerCase() === "duet-grid-item";
|
|
5072
5416
|
}
|
|
5073
|
-
let DuetGrid$1 = class extends
|
|
5417
|
+
let DuetGrid$1 = class extends H {
|
|
5074
5418
|
constructor() {
|
|
5075
5419
|
super();
|
|
5076
5420
|
this.__registerHost();
|
|
5421
|
+
this.distributeFormElement = false;
|
|
5077
5422
|
/**
|
|
5078
5423
|
* Enable or disable the automatic responsive behaviour of the grid component.
|
|
5079
5424
|
* Setting this option to "true" makes sure that contents are stacked vertically
|
|
@@ -5090,7 +5435,9 @@ let DuetGrid$1 = class extends HTMLElement {
|
|
|
5090
5435
|
*/
|
|
5091
5436
|
this.direction = "horizontal";
|
|
5092
5437
|
/**
|
|
5093
|
-
* Adjusts the vertical alignment of the grid items
|
|
5438
|
+
* Adjusts the vertical alignment of the grid items, if set to "form_distribute"
|
|
5439
|
+
* the grid will try to calculate correct paddings for any duet-input fields inside duet-grid-items,
|
|
5440
|
+
* so that they align even when displaying errors.
|
|
5094
5441
|
*/
|
|
5095
5442
|
this.alignment = "top";
|
|
5096
5443
|
/**
|
|
@@ -5102,14 +5449,34 @@ let DuetGrid$1 = class extends HTMLElement {
|
|
|
5102
5449
|
*/
|
|
5103
5450
|
this.mobile = "";
|
|
5104
5451
|
}
|
|
5452
|
+
/**
|
|
5453
|
+
* Private functions
|
|
5454
|
+
*/
|
|
5455
|
+
/**
|
|
5456
|
+
* Returns the element height including margins
|
|
5457
|
+
* @param element - element
|
|
5458
|
+
* @returns {number}
|
|
5459
|
+
*/
|
|
5460
|
+
outerHeight(element) {
|
|
5461
|
+
const height = element.offsetHeight, style = window.getComputedStyle(element);
|
|
5462
|
+
return ["top", "bottom"]
|
|
5463
|
+
.map(side => parseInt(style[`margin-${side}`]))
|
|
5464
|
+
.reduce((total, side) => total + side, height);
|
|
5465
|
+
}
|
|
5105
5466
|
/**
|
|
5106
5467
|
* Component lifecycle events.
|
|
5107
5468
|
*/
|
|
5108
5469
|
async connectedCallback() {
|
|
5109
5470
|
const el = this.element;
|
|
5471
|
+
this.distributeFormElement = this.alignment === "form_distribute";
|
|
5110
5472
|
this.mutationO = watchForOptions(el, "duet-grid-item", () => {
|
|
5111
5473
|
this.updateGridItems();
|
|
5112
5474
|
});
|
|
5475
|
+
if (this.distributeFormElement) {
|
|
5476
|
+
this.mutation1 = watchForElement(el, "duet-input", () => {
|
|
5477
|
+
this.updateGridItemsWithInputFields();
|
|
5478
|
+
});
|
|
5479
|
+
}
|
|
5113
5480
|
this.updateGridItems();
|
|
5114
5481
|
}
|
|
5115
5482
|
disconnectedCallback() {
|
|
@@ -5117,6 +5484,10 @@ let DuetGrid$1 = class extends HTMLElement {
|
|
|
5117
5484
|
this.mutationO.disconnect();
|
|
5118
5485
|
this.mutationO = undefined;
|
|
5119
5486
|
}
|
|
5487
|
+
if (this.mutation1) {
|
|
5488
|
+
this.mutation1.disconnect();
|
|
5489
|
+
this.mutation1 = undefined;
|
|
5490
|
+
}
|
|
5120
5491
|
}
|
|
5121
5492
|
/**
|
|
5122
5493
|
* Local methods
|
|
@@ -5128,6 +5499,27 @@ let DuetGrid$1 = class extends HTMLElement {
|
|
|
5128
5499
|
item.breakpoint = this.breakpoint;
|
|
5129
5500
|
});
|
|
5130
5501
|
}
|
|
5502
|
+
async updateGridItemsWithInputFields() {
|
|
5503
|
+
const items = Array.from(this.element.children).filter(isGridItem);
|
|
5504
|
+
let maxHeight = 0;
|
|
5505
|
+
const sizes = [];
|
|
5506
|
+
items.forEach(item => {
|
|
5507
|
+
const inputErrorDom = item.querySelector("span.duet-input-error");
|
|
5508
|
+
const height = inputErrorDom ? this.outerHeight(inputErrorDom) : 0;
|
|
5509
|
+
sizes.push(height);
|
|
5510
|
+
});
|
|
5511
|
+
maxHeight = Math.max(...sizes);
|
|
5512
|
+
items.forEach(item => {
|
|
5513
|
+
const inputErrorDom = item.querySelector("span.duet-input-error");
|
|
5514
|
+
const height = inputErrorDom ? this.outerHeight(inputErrorDom) : 0;
|
|
5515
|
+
if (height < maxHeight) {
|
|
5516
|
+
item.setAttribute("style", `padding-bottom: ${maxHeight - height}px;`);
|
|
5517
|
+
}
|
|
5518
|
+
else if (height === maxHeight) {
|
|
5519
|
+
item.setAttribute("style", `padding-bottom: 0px;`);
|
|
5520
|
+
}
|
|
5521
|
+
});
|
|
5522
|
+
}
|
|
5131
5523
|
/**
|
|
5132
5524
|
* render() function
|
|
5133
5525
|
* Always the last one in the class.
|
|
@@ -5137,7 +5529,7 @@ let DuetGrid$1 = class extends HTMLElement {
|
|
|
5137
5529
|
"duet-grid": true,
|
|
5138
5530
|
"duet-no-stacking": !this.responsive,
|
|
5139
5531
|
"duet-grid-align-top": this.alignment === "top",
|
|
5140
|
-
"duet-grid-align-bottom": this.alignment === "bottom",
|
|
5532
|
+
"duet-grid-align-bottom": this.alignment === "bottom" || this.alignment === "form_distribute",
|
|
5141
5533
|
"duet-grid-align-center": this.alignment === "center",
|
|
5142
5534
|
"duet-grid-align-stretch": this.alignment === "stretch",
|
|
5143
5535
|
"duet-grid-align-baseline": this.alignment === "baseline",
|
|
@@ -5167,7 +5559,7 @@ let DuetGrid$1 = class extends HTMLElement {
|
|
|
5167
5559
|
|
|
5168
5560
|
const duetGridItemCss = ".sc-duet-grid-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:#00294d}.sc-duet-grid-item-h:first-child,.sc-duet-grid-item-h:first-of-type{padding-left:0}.sc-duet-grid-item-h:last-child,.sc-duet-grid-item-h:last-of-type{padding-right:0}@media (max-width: 35.9375em){.duet-grid-item-responsive.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){.duet-grid-item-br-medium.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){.duet-grid-item-responsive.duet-grid-item-br-medium.sc-duet-grid-item-h{padding-right:0;padding-left:0}}@media screen and (max-width: 64em){.duet-grid-item-br-x-large.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){.duet-grid-item-responsive.duet-grid-item-br-x-large.sc-duet-grid-item-h{padding-right:0;padding-left:0}}.duet-grid-item-fill.sc-duet-grid-item-h{flex:1 1 auto;width:100%}.duet-theme-turva.sc-duet-grid-item-h{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}.duet-m-0.sc-duet-grid-item-h{padding:0 !important;margin:0 !important}";
|
|
5169
5561
|
|
|
5170
|
-
let DuetGridItem$1 = class extends
|
|
5562
|
+
let DuetGridItem$1 = class extends H {
|
|
5171
5563
|
constructor() {
|
|
5172
5564
|
super();
|
|
5173
5565
|
this.__registerHost();
|
|
@@ -5420,7 +5812,7 @@ const createEvent = (ev, data) => ({
|
|
|
5420
5812
|
data,
|
|
5421
5813
|
originalEvent: ev,
|
|
5422
5814
|
});
|
|
5423
|
-
let DuetHeader$1 = class extends
|
|
5815
|
+
let DuetHeader$1 = class extends H {
|
|
5424
5816
|
constructor() {
|
|
5425
5817
|
super();
|
|
5426
5818
|
this.__registerHost();
|
|
@@ -5826,9 +6218,9 @@ let DuetHeader$1 = class extends HTMLElement {
|
|
|
5826
6218
|
static get style() { return duetHeaderCss; }
|
|
5827
6219
|
};
|
|
5828
6220
|
|
|
5829
|
-
const duetHeadingCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-heading{margin-bottom:16px !important;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-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;letter-spacing:-0.01rem;word-break:break-word}@media (min-width: 36em){.duet-heading{margin-bottom:20px !important}}.duet-heading.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\";font-style:italic;font-weight:700;color:#171c3a}.duet-heading.duet-heading-border{padding-bottom:20px;border-bottom:1px solid #e1e3e6}.duet-heading.duet-heading-hyphenate{-webkit-hyphens:auto;hyphens:auto}.duet-heading.h0{font-size:9.4vw}.duet-heading.h0.duet-p-0{padding:0 !important}.duet-heading.h0.duet-m-0{margin:0 !important}@media (max-width: 31.914893617rem){.duet-heading.h0{font-size:3rem}}@media (min-width: 47.8723404255rem){.duet-heading.h0{font-size:4.5rem}}@media (max-width: 22.5em){.duet-heading.h0{font-size:2.25rem}}.duet-heading.h1{font-size:7vw}.duet-heading.h1.duet-p-0{padding:0 !important}.duet-heading.h1.duet-m-0{margin:0 !important}@media (max-width: 32.1428571429rem){.duet-heading.h1{font-size:2.25rem}}@media (min-width: 42.8571428571rem){.duet-heading.h1{font-size:3rem}}@media (max-width: 22.5em){.duet-heading.h1{font-size:1.5rem}}.duet-heading.h2{font-size:5.8vw}.duet-heading.h2.duet-p-0{padding:0 !important}.duet-heading.h2.duet-m-0{margin:0 !important}@media (max-width: 25.8620689655rem){.duet-heading.h2{font-size:1.5rem}}@media (min-width: 38.7931034483rem){.duet-heading.h2{font-size:2.25rem}}@media (max-width: 22.5em){.duet-heading.h2{font-size:1.375rem}}.duet-heading.h3{margin-bottom:12px !important;font-size:4.2vw}.duet-heading.h3.duet-p-0{padding:0 !important}.duet-heading.h3.duet-m-0{margin:0 !important}@media (max-width: 29.7619047619rem){.duet-heading.h3{font-size:1.25rem}}@media (min-width: 35.7142857143rem){.duet-heading.h3{font-size:1.5rem}}.duet-heading.h3.duet-theme-turva{font-style:normal}.duet-heading.h3.duet-heading-border{padding-bottom:20px}.duet-heading.h4{margin-bottom:8px !important;font-size:4vw;letter-spacing:0}.duet-heading.h4.duet-p-0{padding:0 !important}.duet-heading.h4.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h4{font-size:1.1rem}}@media (min-width: 31.25rem){.duet-heading.h4{font-size:1.25rem}}.duet-heading.h4.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h4.duet-heading-border{padding-bottom:20px}.duet-heading.h5{margin-bottom:8px !important;font-size:4vw;font-weight:600;letter-spacing:0}.duet-heading.h5.duet-p-0{padding:0 !important}.duet-heading.h5.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h5{font-size:1.1rem}}@media (min-width: 28.4090909091rem){.duet-heading.h5{font-size:1.1363636364rem}}.duet-heading.h5.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h5.duet-heading-border{padding-bottom:16px}.duet-heading.h6{margin-bottom:8px !important;font-size:1rem;font-weight:600;letter-spacing:0}.duet-heading.h6.duet-p-0{padding:0 !important}.duet-heading.h6.duet-m-0{margin:0 !important}.duet-heading.h6.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h6.duet-heading-border{padding-bottom:16px}.duet-heading.duet-semibold,.duet-heading.duet-theme-turva.duet-semibold{font-style:normal !important;font-weight:600 !important}";
|
|
6221
|
+
const duetHeadingCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-heading{margin-bottom:16px !important;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-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;text-decoration:none;letter-spacing:-0.01rem;word-break:break-word}@media (min-width: 36em){.duet-heading{margin-bottom:20px !important}}.duet-heading.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\";font-style:italic;font-weight:700;color:#171c3a}.duet-heading.duet-heading-border{padding-bottom:20px;border-bottom:1px solid #e1e3e6}.duet-heading.duet-heading-border.duet-heading-border-solid{border-bottom-color:#657787}.duet-heading.duet-heading-hyphenate{-webkit-hyphens:auto;hyphens:auto}.duet-heading.h0{font-size:9.4vw}.duet-heading.h0.duet-p-0{padding:0 !important}.duet-heading.h0.duet-m-0{margin:0 !important}@media (max-width: 31.914893617rem){.duet-heading.h0{font-size:3rem}}@media (min-width: 47.8723404255rem){.duet-heading.h0{font-size:4.5rem}}@media (max-width: 22.5em){.duet-heading.h0{font-size:2.25rem}}.duet-heading.h1{font-size:7vw}.duet-heading.h1.duet-p-0{padding:0 !important}.duet-heading.h1.duet-m-0{margin:0 !important}@media (max-width: 32.1428571429rem){.duet-heading.h1{font-size:2.25rem}}@media (min-width: 42.8571428571rem){.duet-heading.h1{font-size:3rem}}@media (max-width: 22.5em){.duet-heading.h1{font-size:1.5rem}}.duet-heading.h2{font-size:5.8vw}.duet-heading.h2.duet-p-0{padding:0 !important}.duet-heading.h2.duet-m-0{margin:0 !important}@media (max-width: 25.8620689655rem){.duet-heading.h2{font-size:1.5rem}}@media (min-width: 38.7931034483rem){.duet-heading.h2{font-size:2.25rem}}@media (max-width: 22.5em){.duet-heading.h2{font-size:1.375rem}}.duet-heading.h3{margin-bottom:12px !important;font-size:4.2vw}.duet-heading.h3.duet-p-0{padding:0 !important}.duet-heading.h3.duet-m-0{margin:0 !important}@media (max-width: 29.7619047619rem){.duet-heading.h3{font-size:1.25rem}}@media (min-width: 35.7142857143rem){.duet-heading.h3{font-size:1.5rem}}.duet-heading.h3.duet-theme-turva{font-style:normal}.duet-heading.h3.duet-heading-border{padding-bottom:20px}.duet-heading.h4{margin-bottom:8px !important;font-size:4vw;letter-spacing:0}.duet-heading.h4.duet-p-0{padding:0 !important}.duet-heading.h4.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h4{font-size:1.1rem}}@media (min-width: 31.25rem){.duet-heading.h4{font-size:1.25rem}}.duet-heading.h4.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h4.duet-heading-border{padding-bottom:20px}.duet-heading.h5{margin-bottom:8px !important;font-size:4vw;font-weight:600;letter-spacing:0}.duet-heading.h5.duet-p-0{padding:0 !important}.duet-heading.h5.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h5{font-size:1.1rem}}@media (min-width: 28.4090909091rem){.duet-heading.h5{font-size:1.1363636364rem}}.duet-heading.h5.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h5.duet-heading-border{padding-bottom:16px}.duet-heading.h6{margin-bottom:8px !important;font-size:1rem;font-weight:600;letter-spacing:0}.duet-heading.h6.duet-p-0{padding:0 !important}.duet-heading.h6.duet-m-0{margin:0 !important}.duet-heading.h6.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h6.duet-heading-border{padding-bottom:16px}.duet-heading.duet-semibold,.duet-heading.duet-theme-turva.duet-semibold{font-style:normal !important;font-weight:600 !important}";
|
|
5830
6222
|
|
|
5831
|
-
let DuetHeading$1 = class extends
|
|
6223
|
+
let DuetHeading$1 = class extends H {
|
|
5832
6224
|
constructor() {
|
|
5833
6225
|
super();
|
|
5834
6226
|
this.__registerHost();
|
|
@@ -5842,7 +6234,7 @@ let DuetHeading$1 = class extends HTMLElement {
|
|
|
5842
6234
|
*/
|
|
5843
6235
|
this.margin = "auto";
|
|
5844
6236
|
/**
|
|
5845
|
-
* Enable or disable the border underneath the heading
|
|
6237
|
+
* Enable or disable the border underneath the heading, solid will darken the border
|
|
5846
6238
|
*/
|
|
5847
6239
|
this.border = false;
|
|
5848
6240
|
/**
|
|
@@ -5879,7 +6271,8 @@ let DuetHeading$1 = class extends HTMLElement {
|
|
|
5879
6271
|
const color = getColorByName(this.color);
|
|
5880
6272
|
return (h$1(TagName, { class: {
|
|
5881
6273
|
"duet-heading": true,
|
|
5882
|
-
"duet-heading-border": this.border,
|
|
6274
|
+
"duet-heading-border": this.border !== false,
|
|
6275
|
+
"duet-heading-border-solid": this.border === "solid",
|
|
5883
6276
|
"duet-semibold": this.weight === "semibold",
|
|
5884
6277
|
"duet-heading-hyphenate": this.hyphenate,
|
|
5885
6278
|
"duet-m-0": this.margin === "none",
|
|
@@ -5893,7 +6286,7 @@ let DuetHeading$1 = class extends HTMLElement {
|
|
|
5893
6286
|
|
|
5894
6287
|
const duetHeroCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:#00294d}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:#00294d;background-color:white;background-image:linear-gradient(#f3f9fc, #f9fcfe)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, white)}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:#171c3a;background-image:linear-gradient(#f5f5f7, #fafafb)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fafafb, white)}.duet-hero.duet-hero-gray{color:#00294d;background:#f5f8fa}.duet-hero.duet-hero-gray.duet-theme-turva{background:#f5f5f7}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-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:#c60c30}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}.duet-theme-turva .duet-hero-image-wrapper{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-hero-image-wrapper .duet-hero-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image{top:0;left:0;width:100%;height:100%;transform:none}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:#0077b3;text-align:left;text-decoration:none;border-bottom:1px solid #e1e3e6;transition:background-color 300ms ease}.duet-hero-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:#004d80 !important;background:transparent !important}.duet-theme-turva .duet-hero-link:hover,.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:#940925 !important}.duet-theme-turva .duet-hero-link{color:#c60c30}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid #e1e3e6}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:#0077b3}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-theme-turva .duet-hero-action-arrow{color:#c60c30}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}";
|
|
5895
6288
|
|
|
5896
|
-
let DuetHero$1 = class extends
|
|
6289
|
+
let DuetHero$1 = class extends H {
|
|
5897
6290
|
constructor() {
|
|
5898
6291
|
super();
|
|
5899
6292
|
this.__registerHost();
|
|
@@ -6172,7 +6565,7 @@ function fetchIconByUrl(url) {
|
|
|
6172
6565
|
|
|
6173
6566
|
const duetIconCss = "*,*::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;margin-bottom:16px !important;display:inline-block;width:auto;max-width:100%;color:inherit;-webkit-tap-highlight-color:transparent}@media (max-width: 35.9375em){:host(.duet-icon-has-outline){margin-bottom:0 !important}}@media (max-width: 35.9375em){:host(.duet-icon-has-background){margin-bottom:0 !important}}:host(.duet-m-0){margin:0 !important}@media (max-width: 35.9375em){:host(.duet-m-0){margin:0 !important}}.duet-icon{-webkit-user-select:none;user-select:none;width:100%;height:100%;transform-origin:top center}.duet-icon.duet-icon-has-outline{padding:12px;border-style:solid;border-width:1px;border-radius:50%}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-outline{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background{padding:16px;color:white;border-radius:50%}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-background{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background.duet-theme-turva,.duet-icon.duet-icon-has-background.duet-theme-default{color:white}.duet-icon.duet-icon-has-background.xxx-small .duet-icon-svg,.duet-icon.duet-icon-has-outline.xxx-small .duet-icon-svg{width:10px;height:10px}.duet-icon.duet-icon-has-background.xx-small .duet-icon-svg,.duet-icon.duet-icon-has-outline.xx-small .duet-icon-svg{width:16px;height:16px}@media (max-width: 35.9375em){.duet-icon.duet-icon-not-responsive{transform:scale(1) !important}}.duet-icon.duet-theme-default{color:#0077b3}.duet-icon.duet-theme-turva{color:#c60c30}.duet-icon.auto .duet-icon-svg{width:100%;height:100%}.duet-icon.xxx-small .duet-icon-svg{width:7px;height:7px}.duet-icon.duet-icon-has-background.xxx-small{padding:6px}.duet-icon.duet-icon-has-outline.xxx-small{padding:4px}.duet-icon.xx-small .duet-icon-svg{width:10px;height:10px}.duet-icon.duet-icon-has-background.xx-small{padding:8px}.duet-icon.duet-icon-has-outline.xx-small{padding:7px}.duet-icon.x-small .duet-icon-svg{width:16px;height:16px}.duet-icon.duet-icon-has-outline.x-small{padding:10px}.duet-icon.duet-icon-has-background.x-small{padding:12px}.duet-icon.small .duet-icon-svg{width:20px;height:20px}.duet-icon.duet-icon-has-background.small{padding:14px}.duet-icon.large .duet-icon-svg{width:30px;height:30px}.duet-icon.x-large .duet-icon-svg{width:36px;height:36px}.duet-icon.xx-large .duet-icon-svg{width:48px;height:48px}.duet-icon.xxx-large .duet-icon-svg{width:48px;height:48px}@media (min-width: 48em){.duet-icon.xxx-large .duet-icon-svg{width:72px;height:72px}}.duet-icon .duet-icon-svg{display:block;width:24px;min-width:100%;height:24px;font-size:0}.duet-icon svg{width:100%;min-width:100%;fill:currentColor}";
|
|
6174
6567
|
|
|
6175
|
-
let DuetIcon$1 = class extends
|
|
6568
|
+
let DuetIcon$1 = class extends H {
|
|
6176
6569
|
constructor() {
|
|
6177
6570
|
super();
|
|
6178
6571
|
this.__registerHost();
|
|
@@ -6228,7 +6621,7 @@ let DuetIcon$1 = class extends HTMLElement {
|
|
|
6228
6621
|
if (this.src && this.icon) {
|
|
6229
6622
|
console.warn("[DUET COMPONENTS]: <duet-icon> should have either have src or icon attributes, but not both. icon attribute will take precedence", "icon:", this.icon, "src:", this.src);
|
|
6230
6623
|
}
|
|
6231
|
-
this.loadIcon();
|
|
6624
|
+
return this.loadIcon();
|
|
6232
6625
|
}
|
|
6233
6626
|
async loadIcon() {
|
|
6234
6627
|
// static icon known at build-time, so we can set it synchronously
|
|
@@ -6332,13 +6725,13 @@ function cleanValue(input, regex) {
|
|
|
6332
6725
|
return newValue;
|
|
6333
6726
|
}
|
|
6334
6727
|
|
|
6335
|
-
const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}duet-tooltip.sc-duet-input{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input{position:relative;top:4px;right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:#171c3a}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:#00294d !important;cursor:initial !important;background:white !important;background-clip:initial !important;border:1px solid #909599 !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#de2362 !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#e02a0d !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{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 !important;border-color:#747475 !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-input.sc-duet-input::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfcfd1}.duet-input.sc-duet-input:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfcfd1}.duet-input[disabled].sc-duet-input{color:#00294d !important;cursor:text !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus{border-color:#0077b3 !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:#171c3a !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#171c3a}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#0077b3}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#747475}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#e02a0d}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}";
|
|
6728
|
+
const duetInputCss = "*.sc-duet-input,*.sc-duet-input::after,*.sc-duet-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-input-h:last-child,.sc-duet-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-input-h{width:100% !important}.duet-m-0.sc-duet-input-h{margin:0 !important}duet-tooltip.sc-duet-input{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-input{position:relative;top:4px;right:auto}}duet-caption.sc-duet-input:not(:last-of-type){margin-bottom:0}.duet-input-placeholder.sc-duet-input{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-input-icon.sc-duet-input{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;font-size:0;line-height:normal;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-input .duet-input-icon.sc-duet-input{color:#171c3a}.duet-input-container.sc-duet-input{position:relative;width:100%;height:100%}.duet-input.sc-duet-input{position:relative;z-index:100;display:block !important;width:100% !important;min-width:8rem;max-width:initial !important;height:auto !important;padding:12px 14px !important;margin:initial !important;margin-bottom:initial !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400 !important;font-variant-numeric:tabular-nums;line-height:1.5 !important;color:#00294d !important;cursor:initial !important;background:white !important;background-clip:initial !important;border:1px solid #909599 !important;border-radius:4px !important;box-shadow:initial !important;transition:box-shadow 150ms ease, border 150ms ease !important}.duet-input.is-number.sc-duet-input{padding-right:112px !important}.duet-input.is-date.sc-duet-input{padding-right:64px !important}.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#de2362 !important}.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input+.duet-input-icon.sc-duet-input{color:#e02a0d !important}.has-icon.sc-duet-input .duet-input.sc-duet-input{padding-right:48px !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input{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 !important;border-color:#747475 !important}.duet-input.sc-duet-input::-ms-clear{display:none}.duet-input.sc-duet-input::-webkit-contacts-auto-fill-button{display:none !important}.duet-input.sc-duet-input::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-webkit-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-input.sc-duet-input::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input::-moz-placeholder{color:#747475}.duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus::-moz-placeholder{color:#cfcfd1}.duet-input.sc-duet-input:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:-ms-input-placeholder{color:#747475}.duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus:-ms-input-placeholder{color:#cfcfd1}.duet-input[disabled].sc-duet-input{color:#00294d !important;cursor:text !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-input .duet-input[disabled].sc-duet-input{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #909599 !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #747475 !important}.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus{border-color:#0077b3 !important;outline:0;box-shadow:0 0 0 1px #0077b3 !important;transition:none}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus{border-color:#171c3a !important;box-shadow:0 0 0 1px #171c3a !important}.duet-theme-turva.sc-duet-input .duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#171c3a}.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input.sc-duet-input:focus{box-shadow:0 0 0 1px #e02a0d}.duet-input.sc-duet-input:focus+.duet-input-icon.sc-duet-input{color:#0077b3}.duet-input[type=search].sc-duet-input:not(:placeholder-shown):focus+.duet-input-icon.sc-duet-input{display:none}.duet-input.sc-duet-input:not(:focus):not(:hover):invalid{box-shadow:none !important}.duet-input[type=number].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=number].sc-duet-input::-webkit-outer-spin-button,.duet-input[type=time].sc-duet-input::-webkit-inner-spin-button,.duet-input[type=time].sc-duet-input::-webkit-outer-spin-button{display:none;margin:0;-webkit-appearance:none}.duet-input.sc-duet-input::-webkit-search-cancel-button{margin-right:-28px}.duet-input-help.sc-duet-input{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-input-help.sc-duet-input span.sc-duet-input{display:block;margin-top:8px}.duet-theme-turva.sc-duet-input .duet-input-help.sc-duet-input{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#747475}.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#de2362}.duet-theme-turva.has-error.sc-duet-input .duet-input-help.sc-duet-input{color:#e02a0d}.duet-label-hidden.sc-duet-input duet-label.sc-duet-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-input-relative.sc-duet-input{position:relative;width:100%}";
|
|
6336
6729
|
|
|
6337
6730
|
const icons = {
|
|
6338
6731
|
search: formSearch,
|
|
6339
6732
|
email: formEmail,
|
|
6340
6733
|
};
|
|
6341
|
-
let DuetInput$1 = class extends
|
|
6734
|
+
let DuetInput$1 = class extends H {
|
|
6342
6735
|
constructor() {
|
|
6343
6736
|
super();
|
|
6344
6737
|
this.__registerHost();
|
|
@@ -6473,7 +6866,7 @@ let DuetInput$1 = class extends HTMLElement {
|
|
|
6473
6866
|
// (in webkit based browsers settings value trigger cursor position and will set it to EndOfText)
|
|
6474
6867
|
restoreCursor();
|
|
6475
6868
|
}
|
|
6476
|
-
this.isCaptionVisible = !!
|
|
6869
|
+
this.isCaptionVisible = !!this.caption;
|
|
6477
6870
|
const emitEvent = () => this.duetChange.emit({
|
|
6478
6871
|
value: this.value,
|
|
6479
6872
|
component: "duet-input",
|
|
@@ -6492,7 +6885,7 @@ let DuetInput$1 = class extends HTMLElement {
|
|
|
6492
6885
|
componentWillLoad() {
|
|
6493
6886
|
inheritGlobalTheme(this);
|
|
6494
6887
|
this.disallowedPatternChange();
|
|
6495
|
-
this.isCaptionVisible = !!
|
|
6888
|
+
this.isCaptionVisible = !!this.caption;
|
|
6496
6889
|
}
|
|
6497
6890
|
/**
|
|
6498
6891
|
* Sets focus on the specified `duet-input`. Use this method instead of the global
|
|
@@ -6527,12 +6920,12 @@ let DuetInput$1 = class extends HTMLElement {
|
|
|
6527
6920
|
"duet-input-top-caption-shown": this.isCaptionVisible,
|
|
6528
6921
|
"has-icon": !!this.icon || (this.type !== "text" && this.type !== "tel" && this.type !== "password"),
|
|
6529
6922
|
"has-error": !!this.error,
|
|
6530
|
-
} }, h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId,
|
|
6923
|
+
} }, h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h$1("div", { class: "duet-input-relative" }, this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), h$1("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.type, class: {
|
|
6531
6924
|
"duet-input": true,
|
|
6532
6925
|
disabled: this.disabled,
|
|
6533
6926
|
"is-number": this.component === "number",
|
|
6534
6927
|
"is-date": this.component === "date",
|
|
6535
|
-
}, 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-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, 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",
|
|
6928
|
+
}, 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-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, 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)))));
|
|
6536
6929
|
}
|
|
6537
6930
|
get element() { return this; }
|
|
6538
6931
|
static get watchers() { return {
|
|
@@ -6544,7 +6937,7 @@ let DuetInput$1 = class extends HTMLElement {
|
|
|
6544
6937
|
|
|
6545
6938
|
const duetLabelCss = "*.sc-duet-label,*.sc-duet-label::after,*.sc-duet-label::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-label-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:12px !important;position:relative;z-index:100;display:inline-flex;width:auto;margin-top:8px !important;line-height:1.25;cursor:default}.duet-p-0.sc-duet-label-h{padding:0 !important}.duet-m-0.sc-duet-label-h{margin:0 !important}.duet-m-0.sc-duet-label-h{margin-bottom:0 !important}.duet-small-margin.sc-duet-label-h{margin-top:8px !important;margin-bottom:4px !important}.duet-has-tooltip.sc-duet-label-h{padding-right:48px}@media (min-width: 48em){.duet-has-tooltip.sc-duet-label-h{padding-right:0}}label.sc-duet-label{margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600 !important;line-height:1.25;color:#00294d;text-align:left;word-break:break-word}label.sc-duet-label span.sc-duet-label{font-size:1rem;font-weight:600 !important;word-break:break-word}.duet-label-small.sc-duet-label-h label.sc-duet-label{font-size:0.875rem}.duet-label-small.sc-duet-label-h label.sc-duet-label span.sc-duet-label{font-size:0.875rem}.duet-theme-turva.sc-duet-label-h label.sc-duet-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}";
|
|
6546
6939
|
|
|
6547
|
-
let DuetLabel$1 = class extends
|
|
6940
|
+
let DuetLabel$1 = class extends H {
|
|
6548
6941
|
constructor() {
|
|
6549
6942
|
super();
|
|
6550
6943
|
this.__registerHost();
|
|
@@ -6590,7 +6983,7 @@ function isInternetExplorer() {
|
|
|
6590
6983
|
|
|
6591
6984
|
const duetLayoutCss = "*,*::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;flex:1 0 auto;width:100%}:host(.duet-middle){display:flex}:host(.duet-middle) .duet-layout{padding:36px 28px !important}@media (min-width: 36em){:host(.duet-middle) .duet-layout{padding:48px 36px !important}}@media (min-width: 62em){:host(.duet-middle) .duet-layout{padding:56px !important}}:host(.duet-ie){height:100%}:host(.duet-middle.duet-ie){height:auto}.duet-layout{position:relative;padding:0 16px;margin:48px auto 36px}@media (min-width: 36em){.duet-layout{margin-top:72px}}.duet-layout.duet-layout-has-top{margin-top:0}.duet-layout.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout.duet-center{display:flex;align-items:center;justify-content:center;width:100%;max-width:888px}@media (min-width: 36em){.duet-layout.duet-center{padding:0 48px}}@media (min-width: 48em){.duet-layout.duet-center{padding:0 72px}}@media (min-width: 62em){.duet-layout.duet-center{width:100%}}@media (min-width: 36em){.duet-layout{padding:0 28px}}@media (min-width: 62em){.duet-layout{display:flex;flex-direction:row;padding:0 56px;margin-bottom:48px}}@media (min-width: 76.25em){.duet-layout{max-width:1110px;padding:0}}.duet-main,.duet-sidebar,.duet-layout-top,.duet-layout-bottom{display:block;width:100%}.duet-layout-top{position:relative;display:block;width:100%;margin:72px auto 0}.duet-layout-top.duet-m-0{margin-top:0 !important;margin-bottom:0 !important}.duet-layout-top .duet-layout-top-wrapper{padding:0 20px;margin:0 auto}@media (min-width: 36em){.duet-layout-top .duet-layout-top-wrapper{padding:0 28px}}@media (min-width: 62em){.duet-layout-top .duet-layout-top-wrapper{padding:0 56px}}@media (min-width: 76.25em){.duet-layout-top .duet-layout-top-wrapper{max-width:1110px;padding:0}}.duet-center .duet-layout-top-wrapper{max-width:888px}@media (min-width: 36em){.duet-center .duet-layout-top-wrapper{padding:0 48px}}@media (min-width: 48em){.duet-center .duet-layout-top-wrapper{padding:0 72px}}@media (min-width: 62em){.duet-main{min-width:600px;margin:0 auto}.has-sidebar .duet-main{max-width:734px;margin-right:20px}}@media (min-width: 62em){.duet-sidebar{min-width:256px;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container{width:auto;max-width:356px}}@media (min-width: 62em){.duet-sidebar-container.has-tabs{margin-top:89px}}@media (min-width: 62em){.duet-sidebar-container.sticky{position:sticky}.duet-sidebar-container.sticky.with-links{top:calc(3rem + 20px)}.duet-sidebar-container.sticky.without-links{top:calc(4rem + 20px)}}";
|
|
6592
6985
|
|
|
6593
|
-
let DuetLayout$1 = class extends
|
|
6986
|
+
let DuetLayout$1 = class extends H {
|
|
6594
6987
|
constructor() {
|
|
6595
6988
|
super();
|
|
6596
6989
|
this.__registerHost();
|
|
@@ -6667,7 +7060,7 @@ let DuetLayout$1 = class extends HTMLElement {
|
|
|
6667
7060
|
|
|
6668
7061
|
const duetLinkCss = "*,*::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:inline}.duet-link{display:inline;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-link.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#c60c30}.duet-link:hover{color:#004d80;text-decoration:none}.duet-link:hover.duet-theme-turva{color:#940925}.duet-link:active{opacity:0.75;transition:none}.duet-link-external{margin-left:4px}";
|
|
6669
7062
|
|
|
6670
|
-
let DuetLink$1 = class extends
|
|
7063
|
+
let DuetLink$1 = class extends H {
|
|
6671
7064
|
constructor() {
|
|
6672
7065
|
super();
|
|
6673
7066
|
this.__registerHost();
|
|
@@ -6732,7 +7125,7 @@ let DuetLink$1 = class extends HTMLElement {
|
|
|
6732
7125
|
|
|
6733
7126
|
const duetListCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-list-component{margin-bottom:16px !important;width:100%}.duet-list-component.duet-p-0{padding:0 !important}.duet-list-component.duet-m-0{margin:0 !important}";
|
|
6734
7127
|
|
|
6735
|
-
let DuetList$1 = class extends
|
|
7128
|
+
let DuetList$1 = class extends H {
|
|
6736
7129
|
constructor() {
|
|
6737
7130
|
super();
|
|
6738
7131
|
this.__registerHost();
|
|
@@ -6836,7 +7229,7 @@ let DuetList$1 = class extends HTMLElement {
|
|
|
6836
7229
|
|
|
6837
7230
|
const duetListItemCss = "*,*::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:flex;flex-flow:row;width:100%;overflow:visible;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d}@media (max-width: 35.9375em){:host{flex-wrap:wrap}}:host dt,:host dd{-webkit-hyphens:auto;hyphens:auto;text-align:left;word-break:break-all;word-break:break-word;margin-inline-start:0}@media (max-width: 35.9375em){:host dt,:host dd{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}}:host dt{padding:16px !important;font-weight:600}@media (max-width: 35.9375em){:host dt{padding-bottom:4px !important}}.duet-theme-turva :host dt{font-weight:700}:host dd{padding:16px !important;margin-left:auto;text-align:left}@media (max-width: 35.9375em){:host dd{padding-top:0 !important}}:host(:not(.duet-list-striped)) dt{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){:host(:not(.duet-list-striped)) dt{padding-bottom:4px !important}}:host(:not(.duet-list-striped)) dd{padding:8px !important;padding-left:0 !important}@media (max-width: 35.9375em){:host(:not(.duet-list-striped)) dd{padding-top:0 !important}}:host(.duet-theme-turva){font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}:host(.duet-list-striped:nth-child(odd)) dt,:host(.duet-list-striped:nth-child(odd)) dd{background:#f5f8fa}:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dt,:host(.duet-list-striped.duet-theme-turva:nth-child(odd)) dd{background:#f5f5f7}:host(.duet-list-width-30) dt{flex-basis:33%}:host(.duet-list-width-30) dd{flex-basis:67%}:host(.duet-list-width-50) dt{flex-basis:47%}:host(.duet-list-width-50) dd{flex-basis:53%}:host(.duet-list-width-70) dt{flex-basis:65%}:host(.duet-list-width-70) dd{flex-basis:35%}:host(.duet-p-0) dt,:host(.duet-p-0) dd{padding-top:0 !important;padding-bottom:4px !important}@media (max-width: 35.9375em){:host(.duet-list-mobile-center) dt,:host(.duet-list-mobile-center) dd{text-align:center}}@media (max-width: 61.9375em){:host(.duet-list-breakpoint-large){flex-wrap:wrap}:host(.duet-list-breakpoint-large) dt,:host(.duet-list-breakpoint-large) dd{flex:inherit;flex-basis:100% !important;width:100%;padding-bottom:4px !important}:host(.duet-list-breakpoint-large) dd{padding-top:0 !important}}:host(.duet-list-breakpoint-large.duet-list-striped) dd{padding-bottom:16px !important}@media (max-width: 61.9375em){:host(.duet-list-breakpoint-large.duet-list-mobile-center) dt,:host(.duet-list-breakpoint-large.duet-list-mobile-center) dd{text-align:center !important}}";
|
|
6838
7231
|
|
|
6839
|
-
let DuetListItem$1 = class extends
|
|
7232
|
+
let DuetListItem$1 = class extends H {
|
|
6840
7233
|
constructor() {
|
|
6841
7234
|
super();
|
|
6842
7235
|
this.__registerHost();
|
|
@@ -6881,7 +7274,7 @@ const DefaultLogo = ({ inverse, logoId, language }) => {
|
|
|
6881
7274
|
const { title, path, viewBox } = i18n[language];
|
|
6882
7275
|
return (h$1("svg", { role: "img", xmlns: "http://www.w3.org/2000/svg", fill: logoColor, "aria-labelledby": logoId, viewBox: viewBox }, h$1("title", { id: logoId }, title), h$1("path", { d: path })));
|
|
6883
7276
|
};
|
|
6884
|
-
let DuetLogo$1 = class extends
|
|
7277
|
+
let DuetLogo$1 = class extends H {
|
|
6885
7278
|
constructor() {
|
|
6886
7279
|
super();
|
|
6887
7280
|
this.__registerHost();
|
|
@@ -6956,7 +7349,7 @@ const duetModalCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margi
|
|
|
6956
7349
|
// iOS has otherwise problems moving the focus from modal back to the original element.
|
|
6957
7350
|
// This issue is similar to what we’ve seen in Duet Date Picker + iOS VoiceOver.
|
|
6958
7351
|
const TRANSITION_MS = 600;
|
|
6959
|
-
let DuetModal$1 = class extends
|
|
7352
|
+
let DuetModal$1 = class extends H {
|
|
6960
7353
|
constructor() {
|
|
6961
7354
|
super();
|
|
6962
7355
|
this.__registerHost();
|
|
@@ -7179,7 +7572,7 @@ let DuetModal$1 = class extends HTMLElement {
|
|
|
7179
7572
|
|
|
7180
7573
|
const duetNotificationCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-notification{display:block;padding:16px;color:#00294d;cursor:pointer;border-bottom:1px solid #e1e3e6;transition:300ms ease}:host(:last-of-type) .duet-notification{border-bottom:0}.duet-notification.duet-theme-turva{color:#171c3a;border-bottom-color:#e4e4e6}.duet-notification.duet-notification-highlight{font-weight:600;background:#f3f9fc}.duet-notification.duet-notification-highlight.duet-theme-turva{background:#fcf3f4}@media (min-width: 62em){.duet-notification:hover{background:#f3f9fc}.duet-notification:hover.duet-theme-turva{background:#fcf3f4}}.duet-notification a{text-decoration:none}.duet-notification a:focus{outline:0}:host(.user-is-tabbing) .duet-notification:focus-within{z-index:1;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-notification:focus-within.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-notification-container{position:relative;display:flex}.duet-notification-badge-container{position:relative;width:16px}.duet-notification-badge{position:absolute;top:6px;left:-2px;width:8px;height:8px;background:#0077b3;border-radius:50%}.duet-theme-turva .duet-notification-badge{background:#c60c30}.duet-notification-content{flex:1}.duet-notification-date{position:absolute;top:2px;right:0;width:96px;font-size:0.75rem;font-weight:600;line-height:1.25;color:#657787;text-align:right;text-transform:uppercase}@media (max-width: 35.9375em){.duet-notification-date{width:auto}}.duet-theme-turva .duet-notification-date{color:#444445}::slotted(duet-heading){padding-right:80px !important}::slotted(duet-paragraph){margin-bottom:2px !important}";
|
|
7181
7574
|
|
|
7182
|
-
let DuetNotification$1 = class extends
|
|
7575
|
+
let DuetNotification$1 = class extends H {
|
|
7183
7576
|
constructor() {
|
|
7184
7577
|
super();
|
|
7185
7578
|
this.__registerHost();
|
|
@@ -7254,7 +7647,7 @@ let DuetNotification$1 = class extends HTMLElement {
|
|
|
7254
7647
|
const duetNotificationDrawerCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-drawer{position:relative}@media (min-width: 62em){.duet-drawer{display:inline-block}}.duet-drawer-toggle{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;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:0;-webkit-appearance:none;appearance:none}@media (min-width: 62em){.duet-drawer-toggle{z-index:200;width:auto;max-width:200px;padding:0 30px 0 12px;overflow:hidden;font-size:0.875rem;line-height:4rem;background-color:white;border:0;border-radius:4px;transition:border 300ms ease}}.duet-theme-turva .duet-drawer-toggle{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;border-color:#e4e4e6}.duet-drawer-toggle:active{opacity:0.75}.duet-drawer-toggle:focus{outline:0}:host(.user-is-tabbing) .duet-drawer-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-drawer-toggle:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-drawer-toggle:hover{color:#004d80}.duet-theme-turva .duet-drawer-toggle:hover{color:#444445}.duet-drawer-toggle::after{display:none !important}@media (min-width: 62em){.duet-drawer-toggle::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-theme-turva .duet-drawer-toggle::after{background:#c60c30}}.duet-drawer-toggle[aria-expanded=true],.duet-drawer-toggle[aria-expanded=true]:hover{color:#004d80;border-bottom:1px solid #f5f8fa;border-radius:0}.duet-theme-turva .duet-drawer-toggle[aria-expanded=true],.duet-theme-turva .duet-drawer-toggle[aria-expanded=true]:hover{color:#444445;border-color:#f5f5f7}@media (min-width: 62em){.duet-drawer-toggle[aria-expanded=true],.duet-drawer-toggle[aria-expanded=true]:hover{border:0}.duet-drawer-toggle[aria-expanded=true]::after,.duet-drawer-toggle[aria-expanded=true]:hover::after{left:0;width:100%;transform:translateY(0)}}.duet-drawer-icon{position:relative;display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){.duet-drawer-icon{margin-right:8px}}.duet-drawer-label{line-height:1}.duet-drawer-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-drawer-caret{right:16px;width:7px;height:7px}}.duet-drawer-caret duet-icon{width:10px}.duet-drawer-toggle[aria-expanded=true] .duet-drawer-caret{transform:translateY(-50%) rotate(180deg)}.duet-drawer-badge{position:absolute;top:0;right:0;display:inline-block;width:6px;height:6px;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}.duet-theme-turva .duet-drawer-badge{background:#faa40f}.duet-drawer-content{display:none;background-color:#f5f8fa;border-bottom:1px solid #e1e3e6}.duet-drawer-content:focus{outline:0}.duet-theme-turva .duet-drawer-content{background-color:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){.duet-drawer-content{position:absolute;top:100%;z-index:600;display:block;width:450px;max-height:420px;padding-left:0;overflow-y:auto;visibility:hidden;background-color:white;border:1px solid #e1e3e6;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.95) translateZ(0) translateY(-10px);transform-origin:50% 0;scrollbar-width:none}.duet-drawer-content::-webkit-scrollbar{display:none}.duet-theme-turva .duet-drawer-content{background-color:white}.duet-drawer-content.duet-drawer-left{right:0}.duet-drawer-content.duet-drawer-right{left:0}}.duet-drawer-content.duet-drawer-open{display:block}@media (min-width: 62em){.duet-drawer-content.duet-drawer-open{visibility:visible;opacity:1;transform:scale(1) translateZ(0) translateY(0)}}";
|
|
7255
7648
|
|
|
7256
7649
|
const ESC_KEY = 27;
|
|
7257
|
-
let DuetNotificationDrawer$1 = class extends
|
|
7650
|
+
let DuetNotificationDrawer$1 = class extends H {
|
|
7258
7651
|
constructor() {
|
|
7259
7652
|
super();
|
|
7260
7653
|
this.__registerHost();
|
|
@@ -7418,7 +7811,7 @@ const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
|
|
|
7418
7811
|
|
|
7419
7812
|
const duetNumberInputCss = "*.sc-duet-number-input,*.sc-duet-number-input::after,*.sc-duet-number-input::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-number-input-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;min-width:calc(33.333% - 8px);max-width:100%;line-height:1.25;text-align:left;vertical-align:bottom}.sc-duet-number-input-h:last-child,.sc-duet-number-input-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-number-input-h{width:calc(50% - 16px - 3px)}}.duet-expand.sc-duet-number-input-h{width:100% !important}.duet-m-0.sc-duet-number-input-h{margin:0 !important}.duet-number-container.sc-duet-number-input{position:relative;width:100%}.duet-number-buttons.sc-duet-number-input{-webkit-user-select:none;user-select:none;position:absolute;top:1px;right:1px;z-index:200;width:96px;height:calc(100% - 2px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:50%;height:100%;text-align:center;cursor:pointer;background:transparent;-webkit-appearance:none;appearance:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled{pointer-events:none}.duet-number-buttons.sc-duet-number-input .duet-number-button[aria-disabled=true].sc-duet-number-input duet-icon.sc-duet-number-input,.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:disabled duet-icon.sc-duet-number-input{opacity:0.4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:active duet-icon.sc-duet-number-input{transform:translateY(1px)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{outline:0}.user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{z-index:2;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva .user-is-tabbing.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:focus{box-shadow:0 0 0 2px #171c3a}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type{border-left:1px solid #cfd2d4}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{position:absolute;top:0;left:-6px;width:6px;height:100%;content:\"\";background:linear-gradient(to left, rgba(207, 210, 212, 0.2) 0%, rgba(207, 210, 212, 0.2) 1px, rgba(207, 210, 212, 0.1) 1px, rgba(207, 210, 212, 0) 100%)}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{position:absolute;top:20%;left:0;width:1px;height:60%;content:\"\";background:#e1e3e6}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:first-of-type::before{background:linear-gradient(to left, rgba(207, 207, 209, 0.2) 0%, rgba(207, 207, 209, 0.2) 1px, rgba(207, 207, 209, 0.1) 1px, rgba(207, 207, 209, 0) 100%)}.duet-theme-turva.sc-duet-number-input-h .duet-number-buttons.sc-duet-number-input .duet-number-button.sc-duet-number-input:last-of-type::before{background:#e4e4e6}";
|
|
7420
7813
|
|
|
7421
|
-
let DuetNumberInput$1 = class extends
|
|
7814
|
+
let DuetNumberInput$1 = class extends H {
|
|
7422
7815
|
constructor() {
|
|
7423
7816
|
super();
|
|
7424
7817
|
this.__registerHost();
|
|
@@ -7747,15 +8140,15 @@ let DuetNumberInput$1 = class extends HTMLElement {
|
|
|
7747
8140
|
static get style() { return duetNumberInputCss; }
|
|
7748
8141
|
};
|
|
7749
8142
|
|
|
7750
|
-
const duetParagraphCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-paragraph{margin-bottom:16px !important;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:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}.duet-paragraph.duet-p-0{padding:0 !important}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.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}.duet-paragraph.duet-paragraph-small{font-size:0.875rem}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.intro{font-size:2.7vw;margin-bottom:28px !important;-webkit-hyphens:inherit;hyphens:inherit}@media (max-width: 37.037037037rem){.duet-paragraph.intro{font-size:1rem}}@media (min-width: 46.2962962963rem){.duet-paragraph.intro{font-size:1.25rem}}.duet-paragraph.intro.duet-m-0{margin:0 !important}::slotted(a){font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;transition:300ms ease}::slotted(a).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:#c60c30}::slotted(a):hover{color:#004d80;text-decoration:none}::slotted(a):hover.duet-theme-turva{color:#940925}::slotted(a):active{opacity:0.75;transition:none}";
|
|
8143
|
+
const duetParagraphCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:100%}.duet-paragraph{margin-bottom:16px !important;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:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}.duet-paragraph.duet-p-0{padding:0 !important}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.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}.duet-paragraph.duet-paragraph-small{font-size:0.875rem}.duet-paragraph.duet-paragraph-semi-bold{font-weight:600}.duet-paragraph.duet-paragraph-bold{font-weight:700}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.intro{font-size:2.7vw;margin-bottom:28px !important;-webkit-hyphens:inherit;hyphens:inherit}@media (max-width: 37.037037037rem){.duet-paragraph.intro{font-size:1rem}}@media (min-width: 46.2962962963rem){.duet-paragraph.intro{font-size:1.25rem}}.duet-paragraph.intro.duet-m-0{margin:0 !important}::slotted(a){font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-style:normal;font-weight:400;color:#0077b3;text-decoration:underline;transition:300ms ease}::slotted(a).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:#c60c30}::slotted(a):hover{color:#004d80;text-decoration:none}::slotted(a):hover.duet-theme-turva{color:#940925}::slotted(a):active{opacity:0.75;transition:none}";
|
|
7751
8144
|
|
|
7752
|
-
let DuetParagraph$1 = class extends
|
|
8145
|
+
let DuetParagraph$1 = class extends H {
|
|
7753
8146
|
constructor() {
|
|
7754
8147
|
super();
|
|
7755
8148
|
this.__registerHost();
|
|
7756
8149
|
this.__attachShadow();
|
|
7757
8150
|
/**
|
|
7758
|
-
* Theme of the
|
|
8151
|
+
* Theme of the paragraph.
|
|
7759
8152
|
*/
|
|
7760
8153
|
this.theme = "";
|
|
7761
8154
|
/**
|
|
@@ -7766,6 +8159,10 @@ let DuetParagraph$1 = class extends HTMLElement {
|
|
|
7766
8159
|
* Controls the size of the paragraph.
|
|
7767
8160
|
*/
|
|
7768
8161
|
this.size = "medium";
|
|
8162
|
+
/**
|
|
8163
|
+
* Controls the Font-Weight of the paragraph.
|
|
8164
|
+
*/
|
|
8165
|
+
this.weight = undefined;
|
|
7769
8166
|
/**
|
|
7770
8167
|
* Style variation of the paragraph.
|
|
7771
8168
|
*/
|
|
@@ -7791,45 +8188,109 @@ let DuetParagraph$1 = class extends HTMLElement {
|
|
|
7791
8188
|
return (h$1("p", { class: {
|
|
7792
8189
|
"duet-paragraph": true,
|
|
7793
8190
|
"duet-paragraph-small": this.size === "small",
|
|
8191
|
+
"duet-paragraph-semi-bold": this.weight === "semi-bold",
|
|
8192
|
+
"duet-paragraph-bold": this.weight === "bold",
|
|
7794
8193
|
"duet-m-0": this.margin === "none",
|
|
7795
8194
|
[this.variation]: true,
|
|
7796
8195
|
"duet-theme-turva": this.theme === "turva",
|
|
7797
|
-
}, style: { color } }, h$1("slot", null)));
|
|
8196
|
+
}, style: { color }, part: "duet-paragraph" }, h$1("slot", null)));
|
|
7798
8197
|
}
|
|
7799
8198
|
get element() { return this; }
|
|
7800
8199
|
static get style() { return duetParagraphCss; }
|
|
7801
8200
|
};
|
|
7802
8201
|
|
|
7803
|
-
const
|
|
8202
|
+
const duetProgressCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%;height:inherit}.duet-progress{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:1px;}.duet-progress .progress-bar{position:relative;display:block;width:100%;height:inherit;min-height:1px;background-color:#f3f9fc;border-radius:0;box-shadow:none}.duet-theme-turva .duet-progress .progress-bar{background-color:#fcf3f4}.duet-progress .progress-bar>span{display:block;height:inherit;text-indent:-9999px;background-color:#0077b3;border-radius:0}.duet-theme-turva .duet-progress .progress-bar>span{background-color:#c60c30}.duet-progress progress[value]{display:flex;width:100%;height:inherit;min-height:1px;color:#0077b3;border:0 none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.duet-theme-turva .duet-progress progress[value]{color:#c60c30}.duet-progress progress[value]::-webkit-progress-bar{background-color:#f3f9fc;border-radius:0}.duet-theme-turva .duet-progress progress[value]::-webkit-progress-bar{background-color:#fcf3f4}.duet-progress progress[value]::-webkit-progress-value{background-color:#0077b3;background-size:35px 20px, 100% 100%, 100% 100%;border-radius:0;-webkit-animation:animate-stripes 5s linear infinite;animation:animate-stripes 5s linear infinite}.duet-theme-turva .duet-progress progress[value]::-webkit-progress-value{background-color:#c60c30}.duet-progress progress[value] ::-moz-progress-bar{background-color:#f3f9fc}.duet-theme-turva .duet-progress progress[value] ::-moz-progress-bar{background-color:#fcf3f4}";
|
|
7804
8203
|
|
|
7805
|
-
let
|
|
8204
|
+
let DuetProgress$1 = class extends H {
|
|
7806
8205
|
constructor() {
|
|
7807
8206
|
super();
|
|
7808
8207
|
this.__registerHost();
|
|
7809
|
-
this.duetChange = createEvent$2(this, "duetChange", 7);
|
|
7810
|
-
this.duetFocus = createEvent$2(this, "duetFocus", 7);
|
|
7811
|
-
this.duetBlur = createEvent$2(this, "duetBlur", 7);
|
|
7812
8208
|
/**
|
|
7813
|
-
* Own Properties
|
|
8209
|
+
* Own Properties
|
|
7814
8210
|
*/
|
|
7815
|
-
this.
|
|
8211
|
+
this.progressId = createID("DuetProgress");
|
|
8212
|
+
this.progressLabelId = createID("DuetProgressLabel");
|
|
7816
8213
|
/**
|
|
7817
|
-
*
|
|
8214
|
+
* Defaults for accessibleLabel
|
|
7818
8215
|
*/
|
|
7819
|
-
this.
|
|
8216
|
+
this.accessibleLabelUploadDefaults = {
|
|
8217
|
+
fi: ["lähetys valmis", "lähetys käynnissä"],
|
|
8218
|
+
sv: ["Uppladdningen är klar", "Uppladdning pågår"],
|
|
8219
|
+
en: ["upload completed", "upload in progress"],
|
|
8220
|
+
};
|
|
7820
8221
|
/**
|
|
7821
|
-
*
|
|
8222
|
+
* Adds accessible label for upload in progress and upload complete states
|
|
8223
|
+
* @default {fi: ["lähetys valmis", "lähetys käynnissä"],sv: ["Uppladdningen är klar", "Uppladdning pågår"], en: ["completed", "in progress"]}
|
|
7822
8224
|
*/
|
|
7823
|
-
this.
|
|
8225
|
+
this.accessibleLabelUpload = getLocaleString(this.accessibleLabelUploadDefaults);
|
|
7824
8226
|
/**
|
|
7825
|
-
*
|
|
7826
|
-
* interact with the radio, and conveys its inactive state to assistive technologies.
|
|
8227
|
+
* Progress of the bar, a value from 0-100
|
|
7827
8228
|
*/
|
|
7828
|
-
this.
|
|
8229
|
+
this.progress = 0;
|
|
7829
8230
|
/**
|
|
7830
|
-
*
|
|
7831
|
-
|
|
7832
|
-
|
|
8231
|
+
* Height of progressbar
|
|
8232
|
+
*/
|
|
8233
|
+
this.height = "10px";
|
|
8234
|
+
/**
|
|
8235
|
+
* Theme of the input.
|
|
8236
|
+
*/
|
|
8237
|
+
this.theme = "";
|
|
8238
|
+
}
|
|
8239
|
+
/**
|
|
8240
|
+
* Component lifecycle events.
|
|
8241
|
+
*/
|
|
8242
|
+
componentWillLoad() {
|
|
8243
|
+
inheritGlobalTheme(this);
|
|
8244
|
+
}
|
|
8245
|
+
/**
|
|
8246
|
+
* render() function
|
|
8247
|
+
* Always the last one in the class.
|
|
8248
|
+
*/
|
|
8249
|
+
render() {
|
|
8250
|
+
return (h$1(Host, null, h$1("div", { "aria-live": this.accessibleLabel ? "polite" : "off", "aria-hidden": this.accessibleLabel ? "false" : "true", "aria-atomic": "true", style: {
|
|
8251
|
+
height: this.height,
|
|
8252
|
+
}, id: this.progressId, class: {
|
|
8253
|
+
"duet-progress": true,
|
|
8254
|
+
"duet-progress-done": this.progress === 100,
|
|
8255
|
+
"duet-progress-start": this.progress === 0,
|
|
8256
|
+
"duet-progress-inprogress": this.progress < 99 && this.progress !== 0,
|
|
8257
|
+
"duet-theme-turva": this.theme === "turva",
|
|
8258
|
+
} }, h$1("duet-visually-hidden", null, h$1("label", { htmlFor: this.progressLabelId }, this.progress !== 0 && (h$1("span", null, this.accessibleLabel, ", ", this.accessibleLabelUpload[this.progress < 99 ? 1 : 0])))), this.caption && (h$1("div", { class: "duet-progress-caption" }, h$1("span", null, this.caption))), h$1("progress", { id: this.progressLabelId, "aria-describedby": this.accessibleDescribedBy, role: "progressbar", value: this.progress, max: "100", "aria-valuemin": "0", "aria-valuemax": "100" }, h$1("div", { class: "progress-bar" }, h$1("span", { style: { width: `${this.progress}%;` } }, "Progress: ", this.progress, "%"))))));
|
|
8259
|
+
}
|
|
8260
|
+
get element() { return this; }
|
|
8261
|
+
static get style() { return duetProgressCss; }
|
|
8262
|
+
};
|
|
8263
|
+
|
|
8264
|
+
const duetRadioCss = "*.sc-duet-radio,*.sc-duet-radio::after,*.sc-duet-radio::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-radio-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:28px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-radio-h:last-child,.sc-duet-radio-h:last-of-type{margin-right:0 !important}.vertical.sc-duet-radio-h{margin-right:0 !important}.horizontal.sc-duet-radio-h{margin-bottom:0 !important;width:auto}.horizontal.sc-duet-radio-h .duet-label.sc-duet-radio span.sc-duet-radio{max-width:100%}@media (min-width: 48em){.horizontal-responsive.sc-duet-radio-h{margin-right:28px !important;margin-bottom:0 !important;width:auto}.horizontal-responsive.sc-duet-radio-h:last-child,.horizontal-responsive.sc-duet-radio-h:last-of-type{margin-right:0 !important}.horizontal-responsive.sc-duet-radio-h .duet-label.sc-duet-radio span.sc-duet-radio{max-width:100%}}.duet-m-0.sc-duet-radio-h{margin:0 !important}.sc-duet-radio-h:last-child:not(:only-child){margin-right:0 !important;margin-bottom:0 !important}.duet-label.sc-duet-radio{position:relative;z-index:100;display:flex;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;cursor:pointer;background:transparent}.duet-theme-turva.sc-duet-radio .duet-label.sc-duet-radio{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}.duet-label.sc-duet-radio span.sc-duet-radio{flex-grow:1;font-size:1rem}.duet-label-hidden.sc-duet-radio .duet-label.sc-duet-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-radio-container.sc-duet-radio{position:relative;width:100%;height:100%}.duet-radio.sc-duet-radio{padding:14px !important;position:absolute;top:0;left:0;z-index:200;width:100%;height:100%;cursor:pointer;opacity:0}.duet-radio.sc-duet-radio+label.sc-duet-radio::before{z-index:100;flex-shrink:0;width:20px;height:20px;margin:2px 10px 1px 1px;content:\"\";background:white;border:1px solid #00294d;border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio+label.sc-duet-radio::before{border-color:#171c3a}.duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{position:absolute;top:6px;left:5px;z-index:200;flex-shrink:0;width:12px;height:12px;content:\"\";background:#00294d;border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{background:#171c3a}.duet-radio[disabled].sc-duet-radio{cursor:default}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:#657787}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:#747475}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:#cfd2d4}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:#cfcfd1}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::before{border:1px solid #657787}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:#657787}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:#747475;border-color:#747475}";
|
|
8265
|
+
|
|
8266
|
+
let DuetRadio$1 = class extends H {
|
|
8267
|
+
constructor() {
|
|
8268
|
+
super();
|
|
8269
|
+
this.__registerHost();
|
|
8270
|
+
this.duetChange = createEvent$2(this, "duetChange", 7);
|
|
8271
|
+
this.duetFocus = createEvent$2(this, "duetFocus", 7);
|
|
8272
|
+
this.duetBlur = createEvent$2(this, "duetBlur", 7);
|
|
8273
|
+
/**
|
|
8274
|
+
* Own Properties.
|
|
8275
|
+
*/
|
|
8276
|
+
this.radioId = createID("DuetRadio");
|
|
8277
|
+
/**
|
|
8278
|
+
* Controls the margin of the component.
|
|
8279
|
+
*/
|
|
8280
|
+
this.margin = "auto";
|
|
8281
|
+
/**
|
|
8282
|
+
* Theme of the radio.
|
|
8283
|
+
*/
|
|
8284
|
+
this.theme = "";
|
|
8285
|
+
/**
|
|
8286
|
+
* Makes the radio component disabled. This prevents users from being able to
|
|
8287
|
+
* interact with the radio, and conveys its inactive state to assistive technologies.
|
|
8288
|
+
*/
|
|
8289
|
+
this.disabled = false;
|
|
8290
|
+
/**
|
|
8291
|
+
* Set whether the input is required or not. Please note that this is required for
|
|
8292
|
+
* accessible inputs when the user is required to fill them. When using this property
|
|
8293
|
+
* you need to also set “novalidate” attribute to your form element to prevent
|
|
7833
8294
|
* browser from displaying its own validation errors.
|
|
7834
8295
|
*/
|
|
7835
8296
|
this.required = false;
|
|
@@ -7909,7 +8370,7 @@ let DuetRadio$1 = class extends HTMLElement {
|
|
|
7909
8370
|
|
|
7910
8371
|
const duetRadioGroupCss = "*.sc-duet-radio-group,*.sc-duet-radio-group::after,*.sc-duet-radio-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-radio-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-radio-group-h .duet-radio-group.sc-duet-radio-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-radio-group-h .duet-radio-group.sc-duet-radio-group{display:flex}}.horizontal.sc-duet-radio-group-h .duet-radio-group.duet-no-stacking.sc-duet-radio-group{display:flex}.deut-radio-group.sc-duet-radio-group{width:100%}";
|
|
7911
8372
|
|
|
7912
|
-
let DuetRadioGroup$1 = class extends
|
|
8373
|
+
let DuetRadioGroup$1 = class extends H {
|
|
7913
8374
|
constructor() {
|
|
7914
8375
|
super();
|
|
7915
8376
|
this.__registerHost();
|
|
@@ -8067,7 +8528,7 @@ const colors = {
|
|
|
8067
8528
|
inactive: colorGray,
|
|
8068
8529
|
},
|
|
8069
8530
|
};
|
|
8070
|
-
let DuetRangeSlider$1 = class extends
|
|
8531
|
+
let DuetRangeSlider$1 = class extends H {
|
|
8071
8532
|
constructor() {
|
|
8072
8533
|
super();
|
|
8073
8534
|
this.__registerHost();
|
|
@@ -8210,7 +8671,7 @@ let DuetRangeSlider$1 = class extends HTMLElement {
|
|
|
8210
8671
|
static get style() { return duetRangeSliderCss; }
|
|
8211
8672
|
};
|
|
8212
8673
|
|
|
8213
|
-
const duetSelectCss = "@charset \"UTF-8\";*.sc-duet-select,*.sc-duet-select::after,*.sc-duet-select::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-select-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom}.sc-duet-select-h:last-child,.sc-duet-select-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-select-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-select-h{width:100% !important}}.duet-m-0.sc-duet-select-h{margin:0 !important}duet-tooltip.sc-duet-select{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-select{position:relative;top:4px;right:auto}}.duet-select-container.sc-duet-select{position:relative;width:100%}.duet-select-wrapper.sc-duet-select{position:relative;width:100%;padding:15px 14px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select::after{content:\" \"}.duet-select-wrapper.sc-duet-select select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;width:100%;height:100%;padding:0;margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;cursor:pointer;border:0;outline:none;opacity:0}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:#909599;box-shadow:0 0 0 1px #909599}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:#747475;box-shadow:0 0 0 1px #747475}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e02a0d}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:#0077b3;outline:0;box-shadow:0 0 0 1px #0077b3;transition:none}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:#171c3a;box-shadow:0 0 0 1px #171c3a}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#171c3a}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#0077b3}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e02a0d}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select{cursor:default !important}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:#00294d !important;cursor:default !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:block;width:100%;min-width:8rem;padding:12px 14px !important;padding-right:48px !important;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:#00294d;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:white;border:1px solid #909599;border-radius:4px;transition:150ms ease}.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:#de2362 !important}.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#e02a0d !important}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select{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;border-color:#747475}.duet-select.sc-duet-select svg.sc-duet-select{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select svg.sc-duet-select{color:#171c3a}.duet-select-help.sc-duet-select{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-select-help.sc-duet-select span.sc-duet-select{display:block;margin-top:8px}.duet-theme-turva.sc-duet-select .duet-select-help.sc-duet-select{color:#747475}.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:#de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:#e02a0d}.duet-label-hidden.sc-duet-select duet-label.sc-duet-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
8674
|
+
const duetSelectCss = "@charset \"UTF-8\";*.sc-duet-select,*.sc-duet-select::after,*.sc-duet-select::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-select-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;vertical-align:bottom}.sc-duet-select-h:last-child,.sc-duet-select-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-select-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-select-h{width:100% !important}}.duet-m-0.sc-duet-select-h{margin:0 !important}duet-tooltip.sc-duet-select{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-select{position:relative;top:4px;right:auto}}.duet-select-placeholder.sc-duet-select{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-select-container.sc-duet-select{position:relative;width:100%}.duet-select-wrapper.sc-duet-select{position:relative;width:100%;padding:15px 14px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.25}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select::after{content:\" \"}.duet-select-wrapper.sc-duet-select select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;width:100%;height:100%;padding:0;margin:0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;cursor:pointer;border:0;outline:none;opacity:0}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:#909599;box-shadow:0 0 0 1px #909599}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{border-color:#747475;box-shadow:0 0 0 1px #747475}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:hover+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e02a0d}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:#0077b3;outline:0;box-shadow:0 0 0 1px #0077b3;transition:none}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{border-color:#171c3a;box-shadow:0 0 0 1px #171c3a}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#171c3a}.duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#0077b3}.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-wrapper.sc-duet-select select.sc-duet-select:focus+.duet-select.sc-duet-select{box-shadow:0 0 0 1px #e02a0d}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select{cursor:default !important}.duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:#00294d !important;cursor:default !important;background:#f5f8fa !important;border-color:#f5f8fa !important;box-shadow:none !important;opacity:1 !important;-webkit-text-fill-color:#00294d !important}.duet-theme-turva.sc-duet-select .duet-select-wrapper.sc-duet-select select[disabled].sc-duet-select+.duet-select.sc-duet-select{color:#171c3a !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important;-webkit-text-fill-color:#171c3a !important}.duet-select.sc-duet-select{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:block;width:100%;min-width:8rem;padding:12px 14px !important;padding-right:48px !important;overflow:hidden;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:#00294d;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:white;border:1px solid #909599;border-radius:4px;transition:150ms ease}.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:#de2362 !important}.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select{border-color:#e02a0d !important}.duet-theme-turva.has-error.sc-duet-select .duet-select.sc-duet-select .duet-select-icon.sc-duet-select{color:#e02a0d !important}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select{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;border-color:#747475}.duet-select.sc-duet-select svg.sc-duet-select{position:absolute;top:50%;right:16px;z-index:200;width:20px;height:20px;color:#00294d;pointer-events:none;transform:translateY(-50%)}.duet-theme-turva.sc-duet-select .duet-select.sc-duet-select svg.sc-duet-select{color:#171c3a}.duet-select-help.sc-duet-select{display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#657787;border-radius:4px}.duet-select-help.sc-duet-select span.sc-duet-select{display:block;margin-top:8px}.duet-theme-turva.sc-duet-select .duet-select-help.sc-duet-select{color:#747475}.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:#de2362}.duet-theme-turva.has-error.sc-duet-select .duet-select-help.sc-duet-select{color:#e02a0d}.duet-label-hidden.sc-duet-select duet-label.sc-duet-select{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
8214
8675
|
|
|
8215
8676
|
function isOptionGroup(item) {
|
|
8216
8677
|
return "options" in item;
|
|
@@ -8226,7 +8687,7 @@ function findOptionByValue(items, value) {
|
|
|
8226
8687
|
}
|
|
8227
8688
|
}
|
|
8228
8689
|
}
|
|
8229
|
-
let DuetSelect$1 = class extends
|
|
8690
|
+
let DuetSelect$1 = class extends H {
|
|
8230
8691
|
constructor() {
|
|
8231
8692
|
super();
|
|
8232
8693
|
this.__registerHost();
|
|
@@ -8333,14 +8794,14 @@ let DuetSelect$1 = class extends HTMLElement {
|
|
|
8333
8794
|
if (this.nativeSelect) {
|
|
8334
8795
|
this.nativeSelect.value = this.value;
|
|
8335
8796
|
}
|
|
8336
|
-
this.isCaptionVisible = !!
|
|
8797
|
+
this.isCaptionVisible = !!this.caption;
|
|
8337
8798
|
}
|
|
8338
8799
|
/**
|
|
8339
8800
|
* Component lifecycle events.
|
|
8340
8801
|
*/
|
|
8341
8802
|
componentWillLoad() {
|
|
8342
8803
|
inheritGlobalTheme(this);
|
|
8343
|
-
this.isCaptionVisible = !!
|
|
8804
|
+
this.isCaptionVisible = !!this.caption;
|
|
8344
8805
|
this.refresh();
|
|
8345
8806
|
}
|
|
8346
8807
|
/**
|
|
@@ -8383,7 +8844,7 @@ let DuetSelect$1 = class extends HTMLElement {
|
|
|
8383
8844
|
"duet-theme-turva": this.theme === "turva",
|
|
8384
8845
|
"duet-input-top-caption-shown": this.isCaptionVisible,
|
|
8385
8846
|
"has-error": !!this.error,
|
|
8386
|
-
} }, h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: identifier }, this.label), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId, size: "small" }, this.placeholder)), h$1("
|
|
8847
|
+
} }, h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, id: this.labelId, for: identifier }, this.label), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h$1("div", { class: "duet-select-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-select-placeholder", size: "small" }, this.placeholder)), h$1("select", { ref: select => (this.nativeSelect = select), disabled: this.disabled, name: this.name, id: identifier, role: this.role, "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, required: this.required, "aria-describedby": this.accessibleDescribedBy }, this.placeholder && (h$1("option", { disabled: true, selected: true, value: "" }, this.placeholder)), !this.processedItems ? (h$1("option", null, "Virhe valintoja ladattaessa. P\u00E4ivit\u00E4 sivu ja kokeile uusiksi.")) : (this.processedItems.map(item => {
|
|
8387
8848
|
return isOptionGroup(item) ? this.renderOptionGroup(item) : this.renderOption(item);
|
|
8388
8849
|
}))), h$1("div", { class: "duet-select", "aria-hidden": "true" }, h$1("span", { key: this.value }, this.getSelectedItemLabel()), h$1("svg", { role: "img", class: "duet-select-icon", fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, h$1("path", { d: "m12 18.999c-.4 0-.776-.156-1.059-.438l-10.721-10.72c-.142-.142-.22-.33-.22-.531 0-.2.078-.389.22-.53.142-.142.33-.22.53-.22s.389.078.53.22l10.72 10.719 10.72-10.719c.142-.142.33-.22.53-.22s.389.078.53.22c.142.142.22.33.22.53s-.078.389-.22.53l-10.72 10.72c-.282.283-.659.439-1.06.439z" })))), h$1("span", { class: "duet-select-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h$1("span", null, this.error)))));
|
|
8389
8850
|
}
|
|
@@ -8397,7 +8858,7 @@ let DuetSelect$1 = class extends HTMLElement {
|
|
|
8397
8858
|
|
|
8398
8859
|
const duetSpacerCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;display:block;width:12px;min-width:12px;height:12px}@media (min-width: 36em){:host{width:16px;min-width:16px;height:16px}}:host(.duet-spacer-horizontal){display:inline-block;height:100% !important}:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-small){width:4px;min-width:4px}}:host(.duet-spacer-horizontal.x-small){width:4px;min-width:4px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-small){width:8px;min-width:8px}}:host(.duet-spacer-horizontal.small){width:8px;min-width:8px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.small){width:12px;min-width:12px}}:host(.duet-spacer-horizontal.medium){height:100%}:host(.duet-spacer-horizontal.large){width:16px;min-width:16px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.large){width:20px;min-width:20px}}:host(.duet-spacer-horizontal.x-large){width:20px;min-width:20px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.x-large){width:28px;min-width:28px}}:host(.duet-spacer-horizontal.xx-large){width:28px;min-width:28px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xx-large){width:36px;min-width:36px}}:host(.duet-spacer-horizontal.xxx-large){width:36px;min-width:36px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxx-large){width:48px;min-width:48px}}:host(.duet-spacer-horizontal.xxxx-large){width:48px;min-width:48px;height:100%}@media (min-width: 36em){:host(.duet-spacer-horizontal.xxxx-large){width:72px;min-width:72px}}:host(.duet-spacer-vertical.xx-small){width:100%;height:4px;min-height:4px}:host(.duet-spacer-vertical.x-small){width:100%;height:4px;min-height:4px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-small){height:8px;min-height:8px}}:host(.duet-spacer-vertical.small){width:100%;height:8px;min-height:8px}@media (min-width: 36em){:host(.duet-spacer-vertical.small){height:12px;min-height:12px}}:host(.duet-spacer-vertical.medium){width:100%}:host(.duet-spacer-vertical.large){width:100%;height:16px;min-height:16px}@media (min-width: 36em){:host(.duet-spacer-vertical.large){height:20px;min-height:20px}}:host(.duet-spacer-vertical.x-large){width:100%;height:20px;min-height:20px}@media (min-width: 36em){:host(.duet-spacer-vertical.x-large){height:28px;min-height:28px}}:host(.duet-spacer-vertical.xx-large){width:100%;height:28px;min-height:28px}@media (min-width: 36em){:host(.duet-spacer-vertical.xx-large){height:36px;min-height:36px}}:host(.duet-spacer-vertical.xxx-large){width:100%;height:36px;min-height:36px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxx-large){height:48px;min-height:48px}}:host(.duet-spacer-vertical.xxxx-large){width:100%;height:48px;min-height:48px}@media (min-width: 36em){:host(.duet-spacer-vertical.xxxx-large){height:72px;min-height:72px}}:host(.duet-spacer-xx-small){display:none}@media (max-width: 22.5em){:host(.duet-spacer-xx-small){display:block}}:host(.duet-spacer-x-small){display:none}@media (max-width: 35.9375em){:host(.duet-spacer-x-small){display:block}}:host(.duet-spacer-small){display:none}@media (min-width: 36em){:host(.duet-spacer-small){display:block}}:host(.duet-spacer-medium){display:none}@media (min-width: 48em){:host(.duet-spacer-medium){display:block}}:host(.duet-spacer-large){display:none}@media (min-width: 62em){:host(.duet-spacer-large){display:block}}:host(.duet-spacer-x-large){display:none}@media (min-width: 64.0625em){:host(.duet-spacer-x-large){display:block}}:host(.duet-spacer-xx-large){display:none}@media (min-width: 76.25em){:host(.duet-spacer-xx-large){display:block}}";
|
|
8399
8860
|
|
|
8400
|
-
let DuetSpacer$1 = class extends
|
|
8861
|
+
let DuetSpacer$1 = class extends H {
|
|
8401
8862
|
constructor() {
|
|
8402
8863
|
super();
|
|
8403
8864
|
this.__registerHost();
|
|
@@ -8439,7 +8900,7 @@ let DuetSpacer$1 = class extends HTMLElement {
|
|
|
8439
8900
|
|
|
8440
8901
|
const duetSpinnerCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute;top:50%;left:50%;z-index:800;max-width:100%}:host(.duet-theme-default) .duet-spinner{color:#0077b3 !important}:host(.duet-theme-turva) .duet-spinner{color:#c60c30 !important}:host(.duet-custom-color){color:inherit}*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.duet-spinner{-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%;z-index:800;width:24px;height:24px;color:#0077b3;border:2px solid transparent;border-left:2px solid currentColor;border-radius:50%;transform:translateZ(0) translateX(-50%) translateY(-50%);transform-origin:0% 0%;animation:duetRotate 0.6s linear infinite}.duet-spinner::after{position:absolute;top:50%;left:50%;z-index:200;box-sizing:content-box;width:100%;height:100%;overflow:hidden;content:\"\";border:2px solid currentColor;border-radius:50%;opacity:0.3;transform:translateZ(0) translateX(-50%) translateY(-50%);transform-origin:0% 0%}.duet-spinner.medium{width:36px;height:36px;border-width:4px}.duet-spinner.medium::after{border-width:4px}.duet-spinner.large{width:72px;height:72px;border-width:8px}.duet-spinner.large::after{border-width:8px}@keyframes duetRotate{0%{transform:translateZ(0) rotate(0deg) translateX(-50%) translateY(-50%)}100%{transform:translateZ(0) rotate(360deg) translateX(-50%) translateY(-50%)}}";
|
|
8441
8902
|
|
|
8442
|
-
let DuetSpinner$1 = class extends
|
|
8903
|
+
let DuetSpinner$1 = class extends H {
|
|
8443
8904
|
constructor() {
|
|
8444
8905
|
super();
|
|
8445
8906
|
this.__registerHost();
|
|
@@ -8490,7 +8951,7 @@ var actionEdit2={"title":"action-edit-2","tags":"action edit 2 pen pencil","svg"
|
|
|
8490
8951
|
|
|
8491
8952
|
const duetStepCss = "*.sc-duet-step,*.sc-duet-step::after,*.sc-duet-step::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-step-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block}.duet-step.sc-duet-step{padding:20px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;background:white;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-step.duet-theme-turva.sc-duet-step{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-step.rounded-top.sc-duet-step{border-top-left-radius:4px;border-top-right-radius:4px}.duet-step.rounded-bottom.sc-duet-step{margin-bottom:20px !important;border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-step.rounded-bottom.sc-duet-step{margin-bottom:0 !important}}@media (min-width: 36em){.duet-step.sc-duet-step{padding:0 20px 0 0 !important;margin:0 !important;font-size:1.25rem;box-shadow:none !important}}.duet-step-heading.sc-duet-step{display:flex;align-items:center;border-radius:4px}.duet-step-heading[aria-disabled=false].sc-duet-step{cursor:pointer}.duet-step-heading.sc-duet-step:focus{outline:0}.duet-step-heading.sc-duet-step:active{opacity:0.75}.user-is-tabbing.sc-duet-step-h .duet-step-heading.sc-duet-step:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.sc-duet-step-h .duet-theme-turva.sc-duet-step .duet-step-heading.sc-duet-step:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.is-complete.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step,.is-disabled.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step{background-color:#005f8f}.duet-theme-turva.is-complete.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step,.duet-theme-turva.is-disabled.sc-duet-step .duet-step-heading.sc-duet-step:hover .duet-step-counter.sc-duet-step{background-color:#9e0a26}.is-current.sc-duet-step .duet-step-heading.sc-duet-step{margin-bottom:20px}@media (min-width: 36em){.duet-step-heading.sc-duet-step{margin-top:8px;margin-bottom:8px !important}.sc-duet-step-h:first-of-type .duet-step-heading.sc-duet-step{margin-top:0}.sc-duet-step-h:last-of-type .duet-step-heading.sc-duet-step{margin-bottom:0 !important}}.duet-step-counter.sc-duet-step{-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;line-height:30px;color:white;text-align:center;border-radius:50%;transition:background-color 300ms ease}@media (min-width: 36em){.duet-step-counter.sc-duet-step{width:40px;height:40px;line-height:40px}}.is-complete.sc-duet-step .duet-step-counter.sc-duet-step,.is-current.sc-duet-step .duet-step-counter.sc-duet-step,.is-disabled.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#0077b3}.duet-theme-turva.is-complete.sc-duet-step .duet-step-counter.sc-duet-step,.duet-theme-turva.is-current.sc-duet-step .duet-step-counter.sc-duet-step,.duet-theme-turva.is-disabled.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#c60c30}.is-incomplete.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#657787}.duet-theme-turva.is-incomplete.sc-duet-step .duet-step-counter.sc-duet-step{background-color:#747475}.duet-step-icon.sc-duet-step{display:flex;align-items:center;justify-content:center;width:16px;height:16px}@media (min-width: 36em){.duet-step-icon.sc-duet-step{width:20px;height:20px}}.duet-step-icon.sc-duet-step duet-icon.sc-duet-step{width:16px;height:16px}@media (min-width: 36em){.duet-step-icon.sc-duet-step duet-icon.sc-duet-step{width:20px;height:20px}}@media (min-width: 36em){.duet-step-content-wrapper.sc-duet-step{min-height:20px;padding-left:40px;margin-left:19px;border-left:2px solid #e1e3e6}.duet-theme-turva.sc-duet-step .duet-step-content-wrapper.sc-duet-step{border-color:#e4e4e6}.sc-duet-step-h:last-of-type .duet-step-content-wrapper.sc-duet-step{min-height:0;border:transparent}}.duet-step-content.sc-duet-step{display:none;padding-bottom:16px}@media (min-width: 36em){.duet-step-content.sc-duet-step{padding-bottom:28px}}.is-current.sc-duet-step .duet-step-content.sc-duet-step{display:block}.duet-step-heading-slot.sc-duet-step{display:none;margin-top:2px}@media (min-width: 48em){.duet-step-heading-slot.sc-duet-step{display:block}}";
|
|
8492
8953
|
|
|
8493
|
-
let DuetStep$1 = class extends
|
|
8954
|
+
let DuetStep$1 = class extends H {
|
|
8494
8955
|
constructor() {
|
|
8495
8956
|
super();
|
|
8496
8957
|
this.__registerHost();
|
|
@@ -8598,7 +9059,7 @@ function groupBy(prop, items) {
|
|
|
8598
9059
|
|
|
8599
9060
|
const duetStepperCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;width:100%}:host(.duet-m-0){margin:0 !important}.duet-stepper{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}@media (min-width: 36em){.duet-stepper{padding:28px !important;padding-top:36px !important;padding-bottom:36px !important;background:white;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}}";
|
|
8600
9061
|
|
|
8601
|
-
let DuetStepper$1 = class extends
|
|
9062
|
+
let DuetStepper$1 = class extends H {
|
|
8602
9063
|
constructor() {
|
|
8603
9064
|
super();
|
|
8604
9065
|
this.__registerHost();
|
|
@@ -8715,7 +9176,7 @@ let DuetStepper$1 = class extends HTMLElement {
|
|
|
8715
9176
|
|
|
8716
9177
|
const duetTabCss = ".sc-duet-tab-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tab.sc-duet-tab{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:none;width:100%}.duet-tab.selected.sc-duet-tab{display:block}";
|
|
8717
9178
|
|
|
8718
|
-
let DuetTab$1 = class extends
|
|
9179
|
+
let DuetTab$1 = class extends H {
|
|
8719
9180
|
constructor() {
|
|
8720
9181
|
super();
|
|
8721
9182
|
this.__registerHost();
|
|
@@ -8732,9 +9193,9 @@ let DuetTab$1 = class extends HTMLElement {
|
|
|
8732
9193
|
static get style() { return duetTabCss; }
|
|
8733
9194
|
};
|
|
8734
9195
|
|
|
8735
|
-
const duetTabGroupCss = "*.sc-duet-tab-group,*.sc-duet-tab-group::after,*.sc-duet-tab-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-tab-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs.sc-duet-tab-group{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0.sc-duet-tab-group{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-hidden.sc-duet-tab-group{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-hidden.sc-duet-tab-group{display:block}}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-group-tabs.sc-duet-tab-group{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-group-tabs.sc-duet-tab-group{border-bottom-color:#e4e4e6 !important}@media (min-width: 36em){duet-select.sc-duet-tab-group{display:none !important}}.duet-tab-button.sc-duet-tab-group{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.1;color:#00294d !important;text-align:left;text-decoration:none;cursor:pointer;background:white;border:2px solid #e1e3e6;border-style:solid;border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0.sc-duet-tab-group{padding:0 !important}.duet-tab-button.duet-m-0.sc-duet-tab-group{margin:0 !important}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group{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 !important;border-color:#e4e4e6}.duet-tab-button.duet-p-0.sc-duet-tab-group{padding:0 !important}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid #e1e3e6;border-radius:0}}.duet-tab-button.sc-duet-tab-group:hover{z-index:200;border-color:#909599}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group:hover{border-color:#747475 !important}.duet-tab-button.sc-duet-tab-group:active{opacity:0.75;transition:none}.duet-tab-button.selected.sc-duet-tab-group{z-index:201;color:white !important;background:#00294d;border-color:#00294d;outline:0;box-shadow:none !important}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:white !important;background-color:#
|
|
9196
|
+
const duetTabGroupCss = "*.sc-duet-tab-group,*.sc-duet-tab-group::after,*.sc-duet-tab-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-tab-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;display:block;width:100%}.duet-tab-group-tabs.sc-duet-tab-group{margin-bottom:28px !important;display:block;width:100%;max-width:100%;padding-top:2px;list-style:none}.duet-tab-group-tabs.duet-m-0.sc-duet-tab-group{margin:0 !important}.duet-tab-group-tabs.duet-tab-group-hidden.sc-duet-tab-group{display:none}@media (min-width: 36em){.duet-tab-group-tabs.duet-tab-group-hidden.sc-duet-tab-group{display:block}}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-group-tabs.sc-duet-tab-group{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-group-tabs.sc-duet-tab-group{border-bottom-color:#e4e4e6 !important}@media (min-width: 36em){duet-select.sc-duet-tab-group{display:none !important}}.duet-tab-button.sc-duet-tab-group{-webkit-user-select:none;user-select:none;position:relative;z-index:100;display:block;width:100%;padding:20px;margin-top:-2px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.1;color:#00294d !important;text-align:left;text-decoration:none;cursor:pointer;background:white;border:2px solid #e1e3e6;border-style:solid;border-radius:0;transition:150ms ease}.duet-tab-button.duet-p-0.sc-duet-tab-group{padding:0 !important}.duet-tab-button.duet-m-0.sc-duet-tab-group{margin:0 !important}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group{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 !important;border-color:#e4e4e6}.duet-tab-button.duet-p-0.sc-duet-tab-group{padding:0 !important}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group{display:inline-block;width:auto;margin-left:-2px;border-right:2px solid #e1e3e6;border-radius:0}}.duet-tab-button.sc-duet-tab-group:hover{z-index:200;border-color:#909599}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group:hover{border-color:#747475 !important}.duet-tab-button.sc-duet-tab-group:active{opacity:0.75;transition:none}.duet-tab-button.selected.sc-duet-tab-group{z-index:201;color:white !important;background:#00294d;border-color:#00294d;outline:0;box-shadow:none !important}.duet-theme-turva.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:white !important;background-color:#171c3a;border-color:#171c3a !important}.duet-tab-button.sc-duet-tab-group:focus{z-index:200;outline:0}.user-is-tabbing.sc-duet-tab-group-h .duet-tab-button.sc-duet-tab-group:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}.user-is-tabbing.sc-duet-tab-group-h .duet-theme-turva.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tab-button.sc-duet-tab-group:first-child{border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}}.duet-tab-button.sc-duet-tab-group:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}@media (min-width: 36em){.duet-tab-button.sc-duet-tab-group:last-child{border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px}}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group{display:inline-block;width:auto;padding-right:0;padding-left:0;border:0;border-radius:0;transition:none}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.sc-duet-tab-group+.duet-tab-button.sc-duet-tab-group{margin-left:36px}.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:#0077b3 !important;background:white;border-bottom:3px solid #0077b3}.duet-theme-turva.duet-tab-variation-plain.sc-duet-tab-group .duet-tab-button.selected.sc-duet-tab-group{color:#c60c30 !important;border-bottom-color:#c60c30 !important}.duet-tab-group-content.sc-duet-tab-group{position:relative;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}.duet-theme-turva.sc-duet-tab-group .duet-tab-group-content.sc-duet-tab-group{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}";
|
|
8736
9197
|
|
|
8737
|
-
let DuetTabGroup$1 = class extends
|
|
9198
|
+
let DuetTabGroup$1 = class extends H {
|
|
8738
9199
|
constructor() {
|
|
8739
9200
|
super();
|
|
8740
9201
|
this.__registerHost();
|
|
@@ -8933,7 +9394,7 @@ const stickyTopValues = {
|
|
|
8933
9394
|
"with-links": parseFloat(sizeNavigation) * 16,
|
|
8934
9395
|
"without-links": parseFloat(sizeHeader) * 16,
|
|
8935
9396
|
};
|
|
8936
|
-
let DuetTable$1 = class extends
|
|
9397
|
+
let DuetTable$1 = class extends H {
|
|
8937
9398
|
constructor() {
|
|
8938
9399
|
super();
|
|
8939
9400
|
this.__registerHost();
|
|
@@ -9033,7 +9494,7 @@ let DuetTable$1 = class extends HTMLElement {
|
|
|
9033
9494
|
static get style() { return duetTableCss; }
|
|
9034
9495
|
};
|
|
9035
9496
|
|
|
9036
|
-
const duetTextareaCss = "*.sc-duet-textarea,*.sc-duet-textarea::after,*.sc-duet-textarea::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-textarea-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:block;width:100%;max-width:100%;text-align:left}.sc-duet-textarea-h:last-child,.sc-duet-textarea-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-textarea-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-textarea-h{width:100% !important}}.duet-m-0.sc-duet-textarea-h{margin:0 !important}duet-tooltip.sc-duet-textarea{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-textarea{position:relative;top:4px;right:auto}}.duet-textarea-container.sc-duet-textarea{position:relative;width:100%;height:100%}.duet-textarea-container.sc-duet-textarea .duet-input-top-caption.sc-duet-textarea{display:none}.duet-textarea-container.duet-input-top-caption-shown.sc-duet-textarea .duet-input-top-caption.sc-duet-textarea{display:flex !important}.duet-textarea.sc-duet-textarea{padding:15px !important;position:relative;z-index:100;display:block;width:100%;min-width:8rem;min-height:160px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;resize:vertical;background:white;border:1px solid #909599;border-radius:4px;transition:150ms ease}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea{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;border-color:#747475}.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea{border-color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea{border-color:#e02a0d !important}.duet-textarea.sc-duet-textarea::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea::-webkit-input-placeholder{color:#747475}.duet-textarea.sc-duet-textarea:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-textarea.sc-duet-textarea::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea::-moz-placeholder{color:#747475}.duet-textarea.sc-duet-textarea:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus::-moz-placeholder{color:#cfcfd1}.duet-textarea.sc-duet-textarea:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:-ms-input-placeholder{color:#747475}.duet-textarea.sc-duet-textarea:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus:-ms-input-placeholder{color:#cfcfd1}.duet-textarea[disabled].sc-duet-textarea{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#f5f8fa !important}.duet-theme-turva.sc-duet-textarea .duet-textarea[disabled].sc-duet-textarea{color:#747475 !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important}.duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #909599}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #747475}.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-textarea.sc-duet-textarea:focus{border-color:#0077b3;outline:0;box-shadow:0 0 0 1px #0077b3;transition:none}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus{border-color:#171c3a;box-shadow:0 0 0 1px #171c3a}.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus{box-shadow:0 0 0 1px #e02a0d}.duet-textarea.sc-duet-textarea:not(:focus):not(:hover):invalid{box-shadow:none}.duet-textarea-help.sc-duet-textarea{font-size:0.875rem;line-height:1.25}.duet-textarea-help.sc-duet-textarea span.sc-duet-textarea{display:block;margin-top:8px}.has-error.sc-duet-textarea .duet-textarea-help.sc-duet-textarea{color:#de2362}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea-help.sc-duet-textarea{color:#e02a0d}.duet-label-hidden.sc-duet-textarea duet-label.sc-duet-textarea{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-character-count.sc-duet-textarea{display:block;margin:8px 0 0 auto}";
|
|
9497
|
+
const duetTextareaCss = "*.sc-duet-textarea,*.sc-duet-textarea::after,*.sc-duet-textarea::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-textarea-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:block;width:100%;max-width:100%;text-align:left}.sc-duet-textarea-h:last-child,.sc-duet-textarea-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-textarea-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-textarea-h{width:100% !important}}.duet-m-0.sc-duet-textarea-h{margin:0 !important}duet-tooltip.sc-duet-textarea{position:absolute;top:12px;right:0}@media (min-width: 48em){duet-tooltip.sc-duet-textarea{position:relative;top:4px;right:auto}}.duet-textarea-container.sc-duet-textarea{position:relative;width:100%;height:100%}.duet-textarea-container.sc-duet-textarea .duet-input-top-caption.sc-duet-textarea{display:none}.duet-textarea-container.duet-input-top-caption-shown.sc-duet-textarea .duet-input-top-caption.sc-duet-textarea{display:flex !important}.duet-textarea-wrapper.sc-duet-textarea{position:relative}.duet-textarea-placeholder.sc-duet-textarea{position:absolute;top:-9px;left:9px;z-index:200;display:block;width:auto;max-width:60%;padding:0 0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:white}.duet-textarea.sc-duet-textarea{padding:15px !important;position:relative;z-index:100;display:block;width:100%;min-width:8rem;min-height:160px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;resize:vertical;background:white;border:1px solid #909599;border-radius:4px;transition:150ms ease}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea{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;border-color:#747475}.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea{border-color:#de2362 !important}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea{border-color:#e02a0d !important}.duet-textarea.sc-duet-textarea::-webkit-input-placeholder{color:#657787;opacity:1 !important;transition:color 300ms ease}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea::-webkit-input-placeholder{color:#747475}.duet-textarea.sc-duet-textarea:focus::-webkit-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus::-webkit-input-placeholder{color:#cfcfd1}.duet-textarea.sc-duet-textarea::-moz-placeholder{color:#657787;opacity:1 !important}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea::-moz-placeholder{color:#747475}.duet-textarea.sc-duet-textarea:focus::-moz-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus::-moz-placeholder{color:#cfcfd1}.duet-textarea.sc-duet-textarea:-ms-input-placeholder{color:#657787}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:-ms-input-placeholder{color:#747475}.duet-textarea.sc-duet-textarea:focus:-ms-input-placeholder{color:#cfd2d4}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus:-ms-input-placeholder{color:#cfcfd1}.duet-textarea[disabled].sc-duet-textarea{color:#657787 !important;cursor:default !important;background:#f5f8fa !important;border-color:#f5f8fa !important}.duet-theme-turva.sc-duet-textarea .duet-textarea[disabled].sc-duet-textarea{color:#747475 !important;background:#f5f5f7 !important;border-color:#f5f5f7 !important}.duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #909599}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #747475}.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:hover:not(:disabled){box-shadow:0 0 0 1px #e02a0d}.duet-textarea.sc-duet-textarea:focus{border-color:#0077b3;outline:0;box-shadow:0 0 0 1px #0077b3;transition:none}.duet-theme-turva.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus{border-color:#171c3a;box-shadow:0 0 0 1px #171c3a}.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus{box-shadow:0 0 0 1px #de2362}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea.sc-duet-textarea:focus{box-shadow:0 0 0 1px #e02a0d}.duet-textarea.sc-duet-textarea:not(:focus):not(:hover):invalid{box-shadow:none}.duet-textarea-help.sc-duet-textarea{font-size:0.875rem;line-height:1.25}.duet-textarea-help.sc-duet-textarea span.sc-duet-textarea{display:block;margin-top:8px}.has-error.sc-duet-textarea .duet-textarea-help.sc-duet-textarea{color:#de2362}.duet-theme-turva.has-error.sc-duet-textarea .duet-textarea-help.sc-duet-textarea{color:#e02a0d}.duet-label-hidden.sc-duet-textarea duet-label.sc-duet-textarea{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-character-count.sc-duet-textarea{display:block;margin:8px 0 0 auto}";
|
|
9037
9498
|
|
|
9038
9499
|
const CharacterCount = ({ value, maxlength, label, theme }) => {
|
|
9039
9500
|
if (maxlength == null) {
|
|
@@ -9044,7 +9505,7 @@ const CharacterCount = ({ value, maxlength, label, theme }) => {
|
|
|
9044
9505
|
const isApproachingLimit = remainder / maxlength <= 0.1; // <= 10% chars remaining
|
|
9045
9506
|
return (h$1("div", { class: "duet-character-count" }, h$1("duet-caption", { margin: "none", theme: theme, size: "small" }, h$1("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true", class: "duet-textarea-counter-remaining" }, isApproachingLimit && `${remainder} ${label}`), h$1("span", { "aria-hidden": "true" }, length, "/", maxlength))));
|
|
9046
9507
|
};
|
|
9047
|
-
let DuetTextarea$1 = class extends
|
|
9508
|
+
let DuetTextarea$1 = class extends H {
|
|
9048
9509
|
constructor() {
|
|
9049
9510
|
super();
|
|
9050
9511
|
this.__registerHost();
|
|
@@ -9135,7 +9596,7 @@ let DuetTextarea$1 = class extends HTMLElement {
|
|
|
9135
9596
|
cleanValue(this.nativeInput, this.disallowPatternRegex);
|
|
9136
9597
|
}
|
|
9137
9598
|
this.value = this.nativeInput.value;
|
|
9138
|
-
this.isCaptionVisible = !!
|
|
9599
|
+
this.isCaptionVisible = !!this.caption;
|
|
9139
9600
|
this.duetInput.emit({
|
|
9140
9601
|
originalEvent: ev,
|
|
9141
9602
|
value: this.value,
|
|
@@ -9174,7 +9635,7 @@ let DuetTextarea$1 = class extends HTMLElement {
|
|
|
9174
9635
|
componentWillLoad() {
|
|
9175
9636
|
inheritGlobalTheme(this);
|
|
9176
9637
|
this.disallowedPatternChange();
|
|
9177
|
-
this.isCaptionVisible = !!
|
|
9638
|
+
this.isCaptionVisible = !!this.caption;
|
|
9178
9639
|
if (this.counter && this.maxlength == null) {
|
|
9179
9640
|
console.warn("[DUET WARNING]: counter will only take effect if maxlength is set");
|
|
9180
9641
|
}
|
|
@@ -9208,7 +9669,7 @@ let DuetTextarea$1 = class extends HTMLElement {
|
|
|
9208
9669
|
"duet-label-hidden": this.labelHidden,
|
|
9209
9670
|
"duet-input-top-caption-shown": this.isCaptionVisible,
|
|
9210
9671
|
"has-error": !!this.error,
|
|
9211
|
-
} }, h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId, size: "small" }, this.placeholder)), h$1("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier }), h$1("duet-grid", { alignment: "stretch" }, h$1("duet-grid-item", { margin: "none", fill: true }, h$1("div", { class: "duet-textarea-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h$1("span", null, this.error))), h$1("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h$1(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
|
|
9672
|
+
} }, h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (h$1("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (h$1("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), h$1("div", { class: "duet-textarea-wrapper" }, this.placeholder && this.echoPlaceholder && this.value && (h$1("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-textarea-placeholder", size: "small" }, this.placeholder)), h$1("textarea", { onInput: this.handleInput, onChange: this.handleChange, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: input => (this.nativeInput = input), class: { "duet-textarea": true, disabled: this.disabled }, value: this.value, disabled: this.disabled, "aria-labelledby": `${this.labelId} ${this.errorId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": `${this.isCaptionVisible ? this.topCaptionId : ""} ${this.accessibleDescribedBy}`, placeholder: this.placeholder, spellcheck: "false", required: this.required, minlength: this.minlength, maxlength: this.maxlength, role: this.role, name: this.name, id: identifier })), h$1("duet-grid", { alignment: "stretch" }, h$1("duet-grid-item", { margin: "none", fill: true }, h$1("div", { class: "duet-textarea-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && h$1("span", null, this.error))), h$1("duet-grid-item", { margin: "none", class: "duet-character-count-caption" }, this.counter && (h$1(CharacterCount, { theme: this.theme, value: this.value, maxlength: this.maxlength, label: this.counterLabel })))))));
|
|
9212
9673
|
}
|
|
9213
9674
|
get element() { return this; }
|
|
9214
9675
|
static get watchers() { return {
|
|
@@ -9219,7 +9680,7 @@ let DuetTextarea$1 = class extends HTMLElement {
|
|
|
9219
9680
|
|
|
9220
9681
|
const duetToggleCss = "*.sc-duet-toggle,*.sc-duet-toggle::after,*.sc-duet-toggle::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-toggle-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;-webkit-user-select:none;user-select:none;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-toggle-h:last-child,.sc-duet-toggle-h:last-of-type{margin-right:0 !important}.duet-m-0.sc-duet-toggle-h{margin:0 !important}duet-label.sc-duet-toggle{display:block !important;width:100% !important}.duet-switch.sc-duet-toggle{position:relative;display:block;width:48px;height:28px}.duet-switch.sc-duet-toggle input.sc-duet-toggle{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:#0077b3;box-shadow:none}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle{background-color:#c60c30}.duet-switch.sc-duet-toggle input.sc-duet-toggle:checked+.duet-slider.sc-duet-toggle::before{background-color:white;box-shadow:none;transform:translateX(20px)}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled+.duet-slider.sc-duet-toggle{cursor:default}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #cfcfd1}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:#cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:not(:checked)+.duet-slider.sc-duet-toggle::before{background:#cfcfd1}.duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#cfd2d4}.duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:disabled:checked+.duet-slider.sc-duet-toggle{background:#cfcfd1}.user-is-tabbing.sc-duet-toggle-h .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px white, 0 0 0 3px rgba(0, 119, 179, 0.75)}.user-is-tabbing.sc-duet-toggle-h .duet-theme-turva.sc-duet-toggle .duet-switch.sc-duet-toggle input.sc-duet-toggle:focus+.duet-slider.sc-duet-toggle{box-shadow:0 0 0 1px white, 0 0 0 3px #171c3a}.duet-slider.sc-duet-toggle{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:white;border-radius:20px;box-shadow:inset 0 0 0 1px #00294d;transition:background-color 300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle{box-shadow:inset 0 0 0 1px #171c3a}.duet-slider.sc-duet-toggle::before{position:absolute;bottom:4px;left:4px;width:20px;height:20px;content:\"\";background-color:#00294d;border-radius:50%;transition:300ms ease}.duet-theme-turva.sc-duet-toggle .duet-slider.sc-duet-toggle::before{background-color:#171c3a}";
|
|
9221
9682
|
|
|
9222
|
-
let DuetToggle$1 = class extends
|
|
9683
|
+
let DuetToggle$1 = class extends H {
|
|
9223
9684
|
constructor() {
|
|
9224
9685
|
super();
|
|
9225
9686
|
this.__registerHost();
|
|
@@ -9308,7 +9769,7 @@ let DuetToggle$1 = class extends HTMLElement {
|
|
|
9308
9769
|
|
|
9309
9770
|
const duetTooltipCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;z-index:200;display:inline-flex;width:auto;margin-top:-16px !important;margin-left:-3px !important;-webkit-tap-highlight-color:transparent}.duet-tooltip{position:absolute;right:-21px;bottom:100%;z-index:950;display:block;width:282px;min-height:48px;max-height:340px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:#00294d;visibility:hidden;background:white;border:1px solid #e1e3e6;border-radius:4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:300ms ease;transform:scale(0.9) translateZ(0) translateY(20px);transform-origin:100% 100%}.duet-tooltip.duet-theme-turva{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a;border-color:#e4e4e6;box-shadow:0 2px 10px 0 rgba(117, 117, 117, 0.13)}.duet-tooltip::after{position:absolute;right:22px;bottom:-20px;z-index:200;width:0;height:0;content:\"\";border:10px solid transparent;border-top:10px solid white}.duet-tooltip::before{position:absolute;right:21px;bottom:-22px;z-index:100;width:0;height:0;content:\"\";border:11px solid transparent;border-top:11px solid #e1e3e6}.duet-theme-turva .duet-tooltip::before{border-top:11px solid #e4e4e6}.duet-tooltip.duet-tooltip-down{top:100%;bottom:auto;transform:scale(0.9) translateZ(0) translateY(-20px);transform-origin:100% 0}.duet-tooltip.duet-tooltip-down::after{top:-20px;bottom:auto;border:10px solid transparent;border-bottom:10px solid white}.duet-tooltip.duet-tooltip-down::before{top:-22px;bottom:auto;border:11px solid transparent;border-bottom:11px solid #e1e3e6}.duet-theme-turva .duet-tooltip.duet-tooltip-down::before{border-bottom:11px solid #e4e4e6}.duet-tooltip.duet-tooltip-left{right:-21px !important;transform-origin:100% 100% !important}.duet-tooltip.duet-tooltip-left::after{right:22px !important;transform:none !important}.duet-tooltip.duet-tooltip-left::before{right:21px !important;transform:none !important}.duet-tooltip.duet-tooltip-right{right:auto !important;left:-9px !important;transform-origin:100% 100% !important}.duet-tooltip.duet-tooltip-right::after{right:auto !important;left:22px !important;transform:none !important}.duet-tooltip.duet-tooltip-right::before{right:auto !important;left:21px !important;transform:none !important}.duet-tooltip.duet-tooltip-has-label{right:auto !important;left:0;width:282px !important;transform-origin:0 0 !important}.duet-tooltip.duet-tooltip-has-label::after{right:auto !important;left:1px !important;transform:none !important}.duet-tooltip.duet-tooltip-has-label::before{right:auto !important;left:0 !important;transform:none !important}.duet-tooltip.duet-tooltip-active{visibility:visible;opacity:1;transition-property:transform, opacity;transform:scale(1.0001) translateZ(0) translateY(-8px)}.duet-tooltip.duet-tooltip-active.duet-tooltip-down{transform:scale(1.0001) translateZ(0) translateY(8px)}.duet-tooltip-button{z-index:100;display:inline-block;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 !important;margin-right:-12px;line-height:normal !important;color:#0077b3;white-space:nowrap;cursor:pointer;background:transparent !important;border-radius:4px}.duet-tooltip-button.duet-theme-turva{color:#c60c30}.duet-tooltip-button:hover{color:#004d80}.duet-tooltip-button:hover.duet-theme-turva{color:#940925}.duet-tooltip-button:focus{background:transparent !important;outline:0}:host(.user-is-tabbing) .duet-tooltip-button:focus{background:transparent !important;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3 !important}:host(.user-is-tabbing) .duet-tooltip-button.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a !important}.duet-tooltip-button svg{width:20px;height:20px;pointer-events:none}.duet-tooltip-button-has-label{margin-right:0}.duet-tooltip-scrollable{padding:20px !important;width:100%;max-height:250px;padding-right:25px !important;overflow-y:auto;-webkit-hyphens:auto;hyphens:auto;border-radius:4px;-webkit-overflow-scrolling:touch}.duet-tooltip-scrollable:focus{outline:none}:host(.user-is-tabbing) .duet-tooltip-scrollable:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-tooltip-scrollable:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tooltip-scrollable::-webkit-scrollbar{width:4px}.duet-tooltip-scrollable::-webkit-scrollbar-track{border-radius:4px}.duet-tooltip-scrollable::-webkit-scrollbar-thumb{background:#e1e3e6;border-radius:4px}.duet-theme-turva .duet-tooltip-scrollable::-webkit-scrollbar-thumb{background:#e4e4e6}.duet-tooltip-label{position:relative;z-index:100;display:inline-block;max-width:calc(100% - 30px);margin-left:12px !important;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.25;text-align:left;white-space:normal;vertical-align:top}.duet-theme-turva .duet-tooltip-label{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}.duet-tooltip-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;min-height:0 !important;padding:0 !important;margin:0 !important;line-height:normal;color:#00294d;cursor:pointer;background:#f5f8fa;border-radius:50%;-webkit-appearance:none;appearance:none}.duet-tooltip-close:focus{outline:none;box-shadow:0 0 0 2px #0077b3}.duet-theme-turva .duet-tooltip-close:focus{color:#171c3a;box-shadow:0 0 0 2px #171c3a}@media (min-width: 48em){.duet-tooltip.duet-mq-medium{right:-148px;width:320px;transform-origin:50% 100%}.duet-tooltip.duet-mq-medium::after{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-medium::before{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-medium.duet-tooltip-down{transform-origin:50% 0}}@media (min-width: 62em){.duet-tooltip.duet-mq-large{right:-148px;width:320px;transform-origin:50% 100%}.duet-tooltip.duet-mq-large::after{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-large::before{right:50%;transform:translateX(50%)}.duet-tooltip.duet-mq-large.duet-tooltip-down{transform-origin:50% 0}}";
|
|
9310
9771
|
|
|
9311
|
-
let DuetTooltip$1 = class extends
|
|
9772
|
+
let DuetTooltip$1 = class extends H {
|
|
9312
9773
|
constructor() {
|
|
9313
9774
|
super();
|
|
9314
9775
|
this.__registerHost();
|
|
@@ -9535,7 +9996,7 @@ let DuetTooltip$1 = class extends HTMLElement {
|
|
|
9535
9996
|
const duetTrayCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.duet-tray{position:fixed;top:4rem;right:0;left:0;z-index:399;display:flex;flex-direction:column;max-height:calc(100% - 8rem);padding:16px 20px 16px 24px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;visibility:hidden;background:#f3f9fc;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);opacity:0;transition:opacity 600ms ease, visibility 600ms ease, transform 600ms ease;transform:translateY(-4rem)}@media (min-width: 62em){.duet-tray{padding:16px 36px}}@media (min-width: 106.25em){.duet-tray{padding:16px 52px 16px 60px}}.duet-tray:focus{outline:0}:host(.user-is-tabbing) .duet-tray:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-tray.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tray.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;background:#f5f5f7;border-color:#e4e4e6}.duet-tray.duet-tray-is-active{visibility:visible;opacity:1;transform:translateY(0)}.duet-tray.duet-tray-is-hidden{visibility:hidden;opacity:0;transform:translateY(-4rem)}@media (min-width: 62em){.duet-tray.duet-tray-is-responsive{display:none !important}}.duet-tray.duet-tray-is-expandable{padding-right:66px}@media (min-width: 62em){.duet-tray.duet-tray-is-expandable{padding-right:78px}}@media (min-width: 106.25em){.duet-tray.duet-tray-is-expandable{padding-right:94px}}.duet-tray-expandable{position:relative;z-index:100;width:calc(100% + 46px);max-height:0;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity 600ms ease, visibility 600ms ease, max-height 600ms ease;scrollbar-width:none}.duet-tray-expandable::-webkit-scrollbar{display:none}.duet-tray-expandable.active{max-height:500px;visibility:visible;opacity:1}.duet-tray-expandable-content{width:100%;margin-top:16px;border-top:1px solid #e1e3e6}.duet-theme-turva .duet-tray-expandable-content{border-color:#e4e4e6}.duet-tray-button{-webkit-user-select:none;user-select:none;padding:20px !important;position:absolute;top:-2px;right:0;z-index:200;color:#00294d;text-align:center;cursor:pointer;border-radius:4px;transition:transform 300ms ease;-webkit-tap-highlight-color:transparent}@media (min-width: 62em){.duet-tray-button{margin-right:16px}}@media (min-width: 106.25em){.duet-tray-button{margin-right:36px}}.duet-theme-turva .duet-tray-button{color:#171c3a}.duet-tray-button.duet-tray-is-expanded{transform:rotate(-180deg)}.duet-tray-button:focus{outline:0}:host(.user-is-tabbing) .duet-tray-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-tray-button:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-tray-button:active{box-shadow:none;opacity:0.75}";
|
|
9536
9997
|
|
|
9537
9998
|
const topOffset = parseFloat(sizeHeader) * 2 * 16; // convert rem -> px
|
|
9538
|
-
let DuetTray$1 = class extends
|
|
9999
|
+
let DuetTray$1 = class extends H {
|
|
9539
10000
|
constructor() {
|
|
9540
10001
|
super();
|
|
9541
10002
|
this.__registerHost();
|
|
@@ -9657,9 +10118,1177 @@ let DuetTray$1 = class extends HTMLElement {
|
|
|
9657
10118
|
static get style() { return duetTrayCss; }
|
|
9658
10119
|
};
|
|
9659
10120
|
|
|
10121
|
+
const errorCodes = [
|
|
10122
|
+
{
|
|
10123
|
+
type: "default",
|
|
10124
|
+
system_message: "unknown error",
|
|
10125
|
+
message: {
|
|
10126
|
+
fi: "Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",
|
|
10127
|
+
sv: "Ett okänt fel uppstod, försök igen.",
|
|
10128
|
+
en: "An unknown error occured, please try again."
|
|
10129
|
+
}
|
|
10130
|
+
},
|
|
10131
|
+
{
|
|
10132
|
+
type: "400",
|
|
10133
|
+
system_message: "Bad Request: The server could not understand the request due to invalid syntax.",
|
|
10134
|
+
message: {
|
|
10135
|
+
fi: "Tiedostoa ei hyväksytty.",
|
|
10136
|
+
sv: "Servern avvisade din fil.",
|
|
10137
|
+
en: "The server rejected your file."
|
|
10138
|
+
}
|
|
10139
|
+
},
|
|
10140
|
+
{
|
|
10141
|
+
type: "401",
|
|
10142
|
+
system_message: "Not Authenticated: The client must authenticate itself to get the requested response...",
|
|
10143
|
+
message: {
|
|
10144
|
+
fi: "Vain kirjautunut käyttäjä voi lähettää tiedostoja.",
|
|
10145
|
+
sv: "Du måste vara inloggad för att ladda upp filer.",
|
|
10146
|
+
en: "You need to be logged in to upload files."
|
|
10147
|
+
}
|
|
10148
|
+
},
|
|
10149
|
+
{
|
|
10150
|
+
type: "403",
|
|
10151
|
+
system_message: "No Access: The client does not have access rights to the content.",
|
|
10152
|
+
message: {
|
|
10153
|
+
fi: "Ei oikeuksia lähettää tiedostoja.",
|
|
10154
|
+
sv: "Du har inte rätt åtkomsträttigheter för att ladda upp filer.",
|
|
10155
|
+
en: "You do not have the correct access rights to upload files."
|
|
10156
|
+
}
|
|
10157
|
+
},
|
|
10158
|
+
{
|
|
10159
|
+
type: "413",
|
|
10160
|
+
system_message: "Payload too large",
|
|
10161
|
+
message: {
|
|
10162
|
+
fi: "Tiedosto oli liian vastaanotettavaksi.",
|
|
10163
|
+
sv: "Filen var för stor för servern att hantera.",
|
|
10164
|
+
en: "The file was to large for the server to handle."
|
|
10165
|
+
}
|
|
10166
|
+
},
|
|
10167
|
+
{
|
|
10168
|
+
type: "415",
|
|
10169
|
+
system_message: "Unsupported media type",
|
|
10170
|
+
message: {
|
|
10171
|
+
fi: "Tiedoston tyyppi oli väärä.",
|
|
10172
|
+
sv: "Servern avvisade filen eftersom den hade fel typ.",
|
|
10173
|
+
en: "The server rejected the file because it had the wrong type."
|
|
10174
|
+
}
|
|
10175
|
+
},
|
|
10176
|
+
{
|
|
10177
|
+
type: "429",
|
|
10178
|
+
system_message: "Too many request from same address",
|
|
10179
|
+
message: {
|
|
10180
|
+
fi: "Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",
|
|
10181
|
+
sv: "Servern har fått många förfrågningar från dig, försök igen senare.",
|
|
10182
|
+
en: "The server has received to many request from you, please try again later."
|
|
10183
|
+
}
|
|
10184
|
+
},
|
|
10185
|
+
{
|
|
10186
|
+
type: "500",
|
|
10187
|
+
system_message: "Internal Server Error",
|
|
10188
|
+
message: {
|
|
10189
|
+
fi: "Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",
|
|
10190
|
+
sv: "Servern rapporterade ett okänt fel och uppladdningen misslyckades.",
|
|
10191
|
+
en: "The server reported an unknown error and the upload failed."
|
|
10192
|
+
}
|
|
10193
|
+
},
|
|
10194
|
+
{
|
|
10195
|
+
type: "duet-upload-100",
|
|
10196
|
+
system_message: "File extension not allowed",
|
|
10197
|
+
message: {
|
|
10198
|
+
fi: "Tiedoston tyyppi ei ole sallittu.",
|
|
10199
|
+
sv: "Du kan inte ladda upp filer av den type.",
|
|
10200
|
+
en: "You cannot upload files with that extension."
|
|
10201
|
+
}
|
|
10202
|
+
},
|
|
10203
|
+
{
|
|
10204
|
+
type: "duet-upload-001",
|
|
10205
|
+
system_message: "File transfer failed",
|
|
10206
|
+
message: {
|
|
10207
|
+
fi: "Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",
|
|
10208
|
+
sv: "Din anslutning till servern avbröts, försök igen.",
|
|
10209
|
+
en: "Your connection to the server was interrupted, try again."
|
|
10210
|
+
}
|
|
10211
|
+
},
|
|
10212
|
+
{
|
|
10213
|
+
type: "duet-upload-101",
|
|
10214
|
+
system_message: "File mimetype not allowed",
|
|
10215
|
+
message: {
|
|
10216
|
+
fi: "Tiedoston tyyppi ei ole sallittu.",
|
|
10217
|
+
sv: "Du kan inte ladda upp filer av den typ.",
|
|
10218
|
+
en: "You cannot upload files of that type."
|
|
10219
|
+
}
|
|
10220
|
+
},
|
|
10221
|
+
{
|
|
10222
|
+
type: "duet-upload-201",
|
|
10223
|
+
system_message: "File is too large",
|
|
10224
|
+
message: {
|
|
10225
|
+
fi: "Tiedosto on liian iso.",
|
|
10226
|
+
sv: "Filen är större än tillåtet.",
|
|
10227
|
+
en: "The file is larger than permitted."
|
|
10228
|
+
}
|
|
10229
|
+
},
|
|
10230
|
+
{
|
|
10231
|
+
type: "duet-upload-202",
|
|
10232
|
+
system_message: "The combined size of all files is too large",
|
|
10233
|
+
message: {
|
|
10234
|
+
fi: "Tiedostojen yhteenlaskettu koko on liian iso.",
|
|
10235
|
+
sv: "Du har nått den maximala kombinerade filstorleken.",
|
|
10236
|
+
en: "You have reached the maximum combined filesize."
|
|
10237
|
+
}
|
|
10238
|
+
},
|
|
10239
|
+
{
|
|
10240
|
+
type: "duet-upload-301",
|
|
10241
|
+
system_message: "The maximum file limit has been reached",
|
|
10242
|
+
message: {
|
|
10243
|
+
fi: "Liitteiden maksimimäärä saavutettu.",
|
|
10244
|
+
sv: "Maximalt antal bilagor har uppnåtts.",
|
|
10245
|
+
en: "Maximum number of attachments reached."
|
|
10246
|
+
}
|
|
10247
|
+
}
|
|
10248
|
+
];
|
|
10249
|
+
|
|
10250
|
+
const getError = (code) => {
|
|
10251
|
+
let error = {
|
|
10252
|
+
type: undefined,
|
|
10253
|
+
system_message: undefined,
|
|
10254
|
+
message: undefined,
|
|
10255
|
+
};
|
|
10256
|
+
error = errorCodes.filter(errorItem => {
|
|
10257
|
+
// the == is intentional we may be comparing numbers to strings - and that is ok here
|
|
10258
|
+
return errorItem.type == code;
|
|
10259
|
+
})[0];
|
|
10260
|
+
if (!error) {
|
|
10261
|
+
error = errorCodes.filter(errorItem => {
|
|
10262
|
+
return errorItem.type === "default";
|
|
10263
|
+
})[0];
|
|
10264
|
+
}
|
|
10265
|
+
return error;
|
|
10266
|
+
};
|
|
10267
|
+
const getI18nError = (errorCode) => {
|
|
10268
|
+
const errorFromJson = getError(errorCode);
|
|
10269
|
+
const i18String = getLocaleString(errorFromJson.message);
|
|
10270
|
+
if (i18String === "" || !i18String) {
|
|
10271
|
+
return errorFromJson.system_message;
|
|
10272
|
+
}
|
|
10273
|
+
else {
|
|
10274
|
+
return i18String;
|
|
10275
|
+
}
|
|
10276
|
+
};
|
|
10277
|
+
|
|
10278
|
+
const ErrorItem = ({ data }) => {
|
|
10279
|
+
const { item, error } = data;
|
|
10280
|
+
const { name } = item;
|
|
10281
|
+
const { type } = error;
|
|
10282
|
+
return (h("span", { class: "duet-upload-item-error", role: "status" },
|
|
10283
|
+
h("duet-paragraph", { class: "duet-upload-item-name", color: "danger", margin: "none", weight: "semi-bold" },
|
|
10284
|
+
h("duet-icon", { margin: "none", size: "xx-small", name: "messaging-attachment" }),
|
|
10285
|
+
" ",
|
|
10286
|
+
name),
|
|
10287
|
+
h("duet-paragraph", { class: "duet-upload-item-error-label", size: "small", margin: "none", color: "danger" }, getI18nError(type))));
|
|
10288
|
+
};
|
|
10289
|
+
|
|
10290
|
+
const ProgressItem = ({ progress, name }) => (h("span", null,
|
|
10291
|
+
h("duet-paragraph", { color: "secondary", margin: "none", size: "small" }, name),
|
|
10292
|
+
h("duet-spacer", { size: "xx-small" }),
|
|
10293
|
+
h("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
|
|
10294
|
+
|
|
10295
|
+
const formatBytes = (bytes, decimals = 2) => {
|
|
10296
|
+
if (bytes === 0) {
|
|
10297
|
+
return "0 Bytes";
|
|
10298
|
+
}
|
|
10299
|
+
const k = 1024;
|
|
10300
|
+
const dm = decimals < 0 ? 0 : decimals;
|
|
10301
|
+
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
10302
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
10303
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
10304
|
+
};
|
|
10305
|
+
|
|
10306
|
+
const SuccessItem = ({ data, showLinks }) => {
|
|
10307
|
+
const { item, size, uploaded, url, meta } = data;
|
|
10308
|
+
const { name } = item;
|
|
10309
|
+
const ContentName = (h("span", { class: "duet-upload-item-name" },
|
|
10310
|
+
h("duet-icon", { margin: "none", size: "xx-small", name: "messaging-attachment" }),
|
|
10311
|
+
h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
10312
|
+
name));
|
|
10313
|
+
const SizeText = (h("span", { class: "duet-upload-item-size", style: { fontSize: "14px", fontWeight: "400" } },
|
|
10314
|
+
"(",
|
|
10315
|
+
formatBytes(size),
|
|
10316
|
+
")"));
|
|
10317
|
+
const FilenameLine = uploaded && url && showLinks ? (h("duet-paragraph", { color: "secondary", margin: "none", weight: "semi-bold" },
|
|
10318
|
+
h("duet-link", { url: url, external: true }, ContentName),
|
|
10319
|
+
h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
10320
|
+
SizeText)) : (h("duet-paragraph", { color: "secondary", margin: "none", weight: "semi-bold" },
|
|
10321
|
+
ContentName,
|
|
10322
|
+
h("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
10323
|
+
SizeText));
|
|
10324
|
+
const Badges = meta && meta.badges ? (h("span", null,
|
|
10325
|
+
h("duet-spacer", { size: "xx-small" }),
|
|
10326
|
+
meta.badges.map(badgeText => (h("duet-badge", { color: "primary" }, badgeText))))) : undefined;
|
|
10327
|
+
return (h("span", { class: "duet-upload-item-success" },
|
|
10328
|
+
h("div", null, FilenameLine),
|
|
10329
|
+
Badges));
|
|
10330
|
+
};
|
|
10331
|
+
|
|
10332
|
+
const validateFileExtension = (name, allowedExtensions) => {
|
|
10333
|
+
if (!allowedExtensions) {
|
|
10334
|
+
return true;
|
|
10335
|
+
}
|
|
10336
|
+
const ext = name.split(".");
|
|
10337
|
+
const validExtension = allowedExtensions.split(",");
|
|
10338
|
+
const extension = ext[ext.length - 1];
|
|
10339
|
+
return validExtension.includes(extension);
|
|
10340
|
+
};
|
|
10341
|
+
const validateFileMime = (type, allowedMimetypes) => {
|
|
10342
|
+
if (!allowedMimetypes || !type) {
|
|
10343
|
+
return true;
|
|
10344
|
+
}
|
|
10345
|
+
const validMimeTypes = allowedMimetypes.split(",");
|
|
10346
|
+
let valid = false;
|
|
10347
|
+
validMimeTypes.forEach(mimeType => {
|
|
10348
|
+
const allowedTypes = mimeType.split("/");
|
|
10349
|
+
const fileType = type.split("/");
|
|
10350
|
+
if (allowedTypes[0] === fileType[0] && (allowedTypes[1] === fileType[1] || allowedTypes[1] === "*")) {
|
|
10351
|
+
valid = true;
|
|
10352
|
+
}
|
|
10353
|
+
});
|
|
10354
|
+
return valid;
|
|
10355
|
+
};
|
|
10356
|
+
const validateFileSize = (size, maxBytes) => {
|
|
10357
|
+
if (!maxBytes || !size) {
|
|
10358
|
+
return true;
|
|
10359
|
+
}
|
|
10360
|
+
return maxBytes >= size;
|
|
10361
|
+
};
|
|
10362
|
+
const validateFile = (item, validators) => {
|
|
10363
|
+
const { allowedMimetypes, allowedExtensions, maxBytes } = validators;
|
|
10364
|
+
let valid = false;
|
|
10365
|
+
let errorMessage = getError("default");
|
|
10366
|
+
if (item) {
|
|
10367
|
+
const { name, type, size } = item;
|
|
10368
|
+
const mime = validateFileMime(type, allowedMimetypes);
|
|
10369
|
+
const ext = validateFileExtension(name, allowedExtensions);
|
|
10370
|
+
const bytes = validateFileSize(size, maxBytes);
|
|
10371
|
+
if (!mime) {
|
|
10372
|
+
errorMessage = getError("duet-upload-101");
|
|
10373
|
+
}
|
|
10374
|
+
if (!ext) {
|
|
10375
|
+
errorMessage = getError("duet-upload-100");
|
|
10376
|
+
}
|
|
10377
|
+
if (!bytes) {
|
|
10378
|
+
errorMessage = getError("duet-upload-201");
|
|
10379
|
+
}
|
|
10380
|
+
valid = mime && ext && bytes;
|
|
10381
|
+
}
|
|
10382
|
+
else {
|
|
10383
|
+
valid = false;
|
|
10384
|
+
}
|
|
10385
|
+
return {
|
|
10386
|
+
valid,
|
|
10387
|
+
errorMessage: valid ? undefined : getLocaleString(errorMessage.message),
|
|
10388
|
+
errorSystem: valid ? undefined : errorMessage.system_message,
|
|
10389
|
+
errorType: valid ? undefined : errorMessage.type,
|
|
10390
|
+
};
|
|
10391
|
+
};
|
|
10392
|
+
const validateTotalSizeIsAboveMax = (filelist, maxTotalBytes) => {
|
|
10393
|
+
let total = 0;
|
|
10394
|
+
if (maxTotalBytes) {
|
|
10395
|
+
filelist.forEach(item => {
|
|
10396
|
+
if (item.valid && item.size) {
|
|
10397
|
+
total += item.size;
|
|
10398
|
+
}
|
|
10399
|
+
});
|
|
10400
|
+
if (total < maxTotalBytes) {
|
|
10401
|
+
return true;
|
|
10402
|
+
}
|
|
10403
|
+
}
|
|
10404
|
+
return false;
|
|
10405
|
+
};
|
|
10406
|
+
const validateTotalAmountIsAboveMax = (filelist, maxFiles) => {
|
|
10407
|
+
let total = 0;
|
|
10408
|
+
if (maxFiles) {
|
|
10409
|
+
filelist.forEach(item => {
|
|
10410
|
+
if (item.valid) {
|
|
10411
|
+
total++;
|
|
10412
|
+
}
|
|
10413
|
+
});
|
|
10414
|
+
if (total > maxFiles) {
|
|
10415
|
+
return true;
|
|
10416
|
+
}
|
|
10417
|
+
}
|
|
10418
|
+
return false;
|
|
10419
|
+
};
|
|
10420
|
+
|
|
10421
|
+
const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress }) => {
|
|
10422
|
+
const { type = "POST", xhr, uri, argument = null, headers = null } = options;
|
|
10423
|
+
xhr.open(type, `${uri}${argument || ""}`, true);
|
|
10424
|
+
const { data, name } = payload;
|
|
10425
|
+
// headers must be added after open
|
|
10426
|
+
if (headers) {
|
|
10427
|
+
Object.keys(headers).forEach(key => {
|
|
10428
|
+
xhr.setRequestHeader(key, headers[key]);
|
|
10429
|
+
});
|
|
10430
|
+
}
|
|
10431
|
+
if (type === "POST") {
|
|
10432
|
+
xhr.onreadystatechange = () => {
|
|
10433
|
+
// Call a function when the state changes.
|
|
10434
|
+
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status >= 200 && xhr.status < 300) {
|
|
10435
|
+
// Request finished without errors
|
|
10436
|
+
onSuccess(xhr, name, xhr.status);
|
|
10437
|
+
}
|
|
10438
|
+
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status >= 300 && xhr.status < 999) {
|
|
10439
|
+
// Request finished with errors
|
|
10440
|
+
onFailure(xhr, name, xhr.status);
|
|
10441
|
+
}
|
|
10442
|
+
};
|
|
10443
|
+
onProgress(name);
|
|
10444
|
+
}
|
|
10445
|
+
xhr.send(data);
|
|
10446
|
+
return xhr;
|
|
10447
|
+
};
|
|
10448
|
+
|
|
10449
|
+
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}";
|
|
10450
|
+
|
|
10451
|
+
let DuetUpload$1 = class extends H {
|
|
10452
|
+
constructor() {
|
|
10453
|
+
super();
|
|
10454
|
+
this.__registerHost();
|
|
10455
|
+
this.__attachShadow();
|
|
10456
|
+
this.duetChange = createEvent$2(this, "duetChange", 3);
|
|
10457
|
+
this.duetBlur = createEvent$2(this, "duetBlur", 7);
|
|
10458
|
+
this.duetFocus = createEvent$2(this, "duetFocus", 7);
|
|
10459
|
+
this.duetDone = createEvent$2(this, "duetDone", 3);
|
|
10460
|
+
this.duetState = createEvent$2(this, "duetState", 3);
|
|
10461
|
+
this.duetDelete = createEvent$2(this, "duetDelete", 3);
|
|
10462
|
+
this.duetCancel = createEvent$2(this, "duetCancel", 3);
|
|
10463
|
+
this.duetProgress = createEvent$2(this, "duetProgress", 3);
|
|
10464
|
+
this.duetUpload = createEvent$2(this, "duetUpload", 3);
|
|
10465
|
+
/**
|
|
10466
|
+
* Own Properties
|
|
10467
|
+
*/
|
|
10468
|
+
this.buttonId = createID("DuetButton");
|
|
10469
|
+
this.labelId = createID("DuetLabel");
|
|
10470
|
+
this.uploadId = createID("DuetUpload");
|
|
10471
|
+
this.editableTableId = createID("DuetEditableTable");
|
|
10472
|
+
this.filesInProgress = new Map();
|
|
10473
|
+
this.fileMaxReached = false;
|
|
10474
|
+
this.bytesMaxReached = false;
|
|
10475
|
+
//region Internally exposed properties
|
|
10476
|
+
/**
|
|
10477
|
+
* Properties
|
|
10478
|
+
*/
|
|
10479
|
+
this.DefaultGroups = {
|
|
10480
|
+
inprogress: "inprogress",
|
|
10481
|
+
success: "success",
|
|
10482
|
+
failure: "failure",
|
|
10483
|
+
};
|
|
10484
|
+
/**
|
|
10485
|
+
* State() variables
|
|
10486
|
+
*/
|
|
10487
|
+
this.tick = Date.now();
|
|
10488
|
+
/**
|
|
10489
|
+
* If external is set to true, the upload component will not actually upload the files, but only keep states
|
|
10490
|
+
* it will be up to you to handle the upload and return progress information to the upload-component
|
|
10491
|
+
*/
|
|
10492
|
+
this.external = false;
|
|
10493
|
+
/**
|
|
10494
|
+
* If set the upload component will not display an upload button, you will have to create on yourself
|
|
10495
|
+
* and call the exposed methods startUpload
|
|
10496
|
+
*/
|
|
10497
|
+
this.hideButton = false;
|
|
10498
|
+
/**
|
|
10499
|
+
* Default actions added to all files
|
|
10500
|
+
*/
|
|
10501
|
+
this.actions = [
|
|
10502
|
+
{
|
|
10503
|
+
icon: "action-delete",
|
|
10504
|
+
color: "color-danger",
|
|
10505
|
+
color_hover: "category-home",
|
|
10506
|
+
id: "delete",
|
|
10507
|
+
map: ["success", "failure"],
|
|
10508
|
+
label: {
|
|
10509
|
+
fi: "Poista tiedosto",
|
|
10510
|
+
en: "Poista tiedosto",
|
|
10511
|
+
sv: "Ta bort filen",
|
|
10512
|
+
},
|
|
10513
|
+
},
|
|
10514
|
+
{
|
|
10515
|
+
icon: "navigation-close",
|
|
10516
|
+
color: "primary",
|
|
10517
|
+
color_hover: "category-home",
|
|
10518
|
+
id: "cancel",
|
|
10519
|
+
map: ["inprogress"],
|
|
10520
|
+
label: {
|
|
10521
|
+
fi: "Keskeytä lähetys",
|
|
10522
|
+
en: "Cancel the upload",
|
|
10523
|
+
sv: "Stop överföringen",
|
|
10524
|
+
},
|
|
10525
|
+
},
|
|
10526
|
+
];
|
|
10527
|
+
/**
|
|
10528
|
+
* If enabled the filelist will create links on successfully uploaded items,
|
|
10529
|
+
* this requires the server can respond with link URIs in the correct format
|
|
10530
|
+
*/
|
|
10531
|
+
this.showLinks = false;
|
|
10532
|
+
/**
|
|
10533
|
+
* Property to change the aria upload progress text read aloud by screenreaders
|
|
10534
|
+
* @default {
|
|
10535
|
+
fi: "Lisää liite",
|
|
10536
|
+
sv: "Lägg till en bilaga",
|
|
10537
|
+
en: "Choose files",
|
|
10538
|
+
}
|
|
10539
|
+
*/
|
|
10540
|
+
this.statusLabelDefaults = {
|
|
10541
|
+
fi: {
|
|
10542
|
+
inProgress: "Lähetetään {filesUploaded} lähetettävästä {filesTotal} tiedostosta",
|
|
10543
|
+
inProgressWithErrors: "Lähetetään {filesInProgress} tiedostoa, lähetetty {filesUploaded} lähetettävästä {filesTotal} tiedostosta, {filesWithErrors} tiedostossa on virheitä",
|
|
10544
|
+
done: "Kaikki {filesTotal} tiedostoa lähetetty onnistuneesti",
|
|
10545
|
+
doneWithErrors: "Lähetys valmis, {filesUploaded} tiedostoa on lähetetty onnistuneesti, {filesWithErrors} tiedostossa oli virheitä",
|
|
10546
|
+
files: "tiedostot",
|
|
10547
|
+
file: "tiedosto",
|
|
10548
|
+
},
|
|
10549
|
+
sv: {
|
|
10550
|
+
inProgress: "Adding {filesUploaded} of {filesTotal}",
|
|
10551
|
+
inProgressWithErrors: "Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",
|
|
10552
|
+
done: "Alla {filesTotal} har lagts till",
|
|
10553
|
+
doneWithErrors: "Handling slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",
|
|
10554
|
+
files: "filer",
|
|
10555
|
+
file: "fil",
|
|
10556
|
+
},
|
|
10557
|
+
en: {
|
|
10558
|
+
inProgress: "Adding {filesUploaded} of {filesTotal}",
|
|
10559
|
+
inProgressWithErrors: "Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",
|
|
10560
|
+
done: "All {filesTotal} added successfully",
|
|
10561
|
+
doneWithErrors: "Action completed, {filesUploaded} has been added successfully, {filesWithErrors} had errors",
|
|
10562
|
+
files: "tiedostoa",
|
|
10563
|
+
file: "tiedosto",
|
|
10564
|
+
},
|
|
10565
|
+
};
|
|
10566
|
+
/**
|
|
10567
|
+
* Strings used for the status aria-label
|
|
10568
|
+
*/
|
|
10569
|
+
this.statusMessageLabel = getLocaleString(this.statusLabelDefaults);
|
|
10570
|
+
/**
|
|
10571
|
+
* Property to change descriptionDefaults defaults on the component.
|
|
10572
|
+
* normally you would handle these strings on an application level and override @label when needed
|
|
10573
|
+
* @default {
|
|
10574
|
+
fi: "Lisää liite",
|
|
10575
|
+
sv: "Lägg till en bilaga",
|
|
10576
|
+
en: "Add an attachment",
|
|
10577
|
+
}
|
|
10578
|
+
*/
|
|
10579
|
+
this.buttonLabelDefaults = {
|
|
10580
|
+
fi: "Lisää liite",
|
|
10581
|
+
sv: "Lägg till en bilaga",
|
|
10582
|
+
en: "Add an attachment",
|
|
10583
|
+
};
|
|
10584
|
+
/**
|
|
10585
|
+
* Label of button
|
|
10586
|
+
* @default { fi: "Lisää liite", sv: "Lägg till en bilaga", en: "Add an attachment" }
|
|
10587
|
+
*/
|
|
10588
|
+
this.buttonLabel = getLocaleString(this.buttonLabelDefaults);
|
|
10589
|
+
/**
|
|
10590
|
+
* accessible Label of button
|
|
10591
|
+
*/
|
|
10592
|
+
this.accessibleButtonLabel = undefined;
|
|
10593
|
+
/**
|
|
10594
|
+
* Theme of the input.
|
|
10595
|
+
*/
|
|
10596
|
+
this.theme = "";
|
|
10597
|
+
/**
|
|
10598
|
+
* Makes the input component disabled. This prevents users from being able to
|
|
10599
|
+
* interact with the upload component, and conveys its inactive state to assistive technologies.
|
|
10600
|
+
*/
|
|
10601
|
+
this.disabled = false;
|
|
10602
|
+
/**
|
|
10603
|
+
* Controls the margin of the component.
|
|
10604
|
+
*/
|
|
10605
|
+
this.margin = "auto";
|
|
10606
|
+
/**
|
|
10607
|
+
* Set whether the input is required or not. Please note that this is necessary for
|
|
10608
|
+
* accessible inputs when the user is required to fill them. When using this property
|
|
10609
|
+
* you need to also set “novalidate” attribute to your form element to prevent
|
|
10610
|
+
* browser from displaying its own validation errors.
|
|
10611
|
+
*/
|
|
10612
|
+
this.required = false;
|
|
10613
|
+
/**
|
|
10614
|
+
* Visually hides the groups labels in the editable table list used to display the list of files
|
|
10615
|
+
*/
|
|
10616
|
+
this.hideGroups = false;
|
|
10617
|
+
/**
|
|
10618
|
+
* Map of string that contain list of uploaded files.
|
|
10619
|
+
*/
|
|
10620
|
+
this.files = new Map();
|
|
10621
|
+
/**
|
|
10622
|
+
* Property to read if filelist contains errors or not
|
|
10623
|
+
*/
|
|
10624
|
+
this.valid = !this.required;
|
|
10625
|
+
/**
|
|
10626
|
+
* Property to change labelDefaults defaults on the component.
|
|
10627
|
+
* normally you would handle these strings on an application level and override @label when needed
|
|
10628
|
+
* @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
|
|
10629
|
+
*/
|
|
10630
|
+
this.labelDefaults = {
|
|
10631
|
+
fi: "Lisää liite",
|
|
10632
|
+
sv: "Lägg till en bilaga",
|
|
10633
|
+
en: "Add attachments",
|
|
10634
|
+
};
|
|
10635
|
+
/**
|
|
10636
|
+
* Label for the input.
|
|
10637
|
+
* @default { fi: "Lisää liite",sv: "Lägg till en bilaga",en: "Add attachments"}
|
|
10638
|
+
*/
|
|
10639
|
+
this.label = getLocaleString(this.labelDefaults);
|
|
10640
|
+
/**
|
|
10641
|
+
* Property to change descriptionDefaults defaults on the component.
|
|
10642
|
+
* normally you would handle these strings on an application level and override @label when needed
|
|
10643
|
+
* @default {
|
|
10644
|
+
fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",
|
|
10645
|
+
sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",
|
|
10646
|
+
en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.",
|
|
10647
|
+
}
|
|
10648
|
+
*/
|
|
10649
|
+
this.descriptionDefaults = {
|
|
10650
|
+
fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",
|
|
10651
|
+
sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",
|
|
10652
|
+
en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.",
|
|
10653
|
+
};
|
|
10654
|
+
/**
|
|
10655
|
+
* Description for the upload component.
|
|
10656
|
+
* @default {
|
|
10657
|
+
fi: "Voit liittää {filetypes}-muotoisia tiedostoja sekä yleisimpiä videotiedostoja. Voit lähettää {maxbytes} verran tiedostoja yhdellä kertaa, ja lisätä enintään {maxfiles} liitettä kerrallaan.",
|
|
10658
|
+
sv: "Du kan bifoga filer i flg. formater {filetypes} samt de vanligaste videofilerna. Du kan ladda upp {maxbytes} filer åt gången och lägga till upp till {maxfiles} bilagor åt gången.",
|
|
10659
|
+
en: "You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytes} of files at a time, and add up to {maxfiles} attachments at a time.",
|
|
10660
|
+
}
|
|
10661
|
+
*/
|
|
10662
|
+
this.description = getLocaleString(this.descriptionDefaults);
|
|
10663
|
+
/**
|
|
10664
|
+
* Defaults for the filelist's empty state.
|
|
10665
|
+
* @default {
|
|
10666
|
+
fi: "Ei vielä lisättyjä tiedostoja.",
|
|
10667
|
+
sv: "Inga filer har lagts till ännu.",
|
|
10668
|
+
en: "No files added yet.",
|
|
10669
|
+
}
|
|
10670
|
+
*/
|
|
10671
|
+
this.fileListEmptyDefaults = {
|
|
10672
|
+
fi: "Ei vielä lisättyjä tiedostoja.",
|
|
10673
|
+
sv: "Inga filer har lagts till ännu.",
|
|
10674
|
+
en: "No files added yet.",
|
|
10675
|
+
};
|
|
10676
|
+
/**
|
|
10677
|
+
* Label for the filelist's empty state.
|
|
10678
|
+
* @default { fi: "Ei vielä lisättyjä tiedostoja.",sv: "Inga filer har lagts till ännu.",en: "No files added yet."}
|
|
10679
|
+
*/
|
|
10680
|
+
this.fileListEmpty = getLocaleString(this.fileListEmptyDefaults);
|
|
10681
|
+
/**
|
|
10682
|
+
* Display the input in error state along with an error message.
|
|
10683
|
+
*/
|
|
10684
|
+
this.error = "";
|
|
10685
|
+
/**
|
|
10686
|
+
* Use maxBytes to specify the maximum size in Bytes of a file that can be uploaded.
|
|
10687
|
+
*/
|
|
10688
|
+
this.maxBytes = 200000000;
|
|
10689
|
+
/**
|
|
10690
|
+
* Use maxBytesTotal to specify the maximum size in Bytes of All files combined that can be uploaded.
|
|
10691
|
+
*/
|
|
10692
|
+
this.maxBytesTotal = undefined;
|
|
10693
|
+
/**
|
|
10694
|
+
* Use maxFiles to specify the maximum amount of files that can be uploaded
|
|
10695
|
+
*/
|
|
10696
|
+
this.maxFiles = 99;
|
|
10697
|
+
/**
|
|
10698
|
+
* A string of commaseperated file type values that are allowed
|
|
10699
|
+
* @example: .pdf,.doc,.docx
|
|
10700
|
+
*/
|
|
10701
|
+
this.allowedExtensions = "all";
|
|
10702
|
+
/**
|
|
10703
|
+
* A string of commaseperated mime type values that are allowed
|
|
10704
|
+
* @example: image/*,application/msword,
|
|
10705
|
+
*/
|
|
10706
|
+
this.allowedMimetypes = "*";
|
|
10707
|
+
/**
|
|
10708
|
+
* Use multiple to allow the user to select multiple files when uploading
|
|
10709
|
+
*/
|
|
10710
|
+
this.multiple = true;
|
|
10711
|
+
/**
|
|
10712
|
+
* Use limitSelection to enforce the value in allowedExtension & allowedMimetypes when selecting files,
|
|
10713
|
+
* by default this is off, setting this to true will limit the users choices to what has been explicitly set
|
|
10714
|
+
*/
|
|
10715
|
+
this.limitSelection = false;
|
|
10716
|
+
//region Private functions
|
|
10717
|
+
/**
|
|
10718
|
+
* Private functions
|
|
10719
|
+
*/
|
|
10720
|
+
this.listenForActionEvents = () => {
|
|
10721
|
+
this.element.addEventListener("duetEditableItemAction", (e) => {
|
|
10722
|
+
const detail = e.detail;
|
|
10723
|
+
const { action, keyName, originalEvent } = detail;
|
|
10724
|
+
switch (action) {
|
|
10725
|
+
case "delete":
|
|
10726
|
+
this.onDelete(keyName, originalEvent);
|
|
10727
|
+
break;
|
|
10728
|
+
case "cancel":
|
|
10729
|
+
this.onCancel(keyName, originalEvent);
|
|
10730
|
+
break;
|
|
10731
|
+
// code block
|
|
10732
|
+
}
|
|
10733
|
+
});
|
|
10734
|
+
};
|
|
10735
|
+
this.verifyValidity = () => {
|
|
10736
|
+
const { invalid, valid } = this.getFilesAsArray();
|
|
10737
|
+
const oldValid = this.valid;
|
|
10738
|
+
this.valid = invalid.length === 0 && valid.length !== 0;
|
|
10739
|
+
if (this.valid !== oldValid) {
|
|
10740
|
+
this.duetState.emit({
|
|
10741
|
+
originalEvent: undefined,
|
|
10742
|
+
data: { valid: this.valid, from: "componentWillRender" },
|
|
10743
|
+
component: "duet-upload",
|
|
10744
|
+
});
|
|
10745
|
+
}
|
|
10746
|
+
};
|
|
10747
|
+
this.getGroupFromItemData = (item) => {
|
|
10748
|
+
if (item.valid && item.progress === 100) {
|
|
10749
|
+
// if the item has a group, move the file to that group instead
|
|
10750
|
+
// of into the standard success group
|
|
10751
|
+
if (item.group) {
|
|
10752
|
+
return item.group;
|
|
10753
|
+
}
|
|
10754
|
+
return this.DefaultGroups.success;
|
|
10755
|
+
}
|
|
10756
|
+
else if (item.progress > 0 && item.progress !== 100) {
|
|
10757
|
+
return this.DefaultGroups.inprogress;
|
|
10758
|
+
}
|
|
10759
|
+
else if (!item.valid) {
|
|
10760
|
+
return this.DefaultGroups.failure;
|
|
10761
|
+
}
|
|
10762
|
+
else if (item.group) {
|
|
10763
|
+
return item.group;
|
|
10764
|
+
}
|
|
10765
|
+
else {
|
|
10766
|
+
return "none";
|
|
10767
|
+
}
|
|
10768
|
+
};
|
|
10769
|
+
this.getItemHTMLFromItemData = (data, group) => {
|
|
10770
|
+
if (group === this.DefaultGroups.success) {
|
|
10771
|
+
return h$1(SuccessItem, { data: data, showLinks: this.showLinks });
|
|
10772
|
+
}
|
|
10773
|
+
else if (group === this.DefaultGroups.inprogress) {
|
|
10774
|
+
return h$1(ProgressItem, { progress: data.progress, name: data.item.name });
|
|
10775
|
+
}
|
|
10776
|
+
else if (group === this.DefaultGroups.failure) {
|
|
10777
|
+
return h$1(ErrorItem, { data: data });
|
|
10778
|
+
}
|
|
10779
|
+
else if (data.group) {
|
|
10780
|
+
return data.html;
|
|
10781
|
+
}
|
|
10782
|
+
else {
|
|
10783
|
+
return "none";
|
|
10784
|
+
}
|
|
10785
|
+
};
|
|
10786
|
+
this.convertToDuetEditableTableItems = () => {
|
|
10787
|
+
// we're always recreating the map - in order to force an update down stream.
|
|
10788
|
+
const itemData = new Map();
|
|
10789
|
+
//walk the files Map and convert to DuetEditableTableItemData
|
|
10790
|
+
this.files.forEach((data, key, _originalMap) => {
|
|
10791
|
+
const group = this.getGroupFromItemData(data);
|
|
10792
|
+
const item = this.getItemHTMLFromItemData(data, group);
|
|
10793
|
+
itemData.set(key, {
|
|
10794
|
+
uid: data.uid,
|
|
10795
|
+
item,
|
|
10796
|
+
group,
|
|
10797
|
+
});
|
|
10798
|
+
});
|
|
10799
|
+
return itemData;
|
|
10800
|
+
};
|
|
10801
|
+
this.kick = debounce(() => {
|
|
10802
|
+
this.tick = Date.now();
|
|
10803
|
+
}, 30); // will trigger re-render
|
|
10804
|
+
this.genHashName = () => Date.now().toString(36) + Math.random();
|
|
10805
|
+
this.updateValueInMap = (item, key, value, kick = true) => {
|
|
10806
|
+
const fileItem = this.files.get(item);
|
|
10807
|
+
fileItem[key] = value;
|
|
10808
|
+
this.files.set(item, fileItem);
|
|
10809
|
+
if (kick) {
|
|
10810
|
+
this.kick();
|
|
10811
|
+
}
|
|
10812
|
+
};
|
|
10813
|
+
this.updateProgress = (ev, name) => {
|
|
10814
|
+
console.log(this.filesInProgress.size);
|
|
10815
|
+
const updateProgressHelper = percentComplete => {
|
|
10816
|
+
this.updateValueInMap(name, "progress", percentComplete);
|
|
10817
|
+
this.onProgress(name, percentComplete, ev);
|
|
10818
|
+
};
|
|
10819
|
+
if (ev.lengthComputable) {
|
|
10820
|
+
const percentComplete = (ev.loaded / ev.total) * 100;
|
|
10821
|
+
updateProgressHelper(percentComplete);
|
|
10822
|
+
}
|
|
10823
|
+
else {
|
|
10824
|
+
console.log("cant read progress");
|
|
10825
|
+
}
|
|
10826
|
+
};
|
|
10827
|
+
this.trackProgress = (name, remove = false) => {
|
|
10828
|
+
if (remove) {
|
|
10829
|
+
this.filesInProgress.delete(name);
|
|
10830
|
+
}
|
|
10831
|
+
else {
|
|
10832
|
+
this.filesInProgress.set(name, "inprogress");
|
|
10833
|
+
}
|
|
10834
|
+
if (this.filesInProgress.size === 0) {
|
|
10835
|
+
this.onDone();
|
|
10836
|
+
}
|
|
10837
|
+
};
|
|
10838
|
+
this.getFilesAsArray = () => {
|
|
10839
|
+
const filesInQueue = [];
|
|
10840
|
+
const filesInError = [];
|
|
10841
|
+
this.files.forEach(value => {
|
|
10842
|
+
if (value.valid && !value.deleted) {
|
|
10843
|
+
filesInQueue.push(value);
|
|
10844
|
+
}
|
|
10845
|
+
else if (!value.valid && !value.deleted) {
|
|
10846
|
+
filesInError.push(value);
|
|
10847
|
+
}
|
|
10848
|
+
});
|
|
10849
|
+
return { valid: filesInQueue, invalid: filesInError };
|
|
10850
|
+
};
|
|
10851
|
+
this.resetFormFields = () => {
|
|
10852
|
+
/**
|
|
10853
|
+
* You cannot modify a FileList, nor remove single items from it
|
|
10854
|
+
* This completely removes all items in the FileList
|
|
10855
|
+
* We reset the form fields to always be able to re-upload files
|
|
10856
|
+
* and because we handle all uploads and states internally in the component (not relying on native form elements)
|
|
10857
|
+
*/
|
|
10858
|
+
this.nativeInput.value = "";
|
|
10859
|
+
};
|
|
10860
|
+
this.startUpload = async (ev, metaData = undefined) => {
|
|
10861
|
+
await this.setFocus();
|
|
10862
|
+
this.metaData = metaData;
|
|
10863
|
+
this.nativeInput.click();
|
|
10864
|
+
this.onUpload(ev, metaData);
|
|
10865
|
+
ev.stopPropagation();
|
|
10866
|
+
ev.preventDefault();
|
|
10867
|
+
return;
|
|
10868
|
+
};
|
|
10869
|
+
//endregion
|
|
10870
|
+
//region Eventlisteners for the XHR requests
|
|
10871
|
+
/**
|
|
10872
|
+
* Eventlisteners for the XHR requests
|
|
10873
|
+
*/
|
|
10874
|
+
this.transferComplete = name => {
|
|
10875
|
+
this.updateValueInMap(name, "progress", 100, false);
|
|
10876
|
+
this.trackProgress(name, true);
|
|
10877
|
+
};
|
|
10878
|
+
this.transferDone = (xhr, name, status) => {
|
|
10879
|
+
this.updateValueInMap(name, "status", status, false);
|
|
10880
|
+
this.updateValueInMap(name, "uploaded", true, false);
|
|
10881
|
+
try {
|
|
10882
|
+
const response = JSON.parse(xhr.response);
|
|
10883
|
+
this.updateValueInMap(name, "url", response.url);
|
|
10884
|
+
}
|
|
10885
|
+
catch (e) {
|
|
10886
|
+
this.updateValueInMap(name, "url", null);
|
|
10887
|
+
console.error("Server did not respond with expected response {url: string}");
|
|
10888
|
+
}
|
|
10889
|
+
return;
|
|
10890
|
+
};
|
|
10891
|
+
this.transferDoneWithFailure = (xhr, name, status) => {
|
|
10892
|
+
try {
|
|
10893
|
+
const { error } = JSON.parse(xhr.response);
|
|
10894
|
+
this.updateValueInMap(name, "error", { message: error.message, type: error.type }, false);
|
|
10895
|
+
}
|
|
10896
|
+
catch (e) {
|
|
10897
|
+
console.error("Server did not respond with expected response error:{message: string, type: int}");
|
|
10898
|
+
this.updateValueInMap(name, "error", { type: status }, false);
|
|
10899
|
+
}
|
|
10900
|
+
this.updateValueInMap(name, "valid", false, true);
|
|
10901
|
+
};
|
|
10902
|
+
this.transferFailed = name => {
|
|
10903
|
+
this.updateValueInMap(name, "error", getError("duet-upload-001"));
|
|
10904
|
+
};
|
|
10905
|
+
this.transferCanceled = name => {
|
|
10906
|
+
this.files.delete(name);
|
|
10907
|
+
this.validateTotals(name);
|
|
10908
|
+
this.kick();
|
|
10909
|
+
};
|
|
10910
|
+
this.validateTotals = (name) => {
|
|
10911
|
+
const isTotalSizeOverMaxSize = validateTotalSizeIsAboveMax(this.files, this.maxBytesTotal);
|
|
10912
|
+
const isTotalFileAmountAboveMax = validateTotalAmountIsAboveMax(this.files, this.maxFiles);
|
|
10913
|
+
if (isTotalSizeOverMaxSize && name) {
|
|
10914
|
+
this.updateValueInMap(name, "error", getError("duet-upload-202"), false);
|
|
10915
|
+
}
|
|
10916
|
+
if (isTotalFileAmountAboveMax && name) {
|
|
10917
|
+
this.updateValueInMap(name, "error", getError("duet-upload-301"), false);
|
|
10918
|
+
}
|
|
10919
|
+
this.bytesMaxReached = isTotalSizeOverMaxSize;
|
|
10920
|
+
this.fileMaxReached = isTotalFileAmountAboveMax;
|
|
10921
|
+
return {
|
|
10922
|
+
bytesMaxReached: isTotalSizeOverMaxSize,
|
|
10923
|
+
fileMaxReached: isTotalFileAmountAboveMax,
|
|
10924
|
+
};
|
|
10925
|
+
};
|
|
10926
|
+
this.onDelete = (key, ev) => {
|
|
10927
|
+
const deletedItem = this.files.get(key);
|
|
10928
|
+
this.files.delete(key);
|
|
10929
|
+
this.validateTotals();
|
|
10930
|
+
this.kick();
|
|
10931
|
+
this.duetDelete.emit({
|
|
10932
|
+
originalEvent: ev,
|
|
10933
|
+
data: { deletion: deletedItem },
|
|
10934
|
+
component: "duet-upload",
|
|
10935
|
+
});
|
|
10936
|
+
if (!this.external) {
|
|
10937
|
+
this.makeXHRDeleteRequest(deletedItem);
|
|
10938
|
+
}
|
|
10939
|
+
this.resetFormFields();
|
|
10940
|
+
};
|
|
10941
|
+
this.onCancel = (key, ev) => {
|
|
10942
|
+
const cancelledItem = this.files.get(key);
|
|
10943
|
+
this.files.delete(key);
|
|
10944
|
+
if (!this.external) {
|
|
10945
|
+
const { xhr } = cancelledItem;
|
|
10946
|
+
xhr.abort();
|
|
10947
|
+
}
|
|
10948
|
+
else {
|
|
10949
|
+
this.kick();
|
|
10950
|
+
}
|
|
10951
|
+
this.resetFormFields();
|
|
10952
|
+
this.duetCancel.emit({
|
|
10953
|
+
originalEvent: ev,
|
|
10954
|
+
data: { cancelled: cancelledItem },
|
|
10955
|
+
component: "duet-upload",
|
|
10956
|
+
});
|
|
10957
|
+
};
|
|
10958
|
+
this.onUpload = (ev, metaData) => {
|
|
10959
|
+
this.duetUpload.emit({
|
|
10960
|
+
originalEvent: ev,
|
|
10961
|
+
metaData,
|
|
10962
|
+
component: "duet-upload",
|
|
10963
|
+
});
|
|
10964
|
+
};
|
|
10965
|
+
this.onBlur = (ev) => {
|
|
10966
|
+
this.duetBlur.emit({
|
|
10967
|
+
originalEvent: ev,
|
|
10968
|
+
component: "duet-upload",
|
|
10969
|
+
});
|
|
10970
|
+
};
|
|
10971
|
+
this.onProgress = (key, percentComplete, ev) => {
|
|
10972
|
+
this.duetChange.emit({
|
|
10973
|
+
originalEvent: ev,
|
|
10974
|
+
data: {
|
|
10975
|
+
key,
|
|
10976
|
+
percentComplete,
|
|
10977
|
+
},
|
|
10978
|
+
component: "duet-upload",
|
|
10979
|
+
});
|
|
10980
|
+
};
|
|
10981
|
+
this.onFocus = (ev) => {
|
|
10982
|
+
this.duetFocus.emit({
|
|
10983
|
+
originalEvent: ev,
|
|
10984
|
+
component: "duet-upload",
|
|
10985
|
+
});
|
|
10986
|
+
};
|
|
10987
|
+
this.onDone = () => {
|
|
10988
|
+
this.duetDone.emit({
|
|
10989
|
+
component: "duet-upload",
|
|
10990
|
+
data: { files: this.files },
|
|
10991
|
+
});
|
|
10992
|
+
};
|
|
10993
|
+
}
|
|
10994
|
+
watchValidHandler(newValue, oldValue) {
|
|
10995
|
+
if (newValue !== oldValue) {
|
|
10996
|
+
this.kick();
|
|
10997
|
+
}
|
|
10998
|
+
}
|
|
10999
|
+
//endregion
|
|
11000
|
+
/**
|
|
11001
|
+
* Component lifecycle events.
|
|
11002
|
+
*/
|
|
11003
|
+
componentWillLoad() {
|
|
11004
|
+
inheritGlobalTheme(this);
|
|
11005
|
+
this.listenForActionEvents();
|
|
11006
|
+
}
|
|
11007
|
+
componentWillRender() {
|
|
11008
|
+
// listen to the events from the component
|
|
11009
|
+
this.verifyValidity();
|
|
11010
|
+
}
|
|
11011
|
+
//endregion
|
|
11012
|
+
//region XHR requests
|
|
11013
|
+
/**
|
|
11014
|
+
* XHR request utilities
|
|
11015
|
+
*/
|
|
11016
|
+
makeXHRPostRequest(data) {
|
|
11017
|
+
const xhr = new XMLHttpRequest();
|
|
11018
|
+
const name = data.get("name");
|
|
11019
|
+
xhr.upload.addEventListener("progress", ev => {
|
|
11020
|
+
this.updateProgress(ev, name);
|
|
11021
|
+
});
|
|
11022
|
+
xhr.upload.addEventListener("load", () => {
|
|
11023
|
+
this.transferComplete(name);
|
|
11024
|
+
});
|
|
11025
|
+
xhr.upload.addEventListener("error", () => {
|
|
11026
|
+
this.transferFailed(name);
|
|
11027
|
+
});
|
|
11028
|
+
xhr.upload.addEventListener("abort", () => {
|
|
11029
|
+
this.transferCanceled(name);
|
|
11030
|
+
});
|
|
11031
|
+
return makeXhrRequest({
|
|
11032
|
+
payload: { data, name },
|
|
11033
|
+
options: { type: "POST", uri: this.uri, xhr, argument: null, headers: null },
|
|
11034
|
+
onFailure: this.transferDoneWithFailure,
|
|
11035
|
+
onSuccess: this.transferDone,
|
|
11036
|
+
onProgress: this.trackProgress,
|
|
11037
|
+
});
|
|
11038
|
+
}
|
|
11039
|
+
makeXHRDeleteRequest(data) {
|
|
11040
|
+
const { uid, item } = data;
|
|
11041
|
+
const xhr = new XMLHttpRequest();
|
|
11042
|
+
// don't present server issues to user on deletes, just remove them from the visible list
|
|
11043
|
+
return makeXhrRequest({
|
|
11044
|
+
payload: { data: null, name },
|
|
11045
|
+
options: {
|
|
11046
|
+
type: "DELETE",
|
|
11047
|
+
xhr,
|
|
11048
|
+
uri: this.uri,
|
|
11049
|
+
arguments: `?key=${uid}&name=${item.name}`,
|
|
11050
|
+
headers: {
|
|
11051
|
+
"x-fileuid": uid,
|
|
11052
|
+
"x-filename": item.name,
|
|
11053
|
+
},
|
|
11054
|
+
},
|
|
11055
|
+
onFailure: this.transferDoneWithFailure,
|
|
11056
|
+
onSuccess: this.transferDone,
|
|
11057
|
+
onProgress: this.trackProgress,
|
|
11058
|
+
});
|
|
11059
|
+
}
|
|
11060
|
+
//endregion
|
|
11061
|
+
//region EventHandlers
|
|
11062
|
+
/**
|
|
11063
|
+
* Component event handling.
|
|
11064
|
+
*/
|
|
11065
|
+
async onChange(ev) {
|
|
11066
|
+
var _a;
|
|
11067
|
+
const selectedFiles = Array.from((_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.files);
|
|
11068
|
+
// FileList is a nice array like structure but
|
|
11069
|
+
// to ensure uniqueness of files we use a mapping structure and
|
|
11070
|
+
// key to the name (makes it easier to delete as well)
|
|
11071
|
+
if (selectedFiles) {
|
|
11072
|
+
for (const item of selectedFiles) {
|
|
11073
|
+
const { valid, errorMessage, errorType, errorSystem } = validateFile(item, {
|
|
11074
|
+
maxBytes: this.maxBytes,
|
|
11075
|
+
allowedExtensions: this.allowedExtensions,
|
|
11076
|
+
allowedMimetypes: this.allowedMimetypes,
|
|
11077
|
+
});
|
|
11078
|
+
const uid = this.genHashName();
|
|
11079
|
+
const fileListItem = {
|
|
11080
|
+
uid,
|
|
11081
|
+
item: item,
|
|
11082
|
+
size: item.size,
|
|
11083
|
+
meta: this.metaData,
|
|
11084
|
+
uploaded: false,
|
|
11085
|
+
valid,
|
|
11086
|
+
error: {
|
|
11087
|
+
type: valid ? undefined : errorType,
|
|
11088
|
+
message: valid ? undefined : errorMessage,
|
|
11089
|
+
system_message: valid ? undefined : errorSystem,
|
|
11090
|
+
},
|
|
11091
|
+
progress: 0,
|
|
11092
|
+
deleted: false,
|
|
11093
|
+
xhr: false,
|
|
11094
|
+
url: false,
|
|
11095
|
+
};
|
|
11096
|
+
this.files.set(item.name, fileListItem);
|
|
11097
|
+
// validate that we haven't hit any maxfiles or maxbytes limits before we upload
|
|
11098
|
+
const { bytesMaxReached, fileMaxReached } = this.validateTotals(item.name);
|
|
11099
|
+
if (bytesMaxReached) {
|
|
11100
|
+
// in case one of the global maxes have been reached, invalidate the file
|
|
11101
|
+
this.updateValueInMap(item.name, "valid", false, false);
|
|
11102
|
+
}
|
|
11103
|
+
else if (fileMaxReached) {
|
|
11104
|
+
// in case one of the global maxes have been reached, invalidate the file
|
|
11105
|
+
this.updateValueInMap(item.name, "valid", false, false);
|
|
11106
|
+
}
|
|
11107
|
+
else if (valid && !this.external) {
|
|
11108
|
+
// if all is well AND external file upload handling has not been set, start upload
|
|
11109
|
+
const data = new FormData();
|
|
11110
|
+
data.append("file", item);
|
|
11111
|
+
data.append("uid", uid);
|
|
11112
|
+
data.append("name", item.name);
|
|
11113
|
+
data.append("metadata", JSON.stringify({ uid, url: this.uri, size: item.size, meta: fileListItem.meta }));
|
|
11114
|
+
try {
|
|
11115
|
+
fileListItem.xhr = await this.makeXHRPostRequest(data);
|
|
11116
|
+
}
|
|
11117
|
+
catch (e) {
|
|
11118
|
+
// in case one of the global maxes have been reached, invalidate the file
|
|
11119
|
+
this.updateValueInMap(item.name, "valid", false, false);
|
|
11120
|
+
}
|
|
11121
|
+
}
|
|
11122
|
+
// kick the stat to force update
|
|
11123
|
+
this.kick();
|
|
11124
|
+
}
|
|
11125
|
+
}
|
|
11126
|
+
// reset the form, so that a user may upload a file again (with the same name)
|
|
11127
|
+
this.resetFormFields();
|
|
11128
|
+
// reset the internal metaData state
|
|
11129
|
+
this.metaData = undefined;
|
|
11130
|
+
this.duetChange.emit({
|
|
11131
|
+
originalEvent: ev,
|
|
11132
|
+
data: { files: this.files },
|
|
11133
|
+
component: "duet-upload",
|
|
11134
|
+
});
|
|
11135
|
+
}
|
|
11136
|
+
//endregion
|
|
11137
|
+
/**
|
|
11138
|
+
* Sets focus on the specified `duet-input`. Use this method instead of the global
|
|
11139
|
+
* `input.focus()`.
|
|
11140
|
+
*/
|
|
11141
|
+
async setFocus(options) {
|
|
11142
|
+
if (this.nativeInput) {
|
|
11143
|
+
this.nativeInput.focus(options);
|
|
11144
|
+
}
|
|
11145
|
+
return;
|
|
11146
|
+
}
|
|
11147
|
+
/**
|
|
11148
|
+
* Method for invoking the upload sequence
|
|
11149
|
+
*/
|
|
11150
|
+
async upload(metaData = undefined) {
|
|
11151
|
+
await this.setFocus();
|
|
11152
|
+
this.metaData = metaData;
|
|
11153
|
+
this.nativeInput.click();
|
|
11154
|
+
return;
|
|
11155
|
+
}
|
|
11156
|
+
/**
|
|
11157
|
+
* Get list of files, divided in errors and valid sections
|
|
11158
|
+
*/
|
|
11159
|
+
async getFiles() {
|
|
11160
|
+
if (!this.files || this.files.size === 0) {
|
|
11161
|
+
return false;
|
|
11162
|
+
}
|
|
11163
|
+
return this.getFilesAsArray();
|
|
11164
|
+
}
|
|
11165
|
+
/**
|
|
11166
|
+
* Convenience method for updating a of an item in the files attribute
|
|
11167
|
+
*/
|
|
11168
|
+
async updateValue(item, key, value) {
|
|
11169
|
+
this.updateValueInMap(item, key, value);
|
|
11170
|
+
}
|
|
11171
|
+
/**
|
|
11172
|
+
* render() function
|
|
11173
|
+
* Always the last one in the class.
|
|
11174
|
+
*/
|
|
11175
|
+
render() {
|
|
11176
|
+
const identifier = this.identifier || this.uploadId;
|
|
11177
|
+
let caption = this.description.replace(/{maxfiles}/g, this.maxFiles.toString());
|
|
11178
|
+
caption = caption.replace(/{maxbytes}/g, `${Math.floor(this.maxBytes / 1024 / 1024)} MB`);
|
|
11179
|
+
caption = caption.replace(/{filetypes}/g, this.allowedExtensions.split(",").join(", "));
|
|
11180
|
+
return (h$1(Host, { class: { "duet-m-0": this.margin === "none" } }, h$1("duet-fieldset", { label: this.label, caption: caption }, h$1("slot", { name: "header" }), !this.files.size && (h$1("duet-label", { theme: this.theme === "turva" ? "turva" : "default", size: "small", class: {
|
|
11181
|
+
"duet-upload-filelist-empty": !this.files.size,
|
|
11182
|
+
"duet-upload-filelist": true,
|
|
11183
|
+
"duet-upload-filelist-filled": this.files.size,
|
|
11184
|
+
}, id: this.labelId, for: identifier }, 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.statusMessageLabel })), !!this.files.size && (h$1("duet-editable-table", { "aria-live": "polite", "aria-relevant": "removals", accessibleRole: "log", id: this.editableTableId, groups: this.groups, actions: this.actions, hideGroups: this.hideGroups, items: this.convertToDuetEditableTableItems() })), !!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" }, this.buttonLabel)), h$1("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (h$1("duet-alert", null, 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 => {
|
|
11185
|
+
this.nativeInput = input;
|
|
11186
|
+
}, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
|
|
11187
|
+
"duet-upload": true,
|
|
11188
|
+
}, disabled: this.disabled, "aria-hidden": "true", required: this.required, name: this.name, id: this.identifier, multiple: this.multiple, capture: "user" })))));
|
|
11189
|
+
}
|
|
11190
|
+
get element() { return this; }
|
|
11191
|
+
static get watchers() { return {
|
|
11192
|
+
"valid": ["watchValidHandler"]
|
|
11193
|
+
}; }
|
|
11194
|
+
static get style() { return duetUploadCss; }
|
|
11195
|
+
};
|
|
11196
|
+
|
|
11197
|
+
let DuetUploadAriaStatus$1 = class extends H {
|
|
11198
|
+
constructor() {
|
|
11199
|
+
super();
|
|
11200
|
+
this.__registerHost();
|
|
11201
|
+
this.__attachShadow();
|
|
11202
|
+
/**
|
|
11203
|
+
* State() variables
|
|
11204
|
+
*/
|
|
11205
|
+
this.statusMessage = null;
|
|
11206
|
+
/**
|
|
11207
|
+
* State() variables
|
|
11208
|
+
*/
|
|
11209
|
+
this.statusMessageLabel = null;
|
|
11210
|
+
/**
|
|
11211
|
+
* Adds accessible label that is read aloud
|
|
11212
|
+
*/
|
|
11213
|
+
this.accessibleAriaLive = "polite";
|
|
11214
|
+
/**
|
|
11215
|
+
* valid file amount
|
|
11216
|
+
*/
|
|
11217
|
+
this.valid = undefined;
|
|
11218
|
+
/**
|
|
11219
|
+
* total files
|
|
11220
|
+
*/
|
|
11221
|
+
this.total = undefined;
|
|
11222
|
+
/**
|
|
11223
|
+
* invalid file amount
|
|
11224
|
+
*/
|
|
11225
|
+
this.invalid = undefined;
|
|
11226
|
+
/**
|
|
11227
|
+
* valid file amount
|
|
11228
|
+
*/
|
|
11229
|
+
this.inprogress = undefined;
|
|
11230
|
+
/**
|
|
11231
|
+
* Component lifecycle events.
|
|
11232
|
+
*/
|
|
11233
|
+
this.replacePlaceHolders = (statusString) => {
|
|
11234
|
+
const addFiles = (amount) => {
|
|
11235
|
+
return amount > 1 ? `${amount} ${this.statusMessageLabel.files}` : `${amount} ${this.statusMessageLabel.file}`;
|
|
11236
|
+
};
|
|
11237
|
+
return statusString
|
|
11238
|
+
.replace("{filesUploaded}", addFiles(this.valid))
|
|
11239
|
+
.replace("{filesInProgress}", addFiles(this.inprogress))
|
|
11240
|
+
.replace("{filesTotal}", addFiles(this.total))
|
|
11241
|
+
.replace("{filesWithErrors}", addFiles(this.invalid));
|
|
11242
|
+
};
|
|
11243
|
+
this.getStatusMessage = () => {
|
|
11244
|
+
const { done, inProgress, doneWithErrors, inProgressWithErrors } = this.statusMessageLabel;
|
|
11245
|
+
const hasErrors = this.invalid > 0;
|
|
11246
|
+
const isInProgress = this.inprogress > 0;
|
|
11247
|
+
const isInProgressWithErrors = this.inprogress > 0 && hasErrors;
|
|
11248
|
+
const isDone = this.valid === this.total && !isInProgress && !hasErrors;
|
|
11249
|
+
const isDoneWithErrors = this.valid + this.invalid === this.total && !isInProgress;
|
|
11250
|
+
if (isDone) {
|
|
11251
|
+
this.statusMessage = this.replacePlaceHolders(done);
|
|
11252
|
+
return;
|
|
11253
|
+
}
|
|
11254
|
+
else if (isInProgressWithErrors) {
|
|
11255
|
+
this.statusMessage = this.replacePlaceHolders(inProgressWithErrors);
|
|
11256
|
+
return;
|
|
11257
|
+
}
|
|
11258
|
+
else if (isInProgress) {
|
|
11259
|
+
this.statusMessage = this.replacePlaceHolders(inProgress);
|
|
11260
|
+
return;
|
|
11261
|
+
}
|
|
11262
|
+
else if (isDoneWithErrors) {
|
|
11263
|
+
this.statusMessage = this.replacePlaceHolders(doneWithErrors);
|
|
11264
|
+
return;
|
|
11265
|
+
}
|
|
11266
|
+
return;
|
|
11267
|
+
};
|
|
11268
|
+
}
|
|
11269
|
+
watchHandler(newValue, oldValue) {
|
|
11270
|
+
if (newValue !== oldValue) {
|
|
11271
|
+
this.getStatusMessage();
|
|
11272
|
+
}
|
|
11273
|
+
}
|
|
11274
|
+
/**
|
|
11275
|
+
* render() function
|
|
11276
|
+
* Always the last one in the class.
|
|
11277
|
+
*/
|
|
11278
|
+
render() {
|
|
11279
|
+
return (h$1(Host, { role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, h$1("duet-visually-hidden", null, this.statusMessage)));
|
|
11280
|
+
}
|
|
11281
|
+
static get watchers() { return {
|
|
11282
|
+
"valid": ["watchHandler"],
|
|
11283
|
+
"invalid": ["watchHandler"],
|
|
11284
|
+
"inprogress": ["watchHandler"],
|
|
11285
|
+
"total": ["watchHandler"]
|
|
11286
|
+
}; }
|
|
11287
|
+
};
|
|
11288
|
+
|
|
9660
11289
|
const duetVisuallyHiddenCss = ":host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}";
|
|
9661
11290
|
|
|
9662
|
-
let DuetVisuallyHidden$1 = class extends
|
|
11291
|
+
let DuetVisuallyHidden$1 = class extends H {
|
|
9663
11292
|
constructor() {
|
|
9664
11293
|
super();
|
|
9665
11294
|
this.__registerHost();
|
|
@@ -9682,19 +11311,22 @@ const DuetButton = /*@__PURE__*/proxyCustomElement(DuetButton$1, [1,"duet-button
|
|
|
9682
11311
|
const DuetCaption = /*@__PURE__*/proxyCustomElement(DuetCaption$1, [1,"duet-caption",{"theme":[1025],"margin":[1],"selected":[4],"size":[1]}]);
|
|
9683
11312
|
const DuetCard = /*@__PURE__*/proxyCustomElement(DuetCard$1, [1,"duet-card",{"accessibleLabel":[1,"accessible-label"],"heading":[1],"secondaryHeading":[1,"secondary-heading"],"variation":[1],"collapsible":[4],"open":[1540],"headingLevel":[1,"heading-level"],"icon":[1],"image":[1],"background":[1],"padding":[1],"margin":[1],"theme":[1025],"url":[1]}]);
|
|
9684
11313
|
const DuetCheckbox = /*@__PURE__*/proxyCustomElement(DuetCheckbox$1, [2,"duet-checkbox",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"margin":[1],"accessibleControls":[1,"accessible-controls"],"accessibleIndex":[1,"accessible-index"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"required":[4],"theme":[1025],"disabled":[516],"identifier":[1],"label":[1],"labelHidden":[4,"label-hidden"],"name":[1],"role":[1],"checked":[1540],"value":[1537]}]);
|
|
9685
|
-
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],"isHovering":[32],"isInfoOpen":[32],"isBlurred":[32]},[[2,"blur","handleHostBlur"],[2,"keydown","handleHostKeyDown"],[2,"keyup","handleHostKeyUp"]]]);
|
|
11314
|
+
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"]]]);
|
|
9686
11315
|
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]}]);
|
|
9687
11316
|
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]}]);
|
|
9688
11317
|
const DuetCookieConsent = /*@__PURE__*/proxyCustomElement(DuetCookieConsent$1, [1,"duet-cookie-consent",{"accessibleLabel":[1,"accessible-label"],"theme":[1025]}]);
|
|
9689
11318
|
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"]]]);
|
|
9690
11319
|
const DuetDivider = /*@__PURE__*/proxyCustomElement(DuetDivider$1, [1,"duet-divider",{"theme":[1025],"margin":[1]}]);
|
|
11320
|
+
const DuetEditableTable = /*@__PURE__*/proxyCustomElement(DuetEditableTable$1, [1,"duet-editable-table",{"items":[1040],"groupsLabelDefaults":[16],"actionLabelDefaults":[16],"groups":[1],"actions":[1],"hideGroups":[4,"hide-table-labels"],"accessibleRole":[1,"accessible-role"],"theme":[1025],"tick":[32]}]);
|
|
11321
|
+
const DuetEditableTableButton = /*@__PURE__*/proxyCustomElement(DuetEditableTableButton$1, [2,"duet-editable-table-button",{"theme":[1025],"actions":[16],"uid":[1],"group":[1],"keyName":[1,"key-name"],"isHovering":[32]}]);
|
|
11322
|
+
const DuetEditableTableItem = /*@__PURE__*/proxyCustomElement(DuetEditableTableItem$1, [1,"duet-editable-table-item",{"theme":[1025],"actions":[16],"groupId":[1,"group-id"],"keyName":[1,"key-name"],"data":[1040],"isHovering":[32]}]);
|
|
9691
11323
|
const DuetEmptyState = /*@__PURE__*/proxyCustomElement(DuetEmptyState$1, [1,"duet-empty-state",{"theme":[1025],"icon":[1],"size":[1]}]);
|
|
9692
11324
|
const DuetFieldset = /*@__PURE__*/proxyCustomElement(DuetFieldset$1, [1,"duet-fieldset",{"theme":[1025],"margin":[1],"caption":[1],"label":[1],"error":[1],"labelHidden":[4,"label-hidden"],"hasTooltip":[32]}]);
|
|
9693
11325
|
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]}]);
|
|
9694
|
-
const DuetGrid = /*@__PURE__*/proxyCustomElement(DuetGrid$1, [2,"duet-grid",{"responsive":[4],"breakpoint":[1],"direction":[1],"alignment":[1],"distribution":[1],"mobile":[1]}]);
|
|
11326
|
+
const DuetGrid = /*@__PURE__*/proxyCustomElement(DuetGrid$1, [2,"duet-grid",{"responsive":[4],"breakpoint":[1],"direction":[1],"alignment":[1],"distribution":[1],"mobile":[1],"distributeFormElement":[32]}]);
|
|
9695
11327
|
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]}]);
|
|
9696
11328
|
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],"back":[8],"contact":[1],"contactItems":[8,"contact-items"],"languageItems":[8,"language-items"],"isContactOpen":[32],"isLanguageOpen":[32],"isSlideOutOpen":[32],"processedItems":[32],"processedLanguageItems":[32],"processedContactItems":[32],"processedSession":[32],"processedUser":[32],"processedBack":[32]},[[8,"keyup","handleKeyUp"],[8,"keydown","handleKeyDown"],[4,"focus","handleDocumentClick"],[4,"click","handleDocumentClick"]]]);
|
|
9697
|
-
const DuetHeading = /*@__PURE__*/proxyCustomElement(DuetHeading$1, [1,"duet-heading",{"level":[513],"margin":[1],"visualLevel":[1,"visual-level"],"border":[
|
|
11329
|
+
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]}]);
|
|
9698
11330
|
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]}]);
|
|
9699
11331
|
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]}]);
|
|
9700
11332
|
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"]}]);
|
|
@@ -9708,7 +11340,8 @@ const DuetModal = /*@__PURE__*/proxyCustomElement(DuetModal$1, [1,"duet-modal",{
|
|
|
9708
11340
|
const DuetNotification = /*@__PURE__*/proxyCustomElement(DuetNotification$1, [1,"duet-notification",{"language":[1],"accessibleLabelUnreadDefaults":[16],"accessibleLabelUnread":[1,"accessible-label-unread"],"url":[1],"date":[1],"highlight":[4],"external":[4],"theme":[1025]}]);
|
|
9709
11341
|
const DuetNotificationDrawer = /*@__PURE__*/proxyCustomElement(DuetNotificationDrawer$1, [1,"duet-notification-drawer",{"icon":[1],"label":[1],"language":[1],"accessibleLabelNotificationsDefaults":[1,"accessible-label-notification-default"],"accessibleLabelNotifications":[1,"accessible-label-notifications"],"badge":[4],"theme":[1025],"direction":[1],"isOpen":[32],"hasNotifications":[32]},[[6,"focus","handleClickFocusOutside"],[6,"click","handleClickFocusOutside"]]]);
|
|
9710
11342
|
const DuetNumberInput = /*@__PURE__*/proxyCustomElement(DuetNumberInput$1, [2,"duet-number-input",{"language":[1025],"locale":[1],"unit":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleLiveDefaults":[1,"accessible-live-default"],"accessibleLive":[1,"accessible-live"],"accessibleLiveEnabled":[4,"accessible-live-enabled"],"accessibleAddDefaults":[1,"accessible-add-default"],"accessibleAdd":[1,"accessible-add"],"accessibleSubtractDefaults":[1,"accessible-subtract-defaults"],"accessibleSubtract":[1,"accessible-subtract"],"theme":[1025],"margin":[1],"expand":[4],"identifier":[1],"min":[2],"labelDefaults":[1,"label-default"],"label":[1],"labelHidden":[4,"label-hidden"],"max":[2],"name":[1],"error":[1],"tooltip":[1],"step":[2],"rounding":[4],"role":[1],"disabled":[516],"required":[4],"value":[1025],"focusedValue":[32]}]);
|
|
9711
|
-
const DuetParagraph = /*@__PURE__*/proxyCustomElement(DuetParagraph$1, [1,"duet-paragraph",{"theme":[1025],"margin":[1],"size":[1],"variation":[1],"color":[1]}]);
|
|
11343
|
+
const DuetParagraph = /*@__PURE__*/proxyCustomElement(DuetParagraph$1, [1,"duet-paragraph",{"theme":[1025],"margin":[1],"size":[1],"weight":[1],"variation":[1],"color":[1]}]);
|
|
11344
|
+
const DuetProgress = /*@__PURE__*/proxyCustomElement(DuetProgress$1, [0,"duet-progress",{"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleLabel":[1,"accessible-label"],"accessibleLabelUploadDefaults":[1,"accessible-label-upload-defaults"],"accessibleLabelUpload":[1,"accessible-label-upload"],"progress":[1538],"caption":[1],"height":[1],"theme":[1025]}]);
|
|
9712
11345
|
const DuetRadio = /*@__PURE__*/proxyCustomElement(DuetRadio$1, [2,"duet-radio",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleIndex":[1,"accessible-index"],"margin":[1],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"theme":[1025],"disabled":[516],"required":[4],"blockEvents":[4,"block-events"],"identifier":[1],"label":[1],"name":[1],"role":[1],"groupDisabled":[4,"group-disabled"],"groupDirection":[1,"group-direction"],"groupResponsive":[4,"group-responsive"],"checked":[1540],"value":[1537]}]);
|
|
9713
11346
|
const DuetRadioGroup = /*@__PURE__*/proxyCustomElement(DuetRadioGroup$1, [6,"duet-radio-group",{"direction":[1],"margin":[1],"theme":[1025],"error":[1],"tooltip":[1],"tooltipDirection":[1,"tooltip-direction"],"name":[1],"label":[1],"labelHidden":[4,"label-hidden"],"caption":[1],"responsive":[4],"value":[1537],"disabled":[4]}]);
|
|
9714
11347
|
const DuetRangeSlider = /*@__PURE__*/proxyCustomElement(DuetRangeSlider$1, [2,"duet-range-slider",{"theme":[1025],"margin":[1],"expand":[4],"identifier":[1],"name":[1],"required":[4],"disabled":[516],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"min":[2],"label":[1],"labelHidden":[4,"label-hidden"],"unit":[1],"max":[2],"step":[2],"locale":[1],"value":[1026],"debounce":[2]}]);
|
|
@@ -9724,6 +11357,8 @@ const DuetTextarea = /*@__PURE__*/proxyCustomElement(DuetTextarea$1, [2,"duet-te
|
|
|
9724
11357
|
const DuetToggle = /*@__PURE__*/proxyCustomElement(DuetToggle$1, [2,"duet-toggle",{"theme":[1025],"margin":[1],"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"accessibleDescribedBy":[1,"accessible-described-by"],"label":[1],"required":[4],"disabled":[516],"checked":[1540],"value":[1537],"identifier":[1],"name":[1],"role":[1]}]);
|
|
9725
11358
|
const DuetTooltip = /*@__PURE__*/proxyCustomElement(DuetTooltip$1, [1,"duet-tooltip",{"theme":[1025],"language":[1025],"accessibleLabelDefault":[1,"accessible-label-default"],"accessibleLabel":[1,"accessible-label"],"accessibleInputLabel":[1,"accessible-input-label"],"accessibleCloseLabelDefault":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"label":[1],"breakpoint":[1],"direction":[1],"positionVertical":[513,"position-vertical"],"positionHorizontal":[513,"position-horizontal"],"active":[1540],"openDown":[32]},[[9,"scroll","onScroll"],[4,"click","handleDocumentClick"]]]);
|
|
9726
11359
|
const DuetTray = /*@__PURE__*/proxyCustomElement(DuetTray$1, [1,"duet-tray",{"language":[1025],"accessibleCloseLabelDefaults":[1,"accessible-close-label-default"],"accessibleCloseLabel":[1,"accessible-close-label"],"accessibleOpenLabelDefaults":[1,"accessible-open-label-default"],"accessibleOpenLabel":[1,"accessible-open-label"],"theme":[1025],"active":[516],"autoHide":[4,"auto-hide"],"responsive":[4],"expanded":[32],"hiddenState":[32]},[[9,"scroll","getFrame"],[16,"click","handleBodyClick"]]]);
|
|
11360
|
+
const DuetUpload = /*@__PURE__*/proxyCustomElement(DuetUpload$1, [1,"duet-upload",{"accessibleActiveDescendant":[1,"accessible-active-descendant"],"accessibleDescribedBy":[1,"accessible-described-by"],"accessibleControls":[1,"accessible-controls"],"accessibleOwns":[1,"accessible-owns"],"external":[4],"hideButton":[4,"hide-upload-button"],"actions":[1],"uri":[1],"showLinks":[4,"show-links"],"caption":[1],"statusLabelDefaults":[1,"status-label-default"],"statusMessageLabel":[16],"buttonLabelDefaults":[1,"button-label-default"],"buttonLabel":[1,"button-label"],"accessibleButtonLabel":[1,"accessible-button-label"],"theme":[1025],"disabled":[516],"identifier":[1],"margin":[1],"required":[4],"groups":[1],"hideGroups":[4,"hide-table-labels"],"files":[1040],"valid":[1540],"labelDefaults":[1,"label-default"],"label":[1],"descriptionDefaults":[1,"description-default"],"description":[1],"fileListEmptyDefaults":[1,"list-empty-default"],"fileListEmpty":[1,"file-list-empty"],"error":[1],"name":[1],"maxBytes":[2,"max-bytes"],"maxBytesTotal":[2,"max-bytes-total"],"maxFiles":[2,"max-files"],"allowedExtensions":[1,"allowed-extensions"],"allowedMimetypes":[1,"allowed-mimetypes"],"multiple":[4],"limitSelection":[4,"limit-selection"],"value":[1025],"tick":[32]}]);
|
|
11361
|
+
const DuetUploadAriaStatus = /*@__PURE__*/proxyCustomElement(DuetUploadAriaStatus$1, [1,"duet-upload-aria-status",{"statusMessageLabel":[16],"accessibleAriaLive":[1,"accessible-aria-live"],"valid":[2],"total":[2],"invalid":[2],"inprogress":[2],"statusMessage":[32]}]);
|
|
9727
11362
|
const DuetVisuallyHidden = /*@__PURE__*/proxyCustomElement(DuetVisuallyHidden$1, [1,"duet-visually-hidden"]);
|
|
9728
11363
|
const defineCustomElements = (opts) => {
|
|
9729
11364
|
if (typeof customElements !== 'undefined') {
|
|
@@ -9740,6 +11375,9 @@ const defineCustomElements = (opts) => {
|
|
|
9740
11375
|
DuetCookieConsent,
|
|
9741
11376
|
DuetDatePicker,
|
|
9742
11377
|
DuetDivider,
|
|
11378
|
+
DuetEditableTable,
|
|
11379
|
+
DuetEditableTableButton,
|
|
11380
|
+
DuetEditableTableItem,
|
|
9743
11381
|
DuetEmptyState,
|
|
9744
11382
|
DuetFieldset,
|
|
9745
11383
|
DuetFooter,
|
|
@@ -9761,6 +11399,7 @@ const defineCustomElements = (opts) => {
|
|
|
9761
11399
|
DuetNotificationDrawer,
|
|
9762
11400
|
DuetNumberInput,
|
|
9763
11401
|
DuetParagraph,
|
|
11402
|
+
DuetProgress,
|
|
9764
11403
|
DuetRadio,
|
|
9765
11404
|
DuetRadioGroup,
|
|
9766
11405
|
DuetRangeSlider,
|
|
@@ -9776,6 +11415,8 @@ const defineCustomElements = (opts) => {
|
|
|
9776
11415
|
DuetToggle,
|
|
9777
11416
|
DuetTooltip,
|
|
9778
11417
|
DuetTray,
|
|
11418
|
+
DuetUpload,
|
|
11419
|
+
DuetUploadAriaStatus,
|
|
9779
11420
|
DuetVisuallyHidden
|
|
9780
11421
|
].forEach(cmp => {
|
|
9781
11422
|
if (!customElements.get(cmp.is)) {
|
|
@@ -9786,7 +11427,7 @@ const defineCustomElements = (opts) => {
|
|
|
9786
11427
|
};
|
|
9787
11428
|
|
|
9788
11429
|
/*
|
|
9789
|
-
Stencil Client Platform v2.
|
|
11430
|
+
Stencil Client Platform v2.11.0 | MIT Licensed | https://stenciljs.com
|
|
9790
11431
|
*/
|
|
9791
11432
|
/**
|
|
9792
11433
|
* @license
|
|
@@ -9854,6 +11495,7 @@ const extractCommentsWithHash = (input) => {
|
|
|
9854
11495
|
};
|
|
9855
11496
|
const _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g;
|
|
9856
11497
|
const _curlyRe = /([{}])/g;
|
|
11498
|
+
const _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/;
|
|
9857
11499
|
const OPEN_CURLY = '{';
|
|
9858
11500
|
const CLOSE_CURLY = '}';
|
|
9859
11501
|
const BLOCK_PLACEHOLDER = '%BLOCK%';
|
|
@@ -10006,17 +11648,18 @@ const selectorNeedsScoping = (selector, scopeSelector) => {
|
|
|
10006
11648
|
const re = makeScopeMatcher(scopeSelector);
|
|
10007
11649
|
return !re.test(selector);
|
|
10008
11650
|
};
|
|
11651
|
+
const injectScopingSelector = (selector, scopingSelector) => {
|
|
11652
|
+
return selector.replace(_selectorPartsRe, (_, before = '', _colonGroup, colon = '', after = '') => {
|
|
11653
|
+
return before + scopingSelector + colon + after;
|
|
11654
|
+
});
|
|
11655
|
+
};
|
|
10009
11656
|
const applySimpleSelectorScope = (selector, scopeSelector, hostSelector) => {
|
|
10010
11657
|
// In Android browser, the lastIndex is not reset when the regex is used in String.replace()
|
|
10011
11658
|
_polyfillHostRe.lastIndex = 0;
|
|
10012
11659
|
if (_polyfillHostRe.test(selector)) {
|
|
10013
11660
|
const replaceBy = `.${hostSelector}`;
|
|
10014
11661
|
return selector
|
|
10015
|
-
.replace(_polyfillHostNoCombinatorRe, (_, selector) =>
|
|
10016
|
-
return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {
|
|
10017
|
-
return before + replaceBy + colon + after;
|
|
10018
|
-
});
|
|
10019
|
-
})
|
|
11662
|
+
.replace(_polyfillHostNoCombinatorRe, (_, selector) => injectScopingSelector(selector, replaceBy))
|
|
10020
11663
|
.replace(_polyfillHostRe, replaceBy + ' ');
|
|
10021
11664
|
}
|
|
10022
11665
|
return scopeSelector + ' ' + selector;
|
|
@@ -10037,10 +11680,7 @@ const applyStrictSelectorScope = (selector, scopeSelector, hostSelector) => {
|
|
|
10037
11680
|
// remove :host since it should be unnecessary
|
|
10038
11681
|
const t = p.replace(_polyfillHostRe, '');
|
|
10039
11682
|
if (t.length > 0) {
|
|
10040
|
-
|
|
10041
|
-
if (matches) {
|
|
10042
|
-
scopedP = matches[1] + className + matches[2] + matches[3];
|
|
10043
|
-
}
|
|
11683
|
+
scopedP = injectScopingSelector(t, className);
|
|
10044
11684
|
}
|
|
10045
11685
|
}
|
|
10046
11686
|
return scopedP;
|
|
@@ -10178,4 +11818,4 @@ const shadowCss = /*#__PURE__*/Object.freeze({
|
|
|
10178
11818
|
scopeCss: scopeCss
|
|
10179
11819
|
});
|
|
10180
11820
|
|
|
10181
|
-
export { DuetAlert, DuetBadge, DuetButton, DuetCaption, DuetCard, DuetCheckbox, DuetChoice, DuetChoiceGroup, DuetCollapsible, DuetCookieConsent, DuetDatePicker, DuetDivider, DuetEmptyState, DuetFieldset, DuetFooter, DuetGrid, DuetGridItem, DuetHeader, DuetHeading, DuetHero, DuetIcon, DuetInput, DuetLabel, DuetLayout, DuetLink, DuetList, DuetListItem, DuetLogo, DuetModal, DuetNotification, DuetNotificationDrawer, DuetNumberInput, DuetParagraph, DuetRadio, DuetRadioGroup, DuetRangeSlider, DuetSelect, DuetSpacer, DuetSpinner, DuetStep, DuetStepper, DuetTab, DuetTabGroup, DuetTable, DuetTextarea, DuetToggle, DuetTooltip, DuetTray, DuetVisuallyHidden, defineCustomElements, setAssetPath, setPlatformOptions };
|
|
11821
|
+
export { DuetAlert, DuetBadge, DuetButton, DuetCaption, DuetCard, DuetCheckbox, DuetChoice, DuetChoiceGroup, DuetCollapsible, DuetCookieConsent, DuetDatePicker, DuetDivider, DuetEditableTable, DuetEditableTableButton, DuetEditableTableItem, DuetEmptyState, DuetFieldset, DuetFooter, DuetGrid, DuetGridItem, DuetHeader, DuetHeading, DuetHero, DuetIcon, DuetInput, DuetLabel, DuetLayout, DuetLink, DuetList, DuetListItem, DuetLogo, DuetModal, DuetNotification, DuetNotificationDrawer, DuetNumberInput, DuetParagraph, DuetProgress, DuetRadio, DuetRadioGroup, DuetRangeSlider, DuetSelect, DuetSpacer, DuetSpinner, DuetStep, DuetStepper, DuetTab, DuetTabGroup, DuetTable, DuetTextarea, DuetToggle, DuetTooltip, DuetTray, DuetUpload, DuetUploadAriaStatus, DuetVisuallyHidden, defineCustomElements, setAssetPath, setPlatformOptions };
|