@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":["icInputComponentContainerCss","InputComponentContainer","constructor","hostRef","this","appearance","dark","disabled","fullWidth","multiLine","readonly","size","small","validationInline","validationStatus","render","hasValidationStatus","h","Host","class","isSlotUsed","el","name","IcInformationStatus","Success","innerHTML","successIcon","icInputContainerCss","InputContainer","icMenuCss","Menu","disabledOptionSelected","hasPreviouslyBlurred","hasTimedOut","isLoading","isSearchBar","isSearchableSelect","preventClickOpen","ungroupedOptions","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","valueField","setInputValue","handleMenuChange","open","focusInput","menuStateChange","emit","inputEl","focus","setNextOptionValue","selectedOptionIndex","menuOptionSelect","value","optionId","getOptionId","setPreviousOptionValue","length","getParentEl","parent","tagName","getAttribute","undefined","arrowBehaviour","event","preventDefault","setMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","keyboardNav","key","target","id","manSetInputValueKeyboardOpen","index","_a","Array","from","host","querySelectorAll","isOpen","menuOptionId","preventIncorrectTabOrder","focusFromSearchKeypress","stopImmediatePropagation","focusOnSearchOrSelectInput","parentEl","setFocus","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","relatedTarget","menu","contains","handleMouseDown","handleMenuKeyDown","activationType","autoSetValueOnMenuKeyDown","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","handleMenuKeyUp","shiftKey","menuId","getOptionAriaLabel","parentOption","ariaLabel","labelField","description","element","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","selectOnEnter","querySelector","elTop","offsetTop","offsetHeight","scrollTop","loadUngroupedOptions","map","children","push","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","forEach","clientHeight","classList","add","handleTimeoutBlur","timeoutBlur","optionContent","Fragment","loading","icon","variant","component","toLowerCase","Check","displayOption","initialOptionsListRender","timeout","role","tabindex","onClick","onBlur","onMouseDown","xmlns","viewBox","fill","d","onKeyDown","anchorEl","autoFocusOnSelected","inputLabel","searchMode","watchOpenHandler","popperInstance","destroy","watchOptionsHandler","newOptions","some","opt","watchValueHandler","menuValueChange","connectedCallback","disconnectedCallback","removeEventListener","componentWillLoad","_b","addEventListener","componentDidLoad","disableFilter","onComponentRequiredPropUndefined","prop","propName","componentDidUpdate","inputValueInOptions","optionHighlightedIsSet","highlightedEl","componentDidRender","initPopperJs","handleClickOpen","handleKeyboardOpen","handleSetFirstOption","anchor","createPopper","placement","modifiers","offset","fallbackPlacements","rootBoundary","ref","onKeyUp","childOption"],"sources":["../web-components/dist/collection/components/ic-input-component-container/ic-input-component-container.css?tag=ic-input-component-container","../web-components/dist/collection/components/ic-input-component-container/ic-input-component-container.js","../web-components/dist/collection/components/ic-input-container/ic-input-container.css?tag=ic-input-container","../web-components/dist/collection/components/ic-input-container/ic-input-container.js","../web-components/dist/collection/components/ic-menu/ic-menu.css?tag=ic-menu&encapsulation=scoped","../web-components/dist/collection/components/ic-menu/ic-menu.js"],"sourcesContent":["ic-input-component-container {\n /**\n * @prop --border-color: Border colour of the input component container\n */\n\n display: flex;\n border: var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-slow);\n height: 2.5rem;\n width: var(--input-width, 20rem);\n padding: var(--ic-space-1px);\n background-color: var(--ic-architectural-white);\n box-sizing: border-box;\n fill: var(--ic-architectural-400);\n outline: none;\n}\n\nic-input-component-container.fullwidth {\n width: 100%;\n}\n\nic-input-component-container.disabled,\nic-input-component-container.disabled:hover {\n border: var(--ic-border-width) dashed var(--ic-architectural-200);\n}\n\nic-input-component-container.readonly,\nic-input-component-container.readonly:hover {\n border: none;\n padding: 0;\n}\n\nic-input-component-container.error {\n border: var(--ic-error-border-default);\n padding: 0;\n}\n\nic-input-component-container.error:hover {\n border: var(--ic-error-border-hover);\n}\n\nic-input-component-container.error:focus-within {\n border: var(--ic-error-border-pressed);\n}\n\nic-input-component-container.warning {\n border: var(--ic-warning-border-default);\n padding: 0;\n}\n\nic-input-component-container.warning:hover {\n border: var(--ic-warning-border-hover);\n}\n\nic-input-component-container.warning:focus-within {\n border: var(--ic-warning-border-pressed);\n}\n\nic-input-component-container.success {\n border: var(--ic-success-border-default);\n padding: 0;\n}\n\nic-input-component-container.success:hover {\n border: var(--ic-success-border-hover);\n}\n\nic-input-component-container.success:focus-within {\n border: var(--ic-success-border-pressed);\n}\n\nic-input-component-container.small {\n height: var(--ic-space-xl);\n}\n\nic-input-component-container.large {\n height: var(--ic-space-xxl);\n}\n\nic-input-component-container.multiline {\n height: auto;\n}\n\nic-input-component-container .icon-container {\n margin-top: var(--ic-space-xxs);\n margin-left: 0.438rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.multiline .icon-container,\nic-input-component-container.multiline.small .icon-container {\n margin-top: 0.375rem;\n display: block;\n}\n\nic-input-component-container.readonly .icon-container {\n margin-left: -0.313rem;\n}\n\nic-input-component-container.disabled ::-moz-placeholder {\n display: none;\n}\n\nic-input-component-container.disabled ::placeholder {\n display: none;\n}\n\nic-input-component-container .inline-success {\n margin: var(--ic-space-xs) 0.375rem;\n display: flex;\n align-items: center;\n}\n\nic-input-component-container.dark:hover {\n --border-color: var(--ic-architectural-400);\n}\n\nic-input-component-container .inline-success > svg {\n fill: var(--ic-status-success);\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-component-container:hover {\n border: var(--ic-border-hover);\n color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:focus {\n border: var(--ic-border-pressed);\n}\n\n.focus-indicator {\n display: flex;\n width: 100%;\n margin: -0.125rem;\n padding: 0.125rem;\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n}\n\n.focus-indicator:focus-within,\n.focus-indicator-enabled {\n box-shadow: var(--ic-border-focus);\n}\n\n.focus-indicator.dark:focus-within {\n box-shadow: var(--ic-border-focus);\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n ic-input-component-container,\n .focus-indicator {\n transition: none;\n }\n\n ic-input-component-container:focus-within {\n border: var(--ic-border-width) solid Highlight;\n outline: 0.125rem solid Highlight;\n }\n\n ic-input-component-container.disabled,\n ic-input-component-container.disabled:hover {\n border: var(--ic-border-width) dashed GrayText;\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport { IcInformationStatus, } from \"../../utils/types\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n/**\n * @slot left-icon - Content will be placed to the left of the input.\n */\nexport class InputComponentContainer {\n constructor() {\n this.appearance = \"default\";\n this.dark = false;\n this.disabled = false;\n this.fullWidth = false;\n this.multiLine = false;\n this.readonly = false;\n this.size = \"default\";\n this.small = false;\n this.validationInline = false;\n this.validationStatus = \"\";\n }\n render() {\n const { size, small, validationStatus, disabled, readonly, multiLine, fullWidth, dark, appearance, validationInline, } = this;\n const hasValidationStatus = this.validationStatus !== \"\" && !this.disabled && !this.readonly\n ? true\n : false;\n return (h(Host, { class: {\n small: small,\n [`${size}`]: true,\n [validationStatus]: hasValidationStatus,\n disabled: disabled,\n readonly: readonly,\n [\"multiline\"]: multiLine,\n [\"fullwidth\"]: fullWidth,\n [\"dark\"]: dark || appearance === \"dark\",\n } }, h(\"div\", { class: {\n \"focus-indicator\": true,\n dark: dark || appearance === \"dark\",\n } }, isSlotUsed(this.el, \"left-icon\") && (h(\"div\", { class: {\n [\"icon-container\"]: true,\n } }, h(\"slot\", { name: \"left-icon\" }))), h(\"slot\", null), validationInline &&\n validationStatus === IcInformationStatus.Success && (h(\"span\", { class: {\n [\"inline-success\"]: true,\n }, innerHTML: successIcon })))));\n }\n static get is() { return \"ic-input-component-container\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-input-component-container.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-input-component-container.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"dark\\\" | \\\"default\\\"\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the input component container.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"dark\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `appearance` to \\\"dark\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"dark\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\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 disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\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 input component container will fill the width of the container it is in.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"multiLine\": {\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 input component container will allow for multiple lines.\"\n },\n \"attribute\": \"multi-line\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"readonly\": {\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 readonly state will be set.\"\n },\n \"attribute\": \"readonly\",\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 input component container component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"validationInline\": {\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 validation will display inline.\"\n },\n \"attribute\": \"validation-inline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-input-component-container.js.map\n","ic-input-container .component-container {\n display: flex;\n flex-direction: column;\n}\n","import { Host, h } from \"@stencil/core\";\nexport class InputContainer {\n constructor() {\n this.disabled = false;\n this.readonly = false;\n }\n render() {\n return (h(Host, null, h(\"div\", { class: {\n [\"component-container\"]: true,\n [\"disabled\"]: this.disabled,\n [\"readonly\"]: this.readonly,\n } }, h(\"slot\", null))));\n }\n static get is() { return \"ic-input-container\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-input-container.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-input-container.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"readonly\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the readonly state will be set.\"\n },\n \"attribute\": \"readonly\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n}\n//# sourceMappingURL=ic-input-container.js.map\n","/*! 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-menu: z-index of menu\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n max-height: 0;\n width: var(--input-width, 20rem);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(:not(.no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n#retry-button::part(button) {\n height: var(--ic-space-lg);\n}\n\n.small #retry-button::part(button) {\n height: var(--ic-space-md);\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n.menu {\n text-decoration: none;\n list-style-type: none;\n border: var(--ic-border-width) solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n max-height: none;\n display: block;\n}\n\n:host(.open) .menu {\n visibility: visible;\n max-height: calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs));\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\n.option {\n padding: var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n cursor: pointer;\n display: flex;\n align-items: center;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.small) .option {\n padding: var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.large) .option {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.option:last-child {\n border-radius: 0 0 var(--ic-space-1px) var(--ic-space-1px);\n}\n\n.option:first-child {\n border-radius: var(--ic-space-1px) var(--ic-space-1px) 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n color: var(--ic-color-secondary-text);\n}\n\n.option .option-label {\n display: flex;\n flex-direction: row;\n align-items: top;\n}\n\n.option .option-element {\n margin-top: var(--ic-space-xxs);\n}\n\n.option .option-icon {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n margin-top: var(--ic-space-xxs);\n margin-right: var(--ic-space-xxxs);\n}\n\n.option-text-container {\n pointer-events: none;\n}\n\n.option.loading-option .option-text-container {\n margin-left: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n color: var(--ic-color-secondary-text);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-status-error);\n align-self: center;\n display: flex;\n margin-right: calc(var(--ic-space-xxs) * 1.2);\n}\n\n.loading-error-info {\n display: flex;\n}\n\n.check-icon {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-xs);\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);\n color: var(--ic-color-tertiary-text);\n}\n\n:host(.small) .option-group-title {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs);\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-border-default);\n}\n\n.disabled-option {\n color: var(--ic-architectural-200);\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-focus-blue) !important;\n color: var(--ic-color-white-text) !important;\n}\n\n:host(.no-results) li {\n cursor: no-drop;\n}\n\n:host(.no-results) li:hover {\n background-color: transparent;\n}\n\n@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\n }\n}\n","import { h, Host, Fragment, } from \"@stencil/core\";\nimport { createPopper } from \"@popperjs/core\";\nimport Check from \"../../assets/check-icon.svg\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Menu {\n constructor() {\n this.disabledOptionSelected = false;\n this.hasPreviouslyBlurred = false;\n this.hasTimedOut = false;\n this.isLoading = false;\n this.isSearchBar = false;\n this.isSearchableSelect = false;\n // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n this.preventClickOpen = false;\n this.ungroupedOptions = [];\n this.handleClearListener = () => {\n this.optionHighlighted = \"\";\n };\n this.handleSubmitSearch = () => {\n const highlightedOptionIndex = this.options.findIndex((option) => option[this.valueField] === this.optionHighlighted);\n this.setInputValue(highlightedOptionIndex);\n };\n this.handleMenuChange = (open, focusInput) => {\n this.menuStateChange.emit({ open, focusInput });\n if (!open && focusInput !== false) {\n this.inputEl.focus();\n this.preventClickOpen = false;\n }\n };\n this.setNextOptionValue = (selectedOptionIndex) => {\n if (this.ungroupedOptions[selectedOptionIndex + 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]),\n });\n }\n else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),\n });\n }\n };\n this.setPreviousOptionValue = (selectedOptionIndex) => {\n if (this.ungroupedOptions[selectedOptionIndex - 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]),\n });\n }\n else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField]),\n });\n }\n };\n this.getParentEl = (parent) => {\n if (parent.tagName === \"IC-SEARCH-BAR\") {\n this.isSearchBar = true;\n }\n else if (parent.tagName === \"IC-SELECT\" &&\n parent.getAttribute(\"searchable\") !== null &&\n parent.getAttribute(\"searchable\") !== undefined) {\n this.isSearchableSelect = true;\n }\n };\n this.arrowBehaviour = (event) => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;\n this.setHighlightedOption = (highlightedIndex) => {\n const menuOptions = this.setMenuOptions();\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex][this.valueField] || undefined);\n };\n this.autoSetInputValueKeyboardOpen = (event) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);\n this.keyboardNav = false;\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setNextOptionValue(selectedOptionIndex);\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setPreviousOptionValue(selectedOptionIndex);\n break;\n case \" \":\n case \"Enter\":\n if (event.target.id !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n this.manSetInputValueKeyboardOpen = (event) => {\n const menuOptions = this.setMenuOptions();\n this.keyboardNav = false;\n const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);\n const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll(\"li\"))[index]) === null || _a === void 0 ? void 0 : _a.id; };\n const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n }\n else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex <= 0 ||\n highlightedOptionIndex > menuOptions.length + 1) {\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n }\n else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n break;\n case \"End\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n break;\n case \" \":\n if (this.isSearchBar || this.isSearchableSelect) {\n break;\n }\n else {\n if (event.target.id !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n }\n break;\n case \"Enter\":\n event.preventDefault();\n if (isOpen) {\n if (highlightedOptionIndex >= 0) {\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n if (this.isSearchBar &&\n menuOptions[highlightedOptionIndex].disabled === true) {\n this.disabledOptionSelected = true;\n }\n else {\n this.setInputValue(highlightedOptionIndex);\n this.value =\n menuOptions[highlightedOptionIndex][this.valueField];\n }\n }\n }\n else {\n this.setInputValue(highlightedOptionIndex);\n }\n }\n else {\n this.handleMenuChange(true);\n }\n break;\n case \"Escape\":\n if (this.open) {\n event.stopImmediatePropagation();\n }\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"Shift\":\n case \"Tab\":\n if (this.isSearchBar) {\n this.keyboardNav = true;\n }\n this.preventIncorrectTabOrder = true;\n break;\n default:\n this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);\n break;\n }\n };\n this.setInputValue = (highlightedOptionIndex) => {\n const menuOptions = this.setMenuOptions();\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex][this.valueField],\n });\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n if (!this.hasTimedOut)\n this.handleMenuChange(false);\n else\n this.parentEl.setFocus();\n };\n this.handleOptionClick = (event) => {\n const { value, label } = event.target.dataset;\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\n };\n this.handleRetry = () => {\n this.retryButtonClicked.emit({ value: this.value });\n };\n this.handleRetryKeyDown = (ev) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });\n }\n };\n this.handleBlur = (event) => {\n if (event.relatedTarget !== this.inputEl) {\n if (!this.menu.contains(event.relatedTarget)) {\n this.handleMenuChange(false, this.hasPreviouslyBlurred);\n }\n }\n else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n }\n if (!this.isSearchBar)\n this.hasPreviouslyBlurred = !!event.relatedTarget;\n };\n this.handleMouseDown = (event) => {\n event.preventDefault();\n };\n this.handleMenuKeyDown = (event) => {\n if (this.activationType === \"automatic\") {\n this.autoSetValueOnMenuKeyDown(event);\n }\n else if (this.activationType === \"manual\" && !this.isSearchBar) {\n this.manSetInputValueKeyboardOpen(event);\n }\n };\n this.emitMenuKeyPress = (isNavKey, key) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n this.autoSetValueOnMenuKeyDown = (event) => {\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);\n const isSearchableSelect = this.inputEl.tagName === \"INPUT\";\n this.keyboardNav = false;\n switch (event.key) {\n case \" \":\n event.preventDefault();\n break;\n case \"ArrowUp\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setPreviousOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"ArrowDown\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setNextOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"Home\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"Enter\":\n !this.hasTimedOut && this.handleMenuChange(false);\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n break;\n case \"Backspace\":\n if (isSearchableSelect) {\n this.inputEl.focus();\n }\n break;\n case \"Shift\":\n break;\n default:\n if (isSearchableSelect && event.key !== \"Tab\" && !this.hasTimedOut) {\n this.inputEl.focus();\n }\n if (event.key.length === 1) {\n this.keyboardNav = true;\n }\n break;\n }\n this.emitMenuKeyPress(this.keyboardNav, event.key);\n };\n this.handleMenuKeyUp = (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\n if (event.key === \"Enter\" && this.disabledOptionSelected) {\n this.disabledOptionSelected = false;\n event.stopImmediatePropagation();\n }\n };\n this.getOptionId = (value) => {\n return `${this.menuId}-${value}`;\n };\n this.getOptionAriaLabel = (option, parentOption) => {\n let ariaLabel = option[this.labelField];\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n if (option.element) {\n ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;\n }\n if (parentOption) {\n return `${ariaLabel}, ${parentOption[this.labelField]} group`;\n }\n else {\n return ariaLabel;\n }\n };\n this.getSortedOptions = (options) => {\n let sorted = [];\n if (options.sort) {\n sorted = options.sort((optionA, optionB) => optionA.recommended && !optionB.recommended ? -1 : 0);\n }\n return sorted;\n };\n this.isManualMode = this.activationType === \"manual\";\n this.scrollToSelected = (menu) => {\n const selectedOption = this.selectOnEnter\n ? this.host.querySelector(`li[data-value=\"${this.optionHighlighted}\"]`)\n : menu.querySelector(\".option[aria-selected='true']\");\n if (selectedOption) {\n const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;\n if (elTop > menu.scrollTop + menu.offsetHeight ||\n elTop < menu.scrollTop + menu.offsetHeight) {\n menu.scrollTop = selectedOption.offsetTop;\n }\n selectedOption.focus();\n }\n };\n this.loadUngroupedOptions = () => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (option.children) {\n option.children.map((option) => !option.disabled && this.ungroupedOptions.push(option));\n }\n else if (!option.disabled) {\n this.ungroupedOptions.push(option);\n }\n });\n }\n this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);\n this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });\n };\n this.setMenuScrollbar = () => {\n let optionsHeight = 0;\n this.host\n .querySelectorAll(\".option\")\n .forEach((option) => (optionsHeight += option.clientHeight));\n if (optionsHeight >= 320) {\n this.menu.classList.add(\"menu-scroll\");\n }\n };\n this.handleTimeoutBlur = (ev) => {\n this.timeoutBlur.emit({ ev });\n };\n this.optionContent = (option) => {\n var _a;\n return (h(Fragment, null, option.loading && h(\"ic-loading-indicator\", { size: \"icon\" }), h(\"div\", { class: \"option-text-container\" }, h(\"div\", { class: \"option-label\" }, option.icon && (h(\"div\", { class: \"option-icon\", innerHTML: option.icon, \"aria-hidden\": \"true\" })), h(\"ic-typography\", { variant: \"body\", \"aria-hidden\": \"true\" }, h(\"p\", null, option[this.labelField]))), option.description && (h(\"ic-typography\", { id: `${this.getOptionId(option[this.valueField])}-description`, class: \"option-description\", variant: \"caption\", \"aria-hidden\": \"true\" }, h(\"p\", null, option.description))), option.element && (h(\"div\", { class: \"option-element\", innerHTML: option.element.component, \"aria-hidden\": \"true\" }))), !!option[this.valueField] &&\n !!this.value &&\n option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&\n this.parentEl.tagName !== \"IC-SEARCH-BAR\" && (h(\"span\", { class: \"check-icon\", innerHTML: Check }))));\n };\n this.displayOption = (option, index, parentOption) => {\n const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;\n return (h(\"li\", { id: this.getOptionId(option[this.valueField]), class: {\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option[this.valueField] === optionHighlighted\n : keyboardNav && option[this.valueField] === value,\n \"last-recommended-option\": option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended,\n \"disabled-option\": option.disabled,\n \"loading-option\": option.loading,\n timeout: option.timedOut,\n }, role: \"option\", tabindex: open &&\n (option[this.valueField] === value ||\n option[this.valueField] === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\", \"aria-label\": this.getOptionAriaLabel(option, parentOption), \"aria-selected\": `${option[this.valueField] === value}`, \"aria-disabled\": option.disabled ? \"true\" : \"false\", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, \"data-value\": option[this.valueField], \"data-label\": option[this.labelField] }, option.timedOut ? (h(Fragment, null, h(\"div\", { class: \"loading-error-info\" }, h(\"svg\", { class: \"error-icon-svg\", \"aria-labelledby\": \"error-title\", xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 24 24\", fill: \"#000000\" }, h(\"title\", { id: \"error-title\" }, \"Error\"), h(\"g\", { id: \"close-octagon\" }, h(\"path\", { id: \"Vector\", d: \"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41\" }))), h(\"ic-typography\", { variant: \"label\" }, option[this.labelField])), h(\"ic-button\", { size: \"small\", variant: \"tertiary\", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: \"retry-button\" }, \"Retry\"))) : (this.optionContent(option))));\n };\n this.focusFromSearchKeypress = false;\n this.initialOptionsListRender = false;\n this.keyboardNav = false;\n this.optionHighlighted = undefined;\n this.preventIncorrectTabOrder = false;\n this.activationType = \"automatic\";\n this.anchorEl = undefined;\n this.autoFocusOnSelected = true;\n this.fullWidth = false;\n this.inputEl = undefined;\n this.inputLabel = undefined;\n this.labelField = \"label\";\n this.menuId = undefined;\n this.open = undefined;\n this.parentEl = undefined;\n this.searchMode = \"navigation\";\n this.selectOnEnter = false;\n this.size = \"default\";\n this.small = false;\n this.options = undefined;\n this.value = undefined;\n this.valueField = \"value\";\n }\n watchOpenHandler() {\n if (!this.open && this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n watchOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n this.isLoading = newOptions.some((opt) => opt.loading);\n this.ungroupedOptions = [];\n this.loadUngroupedOptions();\n }\n watchValueHandler() {\n this.menuValueChange.emit({ value: this.value });\n }\n connectedCallback() {\n this.getParentEl(this.parentEl);\n if (this.isSearchBar) {\n if (this.searchMode === \"navigation\")\n this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\n }\n }\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n this.parentEl.removeEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.removeEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n }\n componentWillLoad() {\n var _a, _b;\n this.loadUngroupedOptions();\n this.parentEl.addEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.addEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n this.hasTimedOut = (_a = this.options) === null || _a === void 0 ? void 0 : _a.some((opt) => opt.timedOut);\n this.isLoading = (_b = this.options) === null || _b === void 0 ? void 0 : _b.some((opt) => opt.loading);\n }\n componentDidLoad() {\n if (this.isSearchBar &&\n this.parentEl.disableFilter) {\n this.focusFromSearchKeypress = true;\n }\n onComponentRequiredPropUndefined([\n { prop: this.open, propName: \"open\" },\n { prop: this.options, propName: \"options\" },\n { prop: this.menuId, propName: \"menu-id\" },\n { prop: this.inputLabel, propName: \"input-label\" },\n //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component\n ], \"Menu\");\n }\n componentDidUpdate() {\n const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);\n const optionHighlightedIsSet = this.optionHighlighted !== null &&\n this.optionHighlighted !== undefined &&\n this.optionHighlighted !== \"\";\n if (this.open && this.options.length !== 0) {\n if (this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autoFocusOnSelected &&\n !this.isSearchableSelect) {\n this.scrollToSelected(this.menu);\n }\n else if (this.inputEl.tagName !== \"IC-TEXT-FIELD\" &&\n this.inputEl.tagName !== \"INPUT\") {\n this.menu.focus();\n }\n else if (optionHighlightedIsSet &&\n !this.focusFromSearchKeypress &&\n !this.preventIncorrectTabOrder) {\n const highlightedEl = this.host.querySelector(`li[data-value=\"${this.optionHighlighted}\"]`);\n if (highlightedEl) {\n highlightedEl.focus();\n }\n }\n }\n if (this.open && !this.value && this.selectOnEnter) {\n this.scrollToSelected(this.menu);\n }\n }\n componentDidRender() {\n if (this.open && !this.popperInstance && this.anchorEl) {\n this.initPopperJs(this.anchorEl);\n }\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n /**\n * @internal If menu is opened with the mouse, emit menuStateChange custom event.\n */\n async handleClickOpen() {\n if (!this.preventClickOpen) {\n this.menuStateChange.emit({ open: !this.open });\n this.keyboardNav = false;\n }\n this.preventClickOpen = false;\n }\n /**\n * Used alongside activationType\n * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\n * @param {KeyboardEvent} event The keyboard event which is available when handleKeyboardOpen is invoked.\n */\n async handleKeyboardOpen(event) {\n this.keyboardNav = false;\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n }\n else {\n this.manSetInputValueKeyboardOpen(event);\n }\n }\n /**\n * @internal Used to highlight the first option in the menu.\n */\n async handleSetFirstOption() {\n this.setHighlightedOption(0);\n }\n /**\n * @internal Used to initialize popperJS with an anchor element.\n * 5/12/2023: Tested with Floating UI, however, discovered inconsistent\n * boundary behaviour so sticking with PopperJS.\n */\n async initPopperJs(anchor) {\n this.popperInstance = createPopper(anchor, this.host, {\n placement: \"bottom\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n }\n focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex) {\n if (!menuOptions[highlightedOptionIndex])\n return;\n if (this.isSearchBar) {\n this.parentEl.setFocus();\n if (this.searchMode === \"navigation\")\n this.setHighlightedOption(0);\n }\n if (this.isSearchableSelect) {\n this.parentEl.setFocus();\n }\n this.focusFromSearchKeypress = true;\n }\n render() {\n const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, small, open, inputEl, keyboardNav, } = this;\n return (h(Host, { class: {\n \"full-width\": fullWidth,\n \"no-focus\": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === \"INPUT\" || hasTimedOut || isLoading,\n small: small,\n [size]: true,\n open: open,\n } }, options.length !== 0 && (h(\"ul\", { id: menuId, class: \"menu\", role: \"listbox\", \"aria-label\": inputLabel, \"aria-activedescendant\": value != null && value !== \"\" ? this.getOptionId(value) : \"\", tabindex: open && !keyboardNav && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== \"INPUT\" ? \"0\" : \"-1\", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {\n if (option.children) {\n if (option.children.length > 0) {\n return (h(\"div\", null, h(\"ic-typography\", { class: \"option-group-title\", role: \"presentation\", variant: \"subtitle-small\" }, h(\"p\", null, option[this.labelField])), option.children.map((childOption) => this.displayOption(childOption, index, option))));\n }\n else {\n return null;\n }\n }\n else {\n return this.displayOption(option, index);\n }\n })))));\n }\n static get is() { return \"ic-menu\"; }\n static get encapsulation() { return \"scoped\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\"\n },\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"anchorEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The reference to an anchor element the menu will position itself from when rendered.\"\n }\n },\n \"autoFocusOnSelected\": {\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`, autofocus will be applied on selected item when menu is open.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"auto-focus-on-selected\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"fullWidth\": {\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 menu will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"inputEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The reference to the input element.\"\n }\n },\n \"inputLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the input element.\"\n },\n \"attribute\": \"input-label\",\n \"reflect\": false\n },\n \"labelField\": {\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 custom name for the label field for IcMenuOption.\"\n },\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"menuId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ID of the menu.\"\n },\n \"attribute\": \"menu-id\",\n \"reflect\": false\n },\n \"open\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu will be displayed open.\"\n },\n \"attribute\": \"open\",\n \"reflect\": true\n },\n \"parentEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- The parent element if ic-menu is nested inside another component.\"\n }],\n \"text\": \"\"\n }\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"../ic-search-bar/ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"selectOnEnter\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"select-on-enter\",\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 menu component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The possible menu selection options.\"\n }\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the currently selected option.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"valueField\": {\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 custom name for the value field for IcMenuOption.\"\n },\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"focusFromSearchKeypress\": {},\n \"initialOptionsListRender\": {},\n \"keyboardNav\": {},\n \"optionHighlighted\": {},\n \"preventIncorrectTabOrder\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"menuKeyPress\",\n \"name\": \"menuKeyPress\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when key is pressed while menu is open\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ isNavKey: boolean; key: string }\",\n \"resolved\": \"{ isNavKey: boolean; key: string; }\",\n \"references\": {}\n }\n }, {\n \"method\": \"menuOptionId\",\n \"name\": \"menuOptionId\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when an option has been highlighted\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMenuOptionIdEventDetail\",\n \"resolved\": \"IcMenuOptionIdEventDetail\",\n \"references\": {\n \"IcMenuOptionIdEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuOptionIdEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuOptionSelect\",\n \"name\": \"menuOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when an option is selected.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuStateChange\",\n \"name\": \"menuStateChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when state of menu changes (i.e. open or close).\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuValueChange\",\n \"name\": \"menuValueChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when menu value changes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"retryButtonClicked\",\n \"name\": \"retryButtonClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the retry button is clicked\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"timeoutBlur\",\n \"name\": \"timeoutBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the timeout menu loses focus\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ ev: FocusEvent }\",\n \"resolved\": \"{ ev: FocusEvent; }\",\n \"references\": {\n \"FocusEvent\": {\n \"location\": \"global\",\n \"id\": \"global::FocusEvent\"\n }\n }\n }\n }, {\n \"method\": \"ungroupedOptionsSet\",\n \"name\": \"ungroupedOptionsSet\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the ungrouped options have been set.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ options: IcMenuOption[] }\",\n \"resolved\": \"{ options: IcMenuOption[]; }\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"handleClickOpen\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If menu is opened with the mouse, emit menuStateChange custom event.\"\n }]\n }\n },\n \"handleKeyboardOpen\": {\n \"complexType\": {\n \"signature\": \"(event: KeyboardEvent) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"event\",\n \"type\": \"KeyboardEvent\",\n \"docs\": \"The keyboard event which is available when handleKeyboardOpen is invoked.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"KeyboardEvent\": {\n \"location\": \"global\",\n \"id\": \"global::KeyboardEvent\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Used alongside activationType\\nIf menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"event The keyboard event which is available when handleKeyboardOpen is invoked.\"\n }]\n }\n },\n \"handleSetFirstOption\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to highlight the first option in the menu.\"\n }]\n }\n },\n \"initPopperJs\": {\n \"complexType\": {\n \"signature\": \"(anchor: HTMLElement) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"anchor\",\n \"type\": \"HTMLElement\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to initialize popperJS with an anchor element.\\n5/12/2023: Tested with Floating UI, however, discovered inconsistent\\nboundary behaviour so sticking with PopperJS.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"host\"; }\n static get watchers() {\n return [{\n \"propName\": \"open\",\n \"methodName\": \"watchOpenHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-menu.js.map\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as e,H as o,g as a}from"./p-8455d1bb.js";import{f as s}from"./p-9caf19eb.js";import"./p-fd186591.js";const n='/*! 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;position:relative}:host(.ic-typography-vertical-margins-h1){margin:0 0 var(--ic-space-xl)}:host(.ic-typography-vertical-margins-h2){margin:var(--ic-space-xxl) 0 var(--ic-space-lg)}:host(.ic-typography-vertical-margins-h3){margin:var(--ic-space-xl) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-h4){margin:var(--ic-space-lg) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-subtitle-large),:host(.ic-typography-vertical-margins-subtitle-small),:host(.ic-typography-vertical-margins-body),:host(.ic-typography-vertical-margins-code-large),:host(.ic-typography-vertical-margins-code-small),:host(.ic-typography-vertical-margins-code-extra-small){margin:0 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-caption),:host(.ic-typography-vertical-margins-caption-uppercase){margin:0 0 var(--ic-space-xs)}:host(.ic-typography-vertical-margins-h2:first-child),:host(.ic-typography-vertical-margins-h3:first-child),:host(.ic-typography-vertical-margins-h4:first-child){margin-top:0}:host(.ic-typography-h1){font:var(--ic-font-h1) !important}:host(.ic-typography-h2){font:var(--ic-font-h2);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-h3){font:var(--ic-font-h3)}:host(.ic-typography-h4){font:var(--ic-font-h4);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-large){font:var(--ic-font-subtitle-large);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-small){font:var(--ic-font-subtitle-small);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-body){font:var(--ic-font-body);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-caption){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-caption-uppercase){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025);text-transform:uppercase}:host(.ic-typography-label){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-label-uppercase){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025);text-transform:uppercase}:host(.ic-typography-code-large){font:var(--ic-font-code-large);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-code-small){font:var(--ic-font-code-small);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-code-extra-small){font:var(--ic-font-code-extra-small);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-badge){font:var(--ic-font-badge);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-badge-small){font:var(--ic-font-badge-small);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-no-wrap){white-space:nowrap}:host ::slotted(h1),:host ::slotted(h2),:host ::slotted(h3),:host ::slotted(h4),:host ::slotted(h5),:host ::slotted(h6),:host ::slotted(p),:host ::slotted(label){font:inherit;letter-spacing:inherit}.trunc-wrapper{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--truncation-max-lines, initial);-webkit-line-clamp:var(--truncation-max-lines, initial);-webkit-clip-path:border-box;clip-path:border-box}.trunc-btn{border:none;background:none;padding:0;color:var(--ic-color-primary-text);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast);text-align:start}.trunc-btn:hover,.trunc-btn.focus{outline:none;border-bottom:var(--ic-space-xxs) solid !important;margin-bottom:calc(-1 * var(--ic-space-xxs)) !important;text-decoration:none;cursor:pointer}:host(.strikethrough){text-decoration:line-through}:host(.underline){text-decoration:underline}:host(.underline.strikethrough){text-decoration:line-through underline}:host(.italic){font-style:italic !important}:host(.bold){font-weight:var(--ic-font-weight-bold)}@supports (text-decoration-thickness: 25%){.trunc-btn:hover,.trunc-btn.focus{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const r=class{constructor(e){t(this,e);this.icExpand=i(this,"icExpand",7);this.focusBtnFromKeyboard=true;this.lastMarkerTop=0;this.lastWidth=0;this.resizeObserver=null;this.truncatedHeight=0;this.toggleExpanded=()=>{this.expanded=!this.expanded;this.icExpand.emit({el:this.el,expanded:this.expanded})};this.checkMarkerPosition=(t,i)=>{if(i-t<this.truncatedHeight){this.truncated=false;this.expanded=false}else{this.truncated=true}};this.getElementTop=t=>t.getClientRects?t.getClientRects()[0].top:0;this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeInterval);this.resizeInterval=window.setTimeout(this.resizeObserverCallback,50)}));this.resizeObserver.observe(this.truncWrapperEl)};this.resizeObserverCallback=()=>{if(this.lastWidth===this.el.clientWidth){return}if(this.truncatedHeight===0){this.checkMaxLines(this.el.clientHeight);return}const t=this.getElementTop(this.marker);if(t===this.lastMarkerTop){return}this.checkMarkerPosition(this.getElementTop(this.el),t);this.lastMarkerTop=t;this.lastWidth=this.el.clientWidth};this.truncButtonFocus=()=>{if(this.focusBtnFromKeyboard){this.truncButtonFocussed=true}};this.truncButtonBlur=()=>{this.focusBtnFromKeyboard=true;this.truncButtonFocussed=false};this.truncButtonFocusFromMouse=()=>{this.focusBtnFromKeyboard=false};this.truncated=false;this.truncButtonFocussed=false;this.applyVerticalMargins=false;this.bold=false;this.italic=false;this.maxLines=undefined;this.strikethrough=false;this.underline=false;this.variant="body";this.expanded=false}watchExpandedHandler(){this.el.setAttribute("style",`--truncation-max-lines: ${this.expanded?"initial":this.maxLines}`)}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentDidLoad(){var t,i;if((this.variant==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&this.maxLines>0){const t=document.createElement("span");t.style.visibility="hidden";this.el.appendChild(t);this.marker=t;this.lastWidth=this.el.clientWidth;this.checkMaxLines(this.el.clientHeight);s(this.runResizeObserver)}}async checkMaxLines(t){const i=Math.floor(t/24);if(i>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true}}async checkCellTextMaxLines(t,i){const e=Math.floor(i/24);const o=Math.floor(t/24);if(!!i&&e>o||o>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true;this.expanded=false}}render(){var t,i;const{variant:a,applyVerticalMargins:s,maxLines:n,truncated:r,expanded:c,strikethrough:l,underline:h,italic:p,bold:d}=this;return e(o,{class:{[`ic-typography-${a}`]:true,[`ic-typography-vertical-margins-${a}`]:s,["bold"]:d,["italic"]:p,["strikethrough"]:l,["underline"]:h}},(a==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&n>0?e("div",{class:"trunc-wrapper",ref:t=>this.truncWrapperEl=t},e("slot",null)):e("slot",null),a==="body"&&n>0&&r&&e("button",{class:{"trunc-btn":true,focus:this.truncButtonFocussed},onFocus:this.truncButtonFocus,onBlur:this.truncButtonBlur,onMouseDown:this.truncButtonFocusFromMouse,onClick:this.toggleExpanded,"aria-hidden":"true"},c?"See less":"See more"))}get el(){return a(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};r.style=n;export{r as ic_typography};
|
2
|
-
//# sourceMappingURL=p-347e8dab.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icTypographyCss","Typography","constructor","hostRef","this","focusBtnFromKeyboard","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","toggleExpanded","expanded","icExpand","emit","el","checkMarkerPosition","elTop","markerTop","truncated","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","applyVerticalMargins","bold","italic","maxLines","undefined","strikethrough","underline","variant","watchExpandedHandler","setAttribute","disconnectedCallback","disconnect","componentDidLoad","_a","_b","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","height","numLines","Math","floor","checkCellTextMaxLines","typographyHeight","typographyNumLines","render","h","Host","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["../web-components/dist/collection/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","../web-components/dist/collection/components/ic-typography/ic-typography.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n position: relative;\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1) !important;\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n /* overflow: hidden; */\n -webkit-clip-path: border-box;\n clip-path: border-box;\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-primary-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n text-align: start;\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: var(--ic-space-xxs) solid !important;\n margin-bottom: calc(-1 * var(--ic-space-xxs)) !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.underline) {\n text-decoration: underline;\n}\n\n:host(.underline.strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.italic) {\n font-style: italic !important;\n}\n\n:host(.bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n@supports (text-decoration-thickness: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\nexport class Typography {\n constructor() {\n this.focusBtnFromKeyboard = true;\n this.lastMarkerTop = 0;\n this.lastWidth = 0;\n this.resizeObserver = null;\n this.truncatedHeight = 0;\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n this.icExpand.emit({ el: this.el, expanded: this.expanded });\n };\n this.checkMarkerPosition = (elTop, markerTop) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n }\n else {\n this.truncated = true;\n }\n };\n this.getElementTop = (el) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n this.resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n this.truncButtonFocus = () => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n this.truncButtonBlur = () => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n this.truncButtonFocusFromMouse = () => {\n this.focusBtnFromKeyboard = false;\n };\n this.truncated = false;\n this.truncButtonFocussed = false;\n this.applyVerticalMargins = false;\n this.bold = false;\n this.italic = false;\n this.maxLines = undefined;\n this.strikethrough = false;\n this.underline = false;\n this.variant = \"body\";\n this.expanded = false;\n }\n watchExpandedHandler() {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`);\n }\n disconnectedCallback() {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n componentDidLoad() {\n var _a, _b;\n if ((this.variant === \"body\" ||\n ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n /**\n * Truncate the text in ic-typography by adding a line-clamp css property.\n * @param height Used to calculate whether the element has exceeded the maximum number of lines.\n *\n */\n async checkMaxLines(height) {\n // 24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n /**\n * @internal Truncate the text in ic-typography by adding a line-clamp css property. This method is specific to ic-data-table.\n * height - used to calculate whether the element has exceeded the maximum number of lines.\n * typographyHeight - the scroll height of the typography element. Used as another way to calculate whether the element has exceeded the maximum number of lines.\n */\n async checkCellTextMaxLines(height, typographyHeight) {\n // 24 is the height of a single line\n const typographyNumLines = Math.floor(typographyHeight / 24);\n const numLines = Math.floor(height / 24);\n if ((!!typographyHeight && typographyNumLines > numLines) ||\n numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n this.expanded = false;\n }\n }\n render() {\n var _a, _b;\n const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, } = this;\n return (h(Host, { class: {\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"bold\"]: bold,\n [\"italic\"]: italic,\n [\"strikethrough\"]: strikethrough,\n [\"underline\"]: underline,\n } }, (variant === \"body\" ||\n ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (h(\"div\", { class: \"trunc-wrapper\", ref: (el) => (this.truncWrapperEl = el) }, h(\"slot\", null))) : (h(\"slot\", null)), variant === \"body\" && maxLines > 0 && truncated && (h(\"button\", { class: { \"trunc-btn\": true, focus: this.truncButtonFocussed }, onFocus: this.truncButtonFocus, onBlur: this.truncButtonBlur, onMouseDown: this.truncButtonFocusFromMouse, onClick: this.toggleExpanded, \"aria-hidden\": \"true\" }, expanded ? \"See less\" : \"See more\"))));\n }\n static get is() { return \"ic-typography\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-typography.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-typography.css\"]\n };\n }\n static get properties() {\n return {\n \"applyVerticalMargins\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, appropriate top and bottom margins will be applied to the typography.\"\n },\n \"attribute\": \"apply-vertical-margins\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"bold\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have a bold font weight.\\nNote: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\"\n },\n \"attribute\": \"bold\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"italic\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have an italic font style.\"\n },\n \"attribute\": \"italic\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"maxLines\": {\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 to display before truncating the text, only used for the 'body' variant.\"\n },\n \"attribute\": \"max-lines\",\n \"reflect\": false\n },\n \"strikethrough\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have a line through it.\"\n },\n \"attribute\": \"strikethrough\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"underline\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the typography will have a line under it.\"\n },\n \"attribute\": \"underline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcTypographyVariants\",\n \"resolved\": \"\\\"badge\\\" | \\\"badge-small\\\" | \\\"body\\\" | \\\"caption\\\" | \\\"caption-uppercase\\\" | \\\"code-extra-small\\\" | \\\"code-large\\\" | \\\"code-small\\\" | \\\"h1\\\" | \\\"h2\\\" | \\\"h3\\\" | \\\"h4\\\" | \\\"label\\\" | \\\"label-uppercase\\\" | \\\"subtitle-large\\\" | \\\"subtitle-small\\\"\",\n \"references\": {\n \"IcTypographyVariants\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcTypographyVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ICDS typography style to use.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"body\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"truncated\": {},\n \"truncButtonFocussed\": {},\n \"expanded\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icExpand\",\n \"name\": \"icExpand\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the See More/See Less button is clicked.\"\n },\n \"complexType\": {\n \"original\": \"IcExpandEventDetail\",\n \"resolved\": \"{ el: HTMLIcTypographyElement; expanded: boolean; }\",\n \"references\": {\n \"IcExpandEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-typography.types\",\n \"id\": \"src/components/ic-typography/ic-typography.types.tsx::IcExpandEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"checkMaxLines\": {\n \"complexType\": {\n \"signature\": \"(height: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"height\",\n \"type\": \"number\",\n \"docs\": \"Used to calculate whether the element has exceeded the maximum number of lines.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Truncate the text in ic-typography by adding a line-clamp css property.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"height Used to calculate whether the element has exceeded the maximum number of lines.\"\n }]\n }\n },\n \"checkCellTextMaxLines\": {\n \"complexType\": {\n \"signature\": \"(height: number, typographyHeight?: number) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"height\",\n \"type\": \"number\",\n \"docs\": \"\"\n }, {\n \"name\": \"typographyHeight\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Truncate the text in ic-typography by adding a line-clamp css property. This method is specific to ic-data-table.\\nheight - used to calculate whether the element has exceeded the maximum number of lines.\\ntypographyHeight - the scroll height of the typography element. Used as another way to calculate whether the element has exceeded the maximum number of lines.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"expanded\",\n \"methodName\": \"watchExpandedHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-typography.js.map\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as e,H as a,g as s}from"./p-8455d1bb.js";import{I as n}from"./p-fd186591.js";import{K as o,D as r,e as l,u as h,o as c,i as d,f as p,a as m,F as u,d as g}from"./p-9caf19eb.js";const b='/*! 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;color:var(--ic-theme-text);width:100%;position:relative}:host .top-navigation{background-color:var(--ic-theme-primary);height:-moz-max-content;height:max-content}:host(.fullwidth-searchbar) slot[name="search"]::slotted(form){width:100%}:host .title-link{display:inline-flex;align-items:center;text-decoration:none;padding:var(--ic-space-xxs);transition:var(--ic-easing-transition-fast)}:host .title-link,:host .title-link:visited,:host .title-link:active,:host .title-link ::slotted(a),:host .title-link:visited ::slotted(a),:host .title-link:active ::slotted(a){color:var(--ic-theme-text);text-decoration:none;outline:none}:host .title-link:hover:not(:focus){background-color:var(--ic-theme-hover)}:host .title-link:active:not(:focus){background-color:var(--ic-theme-active)}:host .title-link:hover{border-radius:var(--ic-border-radius)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}:host .title-link ic-typography{font-weight:600}:host .nav-panel-container{border-top:var(--ic-keyline-lighten);padding:0 var(--ic-space-lg);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin));display:flex}:host(.dark) .nav-panel-container{border-top:var(--ic-keyline-darken)}.top-panel-container{display:flex;padding-top:0.5rem;padding-bottom:0.5rem}.navigation-tabs{margin-top:calc(-1 * var(--ic-space-1px))}.app-details-container{display:flex;align-items:center;flex:1 1 auto;margin-right:var(--ic-space-md)}.app-icon-container{display:flex;padding-right:var(--ic-space-xs)}.icon-buttons-container{display:flex;margin-left:var(--ic-space-md)}.icon-buttons-container ::slotted(nav){display:flex}.title-wrap{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}:host .app-status{border-radius:var(--ic-space-md);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);padding:var(--ic-space-xxs) var(--ic-space-lg);margin-left:var(--ic-space-md);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}:host(.dark) .app-status{background-color:var(--ic-theme-text);color:var(--ic-color-white-text)}:host .app-version{border-radius:var(--ic-space-md);background-color:var(--ic-theme-active);padding:var(--ic-space-xxs) var(--ic-space-sm);margin-left:var(--ic-space-xs);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}slot[name="app-icon"]::slotted(*){fill:var(--ic-theme-text);width:2em;height:2em}slot[name="toggle-icon"] svg{fill:var(--ic-theme-text)}.search-menu-container{justify-content:right;display:flex;align-items:center}.menu-button-container{margin-left:var(--ic-space-md)}.menu-button-container .navigation-landmark-button-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.search-actions-container{display:flex}.menu-buttons-slot{display:flex;flex-direction:column}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}.navigation-item-list{display:flex;list-style:none;height:2.75rem}.navigation-item-list::-webkit-scrollbar{display:none}:host ic-section-container{padding-bottom:0 !important;padding-top:0 !important}@media screen and (min-width: 993px){.app-details-container{margin-right:var(--ic-space-lg)}}@media screen and (max-width: 1200px){:host .nav-panel-container{padding:0 var(--ic-space-md)}}@media screen and (max-width: 992px){:host .nav-panel-container,:host .app-status,:host .app-version{display:none}:host .title-link{margin-right:var(--ic-space-xs)}.search-menu-container{max-width:10rem}.search-bar-container{display:flex;justify-content:center;align-items:center;border-top:var(--ic-keyline-darken);height:4rem;padding-left:var(--ic-space-md);padding-right:var(--ic-space-md);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin))}}@media screen and (max-width: 576px){:host .title-link{margin-right:var(--ic-space-xxxs);word-break:break-word;-webkit-hyphens:none;hyphens:none}.top-panel-container{min-height:2.5rem}.search-bar-container{margin-top:0;height:3.5rem;padding-left:var(--ic-space-xs);padding-right:var(--ic-space-xs)}.menu-button-container{margin-left:var(--ic-space-sm)}slot[name="app-icon"]::slotted(*){width:1.5em;height:1.5em}slot[name="toggle-icon"] svg{width:1.5em;height:1.5em}}@media (forced-colors: active){:host .top-navigation{border-bottom:var(--ic-hc-border)}.app-status,.app-version{border:var(--ic-hc-border)}slot[name="app-icon"]::slotted(*){fill:currentcolor}}';const v=class{constructor(e){t(this,e);this.icNavigationMenuClosed=i(this,"icNavigationMenuClosed",7);this.icNavigationMenuOpened=i(this,"icNavigationMenuOpened",7);this.topNavResized=i(this,"topNavResized",7);this.hasAppIcon=false;this.hasIconButtons=false;this.hasNavigation=false;this.hasSearchSlotContent=false;this.resizeObserver=null;this.searchBar=null;this.initialiseSearchBar=()=>{if(this.hasSearchSlotContent){const t=o(this.el,"search");if(t&&t.tagName==="IC-SEARCH-BAR"){this.searchBar=t}else if(t&&t.tagName==="FORM"){this.searchBar=t.querySelector("ic-search-bar")}if(this.searchBar!==null){this.searchBar.hideLabel=true}}};this.menuButtonClick=()=>{this.showNavMenu(true)};this.searchButtonMouseDownHandler=()=>{this.searchButtonClick=true};this.searchButtonClickHandler=()=>{this.toggleSearchBar();this.searchButtonClick=false};this.resizeObserverCallback=t=>{if(t!==this.deviceSize){this.deviceSize=t;if(t>r.L){this.showNavMenu(false);if(this.mobileSearchBarVisible){this.toggleSearchBar()}}this.topNavResized.emit({size:t});if(document.activeElement!==null&&document.activeElement!==undefined&&document.activeElement.tagName==="IC-SEARCH-BAR"){this.searchBar.setAttribute("hidden","true");this.searchBar.removeAttribute("hidden");setTimeout((()=>{this.searchBar.focus()}),100)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const t=l();this.resizeObserverCallback(t)}));this.resizeObserver.observe(this.el)};this.deviceSize=r.XL;this.foregroundColor=h();this.hasFullWidthSearchBar=false;this.menuOpen=false;this.mobileSearchBarVisible=false;this.mobileSearchHiddenOnBlur=false;this.navMenuVisible=false;this.searchButtonClick=false;this.searchValue="";this.contentAligned="full-width";this.href="/";this.inline=false;this.shortAppTitle="";this.status="";this.version="";this.appTitle=undefined}watchPropHandler(t,i){c(i,t,this.initialiseSearchBar)}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.hasAppIcon=d(this.el,"app-icon");this.hasNavigation=d(this.el,"navigation");this.hasIconButtons=d(this.el,"buttons");this.hasSearchSlotContent=d(this.el,"search");this.deviceSize=l();this.initialiseSearchBar()}componentDidLoad(){p(this.runResizeObserver);!d(this.el,"app-title")&&m([{prop:this.appTitle,propName:"app-title"}],"Top Navigation")}componentWillRender(){this.hasNavigation=d(this.el,"navigation");this.hasSearchSlotContent=d(this.el,"search");this.hasIconButtons=d(this.el,"buttons");this.hasAppIcon=d(this.el,"app-icon")}navBarMenuCloseHandler(){this.showNavMenu(false);const t=this.el.shadowRoot.querySelector("#menu-button");t.focus()}searchInputBlurHandler(t){if(t.detail!==null){if(this.mobileSearchBarVisible&&!this.searchButtonClick){this.toggleSearchBar()}this.searchValue=t.detail.value}}searchValueChangeHandler(t){this.searchValue=t.detail.value}themeChangeHandler(t){const i=t.detail;this.foregroundColor=i.mode}toggleSearchBar(){this.mobileSearchBarVisible=!this.mobileSearchBarVisible;if(this.searchBar!==null){if(this.mobileSearchBarVisible){this.mobileSearchButtonEl.setAttribute("aria-label","Hide search");this.hasFullWidthSearchBar=true;this.searchBar.fullWidth=true;setTimeout((()=>{this.searchBar.focus()}),100)}else{this.mobileSearchButtonEl.setAttribute("aria-label","Show search");this.hasFullWidthSearchBar=false;this.searchBar.fullWidth=false}}}showNavMenu(t){this.navMenuVisible=t;if(t){this.icNavigationMenuOpened.emit();document.body.style.height="100%";document.body.style.overflow="hidden"}else{this.icNavigationMenuClosed.emit();document.body.style.height="auto";document.body.style.overflow="auto"}}render(){const t=this.hasNavigation||this.hasIconButtons||this.status!==""||this.version!=="";const i=this.deviceSize<=r.S?"default":"large";let s="h3";const o=this.appTitle!==""&&g(this.appTitle);if(this.deviceSize<=r.L){s="h4";if(this.deviceSize<=r.S){s="subtitle-small"}}const l=this.mobileSearchBarVisible?"Hide search":"Show search";const h=this.deviceSize<=r.S?"small":"default";const c=d(this.el,"app-title")?"div":"a";const p=c=="a"&&{href:this.href};const m=d(this.el,"short-app-title");return e(a,{class:{["fullwidth-searchbar"]:this.hasFullWidthSearchBar,[n.Dark]:this.foregroundColor===n.Dark}},e("div",{class:"top-navigation"},e("ic-section-container",{aligned:this.contentAligned,"full-height":true},e("header",{role:"banner"},e("div",{class:"top-panel-container"},e("div",{class:"app-details-container"},(o||d(this.el,"app-title"))&&e(c,Object.assign({class:"title-link"},p),this.hasAppIcon&&e("div",{class:"app-icon-container"},e("slot",{name:"app-icon"})),this.deviceSize<=r.S&&(!u(this.shortAppTitle)||m)?e("ic-typography",{variant:"subtitle-small","aria-label":(!d(this.el,"app-title")||!m)&&`${this.appTitle} (${this.shortAppTitle})`},e("h1",null,m?e("slot",{name:"short-app-title"}):this.shortAppTitle)):e("ic-typography",{variant:s},e("h1",{class:"title-wrap"},d(this.el,"app-title")?e("slot",{name:"app-title"}):this.appTitle))),this.status!==""&&e("div",{class:"app-status"},e("ic-typography",{"aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},this.status)),this.version!==""&&e("div",{class:"app-version"},e("ic-typography",{variant:"label",class:"app-version-text","aria-label":"app version"},this.version))),(this.hasSearchSlotContent||t)&&e("div",{class:"search-menu-container"},e("div",{class:"search-actions-container"},this.deviceSize>r.L&&e("slot",{name:"search"}),this.hasSearchSlotContent&&this.deviceSize<=r.L&&e("ic-button",{id:"search-toggle-button",ref:t=>this.mobileSearchButtonEl=t,onMouseDown:this.searchButtonMouseDownHandler,variant:"icon",size:i,"aria-label":l,appearance:this.foregroundColor,onClick:this.searchButtonClickHandler},e("slot",{name:"toggle-icon"},e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#ffffff"},e("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})))),this.hasIconButtons&&this.deviceSize>r.L&&e("div",{class:"icon-buttons-container"},e("slot",{name:"buttons"})),t&&this.deviceSize<=r.L&&e("div",{class:"menu-button-container"},e("span",{id:"navigation-landmark-button-text",class:"navigation-landmark-button-text","aria-hidden":"true"},"Main navigation button"),e("nav",{"aria-labelledby":"navigation-landmark-button-text","aria-hidden":this.navMenuVisible?"true":"false"},e("ic-button",{id:"menu-button",appearance:this.foregroundColor,variant:"secondary","aria-expanded":this.menuOpen?"true":"false","aria-haspopup":"true","aria-label":`Open ${this.hasNavigation?"navigation":"app"} menu`,size:h,onClick:this.menuButtonClick},"Menu",e("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#ffffff",slot:"icon"},e("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})))))))),this.mobileSearchBarVisible&&e("div",{class:"search-bar-container"},e("slot",{name:"search"})),this.hasNavigation&&this.deviceSize>r.L&&e("div",{class:"navigation-tabs"},e("span",{id:"navigation-landmark-text",class:"navigation-landmark-text","aria-hidden":"true"},"Main pages"),e("nav",{"aria-labelledby":"navigation-landmark-text",class:"nav-panel-container"},e("ic-horizontal-scroll",{appearance:this.foregroundColor},e("ul",{class:"navigation-item-list",tabindex:"-1"},e("slot",{name:"navigation"})))))))),this.navMenuVisible&&e("ic-navigation-menu",{version:this.version,status:this.status,class:{["inline"]:this.inline}},this.hasIconButtons&&e("div",{class:"menu-buttons-slot",slot:"buttons"},e("slot",{name:"buttons"})),e("ul",{slot:"navigation"},e("slot",{name:"navigation"}))))}get el(){return s(this)}static get watchers(){return{appTitle:["watchPropHandler"]}}};v.style=b;export{v as ic_top_navigation};
|
2
|
-
//# sourceMappingURL=p-3803a5b5.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icTopNavigationCss","TopNavigation","constructor","hostRef","this","hasAppIcon","hasIconButtons","hasNavigation","hasSearchSlotContent","resizeObserver","searchBar","initialiseSearchBar","slot","getSlot","el","tagName","querySelector","hideLabel","menuButtonClick","showNavMenu","searchButtonMouseDownHandler","searchButtonClick","searchButtonClickHandler","toggleSearchBar","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","L","mobileSearchBarVisible","topNavResized","emit","size","document","activeElement","undefined","setAttribute","removeAttribute","setTimeout","focus","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","XL","foregroundColor","getThemeForegroundColor","hasFullWidthSearchBar","menuOpen","mobileSearchHiddenOnBlur","navMenuVisible","searchValue","contentAligned","href","inline","shortAppTitle","status","version","appTitle","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","disconnectedCallback","disconnect","componentWillLoad","isSlotUsed","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","componentWillRender","navBarMenuCloseHandler","menuBtn","shadowRoot","searchInputBlurHandler","ev","detail","value","searchValueChangeHandler","themeChangeHandler","theme","mode","mobileSearchButtonEl","fullWidth","show","icNavigationMenuOpened","body","style","height","overflow","icNavigationMenuClosed","render","hasMenuContent","searchButtonSize","S","appTitleVariant","hasTitle","isPropDefined","mobileSearchButtonTitle","menuSize","Component","attrs","shortAppTitleSlot","h","Host","class","IcThemeForegroundEnum","Dark","aligned","role","Object","assign","name","isEmptyString","variant","id","ref","onMouseDown","appearance","onClick","xmlns","viewBox","fill","d","width","tabindex"],"sources":["../web-components/dist/collection/components/ic-top-navigation/ic-top-navigation.css?tag=ic-top-navigation&encapsulation=shadow","../web-components/dist/collection/components/ic-top-navigation/ic-top-navigation.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n color: var(--ic-theme-text);\n width: 100%;\n position: relative;\n}\n\n:host .top-navigation {\n background-color: var(--ic-theme-primary);\n height: -moz-max-content;\n height: max-content;\n}\n\n:host(.fullwidth-searchbar) slot[name=\"search\"]::slotted(form) {\n width: 100%;\n}\n\n:host .title-link {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n padding: var(--ic-space-xxs);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host .title-link,\n:host .title-link:visited,\n:host .title-link:active,\n:host .title-link ::slotted(a),\n:host .title-link:visited ::slotted(a),\n:host .title-link:active ::slotted(a) {\n color: var(--ic-theme-text);\n text-decoration: none;\n outline: none;\n}\n\n:host .title-link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n}\n\n:host .title-link:active:not(:focus) {\n background-color: var(--ic-theme-active);\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .title-link ic-typography {\n font-weight: 600;\n}\n\n:host .nav-panel-container {\n border-top: var(--ic-keyline-lighten);\n padding: 0 var(--ic-space-lg);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n display: flex;\n}\n\n:host(.dark) .nav-panel-container {\n border-top: var(--ic-keyline-darken);\n}\n\n.top-panel-container {\n display: flex;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navigation-tabs {\n margin-top: calc(-1 * var(--ic-space-1px));\n}\n\n.app-details-container {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin-right: var(--ic-space-md);\n}\n\n.app-icon-container {\n display: flex;\n padding-right: var(--ic-space-xs);\n}\n\n.icon-buttons-container {\n display: flex;\n margin-left: var(--ic-space-md);\n}\n\n.icon-buttons-container ::slotted(nav) {\n display: flex;\n}\n\n.title-wrap {\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n -webkit-hyphens: auto;\n hyphens: auto;\n}\n\n:host .app-status {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n flex: 1 1 0;\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n\n:host(.dark) .app-status {\n background-color: var(--ic-theme-text);\n color: var(--ic-color-white-text);\n}\n\n:host .app-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-theme-active);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n margin-left: var(--ic-space-xs);\n flex: 1 1 0;\n max-width: -moz-fit-content;\n max-width: fit-content;\n}\n\nslot[name=\"app-icon\"]::slotted(*) {\n fill: var(--ic-theme-text);\n width: 2em;\n height: 2em;\n}\n\nslot[name=\"toggle-icon\"] svg {\n fill: var(--ic-theme-text);\n}\n\n.search-menu-container {\n justify-content: right;\n display: flex;\n align-items: center;\n}\n\n.menu-button-container {\n margin-left: var(--ic-space-md);\n}\n\n.menu-button-container .navigation-landmark-button-text {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.search-actions-container {\n display: flex;\n}\n\n.menu-buttons-slot {\n display: flex;\n flex-direction: column;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n.navigation-item-list {\n display: flex;\n list-style: none;\n height: 2.75rem;\n}\n\n.navigation-item-list::-webkit-scrollbar {\n display: none;\n}\n\n:host ic-section-container {\n padding-bottom: 0 !important;\n padding-top: 0 !important;\n}\n\n@media screen and (min-width: 993px) {\n .app-details-container {\n margin-right: var(--ic-space-lg);\n }\n}\n\n/* large */\n@media screen and (max-width: 1200px) {\n :host .nav-panel-container {\n padding: 0 var(--ic-space-md);\n }\n}\n\n/* medium */\n@media screen and (max-width: 992px) {\n :host .nav-panel-container,\n :host .app-status,\n :host .app-version {\n display: none;\n }\n\n :host .title-link {\n margin-right: var(--ic-space-xs);\n }\n\n .search-menu-container {\n max-width: 10rem;\n }\n\n .search-bar-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: var(--ic-keyline-darken);\n height: 4rem;\n padding-left: var(--ic-space-md);\n padding-right: var(--ic-space-md);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n }\n}\n\n/* x small */\n@media screen and (max-width: 576px) {\n :host .title-link {\n margin-right: var(--ic-space-xxxs);\n word-break: break-word;\n -webkit-hyphens: none;\n hyphens: none;\n }\n\n .top-panel-container {\n min-height: 2.5rem;\n }\n\n .search-bar-container {\n margin-top: 0;\n height: 3.5rem;\n padding-left: var(--ic-space-xs);\n padding-right: var(--ic-space-xs);\n }\n\n .menu-button-container {\n margin-left: var(--ic-space-sm);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n width: 1.5em;\n height: 1.5em;\n }\n\n slot[name=\"toggle-icon\"] svg {\n width: 1.5em;\n height: 1.5em;\n }\n}\n\n@media (forced-colors: active) {\n :host .top-navigation {\n border-bottom: var(--ic-hc-border);\n }\n\n .app-status,\n .app-version {\n border: var(--ic-hc-border);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n fill: currentcolor;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { checkResizeObserver, DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getSlot, onComponentPropUndefinedChange, onComponentRequiredPropUndefined, isSlotUsed, isEmptyString, isPropDefined, } from \"../../utils/helpers\";\n/**\n * @slot app-icon - Content will be rendered to left of app title.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\nexport class TopNavigation {\n constructor() {\n this.hasAppIcon = false;\n this.hasIconButtons = false;\n this.hasNavigation = false;\n this.hasSearchSlotContent = false;\n this.resizeObserver = null;\n this.searchBar = null;\n this.initialiseSearchBar = () => {\n if (this.hasSearchSlotContent) {\n const slot = getSlot(this.el, \"search\");\n if (slot && slot.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot;\n }\n else if (slot && slot.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\"ic-search-bar\");\n }\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n }\n };\n this.menuButtonClick = () => {\n this.showNavMenu(true);\n };\n this.searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n this.searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n this.resizeObserverCallback = (currSize) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n if (currSize > DEVICE_SIZES.L) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.topNavResized.emit({\n size: currSize,\n });\n if (document.activeElement !== null &&\n document.activeElement !== undefined &&\n document.activeElement.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n }\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n this.resizeObserver.observe(this.el);\n };\n this.deviceSize = DEVICE_SIZES.XL;\n this.foregroundColor = getThemeForegroundColor();\n this.hasFullWidthSearchBar = false;\n this.menuOpen = false;\n this.mobileSearchBarVisible = false;\n this.mobileSearchHiddenOnBlur = false;\n this.navMenuVisible = false;\n this.searchButtonClick = false;\n this.searchValue = \"\";\n this.contentAligned = \"full-width\";\n this.href = \"/\";\n this.inline = false;\n this.shortAppTitle = \"\";\n this.status = \"\";\n this.version = \"\";\n this.appTitle = undefined;\n }\n watchPropHandler(newValue, oldValue) {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once gatbsy hydration issue is resolved\n onComponentPropUndefinedChange(oldValue, newValue, this.initialiseSearchBar);\n }\n disconnectedCallback() {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n componentWillLoad() {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n componentDidLoad() {\n checkResizeObserver(this.runResizeObserver);\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined([{ prop: this.appTitle, propName: \"app-title\" }], \"Top Navigation\");\n }\n componentWillRender() {\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n }\n navBarMenuCloseHandler() {\n this.showNavMenu(false);\n const menuBtn = this.el.shadowRoot.querySelector(\"#menu-button\");\n menuBtn.focus();\n }\n searchInputBlurHandler(ev) {\n if (ev.detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = ev.detail.value;\n }\n }\n searchValueChangeHandler(ev) {\n this.searchValue = ev.detail.value;\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n toggleSearchBar() {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n if (this.searchBar !== null) {\n if (this.mobileSearchBarVisible) {\n this.mobileSearchButtonEl.setAttribute(\"aria-label\", \"Hide search\");\n this.hasFullWidthSearchBar = true;\n this.searchBar.fullWidth = true;\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n else {\n this.mobileSearchButtonEl.setAttribute(\"aria-label\", \"Show search\");\n this.hasFullWidthSearchBar = false;\n this.searchBar.fullWidth = false;\n }\n }\n }\n showNavMenu(show) {\n this.navMenuVisible = show;\n if (show) {\n this.icNavigationMenuOpened.emit();\n document.body.style.height = \"100%\";\n document.body.style.overflow = \"hidden\";\n }\n else {\n this.icNavigationMenuClosed.emit();\n document.body.style.height = \"auto\";\n document.body.style.overflow = \"auto\";\n }\n }\n render() {\n const hasMenuContent = this.hasNavigation ||\n this.hasIconButtons ||\n this.status !== \"\" ||\n this.version !== \"\";\n const searchButtonSize = this.deviceSize <= DEVICE_SIZES.S ? \"default\" : \"large\";\n let appTitleVariant = \"h3\";\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n if (this.deviceSize <= DEVICE_SIZES.L) {\n appTitleVariant = \"h4\";\n if (this.deviceSize <= DEVICE_SIZES.S) {\n appTitleVariant = \"subtitle-small\";\n }\n }\n const mobileSearchButtonTitle = this.mobileSearchBarVisible\n ? \"Hide search\"\n : \"Show search\";\n const menuSize = this.deviceSize <= DEVICE_SIZES.S ? \"small\" : \"default\";\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: this.href,\n };\n const shortAppTitleSlot = isSlotUsed(this.el, \"short-app-title\");\n return (h(Host, { class: {\n [\"fullwidth-searchbar\"]: this.hasFullWidthSearchBar,\n [IcThemeForegroundEnum.Dark]: this.foregroundColor === IcThemeForegroundEnum.Dark,\n } }, h(\"div\", { class: \"top-navigation\" }, h(\"ic-section-container\", { aligned: this.contentAligned, \"full-height\": true }, h(\"header\", { role: \"banner\" }, h(\"div\", { class: \"top-panel-container\" }, h(\"div\", { class: \"app-details-container\" }, (hasTitle || isSlotUsed(this.el, \"app-title\")) && (h(Component, Object.assign({ class: \"title-link\" }, attrs), this.hasAppIcon && (h(\"div\", { class: \"app-icon-container\" }, h(\"slot\", { name: \"app-icon\" }))), this.deviceSize <= DEVICE_SIZES.S &&\n (!isEmptyString(this.shortAppTitle) ||\n shortAppTitleSlot) ? (h(\"ic-typography\", { variant: \"subtitle-small\", \"aria-label\": (!isSlotUsed(this.el, \"app-title\") ||\n !shortAppTitleSlot) &&\n `${this.appTitle} (${this.shortAppTitle})` }, h(\"h1\", null, shortAppTitleSlot ? (h(\"slot\", { name: \"short-app-title\" })) : (this.shortAppTitle)))) : (h(\"ic-typography\", { variant: appTitleVariant }, h(\"h1\", { class: \"title-wrap\" }, isSlotUsed(this.el, \"app-title\") ? (h(\"slot\", { name: \"app-title\" })) : (this.appTitle)))))), this.status !== \"\" && (h(\"div\", { class: \"app-status\" }, h(\"ic-typography\", { \"aria-label\": \"app tag\", variant: \"label-uppercase\", class: \"app-status-text\" }, this.status))), this.version !== \"\" && (h(\"div\", { class: \"app-version\" }, h(\"ic-typography\", { variant: \"label\", class: \"app-version-text\", \"aria-label\": \"app version\" }, this.version)))), (this.hasSearchSlotContent || hasMenuContent) && (h(\"div\", { class: \"search-menu-container\" }, h(\"div\", { class: \"search-actions-container\" }, this.deviceSize > DEVICE_SIZES.L && (h(\"slot\", { name: \"search\" })), this.hasSearchSlotContent &&\n this.deviceSize <= DEVICE_SIZES.L && (h(\"ic-button\", { id: \"search-toggle-button\", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: this.searchButtonMouseDownHandler, variant: \"icon\", size: searchButtonSize, \"aria-label\": mobileSearchButtonTitle, appearance: this.foregroundColor, onClick: this.searchButtonClickHandler }, h(\"slot\", { name: \"toggle-icon\" }, h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 24 24\", fill: \"#ffffff\" }, h(\"path\", { d: \"M0 0h24v24H0V0z\", fill: \"none\" }), h(\"path\", { d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" }))))), this.hasIconButtons &&\n this.deviceSize > DEVICE_SIZES.L && (h(\"div\", { class: \"icon-buttons-container\" }, h(\"slot\", { name: \"buttons\" }))), hasMenuContent && this.deviceSize <= DEVICE_SIZES.L && (h(\"div\", { class: \"menu-button-container\" }, h(\"span\", { id: \"navigation-landmark-button-text\", class: \"navigation-landmark-button-text\", \"aria-hidden\": \"true\" }, \"Main navigation button\"), h(\"nav\", { \"aria-labelledby\": \"navigation-landmark-button-text\", \"aria-hidden\": this.navMenuVisible ? \"true\" : \"false\" }, h(\"ic-button\", { id: \"menu-button\", appearance: this.foregroundColor, variant: \"secondary\", \"aria-expanded\": this.menuOpen ? \"true\" : \"false\", \"aria-haspopup\": \"true\", \"aria-label\": `Open ${this.hasNavigation ? \"navigation\" : \"app\"} menu`, size: menuSize, onClick: this.menuButtonClick }, \"Menu\", h(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", height: \"24px\", viewBox: \"0 0 24 24\", width: \"24px\", fill: \"#ffffff\", slot: \"icon\" }, h(\"path\", { d: \"M0 0h24v24H0V0z\", fill: \"none\" }), h(\"path\", { d: \"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" })))))))))), this.mobileSearchBarVisible && (h(\"div\", { class: \"search-bar-container\" }, h(\"slot\", { name: \"search\" }))), this.hasNavigation && this.deviceSize > DEVICE_SIZES.L && (h(\"div\", { class: \"navigation-tabs\" }, h(\"span\", { id: \"navigation-landmark-text\", class: \"navigation-landmark-text\", \"aria-hidden\": \"true\" }, \"Main pages\"), h(\"nav\", { \"aria-labelledby\": \"navigation-landmark-text\", class: \"nav-panel-container\" }, h(\"ic-horizontal-scroll\", { appearance: this.foregroundColor }, h(\"ul\", { class: \"navigation-item-list\", tabindex: \"-1\" }, h(\"slot\", { name: \"navigation\" }))))))))), this.navMenuVisible && (h(\"ic-navigation-menu\", { version: this.version, status: this.status, class: {\n [\"inline\"]: this.inline,\n } }, this.hasIconButtons && (h(\"div\", { class: \"menu-buttons-slot\", slot: \"buttons\" }, h(\"slot\", { name: \"buttons\" }))), h(\"ul\", { slot: \"navigation\" }, h(\"slot\", { name: \"navigation\" }))))));\n }\n static get is() { return \"ic-top-navigation\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-top-navigation.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-top-navigation.css\"]\n };\n }\n static get properties() {\n return {\n \"contentAligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"full-width\\\" | \\\"left\\\"\",\n \"references\": {\n \"IcAlignment\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the top navigation content.\"\n },\n \"attribute\": \"content-aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"full-width\\\"\"\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 URL to navigate to when the app title is clicked.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"/\\\"\"\n },\n \"inline\": {\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 flyout navigation menu on small devices will be contained by the parent element.\"\n },\n \"attribute\": \"inline\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"shortAppTitle\": {\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 short title of the app to be displayed at small screen sizes in place of the app title.\"\n },\n \"attribute\": \"short-app-title\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"status\": {\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 status info to be displayed.\"\n },\n \"attribute\": \"status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"version\": {\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 version info to be displayed.\"\n },\n \"attribute\": \"version\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"appTitle\": {\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 app title to be displayed. This is required, unless a slotted app title link is used.\"\n },\n \"attribute\": \"app-title\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"foregroundColor\": {},\n \"hasFullWidthSearchBar\": {},\n \"menuOpen\": {},\n \"mobileSearchBarVisible\": {},\n \"mobileSearchHiddenOnBlur\": {},\n \"navMenuVisible\": {},\n \"searchButtonClick\": {},\n \"searchValue\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icNavigationMenuClosed\",\n \"name\": \"icNavigationMenuClosed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when the menu is closed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icNavigationMenuOpened\",\n \"name\": \"icNavigationMenuOpened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when the menu is opened.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"topNavResized\",\n \"name\": \"topNavResized\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the top navigation is resized.\"\n },\n \"complexType\": {\n \"original\": \"{ size: number }\",\n \"resolved\": \"{ size: number; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"appTitle\",\n \"methodName\": \"watchPropHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icNavigationMenuClose\",\n \"method\": \"navBarMenuCloseHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icSearchBarBlur\",\n \"method\": \"searchInputBlurHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icChange\",\n \"method\": \"searchValueChangeHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-top-navigation.js.map\n"],"mappings":"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"}
|