@ukic/canary-web-components 3.0.0-canary.22 → 3.0.0-canary.23
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/clear-icon-547aa9b9.js +10 -0
- package/dist/cjs/clear-icon-547aa9b9.js.map +1 -0
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/helpers-da852478.js.map +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +2 -2
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +40 -85
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +4 -4
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
- 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 +11 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +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 +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +43 -56
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +25 -17
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +4 -4
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +224 -0
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +5 -96
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +17 -17
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
- 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 +4 -4
- 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 +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +13 -13
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +4 -4
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-time-input.cjs.entry.js +943 -0
- package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -0
- 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 +3 -3
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +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 +2 -2
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-d337cd8a.js +12 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/clock.svg +1 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/ic-data-table/ic-data-table.js +43 -57
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js +3 -2
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +7 -57
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +24 -12
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-time-input/ic-time-input.css +648 -0
- package/dist/collection/components/ic-time-input/ic-time-input.js +1600 -0
- package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -0
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js +320 -0
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -0
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +45 -0
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/clear-icon.js +8 -0
- package/dist/components/clear-icon.js.map +1 -0
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-action-chip.js +160 -0
- package/dist/components/ic-action-chip.js.map +1 -0
- package/dist/components/ic-back-to-top.js +3 -3
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +2 -2
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +2 -2
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +2 -2
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +3 -3
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +4 -4
- package/dist/components/ic-card-vertical.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 +4 -4
- package/dist/components/ic-checkbox2.js.map +1 -1
- package/dist/components/ic-chip.js +12 -4
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +2 -2
- package/dist/components/ic-classification-banner.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-data-table.js +43 -56
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +25 -17
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-dialog.js +1 -1
- 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-footer.js +3 -3
- package/dist/components/ic-footer.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 +3 -3
- package/dist/components/ic-input-validation2.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 +3 -3
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +2 -2
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +2 -2
- package/dist/components/ic-navigation-item.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 +9 -9
- 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 +6 -6
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +4 -4
- 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 +1 -1
- 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-tab.js +2 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +6 -6
- 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.d.ts +11 -0
- package/dist/components/ic-time-input.js +1045 -0
- package/dist/components/ic-time-input.js.map +1 -0
- 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 +33 -78
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +4 -4
- package/dist/components/ic-top-navigation.js.map +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 +227 -7
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-137dd76e.entry.js → p-00a89919.entry.js} +2 -2
- package/dist/core/{p-137dd76e.entry.js.map → p-00a89919.entry.js.map} +1 -1
- package/dist/core/{p-e253a857.js → p-0f22f41e.js} +2 -2
- package/dist/core/p-0f22f41e.js.map +1 -0
- package/dist/core/{p-97abdbf7.entry.js → p-1521e96b.entry.js} +2 -2
- package/dist/core/{p-97abdbf7.entry.js.map → p-1521e96b.entry.js.map} +1 -1
- package/dist/core/{p-5d987f8f.entry.js → p-153d3597.entry.js} +2 -2
- package/dist/core/{p-5d987f8f.entry.js.map → p-153d3597.entry.js.map} +1 -1
- package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
- package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +1 -1
- package/dist/core/{p-8d908a57.entry.js → p-22863d31.entry.js} +2 -2
- package/dist/core/{p-8d908a57.entry.js.map → p-22863d31.entry.js.map} +1 -1
- package/dist/core/{p-c94e7b0b.entry.js → p-27207aa3.entry.js} +2 -2
- package/dist/core/{p-c94e7b0b.entry.js.map → p-27207aa3.entry.js.map} +1 -1
- package/dist/core/{p-2c4bf16f.entry.js → p-2d6a1b50.entry.js} +2 -2
- package/dist/core/{p-2c4bf16f.entry.js.map → p-2d6a1b50.entry.js.map} +1 -1
- package/dist/core/{p-bc974a3e.entry.js → p-307c13a1.entry.js} +2 -2
- package/dist/core/{p-bc974a3e.entry.js.map → p-307c13a1.entry.js.map} +1 -1
- package/dist/core/{p-2d8900bf.entry.js → p-30b3afb1.entry.js} +2 -2
- package/dist/core/{p-2d8900bf.entry.js.map → p-30b3afb1.entry.js.map} +1 -1
- package/dist/core/{p-bf93baea.entry.js → p-324862f7.entry.js} +2 -2
- package/dist/core/{p-bf93baea.entry.js.map → p-324862f7.entry.js.map} +1 -1
- package/dist/core/{p-0fe08a58.js → p-33927ee1.js} +2 -2
- package/dist/core/{p-a220535c.entry.js → p-369f4536.entry.js} +2 -2
- package/dist/core/{p-a220535c.entry.js.map → p-369f4536.entry.js.map} +1 -1
- package/dist/core/{p-6e7aaca5.entry.js → p-3a5da30c.entry.js} +2 -2
- package/dist/core/{p-6e7aaca5.entry.js.map → p-3a5da30c.entry.js.map} +1 -1
- package/dist/core/{p-826a6c25.entry.js → p-3d10fa12.entry.js} +2 -2
- package/dist/core/{p-826a6c25.entry.js.map → p-3d10fa12.entry.js.map} +1 -1
- package/dist/core/{p-f569a91f.entry.js → p-48127d40.entry.js} +2 -2
- package/dist/core/{p-f569a91f.entry.js.map → p-48127d40.entry.js.map} +1 -1
- package/dist/core/{p-3448c713.entry.js → p-48db785a.entry.js} +2 -2
- package/dist/core/{p-3448c713.entry.js.map → p-48db785a.entry.js.map} +1 -1
- package/dist/core/{p-b27bc1a1.entry.js → p-4b212968.entry.js} +2 -2
- package/dist/core/{p-b27bc1a1.entry.js.map → p-4b212968.entry.js.map} +1 -1
- package/dist/core/p-53d50d9e.entry.js +2 -0
- package/dist/core/p-53d50d9e.entry.js.map +1 -0
- package/dist/core/{p-78635447.entry.js → p-558936fb.entry.js} +2 -2
- package/dist/core/{p-64372a57.entry.js → p-593cc594.entry.js} +2 -2
- package/dist/core/{p-64372a57.entry.js.map → p-593cc594.entry.js.map} +1 -1
- package/dist/core/{p-bbf39a76.entry.js → p-666a671b.entry.js} +2 -2
- package/dist/core/{p-bbf39a76.entry.js.map → p-666a671b.entry.js.map} +1 -1
- package/dist/core/{p-8397766e.entry.js → p-726144b4.entry.js} +2 -2
- package/dist/core/{p-8397766e.entry.js.map → p-726144b4.entry.js.map} +1 -1
- package/dist/core/p-74e0f41f.entry.js +2 -0
- package/dist/core/p-74e0f41f.entry.js.map +1 -0
- package/dist/core/{p-0dc0d839.entry.js → p-75f3038c.entry.js} +2 -2
- package/dist/core/{p-0dc0d839.entry.js.map → p-75f3038c.entry.js.map} +1 -1
- package/dist/core/p-7892130d.entry.js +2 -0
- package/dist/core/p-7892130d.entry.js.map +1 -0
- package/dist/core/{p-15ec796a.entry.js → p-7e5e94a9.entry.js} +2 -2
- package/dist/core/{p-15ec796a.entry.js.map → p-7e5e94a9.entry.js.map} +1 -1
- package/dist/core/p-8048c7da.entry.js +2 -0
- package/dist/core/{p-1e256460.entry.js.map → p-8048c7da.entry.js.map} +1 -1
- package/dist/core/p-80e43591.entry.js +2 -0
- package/dist/core/{p-8cb5deba.entry.js.map → p-80e43591.entry.js.map} +1 -1
- package/dist/core/{p-75901d06.entry.js → p-86ff903d.entry.js} +2 -2
- package/dist/core/{p-ead0acc3.entry.js → p-8908b8e6.entry.js} +2 -2
- package/dist/core/{p-832c7042.entry.js → p-8bf1022e.entry.js} +2 -2
- package/dist/core/{p-90364cef.entry.js → p-8fa7085e.entry.js} +2 -2
- package/dist/core/{p-90364cef.entry.js.map → p-8fa7085e.entry.js.map} +1 -1
- package/dist/core/{p-5237f3ac.entry.js → p-97c437bb.entry.js} +2 -2
- package/dist/core/{p-e2103bcc.entry.js → p-9c8a98e8.entry.js} +2 -2
- package/dist/core/{p-e2103bcc.entry.js.map → p-9c8a98e8.entry.js.map} +1 -1
- package/dist/core/{p-0f86ea09.entry.js → p-9f792a31.entry.js} +2 -2
- package/dist/core/{p-0f86ea09.entry.js.map → p-9f792a31.entry.js.map} +1 -1
- package/dist/core/{p-cd8178a9.entry.js → p-abcc90f0.entry.js} +2 -2
- package/dist/core/{p-cd8178a9.entry.js.map → p-abcc90f0.entry.js.map} +1 -1
- package/dist/core/p-ad48c77c.entry.js +2 -0
- package/dist/core/p-ad48c77c.entry.js.map +1 -0
- package/dist/core/p-b0462734.entry.js +2 -0
- package/dist/core/p-b0462734.entry.js.map +1 -0
- package/dist/core/{p-88c5ec78.entry.js → p-b2680959.entry.js} +2 -2
- package/dist/core/{p-88c5ec78.entry.js.map → p-b2680959.entry.js.map} +1 -1
- package/dist/core/{p-b1b27b7e.entry.js → p-b3ac38c5.entry.js} +2 -2
- package/dist/core/{p-b1b27b7e.entry.js.map → p-b3ac38c5.entry.js.map} +1 -1
- package/dist/core/p-b5ef2799.entry.js +2 -0
- package/dist/core/{p-497918fd.entry.js.map → p-b5ef2799.entry.js.map} +1 -1
- package/dist/core/{p-33404c14.entry.js → p-b7a0dc04.entry.js} +2 -2
- package/dist/core/{p-33404c14.entry.js.map → p-b7a0dc04.entry.js.map} +1 -1
- package/dist/core/{p-755bdc43.entry.js → p-b8938f93.entry.js} +2 -2
- package/dist/core/{p-9097a16a.entry.js → p-b9d4c0db.entry.js} +2 -2
- package/dist/core/{p-9097a16a.entry.js.map → p-b9d4c0db.entry.js.map} +1 -1
- package/dist/core/{p-b3509380.entry.js → p-c4bf8742.entry.js} +2 -2
- package/dist/core/{p-3cf99186.entry.js → p-c6eabd53.entry.js} +2 -2
- package/dist/core/{p-6f72e6ac.entry.js → p-c7ccc52a.entry.js} +2 -2
- package/dist/core/{p-6f72e6ac.entry.js.map → p-c7ccc52a.entry.js.map} +1 -1
- package/dist/core/{p-d04b75cb.entry.js → p-c82a2e84.entry.js} +2 -2
- package/dist/core/{p-94065f7a.entry.js → p-ca3c6653.entry.js} +2 -2
- package/dist/core/{p-94065f7a.entry.js.map → p-ca3c6653.entry.js.map} +1 -1
- package/dist/core/{p-d281c3cf.entry.js → p-d47acbd4.entry.js} +2 -2
- package/dist/core/{p-d281c3cf.entry.js.map → p-d47acbd4.entry.js.map} +1 -1
- package/dist/core/{p-a54eb1d1.entry.js → p-d5f8ef77.entry.js} +2 -2
- package/dist/core/{p-c77d6efc.entry.js → p-db3b0c0a.entry.js} +2 -2
- package/dist/core/{p-c77d6efc.entry.js.map → p-db3b0c0a.entry.js.map} +1 -1
- package/dist/core/{p-cc36abaa.entry.js → p-db6d0463.entry.js} +2 -2
- package/dist/core/p-dbde45ff.entry.js +2 -0
- package/dist/core/p-dbde45ff.entry.js.map +1 -0
- package/dist/core/p-dc8eede2.entry.js +2 -0
- package/dist/core/p-dc8eede2.entry.js.map +1 -0
- package/dist/core/p-dd7450fb.js +2 -0
- package/dist/core/p-dd7450fb.js.map +1 -0
- package/dist/core/{p-fc5661ac.entry.js → p-de43d375.entry.js} +2 -2
- package/dist/core/{p-fc5661ac.entry.js.map → p-de43d375.entry.js.map} +1 -1
- package/dist/core/p-de8081c6.entry.js +2 -0
- package/dist/core/{p-a26a60ff.entry.js.map → p-de8081c6.entry.js.map} +1 -1
- package/dist/core/p-e4906394.entry.js +2 -0
- package/dist/core/{p-032113b9.entry.js.map → p-e4906394.entry.js.map} +1 -1
- package/dist/core/p-e595bb87.entry.js +2 -0
- package/dist/core/p-e595bb87.entry.js.map +1 -0
- package/dist/core/{p-42913c5b.entry.js → p-e75514f1.entry.js} +2 -2
- package/dist/core/{p-42913c5b.entry.js.map → p-e75514f1.entry.js.map} +1 -1
- package/dist/core/{p-6dd73165.entry.js → p-ee6caf27.entry.js} +2 -2
- package/dist/core/{p-6dd73165.entry.js.map → p-ee6caf27.entry.js.map} +1 -1
- package/dist/core/{p-2de3287c.entry.js → p-f33eae3c.entry.js} +2 -2
- package/dist/core/{p-2de3287c.entry.js.map → p-f33eae3c.entry.js.map} +1 -1
- package/dist/core/{p-9e051db4.entry.js → p-f34eee68.entry.js} +2 -2
- package/dist/core/{p-9e051db4.entry.js.map → p-f34eee68.entry.js.map} +1 -1
- package/dist/core/{p-fb7f4e2e.entry.js → p-fbb0a74d.entry.js} +2 -2
- package/dist/core/{p-fb7f4e2e.entry.js.map → p-fbb0a74d.entry.js.map} +1 -1
- package/dist/core/{p-b88585bf.entry.js → p-fbd80981.entry.js} +2 -2
- package/dist/core/{p-b88585bf.entry.js.map → p-fbd80981.entry.js.map} +1 -1
- package/dist/core/{p-e18ba5d6.entry.js → p-fffb98c9.entry.js} +2 -2
- package/dist/core/{p-e18ba5d6.entry.js.map → p-fffb98c9.entry.js.map} +1 -1
- package/dist/esm/clear-icon-1c79bda2.js +8 -0
- package/dist/esm/clear-icon-1c79bda2.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-d9387cd3.js → helpers-89cb996d.js} +2 -2
- package/dist/esm/helpers-89cb996d.js.map +1 -0
- package/dist/esm/{helpers-574534c9.js → helpers-dea3fd9b.js} +2 -2
- package/dist/esm/{helpers-574534c9.js.map → helpers-dea3fd9b.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 +112 -0
- package/dist/esm/ic-action-chip.entry.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +4 -4
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +3 -3
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +3 -3
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +41 -86
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +1 -1
- package/dist/esm/ic-card-vertical.entry.js +5 -5
- package/dist/esm/ic-card-vertical.entry.js.map +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 +8 -8
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +12 -4
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-classification-banner.entry.js.map +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-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +44 -57
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +26 -18
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js +2 -2
- 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 +4 -4
- package/dist/esm/ic-footer.entry.js.map +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 +217 -0
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
- 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-input-component-container_3.entry.js → ic-menu.entry.js} +7 -96
- package/dist/esm/ic-menu.entry.js.map +1 -0
- package/dist/esm/ic-navigation-button.entry.js +3 -3
- package/dist/esm/ic-navigation-button.entry.js.map +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 +3 -3
- package/dist/esm/ic-navigation-item.entry.js.map +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 +18 -18
- 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 +1 -1
- 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 +3 -3
- package/dist/esm/ic-tab.entry.js.map +1 -1
- 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 +939 -0
- package/dist/esm/ic-time-input.entry.js.map +1 -0
- 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 +5 -5
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +3 -3
- package/dist/esm/ic-tree-view.entry.js +4 -4
- package/dist/esm/ic-typography.entry.js +3 -3
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-a7a720e7.js +12 -4
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +12 -7
- package/dist/types/components/ic-data-table/story-data.d.ts +11 -20
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -1
- package/dist/types/components/ic-time-input/ic-time-input.d.ts +229 -0
- package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +121 -0
- package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +23 -0
- package/dist/types/components.d.ts +234 -2
- package/dist/types/utils/types.d.ts +5 -0
- package/hydrate/index.js +1439 -361
- package/hydrate/index.mjs +1439 -361
- package/package.json +3 -3
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -133
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
- package/dist/core/p-032113b9.entry.js +0 -2
- package/dist/core/p-156fc5f1.entry.js +0 -2
- package/dist/core/p-156fc5f1.entry.js.map +0 -1
- package/dist/core/p-1e256460.entry.js +0 -2
- package/dist/core/p-1ffac8ae.entry.js +0 -2
- package/dist/core/p-1ffac8ae.entry.js.map +0 -1
- package/dist/core/p-224b2e14.entry.js +0 -2
- package/dist/core/p-224b2e14.entry.js.map +0 -1
- package/dist/core/p-497918fd.entry.js +0 -2
- package/dist/core/p-8cb5deba.entry.js +0 -2
- package/dist/core/p-95881758.entry.js +0 -2
- package/dist/core/p-95881758.entry.js.map +0 -1
- package/dist/core/p-a26a60ff.entry.js +0 -2
- package/dist/core/p-c67381b1.entry.js +0 -2
- package/dist/core/p-c67381b1.entry.js.map +0 -1
- package/dist/core/p-cdd6d5e8.entry.js +0 -2
- package/dist/core/p-cdd6d5e8.entry.js.map +0 -1
- package/dist/core/p-e253a857.js.map +0 -1
- package/dist/esm/helpers-d9387cd3.js.map +0 -1
- package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
- package/dist/esm/ic-input-label_2.entry.js +0 -128
- package/dist/esm/ic-input-label_2.entry.js.map +0 -1
- /package/dist/core/{p-0fe08a58.js.map → p-33927ee1.js.map} +0 -0
- /package/dist/core/{p-78635447.entry.js.map → p-558936fb.entry.js.map} +0 -0
- /package/dist/core/{p-75901d06.entry.js.map → p-86ff903d.entry.js.map} +0 -0
- /package/dist/core/{p-ead0acc3.entry.js.map → p-8908b8e6.entry.js.map} +0 -0
- /package/dist/core/{p-832c7042.entry.js.map → p-8bf1022e.entry.js.map} +0 -0
- /package/dist/core/{p-5237f3ac.entry.js.map → p-97c437bb.entry.js.map} +0 -0
- /package/dist/core/{p-755bdc43.entry.js.map → p-b8938f93.entry.js.map} +0 -0
- /package/dist/core/{p-b3509380.entry.js.map → p-c4bf8742.entry.js.map} +0 -0
- /package/dist/core/{p-3cf99186.entry.js.map → p-c6eabd53.entry.js.map} +0 -0
- /package/dist/core/{p-d04b75cb.entry.js.map → p-c82a2e84.entry.js.map} +0 -0
- /package/dist/core/{p-a54eb1d1.entry.js.map → p-d5f8ef77.entry.js.map} +0 -0
- /package/dist/core/{p-cc36abaa.entry.js.map → p-db6d0463.entry.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icNavigationGroupCss","IcNavigationGroupStyle0","IC_NAVIGATION_ITEM","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","NODE_NAME","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItemHeights","collapsedNavItemsHeight","expandedNavItemsHeight","mouseGate","deviceSize","DEVICE_SIZES","XL","dropdownOpen","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavExpanded","expandable","expanded","theme","sideNavExpandHandler","event","detail","sideNavExpanded","linkWrapper","navItemsHeight","setGroupedLinksElementHeight","setTimeout","topNavResizedHandler","size","_a","parentEl","customMobileBreakpoint","L","toggleExpanded","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","handleClick","ev","navigationType","toggleDropdown","handleBlur","contains","relatedTarget","hideDropdown","handleKeydown","key","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","nodeName","handleMouseEnter","addEventListener","showDropdown","renderGroupTitleText","h","id","variant","label","renderNavigationItems","class","selected","onMouseLeave","undefined","ref","height","style","setProperty","disconnectedCallback","_b","removeEventListener","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","reduce","childrenHeights","offsetHeight","childBlurHandler","handleNavigationGroupOpened","source","navItemClickHandler","brandChangeHandler","mode","setFocus","groupEl","focus","navigationGroupExpanded","emit","navigationGroupOpened","render","getExpandedClassSuffix","prop","navGroupTitleClassNames","isSideNav","isTopNav","isTopNavDesktop","ariaExpanded","Host","role","onMouseEnter","onBlur","onClick","onKeyDown","innerHTML","chevronIcon","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-group/ic-navigation-group.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-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: -moz-fit-content;\n width: fit-content;\n color: var(--ic-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-pressed);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.ic-navigation-group-expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCurrentDeviceSize, getBrandForegroundAppearance, getNavItemParentDetails, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\nexport class NavigationGroup {\n constructor() {\n this.allGroupedNavigationItemHeights = \"\";\n this.collapsedNavItemsHeight = null;\n this.expandedNavItemsHeight = null;\n this.mouseGate = false;\n this.deviceSize = DEVICE_SIZES.XL;\n this.dropdownOpen = false;\n this.focusStyle = getBrandForegroundAppearance();\n this.inTopNavSideMenu = false;\n this.isSideNavExpanded = false;\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n this.expandable = false;\n /**\n * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\n */\n this.expanded = 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 this.sideNavExpandHandler = (event) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n if (!this.linkWrapper || !this.expanded)\n return;\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n }\n else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n this.topNavResizedHandler = ({ detail: { size }, }) => {\n var _a;\n if (size === this.deviceSize)\n return;\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.customMobileBreakpoint) ||\n DEVICE_SIZES.L);\n };\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper)\n return;\n this.setGroupedLinksElementHeight(!this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight);\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n var _a;\n const navItem = ((_a = navigationItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"a\")) ||\n navigationItem.querySelector(\"a\");\n navItem === null || navItem === void 0 ? void 0 : navItem.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n this.handleClick = (ev) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n }\n else {\n this.toggleExpanded();\n }\n };\n this.handleBlur = (ev) => {\n if (!this.el.contains(ev.relatedTarget)) {\n this.hideDropdown();\n }\n };\n this.handleKeydown = (ev) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\")\n return;\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\n }\n else if (!this.inTopNavSideMenu) {\n this.hideDropdown();\n }\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n };\n this.handleMouseLeave = (ev) => {\n const relTarget = ev.relatedTarget;\n this.mouseGate = false;\n if (this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement))\n return;\n if (document.activeElement !== this.el &&\n (relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === NODE_NAME &&\n this.dropdownOpen) {\n this.mouseGate = true;\n this.hideDropdown();\n }\n else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n this.handleMouseEnter = (ev) => {\n const relTarget = ev.relatedTarget;\n document.addEventListener(\"keydown\", this.handleKeydown);\n if ((relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n }\n else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate)\n this.showDropdown();\n }, 500);\n }\n };\n this.renderGroupTitleText = () => (h(\"ic-typography\", { id: \"nav-group-title\", variant: this.navigationType === \"side\" ? \"caption\" : \"label\" }, this.label));\n this.renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (h(\"div\", { class: {\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }, onMouseLeave: !this.inTopNavSideMenu ? this.handleMouseLeave : undefined, ref: (el) => (this.dropdown = el) }, h(\"nav\", { class: {\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }, \"aria-labelledby\": \"nav-group-title\" }, h(\"ul\", null, h(\"slot\", null)))));\n }\n if (this.navigationType !== \"top\") {\n return (h(\"ul\", { ref: (el) => (this.linkWrapper = el), class: \"grouped-links-wrapper\" }, h(\"slot\", null)));\n }\n return null;\n };\n this.setGroupedLinksElementHeight = (height) => {\n var _a;\n (_a = this.linkWrapper) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"--navigation-child-items-height\", height);\n };\n }\n disconnectedCallback() {\n var _a, _b;\n if (this.navigationType === \"side\") {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n }\n }\n componentWillLoad() {\n var _a, _b;\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n if (this.navigationType === \"side\") {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.addEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.addEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n if (this.deviceSize <=\n this.parentEl.customMobileBreakpoint)\n this.inTopNavSideMenu = true;\n }\n }\n componentDidLoad() {\n this.allGroupedNavigationItemHeights = `${Array.from(this.el.querySelectorAll(IC_NAVIGATION_ITEM)).reduce((childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight, 0)}px`;\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => {\n if (!this.linkWrapper || !this.expanded)\n return;\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n childBlurHandler() {\n this.hideDropdown();\n }\n handleNavigationGroupOpened(event) {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n navItemClickHandler() {\n this.hideDropdown();\n }\n brandChangeHandler(ev) {\n this.focusStyle = ev.detail.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n var _a;\n (_a = this.groupEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n this.toggleDropdown();\n }\n }\n hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n render() {\n const { dropdownOpen, expanded, inTopNavSideMenu, expandable, theme, isSideNavExpanded, focusStyle, } = this;\n const getExpandedClassSuffix = (prop) => prop ? \"expanded\" : \"collapsed\";\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]: inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n return (h(Host, { key: '1c16958eaa37fb0d37d04178e7bd2d469af832f6', class: {\n \"in-side-menu\": inTopNavSideMenu,\n \"ic-navigation-group-expandable\": expandable,\n \"ic-navigation-group-side-nav\": isSideNav,\n [`ic-navigation-group-${getExpandedClassSuffix(expanded)}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, role: \"listitem\" }, expandable || isTopNavDesktop ? (h(\"button\", { onMouseEnter: isTopNavDesktop ? this.handleMouseEnter : undefined, onMouseLeave: isTopNav ? this.handleMouseLeave : undefined, onBlur: this.handleBlur, onClick: this.handleClick, onKeyDown: this.handleKeydown, class: navGroupTitleClassNames, ref: (el) => (this.groupEl = el), \"aria-expanded\": `${ariaExpanded}`, \"aria-haspopup\": `${isTopNavDesktop}` }, this.renderGroupTitleText(), isSideNav && expandable && (h(\"div\", { class: {\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }, innerHTML: chevronIcon })))) : ((!isSideNav || isSideNavExpanded) && (h(\"div\", { class: navGroupTitleClassNames }, this.renderGroupTitleText()))), this.renderNavigationItems()));\n }\n static get is() { return \"ic-navigation-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-group.css\"]\n };\n }\n static get properties() {\n return {\n \"expandable\": {\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 group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display on the group.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\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 };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"dropdownOpen\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"navigationType\": {},\n \"parentEl\": {},\n \"isSideNavExpanded\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"navigationGroupOpened\",\n \"name\": \"navigationGroupOpened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcNavigationOpenEventDetail\",\n \"resolved\": \"IcNavigationOpenEventDetail\",\n \"references\": {\n \"IcNavigationOpenEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-navigation-group.types\",\n \"id\": \"src/components/ic-navigation-group/ic-navigation-group.types.ts::IcNavigationOpenEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"navigationGroupExpanded\",\n \"name\": \"navigationGroupExpanded\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcNavigationExpandEventDetail\",\n \"resolved\": \"IcNavigationExpandEventDetail\",\n \"references\": {\n \"IcNavigationExpandEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-navigation-group.types\",\n \"id\": \"src/components/ic-navigation-group/ic-navigation-group.types.ts::IcNavigationExpandEventDetail\"\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 nav item.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"childBlur\",\n \"method\": \"childBlurHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"navigationGroupOpened\",\n \"method\": \"handleNavigationGroupOpened\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"navItemClicked\",\n \"method\": \"navItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-group.js.map\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["icNavigationGroupCss","IcNavigationGroupStyle0","IC_NAVIGATION_ITEM","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","NODE_NAME","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItemHeights","collapsedNavItemsHeight","expandedNavItemsHeight","mouseGate","deviceSize","DEVICE_SIZES","XL","dropdownOpen","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavExpanded","expandable","expanded","theme","sideNavExpandHandler","event","detail","sideNavExpanded","linkWrapper","navItemsHeight","setGroupedLinksElementHeight","setTimeout","topNavResizedHandler","size","_a","parentEl","customMobileBreakpoint","L","toggleExpanded","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","handleClick","ev","navigationType","toggleDropdown","handleBlur","contains","relatedTarget","hideDropdown","handleKeydown","key","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","nodeName","handleMouseEnter","addEventListener","showDropdown","renderGroupTitleText","h","id","variant","label","renderNavigationItems","class","selected","onMouseLeave","undefined","ref","height","style","setProperty","disconnectedCallback","_b","removeEventListener","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","reduce","childrenHeights","offsetHeight","childBlurHandler","handleNavigationGroupOpened","source","navItemClickHandler","brandChangeHandler","mode","setFocus","groupEl","focus","navigationGroupExpanded","emit","navigationGroupOpened","render","getExpandedClassSuffix","prop","navGroupTitleClassNames","isSideNav","isTopNav","isTopNavDesktop","ariaExpanded","Host","role","onMouseEnter","onBlur","onClick","onKeyDown","innerHTML","chevronIcon","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-group/ic-navigation-group.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-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: -moz-fit-content;\n width: fit-content;\n color: var(--ic-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-pressed);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.ic-navigation-group-expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCurrentDeviceSize, getBrandForegroundAppearance, getNavItemParentDetails, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\nexport class NavigationGroup {\n constructor() {\n this.allGroupedNavigationItemHeights = \"\";\n this.collapsedNavItemsHeight = null;\n this.expandedNavItemsHeight = null;\n this.mouseGate = false;\n this.deviceSize = DEVICE_SIZES.XL;\n this.dropdownOpen = false;\n this.focusStyle = getBrandForegroundAppearance();\n this.inTopNavSideMenu = false;\n this.isSideNavExpanded = false;\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n this.expandable = false;\n /**\n * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\n */\n this.expanded = 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 this.sideNavExpandHandler = (event) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n if (!this.linkWrapper || !this.expanded)\n return;\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n }\n else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n this.topNavResizedHandler = ({ detail: { size }, }) => {\n var _a;\n if (size === this.deviceSize)\n return;\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.customMobileBreakpoint) ||\n DEVICE_SIZES.L);\n };\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper)\n return;\n this.setGroupedLinksElementHeight(!this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight);\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n var _a;\n const navItem = ((_a = navigationItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"a\")) ||\n navigationItem.querySelector(\"a\");\n navItem === null || navItem === void 0 ? void 0 : navItem.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n this.handleClick = (ev) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n }\n else {\n this.toggleExpanded();\n }\n };\n this.handleBlur = (ev) => {\n if (!this.el.contains(ev.relatedTarget)) {\n this.hideDropdown();\n }\n };\n this.handleKeydown = (ev) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\")\n return;\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\n }\n else if (!this.inTopNavSideMenu) {\n this.hideDropdown();\n }\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n };\n this.handleMouseLeave = (ev) => {\n const relTarget = ev.relatedTarget;\n this.mouseGate = false;\n if (this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement))\n return;\n if (document.activeElement !== this.el &&\n (relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === NODE_NAME &&\n this.dropdownOpen) {\n this.mouseGate = true;\n this.hideDropdown();\n }\n else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n this.handleMouseEnter = (ev) => {\n const relTarget = ev.relatedTarget;\n document.addEventListener(\"keydown\", this.handleKeydown);\n if ((relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n }\n else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate)\n this.showDropdown();\n }, 500);\n }\n };\n this.renderGroupTitleText = () => (h(\"ic-typography\", { id: \"nav-group-title\", variant: this.navigationType === \"side\" ? \"caption\" : \"label\" }, this.label));\n this.renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (h(\"div\", { class: {\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }, onMouseLeave: !this.inTopNavSideMenu ? this.handleMouseLeave : undefined, ref: (el) => (this.dropdown = el) }, h(\"nav\", { class: {\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }, \"aria-labelledby\": \"nav-group-title\" }, h(\"ul\", null, h(\"slot\", null)))));\n }\n if (this.navigationType !== \"top\") {\n return (h(\"ul\", { ref: (el) => (this.linkWrapper = el), class: \"grouped-links-wrapper\" }, h(\"slot\", null)));\n }\n return null;\n };\n this.setGroupedLinksElementHeight = (height) => {\n var _a;\n (_a = this.linkWrapper) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"--navigation-child-items-height\", height);\n };\n }\n disconnectedCallback() {\n var _a, _b;\n if (this.navigationType === \"side\") {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n }\n }\n componentWillLoad() {\n var _a, _b;\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n if (this.navigationType === \"side\") {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.addEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.addEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n if (this.deviceSize <=\n this.parentEl.customMobileBreakpoint)\n this.inTopNavSideMenu = true;\n }\n }\n componentDidLoad() {\n this.allGroupedNavigationItemHeights = `${Array.from(this.el.querySelectorAll(IC_NAVIGATION_ITEM)).reduce((childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight, 0)}px`;\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => {\n if (!this.linkWrapper || !this.expanded)\n return;\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n childBlurHandler() {\n this.hideDropdown();\n }\n handleNavigationGroupOpened(event) {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n navItemClickHandler() {\n this.hideDropdown();\n }\n brandChangeHandler(ev) {\n this.focusStyle = ev.detail.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n var _a;\n (_a = this.groupEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n this.toggleDropdown();\n }\n }\n hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n render() {\n const { dropdownOpen, expanded, inTopNavSideMenu, expandable, theme, isSideNavExpanded, focusStyle, } = this;\n const getExpandedClassSuffix = (prop) => prop ? \"expanded\" : \"collapsed\";\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]: inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n return (h(Host, { key: 'c9fd5c0334c5a73ed68f4e6ad29fecaead553879', class: {\n \"in-side-menu\": inTopNavSideMenu,\n \"ic-navigation-group-expandable\": expandable,\n \"ic-navigation-group-side-nav\": isSideNav,\n [`ic-navigation-group-${getExpandedClassSuffix(expanded)}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, role: \"listitem\" }, expandable || isTopNavDesktop ? (h(\"button\", { onMouseEnter: isTopNavDesktop ? this.handleMouseEnter : undefined, onMouseLeave: isTopNav ? this.handleMouseLeave : undefined, onBlur: this.handleBlur, onClick: this.handleClick, onKeyDown: this.handleKeydown, class: navGroupTitleClassNames, ref: (el) => (this.groupEl = el), \"aria-expanded\": `${ariaExpanded}`, \"aria-haspopup\": `${isTopNavDesktop}` }, this.renderGroupTitleText(), isSideNav && expandable && (h(\"div\", { class: {\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }, innerHTML: chevronIcon })))) : ((!isSideNav || isSideNavExpanded) && (h(\"div\", { class: navGroupTitleClassNames }, this.renderGroupTitleText()))), this.renderNavigationItems()));\n }\n static get is() { return \"ic-navigation-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-group.css\"]\n };\n }\n static get properties() {\n return {\n \"expandable\": {\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 group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display on the group.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\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 };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"dropdownOpen\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"navigationType\": {},\n \"parentEl\": {},\n \"isSideNavExpanded\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"navigationGroupOpened\",\n \"name\": \"navigationGroupOpened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcNavigationOpenEventDetail\",\n \"resolved\": \"IcNavigationOpenEventDetail\",\n \"references\": {\n \"IcNavigationOpenEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-navigation-group.types\",\n \"id\": \"src/components/ic-navigation-group/ic-navigation-group.types.ts::IcNavigationOpenEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"navigationGroupExpanded\",\n \"name\": \"navigationGroupExpanded\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcNavigationExpandEventDetail\",\n \"resolved\": \"IcNavigationExpandEventDetail\",\n \"references\": {\n \"IcNavigationExpandEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-navigation-group.types\",\n \"id\": \"src/components/ic-navigation-group/ic-navigation-group.types.ts::IcNavigationExpandEventDetail\"\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 nav item.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"childBlur\",\n \"method\": \"childBlurHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"navigationGroupOpened\",\n \"method\": \"handleNavigationGroupOpened\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"navItemClicked\",\n \"method\": \"navItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-group.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 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:"0df9be3f91695a070675c0809d85e94e4d64ec3b"})}get el(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};export{a as ic_tab_context};
|
2
|
+
//# sourceMappingURL=p-f34eee68.entry.js.map
|
@@ -1 +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 * @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) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: 'b2129a3c599ca4b97df30f14833761780c2c0940' });\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 \"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
|
+
{"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 * @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) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: '0df9be3f91695a070675c0809d85e94e4d64ec3b' });\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 \"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":"yDACA,MAAMA,EAAkB,a,MACXC,EAAU,MACnB,WAAAC,CAAAC,G,mDACIC,KAAKC,aAAe,GACpBD,KAAKE,QAAU,GAIfF,KAAKG,eAAiB,YAItBH,KAAKI,UAAY,UAIjBJ,KAAKK,WAAa,MAIlBL,KAAKM,MAAQ,UAEbN,KAAKO,SAAW,KACZP,KAAKQ,KAAKC,SAAQ,CAACC,EAAKC,KACpB,MAAMC,EAAQ,UAAUD,aAAiBX,KAAKI,YAC9C,MAAMS,EAAa,gBAAgBF,aAAiBX,KAAKI,YACzDM,EAAII,aAAa,KAAMF,GACvBF,EAAIE,MAAQ,WAAWD,aAAiBX,KAAKI,YAC7CM,EAAIK,YAAcJ,EAClBD,EAAII,aAAa,gBAAiBD,GAClCb,KAAKgB,UAAUL,GAAOG,aAAa,KAAMD,GACzCb,KAAKgB,UAAUL,GAAOG,aAAa,kBAAmBF,GACtD,GAAIZ,KAAKI,UAAW,CAChBM,EAAII,aAAalB,EAAiBI,KAAKI,WACvCJ,KAAKiB,UACDjB,KAAKiB,SAASH,aAAalB,EAAiBI,KAAKI,WACrDJ,KAAKgB,UAAUL,GAAOG,aAAalB,EAAiBI,KAAKI,U,CAE7DM,EAAIJ,MAAQN,KAAKM,MACjBN,KAAKgB,UAAUL,GAAOL,MAAQN,KAAKM,MACnCN,KAAKiB,WAAajB,KAAKiB,SAASX,MAAQN,KAAKM,MAAM,GACrD,EAKNN,KAAKkB,YAAc,KACf,IAAIC,EACJnB,KAAKiB,SAAWjB,KAAKoB,GAAGC,cAAc,gBACtCrB,KAAKQ,KAAOc,MAAMC,OAAOJ,EAAKnB,KAAKiB,YAAc,MAAQE,SAAY,OAAS,EAAIA,EAAGK,iBAAiB,YAAc,IACpHxB,KAAKgB,UAAYM,MAAMC,KAAKvB,KAAKoB,GAAGK,UAAUC,QAAQC,GAAUA,EAAMC,UAAY,iBAClF5B,KAAK6B,YAAc7B,KAAK8B,gBAAgB,EAE5C9B,KAAK+B,eAAkBC,IACnB,MAAMC,EAAWjC,KAAKG,iBAAmB,SACzC,MAAM+B,EAAkBlC,KAAK6B,YAAYM,WAAWzB,GAAQA,EAAIE,QAC5DZ,KAAKQ,KAAKyB,EAAWjC,KAAKoC,gBAAkBpC,KAAKqC,aAAe,GAAGzB,QACvE,MAAM0B,EAAmBL,EACnBjC,KAAKuC,iBACLvC,KAAKwC,kBACX,IAAIC,EAAiB,KACrB,OAAQT,EAAMU,KACV,IAAK,OACDJ,EAAiB,GACjB,MACJ,IAAK,MACDA,EAAiBtC,KAAK6B,YAAYc,OAAS,GAC3C,MACJ,IAAK,aACDL,EAAiBJ,EAAkBlC,KAAK6B,YAAYc,OAAS,EACvDT,EAAkB,EAClB,GACN,MACJ,IAAK,YACDI,GAAkBJ,EAAkB,EAAIA,EAAkBlC,KAAK6B,YAAYc,QAAU,GACrF,MACJ,QACI,GAAIV,IAAaD,EAAMU,MAAQ,SAAWV,EAAMU,MAAQ,KAAM,CAC1D1C,KAAKwC,kBAAkBxC,KAAKoC,gB,KAE3B,CACDK,EAAiB,K,EAG7B,GAAIA,EACAT,EAAMS,gBAAgB,EAG9BzC,KAAK4C,cAAgB,KACjB,GAAI5C,KAAK6C,mBAAqBC,UAAW,CACrC9C,KAAKqC,YAAcrC,KAAK6C,iBACxB7C,KAAKoC,gBAAkBpC,KAAK6C,gB,KAE3B,CACD,MAAME,EAAuB/C,KAAKQ,KAAK2B,WAAWzB,GAAQA,EAAIE,QAAUZ,KAAK6B,YAAY,GAAGjB,QAC5FZ,KAAKqC,YAAcU,EACnB/C,KAAKoC,gBAAkBW,C,GAI/B/C,KAAKgD,cAAgB,KACjBhD,KAAK6B,YAAYpB,SAASC,IACtBA,EAAIuC,SAAWvC,EAAIK,cAAgBf,KAAKqC,WAAW,IAEvDrC,KAAKgB,UAAUP,SAAQ,CAACyC,EAAUvC,KAC9BuC,EAASC,OAASxC,IAAUX,KAAKqC,WAAW,GAC9C,EAENrC,KAAK8B,eAAiB,IAAMR,MAAMC,KAAKvB,KAAKQ,MAAMkB,QAAQC,IAAWA,EAAMyB,WAE3EpD,KAAKwC,kBAAqBN,IACtB,IAAIf,EAAIkC,EACR,MAAMC,EAAWtD,KAAKQ,KAAK2B,WAAWzB,GAAQA,EAAIE,QAAUZ,KAAK6B,YAAYK,GAAiBtB,QAC9FZ,KAAK6B,YAAYK,GAAiBqB,QAClC,GAAIvD,KAAK6C,mBAAqBC,UAAW,CACrC9C,KAAKqC,YAAciB,C,KAElB,CAEDtD,KAAKwD,YAAYC,KAAK,CAClBC,SAAUJ,EACVK,WAAYN,GAAMlC,EAAKnB,KAAKoB,GAAGI,iBAAiB,UAAU8B,MAAe,MAAQnC,SAAY,OAAS,EAAIA,EAAGyC,eAAiB,MAAQP,SAAY,OAAS,EAAIA,EAAGQ,SAC9J,I,GAKhB7D,KAAKuC,iBAAoBL,IACrBlC,KAAK6B,YAAYK,GAAiBqB,QAClCvD,KAAKoC,gBAAkBpC,KAAKQ,KAAK2B,WAAWzB,GAAQA,EAAIE,QAAUZ,KAAK6B,YAAYK,GAAiBtB,OAAM,C,CAGlH,iBAAAkD,CAAkBC,GACd/D,KAAKqC,YAAc0B,C,CAEvB,sBAAAC,GACIhE,KAAKQ,KAAKC,SAAQ,CAACC,EAAKC,KACpBD,EAAIL,WAAaL,KAAKK,WACtBL,KAAKgB,UAAUL,GAAON,WAAaL,KAAKK,UAAU,IAEtDL,KAAKiB,WAAajB,KAAKiB,SAASZ,WAAaL,KAAKK,W,CAEtD,iBAAA4D,GACIjE,KAAKQ,KAAKC,SAAQ,CAACC,EAAKC,KACpBD,EAAIJ,MAAQN,KAAKM,MACjBN,KAAKgB,UAAUL,GAAOL,MAAQN,KAAKM,KAAK,IAE5CN,KAAKiB,WAAajB,KAAKiB,SAASX,MAAQN,KAAKM,M,CAEjD,gBAAA4D,GACI,GAAIlE,KAAK6C,mBAAqBC,UAAW,CACrC9C,KAAKqC,YAAcrC,KAAK6C,gB,CAE5B7C,KAAKkB,cACLlB,KAAKO,WACLP,KAAKiB,UACDjB,KAAKiB,SAASkD,iBAAiB,UAAWnE,KAAK+B,gBACnD/B,KAAK4C,gBACL5C,KAAKgD,e,CAET,mBAAAoB,GACIpE,KAAKgD,e,CAET,oBAAAqB,GACI,IAAIlD,GACHA,EAAKnB,KAAKiB,YAAc,MAAQE,SAAY,OAAS,EAAIA,EAAGmD,oBAAoB,UAAWtE,KAAK+B,e,CAErG,eAAAwC,CAAgBvC,GACZ,IAAIb,EAAIkC,EACR,GAAIrD,KAAK6C,mBAAqBC,WAC1Bd,EAAMwC,OAAOpE,YAAcJ,KAAKI,UAAW,CAC3CJ,KAAKqC,YAAcL,EAAMwC,OAAOC,Q,CAGpCzE,KAAKwD,YAAYC,KAAK,CAClBC,SAAU1B,EAAMwC,OAAOC,SACvBd,WAAYN,GAAMlC,EAAKnB,KAAKoB,GACvBI,iBAAiB,UAAUQ,EAAMwC,OAAOC,aAAe,MAAQtD,SAAY,OAAS,EAAIA,EAAGyC,eAAiB,MAAQP,SAAY,OAAS,EAAIA,EAAGQ,SAAW,KAGpK7B,EAAM0C,0B,CAEV,iBAAAC,CAAkBC,GACd,GAAI5E,KAAKQ,MAAQR,KAAKgB,UAAW,EAC5B4D,EAAGJ,OAAOK,SAAW7E,KAAKE,QAAUF,KAAKC,cAAc6E,KAAKF,EAAGJ,QAChE,GAAIxE,KAAKE,QAAQyC,SAAW3C,KAAKC,aAAa0C,OAAQ,CAClD3C,KAAKQ,KAAKsE,QAAQ9E,KAAKE,SACvBF,KAAKgB,UAAU8D,QAAQ9E,KAAKC,cAC5BD,KAAK6B,YAAc7B,KAAK8B,iBACxB9B,KAAKO,WACL,GAAIP,KAAKqC,eACHrC,KAAKQ,KAAKR,KAAKqC,eAAiBrC,KAAKgB,UAAUhB,KAAKqC,cACtDrC,KAAK4C,gBACT5C,KAAKgD,gBACLhD,KAAKE,QAAU,GACfF,KAAKC,aAAe,E,GAIhC,iBAAA8E,GACI/E,KAAK6B,YAAc7B,KAAK8B,gB,CAK5B,uBAAMkD,CAAkBC,GACpBjF,KAAKkB,cACLlB,KAAKO,WACL,GAAIP,KAAKqC,aACLrC,KAAKQ,KAAKR,KAAKqC,cACfrC,KAAKgB,UAAUhB,KAAKqC,aAAc,CAClCrC,KAAKQ,KAAKR,KAAKqC,aAAaY,SAAW,I,KAEtC,CACDjD,KAAK4C,e,CAET,GAAIqC,GAAYjF,KAAKqC,YAAa,CAC9BrC,KAAKQ,KAAKR,KAAKqC,aAAawC,U,EAGpC,MAAAK,GACI,OAAOC,EAAE,OAAQ,CAAEzC,IAAK,4C","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,c as t,h as i,H as a,g as o}from"./p-8e4e97b4.js";import{r,
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as t,h as i,H as a,g as o}from"./p-8e4e97b4.js";import{r,o as c,k as l,l as n}from"./p-33927ee1.js";const s='/*! 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}:host{display:block;--ic-input-label-text-color:var(--ic-checkbox-group-label);--ic-input-label-helper-text-color:var(--ic-checkbox-group-subtitle);--ic-input-validation-error:var(--ic-checkbox-state-icon-error);--ic-input-validation-status-text-color:var(--ic-checkbox-state-text)}:host(.ic-checkbox-group-disabled){--ic-input-label-text-color:var(--ic-checkbox-group-label-disabled);--ic-input-label-helper-text-color:var(\n --ic-checkbox-group-subtitle-disabled\n )}ic-input-label.error{color:var(--ic-checkbox-group-label-error);--ic-typography-color:var(--ic-checkbox-group-label-error);--ic-input-label-helper-text-color:var(--ic-checkbox-group-subtitle-error)}ic-input-label:not(.with-helper) .ic-typography-label,ic-input-label .helpertext{margin-bottom:var(--ic-space-sm)}:host(.ic-checkbox-group-small) ic-input-label:not(.with-helper) .ic-typography-label,:host(.ic-checkbox-group-small) ic-input-label .helpertext{margin-bottom:calc(var(--ic-space-sm) / 2)}:host(.ic-checkbox-group-large) ic-input-label:not(.with-helper) .ic-typography-label,:host(.ic-checkbox-group-large) ic-input-label .helpertext{margin-bottom:calc(var(--ic-space-sm) * 1.5)}ic-input-label .helpertext{display:block}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.ic-checkbox-group-small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}:host(.ic-checkbox-group-large) ic-input-validation{margin-top:calc(var(--ic-space-sm) * 1.5)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.ic-checkbox-group-small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}.screen-reader-only-text:dir(rtl){right:-9999px}';const b=s;const d="ic-checkbox";const p=class{constructor(i){e(this,i);this.icChange=t(this,"icChange",7);this.disabled=false;this.helperText="";this.hideLabel=false;this.required=false;this.size="medium";this.theme="inherit";this.validationStatus="";this.validationText=""}watchDisabledHandler(){r(this.disabled,this.el)}labelNameHandler(e,t,i){Array.from(this.el.querySelectorAll(d)).forEach((a=>{if(i==="label")a.groupLabel=e;else if(a.name===t){a.name=e}}))}watchThemeHandler(e){Array.from(this.el.querySelectorAll(d)).forEach((t=>{t.theme=e}))}handleChange(e){if(e.target.tagName==="IC-TEXT-FIELD"){e.stopImmediatePropagation()}}componentWillLoad(){r(this.disabled,this.el);this.watchThemeHandler(this.theme)}componentDidLoad(){c([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Checkbox Group")}selectHandler({target:e}){const t=Array.from(this.el.querySelectorAll(d)).filter((({checked:e,disabled:t})=>e&&!t));this.icChange.emit({value:t.map((({value:e})=>e)),checkedOptions:t.map((e=>{var t;return{checkbox:e,textFieldValue:(t=e.querySelector("ic-text-field"))===null||t===void 0?void 0:t.value}})),selectedOption:e})}render(){const{disabled:e,helperText:t,hideLabel:o,label:r,name:c,required:s,size:b,theme:d,validationStatus:p,validationText:h}=this;const u=l(this.el,c,t!=="",p!=="");const m=p==="error"||s||o;return i(a,{key:"977492f0ca432ab5dc9d7435c66cf6aafa8c44f1",class:{"ic-checkbox-group-disabled":!!e,[`ic-checkbox-group-${b}`]:true,[`ic-theme-${d}`]:d!=="inherit"}},m&&i("span",{key:"5a9d1c9fcf5f1b837e4f6ff3ae516db0b105e1ac",id:"screenReaderOnlyText",class:"screen-reader-only-text","aria-hidden":"true"},r," ",p==="error"?"invalid data ":null," ",s?"required":null),i("fieldset",{key:"c3afb98a671db4dba8229d461c33d4b5a69d5e31",id:c,"aria-labelledby":`${m?"screenReaderOnlyText":""} ${u}`.trim(),disabled:e},!o&&i("legend",{key:"bc4e450767c3fb6f7deb01370d9d1599d4515417"},i("ic-input-label",{key:"7c0c76b80d4b89673495b56a79cf8a05f0a224f3",class:{[`${p}`]:true},label:r,helperText:t,required:s,disabled:e,useLabelTag:false},i("slot",{key:"348730e9c8ffbd0701a00e9380a11e403957604b",name:"helper-text",slot:"helper-text"}))),i("div",{key:"c4065c98766a8447ed51c0a84f953cc70c529d2c",class:"checkboxes-container"},i("slot",{key:"cadbff332d84cf70bbbb42f1c40f4cb0bc705e38"}))),n(p,e)&&i("ic-input-validation",{key:"0259abfb51282b2dfc8ed9aed0a2b97ccb769ac2",for:c,ariaLiveMode:"polite",status:p,message:h}))}get el(){return o(this)}static get watchers(){return{disabled:["watchDisabledHandler"],label:["labelNameHandler"],name:["labelNameHandler"],theme:["watchThemeHandler"]}}};p.style=b;export{p as ic_checkbox_group};
|
2
|
+
//# sourceMappingURL=p-fbb0a74d.entry.js.map
|