@ukic/canary-web-components 3.0.0-canary.30 → 3.0.0-canary.31
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/date-helpers-d7ee7b45.js.map +1 -1
- package/dist/cjs/{helpers-da852478.js → helpers-6f4b406b.js} +20 -20
- package/dist/cjs/helpers-6f4b406b.js.map +1 -0
- package/dist/cjs/ic-button_3.cjs.entry.js +5 -5
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-calendar_2.cjs.entry.js +2354 -0
- package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +6 -6
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox_3.cjs.entry.js +39 -16
- package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +4 -4
- package/dist/cjs/ic-data-table.cjs.entry.js +8 -8
- package/dist/cjs/ic-date-picker.cjs.entry.js +98 -854
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +11 -6
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +10 -10
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
- package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +3 -3
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +18 -18
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +13 -13
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +4 -4
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-table-of-contents.cjs.entry.js +4 -4
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-time-input.cjs.entry.js +5 -5
- package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +4 -4
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
- package/dist/cjs/index-d337cd8a.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-calendar/ic-calendar.css +910 -0
- package/dist/collection/components/ic-calendar/ic-calendar.js +1542 -0
- package/dist/collection/components/ic-calendar/ic-calendar.js.map +1 -0
- package/dist/collection/components/ic-calendar/ic-calendar.stories.js +295 -0
- package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -0
- package/dist/collection/components/ic-calendar/ic-day-button.js.map +1 -0
- package/dist/collection/components/ic-calendar/ic-month-picker.js +35 -0
- package/dist/collection/components/ic-calendar/ic-month-picker.js.map +1 -0
- package/dist/collection/components/ic-calendar/ic-year-picker.js +57 -0
- package/dist/collection/components/ic-calendar/ic-year-picker.js.map +1 -0
- package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js +13 -0
- package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +6 -6
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js +7 -7
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +3 -3
- package/dist/collection/components/ic-date-input/ic-date-input.js +8 -7
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.css +7 -405
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +145 -802
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +110 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
- package/dist/collection/components/ic-date-picker/story-data.js +5 -1
- package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +7 -7
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +3 -3
- package/dist/collection/components/ic-time-input/ic-time-input.js +9 -8
- package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
- package/dist/collection/utils/date-helpers.js +3 -0
- package/dist/collection/utils/date-helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/{esm/date-helpers-2b531c8c.js → components/date-helpers.js} +2 -2
- package/dist/components/date-helpers.js.map +1 -0
- package/dist/components/helpers2.js +20 -20
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-calendar.d.ts +11 -0
- package/dist/components/ic-calendar.js +8 -0
- package/dist/components/ic-calendar.js.map +1 -0
- package/dist/components/ic-calendar2.js +1235 -0
- package/dist/components/ic-calendar2.js.map +1 -0
- package/dist/components/ic-card-horizontal.js +6 -6
- package/dist/components/ic-card-horizontal.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +2 -2
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox2.js +31 -8
- package/dist/components/ic-checkbox2.js.map +1 -1
- package/dist/components/ic-data-list.js +2 -2
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js +2 -2
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-data-table-title-bar.js +3 -3
- package/dist/components/ic-data-table.js +8 -8
- package/dist/components/ic-date-input2.js +6 -88
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-date-picker.js +113 -880
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-dialog.js +1 -1
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-empty-state2.js +2 -2
- package/dist/components/ic-empty-state2.js.map +1 -1
- package/dist/components/ic-footer-link.js +2 -2
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-hero.js +12 -6
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +3 -3
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +2 -2
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +3 -3
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-layout-grid-item.js +2 -2
- package/dist/components/ic-layout-grid-item.js.map +1 -1
- package/dist/components/ic-layout-grid.js +2 -2
- package/dist/components/ic-layout-grid.js.map +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +5 -5
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu2.js +3 -3
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +4 -4
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +6 -6
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +6 -6
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +4 -4
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +4 -4
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +4 -4
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +9 -9
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select2.js +7 -7
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +4 -4
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-skip-link.js.map +1 -1
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +13 -13
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +4 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-table-of-contents.js +3 -3
- package/dist/components/ic-text-field2.js +6 -6
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-time-input.js +5 -5
- package/dist/components/ic-time-input.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +4 -4
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +2 -2
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tree-item.js +3 -3
- package/dist/components/ic-tree-view.js +4 -4
- package/dist/core/core.css +21 -9
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-9fade6ad.entry.js → p-0043b019.entry.js} +2 -2
- package/dist/core/{p-9fade6ad.entry.js.map → p-0043b019.entry.js.map} +1 -1
- package/dist/core/{p-889bb8db.entry.js → p-04cb17d7.entry.js} +2 -2
- package/dist/core/{p-889bb8db.entry.js.map → p-04cb17d7.entry.js.map} +1 -1
- package/dist/core/{p-5ef453b6.entry.js → p-15c05eb8.entry.js} +2 -2
- package/dist/core/{p-5ef453b6.entry.js.map → p-15c05eb8.entry.js.map} +1 -1
- package/dist/core/p-1a976789.entry.js +2 -0
- package/dist/core/p-1a976789.entry.js.map +1 -0
- package/dist/core/{p-1be092cc.entry.js → p-2188b483.entry.js} +2 -2
- package/dist/core/{p-1be092cc.entry.js.map → p-2188b483.entry.js.map} +1 -1
- package/dist/core/{p-8c94541e.entry.js → p-24bac55f.entry.js} +2 -2
- package/dist/core/{p-8c94541e.entry.js.map → p-24bac55f.entry.js.map} +1 -1
- package/dist/core/{p-7f304d85.entry.js → p-2646a629.entry.js} +2 -2
- package/dist/core/{p-7f304d85.entry.js.map → p-2646a629.entry.js.map} +1 -1
- package/dist/core/{p-5cf704e3.entry.js → p-319e3d5b.entry.js} +2 -2
- package/dist/core/{p-5cf704e3.entry.js.map → p-319e3d5b.entry.js.map} +1 -1
- package/dist/core/{p-9e200827.entry.js → p-31f3fb15.entry.js} +2 -2
- package/dist/core/{p-9e200827.entry.js.map → p-31f3fb15.entry.js.map} +1 -1
- package/dist/core/{p-fd64c0e5.entry.js → p-3891ce53.entry.js} +2 -2
- package/dist/core/{p-fd64c0e5.entry.js.map → p-3891ce53.entry.js.map} +1 -1
- package/dist/core/{p-fad44bc8.entry.js → p-3ba2b455.entry.js} +2 -2
- package/dist/core/{p-fad44bc8.entry.js.map → p-3ba2b455.entry.js.map} +1 -1
- package/dist/core/{p-df220b91.entry.js → p-3ef2e98d.entry.js} +2 -2
- package/dist/core/{p-03ae0bc3.entry.js → p-41def410.entry.js} +2 -2
- package/dist/core/{p-03ae0bc3.entry.js.map → p-41def410.entry.js.map} +1 -1
- package/dist/core/p-4b188516.entry.js +2 -0
- package/dist/core/p-4b188516.entry.js.map +1 -0
- package/dist/core/{p-93e1ba0a.entry.js → p-5254a078.entry.js} +2 -2
- package/dist/core/{p-93e1ba0a.entry.js.map → p-5254a078.entry.js.map} +1 -1
- package/dist/core/{p-9c2e9189.entry.js → p-53740194.entry.js} +2 -2
- package/dist/core/{p-9c2e9189.entry.js.map → p-53740194.entry.js.map} +1 -1
- package/dist/core/{p-e380a54e.entry.js → p-5a4344cb.entry.js} +2 -2
- package/dist/core/{p-e380a54e.entry.js.map → p-5a4344cb.entry.js.map} +1 -1
- package/dist/core/p-5b32aaf3.entry.js +2 -0
- package/dist/core/p-5b32aaf3.entry.js.map +1 -0
- package/dist/core/{p-d8200098.entry.js → p-67c3985d.entry.js} +2 -2
- package/dist/core/{p-d8200098.entry.js.map → p-67c3985d.entry.js.map} +1 -1
- package/dist/core/{p-982a173d.entry.js → p-7332320d.entry.js} +2 -2
- package/dist/core/{p-982a173d.entry.js.map → p-7332320d.entry.js.map} +1 -1
- package/dist/core/{p-bc441e4c.js → p-75c3b882.js} +2 -2
- package/dist/core/{p-bc441e4c.js.map → p-75c3b882.js.map} +1 -1
- package/dist/core/{p-b88db5e3.entry.js → p-7a0f62c2.entry.js} +2 -2
- package/dist/core/{p-b88db5e3.entry.js.map → p-7a0f62c2.entry.js.map} +1 -1
- package/dist/core/p-81f12581.entry.js +2 -0
- package/dist/core/p-81f12581.entry.js.map +1 -0
- package/dist/core/{p-193afb53.entry.js → p-847cbb16.entry.js} +2 -2
- package/dist/core/{p-193afb53.entry.js.map → p-847cbb16.entry.js.map} +1 -1
- package/dist/core/{p-f3ccaa0b.entry.js → p-8e592393.entry.js} +2 -2
- package/dist/core/{p-f3ccaa0b.entry.js.map → p-8e592393.entry.js.map} +1 -1
- package/dist/core/p-9044539c.entry.js +2 -0
- package/dist/core/p-9044539c.entry.js.map +1 -0
- package/dist/core/{p-f4e7cae6.entry.js → p-90611726.entry.js} +2 -2
- package/dist/core/{p-f4e7cae6.entry.js.map → p-90611726.entry.js.map} +1 -1
- package/dist/core/{p-b00efb15.entry.js → p-9674b63f.entry.js} +2 -2
- package/dist/core/{p-b00efb15.entry.js.map → p-9674b63f.entry.js.map} +1 -1
- package/dist/core/{p-a27e1cee.entry.js → p-9a95f428.entry.js} +2 -2
- package/dist/core/{p-a27e1cee.entry.js.map → p-9a95f428.entry.js.map} +1 -1
- package/dist/core/{p-fb43abd6.entry.js → p-9ca147f3.entry.js} +2 -2
- package/dist/core/{p-fb43abd6.entry.js.map → p-9ca147f3.entry.js.map} +1 -1
- package/dist/core/{p-a8cc28a6.entry.js → p-9f76eed6.entry.js} +2 -2
- package/dist/core/{p-035dbee0.entry.js → p-a1448064.entry.js} +2 -2
- package/dist/core/{p-035dbee0.entry.js.map → p-a1448064.entry.js.map} +1 -1
- package/dist/core/{p-9ce9d39a.entry.js → p-a237af88.entry.js} +2 -2
- package/dist/core/{p-9ce9d39a.entry.js.map → p-a237af88.entry.js.map} +1 -1
- package/dist/core/{p-09c31ac6.entry.js → p-adde6c66.entry.js} +2 -2
- package/dist/core/{p-09c31ac6.entry.js.map → p-adde6c66.entry.js.map} +1 -1
- package/dist/core/{p-72b7051a.entry.js → p-af821831.entry.js} +2 -2
- package/dist/core/{p-72b7051a.entry.js.map → p-af821831.entry.js.map} +1 -1
- package/dist/core/{p-12e8dcdd.entry.js → p-afedcfdb.entry.js} +2 -2
- package/dist/core/{p-12e8dcdd.entry.js.map → p-afedcfdb.entry.js.map} +1 -1
- package/dist/core/{p-f098e531.entry.js → p-b4a2f6fa.entry.js} +2 -2
- package/dist/core/{p-f098e531.entry.js.map → p-b4a2f6fa.entry.js.map} +1 -1
- package/dist/core/p-b4bfaf8f.entry.js +2 -0
- package/dist/core/p-b4bfaf8f.entry.js.map +1 -0
- package/dist/core/{p-ea1de762.entry.js → p-b80b08ae.entry.js} +2 -2
- package/dist/core/p-b80b08ae.entry.js.map +1 -0
- package/dist/core/{p-7bf9bbde.entry.js → p-ba21f477.entry.js} +2 -2
- package/dist/core/{p-7bf9bbde.entry.js.map → p-ba21f477.entry.js.map} +1 -1
- package/dist/core/{p-63203e59.entry.js → p-ba75ed34.entry.js} +2 -2
- package/dist/core/{p-63203e59.entry.js.map → p-ba75ed34.entry.js.map} +1 -1
- package/dist/core/{p-15a81f32.entry.js → p-bd9a76d8.entry.js} +2 -2
- package/dist/core/{p-15a81f32.entry.js.map → p-bd9a76d8.entry.js.map} +1 -1
- package/dist/core/{p-10950727.entry.js → p-c3eddb99.entry.js} +2 -2
- package/dist/core/{p-10950727.entry.js.map → p-c3eddb99.entry.js.map} +1 -1
- package/dist/core/{p-a99ad459.entry.js → p-c5d65718.entry.js} +2 -2
- package/dist/core/{p-a99ad459.entry.js.map → p-c5d65718.entry.js.map} +1 -1
- package/dist/core/{p-eb958cc8.entry.js → p-c6c87e58.entry.js} +2 -2
- package/dist/core/{p-eb958cc8.entry.js.map → p-c6c87e58.entry.js.map} +1 -1
- package/dist/core/{p-c8ce7d60.entry.js → p-e00e67ff.entry.js} +2 -2
- package/dist/core/{p-c8ce7d60.entry.js.map → p-e00e67ff.entry.js.map} +1 -1
- package/dist/core/{p-069e758b.entry.js → p-e1920777.entry.js} +2 -2
- package/dist/core/{p-92936b49.entry.js → p-ef5b6622.entry.js} +2 -2
- package/dist/core/{p-0f22f41e.js → p-f48ce5f6.js} +2 -2
- package/dist/core/p-f48ce5f6.js.map +1 -0
- package/dist/core/{p-1ca62941.entry.js → p-f5cea10d.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/date-helpers-5723de08.js +86 -0
- package/dist/esm/{date-helpers-2b531c8c.js.map → date-helpers-5723de08.js.map} +1 -1
- package/dist/esm/{helpers-89cb996d.js → helpers-9f228880.js} +21 -21
- package/dist/esm/helpers-9f228880.js.map +1 -0
- package/dist/esm/ic-button_3.entry.js +5 -5
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-calendar_2.entry.js +2349 -0
- package/dist/esm/ic-calendar_2.entry.js.map +1 -0
- package/dist/esm/ic-card-horizontal.entry.js +6 -6
- package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +2 -2
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox_3.entry.js +39 -16
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +2 -2
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +2 -2
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +4 -4
- package/dist/esm/ic-data-table.entry.js +8 -8
- package/dist/esm/ic-date-picker.entry.js +100 -856
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +2 -2
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +11 -6
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +10 -10
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
- package/dist/esm/ic-layout-grid-item.entry.js +2 -2
- package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
- package/dist/esm/ic-layout-grid.entry.js +2 -2
- package/dist/esm/ic-layout-grid.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu.entry.js +3 -3
- package/dist/esm/ic-menu.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +4 -4
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +6 -6
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +18 -18
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +4 -4
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +4 -4
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +4 -4
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +9 -9
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +4 -4
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +13 -13
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +2 -2
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +4 -4
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +2 -2
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-table-of-contents.entry.js +4 -4
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-time-input.entry.js +5 -5
- package/dist/esm/ic-time-input.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +4 -4
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +2 -2
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +2 -2
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +3 -3
- package/dist/esm/ic-tree-view.entry.js +4 -4
- package/dist/esm/index-a7a720e7.js +4 -4
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-calendar/ic-calendar.d.ts +216 -0
- package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +151 -0
- package/dist/types/components/ic-calendar/test/a11y/ic-calendar.test.a11y.d.ts +1 -0
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +1 -2
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -2
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +22 -105
- package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +81 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +1 -1
- package/dist/types/components/ic-time-input/ic-time-input.d.ts +2 -2
- package/dist/types/components.d.ts +213 -14
- package/dist/types/utils/date-helpers.d.ts +1 -0
- package/dist/types/utils/types.d.ts +1 -0
- package/hydrate/index.js +2085 -1639
- package/hydrate/index.mjs +2085 -1639
- package/package.json +3 -3
- package/dist/cjs/helpers-da852478.js.map +0 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +0 -1214
- package/dist/cjs/ic-date-input.cjs.entry.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-day-button.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-month-picker.js +0 -29
- package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +0 -1
- package/dist/collection/components/ic-date-picker/ic-year-picker.js +0 -39
- package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +0 -1
- package/dist/core/p-0f22f41e.js.map +0 -1
- package/dist/core/p-13c8859b.entry.js +0 -2
- package/dist/core/p-13c8859b.entry.js.map +0 -1
- package/dist/core/p-2528ecec.entry.js +0 -2
- package/dist/core/p-2528ecec.entry.js.map +0 -1
- package/dist/core/p-402870f7.entry.js +0 -2
- package/dist/core/p-402870f7.entry.js.map +0 -1
- package/dist/core/p-bd8c2e24.entry.js +0 -2
- package/dist/core/p-bd8c2e24.entry.js.map +0 -1
- package/dist/core/p-c0d4db72.entry.js +0 -2
- package/dist/core/p-c0d4db72.entry.js.map +0 -1
- package/dist/core/p-ea1de762.entry.js.map +0 -1
- package/dist/core/p-f16c4210.entry.js +0 -2
- package/dist/core/p-f16c4210.entry.js.map +0 -1
- package/dist/esm/helpers-89cb996d.js.map +0 -1
- package/dist/esm/ic-date-input.entry.js +0 -1210
- package/dist/esm/ic-date-input.entry.js.map +0 -1
- /package/dist/collection/components/{ic-date-picker → ic-calendar}/ic-day-button.js +0 -0
- /package/dist/core/{p-df220b91.entry.js.map → p-3ef2e98d.entry.js.map} +0 -0
- /package/dist/core/{p-a8cc28a6.entry.js.map → p-9f76eed6.entry.js.map} +0 -0
- /package/dist/core/{p-069e758b.entry.js.map → p-e1920777.entry.js.map} +0 -0
- /package/dist/core/{p-92936b49.entry.js.map → p-ef5b6622.entry.js.map} +0 -0
- /package/dist/core/{p-1ca62941.entry.js.map → p-f5cea10d.entry.js.map} +0 -0
- /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-day-button.d.ts +0 -0
- /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-month-picker.d.ts +0 -0
- /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-year-picker.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["icNavigationMenuCss","IcNavigationMenuStyle0","NAV_GROUP_TAG","NAV_ITEM_TAG","NavigationMenu","constructor","hostRef","this","hasButtons","hasNavigation","lastTabStop","navGroupFirst","navItemAboveButtons","status","theme","version","setLastTabStop","lastNavGroupExpanded","lastEl","navigationEls","length","tagName","childNavItems","children","slotContent","getSlot","closeMenu","icNavigationMenuClose","emit","focusCloseButton","_a","closeButton","focus","focusLastTabStop","focusEl","componentWillLoad","navBarEl","document","querySelector","getSlotContent","el","addEventListener","event","detail","expanded","firstEl","buttonContent","componentDidLoad","componentWillRender","isSlotUsed","navItemClickHandler","handleKeyDown","ev","key","shiftKey","activeElement","preventDefault","render","h","Host","class","onClick","role","id","ref","variant","size","width","height","viewBox","fill","xmlns","d","name"],"sources":["../web-components/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css?tag=ic-navigation-menu&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js"],"sourcesContent":["/**\n * @prop --ic-z-index-navigation-menu: z-index of navigation menu\n */\n\n:host {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-navigation-menu);\n}\n\n.popout-modal {\n position: absolute;\n inset: 0;\n}\n\n.popout-menu {\n position: fixed;\n top: 0;\n right: 0;\n width: 16rem;\n bottom: 0;\n background-color: var(--ic-top-navigation-menu-background);\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n box-shadow: var(--ic-elevation-overlay);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n:host(.inline) .popout-menu {\n position: absolute;\n}\n\n.menu-close-button-container {\n position: relative;\n left: 11.875rem;\n padding: var(--ic-space-md) 0;\n}\n\n.nav-group-first {\n padding-bottom: 0;\n}\n\n.menu-buttons-container {\n padding: var(--ic-space-sm) 0;\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-buttons-container-nav-item-above {\n margin-top: var(--ic-space-md);\n border-top: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-status-version-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl);\n}\n\n.status-version-no-buttons {\n border-top: var(--ic-space-1px) solid var(--ic-architectural-200);\n}\n\n.menu-status {\n background-color: var(--ic-status-tag-neutral);\n\n --ic-typography-color: var(--ic-color-text-inverted);\n\n border-radius: var(--ic-space-md);\n width: -moz-fit-content;\n width: fit-content;\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-status-tag-outlined-background-neutral-contrast);\n\n --ic-typography-color: var(--ic-color-text-primary-light);\n\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-status-text,\n.menu-version-text {\n overflow-wrap: break-word;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getSlot, getSlotContent, isSlotUsed } from \"../../utils/helpers\";\nconst NAV_GROUP_TAG = \"IC-NAVIGATION-GROUP\";\nconst NAV_ITEM_TAG = \"IC-NAVIGATION-ITEM\";\n/**\n * @slot navigation - Content will be rendered at top of panel.\n * @slot buttons - Content will be rendered above version info and below navigation.\n */\nexport class NavigationMenu {\n constructor() {\n this.hasButtons = false;\n this.hasNavigation = false;\n this.lastTabStop = null;\n this.navGroupFirst = false;\n this.navItemAboveButtons = false;\n /**\n * The status info to display.\n */\n this.status = \"\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The version info to display.\n */\n this.version = \"\";\n this.setLastTabStop = (lastNavGroupExpanded) => {\n let lastEl = this.navigationEls[this.navigationEls.length - 1];\n if (lastEl.tagName === NAV_GROUP_TAG && lastNavGroupExpanded) {\n const childNavItems = lastEl.children;\n lastEl = childNavItems[childNavItems.length - 1];\n }\n if (lastEl.tagName === NAV_ITEM_TAG) {\n //check for slotted content i.e. react router link\n const slotContent = getSlot(lastEl, \"navigation-item\");\n if (slotContent !== null) {\n lastEl = slotContent;\n }\n }\n this.lastTabStop = lastEl;\n };\n this.closeMenu = () => {\n this.icNavigationMenuClose.emit();\n };\n this.focusCloseButton = () => {\n var _a;\n (_a = this.closeButton) === null || _a === void 0 ? void 0 : _a.focus();\n };\n this.focusLastTabStop = () => {\n let focusEl;\n if (this.lastTabStop !== null) {\n switch (this.lastTabStop.tagName) {\n case \"IC-NAVIGATION-BUTTON\":\n case NAV_ITEM_TAG:\n case NAV_GROUP_TAG:\n focusEl = this.lastTabStop;\n focusEl.focus();\n break;\n case \"A\":\n this.lastTabStop.focus();\n break;\n }\n }\n };\n }\n componentWillLoad() {\n this.navBarEl = document.querySelector(\"ic-top-navigation\");\n this.navigationEls = getSlotContent(this.el, \"navigation\");\n if (this.navigationEls) {\n this.hasNavigation = true;\n const lastEl = this.navigationEls[this.navigationEls.length - 1];\n if (lastEl.tagName === NAV_ITEM_TAG) {\n this.navItemAboveButtons = true;\n }\n else if (lastEl.tagName === NAV_GROUP_TAG) {\n lastEl.addEventListener(\"navigationGroupExpanded\", ((event) => {\n this.setLastTabStop(event.detail.expanded);\n }));\n }\n const firstEl = this.navigationEls[0];\n if (firstEl.tagName === NAV_GROUP_TAG) {\n this.navGroupFirst = true;\n }\n }\n const buttonContent = getSlotContent(this.el, \"buttons\");\n if (buttonContent !== null) {\n this.hasButtons = true;\n this.lastTabStop = buttonContent[buttonContent.length - 1];\n }\n else {\n if (this.hasNavigation && this.navigationEls) {\n this.setLastTabStop(false);\n }\n }\n }\n componentDidLoad() {\n this.focusCloseButton();\n }\n componentWillRender() {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasButtons = isSlotUsed(this.el, \"buttons\");\n }\n navItemClickHandler() {\n this.closeMenu();\n }\n handleKeyDown(ev) {\n if (ev.key === \"Tab\") {\n if (ev.shiftKey) {\n if (document.activeElement === this.navBarEl) {\n ev.preventDefault();\n this.focusLastTabStop();\n }\n }\n else if (document.activeElement === this.lastTabStop ||\n this.lastTabStop === null) {\n ev.preventDefault();\n this.focusCloseButton();\n }\n }\n else if (ev.key === \"Escape\") {\n this.closeMenu();\n }\n }\n render() {\n return (h(Host, { key: '5040ecf445a2131ca777cf9795f4fc25f9ee9d3f', class: { [`ic-theme-${this.theme}`]: this.theme !== \"inherit\" } }, h(\"div\", { key: '85b31d01281c8ea08c7fa09d37063fa6274ade9d', class: \"popout-modal\", onClick: this.closeMenu }), h(\"div\", { key: '336cf9892c7698a887a6a8fa6f287c40b441c2ab', class: \"popout-menu\", role: \"dialog\", \"aria-modal\": \"true\", \"aria-label\": `${this.hasNavigation ? \"Navigation\" : \"App\"} menu` }, h(\"span\", { key: 'd2367e40e87f65ef92225fb0240f049723de8eea', \"aria-hidden\": \"true\", id: \"navigation-landmark-text\", class: \"navigation-landmark-text\" }, \"Main navigation\"), h(\"nav\", { key: '665c9f21f3c81961edff4e959fa77a2c7479f475', \"aria-labelledby\": \"navigation-landmark-text\", \"aria-hidden\": this.hasNavigation ? \"false\" : \"true\" }, h(\"div\", { key: '3e9debb08e2efe3bc8b4a5266d1df14ee7ee3b8a', class: {\n [\"menu-close-button-container\"]: true,\n [\"nav-group-first\"]: this.navGroupFirst,\n } }, h(\"ic-button\", { key: '8fa44a70222a765adbe21298f81d2a8d9507b5ec', ref: (el) => (this.closeButton = el), id: \"menu-close-button\", class: \"menu-close-button\", variant: \"icon-tertiary\", size: \"large\", \"aria-label\": `Close ${this.hasNavigation ? \"navigation\" : \"app\"} menu`, onClick: this.closeMenu }, h(\"svg\", { key: '9b5dc10d973f156783708c56f30e618db47a6de1', width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, h(\"path\", { key: '9fa87211d3c594f36b6a7b0bd1d5298f8d04d4f4', 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: 'f4ba3ba39a6c152d32fcfe4d67492effed09eae7', name: \"navigation\" })), this.hasButtons && (h(\"div\", { key: 'ac05566d1578abbf6377417130e3eb17b177e67d', class: {\n [\"menu-buttons-container\"]: true,\n [\"menu-buttons-container-nav-item-above\"]: this.navItemAboveButtons,\n } }, h(\"slot\", { key: 'b41b238a5b9539d20fee6d1ef5d48e8318282e7b', name: \"buttons\" }))), (this.status !== \"\" || this.version !== \"\") && (h(\"div\", { key: 'f7e7f7ac77288dde96a92160e25cbe04e4762fc2', class: {\n [\"menu-status-version-container\"]: true,\n [\"status-version-no-buttons\"]: !this.hasButtons,\n } }, this.status !== \"\" && (h(\"div\", { key: '7cff7f64f8040feb7605890db0131df0d854688a', class: \"menu-status\" }, h(\"ic-typography\", { key: 'cc5124ab4a9c02e5f412755012c60e42c9e8bc55', variant: \"label-uppercase\", \"aria-label\": \"app tag\", class: \"menu-status-text\" }, this.status))), this.version !== \"\" && (h(\"div\", { key: '3a72f8253064a565c543a504aef7bd6efe7cb2cb', class: \"menu-version\" }, h(\"ic-typography\", { key: 'e2060017d43524668f0da2e7b3385bb19ab3438e', variant: \"label\", class: \"menu-version-text\", \"aria-label\": \"app version\" }, this.version))))))));\n }\n static get is() { return \"ic-navigation-menu\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status info to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"version\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The version info to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"version\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icNavigationMenuClose\",\n \"name\": \"icNavigationMenuClose\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when the menu is closed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"navItemClicked\",\n \"method\": \"navItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyDown\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-menu.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["icNavigationMenuCss","IcNavigationMenuStyle0","NAV_GROUP_TAG","NAV_ITEM_TAG","NavigationMenu","constructor","hostRef","this","hasButtons","hasNavigation","lastTabStop","navGroupFirst","navItemAboveButtons","status","theme","version","setLastTabStop","lastNavGroupExpanded","lastEl","navigationEls","length","tagName","childNavItems","children","slotContent","getSlot","closeMenu","icNavigationMenuClose","emit","focusCloseButton","_a","closeButton","focus","focusLastTabStop","focusEl","componentWillLoad","navBarEl","document","querySelector","getSlotContent","el","addEventListener","event","detail","expanded","firstEl","buttonContent","componentDidLoad","componentWillRender","isSlotUsed","navItemClickHandler","handleKeyDown","ev","key","shiftKey","activeElement","preventDefault","render","h","Host","class","onClick","role","id","ref","variant","size","width","height","viewBox","fill","xmlns","d","name"],"sources":["../web-components/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css?tag=ic-navigation-menu&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js"],"sourcesContent":["/**\n * @prop --ic-z-index-navigation-menu: z-index of navigation menu\n */\n\n:host {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-navigation-menu);\n}\n\n.popout-modal {\n position: absolute;\n inset: 0;\n}\n\n.popout-menu {\n position: fixed;\n top: 0;\n right: 0;\n width: 16rem;\n bottom: 0;\n background-color: var(--ic-top-navigation-menu-background);\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n box-shadow: var(--ic-elevation-overlay);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n:host(.inline) .popout-menu {\n position: absolute;\n}\n\n.menu-close-button-container {\n position: relative;\n left: 11.875rem;\n padding: var(--ic-space-md) 0;\n}\n\n.nav-group-first {\n padding-bottom: 0;\n}\n\n.menu-buttons-container {\n padding: var(--ic-space-sm) 0;\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-buttons-container-nav-item-above {\n margin-top: var(--ic-space-md);\n border-top: var(--ic-border-width) solid var(--ic-architectural-200);\n}\n\n.menu-status-version-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-md) var(--ic-space-md) var(--ic-space-xl);\n}\n\n.status-version-no-buttons {\n border-top: var(--ic-space-1px) solid var(--ic-architectural-200);\n}\n\n.menu-status {\n background-color: var(--ic-status-tag-neutral);\n\n --ic-typography-color: var(--ic-color-text-inverted);\n\n border-radius: var(--ic-space-md);\n width: -moz-fit-content;\n width: fit-content;\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-status-tag-outlined-background-neutral-contrast);\n\n --ic-typography-color: var(--ic-color-text-primary-light);\n\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n}\n\n.menu-status-text,\n.menu-version-text {\n overflow-wrap: break-word;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getSlot, getSlotContent, isSlotUsed } from \"../../utils/helpers\";\nconst NAV_GROUP_TAG = \"IC-NAVIGATION-GROUP\";\nconst NAV_ITEM_TAG = \"IC-NAVIGATION-ITEM\";\n/**\n * @slot navigation - Content will be rendered at top of panel.\n * @slot buttons - Content will be rendered above version info and below navigation.\n */\nexport class NavigationMenu {\n constructor() {\n this.hasButtons = false;\n this.hasNavigation = false;\n this.lastTabStop = null;\n this.navGroupFirst = false;\n this.navItemAboveButtons = false;\n /**\n * The status info to display.\n */\n this.status = \"\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The version info to display.\n */\n this.version = \"\";\n this.setLastTabStop = (lastNavGroupExpanded) => {\n let lastEl = this.navigationEls[this.navigationEls.length - 1];\n if (lastEl.tagName === NAV_GROUP_TAG && lastNavGroupExpanded) {\n const childNavItems = lastEl.children;\n lastEl = childNavItems[childNavItems.length - 1];\n }\n if (lastEl.tagName === NAV_ITEM_TAG) {\n //check for slotted content i.e. react router link\n const slotContent = getSlot(lastEl, \"navigation-item\");\n if (slotContent !== null) {\n lastEl = slotContent;\n }\n }\n this.lastTabStop = lastEl;\n };\n this.closeMenu = () => {\n this.icNavigationMenuClose.emit();\n };\n this.focusCloseButton = () => {\n var _a;\n (_a = this.closeButton) === null || _a === void 0 ? void 0 : _a.focus();\n };\n this.focusLastTabStop = () => {\n let focusEl;\n if (this.lastTabStop !== null) {\n switch (this.lastTabStop.tagName) {\n case \"IC-NAVIGATION-BUTTON\":\n case NAV_ITEM_TAG:\n case NAV_GROUP_TAG:\n focusEl = this.lastTabStop;\n focusEl.focus();\n break;\n case \"A\":\n this.lastTabStop.focus();\n break;\n }\n }\n };\n }\n componentWillLoad() {\n this.navBarEl = document.querySelector(\"ic-top-navigation\");\n this.navigationEls = getSlotContent(this.el, \"navigation\");\n if (this.navigationEls) {\n this.hasNavigation = true;\n const lastEl = this.navigationEls[this.navigationEls.length - 1];\n if (lastEl.tagName === NAV_ITEM_TAG) {\n this.navItemAboveButtons = true;\n }\n else if (lastEl.tagName === NAV_GROUP_TAG) {\n lastEl.addEventListener(\"navigationGroupExpanded\", ((event) => {\n this.setLastTabStop(event.detail.expanded);\n }));\n }\n const firstEl = this.navigationEls[0];\n if (firstEl.tagName === NAV_GROUP_TAG) {\n this.navGroupFirst = true;\n }\n }\n const buttonContent = getSlotContent(this.el, \"buttons\");\n if (buttonContent !== null) {\n this.hasButtons = true;\n this.lastTabStop = buttonContent[buttonContent.length - 1];\n }\n else {\n if (this.hasNavigation && this.navigationEls) {\n this.setLastTabStop(false);\n }\n }\n }\n componentDidLoad() {\n this.focusCloseButton();\n }\n componentWillRender() {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasButtons = isSlotUsed(this.el, \"buttons\");\n }\n navItemClickHandler() {\n this.closeMenu();\n }\n handleKeyDown(ev) {\n if (ev.key === \"Tab\") {\n if (ev.shiftKey) {\n if (document.activeElement === this.navBarEl) {\n ev.preventDefault();\n this.focusLastTabStop();\n }\n }\n else if (document.activeElement === this.lastTabStop ||\n this.lastTabStop === null) {\n ev.preventDefault();\n this.focusCloseButton();\n }\n }\n else if (ev.key === \"Escape\") {\n this.closeMenu();\n }\n }\n render() {\n return (h(Host, { key: '3e06550714484b8a9d157e0391697e303fbf8259', class: { [`ic-theme-${this.theme}`]: this.theme !== \"inherit\" } }, h(\"div\", { key: 'b56300f2817a5a42401570a56f5b29c90e37e336', class: \"popout-modal\", onClick: this.closeMenu }), h(\"div\", { key: '081658f80afaa6d7f39971cc0f566068166b6688', class: \"popout-menu\", role: \"dialog\", \"aria-modal\": \"true\", \"aria-label\": `${this.hasNavigation ? \"Navigation\" : \"App\"} menu` }, h(\"span\", { key: '67841c0d0cfb29fba7e3c722436c7e87bca1842d', \"aria-hidden\": \"true\", id: \"navigation-landmark-text\", class: \"navigation-landmark-text\" }, \"Main navigation\"), h(\"nav\", { key: 'cb5aa473a04868d6af4dcd2ebc2b61ef5d785904', \"aria-labelledby\": \"navigation-landmark-text\", \"aria-hidden\": this.hasNavigation ? \"false\" : \"true\" }, h(\"div\", { key: '2551b868b4c932b5fcff041bdae690e748d40430', class: {\n [\"menu-close-button-container\"]: true,\n [\"nav-group-first\"]: this.navGroupFirst,\n } }, h(\"ic-button\", { key: '6f2a95a7824e18fa2f83a297984a7677110e887f', ref: (el) => (this.closeButton = el), id: \"menu-close-button\", class: \"menu-close-button\", variant: \"icon-tertiary\", size: \"large\", \"aria-label\": `Close ${this.hasNavigation ? \"navigation\" : \"app\"} menu`, onClick: this.closeMenu }, h(\"svg\", { key: '2d4918dc6b797eb6f245dd531387cbb0370eb687', width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" }, h(\"path\", { key: '51a063a29957f6992294ed31dae13570dc0ecd8c', 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: '70ef3173a42a47e1bb13042dc41c53313ee42697', name: \"navigation\" })), this.hasButtons && (h(\"div\", { key: '95384803c8ab3a87492552b613cb53f95adacd52', class: {\n [\"menu-buttons-container\"]: true,\n [\"menu-buttons-container-nav-item-above\"]: this.navItemAboveButtons,\n } }, h(\"slot\", { key: '9bdde63f875fe678742dff04018e562ec37eb500', name: \"buttons\" }))), (this.status !== \"\" || this.version !== \"\") && (h(\"div\", { key: '502dd0df2ce93217d9a642e4a6b36dcd72229e70', class: {\n [\"menu-status-version-container\"]: true,\n [\"status-version-no-buttons\"]: !this.hasButtons,\n } }, this.status !== \"\" && (h(\"div\", { key: 'a0b154b7307de42c92c9e26f9cd552dcc556b21d', class: \"menu-status\" }, h(\"ic-typography\", { key: 'af91a5c0c556c8ac0faa29998e126de1ab86c0bc', variant: \"label-uppercase\", \"aria-label\": \"app tag\", class: \"menu-status-text\" }, this.status))), this.version !== \"\" && (h(\"div\", { key: 'b16dec612bce0fe83c888b0a3e74d8f205710633', class: \"menu-version\" }, h(\"ic-typography\", { key: '74d7e31b0126f240fa7bbc410a8b71268ca027a1', variant: \"label\", class: \"menu-version-text\", \"aria-label\": \"app version\" }, this.version))))))));\n }\n static get is() { return \"ic-navigation-menu\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status info to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"version\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The version info to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"version\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icNavigationMenuClose\",\n \"name\": \"icNavigationMenuClose\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when the menu is closed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"navItemClicked\",\n \"method\": \"navItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyDown\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-menu.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o,c as t,h as r,H as e}from"./p-8e4e97b4.js";import{H as s,J as i,W as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as o,c as t,h as r,H as e}from"./p-8e4e97b4.js";import{H as s,J as i,W as h,d as a,g as c}from"./p-e4ef4263.js";const n=class{constructor(r){o(this,r);this.brandChange=t(this,"brandChange",7);this.icThemeChange=t(this,"icThemeChange",7);this.themeClass="";this.brandColor=null;this.theme="light";this.darkModeChangeHandler=()=>{if(this.theme==="system"){this.themeClass=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"ic-theme-dark":"ic-theme-light"}else{this.themeClass=`ic-theme-${this.theme}`}this.icThemeChange.emit(this.theme)};this.checkBrandColorContrast=()=>{if(s()<i&&s()>h){console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`)}};this.setBrandColor=()=>{const o=this.brandColor?a(this.brandColor):null;if(o){const{r:t,g:r,b:e,a:s}=o;const{style:i}=document.documentElement;i.setProperty("--ic-brand-color-primary-r",`${t}`);i.setProperty("--ic-brand-color-primary-g",`${r}`);i.setProperty("--ic-brand-color-primary-b",`${e}`);i.setProperty("--ic-brand-color-primary-a",`${s}`);this.checkBrandColorContrast();this.brandChange.emit({mode:c(),color:o})}}}watchBrandColorPropHandler(){this.setBrandColor()}watchThemePropHandler(){this.darkModeChangeHandler()}componentWillLoad(){this.darkModeChangeHandler();this.setBrandColor();window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this.darkModeChangeHandler)}render(){const{themeClass:o}=this;return r(e,{key:"603b695aae6f29ef4f3d89d4e1995221b3324753",class:o},r("slot",{key:"0b4c3bd3f4b078775ff13677feb3f0fbc080d810"}))}static get watchers(){return{brandColor:["watchBrandColorPropHandler"],theme:["watchThemePropHandler"]}}};export{n as ic_theme};
|
|
2
|
+
//# sourceMappingURL=p-e00e67ff.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Theme","constructor","hostRef","this","themeClass","brandColor","theme","darkModeChangeHandler","window","matchMedia","matches","icThemeChange","emit","checkBrandColorContrast","getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","console","warn","setBrandColor","colorRGBA","convertToRGBA","r","g","b","a","style","document","documentElement","setProperty","brandChange","mode","getBrandForegroundAppearance","color","watchBrandColorPropHandler","watchThemePropHandler","componentWillLoad","addEventListener","render","h","Host","key","class"],"sources":["../web-components/dist/collection/components/ic-theme/ic-theme.js"],"sourcesContent":["import { Host, h, } from \"@stencil/core\";\nimport { convertToRGBA, getBrandForegroundAppearance, } from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport { BLACK_MIN_COLOR_BRIGHTNESS, WHITE_MAX_COLOR_BRIGHTNESS, } from \"../../utils/constants\";\nexport class Theme {\n constructor() {\n this.themeClass = \"\";\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n this.brandColor = null;\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n this.theme = \"light\";\n this.darkModeChangeHandler = () => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n }\n else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n this.icThemeChange.emit(this.theme);\n };\n this.checkBrandColorContrast = () => {\n if (getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS) {\n console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`);\n }\n };\n this.setBrandColor = () => {\n const colorRGBA = this.brandColor ? convertToRGBA(this.brandColor) : null;\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n this.checkBrandColorContrast();\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n }\n watchBrandColorPropHandler() {\n this.setBrandColor();\n }\n watchThemePropHandler() {\n this.darkModeChangeHandler();\n }\n componentWillLoad() {\n this.darkModeChangeHandler();\n this.setBrandColor();\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n render() {\n const { themeClass } = this;\n return (h(Host, { key: '
|
|
1
|
+
{"version":3,"names":["Theme","constructor","hostRef","this","themeClass","brandColor","theme","darkModeChangeHandler","window","matchMedia","matches","icThemeChange","emit","checkBrandColorContrast","getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","console","warn","setBrandColor","colorRGBA","convertToRGBA","r","g","b","a","style","document","documentElement","setProperty","brandChange","mode","getBrandForegroundAppearance","color","watchBrandColorPropHandler","watchThemePropHandler","componentWillLoad","addEventListener","render","h","Host","key","class"],"sources":["../web-components/dist/collection/components/ic-theme/ic-theme.js"],"sourcesContent":["import { Host, h, } from \"@stencil/core\";\nimport { convertToRGBA, getBrandForegroundAppearance, } from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport { BLACK_MIN_COLOR_BRIGHTNESS, WHITE_MAX_COLOR_BRIGHTNESS, } from \"../../utils/constants\";\nexport class Theme {\n constructor() {\n this.themeClass = \"\";\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n this.brandColor = null;\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n this.theme = \"light\";\n this.darkModeChangeHandler = () => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n }\n else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n this.icThemeChange.emit(this.theme);\n };\n this.checkBrandColorContrast = () => {\n if (getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS) {\n console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`);\n }\n };\n this.setBrandColor = () => {\n const colorRGBA = this.brandColor ? convertToRGBA(this.brandColor) : null;\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n this.checkBrandColorContrast();\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n }\n watchBrandColorPropHandler() {\n this.setBrandColor();\n }\n watchThemePropHandler() {\n this.darkModeChangeHandler();\n }\n componentWillLoad() {\n this.darkModeChangeHandler();\n this.setBrandColor();\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n render() {\n const { themeClass } = this;\n return (h(Host, { key: '603b695aae6f29ef4f3d89d4e1995221b3324753', class: themeClass }, h(\"slot\", { key: '0b4c3bd3f4b078775ff13677feb3f0fbc080d810' })));\n }\n static get is() { return \"ic-theme\"; }\n static get properties() {\n return {\n \"brandColor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcColor | null\",\n \"resolved\": \"`#${string}` | `rgb(${string})` | `rgba(${string})` | null | undefined\",\n \"references\": {\n \"IcColor\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcColor\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The brand colour. Can be a hex value e.g. \\\"#ff0000\\\", RGB e.g. \\\"rgb(255, 0, 0)\\\", or RGBA e.g. \\\"rgba(255, 0, 0, 1)\\\".\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"brand-color\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeSettings\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\" | \\\"system\\\" | undefined\",\n \"references\": {\n \"IcThemeSettings\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeSettings\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The theme mode. Can be \\\"dark\\\", \\\"light\\\", or \\\"system\\\". \\\"system\\\" will use the device or browser settings.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"light\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"themeClass\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"brandChange\",\n \"name\": \"brandChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the brand color is changed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBrand\",\n \"resolved\": \"{ mode: IcBrandForeground; color: IcColorRGB; }\",\n \"references\": {\n \"IcBrand\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBrand\"\n }\n }\n }\n }, {\n \"method\": \"icThemeChange\",\n \"name\": \"icThemeChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the theme is changed.\"\n },\n \"complexType\": {\n \"original\": \"IcThemeSettings\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\" | \\\"system\\\"\",\n \"references\": {\n \"IcThemeSettings\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeSettings\"\n }\n }\n }\n }];\n }\n static get watchers() {\n return [{\n \"propName\": \"brandColor\",\n \"methodName\": \"watchBrandColorPropHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemePropHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-theme.js.map\n"],"mappings":"+HAIaA,EAAK,MACd,WAAAC,CAAAC,G,gGACIC,KAAKC,WAAa,GAIlBD,KAAKE,WAAa,KAIlBF,KAAKG,MAAQ,QACbH,KAAKI,sBAAwB,KACzB,GAAIJ,KAAKG,QAAU,SAAU,CACzBH,KAAKC,WACDI,OAAOC,YACHD,OAAOC,WAAW,gCAAgCC,QAChD,gBACA,gB,KAET,CACDP,KAAKC,WAAa,YAAYD,KAAKG,O,CAEvCH,KAAKQ,cAAcC,KAAKT,KAAKG,MAAM,EAEvCH,KAAKU,wBAA0B,KAC3B,GAAIC,IAA4BC,GAC5BD,IAA4BE,EAA4B,CACxDC,QAAQC,KAAK,4T,GAGrBf,KAAKgB,cAAgB,KACjB,MAAMC,EAAYjB,KAAKE,WAAagB,EAAclB,KAAKE,YAAc,KACrE,GAAIe,EAAW,CACX,MAAME,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAML,EACvB,MAAMM,MAAEA,GAAUC,SAASC,gBAC3BF,EAAMG,YAAY,6BAA8B,GAAGP,KACnDI,EAAMG,YAAY,6BAA8B,GAAGN,KACnDG,EAAMG,YAAY,6BAA8B,GAAGL,KACnDE,EAAMG,YAAY,6BAA8B,GAAGJ,KACnDtB,KAAKU,0BACLV,KAAK2B,YAAYlB,KAAK,CAClBmB,KAAMC,IACNC,MAAOb,G,GAKvB,0BAAAc,GACI/B,KAAKgB,e,CAET,qBAAAgB,GACIhC,KAAKI,uB,CAET,iBAAA6B,GACIjC,KAAKI,wBACLJ,KAAKgB,gBACLX,OAAOC,YACHD,OACKC,WAAW,gCACX4B,iBAAiB,SAAUlC,KAAKI,sB,CAE7C,MAAA+B,GACI,MAAMlC,WAAEA,GAAeD,KACvB,OAAQoC,EAAEC,EAAM,CAAEC,IAAK,2CAA4CC,MAAOtC,GAAcmC,EAAE,OAAQ,CAAEE,IAAK,6C","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as s,g as o}from"./p-8e4e97b4.js";import{a as r,r as c,i as l,o as a}from"./p-0f22f41e.js";const n=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor"/>\n</svg>`;const h=':host{display:block;border:none;position:relative}:host .tree-item-content{display:flex;align-items:center;min-height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-xs);text-decoration:none;color:var(--ic-tree-view-text);--ic-typography-color:var(--ic-tree-view-text)}::slotted([slot="router-item"]){display:flex;align-items:center;min-height:var(--ic-space-xl);text-decoration:none;font-family:var(--ic-font-body-family);color:var(--ic-tree-view-text);padding:var(--ic-space-xxs) var(--ic-space-xs) !important}:host(.ic-tree-item-truncate) .tree-item-content,:host(.ic-tree-item-truncate) ::slotted([slot="router-item"]){height:calc(var(--ic-space-xl) + var(--ic-space-xs))}::slotted([slot="router-item"].ic-tree-item-single){padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs)) !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);transition:var(--ic-transition-duration-fast);outline:none}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover){background-color:var(--ic-tree-view-hover) !important;cursor:pointer}:host .tree-item-content:active,::slotted([slot="router-item"]:active){background-color:var(--ic-tree-view-pressed) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:var(--ic-tree-view-selected) !important}:host(.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-small) ::slotted([slot="router-item"]){min-height:var(--ic-space-lg)}:host(.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-large) ::slotted([slot="router-item"]){min-height:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-truncate.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-truncate.ic-tree-item-small) ::slotted([slot="router-item"]){height:var(--ic-space-lg)}:host(.ic-tree-item-truncate.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-truncate.ic-tree-item-large) ::slotted([slot="router-item"]){height:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-disabled){pointer-events:none}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:var(--ic-tree-view-text-disabled) !important;--ic-typography-color:var(--ic-tree-view-text-disabled) !important;fill:var(--ic-tree-view-icon-disabled);pointer-events:none}:host .arrow-dropdown{color:var(--ic-tree-view-dropdown-arrow);margin-right:var(--ic-space-xs);margin-bottom:calc(var(--ic-space-xxs) * -1)}:host(.ic-tree-item-disabled) .arrow-dropdown{color:var(--ic-tree-view-dropdown-arrow-disabled)}:host(.ic-tree-item-small) .arrow-dropdown{margin-right:var(--ic-space-xxs)}:host .tree-item-expanded{transform:rotate(180deg);margin-top:calc(-1 * var(--ic-space-xxs));margin-bottom:0}:host .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-small) .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xxs))}.icon-container{min-width:var(--ic-space-lg);width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-item-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}::slotted([slot="icon"]){fill:var(--ic-tree-view-icon)}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover),:host .tree-item-content:active,::slotted([slot="router-item"]:active),:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:none !important}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:GrayText !important;--ic-typography-color:GrayText !important;fill:GrayText !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){border:var(--ic-border-hc) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){color:Highlight !important;--ic-typography-color:Highlight !important}}';const d=h;let m=0;const v=class{constructor(i){t(this,i);this.icTreeItemSelected=e(this,"icTreeItemSelected",7);this.icTreeItemExpanded=e(this,"icTreeItemExpanded",7);this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.TOOLTIP="ic-tooltip";this.TREE_ITEM_LABEL_CLASS_SELECTOR=".tree-item-label";this.TREE_ITEM_CONTENT_CLASS_SELECTOR=".tree-item-content";this.disabled=false;this.expanded=false;this.hasParentExpanded=false;this.hreflang="";this.isParent=false;this.label="";this.selected=false;this.size="medium";this.theme="inherit";this.handleTreeItemClicked=()=>{if(this.isParent){this.expanded=!this.expanded;this.hasParentExpanded=true}this.updateAriaLabel();this.selected=true};this.setTreeItemPadding=()=>{var t;let e=1;let i=this.el.parentElement;const s=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR);if(!i){return}const o=Array.from(i.children).some((t=>t!==this.el&&!t.querySelector('[slot="router-item"]')&&!t.querySelector('[slot="label"]')&&t.children.length>0));if(o&&!this.el.isParent||i.tagName===this.treeItemTag&&!this.el.isParent){if(this.hasRouterSlot()){this.routerSlot.classList.add("ic-tree-item-single")}else{s.classList.add("ic-tree-item-single")}}while(i){if(i.tagName===this.treeItemTag){e++;s.style.paddingLeft=!this.el.isParent?`calc(var(--ic-space-${o?"xl":"xs"}) + ${e*(o?16:24)}px)`:`${e*16}px`}i=i.parentElement}};this.truncateTreeItemLabel=t=>{var e,i;let s=(e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const o=t.querySelector("[slot='router-item']");let r=o===null||o===void 0?void 0:o.scrollHeight;if(!s&&o){const t=document.createElement("ic-typography");t.innerHTML=o.textContent;t.classList.add("tree-item-label");o.replaceChild(t,o.firstChild);s=t}else if(s){r=s.scrollHeight}const c=!!(s===null||s===void 0?void 0:s.closest(this.TOOLTIP));const l=((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR))||o;if(l){const t=parseFloat(getComputedStyle(l).height);if(r&&t&&r>t&&!c&&s){const t=document.createElement("ic-tooltip");t.setAttribute("target",this.el.id);t.setAttribute("label",s.textContent);t.setAttribute("placement","right");if(l===o){l.addEventListener("focus",(()=>this.handleDisplayTooltip(true)));l.addEventListener("blur",(()=>this.handleDisplayTooltip(false)));t.setAttribute("style","overflow:hidden;");s.setAttribute("style","overflow:hidden;text-overflow:ellipsis;white-space:nowrap;")}else{t.classList.add("ic-tooltip-overflow");s.classList.add("ic-text-overflow")}l.appendChild(t);t.appendChild(s)}}};this.removeTreeItemTruncation=t=>{var e,i;const s=t.querySelector("[slot='router-item']");const o=((e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR))||s.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const r=o===null||o===void 0?void 0:o.closest(this.TOOLTIP);const c=((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR))||s;if(r){o.classList.remove("ic-text-overflow");c.replaceChild(c===s?o.firstChild:o,r)}};this.handleDisplayTooltip=t=>{var e;const i=((e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR))||this.el.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const s=i===null||i===void 0?void 0:i.closest(this.TOOLTIP);s===null||s===void 0?void 0:s.displayTooltip(t)};this.setChildTreeItems=()=>{this.childTreeItems=Array.from(this.el.children).filter((t=>t.tagName===this.treeItemTag));this.isParent=this.childTreeItems.length>0};this.hostMutationCallback=t=>{this.setChildTreeItems();r(t,"icon",this)}}watchDisabledHandler(){c(this.disabled,this.el)}watchExpandedHandler(){this.icTreeItemExpanded.emit({isExpanded:this.expanded,id:this.el.id})}watchSelectedHandler(){if(this.selected){this.icTreeItemSelected.emit({id:this.el.id})}this.updateAriaLabel()}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){c(this.disabled,this.el);this.setChildTreeItems()}componentDidLoad(){this.setTreeItemPadding();this.updateAriaLabel();!l(this.el,"label")&&a([{prop:this.label,propName:"label"}],"Tree item");this.hostMutationObserver=new MutationObserver((t=>{this.hostMutationCallback(t)}));this.hostMutationObserver.observe(this.el,{childList:true})}componentDidRender(){this.truncateTreeItem?this.truncateTreeItemLabel(this.el):this.removeTreeItemTruncation(this.el);if(this.expanded){this.childTreeItems.forEach((t=>{t.truncateTreeItem?this.truncateTreeItemLabel(t):this.removeTreeItemTruncation(t)}))}}componentDidUpdate(){if(this.hasParentExpanded){this.childTreeItems.forEach((t=>{t.truncateTreeItem?this.truncateTreeItemLabel(t):this.removeTreeItemTruncation(t)}));this.hasParentExpanded=false}}handleKeyDown(t){if(t.key==="Enter"||t.key===" "){t.stopImmediatePropagation();this.handleTreeItemClicked()}}async setFocus(){var t,e;if(this.hasRouterSlot()){(t=this.routerSlot)===null||t===void 0?void 0:t.focus()}else{(e=this.treeItemElement)===null||e===void 0?void 0:e.focus()}}async updateAriaLabel(){let t;if(this.hasRouterSlot()){t=this.routerSlot.textContent}else if(l(this.el,"label")){t=this.el.querySelector('[slot="label"]').textContent}else{t=this.label}if(this.isParent){t=`${t}, triggers submenu, ${this.expanded?"expanded":"collapsed"}`}if(this.el.parentElement){const e=Array.from(this.el.parentElement.children).filter((t=>t.tagName===this.treeItemTag));const i=e.indexOf(this.el)+1;const s=e.length;t=`${t}, ${i} of ${s}`}if(this.selected){t=`${t}, active`}if(this.disabled){t=`${t}, dimmed`}if(this.hasRouterSlot()){this.routerSlot.ariaLabel=t}else{this.treeItemElement.ariaLabel=t}}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');return!!this.routerSlot}render(){var t;const{disabled:e,label:o,selected:r,size:c,expanded:a,theme:h}=this;const d=this.href&&!this.disabled?"a":"div";const v=d=="a"&&{href:this.href,hrefLang:this.hreflang,referrerPolicy:this.referrerpolicy,rel:this.rel,target:this.target};return i(s,{key:"d48d3b150408d5029609fc4c394fa2e16ce668d0",class:{"ic-tree-item-disabled":e,"ic-tree-item-selected":!e&&r,[`ic-tree-item-${c}`]:c!=="medium",[`ic-theme-${h}`]:h!=="inherit","ic-tree-item-truncate":!!this.truncateTreeItem},id:(t=this.treeItemId)!==null&&t!==void 0?t:`ic-tree-item-${m++}`},this.hasRouterSlot()?i("slot",{name:"router-item"}):i(d,Object.assign({class:{"tree-item-content":true},tabIndex:e?-1:0,onClick:this.handleTreeItemClicked,ref:t=>this.treeItemElement=t,"aria-disabled":e?"true":"false","aria-live":"polite"},v,{onFocus:()=>this.handleDisplayTooltip(true),onBlur:()=>this.handleDisplayTooltip(false)}),this.isParent&&i("span",{class:{["arrow-dropdown"]:true,["tree-item-expanded"]:a},"aria-hidden":"true",innerHTML:n}),l(this.el,"icon")&&i("div",{class:"icon-container"},i("slot",{name:"icon"})),i("ic-typography",{class:"tree-item-label"},l(this.el,"label")?i("slot",{name:"label"}):o)),a&&i("div",{key:"a1c8e6db2c7e0efc5b1fc99cedfdc42c7dbecb84","aria-hidden":`${!a}`},i("slot",{key:"174ca023b49f55e9b32d20de5fc468c911e4ec8f"})))}get el(){return o(this)}static get watchers(){return{disabled:["watchDisabledHandler"],expanded:["watchExpandedHandler"],selected:["watchSelectedHandler"]}}};v.style=d;export{v as ic_tree_item};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as i,H as s,g as o}from"./p-8e4e97b4.js";import{a as r,r as c,i as a,o as l}from"./p-f48ce5f6.js";const n=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor"/>\n</svg>`;const h=':host{display:block;border:none;position:relative}:host .tree-item-content{display:flex;align-items:center;min-height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-xs);text-decoration:none;color:var(--ic-tree-view-text);--ic-typography-color:var(--ic-tree-view-text)}::slotted([slot="router-item"]){display:flex;align-items:center;min-height:var(--ic-space-xl);text-decoration:none;font-family:var(--ic-font-body-family);color:var(--ic-tree-view-text);padding:var(--ic-space-xxs) var(--ic-space-xs) !important}:host(.ic-tree-item-truncate) .tree-item-content,:host(.ic-tree-item-truncate) ::slotted([slot="router-item"]){height:calc(var(--ic-space-xl) + var(--ic-space-xs))}::slotted([slot="router-item"].ic-tree-item-single){padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs)) !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);transition:var(--ic-transition-duration-fast);outline:none}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover){background-color:var(--ic-tree-view-hover) !important;cursor:pointer}:host .tree-item-content:active,::slotted([slot="router-item"]:active){background-color:var(--ic-tree-view-pressed) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:var(--ic-tree-view-selected) !important}:host(.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-small) ::slotted([slot="router-item"]){min-height:var(--ic-space-lg)}:host(.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-large) ::slotted([slot="router-item"]){min-height:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-truncate.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-truncate.ic-tree-item-small) ::slotted([slot="router-item"]){height:var(--ic-space-lg)}:host(.ic-tree-item-truncate.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-truncate.ic-tree-item-large) ::slotted([slot="router-item"]){height:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-disabled){pointer-events:none}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:var(--ic-tree-view-text-disabled) !important;--ic-typography-color:var(--ic-tree-view-text-disabled) !important;fill:var(--ic-tree-view-icon-disabled);pointer-events:none}:host .arrow-dropdown{color:var(--ic-tree-view-dropdown-arrow);margin-right:var(--ic-space-xs);margin-bottom:calc(var(--ic-space-xxs) * -1)}:host(.ic-tree-item-disabled) .arrow-dropdown{color:var(--ic-tree-view-dropdown-arrow-disabled)}:host(.ic-tree-item-small) .arrow-dropdown{margin-right:var(--ic-space-xxs)}:host .tree-item-expanded{transform:rotate(180deg);margin-top:calc(-1 * var(--ic-space-xxs));margin-bottom:0}:host .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-small) .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xxs))}.icon-container{min-width:var(--ic-space-lg);width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-item-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}::slotted([slot="icon"]){fill:var(--ic-tree-view-icon)}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover),:host .tree-item-content:active,::slotted([slot="router-item"]:active),:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:none !important}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:GrayText !important;--ic-typography-color:GrayText !important;fill:GrayText !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){border:var(--ic-border-hc) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){color:Highlight !important;--ic-typography-color:Highlight !important}}';const d=h;let m=0;const v=class{constructor(i){t(this,i);this.icTreeItemSelected=e(this,"icTreeItemSelected",7);this.icTreeItemExpanded=e(this,"icTreeItemExpanded",7);this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.TOOLTIP="ic-tooltip";this.TREE_ITEM_LABEL_CLASS_SELECTOR=".tree-item-label";this.TREE_ITEM_CONTENT_CLASS_SELECTOR=".tree-item-content";this.disabled=false;this.expanded=false;this.hasParentExpanded=false;this.hreflang="";this.isParent=false;this.label="";this.selected=false;this.size="medium";this.theme="inherit";this.handleTreeItemClicked=()=>{if(this.isParent){this.expanded=!this.expanded;this.hasParentExpanded=true}this.updateAriaLabel();this.selected=true};this.setTreeItemPadding=()=>{var t;let e=1;let i=this.el.parentElement;const s=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR);if(!i){return}const o=Array.from(i.children).some((t=>t!==this.el&&!t.querySelector('[slot="router-item"]')&&!t.querySelector('[slot="label"]')&&t.children.length>0));if(o&&!this.el.isParent||i.tagName===this.treeItemTag&&!this.el.isParent){if(this.hasRouterSlot()){this.routerSlot.classList.add("ic-tree-item-single")}else{s.classList.add("ic-tree-item-single")}}while(i){if(i.tagName===this.treeItemTag){e++;s.style.paddingLeft=!this.el.isParent?`calc(var(--ic-space-${o?"xl":"xs"}) + ${e*(o?16:24)}px)`:`${e*16}px`}i=i.parentElement}};this.truncateTreeItemLabel=t=>{var e,i;let s=(e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const o=t.querySelector("[slot='router-item']");let r=o===null||o===void 0?void 0:o.scrollHeight;if(!s&&o){const t=document.createElement("ic-typography");t.innerHTML=o.textContent;t.classList.add("tree-item-label");o.replaceChild(t,o.firstChild);s=t}else if(s){r=s.scrollHeight}const c=!!(s===null||s===void 0?void 0:s.closest(this.TOOLTIP));const a=((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR))||o;if(a){const t=parseFloat(getComputedStyle(a).height);if(r&&t&&r>t&&!c&&s){const t=document.createElement("ic-tooltip");t.setAttribute("target",this.el.id);t.setAttribute("label",s.textContent);t.setAttribute("placement","right");if(a===o){a.addEventListener("focus",(()=>this.handleDisplayTooltip(true)));a.addEventListener("blur",(()=>this.handleDisplayTooltip(false)));t.setAttribute("style","overflow:hidden;");s.setAttribute("style","overflow:hidden;text-overflow:ellipsis;white-space:nowrap;")}else{t.classList.add("ic-tooltip-overflow");s.classList.add("ic-text-overflow")}a.appendChild(t);t.appendChild(s)}}};this.removeTreeItemTruncation=t=>{var e,i;const s=t.querySelector("[slot='router-item']");const o=((e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR))||s.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const r=o===null||o===void 0?void 0:o.closest(this.TOOLTIP);const c=((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR))||s;if(r){o.classList.remove("ic-text-overflow");c.replaceChild(c===s?o.firstChild:o,r)}};this.handleDisplayTooltip=t=>{var e;const i=((e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR))||this.el.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const s=i===null||i===void 0?void 0:i.closest(this.TOOLTIP);s===null||s===void 0?void 0:s.displayTooltip(t)};this.setChildTreeItems=()=>{this.childTreeItems=Array.from(this.el.children).filter((t=>t.tagName===this.treeItemTag));this.isParent=this.childTreeItems.length>0};this.hostMutationCallback=t=>{this.setChildTreeItems();r(t,"icon",this)}}watchDisabledHandler(){c(this.disabled,this.el)}watchExpandedHandler(){this.icTreeItemExpanded.emit({isExpanded:this.expanded,id:this.el.id})}watchSelectedHandler(){if(this.selected){this.icTreeItemSelected.emit({id:this.el.id})}this.updateAriaLabel()}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){c(this.disabled,this.el);this.setChildTreeItems()}componentDidLoad(){this.setTreeItemPadding();this.updateAriaLabel();!a(this.el,"label")&&l([{prop:this.label,propName:"label"}],"Tree item");this.hostMutationObserver=new MutationObserver((t=>{this.hostMutationCallback(t)}));this.hostMutationObserver.observe(this.el,{childList:true})}componentDidRender(){this.truncateTreeItem?this.truncateTreeItemLabel(this.el):this.removeTreeItemTruncation(this.el);if(this.expanded){this.childTreeItems.forEach((t=>{t.truncateTreeItem?this.truncateTreeItemLabel(t):this.removeTreeItemTruncation(t)}))}}componentDidUpdate(){if(this.hasParentExpanded){this.childTreeItems.forEach((t=>{t.truncateTreeItem?this.truncateTreeItemLabel(t):this.removeTreeItemTruncation(t)}));this.hasParentExpanded=false}}handleKeyDown(t){if(t.key==="Enter"||t.key===" "){t.stopImmediatePropagation();this.handleTreeItemClicked()}}async setFocus(){var t,e;if(this.hasRouterSlot()){(t=this.routerSlot)===null||t===void 0?void 0:t.focus()}else{(e=this.treeItemElement)===null||e===void 0?void 0:e.focus()}}async updateAriaLabel(){let t;if(this.hasRouterSlot()){t=this.routerSlot.textContent}else if(a(this.el,"label")){t=this.el.querySelector('[slot="label"]').textContent}else{t=this.label}if(this.isParent){t=`${t}, triggers submenu, ${this.expanded?"expanded":"collapsed"}`}if(this.el.parentElement){const e=Array.from(this.el.parentElement.children).filter((t=>t.tagName===this.treeItemTag));const i=e.indexOf(this.el)+1;const s=e.length;t=`${t}, ${i} of ${s}`}if(this.selected){t=`${t}, active`}if(this.disabled){t=`${t}, dimmed`}if(this.hasRouterSlot()){this.routerSlot.ariaLabel=t}else{this.treeItemElement.ariaLabel=t}}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');return!!this.routerSlot}render(){var t;const{disabled:e,label:o,selected:r,size:c,expanded:l,theme:h}=this;const d=this.href&&!this.disabled?"a":"div";const v=d=="a"&&{href:this.href,hrefLang:this.hreflang,referrerPolicy:this.referrerpolicy,rel:this.rel,target:this.target};return i(s,{key:"735aa762f3a11335e21af5ce963b703bc85e0070",class:{"ic-tree-item-disabled":e,"ic-tree-item-selected":!e&&r,[`ic-tree-item-${c}`]:c!=="medium",[`ic-theme-${h}`]:h!=="inherit","ic-tree-item-truncate":!!this.truncateTreeItem},id:(t=this.treeItemId)!==null&&t!==void 0?t:`ic-tree-item-${m++}`},this.hasRouterSlot()?i("slot",{name:"router-item"}):i(d,Object.assign({class:{"tree-item-content":true},tabIndex:e?-1:0,onClick:this.handleTreeItemClicked,ref:t=>this.treeItemElement=t,"aria-disabled":e?"true":"false","aria-live":"polite"},v,{onFocus:()=>this.handleDisplayTooltip(true),onBlur:()=>this.handleDisplayTooltip(false)}),this.isParent&&i("span",{class:{["arrow-dropdown"]:true,["tree-item-expanded"]:l},"aria-hidden":"true",innerHTML:n}),a(this.el,"icon")&&i("div",{class:"icon-container"},i("slot",{name:"icon"})),i("ic-typography",{class:"tree-item-label"},a(this.el,"label")?i("slot",{name:"label"}):o)),l&&i("div",{key:"ca3bf6979ae492a45fadd0e5cac144139511842f","aria-hidden":`${!l}`},i("slot",{key:"e7142f27b9d7d753ace48748ea1d74266c9940e2"})))}get el(){return o(this)}static get watchers(){return{disabled:["watchDisabledHandler"],expanded:["watchExpandedHandler"],selected:["watchSelectedHandler"]}}};v.style=d;export{v as ic_tree_item};
|
|
2
|
+
//# sourceMappingURL=p-e1920777.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as t,r as e,H as i,g as o}from"./p-8e4e97b4.js";import{D as s}from"./p-0f22f41e.js";const n=()=>{const t=t=>`${4+8*(parseInt(t.split("")[1])-2)}px`;return{setItemLevelOffset:t}};const a=e=>{const{id:i,className:o,label:s,target:n,selected:a,truncate:c,variant:r,position:l,size:h,updateSelected:d,setItemLevelOffset:f}=e;return t("a",{id:i,onClick:()=>d(l),class:`${a&&"table-of-contents-item-content-selected"}\n ${h==="large"?`table-of-contents-item-content-large`:`table-of-contents-item-content-default`}\n ${o}\n `,href:`#${n}`},t("ic-typography",{id:`${i}-label`,bold:a===l,class:`${c&&"truncated-item-text"} ${h&&`table-of-contents-item-content-${h}`}\n table-of-contents-item-label\n `,style:{paddingLeft:f(r)}},s))};const c=e=>{const i=n();return t(a,Object.assign({},e,i))};const r=":host{display:block;border:none;max-height:100vh}.table-of-contents-section-container{display:flex}.table-of-contents-content{top:0;left:0;padding:0 var(--ic-space-md);font:var(--ic-color-text-primary);max-height:100vh;z-index:1}:host .table-of-contents-position-top{min-width:10rem;max-width:50rem}:host .table-of-contents-position-side{min-width:8rem;max-width:20rem;width:20rem;position:sticky}.table-of-contents-list{display:flex;flex-direction:row;max-width:inherit}:host ol{list-style:none;margin-block-start:0;padding-inline-start:0}.table-of-contents-list-items{display:flex;flex-direction:column;width:100%}.table-of-contents-sidebar{background-color:var(--ic-table-of-contents-banner);height:1.75rem;min-width:0.25rem}.table-of-contents-sidebar-monochrome{background-color:var(--ic-table-of-contents-banner-monochrome)}.table-of-contents-item{min-height:1.5rem;line-height:1.5rem}.table-of-contents-item-content:hover{background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-monochrome-content:hover{background-color:var(--ic-table-of-contents-hover-monochrome)}.table-of-contents-item-content{border:none;max-width:inherit;display:flex;align-items:center;text-decoration:none;position:relative;color:var(--ic-table-of-contents-text);min-height:1.5rem;--ic-typography-color:var(--ic-table-of-contents-text)}.table-of-contents-item-content-default{padding-top:var(--ic-space-xxxs);padding-bottom:var(--ic-space-xxxs)}.table-of-contents-item-content:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-content:active{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-pressed)}.truncated-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-of-contents-item-content-large{padding-top:var(--ic-space-xxs);padding-bottom:var(--ic-space-xxs)}.table-of-contents-sidebar.large{height:2.5rem}.table-of-contents-heading.large{padding-bottom:var(--ic-space-xs)}@media (prefers-reduced-motion: no-preference){.table-of-contents-sidebar{transition:all 0.3s ease}}@media (prefers-reduced-motion: reduce){.table-of-contents-sidebar{transition:none}}@media (forced-colors: active){.table-of-contents-sidebar{background-color:Highlight}}";const l=r;const h="table-of-contents-content";const d="table-of-contents-list-items";const f="table-of-contents-item-content";const b="table-of-contents-section-container";const m=class{constructor(i){e(this,i);this.heading="Contents";this.maximumHeadingLevel=3;this.monochrome=false;this.position="right";this.setScrollHeight=50;this.size="medium";this.theme="inherit";this.truncate=true;this.focusedElement=0;this.referenceElements=[];this.currentTargetHeights=[];this.headerHeight=0;this.initialPosition=this.position;this.suppressListener=false;this.createTocItem=(e,i)=>{const o=`toc_${e.id}`;const s=t(c,{id:o,className:f,variant:e.tagName.toLowerCase(),label:e.textLabel,target:e.id,truncate:this.truncate,selected:this.focusedElement,updateSelected:this.updateOnSelection,position:e.trueIndex,size:this.size});const n=this.truncate?t("ic-tooltip",{target:o,label:e.innerHTML},s):s;return t("li",{class:`table-of-contents-item ${this.monochrome&&"table-of-contents-item-monochrome"}`},n,i?t("ol",null,i):null)};this.renderTocTree=t=>{let e;if(t.treeChildren.length>0){const i=t.treeChildren.map((t=>this.renderTocTree(t)));e=this.createTocItem(t,i)}else{e=this.createTocItem(t)}return e};this.updateOnSelection=t=>{this.suppressListener=true;this.focusedElement=t;this.sidebarTranslation(this.focusedElement)};this.truncateText=()=>{var t,e;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(`.${f}`);const o=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(`.${d}`);if(o)i===null||i===void 0?void 0:i.forEach((t=>{this.addTooltip(t,s.S)}))}}suppressListenerHandler(){window.scrollTo(0,window.scrollY-this.headerHeight-50)}generateHeadingTree(){var t;const e=[];const i=this.maximumHeadingLevel<5?["h2","h3","h4","h5"].slice(0,(this.maximumHeadingLevel<2?2:this.maximumHeadingLevel)-1).join(","):"h2, h3, h4, h5";const o=this.el.querySelectorAll(i);if(o){const i=Array.from(o);i.forEach(((t,e)=>{this.referenceElements.push(t);t.trueIndex=e;t.rank=t.tagName.toLowerCase().slice(1,2);t.textLabel=t.textContent?t.textContent.trimStart().split("\n")[0]:`${t.rank}-${e}`;t.treeChildren=[]}));let s=((t=i[0])===null||t===void 0?void 0:t.rank)||2;i.reverse().forEach(((t,o)=>{if(!t.id){t.setAttribute("id",t.textLabel.replace(/\s+/g,"-").toLowerCase())}if(t.rank>s&&t.trueIndex>0){if(i[o]&&i[o].rank<t.rank){i[o].treeChildren.unshift(t)}else{e.push(t)}}else{s=t.rank;e.push(t)}}))}return e.reverse()}containerPosition(){var t;if(this.position){const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${b}`);switch(this.position){case"right":e.style.flexDirection="row-reverse";break;case"top":e.style.flexDirection="column";break}}}sidebarTranslation(t){var e,i,o;const s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".table-of-contents-sidebar");const n=[];let a=0;(o=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(`.${f}`))===null||o===void 0?void 0:o.forEach((t=>{if(t!==null)n.push(t.offsetHeight)}));n.slice(0,t).forEach((t=>a+=t));s.style.transform=`translateY(${a}px)`;s.style.height=`${n[t]}px`}findElementsHeights(){const t=[];this.referenceElements.forEach((e=>{t.push(e.getBoundingClientRect().top)}));this.currentTargetHeights=t}handleResizeBounds(){if(window.innerWidth<s.XL&&this.initialPosition!=="top"){this.position="top";this.containerPosition()}else if(window.innerWidth>s.XL&&this.position==="top"&&this.initialPosition==="right"){this.position="right";this.containerPosition()}this.findElementsHeights();this.truncateText()}updateSelectedItemFromScroll(){const t=window.scrollY+window.innerHeight*(this.setScrollHeight/100);if(window.scrollY===0){this.focusedElement=0;this.sidebarTranslation(this.focusedElement)}else if(t<this.currentTargetHeights[this.focusedElement]){const e=this.currentTargetHeights.slice(0,this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t))return s;return i}),0);this.focusedElement=i;this.sidebarTranslation(this.focusedElement)}else if(t>this.currentTargetHeights[this.focusedElement]&&this.focusedElement!==this.currentTargetHeights.length){const e=this.currentTargetHeights.slice(this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t)&&o<t)return s;return i}),0);if(i+this.focusedElement!==this.focusedElement){this.focusedElement+=i;this.sidebarTranslation(this.focusedElement)}}}findHeaderElement(){const t=document.querySelector("ic-page-header");if(t){return t.clientHeight}const e=document.querySelector("header");if(e){return e.clientHeight}return 0}addListMargin(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${h}`);e===null||e===void 0?void 0:e.style.setProperty("top",`${this.headerHeight}px`)}addTooltip(t,e){var i;const o=t.querySelector(".table-of-contents-item-label");if(((i=t.parentNode)===null||i===void 0?void 0:i.tagName)=="IC-TOOLTIP"){const i=t.parentNode;if((o===null||o===void 0?void 0:o.offsetWidth)<(o===null||o===void 0?void 0:o.scrollWidth)){const o=window.innerWidth<e?"bottom":this.position==="right"?"left":"right";i.setAttribute("disable-click",false);i.setAttribute("disable-hover",false);i.setAttribute("placement",o);i.setAttribute("target",t.id);i.setAttribute("style","overflow:hidden")}else{i.setAttribute("disable-click",true);i.setAttribute("disable-hover",true)}}}componentWillLoad(){this.resizeObserver=new ResizeObserver((()=>this.handleResizeBounds()));this.resizeObserver.observe(this.el)}componentDidRender(){document.addEventListener("scroll",(()=>{if(!this.suppressListener)this.updateSelectedItemFromScroll();else this.suppressListener=false}));this.containerPosition();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}async componentDidLoad(){this.focusedElement=0;this.headerHeight=this.findHeaderElement();this.addListMargin();this.truncateText();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}render(){const{heading:e,monochrome:o,position:s,size:n,theme:a}=this;return t(i,{key:"c5c977f781772f014ec4b2df248fdc91c31f2087",class:{[`ic-theme-${a}`]:a!=="inherit"}},t("ic-section-container",{key:"aa5f4869224bcf56e4137b83e6143b7c93b8ccd3",class:b,aligned:"full-width"},t("div",{key:"1f925229198cc923a0b02165b0000cf235435546",role:"navigation",class:`${h} ${s==="top"&&"table-of-contents-position-top"}\n ${s==="right"&&"table-of-contents-position-side"}`},t("ic-typography",{key:"c7468f8c744f3838629f745d511049b01c97dc25",class:`table-of-contents-heading ${n}`,variant:"subtitle-large"},e),t("div",{key:"c83b03e6eb43c042c6ca0d00e80be7666899a9d9",class:"table-of-contents-list"},t("div",{key:"6febd41a740d97f38097f549606d05d726256dcc",class:`table-of-contents-sidebar ${o&&`table-of-contents-sidebar-monochrome`}\n ${n}\n `}),t("ol",{key:"6e2c7ac1c7e3509bb738d98e8770c38c290934dc",class:d},this.generateHeadingTree().map((t=>this.renderTocTree(t)))))),t("slot",{key:"3c9722771d63819dc9039d872127e2a660bce17a"})))}get el(){return o(this)}static get watchers(){return{suppressListener:["suppressListenerHandler"]}}};m.style=l;export{m as ic_table_of_contents};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{h as t,r as e,H as i,g as o}from"./p-8e4e97b4.js";import{D as s}from"./p-f48ce5f6.js";const n=()=>{const t=t=>`${4+8*(parseInt(t.split("")[1])-2)}px`;return{setItemLevelOffset:t}};const a=e=>{const{id:i,className:o,label:s,target:n,selected:a,truncate:c,variant:r,position:l,size:d,updateSelected:h,setItemLevelOffset:b}=e;return t("a",{id:i,onClick:()=>h(l),class:`${a&&"table-of-contents-item-content-selected"}\n ${d==="large"?`table-of-contents-item-content-large`:`table-of-contents-item-content-default`}\n ${o}\n `,href:`#${n}`},t("ic-typography",{id:`${i}-label`,bold:a===l,class:`${c&&"truncated-item-text"} ${d&&`table-of-contents-item-content-${d}`}\n table-of-contents-item-label\n `,style:{paddingLeft:b(r)}},s))};const c=e=>{const i=n();return t(a,Object.assign({},e,i))};const r=":host{display:block;border:none;max-height:100vh}.table-of-contents-section-container{display:flex}.table-of-contents-content{top:0;left:0;padding:0 var(--ic-space-md);font:var(--ic-color-text-primary);max-height:100vh;z-index:1}:host .table-of-contents-position-top{min-width:10rem;max-width:50rem}:host .table-of-contents-position-side{min-width:8rem;max-width:20rem;width:20rem;position:sticky}.table-of-contents-list{display:flex;flex-direction:row;max-width:inherit}:host ol{list-style:none;margin-block-start:0;padding-inline-start:0}.table-of-contents-list-items{display:flex;flex-direction:column;width:100%}.table-of-contents-sidebar{background-color:var(--ic-table-of-contents-banner);height:1.75rem;min-width:0.25rem}.table-of-contents-sidebar-monochrome{background-color:var(--ic-table-of-contents-banner-monochrome)}.table-of-contents-item{min-height:1.5rem;line-height:1.5rem}.table-of-contents-item-content:hover{background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-monochrome-content:hover{background-color:var(--ic-table-of-contents-hover-monochrome)}.table-of-contents-item-content{border:none;max-width:inherit;display:flex;align-items:center;text-decoration:none;position:relative;color:var(--ic-table-of-contents-text);min-height:1.5rem;--ic-typography-color:var(--ic-table-of-contents-text)}.table-of-contents-item-content-default{padding-top:var(--ic-space-xxxs);padding-bottom:var(--ic-space-xxxs)}.table-of-contents-item-content:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-content:active{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-pressed)}.truncated-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-of-contents-item-content-large{padding-top:var(--ic-space-xxs);padding-bottom:var(--ic-space-xxs)}.table-of-contents-sidebar.large{height:2.5rem}.table-of-contents-heading.large{padding-bottom:var(--ic-space-xs)}@media (prefers-reduced-motion: no-preference){.table-of-contents-sidebar{transition:all 0.3s ease}}@media (prefers-reduced-motion: reduce){.table-of-contents-sidebar{transition:none}}@media (forced-colors: active){.table-of-contents-sidebar{background-color:Highlight}}";const l=r;const d="table-of-contents-content";const h="table-of-contents-list-items";const b="table-of-contents-item-content";const f="table-of-contents-section-container";const m=class{constructor(i){e(this,i);this.heading="Contents";this.maximumHeadingLevel=3;this.monochrome=false;this.position="right";this.setScrollHeight=50;this.size="medium";this.theme="inherit";this.truncate=true;this.focusedElement=0;this.referenceElements=[];this.currentTargetHeights=[];this.headerHeight=0;this.initialPosition=this.position;this.suppressListener=false;this.createTocItem=(e,i)=>{const o=`toc_${e.id}`;const s=t(c,{id:o,className:b,variant:e.tagName.toLowerCase(),label:e.textLabel,target:e.id,truncate:this.truncate,selected:this.focusedElement,updateSelected:this.updateOnSelection,position:e.trueIndex,size:this.size});const n=this.truncate?t("ic-tooltip",{target:o,label:e.innerHTML},s):s;return t("li",{class:`table-of-contents-item ${this.monochrome&&"table-of-contents-item-monochrome"}`},n,i?t("ol",null,i):null)};this.renderTocTree=t=>{let e;if(t.treeChildren.length>0){const i=t.treeChildren.map((t=>this.renderTocTree(t)));e=this.createTocItem(t,i)}else{e=this.createTocItem(t)}return e};this.updateOnSelection=t=>{this.suppressListener=true;this.focusedElement=t;this.sidebarTranslation(this.focusedElement)};this.truncateText=()=>{var t,e;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(`.${b}`);const o=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(`.${h}`);if(o)i===null||i===void 0?void 0:i.forEach((t=>{this.addTooltip(t,s.S)}))}}suppressListenerHandler(){window.scrollTo(0,window.scrollY-this.headerHeight-50)}generateHeadingTree(){var t;const e=[];const i=this.maximumHeadingLevel<5?["h2","h3","h4","h5"].slice(0,(this.maximumHeadingLevel<2?2:this.maximumHeadingLevel)-1).join(","):"h2, h3, h4, h5";const o=this.el.querySelectorAll(i);if(o){const i=Array.from(o);i.forEach(((t,e)=>{this.referenceElements.push(t);t.trueIndex=e;t.rank=t.tagName.toLowerCase().slice(1,2);t.textLabel=t.textContent?t.textContent.trimStart().split("\n")[0]:`${t.rank}-${e}`;t.treeChildren=[]}));let s=((t=i[0])===null||t===void 0?void 0:t.rank)||2;i.reverse().forEach(((t,o)=>{if(!t.id){t.setAttribute("id",t.textLabel.replace(/\s+/g,"-").toLowerCase())}if(t.rank>s&&t.trueIndex>0){if(i[o]&&i[o].rank<t.rank){i[o].treeChildren.unshift(t)}else{e.push(t)}}else{s=t.rank;e.push(t)}}))}return e.reverse()}containerPosition(){var t;if(this.position){const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${f}`);switch(this.position){case"right":e.style.flexDirection="row-reverse";break;case"top":e.style.flexDirection="column";break}}}sidebarTranslation(t){var e,i,o;const s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".table-of-contents-sidebar");const n=[];let a=0;(o=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(`.${b}`))===null||o===void 0?void 0:o.forEach((t=>{if(t!==null)n.push(t.offsetHeight)}));n.slice(0,t).forEach((t=>a+=t));s.style.transform=`translateY(${a}px)`;s.style.height=`${n[t]}px`}findElementsHeights(){const t=[];this.referenceElements.forEach((e=>{t.push(e.getBoundingClientRect().top)}));this.currentTargetHeights=t}handleResizeBounds(){if(window.innerWidth<s.XL&&this.initialPosition!=="top"){this.position="top";this.containerPosition()}else if(window.innerWidth>s.XL&&this.position==="top"&&this.initialPosition==="right"){this.position="right";this.containerPosition()}this.findElementsHeights();this.truncateText()}updateSelectedItemFromScroll(){const t=window.scrollY+window.innerHeight*(this.setScrollHeight/100);if(window.scrollY===0){this.focusedElement=0;this.sidebarTranslation(this.focusedElement)}else if(t<this.currentTargetHeights[this.focusedElement]){const e=this.currentTargetHeights.slice(0,this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t))return s;return i}),0);this.focusedElement=i;this.sidebarTranslation(this.focusedElement)}else if(t>this.currentTargetHeights[this.focusedElement]&&this.focusedElement!==this.currentTargetHeights.length){const e=this.currentTargetHeights.slice(this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t)&&o<t)return s;return i}),0);if(i+this.focusedElement!==this.focusedElement){this.focusedElement+=i;this.sidebarTranslation(this.focusedElement)}}}findHeaderElement(){const t=document.querySelector("ic-page-header");if(t){return t.clientHeight}const e=document.querySelector("header");if(e){return e.clientHeight}return 0}addListMargin(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${d}`);e===null||e===void 0?void 0:e.style.setProperty("top",`${this.headerHeight}px`)}addTooltip(t,e){var i;const o=t.querySelector(".table-of-contents-item-label");if(((i=t.parentNode)===null||i===void 0?void 0:i.tagName)=="IC-TOOLTIP"){const i=t.parentNode;if((o===null||o===void 0?void 0:o.offsetWidth)<(o===null||o===void 0?void 0:o.scrollWidth)){const o=window.innerWidth<e?"bottom":this.position==="right"?"left":"right";i.setAttribute("disable-click",false);i.setAttribute("disable-hover",false);i.setAttribute("placement",o);i.setAttribute("target",t.id);i.setAttribute("style","overflow:hidden")}else{i.setAttribute("disable-click",true);i.setAttribute("disable-hover",true)}}}componentWillLoad(){this.resizeObserver=new ResizeObserver((()=>this.handleResizeBounds()));this.resizeObserver.observe(this.el)}componentDidRender(){document.addEventListener("scroll",(()=>{if(!this.suppressListener)this.updateSelectedItemFromScroll();else this.suppressListener=false}));this.containerPosition();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}async componentDidLoad(){this.focusedElement=0;this.headerHeight=this.findHeaderElement();this.addListMargin();this.truncateText();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}render(){const{heading:e,monochrome:o,position:s,size:n,theme:a}=this;return t(i,{key:"b92dba4d29b176dc877963ce0c3113568007847d",class:{[`ic-theme-${a}`]:a!=="inherit"}},t("ic-section-container",{key:"86e9740eecc52ca907e39d7c3daf5ebc506b6c3b",class:f,aligned:"full-width"},t("div",{key:"8a4cceab420909f0030c262839b4f6c2bbedf297",role:"navigation",class:`${d} ${s==="top"&&"table-of-contents-position-top"}\n ${s==="right"&&"table-of-contents-position-side"}`},t("ic-typography",{key:"d9dac6d2e62f2aadd177833418e85cb89ab2dade",class:`table-of-contents-heading ${n}`,variant:"subtitle-large"},e),t("div",{key:"c88968311486981bde1093930757ea264d2bd919",class:"table-of-contents-list"},t("div",{key:"0b8e21d4f1c8b8a4f4f4f91c8c3ae9ba859b9b5b",class:`table-of-contents-sidebar ${o&&`table-of-contents-sidebar-monochrome`}\n ${n}\n `}),t("ol",{key:"dc2216ce8e94c17ab0b2fe0b5644086eb90c4fd0",class:h},this.generateHeadingTree().map((t=>this.renderTocTree(t)))))),t("slot",{key:"e0a992d1de985fbe672aa7a33ed54efb5ec5de43"})))}get el(){return o(this)}static get watchers(){return{suppressListener:["suppressListenerHandler"]}}};m.style=l;export{m as ic_table_of_contents};
|
|
2
|
+
//# sourceMappingURL=p-ef5b6622.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as n}from"./p-8e4e97b4.js";
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{f as n}from"./p-8e4e97b4.js";var t;(function(n){n["Warning"]="warning";n["Error"]="error";n["Success"]="success"})(t||(t={}));var e;(function(n){n["Default"]="default";n["Dark"]="dark";n["Light"]="light"})(e||(e={}));var o;(function(n){n[n["January"]=0]="January";n[n["February"]=1]="February";n[n["March"]=2]="March";n[n["April"]=3]="April";n[n["May"]=4]="May";n[n["June"]=5]="June";n[n["July"]=6]="July";n[n["August"]=7]="August";n[n["September"]=8]="September";n[n["October"]=9]="October";n[n["November"]=10]="November";n[n["December"]=11]="December"})(o||(o={}));var s;(function(n){n[n["Sun"]=0]="Sun";n[n["Mon"]=1]="Mon";n[n["Tue"]=2]="Tue";n[n["Wed"]=3]="Wed";n[n["Thu"]=4]="Thu";n[n["Fri"]=5]="Fri";n[n["Sat"]=6]="Sat"})(s||(s={}));var r;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(r||(r={}));var i;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(i||(i={}));const a={XS:576,S:768,M:992,L:1200,XL:99999};const c=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const u=["ic-alert"];const d={"ic-alert":["ic-link","ic-button"]};const l="ic-input";const f=n=>{const t=[];Object.values(n).forEach((n=>{if(isNaN(Number(n))){const e=n;t.push(e)}}));return t};const p=(n,t)=>{let e;return(...o)=>{const s=t();clearTimeout(e);e=setTimeout(n,s,...o)}};const y=(n,t,e,o,s)=>{if(e!==undefined&&(n||m(t))){let n=b(t);if(n===null||n===undefined){n=t.ownerDocument.createElement("input");n.type="hidden";n.classList.add(l);t.appendChild(n)}n.disabled=!!s;n.name=e;if(o instanceof Date){n.value=o?o.toISOString():""}else{n.value=o||""}}};const b=n=>Array.from(n.querySelectorAll(`input.${l}`)).filter((t=>n===t.parentElement))[0];const m=n=>!!n&&!!n.shadowRoot&&!!n.attachShadow;const v=n=>n+"-helper-text";const N=n=>n+"-validation-text";const x=(n,t,e,o)=>`${A(n,"helper-text")||e?v(t):""} ${o?N(t):""}`.trim();const $=(n,t=null)=>{var o;const s=n.parentElement||n.getRootNode().host.parentElement;const r=s===null||s===void 0?void 0:s.closest(c.join(","));if(r){const s=r.tagName.toLowerCase();const i=n.tagName.toLowerCase();if((o=d[s])===null||o===void 0?void 0:o.includes(i)){return e.Default}else if(t!==null&&!u.includes(s)){return t}else if(r.classList.contains(`${s}-${e.Dark}`)||r.classList.contains(e.Dark)){return e.Dark}return e.Light}return e.Default};const h=n=>n?n.trim().length===0:true;const S=n=>n!==undefined?n:null;const w=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const M=()=>{if(w(T.S)){return T.S}if(w(T.M)){return T.M}if(w(T.L)){return T.L}if(w(T.XL)){return T.XL}return T.UNDEFINED};const g=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const k=n=>{const t=n.firstElementChild;if(t===null)return[n];const e=t.assignedElements?t.assignedElements():t.childNodes;return e.length?e:n.tagName?[n]:null};const T={XS:Number(g("--ic-breakpoint-xs").replace("px","")),S:Number(g("--ic-breakpoint-sm").replace("px","")),M:Number(g("--ic-breakpoint-md").replace("px","")),L:Number(g("--ic-breakpoint-lg").replace("px","")),XL:Number(g("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200};const A=({children:n},t)=>Array.from(n).some((n=>n.getAttribute("slot")===t));const F=(n,t)=>{n.forEach((({prop:n,propName:e})=>{if(n===null||n===undefined){console.error(`No ${e} specified for ${t} component - prop '${e}' (web components) / '${O(e)}' (react) required`)}}))};const O=n=>n.toLowerCase().split("-").map(((n,t)=>t===0?n:`${n.substring(0,1).toUpperCase()}${n.substring(1)}`)).join("");const j=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const D=(n,t)=>{var e;(e=n.closest("FORM"))===null||e===void 0?void 0:e.addEventListener("reset",t)};const L=(n,t)=>{var e;(e=n.closest("FORM"))===null||e===void 0?void 0:e.removeEventListener("reset",t)};const X=(n,t=16)=>`${1/t*parseInt(n)}rem`;const I=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const J=n=>/^-?\d+$/.test(n);const W=n=>n.charAt(0).toUpperCase()+n.slice(1);const q=(n,t,e)=>{const o=n=>Array.from(n).some((n=>Array.isArray(e)?e.some((t=>n.slot===t)):n.slot===e));return o(n)||o(t)};const E=(n,t,e)=>{const o={};const s=t.map((n=>n.index));const r=Object.keys(n);const i=Object.values(n);const a=r.length+s.length;for(let n=0,c=0;n<a;n++){if(s.includes(n)){o[t[s.indexOf(n)].key]=e;continue}o[r[c]]=i[c];c++}return o};const R=(n,t)=>n.some((({type:n,addedNodes:e,removedNodes:o})=>n==="childList"&&q(e,o,t)));const z=(t,e,o)=>{if(R(t,e)){n(o)}};export{W as A,T as D,e as I,z as a,h as b,E as c,w as d,k as e,j as f,$ as g,p as h,A as i,a as j,i as k,x as l,J as m,t as n,F as o,X as p,L as q,I as r,D as s,y as t,M as u,S as v,f as w,r as x,o as y,s as z};
|
|
2
|
+
//# sourceMappingURL=p-f48ce5f6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IcInformationStatus","IcBrandForegroundEnum","IcDateInputMonths","IcShortDayNames","IcDayNames","IcWeekDays","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","icInput","stringEnumToArray","theEnum","arr","Object","values","forEach","val","isNaN","Number","str","push","dynamicDebounce","func","getDelay","timer","args","delay","clearTimeout","setTimeout","renderHiddenInput","always","container","name","value","disabled","undefined","hasShadowDom","input","getHiddenInputElement","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","Array","from","querySelectorAll","filter","el","parentElement","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","isSlotUsed","trim","getBrandFromContext","brandFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","Default","contains","Dark","Light","isEmptyString","length","isPropDefined","prop","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","UNDEFINED","getCssProperty","cssVar","getComputedStyle","document","documentElement","getPropertyValue","getSlotElements","slot","slotContent","firstElementChild","elements","assignedElements","childNodes","replace","children","slotName","some","child","getAttribute","onComponentRequiredPropUndefined","props","component","propName","console","error","kebabToCamelCase","kebabCase","split","map","word","index","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","parseInt","removeDisabledFalse","element","removeAttribute","isNumeric","test","capitalize","text","charAt","slice","checkSlotInChildMutations","addedNodes","removedNodes","hasSlot","nodeList","node","isArray","addDataToPosition","dataObject","newKeys","newValue","newData","newIndexes","key","keys","numberOfKeys","i","j","indexOf","hasDynamicChildSlots","mutationList","slotNames","renderDynamicChildSlots","ref","forceUpdate"],"sources":["src/utils/types.ts","src/utils/constants.ts","src/utils/helpers.ts"],"sourcesContent":["import {\n IcPaginationLabelTypes,\n IcPaginationTypes,\n IcPaginationAlignmentOptions,\n} from \"../components\";\n\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcBrandForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcBrandForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcBrandForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcBrand = {\n mode: IcBrandForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement | null;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * Set \"label\" and \"value\" props to use as the option's label and value.\n * Alternatively, custom names for these props can be used e.g. by setting the \"labelField\" and \"valueField\" props on the relevant component.\n *\n * Any props supplied to the \"htmlProps\" object will be spread onto the option's underlying <li> element.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n htmlProps?: Record<string, any>;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[]\n | undefined;\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\n\nexport interface IcMultiValueEventDetail {\n value: string | string[] | null;\n keyPressed?: string;\n}\n\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget | null;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n\nexport type IcIconPlacementOptions = \"left\" | \"right\" | \"top\";\n\nexport type IcButtonTooltipPlacement = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport type IcThemeSettings = \"dark\" | \"light\" | \"system\";\n\nexport interface IcPaginationBarOptions {\n alignment?: IcPaginationAlignmentOptions;\n hideAllFromItemsPerPage?: boolean;\n hideRangeLabel?: boolean;\n itemLabel?: string;\n itemsPerPageOptions?: { label: string; value: string }[];\n monochrome?: boolean;\n pageLabel?: string;\n rangeLabelType?: IcPaginationLabelTypes;\n selectedItemsPerPage?: number;\n selectItemsPerPageOnEnter?: boolean;\n setToFirstPageOnPaginationChange?: boolean;\n showGoToPageControl?: boolean;\n showItemsPerPageControl?: boolean;\n theme?: IcThemeMode;\n type?: IcPaginationTypes;\n}\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport type IcDateValueFormat = string | Date | null | undefined;\n\nexport type IcTimeFormat = \"HH:MM\" | \"HH:MM:SS\";\n\nexport type IcDisableTimeSelection =\n | string\n | Date\n | { start: string | Date; end: string | Date };\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport type IcPositionTopOrRight = \"top\" | \"right\";\n\n// Matches HTML aria-live attribute options\nexport type IcAriaLive = \"polite\" | \"assertive\" | \"off\";\n\nexport type IcCardDensity = \"default\" | \"spacious\";\n","import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\", \"ic-button\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n\n// Keyboard characters that do not affect the content of an input control when pressed\nexport const IGNORED_KEYBOARD_CHARACTERS = [\n \"Alt\",\n \"AltGraph\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"AudioVolumeDown\",\n \"AudioVolumeMute\",\n \"AudioVolumeUp\",\n \"CapsLock\",\n \"ContextMenu\",\n \"Control\",\n \"Delete\",\n \"End\",\n \"Enter\",\n \"Escape\",\n \"F1\",\n \"F10\",\n \"F11\",\n \"F12\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"Home\",\n \"Insert\",\n \"Meta\",\n \"NumLock\",\n \"PageDown\",\n \"PageUp\",\n \"Shift\",\n \"Tab\",\n];\n","/**\n * To investigate:\n * IcColorRGBA works via @ukic/web-components but IcBrandForegroundEnum does not even though they are exported\n * from @ukic/web-components in the same file. Why?\n */\nimport { EventEmitter, forceUpdate } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n IcDeviceSizes,\n IcColor,\n IcBrandForegroundNoDefault,\n IcBrandForeground,\n IcMenuOption,\n} from \"@ukic/web-components\";\nimport { IcDataTableDataType } from \"../interface\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package\nimport { IcBrandForegroundEnum } from \"./types\"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package\n\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst ANYWHERE_SEARCH_POSITION = \"anywhere\";\nconst icInput = \"ic-input\";\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const dynamicDebounce = (\n func: (...args: unknown[]) => void,\n getDelay: () => number\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n const delay = getDelay();\n clearTimeout(timer);\n timer = setTimeout(func, delay, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean | undefined\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n let input = getHiddenInputElement(container);\n\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = !!disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : \"\";\n } else {\n input.value = value || \"\";\n }\n }\n};\n\nconst getHiddenInputElement = (container: HTMLElement) =>\n Array.from(\n container.querySelectorAll<HTMLInputElement>(`input.${icInput}`)\n ).filter((el) => container === el.parentElement)[0];\n\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n * @param name The name of the input\n * @param value The value of the input\n */\nexport const renderFileHiddenInput = (\n event: EventEmitter,\n container: HTMLElement,\n multiple: boolean,\n disabled: boolean,\n accept?: string,\n name?: string,\n value?: FileList\n): void => {\n if (name !== undefined && hasShadowDom(container)) {\n let input = getHiddenInputElement(container);\n\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.disabled = disabled;\n\n if (value) input.files = value;\n if (accept) input.accept = accept;\n\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n getHiddenInputElement(container)?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement | null | undefined): boolean =>\n !!el && !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n el: HTMLElement,\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${\n isSlotUsed(el, \"helper-text\") || helperText\n ? getInputHelperTextID(inputId)\n : \"\"\n } ${validationText ? getInputValidationTextID(inputId) : \"\"}`.trim();\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcBrandForeground depending on the context\n */\nexport const getBrandFromContext = (\n el: Element,\n brandFromEvent: IcBrandForeground | null = null\n): IcBrandForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement?.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcBrandForegroundEnum.Default;\n } else if (\n brandFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return brandFromEvent;\n } else if (\n blockColorParent.classList.contains(\n `${parentTag}-${IcBrandForegroundEnum.Dark}`\n ) ||\n blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)\n ) {\n return IcBrandForegroundEnum.Dark;\n }\n\n return IcBrandForegroundEnum.Light;\n }\n\n return IcBrandForegroundEnum.Default;\n};\n\n/**\n * Checks if the current device is a mobile or tablet device.\n * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.\n */\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator && \"userAgent\" in navigator\n ? navigator.maxTouchPoints > 0 &&\n /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n : false;\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n button.type && hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string | null): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions = ANYWHERE_SEARCH_POSITION,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === ANYWHERE_SEARCH_POSITION\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\n/**\n * Gets count of options where only group title \"parent\" options have been removed.\n * Disabled options are included in the count.\n * @param options - array of options\n * @returns number of options not including group titles\n */\nexport const getOptionsWithoutGroupTitlesCount = (\n options: IcMenuOption[]\n): number => {\n const optionsWithoutGroupTitles: IcMenuOption[] = [];\n\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => optionsWithoutGroupTitles.push(option));\n } else {\n optionsWithoutGroupTitles.push(option);\n }\n });\n }\n\n return optionsWithoutGroupTitles.length;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the brand colour, calculated by using the brand RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-brand-text-color\"\n * @returns number representing the brightness of the brand colour\n */\nexport const getBrandColorBrightness = (): number => {\n const r = getCssProperty(\"--ic-brand-color-primary-r\");\n const g = getCssProperty(\"--ic-brand-color-primary-g\");\n const b = getCssProperty(\"--ic-brand-color-primary-b\");\n return (parseInt(r) * 299 + parseInt(g) * 587 + parseInt(b) * 114) / 1000;\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n * @param brightness - Optional custom brightness value. Defaults to `getBrandColorBrightness`\n */\nexport const getBrandForegroundAppearance = (\n brightness = getBrandColorBrightness()\n): IcBrandForegroundNoDefault =>\n brightness > DARK_MODE_THRESHOLD\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n\nexport const getSlot = (\n element: HTMLElement | undefined,\n name: string\n): Element | null => element?.querySelector(`[slot=\"${name}\"]`) || null;\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n return slot ? getSlotElements(slot) : null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] | null => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent === null) return [slot];\n\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n};\n\nexport const getNavItemParentDetails = ({\n parentElement,\n}: HTMLElement): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n if (parentElement) {\n switch (parentElement.tagName) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: parentElement };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: parentElement };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n }\n\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(\n getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 0\n S: Number(\n getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 576\n M: Number(\n getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 768\n L: Number(\n getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 992\n XL: Number(\n getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status?: IcInformationStatusOrEmpty,\n disabled?: boolean\n): boolean => !!status && !disabled;\n\nexport const isSlotUsed = (\n { children }: HTMLElement,\n slotName: string\n): boolean =>\n Array.from(children).some((child) => child.getAttribute(\"slot\") === slotName);\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n props.forEach(({ prop, propName }) => {\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n });\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string =>\n kebabCase\n .toLowerCase()\n .split(\"-\")\n .map((word, index) =>\n index === 0\n ? word\n : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`\n )\n .join(\"\");\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = (v: string) => parseInt(v, 16);\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n const hexChars = hex\n .replace(\"#\", \"\")\n .split(\"\")\n .map((char) => char.repeat(2));\n return {\n r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),\n g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),\n b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),\n a: 1,\n };\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === \"a\";\n const rgbValues = rgbaStr\n .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\")\n .map(Number);\n return {\n r: rgbValues[0],\n g: rgbValues[1],\n b: rgbValues[2],\n a: isRGBA ? rgbValues[3] : 1,\n };\n};\n\nexport const elementOverflowsX = ({\n scrollWidth,\n clientWidth,\n}: HTMLElement): boolean => scrollWidth > clientWidth;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.addEventListener(\"reset\", callbackFn);\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.removeEventListener(\"reset\", callbackFn);\n};\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\n/**\n * Removes the disabled attribute from the provided element when its value is set to false.\n * This effectively makes it null, to not confuse screen readers that cannot interpret the false value\n */\nexport const removeDisabledFalse = (\n disabled: boolean | undefined,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean =>\n window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n\nexport const isNumeric = (value: string): boolean => /^-?\\d+$/.test(value);\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const convertToRGBA = (color: IcColor): IcColorRGBA | null => {\n const firstChar = color?.slice(0, 1).toLowerCase();\n return firstChar === \"#\"\n ? hexToRgba(color)\n : firstChar === \"r\"\n ? rgbaStrToObj(color)\n : null;\n};\n\nexport const capitalize = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const isElInAGGrid = (el: HTMLElement): boolean =>\n !!el.closest(\".ag-cell\") && !!el.closest(\".ag-root\");\n\nexport const addDataToPosition = (\n dataObject: IcDataTableDataType,\n newKeys: { key: string; index: number }[],\n newValue: unknown\n): IcDataTableDataType => {\n const newData: IcDataTableDataType = {};\n const newIndexes = newKeys.map((key) => key.index);\n\n const keys = Object.keys(dataObject);\n const values = Object.values(dataObject);\n const numberOfKeys = keys.length + newIndexes.length;\n\n for (let i = 0, j = 0; i < numberOfKeys; i++) {\n if (newIndexes.includes(i)) {\n newData[newKeys[newIndexes.indexOf(i)].key] = newValue;\n continue;\n }\n newData[keys[j]] = values[j];\n j++;\n }\n return newData;\n};\n\n/*\n * Checks if the component is slotted in its relevant 'group' component\n * @param component - the component to check\n */\nexport const isSlottedInGroup = (component: HTMLElement): boolean =>\n component.parentElement?.tagName === `${component.tagName}-GROUP`;\n\nexport const hasDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[]\n): boolean =>\n mutationList.some(\n ({ type, addedNodes, removedNodes }) =>\n type === \"childList\" &&\n checkSlotInChildMutations(addedNodes, removedNodes, slotNames)\n );\n\nexport const renderDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[],\n ref: unknown\n): void => {\n if (hasDynamicChildSlots(mutationList, slotNames)) {\n forceUpdate(ref);\n }\n};\n"],"mappings":"wCA8BYA,GAAZ,SAAYA,GACVA,EAAA,qBACAA,EAAA,iBACAA,EAAA,oBACD,EAJD,CAAYA,MAAmB,K,IA0EnBC,GAAZ,SAAYA,GACVA,EAAA,qBACAA,EAAA,eACAA,EAAA,gBACD,EAJD,CAAYA,MAAqB,K,IAgKrBC,GAAZ,SAAYA,GACVA,IAAA,wBACAA,IAAA,0BACAA,IAAA,oBACAA,IAAA,oBACAA,IAAA,gBACAA,IAAA,kBACAA,IAAA,kBACAA,IAAA,sBACAA,IAAA,4BACAA,IAAA,wBACAA,IAAA,2BACAA,IAAA,0BACD,EAbD,CAAYA,MAAiB,K,IAejBC,GAAZ,SAAYA,GACVA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,eACD,EARD,CAAYA,MAAe,K,IAUfC,GAAZ,SAAYA,GACVA,IAAA,sBACAA,IAAA,sBACAA,IAAA,wBACAA,IAAA,4BACAA,IAAA,0BACAA,IAAA,sBACAA,IAAA,yBACD,EARD,CAAYA,MAAU,K,IAUVC,GAAZ,SAAYA,GACVA,IAAA,sBACAA,IAAA,sBACAA,IAAA,wBACAA,IAAA,4BACAA,IAAA,0BACAA,IAAA,sBACAA,IAAA,yBACD,EARD,CAAYA,MAAU,K,MCjPTC,EAAkB,CAC7BC,GAAI,IACJC,EAAG,IACHC,EAAG,IACHC,EAAG,KACHC,GAAI,OAGC,MAAMC,EAA4B,CACvC,UACA,oBACA,YACA,qBACA,YAGK,MAAMC,EAA4B,CAAC,YAMnC,MAAMC,EAA+C,CAC1D,WAAY,CAAC,UAAW,cCpD1B,MAAMC,EAAU,W,MAKHC,EACXC,IAEA,MAAMC,EAAgB,GACtBC,OAAOC,OAAOH,GAASI,SAASC,IAC9B,GAAIC,MAAMC,OAAOF,IAAO,CACtB,MAAMG,EAAMH,EACZJ,EAAIQ,KAAKD,E,KAGb,OAAOP,CAAG,E,MAkDCS,EAAkB,CAC7BC,EACAC,KAEA,IAAIC,EACJ,MAAO,IAAIC,KACT,MAAMC,EAAQH,IACdI,aAAaH,GACbA,EAAQI,WAAWN,EAAMI,KAAUD,EAAK,CACzC,E,MAeUI,EAAoB,CAC/BC,EACAC,EACAC,EACAC,EACAC,KAEA,GAAIF,IAASG,YAAcL,GAAUM,EAAaL,IAAa,CAC7D,IAAIM,EAAQC,EAAsBP,GAElC,GAAIM,IAAU,MAAQA,IAAUF,UAAW,CACzCE,EAAQN,EAAUQ,cAAcC,cAAc,SAC9CH,EAAMI,KAAO,SACbJ,EAAMK,UAAUC,IAAIlC,GACpBsB,EAAUa,YAAYP,E,CAExBA,EAAMH,WAAaA,EACnBG,EAAML,KAAOA,EAEb,GAAIC,aAAiBY,KAAM,CACzBR,EAAMJ,MAAQA,EAAQA,EAAMa,cAAgB,E,KACvC,CACLT,EAAMJ,MAAQA,GAAS,E,IAK7B,MAAMK,EAAyBP,GAC7BgB,MAAMC,KACJjB,EAAUkB,iBAAmC,SAASxC,MACtDyC,QAAQC,GAAOpB,IAAcoB,EAAGC,gBAAe,GAqD5C,MAAMhB,EAAgBe,KACzBA,KAAQA,EAAGE,cAAgBF,EAAGG,aAE3B,MAAMC,EAAwBC,GAAuBA,EAAK,eAE1D,MAAMC,EAA4BD,GACvCA,EAAK,mB,MAEME,EAA0B,CACrCP,EACAQ,EACAC,EACAC,IAEA,GACEC,EAAWX,EAAI,gBAAkBS,EAC7BL,EAAqBI,GACrB,MACFE,EAAiBJ,EAAyBE,GAAW,KAAKI,O,MAcnDC,EAAsB,CACjCb,EACAc,EAA2C,Q,MAE3C,MAAMb,EACJD,EAAGC,eAA8BD,EAAGe,cAAeC,KAAKf,cAC1D,MAAMgB,EAAmBhB,IAAa,MAAbA,SAAa,SAAbA,EAAeiB,QACtC/D,EAA0BgE,KAAK,MAIjC,GAAIF,EAAkB,CACpB,MAAMG,EAAYH,EAAiBI,QAAQC,cAC3C,MAAMC,EAAavB,EAAGqB,QAAQC,cAE9B,IAAIE,EAAAnE,EAA0B+D,MAAU,MAAAI,SAAA,SAAAA,EAAEC,SAASF,GAAa,CAC9D,OAAO/E,EAAsBkF,O,MACxB,GACLZ,IAAmB,OAClB1D,EAA0BqE,SAASL,GACpC,CACA,OAAON,C,MACF,GACLG,EAAiB1B,UAAUoC,SACzB,GAAGP,KAAa5E,EAAsBoF,SAExCX,EAAiB1B,UAAUoC,SAASnF,EAAsBoF,MAC1D,CACA,OAAOpF,EAAsBoF,I,CAG/B,OAAOpF,EAAsBqF,K,CAG/B,OAAOrF,EAAsBkF,OAAO,E,MAqCzBI,EAAiBhD,GAC5BA,EAAQA,EAAM8B,OAAOmB,SAAW,EAAI,K,MAGzBC,EAAiBC,GAC5BA,IAASjD,UAAYiD,EAAO,K,MAyFjBC,EAAqBC,GAChCC,OAAOC,WAAW,eAAeF,QAAWG,Q,MAEjCC,EAAuB,KAClC,GAAIL,EAAkBM,EAAazF,GAAI,CACrC,OAAOyF,EAAazF,C,CAEtB,GAAImF,EAAkBM,EAAaxF,GAAI,CACrC,OAAOwF,EAAaxF,C,CAEtB,GAAIkF,EAAkBM,EAAavF,GAAI,CACrC,OAAOuF,EAAavF,C,CAEtB,GAAIiF,EAAkBM,EAAatF,IAAK,CACtC,OAAOsF,EAAatF,E,CAGtB,OAAOsF,EAAaC,SAAS,EAGxB,MAAMC,EAAkBC,GAC7BC,iBAAiBC,SAASC,iBAAiBC,iBAAiBJ,G,MA4CjDK,EACXC,IAEA,MAAMC,EAAcD,EAAKE,kBAEzB,GAAID,IAAgB,KAAM,MAAO,CAACD,GAElC,MAAMG,EAAWF,EAAYG,iBACzBH,EAAYG,mBACZH,EAAYI,WAChB,OAAOF,EAASrB,OAASqB,EAAWH,EAAK5B,QAAU,CAAC4B,GAAQ,IAAI,E,MA2BrDT,EAAe,CAC1B1F,GAAIiB,OACF2E,EAAe,sBAAsBa,QAAQ,KAAM,KAErDxG,EAAGgB,OACD2E,EAAe,sBAAsBa,QAAQ,KAAM,KAErDvG,EAAGe,OACD2E,EAAe,sBAAsBa,QAAQ,KAAM,KAErDtG,EAAGc,OACD2E,EAAe,sBAAsBa,QAAQ,KAAM,KAErDrG,GAAIa,OACF2E,EAAe,sBAAsBa,QAAQ,KAAM,KAErDd,UAAW,M,MAQA9B,EAAa,EACtB6C,YACFC,IAEA7D,MAAMC,KAAK2D,GAAUE,MAAMC,GAAUA,EAAMC,aAAa,UAAYH,I,MAczDI,EAAmC,CAC9CC,EACAC,KAEAD,EAAMlG,SAAQ,EAAGqE,OAAM+B,eACrB,GAAI/B,IAAS,MAAQA,IAASjD,UAAW,CACvCiF,QAAQC,MACN,MAAMF,mBAA0BD,uBAA+BC,0BAAiCG,EAC9FH,uB,IAIN,EAGG,MAAMG,EAAoBC,GAC/BA,EACG9C,cACA+C,MAAM,KACNC,KAAI,CAACC,EAAMC,IACVA,IAAU,EACND,EACA,GAAGA,EAAKE,UAAU,EAAG,GAAGC,gBAAgBH,EAAKE,UAAU,OAE5DtD,KAAK,I,MAEGwD,EACXC,IAEA,UACSxC,SAAW,oBACXA,OAAOyC,iBAAmB,YACjC,CACAD,G,SA0CSE,EAAuB,CAClC9E,EACA4E,K,OAEApD,EAAAxB,EAAGkB,QAAQ,WAAO,MAAAM,SAAA,SAAAA,EAAEuD,iBAAiB,QAASH,EAAW,E,MAG9CI,EAA0B,CACrChF,EACA4E,K,OAEApD,EAAAxB,EAAGkB,QAAQ,WAAO,MAAAM,SAAA,SAAAA,EAAEyD,oBAAoB,QAASL,EAAW,E,MAGjDM,EAAU,CAACC,EAAYC,EAAO,KACzC,GAAI,EAAIA,EAAQC,SAASF,Q,MAMdG,EAAsB,CACjCvG,EACAwG,KAEA,IAAKxG,EAAU,CACbwG,EAAQC,gBAAgB,W,SAOfC,EAAa3G,GAA2B,UAAU4G,KAAK5G,G,MA2BvD6G,EAAcC,GACzBA,EAAKC,OAAO,GAAGnB,cAAgBkB,EAAKE,MAAM,GAErC,MAAMC,EAA4B,CACvCC,EACAC,EACAxC,KAEA,MAAMyC,EAAWC,GACfvG,MAAMC,KAAKsG,GAAUzC,MAAM0C,GACzBxG,MAAMyG,QAAQ5C,GACVA,EAASC,MAAM7E,GAAUuH,EAAiBnD,OAASpE,IAClDuH,EAAiBnD,OAASQ,IAEnC,OAAOyC,EAAQF,IAAeE,EAAQD,EAAa,E,MAMxCK,EAAoB,CAC/BC,EACAC,EACAC,KAEA,MAAMC,EAA+B,GACrC,MAAMC,EAAaH,EAAQlC,KAAKsC,GAAQA,EAAIpC,QAE5C,MAAMqC,EAAOnJ,OAAOmJ,KAAKN,GACzB,MAAM5I,EAASD,OAAOC,OAAO4I,GAC7B,MAAMO,EAAeD,EAAK9E,OAAS4E,EAAW5E,OAE9C,IAAK,IAAIgF,EAAI,EAAGC,EAAI,EAAGD,EAAID,EAAcC,IAAK,CAC5C,GAAIJ,EAAWlF,SAASsF,GAAI,CAC1BL,EAAQF,EAAQG,EAAWM,QAAQF,IAAIH,KAAOH,EAC9C,Q,CAEFC,EAAQG,EAAKG,IAAMrJ,EAAOqJ,GAC1BA,G,CAEF,OAAON,CAAO,EAUT,MAAMQ,EAAuB,CAClCC,EACAC,IAEAD,EAAazD,MACX,EAAGpE,OAAM0G,aAAYC,kBACnB3G,IAAS,aACTyG,EAA0BC,EAAYC,EAAcmB,K,MAG7CC,EAA0B,CACrCF,EACAC,EACAE,KAEA,GAAIJ,EAAqBC,EAAcC,GAAY,CACjDG,EAAYD,E","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as a,c as e,h as t,g as i}from"./p-8e4e97b4.js";import{i as c}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as a,c as e,h as t,g as i}from"./p-8e4e97b4.js";import{i as c}from"./p-f48ce5f6.js";const s='.title-bar-wrapper,.header-container,.description-actions,.action-area,.custom-actions-wrapper{display:flex}.title-bar-wrapper,.action-area,.custom-actions-wrapper{gap:var(--ic-space-xs)}.title-bar-wrapper{flex-direction:column;padding:var(--ic-space-sm) var(--ic-space-xs);border-bottom:var(--ic-space-1px) solid\n var(--ic-data-table-title-bar-keyline);background-color:var(--ic-data-table-title-bar-background)}.full-width{padding:var(--ic-space-sm) 0;border-bottom:none}ic-typography.heading h3{margin:0}ic-typography.ic-typography-subtitle-small{--ic-typography-color:var(--ic-data-table-title-bar-information)}ic-typography.ic-typography-h3,::slotted([slot="header"]){max-width:50rem;color:var(--ic-data-table-title-bar-title);--ic-typography-color:var(--ic-data-table-title-bar-title)}ic-typography.ic-typography-body,::slotted([slot="description"]){color:var(--ic-data-table-title-bar-description);--ic-typography-color:var(--ic-data-table-title-bar-description)}ic-typography.ic-typography-body,ic-typography.ic-typography-subtitle-small,::slotted([slot="description"]){max-width:40rem}.density-input{--input-width:7.625rem}@media (max-width: 1200px){.header-container{flex-direction:column}}@media (min-width: 1201px){.header-container{gap:var(--ic-space-xs);align-items:baseline}}@media (min-width: 769px){.description-actions{justify-content:space-between}}@media (max-width: 768px){.description-actions{flex-direction:column;align-items:flex-start;gap:var(--ic-space-xs)}}@media (min-width: 577px){.action-area{align-items:center}}@media (max-width: 576px){.action-area{flex-direction:column}}';const r=s;const o="Title Bar";const d=class{constructor(t){a(this,t);this.icTableDensityUpdate=e(this,"icTableDensityUpdate",7);this.initialDensitySelectOption="default";this.isEmbedded=false;this.heading=o;this.hideDensitySelect=false;this.changeDensity=a=>{this.icTableDensityUpdate.emit({value:a.detail.value})}}componentWillLoad(){const a=this.el.parentElement;if((a===null||a===void 0?void 0:a.tagName)==="IC-DATA-TABLE"){const{caption:e,density:t,embedded:i}=a;this.initialDensitySelectOption=t;this.isEmbedded=!!i;if(this.heading===o){this.heading=e}}}render(){const{changeDensity:a,description:e,el:i,heading:s,hideDensitySelect:r,initialDensitySelectOption:o,isEmbedded:d,metadata:n}=this;const l=c(i,"primary-action")||c(i,"custom-actions")||!r;const p=c(i,"description")||e;return t("div",{key:"45a83555d5e50daec9511e27c598871edd1d658b",class:{"title-bar-wrapper":true,"full-width":d}},t("div",{key:"03efff1125a796185171c04f9470455436ed1b88",class:"header-container"},t("slot",{key:"9b7094400d371cfe756afeff6247d89be77712b3",name:"heading"},t("ic-typography",{key:"a46421c776eadf0785f19b0c4b4bd708de2cbd1f",variant:"h3",class:"heading"},t("h3",{key:"3e4c879fc68616da58b1bf4e3a894adbd3493937"},s))),n&&t("ic-typography",{key:"ff42b249b42f0ffc5a5e3ecabb4b5135e26f6ca2",variant:"subtitle-small"},n)),(l||p)&&t("div",{key:"31c4cd134dbf8cebdcec7c47bd21970a4142c0ca",class:"description-actions"},t("slot",{key:"e69dde4f2143dae9c44d0da6653cbb0c4de8e29b",name:"description"},e&&t("ic-typography",{key:"2ea962b509afdca9c6a196243816343abb2c42e7",variant:"body"},e)),l&&t("div",{key:"6ea660837748344730a355e5359081cd6bc080cb",class:"action-area"},c(i,"custom-actions")&&t("div",{key:"e68d5885acb3273d55566799c66b5dcdb96c1c8b",class:"custom-actions-wrapper"},t("slot",{key:"e16dad2da2d90e67eac973fd35a3be5169a6a96e",name:"custom-actions"})),!r&&t("ic-select",{key:"7424b3cc8792657a50ecf47f54551a2327203f66",size:"small",label:"Change density",class:"density-input",hideLabel:true,options:[{label:"Default",value:"default"},{label:"Dense",value:"dense"},{label:"Spacious",value:"spacious"}],value:o,onIcChange:a}),c(i,"primary-action")&&t("slot",{key:"2f342f77bc425e6e1211633307cb838e4c5037bf",name:"primary-action"}))))}get el(){return i(this)}};d.style=r;export{d as ic_data_table_title_bar};
|
|
2
|
+
//# sourceMappingURL=p-f5cea10d.entry.js.map
|