@ukic/canary-web-components 2.0.0-canary.12 → 2.0.0-canary.13
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/date-helpers-c9551119.js +150 -0
- package/dist/cjs/date-helpers-c9551119.js.map +1 -0
- package/dist/cjs/{helpers-b525d45a.js → helpers-6acbb97e.js} +15 -3
- package/dist/cjs/helpers-6acbb97e.js.map +1 -0
- package/dist/cjs/{helpers-c4444a7e.js → helpers-f75cf7cf.js} +94 -48
- package/dist/cjs/helpers-f75cf7cf.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +11 -2
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +16 -8
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +8 -2
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +43 -308
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +1108 -0
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-date-picker.cjs.entry.js +1053 -0
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-dialog.cjs.entry.js +14 -4
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +38 -0
- package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +150 -0
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +5 -69
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +16 -13
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +29 -33
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
- package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-pagination-bar.cjs.entry.js} +4 -34
- package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-pagination_4.cjs.entry.js +5 -5
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-select-with-multi.cjs.entry.js +6 -19
- package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +18 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +46 -60
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +11 -35
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-4cf27b16.js +18 -10
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/calendar.svg +3 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/ic-data-table/ic-data-table.css +7 -82
- package/dist/collection/components/ic-data-table/ic-data-table.js +44 -535
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +11 -386
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +0 -319
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.css +560 -0
- package/dist/collection/components/ic-date-input/ic-date-input.js +1737 -0
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -0
- package/dist/collection/components/ic-date-input/story-data.js +28 -0
- package/dist/collection/components/ic-date-input/story-data.js.map +1 -0
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +1142 -0
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -0
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +42 -0
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.css +878 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +1512 -0
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-day-button.js +36 -0
- package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-month-picker.js +29 -0
- package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -0
- package/dist/collection/components/ic-date-picker/ic-year-picker.js +39 -0
- package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -0
- package/dist/collection/components/ic-date-picker/story-data.js +148 -0
- package/dist/collection/components/ic-date-picker/story-data.js.map +1 -0
- package/dist/collection/components/{ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js → ic-date-picker/test/a11y/ic-date-picker.test.a11y.js} +5 -3
- package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +207 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +1 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +991 -0
- package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -0
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js +2 -2
- package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-select-with-multi/ic-select.js +2 -2
- package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
- package/dist/collection/utils/constants.js +55 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/collection/utils/date-helpers.js +133 -0
- package/dist/collection/utils/date-helpers.js.map +1 -0
- package/dist/collection/utils/helpers.js +272 -42
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js +45 -0
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +15 -3
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +91 -45
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-accordion-group.js +14 -4
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-badge.js +16 -8
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-button2.js +11 -3
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +1 -1
- package/dist/components/ic-checkbox-group.js +1 -1
- package/dist/components/ic-checkbox.js +1 -1
- package/dist/components/ic-chip.js +1 -1
- package/dist/components/ic-data-table.js +49 -334
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/{ic-data-table-title-bar.d.ts → ic-date-input.d.ts} +4 -4
- package/dist/components/ic-date-input.js +8 -0
- package/dist/components/ic-date-input.js.map +1 -0
- package/dist/components/ic-date-input2.js +1340 -0
- package/dist/components/ic-date-input2.js.map +1 -0
- package/dist/components/ic-date-picker.d.ts +11 -0
- package/dist/components/ic-date-picker.js +1175 -0
- package/dist/components/ic-date-picker.js.map +1 -0
- package/dist/components/ic-dialog.js +13 -3
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-empty-state.js +57 -1
- package/dist/components/ic-empty-state.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-menu-item2.js +1 -1
- package/dist/components/ic-menu2.js +2 -2
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-menu3.js +1 -1
- package/dist/components/ic-menu3.js.map +1 -1
- package/dist/components/ic-navigation-button.js +1 -1
- package/dist/components/ic-navigation-group.js +15 -12
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +29 -33
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +1 -1
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination2.js +5 -5
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-radio-group.js +1 -1
- package/dist/components/ic-radio-option.js +1 -1
- package/dist/components/ic-search-bar.js +1 -1
- package/dist/components/ic-select-with-multi.js +1 -14
- package/dist/components/ic-select-with-multi.js.map +1 -1
- package/dist/components/ic-select2.js +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-tab-context.js +18 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab.js +1 -1
- package/dist/components/ic-text-field2.js +1 -1
- package/dist/components/ic-toggle-button.js +1 -1
- package/dist/components/ic-top-navigation.js +47 -61
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +12 -38
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-917c5721.entry.js → p-04f46dac.entry.js} +2 -2
- package/dist/core/{p-204ace96.entry.js → p-05d0ac42.entry.js} +2 -2
- package/dist/core/{p-a50c3b9e.entry.js → p-0707f2fc.entry.js} +2 -2
- package/dist/core/{p-6933f8e9.entry.js → p-094a0455.entry.js} +2 -2
- package/dist/core/{p-a434c3d4.entry.js → p-1170c02d.entry.js} +2 -2
- package/dist/core/{p-869954a2.entry.js → p-169dcfdd.entry.js} +2 -2
- package/dist/core/{p-f7a14c01.entry.js → p-1a4bce88.entry.js} +2 -2
- package/dist/core/{p-76915584.entry.js → p-1c3bd46d.entry.js} +2 -2
- package/dist/core/p-1c3bd46d.entry.js.map +1 -0
- package/dist/core/{p-4baa0916.entry.js → p-28bddd8d.entry.js} +2 -2
- package/dist/core/{p-a43c12cd.entry.js → p-2ec33c00.entry.js} +2 -2
- package/dist/core/p-31800427.entry.js +2 -0
- package/dist/core/{p-045359e1.entry.js.map → p-31800427.entry.js.map} +1 -1
- package/dist/core/p-33dd24eb.js +2 -0
- package/dist/core/p-33dd24eb.js.map +1 -0
- package/dist/core/p-3b0caac0.js +2 -0
- package/dist/core/p-3b0caac0.js.map +1 -0
- package/dist/core/{p-f843da01.entry.js → p-3d0185a4.entry.js} +2 -2
- package/dist/core/{p-f3c840cd.entry.js → p-3f4c408a.entry.js} +2 -2
- package/dist/core/{p-e834344e.entry.js → p-4020d7f7.entry.js} +2 -2
- package/dist/core/p-402fd288.entry.js +2 -0
- package/dist/core/p-402fd288.entry.js.map +1 -0
- package/dist/core/{p-88d54b72.entry.js → p-49449a2d.entry.js} +2 -2
- package/dist/core/{p-db9c03c0.entry.js → p-4a30b0fc.entry.js} +2 -2
- package/dist/core/{p-a31031a5.entry.js → p-4b361789.entry.js} +2 -2
- package/dist/core/p-50cfc2bb.entry.js +2 -0
- package/dist/core/{p-ba86928c.entry.js.map → p-50cfc2bb.entry.js.map} +1 -1
- package/dist/core/{p-624d4f5f.entry.js → p-55d819a6.entry.js} +2 -2
- package/dist/core/{p-10fb4c46.entry.js → p-58c87b3d.entry.js} +2 -2
- package/dist/core/p-623f911f.entry.js +2 -0
- package/dist/core/p-623f911f.entry.js.map +1 -0
- package/dist/core/p-66b8f0a7.entry.js +2 -0
- package/dist/core/p-66b8f0a7.entry.js.map +1 -0
- package/dist/core/p-6b68ee01.entry.js +2 -0
- package/dist/core/p-6b68ee01.entry.js.map +1 -0
- package/dist/core/{p-595be57d.entry.js → p-7c8f85fd.entry.js} +2 -2
- package/dist/core/{p-d8469ac0.entry.js → p-7d1381ef.entry.js} +2 -2
- package/dist/core/p-849f43c3.entry.js +2 -0
- package/dist/core/p-849f43c3.entry.js.map +1 -0
- package/dist/core/{p-e3997d60.entry.js → p-8b1d128c.entry.js} +2 -2
- package/dist/core/{p-81ddc39d.entry.js → p-8ef85b15.entry.js} +2 -2
- package/dist/core/p-925da2d2.entry.js +2 -0
- package/dist/core/p-925da2d2.entry.js.map +1 -0
- package/dist/core/p-940de102.entry.js +2 -0
- package/dist/core/p-940de102.entry.js.map +1 -0
- package/dist/core/p-981b6f12.entry.js +2 -0
- package/dist/core/p-981b6f12.entry.js.map +1 -0
- package/dist/core/{p-b6639e4a.entry.js → p-9e3178e8.entry.js} +2 -2
- package/dist/core/{p-b6639e4a.entry.js.map → p-9e3178e8.entry.js.map} +1 -1
- package/dist/core/{p-a0f8efb2.entry.js → p-a9ed6a71.entry.js} +2 -2
- package/dist/core/p-aabab75f.entry.js +2 -0
- package/dist/core/p-aabab75f.entry.js.map +1 -0
- package/dist/core/{p-ab09986c.entry.js → p-b3d21d06.entry.js} +2 -2
- package/dist/core/p-b612d68b.entry.js +2 -0
- package/dist/core/p-b612d68b.entry.js.map +1 -0
- package/dist/core/p-b8a3b16d.entry.js +2 -0
- package/dist/core/p-b8a3b16d.entry.js.map +1 -0
- package/dist/core/{p-b82dcc29.entry.js → p-bbcd6d06.entry.js} +2 -2
- package/dist/core/{p-1ca332ca.entry.js → p-bcfbd465.entry.js} +2 -2
- package/dist/core/{p-5ae93c16.entry.js → p-bf316546.entry.js} +2 -2
- package/dist/core/{p-fc5611e2.entry.js → p-c51496ee.entry.js} +2 -2
- package/dist/core/p-c51496ee.entry.js.map +1 -0
- package/dist/core/p-c7590421.entry.js +2 -0
- package/dist/core/p-c7590421.entry.js.map +1 -0
- package/dist/core/{p-4f413fc0.entry.js → p-c7b52046.entry.js} +2 -2
- package/dist/core/p-cd799087.js +2 -0
- package/dist/core/p-cd799087.js.map +1 -0
- package/dist/core/{p-7ef8d616.entry.js → p-da578abf.entry.js} +2 -2
- package/dist/core/p-dae1779d.entry.js +2 -0
- package/dist/core/{p-f14454b1.entry.js.map → p-dae1779d.entry.js.map} +1 -1
- package/dist/core/{p-8b08d8fe.entry.js → p-e0e26834.entry.js} +2 -2
- package/dist/core/p-e189f1d0.entry.js +2 -0
- package/dist/core/p-e189f1d0.entry.js.map +1 -0
- package/dist/core/p-e30f2623.entry.js +2 -0
- package/dist/core/p-e30f2623.entry.js.map +1 -0
- package/dist/core/p-e676069e.entry.js +2 -0
- package/dist/core/p-e676069e.entry.js.map +1 -0
- package/dist/core/{p-75dac3d1.entry.js → p-ed7379e3.entry.js} +2 -2
- package/dist/core/{p-c34848da.entry.js → p-f4965c26.entry.js} +2 -2
- package/dist/core/{p-6c3044b6.entry.js → p-f9ee48f7.entry.js} +2 -2
- package/dist/core/{p-2eac7dcc.entry.js → p-f9fcdd21.entry.js} +2 -2
- package/dist/core/p-fdd8f3a5.entry.js +2 -0
- package/dist/core/p-fdd8f3a5.entry.js.map +1 -0
- package/dist/core/{p-5e0c830b.entry.js → p-ffa94639.entry.js} +2 -2
- package/dist/core/{p-5e0c830b.entry.js.map → p-ffa94639.entry.js.map} +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/date-helpers-0e5e32a7.js +136 -0
- package/dist/esm/date-helpers-0e5e32a7.js.map +1 -0
- package/dist/esm/{helpers-12b4266a.js → helpers-451953f9.js} +16 -4
- package/dist/esm/helpers-451953f9.js.map +1 -0
- package/dist/esm/{helpers-1f07eb61.js → helpers-f328a7b6.js} +92 -46
- package/dist/esm/helpers-f328a7b6.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +11 -2
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +16 -8
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +8 -2
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js +1 -1
- package/dist/esm/ic-chip.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +44 -309
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +1104 -0
- package/dist/esm/ic-date-input.entry.js.map +1 -0
- package/dist/esm/ic-date-picker.entry.js +1049 -0
- package/dist/esm/ic-date-picker.entry.js.map +1 -0
- package/dist/esm/ic-dialog.entry.js +14 -4
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/{components/ic-empty-state2.js → esm/ic-empty-state.entry.js} +11 -38
- package/dist/esm/ic-empty-state.entry.js.map +1 -0
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +143 -0
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
- package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +7 -69
- package/dist/esm/ic-menu.entry.js.map +1 -0
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +16 -13
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +29 -33
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/{ic-empty-state_2.entry.js → ic-pagination-bar.entry.js} +5 -34
- package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
- package/dist/esm/ic-pagination_4.entry.js +5 -5
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +1 -1
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-search-bar.entry.js +1 -1
- package/dist/esm/ic-select-with-multi.entry.js +1 -14
- package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +2 -2
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-tab-context.entry.js +18 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +1 -1
- package/dist/esm/ic-toggle-button.entry.js +1 -1
- package/dist/esm/ic-top-navigation.entry.js +46 -60
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +12 -36
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-93509377.js +18 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -96
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +0 -11
- package/dist/types/components/ic-data-table/story-data.d.ts +0 -99
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +251 -0
- package/dist/types/components/ic-date-input/story-data.d.ts +1 -0
- package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +23 -0
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +231 -0
- package/dist/types/components/ic-date-picker/ic-day-button.d.ts +16 -0
- package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +14 -0
- package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +16 -0
- package/dist/types/components/ic-date-picker/story-data.d.ts +22 -0
- package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +2 -2
- package/dist/types/components/ic-select-with-multi/ic-select.d.ts +2 -2
- package/dist/types/components.d.ts +390 -141
- package/dist/types/utils/constants.d.ts +37 -0
- package/dist/types/utils/date-helpers.d.ts +22 -0
- package/dist/types/utils/helpers.d.ts +84 -16
- package/dist/types/utils/types.d.ts +92 -1
- package/hydrate/index.js +3026 -950
- package/package.json +4 -3
- package/dist/cjs/helpers-b525d45a.js.map +0 -1
- package/dist/cjs/helpers-c4444a7e.js.map +0 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +0 -57
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -86
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js +0 -217
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js.map +0 -1
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +0 -87
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +0 -160
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +0 -1
- package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +0 -70
- package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +0 -1
- package/dist/components/ic-data-table-title-bar.js +0 -136
- package/dist/components/ic-data-table-title-bar.js.map +0 -1
- package/dist/components/ic-empty-state2.js.map +0 -1
- package/dist/core/p-045359e1.entry.js +0 -2
- package/dist/core/p-169bfa51.entry.js +0 -2
- package/dist/core/p-169bfa51.entry.js.map +0 -1
- package/dist/core/p-1e91f540.entry.js +0 -2
- package/dist/core/p-1e91f540.entry.js.map +0 -1
- package/dist/core/p-347e8dab.entry.js +0 -2
- package/dist/core/p-347e8dab.entry.js.map +0 -1
- package/dist/core/p-3803a5b5.entry.js +0 -2
- package/dist/core/p-3803a5b5.entry.js.map +0 -1
- package/dist/core/p-4753bac8.entry.js +0 -2
- package/dist/core/p-4753bac8.entry.js.map +0 -1
- package/dist/core/p-5171169f.entry.js +0 -2
- package/dist/core/p-5171169f.entry.js.map +0 -1
- package/dist/core/p-5ee4319c.entry.js +0 -2
- package/dist/core/p-5ee4319c.entry.js.map +0 -1
- package/dist/core/p-5f4e96ec.entry.js +0 -2
- package/dist/core/p-5f4e96ec.entry.js.map +0 -1
- package/dist/core/p-7267fe19.entry.js +0 -2
- package/dist/core/p-7267fe19.entry.js.map +0 -1
- package/dist/core/p-76915584.entry.js.map +0 -1
- package/dist/core/p-942282cd.entry.js +0 -2
- package/dist/core/p-942282cd.entry.js.map +0 -1
- package/dist/core/p-96b3e7e2.js +0 -2
- package/dist/core/p-96b3e7e2.js.map +0 -1
- package/dist/core/p-9caf19eb.js +0 -2
- package/dist/core/p-9caf19eb.js.map +0 -1
- package/dist/core/p-aac4185b.entry.js +0 -2
- package/dist/core/p-aac4185b.entry.js.map +0 -1
- package/dist/core/p-b2aa3d7c.entry.js +0 -2
- package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
- package/dist/core/p-ba86928c.entry.js +0 -2
- package/dist/core/p-f14454b1.entry.js +0 -2
- package/dist/core/p-f6888309.entry.js +0 -2
- package/dist/core/p-f6888309.entry.js.map +0 -1
- package/dist/core/p-f74a8752.entry.js +0 -2
- package/dist/core/p-f74a8752.entry.js.map +0 -1
- package/dist/core/p-fc5611e2.entry.js.map +0 -1
- package/dist/esm/helpers-12b4266a.js.map +0 -1
- package/dist/esm/helpers-1f07eb61.js.map +0 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +0 -53
- package/dist/esm/ic-data-table-title-bar.entry.js.map +0 -1
- package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
- package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
- package/dist/esm/ic-input-label_2.entry.js +0 -81
- package/dist/esm/ic-input-label_2.entry.js.map +0 -1
- package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +0 -36
- /package/dist/core/{p-917c5721.entry.js.map → p-04f46dac.entry.js.map} +0 -0
- /package/dist/core/{p-204ace96.entry.js.map → p-05d0ac42.entry.js.map} +0 -0
- /package/dist/core/{p-a50c3b9e.entry.js.map → p-0707f2fc.entry.js.map} +0 -0
- /package/dist/core/{p-6933f8e9.entry.js.map → p-094a0455.entry.js.map} +0 -0
- /package/dist/core/{p-a434c3d4.entry.js.map → p-1170c02d.entry.js.map} +0 -0
- /package/dist/core/{p-869954a2.entry.js.map → p-169dcfdd.entry.js.map} +0 -0
- /package/dist/core/{p-f7a14c01.entry.js.map → p-1a4bce88.entry.js.map} +0 -0
- /package/dist/core/{p-4baa0916.entry.js.map → p-28bddd8d.entry.js.map} +0 -0
- /package/dist/core/{p-a43c12cd.entry.js.map → p-2ec33c00.entry.js.map} +0 -0
- /package/dist/core/{p-f843da01.entry.js.map → p-3d0185a4.entry.js.map} +0 -0
- /package/dist/core/{p-f3c840cd.entry.js.map → p-3f4c408a.entry.js.map} +0 -0
- /package/dist/core/{p-e834344e.entry.js.map → p-4020d7f7.entry.js.map} +0 -0
- /package/dist/core/{p-88d54b72.entry.js.map → p-49449a2d.entry.js.map} +0 -0
- /package/dist/core/{p-db9c03c0.entry.js.map → p-4a30b0fc.entry.js.map} +0 -0
- /package/dist/core/{p-a31031a5.entry.js.map → p-4b361789.entry.js.map} +0 -0
- /package/dist/core/{p-624d4f5f.entry.js.map → p-55d819a6.entry.js.map} +0 -0
- /package/dist/core/{p-10fb4c46.entry.js.map → p-58c87b3d.entry.js.map} +0 -0
- /package/dist/core/{p-595be57d.entry.js.map → p-7c8f85fd.entry.js.map} +0 -0
- /package/dist/core/{p-d8469ac0.entry.js.map → p-7d1381ef.entry.js.map} +0 -0
- /package/dist/core/{p-e3997d60.entry.js.map → p-8b1d128c.entry.js.map} +0 -0
- /package/dist/core/{p-81ddc39d.entry.js.map → p-8ef85b15.entry.js.map} +0 -0
- /package/dist/core/{p-a0f8efb2.entry.js.map → p-a9ed6a71.entry.js.map} +0 -0
- /package/dist/core/{p-ab09986c.entry.js.map → p-b3d21d06.entry.js.map} +0 -0
- /package/dist/core/{p-b82dcc29.entry.js.map → p-bbcd6d06.entry.js.map} +0 -0
- /package/dist/core/{p-1ca332ca.entry.js.map → p-bcfbd465.entry.js.map} +0 -0
- /package/dist/core/{p-5ae93c16.entry.js.map → p-bf316546.entry.js.map} +0 -0
- /package/dist/core/{p-4f413fc0.entry.js.map → p-c7b52046.entry.js.map} +0 -0
- /package/dist/core/{p-7ef8d616.entry.js.map → p-da578abf.entry.js.map} +0 -0
- /package/dist/core/{p-8b08d8fe.entry.js.map → p-e0e26834.entry.js.map} +0 -0
- /package/dist/core/{p-75dac3d1.entry.js.map → p-ed7379e3.entry.js.map} +0 -0
- /package/dist/core/{p-c34848da.entry.js.map → p-f4965c26.entry.js.map} +0 -0
- /package/dist/core/{p-6c3044b6.entry.js.map → p-f9ee48f7.entry.js.map} +0 -0
- /package/dist/core/{p-2eac7dcc.entry.js.map → p-f9fcdd21.entry.js.map} +0 -0
- /package/dist/types/components/{ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts → ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icDataTableCss","DataTable","this","DENSITY_HEIGHT_MULTIPLIER","dense","default","spacious","DENSITY_PADDING_HEIGHT_DIFF","SORT_ICONS","unsorted","unsortedIcon","ascending","ascendingIcon","descending","descendingIcon","dataIsSorted","hasLoadedForOneSecond","itemsPerPageChanged","updateTruncation","removeDivStyles","parentDiv","style","VERTICAL_CLASSES","removeVerticalAlignment","el","some","className","Array","from","classList","includes","remove","setMaxLines","typographyEl","cellContainer","maxLines","Math","max","floor","clientHeight","checkCellTextMaxLines","scrollHeight","resetMaxLines","undefined","dataTruncation","shadowRoot","querySelectorAll","forEach","tableCell","closest","tooltip","contains","appendChild","truncationPattern","webkitLineClamp","setAttribute","id","textContent","tooltipEl","document","createElement","rowIndex","Number","match","data","length","rowsPerPage","columns","key","parentNode","replaceChild","startLoadingTimer","timerStarted","Date","now","setTimeout","minimumLoadingDisplayDuration","isObject","value","notDefaultDensity","density","getCellContent","cell","dataType","toLocaleDateString","getCellAlignment","alignment","Object","keys","getObjectValue","createUpdatingIndicator","appearance","description","min","progress","updatingOptions","h","colSpan","class","fullWidth","type","size","setRowHeight","height","pxToRem","createCells","row","rowValues","values","rowKeys","rowTextWrapIndex","indexOf","rowTextWrap","rowAlignment","rowEmphasis","headerIndex","map","index","columnAlignment","emphasis","icon","textWrap","cellSlotName","hasIcon","isNotElement","cellValue","scope","stickyRowHeaders","vertical","innerHTML","isSlotUsed","horizontal","currentRowHeight","overflowY","name","Fragment","onAllCells","variant","href","createColumnHeaders","cellAlignment","colspan","title","updating","loading","hideOnHeader","sortable","getSortButtonLabel","onClick","sortRows","sortedColumn","sortedColumnOrder","onRowClick","target","tagName","getPropertyValue","selectedRow","createRows","showPagination","slice","fromRow","toRow","getSlotContent","sort","getSortFunction","variableRowHeightVal","_a","variableRowHeight","call","assign","globalRowHeight","event","label","getNextSortOption","option","sortOrders","sortOptions","sortOption","getComparison","targetRow","comparisonRow","targetRowValue","comparisonRowValue","find","col","valueOf","String","localeCompare","numeric","sensitivity","a","b","column","sortButton","querySelector","previousSortedButton","nextSortOrderIndex","updateScrollOffset","scrollOffset","scrollTop","itemsPerPage","control","itemsPerPageControl","goToPageControl","defaultColumn","componentWillLoad","paginationOptions","previousRowsPerPage","loadingOptions","showBackground","componentDidLoad","tableElement","tableContainer","clientWidth","scrollable","showLoadingIndicator","componentDidUpdate","handleItemsPerPageChange","ev","detail","handlePageChange","tableRowsContainer","handleDensityChange","clickListener","loadingHandler","newValue","dataHandler","newData","rowHeightChangeHandler","deleteTextWrapKey","array","val","icRowHeightChange","emit","resetRowHeights","loadingIndicator","add","render","caption","hideColumnHeaders","stickyColumnHeaders","tabIndex","onScroll","aligned","heading","labelDuration","ref","totalItems","paginationType","paginationControl","showItemsPerPageControl","showGoToPageControl","itemsPerPageOptions"],"sources":["src/components/ic-data-table/ic-data-table.css?tag=ic-data-table&encapsulation=shadow","src/components/ic-data-table/ic-data-table.tsx"],"sourcesContent":["/**\n * @prop --height: height of the table row container\n */\n\n:host {\n position: relative;\n display: block;\n height: 100%;\n max-height: 100%;\n}\n\ntbody {\n vertical-align: top;\n}\n\n.table-container {\n position: relative;\n height: calc(100% - var(--ic-space-xxxs));\n}\n\n.table-row-container {\n position: relative;\n height: 100%;\n overflow: auto;\n transition: var(--ic-easing-transition-fast);\n overflow-anchor: none;\n}\n\n:host([show-pagination=\"true\"]) .table-row-container {\n height: calc(100% - 3.5625rem);\n}\n\ntable {\n table-layout: fixed;\n border-spacing: 0;\n width: 100%;\n}\n\n.table-row-container:focus {\n outline: none;\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n z-index: 1;\n}\n\n:host([embedded=\"true\"]) .table-row-container {\n border: var(--ic-border-light);\n}\n\n.column-header-sticky {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.column-header-overlay {\n position: sticky;\n top: 0;\n z-index: 1;\n box-shadow: 0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%);\n}\n\n.row-header-sticky {\n position: sticky;\n left: 0;\n}\n\n.column-header,\n.table-row {\n box-sizing: border-box;\n}\n\n.table-row-selected {\n background-color: var(--ic-table-row-selected) !important;\n}\n\n.sort-button {\n margin-left: auto;\n}\n\n.sort-button:hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.sort-button:active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.sort-button svg {\n color: var(--ic-architectural-black);\n}\n\n.sort-button-unsorted svg {\n color: var(--ic-color-tertiary-text);\n}\n\n.table-density-dense {\n padding: var(--ic-space-xxs) var(--ic-space-xs) !important;\n}\n\n.text-dense {\n font-size: var(--ic-font-size-label);\n}\n\n.table-density-spacious {\n padding: 0.625rem var(--ic-space-xs) !important;\n}\n\n.text-spacious {\n font-size: 1.125rem;\n}\n\n.column-header-text {\n font-weight: var(--ic-font-weight-bold);\n}\n\n.column-header,\n.row-header {\n text-align: left;\n padding: var(--ic-space-xs);\n background-color: var(--ic-architectural-40);\n border-right: var(--ic-border-light);\n border-bottom: var(--ic-border-light);\n}\n\n.column-header:last-child {\n border-right: none;\n}\n\n.scrollable .column-header:last-child {\n border-right: var(--ic-border-light) !important;\n}\n\n:host([embedded=\"true\"]) tr:last-child .table-cell,\n:host([embedded=\"true\"]) tr:last-child .row-header {\n border-bottom: none;\n}\n\n.column-header-alignment-left,\n.row-header-alignment-left,\n.cell-alignment-left {\n text-align: left !important;\n justify-content: start !important;\n}\n\n.column-header-alignment-right,\n.row-header-alignment-right,\n.cell-alignment-right {\n justify-content: end !important;\n}\n\n.column-header-alignment-center,\n.row-header-alignment-center,\n.cell-alignment-center {\n text-align: center !important;\n}\n\n.table-row:nth-child(even) {\n background-color: var(--ic-architectural-20);\n}\n\n.table-cell {\n padding: var(--ic-space-xs);\n border-bottom: solid var(--ic-architectural-100) var(--ic-space-1px);\n}\n\nic-tooltip > ic-typography {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.data-type-number,\n.data-type-date {\n justify-content: end;\n text-align: end;\n}\n\n.cell-alignment-top {\n vertical-align: top;\n align-items: flex-start;\n}\n\n.cell-alignment-middle {\n vertical-align: middle;\n align-items: center;\n}\n\n.cell-alignment-bottom {\n vertical-align: bottom;\n align-items: flex-end;\n}\n\n.cell-emphasis-low {\n color: var(--ic-color-secondary-text);\n}\n\n.cell-emphasis-high {\n font-weight: var(--ic-font-weight-bold);\n}\n\n.pagination-container {\n background-color: var(--ic-architectural-40);\n border-top: var(--ic-border-light);\n}\n\n.screen-reader-sort-text,\n.table-caption {\n position: absolute;\n left: -100rem;\n}\n\n.table-cell,\n.column-header,\n.row-header {\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n.loading-empty {\n padding: var(--ic-space-xl) var(--ic-space-xxl);\n margin-top: var(--ic-space-xl);\n} \n\n.below-table {\n padding: var(--ic-space-xl) var(--ic-space-xxl);\n}\n\n.updating-state {\n padding: 0;\n border-bottom: var(--ic-border-light);\n}\n\n.updating-state-headers {\n border-bottom: none;\n}\n\n.loading {\n position: absolute;\n left: calc(50% - 5.9741rem);\n opacity: 0;\n transition: opacity var(--ic-transition-duration-slow);\n}\n\n.loading.show-background {\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-light);\n}\n\n.loading.show {\n opacity: 1;\n}\n\n.icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-right: var(--ic-space-xxs);\n}\n\n.column-header-alignment-right > .icon,\n.row-header-alignment-right > .icon,\n.cell-alignment-right > .icon,\n.column-header-alignment-right > ::slotted(svg),\n.row-header-alignment-right > ::slotted(svg),\n.cell-alignment-right > ::slotted(svg) {\n margin-right: auto;\n}\n\n.column-header-alignment-center > ic-typography,\n.row-header-alignment-right > ic-typography,\n.cell-alignment-center > ic-typography {\n flex: 1;\n}\n\n.icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n@media screen and (min-width: 576px) {\n .column-header-inner-container {\n display: flex;\n align-items: center;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n Listen,\n Watch,\n Fragment,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport unsortedIcon from \"./assets/unsorted-icon.svg\";\nimport ascendingIcon from \"./assets/ascending-icon.svg\";\nimport descendingIcon from \"./assets/descending-icon.svg\";\nimport {\n IcDataTableColumnDataTypes,\n IcDataTableColumnObject,\n IcDataTableDensityOptions,\n IcDataTableRowHeights,\n IcDataTableSortOrderOptions,\n IcDataTableTruncationTypes,\n IcDensityUpdateEventDetail,\n} from \"./ic-data-table.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationControlTypes,\n IcPaginationTypes,\n} from \"../ic-pagination/ic-pagination.types\";\nimport { IcThemeForegroundNoDefault } from \"@ukic/web-components/dist/types/utils/types\";\n// Unable to import helper functions via @ukic/web-components\nimport { getSlotContent, isSlotUsed, pxToRem } from \"../../utils/helpers\";\n\n/**\n * @slot empty-state - Content is slotted below the table header when there is no data and the table is not loading.\n * @slot {COLUMN_KEY}-{ROW_INDEX}[-icon] - Each cell should have its own slot, named using the column tag and the row index, allowing for custom elements to be displayed. Include `-icon` at the end for that cell's icon slot.\n * @slot {COLUMN_KEY}-column-icon - The icon slot for a column header.\n * @slot title-bar - A custom ic-data-table-title-bar can be slotted above the column headers to display additional information about the table.\n */\n@Component({\n tag: \"ic-data-table\",\n styleUrl: \"ic-data-table.css\",\n shadow: true,\n})\nexport class DataTable {\n private DENSITY_HEIGHT_MULTIPLIER = {\n dense: 0.8,\n default: 1,\n spacious: 1.2,\n };\n\n private DENSITY_PADDING_HEIGHT_DIFF = {\n dense: 8,\n default: 16,\n spacious: 20,\n };\n\n private SORT_ICONS = {\n unsorted: unsortedIcon,\n ascending: ascendingIcon,\n descending: descendingIcon,\n };\n\n private currentRowHeight: number;\n private dataIsSorted: boolean = false;\n private hasLoadedForOneSecond: boolean = true;\n private itemsPerPageChanged: boolean = false;\n private loadingIndicator: HTMLIcLoadingIndicatorElement;\n private timerStarted: number;\n private updateTruncation: boolean = false;\n\n @Element() el: HTMLIcDataTableElement;\n\n @State() fromRow: number = 0;\n\n @State() previousRowsPerPage: number;\n\n @State() rowsPerPage: number;\n\n @State() scrollable: boolean = false;\n\n @State() scrollOffset: number = 0;\n\n @State() selectedRow: object;\n\n @State() sortedColumn: string;\n\n @State() sortedColumnOrder: IcDataTableSortOrderOptions;\n\n @State() toRow: number;\n\n /**\n * The title for the table only visible to screen readers.\n */\n @Prop() caption!: string;\n\n /**\n * The column headers for the table.\n */\n @Prop() columns!: IcDataTableColumnObject[];\n\n /**\n * The row content for the table.\n */\n @Prop() data: { [key: string]: any }[];\n\n /**\n * Set the density of the table including font and padding.\n */\n @Prop({ mutable: true }) density?: IcDataTableDensityOptions = \"default\";\n\n /**\n * Applies a border to the table container.\n */\n @Prop() embedded?: boolean = false;\n\n /**\n * Sets the row height on all rows in the table that aren't set using the variableRowHeight method.\n */\n @Prop({ mutable: true }) globalRowHeight?: IcDataTableRowHeights = 40;\n\n /**\n * If `true`, column headers will not be visible.\n */\n @Prop() hideColumnHeaders?: boolean = false;\n\n /**\n * When set to `true`, the full table will show a loading state, featuring a radial indicator.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n /**\n * Sets the props for the circular loading indicator used in the loading state.\n */\n @Prop() loadingOptions?: {\n appearance?: IcThemeForegroundNoDefault;\n description?: string;\n label?: string;\n labelDuration?: number;\n max?: number;\n min?: number;\n progress?: number;\n showBackground?: boolean;\n };\n\n /**\n * The minimum amount of time the `loading` state displays for before showing the data. Used to prevent flashing in the component.\n */\n @Prop() minimumLoadingDisplayDuration?: number = 1000;\n\n /**\n * Sets the props for the pagination bar.\n */\n @Prop() paginationOptions?: {\n itemsPerPage?: { label: string; value: string }[];\n type?: IcPaginationTypes;\n control?: IcPaginationControlTypes;\n itemsPerPageControl?: boolean;\n goToPageControl?: boolean;\n alignment?: IcPaginationAlignmentOptions;\n } = {\n itemsPerPage: [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ],\n type: \"page\",\n control: \"simple\",\n itemsPerPageControl: true,\n goToPageControl: true,\n alignment: \"right\",\n };\n\n /**\n * If `true`, adds a pagination bar to the bottom of the table.\n */\n @Prop() showPagination?: boolean = false;\n\n /**\n * If `true`, allows table columns to be sorted using applied sort buttons.\n */\n @Prop() sortable?: boolean = false;\n\n /**\n * Sets the order columns will be sorted in and allows for 'default' sorts to be added.\n */\n @Prop() sortOptions?: {\n sortOrders: IcDataTableSortOrderOptions[];\n defaultColumn?: string;\n } = {\n sortOrders: [\"unsorted\", \"ascending\", \"descending\"],\n defaultColumn: \"\",\n };\n\n /**\n * If `true`, column headers will remain at the top of the table when scrolling vertically.\n */\n @Prop() stickyColumnHeaders?: boolean = false;\n\n /**\n * If `true`, row headers will remain to the left when scrolling horizontally.\n */\n @Prop() stickyRowHeaders?: boolean = false;\n\n /**\n * For long text in cells that aren't set to textWrap, define how they should be truncated.\n * `tooltip` adds a tooltip for the rest of the text, `showHide` adds the ic-typography \"See More\"/\"See Less\" buttons.\n */\n @Prop() truncationPattern?: IcDataTableTruncationTypes = \"tooltip\";\n\n /**\n * If `true`, the table displays a linear loading indicator below the header row to indicate an updating state.\n */\n @Prop() updating?: boolean = false;\n\n /**\n * Sets the props for the linear loading indicator used in the updating state.\n */\n @Prop() updatingOptions?: {\n appearance?: IcThemeForegroundNoDefault;\n description?: string;\n max?: number;\n min?: number;\n progress?: number;\n };\n\n /**\n * Allows for custom setting of row heights on individual rows based on an individual value from the `data` prop and the row index.\n * If the function returns `null`, that row's height will be set to the `globalRowHeight` property.\n */\n @Prop({ mutable: true }) variableRowHeight?: (params: {\n [key: string]: any;\n index: number;\n }) => IcDataTableRowHeights | null;\n\n /**\n * Emitted when the `globalRowHeight` or `variableRowHeight` properties change in the data table.\n */\n @Event() icRowHeightChange: EventEmitter<void>;\n\n componentWillLoad(): void {\n this.rowsPerPage = Number(this.paginationOptions.itemsPerPage[0].value);\n this.previousRowsPerPage = this.rowsPerPage;\n this.toRow = this.rowsPerPage;\n this.sortedColumn = this.sortOptions.defaultColumn;\n this.sortedColumnOrder = this.sortOptions.sortOrders[0];\n this.loadingOptions = {\n ...this.loadingOptions,\n showBackground: this.data?.length > 0,\n };\n }\n\n componentDidLoad(): void {\n const tableElement = this.el.shadowRoot.querySelector(\"table\");\n const tableContainer = this.el.shadowRoot.querySelector(\".table-container\");\n if (\n tableElement?.clientHeight > tableContainer?.clientHeight ||\n tableElement?.clientWidth > tableContainer?.clientWidth\n ) {\n this.scrollable = true;\n }\n if (this.loading) {\n this.startLoadingTimer();\n this.showLoadingIndicator();\n }\n\n this.dataTruncation();\n }\n\n componentDidUpdate(): void {\n if (!this.itemsPerPageChanged) {\n this.updateTruncation = true;\n }\n this.dataTruncation();\n this.itemsPerPageChanged = false;\n this.dataIsSorted = false;\n }\n\n private removeDivStyles = (parentDiv: HTMLElement) => {\n parentDiv.style[\"height\"] = null;\n parentDiv.style[\"overflowY\"] = null;\n };\n\n private VERTICAL_CLASSES = [\"cell-alignment-middle\", \"cell-alignment-bottom\"];\n\n private removeVerticalAlignment = (el: HTMLElement): void => {\n if (\n this.VERTICAL_CLASSES.some((className) =>\n Array.from(el.classList).includes(className)\n )\n ) {\n el.classList.remove(...this.VERTICAL_CLASSES);\n }\n };\n\n private setMaxLines = (\n typographyEl: HTMLIcTypographyElement,\n cellContainer: HTMLElement\n ) => {\n typographyEl.maxLines = Math.max(\n Math.floor(cellContainer.clientHeight / 24) - 1,\n 1\n ); // Math.floor\n typographyEl.checkCellTextMaxLines(\n cellContainer.clientHeight,\n typographyEl.scrollHeight\n );\n\n this.removeDivStyles(cellContainer);\n };\n\n private resetMaxLines = (typographyEl: HTMLIcTypographyElement) => {\n typographyEl.maxLines = undefined;\n };\n\n private dataTruncation = () => {\n Array.from(\n this.el.shadowRoot.querySelectorAll(\n \"ic-typography:not(.column-header-text)\"\n )\n ).forEach((typographyEl: HTMLIcTypographyElement) => {\n const tableCell = typographyEl.closest(\"td\");\n const tooltip = typographyEl.closest(\"ic-tooltip\");\n const cellContainer = typographyEl.closest(\n \".cell-container\"\n ) as HTMLElement;\n\n if (cellContainer?.classList.contains(\"data-type-element\")) return;\n\n if (this.updateTruncation && !this.dataIsSorted) {\n this.resetMaxLines(typographyEl);\n cellContainer.appendChild(typographyEl);\n tooltip?.remove();\n }\n\n if (\n // If cellContainer is bigger than the content inside\n cellContainer?.clientHeight > typographyEl.scrollHeight &&\n !!typographyEl.scrollHeight\n ) {\n if (tooltip) {\n // Move the content into the cell container and remove the tooltip as the content shouldnt be truncated\n cellContainer.appendChild(typographyEl);\n tooltip.remove();\n } else {\n // Remove an maxLines as the content is not truncated\n typographyEl.maxLines = undefined;\n }\n // If content is bigger than cellContainer\n } else if (typographyEl.scrollHeight > cellContainer?.clientHeight) {\n // and the truncationPattern is tooltips\n if (this.truncationPattern === \"tooltip\") {\n // Get the number of lines by dividing by 24 (the eq of a line of text - in height) and add as line-clamp CSS\n typographyEl.style.webkitLineClamp = `${Math.floor(\n cellContainer.clientHeight / 24\n )}`;\n // Items that already have a tooltip before a change to the items per change, keep their tooltip\n if (tooltip && !this.itemsPerPageChanged && !this.dataIsSorted) {\n cellContainer.appendChild(typographyEl);\n tooltip.remove();\n }\n if (tooltip && this.dataIsSorted) {\n tooltip.setAttribute(\"target\", typographyEl.id);\n tooltip.setAttribute(\"label\", typographyEl.textContent);\n }\n if (!tooltip) {\n // if truncation pattern is tooltip and the tooltip does not exist, dynamically create one and add the content inside\n const tooltipEl = document.createElement(\"ic-tooltip\");\n const rowIndex = Number(typographyEl.id.match(/-(\\d+)$/)[1]);\n tooltipEl.setAttribute(\"target\", typographyEl.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n\n // Checks if the truncated text is in the first row of the displayed page\n rowIndex === 0 && tooltipEl.setAttribute(\"placement\", \"bottom\");\n // Checks if the truncated text is in the last row of the displayed page\n if (\n rowIndex === this.data.length - 1 ||\n rowIndex === this.rowsPerPage - 1\n ) {\n tooltipEl.setAttribute(\"placement\", \"top\");\n }\n // Checks if the truncated text is in the first column\n typographyEl.id.includes(this.columns[0].key) &&\n tooltipEl.setAttribute(\"placement\", \"right\");\n // Checks if the truncated text is in the last column\n typographyEl.id.includes(\n this.columns[this.columns.length - 1].key\n ) && tooltipEl.setAttribute(\"placement\", \"left\");\n typographyEl.parentNode.replaceChild(tooltipEl, typographyEl);\n tooltipEl.appendChild(typographyEl);\n }\n } else {\n // Else set the maxLines and add the see more/see less truncation link under\n this.setMaxLines(typographyEl, cellContainer);\n\n // Truncation should remove all alignment styling\n this.removeVerticalAlignment(tableCell);\n this.removeVerticalAlignment(cellContainer);\n }\n }\n });\n\n if (this.updateTruncation) {\n this.updateTruncation = false;\n }\n };\n\n @Listen(\"icItemsPerPageChange\")\n handleItemsPerPageChange(ev: CustomEvent): void {\n this.previousRowsPerPage = this.rowsPerPage;\n this.rowsPerPage = ev.detail.value;\n this.itemsPerPageChanged = true;\n this.dataTruncation();\n }\n\n @Listen(\"icPageChange\")\n handlePageChange(ev: CustomEvent): void {\n this.fromRow = (ev.detail.value - 1) * this.rowsPerPage;\n this.toRow = this.fromRow + this.rowsPerPage;\n const tableRowsContainer = this.el.shadowRoot.querySelector(\n \".table-row-container\"\n );\n if (this.previousRowsPerPage === this.rowsPerPage) {\n tableRowsContainer.scrollTop = 0;\n } else if (this.previousRowsPerPage < this.rowsPerPage) {\n tableRowsContainer.scrollTop = this.scrollOffset;\n this.previousRowsPerPage = this.rowsPerPage;\n } else {\n this.previousRowsPerPage = this.rowsPerPage;\n }\n\n this.dataTruncation();\n }\n\n @Listen(\"icTableDensityUpdate\")\n handleDensityChange(ev: CustomEvent<IcDensityUpdateEventDetail>): void {\n this.density = ev.detail.value;\n }\n\n @Listen(\"click\", { target: \"window\" })\n clickListener(ev: MouseEvent): void {\n if (ev.target !== this.el) this.selectedRow = undefined;\n }\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n if (newValue) this.startLoadingTimer();\n\n if (this.loading) {\n setTimeout(() => {\n this.showLoadingIndicator();\n }, 500);\n }\n }\n\n @Watch(\"data\")\n dataHandler(newData: { [key: string]: any }[]): void {\n this.loadingOptions = {\n ...this.loadingOptions,\n showBackground: newData?.length > 0,\n };\n if (this.loading) {\n !this.hasLoadedForOneSecond\n ? setTimeout(\n () => (this.loading = false),\n this.minimumLoadingDisplayDuration -\n (Date.now() - this.timerStarted)\n )\n : (this.loading = false);\n }\n this.updating &&= false;\n }\n\n @Watch(\"globalRowHeight\")\n @Watch(\"variableRowHeight\")\n rowHeightChangeHandler(): void {\n this.dataTruncation();\n\n const deleteTextWrapKey = (array: any[]) =>\n array.forEach((val) => val.textWrap && delete val.textWrap);\n deleteTextWrapKey(this.data);\n deleteTextWrapKey(this.columns);\n\n this.icRowHeightChange.emit();\n }\n\n /**\n * Resets the `globalRowHeight` prop to `40px` and sets the `variableRowHeight` prop to `null`.\n */\n @Method()\n async resetRowHeights(): Promise<void> {\n this.globalRowHeight = 40;\n this.variableRowHeight = null;\n }\n\n private showLoadingIndicator() {\n this.loadingIndicator.classList.add(\"show\");\n }\n\n private startLoadingTimer = (): void => {\n this.hasLoadedForOneSecond = false;\n this.timerStarted = Date.now();\n setTimeout(() => {\n this.hasLoadedForOneSecond = true;\n this.timerStarted = null;\n }, this.minimumLoadingDisplayDuration);\n };\n\n private isObject = (value: any) => typeof value === \"object\";\n\n private notDefaultDensity = () => this.density !== \"default\";\n\n private getCellContent = (\n cell: any,\n dataType: IcDataTableColumnDataTypes\n ): any => {\n switch (dataType) {\n case \"element\":\n return undefined;\n case \"date\":\n return (\n cell instanceof Date ? cell : new Date(cell)\n ).toLocaleDateString();\n default:\n return cell;\n }\n };\n\n private getCellAlignment = (\n cell: any,\n alignment: \"horizontal\" | \"vertical\"\n ) => {\n if (this.isObject(cell) && Object.keys(cell).includes(\"cellAlignment\")) {\n return this.getObjectValue(\n this.getObjectValue(cell, \"cellAlignment\"),\n alignment\n );\n }\n };\n\n private createUpdatingIndicator = () => {\n const { appearance, description, max, min, progress } =\n this.updatingOptions || {};\n return (\n <th colSpan={this.columns.length} class=\"updating-state\">\n <ic-loading-indicator\n appearance={appearance}\n description={description || \"Updating table data\"}\n fullWidth={true}\n max={max}\n min={min}\n progress={progress}\n type=\"linear\"\n size=\"small\"\n ></ic-loading-indicator>\n </th>\n );\n };\n\n private setRowHeight = (height: number) => {\n return pxToRem(\n `${\n height * this.DENSITY_HEIGHT_MULTIPLIER[this.density] -\n this.DENSITY_PADDING_HEIGHT_DIFF[this.density]\n }px`\n );\n };\n\n private createCells = (row: object, rowIndex: number) => {\n // Get the name of the row??\n const rowValues = Object.values(row);\n const rowKeys = Object.keys(row);\n const rowTextWrapIndex = rowKeys.indexOf(\"textWrap\");\n const rowTextWrap = rowTextWrapIndex > -1 && rowValues[rowTextWrapIndex];\n let rowAlignment: string;\n let rowEmphasis: string;\n const headerIndex = rowKeys.indexOf(\"header\");\n if (headerIndex > -1) {\n rowAlignment = this.getObjectValue(\n rowValues[headerIndex],\n \"rowAlignment\"\n );\n rowEmphasis = this.getObjectValue(rowValues[headerIndex], \"emphasis\");\n }\n return rowValues.map((cell, index) => {\n const { columnAlignment, dataType, emphasis, icon, key, textWrap } =\n this.columns[index] || {};\n const cellSlotName = `${key}-${rowIndex}`;\n const hasIcon = this.isObject(cell) && Object.keys(cell).includes(\"icon\");\n const isNotElement = dataType !== \"element\";\n const cellValue = (key: string) => this.getObjectValue(cell, key);\n\n return (\n key &&\n (rowKeys[index] === \"header\" ? (\n <th\n scope=\"row\"\n colSpan={cellValue(\"colspan\")}\n class={{\n [\"row-header\"]: true,\n [`row-header-alignment-${cellValue(\"cellAlignment\")}`]:\n !!cellValue(\"cellAlignment\"),\n [\"row-header-sticky\"]: this.stickyRowHeaders,\n }}\n >\n {cellValue(\"title\")}\n </th>\n ) : (\n <td\n class={{\n [\"table-cell\"]: true,\n [`table-density-${this.density}`]: this.notDefaultDensity(),\n [`data-type-${dataType}-cell`]: true,\n [`cell-alignment-${\n columnAlignment?.vertical ||\n rowAlignment ||\n this.getCellAlignment(cell, \"vertical\")\n }`]:\n !!columnAlignment?.vertical ||\n !!rowAlignment ||\n !!this.getCellAlignment(cell, \"vertical\"),\n }}\n >\n <div\n innerHTML={\n dataType === \"element\" && !isSlotUsed(this.el, cellSlotName)\n ? (cell as string)\n : null\n }\n class={{\n \"cell-container\": isNotElement,\n [`data-type-${dataType}`]: true,\n [`cell-alignment-${\n columnAlignment?.horizontal ||\n this.getCellAlignment(cell, \"horizontal\")\n }`]:\n !!columnAlignment?.horizontal ||\n !!this.getCellAlignment(cell, \"horizontal\"),\n [`cell-alignment-${\n columnAlignment?.vertical ||\n rowAlignment ||\n this.getCellAlignment(cell, \"vertical\")\n }`]:\n !!columnAlignment?.vertical ||\n !!rowAlignment ||\n !!this.getCellAlignment(cell, \"vertical\"),\n }}\n style={{\n height:\n this.currentRowHeight &&\n !rowTextWrap &&\n !textWrap &&\n isNotElement\n ? this.setRowHeight(this.currentRowHeight)\n : null,\n overflowY:\n this.truncationPattern === \"tooltip\" &&\n !(rowTextWrap && textWrap) &&\n isNotElement\n ? \"hidden\"\n : null,\n }}\n >\n {isSlotUsed(this.el, cellSlotName) ? (\n <slot name={cellSlotName} />\n ) : (\n <Fragment>\n {isSlotUsed(this.el, `${cellSlotName}-icon`) ? (\n <slot name={`${cellSlotName}-icon`} />\n ) : (\n (hasIcon || icon?.onAllCells) && (\n <span\n class=\"icon\"\n innerHTML={cellValue(\"icon\") || icon.icon}\n ></span>\n )\n )}\n <ic-typography\n id={cellSlotName}\n variant=\"body\"\n class={{\n [`cell-emphasis-${\n (this.isObject(cell) && cellValue(\"emphasis\")) ||\n emphasis ||\n rowEmphasis\n }`]:\n (this.isObject(cell) && !!cellValue(\"emphasis\")) ||\n !!emphasis ||\n !!rowEmphasis,\n [`text-${this.density}`]: this.notDefaultDensity(),\n }}\n >\n {this.isObject(cell) && dataType !== \"date\" ? (\n Object.keys(cell).includes(\"href\") ? (\n <ic-link href={cellValue(\"href\")}>\n {cellValue(\"data\")}\n </ic-link>\n ) : (\n cellValue(\"data\")\n )\n ) : (\n this.getCellContent(cell, dataType)\n )}\n </ic-typography>\n </Fragment>\n )}\n </div>\n </td>\n ))\n );\n });\n };\n\n private createColumnHeaders = () => {\n return this.columns.map(({ cellAlignment, colspan, icon, key, title }) => (\n <th\n scope=\"col\"\n class={{\n [\"column-header\"]: true,\n [`table-density-${this.density}`]: this.notDefaultDensity(),\n [\"updating-state-headers\"]: this.updating && !this.loading,\n }}\n colSpan={colspan}\n >\n <div\n class={{\n \"column-header-inner-container\": true,\n [`column-header-alignment-${cellAlignment}`]: !!cellAlignment,\n }}\n >\n {isSlotUsed(this.el, `${key}-column-icon`) ? (\n <slot name={`${key}-column-icon`} />\n ) : (\n icon &&\n !icon.hideOnHeader && (\n <span class=\"icon\" innerHTML={icon.icon}></span>\n )\n )}\n <ic-typography\n variant=\"body\"\n class={{\n [\"column-header-text\"]: true,\n [`text-${this.density}`]: this.notDefaultDensity(),\n }}\n >\n {title}\n </ic-typography>\n {this.sortable && (\n <ic-button\n variant=\"icon\"\n id={`sort-button-${key}`}\n aria-label={this.getSortButtonLabel(key)}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => this.sortRows(key)}\n innerHTML={\n this.SORT_ICONS[\n this.sortedColumn === key\n ? this.sortedColumnOrder\n : \"unsorted\"\n ]\n }\n class={{\n [\"sort-button\"]: true,\n [\"sort-button-unsorted\"]:\n this.sortedColumn !== key ||\n this.sortedColumnOrder === \"unsorted\",\n }}\n ></ic-button>\n )}\n </div>\n </th>\n ));\n };\n\n private onRowClick = (target: HTMLElement, row: object) => {\n if (\n target.tagName !== \"IC-TYPOGRAPHY\" &&\n !target.style.getPropertyValue(\"--truncation-max-lines\")\n ) {\n this.selectedRow =\n !(this.selectedRow === row && this.loading && this.updating) && row;\n }\n };\n\n private createRows = () => {\n const data = this.showPagination\n ? this.data.slice(this.fromRow, this.toRow)\n : this.data.slice();\n\n /**\n * Ensures that createCells has a value in data to map over to actually render the slot.\n * Removes the need for the user to add it multiple times.\n */\n this.columns.forEach(({ key }) => {\n data.forEach((row, rowIndex) => {\n const cellSlotName = `${key}-${rowIndex}`;\n if (isSlotUsed(this.el, cellSlotName)) {\n row[key] = getSlotContent(this.el, cellSlotName);\n }\n });\n });\n\n return data\n .sort(!this.sortable ? undefined : this.getSortFunction())\n .map((row, index) => {\n const variableRowHeightVal = this.variableRowHeight?.({\n ...row,\n index,\n });\n this.currentRowHeight = variableRowHeightVal\n ? variableRowHeightVal !== \"auto\" && variableRowHeightVal\n : this.globalRowHeight !== \"auto\" && this.globalRowHeight;\n\n return (\n <tr\n // eslint-disable-next-line react/jsx-no-bind\n onClick={(event: MouseEvent) =>\n this.onRowClick(event.target as HTMLElement, row)\n }\n class={{\n [\"table-row\"]: true,\n [\"table-row-selected\"]: this.selectedRow === row,\n }}\n >\n {this.createCells(row, index)}\n </tr>\n );\n });\n };\n\n private getObjectValue = (cell: object, key: string) => {\n return Object.values(cell)[Object.keys(cell).indexOf(key)];\n };\n\n private getSortButtonLabel = (key: string) => {\n let label = \"\";\n const getNextSortOption = (option: IcDataTableSortOrderOptions) => {\n const sortOrders = this.sortOptions.sortOrders;\n return sortOrders[(sortOrders.indexOf(option) + 1) % sortOrders.length];\n };\n\n if (this.sortedColumn === key) {\n const sortOption = getNextSortOption(this.sortedColumnOrder);\n label = sortOption !== \"unsorted\" ? `Sort ${sortOption}` : \"Remove sort\";\n } else {\n label = `Sort ${getNextSortOption(\"unsorted\")}`;\n }\n\n return label;\n };\n\n private getComparison = (targetRow: any, comparisonRow: any): number => {\n const targetRowValue = targetRow[this.sortedColumn];\n const comparisonRowValue = comparisonRow[this.sortedColumn];\n return this.columns.find((col) => col.key === this.sortedColumn)\n .dataType === \"date\"\n ? new Date(targetRowValue).valueOf() -\n new Date(comparisonRowValue).valueOf()\n : String(\n this.isObject(targetRowValue)\n ? Object.values(targetRowValue)[0]\n : targetRowValue\n ).localeCompare(\n String(\n this.isObject(comparisonRowValue)\n ? Object.values(comparisonRowValue)[0]\n : comparisonRowValue\n ),\n undefined,\n { numeric: true, sensitivity: \"base\" }\n );\n };\n\n private getSortFunction = () => {\n switch (this.sortedColumnOrder) {\n case \"ascending\":\n return (a: any, b: any) => this.getComparison(a, b);\n case \"descending\":\n return (a: any, b: any) => this.getComparison(b, a);\n default:\n return undefined;\n }\n };\n\n private sortRows = (column: string) => {\n const sortButton = this.el.shadowRoot.querySelector(\n `#sort-button-${column}`\n ) as HTMLIcButtonElement;\n this.dataIsSorted = true;\n const sortOrders = this.sortOptions.sortOrders;\n\n if (column !== this.sortedColumn) {\n if (this.sortedColumn) {\n const previousSortedButton = this.el.shadowRoot.querySelector(\n `#sort-button-${this.sortedColumn}`\n ) as HTMLIcButtonElement;\n previousSortedButton.setAttribute(\n \"aria-label\",\n this.getSortButtonLabel(column)\n ); // Passing through unsorted column returns correct label for newly unsorted column\n }\n this.sortedColumn = column;\n this.sortedColumnOrder = \"unsorted\";\n }\n\n let nextSortOrderIndex = sortOrders.indexOf(this.sortedColumnOrder) + 1;\n\n if (nextSortOrderIndex > sortOrders.length - 1) {\n nextSortOrderIndex = 0;\n }\n\n this.sortedColumnOrder = sortOrders[nextSortOrderIndex];\n\n sortButton.setAttribute(\"aria-label\", this.getSortButtonLabel(column));\n };\n\n private updateScrollOffset = () => {\n this.scrollOffset = this.el.shadowRoot.querySelector(\n \".table-row-container\"\n ).scrollTop;\n };\n\n render() {\n const {\n caption,\n createColumnHeaders,\n createRows,\n createUpdatingIndicator,\n data,\n hideColumnHeaders,\n loading,\n loadingOptions,\n paginationOptions,\n scrollable,\n scrollOffset,\n showPagination,\n sortable,\n sortedColumnOrder,\n sortedColumn,\n stickyColumnHeaders,\n updateScrollOffset,\n updating,\n } = this;\n\n return (\n <div class=\"table-container\">\n {isSlotUsed(this.el, \"title-bar\") && <slot name=\"title-bar\" />}\n <div\n class={{\n [\"table-row-container\"]: true,\n scrollable,\n }}\n tabIndex={scrollable ? 0 : null}\n onScroll={updateScrollOffset}\n >\n {isSlotUsed(this.el, \"title-bar\") && <slot name=\"title-bar\" />}\n <table>\n <caption class=\"table-caption\">{caption}</caption>\n {!hideColumnHeaders && (\n <thead\n class={{\n [\"column-header-sticky\"]: stickyColumnHeaders,\n [\"column-header-overlay\"]:\n stickyColumnHeaders && scrollOffset !== 0,\n }}\n >\n <tr>{createColumnHeaders()}</tr>\n </thead>\n )}\n {updating &&\n !loading &&\n (hideColumnHeaders ? (\n <thead>{createUpdatingIndicator()}</thead>\n ) : (\n createUpdatingIndicator()\n ))}\n {data?.length > 0 && !loading && <tbody>{createRows()}</tbody>}\n </table>\n {!data?.length &&\n !loading &&\n (isSlotUsed(this.el, \"empty-state\") ? (\n <slot name=\"empty-state\" />\n ) : (\n <ic-empty-state\n aligned=\"center\"\n heading=\"No Data\"\n class=\"loading-empty\"\n ></ic-empty-state>\n ))}\n </div>\n {loading && (\n <ic-loading-indicator\n appearance={loadingOptions?.appearance}\n class={{\n \"loading-empty\": loading,\n loading: true,\n \"show-background\": loadingOptions.showBackground,\n }}\n description={loadingOptions.description || \"Loading table data\"}\n label={loadingOptions.label || \"Loading...\"}\n labelDuration={loadingOptions?.labelDuration}\n max={loadingOptions?.max}\n min={loadingOptions?.min}\n progress={loadingOptions?.progress}\n ref={(el: HTMLIcLoadingIndicatorElement) =>\n (this.loadingIndicator = el)\n }\n ></ic-loading-indicator>\n )}\n {showPagination && (\n <div class=\"pagination-container\">\n <ic-pagination-bar\n totalItems={data.length}\n paginationType={paginationOptions.type}\n paginationControl={paginationOptions.control}\n showItemsPerPageControl={paginationOptions.itemsPerPageControl}\n showGoToPageControl={paginationOptions.goToPageControl}\n itemsPerPageOptions={paginationOptions.itemsPerPage}\n alignment={paginationOptions.alignment}\n ></ic-pagination-bar>\n </div>\n )}\n {sortable && (\n <div class=\"screen-reader-sort-text\" aria-live=\"polite\">\n {sortedColumnOrder !== \"unsorted\" && sortedColumn\n ? `${sortedColumn} sorted ${sortedColumnOrder}`\n : \"table unsorted\"}\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,h as i,H as e,g as s,c as a}from"./p-8455d1bb.js";import{i as n,a as l}from"./p-9caf19eb.js";import{m as o}from"./p-96b3e7e2.js";import"./p-fd186591.js";const h=":host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.right),:host(.right) .action-area{align-items:flex-end;text-align:right}:host(.center),:host(.center) .action-area{align-items:center;text-align:center}:host(.image-default) ::slotted(svg),:host(.image-default) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}";const r=class{constructor(i){t(this,i);this.aligned="left";this.body=undefined;this.bodyMaxLines=undefined;this.heading=undefined;this.imageSize="default";this.subheading=undefined}componentDidLoad(){!n(this.el,"heading")&&l([{prop:this.heading,propName:"heading"}],"Empty State")}render(){const{aligned:t,body:s,bodyMaxLines:a,heading:l,imageSize:o,subheading:h}=this;return i(e,{class:{[`${t}`]:true,[`image-${o}`]:n(this.el,"image")}},n(this.el,"image")&&i("slot",{name:"image"}),i("div",null,i("slot",{name:"heading"},i("ic-typography",{variant:"h4"},l)),i("slot",{name:"subheading"},i("ic-typography",{variant:"subtitle-small"},h)),i("slot",{name:"body"},i("ic-typography",{maxLines:a},s))),n(this.el,"actions")&&i("div",{class:"action-area"},i("slot",{name:"actions"})))}get el(){return s(this)}};r.style=h;const c=":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.pagination-text-default,.pagination-text-dark,.pagination-text-light{white-space:nowrap}.pagination-text-light{color:var(--ic-color-white-text)}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";const p=class{constructor(i){t(this,i);this.icPageChange=a(this,"icPageChange",7);this.icItemsPerPageChange=a(this,"icItemsPerPageChange",7);this.PAGINATION="ic-pagination";this.TEXT_FIELD="ic-text-field";this.TOOLTIP="ic-tooltip";this.PAGE_INPUT_FIELD_ID="go-to-page-input";this.INVALID_PAGE_ERROR="Please enter a valid page";this.NAN_ERROR="Please enter a number";this.resizeObserver=null;this.changeItemsPerPage=()=>{const t=this.el.shadowRoot.querySelector("ic-select");const i=t.value;this.itemsPerPage=i;this.setNumberPages();this.setUpperBound();const e=this.el.shadowRoot.querySelector(this.PAGINATION);if(this.currentPage>this.totalPages){e.setCurrentPage(this.totalPages);this.currentPage=this.totalPages}this.icItemsPerPageChange.emit({value:Number(this.itemsPerPage)});this.icPageChange.emit({value:this.currentPage})};this.changePage=t=>{this.currentPage=t;this.lowerBound=t!==1?(t-1)*Number(this.itemsPerPage)+1:t;this.setUpperBound()};this.goToPage=()=>{const t=this.el.shadowRoot.querySelector(this.TEXT_FIELD);const i=Number(t.value);const e=this.el.shadowRoot.querySelector("ic-tooltip");if(i<=this.totalPages&&i>0){this.changePage(i);const s=this.el.shadowRoot.querySelector(this.PAGINATION);s.setCurrentPage(i);this.currentPage=i;t.value="";this.icPageChange.emit({value:i});e.displayTooltip(false,false);t.validationStatus=""}else{this.inputError=this.INVALID_PAGE_ERROR;t.validationStatus="error";t.setFocus()}};this.handleBlur=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(this.TEXT_FIELD);const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TOOLTIP);if(Number(e.value)<=this.totalPages&&Number(e.value)>0||e.value===""){e.validationStatus=""}s.displayTooltip(false,false)};this.handleFocus=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(this.TEXT_FIELD);const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TOOLTIP);if(e.validationStatus==="error"){s.displayTooltip(true,true)}};this.handleInputChange=()=>{const t=this.el.shadowRoot.querySelector(this.TOOLTIP);const i=this.el.shadowRoot.querySelector(this.TEXT_FIELD);const e=parseInt(i.value);if(e>this.totalPages||e<=0){this.inputError=this.INVALID_PAGE_ERROR;t.displayTooltip(true,true);i.validationStatus="error";i.focus()}};this.handleKeydown=t=>{const i=this.el.shadowRoot.querySelector(this.TOOLTIP);const e=this.el.shadowRoot.querySelector(this.TEXT_FIELD);if(t.key==="Enter"){if(e.validationStatus==="error"){i.displayTooltip(true,true)}else{this.goToPage()}}else{i.displayTooltip(false,false);e.validationStatus=""}};this.handleKeyUp=t=>{const i=this.el.shadowRoot.querySelector(this.TOOLTIP);const e=this.el.shadowRoot.querySelector(this.TEXT_FIELD);const s=parseInt(e.value);if(Number.isNaN(s)&&t.key!=="Backspace"&&t.key!=="Enter"&&t.key!=="Tab"&&t.key!=="Shift"){this.inputError=this.NAN_ERROR;i.displayTooltip(true,false);e.validationStatus="error"}};this.paginationShouldWrap=()=>{const t=this.el.shadowRoot.querySelector(this.PAGINATION);if(this.paginationControl==="simple"){if(t.clientHeight>63){this.paginationWrapped=true}else{this.paginationWrapped=false}}};this.resizeObserverCallback=t=>{if(t-this.paginationWidth>50||t-this.paginationWidth<-50){this.paginationWidth=t;this.paginationShouldWrap()}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const t=this.paginationBarEl.clientWidth;this.resizeObserverCallback(t)}));this.resizeObserver.observe(this.paginationBarEl)};this.setDefaultItemsPerPage=()=>{this.itemsPerPage=this.itemsPerPageOptions[0].value};this.setDefaultItemsPerPageOptions=()=>{this.itemsPerPageOptions=this.totalItems<=100?[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"},{label:"All",value:String(this.totalItems)}]:[{label:"25",value:"25"},{label:"100",value:"100"},{label:"1000",value:"1000"},{label:"All",value:String(this.totalItems)}]};this.setGoToPageInputStyles=()=>{var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(e!==undefined){const t=(i=e===null||e===void 0?void 0:e.shadowRoot)===null||i===void 0?void 0:i.querySelector("input");if(t!==undefined){t.style.textAlign="center";t.style.padding="0"}}};this.setNumberPages=()=>{this.totalPages=Math.ceil(this.totalItems/Number(this.itemsPerPage))};this.setUpperBound=()=>{this.upperBound=Math.min(this.lowerBound+Number(this.itemsPerPage)-1,this.totalItems)};this.trimItemsPerPageOptions=()=>{this.itemsPerPageOptions=this.itemsPerPageOptions.slice(0,3);this.itemsPerPageOptions.push({label:"All",value:String(this.totalItems)});for(let t=0;t<this.itemsPerPageOptions.length-1;t++){if(this.totalItems<=Number(this.itemsPerPageOptions[t].value)){this.itemsPerPageOptions.splice(t,this.itemsPerPageOptions.length-(t+1))}}};this.currentPage=1;this.inputError="Please enter a valid page";this.itemsPerPage=undefined;this.lowerBound=1;this.paginationWidth=undefined;this.paginationWrapped=false;this.totalPages=undefined;this.upperBound=undefined;this.alignment="right";this.appearance="default";this.itemLabel="Item";this.itemsPerPageOptions=undefined;this.paginationControl="simple";this.paginationType="page";this.pageLabel="Page";this.showGoToPageControl=false;this.showItemsPerPage=true;this.showItemsPerPageControl=false;this.totalItems=undefined}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){if(this.itemsPerPageOptions===undefined||this.itemsPerPageOptions===null){this.setDefaultItemsPerPageOptions()}this.trimItemsPerPageOptions();this.setDefaultItemsPerPage();this.setNumberPages();this.setUpperBound()}componentDidLoad(){this.paginationWidth=this.paginationBarEl.clientWidth;o(this.runResizeObserver);this.setGoToPageInputStyles();this.paginationShouldWrap()}pageChangeHandler(t){const i=t.detail.value;this.changePage(i)}render(){const{appearance:t,alignment:e,itemsPerPageOptions:s,PAGE_INPUT_FIELD_ID:a,paginationControl:n,paginationType:l,showItemsPerPage:o,showItemsPerPageControl:h,showGoToPageControl:r}=this;const c=t=>{var i;(i=this.paginationBarEl.querySelector(t))===null||i===void 0?void 0:i.setFocus()};return i("div",{class:{["pagination-bar"]:true,[`pagination-bar-${e}`]:true},ref:t=>this.paginationBarEl=t},(o||h)&&i("div",{class:"item-controls"},h&&i("div",{class:"items-per-page-holder"},i("ic-typography",{class:{[`pagination-text-${t}`]:true,["items-per-page-control-label"]:true},variant:"label",onClick:()=>c("ic-select")},this.itemLabel,"s per ",this.pageLabel.toLowerCase()),i("ic-select",{small:true,label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:s,value:this.itemsPerPage,onIcChange:()=>this.changeItemsPerPage()})),o&&l==="data"?i("ic-typography",{class:{[`pagination-text-${t}`]:true,["item-pagination-label"]:true},variant:"label","aria-live":"polite"},this.lowerBound," - ",this.upperBound," of ",this.totalItems," ",this.itemLabel.toLowerCase(),this.totalItems>1?"s":""):o&&i("ic-typography",{class:{[`pagination-text-${t}`]:true,["page-pagination-label"]:true},variant:"label","aria-live":"polite"},this.pageLabel," ",this.currentPage," of ",this.totalPages)),i("div",{class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},i("div",{class:"pagination-holder"},i("ic-pagination",{appearance:t,type:n,pages:this.totalPages})),r&&i("div",{class:"go-to-page-holder"},i("ic-typography",{class:{[`pagination-text-${t}`]:true},variant:"label",onClick:()=>c("ic-text-field")},"Go to ",this.pageLabel.toLowerCase()),i("ic-tooltip",{label:this.inputError,target:`#${a}`,disableHover:true,disableClick:true,placement:"top"},i("ic-text-field",{type:"number",size:"small",label:a,class:a,id:a,hideLabel:true,onKeyDown:t=>this.handleKeydown(t),onKeyUp:t=>this.handleKeyUp(t),onInput:()=>this.handleInputChange(),max:this.totalPages,min:"1",validationInlineInternal:true,onBlur:()=>this.handleBlur(),onFocus:()=>this.handleFocus()})),i("ic-button",{appearance:t,variant:"secondary",onClick:()=>this.goToPage(),size:"small",class:"go-to-page-button"},"Go"))))}get el(){return s(this)}};p.style=c;export{r as ic_empty_state,p as ic_pagination_bar};
|
2
|
-
//# sourceMappingURL=p-7267fe19.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icEmptyStateCss","EmptyState","constructor","hostRef","this","aligned","body","undefined","bodyMaxLines","heading","imageSize","subheading","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","propName","render","h","Host","class","name","variant","maxLines","icPaginationBarCss","PaginationBar","PAGINATION","TEXT_FIELD","TOOLTIP","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","NAN_ERROR","resizeObserver","changeItemsPerPage","select","shadowRoot","querySelector","value","itemsPerPage","setNumberPages","setUpperBound","pagination","currentPage","totalPages","setCurrentPage","icItemsPerPageChange","emit","Number","icPageChange","changePage","page","lowerBound","goToPage","input","tooltip","displayTooltip","validationStatus","inputError","setFocus","handleBlur","textField","_a","_b","handleFocus","handleInputChange","inputValue","parseInt","focus","handleKeydown","ev","key","handleKeyUp","isNaN","paginationShouldWrap","paginationControl","clientHeight","paginationWrapped","resizeObserverCallback","currSize","paginationWidth","runResizeObserver","ResizeObserver","paginationBarEl","clientWidth","observe","setDefaultItemsPerPage","itemsPerPageOptions","setDefaultItemsPerPageOptions","totalItems","label","String","setGoToPageInputStyles","style","textAlign","padding","Math","ceil","upperBound","min","trimItemsPerPageOptions","slice","push","i","length","splice","disconnectedCallback","disconnect","componentWillLoad","checkResizeObserver","pageChangeHandler","detail","appearance","alignment","paginationType","showItemsPerPage","showItemsPerPageControl","showGoToPageControl","focusElFromLabel","ref","onClick","itemLabel","pageLabel","toLowerCase","small","hideLabel","options","onIcChange","type","pages","target","disableHover","disableClick","placement","size","id","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus"],"sources":["../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.right),\n:host(.right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.center),\n:host(.center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-default) ::slotted(svg),\n:host(.image-default) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n","import { h, Host } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.aligned = \"left\";\n this.body = undefined;\n this.bodyMaxLines = undefined;\n this.heading = undefined;\n this.imageSize = \"default\";\n this.subheading = undefined;\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n }\n render() {\n const { aligned, body, bodyMaxLines, heading, imageSize, subheading } = this;\n return (h(Host, { class: {\n [`${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { name: \"image\" }), h(\"div\", null, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\" }, heading)), h(\"slot\", { name: \"subheading\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, subheading)), h(\"slot\", { name: \"body\" }, h(\"ic-typography\", { maxLines: bodyMaxLines }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { class: \"action-area\" }, h(\"slot\", { name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\"\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The body text rendered in the empty state container.\"\n },\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"bodyMaxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"attribute\": \"body-max-lines\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title rendered in the empty state container.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the image or icon used in the image slot.\"\n },\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subtitle rendered in the empty state container.\"\n },\n \"attribute\": \"subheading\",\n \"reflect\": false\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.pagination-text-default,\n.pagination-text-dark,\n.pagination-text-light {\n white-space: nowrap;\n}\n\n.pagination-text-light {\n color: var(--ic-color-white-text);\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n} from \"@stencil/core\";\nimport { IcThemeForeground } from \"@ukic/web-components/dist/types/interface\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationControlTypes,\n IcPaginationTypes,\n} from \"../ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGINATION = \"ic-pagination\";\n private TEXT_FIELD = \"ic-text-field\";\n private TOOLTIP = \"ic-tooltip\";\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n private NAN_ERROR = \"Please enter a number\";\n\n private resizeObserver: ResizeObserver = null;\n private paginationBarEl: HTMLElement;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() currentPage: number = 1;\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: string;\n\n @State() lowerBound: number = 1;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * Sets the styling for the items in the pagination bar.\n */\n @Prop() appearance?: IcThemeForeground = \"default\";\n\n /**\n * The label which will be used in place of 'items' if paginationType is data. Should be capitalised.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n /**\n * The options which will be displayed for 'items per page' select input. Set a maximum of 4 options including a required 'All' option with value equal to total number of items.\n */\n @Prop({ mutable: true }) itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() paginationControl?: IcPaginationControlTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() paginationType?: IcPaginationTypes = \"page\";\n\n /**\n * The label which will be used in place of 'Page' if paginationType is page. Should be capitalised.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page should be displayed.\n */\n @Prop() showItemsPerPage?: boolean = true;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n */\n @Event() icPageChange: EventEmitter<{ value: number }>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n if (\n this.itemsPerPageOptions === undefined ||\n this.itemsPerPageOptions === null\n ) {\n this.setDefaultItemsPerPageOptions();\n }\n this.trimItemsPerPageOptions();\n this.setDefaultItemsPerPage();\n this.setNumberPages();\n this.setUpperBound();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n this.setGoToPageInputStyles();\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n const select = this.el.shadowRoot.querySelector(\"ic-select\");\n const value = select.value;\n this.itemsPerPage = value;\n this.setNumberPages();\n this.setUpperBound();\n const pagination = this.el.shadowRoot.querySelector(\n this.PAGINATION\n ) as HTMLIcPaginationElement;\n if (this.currentPage > this.totalPages) {\n pagination.setCurrentPage(this.totalPages);\n this.currentPage = this.totalPages;\n }\n this.icItemsPerPageChange.emit({ value: Number(this.itemsPerPage) });\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private changePage = (page: number) => {\n this.currentPage = page;\n this.lowerBound =\n page !== 1 ? (page - 1) * Number(this.itemsPerPage) + 1 : page;\n this.setUpperBound();\n };\n\n private goToPage = () => {\n const input = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const page = Number(input.value);\n const tooltip = this.el.shadowRoot.querySelector(\"ic-tooltip\");\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n const pagination = this.el.shadowRoot.querySelector(\n this.PAGINATION\n ) as HTMLIcPaginationElement;\n pagination.setCurrentPage(page);\n this.currentPage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n tooltip.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.inputError = this.INVALID_PAGE_ERROR;\n input.validationStatus = \"error\";\n input.setFocus();\n }\n };\n\n private handleBlur = () => {\n const textField = this.el.shadowRoot?.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const tooltip = this.el.shadowRoot?.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n tooltip.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n const textField = this.el.shadowRoot?.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const tooltip = this.el.shadowRoot?.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n if (textField.validationStatus === \"error\") {\n tooltip.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const tooltip = this.el.shadowRoot.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n const textField = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const inputValue = parseInt(textField.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.inputError = this.INVALID_PAGE_ERROR;\n tooltip.displayTooltip(true, true);\n textField.validationStatus = \"error\";\n textField.focus();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const tooltip = this.el.shadowRoot.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n const textField = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n\n if (ev.key === \"Enter\") {\n if (textField.validationStatus === \"error\") {\n tooltip.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n tooltip.displayTooltip(false, false);\n textField.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n const tooltip = this.el.shadowRoot.querySelector(\n this.TOOLTIP\n ) as HTMLIcTooltipElement;\n const textField = this.el.shadowRoot.querySelector(\n this.TEXT_FIELD\n ) as HTMLIcTextFieldElement;\n const inputValue = parseInt(textField.value);\n\n if (\n Number.isNaN(inputValue) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.inputError = this.NAN_ERROR;\n tooltip.displayTooltip(true, false);\n textField.validationStatus = \"error\";\n }\n };\n\n private paginationShouldWrap = () => {\n const pagination = this.el.shadowRoot.querySelector(\n this.PAGINATION\n ) as HTMLIcPaginationElement;\n if (this.paginationControl === \"simple\") {\n if (pagination.clientHeight > 63) {\n this.paginationWrapped = true;\n } else {\n this.paginationWrapped = false;\n }\n }\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (\n currSize - this.paginationWidth > 50 ||\n currSize - this.paginationWidth < -50\n ) {\n this.paginationWidth = currSize;\n this.paginationShouldWrap();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = this.paginationBarEl.clientWidth;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setDefaultItemsPerPage = () => {\n this.itemsPerPage = this.itemsPerPageOptions[0].value;\n };\n\n private setDefaultItemsPerPageOptions = () => {\n this.itemsPerPageOptions =\n this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n { label: \"All\", value: String(this.totalItems) },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n { label: \"All\", value: String(this.totalItems) },\n ];\n };\n\n private setGoToPageInputStyles = () => {\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField !== undefined) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input !== undefined) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n };\n\n private setNumberPages = () => {\n this.totalPages = Math.ceil(this.totalItems / Number(this.itemsPerPage));\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + Number(this.itemsPerPage) - 1,\n this.totalItems\n );\n };\n\n private trimItemsPerPageOptions = () => {\n this.itemsPerPageOptions = this.itemsPerPageOptions.slice(0, 3);\n this.itemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n for (let i = 0; i < this.itemsPerPageOptions.length - 1; i++) {\n if (this.totalItems <= Number(this.itemsPerPageOptions[i].value)) {\n this.itemsPerPageOptions.splice(\n i,\n this.itemsPerPageOptions.length - (i + 1)\n );\n }\n }\n };\n\n render() {\n const {\n appearance,\n alignment,\n itemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n paginationControl,\n paginationType,\n showItemsPerPage,\n showItemsPerPageControl,\n showGoToPageControl,\n } = this;\n\n const focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n return (\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(showItemsPerPage || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={() => focusElFromLabel(\"ic-select\")}\n >\n {this.itemLabel}s per {this.pageLabel.toLowerCase()}\n </ic-typography>\n <ic-select\n small\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={itemsPerPageOptions}\n value={this.itemsPerPage}\n onIcChange={() => this.changeItemsPerPage()}\n ></ic-select>\n </div>\n )}\n {showItemsPerPage && paginationType === \"data\" ? (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.lowerBound} - {this.upperBound} of {this.totalItems}{\" \"}\n {this.itemLabel.toLowerCase()}\n {this.totalItems > 1 ? \"s\" : \"\"}\n </ic-typography>\n ) : (\n showItemsPerPage && (\n <ic-typography\n class={{\n [`pagination-text-${appearance}`]: true,\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.pageLabel} {this.currentPage} of {this.totalPages}\n </ic-typography>\n )\n )}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n appearance={appearance}\n type={paginationControl}\n pages={this.totalPages}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n class={{ [`pagination-text-${appearance}`]: true }}\n variant=\"label\"\n onClick={() => focusElFromLabel(\"ic-text-field\")}\n >\n Go to {this.pageLabel.toLowerCase()}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n placement=\"top\"\n >\n <ic-text-field\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={(ev: KeyboardEvent) => this.handleKeydown(ev)}\n onKeyUp={(ev: KeyboardEvent) => this.handleKeyUp(ev)}\n onInput={() => this.handleInputChange()}\n max={this.totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={() => this.handleBlur()}\n onFocus={() => this.handleFocus()}\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={appearance}\n variant=\"secondary\"\n onClick={() => this.goToPage()}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"uKAAA,MAAMA,EAAkB,21B,MCSXC,EAAU,MACnB,WAAAC,CAAAC,G,UACIC,KAAKC,QAAU,OACfD,KAAKE,KAAOC,UACZH,KAAKI,aAAeD,UACpBH,KAAKK,QAAUF,UACfH,KAAKM,UAAY,UACjBN,KAAKO,WAAaJ,S,CAEtB,gBAAAK,IACKC,EAAWT,KAAKU,GAAI,YACjBC,EAAiC,CAAC,CAAEC,KAAMZ,KAAKK,QAASQ,SAAU,YAAc,c,CAExF,MAAAC,GACI,MAAMb,QAAEA,EAAOC,KAAEA,EAAIE,aAAEA,EAAYC,QAAEA,EAAOC,UAAEA,EAASC,WAAEA,GAAeP,KACxE,OAAQe,EAAEC,EAAM,CAAEC,MAAO,CACjB,CAAC,GAAGhB,KAAY,KAChB,CAAC,SAASK,KAAcG,EAAWT,KAAKU,GAAI,WAC3CD,EAAWT,KAAKU,GAAI,UAAYK,EAAE,OAAQ,CAAEG,KAAM,UAAYH,EAAE,MAAO,KAAMA,EAAE,OAAQ,CAAEG,KAAM,WAAaH,EAAE,gBAAiB,CAAEI,QAAS,MAAQd,IAAWU,EAAE,OAAQ,CAAEG,KAAM,cAAgBH,EAAE,gBAAiB,CAAEI,QAAS,kBAAoBZ,IAAcQ,EAAE,OAAQ,CAAEG,KAAM,QAAUH,EAAE,gBAAiB,CAAEK,SAAUhB,GAAgBF,KAASO,EAAWT,KAAKU,GAAI,YAAeK,EAAE,MAAO,CAAEE,MAAO,eAAiBF,EAAE,OAAQ,CAAEG,KAAM,a,qCC3B5b,MAAMG,EAAqB,mkD,MCuBdC,EAAa,M,+HAChBtB,KAAAuB,WAAa,gBACbvB,KAAAwB,WAAa,gBACbxB,KAAAyB,QAAU,aACVzB,KAAA0B,oBAAsB,mBAEtB1B,KAAA2B,mBAAqB,4BACrB3B,KAAA4B,UAAY,wBAEZ5B,KAAA6B,eAAiC,KAyHjC7B,KAAA8B,mBAAqB,KAC3B,MAAMC,EAAS/B,KAAKU,GAAGsB,WAAWC,cAAc,aAChD,MAAMC,EAAQH,EAAOG,MACrBlC,KAAKmC,aAAeD,EACpBlC,KAAKoC,iBACLpC,KAAKqC,gBACL,MAAMC,EAAatC,KAAKU,GAAGsB,WAAWC,cACpCjC,KAAKuB,YAEP,GAAIvB,KAAKuC,YAAcvC,KAAKwC,WAAY,CACtCF,EAAWG,eAAezC,KAAKwC,YAC/BxC,KAAKuC,YAAcvC,KAAKwC,U,CAE1BxC,KAAK0C,qBAAqBC,KAAK,CAAET,MAAOU,OAAO5C,KAAKmC,gBACpDnC,KAAK6C,aAAaF,KAAK,CAAET,MAAOlC,KAAKuC,aAAc,EAG7CvC,KAAA8C,WAAcC,IACpB/C,KAAKuC,YAAcQ,EACnB/C,KAAKgD,WACHD,IAAS,GAAKA,EAAO,GAAKH,OAAO5C,KAAKmC,cAAgB,EAAIY,EAC5D/C,KAAKqC,eAAe,EAGdrC,KAAAiD,SAAW,KACjB,MAAMC,EAAQlD,KAAKU,GAAGsB,WAAWC,cAC/BjC,KAAKwB,YAEP,MAAMuB,EAAOH,OAAOM,EAAMhB,OAC1B,MAAMiB,EAAUnD,KAAKU,GAAGsB,WAAWC,cAAc,cACjD,GAAIc,GAAQ/C,KAAKwC,YAAcO,EAAO,EAAG,CACvC/C,KAAK8C,WAAWC,GAChB,MAAMT,EAAatC,KAAKU,GAAGsB,WAAWC,cACpCjC,KAAKuB,YAEPe,EAAWG,eAAeM,GAC1B/C,KAAKuC,YAAcQ,EACnBG,EAAMhB,MAAQ,GACdlC,KAAK6C,aAAaF,KAAK,CAAET,MAAOa,IAChCI,EAAQC,eAAe,MAAO,OAC9BF,EAAMG,iBAAmB,E,KACpB,CACLrD,KAAKsD,WAAatD,KAAK2B,mBACvBuB,EAAMG,iBAAmB,QACzBH,EAAMK,U,GAIFvD,KAAAwD,WAAa,K,QACnB,MAAMC,GAAYC,EAAA1D,KAAKU,GAAGsB,cAAU,MAAA0B,SAAA,SAAAA,EAAEzB,cACpCjC,KAAKwB,YAEP,MAAM2B,GAAUQ,EAAA3D,KAAKU,GAAGsB,cAAU,MAAA2B,SAAA,SAAAA,EAAE1B,cAClCjC,KAAKyB,SAEP,GACGmB,OAAOa,EAAUvB,QAAUlC,KAAKwC,YAC/BI,OAAOa,EAAUvB,OAAS,GAC5BuB,EAAUvB,QAAU,GACpB,CACAuB,EAAUJ,iBAAmB,E,CAE/BF,EAAQC,eAAe,MAAO,MAAM,EAG9BpD,KAAA4D,YAAc,K,QACpB,MAAMH,GAAYC,EAAA1D,KAAKU,GAAGsB,cAAU,MAAA0B,SAAA,SAAAA,EAAEzB,cACpCjC,KAAKwB,YAEP,MAAM2B,GAAUQ,EAAA3D,KAAKU,GAAGsB,cAAU,MAAA2B,SAAA,SAAAA,EAAE1B,cAClCjC,KAAKyB,SAEP,GAAIgC,EAAUJ,mBAAqB,QAAS,CAC1CF,EAAQC,eAAe,KAAM,K,GAIzBpD,KAAA6D,kBAAoB,KAC1B,MAAMV,EAAUnD,KAAKU,GAAGsB,WAAWC,cACjCjC,KAAKyB,SAEP,MAAMgC,EAAYzD,KAAKU,GAAGsB,WAAWC,cACnCjC,KAAKwB,YAEP,MAAMsC,EAAaC,SAASN,EAAUvB,OAEtC,GAAI4B,EAAa9D,KAAKwC,YAAcsB,GAAc,EAAG,CACnD9D,KAAKsD,WAAatD,KAAK2B,mBACvBwB,EAAQC,eAAe,KAAM,MAC7BK,EAAUJ,iBAAmB,QAC7BI,EAAUO,O,GAINhE,KAAAiE,cAAiBC,IACvB,MAAMf,EAAUnD,KAAKU,GAAGsB,WAAWC,cACjCjC,KAAKyB,SAEP,MAAMgC,EAAYzD,KAAKU,GAAGsB,WAAWC,cACnCjC,KAAKwB,YAGP,GAAI0C,EAAGC,MAAQ,QAAS,CACtB,GAAIV,EAAUJ,mBAAqB,QAAS,CAC1CF,EAAQC,eAAe,KAAM,K,KACxB,CACLpD,KAAKiD,U,MAEF,CACLE,EAAQC,eAAe,MAAO,OAC9BK,EAAUJ,iBAAmB,E,GAIzBrD,KAAAoE,YAAeF,IACrB,MAAMf,EAAUnD,KAAKU,GAAGsB,WAAWC,cACjCjC,KAAKyB,SAEP,MAAMgC,EAAYzD,KAAKU,GAAGsB,WAAWC,cACnCjC,KAAKwB,YAEP,MAAMsC,EAAaC,SAASN,EAAUvB,OAEtC,GACEU,OAAOyB,MAAMP,IACbI,EAAGC,MAAQ,aACXD,EAAGC,MAAQ,SACXD,EAAGC,MAAQ,OACXD,EAAGC,MAAQ,QACX,CACAnE,KAAKsD,WAAatD,KAAK4B,UACvBuB,EAAQC,eAAe,KAAM,OAC7BK,EAAUJ,iBAAmB,O,GAIzBrD,KAAAsE,qBAAuB,KAC7B,MAAMhC,EAAatC,KAAKU,GAAGsB,WAAWC,cACpCjC,KAAKuB,YAEP,GAAIvB,KAAKuE,oBAAsB,SAAU,CACvC,GAAIjC,EAAWkC,aAAe,GAAI,CAChCxE,KAAKyE,kBAAoB,I,KACpB,CACLzE,KAAKyE,kBAAoB,K,IAKvBzE,KAAA0E,uBAA0BC,IAChC,GACEA,EAAW3E,KAAK4E,gBAAkB,IAClCD,EAAW3E,KAAK4E,iBAAmB,GACnC,CACA5E,KAAK4E,gBAAkBD,EACvB3E,KAAKsE,sB,GAIDtE,KAAA6E,kBAAoB,KAC1B7E,KAAK6B,eAAiB,IAAIiD,gBAAe,KACvC,MAAMH,EAAW3E,KAAK+E,gBAAgBC,YACtChF,KAAK0E,uBAAuBC,EAAS,IAGvC3E,KAAK6B,eAAeoD,QAAQjF,KAAK+E,gBAAgB,EAG3C/E,KAAAkF,uBAAyB,KAC/BlF,KAAKmC,aAAenC,KAAKmF,oBAAoB,GAAGjD,KAAK,EAG/ClC,KAAAoF,8BAAgC,KACtCpF,KAAKmF,oBACHnF,KAAKqF,YAAc,IACf,CACE,CAAEC,MAAO,KAAMpD,MAAO,MACtB,CAAEoD,MAAO,KAAMpD,MAAO,MACtB,CAAEoD,MAAO,KAAMpD,MAAO,MACtB,CAAEoD,MAAO,MAAOpD,MAAOqD,OAAOvF,KAAKqF,cAErC,CACE,CAAEC,MAAO,KAAMpD,MAAO,MACtB,CAAEoD,MAAO,MAAOpD,MAAO,OACvB,CAAEoD,MAAO,OAAQpD,MAAO,QACxB,CAAEoD,MAAO,MAAOpD,MAAOqD,OAAOvF,KAAKqF,aACpC,EAGDrF,KAAAwF,uBAAyB,K,QAC/B,MAAM/B,GAAYC,EAAA1D,KAAKU,GAAGsB,cAAU,MAAA0B,SAAA,SAAAA,EAAEzB,cACpC,IAAIjC,KAAK0B,uBAEX,GAAI+B,IAActD,UAAW,CAC3B,MAAM+C,GAAQS,EAAAF,IAAS,MAATA,SAAS,SAATA,EAAWzB,cAAU,MAAA2B,SAAA,SAAAA,EAAE1B,cAAc,SACnD,GAAIiB,IAAU/C,UAAW,CACvB+C,EAAMuC,MAAMC,UAAY,SACxBxC,EAAMuC,MAAME,QAAU,G,IAKpB3F,KAAAoC,eAAiB,KACvBpC,KAAKwC,WAAaoD,KAAKC,KAAK7F,KAAKqF,WAAazC,OAAO5C,KAAKmC,cAAc,EAGlEnC,KAAAqC,cAAgB,KACtBrC,KAAK8F,WAAaF,KAAKG,IACrB/F,KAAKgD,WAAaJ,OAAO5C,KAAKmC,cAAgB,EAC9CnC,KAAKqF,WACN,EAGKrF,KAAAgG,wBAA0B,KAChChG,KAAKmF,oBAAsBnF,KAAKmF,oBAAoBc,MAAM,EAAG,GAC7DjG,KAAKmF,oBAAoBe,KAAK,CAC5BZ,MAAO,MACPpD,MAAOqD,OAAOvF,KAAKqF,cAGrB,IAAK,IAAIc,EAAI,EAAGA,EAAInG,KAAKmF,oBAAoBiB,OAAS,EAAGD,IAAK,CAC5D,GAAInG,KAAKqF,YAAczC,OAAO5C,KAAKmF,oBAAoBgB,GAAGjE,OAAQ,CAChElC,KAAKmF,oBAAoBkB,OACvBF,EACAnG,KAAKmF,oBAAoBiB,QAAUD,EAAI,G,qBApVhB,E,gBAED,4B,4CAIA,E,sDAIQ,M,mEASa,Q,gBAKV,U,eAKZ,O,0DAa0B,S,oBAKV,O,eAKhB,O,yBAKW,M,sBAKH,K,6BAKO,M,0BAiB5C,oBAAAG,GACE,GAAItG,KAAK6B,iBAAmB,KAAM,CAChC7B,KAAK6B,eAAe0E,Y,EAIxB,iBAAAC,GACE,GACExG,KAAKmF,sBAAwBhF,WAC7BH,KAAKmF,sBAAwB,KAC7B,CACAnF,KAAKoF,+B,CAEPpF,KAAKgG,0BACLhG,KAAKkF,yBACLlF,KAAKoC,iBACLpC,KAAKqC,e,CAGP,gBAAA7B,GACER,KAAK4E,gBAAkB5E,KAAK+E,gBAAgBC,YAC5CyB,EAAoBzG,KAAK6E,mBACzB7E,KAAKwF,yBACLxF,KAAKsE,sB,CAIP,iBAAAoC,CAAkBxC,GAChB,MAAMnB,EAAOmB,EAAGyC,OAAOzE,MACvBlC,KAAK8C,WAAWC,E,CAyOlB,MAAAjC,GACE,MAAM8F,WACJA,EAAUC,UACVA,EAAS1B,oBACTA,EAAmBzD,oBACnBA,EAAmB6C,kBACnBA,EAAiBuC,eACjBA,EAAcC,iBACdA,EAAgBC,wBAChBA,EAAuBC,oBACvBA,GACEjH,KAEJ,MAAMkH,EAAoBxG,I,OACxBgD,EAAA1D,KAAK+E,gBAAgB9C,cAAcvB,MAAG,MAAAgD,SAAA,SAAAA,EAAEH,UAAU,EAGpD,OACExC,EAAA,OACEE,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,kBAAkB4F,KAAc,MAEnCM,IAAMzG,GAAQV,KAAK+E,gBAAkBrE,IAEnCqG,GAAoBC,IACpBjG,EAAA,OAAKE,MAAM,iBACR+F,GACCjG,EAAA,OAAKE,MAAM,yBACTF,EAAA,iBACEE,MAAO,CACL,CAAC,mBAAmB2F,KAAe,KACnC,CAAC,gCAAiC,MAEpCzF,QAAQ,QACRiG,QAAS,IAAMF,EAAiB,cAE/BlH,KAAKqH,UAAS,SAAQrH,KAAKsH,UAAUC,eAExCxG,EAAA,aACEyG,MAAK,KACLlC,MAAM,uBACNrE,MAAM,uBACNwG,UAAS,KACTC,QAASvC,EACTjD,MAAOlC,KAAKmC,aACZwF,WAAY,IAAM3H,KAAK8B,wBAI5BiF,GAAoBD,IAAmB,OACtC/F,EAAA,iBACEE,MAAO,CACL,CAAC,mBAAmB2F,KAAe,KACnC,CAAC,yBAA0B,MAE7BzF,QAAQ,QAAO,YACL,UAETnB,KAAKgD,WAAU,MAAKhD,KAAK8F,WAAU,OAAM9F,KAAKqF,WAAY,IAC1DrF,KAAKqH,UAAUE,cACfvH,KAAKqF,WAAa,EAAI,IAAM,IAG/B0B,GACEhG,EAAA,iBACEE,MAAO,CACL,CAAC,mBAAmB2F,KAAe,KACnC,CAAC,yBAA0B,MAE7BzF,QAAQ,QAAO,YACL,UAETnB,KAAKsH,UAAS,IAAGtH,KAAKuC,YAAW,OAAMvC,KAAKwC,aAMvDzB,EAAA,OACEE,MAAO,CACL,CAAC,uBAAwB,KACzB,CAAC,4BAA6BjB,KAAKyE,oBAGrC1D,EAAA,OAAKE,MAAM,qBACTF,EAAA,iBACE6F,WAAYA,EACZgB,KAAMrD,EACNsD,MAAO7H,KAAKwC,cAGfyE,GACClG,EAAA,OAAKE,MAAM,qBACTF,EAAA,iBACEE,MAAO,CAAE,CAAC,mBAAmB2F,KAAe,MAC5CzF,QAAQ,QACRiG,QAAS,IAAMF,EAAiB,kBAAgB,SAEzClH,KAAKsH,UAAUC,eAExBxG,EAAA,cACEuE,MAAOtF,KAAKsD,WACZwE,OAAQ,IAAIpG,IACZqG,aAAY,KACZC,aAAY,KACZC,UAAU,OAEVlH,EAAA,iBACE6G,KAAK,SACLM,KAAK,QACL5C,MAAO5D,EACPT,MAAOS,EACPyG,GAAIzG,EACJ+F,UAAS,KACTW,UAAYlE,GAAsBlE,KAAKiE,cAAcC,GACrDmE,QAAUnE,GAAsBlE,KAAKoE,YAAYF,GACjDoE,QAAS,IAAMtI,KAAK6D,oBACpB0E,IAAKvI,KAAKwC,WACVuD,IAAI,IACJyC,yBAAwB,KACxBC,OAAQ,IAAMzI,KAAKwD,aACnBkF,QAAS,IAAM1I,KAAK4D,iBAGxB7C,EAAA,aACE6F,WAAYA,EACZzF,QAAQ,YACRiG,QAAS,IAAMpH,KAAKiD,WACpBiF,KAAK,QACLjH,MAAM,qBAAmB,Q"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icAccordionGroupCss","accordionGroupIds","AccordionGroup","constructor","hostRef","this","accordionGroupId","handleExpanded","areAllAccordionsOpen","expanded","accordions","forEach","acc","setExpandedToAreAllAccordionsOpen","linkAccordions","accordion","setAttribute","every","accordionOpenBtnText","undefined","accessibleButtonLabel","appearance","groupTitle","singleExpansion","size","componentDidLoad","accordionDirectChildren","el","children","Array","from","filter","child","tagName","handleAccordionClicked","event","detail","id","render","h","Host","class","variant","onClick","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-accordion-group/ic-accordion-group.css?tag=ic-accordion-group&encapsulation=shadow","../web-components/dist/collection/components/ic-accordion-group/ic-accordion-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n.group-title-container {\n padding: var(--ic-space-xs);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n:host(.small) .group-title-container {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n}\n\n:host(.large) .group-title-container {\n padding: var(--ic-space-sm) var(--ic-space-xs);\n}\n\n:host(.light) {\n color: var(--ic-architectural-white);\n}\n\n:host(.accordion-group.dark) ::slotted(ic-accordion) {\n color: var(--ic-architectural-white);\n}\n","import { h, Host, } from \"@stencil/core\";\nlet accordionGroupIds = 0;\nexport class AccordionGroup {\n constructor() {\n this.accordionGroupId = `ic-accordion-group-${accordionGroupIds++}`;\n this.handleExpanded = () => {\n if (this.areAllAccordionsOpen) {\n this.expanded = false;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n }\n else {\n this.expanded = true;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n }\n this.setExpandedToAreAllAccordionsOpen();\n };\n this.linkAccordions = () => {\n this.accordions.forEach((accordion) => {\n accordion.setAttribute(\"context-id\", this.accordionGroupId);\n });\n };\n this.setExpandedToAreAllAccordionsOpen = () => {\n this.areAllAccordionsOpen = this.accordions.every((accordion) => !!accordion.expanded);\n };\n this.accordionOpenBtnText = () => {\n return !this.areAllAccordionsOpen ? \"See all\" : \"Hide all\";\n };\n this.accordions = undefined;\n this.areAllAccordionsOpen = undefined;\n this.accessibleButtonLabel = \"accordions\";\n this.appearance = \"default\";\n this.expanded = false;\n this.groupTitle = \"\";\n this.singleExpansion = false;\n this.size = \"default\";\n }\n componentDidLoad() {\n const accordionDirectChildren = this.el.children;\n this.accordions = Array.from(accordionDirectChildren).filter((child) => child.tagName === \"IC-ACCORDION\");\n this.linkAccordions();\n this.accordions.forEach((acc) => {\n acc.appearance = this.appearance;\n });\n this.accordions.forEach((acc) => {\n acc.size = this.size;\n });\n if (this.expanded) {\n this.accordions.forEach((acc) => {\n acc.expanded = true;\n });\n this.setExpandedToAreAllAccordionsOpen();\n }\n else {\n this.setExpandedToAreAllAccordionsOpen();\n this.expanded = this.areAllAccordionsOpen;\n }\n }\n handleAccordionClicked(event) {\n if (!this.singleExpansion) {\n // 'See all' should be visible until all accordions are open, then 'Hide all' should be visible\n this.setExpandedToAreAllAccordionsOpen();\n }\n else {\n this.accordions.forEach((acc) => {\n if (acc.expanded && event.detail.id !== acc.id) {\n acc.expanded = false;\n }\n });\n }\n }\n render() {\n const { appearance, size, groupTitle, singleExpansion, accessibleButtonLabel, } = this;\n return (h(Host, { \"context-id\": this.accordionGroupId, class: {\n [`${appearance}`]: true,\n [`${size}`]: true,\n [\"accordion-group\"]: true,\n } }, h(\"div\", { class: \"group-title-container\" }, h(\"ic-typography\", { variant: \"h4\" }, h(\"h3\", null, groupTitle)), !singleExpansion && (h(\"ic-button\", { appearance: appearance === \"light\" ? \"light\" : \"default\", onClick: this.handleExpanded, variant: \"tertiary\", \"aria-label\": `${this.accordionOpenBtnText()} ${accessibleButtonLabel}` }, this.accordionOpenBtnText()))), h(\"slot\", null)));\n }\n static get is() { return \"ic-accordion-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-accordion-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-accordion-group.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleButtonLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible button label to provide more context to the 'See all/Hide all' button for screen reader users.\"\n },\n \"attribute\": \"accessible-button-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"accordions\\\"\"\n },\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the accordion group, e.g dark, or light.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the accordion will load in an expanded state.\"\n },\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"groupTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The header for the accordion group.\"\n },\n \"attribute\": \"group-title\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"singleExpansion\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, only one accordion will open at a time.\"\n },\n \"attribute\": \"single-expansion\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the accordion.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"accordions\": {},\n \"areAllAccordionsOpen\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"accordionClicked\",\n \"method\": \"handleAccordionClicked\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-accordion-group.js.map\n"],"mappings":"yDAAA,MAAMA,EAAsB,swFCC5B,IAAIC,EAAoB,E,MACXC,EAAc,MACvB,WAAAC,CAAAC,G,UACIC,KAAKC,iBAAmB,sBAAsBL,MAC9CI,KAAKE,eAAiB,KAClB,GAAIF,KAAKG,qBAAsB,CAC3BH,KAAKI,SAAW,MAChBJ,KAAKK,WAAWC,SAASC,IACrBA,EAAIH,SAAWJ,KAAKI,QAAQ,G,KAG/B,CACDJ,KAAKI,SAAW,KAChBJ,KAAKK,WAAWC,SAASC,IACrBA,EAAIH,SAAWJ,KAAKI,QAAQ,G,CAGpCJ,KAAKQ,mCAAmC,EAE5CR,KAAKS,eAAiB,KAClBT,KAAKK,WAAWC,SAASI,IACrBA,EAAUC,aAAa,aAAcX,KAAKC,iBAAiB,GAC7D,EAEND,KAAKQ,kCAAoC,KACrCR,KAAKG,qBAAuBH,KAAKK,WAAWO,OAAOF,KAAgBA,EAAUN,UAAS,EAE1FJ,KAAKa,qBAAuB,KAChBb,KAAKG,qBAAuB,UAAY,WAEpDH,KAAKK,WAAaS,UAClBd,KAAKG,qBAAuBW,UAC5Bd,KAAKe,sBAAwB,aAC7Bf,KAAKgB,WAAa,UAClBhB,KAAKI,SAAW,MAChBJ,KAAKiB,WAAa,GAClBjB,KAAKkB,gBAAkB,MACvBlB,KAAKmB,KAAO,S,CAEhB,gBAAAC,GACI,MAAMC,EAA0BrB,KAAKsB,GAAGC,SACxCvB,KAAKK,WAAamB,MAAMC,KAAKJ,GAAyBK,QAAQC,GAAUA,EAAMC,UAAY,iBAC1F5B,KAAKS,iBACLT,KAAKK,WAAWC,SAASC,IACrBA,EAAIS,WAAahB,KAAKgB,UAAU,IAEpChB,KAAKK,WAAWC,SAASC,IACrBA,EAAIY,KAAOnB,KAAKmB,IAAI,IAExB,GAAInB,KAAKI,SAAU,CACfJ,KAAKK,WAAWC,SAASC,IACrBA,EAAIH,SAAW,IAAI,IAEvBJ,KAAKQ,mC,KAEJ,CACDR,KAAKQ,oCACLR,KAAKI,SAAWJ,KAAKG,oB,EAG7B,sBAAA0B,CAAuBC,GACnB,IAAK9B,KAAKkB,gBAAiB,CAEvBlB,KAAKQ,mC,KAEJ,CACDR,KAAKK,WAAWC,SAASC,IACrB,GAAIA,EAAIH,UAAY0B,EAAMC,OAAOC,KAAOzB,EAAIyB,GAAI,CAC5CzB,EAAIH,SAAW,K,MAK/B,MAAA6B,GACI,MAAMjB,WAAEA,EAAUG,KAAEA,EAAIF,WAAEA,EAAUC,gBAAEA,EAAeH,sBAAEA,GAA2Bf,KAClF,OAAQkC,EAAEC,EAAM,CAAE,aAAcnC,KAAKC,iBAAkBmC,MAAO,CACtD,CAAC,GAAGpB,KAAe,KACnB,CAAC,GAAGG,KAAS,KACb,CAAC,mBAAoB,OACpBe,EAAE,MAAO,CAAEE,MAAO,yBAA2BF,EAAE,gBAAiB,CAAEG,QAAS,MAAQH,EAAE,KAAM,KAAMjB,KAAeC,GAAoBgB,EAAE,YAAa,CAAElB,WAAYA,IAAe,QAAU,QAAU,UAAWsB,QAAStC,KAAKE,eAAgBmC,QAAS,WAAY,aAAc,GAAGrC,KAAKa,0BAA0BE,KAA2Bf,KAAKa,yBAA2BqB,EAAE,OAAQ,M,CAIpY,yBAAWK,GAAmB,OAAO,IAAK,C"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as i,c as t,h as e,H as a,g as o}from"./p-8455d1bb.js";import{i as n,D as s,u as r,c as d,e as c,y as l}from"./p-9caf19eb.js";import{C as v}from"./p-170ddfc2.js";import{O as h}from"./p-ea1ea1b9.js";import"./p-fd186591.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}:host(:focus-within){z-index:var(--ic-z-index-navigation-item)}svg{width:var(--ic-space-xl);fill:var(--ic-theme-text)}.svg{margin-left:auto}.chevron-container svg,.chevron-container .svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chevron-container{flex-grow:1}:host(.expandable.navigation-item) .link,:host(.expandable.navigation-item) ::slotted(a){padding-right:0}:host(.navigation-item) .link,:host(.navigation-item) ::slotted(a){height:calc(100% - var(--ic-space-xxs));width:-moz-fit-content;width:fit-content;color:var(--ic-theme-text);display:flex;align-items:center;justify-content:center;padding:0 var(--ic-space-md) var(--ic-space-xxs);text-decoration:none;transition:var(--ic-easing-transition-fast);position:relative;white-space:nowrap}:host(.navigation-item) ::slotted(a){height:100%;font:var(--ic-font-label) !important;letter-spacing:var(--ic-font-letter-spacing-0pt025) !important;padding:0 var(--ic-space-md) !important}:host(.navigation-item-selected) .link::after,:host(.navigation-item-selected) ::slotted(a.active)::after,:host(.navigation-item-top-nav) ::slotted(a.active)::after{content:"";height:0.25rem;width:100%;position:absolute;bottom:0;background-color:var(--ic-theme-text)}:host(.navigation-item-selected.navigation-item-page-header) ::slotted(a.active)::after,:host(.navigation-item-selected.navigation-item-page-header) .link::after,:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,:host(.navigation-item-top-nav-child) ::slotted(a.active)::after{content:none}:host(.navigation-item-side-menu-selected) .link,:host(.navigation-item-side-menu) ::slotted(a.active),:host(.navigation-item-top-nav-child) ::slotted(a.active){box-shadow:none}:host(.navigation-item) .link:hover:not(:focus){background-color:var(--ic-theme-hover);cursor:pointer}:host(.navigation-item:not(.navigation-item-page-header,.navigation-item-side-menu)) ::slotted(a:hover:not(:focus)){background-color:var(--ic-theme-hover) !important}:host(.navigation-item:not(.navigation-item-top-nav-child,.navigation-item-side-menu,.navigation-item-top-nav-child-selected .navigation-item-side-menu-selected)) .focus-indicator:focus-within{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius)}:host(.navigation-item) .link:focus,:host(.navigation-item) ::slotted(a:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}:host(.navigation-item-selected) .link:focus,:host(.navigation-item) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}:host(.navigation-item-selected.dark) .link:focus,:host(.navigation-item.dark) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}:host(.navigation-item) .link:active:not(:focus),:host(.navigation-item) ::slotted(a:active:not(:focus)){background-color:var(--ic-theme-active)}:host(.navigation-item-side-menu) .link,:host(.navigation-item-side-menu) ::slotted(a){min-height:2.5rem;width:100%;box-sizing:border-box;color:var(--ic-color-primary-text);display:flex;align-items:center;justify-content:flex-start;text-decoration:none;text-wrap:wrap;white-space:normal;transition:box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-fast)}:host(.navigation-item-side-menu) ::slotted(a){font:var(--ic-font-body) !important;letter-spacing:var(--ic-font-letter-spacing-0pt005) !important;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast)}:host(.navigation-item-side-menu) .link:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover)}:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)){background-color:var(--ic-action-dark-bg-hover) !important}:host(.navigation-item-side-menu) .focus-indicator:focus-within{box-shadow:none}:host(.navigation-item-side-menu) .link:focus,:host(.navigation-item-side-menu) ::slotted(a:focus){box-shadow:var(--ic-border-focus-inset) !important;width:auto;border-radius:var(--ic-border-radius-inset) !important}:host(.navigation-item-side-menu-selected) .link,:host(.navigation-item-side-menu-selected) ::slotted(a){transition:box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow)}:host(.navigation-item-side-menu-selected) .link:focus,:host(.navigation-item-side-menu) ::slotted(a.active:focus),:host(.navigation-item-top-nav-child) ::slotted(a.active:focus){margin-left:var(--ic-space-xs) !important;padding-left:var(--ic-space-xs) !important}:host(.navigation-item-top-nav-child) .link,:host(.navigation-item-top-nav-child) ::slotted(a){height:2.5rem;width:-moz-fit-content;width:fit-content;min-width:9.063rem;color:var(--ic-color-primary-text);display:flex;align-items:center;justify-content:flex-start;padding:0 var(--ic-space-md) !important;text-decoration:none;position:relative;transition:box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow)}:host(.navigation-item-top-nav-child) ::slotted(a){font:var(--ic-font-body) !important;letter-spacing:var(--ic-font-letter-spacing-0pt005) !important}:host(.navigation-item-top-nav-child) .link:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover) !important}:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus){background-color:var(--ic-action-dark-bg-hover) !important}:host(.navigation-item-top-nav-child) .link:focus,:host(.navigation-item-top-nav-child) ::slotted(a:focus){z-index:1;outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius-inset);box-shadow:var(--ic-border-focus-inset);transition:border-radius 0s, box-shadow var(--ic-transition-duration-fast)}:host(.navigation-item-top-nav-child) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}:host(.navigation-item-side-menu) .link:active:not(:focus){background-color:var(--ic-action-dark-bg-active)}:host(.navigation-item-top-nav-child) .link:active:not(:focus),:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus){outline:var(--ic-hc-focus-outline);background-color:var(--ic-action-dark-bg-active)}:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus){background-color:var(--ic-action-dark-bg-active) !important}:host(.navigation-item-side-menu-selected) *,:host(.navigation-item-top-nav-child-selected) *,:host(.navigation-item-side-menu) ::slotted(a.active),:host(.navigation-item-top-nav-child) ::slotted(a.active){font-weight:700 !important}:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,:host(.navigation-item-top-nav-child-selected) .link::before,:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu) ::slotted(a.active)::before,:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before{content:"";position:absolute;left:0;width:var(--ic-space-xs);height:inherit;min-height:2.5rem;background-color:var(--ic-action-default);transition:left 0s}:host(.navigation-item-top-nav-child-selected) .link::before,:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu-selected) .link:focus::before{margin-top:0.25rem}:host(.navigation-item-top-nav-child-selected) .link:focus{margin-left:var(--ic-space-xs);margin-right:calc(-1 * var(--ic-space-xs));padding-left:var(--ic-space-xs) !important}:host(.navigation-item-top-nav-child-selected) .link:focus::before{left:calc(-1 * var(--ic-space-xs));z-index:1}:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu) ::slotted(a.active)::before,:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before{z-index:1}:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before{left:calc(-1 * var(--ic-space-xs))}:host(.navigation-item-side-menu-selected) .link::after{display:none}:host(.navigation-item-side-nav-collapsed) .link{height:100%}:host(.navigation-item-side-nav-collapsed) ::slotted(svg),:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg){margin:auto;pointer-events:none}:host(.navigation-item-side-nav-collapsed) .icon,:host(.navigation-item-side-nav-collapsed-with-label) .icon,:host(.navigation-item-side-nav-collapsed-with-label) ic-typography{align-items:center;padding:0;margin:auto 0;width:-moz-fit-content;width:fit-content;pointer-events:none}:host(.navigation-item-side-nav-collapsed-with-label) ic-typography{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}:host(.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;padding:var(--ic-space-xs) !important;gap:var(--ic-space-xxs)}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) ::slotted(a){height:auto !important;gap:0;width:auto;padding:var(--ic-space-xs) !important}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:block;text-align:center}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link ic-typography{opacity:1;min-width:-moz-min-content;min-width:min-content}:host(.navigation-item-side-nav-collapsed) svg,:host(.navigation-item-side-nav-collapsed-with-label) svg{display:none}::slotted(svg){fill:var(--ic-theme-text);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}.icon{height:var(--ic-space-lg);width:var(--ic-space-xxl);margin-left:calc(-1 * var(--ic-space-md));flex:0 1 0%;position:relative}.icon>::slotted(*){margin-left:var(--ic-space-md) !important}:host(.navigation-item-side-nav-collapsed) .icon>::slotted(*){margin:auto !important}:host(.navigation-item-side-nav) .link,:host(.navigation-item-side-nav) ::slotted(a){height:var(--navigation-item-height, 56px);min-height:var(--navigation-item-min-height);width:var(--navigation-item-width, auto);justify-content:var(--navigation-item-justify-content);display:flex;gap:var(--ic-space-xs);box-sizing:border-box;color:var(--navigation-item-child-color) !important;text-decoration:none !important;white-space:nowrap;padding-top:var(--ic-space-md) !important;padding-bottom:var(--ic-space-md) !important;text-wrap:wrap}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a){height:var(--navigation-item-child-height);width:var(--navigation-group-width);color:var(--navigation-item-child-color) !important;display:flex;gap:0.625rem;box-sizing:border-box;min-width:0;transition:box-shadow var(--ic-easing-transition-fast);text-decoration:none !important;white-space:nowrap}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a:focus){box-shadow:var(--ic-border-focus-dark)}:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active{background-color:var(--navigation-item-child-active)}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a:active){background-color:var(--navigation-item-child-active)}:host(.navigation-item-side-nav) a.link ic-typography,:host(.navigation-item-side-nav.navigation-item-top-nav-child) a.link ic-typography,:host(.navigation-item-side-nav) div.link ic-typography,:host(.navigation-item-side-nav.navigation-item-top-nav-child) div.link ic-typography,.navigation-item-side-nav-slotted-text{opacity:var(--navigation-item-label-opacity);transition:opacity var(--ic-easing-transition-slow);white-space:wrap;text-overflow:ellipsis;overflow:hidden}:host(.navigation-item-side-nav.navigation-item-selected) .link,:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active){box-shadow:inset 0.313rem 0 0 var(--ic-theme-text)}:host(.navigation-item-side-nav.navigation-item-selected) .link::before,:host(.navigation-item-side-nav) ::slotted(a.active)::before{content:"";display:block;position:absolute;inset:0 0 0 0.313rem;border-radius:0.688rem !important;transition:var(--ic-easing-transition-slow)}:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before{box-shadow:var(--ic-border-focus-inset)}:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link{opacity:var(--navigation-item-label-opacity);height:auto}:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) ::slotted(a){min-width:var(--navigation-group-item-min-width);padding:var(--ic-space-xs) !important;height:auto;gap:0}:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:block}:host(.navigation-item-side-nav.navigation-item-selected) .link::after,:host(.navigation-item-side-nav) ::slotted(a.active)::after{display:none}:host(.navigation-item-side-nav.navigation-item) .link:focus,:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,:host(.navigation-item-side-nav) ::slotted(a.active:focus){margin:0 auto;box-shadow:inset 0.313rem 0 0 var(--ic-theme-text);border-radius:0}:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus){background-color:var(--ic-theme-hover) !important}:host(.navigation-item-page-header).link,:host(.navigation-item-page-header) a,:host(.navigation-item-page-header) ::slotted(a){height:2.5rem !important;color:var(--ic-color-primary-text) !important;transition:all var(--ic-easing-transition-fast) !important;box-shadow:rgba(23 89 188 / 0%) !important}:host(.navigation-item-page-header.navigation-item-selected) .link::after,:host(.navigation-item-page-header) ::slotted(a.active)::after{content:" " !important;position:absolute;bottom:0;left:0;right:0;height:var(--ic-space-xxs);background-color:var(--ic-action-default) !important}:host(.navigation-item-page-header) .link:hover,:host(.navigation-item-page-header) ::slotted(.link:hover),:host(.navigation-item-page-header) ::slotted(a:hover),:host(.navigation-item-page-header) .link:hover:not(:focus){background-color:var(--ic-action-default-bg-hover) !important;cursor:pointer}:host(.navigation-item-page-header) .link:focus,:host(.navigation-item-page-header) ::slotted(a:focus){box-shadow:var(--ic-border-focus)}:host(.navigation-item-page-header) .link:active,:host(.navigation-item-page-header) ::slotted(a:active){background-color:var(--ic-action-default-bg-active) !important}:host(.navigation-item-page-header.navigation-item-selected) .link:focus::after,:host(.navigation-item-page-header) ::slotted(a.active:focus)::after{border-bottom-left-radius:var(--ic-border-radius);border-bottom-right-radius:var(--ic-border-radius)}:host(.navigation-item-page-header.navigation-item-selected.with-transition) .link,:host(.navigation-item-page-header.navigation-item-selected.with-transition) ::slotted(a.active){transition:all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast)}:host(.navigation-item-page-header) ::slotted(a.active)::before,:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,:host(.navigation-item-page-header.navigation-item-selected) .link:focus::before{display:none}.open-in-new-icon{flex:1}.open-in-new-icon svg{margin-top:var(--ic-space-xxs);padding-left:var(--ic-space-xxs)}:host(.navigation-item-side-nav) .open-in-new-icon{margin-left:calc(-1 * var(--ic-space-xs))}:host(.navigation-item-top-nav) .open-in-new-icon svg,:host(.navigation-item-page-header) .open-in-new-icon svg,:host(.navigation-item-side-nav) .open-in-new-icon svg{height:0.875rem;width:0.875rem}:host(.navigation-item-side-menu) .open-in-new-icon svg,:host(.navigation-item-top-nav-child) .open-in-new-icon svg{height:var(--ic-space-md);width:var(--ic-space-md)}:host(.navigation-item-page-header) .open-in-new-icon svg,:host(.navigation-item-top-nav-child) .open-in-new-icon svg,:host(.navigation-item-side-menu) .open-in-new-icon svg{fill:var(--ic-color-primary-text)}';const g=class{constructor(a){i(this,a);this.childBlur=t(this,"childBlur",7);this.navItemClicked=t(this,"navItemClicked",7);this.isInitialRender=true;this.displayDefaultNavigationItem=(i,t,a,o,s,r,d)=>{const c=this.isTopNavChild||this.inTopNavSideMenu?"body":"label";const l=this.expandable&&e("div",{class:{svg:true},innerHTML:v});const m=this.el.querySelector('[slot="icon"]')&&e("div",{class:"icon"},e("slot",{name:"icon"}),n(this.el,"badge")&&e("slot",{name:"badge"}));if(i!==""){return e("a",{href:i,target:a,rel:o,hreflang:t,referrerPolicy:s,download:r!==false?r:null,class:"link",ref:i=>this.itemEl=i,part:"link"},m,e("ic-typography",{variant:c},d),e("div",{class:"chevron-container"},l),a==="_blank"&&e("span",{class:"open-in-new-icon",innerHTML:h}))}return e("div",{tabindex:"0",class:"link",ref:i=>this.itemEl=i},m,e("ic-typography",{variant:c},d),l)};this.topNavResizedHandler=i=>{const t=i.detail.size;if(t!==this.deviceSize){this.deviceSize=t;this.inTopNavSideMenu=t<=s.L}};this.sideNavExpandHandler=i=>{const{sideNavExpanded:t,sideNavMobile:e}=i.detail;this.sideNavExpanded=t;this.isSideNavMobile=e};this.handleBlur=i=>{if(i.relatedTarget!==null){const t=i.relatedTarget;if(t.tagName==="IC-NAVIGATION-ITEM"){return}}this.childBlur.emit()};this.handleClick=()=>{this.navItemClicked.emit()};this.generateTooltipLabel=()=>{if(this.label){return this.label}if(this.navigationSlot){return this.navigationSlot.textContent}if(this.el.children[0]){return this.el.children[0].textContent}return""};this.renderNavigationItemContent=()=>{if(this.label){return this.displayDefaultNavigationItem(this.href,this.hreflang,this.target,this.rel,this.referrerpolicy,this.download,this.label)}if(this.navigationSlot){return e("slot",{name:"navigation-item"})}return e("slot",null)};this.deviceSize=s.XL;this.focusStyle=r();this.inTopNavSideMenu=false;this.isSideNavMobile=false;this.isTopNavChild=false;this.navigationType=undefined;this.parentEl=undefined;this.sideNavExpanded=false;this.collapsedIconLabel=false;this.displayNavigationTooltip=false;this.download=false;this.expandable=false;this.href="";this.hreflang=undefined;this.label=undefined;this.rel=undefined;this.referrerpolicy=undefined;this.selected=false;this.target=undefined}disconnectedCallback(){if(this.navigationType==="side"){this.parentEl.removeEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.removeEventListener("topNavResized",this.topNavResizedHandler)}}componentWillLoad(){const i=l(this.el);this.navigationType=i.navType;this.parentEl=i.parent;if(this.navigationType==="side"){this.parentEl.addEventListener("sideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.addEventListener("topNavResized",this.topNavResizedHandler)}if(d(this.el)==="IC-NAVIGATION-GROUP"&&this.navigationType==="top"){this.isTopNavChild=true}this.deviceSize=c();if(this.deviceSize<=s.L&&this.navigationType==="top"){this.inTopNavSideMenu=true}this.navigationSlot=this.el.querySelector('[slot="navigation-item"]');if(this.navigationSlot){this.navigationSlot.ariaLabel=this.navigationSlot.textContent.trim()}}componentDidUpdate(){this.isInitialRender=false}themeChangeHandler(i){const t=i.detail;this.focusStyle=t.mode}async setFocus(){if(this.itemEl){this.itemEl.focus()}}render(){const{inTopNavSideMenu:i,isTopNavChild:t,selected:o}=this;return e(a,{class:{["navigation-item"]:true,["navigation-item-top-nav"]:!i&&this.navigationType==="top",["navigation-item-top-nav-child-selected"]:t&&!i&&o,[this.focusStyle]:!i&&!t||this.navigationType==="side"&&t,["navigation-item-selected"]:!t&&o,["navigation-item-side-menu"]:i,["navigation-item-side-menu-selected"]:i&&o,["navigation-item-top-nav-child"]:t&&!i,["navigation-item-page-header"]:this.navigationType==="page-header",["with-transition"]:!this.isInitialRender,["navigation-item-side-nav"]:this.navigationType==="side",["navigation-item-side-nav-collapsed"]:(!this.sideNavExpanded||this.displayNavigationTooltip)&&this.navigationType==="side",["navigation-item-side-nav-collapsed-with-label"]:!this.sideNavExpanded&&this.navigationType==="side"&&this.collapsedIconLabel&&!this.isSideNavMobile,["expandable"]:this.expandable},onBlur:t&&!i?this.handleBlur:null,onClick:this.handleClick,"aria-current":o?"page":null,role:"listitem"},e("ic-tooltip",{label:this.generateTooltipLabel(),target:"navigation-item",placement:"right",class:{["tooltip-navigation-item"]:true,["tooltip-navigation-item-side-nav-collapsed"]:(!this.sideNavExpanded||this.displayNavigationTooltip)&&this.navigationType==="side",["tooltip-long-label-navigation-item-side-nav-expanded"]:this.el.hasAttribute("[display-navigation-tooltip = 'true']")}},this.renderNavigationItemContent()))}static get delegatesFocus(){return true}get el(){return o(this)}};g.style=m;export{g as ic_navigation_item};
|
2
|
-
//# sourceMappingURL=p-942282cd.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icNavigationItemCss","NavigationItem","constructor","hostRef","this","isInitialRender","displayDefaultNavigationItem","href","hreflang","target","rel","referrerpolicy","download","label","variant","isTopNavChild","inTopNavSideMenu","ChevronIconComponent","expandable","h","class","svg","innerHTML","chevronIcon","IconComponent","el","querySelector","name","isSlotUsed","referrerPolicy","ref","itemEl","part","OpenInNew","tabindex","topNavResizedHandler","ev","newSize","detail","size","deviceSize","DEVICE_SIZES","L","sideNavExpandHandler","sideNavExpanded","sideNavMobile","isSideNavMobile","handleBlur","relatedTarget","tagName","childBlur","emit","handleClick","navItemClicked","generateTooltipLabel","navigationSlot","textContent","children","renderNavigationItemContent","XL","focusStyle","getThemeForegroundColor","navigationType","undefined","parentEl","collapsedIconLabel","displayNavigationTooltip","selected","disconnectedCallback","removeEventListener","componentWillLoad","navParentDetails","getNavItemParentDetails","navType","parent","addEventListener","getParentElementType","getCurrentDeviceSize","ariaLabel","trim","componentDidUpdate","themeChangeHandler","theme","mode","setFocus","focus","render","Host","onBlur","onClick","role","placement","hasAttribute","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-item/ic-navigation-item.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation item\n */\n\n:host {\n display: block;\n}\n\n:host(:focus-within) {\n z-index: var(--ic-z-index-navigation-item);\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-theme-text);\n}\n\n.svg {\n margin-left: auto;\n}\n\n.chevron-container svg,\n.chevron-container .svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chevron-container {\n flex-grow: 1;\n}\n\n:host(.expandable.navigation-item) .link,\n:host(.expandable.navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: calc(100% - var(--ic-space-xxs));\n width: -moz-fit-content;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md) var(--ic-space-xxs);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n white-space: nowrap;\n}\n\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 0.25rem;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-theme-text);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n cursor: pointer;\n}\n\n:host(\n .navigation-item:not(\n .navigation-item-page-header,\n .navigation-item-side-menu\n )\n )\n ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(\n .navigation-item:not(\n .navigation-item-top-nav-child,\n .navigation-item-side-menu,\n .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected\n )\n )\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected.dark) .link:focus,\n:host(.navigation-item.dark) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-theme-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n min-height: 2.5rem;\n width: 100%;\n box-sizing: border-box;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n text-wrap: wrap;\n white-space: normal;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 2.5rem;\n width: -moz-fit-content;\n width: fit-content;\n min-width: 9.063rem;\n color: var(--ic-color-primary-text);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus) {\n background-color: var(--ic-action-dark-bg-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-action-dark-bg-active);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),\n:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus) {\n background-color: var(--ic-action-dark-bg-active) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: inherit;\n min-height: 2.5rem;\n background-color: var(--ic-action-default);\n transition: left 0s;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before {\n margin-top: 0.25rem;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: -moz-fit-content;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: -moz-fit-content;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n width: auto;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n min-width: -moz-min-content;\n min-width: min-content;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-theme-text);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n height: var(--ic-space-lg);\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n position: relative;\n}\n\n.icon > ::slotted(*) {\n margin-left: var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon > ::slotted(*) {\n margin: auto !important;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height, 56px);\n min-height: var(--navigation-item-min-height);\n width: var(--navigation-item-width, auto);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n padding-top: var(--ic-space-md) !important;\n padding-bottom: var(--ic-space-md) !important;\n text-wrap: wrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n:host(.navigation-item-side-nav) div.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n div.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: wrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 0.313rem 0 0 var(--ic-theme-text);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n inset: 0 0 0 0.313rem;\n border-radius: 0.688rem !important;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(\n :not(\n .navigation-item-side-nav-collapsed\n ).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label\n )\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(\n .navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label\n )\n .link,\n:host(\n .navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label\n )\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(\n .navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label\n )\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 0.313rem 0 0 var(--ic-theme-text);\n border-radius: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-theme-hover) !important;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 2.5rem !important;\n color: var(--ic-color-primary-text) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link::after,\n:host(.navigation-item-page-header) ::slotted(a.active)::after {\n content: \" \" !important;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: var(--ic-space-xxs);\n background-color: var(--ic-action-default) !important;\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-active) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus::after,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::after {\n border-bottom-left-radius: var(--ic-border-radius);\n border-bottom-right-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n\n.open-in-new-icon {\n flex: 1;\n}\n\n.open-in-new-icon svg {\n margin-top: var(--ic-space-xxs);\n padding-left: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav) .open-in-new-icon {\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-top-nav) .open-in-new-icon svg,\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-side-nav) .open-in-new-icon svg {\n height: 0.875rem;\n width: 0.875rem;\n}\n\n:host(.navigation-item-side-menu) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg,\n:host(.navigation-item-side-menu) .open-in-new-icon svg {\n fill: var(--ic-color-primary-text);\n}\n","import { h, Host, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getParentElementType, getNavItemParentDetails, isSlotUsed, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\n/**\n * @part link - The `<a>` within ic-navigation-item\n * @slot badge - Badge component overlaying the top right of the icon.\n */\nexport class NavigationItem {\n constructor() {\n this.isInitialRender = true;\n this.displayDefaultNavigationItem = (href, hreflang, target, rel, referrerpolicy, download, label) => {\n const variant = this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const ChevronIconComponent = this.expandable && (h(\"div\", { class: { svg: true }, innerHTML: chevronIcon }));\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (h(\"div\", { class: \"icon\" }, h(\"slot\", { name: \"icon\" }), isSlotUsed(this.el, \"badge\") && h(\"slot\", { name: \"badge\" })));\n if (href !== \"\") {\n return (h(\"a\", { href: href, target: target, rel: rel, hreflang: hreflang, referrerPolicy: referrerpolicy, download: download !== false ? download : null, class: \"link\", ref: (el) => (this.itemEl = el), part: \"link\" }, IconComponent, h(\"ic-typography\", { variant: variant }, label), h(\"div\", { class: \"chevron-container\" }, ChevronIconComponent), target === \"_blank\" && (h(\"span\", { class: \"open-in-new-icon\", innerHTML: OpenInNew }))));\n }\n return (h(\"div\", { tabindex: \"0\", class: \"link\", ref: (el) => (this.itemEl = el) }, IconComponent, h(\"ic-typography\", { variant: variant }, label), ChevronIconComponent));\n };\n this.topNavResizedHandler = (ev) => {\n const newSize = ev.detail.size;\n if (newSize !== this.deviceSize) {\n this.deviceSize = newSize;\n this.inTopNavSideMenu = newSize <= DEVICE_SIZES.L;\n }\n };\n this.sideNavExpandHandler = (ev) => {\n const { sideNavExpanded, sideNavMobile } = ev.detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n };\n this.handleBlur = (ev) => {\n if (ev.relatedTarget !== null) {\n const target = ev.relatedTarget;\n if (target.tagName === \"IC-NAVIGATION-ITEM\") {\n return;\n }\n }\n this.childBlur.emit();\n };\n this.handleClick = () => {\n this.navItemClicked.emit();\n };\n this.generateTooltipLabel = () => {\n if (this.label) {\n return this.label;\n }\n if (this.navigationSlot) {\n return this.navigationSlot.textContent;\n }\n if (this.el.children[0]) {\n return this.el.children[0].textContent;\n }\n return \"\";\n };\n this.renderNavigationItemContent = () => {\n if (this.label) {\n return this.displayDefaultNavigationItem(this.href, this.hreflang, this.target, this.rel, this.referrerpolicy, this.download, this.label);\n }\n if (this.navigationSlot) {\n return h(\"slot\", { name: \"navigation-item\" });\n }\n return h(\"slot\", null);\n };\n this.deviceSize = DEVICE_SIZES.XL;\n this.focusStyle = getThemeForegroundColor();\n this.inTopNavSideMenu = false;\n this.isSideNavMobile = false;\n this.isTopNavChild = false;\n this.navigationType = undefined;\n this.parentEl = undefined;\n this.sideNavExpanded = false;\n this.collapsedIconLabel = false;\n this.displayNavigationTooltip = false;\n this.download = false;\n this.expandable = false;\n this.href = \"\";\n this.hreflang = undefined;\n this.label = undefined;\n this.rel = undefined;\n this.referrerpolicy = undefined;\n this.selected = false;\n this.target = undefined;\n }\n disconnectedCallback() {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\"sideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\"topNavResized\", this.topNavResizedHandler);\n }\n }\n componentWillLoad() {\n const navParentDetails = getNavItemParentDetails(this.el);\n this.navigationType = navParentDetails.navType;\n this.parentEl = navParentDetails.parent;\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\"sideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\"topNavResized\", this.topNavResizedHandler);\n }\n if (getParentElementType(this.el) === \"IC-NAVIGATION-GROUP\" &&\n this.navigationType === \"top\") {\n this.isTopNavChild = true;\n }\n this.deviceSize = getCurrentDeviceSize();\n if (this.deviceSize <= DEVICE_SIZES.L && this.navigationType === \"top\") {\n this.inTopNavSideMenu = true;\n }\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel = this.navigationSlot.textContent.trim();\n }\n }\n componentDidUpdate() {\n this.isInitialRender = false;\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.focusStyle = theme.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n if (this.itemEl) {\n this.itemEl.focus();\n }\n }\n render() {\n const { inTopNavSideMenu, isTopNavChild, selected } = this;\n return (h(Host, { class: {\n [\"navigation-item\"]: true,\n [\"navigation-item-top-nav\"]: !inTopNavSideMenu && this.navigationType === \"top\",\n [\"navigation-item-top-nav-child-selected\"]: isTopNavChild && !inTopNavSideMenu && selected,\n [this.focusStyle]: (!inTopNavSideMenu && !isTopNavChild) ||\n (this.navigationType === \"side\" && isTopNavChild),\n [\"navigation-item-selected\"]: !isTopNavChild && selected,\n [\"navigation-item-side-menu\"]: inTopNavSideMenu,\n [\"navigation-item-side-menu-selected\"]: inTopNavSideMenu && selected,\n [\"navigation-item-top-nav-child\"]: isTopNavChild && !inTopNavSideMenu,\n [\"navigation-item-page-header\"]: this.navigationType === \"page-header\",\n [\"with-transition\"]: !this.isInitialRender,\n [\"navigation-item-side-nav\"]: this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed\"]: (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed-with-label\"]: !this.sideNavExpanded &&\n this.navigationType === \"side\" &&\n this.collapsedIconLabel &&\n !this.isSideNavMobile,\n [\"expandable\"]: this.expandable,\n }, onBlur: isTopNavChild && !inTopNavSideMenu ? this.handleBlur : null, onClick: this.handleClick, \"aria-current\": selected ? \"page\" : null, role: \"listitem\" }, h(\"ic-tooltip\", { label: this.generateTooltipLabel(), target: \"navigation-item\", placement: \"right\", class: {\n [\"tooltip-navigation-item\"]: true,\n [\"tooltip-navigation-item-side-nav-collapsed\"]: (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"tooltip-long-label-navigation-item-side-nav-expanded\"]: this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n } }, this.renderNavigationItemContent())));\n }\n static get is() { return \"ic-navigation-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-item.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-item.css\"]\n };\n }\n static get properties() {\n return {\n \"collapsedIconLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the icon and label will be displayed when side navigation is collapsed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"collapsed-icon-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"displayNavigationTooltip\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the navigation item will be displayed within a tooltip.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"display-navigation-tooltip\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expandable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the navigation item will be expandable.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The destination of the navigation item.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label of the navigation item.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the navigation item will be set in a selected state.\"\n },\n \"attribute\": \"selected\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"isSideNavMobile\": {},\n \"isTopNavChild\": {},\n \"navigationType\": {},\n \"parentEl\": {},\n \"sideNavExpanded\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"childBlur\",\n \"name\": \"childBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when item loses focus.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"navItemClicked\",\n \"name\": \"navItemClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when navigation item clicked.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the nav item.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-item.js.map\n"],"mappings":"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"}
|
package/dist/core/p-96b3e7e2.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
const n=(n,t=[])=>{const o={};t.forEach((t=>{if(n.hasAttribute(t)){const e=n.getAttribute(t);if(e!==null){o[t]=n.getAttribute(t)}n.removeAttribute(t)}}));return o};const t=(n,t,e,s,i)=>{if(e!==undefined&&(n||o(t))){const n=t.querySelectorAll("input.ic-input");const o=Array.from(n);const r=o.filter((n=>t===n.parentElement));let c=r[0];if(c===null||c===undefined){c=t.ownerDocument.createElement("input");c.type="hidden";c.classList.add("ic-input");t.appendChild(c)}c.disabled=i;c.name=e;c.value=s||""}};const o=n=>!!n.shadowRoot&&!!n.attachShadow;const e=n=>n+"-helper-text";const s=n=>n+"-validation-text";const i=(n,t,o)=>`${t?e(n):""} ${o?s(n):""}`.trim();const r=()=>"maxTouchPoints"in navigator?navigator.maxTouchPoints>0:false;const c=(n,t,o="value",e="label")=>{const s=[];if(t.length>0&&t.map){t.map((n=>{if(n.children){n.children.map((n=>s.push(n)))}else{s.push(n)}}));const i=s.find((t=>t[o]===n));if(i!==undefined)return i[e]}return undefined};const l=(n,t,o,e,s="label")=>n.filter((n=>{var i;const r=n[s].toLowerCase();const c=(i=n.description)===null||i===void 0?void 0:i.toLowerCase();const l=o.toLowerCase();return e==="anywhere"?t?r.includes(l)||(c===null||c===void 0?void 0:c.includes(l)):r.includes(l):t?r.startsWith(l)||(c===null||c===void 0?void 0:c.startsWith(l)):r.startsWith(l)}));const u=n=>{const t=[];if(n.length>0&&n.map){n.map((n=>{if(n.children){n.children.map((n=>t.push(n)))}else{t.push(n)}}))}return t.length};const a=n=>getComputedStyle(document.documentElement).getPropertyValue(n);({XS:Number(a("--ic-breakpoint-xs").replace("px","")),S:Number(a("--ic-breakpoint-sm").replace("px","")),M:Number(a("--ic-breakpoint-md").replace("px","")),L:Number(a("--ic-breakpoint-lg").replace("px","")),XL:Number(a("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200});const d=(n,t)=>n!==""&&!t;const f=(n,t)=>{for(let o=0;o<n.length;o++){const{prop:e,propName:s}=n[o];if(e===null||e===undefined){console.error(`No ${s} specified for ${t} component - prop '${s}' (web components) / '${p(s)}' (react) required`)}}};const p=n=>{n=n.toLowerCase();const t=n.split("-");let o=t[0];for(let n=1;n<t.length;n++){o+=t[n].substring(0,1).toUpperCase()+t[n].substring(1)}return o};const b=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const m=n=>n.closest("FORM");const v=(n,t)=>{const o=m(n);if(o!==null){o.addEventListener("reset",t)}};const x=(n,t)=>{const o=m(n);if(o!==null){o.removeEventListener("reset",t)}};const N=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const w=()=>window.navigator.userAgent.toUpperCase().indexOf("MAC")>=0;const $=(n,t)=>Array.from(n.children).some((n=>n.getAttribute("slot")===t));const k=(n,t)=>{if(n&&n.querySelector){return n.querySelector(`[slot="${t}"]`)}return null};const y=n=>{const t=n.firstElementChild;if(t!==null){const n=t.assignedElements?t.assignedElements():t.childNodes;return n.length?n:null}else{return n===null?null:[n]}};const g=(n,t)=>{const o=k(n,t);if(o){return y(o)}return null};const h=(n,t=16)=>{const o=parseInt(n);return`${1/t*o}rem`};export{c as a,l as b,u as c,n as d,N as e,v as f,g,t as h,$ as i,i as j,r as k,d as l,b as m,w as n,f as o,h as p,x as r};
|
2
|
-
//# sourceMappingURL=p-96b3e7e2.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["inheritAttributes","element","attributes","attributeObject","forEach","attr","hasAttribute","value","getAttribute","removeAttribute","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","trim","isMobileOrTablet","navigator","maxTouchPoints","getLabelFromValue","options","valueField","labelField","ungroupedOptions","length","map","option","children","push","matchingValue","find","getFilteredMenuOptions","includeDescriptions","searchString","position","label","toLowerCase","description","_a","lowerSearchString","includes","startsWith","getOptionsWithoutGroupTitlesCount","optionsWithoutGroupTitles","getCssProperty","cssVar","getComputedStyle","document","documentElement","getPropertyValue","XS","Number","replace","S","M","L","XL","UNDEFINED","hasValidationStatus","status","onComponentRequiredPropUndefined","props","component","i","prop","propName","console","error","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","window","ResizeObserver","getForm","closest","addFormResetListener","form","addEventListener","removeFormResetListener","removeEventListener","removeDisabledFalse","isMacDevice","userAgent","indexOf","isSlotUsed","slotName","some","child","getSlot","querySelector","getSlotElements","slot","slotContent","firstElementChild","elements","assignedElements","childNodes","getSlotContent","pxToRem","px","base","tempPx","parseInt"],"sources":["src/utils/helpers.ts"],"sourcesContent":["import {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcPropObject,\n IcSearchMatchPositions,\n IcMenuOption,\n} from \"@ukic/web-components\";\n\n// Build does not recognise these functions being passed via @ukic/web-components so they have been added locally\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]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\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 | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || \"\";\n }\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean =>\n !!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 inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator ? navigator.maxTouchPoints > 0 : false;\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,\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\"\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 getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\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 = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\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\nexport const getForm = (el: HTMLElement): HTMLFormElement => el.closest(\"FORM\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean => {\n return window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n};\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean => {\n return Array.from(element.children).some(\n (child) => child.getAttribute(\"slot\") === slotName\n );\n};\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const pxToRem = (px: string, base = 16): string => {\n const tempPx = parseInt(px);\n return `${(1 / base) * tempPx}rem`;\n};\n"],"mappings":"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"}
|