@ukic/canary-web-components 3.0.0-canary.31 → 3.0.0-canary.33
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/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-6f4b406b.js → helpers-f81fed28.js} +37 -1
- package/dist/cjs/helpers-f81fed28.js.map +1 -0
- package/dist/cjs/ic-calendar_2.cjs.entry.js +2 -2
- package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox_3.cjs.entry.js +19 -7
- package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +13 -8
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +9 -5
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +2 -2
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +8 -4
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-table-of-contents.cjs.entry.js +1 -1
- package/dist/cjs/ic-time-input.cjs.entry.js +401 -99
- package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-time-selector.cjs.entry.js +842 -0
- package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-toast.cjs.entry.js +14 -6
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-toggle-button.cjs.entry.js → ic-toggle-button_2.cjs.entry.js} +274 -1
- package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
- package/dist/cjs/index-d337cd8a.js +8 -8
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-calendar/ic-calendar.css +13 -7
- package/dist/collection/components/ic-calendar/ic-calendar.stories.js +13 -0
- package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js +13 -8
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +78 -6
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +28 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -1
- package/dist/collection/components/ic-time-input/ic-time-input.css +21 -3
- package/dist/collection/components/ic-time-input/ic-time-input.js +434 -106
- package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js +58 -9
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +2 -0
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
- package/dist/collection/components/ic-time-selector/ic-time-selector.css +293 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.js +1075 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +166 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.types.js +2 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.types.js.map +1 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
- package/dist/collection/utils/helpers.js +35 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers2.js +36 -1
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-calendar2.js +1 -1
- package/dist/components/ic-calendar2.js.map +1 -1
- package/dist/components/ic-checkbox2.js.map +1 -1
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-data-table.js +12 -7
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-footer.js +10 -5
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +1 -1
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-menu2.js +1 -1
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +21 -6
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination2.js +9 -4
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-radio-group.js +1 -1
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +10 -7
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +1 -1
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-time-input.js +431 -112
- package/dist/components/ic-time-input.js.map +1 -1
- package/dist/components/ic-time-selector.d.ts +11 -0
- package/dist/components/ic-time-selector.js +898 -0
- package/dist/components/ic-time-selector.js.map +1 -0
- package/dist/components/ic-toast.js +15 -6
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +1 -299
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/{esm/ic-toggle-button-group.entry.js → components/ic-toggle-button-group2.js} +70 -13
- package/dist/components/ic-toggle-button-group2.js.map +1 -0
- package/dist/components/ic-toggle-button.js +1 -228
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/{esm/ic-toggle-button.entry.js → components/ic-toggle-button2.js} +65 -10
- package/dist/components/ic-toggle-button2.js.map +1 -0
- package/dist/components/ic-tree-item.js +2 -2
- package/dist/components/ic-tree-view.js +4 -4
- package/dist/core/core.css +28 -6
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-b80b08ae.entry.js → p-08f24329.entry.js} +2 -2
- package/dist/core/{p-615d474e.entry.js → p-14b8bf37.entry.js} +2 -2
- package/dist/core/{p-81f12581.entry.js → p-169ad948.entry.js} +2 -2
- package/dist/core/p-169ad948.entry.js.map +1 -0
- package/dist/core/{p-847cbb16.entry.js → p-1d166343.entry.js} +2 -2
- package/dist/core/{p-b4bfaf8f.entry.js → p-201b41c7.entry.js} +2 -2
- package/dist/core/{p-24bac55f.entry.js → p-33509a89.entry.js} +2 -2
- package/dist/core/{p-e1920777.entry.js → p-3389625c.entry.js} +2 -2
- package/dist/core/{p-5a1cfb3c.entry.js → p-344752cb.entry.js} +2 -2
- package/dist/core/{p-6c238418.entry.js → p-348d7080.entry.js} +2 -2
- package/dist/core/{p-3ef2e98d.entry.js → p-39cdf5db.entry.js} +2 -2
- package/dist/core/{p-ffbf493f.entry.js → p-496b314f.entry.js} +2 -2
- package/dist/core/p-496b314f.entry.js.map +1 -0
- package/dist/core/{p-bd9a76d8.entry.js → p-508b6da3.entry.js} +2 -2
- package/dist/core/p-551a0fc1.entry.js +2 -0
- package/dist/core/p-551a0fc1.entry.js.map +1 -0
- package/dist/core/{p-f5cea10d.entry.js → p-5e6687a8.entry.js} +2 -2
- package/dist/core/{p-72171192.entry.js → p-60f4fe3a.entry.js} +2 -2
- package/dist/core/p-61c92598.entry.js +2 -0
- package/dist/core/p-61c92598.entry.js.map +1 -0
- package/dist/core/{p-e00e67ff.entry.js → p-6323da7a.entry.js} +2 -2
- package/dist/core/p-691dd972.entry.js +2 -0
- package/dist/core/p-691dd972.entry.js.map +1 -0
- package/dist/core/{p-c6c87e58.entry.js → p-6dfe0922.entry.js} +2 -2
- package/dist/core/p-71cc5909.entry.js +2 -0
- package/dist/core/p-71cc5909.entry.js.map +1 -0
- package/dist/core/p-770e92cd.entry.js +2 -0
- package/dist/core/p-770e92cd.entry.js.map +1 -0
- package/dist/core/{p-7cf6b428.entry.js → p-79ead0e7.entry.js} +2 -2
- package/dist/core/p-7b4b45cf.entry.js +2 -0
- package/dist/core/p-7b4b45cf.entry.js.map +1 -0
- package/dist/core/{p-afedcfdb.entry.js → p-7efdbab8.entry.js} +2 -2
- package/dist/core/p-802a4bd3.entry.js +2 -0
- package/dist/core/p-802a4bd3.entry.js.map +1 -0
- package/dist/core/p-829b34f9.js +2 -0
- package/dist/core/p-829b34f9.js.map +1 -0
- package/dist/core/{p-9a9605c3.entry.js → p-879c180d.entry.js} +2 -2
- package/dist/core/{p-3891ce53.entry.js → p-8830011c.entry.js} +2 -2
- package/dist/core/{p-444cd8d3.entry.js → p-8ab37b4d.entry.js} +2 -2
- package/dist/core/{p-c87cc0d1.entry.js → p-939025af.entry.js} +2 -2
- package/dist/core/p-939b168a.entry.js +2 -0
- package/dist/core/p-939b168a.entry.js.map +1 -0
- package/dist/core/{p-5a4344cb.entry.js → p-9dea5764.entry.js} +2 -2
- package/dist/core/{p-af821831.entry.js → p-a88e61b2.entry.js} +2 -2
- package/dist/core/p-a88e61b2.entry.js.map +1 -0
- package/dist/core/{p-90611726.entry.js → p-a8a92e54.entry.js} +2 -2
- package/dist/core/{p-31f3fb15.entry.js → p-a94a7b71.entry.js} +2 -2
- package/dist/core/p-ad551a0c.entry.js +2 -0
- package/dist/core/p-ad551a0c.entry.js.map +1 -0
- package/dist/core/{p-ba75ed34.entry.js → p-b434bd7c.entry.js} +2 -2
- package/dist/core/p-b4a2f6fa.entry.js.map +1 -1
- package/dist/core/{p-2188b483.entry.js → p-c0a7eed7.entry.js} +2 -2
- package/dist/core/p-c0b227d2.entry.js +2 -0
- package/dist/core/p-c0b227d2.entry.js.map +1 -0
- package/dist/core/{p-2646a629.entry.js → p-c32f043e.entry.js} +2 -2
- package/dist/core/{p-7a0f62c2.entry.js → p-c4b2774d.entry.js} +2 -2
- package/dist/core/p-c9525aac.entry.js +2 -0
- package/dist/core/p-c9525aac.entry.js.map +1 -0
- package/dist/core/{p-7026afad.entry.js → p-ca05573a.entry.js} +2 -2
- package/dist/core/{p-8c580d88.entry.js → p-d0607a70.entry.js} +2 -2
- package/dist/core/{p-15c05eb8.entry.js → p-d528d856.entry.js} +2 -2
- package/dist/core/{p-0043b019.entry.js → p-da1c2883.entry.js} +2 -2
- package/dist/core/{p-ffc1cea6.entry.js → p-e2e556ec.entry.js} +2 -2
- package/dist/core/{p-e4ef4263.js → p-e519f607.js} +2 -2
- package/dist/core/{p-3f0bce15.entry.js → p-e5c6d01a.entry.js} +2 -2
- package/dist/core/{p-04a9f82f.entry.js → p-e8db8772.entry.js} +2 -2
- package/dist/core/{p-e4b82731.entry.js → p-ea04103e.entry.js} +2 -2
- package/dist/core/{p-9a95f428.entry.js → p-eaeb473e.entry.js} +2 -2
- package/dist/core/p-eaeb473e.entry.js.map +1 -0
- package/dist/core/{p-8e592393.entry.js → p-ecc7fd71.entry.js} +2 -2
- package/dist/core/p-efe260f0.entry.js +2 -0
- package/dist/core/p-efe260f0.entry.js.map +1 -0
- package/dist/core/{p-b6d6b26e.entry.js → p-f1b57f91.entry.js} +2 -2
- package/dist/core/p-f5dc04f7.entry.js +2 -0
- package/dist/core/p-f5dc04f7.entry.js.map +1 -0
- package/dist/core/p-fb07921b.entry.js +2 -0
- package/dist/core/p-fb07921b.entry.js.map +1 -0
- package/dist/core/{p-1900c7c7.entry.js → p-fd08156a.entry.js} +2 -2
- package/dist/core/{p-3594922d.entry.js → p-fe5b51bb.entry.js} +2 -2
- package/dist/core/{p-ef5b6622.entry.js → p-ff618439.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-5419eb6c.js → helpers-063369f4.js} +2 -2
- package/dist/esm/{helpers-5419eb6c.js.map → helpers-063369f4.js.map} +1 -1
- package/dist/esm/{helpers-9f228880.js → helpers-a08b3f32.js} +37 -2
- package/dist/esm/helpers-a08b3f32.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-calendar_2.entry.js +2 -2
- package/dist/esm/ic-calendar_2.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +1 -1
- package/dist/esm/ic-card-vertical.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox_3.entry.js +20 -8
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +1 -1
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +13 -8
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +10 -6
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +3 -3
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js +2 -2
- package/dist/esm/ic-menu.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +2 -2
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +2 -2
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination_4.entry.js +9 -5
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +1 -1
- package/dist/esm/ic-radio-group.entry.js +2 -2
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +10 -7
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +2 -2
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-table-of-contents.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-time-input.entry.js +401 -99
- package/dist/esm/ic-time-input.entry.js.map +1 -1
- package/dist/esm/ic-time-selector.entry.js +838 -0
- package/dist/esm/ic-time-selector.entry.js.map +1 -0
- package/dist/esm/ic-toast.entry.js +15 -7
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button_2.entry.js +449 -0
- package/dist/esm/ic-toggle-button_2.entry.js.map +1 -0
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-tree-item.entry.js +3 -3
- package/dist/esm/ic-tree-view.entry.js +4 -4
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/index-a7a720e7.js +8 -8
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +20 -14
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +12 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +12 -0
- package/dist/types/components/ic-time-input/ic-time-input.d.ts +26 -6
- package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +31 -7
- package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +1 -0
- package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +88 -0
- package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +99 -0
- package/dist/types/components/ic-time-selector/ic-time-selector.types.d.ts +1 -0
- package/dist/types/components.d.ts +163 -11
- package/dist/types/utils/helpers.d.ts +14 -0
- package/dist/types/utils/types.d.ts +4 -1
- package/hydrate/index.js +1410 -156
- package/hydrate/index.mjs +1410 -156
- package/package.json +30 -30
- package/dist/cjs/helpers-6f4b406b.js.map +0 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +0 -267
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +0 -1
- package/dist/core/p-1a976789.entry.js +0 -2
- package/dist/core/p-1a976789.entry.js.map +0 -1
- package/dist/core/p-3ba2b455.entry.js +0 -2
- package/dist/core/p-3ba2b455.entry.js.map +0 -1
- package/dist/core/p-41def410.entry.js +0 -2
- package/dist/core/p-41def410.entry.js.map +0 -1
- package/dist/core/p-4b188516.entry.js +0 -2
- package/dist/core/p-4b188516.entry.js.map +0 -1
- package/dist/core/p-5b32aaf3.entry.js +0 -2
- package/dist/core/p-5b32aaf3.entry.js.map +0 -1
- package/dist/core/p-7332320d.entry.js +0 -2
- package/dist/core/p-7332320d.entry.js.map +0 -1
- package/dist/core/p-81f12581.entry.js.map +0 -1
- package/dist/core/p-9044539c.entry.js +0 -2
- package/dist/core/p-9044539c.entry.js.map +0 -1
- package/dist/core/p-9a95f428.entry.js.map +0 -1
- package/dist/core/p-9f76eed6.entry.js +0 -2
- package/dist/core/p-9f76eed6.entry.js.map +0 -1
- package/dist/core/p-a1448064.entry.js +0 -2
- package/dist/core/p-a1448064.entry.js.map +0 -1
- package/dist/core/p-a237af88.entry.js +0 -2
- package/dist/core/p-a237af88.entry.js.map +0 -1
- package/dist/core/p-af821831.entry.js.map +0 -1
- package/dist/core/p-ba21f477.entry.js +0 -2
- package/dist/core/p-ba21f477.entry.js.map +0 -1
- package/dist/core/p-c3eddb99.entry.js +0 -2
- package/dist/core/p-c3eddb99.entry.js.map +0 -1
- package/dist/core/p-c5d65718.entry.js +0 -2
- package/dist/core/p-c5d65718.entry.js.map +0 -1
- package/dist/core/p-d144ca59.entry.js +0 -2
- package/dist/core/p-d144ca59.entry.js.map +0 -1
- package/dist/core/p-f48ce5f6.js +0 -2
- package/dist/core/p-f48ce5f6.js.map +0 -1
- package/dist/core/p-ffbf493f.entry.js.map +0 -1
- package/dist/esm/helpers-9f228880.js.map +0 -1
- package/dist/esm/ic-toggle-button-group.entry.js.map +0 -1
- package/dist/esm/ic-toggle-button.entry.js.map +0 -1
- /package/dist/core/{p-b80b08ae.entry.js.map → p-08f24329.entry.js.map} +0 -0
- /package/dist/core/{p-615d474e.entry.js.map → p-14b8bf37.entry.js.map} +0 -0
- /package/dist/core/{p-847cbb16.entry.js.map → p-1d166343.entry.js.map} +0 -0
- /package/dist/core/{p-b4bfaf8f.entry.js.map → p-201b41c7.entry.js.map} +0 -0
- /package/dist/core/{p-24bac55f.entry.js.map → p-33509a89.entry.js.map} +0 -0
- /package/dist/core/{p-e1920777.entry.js.map → p-3389625c.entry.js.map} +0 -0
- /package/dist/core/{p-5a1cfb3c.entry.js.map → p-344752cb.entry.js.map} +0 -0
- /package/dist/core/{p-6c238418.entry.js.map → p-348d7080.entry.js.map} +0 -0
- /package/dist/core/{p-3ef2e98d.entry.js.map → p-39cdf5db.entry.js.map} +0 -0
- /package/dist/core/{p-bd9a76d8.entry.js.map → p-508b6da3.entry.js.map} +0 -0
- /package/dist/core/{p-f5cea10d.entry.js.map → p-5e6687a8.entry.js.map} +0 -0
- /package/dist/core/{p-72171192.entry.js.map → p-60f4fe3a.entry.js.map} +0 -0
- /package/dist/core/{p-e00e67ff.entry.js.map → p-6323da7a.entry.js.map} +0 -0
- /package/dist/core/{p-c6c87e58.entry.js.map → p-6dfe0922.entry.js.map} +0 -0
- /package/dist/core/{p-7cf6b428.entry.js.map → p-79ead0e7.entry.js.map} +0 -0
- /package/dist/core/{p-afedcfdb.entry.js.map → p-7efdbab8.entry.js.map} +0 -0
- /package/dist/core/{p-9a9605c3.entry.js.map → p-879c180d.entry.js.map} +0 -0
- /package/dist/core/{p-3891ce53.entry.js.map → p-8830011c.entry.js.map} +0 -0
- /package/dist/core/{p-444cd8d3.entry.js.map → p-8ab37b4d.entry.js.map} +0 -0
- /package/dist/core/{p-c87cc0d1.entry.js.map → p-939025af.entry.js.map} +0 -0
- /package/dist/core/{p-5a4344cb.entry.js.map → p-9dea5764.entry.js.map} +0 -0
- /package/dist/core/{p-90611726.entry.js.map → p-a8a92e54.entry.js.map} +0 -0
- /package/dist/core/{p-31f3fb15.entry.js.map → p-a94a7b71.entry.js.map} +0 -0
- /package/dist/core/{p-ba75ed34.entry.js.map → p-b434bd7c.entry.js.map} +0 -0
- /package/dist/core/{p-2188b483.entry.js.map → p-c0a7eed7.entry.js.map} +0 -0
- /package/dist/core/{p-2646a629.entry.js.map → p-c32f043e.entry.js.map} +0 -0
- /package/dist/core/{p-7a0f62c2.entry.js.map → p-c4b2774d.entry.js.map} +0 -0
- /package/dist/core/{p-7026afad.entry.js.map → p-ca05573a.entry.js.map} +0 -0
- /package/dist/core/{p-8c580d88.entry.js.map → p-d0607a70.entry.js.map} +0 -0
- /package/dist/core/{p-15c05eb8.entry.js.map → p-d528d856.entry.js.map} +0 -0
- /package/dist/core/{p-0043b019.entry.js.map → p-da1c2883.entry.js.map} +0 -0
- /package/dist/core/{p-ffc1cea6.entry.js.map → p-e2e556ec.entry.js.map} +0 -0
- /package/dist/core/{p-e4ef4263.js.map → p-e519f607.js.map} +0 -0
- /package/dist/core/{p-3f0bce15.entry.js.map → p-e5c6d01a.entry.js.map} +0 -0
- /package/dist/core/{p-04a9f82f.entry.js.map → p-e8db8772.entry.js.map} +0 -0
- /package/dist/core/{p-e4b82731.entry.js.map → p-ea04103e.entry.js.map} +0 -0
- /package/dist/core/{p-8e592393.entry.js.map → p-ecc7fd71.entry.js.map} +0 -0
- /package/dist/core/{p-b6d6b26e.entry.js.map → p-f1b57f91.entry.js.map} +0 -0
- /package/dist/core/{p-1900c7c7.entry.js.map → p-fd08156a.entry.js.map} +0 -0
- /package/dist/core/{p-3594922d.entry.js.map → p-fe5b51bb.entry.js.map} +0 -0
- /package/dist/core/{p-ef5b6622.entry.js.map → p-ff618439.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getCustomElementHandling","allowICPrefix","CUSTOM_ELEMENT_HANDLING","tagNameCheck","tagName","startsWith","IC_CUSTOM_ALLOWED_COMPONENTS","includes","attributeNameCheck","sanitizeHTMLString","html","purifier","sanitize","sanitizeHTMLIconString","icMenuCss","IcMenuStyle0","Menu","constructor","hostRef","this","ACTIVE_DESCENDANT","CLEAR_BUTTON_ID","SEARCH_BAR_TAG","disabledOptionSelected","hasPreviouslyBlurred","hasTimedOut","isLoading","lastOptionSelected","lastOptionFocused","multiOptionClicked","preventClickOpen","preventMenuFocus","shiftPressed","ungroupedOptions","focusFromSearchKeypress","initialOptionsListRender","keyboardNav","preventIncorrectTabOrder","popperProps","activationType","autofocusOnSelected","closeOnSelect","fullWidth","labelField","multiSelect","searchableSelect","searchBar","searchMode","selectOnEnter","size","valueField","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","setInputValue","handleMenuChange","open","focusInput","_a","menuStateChange","emit","inputEl","focus","undefined","setNextOptionValue","selectedOptionIndex","menuOptionSelect","value","optionId","getOptionId","setPreviousOptionValue","length","arrowBehaviour","event","preventDefault","getMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","key","target","id","selectHighlightedOption","isOpen","disabled","isOptionSelected","index","deselectSelectedOptions","optionsToKeepSelected","selectedOptionIndexes","map","forEach","manualSetInputValueKeyboardOpen","isKeyboardCombination","shiftKey","metaKey","ctrlKey","getOptionHighlightedIndex","clickedMultiOptionIndex","Array","from","host","querySelectorAll","handleOptionSelect","handleSingleShiftSelect","menuOptionId","startOptionIndex","handleMultipleShiftSelect","endOptionIndex","stopImmediatePropagation","isMacDevice","emitSelectAllEvents","selectAllButton","focusOnSearchOrSelectInput","parentEl","setFocus","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","_b","_c","_d","relatedTarget","menu","removeAttribute","contains","handleMouseDown","handleMenuKeyDown","autoSetValueOnMenuKeyDown","handleMenuKeyUp","handleSelectAllClick","handleSelectAllBlur","classList","remove","handleSelectAllFocus","add","handleSelectAllMouseDown","optionToSelectIndex","lastOptionInSelection","useFocusForSelection","firstOptionSelected","firstOptionInSelection","getFirstOptionInSelection","optionsToSelect","i","push","optionIndex","menuOptionSelectAll","select","icClear","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","isSearchableSelect","menuId","getOptionAriaLabel","parentOption","ariaLabel","description","element","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","querySelector","elTop","offsetTop","offsetHeight","scrollTop","setAttribute","loadUngroupedOptions","children","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","clientHeight","handleTimeoutBlur","timeoutBlur","optionContent","selected","showCheckIcon","h","Fragment","loading","class","icon","hideLabel","innerHTML","variant","component","Check","displayOption","Object","assign","timeout","role","tabindex","onClick","onBlur","onMouseDown","htmlProps","xmlns","viewBox","fill","d","onKeyDown","watchOpenHandler","popperInstance","destroy","watchOptionsHandler","newOptions","some","opt","connectedCallback","disconnectedCallback","removeEventListener","componentWillLoad","addEventListener","componentDidLoad","disableAutoFiltering","onComponentRequiredPropUndefined","prop","propName","inputLabel","componentDidUpdate","inputValueInOptions","highlightedEl","componentDidRender","anchorEl","initPopperJs","handleClickOpen","handleKeyboardOpen","handleSetFirstOption","anchor","createPopper","placement","modifiers","name","offset","fallbackPlacements","rootBoundary","setExternalPopperProps","props","render","selectAllButtonText","hasNoResults","Host","ref","el","onKeyUp","childOption","getOptionsWithoutGroupTitlesCount","onFocus"],"sources":["../web-components/dist/collection/utils/common-helpers.js","../web-components/dist/collection/components/ic-menu/ic-menu.css?tag=ic-menu&encapsulation=scoped","../web-components/dist/collection/components/ic-menu/ic-menu.js"],"sourcesContent":["import purifier from \"dompurify\";\nimport { IC_CUSTOM_ALLOWED_COMPONENTS } from \"./constants\";\n/* istanbul ignore next */\nconst getCustomElementHandling = (allowICPrefix) => ({\n CUSTOM_ELEMENT_HANDLING: {\n tagNameCheck: (tagName) => (allowICPrefix && tagName.startsWith(\"ic-\")) ||\n IC_CUSTOM_ALLOWED_COMPONENTS.includes(tagName),\n attributeNameCheck: /.*/,\n },\n});\nexport const sanitizeHTMLString = (html) => {\n return purifier.sanitize(html, getCustomElementHandling(true));\n};\nexport const sanitizeHTMLIconString = (html) => {\n return purifier.sanitize(html, getCustomElementHandling(false));\n};\n//# sourceMappingURL=common-helpers.js.map\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-menu: z-index of menu\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.ic-menu-open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n max-height: 0;\n width: var(--menu-width, var(--input-width, 20rem));\n color: var(--menu-item-text-color, var(--ic-menu-list-option-text-color));\n\n --ic-typography-color: var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );\n\n background-color: var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.ic-menu-open:not(.ic-menu-no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.ic-select-select-all-focused) {\n box-shadow: var(--ic-elevation-overlay) !important;\n}\n\n#retry-button::part(button) {\n height: var(--ic-space-lg);\n}\n\n.small #retry-button::part(button) {\n height: var(--ic-space-md);\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n.menu {\n text-decoration: none;\n list-style-type: none;\n border-radius: 1px;\n background-color: var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu:has(+ .option-bar) {\n border-radius: 0 0 1px 1px;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-menu-open) {\n max-height: none;\n display: flex;\n flex-direction: column-reverse;\n border: var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.ic-menu-open) .menu {\n visibility: visible;\n max-height: calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs));\n}\n\n:host(.ic-menu-open) .option-bar {\n visibility: visible;\n}\n\n:host(.ic-menu-open) .select-all-button {\n display: block;\n}\n\n:host(.ic-menu-full-width) {\n width: 100%;\n}\n\n.option {\n padding: var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.loading-option p {\n margin-bottom: 0 !important;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.ic-menu-small) .option {\n padding: var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.ic-menu-large) .option {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.option:last-child {\n border-radius: 0 0 1px 1px;\n}\n\n:not(.menu:has(+ .option-bar)) .option:first-child {\n border-radius: 1px 1px 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-menu-list-option-hover-background-color);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-menu-list-option-pressed-background-color);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n --ic-typography-color: var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n );\n}\n\n.option .option-label {\n display: flex;\n flex-direction: row;\n align-items: top;\n}\n\n.option .option-label ic-typography {\n max-width: 100%;\n word-wrap: break-word;\n}\n\n.option .option-element {\n margin-top: var(--ic-space-xxs);\n}\n\n.option .option-icon {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n margin-top: var(--ic-space-xxs);\n margin-right: var(--ic-space-xxxs);\n}\n\n.option-text-container {\n pointer-events: none;\n width: 100%;\n}\n\n.option-text-container.show-check-icon {\n flex-grow: 1;\n}\n\n.option.loading-option .option-text-container {\n margin-left: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n color: var(--ic-menu-loading-list-option-text-color);\n\n --ic-typography-color: var(--ic-menu-loading-list-option-text-color);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-atoms-status-icon-error);\n align-self: center;\n display: flex;\n margin-right: calc(var(--ic-space-xxs) * 1.2);\n}\n\n.loading-error-info {\n display: flex;\n}\n\n.check-icon {\n height: var(--ic-space-lg);\n min-width: var(--ic-space-lg);\n width: var(--ic-space-lg);\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-menu-option-group-label-text-color);\n}\n\n:host(.ic-menu-small) .option-group-title {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs);\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-menu-last-recommended-option-border);\n}\n\n.disabled-option {\n color: var(--ic-atoms-list-option-text-disabled-light);\n\n --ic-typography-color: var(--ic-atoms-list-option-text-disabled-light);\n\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-color-focus-inner) !important;\n color: var(--ic-atoms-list-option-text-focused-light) !important;\n\n --ic-typography-color: var(\n --ic-atoms-list-option-text-focused-light\n ) !important;\n}\n\n:host(.no-results) li {\n cursor: no-drop;\n}\n\n:host(.no-results) li:hover {\n background-color: transparent;\n}\n\n.option-bar {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: var(--ic-menu-option-bar-background-color);\n visibility: hidden;\n border-bottom: var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);\n border-radius: 1px 1px 0 0;\n}\n\n.option-bar p {\n margin-bottom: 0 !important;\n}\n\n:host(.ic-menu-large) .option-bar {\n padding: var(--ic-space-xs);\n}\n\n.select-all-button {\n display: none;\n}\n\n.select-all-button:focus {\n z-index: calc(var(--ic-z-index-menu) + 1);\n}\n\n@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\n }\n\n .disabled-option {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n","import { h, Host, Fragment, } from \"@stencil/core\";\nimport { createPopper, } from \"@popperjs/core\";\nimport Check from \"../../assets/check-icon.svg\";\nimport { getOptionsWithoutGroupTitlesCount, isMacDevice, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nimport { sanitizeHTMLString, sanitizeHTMLIconString, } from \"../../utils/common-helpers\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Menu {\n constructor() {\n this.ACTIVE_DESCENDANT = \"aria-activedescendant\";\n this.CLEAR_BUTTON_ID = \"clear-button\";\n this.SEARCH_BAR_TAG = \"IC-SEARCH-BAR\";\n this.disabledOptionSelected = false;\n this.hasPreviouslyBlurred = false;\n this.hasTimedOut = false;\n this.isLoading = false;\n this.lastOptionSelected = null; // Index of last option selected\n this.lastOptionFocused = null; // Index of last option focused\n this.multiOptionClicked = null;\n this.preventClickOpen = false; // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n this.preventMenuFocus = false; // (When multiple) ensures focus moves straight to select all button from menu.\n this.shiftPressed = false;\n this.ungroupedOptions = [];\n this.focusFromSearchKeypress = false;\n this.initialOptionsListRender = false;\n this.keyboardNav = false;\n this.preventIncorrectTabOrder = false;\n this.popperProps = {};\n /**\n * Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\n */\n this.activationType = \"automatic\";\n /**\n * @internal If `true`, autofocus will be applied on selected item when menu is open.\n */\n this.autofocusOnSelected = true;\n /**\n * If `true`, the menu will close when an option is selected.\n */\n this.closeOnSelect = true;\n /**\n * If `true`, the menu will fill the width of the container.\n */\n this.fullWidth = false;\n /**\n * The custom name for the label field for IcMenuOption.\n */\n this.labelField = \"label\";\n /**\n * @internal - flag to specify if menu is in a ic-select multiple.\n */\n this.multiSelect = false;\n /**\n * @internal - flag to specify if menu is in a searchable ic-select.\n */\n this.searchableSelect = false;\n /**\n * @internal - flag to specify if menu is in a ic-search-bar.\n */\n this.searchBar = false;\n /**\n * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\n */\n this.searchMode = \"navigation\";\n /**\n * @internal If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\n */\n this.selectOnEnter = false;\n /**\n * The size of the menu.\n */\n this.size = \"medium\";\n /**\n * The custom name for the value field for IcMenuOption.\n */\n this.valueField = \"value\";\n this.handleClearListener = () => {\n this.optionHighlighted = \"\";\n };\n this.handleSubmitSearch = () => {\n const highlightedOptionIndex = this.options.findIndex((option) => option[this.valueField] === this.optionHighlighted);\n this.setInputValue(highlightedOptionIndex);\n };\n this.handleMenuChange = (open, focusInput) => {\n var _a;\n this.menuStateChange.emit({ open, focusInput });\n if (!open) {\n if (focusInput !== false) {\n (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();\n this.preventClickOpen = false;\n }\n // Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed\n if (this.multiSelect) {\n this.optionHighlighted = undefined;\n this.multiOptionClicked = null;\n }\n }\n };\n this.setNextOptionValue = (selectedOptionIndex) => {\n if (this.ungroupedOptions[selectedOptionIndex + 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]),\n });\n }\n else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),\n });\n }\n };\n this.setPreviousOptionValue = (selectedOptionIndex) => {\n if (this.ungroupedOptions[selectedOptionIndex - 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]),\n });\n }\n else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField]),\n });\n }\n };\n // Open menu when up or down arrow keys are pressed\n this.arrowBehaviour = (event) => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n this.getMenuOptions = () => this.searchBar ? this.options : this.ungroupedOptions;\n // Set option that is focused and so should show focus state\n this.setHighlightedOption = (highlightedIndex) => {\n const menuOptions = this.getMenuOptions();\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex][this.valueField] || undefined);\n };\n // Determines keyboard behaviour when selection is automatic\n // (i.e. you don't have to press Enter select an option - just focus on it)\n // and menu is closed\n this.autoSetInputValueKeyboardOpen = (event) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);\n this.keyboardNav = false;\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setNextOptionValue(selectedOptionIndex);\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setPreviousOptionValue(selectedOptionIndex);\n break;\n case \" \":\n case \"Enter\":\n if (event.target.id !== this.CLEAR_BUTTON_ID) {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n this.selectHighlightedOption = (options, highlightedOptionIndex) => {\n if (!this.isLoading && !this.hasTimedOut) {\n this.keyboardNav = true;\n }\n const isOpen = this.searchBar || this.searchableSelect || this.open;\n if (isOpen) {\n if (highlightedOptionIndex >= 0) {\n if (options[highlightedOptionIndex] !== undefined) {\n if (this.searchBar &&\n options[highlightedOptionIndex].disabled === true) {\n this.disabledOptionSelected = true;\n }\n else {\n this.setInputValue(highlightedOptionIndex);\n }\n }\n }\n else {\n this.setInputValue(highlightedOptionIndex);\n }\n }\n else {\n this.handleMenuChange(true);\n }\n };\n // Check if option is selected based on the index of the option\n this.isOptionSelected = (index) => {\n const menuOptions = this.getMenuOptions();\n return this.value\n ? this.value.includes(menuOptions[index][this.valueField])\n : false;\n };\n // Deselect currently selected options when shift pressed, but keep certain options selected\n this.deselectSelectedOptions = (optionsToKeepSelected) => {\n const menuOptions = this.getMenuOptions();\n if (this.value) {\n const selectedOptionIndexes = this.value.map((value) => {\n return menuOptions.findIndex((option) => option[this.valueField] === value);\n });\n // Call setInputValue (which toggles the selected state) on options that need to be deselected\n selectedOptionIndexes.forEach((index) => !optionsToKeepSelected.includes(index) && this.setInputValue(index));\n }\n };\n // Determines keyboard behaviour when selection is manual (i.e. when you have to press Enter to select an option)\n this.manualSetInputValueKeyboardOpen = (event) => {\n const menuOptions = this.getMenuOptions();\n // For preventing focus disappearing on currently focused option when Shift / Cmd / Ctrl pressed\n // (i.e. when user is likely in the middle of executing a keyboard combination to select options)\n const isKeyboardCombination = event.shiftKey || event.metaKey || event.ctrlKey;\n const highlightedOptionIndex = this.getOptionHighlightedIndex();\n const clickedMultiOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.multiOptionClicked);\n const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll(\"li\"))[index]) === null || _a === void 0 ? void 0 : _a.id; };\n // Space press should be equivalent to Enter when multi-select\n if (event.key === \" \" && this.multiSelect) {\n this.handleOptionSelect(event, highlightedOptionIndex);\n }\n else {\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (this.multiOptionClicked) {\n // Set focus to option last clicked\n // Prevents it resetting to the top of the menu when user switches to using keyboard\n this.setHighlightedOption(clickedMultiOptionIndex);\n this.multiOptionClicked = null;\n }\n else {\n this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n this.handleSingleShiftSelect(event, highlightedOptionIndex + 1, menuOptions);\n }\n else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n this.handleSingleShiftSelect(event, 0, menuOptions);\n }\n // Deselect currently selected options if arrow was pressed for first time after shift is held\n if (this.multiSelect && this.shiftPressed) {\n this.deselectSelectedOptions([\n highlightedOptionIndex,\n this.getOptionHighlightedIndex(),\n ]);\n this.shiftPressed = false;\n }\n }\n this.lastOptionFocused = this.getOptionHighlightedIndex();\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (this.multiOptionClicked) {\n // Set focus to option last clicked\n // Prevents it resetting to the bottom of the menu when user switches to using keyboard\n this.setHighlightedOption(clickedMultiOptionIndex);\n this.multiOptionClicked = null;\n }\n else {\n this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);\n if (highlightedOptionIndex <= 0 ||\n highlightedOptionIndex > menuOptions.length + 1) {\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n this.handleSingleShiftSelect(event, menuOptions.length - 1, menuOptions);\n }\n else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n this.handleSingleShiftSelect(event, highlightedOptionIndex - 1, menuOptions);\n }\n // Deselect currently selected options if arrow was pressed for first time after shift is held\n if (this.multiSelect && this.shiftPressed) {\n this.deselectSelectedOptions([\n highlightedOptionIndex,\n this.getOptionHighlightedIndex(),\n ]);\n this.shiftPressed = false;\n }\n }\n this.lastOptionFocused = this.getOptionHighlightedIndex();\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\": {\n const startOptionIndex = 0;\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(startOptionIndex);\n this.menuOptionId.emit({\n optionId: getOptionId(startOptionIndex),\n });\n if (event.shiftKey && event.ctrlKey) {\n this.handleMultipleShiftSelect(startOptionIndex);\n }\n this.lastOptionFocused = startOptionIndex;\n this.lastOptionSelected = startOptionIndex;\n break;\n }\n case \"End\": {\n const endOptionIndex = menuOptions.length - 1;\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(endOptionIndex);\n this.menuOptionId.emit({\n optionId: getOptionId(endOptionIndex),\n });\n if (event.shiftKey && event.ctrlKey) {\n this.handleMultipleShiftSelect(endOptionIndex);\n }\n this.lastOptionFocused = endOptionIndex;\n this.lastOptionSelected = endOptionIndex;\n break;\n }\n case \" \":\n if (!isKeyboardCombination) {\n this.keyboardNav = false;\n }\n if (this.searchBar || this.searchableSelect) {\n break;\n }\n else {\n if (event.target.id !== this.CLEAR_BUTTON_ID) {\n this.handleMenuChange(true);\n }\n }\n break;\n case \"Enter\":\n event.preventDefault();\n if (!isKeyboardCombination) {\n this.keyboardNav = false;\n }\n this.handleOptionSelect(event, highlightedOptionIndex);\n break;\n case \"Escape\":\n if (this.open) {\n event.stopImmediatePropagation();\n }\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"a\":\n // Checks if Cmd (meta) key is pressed if Mac device (while excluding meta key on Windows)\n // Otherwise, if a different OS, checks Ctrl key\n if ((isMacDevice() && event.metaKey) ||\n (!isMacDevice() && event.ctrlKey)) {\n this.emitSelectAllEvents();\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n }\n break;\n case \"Shift\":\n case \"Tab\":\n if (event.key === \"Shift\") {\n this.shiftPressed = true;\n }\n if (this.searchBar) {\n this.keyboardNav = true;\n }\n if (this.multiSelect) {\n if (this.open && !event.shiftKey && this.selectAllButton) {\n event.preventDefault();\n this.selectAllButton.focus(); // Move focus to select all button instead of focused option\n this.preventMenuFocus = true;\n this.preventClickOpen = true;\n this.optionHighlighted = undefined; // Stop any option focus states showing when focus moved to select all button\n }\n }\n else {\n this.preventIncorrectTabOrder = true;\n }\n break;\n default:\n if (!isKeyboardCombination) {\n this.keyboardNav = false;\n }\n this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);\n }\n }\n };\n this.setInputValue = (highlightedOptionIndex) => {\n const menuOptions = this.getMenuOptions();\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex][this.valueField],\n });\n if (this.closeOnSelect) {\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n }\n if (this.closeOnSelect) {\n if (!this.hasTimedOut) {\n this.handleMenuChange(false);\n }\n else {\n this.parentEl.setFocus();\n }\n }\n };\n this.handleOptionClick = (event) => {\n const { value, label } = event.target.dataset;\n if (this.multiSelect) {\n const menuOptions = this.getMenuOptions();\n const selectedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === value);\n this.handleOptionSelect(event, selectedOptionIndex, true);\n this.multiOptionClicked = value || null;\n }\n else {\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\n }\n this.optionHighlighted = undefined;\n };\n this.handleRetry = () => {\n this.retryButtonClicked.emit({ value: this.value });\n };\n this.handleRetryKeyDown = (ev) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });\n }\n };\n this.handleBlur = (event) => {\n var _a, _b, _c, _d;\n if (event.relatedTarget !== this.inputEl) {\n if (event.relatedTarget === this.selectAllButton) {\n (_a = this.menu) === null || _a === void 0 ? void 0 : _a.removeAttribute(this.ACTIVE_DESCENDANT);\n }\n if (!(((_b = this.menu) === null || _b === void 0 ? void 0 : _b.contains(event.relatedTarget)) ||\n event.relatedTarget === this.selectAllButton)) {\n this.handleMenuChange(false, this.hasPreviouslyBlurred);\n (_c = this.menu) === null || _c === void 0 ? void 0 : _c.removeAttribute(this.ACTIVE_DESCENDANT);\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n }\n }\n else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n (_d = this.menu) === null || _d === void 0 ? void 0 : _d.removeAttribute(this.ACTIVE_DESCENDANT);\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n }\n if (!this.searchBar)\n this.hasPreviouslyBlurred = !!event.relatedTarget;\n };\n this.handleMouseDown = (event) => {\n event.preventDefault();\n };\n this.handleMenuKeyDown = (event) => {\n if (this.activationType === \"automatic\") {\n this.autoSetValueOnMenuKeyDown(event);\n }\n else if (this.activationType === \"manual\" && !this.searchBar) {\n this.manualSetInputValueKeyboardOpen(event);\n }\n };\n this.handleMenuKeyUp = (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\n if (event.key === \"Enter\" && this.disabledOptionSelected) {\n this.disabledOptionSelected = false;\n event.stopImmediatePropagation();\n }\n if (event.key === \"Shift\") {\n this.shiftPressed = false;\n }\n };\n this.handleSelectAllClick = () => {\n var _a;\n this.keyboardNav = false;\n (_a = this.menu) === null || _a === void 0 ? void 0 : _a.focus();\n this.emitSelectAllEvents();\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n };\n this.handleSelectAllBlur = (event) => {\n var _a;\n this.host.classList.remove(\"ic-select-select-all-focused\");\n if (!((_a = this.menu) === null || _a === void 0 ? void 0 : _a.contains(event.relatedTarget))) {\n this.handleMenuChange(false, false);\n }\n };\n this.handleSelectAllFocus = () => {\n this.host.classList.add(\"ic-select-select-all-focused\");\n this.lastOptionFocused = null;\n this.lastOptionSelected = null;\n };\n // Fix for Safari - select all button click was causing menu to close\n this.handleSelectAllMouseDown = (event) => {\n event.preventDefault();\n };\n // When shift key is being used to select contiguous options one by one on a multi-select\n // I.e. holding shift and pressing up and down arrow keys\n this.handleSingleShiftSelect = (event, optionToSelectIndex, options) => {\n if (this.multiSelect &&\n event.shiftKey &&\n !this.isOptionSelected(optionToSelectIndex)) {\n this.selectHighlightedOption(options, optionToSelectIndex);\n this.lastOptionSelected = optionToSelectIndex;\n }\n };\n // When shift key is being used to select multiple options at once on a multi-select\n // I.e. holding shift when selecting another option\n this.handleMultipleShiftSelect = (lastOptionInSelection, useFocusForSelection = false, firstOptionSelected = null) => {\n this.shiftPressed = false;\n const firstOptionInSelection = firstOptionSelected === null\n ? this.getFirstOptionInSelection(useFocusForSelection)\n : firstOptionSelected;\n if (firstOptionInSelection !== null) {\n const optionsToSelect = [];\n if (firstOptionInSelection < lastOptionInSelection) {\n for (let i = firstOptionInSelection; i < lastOptionInSelection + 1; i++) {\n optionsToSelect.push(i);\n }\n }\n else {\n for (let i = firstOptionInSelection; i > lastOptionInSelection - 1; i--) {\n optionsToSelect.push(i);\n }\n }\n optionsToSelect.forEach((optionIndex) => !this.isOptionSelected(optionIndex) && this.setInputValue(optionIndex));\n this.deselectSelectedOptions(optionsToSelect);\n }\n };\n this.handleOptionSelect = (event, optionIndex, useFocusForSelection = false) => {\n const menuOptions = this.getMenuOptions();\n const firstOptionInSelection = this.getFirstOptionInSelection(useFocusForSelection);\n if (event.shiftKey && firstOptionInSelection !== null) {\n this.handleMultipleShiftSelect(optionIndex, useFocusForSelection, firstOptionInSelection);\n }\n else {\n this.selectHighlightedOption(menuOptions, optionIndex);\n }\n this.lastOptionFocused = optionIndex;\n this.lastOptionSelected = optionIndex;\n };\n this.getFirstOptionInSelection = (useFocusForSelection) => {\n return useFocusForSelection && this.lastOptionFocused !== null\n ? this.lastOptionFocused\n : this.lastOptionSelected !== null\n ? this.lastOptionSelected\n : null;\n };\n this.emitSelectAllEvents = () => {\n var _a, _b;\n // Select all if there is either no value or not all options are selected\n // 'true' means select all, 'false' means clear all\n this.menuOptionSelectAll.emit({\n select: !this.value || !(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === this.ungroupedOptions.length),\n });\n // Emit clear event if all options are selected\n if (((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) === this.ungroupedOptions.length) {\n this.icClear.emit();\n }\n };\n this.emitMenuKeyPress = (isNavKey, key) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n // Determines keyboard behaviour when selection is automatic\n // (i.e. you don't have to press Enter select an option - just focus on it)\n // and menu is focused\n this.autoSetValueOnMenuKeyDown = (event) => {\n var _a, _b;\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);\n const isSearchableSelect = !!this.inputEl && this.inputEl.tagName === \"INPUT\";\n this.keyboardNav = false;\n switch (event.key) {\n case \" \":\n event.preventDefault();\n break;\n case \"ArrowUp\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setPreviousOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"ArrowDown\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setNextOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"Home\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"Enter\":\n !this.hasTimedOut && this.handleMenuChange(false);\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n break;\n case \"Backspace\":\n if (isSearchableSelect) {\n (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n break;\n case \"Shift\":\n break;\n default:\n if (isSearchableSelect && event.key !== \"Tab\" && !this.hasTimedOut) {\n (_b = this.inputEl) === null || _b === void 0 ? void 0 : _b.focus();\n }\n if (event.key.length === 1) {\n this.keyboardNav = true;\n }\n break;\n }\n this.emitMenuKeyPress(this.keyboardNav, event.key);\n };\n this.getOptionId = (value) => {\n return `${this.menuId}-${value}`;\n };\n this.getOptionAriaLabel = (option, parentOption) => {\n let ariaLabel = option[this.labelField];\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n if (option.element) {\n ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;\n }\n if (parentOption) {\n return `${ariaLabel}, ${parentOption[this.labelField]} group`;\n }\n else {\n return ariaLabel;\n }\n };\n this.getSortedOptions = (options) => {\n let sorted = [];\n if (options.sort) {\n sorted = options.sort((optionA, optionB) => optionA.recommended && !optionB.recommended ? -1 : 0);\n }\n return sorted;\n };\n this.getOptionHighlightedIndex = () => {\n const menuOptions = this.getMenuOptions();\n return menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);\n };\n this.isManualMode = this.activationType === \"manual\";\n this.scrollToSelected = (menu) => {\n var _a;\n const selectedOption = this.selectOnEnter\n ? this.host.querySelector(`li[data-value=\"${this.optionHighlighted}\"]`)\n : menu.querySelector(\".option[aria-selected='true']\");\n if (selectedOption) {\n const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;\n if (elTop > menu.scrollTop + menu.offsetHeight ||\n elTop < menu.scrollTop + menu.offsetHeight) {\n menu.scrollTop = selectedOption.offsetTop;\n }\n // 'aria-activedescendant' affects screen reader focus\n // https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/#kbd_focus_activedescendant\n (_a = this.menu) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ACTIVE_DESCENDANT, selectedOption.id);\n selectedOption.focus();\n }\n };\n // Set 'ungroupedOptions' variable and emit its value\n // - this is all the options with disabled options and group titles removed\n this.loadUngroupedOptions = () => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (option.children) {\n option.children.map((option) => !option.disabled && this.ungroupedOptions.push(option));\n }\n else if (!option.disabled) {\n this.ungroupedOptions.push(option);\n }\n });\n }\n this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);\n this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });\n };\n this.setMenuScrollbar = () => {\n var _a;\n let optionsHeight = 0;\n this.host\n .querySelectorAll(\".option, .option-group-title\")\n .forEach((option) => (optionsHeight += option.clientHeight));\n if (optionsHeight >= 320) {\n (_a = this.menu) === null || _a === void 0 ? void 0 : _a.classList.add(\"menu-scroll\");\n }\n };\n this.handleTimeoutBlur = (ev) => {\n this.timeoutBlur.emit({ ev });\n };\n this.optionContent = (option, selected) => {\n var _a;\n const showCheckIcon = !!option[this.valueField] &&\n !!this.value &&\n selected &&\n ((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.tagName) !== this.SEARCH_BAR_TAG;\n return (h(Fragment, null, option.loading && h(\"ic-loading-indicator\", { size: \"icon\" }), h(\"div\", { class: {\n \"option-text-container\": true,\n \"show-check-icon\": showCheckIcon,\n } }, (option.icon || !option.hideLabel) && (h(\"div\", { class: \"option-label\" }, option.icon && (h(\"div\", { class: \"option-icon\", innerHTML: sanitizeHTMLIconString(option.icon), \"aria-hidden\": \"true\" })), !option.hideLabel && (h(\"ic-typography\", { variant: \"body\", \"aria-hidden\": \"true\" }, option[this.labelField])))), option.description && (h(\"ic-typography\", { id: `${this.getOptionId(option[this.valueField])}-description`, class: \"option-description\", variant: \"caption\", \"aria-hidden\": \"true\" }, h(\"p\", null, option.description))), option.element && (h(\"div\", { class: {\n \"option-element\": option.icon || !option.hideLabel || option.description,\n }, innerHTML: sanitizeHTMLString(option.element.component), \"aria-hidden\": \"true\" }))), showCheckIcon && h(\"span\", { class: \"check-icon\", innerHTML: Check })));\n };\n this.displayOption = (option, selected, index, parentOption) => {\n var _a;\n const { open, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;\n return (h(\"li\", Object.assign({ id: this.getOptionId(option[this.valueField]), class: {\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option[this.valueField] === optionHighlighted\n : keyboardNav && selected,\n \"last-recommended-option\": !!(option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended),\n \"disabled-option\": !!option.disabled,\n \"loading-option\": !!option.loading,\n timeout: !!option.timedOut,\n }, role: \"option\", tabindex: open &&\n (selected || option[this.valueField] === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\", \"aria-label\": this.getOptionAriaLabel(option, parentOption), \"aria-selected\": selected ? \"true\" : \"false\", \"aria-disabled\": option.disabled ? \"true\" : \"false\", onClick: !option.timedOut && !option.loading\n ? this.handleOptionClick\n : undefined, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, \"data-value\": option[this.valueField], \"data-label\": option[this.labelField] }, ((_a = option.htmlProps) !== null && _a !== void 0 ? _a : {})), option.timedOut ? (h(Fragment, null, h(\"div\", { class: \"loading-error-info\" }, h(\"svg\", { class: \"error-icon-svg\", xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 24 24\", fill: \"#000000\" }, h(\"title\", null, \"Error\"), h(\"g\", null, h(\"path\", { d: \"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41\" }))), h(\"ic-typography\", { variant: \"label\" }, option[this.labelField])), h(\"ic-button\", { size: \"small\", variant: \"tertiary\", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: \"retry-button\" }, \"Retry\"))) : (this.optionContent(option, selected))));\n };\n }\n watchOpenHandler() {\n if (!this.open && this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n watchOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n this.isLoading = newOptions.some((opt) => opt.loading);\n this.ungroupedOptions = [];\n this.loadUngroupedOptions();\n }\n connectedCallback() {\n if (this.searchBar) {\n if (this.searchMode === \"navigation\")\n this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\n }\n }\n disconnectedCallback() {\n var _a, _b, _c;\n (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"icClear\", this.handleClearListener);\n (_c = this.parentEl) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n }\n componentWillLoad() {\n var _a, _b, _c, _d;\n this.loadUngroupedOptions();\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.addEventListener(\"icClear\", this.handleClearListener);\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.addEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n this.hasTimedOut = (_c = this.options) === null || _c === void 0 ? void 0 : _c.some((opt) => opt.timedOut);\n this.isLoading = (_d = this.options) === null || _d === void 0 ? void 0 : _d.some((opt) => opt.loading);\n }\n componentDidLoad() {\n if (this.searchBar &&\n this.parentEl.disableAutoFiltering) {\n this.focusFromSearchKeypress = true;\n }\n onComponentRequiredPropUndefined([\n { prop: this.open, propName: \"open\" },\n { prop: this.options, propName: \"options\" },\n { prop: this.menuId, propName: \"menu-id\" },\n { prop: this.inputLabel, propName: \"input-label\" },\n //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component\n ], \"Menu\");\n }\n componentDidUpdate() {\n const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);\n if (this.menu &&\n this.open &&\n this.options.length !== 0 &&\n !this.preventMenuFocus) {\n if (this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autofocusOnSelected &&\n !this.searchableSelect) {\n this.scrollToSelected(this.menu);\n }\n else if (this.selectOnEnter) {\n this.menu.focus();\n }\n else if (!!this.optionHighlighted &&\n !this.focusFromSearchKeypress &&\n !this.preventIncorrectTabOrder) {\n const highlightedEl = this.host.querySelector(`li[data-value=\"${this.optionHighlighted}\"]`);\n if (highlightedEl) {\n this.menu.setAttribute(this.ACTIVE_DESCENDANT, highlightedEl.id);\n highlightedEl.focus();\n }\n }\n else if (this.inputEl && this.inputEl.tagName !== \"INPUT\") {\n this.menu.focus();\n }\n }\n if (this.menu && this.open && !this.value && this.selectOnEnter) {\n this.scrollToSelected(this.menu);\n }\n this.preventMenuFocus = false;\n }\n componentDidRender() {\n if (this.open && !this.popperInstance && this.anchorEl) {\n this.initPopperJs(this.anchorEl);\n }\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n /**\n * @internal If menu is opened with the mouse, emit menuStateChange custom event.\n */\n async handleClickOpen() {\n if (!this.preventClickOpen) {\n this.menuStateChange.emit({ open: !this.open });\n this.keyboardNav = false;\n }\n this.preventClickOpen = false;\n }\n /**\n * Used alongside activationType\n * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\n * @param {KeyboardEvent} event The keyboard event which is available when handleKeyboardOpen is invoked.\n */\n async handleKeyboardOpen(event) {\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n }\n else {\n this.manualSetInputValueKeyboardOpen(event);\n }\n }\n /**\n * @internal Used to highlight the first option in the menu.\n */\n async handleSetFirstOption() {\n this.setHighlightedOption(0);\n }\n /**\n * @internal Used to initialize popperJS with an anchor element.\n * 5/12/2023: Tested with Floating UI, however, discovered inconsistent\n * boundary behaviour so sticking with PopperJS.\n */\n async initPopperJs(anchor) {\n // Placements set to \"-start\" to accommodate for custom menu width - menu should always be aligned to the left\n this.popperInstance = createPopper(anchor, this.host, Object.assign({ placement: \"bottom-start\", modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\"],\n rootBoundary: \"viewport\",\n },\n },\n ] }, this.popperProps));\n }\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of the menu\n * @param props object - createPopper props set externally\n */\n async setExternalPopperProps(props) {\n this.popperProps = props;\n }\n focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex) {\n if (!menuOptions[highlightedOptionIndex])\n return;\n if (this.searchBar) {\n this.parentEl.setFocus();\n if (this.searchMode === \"navigation\")\n this.setHighlightedOption(0);\n }\n if (this.searchableSelect) {\n this.parentEl.setFocus();\n }\n this.focusFromSearchKeypress = true;\n }\n render() {\n const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, multiSelect, } = this;\n const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? \"Clear\" : \"Select\"} all`;\n const hasNoResults = this.host.classList.contains(\"no-results\");\n return (h(Host, { key: '8dad972db607187821f9063a35f75768df5adcc1', class: {\n \"ic-menu-full-width\": !!fullWidth,\n \"ic-menu-no-focus\": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === \"INPUT\" &&\n (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||\n hasTimedOut ||\n isLoading,\n [`ic-menu-${size}`]: true,\n \"ic-menu-open\": open && options.length !== 0,\n \"ic-menu-multiple\": multiSelect,\n } }, options.length !== 0 && (h(\"ul\", { key: 'bbdb630e801155ddb22240206eac4f919807ec2d', id: menuId, class: \"menu\", role: \"listbox\", \"aria-label\": `${inputLabel} pop-up`, \"aria-multiselectable\": multiSelect ? \"true\" : \"false\", tabindex: open &&\n !keyboardNav &&\n ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== \"INPUT\" ||\n (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)\n ? \"0\"\n : \"-1\", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {\n if (option.children) {\n if (option.children.length > 0) {\n return (h(\"div\", null, h(\"ic-typography\", { class: \"option-group-title\", role: \"presentation\", variant: \"subtitle-small\" }, h(\"p\", null, option[this.labelField])), option.children.map((childOption) => childOption[this.labelField] &&\n this.displayOption(childOption, multiSelect\n ? value === null || value === void 0 ? void 0 : value.includes(childOption[this.valueField])\n : childOption[this.valueField] === value, index, option))));\n }\n else {\n return null;\n }\n }\n else {\n // Display option only if it has a label (rather than displaying an empty space)\n return (option[this.labelField] &&\n this.displayOption(option, multiSelect\n ? value === null || value === void 0 ? void 0 : value.includes(option[this.valueField])\n : option[this.valueField] === value, index));\n }\n }))), options.length !== 0 &&\n multiSelect &&\n !isLoading &&\n !hasTimedOut &&\n !hasNoResults && (h(\"div\", { key: '2806fdd383f3450d651e681a0156c47cd98689c5', class: \"option-bar\" }, h(\"ic-typography\", { key: 'dd2e0b74622eb359e4e53cc5c7b0f031ef577ca2' }, h(\"p\", { key: 'f6132822d0bf66e869b4c2bceba7dfcf93e697be' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h(\"ic-button\", { key: 'e233f3ac017ce08d46d1973406a4bb99bcfa2cf6', class: \"select-all-button\", \"aria-label\": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: \"tertiary\", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === \"small\" ? \"small\" : \"medium\" }, selectAllButtonText)))));\n }\n static get is() { return \"ic-menu\"; }\n static get encapsulation() { return \"scoped\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"anchorEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement | undefined\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The reference to an anchor element the menu will position itself from when rendered.\"\n },\n \"getter\": false,\n \"setter\": false\n },\n \"autofocusOnSelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, autofocus will be applied on selected item when menu is open.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"autofocus-on-selected\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"closeOnSelect\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu will close when an option is selected.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"close-on-select\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu will fill the width of the container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"inputEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement | undefined\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The reference to the input element.\"\n },\n \"getter\": false,\n \"setter\": false\n },\n \"inputLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the input element.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"input-label\",\n \"reflect\": false\n },\n \"labelField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the label field for IcMenuOption.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"menuId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ID of the menu.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"menu-id\",\n \"reflect\": false\n },\n \"multiSelect\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- flag to specify if menu is in a ic-select multiple.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"multi-select\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"open\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu will be displayed open.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"open\",\n \"reflect\": true\n },\n \"parentEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement | undefined\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- The parent element if ic-menu is nested inside another component.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false\n },\n \"searchableSelect\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- flag to specify if menu is in a searchable ic-select.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"searchable-select\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchBar\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- flag to specify if menu is in a ic-search-bar.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"search-bar\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"../ic-search-bar/ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"selectOnEnter\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"select-on-enter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the menu.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The possible menu selection options.\"\n },\n \"getter\": false,\n \"setter\": false\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | string[]\",\n \"resolved\": \"string | string[]\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the currently selected option - or array of values (if multiple options allowed).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"valueField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the value field for IcMenuOption.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"focusFromSearchKeypress\": {},\n \"initialOptionsListRender\": {},\n \"keyboardNav\": {},\n \"optionHighlighted\": {},\n \"preventIncorrectTabOrder\": {},\n \"menuOptions\": {},\n \"popperProps\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icClear\",\n \"name\": \"icClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the clear all button is clicked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"menuKeyPress\",\n \"name\": \"menuKeyPress\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when key is pressed while menu is open.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ isNavKey: boolean; key: string }\",\n \"resolved\": \"{ isNavKey: boolean; key: string; }\",\n \"references\": {}\n }\n }, {\n \"method\": \"menuOptionId\",\n \"name\": \"menuOptionId\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when an option has been highlighted.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMenuOptionIdEventDetail\",\n \"resolved\": \"IcMenuOptionIdEventDetail\",\n \"references\": {\n \"IcMenuOptionIdEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuOptionIdEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuOptionSelect\",\n \"name\": \"menuOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when an option is selected.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuOptionSelectAll\",\n \"name\": \"menuOptionSelectAll\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when all options are selected or deselected.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ select: boolean }\",\n \"resolved\": \"{ select: boolean; }\",\n \"references\": {}\n }\n }, {\n \"method\": \"menuStateChange\",\n \"name\": \"menuStateChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when state of menu changes (i.e. open or closed).\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"retryButtonClicked\",\n \"name\": \"retryButtonClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the retry button is clicked.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMultiValueEventDetail\",\n \"resolved\": \"IcMultiValueEventDetail\",\n \"references\": {\n \"IcMultiValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMultiValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"timeoutBlur\",\n \"name\": \"timeoutBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the timeout menu loses focus.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ ev: FocusEvent }\",\n \"resolved\": \"{ ev: FocusEvent; }\",\n \"references\": {\n \"FocusEvent\": {\n \"location\": \"global\",\n \"id\": \"global::FocusEvent\"\n }\n }\n }\n }, {\n \"method\": \"ungroupedOptionsSet\",\n \"name\": \"ungroupedOptionsSet\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the ungrouped options have been set.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ options: IcMenuOption[] }\",\n \"resolved\": \"{ options: IcMenuOption[]; }\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"handleClickOpen\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If menu is opened with the mouse, emit menuStateChange custom event.\"\n }]\n }\n },\n \"handleKeyboardOpen\": {\n \"complexType\": {\n \"signature\": \"(event: KeyboardEvent) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"event\",\n \"type\": \"KeyboardEvent\",\n \"docs\": \"The keyboard event which is available when handleKeyboardOpen is invoked.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"KeyboardEvent\": {\n \"location\": \"global\",\n \"id\": \"global::KeyboardEvent\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Used alongside activationType\\nIf menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"event The keyboard event which is available when handleKeyboardOpen is invoked.\"\n }]\n }\n },\n \"handleSetFirstOption\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to highlight the first option in the menu.\"\n }]\n }\n },\n \"initPopperJs\": {\n \"complexType\": {\n \"signature\": \"(anchor: HTMLElement) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"anchor\",\n \"type\": \"HTMLElement\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to initialize popperJS with an anchor element.\\n5/12/2023: Tested with Floating UI, however, discovered inconsistent\\nboundary behaviour so sticking with PopperJS.\"\n }]\n }\n },\n \"setExternalPopperProps\": {\n \"complexType\": {\n \"signature\": \"<T extends Partial<Options>>(props: T) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"props\",\n \"type\": \"T\",\n \"docs\": \"object - createPopper props set externally\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"Partial\": {\n \"location\": \"global\",\n \"id\": \"global::Partial\"\n },\n \"Options\": {\n \"location\": \"import\",\n \"path\": \"@popperjs/core\",\n \"id\": \"node_modules::Options\"\n },\n \"T\": {\n \"location\": \"global\",\n \"id\": \"global::T\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"This method allows props to be added to the PopperJS createPopper instance outside of the menu\"\n }, {\n \"name\": \"param\",\n \"text\": \"props object - createPopper props set externally\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"host\"; }\n static get watchers() {\n return [{\n \"propName\": \"open\",\n \"methodName\": \"watchOpenHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-menu.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,H as s,g as a}from"./p-8e4e97b4.js";import{c as o}from"./p-e081702e.js";import{i as n,V as r,o as c,K as d,e as l}from"./p-e4ef4263.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){:host{animation:fadein var(--ic-transition-duration-slow) ease-in-out}:host(.hidden){animation:fadeout var(--ic-transition-duration-slow) ease-in-out}}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);z-index:var(--ic-z-index-toast)}:host(.ic-toast-hidden){display:none}:host(:focus){outline:none}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-toast-background);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-toast-status-neutral)}.divider-info{background-color:var(--ic-toast-status-info)}.divider-warning{background-color:var(--ic-toast-status-warning)}.divider-error{background-color:var(--ic-toast-status-error)}.divider-success{background-color:var(--ic-toast-status-success)}.divider-ai{background-color:var(--ic-toast-status-ai)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host(.ic-toast-variant-neutral) .toast-icon svg,::slotted(svg){fill:var(--ic-toast-icon-neutral)}:host(.ic-toast-variant-info) .toast-icon svg{fill:var(--ic-toast-icon-info)}:host(.ic-toast-variant-warning) .toast-icon svg{fill:var(--ic-toast-icon-warning)}:host(.ic-toast-variant-error) .toast-icon svg{fill:var(--ic-toast-icon-error)}:host(.ic-toast-variant-success) .toast-icon svg{fill:var(--ic-toast-icon-success)}:host(.ic-toast-variant-ai) .toast-icon svg{fill:var(--ic-toast-icon-ai)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-text{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-heading{--ic-typography-color:var(--ic-toast-title)}.toast-message{--ic-typography-color:var(--ic-toast-description)}.toast-action-container{padding-bottom:var(--ic-space-md)}#dismiss-button{padding:var(--ic-space-xs)}#dismiss-button>svg{color:var(--ic-toast-dismiss-button)}ic-loading-indicator{--outer-color:transparent;--inner-color:var(--ic-action-monochrome)}.toast-dismiss-timer{padding:var(--ic-space-sm)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-border-hc)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}';const b=h;const m=1e3;const u=70;const p=140;const f=class{constructor(e){t(this,e);this.icDismiss=i(this,"icDismiss",7);this.interactiveElements=[];this.timerProgress=100;this.visible=false;this.autoDismissTimeout=5e3;this.dismissButtonAriaLabel="dismiss";this.dismissMode="manual";this.dismissAction=()=>{this.icDismiss.emit()};this.handleProgressChange=()=>{this.timerProgress-=m/this.autoDismissTimeout*100};this.onFocus=()=>{if(this.focusInteractiveElement){this.isManual=true}};this.onBlur=()=>{this.handleTimer({type:"mouseleave"})}}dismissModeChangeHandler(t){this.isManual=t==="manual"}disconnectedCallback(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval)}componentWillLoad(){var t,i;this.handleLongText(this.heading.length>u,!!this.message&&((t=this.message)===null||t===void 0?void 0:t.length)>p);if(this.autoDismissTimeout<5e3)this.autoDismissTimeout=5e3;if(n(this.el,"action"))this.dismissMode="manual";this.isManual=this.dismissMode==="manual";if(n(this.el,"neutral-icon"))this.variant="neutral";if(this.variant==="neutral"){this.neutralVariantLabel=(i=this.neutralIconAriaLabel)!==null&&i!==void 0?i:r[this.variant].ariaLabel}if(this.isManual){const t=l(this.message)?`. ${this.message}`:"";this.el.setAttribute("aria-label",this.variant?this.neutralVariantLabel||r[this.variant].ariaLabel:this.heading);(this.variant||this.message)&&this.el.setAttribute("aria-description",this.variant?`${this.heading}${t}`:this.message||"")}}componentDidLoad(){c([{prop:this.heading,propName:"heading"}],"Toast")}componentDidUpdate(){var t;if(this.focusInteractiveElement&&this.isManual){this.resetAutoDismissTimer();const i=d(this.el,"action");const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("ic-button");if(i)this.interactiveElements.push(i);if(e)this.interactiveElements.push(e);this.focusInteractiveElement=false;this.findNextInteractiveElement(this.shiftKeyPressed).setFocus();this.shiftKeyPressed=false}}watchVisibleHandler(){var t;if(this.visible){const i=d(this.el,"action");const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("ic-button");if(i)this.interactiveElements.push(i);if(e)this.interactiveElements.push(e)}else{this.interactiveElements=[]}}handleDismiss(){this.visible=false;this.resetAutoDismissTimer()}handleKeyboard(t){if(this.visible){if(this.isManual){switch(t.key){case"Tab":t.preventDefault();this.findNextInteractiveElement(t.shiftKey).setFocus();break;case"Escape":!t.repeat&&this.dismissAction();t.stopImmediatePropagation();break}}else{if(t.key==="Tab"){this.shiftKeyPressed=t.shiftKey;this.focusInteractiveElement=true}}}}handleTimer(t){switch(t.type){case"mouseenter":if(!this.isManual){this.resetAutoDismissTimer()}this.isManual=true;break;case"mouseleave":if(this.dismissMode==="automatic"){this.isManual=false;this.interactiveElements=[];if(this.visible){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,m)}}break}}async setVisible(){if(!this.visible)this.visible=true;if(!this.isManual){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,m);return null}else{window.setTimeout((()=>this.interactiveElements[0].setFocus()),200);return document.activeElement}}handleLongText(t,i){if(i||t){console.error(`Too many characters in toast ${t?"heading":""}${t&&i?" and ":""}${i?"message":""}. Refer to character limits specified in the prop description`)}}findNextInteractiveElement(t){const i=this.interactiveElements[0];const e=this.interactiveElements[this.interactiveElements.length-1];if(this.isActive(t?i:e))return t?e:i;let s=0;return this.interactiveElements.some(((t,i)=>{if(!this.isActive(t))return false;s=i;return true}))?this.interactiveElements[s+(t?-1:1)]:i}resetAutoDismissTimer(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval);this.timerProgress=100}isActive(t){return t===this.el?!!this.el.shadowRoot.activeElement:document.activeElement===t}render(){const{variant:t,heading:i,message:a,visible:c,isManual:d,dismissButtonAriaLabel:l}=this;return e(s,{key:"55d26c71146d769a0b652ddb3d9b5eb02229a209",class:{["ic-toast-hidden"]:!c,[`ic-toast-variant-${t}`]:t!==undefined},tabindex:"0",onFocus:this.onFocus,onBlur:this.onBlur,role:d?"dialog":"alert","aria-live":d?null:"polite"},e("div",{key:"a5129ddaeadff62ac431dbfb8e985223fddd429e",class:"container"},t&&c&&e("div",{key:"401b3a7a01b672455ec261ad4bf3898b803bc406",class:"toast-icon-container"},e("div",{key:"3eeae38b6e8ae5b190cb3ced2205b5a4395c017b",class:{["divider"]:true,[`divider-${t}`]:true}}),t==="neutral"?e("slot",{name:"neutral-icon"}):e("span",{class:"toast-icon",innerHTML:r[t].icon})),e("div",{key:"dc83b42b58d37a5c5cdd338f6d17ea8138eb8b1b",class:{["toast-content"]:true,["no-icon"]:t==="neutral"&&!n(this.el,"neutral-icon")}},e("div",{key:"80eac70ac19f219cc1ae6c3c0d3aac1bf9748768",class:"toast-text"},e("ic-typography",{key:"02bb286b55ae5b5fe3024560f97f42857a964223",variant:"subtitle-large",class:"toast-heading"},c&&(d?e("h5",null,i):e("p",null,i))),a&&e("ic-typography",{key:"b730941336f3dc5fdb50d8a153167f2d7509b6a7",variant:"body",class:"toast-message"},c&&e("p",{key:"5be56cff443e472fe6ed6649936075d4eadc5d17"},a))),n(this.el,"action")&&e("div",{key:"0131809b3d15fb6deb0f754f435847fc6d2a641d",class:"toast-action-container"},e("slot",{key:"976eb515b8bcb269ec810b4dd5f5519edce3f215",name:"action"}))),!d?e("ic-loading-indicator",{class:"toast-dismiss-timer",theme:"dark",monochrome:true,size:"icon",progress:this.timerProgress,description:"Dismiss timer"}):e("ic-button",{id:"dismiss-button",innerHTML:o,onClick:this.dismissAction,variant:"icon-tertiary","aria-label":l})))}get el(){return a(this)}static get watchers(){return{dismissMode:["dismissModeChangeHandler"],visible:["watchVisibleHandler"]}}};f.style=b;export{f as ic_toast};
|
|
2
|
-
//# sourceMappingURL=p-a237af88.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["icToastCss","IcToastStyle0","AUTO_DISMISS_TIMER_REFRESH_RATE_MS","TOAST_HEADING_CHAR_LIMIT","TOAST_MESSAGE_CHAR_LIMIT","Toast","constructor","hostRef","this","interactiveElements","timerProgress","visible","autoDismissTimeout","dismissButtonAriaLabel","dismissMode","dismissAction","icDismiss","emit","handleProgressChange","onFocus","focusInteractiveElement","isManual","onBlur","handleTimer","type","dismissModeChangeHandler","newValue","disconnectedCallback","window","clearTimeout","dismissTimeout","clearInterval","timerRefreshInterval","componentWillLoad","_a","_b","handleLongText","heading","length","message","isSlotUsed","el","variant","neutralVariantLabel","neutralIconAriaLabel","VARIANT_ICONS","ariaLabel","toastMessage","isPropDefined","setAttribute","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidUpdate","resetAutoDismissTimer","actionContent","getSlot","dismissButton","shadowRoot","querySelector","push","findNextInteractiveElement","shiftKeyPressed","setFocus","watchVisibleHandler","handleDismiss","handleKeyboard","ev","key","preventDefault","shiftKey","repeat","stopImmediatePropagation","setTimeout","setInterval","setVisible","document","activeElement","headingTooLong","messageTooLong","console","error","isBackwards","firstEl","lastEl","isActive","currentIndex","some","index","targetEl","render","h","Host","class","undefined","tabindex","role","name","innerHTML","icon","theme","monochrome","size","progress","description","id","closeIcon","onClick"],"sources":["../web-components/dist/collection/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","../web-components/dist/collection/components/ic-toast/ic-toast.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host(.hidden) {\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.ic-toast-hidden) {\n display: none;\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-toast-background);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-toast-status-neutral);\n}\n\n.divider-info {\n background-color: var(--ic-toast-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-toast-status-warning);\n}\n\n.divider-error {\n background-color: var(--ic-toast-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-toast-status-success);\n}\n\n.divider-ai {\n background-color: var(--ic-toast-status-ai);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host(.ic-toast-variant-neutral) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-toast-icon-neutral);\n}\n\n:host(.ic-toast-variant-info) .toast-icon svg {\n fill: var(--ic-toast-icon-info);\n}\n\n:host(.ic-toast-variant-warning) .toast-icon svg {\n fill: var(--ic-toast-icon-warning);\n}\n\n:host(.ic-toast-variant-error) .toast-icon svg {\n fill: var(--ic-toast-icon-error);\n}\n\n:host(.ic-toast-variant-success) .toast-icon svg {\n fill: var(--ic-toast-icon-success);\n}\n\n:host(.ic-toast-variant-ai) .toast-icon svg {\n fill: var(--ic-toast-icon-ai);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-text {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-heading {\n --ic-typography-color: var(--ic-toast-title);\n}\n\n.toast-message {\n --ic-typography-color: var(--ic-toast-description);\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\n#dismiss-button {\n padding: var(--ic-space-xs);\n}\n\n#dismiss-button > svg {\n color: var(--ic-toast-dismiss-button);\n}\n\nic-loading-indicator {\n --outer-color: transparent;\n --inner-color: var(--ic-action-monochrome);\n}\n\n.toast-dismiss-timer {\n padding: var(--ic-space-sm);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-border-hc);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport { getSlot, isPropDefined, isSlotUsed, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\nexport class Toast {\n constructor() {\n this.interactiveElements = [];\n this.timerProgress = 100;\n this.visible = false;\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n this.autoDismissTimeout = 5000;\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n this.dismissButtonAriaLabel = \"dismiss\";\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n this.dismissMode = \"manual\";\n this.dismissAction = () => {\n this.icDismiss.emit();\n };\n this.handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n this.onFocus = () => {\n if (this.focusInteractiveElement) {\n this.isManual = true;\n }\n };\n this.onBlur = () => {\n this.handleTimer({ type: \"mouseleave\" });\n };\n }\n dismissModeChangeHandler(newValue) {\n this.isManual = newValue === \"manual\";\n }\n disconnectedCallback() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n componentWillLoad() {\n var _a, _b;\n this.handleLongText(this.heading.length > TOAST_HEADING_CHAR_LIMIT, !!this.message && ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) > TOAST_MESSAGE_CHAR_LIMIT);\n if (this.autoDismissTimeout < 5000)\n this.autoDismissTimeout = 5000;\n if (isSlotUsed(this.el, \"action\"))\n this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n if (isSlotUsed(this.el, \"neutral-icon\"))\n this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n (_b = this.neutralIconAriaLabel) !== null && _b !== void 0 ? _b : VARIANT_ICONS[this.variant].ariaLabel;\n }\n if (this.isManual) {\n const toastMessage = isPropDefined(this.message)\n ? `. ${this.message}`\n : \"\";\n this.el.setAttribute(\"aria-label\", this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading);\n (this.variant || this.message) &&\n this.el.setAttribute(\"aria-description\", this.variant ? `${this.heading}${toastMessage}` : this.message || \"\");\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Toast\");\n }\n componentDidUpdate() {\n var _a;\n if (this.focusInteractiveElement && this.isManual) {\n this.resetAutoDismissTimer();\n const actionContent = getSlot(this.el, \"action\");\n const dismissButton = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-button\");\n if (actionContent)\n this.interactiveElements.push(actionContent);\n if (dismissButton)\n this.interactiveElements.push(dismissButton);\n this.focusInteractiveElement = false;\n this.findNextInteractiveElement(this.shiftKeyPressed).setFocus();\n this.shiftKeyPressed = false;\n }\n }\n watchVisibleHandler() {\n var _a;\n if (this.visible) {\n const actionContent = getSlot(this.el, \"action\");\n const dismissButton = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-button\");\n if (actionContent)\n this.interactiveElements.push(actionContent);\n if (dismissButton)\n this.interactiveElements.push(dismissButton);\n }\n else {\n this.interactiveElements = [];\n }\n }\n handleDismiss() {\n this.visible = false;\n this.resetAutoDismissTimer();\n }\n handleKeyboard(ev) {\n if (this.visible) {\n if (this.isManual) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n else {\n if (ev.key === \"Tab\") {\n this.shiftKeyPressed = ev.shiftKey;\n this.focusInteractiveElement = true;\n }\n }\n }\n }\n handleTimer(ev) {\n switch (ev.type) {\n case \"mouseenter\":\n if (!this.isManual) {\n this.resetAutoDismissTimer();\n }\n this.isManual = true;\n break;\n case \"mouseleave\":\n if (this.dismissMode === \"automatic\") {\n this.isManual = false;\n this.interactiveElements = [];\n if (this.visible) {\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n }\n }\n break;\n }\n }\n /**\n * @internal Used to display the individual toast.\n * @returns The element that previously had focus before the toast appeared\n */\n async setVisible() {\n if (!this.visible)\n this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n return null;\n }\n else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement;\n }\n }\n handleLongText(headingTooLong, messageTooLong) {\n if (messageTooLong || headingTooLong) {\n console.error(`Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${headingTooLong && messageTooLong ? \" and \" : \"\"}${messageTooLong ? \"message\" : \"\"}. Refer to character limits specified in the prop description`);\n }\n }\n findNextInteractiveElement(isBackwards) {\n const firstEl = this.interactiveElements[0];\n const lastEl = this.interactiveElements[this.interactiveElements.length - 1];\n if (this.isActive(isBackwards ? firstEl : lastEl))\n return isBackwards ? lastEl : firstEl;\n let currentIndex = 0;\n return this.interactiveElements.some((el, index) => {\n if (!this.isActive(el))\n return false;\n currentIndex = index;\n return true;\n })\n ? this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)]\n : firstEl;\n }\n resetAutoDismissTimer() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n isActive(targetEl) {\n return targetEl === this.el\n ? !!this.el.shadowRoot.activeElement\n : document.activeElement === targetEl;\n }\n render() {\n const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;\n return (h(Host, { key: '55d26c71146d769a0b652ddb3d9b5eb02229a209', class: {\n [\"ic-toast-hidden\"]: !visible,\n [`ic-toast-variant-${variant}`]: variant !== undefined,\n }, tabindex: \"0\", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? \"dialog\" : \"alert\", \"aria-live\": isManual ? null : \"polite\" }, h(\"div\", { key: 'a5129ddaeadff62ac431dbfb8e985223fddd429e', class: \"container\" }, variant && visible && (h(\"div\", { key: '401b3a7a01b672455ec261ad4bf3898b803bc406', class: \"toast-icon-container\" }, h(\"div\", { key: '3eeae38b6e8ae5b190cb3ced2205b5a4395c017b', class: {\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n } }), variant === \"neutral\" ? (h(\"slot\", { name: \"neutral-icon\" })) : (h(\"span\", { class: \"toast-icon\", innerHTML: VARIANT_ICONS[variant].icon })))), h(\"div\", { key: 'dc83b42b58d37a5c5cdd338f6d17ea8138eb8b1b', class: {\n [\"toast-content\"]: true,\n [\"no-icon\"]: variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n } }, h(\"div\", { key: '80eac70ac19f219cc1ae6c3c0d3aac1bf9748768', class: \"toast-text\" }, h(\"ic-typography\", { key: '02bb286b55ae5b5fe3024560f97f42857a964223', variant: \"subtitle-large\", class: \"toast-heading\" }, visible && (isManual ? h(\"h5\", null, heading) : h(\"p\", null, heading))), message && (h(\"ic-typography\", { key: 'b730941336f3dc5fdb50d8a153167f2d7509b6a7', variant: \"body\", class: \"toast-message\" }, visible && h(\"p\", { key: '5be56cff443e472fe6ed6649936075d4eadc5d17' }, message)))), isSlotUsed(this.el, \"action\") && (h(\"div\", { key: '0131809b3d15fb6deb0f754f435847fc6d2a641d', class: \"toast-action-container\" }, h(\"slot\", { key: '976eb515b8bcb269ec810b4dd5f5519edce3f215', name: \"action\" })))), !isManual ? (h(\"ic-loading-indicator\", { class: \"toast-dismiss-timer\", theme: \"dark\", monochrome: true, size: \"icon\", progress: this.timerProgress, description: \"Dismiss timer\" })) : (h(\"ic-button\", { id: \"dismiss-button\", innerHTML: closeIcon, onClick: this.dismissAction, variant: \"icon-tertiary\", \"aria-label\": dismissButtonAriaLabel })))));\n }\n static get is() { return \"ic-toast\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get properties() {\n return {\n \"autoDismissTimeout\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number | undefined\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\\n(NOTE: Has a minimum value of `5000ms`)\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"auto-dismiss-timeout\",\n \"reflect\": false,\n \"defaultValue\": \"5000\"\n },\n \"dismissButtonAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismiss-button-aria-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"dismiss\\\"\"\n },\n \"dismissMode\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\" | undefined\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How the toast will be dismissed. If manual will display a dismiss button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismiss-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"manual\\\"\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The main body message of the toast. (NOTE: Should be no more than `140` characters)\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"neutralIconAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"neutral-icon-aria-label\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcStatusVariants\",\n \"resolved\": \"\\\"ai\\\" | \\\"error\\\" | \\\"info\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\" | undefined\",\n \"references\": {\n \"IcStatusVariants\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcStatusVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toast being rendered\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"variant\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"isManual\": {},\n \"timerProgress\": {},\n \"visible\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icDismiss\",\n \"name\": \"icDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Is emitted when the user dismisses the toast\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setVisible\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLElement | null>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<HTMLElement | null>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to display the individual toast.\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The element that previously had focus before the toast appeared\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"dismissMode\",\n \"methodName\": \"dismissModeChangeHandler\"\n }, {\n \"propName\": \"visible\",\n \"methodName\": \"watchVisibleHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icDismiss\",\n \"method\": \"handleDismiss\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyboard\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"mouseenter\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }, {\n \"name\": \"mouseleave\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }];\n }\n}\n//# sourceMappingURL=ic-toast.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["icToggleButtonCss","IcToggleButtonStyle0","TRACKED_ATTRIBUTES","ToggleButton","constructor","hostRef","this","checked","disabled","fullWidth","iconPlacement","loading","monochrome","outline","size","theme","tooltipPlacement","variant","handleFocus","ev","stopImmediatePropagation","handleClick","icToggleChecked","emit","watchDisabledHandler","syncPropsFromToggleButtonGroup","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","accessibleLabel","label","propName","handleHostClick","e","_a","groupDisabled","isSlottedInGroup","el","parentAttributes","parentElement","attributes","groupDisabledAttr","getNamedItem","value","i","length","attribute","name","removeDisabledFalse","render","iconVariant","h","Host","key","class","onFocus","onClick","title","isSlotUsed","slot","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","../web-components/dist/collection/components/ic-toggle-button/ic-toggle-button.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --toggle-button-border: var(--ic-toggle-button-unselected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-unselected-border-hover);\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-hover\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-pressed\n );\n}\n\n:host(:not(.expand-toggle-group-child)) {\n display: inline-block;\n border-radius: var(--ic-border-radius);\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-full-width:not(.expand-toggle-group-child)) {\n width: 100%;\n}\n\n:host(.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-selected-border-hover);\n --toggle-button-text-colour-hover: var(--ic-toggle-button-selected-text);\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed\n );\n --toggle-button-text-colour-active: var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-monochrome) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-monochrome);\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-hover: var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-monochrome);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-monochrome);\n --toggle-button-border-hover: var(\n --ic-toggle-button-selected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-selected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-selected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-selected-text-disabled-monochrome\n );\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n}\n\n:host(.expand-toggle-group-child:not(.ic-toggle-button-loading))\n ::part(button) {\n min-height: inherit;\n height: auto;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: none;\n color: var(--toggle-button-text-colour);\n}\n\n:host ::part(button):hover {\n color: var(--toggle-button-text-colour-hover);\n background-color: var(--ic-toggle-button-unselected-background-hover);\n}\n\n:host ::part(button):active {\n color: var(--toggle-button-text-colour-active);\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host ::part(button):focus {\n border: var(--ic-border-width) solid var(--toggle-button-border);\n}\n\n:host ::part(button):hover:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host ::part(button):active:focus {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button) {\n color: var(--toggle-button-text-colour);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:hover) {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n}\n\n:host(:not(.expand-toggle-group-child)):has(ic-button:active) {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n}\n\n:host(:not(.expand-toggle-group-child).ic-toggle-button-disabled) {\n border: var(--ic-border-width) dashed var(--toggle-button-border);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-border-focus),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-toggle-button-selected-background-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):hover {\n background-color: var(\n --ic-toggle-button-unselected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):active {\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background-monochrome);\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):hover {\n background-color: var(\n --ic-toggle-button-selected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed\n );\n\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-loading-bar);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-selected-loading-bar);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome)\n ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-hide-outline) {\n --toggle-button-border: transparent !important;\n --toggle-button-border-hover: transparent !important;\n --toggle-button-border-active: transparent !important;\n}\n\n:host(.ic-toggle-button-hide-outline) ::part(button):focus {\n border: none;\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-hide-outline)\n ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-hide-outline.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(button):hover {\n --loading-button-background: Highlight;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, removeDisabledFalse, isSlottedInGroup, } from \"../../utils/helpers\";\nconst TRACKED_ATTRIBUTES = [\n \"loading\",\n \"disabled\",\n \"full-width\",\n \"icon-placement\",\n \"variant\",\n \"size\",\n \"theme\",\n \"monochrome\",\n \"outline\",\n];\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\nexport class ToggleButton {\n constructor() {\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n this.checked = false;\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n this.disabled = false;\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n this.fullWidth = false;\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n this.iconPlacement = \"left\";\n /**\n * If `true`, the toggle button will be in loading state.\n */\n this.loading = false;\n /**\n * If `true`, the toggle button will display as black in the light theme, and white in dark theme.\n */\n this.monochrome = false;\n /**\n * If `true`, the toggle button will display with an outline.\n */\n this.outline = true;\n /**\n * The size of the toggle button to be displayed.\n */\n this.size = \"medium\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n this.tooltipPlacement = \"bottom\";\n /**\n * The variant of the toggle button.\n */\n this.variant = \"default\";\n this.handleFocus = (ev) => {\n ev.stopImmediatePropagation();\n };\n this.handleClick = () => {\n if (!this.loading && !this.disabled) {\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n }\n };\n }\n watchDisabledHandler() {\n this.syncPropsFromToggleButtonGroup();\n }\n componentWillLoad() {\n this.syncPropsFromToggleButtonGroup();\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ], \"Toggle button\");\n }\n handleHostClick(e) {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n syncPropsFromToggleButtonGroup() {\n var _a;\n let groupDisabled = false;\n if (isSlottedInGroup(this.el)) {\n const parentAttributes = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.attributes;\n if (parentAttributes) {\n const groupDisabledAttr = parentAttributes.getNamedItem(\"disabled\");\n if (groupDisabledAttr && groupDisabledAttr.value !== \"false\") {\n groupDisabled = true;\n }\n for (let i = 0; i < TRACKED_ATTRIBUTES.length; i++) {\n const attribute = parentAttributes.getNamedItem(TRACKED_ATTRIBUTES[i]);\n if (!attribute)\n continue;\n switch (attribute.name) {\n case TRACKED_ATTRIBUTES[0]:\n this.loading = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[1]:\n this.disabled = groupDisabled\n ? true\n : attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[2]:\n this.fullWidth = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[3]:\n this.iconPlacement = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[4]:\n this.variant = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[5]:\n this.size = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[6]:\n this.theme = attribute.value;\n break;\n case TRACKED_ATTRIBUTES[7]:\n this.monochrome = attribute.value !== \"false\";\n break;\n case TRACKED_ATTRIBUTES[8]:\n this.outline = attribute.value !== \"false\";\n break;\n }\n }\n if (groupDisabled) {\n this.disabled = true;\n }\n }\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n render() {\n const { accessibleLabel, checked, disabled, fullWidth, iconPlacement, monochrome, label, loading, outline, size, theme, tooltipPlacement, variant, } = this;\n const iconVariant = variant === \"icon\";\n return (h(Host, { key: '74d882ab9a0ea86b7f1b1eaa74a40ee32fd44800', class: {\n \"ic-toggle-button-checked\": checked,\n \"ic-toggle-button-disabled\": disabled,\n \"ic-toggle-button-icon\": iconVariant,\n \"ic-toggle-button-loading\": loading,\n \"ic-toggle-button-monochrome\": monochrome,\n \"ic-toggle-button-full-width\": fullWidth,\n \"ic-toggle-button-hide-outline\": !outline,\n [`ic-toggle-button-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onFocus: this.handleFocus }, h(\"ic-button\", { key: '067df9f2c2b9a6f6a21d1a70ddac41b7ae1c9f13', \"aria-pressed\": `${checked}`, variant: iconVariant ? \"icon-tertiary\" : \"secondary\", onClick: this.handleClick, title: accessibleLabel, \"aria-label\": `${accessibleLabel ? accessibleLabel : label}, ${checked ? \"ticked\" : \"unticked\"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h(\"slot\", { key: 'e6b0d906bda4695ab9e64da852a99da851001974' }), isSlotUsed(this.el, \"icon\") && (h(\"slot\", { key: '70b5c83cca0a126ab9eafa9d84327c83e6936ce8', name: \"icon\", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, \"badge\") && (h(\"slot\", { key: 'c43ead3695a0f7a019b3eb0aa4b396f85c0e96eb', name: \"badge\", slot: \"badge\" })))));\n }\n static get is() { return \"ic-toggle-button\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toggle-button.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in a checked state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in disabled state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will fill the width of the container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"iconPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcIconPlacementOptions\",\n \"resolved\": \"\\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {\n \"IcIconPlacementOptions\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcIconPlacementOptions\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The placement of the icon in relation to the toggle button label.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"icon-placement\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display in the toggle button. This is required for the default variant of toggle buttons.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will be in loading state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"loading\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will display as black in the light theme, and white in dark theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"outline\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the toggle button will display with an outline.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"outline\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the toggle button to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"tooltipPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcButtonTooltipPlacement\",\n \"resolved\": \"\\\"bottom\\\" | \\\"left\\\" | \\\"right\\\" | \\\"top\\\"\",\n \"references\": {\n \"IcButtonTooltipPlacement\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcButtonTooltipPlacement\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The position of the tooltip in relation to the toggle button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"tooltip-placement\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"bottom\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toggle button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icToggleChecked\",\n \"name\": \"icToggleChecked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the user clicks a toggle button.\"\n },\n \"complexType\": {\n \"original\": \"{\\n checked: boolean;\\n }\",\n \"resolved\": \"{ checked: boolean; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"click\",\n \"method\": \"handleHostClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-toggle-button.js.map\n"],"mappings":"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","ignoreList":[]}
|