@ukic/web-components 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-8217daf4.js → helpers-a0e78e2e.js} +31 -7
- package/dist/cjs/helpers-a0e78e2e.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +2 -2
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +4 -4
- package/dist/cjs/ic-badge.cjs.entry.js +4 -4
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/ic-button_3.cjs.entry.js +56 -96
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +5 -5
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +13 -5
- 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-data-list.cjs.entry.js +3 -3
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +4 -4
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js +4 -4
- package/dist/cjs/ic-hero.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
- package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
- package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
- package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
- package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
- package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-select.cjs.entry.js +7 -7
- package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-step.cjs.entry.js +14 -14
- package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
- package/dist/cjs/ic-switch.cjs.entry.js +5 -5
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +3 -3
- package/dist/cjs/ic-text-field.cjs.entry.js +7 -7
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +5 -5
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-typography.cjs.entry.js +3 -3
- package/dist/cjs/index-d337cd8a.js +12 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/ai-icon.svg +11 -0
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.css +644 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.js +564 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.stories.js +386 -0
- package/dist/collection/components/ic-alert/ic-alert.css +13 -0
- package/dist/collection/components/ic-alert/ic-alert.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -3
- package/dist/collection/components/ic-badge/ic-badge.css +4 -0
- package/dist/collection/components/ic-badge/ic-badge.js +3 -3
- package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
- package/dist/collection/components/ic-button/ic-button.css +3 -11
- package/dist/collection/components/ic-button/ic-button.js +33 -12
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
- package/dist/collection/components/ic-chip/ic-chip.css +3 -3
- package/dist/collection/components/ic-chip/ic-chip.js +12 -4
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -2
- package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
- package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
- package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
- package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
- package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
- package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.stories.js +31 -4
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
- package/dist/collection/components/ic-footer/ic-footer.js +3 -3
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
- package/dist/collection/components/ic-hero/ic-hero.js +4 -4
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
- package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
- package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
- package/dist/collection/components/ic-link/ic-link.js +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
- package/dist/collection/components/ic-menu/ic-menu.js +3 -3
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
- package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
- package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.js +6 -6
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- package/dist/collection/components/ic-step/ic-step.js +13 -13
- package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
- package/dist/collection/components/ic-switch/ic-switch.js +4 -4
- package/dist/collection/components/ic-tab/ic-tab.js +2 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
- package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
- package/dist/collection/components/ic-theme/ic-theme.js +1 -1
- package/dist/collection/components/ic-toast/ic-toast.css +8 -0
- package/dist/collection/components/ic-toast/ic-toast.js +4 -4
- package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -5
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +57 -78
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
- package/dist/collection/components/ic-typography/ic-typography.js +2 -2
- package/dist/collection/utils/constants.js +5 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/collection/utils/helpers.js +14 -6
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +31 -7
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-action-chip.d.ts +11 -0
- package/dist/components/ic-action-chip.js +160 -0
- package/dist/components/ic-action-chip.js.map +1 -0
- package/dist/components/ic-alert.js +1 -1
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +4 -4
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +4 -4
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +3 -3
- package/dist/components/ic-breadcrumb2.js +3 -3
- package/dist/components/ic-button2.js +15 -13
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +4 -4
- package/dist/components/ic-checkbox-group.js +3 -3
- package/dist/components/ic-checkbox.js +6 -6
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +13 -5
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +2 -2
- package/dist/components/ic-data-list.js +3 -3
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js +4 -4
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.js +2 -2
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +2 -2
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link.js +3 -3
- package/dist/components/ic-footer.js +4 -4
- package/dist/components/ic-hero.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js +6 -6
- package/dist/components/ic-input-component-container2.js +4 -4
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-label2.js +3 -3
- package/dist/components/ic-input-validation2.js +4 -4
- package/dist/components/ic-layout-grid-item.d.ts +11 -0
- package/dist/components/ic-layout-grid-item.js +95 -0
- package/dist/components/ic-layout-grid-item.js.map +1 -0
- package/dist/components/ic-layout-grid.d.ts +11 -0
- package/dist/components/ic-layout-grid.js +188 -0
- package/dist/components/ic-layout-grid.js.map +1 -0
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-loading-indicator2.js +5 -5
- package/dist/components/ic-menu-group.js +2 -2
- package/dist/components/ic-menu-item2.js +1 -1
- package/dist/components/ic-menu2.js +4 -4
- package/dist/components/ic-navigation-button.js +3 -3
- package/dist/components/ic-navigation-group.js +3 -3
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +3 -3
- package/dist/components/ic-navigation-menu2.js +5 -5
- package/dist/components/ic-page-header.js +7 -7
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination.js +4 -4
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +11 -6
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +5 -5
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +5 -5
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +10 -10
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select.js +7 -7
- package/dist/components/ic-side-navigation.js +5 -5
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skip-link.js +2 -2
- 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 +14 -14
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-switch.js +5 -5
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab.js +2 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field.js +7 -7
- package/dist/components/ic-theme.js +2 -2
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +5 -5
- 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.js +2 -2
- package/dist/components/ic-tooltip2.js +39 -79
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +5 -5
- package/dist/components/ic-typography2.js +2 -2
- package/dist/core/core.css +236 -16
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-0d680d19.entry.js +2 -0
- package/dist/core/p-0d680d19.entry.js.map +1 -0
- package/dist/core/{p-06e80441.entry.js → p-15dbccc2.entry.js} +2 -2
- package/dist/core/{p-91f6884a.entry.js → p-19cf2327.entry.js} +2 -2
- package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
- package/dist/core/p-1d37ac1c.entry.js +2 -0
- package/dist/core/p-1d37ac1c.entry.js.map +1 -0
- package/dist/core/{p-182b7037.entry.js → p-1e2f40b0.entry.js} +2 -2
- package/dist/core/{p-9d5e4b62.entry.js → p-21cf2beb.entry.js} +2 -2
- package/dist/core/p-25007ec9.js +2 -0
- package/dist/core/p-25007ec9.js.map +1 -0
- package/dist/core/{p-fc5661ac.entry.js → p-287e5c17.entry.js} +2 -2
- package/dist/core/{p-543b90c5.entry.js → p-28efe829.entry.js} +2 -2
- package/dist/core/{p-fb6e6ac4.entry.js → p-2f4f392f.entry.js} +2 -2
- package/dist/core/{p-4301e11e.entry.js → p-313a8a2f.entry.js} +2 -2
- package/dist/core/p-317e005f.entry.js +2 -0
- package/dist/core/{p-ff47772c.entry.js.map → p-317e005f.entry.js.map} +1 -1
- package/dist/core/{p-f4ee5fbb.entry.js → p-3dc54847.entry.js} +2 -2
- package/dist/core/{p-0549305b.entry.js → p-3e5d7a3d.entry.js} +2 -2
- package/dist/core/p-41ef74a7.entry.js +2 -0
- package/dist/core/p-41ef74a7.entry.js.map +1 -0
- package/dist/core/{p-ae2ea264.entry.js → p-41f92698.entry.js} +2 -2
- package/dist/core/p-43324339.entry.js +2 -0
- package/dist/core/p-43324339.entry.js.map +1 -0
- package/dist/core/{p-9e051db4.entry.js → p-45dd12ee.entry.js} +2 -2
- package/dist/core/{p-018eaee0.entry.js → p-493eaabb.entry.js} +2 -2
- package/dist/core/{p-a591ef38.entry.js → p-4ca782eb.entry.js} +2 -2
- package/dist/core/{p-056be0df.entry.js → p-4d1a3036.entry.js} +2 -2
- package/dist/core/p-52748d5c.entry.js +2 -0
- package/dist/core/p-52748d5c.entry.js.map +1 -0
- package/dist/core/p-595a4d06.entry.js +2 -0
- package/dist/core/p-595a4d06.entry.js.map +1 -0
- package/dist/core/p-5daa7915.entry.js +2 -0
- package/dist/core/{p-02132a4c.entry.js.map → p-5daa7915.entry.js.map} +1 -1
- package/dist/core/{p-421b5f2d.entry.js → p-5f68f62b.entry.js} +2 -2
- package/dist/core/{p-d281c3cf.entry.js → p-5fbc8e62.entry.js} +2 -2
- package/dist/core/{p-06b0d0f6.entry.js → p-6014ab64.entry.js} +2 -2
- package/dist/core/{p-afde0edc.entry.js → p-661ae402.entry.js} +2 -2
- package/dist/core/{p-a2ae5d9e.entry.js → p-6a576a8b.entry.js} +2 -2
- package/dist/core/{p-b1b27b7e.entry.js → p-6e8ef73c.entry.js} +2 -2
- package/dist/core/p-6ed0ac48.entry.js +2 -0
- package/dist/core/{p-3194e46c.entry.js.map → p-6ed0ac48.entry.js.map} +1 -1
- package/dist/core/p-711bfeed.entry.js +2 -0
- package/dist/core/p-711bfeed.entry.js.map +1 -0
- package/dist/core/{p-2ec0d11c.entry.js → p-72a9909c.entry.js} +2 -2
- package/dist/core/{p-f9491692.entry.js → p-742a9181.entry.js} +2 -2
- package/dist/core/p-7cd4f6a6.entry.js +2 -0
- package/dist/core/{p-773ded36.entry.js.map → p-7cd4f6a6.entry.js.map} +1 -1
- package/dist/core/{p-152ddde9.entry.js → p-8a4b12e4.entry.js} +2 -2
- package/dist/core/{p-3448c713.entry.js → p-8b5022bc.entry.js} +2 -2
- package/dist/core/{p-ce916f35.entry.js → p-9323c234.entry.js} +2 -2
- package/dist/core/{p-50d13439.entry.js → p-948f89a0.entry.js} +2 -2
- package/dist/core/p-97b93ddf.entry.js +2 -0
- package/dist/core/p-97b93ddf.entry.js.map +1 -0
- package/dist/core/{p-0f86ea09.entry.js → p-999f0a5d.entry.js} +2 -2
- package/dist/core/p-999f0a5d.entry.js.map +1 -0
- package/dist/core/{p-ba89fa16.entry.js → p-9c013333.entry.js} +2 -2
- package/dist/core/{p-b83cca09.entry.js → p-9eeb5e85.entry.js} +2 -2
- package/dist/core/{p-0179fbd3.entry.js → p-9f36791b.entry.js} +2 -2
- package/dist/core/{p-8a5b0fb0.entry.js → p-a602a8e1.entry.js} +2 -2
- package/dist/core/{p-98869fe7.entry.js → p-a77364f5.entry.js} +2 -2
- package/dist/core/{p-6b52e47f.entry.js → p-af9c391d.entry.js} +2 -2
- package/dist/core/{p-77750efc.entry.js → p-b0d488d0.entry.js} +2 -2
- package/dist/core/p-b25d33d8.entry.js +2 -0
- package/dist/core/{p-627f7172.entry.js.map → p-b25d33d8.entry.js.map} +1 -1
- package/dist/core/{p-cd8dab55.entry.js → p-b52000d9.entry.js} +2 -2
- package/dist/core/p-cbe0d1bb.entry.js +2 -0
- package/dist/core/{p-ec1657fc.entry.js.map → p-cbe0d1bb.entry.js.map} +1 -1
- package/dist/core/p-ceea1712.entry.js +2 -0
- package/dist/core/p-ceea1712.entry.js.map +1 -0
- package/dist/core/p-cf631191.entry.js +2 -0
- package/dist/core/{p-6dd73165.entry.js → p-df88ff5b.entry.js} +2 -2
- package/dist/core/{p-bb21268f.entry.js → p-e652ab09.entry.js} +2 -2
- package/dist/core/{p-29468171.entry.js → p-e876e47c.entry.js} +2 -2
- package/dist/core/p-ea061ccf.entry.js +2 -0
- package/dist/core/p-ea061ccf.entry.js.map +1 -0
- package/dist/core/{p-ab1103e1.entry.js → p-ea778379.entry.js} +2 -2
- package/dist/core/{p-948086f4.entry.js → p-ef4b5469.entry.js} +2 -2
- package/dist/core/p-f309d3af.entry.js +2 -0
- package/dist/core/{p-554c555f.entry.js.map → p-f309d3af.entry.js.map} +1 -1
- package/dist/core/{p-9ed5f11d.entry.js → p-f6a02202.entry.js} +2 -2
- package/dist/core/p-fc3b1155.entry.js +2 -0
- package/dist/core/p-fc3b1155.entry.js.map +1 -0
- package/dist/core/p-ffac41d6.entry.js +2 -0
- package/dist/core/p-ffac41d6.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-f5ff3b42.js → helpers-56631aa0.js} +32 -8
- package/dist/esm/helpers-56631aa0.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +112 -0
- package/dist/esm/ic-action-chip.entry.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +2 -2
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +4 -4
- package/dist/esm/ic-badge.entry.js +4 -4
- 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.entry.js +3 -3
- package/dist/esm/ic-button_3.entry.js +56 -96
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +5 -5
- package/dist/esm/ic-checkbox-group.entry.js +3 -3
- package/dist/esm/ic-checkbox.entry.js +6 -6
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +13 -5
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-data-list.entry.js +3 -3
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +4 -4
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +2 -2
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +3 -3
- 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.entry.js +4 -4
- package/dist/esm/ic-hero.entry.js +5 -5
- package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
- package/dist/esm/ic-input-component-container_3.entry.js +9 -9
- package/dist/esm/ic-input-label_2.entry.js +6 -6
- package/dist/esm/ic-layout-grid-item.entry.js +66 -0
- package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
- package/dist/esm/ic-layout-grid.entry.js +152 -0
- package/dist/esm/ic-layout-grid.entry.js.map +1 -0
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +3 -3
- package/dist/esm/ic-navigation-group.entry.js +3 -3
- 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-menu.entry.js +5 -5
- package/dist/esm/ic-page-header.entry.js +7 -7
- package/dist/esm/ic-pagination-item.entry.js +2 -2
- package/dist/esm/ic-pagination.entry.js +5 -5
- package/dist/esm/ic-popover-menu.entry.js +10 -6
- 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-option.entry.js +5 -5
- package/dist/esm/ic-search-bar.entry.js +10 -10
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-select.entry.js +7 -7
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-step.entry.js +14 -14
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-switch.entry.js +5 -5
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +3 -3
- package/dist/esm/ic-text-field.entry.js +7 -7
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +5 -5
- 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.entry.js +3 -3
- package/dist/esm/ic-top-navigation.entry.js +5 -5
- package/dist/esm/ic-typography.entry.js +3 -3
- package/dist/esm/index-a7a720e7.js +12 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-action-chip/ic-action-chip.d.ts +100 -0
- package/dist/types/components/ic-button/ic-button.d.ts +4 -0
- package/dist/types/components/ic-chip/ic-chip.d.ts +2 -0
- package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
- package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
- package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -4
- package/dist/types/components.d.ts +343 -2
- package/dist/types/utils/constants.d.ts +4 -0
- package/dist/types/utils/helpers.d.ts +3 -3
- package/dist/types/utils/types.d.ts +1 -1
- package/hydrate/index.js +659 -278
- package/hydrate/index.mjs +659 -278
- package/package.json +2 -2
- package/vscode-data.json +270 -0
- package/dist/cjs/helpers-8217daf4.js.map +0 -1
- package/dist/core/p-02132a4c.entry.js +0 -2
- package/dist/core/p-08567369.entry.js +0 -2
- package/dist/core/p-08567369.entry.js.map +0 -1
- package/dist/core/p-0f86ea09.entry.js.map +0 -1
- package/dist/core/p-3194e46c.entry.js +0 -2
- package/dist/core/p-43b98687.entry.js +0 -2
- package/dist/core/p-43b98687.entry.js.map +0 -1
- package/dist/core/p-4b8bfb59.entry.js +0 -2
- package/dist/core/p-4b8bfb59.entry.js.map +0 -1
- package/dist/core/p-4cd83bfe.entry.js +0 -2
- package/dist/core/p-4cd83bfe.entry.js.map +0 -1
- package/dist/core/p-554c555f.entry.js +0 -2
- package/dist/core/p-5fb58cc8.entry.js +0 -2
- package/dist/core/p-5fb58cc8.entry.js.map +0 -1
- package/dist/core/p-627f7172.entry.js +0 -2
- package/dist/core/p-70abcb2b.js +0 -2
- package/dist/core/p-70abcb2b.js.map +0 -1
- package/dist/core/p-773ded36.entry.js +0 -2
- package/dist/core/p-7cada631.entry.js +0 -2
- package/dist/core/p-7cada631.entry.js.map +0 -1
- package/dist/core/p-939adcae.entry.js +0 -2
- package/dist/core/p-939adcae.entry.js.map +0 -1
- package/dist/core/p-97f67617.entry.js +0 -2
- package/dist/core/p-97f67617.entry.js.map +0 -1
- package/dist/core/p-c100724d.entry.js +0 -2
- package/dist/core/p-d85b438a.entry.js +0 -2
- package/dist/core/p-d85b438a.entry.js.map +0 -1
- package/dist/core/p-ec1657fc.entry.js +0 -2
- package/dist/core/p-ff47772c.entry.js +0 -2
- package/dist/esm/helpers-f5ff3b42.js.map +0 -1
- /package/dist/core/{p-06e80441.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
- /package/dist/core/{p-91f6884a.entry.js.map → p-19cf2327.entry.js.map} +0 -0
- /package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +0 -0
- /package/dist/core/{p-182b7037.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
- /package/dist/core/{p-9d5e4b62.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
- /package/dist/core/{p-fc5661ac.entry.js.map → p-287e5c17.entry.js.map} +0 -0
- /package/dist/core/{p-543b90c5.entry.js.map → p-28efe829.entry.js.map} +0 -0
- /package/dist/core/{p-fb6e6ac4.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
- /package/dist/core/{p-4301e11e.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
- /package/dist/core/{p-f4ee5fbb.entry.js.map → p-3dc54847.entry.js.map} +0 -0
- /package/dist/core/{p-0549305b.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
- /package/dist/core/{p-ae2ea264.entry.js.map → p-41f92698.entry.js.map} +0 -0
- /package/dist/core/{p-9e051db4.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
- /package/dist/core/{p-018eaee0.entry.js.map → p-493eaabb.entry.js.map} +0 -0
- /package/dist/core/{p-a591ef38.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
- /package/dist/core/{p-056be0df.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
- /package/dist/core/{p-421b5f2d.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
- /package/dist/core/{p-d281c3cf.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
- /package/dist/core/{p-06b0d0f6.entry.js.map → p-6014ab64.entry.js.map} +0 -0
- /package/dist/core/{p-afde0edc.entry.js.map → p-661ae402.entry.js.map} +0 -0
- /package/dist/core/{p-a2ae5d9e.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
- /package/dist/core/{p-b1b27b7e.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
- /package/dist/core/{p-2ec0d11c.entry.js.map → p-72a9909c.entry.js.map} +0 -0
- /package/dist/core/{p-f9491692.entry.js.map → p-742a9181.entry.js.map} +0 -0
- /package/dist/core/{p-152ddde9.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
- /package/dist/core/{p-3448c713.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
- /package/dist/core/{p-ce916f35.entry.js.map → p-9323c234.entry.js.map} +0 -0
- /package/dist/core/{p-50d13439.entry.js.map → p-948f89a0.entry.js.map} +0 -0
- /package/dist/core/{p-ba89fa16.entry.js.map → p-9c013333.entry.js.map} +0 -0
- /package/dist/core/{p-b83cca09.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
- /package/dist/core/{p-0179fbd3.entry.js.map → p-9f36791b.entry.js.map} +0 -0
- /package/dist/core/{p-8a5b0fb0.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
- /package/dist/core/{p-98869fe7.entry.js.map → p-a77364f5.entry.js.map} +0 -0
- /package/dist/core/{p-6b52e47f.entry.js.map → p-af9c391d.entry.js.map} +0 -0
- /package/dist/core/{p-77750efc.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
- /package/dist/core/{p-cd8dab55.entry.js.map → p-b52000d9.entry.js.map} +0 -0
- /package/dist/core/{p-c100724d.entry.js.map → p-cf631191.entry.js.map} +0 -0
- /package/dist/core/{p-6dd73165.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
- /package/dist/core/{p-bb21268f.entry.js.map → p-e652ab09.entry.js.map} +0 -0
- /package/dist/core/{p-29468171.entry.js.map → p-e876e47c.entry.js.map} +0 -0
- /package/dist/core/{p-ab1103e1.entry.js.map → p-ea778379.entry.js.map} +0 -0
- /package/dist/core/{p-948086f4.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
- /package/dist/core/{p-9ed5f11d.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import { D as DEVICE_SIZES,
|
2
|
+
import { D as DEVICE_SIZES, l as getBrandForegroundAppearance, q as getCurrentDeviceSize, N as getNavItemParentDetails } from './helpers.js';
|
3
3
|
import { c as chevronIcon } from './chevron-icon.js';
|
4
4
|
import { d as defineCustomElement$2 } from './ic-typography2.js';
|
5
5
|
|
6
|
-
const icNavigationGroupCss = "/*! 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-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:\"\";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}";
|
6
|
+
const icNavigationGroupCss = "/*! 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-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:\"\";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);height:-moz-fit-content;height:fit-content;min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}";
|
7
7
|
const IcNavigationGroupStyle0 = icNavigationGroupCss;
|
8
8
|
|
9
9
|
const IC_NAVIGATION_ITEM = "ic-navigation-item";
|
@@ -271,7 +271,7 @@ const NavigationGroup = /*@__PURE__*/ proxyCustomElement(class NavigationGroup e
|
|
271
271
|
const isTopNav = this.navigationType === "top";
|
272
272
|
const isTopNavDesktop = !inTopNavSideMenu && isTopNav;
|
273
273
|
const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);
|
274
|
-
return (h(Host, { key: '
|
274
|
+
return (h(Host, { key: '70872453ddb1b66747a517e4757ef0d5fbb6337c', class: {
|
275
275
|
"in-side-menu": inTopNavSideMenu,
|
276
276
|
"ic-navigation-group-expandable": expandable,
|
277
277
|
"ic-navigation-group-side-nav": isSideNav,
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"ic-navigation-group.js","mappings":"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","names":[],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\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: 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 {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n IcNavigationExpandEventDetail,\n IcNavigationOpenEventDetail,\n} from \"./ic-navigation-group.types\";\n\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItemHeights = \"\";\n private collapsedNavItemsHeight: string | null = null;\n private dropdown?: HTMLElement;\n private expandedNavItemsHeight: string | null = null;\n private groupEl?: HTMLElement;\n private mouseGate = false;\n private linkWrapper?: HTMLUListElement;\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen = false;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement | null;\n @State() isSideNavExpanded = false;\n\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 @Prop() expandable = false;\n\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 @Prop({ mutable: true }) expanded = true;\n\n /**\n * The label to display on the group.\n */\n @Prop() label!: string;\n\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 @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\n */\n @Event() navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;\n\n /**\n * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\n */\n @Event() navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl?.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItemHeights = `${Array.from(\n this.el.querySelectorAll(IC_NAVIGATION_ITEM)\n ).reduce(\n (childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight,\n 0\n )}px`;\n\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) return;\n\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navigationGroupOpened\", { target: \"document\" })\n handleNavigationGroupOpened(event: CustomEvent): void {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.groupEl?.focus();\n }\n\n private sideNavExpandHandler = (event: CustomEvent) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n\n if (!this.linkWrapper || !this.expanded) return;\n\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n } else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n } else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n\n private topNavResizedHandler = ({\n detail: { size },\n }: CustomEvent<{ size: number }>) => {\n if (size === this.deviceSize) return;\n\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)?.customMobileBreakpoint ||\n DEVICE_SIZES.L);\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper) return;\n\n this.setGroupedLinksElementHeight(\n !this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight\n );\n\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot?.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n navItem?.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n if (!this.el.contains(ev.relatedTarget as HTMLElement)) {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\") return;\n\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\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\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement)\n )\n return;\n\n if (\n document.activeElement !== this.el &&\n relTarget?.nodeName === NODE_NAME &&\n this.dropdownOpen\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement | null;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n } else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate) this.showDropdown();\n }, 500);\n }\n };\n\n private renderGroupTitleText = () => (\n <ic-typography\n id=\"nav-group-title\"\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {this.label}\n </ic-typography>\n );\n\n private renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (\n <div\n class={{\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={\n !this.inTopNavSideMenu ? this.handleMouseLeave : undefined\n }\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }}\n aria-labelledby=\"nav-group-title\"\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n }\n\n if (this.navigationType !== \"top\") {\n return (\n <ul ref={(el) => (this.linkWrapper = el)} class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight = (height: string | null) => {\n this.linkWrapper?.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n };\n\n render() {\n const {\n dropdownOpen,\n expanded,\n inTopNavSideMenu,\n expandable,\n theme,\n isSideNavExpanded,\n focusStyle,\n } = this;\n\n const getExpandedClassSuffix = (prop: boolean) =>\n prop ? \"expanded\" : \"collapsed\";\n\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]:\n inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n\n return (\n <Host\n 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 }}\n role=\"listitem\"\n >\n {expandable || isTopNavDesktop ? (\n <button\n onMouseEnter={isTopNavDesktop ? this.handleMouseEnter : undefined}\n onMouseLeave={isTopNav ? this.handleMouseLeave : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n class={navGroupTitleClassNames}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${ariaExpanded}`}\n aria-haspopup={`${isTopNavDesktop}`}\n >\n {this.renderGroupTitleText()}\n {isSideNav && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n ) : (\n (!isSideNav || isSideNavExpanded) && (\n <div class={navGroupTitleClassNames}>\n {this.renderGroupTitleText()}\n </div>\n )\n )}\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"ic-navigation-group.js","mappings":"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","names":[],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\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: 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 height: fit-content;\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 {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n IcNavigationExpandEventDetail,\n IcNavigationOpenEventDetail,\n} from \"./ic-navigation-group.types\";\n\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItemHeights = \"\";\n private collapsedNavItemsHeight: string | null = null;\n private dropdown?: HTMLElement;\n private expandedNavItemsHeight: string | null = null;\n private groupEl?: HTMLElement;\n private mouseGate = false;\n private linkWrapper?: HTMLUListElement;\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen = false;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement | null;\n @State() isSideNavExpanded = false;\n\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 @Prop() expandable = false;\n\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 @Prop({ mutable: true }) expanded = true;\n\n /**\n * The label to display on the group.\n */\n @Prop() label!: string;\n\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 @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\n */\n @Event() navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;\n\n /**\n * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\n */\n @Event() navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl?.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItemHeights = `${Array.from(\n this.el.querySelectorAll(IC_NAVIGATION_ITEM)\n ).reduce(\n (childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight,\n 0\n )}px`;\n\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) return;\n\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navigationGroupOpened\", { target: \"document\" })\n handleNavigationGroupOpened(event: CustomEvent): void {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.groupEl?.focus();\n }\n\n private sideNavExpandHandler = (event: CustomEvent) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n\n if (!this.linkWrapper || !this.expanded) return;\n\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n } else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n } else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n\n private topNavResizedHandler = ({\n detail: { size },\n }: CustomEvent<{ size: number }>) => {\n if (size === this.deviceSize) return;\n\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)?.customMobileBreakpoint ||\n DEVICE_SIZES.L);\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper) return;\n\n this.setGroupedLinksElementHeight(\n !this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight\n );\n\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot?.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n navItem?.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n if (!this.el.contains(ev.relatedTarget as HTMLElement)) {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\") return;\n\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\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\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement)\n )\n return;\n\n if (\n document.activeElement !== this.el &&\n relTarget?.nodeName === NODE_NAME &&\n this.dropdownOpen\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement | null;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n } else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate) this.showDropdown();\n }, 500);\n }\n };\n\n private renderGroupTitleText = () => (\n <ic-typography\n id=\"nav-group-title\"\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {this.label}\n </ic-typography>\n );\n\n private renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (\n <div\n class={{\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={\n !this.inTopNavSideMenu ? this.handleMouseLeave : undefined\n }\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }}\n aria-labelledby=\"nav-group-title\"\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n }\n\n if (this.navigationType !== \"top\") {\n return (\n <ul ref={(el) => (this.linkWrapper = el)} class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight = (height: string | null) => {\n this.linkWrapper?.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n };\n\n render() {\n const {\n dropdownOpen,\n expanded,\n inTopNavSideMenu,\n expandable,\n theme,\n isSideNavExpanded,\n focusStyle,\n } = this;\n\n const getExpandedClassSuffix = (prop: boolean) =>\n prop ? \"expanded\" : \"collapsed\";\n\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]:\n inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n\n return (\n <Host\n 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 }}\n role=\"listitem\"\n >\n {expandable || isTopNavDesktop ? (\n <button\n onMouseEnter={isTopNavDesktop ? this.handleMouseEnter : undefined}\n onMouseLeave={isTopNav ? this.handleMouseLeave : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n class={navGroupTitleClassNames}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${ariaExpanded}`}\n aria-haspopup={`${isTopNavDesktop}`}\n >\n {this.renderGroupTitleText()}\n {isSideNav && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n ) : (\n (!isSideNav || isSideNavExpanded) && (\n <div class={navGroupTitleClassNames}>\n {this.renderGroupTitleText()}\n </div>\n )\n )}\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"version":3}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, forceUpdate, Host } from '@stencil/core/internal/client';
|
2
|
-
import {
|
2
|
+
import { O as getCssProperty, D as DEVICE_SIZES, l as getBrandForegroundAppearance, q as getCurrentDeviceSize, N as getNavItemParentDetails } from './helpers.js';
|
3
3
|
import { c as chevronIcon } from './chevron-icon.js';
|
4
4
|
import { O as OpenInNew } from './OpenInNew.js';
|
5
5
|
import { d as defineCustomElement$3 } from './ic-tooltip2.js';
|
@@ -203,7 +203,7 @@ const NavigationItem = /*@__PURE__*/ proxyCustomElement(class NavigationItem ext
|
|
203
203
|
render() {
|
204
204
|
const { inTopNavSideMenu, isTopNavChild, selected, navigationType, focusStyle, isInitialRender, sideNavExpanded, displayNavigationTooltip, collapsedIconLabel, isSideNavMobile, expandable, isInSideNav, theme, } = this;
|
205
205
|
const isTopNavChildDesktop = isTopNavChild && !inTopNavSideMenu;
|
206
|
-
return (h(Host, { key: '
|
206
|
+
return (h(Host, { key: '6d3d330011cb09ae9fd95b59f98a9d18ffc25ba0', class: {
|
207
207
|
"navigation-item": true,
|
208
208
|
"navigation-item-selected": !isTopNavChild && selected,
|
209
209
|
"navigation-item-top-nav": !inTopNavSideMenu && navigationType === "top",
|
@@ -222,7 +222,7 @@ const NavigationItem = /*@__PURE__*/ proxyCustomElement(class NavigationItem ext
|
|
222
222
|
expandable,
|
223
223
|
[focusStyle]: isTopNavChild ? isInSideNav : !inTopNavSideMenu,
|
224
224
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
225
|
-
}, onBlur: isTopNavChildDesktop ? this.handleBlur : null, onClick: this.handleClick, "aria-current": selected ? "page" : null, role: "listitem" }, h("ic-tooltip", { key: '
|
225
|
+
}, onBlur: isTopNavChildDesktop ? this.handleBlur : null, onClick: this.handleClick, "aria-current": selected ? "page" : null, role: "listitem" }, h("ic-tooltip", { key: 'af3a3de698b102182ff030ffcfb66b419d7ac857', label: this.generateTooltipLabel(), target: "navigation-item", placement: "right", class: {
|
226
226
|
"tooltip-navigation-item": true,
|
227
227
|
"tooltip-navigation-item-side-nav-collapsed": displayNavigationTooltip && isInSideNav,
|
228
228
|
"tooltip-long-label-navigation-item-side-nav-expanded": this.el.hasAttribute("[display-navigation-tooltip = 'true']"),
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import {
|
2
|
+
import { P as getSlot, Q as getSlotContent, i as isSlotUsed } from './helpers.js';
|
3
3
|
import { d as defineCustomElement$4 } from './ic-button2.js';
|
4
4
|
import { d as defineCustomElement$3 } from './ic-loading-indicator2.js';
|
5
5
|
import { d as defineCustomElement$2 } from './ic-tooltip2.js';
|
@@ -131,16 +131,16 @@ const NavigationMenu = /*@__PURE__*/ proxyCustomElement(class NavigationMenu ext
|
|
131
131
|
}
|
132
132
|
}
|
133
133
|
render() {
|
134
|
-
return (h(Host, { key: '
|
134
|
+
return (h(Host, { key: '559f8e30c0ea9585c1cd85db3fbb432f0afa6476', class: { [`ic-theme-${this.theme}`]: this.theme !== "inherit" } }, h("div", { key: 'acd727b39a74104530268e38ee3d7b89ac79e97d', class: "popout-modal", onClick: this.closeMenu }), h("div", { key: '8142144f62990711e407791838feedfb3f25a9d6', class: "popout-menu", role: "dialog", "aria-modal": "true", "aria-label": `${this.hasNavigation ? "Navigation" : "App"} menu` }, h("span", { key: '4c52bc614ede7b80e3cd233ed43f16e22701bcdb', "aria-hidden": "true", id: "navigation-landmark-text", class: "navigation-landmark-text" }, "Main navigation"), h("nav", { key: '90569f1809e977cda9f8c2695c1108d2d4976318', "aria-labelledby": "navigation-landmark-text", "aria-hidden": this.hasNavigation ? "false" : "true" }, h("div", { key: '503d419f95dadd93abdd2d54821f791bdf050b8d', class: {
|
135
135
|
["menu-close-button-container"]: true,
|
136
136
|
["nav-group-first"]: this.navGroupFirst,
|
137
|
-
} }, h("ic-button", { key: '
|
137
|
+
} }, h("ic-button", { key: '1120f293997c552117944e4361575605de0fcaf2', ref: (el) => (this.closeButton = el), id: "menu-close-button", class: "menu-close-button", variant: "icon", size: "large", "aria-label": `Close ${this.hasNavigation ? "navigation" : "app"} menu`, onClick: this.closeMenu }, h("svg", { key: '3dc7a4fcafd3e72c558bb3aa07e9051b992da933', width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '5ed28065cad4812472d9c036926b119ad625ad53', d: "M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z" })))), this.hasNavigation && h("slot", { key: '07e9e48d1c18782dd993ded29fa10c110e33ac45', name: "navigation" })), this.hasButtons && (h("div", { key: 'c612c03b21a75159952df5fef4d8e4675016f08f', class: {
|
138
138
|
["menu-buttons-container"]: true,
|
139
139
|
["menu-buttons-container-nav-item-above"]: this.navItemAboveButtons,
|
140
|
-
} }, h("slot", { key: '
|
140
|
+
} }, h("slot", { key: '131e946d6f9e945fe7b1cbd4fde77b98b9b70a0c', name: "buttons" }))), (this.status !== "" || this.version !== "") && (h("div", { key: '384bda4e21929e99d7fe5a00e4cfc24099c8e6a3', class: {
|
141
141
|
["menu-status-version-container"]: true,
|
142
142
|
["status-version-no-buttons"]: !this.hasButtons,
|
143
|
-
} }, this.status !== "" && (h("div", { key: '
|
143
|
+
} }, this.status !== "" && (h("div", { key: 'd24f9fd062b4bde97398c554e00d29a4b167cda7', class: "menu-status" }, h("ic-typography", { key: 'd4637e8dde7947670ad8fd74a459de41c5b7cbae', variant: "label-uppercase", "aria-label": "app tag", class: "menu-status-text" }, this.status))), this.version !== "" && (h("div", { key: '249add67c9c6edc58003c2359861f203e411bf64', class: "menu-version" }, h("ic-typography", { key: '3115e920fb4ce107b2d377eeefef649159a1f0f1', variant: "label", class: "menu-version-text", "aria-label": "app version" }, this.version))))))));
|
144
144
|
}
|
145
145
|
get el() { return this; }
|
146
146
|
static get style() { return IcNavigationMenuStyle0; }
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import { D as DEVICE_SIZES, i as isSlotUsed,
|
2
|
+
import { D as DEVICE_SIZES, i as isSlotUsed, q as getCurrentDeviceSize, c as checkResizeObserver } from './helpers.js';
|
3
3
|
import { d as defineCustomElement$7 } from './ic-button2.js';
|
4
4
|
import { d as defineCustomElement$6 } from './ic-horizontal-scroll2.js';
|
5
5
|
import { d as defineCustomElement$5 } from './ic-loading-indicator2.js';
|
@@ -114,19 +114,19 @@ const PageHeader = /*@__PURE__*/ proxyCustomElement(class PageHeader extends HTM
|
|
114
114
|
const navAriaLabel = `${isSlotUsed(this.el, "heading")
|
115
115
|
? (_b = (_a = this.el.querySelector('[slot="heading"]')) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : ""
|
116
116
|
: heading !== null && heading !== void 0 ? heading : ""} page sections`;
|
117
|
-
return (h(Host, { key: '
|
117
|
+
return (h(Host, { key: '3f81ad49917a1bebdda22330e6f5330ddb8e4607', class: {
|
118
118
|
["ic-page-header-sticky"]: !!sticky,
|
119
119
|
["ic-page-header-sticky-desktop"]: !sticky && !!stickyDesktopOnly,
|
120
120
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
121
|
-
}, "aria-label": this.el.ariaLabel || "page header" }, h("header", { key: '
|
121
|
+
}, "aria-label": this.el.ariaLabel || "page header" }, h("header", { key: '4e676a6514eadeea3d5cae863e75af7ff3b94649', class: {
|
122
122
|
["border-bottom"]: !!border,
|
123
123
|
["tabs"]: isSlotUsed(this.el, "tabs"),
|
124
|
-
}, role: "presentation" }, h("ic-section-container", { key: '
|
124
|
+
}, role: "presentation" }, h("ic-section-container", { key: 'f5c3eceb50af527dc0a6e9ae0a37f31a22334234', aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { key: 'e5c57032784f736af68fb587d49c2d91dd6dfe2f', class: "breadcrumb-area" }, h("slot", { key: 'ebd6a9ea582e9ab9352475fd93a1d01da8691ce5', name: "breadcrumbs" }))), h("div", { key: 'f017c563594f1cd82ae1f2dc56f1303933a358b7', class: "main-content" }, h("div", { key: '6e9fd38352c39faac30c7bc0b3d3bb1bf0541bde', class: "title-area" }, h("div", { key: '214882f62caa4ed6ff23f9f87414c82fa4f1ee7b', class: "header-content" }, h("slot", { key: 'fd99c8e27de2c92f4b8ba0c15c4daf681709531f', name: "heading" }, h("ic-typography", { key: 'd7230bbe28b9fb91f03e87fdaaf41b6deca5a542', variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", { key: '63fe762aba268afa25aff458fc1e824272544f33' }, heading))), h("slot", { key: '2039cc87272f3ab1a479350223238e537b6ee2f4', name: "heading-adornment" })), h("div", { key: 'd1253c48dbd399c24a059e62f2545f477811e815', class: {
|
125
125
|
["subheading-content"]: !!subheading || isSlotUsed(this.el, "subheading"),
|
126
126
|
["small"]: size === "small",
|
127
|
-
} }, h("slot", { key: '
|
128
|
-
isSlotUsed(this.el, "tabs")) && (h("div", { key: '
|
129
|
-
!isSlotUsed(this.el, "tabs") && h("slot", { key: '
|
127
|
+
} }, h("slot", { key: '656675e2ded3fdd2027b0215709cf6faaab7322c', name: "subheading" }, h("ic-typography", { key: 'fe3bb6b5feb0b725d77e6cf8f5edc212f4c4b506', variant: "body" }, subheading)))), isSlotUsed(this.el, "actions") && (h("div", { key: 'f4a2e70fd311c12810eabc05e3a865e4efbba6b8', class: "action-area" }, h("slot", { key: 'a89c115c6e17021786908022ffc58abe07a88343', name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { key: 'a26a7f73e3ee189f6bd9310339cda77cf128a309', class: "input-area" }, h("slot", { key: '245383298b97190b21f9723326ac34422bd197ac', name: "input" })))), (isSlotUsed(this.el, "stepper") ||
|
128
|
+
isSlotUsed(this.el, "tabs")) && (h("div", { key: 'c80f1d04a4300b4f80ff4e2dfa418f985a13e047', class: "navigation-area" }, isSlotUsed(this.el, "stepper") &&
|
129
|
+
!isSlotUsed(this.el, "tabs") && h("slot", { key: '5646084a82aefc58c4912f9b765149393973f8c0', name: "stepper" }), isSlotUsed(this.el, "tabs") && (h("nav", { key: 'd7cccfe9d053d1e6849d57665157c841f2434a36', "aria-label": navAriaLabel }, h("ic-horizontal-scroll", { key: '2ca15ea3dc35db5f9a9003cdbce55b113bae12c8' }, h("ul", { key: '3007121bcc05264e5df9986b5231693808b72368', class: "tabs-slot" }, h("slot", { key: 'd124be273a3cbc36154b2add48ea1c7a36d6e592', name: "tabs" })))))))))));
|
130
130
|
}
|
131
131
|
get el() { return this; }
|
132
132
|
static get style() { return IcPageHeaderStyle0; }
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
2
|
-
import { r as removeDisabledFalse,
|
2
|
+
import { r as removeDisabledFalse, R as capitalize } from './helpers.js';
|
3
3
|
import { d as defineCustomElement$1 } from './ic-typography2.js';
|
4
4
|
|
5
5
|
const icPaginationItemCss = "/*! 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}a{text-align:center}.item-container{display:flex;justify-content:center;align-items:center;width:calc(var(--ic-space-xl) + var(--ic-space-sm));height:var(--ic-space-xl);margin:var(--ic-space-xxs) var(--ic-space-xxxs);cursor:pointer;text-decoration:none}button{background:none;border:none;outline:inherit;position:relative}.ellipsis{pointer-events:none;--ic-typography-color:var(--ic-pagination-ellipsis)}.monochrome .ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome)}.item-container:focus{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.page{--ic-typography-color:var(--ic-pagination-page-number)}.monochrome .page{--ic-typography-color:var(--ic-pagination-page-number-monochrome)}.simple-current{min-width:calc(var(--ic-space-xxl) + var(--ic-space-md));height:var(--ic-space-lg);cursor:default}.item-container.page:hover:not(.selected):not(:focus){border-radius:var(--ic-border-radius);background-color:var(--ic-pagination-hover)}.item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed)}.monochrome .item-container.page:hover:not(.selected):not(:focus){background-color:var(--ic-pagination-hover-monochrome)}.monochrome .item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed-monochrome)}.selected{pointer-events:none;outline:none}.selected::after{content:\"\";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-pagination-selected-banner)}.monochrome .selected::after{background-color:var(--ic-pagination-selected-banner-monochrome)}.page-selected{--ic-typography-color:var(--ic-pagination-text)}.item-container.page.light:hover:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-hover)}.item-container.page.light:active:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-pressed)}ic-typography.light,ic-typography.page-selected.light{--ic-typography-color:var(--ic-architectural-white)}.selected.light::after{content:\"\";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome)}.item-container.page.dark:hover:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-hover)}.item-container.page.dark:active:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-pressed)}ic-typography.dark{--ic-typography-color:var(--ic-color-text-primary)}.selected.dark::after{content:\"\";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome-dark)}.disabled{--ic-typography-color:var(--ic-pagination-text-disabled);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.disabled.page ic-typography{--ic-typography-color:var(--ic-pagination-page-number-disabled)}.disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-disabled)}.monochrome .disabled.page{--ic-typography-color:var(--ic-pagination-page-number-monochrome-disabled)}.monochrome .disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome-disabled)}@media (forced-colors: active){.selected::after{background-color:Highlight}.selected.light::after{background-color:Highlight}.selected.dark::after{background-color:Highlight}.disabled{--ic-typography-color:GrayText}}";
|
@@ -47,7 +47,7 @@ const PaginationItem = /*@__PURE__*/ proxyCustomElement(class PaginationItem ext
|
|
47
47
|
}
|
48
48
|
render() {
|
49
49
|
const { page, selected, type, disabled, label, capitalizedLabel, monochrome, } = this;
|
50
|
-
return (h("a", { key: '
|
50
|
+
return (h("a", { key: '9b34e182ea83cdb24f48997314fe5f456d37e5f8', class: { ["monochrome"]: !!monochrome } }, type === "ellipsis" ? (h("div", { class: {
|
51
51
|
["item-container"]: true,
|
52
52
|
["ellipsis"]: true,
|
53
53
|
["disabled"]: !!disabled,
|
@@ -259,14 +259,14 @@ const Pagination = /*@__PURE__*/ proxyCustomElement(class Pagination extends HTM
|
|
259
259
|
}
|
260
260
|
render() {
|
261
261
|
const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;
|
262
|
-
return (h(Host, { key: '
|
262
|
+
return (h(Host, { key: '2acdd8b04920cef0c72fc4651292abc9bd69ec1e', class: {
|
263
263
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
264
264
|
["ic-pagination-monochrome"]: !!monochrome,
|
265
|
-
} }, type === "simple" && (h("nav", { key: '
|
265
|
+
} }, type === "simple" && (h("nav", { key: 'b63e353f7fe95cf279ae4ed80431a4c7dab237ef', class: {
|
266
266
|
["disabled"]: !!disabled,
|
267
|
-
}, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: '
|
267
|
+
}, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: '6399e68f44cd106050e227c0492cea207911193f', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: 'c7dba8035b72f606bc69ae9daac63f150671a309', class: {
|
268
268
|
["disabled"]: !!disabled,
|
269
|
-
}, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: '
|
269
|
+
}, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: 'a7f3861bf255d89f193da8e630865c972e319a71', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
|
270
270
|
}
|
271
271
|
get el() { return this; }
|
272
272
|
static get watchers() { return {
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"ic-pagination.js","mappings":"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","names":[],"sources":["src/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","src/components/ic-pagination/ic-pagination.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Listen,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { IcPaginationTypes, IcChangeEventDetail } from \"./ic-pagination.types\";\nimport {\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination\",\n styleUrl: \"ic-pagination.css\",\n shadow: true,\n})\nexport class Pagination {\n @Element() el: HTMLIcPaginationElement;\n\n @State() endEllipsis: boolean = false;\n @State() endItems: number[] = [];\n @State() midItems: number[] = [];\n @State() startEllipsis: boolean = false;\n @State() startItems: number[] = [];\n\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) adjacentPageCount?: number = 1;\n\n @Watch(\"adjacentPageCount\")\n watchAdjacentPageCountHandler(): void {\n if (this.adjacentPageCount! > 2) {\n this.adjacentPageCount = 2;\n }\n }\n\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) boundaryPageCount?: number = 1;\n\n @Watch(\"boundaryPageCount\")\n watchBoundaryPageCountHandler(): void {\n if (this.boundaryPageCount! > 2) {\n this.boundaryPageCount = 2;\n }\n }\n\n /**\n * The default page to display.\n */\n @Prop() defaultPage?: number = 1;\n\n /**\n * If `true`, the pagination will not allow interaction.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage?: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton?: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The total number of pages.\n */\n @Prop() pages!: number;\n\n @Watch(\"pages\")\n watchNumberPagesHandler(): void {\n this.watchPageChangeHandler();\n }\n\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 @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of pagination to be used.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n @Watch(\"type\")\n watchTypeHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * The current page displayed by the pagination.\n */\n @Prop({ mutable: true }) currentPage?: number = this.defaultPage;\n\n @Watch(\"currentPage\")\n watchPageChangeHandler(): void {\n if (this.type === \"simple\") {\n return;\n }\n\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n\n if (\n this.pages <=\n this.boundaryPageCount! * 2 + this.adjacentPageCount! * 2 + 3\n ) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount!;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount! + 1;\n\n if (\n this.currentPage! <=\n this.adjacentPageCount! + this.boundaryPageCount! + 2\n ) {\n startEllipsis = false;\n endEllipsis = true;\n\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n } else {\n startEllipsis = true;\n if (\n this.currentPage! >\n this.pages - (this.adjacentPageCount! + this.boundaryPageCount! + 2)\n ) {\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount!;\n midStart = midEnd - numItems;\n } else {\n endEllipsis = true;\n midStart = this.currentPage! - this.adjacentPageCount!;\n midEnd = this.currentPage! + this.adjacentPageCount!;\n }\n }\n\n //create array of start items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)\n ) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n\n //create array of end items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)\n ) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n\n /**\n * Emitted when a page is selected.\n */\n @Event() icPageChange: EventEmitter<IcChangeEventDetail>;\n\n componentWillLoad(): void {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.pages, propName: \"pages\" }],\n \"Pagination\"\n );\n }\n\n @Listen(\"paginationItemClick\")\n paginationItemClickHandler(ev: CustomEvent): void {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage! });\n }\n\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n @Method()\n async setCurrentPage(page: number): Promise<void> {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n } else {\n console.error(\n \"Current page must be a number greater than zero but less than or equal to the total number of pages\"\n );\n }\n }\n\n private handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickPrevious = (): void => {\n this.currentPage!--;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickNext = (): void => {\n this.currentPage!++;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickLast = (): void => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n // button rendering abstracted from component render methods for clarity\n private firstButton = () => {\n return (\n <ic-button\n id=\"first-page-button\"\n aria-label=\"Go to first page\"\n theme={this.theme}\n onClick={this.handleClickFirst}\n class=\"page-button first-last\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private previousButton = () => {\n return (\n <ic-button\n id=\"previous-page-button\"\n aria-label=\"Go to previous page\"\n theme={this.theme}\n onClick={this.handleClickPrevious}\n class=\"page-button next-previous flip\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private nextButton = () => {\n return (\n <ic-button\n id=\"next-page-button\"\n aria-label=\"Go to next page\"\n theme={this.theme}\n onClick={this.handleClickNext}\n class=\"page-button next-previous\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private lastButton = () => {\n return (\n <ic-button\n id=\"last-page-button\"\n aria-label=\"Go to last page\"\n theme={this.theme}\n onClick={this.handleClickLast}\n class=\"page-button first-last flip\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private renderStartEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"start-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderEndEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"end-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderStartItems = () => {\n return this.startItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderEndItems = () => {\n return this.endItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderMiddleItems = () => {\n return this.midItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n render() {\n const {\n type,\n currentPage,\n hideCurrentPage,\n disabled,\n hideFirstAndLastPageButton,\n label,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n }}\n >\n {type === \"simple\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"simple-current\"\n page={currentPage}\n label={label}\n class={{ [\"hide-current-page\"]: !!hideCurrentPage }}\n disabled={disabled}\n />\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n {this.renderStartItems()}\n {this.startEllipsis && this.renderStartEllipsis()}\n {this.renderMiddleItems()}\n {this.endEllipsis && this.renderEndEllipsis()}\n {this.renderEndItems()}\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <span class=\"sr-only\" aria-live=\"polite\">\n Page {this.currentPage}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
1
|
+
{"file":"ic-pagination.js","mappings":"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","names":[],"sources":["src/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","src/components/ic-pagination/ic-pagination.tsx"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Listen,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { IcPaginationTypes, IcChangeEventDetail } from \"./ic-pagination.types\";\nimport {\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination\",\n styleUrl: \"ic-pagination.css\",\n shadow: true,\n})\nexport class Pagination {\n @Element() el: HTMLIcPaginationElement;\n\n @State() endEllipsis: boolean = false;\n @State() endItems: number[] = [];\n @State() midItems: number[] = [];\n @State() startEllipsis: boolean = false;\n @State() startItems: number[] = [];\n\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) adjacentPageCount?: number = 1;\n\n @Watch(\"adjacentPageCount\")\n watchAdjacentPageCountHandler(): void {\n if (this.adjacentPageCount! > 2) {\n this.adjacentPageCount = 2;\n }\n }\n\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) boundaryPageCount?: number = 1;\n\n @Watch(\"boundaryPageCount\")\n watchBoundaryPageCountHandler(): void {\n if (this.boundaryPageCount! > 2) {\n this.boundaryPageCount = 2;\n }\n }\n\n /**\n * The default page to display.\n */\n @Prop() defaultPage?: number = 1;\n\n /**\n * If `true`, the pagination will not allow interaction.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage?: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton?: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The total number of pages.\n */\n @Prop() pages!: number;\n\n @Watch(\"pages\")\n watchNumberPagesHandler(): void {\n this.watchPageChangeHandler();\n }\n\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 @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of pagination to be used.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n @Watch(\"type\")\n watchTypeHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * The current page displayed by the pagination.\n */\n @Prop({ mutable: true }) currentPage?: number = this.defaultPage;\n\n @Watch(\"currentPage\")\n watchPageChangeHandler(): void {\n if (this.type === \"simple\") {\n return;\n }\n\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n\n if (\n this.pages <=\n this.boundaryPageCount! * 2 + this.adjacentPageCount! * 2 + 3\n ) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount!;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount! + 1;\n\n if (\n this.currentPage! <=\n this.adjacentPageCount! + this.boundaryPageCount! + 2\n ) {\n startEllipsis = false;\n endEllipsis = true;\n\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n } else {\n startEllipsis = true;\n if (\n this.currentPage! >\n this.pages - (this.adjacentPageCount! + this.boundaryPageCount! + 2)\n ) {\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount!;\n midStart = midEnd - numItems;\n } else {\n endEllipsis = true;\n midStart = this.currentPage! - this.adjacentPageCount!;\n midEnd = this.currentPage! + this.adjacentPageCount!;\n }\n }\n\n //create array of start items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)\n ) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n\n //create array of end items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)\n ) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n\n /**\n * Emitted when a page is selected.\n */\n @Event() icPageChange: EventEmitter<IcChangeEventDetail>;\n\n componentWillLoad(): void {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.pages, propName: \"pages\" }],\n \"Pagination\"\n );\n }\n\n @Listen(\"paginationItemClick\")\n paginationItemClickHandler(ev: CustomEvent): void {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage! });\n }\n\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n @Method()\n async setCurrentPage(page: number): Promise<void> {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n } else {\n console.error(\n \"Current page must be a number greater than zero but less than or equal to the total number of pages\"\n );\n }\n }\n\n private handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickPrevious = (): void => {\n this.currentPage!--;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickNext = (): void => {\n this.currentPage!++;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickLast = (): void => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n // button rendering abstracted from component render methods for clarity\n private firstButton = () => {\n return (\n <ic-button\n id=\"first-page-button\"\n aria-label=\"Go to first page\"\n theme={this.theme}\n onClick={this.handleClickFirst}\n class=\"page-button first-last\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private previousButton = () => {\n return (\n <ic-button\n id=\"previous-page-button\"\n aria-label=\"Go to previous page\"\n theme={this.theme}\n onClick={this.handleClickPrevious}\n class=\"page-button next-previous flip\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private nextButton = () => {\n return (\n <ic-button\n id=\"next-page-button\"\n aria-label=\"Go to next page\"\n theme={this.theme}\n onClick={this.handleClickNext}\n class=\"page-button next-previous\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private lastButton = () => {\n return (\n <ic-button\n id=\"last-page-button\"\n aria-label=\"Go to last page\"\n theme={this.theme}\n onClick={this.handleClickLast}\n class=\"page-button first-last flip\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private renderStartEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"start-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderEndEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"end-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderStartItems = () => {\n return this.startItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderEndItems = () => {\n return this.endItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderMiddleItems = () => {\n return this.midItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n render() {\n const {\n type,\n currentPage,\n hideCurrentPage,\n disabled,\n hideFirstAndLastPageButton,\n label,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n }}\n >\n {type === \"simple\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"simple-current\"\n page={currentPage}\n label={label}\n class={{ [\"hide-current-page\"]: !!hideCurrentPage }}\n disabled={disabled}\n />\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n {this.renderStartItems()}\n {this.startEllipsis && this.renderStartEllipsis()}\n {this.renderMiddleItems()}\n {this.endEllipsis && this.renderEndEllipsis()}\n {this.renderEndItems()}\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <span class=\"sr-only\" aria-live=\"polite\">\n Page {this.currentPage}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
2
|
-
import {
|
2
|
+
import { n as getSlotElements, m as isPropDefined } from './helpers.js';
|
3
3
|
import { d as defineCustomElement$6 } from './ic-button2.js';
|
4
4
|
import { d as defineCustomElement$5 } from './ic-loading-indicator2.js';
|
5
5
|
import { d as defineCustomElement$4 } from './ic-menu-item2.js';
|
@@ -21,6 +21,10 @@ const PopoverMenu = /*@__PURE__*/ proxyCustomElement(class PopoverMenu extends H
|
|
21
21
|
this.openingFromChild = false;
|
22
22
|
this.openingFromParent = false;
|
23
23
|
this.popperProps = {};
|
24
|
+
/**
|
25
|
+
* Setting to `true` can help in situations where tooltip content is clipped by a parent element.
|
26
|
+
*/
|
27
|
+
this.fixedPositioning = false;
|
24
28
|
/**
|
25
29
|
* @internal The level of menu being displayed.
|
26
30
|
*/
|
@@ -106,7 +110,7 @@ const PopoverMenu = /*@__PURE__*/ proxyCustomElement(class PopoverMenu extends H
|
|
106
110
|
};
|
107
111
|
this.initPopperJS = () => {
|
108
112
|
if (this.anchorEl) {
|
109
|
-
this.popperInstance = createPopper(this.anchorEl, this.el, Object.assign({ placement: "bottom-start", modifiers: [
|
113
|
+
this.popperInstance = createPopper(this.anchorEl, this.el, Object.assign({ strategy: this.fixedPositioning ? "fixed" : "absolute", placement: "bottom-start", modifiers: [
|
110
114
|
{
|
111
115
|
name: "offset",
|
112
116
|
options: {
|
@@ -281,17 +285,17 @@ const PopoverMenu = /*@__PURE__*/ proxyCustomElement(class PopoverMenu extends H
|
|
281
285
|
this.popperProps = props;
|
282
286
|
}
|
283
287
|
render() {
|
284
|
-
return (h(Host, { key: '
|
288
|
+
return (h(Host, { key: '5ffa8a51af3508448af45892be2854e7caadfc1d', class: {
|
285
289
|
["ic-popover-menu-open"]: !!this.open,
|
286
290
|
[`ic-theme-${this.theme}`]: this.theme !== "inherit",
|
287
|
-
} }, h("div", { key: '
|
291
|
+
} }, h("div", { key: 'c3160d601be3e64a081da71a369e5c91258000ae', id: this.parentPopover === undefined
|
288
292
|
? `ic-popover-submenu-${this.submenuId}`
|
289
293
|
: "", class: {
|
290
294
|
menu: true,
|
291
|
-
} }, h("span", { key: '
|
295
|
+
} }, h("span", { key: 'ae7a23ecfc8d5bba00f00e921292d227be204de4', class: {
|
292
296
|
"opening-from-parent": this.openingFromParent,
|
293
297
|
"opening-from-child": this.openingFromChild,
|
294
|
-
} }, isPropDefined(this.submenuId) && (h("span", { key: '
|
298
|
+
} }, isPropDefined(this.submenuId) && (h("span", { key: '003ba26d863d718db5b8b6d2ff54710e02eb7677' }, h("span", { key: '4db795ec37a6ac82956e483bb2bf5a73961377e5', role: "menu" }, h("ic-menu-item", { key: 'a102e3c94bb5ba26c8f37c1948230f5dd2bd2c5a', class: "ic-popover-submenu-back-button", ref: (el) => (this.backButton = el), label: "Back", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h("svg", { key: 'e97bd20445b09d2ba20bfbf9a6808a9e925b1c39', slot: "icon", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "submenu-back-icon" }, h("path", { key: '1e8b35769c14f03ee11c26250f84d0dc23963dc0', d: "M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z", fill: "currentColor" })))), h("ic-typography", { key: 'cfbbf43ec26066f7aa1879baf0ef4c8705248bcb', variant: "subtitle-small", class: "parent-label" }, this.parentLabel))), h("div", { key: '54ac1fa4283a77f2678a21e2869be48db726aa09', class: "menu-body", "aria-label": this.getMenuAriaLabel(), role: "menu" }, h("slot", { key: '986dfbed5c2337812f4ac529910240cfc4ffe216' }))))));
|
295
299
|
}
|
296
300
|
static get delegatesFocus() { return true; }
|
297
301
|
get el() { return this; }
|
@@ -301,6 +305,7 @@ const PopoverMenu = /*@__PURE__*/ proxyCustomElement(class PopoverMenu extends H
|
|
301
305
|
static get style() { return IcPopoverMenuStyle0; }
|
302
306
|
}, [17, "ic-popover-menu", {
|
303
307
|
"anchor": [1],
|
308
|
+
"fixedPositioning": [4, "fixed-positioning"],
|
304
309
|
"parentLabel": [1, "parent-label"],
|
305
310
|
"parentPopover": [16],
|
306
311
|
"submenuId": [1, "submenu-id"],
|