@duetds/components 5.0.5 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hydrate/index.js +460 -14
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-alert.cjs.entry.js +2 -2
- package/lib/cjs/duet-badge.cjs.entry.js +2 -2
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +2 -2
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +2 -2
- package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
- 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 +4 -4
- package/lib/cjs/duet-collapsible.cjs.entry.js +3 -3
- package/lib/cjs/duet-combobox.cjs.entry.js +390 -0
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +2 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +3 -3
- package/lib/cjs/duet-divider_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -6
- package/lib/cjs/duet-empty-state.cjs.entry.js +2 -2
- package/lib/cjs/duet-fieldset.cjs.entry.js +2 -2
- package/lib/cjs/duet-footer.cjs.entry.js +4 -4
- package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-header_2.cjs.entry.js +38 -7
- package/lib/cjs/duet-hero.cjs.entry.js +2 -2
- package/lib/cjs/duet-icon.cjs.entry.js +2 -2
- package/lib/cjs/duet-input_2.cjs.entry.js +19 -4
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-modal.cjs.entry.js +4 -4
- package/lib/cjs/duet-notification_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-number-input.cjs.entry.js +3 -3
- package/lib/cjs/duet-pagination_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-progress.cjs.entry.js +2 -2
- package/lib/cjs/duet-radio_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +3 -3
- package/lib/cjs/duet-select.cjs.entry.js +2 -2
- package/lib/cjs/duet-step_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-textarea.cjs.entry.js +3 -3
- package/lib/cjs/duet-toggle.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip.cjs.entry.js +2 -2
- package/lib/cjs/duet-tray.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{focus-utils-88e98997.js → focus-utils-be2df924.js} +1 -1
- package/lib/cjs/{index-ef094178.js → index-608ca44d.js} +1 -1
- package/lib/cjs/{input-utils-f3e3854c.js → input-utils-b5e8f524.js} +1 -1
- package/lib/cjs/{keyboard-utils-898cfe14.js → keyboard-utils-bb32119b.js} +3 -0
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/themeable-component-940d3b50.js +15 -0
- package/lib/collection/collection-manifest.json +1 -0
- package/lib/collection/components/duet-combobox/duet-combobox-select-single.js +12 -0
- package/lib/collection/components/duet-combobox/duet-combobox-select.js +19 -0
- package/lib/collection/components/duet-combobox/duet-combobox.css +78 -0
- package/lib/collection/components/duet-combobox/duet-combobox.js +592 -0
- package/lib/collection/components/duet-footer/duet-footer.js +6 -2
- package/lib/collection/components/duet-header/duet-header.css +15 -0
- package/lib/collection/components/duet-header/duet-header.js +41 -3
- package/lib/collection/components/duet-input/duet-input.js +67 -1
- package/lib/collection/components/duet-upload/duet-upload.css +12 -0
- package/lib/collection/components/duet-upload/duet-upload.js +4 -1
- package/lib/collection/components/duet-upload/upload-editable-item-success.js +1 -1
- package/lib/collection/utils/input-utils.js +1 -1
- package/lib/collection/utils/themeable-component.js +5 -2
- package/lib/custom-elements-bundle/index.d.ts +6 -0
- package/lib/custom-elements-bundle/index.js +456 -25
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-086325ff.system.entry.js → p-026083dd.system.entry.js} +1 -1
- package/lib/duet/{p-84eb2808.entry.js → p-068a3522.entry.js} +1 -1
- package/lib/duet/{p-1144c927.entry.js → p-06b01be8.entry.js} +1 -1
- package/lib/duet/{p-a52c08c6.entry.js → p-08c949c2.entry.js} +1 -1
- package/lib/duet/{p-ea5a73c3.system.entry.js → p-0cfe2b11.system.entry.js} +1 -1
- package/lib/duet/{p-195f73d6.entry.js → p-143182be.entry.js} +1 -1
- package/lib/duet/p-156538ea.system.entry.js +4 -0
- package/lib/duet/{p-71cdfd93.system.entry.js → p-1dd368a3.system.entry.js} +1 -1
- package/lib/duet/{p-e1d56708.entry.js → p-1feabba1.entry.js} +1 -1
- package/lib/duet/{p-689fe862.entry.js → p-206f46ba.entry.js} +1 -1
- package/lib/duet/{p-b47892c9.entry.js → p-2287449d.entry.js} +1 -1
- package/lib/duet/{p-128983f7.system.entry.js → p-23a19b83.system.entry.js} +1 -1
- package/lib/duet/{p-298aff96.system.entry.js → p-2866ccc1.system.entry.js} +1 -1
- package/lib/duet/{p-17a8d23c.system.entry.js → p-29e73d8c.system.entry.js} +1 -1
- package/lib/duet/{p-e0b5e649.entry.js → p-2f409514.entry.js} +1 -1
- package/lib/duet/{p-a37de615.system.entry.js → p-3048d8ef.system.entry.js} +1 -1
- package/lib/duet/{p-04145769.system.js → p-31bc24a2.system.js} +1 -1
- package/lib/duet/{p-d98ed960.entry.js → p-383c7df0.entry.js} +1 -1
- package/lib/duet/{p-68fecc14.system.entry.js → p-388535da.system.entry.js} +1 -1
- package/lib/duet/p-3dfcf826.entry.js +4 -0
- package/lib/duet/{p-f4c60fd8.system.entry.js → p-41ff8913.system.entry.js} +1 -1
- package/lib/duet/{p-f056be12.entry.js → p-48ea1da4.entry.js} +1 -1
- package/lib/duet/{p-d688612f.entry.js → p-4c57fe8a.entry.js} +1 -1
- package/lib/duet/{p-217b9e24.entry.js → p-4e4cce23.entry.js} +1 -1
- package/lib/duet/p-546444b0.system.entry.js +4 -0
- package/lib/duet/{p-b985a189.entry.js → p-54724f73.entry.js} +1 -1
- package/lib/duet/p-54f35a79.js +4 -0
- package/lib/duet/p-56118313.js +4 -0
- package/lib/duet/{p-30a28555.system.entry.js → p-58c20a42.system.entry.js} +1 -1
- package/lib/duet/{p-a96ead6c.entry.js → p-60e2436b.entry.js} +1 -1
- package/lib/duet/{p-b5bc8221.entry.js → p-63ac8866.entry.js} +1 -1
- package/lib/duet/{p-98228d0a.system.js → p-64ebe689.system.js} +1 -1
- package/lib/duet/{p-1ccd57c6.entry.js → p-65a79da5.entry.js} +1 -1
- package/lib/duet/{p-42d3a162.system.entry.js → p-69c0a7f6.system.entry.js} +1 -1
- package/lib/duet/p-6b03322b.system.js +4 -0
- package/lib/duet/{p-16df6ccc.system.entry.js → p-6b1abf52.system.entry.js} +1 -1
- package/lib/duet/p-6b6176f4.js +4 -0
- package/lib/duet/{p-eb7c1a1d.system.entry.js → p-6ba20e72.system.entry.js} +2 -2
- package/lib/duet/{p-d2b5efc0.system.entry.js → p-6f4863db.system.entry.js} +1 -1
- package/lib/duet/{p-104c3fa5.system.entry.js → p-6f603653.system.entry.js} +1 -1
- package/lib/duet/{p-123c8434.system.entry.js → p-7339eb94.system.entry.js} +1 -1
- package/lib/duet/{p-fdf8fba5.entry.js → p-74728a74.entry.js} +1 -1
- package/lib/duet/{p-97bdc2bf.entry.js → p-7666b058.entry.js} +1 -1
- package/lib/duet/{p-d9ac5f05.entry.js → p-7729af53.entry.js} +1 -1
- package/lib/duet/p-7754c44f.entry.js +4 -0
- package/lib/duet/{p-90223d57.entry.js → p-7a906647.entry.js} +1 -1
- package/lib/duet/{p-aa16ca33.system.entry.js → p-7aa17a19.system.entry.js} +1 -1
- package/lib/duet/{p-e81f1326.entry.js → p-7f857142.entry.js} +1 -1
- package/lib/duet/{p-b06d63cb.entry.js → p-81c4e0b8.entry.js} +1 -1
- package/lib/duet/{p-f414ff23.system.entry.js → p-84afb642.system.entry.js} +1 -1
- package/lib/duet/{p-ef99ea4d.entry.js → p-85fe86ef.entry.js} +1 -1
- package/lib/duet/{p-5d997107.entry.js → p-887d51ae.entry.js} +1 -1
- package/lib/duet/{p-b110c837.entry.js → p-8cc38bb7.entry.js} +1 -1
- package/lib/duet/{p-adaede01.entry.js → p-8f2b3690.entry.js} +1 -1
- package/lib/duet/{p-1cfeab55.system.entry.js → p-93c1b85e.system.entry.js} +1 -1
- package/lib/duet/{p-c0071398.system.entry.js → p-9592fa1f.system.entry.js} +1 -1
- package/lib/duet/{p-a7a1ece1.system.entry.js → p-99dc86ab.system.entry.js} +1 -1
- package/lib/duet/{p-db63fb3a.system.entry.js → p-9a47fd17.system.entry.js} +1 -1
- package/lib/duet/{p-c5037594.entry.js → p-9b0489b4.entry.js} +1 -1
- package/lib/duet/{p-285e2473.system.entry.js → p-9b282421.system.entry.js} +2 -2
- package/lib/duet/{p-ea4674fd.system.entry.js → p-9e06a7c7.system.entry.js} +1 -1
- package/lib/duet/p-a63f753e.system.js +4 -0
- package/lib/duet/{p-2b1b8246.entry.js → p-a682a6a5.entry.js} +1 -1
- package/lib/duet/{p-d70b3f27.entry.js → p-aa9d165e.entry.js} +1 -1
- package/lib/duet/{p-36e7114b.system.entry.js → p-ab3a0d39.system.entry.js} +1 -1
- package/lib/duet/{p-f125dfff.system.js → p-ab8e590d.system.js} +1 -1
- package/lib/duet/p-abf8eaf7.js +4 -0
- package/lib/duet/{p-ad77f9e2.entry.js → p-b77d4386.entry.js} +1 -1
- package/lib/duet/{p-7dbf8797.system.entry.js → p-b7a86acf.system.entry.js} +1 -1
- package/lib/duet/p-badc3ac3.entry.js +4 -0
- package/lib/duet/{p-27eac9a4.entry.js → p-bc84c679.entry.js} +1 -1
- package/lib/duet/{p-901ddd73.system.entry.js → p-bdc61811.system.entry.js} +1 -1
- package/lib/duet/{p-1bb6c66f.system.entry.js → p-c3019850.system.entry.js} +1 -1
- package/lib/duet/{p-9a8d5b11.system.js → p-c466bad9.system.js} +1 -1
- package/lib/duet/{p-a3bd8a71.entry.js → p-c5429708.entry.js} +1 -1
- package/lib/duet/{p-912eed2f.entry.js → p-ca55e1f8.entry.js} +1 -1
- package/lib/duet/{p-1a2ab8e8.system.entry.js → p-cd2e4ea8.system.entry.js} +1 -1
- package/lib/duet/{p-b631407a.system.entry.js → p-d4734090.system.entry.js} +1 -1
- package/lib/duet/{p-85b2213b.system.entry.js → p-d8ebb48c.system.entry.js} +1 -1
- package/lib/duet/{p-ee6d9bc6.entry.js → p-dca9237d.entry.js} +1 -1
- package/lib/duet/p-df6b0878.system.entry.js +4 -0
- package/lib/duet/{p-2495cec7.system.entry.js → p-e4f8e874.system.entry.js} +1 -1
- package/lib/duet/{p-87bedb24.system.entry.js → p-e50c8c08.system.entry.js} +1 -1
- package/lib/duet/{p-cbd12107.system.entry.js → p-e5f9c7b8.system.entry.js} +1 -1
- package/lib/duet/{p-8bca2ae9.system.entry.js → p-e8a5580c.system.entry.js} +1 -1
- package/lib/duet/{p-9fccab71.entry.js → p-e8da9596.entry.js} +1 -1
- package/lib/duet/{p-5d6f8c04.entry.js → p-ea131807.entry.js} +1 -1
- package/lib/duet/{p-2c65e170.entry.js → p-ec340319.entry.js} +1 -1
- package/lib/duet/{p-d494f1a3.system.entry.js → p-ed1ea287.system.entry.js} +1 -1
- package/lib/duet/{p-f1b62aca.entry.js → p-f37a0b50.entry.js} +1 -1
- package/lib/duet/{p-00db0857.system.entry.js → p-f3ed1115.system.entry.js} +1 -1
- package/lib/duet/p-f42b06ec.entry.js +4 -0
- package/lib/duet/{p-7e2e9a28.js → p-f5ced40a.js} +1 -1
- package/lib/duet/{p-92722c37.system.entry.js → p-f7e5404c.system.entry.js} +1 -1
- package/lib/duet/{p-4c8d801e.system.entry.js → p-f9ddfbd3.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- package/lib/esm/duet-alert.entry.js +2 -2
- package/lib/esm/duet-badge.entry.js +2 -2
- package/lib/esm/duet-breadcrumb.entry.js +2 -2
- package/lib/esm/duet-breadcrumbs.entry.js +2 -2
- package/lib/esm/duet-button_2.entry.js +2 -2
- package/lib/esm/duet-caption_4.entry.js +2 -2
- 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 +4 -4
- package/lib/esm/duet-collapsible.entry.js +3 -3
- package/lib/esm/duet-combobox.entry.js +386 -0
- package/lib/esm/duet-cookie-consent.entry.js +2 -2
- package/lib/esm/duet-date-picker.entry.js +3 -3
- package/lib/esm/duet-divider_2.entry.js +2 -2
- package/lib/esm/duet-editable-table_3.entry.js +8 -6
- package/lib/esm/duet-empty-state.entry.js +2 -2
- package/lib/esm/duet-fieldset.entry.js +2 -2
- package/lib/esm/duet-footer.entry.js +4 -4
- package/lib/esm/duet-grid_2.entry.js +2 -2
- package/lib/esm/duet-header_2.entry.js +38 -7
- package/lib/esm/duet-hero.entry.js +2 -2
- package/lib/esm/duet-icon.entry.js +2 -2
- package/lib/esm/duet-input_2.entry.js +19 -4
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +2 -2
- package/lib/esm/duet-modal.entry.js +4 -4
- package/lib/esm/duet-notification_2.entry.js +2 -2
- package/lib/esm/duet-number-input.entry.js +3 -3
- package/lib/esm/duet-pagination_2.entry.js +3 -3
- package/lib/esm/duet-progress.entry.js +2 -2
- package/lib/esm/duet-radio_2.entry.js +2 -2
- package/lib/esm/duet-range-slider.entry.js +2 -2
- package/lib/esm/duet-scrollable_3.entry.js +3 -3
- package/lib/esm/duet-select.entry.js +2 -2
- package/lib/esm/duet-step_2.entry.js +3 -3
- package/lib/esm/duet-textarea.entry.js +3 -3
- package/lib/esm/duet-toggle.entry.js +2 -2
- package/lib/esm/duet-tooltip.entry.js +2 -2
- package/lib/esm/duet-tray.entry.js +2 -2
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +2 -2
- package/lib/esm/{focus-utils-d02ee9d2.js → focus-utils-b6b1e60d.js} +1 -1
- package/lib/esm/{index-3cfa1b7e.js → index-0b088451.js} +1 -1
- package/lib/esm/{input-utils-f4cafee1.js → input-utils-de45e099.js} +1 -1
- package/lib/esm/{keyboard-utils-6eb55cd5.js → keyboard-utils-88ea1007.js} +2 -1
- package/lib/esm/loader.js +2 -2
- package/lib/esm/themeable-component-e8fc98bf.js +13 -0
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-alert.entry.js +1 -1
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm-es5/duet-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +4 -0
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- package/lib/esm-es5/duet-header_2.entry.js +2 -2
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +1 -1
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +1 -1
- package/lib/esm-es5/duet-range-slider.entry.js +1 -1
- package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +1 -1
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/focus-utils-b6b1e60d.js +4 -0
- package/lib/esm-es5/{index-3cfa1b7e.js → index-0b088451.js} +1 -1
- package/lib/esm-es5/input-utils-de45e099.js +4 -0
- package/lib/esm-es5/keyboard-utils-88ea1007.js +4 -0
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/themeable-component-e8fc98bf.js +4 -0
- package/lib/html.html-data.json +5321 -0
- package/lib/types/components/duet-combobox/duet-combobox-select-single.d.ts +8 -0
- package/lib/types/components/duet-combobox/duet-combobox-select.d.ts +14 -0
- package/lib/types/components/duet-combobox/duet-combobox.d.ts +131 -0
- package/lib/types/components/duet-footer/duet-footer.d.ts +4 -0
- package/lib/types/components/duet-header/duet-header.d.ts +8 -0
- package/lib/types/components/duet-input/duet-input.d.ts +13 -0
- package/lib/types/components.d.ts +107 -0
- package/package.json +5 -5
- package/lib/cjs/themeable-component-0c1be552.js +0 -12
- package/lib/duet/p-6733b42f.js +0 -4
- package/lib/duet/p-74780bca.system.js +0 -4
- package/lib/duet/p-898f30a5.js +0 -4
- package/lib/duet/p-9dfcd29a.js +0 -4
- package/lib/duet/p-a0b09d95.system.entry.js +0 -4
- package/lib/duet/p-a28cf57b.js +0 -4
- package/lib/duet/p-a8ff3a13.entry.js +0 -4
- package/lib/duet/p-b769b313.entry.js +0 -4
- package/lib/duet/p-c9097a6c.system.entry.js +0 -4
- package/lib/duet/p-d8c526b4.entry.js +0 -4
- package/lib/duet/p-efaa0c04.system.js +0 -4
- package/lib/esm/themeable-component-572685dd.js +0 -10
- package/lib/esm-es5/focus-utils-d02ee9d2.js +0 -4
- package/lib/esm-es5/input-utils-f4cafee1.js +0 -4
- package/lib/esm-es5/keyboard-utils-6eb55cd5.js +0 -4
- package/lib/esm-es5/themeable-component-572685dd.js +0 -4
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const createId = require('./create-id-c3b984b1.js');
|
|
10
10
|
const jsUtils = require('./js-utils-be1d29ae.js');
|
|
11
|
-
const keyboardUtils = require('./keyboard-utils-
|
|
11
|
+
const keyboardUtils = require('./keyboard-utils-bb32119b.js');
|
|
12
12
|
const languageUtils = require('./language-utils-aa282901.js');
|
|
13
|
-
const themeableComponent = require('./themeable-component-
|
|
13
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
14
14
|
const tokenUtils = require('./token-utils-f402e205.js');
|
|
15
15
|
require('./string-utils-267e3dbb.js');
|
|
16
16
|
require('./tokens.module-6b2df1c2.js');
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const languageUtils = require('./language-utils-aa282901.js');
|
|
10
|
-
const themeableComponent = require('./themeable-component-
|
|
10
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
11
11
|
require('./string-utils-267e3dbb.js');
|
|
12
12
|
|
|
13
13
|
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}";
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const themeableComponent = require('./themeable-component-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
10
10
|
|
|
11
11
|
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}";
|
|
12
12
|
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const themeableComponent = require('./themeable-component-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
10
10
|
|
|
11
11
|
const duetBreadcrumbCss = "*,*::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-breadcrumb{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:100%;font-size:0.875rem;color:#00294d;text-decoration:none}.duet-breadcrumb:hover{color:#004d80}.duet-breadcrumb.duet-theme-turva{color:#171c3a}.duet-breadcrumb.duet-theme-turva:hover{color:#940925}.duet-breadcrumb:focus{outline:0}.duet-breadcrumb:active{opacity:0.75}:host(.user-is-tabbing) .duet-breadcrumb:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-breadcrumb.duet-theme-turva:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}";
|
|
12
12
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const languageUtils = require('./language-utils-aa282901.js');
|
|
10
|
-
const themeableComponent = require('./themeable-component-
|
|
10
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
11
11
|
require('./string-utils-267e3dbb.js');
|
|
12
12
|
|
|
13
13
|
var actionArrowRightSmall={"title":"action-arrow-right-small","tags":"action arrow right small caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M19.5 12a2.3 2.3 0 0 1-.78 1.729L7.568 23.54a1.847 1.847 0 0 1-2.439-2.773l9.752-8.579a.25.25 0 0 0 0-.376L5.129 3.233A1.847 1.847 0 0 1 7.568.46l11.148 9.808A2.31 2.31 0 0 1 19.5 12z\"/></svg>"};
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const commonStrings = require('./common-strings-de17f887.js');
|
|
10
10
|
const languageUtils = require('./language-utils-aa282901.js');
|
|
11
|
-
const themeableComponent = require('./themeable-component-
|
|
11
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
12
12
|
const tokenUtils = require('./token-utils-f402e205.js');
|
|
13
13
|
require('./string-utils-267e3dbb.js');
|
|
14
14
|
require('./tokens.module-6b2df1c2.js');
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const themeableComponent = require('./themeable-component-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
10
10
|
const stringUtils = require('./string-utils-267e3dbb.js');
|
|
11
11
|
const tokenUtils = require('./token-utils-f402e205.js');
|
|
12
12
|
const actionNewWindowSmall = require('./action-new-window-small-fa51dfb9.js');
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const createId = require('./create-id-c3b984b1.js');
|
|
10
|
-
const keyboardUtils = require('./keyboard-utils-
|
|
10
|
+
const keyboardUtils = require('./keyboard-utils-bb32119b.js');
|
|
11
11
|
const stringUtils = require('./string-utils-267e3dbb.js');
|
|
12
|
-
const themeableComponent = require('./themeable-component-
|
|
12
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
13
13
|
const tokenUtils = require('./token-utils-f402e205.js');
|
|
14
14
|
require('./tokens.module-6b2df1c2.js');
|
|
15
15
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const createId = require('./create-id-c3b984b1.js');
|
|
10
|
-
const themeableComponent = require('./themeable-component-
|
|
10
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
11
11
|
|
|
12
12
|
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}";
|
|
13
13
|
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const commonStrings = require('./common-strings-de17f887.js');
|
|
10
10
|
const createId = require('./create-id-c3b984b1.js');
|
|
11
|
-
const focusUtils = require('./focus-utils-
|
|
12
|
-
const keyboardUtils = require('./keyboard-utils-
|
|
11
|
+
const focusUtils = require('./focus-utils-be2df924.js');
|
|
12
|
+
const keyboardUtils = require('./keyboard-utils-bb32119b.js');
|
|
13
13
|
const languageUtils = require('./language-utils-aa282901.js');
|
|
14
|
-
const themeableComponent = require('./themeable-component-
|
|
14
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
15
15
|
const watchOptions = require('./watch-options-d88afac0.js');
|
|
16
16
|
require('./string-utils-267e3dbb.js');
|
|
17
17
|
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const actionArrowDownSmall = require('./action-arrow-down-small-ef77a2d1.js');
|
|
10
10
|
const tokens = require('./tokens-8596cece.js');
|
|
11
11
|
const createId = require('./create-id-c3b984b1.js');
|
|
12
|
-
const keyboardUtils = require('./keyboard-utils-
|
|
12
|
+
const keyboardUtils = require('./keyboard-utils-bb32119b.js');
|
|
13
13
|
const stringUtils = require('./string-utils-267e3dbb.js');
|
|
14
|
-
const themeableComponent = require('./themeable-component-
|
|
14
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
15
15
|
|
|
16
16
|
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)}";
|
|
17
17
|
|
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
|
+
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
|
+
const jsUtils = require('./js-utils-be1d29ae.js');
|
|
10
|
+
const keyboardUtils = require('./keyboard-utils-bb32119b.js');
|
|
11
|
+
const languageUtils = require('./language-utils-aa282901.js');
|
|
12
|
+
const stringUtils = require('./string-utils-267e3dbb.js');
|
|
13
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
14
|
+
|
|
15
|
+
const SelectSingle = ({ item, search = "", selected }) => {
|
|
16
|
+
const regEx = search !== "" ? new RegExp("(" + search.split(" ").join("|") + ")", "gi") : undefined;
|
|
17
|
+
return (index.h(index.Fragment, null,
|
|
18
|
+
selected && index.h("duet-icon", { class: "option-icon", name: "messaging-checked", size: "xx-small", margin: "none" }),
|
|
19
|
+
regEx ? (index.h("span", { class: "option-container", "aria-hidden": "true" },
|
|
20
|
+
index.h("span", { innerHTML: item.name.replace(regEx, '<span class="highlight">$&</span>') }))) : (item.name),
|
|
21
|
+
item.tags && index.h("span", { class: "option-tags" }, item.tags.join(", "))));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const DuetComboBoxSelect = ({ item, active, total, selected, label = undefined, clickHandler = e => {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
}, keyHandler = e => {
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
}, search, }) => {
|
|
29
|
+
return (index.h("li", { class: {
|
|
30
|
+
"list-item": true,
|
|
31
|
+
option: true,
|
|
32
|
+
active: active,
|
|
33
|
+
selected: selected,
|
|
34
|
+
}, id: active ? "active_item" : "", "data-index": item.id, "aria-selected": active ? "true" : undefined, "aria-current": selected ? "true" : undefined, role: "option", "aria-label": label || `${item.name}, (${item.id + 1} of ${total})` },
|
|
35
|
+
index.h("a", { tabindex: "-1", onClick: e => clickHandler(e), onKeyUp: e => keyHandler(e), class: "option-link", "aria-label": label || `${item.name}, (${item.id + 1} of ${total})`, "aria-hidden": "true" },
|
|
36
|
+
index.h(SelectSingle, { item: item, search: search, selected: selected }))));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const duetComboboxCss = ".sc-duet-combobox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#00294d}.duet-combobox-list.sc-duet-combobox{position:absolute;top:calc(100% - 12px);display:none;overflow:hidden;background:white;border-radius:0 4px;box-shadow:0 2px 10px 0 rgba(0, 41, 77, 0.1)}.duet-combobox-list.open.sc-duet-combobox{z-index:700;display:block}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox{max-height:200px;padding:0.75rem 0;margin:0;overflow-y:scroll;font-weight:600;list-style:none;cursor:pointer;scroll-behavior:smooth}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox{padding:4px 0}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected){padding-left:16px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:not(.selected) .highlight.sc-duet-combobox{text-decoration:underline}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option.sc-duet-combobox .option-tags.sc-duet-combobox{float:right;padding-right:0.875rem;font-weight:400;color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.option-link.sc-duet-combobox{display:block;width:100%}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.sc-duet-combobox{padding-left:0;background:#cde5f1}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-icon.sc-duet-combobox{padding:0 8px 0 8px}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.selected.option.sc-duet-combobox .option-tags.sc-duet-combobox{color:#909599}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover{color:white;background:#0077b3}.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.active.sc-duet-combobox .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:focus .option-tags.sc-duet-combobox,.duet-combobox-list.sc-duet-combobox .listbox.sc-duet-combobox .list-item.sc-duet-combobox:hover .option-tags.sc-duet-combobox{color:#e1e3e6}";
|
|
40
|
+
|
|
41
|
+
const DuetCombobox = class {
|
|
42
|
+
constructor(hostRef) {
|
|
43
|
+
index.registerInstance(this, hostRef);
|
|
44
|
+
this.duetChange = index.createEvent(this, "duetChange", 3);
|
|
45
|
+
// Safari doesnt properly support aria-activedecendatn, the code associated with this bool is a workaround for that,
|
|
46
|
+
// this should be removed when Safari fixes the issue
|
|
47
|
+
// see: https://a11ysupport.io/tests/apg__aria-1-2-combobox-with-list-autocomplete-example#assertion-aria-aria-activedescendant_attribute-convey_value-aria-combobox_role-vo_macos-safari
|
|
48
|
+
this.isSafari = false;
|
|
49
|
+
this.resizeObserver = new ResizeObserver(jsUtils.debounce(entries => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
// otherwise, something is wrong, expecting 1 element only
|
|
52
|
+
if ((entries === null || entries === void 0 ? void 0 : entries.length) === 1) {
|
|
53
|
+
const currentWidth = (_b = (_a = entries[0]) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width;
|
|
54
|
+
this.listContainer.style.width = `${currentWidth + 1}px`;
|
|
55
|
+
// this.listElement.style.width = `${currentWidth + 1}px`
|
|
56
|
+
}
|
|
57
|
+
}, 100));
|
|
58
|
+
this.processedItems = null;
|
|
59
|
+
this.inputWidth = 0;
|
|
60
|
+
this.inputValue = "";
|
|
61
|
+
this.selectionMsg = "";
|
|
62
|
+
this.listOpen = false;
|
|
63
|
+
// the selected item is based upon the DuetComboboxItem.id value
|
|
64
|
+
this.selectedItems = new Set();
|
|
65
|
+
// the activeItem number is based upon the array.index of the array stored in processedItems
|
|
66
|
+
this.activeItem = undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Placeholder defaults
|
|
69
|
+
* @default { fi: "pp.kk.vvvv", en: "dd.mm.yyyy", sv: "dd.mm.åååå" }
|
|
70
|
+
*/
|
|
71
|
+
this.accessibleLabelDefaults = {
|
|
72
|
+
en: {
|
|
73
|
+
heading: "Select:",
|
|
74
|
+
item: "{name}, ({current} of {total})",
|
|
75
|
+
itemFiltered: "{name}, ({current} of {total}, {hiddenItems} filtered)",
|
|
76
|
+
},
|
|
77
|
+
fi: {
|
|
78
|
+
heading: "Valitse:",
|
|
79
|
+
item: "{name}, ({current}/{total})",
|
|
80
|
+
itemFiltered: "{name}, ({current}/{total}, {hiddenItems} suodatettu)",
|
|
81
|
+
},
|
|
82
|
+
sv: {
|
|
83
|
+
heading: "Välj:",
|
|
84
|
+
item: "{name}, ({current} av {total})",
|
|
85
|
+
itemFiltered: "{name}, ({current} av {total}, {hiddenItems} filtrerade)",
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Hint text to display before the user types into the date picker input.
|
|
90
|
+
* @default {
|
|
91
|
+
* heading: "Valitse:",
|
|
92
|
+
* item: "{0}, ({1}/{2})",
|
|
93
|
+
* itemFiltered: "{0}, ({1}/{2} - {3} suodatettu"
|
|
94
|
+
* }
|
|
95
|
+
*/
|
|
96
|
+
this.accessibleLabels = languageUtils.getLocaleString(stringUtils.parsePossibleJSON(this.accessibleLabelDefaults), languageUtils.getLanguage());
|
|
97
|
+
/**
|
|
98
|
+
* Theme of the combobox.
|
|
99
|
+
*/
|
|
100
|
+
this.theme = "";
|
|
101
|
+
/**
|
|
102
|
+
* Force the user to make a selection (typing things in the input field will only be used for list search)
|
|
103
|
+
*/
|
|
104
|
+
this.force = false;
|
|
105
|
+
/**
|
|
106
|
+
* A hook to overwrite how the values are displayed in the input field after a User select an item
|
|
107
|
+
* @example (item) => `${item.name} (${item.value})`
|
|
108
|
+
* @default undefined
|
|
109
|
+
*/
|
|
110
|
+
this.formatter = (item) => item && item.name ? item.name : "";
|
|
111
|
+
}
|
|
112
|
+
activeItemHandler(state) {
|
|
113
|
+
this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? `active_item` : "";
|
|
114
|
+
}
|
|
115
|
+
handleDocumentClick(e) {
|
|
116
|
+
//we want to remove all user text if they have NOT selected from the dropdown
|
|
117
|
+
const path = e.composedPath();
|
|
118
|
+
const isClickOutside = path.every(el => el !== this.element);
|
|
119
|
+
if (isClickOutside) {
|
|
120
|
+
this.updateInputText(true);
|
|
121
|
+
this.listOpen = false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Exposes a formatter function to format the item value displayed after a user selects an item
|
|
126
|
+
* @param item: DuetComboboxItem
|
|
127
|
+
*/
|
|
128
|
+
async formatItem(item) {
|
|
129
|
+
return this.formatter(item);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Component lifecycle events.
|
|
133
|
+
*/
|
|
134
|
+
componentWillLoad() {
|
|
135
|
+
themeableComponent.inheritGlobalTheme(this);
|
|
136
|
+
}
|
|
137
|
+
connectedCallback() {
|
|
138
|
+
if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
|
|
139
|
+
this.isSafari = true;
|
|
140
|
+
}
|
|
141
|
+
this.items = this.processedItems = stringUtils.parsePossibleJSON(this.items);
|
|
142
|
+
this.input = this.element.querySelector("duet-input");
|
|
143
|
+
this.input.addEventListener("duetChange", this.updateInputValue.bind(this));
|
|
144
|
+
this.input.addEventListener("click", () => {
|
|
145
|
+
this.inputValue.length ? (this.listOpen = true) : (this.listOpen = false);
|
|
146
|
+
});
|
|
147
|
+
this.element.addEventListener("keydown", this.handleInputKeyDownEvent.bind(this));
|
|
148
|
+
//add correct aria attributes to the input element
|
|
149
|
+
this.input.accessibleAutocomplete = "list";
|
|
150
|
+
this.input.accessibleControls = "duet-combobox-list-element";
|
|
151
|
+
}
|
|
152
|
+
disconnectedCallback() {
|
|
153
|
+
this.input.removeEventListener("duetChange", this.updateInputValue.bind(this));
|
|
154
|
+
this.input.removeEventListener("click", () => this.inputValue.length ? (this.listOpen = true) : (this.listOpen = false));
|
|
155
|
+
this.element.removeEventListener("keydown", this.handleInputKeyDownEvent.bind(this));
|
|
156
|
+
this.listElement.removeEventListener("click", e => {
|
|
157
|
+
e.stopPropagation();
|
|
158
|
+
});
|
|
159
|
+
this.resizeObserver.disconnect();
|
|
160
|
+
}
|
|
161
|
+
componentDidLoad() {
|
|
162
|
+
// observe resize events to dynamically adjust size of dropdown area
|
|
163
|
+
this.resizeObserver.observe(this.input);
|
|
164
|
+
this.listElement.addEventListener("click", e => {
|
|
165
|
+
e.stopPropagation();
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Updates the input text based on the selected/clicked items.
|
|
170
|
+
* @param event - event
|
|
171
|
+
*'param item: DuetComboboxItem - the item that was selected
|
|
172
|
+
*/
|
|
173
|
+
onListClick(e, item) {
|
|
174
|
+
e.preventDefault();
|
|
175
|
+
// update selected item with id
|
|
176
|
+
this.updateSelectedItems(item.id);
|
|
177
|
+
this.listOpen = false;
|
|
178
|
+
return this.listOpen;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Helper function that checks inputs in the field, compares it with the item list and returns true when inputvalue matches selectedItem id
|
|
182
|
+
* TODO: this should be disabled in multiple mode
|
|
183
|
+
*/
|
|
184
|
+
shouldListBeFiltered() {
|
|
185
|
+
if (this.selectedItems.size && this.input.value === this.inputValue) {
|
|
186
|
+
const item = this.items.filter(item => this.selectedItems.has(item.id));
|
|
187
|
+
return !(this.formatter(item).toLowerCase() === this.input.value.toLowerCase());
|
|
188
|
+
}
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Helper function that return correct collection depending on filter status returend by shouldListBeFiltered
|
|
193
|
+
*/
|
|
194
|
+
returnFilteredOrNonFiltered() {
|
|
195
|
+
return this.processedItems
|
|
196
|
+
? this.shouldListBeFiltered()
|
|
197
|
+
? this.getFilteredItems()
|
|
198
|
+
: this.sortFilteredItems(this.processedItems)
|
|
199
|
+
: [];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Updates the selected items based on the item id.
|
|
203
|
+
* @param id
|
|
204
|
+
* @private
|
|
205
|
+
*/
|
|
206
|
+
async updateSelectedItems(id) {
|
|
207
|
+
// for a multiple scenario wrap this in an if/else and just don't clear here
|
|
208
|
+
this.selectedItems.clear();
|
|
209
|
+
if (this.selectedItems) {
|
|
210
|
+
if (this.selectedItems.has(id)) {
|
|
211
|
+
this.selectedItems.delete(id);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
this.selectedItems.add(id);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
await this.updateInputText();
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Updates the input text based on the selected/clicked items.
|
|
221
|
+
* @param bool -override to clear if invoked by "click outside"
|
|
222
|
+
*/
|
|
223
|
+
async updateInputText(isBlurred = false) {
|
|
224
|
+
const item = this.selectedItems.size === 0 ? [] : this.items.filter(item => this.selectedItems.has(item.id));
|
|
225
|
+
if (this.selectedItems.size === 1) {
|
|
226
|
+
this.input.value = ""; // set value to empty so that cursor position follows accordingly
|
|
227
|
+
this.input.value = await this.formatItem(item[0]);
|
|
228
|
+
this.input.scrollLeft = this.input.scrollWidth;
|
|
229
|
+
this.activeItem = undefined;
|
|
230
|
+
this.value = await this.formatItem(item[0]);
|
|
231
|
+
this.duetChange.emit({
|
|
232
|
+
value: item[0].value,
|
|
233
|
+
item: item[0],
|
|
234
|
+
component: "duet-combobox",
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
else if (isBlurred && this.selectedItems.size === 0) {
|
|
238
|
+
//if nothing is selected and a user clicks outside, we want the input field to clearly illustrate that nothing was selected
|
|
239
|
+
if (this.force) {
|
|
240
|
+
this.inputValue = "";
|
|
241
|
+
this.input.value = "";
|
|
242
|
+
}
|
|
243
|
+
this.activeItem = undefined;
|
|
244
|
+
}
|
|
245
|
+
this.listOpen = false;
|
|
246
|
+
}
|
|
247
|
+
updateInputValue(e) {
|
|
248
|
+
var _a;
|
|
249
|
+
this.inputValue = e.detail.value;
|
|
250
|
+
this.listOpen = String(this.inputValue).length > 0 && ((_a = this.getFilteredItems()) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
251
|
+
}
|
|
252
|
+
handleInputKeyDownEvent(e) {
|
|
253
|
+
//if selection is made, close the list and update internal and external values
|
|
254
|
+
// this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
|
|
255
|
+
// https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
|
|
256
|
+
this.input.accessibleActiveDescendant = undefined;
|
|
257
|
+
if (keyboardUtils.isEnterKey(e)) {
|
|
258
|
+
e.preventDefault();
|
|
259
|
+
this.selectActiveItem();
|
|
260
|
+
this.listOpen = false;
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
//tabbing out or escaping, restore initial state
|
|
264
|
+
if (keyboardUtils.isEscapeKey(e) || keyboardUtils.isTabKey(e)) {
|
|
265
|
+
this.updateInputText(true);
|
|
266
|
+
this.listOpen = false;
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
//handle arrow up/down navigation
|
|
270
|
+
let nextActiveItem = this.activeItem;
|
|
271
|
+
if (keyboardUtils.isArrowUpKey(e)) {
|
|
272
|
+
e.preventDefault();
|
|
273
|
+
nextActiveItem = this.activeItem - 1;
|
|
274
|
+
}
|
|
275
|
+
else if (keyboardUtils.isArrowDownKey(e)) {
|
|
276
|
+
e.preventDefault();
|
|
277
|
+
nextActiveItem = this.listOpen ? this.activeItem + 1 : this.activeItem;
|
|
278
|
+
this.listOpen = true;
|
|
279
|
+
}
|
|
280
|
+
if (keyboardUtils.isArrowDownKey(e) || keyboardUtils.isArrowUpKey(e)) {
|
|
281
|
+
const listItems = this.shouldListBeFiltered() ? this.getFilteredItems() : this.processedItems;
|
|
282
|
+
if (nextActiveItem < 0 || !nextActiveItem) {
|
|
283
|
+
nextActiveItem = 0;
|
|
284
|
+
}
|
|
285
|
+
if (nextActiveItem >= listItems.length) {
|
|
286
|
+
nextActiveItem = listItems.length - 1;
|
|
287
|
+
}
|
|
288
|
+
// this should be set to undefined on everything BUT up/down arrow according to the aria 1.1 specs
|
|
289
|
+
// https://www.w3.org/TR/wai-aria-practices-1.1/#combobox
|
|
290
|
+
this.input.accessibleActiveDescendant = "active_item";
|
|
291
|
+
this.activeItem = nextActiveItem;
|
|
292
|
+
this.scrollToActive();
|
|
293
|
+
}
|
|
294
|
+
this.announceActive();
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
selectActiveItem() {
|
|
298
|
+
if (this.activeItem === undefined) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
const filteredItem = this.returnFilteredOrNonFiltered();
|
|
302
|
+
const item = filteredItem[this.activeItem];
|
|
303
|
+
this.updateSelectedItems(item.id);
|
|
304
|
+
}
|
|
305
|
+
announceActive(items) {
|
|
306
|
+
if (!items) {
|
|
307
|
+
items = this.returnFilteredOrNonFiltered();
|
|
308
|
+
}
|
|
309
|
+
if (this.activeItem === undefined || this.activeItem === -1) {
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
const item = items[this.activeItem];
|
|
313
|
+
this.selectionMsg = this.formatLabel(item, items.length, this.items.length);
|
|
314
|
+
}
|
|
315
|
+
//function that scrolls to the li element with the class "active"
|
|
316
|
+
scrollToActive() {
|
|
317
|
+
const activeElement = this.listElement.querySelector(".active");
|
|
318
|
+
if (activeElement) {
|
|
319
|
+
activeElement.scrollIntoView({
|
|
320
|
+
behavior: "smooth",
|
|
321
|
+
block: "center",
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
formatLabel(item, length, itemsLength) {
|
|
326
|
+
if (!item || itemsLength === undefined) {
|
|
327
|
+
return "";
|
|
328
|
+
}
|
|
329
|
+
const labelString = length === itemsLength ? this.accessibleLabels.item : this.accessibleLabels.itemFiltered;
|
|
330
|
+
return labelString
|
|
331
|
+
.replace("{name}", String(item.name))
|
|
332
|
+
.replace("{current}", String(this.activeItem + 1))
|
|
333
|
+
.replace("{total}", String(length))
|
|
334
|
+
.replace("{hiddenItems}", String(itemsLength - length));
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Filter the items based on the input value
|
|
338
|
+
*/
|
|
339
|
+
getFilteredItems() {
|
|
340
|
+
// filter items based on user inputs
|
|
341
|
+
const filteredItems = this.processedItems.filter(item =>
|
|
342
|
+
// filter by name and value
|
|
343
|
+
// if value contains inputvalue
|
|
344
|
+
String(item.value).toLowerCase().includes(this.inputValue.toLowerCase()) ||
|
|
345
|
+
// if name contains input value
|
|
346
|
+
String(item.name).toLowerCase().includes(this.inputValue.toLowerCase()) ||
|
|
347
|
+
// if the item is selected
|
|
348
|
+
this.selectedItems.has(item.id));
|
|
349
|
+
return this.sortFilteredItems(filteredItems);
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Sort the return from getFilteredItems so that any item with and item.id that matches this.selectedItems is placed first
|
|
353
|
+
*/
|
|
354
|
+
sortFilteredItems(items) {
|
|
355
|
+
if (items.length > 0) {
|
|
356
|
+
items
|
|
357
|
+
.filter(item => this.selectedItems.has(item.id))
|
|
358
|
+
.forEach(item => {
|
|
359
|
+
const index = items.indexOf(item);
|
|
360
|
+
items.splice(index, 1);
|
|
361
|
+
items.unshift(item);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
return items;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* render() function
|
|
368
|
+
* Always the last one in the class.
|
|
369
|
+
*/
|
|
370
|
+
render() {
|
|
371
|
+
const selectElements = this.returnFilteredOrNonFiltered();
|
|
372
|
+
return (index.h(index.Host, { role: "combobox", "aria-expanded": this.listOpen ? "true" : "false", "aria-owns": this.listOpen ? "duet-combobox-list-element" : undefined, "aria-haspopup": "listbox", class: {
|
|
373
|
+
"duet-combobox": true,
|
|
374
|
+
[`duet-theme-${this.theme}`]: true,
|
|
375
|
+
} }, index.h("slot", null), this.isSafari && (index.h("duet-visually-hidden", { "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, this.selectionMsg)), index.h("div", { role: "list", class: {
|
|
376
|
+
"duet-combobox-list": true,
|
|
377
|
+
open: this.listOpen,
|
|
378
|
+
}, ref: el => (this.listContainer = el) }, index.h("ul", { role: "listbox", ref: el => (this.listElement = el), id: "duet-combobox-list-element", class: "listbox" }, this.processedItems &&
|
|
379
|
+
selectElements.map((item, index$1) => {
|
|
380
|
+
return (index.h(DuetComboBoxSelect, { item: item, active: index$1 === this.activeItem, selected: this.selectedItems.has(item.id), search: this.inputValue, total: selectElements.length, clickHandler: e => this.onListClick(e, item), label: this.formatLabel(item, this.returnFilteredOrNonFiltered().length, this.items.length) }));
|
|
381
|
+
})))));
|
|
382
|
+
}
|
|
383
|
+
get element() { return index.getElement(this); }
|
|
384
|
+
static get watchers() { return {
|
|
385
|
+
"activeItem": ["activeItemHandler"]
|
|
386
|
+
}; }
|
|
387
|
+
};
|
|
388
|
+
DuetCombobox.style = duetComboboxCss;
|
|
389
|
+
|
|
390
|
+
exports.duet_combobox = DuetCombobox;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const themeableComponent = require('./themeable-component-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
10
10
|
|
|
11
11
|
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}";
|
|
12
12
|
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
9
|
const createId = require('./create-id-c3b984b1.js');
|
|
10
|
-
const focusUtils = require('./focus-utils-
|
|
10
|
+
const focusUtils = require('./focus-utils-be2df924.js');
|
|
11
11
|
const languageUtils = require('./language-utils-aa282901.js');
|
|
12
|
-
const themeableComponent = require('./themeable-component-
|
|
12
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
13
13
|
require('./string-utils-267e3dbb.js');
|
|
14
14
|
|
|
15
15
|
const formatOptionsShort = { day: "numeric", month: "long" };
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const themeableComponent = require('./themeable-component-
|
|
8
|
+
const index = require('./index-608ca44d.js');
|
|
9
|
+
const themeableComponent = require('./themeable-component-940d3b50.js');
|
|
10
10
|
|
|
11
11
|
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}";
|
|
12
12
|
|