@ukic/canary-web-components 3.0.0-canary.25 → 3.0.0-canary.26
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-56717660.js → helpers-b55826ba.js} +22 -22
- package/dist/cjs/{helpers-56717660.js.map → helpers-b55826ba.js.map} +1 -1
- package/dist/cjs/helpers-da852478.js.map +1 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +2 -2
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +24 -18
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox_3.cjs.entry.js +6 -6
- package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +6 -6
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +6 -4
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +5 -5
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +27 -14
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
- package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +6 -6
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
- 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-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +43 -35
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +14 -14
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +5 -5
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +1 -1
- package/dist/cjs/ic-table-of-contents.cjs.entry.js +363 -0
- package/dist/cjs/ic-table-of-contents.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-time-input.cjs.entry.js +7 -7
- package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +4 -4
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-tree-view.cjs.entry.js +3 -3
- package/dist/cjs/ic-typography.cjs.entry.js +3 -3
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-d337cd8a.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/error-icon.svg +4 -4
- package/dist/collection/assets/info-icon.svg +4 -4
- package/dist/collection/assets/neutral-icon.svg +4 -4
- package/dist/collection/assets/success-icon.svg +4 -4
- package/dist/collection/assets/warning-icon.svg +4 -4
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +82 -54
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +6 -6
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents-item.js +28 -0
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents-item.js.map +1 -0
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.css +145 -0
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +526 -0
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js.map +1 -0
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.stories.js +291 -0
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.stories.js.map +1 -0
- package/dist/collection/components/ic-table-of-contents/test/a11y/ic-table-of-contents.test.a11y.js +13 -0
- package/dist/collection/components/ic-table-of-contents/test/a11y/ic-table-of-contents.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-time-input/ic-time-input.js +7 -7
- package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
- 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/types.js.map +1 -1
- package/dist/components/helpers.js +22 -22
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-alert.js +1 -1
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-button2.js +15 -10
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +2 -2
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox2.js +3 -3
- package/dist/components/ic-checkbox2.js.map +1 -1
- package/dist/components/ic-data-list.js +2 -2
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js +2 -2
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-date-input2.js +6 -6
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-dialog.js +5 -3
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-empty-state2.js +2 -2
- package/dist/components/ic-empty-state2.js.map +1 -1
- package/dist/components/ic-footer-link.js +2 -2
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-hero.js +4 -4
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +3 -3
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +2 -2
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +21 -6
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-layout-grid-item.js +2 -2
- package/dist/components/ic-layout-grid-item.js.map +1 -1
- package/dist/components/ic-layout-grid.js +2 -2
- package/dist/components/ic-layout-grid.js.map +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +5 -5
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu2.js +5 -5
- 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-menu2.js +4 -4
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +6 -6
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +4 -4
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +4 -4
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +4 -4
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +10 -10
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select2.js +9 -9
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +5 -5
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-skip-link.js.map +1 -1
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +13 -13
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +4 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +11 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-table-of-contents.d.ts +11 -0
- package/dist/components/ic-table-of-contents.js +408 -0
- package/dist/components/ic-table-of-contents.js.map +1 -0
- package/dist/components/ic-text-field2.js +30 -21
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-time-input.js +7 -7
- package/dist/components/ic-time-input.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +3 -3
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +2 -2
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tooltip2.js +6 -4
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-tree-item.js +2 -2
- package/dist/components/ic-tree-view.js +3 -3
- package/dist/components/ic-typography2.js +2 -2
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +32 -4
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-3f241d71.entry.js → p-09c0961a.entry.js} +2 -2
- package/dist/core/{p-3f241d71.entry.js.map → p-09c0961a.entry.js.map} +1 -1
- package/dist/core/p-0f22f41e.js.map +1 -1
- package/dist/core/{p-d13a066e.entry.js → p-0fffe635.entry.js} +2 -2
- package/dist/core/{p-d13a066e.entry.js.map → p-0fffe635.entry.js.map} +1 -1
- package/dist/core/{p-aa94c4b0.entry.js → p-17423822.entry.js} +2 -2
- package/dist/core/{p-aa94c4b0.entry.js.map → p-17423822.entry.js.map} +1 -1
- package/dist/core/{p-d47e200c.entry.js → p-20f248be.entry.js} +2 -2
- package/dist/core/{p-be5df6a9.entry.js → p-25d21dbd.entry.js} +2 -2
- package/dist/core/{p-be5df6a9.entry.js.map → p-25d21dbd.entry.js.map} +1 -1
- package/dist/core/{p-9fe5e2eb.entry.js → p-30a2abe9.entry.js} +2 -2
- package/dist/core/{p-c067e62c.entry.js → p-318c6a4c.entry.js} +2 -2
- package/dist/core/{p-364cc350.entry.js → p-3414247d.entry.js} +2 -2
- package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
- package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +1 -1
- package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
- package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +1 -1
- package/dist/core/p-3bb4ea35.entry.js +2 -0
- package/dist/core/p-3bb4ea35.entry.js.map +1 -0
- package/dist/core/{p-d41b0da0.entry.js → p-3bee8f39.entry.js} +2 -2
- package/dist/core/{p-d41b0da0.entry.js.map → p-3bee8f39.entry.js.map} +1 -1
- package/dist/core/{p-fb8c47ce.entry.js → p-4479c7e7.entry.js} +2 -2
- package/dist/core/{p-fb8c47ce.entry.js.map → p-4479c7e7.entry.js.map} +1 -1
- package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
- package/dist/core/p-4747c39f.entry.js.map +1 -0
- package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
- package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +1 -1
- package/dist/core/{p-3a73a9b7.entry.js → p-4eb74281.entry.js} +2 -2
- package/dist/core/p-4eb74281.entry.js.map +1 -0
- package/dist/core/{p-9863a070.entry.js → p-4fa1a80f.entry.js} +2 -2
- package/dist/core/{p-6796acff.entry.js → p-514c4401.entry.js} +2 -2
- package/dist/core/{p-b93e8ecb.entry.js → p-5534bb37.entry.js} +2 -2
- package/dist/core/{p-d7217588.entry.js → p-55934942.entry.js} +2 -2
- package/dist/core/{p-d7217588.entry.js.map → p-55934942.entry.js.map} +1 -1
- package/dist/core/{p-43285eeb.entry.js → p-570ff466.entry.js} +2 -2
- package/dist/core/{p-43285eeb.entry.js.map → p-570ff466.entry.js.map} +1 -1
- package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
- package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +1 -1
- package/dist/core/{p-bc7d730d.entry.js → p-587d704d.entry.js} +2 -2
- package/dist/core/p-587d704d.entry.js.map +1 -0
- package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
- package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +1 -1
- package/dist/core/{p-4bddb866.entry.js → p-6a884eef.entry.js} +2 -2
- package/dist/core/{p-4bddb866.entry.js.map → p-6a884eef.entry.js.map} +1 -1
- package/dist/core/p-6d2fa004.entry.js +2 -0
- package/dist/core/p-6d2fa004.entry.js.map +1 -0
- package/dist/core/{p-9fffb01e.entry.js → p-7821c7dc.entry.js} +2 -2
- package/dist/core/{p-608a8a4d.entry.js → p-8bb49790.entry.js} +2 -2
- package/dist/core/{p-5c7c7205.entry.js → p-92f199b0.entry.js} +2 -2
- package/dist/core/p-9810080e.entry.js +2 -0
- package/dist/core/p-9810080e.entry.js.map +1 -0
- package/dist/core/{p-518a8e87.entry.js → p-98286c35.entry.js} +2 -2
- package/dist/core/{p-518a8e87.entry.js.map → p-98286c35.entry.js.map} +1 -1
- package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
- package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +1 -1
- package/dist/core/{p-812a0246.entry.js → p-9ad64b6f.entry.js} +2 -2
- package/dist/core/{p-b87e4485.entry.js → p-9c491db1.entry.js} +2 -2
- package/dist/core/{p-1a5efa3e.entry.js → p-9c8070a1.entry.js} +2 -2
- package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
- package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +1 -1
- package/dist/core/p-9f5a1473.entry.js +2 -0
- package/dist/core/p-9f5a1473.entry.js.map +1 -0
- package/dist/core/{p-59048c2a.entry.js → p-a0c361ec.entry.js} +2 -2
- package/dist/core/p-a0c361ec.entry.js.map +1 -0
- package/dist/core/{p-51e2de77.entry.js → p-a7bc9a19.entry.js} +2 -2
- package/dist/core/{p-51e2de77.entry.js.map → p-a7bc9a19.entry.js.map} +1 -1
- package/dist/core/{p-588a331f.entry.js → p-a8d934fe.entry.js} +2 -2
- package/dist/core/{p-588a331f.entry.js.map → p-a8d934fe.entry.js.map} +1 -1
- package/dist/core/{p-145c0245.entry.js → p-aaa6d8e1.entry.js} +2 -2
- package/dist/core/{p-145c0245.entry.js.map → p-aaa6d8e1.entry.js.map} +1 -1
- package/dist/core/{p-f7d746d7.entry.js → p-b12c4643.entry.js} +2 -2
- package/dist/core/{p-f7d746d7.entry.js.map → p-b12c4643.entry.js.map} +1 -1
- package/dist/core/{p-31d6d587.entry.js → p-b2c49dfd.entry.js} +2 -2
- package/dist/core/p-b2c49dfd.entry.js.map +1 -0
- package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
- package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +1 -1
- package/dist/core/p-b5dd226f.entry.js +2 -0
- package/dist/core/{p-20374e30.entry.js.map → p-b5dd226f.entry.js.map} +1 -1
- package/dist/core/{p-8051e61b.entry.js → p-b8cb867c.entry.js} +2 -2
- package/dist/core/{p-f517f412.entry.js → p-b95d99c7.entry.js} +2 -2
- package/dist/core/p-c039a175.entry.js +2 -0
- package/dist/core/{p-ad48c77c.entry.js.map → p-c039a175.entry.js.map} +1 -1
- package/dist/core/p-c08ea34d.entry.js +2 -0
- package/dist/core/p-c08ea34d.entry.js.map +1 -0
- package/dist/core/{p-fecef807.entry.js → p-c7a97221.entry.js} +2 -2
- package/dist/core/{p-91646e38.entry.js → p-c95be271.entry.js} +2 -2
- package/dist/core/p-c95be271.entry.js.map +1 -0
- package/dist/core/p-cd3f12ad.entry.js +2 -0
- package/dist/core/p-cd3f12ad.entry.js.map +1 -0
- package/dist/core/{p-40743d97.entry.js → p-d143aa70.entry.js} +2 -2
- package/dist/core/{p-40743d97.entry.js.map → p-d143aa70.entry.js.map} +1 -1
- package/dist/core/{p-c3fe54ab.entry.js → p-d3b9c04b.entry.js} +2 -2
- package/dist/core/{p-c3fe54ab.entry.js.map → p-d3b9c04b.entry.js.map} +1 -1
- package/dist/core/{p-cb4522ed.entry.js → p-d3eb3356.entry.js} +2 -2
- package/dist/core/{p-66ae9eb3.entry.js → p-d6a1b39c.entry.js} +2 -2
- package/dist/core/{p-66ae9eb3.entry.js.map → p-d6a1b39c.entry.js.map} +1 -1
- package/dist/core/{p-efe2fbd7.entry.js → p-d7c44cce.entry.js} +2 -2
- package/dist/core/p-d7c44cce.entry.js.map +1 -0
- package/dist/core/{p-e543f2e7.entry.js → p-e435052b.entry.js} +2 -2
- package/dist/core/{p-e543f2e7.entry.js.map → p-e435052b.entry.js.map} +1 -1
- package/dist/core/{p-b8938f93.entry.js → p-e4f1d72b.entry.js} +2 -2
- package/dist/core/p-ee95905f.js +2 -0
- package/dist/core/{p-efa95979.js.map → p-ee95905f.js.map} +1 -1
- package/dist/core/{p-2fe31f66.entry.js → p-f4b08cdb.entry.js} +2 -2
- package/dist/core/{p-2fe31f66.entry.js.map → p-f4b08cdb.entry.js.map} +1 -1
- package/dist/core/{p-5976d13e.entry.js → p-f5cc4e94.entry.js} +2 -2
- package/dist/core/{p-5976d13e.entry.js.map → p-f5cc4e94.entry.js.map} +1 -1
- package/dist/core/{p-558936fb.entry.js → p-f6772530.entry.js} +2 -2
- package/dist/core/{p-0fad83d8.entry.js → p-fc125ca6.entry.js} +2 -2
- package/dist/core/{p-0fad83d8.entry.js.map → p-fc125ca6.entry.js.map} +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/helpers-89cb996d.js.map +1 -1
- package/dist/esm/{helpers-f3928d01.js → helpers-fee7d348.js} +22 -22
- package/dist/esm/{helpers-f3928d01.js.map → helpers-fee7d348.js.map} +1 -1
- 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 +2 -2
- package/dist/esm/ic-alert.entry.js.map +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 +24 -18
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +3 -3
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox_3.entry.js +6 -6
- 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 +2 -2
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +3 -3
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +6 -6
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +6 -4
- package/dist/esm/ic-dialog.entry.js.map +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 +3 -3
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +5 -5
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +27 -14
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
- package/dist/esm/ic-layout-grid-item.entry.js +2 -2
- package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
- package/dist/esm/ic-layout-grid.entry.js +2 -2
- package/dist/esm/ic-layout-grid.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js +6 -6
- 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 +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -5
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +7 -7
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +43 -35
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +5 -5
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +5 -5
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +5 -5
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +10 -10
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +14 -14
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +5 -5
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +10 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-table-of-contents.entry.js +359 -0
- package/dist/esm/ic-table-of-contents.entry.js.map +1 -0
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-time-input.entry.js +7 -7
- package/dist/esm/ic-time-input.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +4 -4
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +3 -3
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +3 -3
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-tree-item.entry.js +2 -2
- package/dist/esm/ic-tree-view.entry.js +3 -3
- package/dist/esm/ic-typography.entry.js +3 -3
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-a7a720e7.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/story-data.d.ts +2 -2
- package/dist/types/components/ic-table-of-contents/ic-table-of-contents-item.d.ts +14 -0
- package/dist/types/components/ic-table-of-contents/ic-table-of-contents.d.ts +83 -0
- package/dist/types/components/ic-table-of-contents/ic-table-of-contents.stories.d.ts +90 -0
- package/dist/types/components/ic-table-of-contents/test/a11y/ic-table-of-contents.test.a11y.d.ts +1 -0
- package/dist/types/components.d.ts +79 -2
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +633 -221
- package/hydrate/index.mjs +633 -221
- package/package.json +4 -4
- package/dist/core/p-20374e30.entry.js +0 -2
- package/dist/core/p-2f4f4aea.entry.js +0 -2
- package/dist/core/p-2f4f4aea.entry.js.map +0 -1
- package/dist/core/p-31d6d587.entry.js.map +0 -1
- package/dist/core/p-3a73a9b7.entry.js.map +0 -1
- package/dist/core/p-45dd12ee.entry.js.map +0 -1
- package/dist/core/p-59048c2a.entry.js.map +0 -1
- package/dist/core/p-5ac30e1f.entry.js +0 -2
- package/dist/core/p-5ac30e1f.entry.js.map +0 -1
- package/dist/core/p-7d2d067f.entry.js +0 -2
- package/dist/core/p-7d2d067f.entry.js.map +0 -1
- package/dist/core/p-91646e38.entry.js.map +0 -1
- package/dist/core/p-ad48c77c.entry.js +0 -2
- package/dist/core/p-afece95e.entry.js +0 -2
- package/dist/core/p-afece95e.entry.js.map +0 -1
- package/dist/core/p-bc7d730d.entry.js.map +0 -1
- package/dist/core/p-efa95979.js +0 -2
- package/dist/core/p-efe2fbd7.entry.js.map +0 -1
- package/dist/core/p-f3201a0b.entry.js +0 -2
- package/dist/core/p-f3201a0b.entry.js.map +0 -1
- /package/dist/core/{p-d47e200c.entry.js.map → p-20f248be.entry.js.map} +0 -0
- /package/dist/core/{p-9fe5e2eb.entry.js.map → p-30a2abe9.entry.js.map} +0 -0
- /package/dist/core/{p-c067e62c.entry.js.map → p-318c6a4c.entry.js.map} +0 -0
- /package/dist/core/{p-364cc350.entry.js.map → p-3414247d.entry.js.map} +0 -0
- /package/dist/core/{p-9863a070.entry.js.map → p-4fa1a80f.entry.js.map} +0 -0
- /package/dist/core/{p-6796acff.entry.js.map → p-514c4401.entry.js.map} +0 -0
- /package/dist/core/{p-b93e8ecb.entry.js.map → p-5534bb37.entry.js.map} +0 -0
- /package/dist/core/{p-9fffb01e.entry.js.map → p-7821c7dc.entry.js.map} +0 -0
- /package/dist/core/{p-608a8a4d.entry.js.map → p-8bb49790.entry.js.map} +0 -0
- /package/dist/core/{p-5c7c7205.entry.js.map → p-92f199b0.entry.js.map} +0 -0
- /package/dist/core/{p-812a0246.entry.js.map → p-9ad64b6f.entry.js.map} +0 -0
- /package/dist/core/{p-b87e4485.entry.js.map → p-9c491db1.entry.js.map} +0 -0
- /package/dist/core/{p-1a5efa3e.entry.js.map → p-9c8070a1.entry.js.map} +0 -0
- /package/dist/core/{p-8051e61b.entry.js.map → p-b8cb867c.entry.js.map} +0 -0
- /package/dist/core/{p-f517f412.entry.js.map → p-b95d99c7.entry.js.map} +0 -0
- /package/dist/core/{p-fecef807.entry.js.map → p-c7a97221.entry.js.map} +0 -0
- /package/dist/core/{p-cb4522ed.entry.js.map → p-d3eb3356.entry.js.map} +0 -0
- /package/dist/core/{p-b8938f93.entry.js.map → p-e4f1d72b.entry.js.map} +0 -0
- /package/dist/core/{p-558936fb.entry.js.map → p-f6772530.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["icAlertCss","IcAlertStyle0","Alert","constructor","hostRef","this","hostMutationObserver","systemThemeObserver","darkMode","alertTitleWrap","visible","announced","dismissible","heading","showDefaultIcon","theme","titleAbove","variant","dismissAction","icDismiss","emit","themeChangeHandler","disconnectedCallback","_a","_b","disconnect","removeEventListener","darkModeChangeHandler","componentWillLoad","el","closest","window","matchMedia","addEventListener","matches","componentDidLoad","Number","titleEl","clientHeight","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","calculateMinHeight","componentDidUpdate","handleClick","ev","detail","contentHeight","messageEl","minHeight","pxToRem","style","getPropertyValue","setProperty","render","message","Icon","iconClass","isSlotUsed","h","class","name","innerHTML","VARIANT_ICONS","icon","Host","role","container","divider","ref","closeIcon","onClick","title"],"sources":["../web-components/dist/collection/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","../web-components/dist/collection/components/ic-alert/ic-alert.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:host {\n display: block;\n}\n\n:host ::slotted(ic-typography) {\n --ic-typography-color: var(--ic-alert-description);\n}\n\n.container {\n min-height: var(--ic-alert-min-height);\n border-radius: var(--ic-space-xxs) var(--ic-space-xxxs) var(--ic-space-xxxs)\n var(--ic-space-xxs);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-alert-background-neutral);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-neutral);\n}\n\n.container-info {\n background-color: var(--ic-alert-background-info);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-info);\n}\n\n.container-warning {\n background-color: var(--ic-alert-background-warning);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-warning);\n}\n\n.container-error {\n background-color: var(--ic-alert-background-error);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-error);\n}\n\n.container-success {\n background-color: var(--ic-alert-background-success);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-success);\n}\n\n.container-ai {\n background-color: var(--ic-alert-background-ai);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-ai);\n}\n\n.alert-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 border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-alert-status-type-neutral);\n}\n\n.divider-info {\n background-color: var(--ic-alert-status-type-info);\n}\n\n.divider-warning {\n background-color: var(--ic-alert-status-type-warning);\n}\n\n.divider-error {\n background-color: var(--ic-alert-status-type-error);\n}\n\n.divider-success {\n background-color: var(--ic-alert-status-type-success);\n}\n\n.divider-ai {\n background-color: var(--ic-alert-status-type-ai);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 1.375rem;\n margin-left: 1.125rem;\n}\n\n.icon-placeholder {\n margin-left: var(--ic-space-xs);\n}\n\n.alert-icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n/* required for Gatsby as prop does not seem to work when set to false */\n:host([showdefaulticon=\"false\"]) .icon-neutral {\n visibility: hidden;\n width: 0;\n margin-left: 0.625rem;\n}\n\n.icon-neutral > svg,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n fill: var(--ic-alert-icon-neutral);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-warning);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-success);\n}\n\n:host([variant=\"ai\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-ai);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 0.625rem;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n\n --ic-typography-color: var(--ic-alert-description);\n}\n\n.alert-message-title-above {\n display: inline;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-alert-title);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -0.375rem;\n padding: 0.375rem;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon > svg {\n color: var(--ic-alert-icon-dismissible);\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: var(--ic-space-xs);\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-border-hc);\n }\n\n .dismiss-icon > svg {\n color: var(--ic-architectural-white);\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, pxToRem, renderDynamicChildSlots, } from \"../../utils/helpers\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n * @slot neutral-icon - A custom neutral icon is placed to the left of the title. This will override the default icon if used.\n */\nexport class Alert {\n constructor() {\n this.hostMutationObserver = null;\n this.systemThemeObserver = null;\n this.darkMode = false;\n this.alertTitleWrap = false;\n this.visible = true;\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n this.announced = true;\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n this.dismissible = false;\n /**\n * The optional title to display at the start of the alert.\n */\n this.heading = \"\";\n /**\n * If `true`, the default icon for the neutral variant will appear on the left of the alert.\n */\n this.showDefaultIcon = true;\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 * If `true`, the title and message will appear above and below instead of inline.\n */\n this.titleAbove = false;\n /**\n * The variant of the alert which will be rendered.\n */\n this.variant = \"neutral\";\n this.dismissAction = () => {\n this.icDismiss.emit();\n };\n }\n themeChangeHandler() {\n if (this.theme !== \"inherit\")\n this.darkMode = this.theme === \"dark\";\n }\n disconnectedCallback() {\n var _a, _b;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n (_b = this.systemThemeObserver) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"change\", this.darkModeChangeHandler);\n }\n componentWillLoad() {\n if (!this.el.closest(\"ic-theme\")) {\n this.systemThemeObserver = window.matchMedia(\"(prefers-color-scheme: dark)\");\n this.systemThemeObserver.addEventListener(\"change\", this.darkModeChangeHandler);\n this.darkMode = this.systemThemeObserver.matches;\n }\n this.themeChangeHandler();\n }\n componentDidLoad() {\n var _a;\n if (Number((_a = this.titleEl) === null || _a === void 0 ? void 0 : _a.clientHeight) > 24)\n this.alertTitleWrap = true;\n this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, \"action\", this));\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n this.calculateMinHeight();\n }\n componentDidUpdate() {\n this.calculateMinHeight();\n }\n handleClick() {\n this.visible = !this.visible;\n }\n darkModeChangeHandler(ev) {\n this.darkMode = \"detail\" in ev ? ev.detail === \"dark\" : ev.matches;\n this.calculateMinHeight();\n }\n calculateMinHeight() {\n var _a;\n const contentHeight = Number((_a = this.messageEl) === null || _a === void 0 ? void 0 : _a.clientHeight);\n const minHeight = pxToRem(`${(contentHeight > 40 ? contentHeight : 52) + (this.darkMode ? 0 : 4)}`);\n if (this.el.style.getPropertyValue(\"--ic-alert-min-height\") !== minHeight)\n this.el.style.setProperty(\"--ic-alert-min-height\", minHeight);\n }\n render() {\n const { variant, heading, message, titleAbove, dismissible, announced, visible, showDefaultIcon, theme, alertTitleWrap, dismissAction, } = this;\n const Icon = () => {\n const iconClass = {\n \"alert-icon\": true,\n \"svg-container\": true,\n [`icon-${variant}`]: true,\n };\n if (variant === \"neutral\") {\n if (isSlotUsed(this.el, \"neutral-icon\")) {\n return (h(\"div\", { class: iconClass }, h(\"slot\", { name: \"neutral-icon\" })));\n }\n else if (!showDefaultIcon) {\n return h(\"div\", { class: \"icon-placeholder\" });\n }\n }\n return (h(\"span\", { class: iconClass, innerHTML: VARIANT_ICONS[variant].icon }));\n };\n return (visible && (h(Host, { role: announced ? \"alert\" : null, class: {\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, h(\"div\", { class: { container: true, [`container-${variant}`]: true } }, h(\"div\", { class: \"alert-icon-container\" }, h(\"div\", { class: { divider: true, [`divider-${variant}`]: true } }), h(Icon, null)), h(\"div\", { class: \"alert-content\" }, h(\"div\", { class: {\n \"alert-message\": true,\n \"alert-message-title-above\": titleAbove || alertTitleWrap,\n }, ref: (el) => (this.messageEl = el) }, heading && (h(\"ic-typography\", { class: {\n \"alert-title\": true,\n \"alert-title-above\": titleAbove || alertTitleWrap,\n }, variant: \"subtitle-large\", ref: (el) => (this.titleEl = el) }, h(\"p\", null, heading))), h(\"slot\", { name: \"message\" }, h(\"ic-typography\", { variant: \"body\" }, message))), isSlotUsed(this.el, \"action\") && (h(\"div\", { class: \"alert-action-container\" }, h(\"slot\", { name: \"action\" })))), h(\"div\", { class: \"dismiss-icon-container\" }, dismissible && (h(\"ic-button\", { class: { \"svg-container\": true, \"dismiss-icon\": true }, innerHTML: closeIcon, onClick: dismissAction, variant: \"icon\", theme: \"dark\", title: \"Dismiss\" })))))));\n }\n static get is() { return \"ic-alert\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-alert.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-alert.css\"]\n };\n }\n static get properties() {\n return {\n \"announced\": {\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 alert will have the 'alert' ARIA role and will be announced to screen readers.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"announced\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"dismissible\": {\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 alert will have a close icon at the end to dismiss it.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismissible\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"heading\": {\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 optional title to display at the start of the alert.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\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 alert.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"showDefaultIcon\": {\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 default icon for the neutral variant will appear on the left of the alert.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"show-default-icon\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\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 \"titleAbove\": {\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 title and message will appear above and below instead of inline.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"title-above\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcStatusVariants\",\n \"resolved\": \"\\\"ai\\\" | \\\"error\\\" | \\\"info\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the alert which will be rendered.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"neutral\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"alertTitleWrap\": {},\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 alert.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"theme\",\n \"methodName\": \"themeChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icDismiss\",\n \"method\": \"handleClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"icThemeChange\",\n \"method\": \"darkModeChangeHandler\",\n \"target\": \"document\",\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-alert.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["icAlertCss","IcAlertStyle0","Alert","constructor","hostRef","this","hostMutationObserver","systemThemeObserver","darkMode","alertTitleWrap","visible","announced","dismissible","heading","showDefaultIcon","theme","titleAbove","variant","dismissAction","icDismiss","emit","themeChangeHandler","disconnectedCallback","_a","_b","disconnect","removeEventListener","darkModeChangeHandler","componentWillLoad","el","closest","window","matchMedia","addEventListener","matches","componentDidLoad","Number","titleEl","clientHeight","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","calculateMinHeight","componentDidUpdate","handleClick","ev","detail","contentHeight","messageEl","minHeight","pxToRem","style","getPropertyValue","setProperty","render","message","Icon","iconClass","isSlotUsed","h","class","name","innerHTML","VARIANT_ICONS","icon","Host","role","container","divider","ref","closeIcon","onClick","title"],"sources":["../web-components/dist/collection/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","../web-components/dist/collection/components/ic-alert/ic-alert.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:host {\n display: block;\n}\n\n:host ::slotted(ic-typography) {\n --ic-typography-color: var(--ic-alert-description);\n}\n\n.container {\n min-height: var(--ic-alert-min-height);\n border-radius: var(--ic-space-xxs) var(--ic-space-xxxs) var(--ic-space-xxxs)\n var(--ic-space-xxs);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-alert-background-neutral);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-neutral);\n}\n\n.container-info {\n background-color: var(--ic-alert-background-info);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-info);\n}\n\n.container-warning {\n background-color: var(--ic-alert-background-warning);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-warning);\n}\n\n.container-error {\n background-color: var(--ic-alert-background-error);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-error);\n}\n\n.container-success {\n background-color: var(--ic-alert-background-success);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-success);\n}\n\n.container-ai {\n background-color: var(--ic-alert-background-ai);\n border: var(--ic-space-xxxs) solid var(--ic-alert-border-ai);\n}\n\n.alert-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 border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-alert-status-type-neutral);\n}\n\n.divider-info {\n background-color: var(--ic-alert-status-type-info);\n}\n\n.divider-warning {\n background-color: var(--ic-alert-status-type-warning);\n}\n\n.divider-error {\n background-color: var(--ic-alert-status-type-error);\n}\n\n.divider-success {\n background-color: var(--ic-alert-status-type-success);\n}\n\n.divider-ai {\n background-color: var(--ic-alert-status-type-ai);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 1.375rem;\n margin-left: 1.125rem;\n}\n\n.icon-placeholder {\n margin-left: var(--ic-space-xs);\n}\n\n.alert-icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n/* required for Gatsby as prop does not seem to work when set to false */\n:host([showdefaulticon=\"false\"]) .icon-neutral {\n visibility: hidden;\n width: 0;\n margin-left: 0.625rem;\n}\n\n.icon-neutral > svg,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n fill: var(--ic-alert-icon-neutral);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-warning);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-success);\n}\n\n:host([variant=\"ai\"]) .alert-icon svg {\n fill: var(--ic-alert-icon-ai);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 0.625rem;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n\n --ic-typography-color: var(--ic-alert-description);\n}\n\n.alert-message-title-above {\n display: inline;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-alert-title);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -0.375rem;\n padding: 0.375rem;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon > svg {\n color: var(--ic-alert-icon-dismissible);\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: var(--ic-space-xs);\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-border-hc);\n }\n\n .dismiss-icon > svg {\n color: var(--ic-architectural-white);\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, pxToRem, renderDynamicChildSlots, } from \"../../utils/helpers\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n * @slot neutral-icon - A custom neutral icon is placed to the left of the title. This will override the default icon if used.\n */\nexport class Alert {\n constructor() {\n this.hostMutationObserver = null;\n this.systemThemeObserver = null;\n this.darkMode = false;\n this.alertTitleWrap = false;\n this.visible = true;\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n this.announced = true;\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n this.dismissible = false;\n /**\n * The optional title to display at the start of the alert.\n */\n this.heading = \"\";\n /**\n * If `true`, the default icon for the neutral variant will appear on the left of the alert.\n */\n this.showDefaultIcon = true;\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 * If `true`, the title and message will appear above and below instead of inline.\n */\n this.titleAbove = false;\n /**\n * The variant of the alert which will be rendered.\n */\n this.variant = \"neutral\";\n this.dismissAction = () => {\n this.icDismiss.emit();\n };\n }\n themeChangeHandler() {\n if (this.theme !== \"inherit\")\n this.darkMode = this.theme === \"dark\";\n }\n disconnectedCallback() {\n var _a, _b;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n (_b = this.systemThemeObserver) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"change\", this.darkModeChangeHandler);\n }\n componentWillLoad() {\n if (!this.el.closest(\"ic-theme\")) {\n this.systemThemeObserver = window.matchMedia(\"(prefers-color-scheme: dark)\");\n this.systemThemeObserver.addEventListener(\"change\", this.darkModeChangeHandler);\n this.darkMode = this.systemThemeObserver.matches;\n }\n this.themeChangeHandler();\n }\n componentDidLoad() {\n var _a;\n if (Number((_a = this.titleEl) === null || _a === void 0 ? void 0 : _a.clientHeight) > 24)\n this.alertTitleWrap = true;\n this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, \"action\", this));\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n this.calculateMinHeight();\n }\n componentDidUpdate() {\n this.calculateMinHeight();\n }\n handleClick() {\n this.visible = !this.visible;\n }\n darkModeChangeHandler(ev) {\n this.darkMode = \"detail\" in ev ? ev.detail === \"dark\" : ev.matches;\n this.calculateMinHeight();\n }\n calculateMinHeight() {\n var _a;\n const contentHeight = Number((_a = this.messageEl) === null || _a === void 0 ? void 0 : _a.clientHeight);\n const minHeight = pxToRem(`${(contentHeight > 40 ? contentHeight : 52) + (this.darkMode ? 0 : 4)}`);\n if (this.el.style.getPropertyValue(\"--ic-alert-min-height\") !== minHeight)\n this.el.style.setProperty(\"--ic-alert-min-height\", minHeight);\n }\n render() {\n const { variant, heading, message, titleAbove, dismissible, announced, visible, showDefaultIcon, theme, alertTitleWrap, dismissAction, } = this;\n const Icon = () => {\n const iconClass = {\n \"alert-icon\": true,\n \"svg-container\": true,\n [`icon-${variant}`]: true,\n };\n if (variant === \"neutral\") {\n if (isSlotUsed(this.el, \"neutral-icon\")) {\n return (h(\"div\", { class: iconClass }, h(\"slot\", { name: \"neutral-icon\" })));\n }\n else if (!showDefaultIcon) {\n return h(\"div\", { class: \"icon-placeholder\" });\n }\n }\n return (h(\"span\", { class: iconClass, innerHTML: VARIANT_ICONS[variant].icon }));\n };\n return (visible && (h(Host, { role: announced ? \"alert\" : null, class: {\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, h(\"div\", { class: { container: true, [`container-${variant}`]: true } }, h(\"div\", { class: \"alert-icon-container\" }, h(\"div\", { class: { divider: true, [`divider-${variant}`]: true } }), h(Icon, null)), h(\"div\", { class: \"alert-content\" }, h(\"div\", { class: {\n \"alert-message\": true,\n \"alert-message-title-above\": titleAbove || alertTitleWrap,\n }, ref: (el) => (this.messageEl = el) }, heading && (h(\"ic-typography\", { class: {\n \"alert-title\": true,\n \"alert-title-above\": titleAbove || alertTitleWrap,\n }, variant: \"subtitle-large\", ref: (el) => (this.titleEl = el) }, h(\"p\", null, heading))), h(\"slot\", { name: \"message\" }, h(\"ic-typography\", { variant: \"body\" }, message))), isSlotUsed(this.el, \"action\") && (h(\"div\", { class: \"alert-action-container\" }, h(\"slot\", { name: \"action\" })))), h(\"div\", { class: \"dismiss-icon-container\" }, dismissible && (h(\"ic-button\", { class: { \"svg-container\": true, \"dismiss-icon\": true }, innerHTML: closeIcon, onClick: dismissAction, variant: \"icon-tertiary\", theme: \"dark\", title: \"Dismiss\" })))))));\n }\n static get is() { return \"ic-alert\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-alert.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-alert.css\"]\n };\n }\n static get properties() {\n return {\n \"announced\": {\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 alert will have the 'alert' ARIA role and will be announced to screen readers.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"announced\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"dismissible\": {\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 alert will have a close icon at the end to dismiss it.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismissible\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"heading\": {\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 optional title to display at the start of the alert.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\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 alert.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"showDefaultIcon\": {\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 default icon for the neutral variant will appear on the left of the alert.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"show-default-icon\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\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 \"titleAbove\": {\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 title and message will appear above and below instead of inline.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"title-above\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcStatusVariants\",\n \"resolved\": \"\\\"ai\\\" | \\\"error\\\" | \\\"info\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the alert which will be rendered.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"neutral\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"alertTitleWrap\": {},\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 alert.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"theme\",\n \"methodName\": \"themeChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icDismiss\",\n \"method\": \"handleClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"icThemeChange\",\n \"method\": \"darkModeChangeHandler\",\n \"target\": \"document\",\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-alert.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as t,h as i,H as o,g as s}from"./p-8e4e97b4.js";import{m as n,e as a}from"./p-efa95979.js";import{c as r}from"./p-aae38bee.js";const l='/*! 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 .opening-from-parent{animation:slide-in var(--ic-transition-duration-slow) ease-in-out}:host .opening-from-child{animation:slide-out var(--ic-transition-duration-slow) ease-in-out}}:host{border-radius:var(--ic-border-radius);color:var(--ic-popover-nav-text);--ic-typography-color:var(--ic-popover-nav-text);position:relative;z-index:var(--ic-z-index-popover);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);display:none}:host(.on-dialog){inset:auto !important}:host(.on-dialog-fix-translate){transform:translate(0, var(--ic-space-xs)) !important}:host(.on-dialog-translate-y){transform:translate(0, calc(-1 * var(--translate-y))) !important}.menu{border:var(--ic-border-default);border-color:var(--ic-popover-border);border-radius:var(--ic-border-radius);background-color:var(--ic-popover-background);visibility:hidden;height:0;display:flex;flex-direction:column}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu:focus-visible{outline:none}:host(.ic-popover-menu-open){display:block;min-width:calc(20rem - var(--ic-space-xl));width:var(--popover-width, 20rem);max-width:calc(100vw - var(--ic-space-xl))}:host(.ic-popover-menu-open) .menu{visibility:visible;height:-moz-fit-content;height:fit-content;max-height:var(--max-height, -moz-fit-content);max-height:var(--max-height, fit-content);overflow-y:auto;overflow-x:hidden}.parent-label{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}@keyframes slide-in{from{opacity:0;transform:translateX(10rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{from{opacity:0;transform:translateX(-10rem)}to{opacity:1;transform:translateX(0)}}';const c=l;const h="div.menu-body";const d=class{constructor(i){e(this,i);this.icPopoverClosed=t(this,"icPopoverClosed",7);this.ARIA_LABEL="aria-label";this.popoverMenuEls=[];this.openingFromChild=false;this.openingFromParent=false;this.popperProps={};this.fixedPositioning=false;this.submenuLevel=1;this.theme="inherit";this.open=undefined;this.setButtonFocus=()=>{var e;(e=this.popoverMenuEls[this.currentFocus])===null||e===void 0?void 0:e.focus()};this.findAnchorEl=e=>{let t=null;if(!e){this.submenuId===undefined&&console.error("No anchor specified for popover component")}else{t=document.querySelector(e.indexOf("#")===0?e:"#"+e);if(t===null){console.error(`Popover anchor element '${e}' not found`)}}return t};this.isNotPopoverMenuEl=e=>{const{id:t,tagName:i}=e.target;return t!==this.anchor&&i!=="IC-MENU-ITEM"&&i!=="IC-MENU-GROUP"&&i!=="IC-POPOVER-MENU"};this.getNextItemToSelect=(e,t)=>{const i=this.popoverMenuEls.length-1;if(e<1){e=0}let o=t?e+1:e-1;if(o<0){o=i}else if(o>i){o=0}return o};this.addMenuItems=e=>{var t;for(let i=0;i<e.length;i++){const o=e[i];if(o.tagName==="IC-MENU-ITEM"){this.popoverMenuEls.push(o)}else if(o.tagName==="IC-MENU-GROUP"){const e=(t=o.shadowRoot)===null||t===void 0?void 0:t.querySelector(".menu-items-wrapper");if(e){const t=n(e);t&&this.addMenuItems(t)}}}};this.getMenuAriaLabel=()=>{const e=this.el.getAttribute(this.ARIA_LABEL);if(a(this.submenuId)){return`${e}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`}else{return e}};this.handleBackButtonClick=()=>{var e;(e=this.parentPopover)===null||e===void 0?void 0:e.openFromChild();this.open=false};this.initPopperJS=()=>{if(this.anchorEl){this.popperInstance=r(this.anchorEl,this.el,Object.assign({strategy:this.fixedPositioning?"fixed":"absolute",placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,4]}},{name:"flip",options:{fallbackPlacements:["top-start","top-end","bottom-end"],rootBoundary:"viewport"}}]},this.popperProps))}}}watchOpenHandler(){var e;const t=(e=this.el.parentElement)===null||e===void 0?void 0:e.querySelectorAll(`ic-popover-menu`);if(this.open){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}if(this.parentPopover!==undefined&&!this.popoverMenuEls.some((e=>e.id))){this.backButton&&this.popoverMenuEls.unshift(this.backButton)}this.currentFocus=0;setTimeout(this.setButtonFocus,50)}else if(this.popperInstance){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}this.popperInstance.destroy();this.popperInstance=null}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}componentDidLoad(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(h);if(t){const e=n(t);if(e!==null){this.addMenuItems(e)}}if(this.submenuId===undefined&&this.el.getAttribute(this.ARIA_LABEL)===null){console.error(`No aria-label specified for popover menu component - aria-label required`)}this.watchOpenHandler()}componentWillRender(){this.anchorEl=this.findAnchorEl(this.anchor)}componentDidRender(){if(this.open&&!this.popperInstance){this.initPopperJS()}}handleMenuItemClick(e){if(!e.detail.submenuTriggerFor&&e.detail.label!=="Back"){this.closeMenu(false,e.detail)}}handleSubmenuChange(e){const t=e.target;this.open=false;const i=document.querySelector(`ic-popover-menu[submenu-id=${t.submenuTriggerFor}]`);i.parentPopover=this.el;i.anchor=this.anchor;i.ariaLabel=this.el.getAttribute(this.ARIA_LABEL);i.openFromParent();i.submenuLevel=this.submenuLevel+1;i.parentLabel=t.label}handleClick(e){if(this.open&&this.isNotPopoverMenuEl(e)){this.closeMenu()}}handleKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,e.key==="ArrowDown");this.setButtonFocus();break;case"Home":this.currentFocus=0;this.setButtonFocus();break;case"End":this.currentFocus=this.popoverMenuEls.length-1;this.setButtonFocus();break;case"Escape":case"Tab":e.preventDefault();if(this.open){this.closeMenu(true);this.el.blur()}break}}async openFromChild(){this.open=true;this.openingFromChild=true;setTimeout((()=>this.openingFromChild=false),1e3)}async openFromParent(){this.open=true;this.openingFromParent=true;setTimeout((()=>this.openingFromParent=false),1e3)}async closeMenu(e=false,t){var i;this.open=false;if(this.parentPopover){this.parentPopover.closeMenu(e,t)}else{if(e){(i=this.anchorEl)===null||i===void 0?void 0:i.focus()}this.icPopoverClosed.emit(t)}}async setExternalPopperProps(e){this.popperProps=e}render(){return i(o,{key:"5ffa8a51af3508448af45892be2854e7caadfc1d",class:{["ic-popover-menu-open"]:!!this.open,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"c3160d601be3e64a081da71a369e5c91258000ae",id:this.parentPopover===undefined?`ic-popover-submenu-${this.submenuId}`:"",class:{menu:true}},i("span",{key:"ae7a23ecfc8d5bba00f00e921292d227be204de4",class:{"opening-from-parent":this.openingFromParent,"opening-from-child":this.openingFromChild}},a(this.submenuId)&&i("span",{key:"003ba26d863d718db5b8b6d2ff54710e02eb7677"},i("span",{key:"4db795ec37a6ac82956e483bb2bf5a73961377e5",role:"menu"},i("ic-menu-item",{key:"a102e3c94bb5ba26c8f37c1948230f5dd2bd2c5a",class:"ic-popover-submenu-back-button",ref:e=>this.backButton=e,label:"Back",onClick:this.handleBackButtonClick,id:`ic-popover-submenu-back-button-${this.submenuLevel}`},i("svg",{key:"e97bd20445b09d2ba20bfbf9a6808a9e925b1c39",slot:"icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"submenu-back-icon"},i("path",{key:"1e8b35769c14f03ee11c26250f84d0dc23963dc0",d:"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z",fill:"currentColor"})))),i("ic-typography",{key:"cfbbf43ec26066f7aa1879baf0ef4c8705248bcb",variant:"subtitle-small",class:"parent-label"},this.parentLabel)),i("div",{key:"54ac1fa4283a77f2678a21e2869be48db726aa09",class:"menu-body","aria-label":this.getMenuAriaLabel(),role:"menu"},i("slot",{key:"986dfbed5c2337812f4ac529910240cfc4ffe216"})))))}static get delegatesFocus(){return true}get el(){return s(this)}static get watchers(){return{open:["watchOpenHandler"]}}};d.style=c;export{d as ic_popover_menu};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as t,h as i,H as o,g as s}from"./p-8e4e97b4.js";import{m as n,e as a}from"./p-ee95905f.js";import{c as r}from"./p-aae38bee.js";const l='/*! 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 .opening-from-parent{animation:slide-in var(--ic-transition-duration-slow) ease-in-out}:host .opening-from-child{animation:slide-out var(--ic-transition-duration-slow) ease-in-out}}:host{border-radius:var(--ic-border-radius);color:var(--ic-popover-nav-text);--ic-typography-color:var(--ic-popover-nav-text);position:relative;z-index:var(--ic-z-index-popover);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);display:none}:host(.on-dialog){inset:auto !important}:host(.on-dialog-fix-translate){transform:translate(0, var(--ic-space-xs)) !important}:host(.on-dialog-translate-y){transform:translate(0, calc(-1 * var(--translate-y))) !important}.menu{border:var(--ic-border-default);border-color:var(--ic-popover-border);border-radius:var(--ic-border-radius);background-color:var(--ic-popover-background);visibility:hidden;height:0;display:flex;flex-direction:column}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu:focus-visible{outline:none}:host(.ic-popover-menu-open){display:block;min-width:calc(20rem - var(--ic-space-xl));width:var(--popover-width, 20rem);max-width:calc(100vw - var(--ic-space-xl))}:host(.ic-popover-menu-open) .menu{visibility:visible;height:-moz-fit-content;height:fit-content;max-height:var(--max-height, -moz-fit-content);max-height:var(--max-height, fit-content);overflow-y:auto;overflow-x:hidden}.parent-label{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}@keyframes slide-in{from{opacity:0;transform:translateX(10rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{from{opacity:0;transform:translateX(-10rem)}to{opacity:1;transform:translateX(0)}}';const c=l;const d="div.menu-body";const h=class{constructor(i){e(this,i);this.icPopoverClosed=t(this,"icPopoverClosed",7);this.ARIA_LABEL="aria-label";this.popoverMenuEls=[];this.openingFromChild=false;this.openingFromParent=false;this.popperProps={};this.fixedPositioning=false;this.submenuLevel=1;this.theme="inherit";this.open=undefined;this.setButtonFocus=()=>{var e;(e=this.popoverMenuEls[this.currentFocus])===null||e===void 0?void 0:e.focus()};this.findAnchorEl=e=>{let t=null;if(!e){this.submenuId===undefined&&console.error("No anchor specified for popover component")}else{t=document.querySelector(e.indexOf("#")===0?e:"#"+e);if(t===null){console.error(`Popover anchor element '${e}' not found`)}}return t};this.isNotPopoverMenuEl=e=>{const{id:t,tagName:i}=e.target;return t!==this.anchor&&i!=="IC-MENU-ITEM"&&i!=="IC-MENU-GROUP"&&i!=="IC-POPOVER-MENU"};this.getNextItemToSelect=(e,t)=>{const i=this.popoverMenuEls.length-1;if(e<1){e=0}let o=t?e+1:e-1;if(o<0){o=i}else if(o>i){o=0}return o};this.addMenuItems=e=>{var t;for(let i=0;i<e.length;i++){const o=e[i];if(o.tagName==="IC-MENU-ITEM"){this.popoverMenuEls.push(o)}else if(o.tagName==="IC-MENU-GROUP"){const e=(t=o.shadowRoot)===null||t===void 0?void 0:t.querySelector(".menu-items-wrapper");if(e){const t=n(e);t&&this.addMenuItems(t)}}}};this.getMenuAriaLabel=()=>{const e=this.el.getAttribute(this.ARIA_LABEL);if(a(this.submenuId)){return`${e}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`}else{return e}};this.handleBackButtonClick=()=>{var e;(e=this.parentPopover)===null||e===void 0?void 0:e.openFromChild();this.open=false};this.initPopperJS=()=>{if(this.anchorEl){this.popperInstance=r(this.anchorEl,this.el,Object.assign({strategy:this.fixedPositioning?"fixed":"absolute",placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,4]}},{name:"flip",options:{fallbackPlacements:["top-start","top-end","bottom-end"],rootBoundary:"viewport"}}]},this.popperProps))}}}watchOpenHandler(){var e;const t=(e=this.el.parentElement)===null||e===void 0?void 0:e.querySelectorAll(`ic-popover-menu`);if(this.open){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}if(this.parentPopover!==undefined&&!this.popoverMenuEls.some((e=>e.id))){this.backButton&&this.popoverMenuEls.unshift(this.backButton)}this.currentFocus=0;setTimeout(this.setButtonFocus,50)}else if(this.popperInstance){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}this.popperInstance.destroy();this.popperInstance=null}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}componentDidLoad(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(d);if(t){const e=n(t);if(e!==null){this.addMenuItems(e)}}if(this.submenuId===undefined&&this.el.getAttribute(this.ARIA_LABEL)===null){console.error(`No aria-label specified for popover menu component - aria-label required`)}this.watchOpenHandler()}componentWillRender(){this.anchorEl=this.findAnchorEl(this.anchor)}componentDidRender(){if(this.open&&!this.popperInstance){this.initPopperJS()}}handleMenuItemClick(e){if(!e.detail.submenuTriggerFor&&e.detail.label!=="Back"){this.closeMenu(false,e.detail)}}handleSubmenuChange(e){const t=e.target;this.open=false;const i=document.querySelector(`ic-popover-menu[submenu-id=${t.submenuTriggerFor}]`);i.parentPopover=this.el;i.anchor=this.anchor;i.ariaLabel=this.el.getAttribute(this.ARIA_LABEL);i.openFromParent();i.submenuLevel=this.submenuLevel+1;i.parentLabel=t.label}handleClick(e){if(this.open&&this.isNotPopoverMenuEl(e)){this.closeMenu()}}handleKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,e.key==="ArrowDown");this.setButtonFocus();break;case"Home":this.currentFocus=0;this.setButtonFocus();break;case"End":this.currentFocus=this.popoverMenuEls.length-1;this.setButtonFocus();break;case"Escape":case"Tab":e.preventDefault();if(this.open){this.closeMenu(true);this.el.blur()}break}}async openFromChild(){this.open=true;this.openingFromChild=true;setTimeout((()=>this.openingFromChild=false),1e3)}async openFromParent(){this.open=true;this.openingFromParent=true;setTimeout((()=>this.openingFromParent=false),1e3)}async closeMenu(e=false,t){var i;this.open=false;if(this.parentPopover){this.parentPopover.closeMenu(e,t)}else{if(e){(i=this.anchorEl)===null||i===void 0?void 0:i.focus()}this.icPopoverClosed.emit(t)}}async setExternalPopperProps(e){this.popperProps=e}render(){return i(o,{key:"b3b80be668dab0b1bf8e9c86a92871a2ccf7fa05",class:{["ic-popover-menu-open"]:!!this.open,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"2354b0125ce713af1824928f0f63bfc4e1a51539",id:this.parentPopover===undefined?`ic-popover-submenu-${this.submenuId}`:"",class:{menu:true}},i("span",{key:"a0fe248c348b955225eb3cbd9d4713dd4d2260f5",class:{"opening-from-parent":this.openingFromParent,"opening-from-child":this.openingFromChild}},a(this.submenuId)&&i("span",{key:"b0f4cd227ca7e89a65a05ff7e168c902d90fbd27"},i("span",{key:"2cae5777f8e07730803524dca57d2489755af132",role:"menu"},i("ic-menu-item",{key:"65be6ed2c83365bfc8888f9d1232fe34b61b9547",class:"ic-popover-submenu-back-button",ref:e=>this.backButton=e,label:"Back",onClick:this.handleBackButtonClick,id:`ic-popover-submenu-back-button-${this.submenuLevel}`},i("svg",{key:"51312621130f75922f672a78e96c5f143844fd23",slot:"icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"submenu-back-icon"},i("path",{key:"db43490c2526d8aef7b985109b0592d6e47d97fb",d:"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z",fill:"currentColor"})))),i("ic-typography",{key:"d1f5dea7708ece652f7033fc879ebd2ecf9485e4",variant:"subtitle-small",class:"parent-label"},this.parentLabel)),i("div",{key:"57da0710affbfada09d7bb4f040b235bbd86bee4",class:"menu-body","aria-label":this.getMenuAriaLabel(),role:"menu"},i("slot",{key:"745f05595c859f9c6259716dc4c4635d66cd95fc"})))))}static get delegatesFocus(){return true}get el(){return s(this)}static get watchers(){return{open:["watchOpenHandler"]}}};h.style=c;export{h as ic_popover_menu};
|
|
2
|
+
//# sourceMappingURL=p-4479c7e7.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["icPopoverMenuCss","IcPopoverMenuStyle0","MENU_SELECTOR","PopoverMenu","constructor","hostRef","this","ARIA_LABEL","popoverMenuEls","openingFromChild","openingFromParent","popperProps","fixedPositioning","submenuLevel","theme","open","undefined","setButtonFocus","_a","currentFocus","focus","findAnchorEl","anchor","anchorElement","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","id","tagName","target","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","getAttribute","isPropDefined","parentLabel","handleBackButtonClick","parentPopover","openFromChild","initPopperJS","anchorEl","popperInstance","createPopper","Object","assign","strategy","placement","modifiers","name","options","offset","fallbackPlacements","rootBoundary","watchOpenHandler","popoverArr","parentElement","querySelectorAll","forEach","popover","some","menuItem","backButton","unshift","setTimeout","destroy","disconnectedCallback","componentDidLoad","slotWrapper","popoverMenuElements","componentWillRender","componentDidRender","handleMenuItemClick","detail","submenuTriggerFor","label","closeMenu","handleSubmenuChange","childEl","openFromParent","handleClick","handleKeyDown","key","preventDefault","blur","setFocusToAnchor","menuElement","icPopoverClosed","emit","setExternalPopperProps","props","render","h","Host","class","menu","role","ref","onClick","slot","viewBox","fill","xmlns","d","variant","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","../web-components/dist/collection/components/ic-popover-menu/ic-popover-menu.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-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-popover-nav-text);\n\n --ic-typography-color: var(--ic-popover-nav-text);\n\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-color: var(--ic-popover-border);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-popover-background);\n visibility: hidden;\n height: 0;\n display: flex;\n flex-direction: column;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-popover-menu-open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.ic-popover-menu-open) .menu {\n visibility: visible;\n height: -moz-fit-content;\n height: fit-content;\n max-height: var(--max-height, -moz-fit-content);\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n --ic-typography-color: var(--ic-popover-parent-label);\n\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, } from \"@popperjs/core\";\nconst MENU_SELECTOR = \"div.menu-body\";\nexport class PopoverMenu {\n constructor() {\n this.ARIA_LABEL = \"aria-label\";\n this.popoverMenuEls = [];\n this.openingFromChild = false;\n this.openingFromParent = false;\n this.popperProps = {};\n /**\n * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n this.fixedPositioning = false;\n /**\n * @internal The level of menu being displayed.\n */\n this.submenuLevel = 1;\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 * If `true`, the popover menu will be displayed.\n */\n this.open = undefined;\n this.setButtonFocus = () => {\n var _a;\n (_a = this.popoverMenuEls[this.currentFocus]) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // Checks that the popover menu has an anchor\n this.findAnchorEl = (anchor) => {\n let anchorElement = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n }\n else {\n anchorElement = document.querySelector(anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor);\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n this.isNotPopoverMenuEl = (ev) => {\n const { id, tagName } = ev.target;\n return (id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\");\n };\n this.getNextItemToSelect = (currentItem, movingDown) => {\n const numButtons = this.popoverMenuEls.length - 1;\n if (currentItem < 1) {\n currentItem = 0;\n }\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n }\n else if (nextItem > numButtons) {\n nextItem = 0;\n }\n return nextItem;\n };\n this.addMenuItems = (elements) => {\n var _a;\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n }\n else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".menu-items-wrapper\");\n if (groupSlotWrapper) {\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n menuGroupElements && this.addMenuItems(menuGroupElements);\n }\n }\n }\n };\n this.getMenuAriaLabel = () => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n }\n else {\n return ariaLabel;\n }\n };\n this.handleBackButtonClick = () => {\n var _a;\n (_a = this.parentPopover) === null || _a === void 0 ? void 0 : _a.openFromChild();\n this.open = false;\n };\n this.initPopperJS = () => {\n if (this.anchorEl) {\n this.popperInstance = createPopper(this.anchorEl, this.el, Object.assign({ strategy: this.fixedPositioning ? \"fixed\" : \"absolute\", placement: \"bottom-start\", modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ] }, this.popperProps));\n }\n };\n }\n watchOpenHandler() {\n var _a;\n const popoverArr = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`ic-popover-menu`);\n if (this.open) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n if (this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)) {\n this.backButton && this.popoverMenuEls.unshift(this.backButton);\n }\n this.currentFocus = 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n }\n else if (this.popperInstance) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n componentDidLoad() {\n var _a;\n const slotWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(MENU_SELECTOR);\n if (slotWrapper) {\n const popoverMenuElements = getSlotElements(slotWrapper);\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n }\n if (this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null) {\n console.error(`No aria-label specified for popover menu component - aria-label required`);\n }\n this.watchOpenHandler();\n }\n componentWillRender() {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n componentDidRender() {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n handleMenuItemClick(ev) {\n if (!ev.detail.submenuTriggerFor && ev.detail.label !== \"Back\") {\n this.closeMenu(false, ev.detail);\n }\n }\n // This is listening for the event emitted when a menu item is acting as a trigger button\n handleSubmenuChange(ev) {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target;\n this.open = false;\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(`ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`);\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n handleClick(ev) {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n // Manages the keyboard navigation in the popover menu\n handleKeyDown(ev) {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(this.currentFocus, ev.key === \"ArrowDown\");\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n /**\n * @internal Opens the menu from the child menu.\n */\n async openFromChild() {\n this.open = true;\n this.openingFromChild = true;\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n /**\n * @internal Opens the menu from the parent menu.\n */\n async openFromParent() {\n this.open = true;\n this.openingFromParent = true;\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n async closeMenu(setFocusToAnchor = false, menuElement) {\n var _a;\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor, menuElement);\n }\n else {\n if (setFocusToAnchor) {\n (_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n this.icPopoverClosed.emit(menuElement);\n }\n }\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of the popover menu\n * @param props object - createPopper props set externally\n */\n async setExternalPopperProps(props) {\n this.popperProps = props;\n }\n render() {\n return (h(Host, { key: '5ffa8a51af3508448af45892be2854e7caadfc1d', class: {\n [\"ic-popover-menu-open\"]: !!this.open,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n } }, h(\"div\", { key: 'c3160d601be3e64a081da71a369e5c91258000ae', id: this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\", class: {\n menu: true,\n } }, h(\"span\", { key: 'ae7a23ecfc8d5bba00f00e921292d227be204de4', class: {\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n } }, isPropDefined(this.submenuId) && (h(\"span\", { key: '003ba26d863d718db5b8b6d2ff54710e02eb7677' }, h(\"span\", { key: '4db795ec37a6ac82956e483bb2bf5a73961377e5', role: \"menu\" }, h(\"ic-menu-item\", { key: 'a102e3c94bb5ba26c8f37c1948230f5dd2bd2c5a', class: \"ic-popover-submenu-back-button\", ref: (el) => (this.backButton = el), label: \"Back\", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h(\"svg\", { key: 'e97bd20445b09d2ba20bfbf9a6808a9e925b1c39', slot: \"icon\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", class: \"submenu-back-icon\" }, h(\"path\", { key: '1e8b35769c14f03ee11c26250f84d0dc23963dc0', d: \"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\", fill: \"currentColor\" })))), h(\"ic-typography\", { key: 'cfbbf43ec26066f7aa1879baf0ef4c8705248bcb', variant: \"subtitle-small\", class: \"parent-label\" }, this.parentLabel))), h(\"div\", { key: '54ac1fa4283a77f2678a21e2869be48db726aa09', class: \"menu-body\", \"aria-label\": this.getMenuAriaLabel(), role: \"menu\" }, h(\"slot\", { key: '986dfbed5c2337812f4ac529910240cfc4ffe216' }))))));\n }\n static get is() { return \"ic-popover-menu\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-popover-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-popover-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"anchor\": {\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 ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"anchor\",\n \"reflect\": false\n },\n \"fixedPositioning\": {\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\": \"Setting to `true` can help in situations where tooltip content is clipped by a parent element.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"fixed-positioning\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"parentLabel\": {\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 \"name\": \"internal\",\n \"text\": \"The parent popover menu of a child popover menu.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"parent-label\",\n \"reflect\": false\n },\n \"parentPopover\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLIcPopoverMenuElement\",\n \"resolved\": \"HTMLIcPopoverMenuElement | undefined\",\n \"references\": {\n \"HTMLIcPopoverMenuElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcPopoverMenuElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The parent popover menu of a child popover menu.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false\n },\n \"submenuId\": {\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 unique identifier for a popover submenu.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"submenu-id\",\n \"reflect\": false\n },\n \"submenuLevel\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The level of menu being displayed.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"submenu-level\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\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\": true,\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 \"open\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean | undefined\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover menu will be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"open\",\n \"reflect\": true,\n \"defaultValue\": \"undefined\"\n }\n };\n }\n static get states() {\n return {\n \"openingFromChild\": {},\n \"openingFromParent\": {},\n \"popperProps\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icPopoverClosed\",\n \"name\": \"icPopoverClosed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the popover menu is closed.\"\n },\n \"complexType\": {\n \"original\": \"HTMLIcMenuItemElement\",\n \"resolved\": \"HTMLIcMenuItemElement\",\n \"references\": {\n \"HTMLIcMenuItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcMenuItemElement\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"openFromChild\": {\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\": \"Opens the menu from the child menu.\"\n }]\n }\n },\n \"openFromParent\": {\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\": \"Opens the menu from the parent menu.\"\n }]\n }\n },\n \"closeMenu\": {\n \"complexType\": {\n \"signature\": \"(setFocusToAnchor?: boolean, menuElement?: HTMLIcMenuItemElement) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"setFocusToAnchor\",\n \"type\": \"boolean\",\n \"docs\": \"when true return focus to anchor element when menu is closed\"\n }, {\n \"name\": \"menuElement\",\n \"type\": \"HTMLIcMenuItemElement | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLIcMenuItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcMenuItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Close the menu, emit icPopoverClosed of the root popover\"\n }, {\n \"name\": \"param\",\n \"text\": \"setFocusToAnchor when true return focus to anchor element when menu is closed\"\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 popover menu\"\n }, {\n \"name\": \"param\",\n \"text\": \"props object - createPopper props set externally\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"open\",\n \"methodName\": \"watchOpenHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"handleMenuItemClick\",\n \"method\": \"handleMenuItemClick\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"triggerPopoverMenuInstance\",\n \"method\": \"handleSubmenuChange\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"click\",\n \"method\": \"handleClick\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-popover-menu.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["icPopoverMenuCss","IcPopoverMenuStyle0","MENU_SELECTOR","PopoverMenu","constructor","hostRef","this","ARIA_LABEL","popoverMenuEls","openingFromChild","openingFromParent","popperProps","fixedPositioning","submenuLevel","theme","open","undefined","setButtonFocus","_a","currentFocus","focus","findAnchorEl","anchor","anchorElement","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","id","tagName","target","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","getAttribute","isPropDefined","parentLabel","handleBackButtonClick","parentPopover","openFromChild","initPopperJS","anchorEl","popperInstance","createPopper","Object","assign","strategy","placement","modifiers","name","options","offset","fallbackPlacements","rootBoundary","watchOpenHandler","popoverArr","parentElement","querySelectorAll","forEach","popover","some","menuItem","backButton","unshift","setTimeout","destroy","disconnectedCallback","componentDidLoad","slotWrapper","popoverMenuElements","componentWillRender","componentDidRender","handleMenuItemClick","detail","submenuTriggerFor","label","closeMenu","handleSubmenuChange","childEl","openFromParent","handleClick","handleKeyDown","key","preventDefault","blur","setFocusToAnchor","menuElement","icPopoverClosed","emit","setExternalPopperProps","props","render","h","Host","class","menu","role","ref","onClick","slot","viewBox","fill","xmlns","d","variant","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","../web-components/dist/collection/components/ic-popover-menu/ic-popover-menu.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-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-popover-nav-text);\n\n --ic-typography-color: var(--ic-popover-nav-text);\n\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-color: var(--ic-popover-border);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-popover-background);\n visibility: hidden;\n height: 0;\n display: flex;\n flex-direction: column;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-popover-menu-open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.ic-popover-menu-open) .menu {\n visibility: visible;\n height: -moz-fit-content;\n height: fit-content;\n max-height: var(--max-height, -moz-fit-content);\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n --ic-typography-color: var(--ic-popover-parent-label);\n\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport { createPopper, } from \"@popperjs/core\";\nconst MENU_SELECTOR = \"div.menu-body\";\nexport class PopoverMenu {\n constructor() {\n this.ARIA_LABEL = \"aria-label\";\n this.popoverMenuEls = [];\n this.openingFromChild = false;\n this.openingFromParent = false;\n this.popperProps = {};\n /**\n * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n this.fixedPositioning = false;\n /**\n * @internal The level of menu being displayed.\n */\n this.submenuLevel = 1;\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 * If `true`, the popover menu will be displayed.\n */\n this.open = undefined;\n this.setButtonFocus = () => {\n var _a;\n (_a = this.popoverMenuEls[this.currentFocus]) === null || _a === void 0 ? void 0 : _a.focus();\n };\n // Checks that the popover menu has an anchor\n this.findAnchorEl = (anchor) => {\n let anchorElement = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n }\n else {\n anchorElement = document.querySelector(anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor);\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n this.isNotPopoverMenuEl = (ev) => {\n const { id, tagName } = ev.target;\n return (id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\");\n };\n this.getNextItemToSelect = (currentItem, movingDown) => {\n const numButtons = this.popoverMenuEls.length - 1;\n if (currentItem < 1) {\n currentItem = 0;\n }\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n }\n else if (nextItem > numButtons) {\n nextItem = 0;\n }\n return nextItem;\n };\n this.addMenuItems = (elements) => {\n var _a;\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n }\n else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".menu-items-wrapper\");\n if (groupSlotWrapper) {\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n menuGroupElements && this.addMenuItems(menuGroupElements);\n }\n }\n }\n };\n this.getMenuAriaLabel = () => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n }\n else {\n return ariaLabel;\n }\n };\n this.handleBackButtonClick = () => {\n var _a;\n (_a = this.parentPopover) === null || _a === void 0 ? void 0 : _a.openFromChild();\n this.open = false;\n };\n this.initPopperJS = () => {\n if (this.anchorEl) {\n this.popperInstance = createPopper(this.anchorEl, this.el, Object.assign({ strategy: this.fixedPositioning ? \"fixed\" : \"absolute\", placement: \"bottom-start\", modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ] }, this.popperProps));\n }\n };\n }\n watchOpenHandler() {\n var _a;\n const popoverArr = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`ic-popover-menu`);\n if (this.open) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n if (this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)) {\n this.backButton && this.popoverMenuEls.unshift(this.backButton);\n }\n this.currentFocus = 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n }\n else if (this.popperInstance) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n componentDidLoad() {\n var _a;\n const slotWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(MENU_SELECTOR);\n if (slotWrapper) {\n const popoverMenuElements = getSlotElements(slotWrapper);\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n }\n if (this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null) {\n console.error(`No aria-label specified for popover menu component - aria-label required`);\n }\n this.watchOpenHandler();\n }\n componentWillRender() {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n componentDidRender() {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n handleMenuItemClick(ev) {\n if (!ev.detail.submenuTriggerFor && ev.detail.label !== \"Back\") {\n this.closeMenu(false, ev.detail);\n }\n }\n // This is listening for the event emitted when a menu item is acting as a trigger button\n handleSubmenuChange(ev) {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target;\n this.open = false;\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(`ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`);\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n handleClick(ev) {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n // Manages the keyboard navigation in the popover menu\n handleKeyDown(ev) {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(this.currentFocus, ev.key === \"ArrowDown\");\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n /**\n * @internal Opens the menu from the child menu.\n */\n async openFromChild() {\n this.open = true;\n this.openingFromChild = true;\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n /**\n * @internal Opens the menu from the parent menu.\n */\n async openFromParent() {\n this.open = true;\n this.openingFromParent = true;\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n async closeMenu(setFocusToAnchor = false, menuElement) {\n var _a;\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor, menuElement);\n }\n else {\n if (setFocusToAnchor) {\n (_a = this.anchorEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n this.icPopoverClosed.emit(menuElement);\n }\n }\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of the popover menu\n * @param props object - createPopper props set externally\n */\n async setExternalPopperProps(props) {\n this.popperProps = props;\n }\n render() {\n return (h(Host, { key: 'b3b80be668dab0b1bf8e9c86a92871a2ccf7fa05', class: {\n [\"ic-popover-menu-open\"]: !!this.open,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n } }, h(\"div\", { key: '2354b0125ce713af1824928f0f63bfc4e1a51539', id: this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\", class: {\n menu: true,\n } }, h(\"span\", { key: 'a0fe248c348b955225eb3cbd9d4713dd4d2260f5', class: {\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n } }, isPropDefined(this.submenuId) && (h(\"span\", { key: 'b0f4cd227ca7e89a65a05ff7e168c902d90fbd27' }, h(\"span\", { key: '2cae5777f8e07730803524dca57d2489755af132', role: \"menu\" }, h(\"ic-menu-item\", { key: '65be6ed2c83365bfc8888f9d1232fe34b61b9547', class: \"ic-popover-submenu-back-button\", ref: (el) => (this.backButton = el), label: \"Back\", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h(\"svg\", { key: '51312621130f75922f672a78e96c5f143844fd23', slot: \"icon\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", class: \"submenu-back-icon\" }, h(\"path\", { key: 'db43490c2526d8aef7b985109b0592d6e47d97fb', d: \"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\", fill: \"currentColor\" })))), h(\"ic-typography\", { key: 'd1f5dea7708ece652f7033fc879ebd2ecf9485e4', variant: \"subtitle-small\", class: \"parent-label\" }, this.parentLabel))), h(\"div\", { key: '57da0710affbfada09d7bb4f040b235bbd86bee4', class: \"menu-body\", \"aria-label\": this.getMenuAriaLabel(), role: \"menu\" }, h(\"slot\", { key: '745f05595c859f9c6259716dc4c4635d66cd95fc' }))))));\n }\n static get is() { return \"ic-popover-menu\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-popover-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-popover-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"anchor\": {\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 ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"anchor\",\n \"reflect\": false\n },\n \"fixedPositioning\": {\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\": \"Setting to `true` can help in situations where tooltip content is clipped by a parent element.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"fixed-positioning\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"parentLabel\": {\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 \"name\": \"internal\",\n \"text\": \"The parent popover menu of a child popover menu.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"parent-label\",\n \"reflect\": false\n },\n \"parentPopover\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLIcPopoverMenuElement\",\n \"resolved\": \"HTMLIcPopoverMenuElement | undefined\",\n \"references\": {\n \"HTMLIcPopoverMenuElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcPopoverMenuElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The parent popover menu of a child popover menu.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false\n },\n \"submenuId\": {\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 unique identifier for a popover submenu.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"submenu-id\",\n \"reflect\": false\n },\n \"submenuLevel\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The level of menu being displayed.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"submenu-level\",\n \"reflect\": false,\n \"defaultValue\": \"1\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\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\": true,\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 \"open\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean | undefined\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the popover menu will be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"open\",\n \"reflect\": true,\n \"defaultValue\": \"undefined\"\n }\n };\n }\n static get states() {\n return {\n \"openingFromChild\": {},\n \"openingFromParent\": {},\n \"popperProps\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icPopoverClosed\",\n \"name\": \"icPopoverClosed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the popover menu is closed.\"\n },\n \"complexType\": {\n \"original\": \"HTMLIcMenuItemElement\",\n \"resolved\": \"HTMLIcMenuItemElement\",\n \"references\": {\n \"HTMLIcMenuItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcMenuItemElement\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"openFromChild\": {\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\": \"Opens the menu from the child menu.\"\n }]\n }\n },\n \"openFromParent\": {\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\": \"Opens the menu from the parent menu.\"\n }]\n }\n },\n \"closeMenu\": {\n \"complexType\": {\n \"signature\": \"(setFocusToAnchor?: boolean, menuElement?: HTMLIcMenuItemElement) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"setFocusToAnchor\",\n \"type\": \"boolean\",\n \"docs\": \"when true return focus to anchor element when menu is closed\"\n }, {\n \"name\": \"menuElement\",\n \"type\": \"HTMLIcMenuItemElement | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLIcMenuItemElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIcMenuItemElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Close the menu, emit icPopoverClosed of the root popover\"\n }, {\n \"name\": \"param\",\n \"text\": \"setFocusToAnchor when true return focus to anchor element when menu is closed\"\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 popover menu\"\n }, {\n \"name\": \"param\",\n \"text\": \"props object - createPopper props set externally\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"open\",\n \"methodName\": \"watchOpenHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"handleMenuItemClick\",\n \"method\": \"handleMenuItemClick\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"triggerPopoverMenuInstance\",\n \"method\": \"handleSubmenuChange\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"click\",\n \"method\": \"handleClick\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-popover-menu.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,g as h}from"./p-8e4e97b4.js";const e="context-id";const a=class{constructor(s){t(this,s);this.icTabSelect=i(this,"icTabSelect",3);this.newTabPanels=[];this.newTabs=[];this.activationType="automatic";this.contextId="default";this.monochrome=false;this.theme="inherit";this.linkTabs=()=>{this.tabs.forEach(((t,i)=>{const s=`ic-tab-${i}-context-${this.contextId}`;const h=`ic-tab-panel-${i}-context-${this.contextId}`;t.setAttribute("id",s);t.tabId=`ic-tab--${i}-context-${this.contextId}`;t.tabPosition=i;t.setAttribute("aria-controls",h);this.tabPanels[i].setAttribute("id",h);this.tabPanels[i].setAttribute("aria-labelledby",s);if(this.contextId){t.setAttribute(e,this.contextId);this.tabGroup&&this.tabGroup.setAttribute(e,this.contextId);this.tabPanels[i].setAttribute(e,this.contextId)}t.theme=this.theme;this.tabPanels[i].theme=this.theme;this.tabGroup&&(this.tabGroup.theme=this.theme)}))};this.getChildren=()=>{var t;this.tabGroup=this.el.querySelector("ic-tab-group");this.tabs=Array.from(((t=this.tabGroup)===null||t===void 0?void 0:t.querySelectorAll("ic-tab"))||[]);this.tabPanels=Array.from(this.el.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.keydownHandler=t=>{const i=this.activationType==="manual";const s=this.enabledTabs.findIndex((t=>t.tabId===this.tabs[i?this.focusedTabIndex:this.selectedTab||0].tabId));const h=i?this.keyboardFocusTab:this.keyboardSelectTab;let e=true;switch(t.key){case"Home":h(0);break;case"End":h(this.enabledTabs.length-1);break;case"ArrowRight":h(s<this.enabledTabs.length-1?s+1:0);break;case"ArrowLeft":h((s>0?s:this.enabledTabs.length)-1);break;default:if(i&&(t.key==="Enter"||t.key===" ")){this.keyboardSelectTab(this.focusedTabIndex)}else{e=false}}if(e)t.preventDefault()};this.setInitialTab=()=>{if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach(((t,i)=>{t.active=i===this.selectedTab}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.keyboardSelectTab=t=>{var i,s;const h=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(this.selectedTabIndex===undefined){this.selectedTab=h}else{this.icTabSelect.emit({tabIndex:h,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[h])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""})}};this.keyboardFocusTab=t=>{this.enabledTabs[t].focus();this.focusedTabIndex=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId))}}updateSelectedTab(t){this.selectedTab=t}watchMonochromeHandler(){this.tabs.forEach(((t,i)=>{t.monochrome=this.monochrome;this.tabPanels[i].monochrome=this.monochrome}));this.tabGroup&&(this.tabGroup.monochrome=this.monochrome)}watchThemeHandler(){this.tabs.forEach(((t,i)=>{t.theme=this.theme;this.tabPanels[i].theme=this.theme}));this.tabGroup&&(this.tabGroup.theme=this.theme)}componentDidLoad(){if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex}this.getChildren();this.linkTabs();this.tabGroup&&this.tabGroup.addEventListener("keydown",this.keydownHandler);this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){var t;(t=this.tabGroup)===null||t===void 0?void 0:t.removeEventListener("keydown",this.keydownHandler)}tabClickHandler(t){var i,s;if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[t.detail.position])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.selectedTab&&(!this.tabs[this.selectedTab]||!this.tabPanels[this.selectedTab]))this.setInitialTab();this.configureTabs();this.newTabs=[];this.newTabPanels=[]}}}tabEnabledHandler(){this.enabledTabs=this.getEnabledTabs()}async tabRemovedHandler(t){this.getChildren();this.linkTabs();if(this.selectedTab&&this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true}else{this.setInitialTab()}if(t&&this.selectedTab){this.tabs[this.selectedTab].setFocus()}}render(){return s("slot",{key:"
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as i,h as s,g as h}from"./p-8e4e97b4.js";const e="context-id";const a=class{constructor(s){t(this,s);this.icTabSelect=i(this,"icTabSelect",3);this.newTabPanels=[];this.newTabs=[];this.activationType="automatic";this.contextId="default";this.monochrome=false;this.theme="inherit";this.linkTabs=()=>{this.tabs.forEach(((t,i)=>{const s=`ic-tab-${i}-context-${this.contextId}`;const h=`ic-tab-panel-${i}-context-${this.contextId}`;t.setAttribute("id",s);t.tabId=`ic-tab--${i}-context-${this.contextId}`;t.tabPosition=i;t.setAttribute("aria-controls",h);this.tabPanels[i].setAttribute("id",h);this.tabPanels[i].setAttribute("aria-labelledby",s);if(this.contextId){t.setAttribute(e,this.contextId);this.tabGroup&&this.tabGroup.setAttribute(e,this.contextId);this.tabPanels[i].setAttribute(e,this.contextId)}t.theme=this.theme;this.tabPanels[i].theme=this.theme;this.tabGroup&&(this.tabGroup.theme=this.theme)}))};this.getChildren=()=>{var t;this.tabGroup=this.el.querySelector("ic-tab-group");this.tabs=Array.from(((t=this.tabGroup)===null||t===void 0?void 0:t.querySelectorAll("ic-tab"))||[]);this.tabPanels=Array.from(this.el.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.keydownHandler=t=>{const i=this.activationType==="manual";const s=this.enabledTabs.findIndex((t=>t.tabId===this.tabs[i?this.focusedTabIndex:this.selectedTab||0].tabId));const h=i?this.keyboardFocusTab:this.keyboardSelectTab;let e=true;switch(t.key){case"Home":h(0);break;case"End":h(this.enabledTabs.length-1);break;case"ArrowRight":h(s<this.enabledTabs.length-1?s+1:0);break;case"ArrowLeft":h((s>0?s:this.enabledTabs.length)-1);break;default:if(i&&(t.key==="Enter"||t.key===" ")){this.keyboardSelectTab(this.focusedTabIndex)}else{e=false}}if(e)t.preventDefault()};this.setInitialTab=()=>{if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach(((t,i)=>{t.active=i===this.selectedTab}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.keyboardSelectTab=t=>{var i,s;const h=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(this.selectedTabIndex===undefined){this.selectedTab=h}else{this.icTabSelect.emit({tabIndex:h,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[h])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""})}};this.keyboardFocusTab=t=>{this.enabledTabs[t].focus();this.focusedTabIndex=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId))}}updateSelectedTab(t){this.selectedTab=t}watchMonochromeHandler(){this.tabs.forEach(((t,i)=>{t.monochrome=this.monochrome;this.tabPanels[i].monochrome=this.monochrome}));this.tabGroup&&(this.tabGroup.monochrome=this.monochrome)}watchThemeHandler(){this.tabs.forEach(((t,i)=>{t.theme=this.theme;this.tabPanels[i].theme=this.theme}));this.tabGroup&&(this.tabGroup.theme=this.theme)}componentDidLoad(){if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex}this.getChildren();this.linkTabs();this.tabGroup&&this.tabGroup.addEventListener("keydown",this.keydownHandler);this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){var t;(t=this.tabGroup)===null||t===void 0?void 0:t.removeEventListener("keydown",this.keydownHandler)}tabClickHandler(t){var i,s;if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[t.detail.position])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.selectedTab&&(!this.tabs[this.selectedTab]||!this.tabPanels[this.selectedTab]))this.setInitialTab();this.configureTabs();this.newTabs=[];this.newTabPanels=[]}}}tabEnabledHandler(){this.enabledTabs=this.getEnabledTabs()}async setFocus(){if(this.selectedTab!=null){this.tabs[this.selectedTab].setFocus()}}async tabRemovedHandler(t){this.getChildren();this.linkTabs();if(this.selectedTab&&this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true}else{this.setInitialTab()}if(t&&this.selectedTab!=null){this.tabs[this.selectedTab].setFocus()}}render(){return s("slot",{key:"a5806f753757f1367b776c388a57f5760656906d"})}get el(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};export{a as ic_tab_context};
|
|
2
|
+
//# sourceMappingURL=p-4747c39f.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","activationType","contextId","monochrome","theme","linkTabs","tabs","forEach","tab","index","tabId","tabPanelId","setAttribute","tabPosition","tabPanels","tabGroup","getChildren","_a","el","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","active","disabled","_b","newIndex","focus","icTabSelect","emit","tabIndex","tabLabel","textContent","trim","updateSelectedTab","newValue","watchMonochromeHandler","watchThemeHandler","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n this.activationType = \"automatic\";\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n this.contextId = \"default\";\n /**\n * If `true`, the tabs will display as black in the light theme.\n */\n this.monochrome = false;\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 /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n if (this.contextId) {\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup &&\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n }\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup && (this.tabGroup.theme = this.theme);\n });\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n var _a;\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(((_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"ic-tab\")) || []);\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab || 0].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.active = index === this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n var _a, _b;\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: ((_b = (_a = this.el.querySelectorAll(\"ic-tab\")[newIndex]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) ||\n \"\",\n });\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n watchMonochromeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup && (this.tabGroup.monochrome = this.monochrome);\n }\n watchThemeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup && (this.tabGroup.theme = this.theme);\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup &&\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n var _a, _b;\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: ((_b = (_a = this.el\n .querySelectorAll(\"ic-tab\")[event.detail.position]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || \"\",\n });\n /* eslint-enable no-unexpected-multiline */\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.selectedTab &&\n (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab]))\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * Sets focus on the tab context.\n */\n async setFocus() {\n if (this.selectedTab != null) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.selectedTab &&\n this.tabs[this.selectedTab] &&\n this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus && this.selectedTab != null) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: 'a5806f753757f1367b776c388a57f5760656906d' });\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\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\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') 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 \"contextId\": {\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 unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the tabs will display as black in the light theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\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\": true,\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 };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\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\": \"Sets focus on the tab context.\",\n \"tags\": []\n }\n },\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean | undefined\",\n \"docs\": \"\"\n }],\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 set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as i,H as a,g as r}from"./p-8e4e97b4.js";const
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as i,H as a,g as r}from"./p-8e4e97b4.js";const c=":host{grid-column:var(--ic-grid-item-col-start, 1) / span\n var(--ic-grid-item-col-span, var(--ic-layout-grid-col-span, 1)) !important;grid-row:var(--ic-grid-item-row-start, 1) / span\n var(--ic-grid-item-row-span, var(--ic-layout-grid-row-span, 1)) !important}@media only screen and (max-width: 576px){:host(.ic-layout-grid-hide-in-mobile){display:none}}";const s=c;const o=class{constructor(i){t(this,i);this.colSpan=1;this.colStart=1;this.hideInMobileMode=false;this.rowSpan=1;this.rowStart=1}watchColSpan(t){this.el.style.setProperty("--ic-grid-item-col-span",`${t}`)}watchColStart(t){this.el.style.setProperty("--ic-grid-item-col-start",`${t}`)}watchRowSpan(t){this.el.style.setProperty("--ic-grid-item-row-span",`${t}`)}watchRowStart(t){this.el.style.setProperty("--ic-grid-item-row-start",`${t}`)}componentWillLoad(){this.el.style.setProperty("--ic-grid-item-col-start",`${this.colStart}`);this.el.style.setProperty("--ic-grid-item-col-span",`${this.colSpan}`);this.el.style.setProperty("--ic-grid-item-row-start",`${this.rowStart}`);this.el.style.setProperty("--ic-grid-item-row-span",`${this.rowSpan}`)}render(){const{hideInMobileMode:t}=this;return i(a,{key:"a6e63c7a2e569fefef8bd1f801719ec0cfc999f2",class:{"ic-layout-grid-hide-in-mobile":!!t}},i("slot",{key:"976299cc75e2a275ce07dc9bb4ccde082c559175"}))}get el(){return r(this)}static get watchers(){return{colSpan:["watchColSpan"],colStart:["watchColStart"],rowSpan:["watchRowSpan"],rowStart:["watchRowStart"]}}};o.style=s;export{o as ic_layout_grid_item};
|
|
2
|
+
//# sourceMappingURL=p-492fcb51.entry.js.map
|