@ukic/canary-web-components 2.0.0-canary.8 → 2.0.0-canary.9
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-7a069459.js} +7 -2
- package/dist/cjs/helpers-7a069459.js.map +1 -0
- package/dist/cjs/{helpers-93c5fc92.js → helpers-f75cf7cf.js} +94 -12
- package/dist/cjs/helpers-f75cf7cf.js.map +1 -0
- 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 +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-date-input.cjs.entry.js +1073 -0
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-date-picker.cjs.entry.js +1043 -0
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
- 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} +3 -67
- 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 +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +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-pagination-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +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 +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-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 +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/index-4cf27b16.js +12 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/calendar.svg +3 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/ic-date-input/ic-date-input.css +560 -0
- package/dist/collection/components/ic-date-input/ic-date-input.js +1668 -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 +1156 -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 +1499 -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 +143 -0
- package/dist/collection/components/ic-date-picker/story-data.js.map +1 -0
- package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js +13 -0
- 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 +962 -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-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 +259 -10
- 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 +7 -2
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js +91 -12
- package/dist/components/helpers2.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-date-input.d.ts +11 -0
- 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 +1301 -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 +1164 -0
- package/dist/components/ic-date-picker.js.map +1 -0
- 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-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-pagination-item2.js +1 -1
- package/dist/components/ic-pagination2.js +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-switch.js +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/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-8b08d8fe.entry.js → p-06ae5bec.entry.js} +2 -2
- package/dist/core/{p-f843da01.entry.js → p-0939ce92.entry.js} +2 -2
- package/dist/core/{p-e0462b23.entry.js → p-16f67397.entry.js} +2 -2
- package/dist/core/{p-db9c03c0.entry.js → p-1832f4b5.entry.js} +2 -2
- package/dist/core/{p-ab09986c.entry.js → p-1b7d426b.entry.js} +2 -2
- package/dist/core/{p-5e0c830b.entry.js → p-1ce75941.entry.js} +2 -2
- package/dist/core/{p-1ca332ca.entry.js → p-2e2e0099.entry.js} +2 -2
- package/dist/core/p-33679c06.entry.js +2 -0
- package/dist/core/p-33679c06.entry.js.map +1 -0
- package/dist/core/{p-4753bac8.entry.js → p-36508aad.entry.js} +2 -2
- package/dist/core/{p-10fb4c46.entry.js → p-3745da83.entry.js} +2 -2
- package/dist/core/{p-3803a5b5.entry.js → p-3f2e77c3.entry.js} +2 -2
- package/dist/core/{p-88d54b72.entry.js → p-47ac6838.entry.js} +2 -2
- package/dist/core/{p-4baa0916.entry.js → p-4f1ffa39.entry.js} +2 -2
- package/dist/core/{p-f7a14c01.entry.js → p-5759d771.entry.js} +2 -2
- package/dist/core/{p-6c3044b6.entry.js → p-5e2e6c3b.entry.js} +2 -2
- package/dist/core/{p-2eac7dcc.entry.js → p-5fe96107.entry.js} +2 -2
- package/dist/core/{p-b82dcc29.entry.js → p-62e22508.entry.js} +2 -2
- package/dist/core/{p-75dac3d1.entry.js → p-6690bc04.entry.js} +2 -2
- package/dist/core/{p-c125b65a.entry.js → p-6c0e2ceb.entry.js} +2 -2
- package/dist/core/{p-a0f8efb2.entry.js → p-76d26018.entry.js} +2 -2
- package/dist/core/{p-4f413fc0.entry.js → p-776671cf.entry.js} +2 -2
- package/dist/core/{p-5ae93c16.entry.js → p-7cecf5d5.entry.js} +2 -2
- package/dist/core/{p-7ef8d616.entry.js → p-85609bdd.entry.js} +2 -2
- package/dist/core/{p-a43c12cd.entry.js → p-86012178.entry.js} +2 -2
- package/dist/core/{p-942282cd.entry.js → p-8a7e7d23.entry.js} +2 -2
- package/dist/core/{p-a50c3b9e.entry.js → p-8c90110a.entry.js} +2 -2
- package/dist/core/{p-045359e1.entry.js → p-8ea47d42.entry.js} +2 -2
- package/dist/core/{p-e834344e.entry.js → p-982a6e88.entry.js} +2 -2
- package/dist/core/{p-d8469ac0.entry.js → p-98448bdb.entry.js} +2 -2
- package/dist/core/{p-6933f8e9.entry.js → p-9d01a7ad.entry.js} +2 -2
- package/dist/core/{p-595be57d.entry.js → p-9d540656.entry.js} +2 -2
- package/dist/core/{p-fde45b29.entry.js → p-9e3178e8.entry.js} +2 -2
- package/dist/core/{p-fde45b29.entry.js.map → p-9e3178e8.entry.js.map} +1 -1
- package/dist/core/{p-81ddc39d.entry.js → p-a0f9b259.entry.js} +2 -2
- package/dist/core/{p-a31031a5.entry.js → p-a42c2f37.entry.js} +2 -2
- package/dist/core/{p-869954a2.entry.js → p-a6447b13.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-e3997d60.entry.js → p-ae422058.entry.js} +2 -2
- package/dist/core/{p-a434c3d4.entry.js → p-b306cbc8.entry.js} +2 -2
- package/dist/core/{p-ac4e40a7.entry.js → p-c7590421.entry.js} +2 -2
- package/dist/core/{p-f3c840cd.entry.js → p-c7820c23.entry.js} +2 -2
- package/dist/core/{p-917c5721.entry.js → p-ca8cbd6a.entry.js} +2 -2
- package/dist/core/{p-73be1251.entry.js → p-caf857de.entry.js} +2 -2
- package/dist/core/p-cc7bc438.entry.js +2 -0
- package/dist/core/p-cc7bc438.entry.js.map +1 -0
- package/dist/core/p-cd799087.js +2 -0
- package/dist/core/p-cd799087.js.map +1 -0
- package/dist/core/p-d32692e2.entry.js +2 -0
- package/dist/core/p-d32692e2.entry.js.map +1 -0
- package/dist/core/p-d35c7c18.js +2 -0
- package/dist/core/p-d35c7c18.js.map +1 -0
- package/dist/core/{p-c34848da.entry.js → p-d3856ed3.entry.js} +2 -2
- package/dist/core/{p-204ace96.entry.js → p-d4fdd8c1.entry.js} +2 -2
- package/dist/core/{p-ba86928c.entry.js → p-d5c99ec3.entry.js} +2 -2
- package/dist/core/p-e473bbf8.entry.js +2 -0
- package/dist/core/p-e473bbf8.entry.js.map +1 -0
- package/dist/core/{p-624d4f5f.entry.js → p-e74f1d09.entry.js} +2 -2
- package/dist/core/{p-fc5611e2.entry.js → p-e84b0310.entry.js} +2 -2
- package/dist/core/p-f55ad6ae.entry.js +2 -0
- package/dist/core/{p-f14454b1.entry.js.map → p-f55ad6ae.entry.js.map} +1 -1
- package/dist/core/p-f8cf2978.js +2 -0
- package/dist/core/p-f8cf2978.js.map +1 -0
- package/dist/core/p-f91527a0.entry.js +2 -0
- package/dist/core/p-f91527a0.entry.js.map +1 -0
- package/dist/core/{p-169bfa51.entry.js → p-fbf4e9b7.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/date-helpers-4f432e92.js +136 -0
- package/dist/esm/date-helpers-4f432e92.js.map +1 -0
- package/dist/esm/{helpers-12b4266a.js → helpers-7aa21b0a.js} +7 -2
- package/dist/esm/helpers-7aa21b0a.js.map +1 -0
- package/dist/esm/{helpers-5271897c.js → helpers-f328a7b6.js} +92 -13
- package/dist/esm/helpers-f328a7b6.js.map +1 -0
- 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 +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-date-input.entry.js +1069 -0
- package/dist/esm/ic-date-input.entry.js.map +1 -0
- package/dist/esm/ic-date-picker.entry.js +1039 -0
- package/dist/esm/ic-date-picker.entry.js.map +1 -0
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +1 -1
- 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} +5 -67
- 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 +1 -1
- package/dist/esm/ic-navigation-item.entry.js +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-pagination-bar.entry.js +1 -1
- package/dist/esm/ic-pagination_4.entry.js +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 +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-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 +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/index-93509377.js +12 -4
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +242 -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 +251 -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-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts +1 -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 +439 -4
- 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 +83 -11
- package/dist/types/utils/types.d.ts +92 -1
- package/hydrate/index.js +2653 -253
- package/package.json +3 -3
- package/dist/cjs/helpers-93c5fc92.js.map +0 -1
- package/dist/cjs/helpers-b525d45a.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/core/p-21150122.entry.js +0 -2
- package/dist/core/p-21150122.entry.js.map +0 -1
- package/dist/core/p-99cad6c2.js +0 -2
- package/dist/core/p-99cad6c2.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-e0a94f2d.entry.js +0 -2
- package/dist/core/p-e0a94f2d.entry.js.map +0 -1
- 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/esm/helpers-12b4266a.js.map +0 -1
- package/dist/esm/helpers-5271897c.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/core/{p-8b08d8fe.entry.js.map → p-06ae5bec.entry.js.map} +0 -0
- /package/dist/core/{p-f843da01.entry.js.map → p-0939ce92.entry.js.map} +0 -0
- /package/dist/core/{p-e0462b23.entry.js.map → p-16f67397.entry.js.map} +0 -0
- /package/dist/core/{p-db9c03c0.entry.js.map → p-1832f4b5.entry.js.map} +0 -0
- /package/dist/core/{p-ab09986c.entry.js.map → p-1b7d426b.entry.js.map} +0 -0
- /package/dist/core/{p-5e0c830b.entry.js.map → p-1ce75941.entry.js.map} +0 -0
- /package/dist/core/{p-1ca332ca.entry.js.map → p-2e2e0099.entry.js.map} +0 -0
- /package/dist/core/{p-4753bac8.entry.js.map → p-36508aad.entry.js.map} +0 -0
- /package/dist/core/{p-10fb4c46.entry.js.map → p-3745da83.entry.js.map} +0 -0
- /package/dist/core/{p-3803a5b5.entry.js.map → p-3f2e77c3.entry.js.map} +0 -0
- /package/dist/core/{p-88d54b72.entry.js.map → p-47ac6838.entry.js.map} +0 -0
- /package/dist/core/{p-4baa0916.entry.js.map → p-4f1ffa39.entry.js.map} +0 -0
- /package/dist/core/{p-f7a14c01.entry.js.map → p-5759d771.entry.js.map} +0 -0
- /package/dist/core/{p-6c3044b6.entry.js.map → p-5e2e6c3b.entry.js.map} +0 -0
- /package/dist/core/{p-2eac7dcc.entry.js.map → p-5fe96107.entry.js.map} +0 -0
- /package/dist/core/{p-b82dcc29.entry.js.map → p-62e22508.entry.js.map} +0 -0
- /package/dist/core/{p-75dac3d1.entry.js.map → p-6690bc04.entry.js.map} +0 -0
- /package/dist/core/{p-c125b65a.entry.js.map → p-6c0e2ceb.entry.js.map} +0 -0
- /package/dist/core/{p-a0f8efb2.entry.js.map → p-76d26018.entry.js.map} +0 -0
- /package/dist/core/{p-4f413fc0.entry.js.map → p-776671cf.entry.js.map} +0 -0
- /package/dist/core/{p-5ae93c16.entry.js.map → p-7cecf5d5.entry.js.map} +0 -0
- /package/dist/core/{p-7ef8d616.entry.js.map → p-85609bdd.entry.js.map} +0 -0
- /package/dist/core/{p-a43c12cd.entry.js.map → p-86012178.entry.js.map} +0 -0
- /package/dist/core/{p-942282cd.entry.js.map → p-8a7e7d23.entry.js.map} +0 -0
- /package/dist/core/{p-a50c3b9e.entry.js.map → p-8c90110a.entry.js.map} +0 -0
- /package/dist/core/{p-045359e1.entry.js.map → p-8ea47d42.entry.js.map} +0 -0
- /package/dist/core/{p-e834344e.entry.js.map → p-982a6e88.entry.js.map} +0 -0
- /package/dist/core/{p-d8469ac0.entry.js.map → p-98448bdb.entry.js.map} +0 -0
- /package/dist/core/{p-6933f8e9.entry.js.map → p-9d01a7ad.entry.js.map} +0 -0
- /package/dist/core/{p-595be57d.entry.js.map → p-9d540656.entry.js.map} +0 -0
- /package/dist/core/{p-81ddc39d.entry.js.map → p-a0f9b259.entry.js.map} +0 -0
- /package/dist/core/{p-a31031a5.entry.js.map → p-a42c2f37.entry.js.map} +0 -0
- /package/dist/core/{p-869954a2.entry.js.map → p-a6447b13.entry.js.map} +0 -0
- /package/dist/core/{p-e3997d60.entry.js.map → p-ae422058.entry.js.map} +0 -0
- /package/dist/core/{p-a434c3d4.entry.js.map → p-b306cbc8.entry.js.map} +0 -0
- /package/dist/core/{p-ac4e40a7.entry.js.map → p-c7590421.entry.js.map} +0 -0
- /package/dist/core/{p-f3c840cd.entry.js.map → p-c7820c23.entry.js.map} +0 -0
- /package/dist/core/{p-917c5721.entry.js.map → p-ca8cbd6a.entry.js.map} +0 -0
- /package/dist/core/{p-73be1251.entry.js.map → p-caf857de.entry.js.map} +0 -0
- /package/dist/core/{p-c34848da.entry.js.map → p-d3856ed3.entry.js.map} +0 -0
- /package/dist/core/{p-204ace96.entry.js.map → p-d4fdd8c1.entry.js.map} +0 -0
- /package/dist/core/{p-ba86928c.entry.js.map → p-d5c99ec3.entry.js.map} +0 -0
- /package/dist/core/{p-624d4f5f.entry.js.map → p-e74f1d09.entry.js.map} +0 -0
- /package/dist/core/{p-fc5611e2.entry.js.map → p-e84b0310.entry.js.map} +0 -0
- /package/dist/core/{p-169bfa51.entry.js.map → p-fbf4e9b7.entry.js.map} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["VARIANT_ICONS","neutral","icon","neutralIcon","ariaLabel","info","infoIcon","warning","warningIcon","error","errorIcon","success","successIcon","IC_INHERITED_ARIA","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","DARK_MODE_THRESHOLD","icInput","linkIcInput","inheritAttributes","element","attributes","attributeObject","forEach","attr","hasAttribute","value","getAttribute","removeAttribute","debounceEvent","event","wait","original","_original","emit","debounce","bind","func","timer","args","clearTimeout","setTimeout","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","renderFileHiddenInput","multiple","accept","hidden","files","onchange","click","removeHiddenInput","remove","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","trim","getThemeFromContext","themeFromEvent","_a","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","includes","IcThemeForegroundEnum","Default","contains","Dark","Light","isMobileOrTablet","navigator","maxTouchPoints","handleHiddenFormButtonClick","form","button","hiddenFormButton","document","setAttribute","style","display","isEmptyString","length","isPropDefined","prop","getLabelFromValue","options","valueField","labelField","ungroupedOptions","map","option","children","push","matchingValue","find","getFilteredMenuOptions","includeDescriptions","searchString","position","label","description","lowerSearchString","startsWith","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","UNDEFINED","getCssProperty","cssVar","getComputedStyle","documentElement","getPropertyValue","getThemeColorBrightness","themeRed","themeGreen","themeBlue","parseInt","getThemeForegroundColor","getSlot","querySelector","slotHasContent","getSlotContent","slot","getSlotElements","slotContent","firstElementChild","elements","assignedElements","childNodes","getNavItemParentDetails","navType","parent","getParentElementType","getParentElement","Number","replace","hasValidationStatus","status","isSlotUsed","slotName","some","child","onComponentPropUndefinedChange","oldValue","newValue","callback","onComponentRequiredPropUndefined","props","component","i","propName","console","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","hex2dec","v","hexToRgba","hex","c","r","g","b","a","slice","rgbaStrToObj","rgbaStr","fourthChar","colorRGBA","rgba","rgb","elementOverflowsX","scrollWidth","clientWidth","hasClassificationBanner","getForm","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","removeDisabledFalse"],"sources":["../web-components/dist/collection/utils/constants.js","../web-components/dist/collection/utils/helpers.js"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\nexport const IC_BLOCK_COLOR_EXCEPTIONS = {\n \"ic-alert\": [\"ic-link\"],\n};\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n//# sourceMappingURL=constants.js.map\n","import { IcThemeForegroundEnum, } from \"../utils/types\";\nimport { IC_BLOCK_COLOR_COMPONENTS, IC_BLOCK_COLOR_EXCEPTIONS, IC_FIXED_COLOR_COMPONENTS, } from \"./constants\";\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst icInput = \"ic-input\";\nconst linkIcInput = \"input.ic-input\";\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (theEnum) => {\n const arr = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val;\n arr.push(str);\n }\n });\n return arr;\n};\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (element, attributes = []) => {\n const attributeObject = {};\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n }\n element.removeAttribute(attr);\n }\n });\n return attributeObject;\n};\nexport const debounceEvent = (event, wait) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = event._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n };\n};\nexport const debounce = (func, wait = 0) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (always, container, name, value, disabled) => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n let input = filtered[0];\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n }\n else {\n input.value = value || \"\";\n }\n }\n};\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n */\nexport const renderFileHiddenInput = (event, container, multiple, name, value, disabled, accept) => {\n if (name !== undefined && hasShadowDom(container)) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n let input = filtered[0];\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.files = value;\n input.disabled = disabled;\n input.accept = accept;\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\nexport const removeHiddenInput = (container) => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0];\n input === null || input === void 0 ? void 0 : input.remove();\n};\nexport const hasShadowDom = (el) => !!el.shadowRoot && !!el.attachShadow;\nexport const getInputHelperTextID = (id) => id + \"-helper-text\";\nexport const getInputValidationTextID = (id) => id + \"-validation-text\";\nexport const getInputDescribedByText = (inputId, helperText, validationText) => `${helperText ? getInputHelperTextID(inputId) : \"\"} ${validationText ? getInputValidationTextID(inputId) : \"\"}`.trim();\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (el, themeFromEvent = null) => {\n var _a;\n const parentElement = el.parentElement || el.getRootNode().host.parentElement;\n const blockColorParent = parentElement.closest(IC_BLOCK_COLOR_COMPONENTS.join(\",\"));\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n if ((_a = IC_BLOCK_COLOR_EXCEPTIONS[parentTag]) === null || _a === void 0 ? void 0 : _a.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n }\n else if (themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)) {\n return themeFromEvent;\n }\n else if (blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)) {\n return IcThemeForegroundEnum.Dark;\n }\n return IcThemeForegroundEnum.Light;\n }\n return IcThemeForegroundEnum.Default;\n};\nexport const isMobileOrTablet = () => \"maxTouchPoints\" in navigator ? navigator.maxTouchPoints > 0 : false;\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (form, button) => {\n const hiddenFormButton = document.createElement(\"button\");\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n form.appendChild(hiddenFormButton);\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\nexport const isEmptyString = (value) => value ? value.trim().length === 0 : true;\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop) => prop !== undefined ? prop : null;\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (value, options, valueField = \"value\", labelField = \"label\") => {\n const ungroupedOptions = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => ungroupedOptions.push(option));\n }\n else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find((option) => option[valueField] === value);\n if (matchingValue !== undefined)\n return matchingValue[labelField];\n }\n return undefined;\n};\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (options, includeDescriptions, searchString, position, labelField = \"label\") => options.filter((option) => {\n var _a;\n const label = option[labelField].toLowerCase();\n const description = (_a = option.description) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n (description === null || description === void 0 ? void 0 : description.includes(lowerSearchString))\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n (description === null || description === void 0 ? void 0 : description.startsWith(lowerSearchString))\n : label.startsWith(lowerSearchString);\n});\nexport const deviceSizeMatches = (size) => window.matchMedia(`(max-width: ${size}px)`).matches;\nexport const getCurrentDeviceSize = () => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\nexport const getCssProperty = (cssVar) => getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = () => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return ((parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000);\n};\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getThemeForegroundColor = () => getThemeColorBrightness() > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\nexport const getSlot = (element, name) => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\nexport const slotHasContent = (element, name) => getSlot(element, name) !== null;\nexport const getSlotContent = (element, name) => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n return null;\n};\nexport const getSlotElements = (slot) => {\n const slotContent = slot.firstElementChild;\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n }\n else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\nexport const getNavItemParentDetails = (el) => {\n let navType = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\nexport const hasValidationStatus = (status, disabled) => {\n return status !== \"\" && !disabled;\n};\nexport const isSlotUsed = (element, slotName) => Array.from(element.children).some((child) => child.getAttribute(\"slot\") === slotName);\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (oldValue, newValue, callback) => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\nexport const onComponentRequiredPropUndefined = (props, component) => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(`No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(propName)}' (react) required`);\n }\n }\n};\nexport const kebabToCamelCase = (kebabCase) => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\nexport const checkResizeObserver = (callbackFn) => {\n if (typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\") {\n callbackFn();\n }\n};\nconst hex2dec = function (v) {\n return parseInt(v, 16);\n};\nexport const hexToRgba = (hex) => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n }\n else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\nexport const rgbaStrToObj = (rgbaStr) => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n }\n else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n return colorRGBA;\n};\nexport const elementOverflowsX = (element) => element.scrollWidth > element.clientWidth;\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child) => child.parentElement.tagName;\nexport const getParentElement = (child) => child.parentElement;\nexport const hasClassificationBanner = () => !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\nexport const getForm = (el) => el.closest(\"FORM\");\nexport const addFormResetListener = (el, callbackFn) => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\nexport const removeFormResetListener = (el, callbackFn) => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\nexport const pxToRem = (px, base = 16) => `${(1 / base) * parseInt(px)}rem`;\nexport const removeDisabledFalse = (disabled, element) => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\nexport const isMacDevice = () => {\n return window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n};\nexport const isNumeric = (value) => {\n return /^-?\\d+$/.test(value);\n};\n//# sourceMappingURL=helpers.js.map\n"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r,h as i,H as e}from"./p-8455d1bb.js";import{u as s}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r,h as i,H as e}from"./p-8455d1bb.js";import{u as s}from"./p-d35c7c18.js";import{I as c}from"./p-fd186591.js";const a="hr.sc-ic-divider{padding:0;margin:0;border:none;height:var(--ic-space-1px);background-color:var(--ic-keyline-darken-rgb)}hr.light.sc-ic-divider{background-color:var(--ic-keyline-lighten-rgb)}";const o=class{constructor(i){r(this,i);this.foregroundColor=s()}themeChangeHandler(r){const i=r.detail;this.foregroundColor=i.mode}render(){return i(e,{"aria-hidden":"true"},i("hr",{class:{["light"]:this.foregroundColor===c.Light}}))}};o.style=a;export{o as ic_divider};
|
2
|
+
//# sourceMappingURL=p-d3856ed3.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,c as t,h as i,H as o,g as s}from"./p-8455d1bb.js";import{j as a,a as n,q as r,s as l}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as t,h as i,H as o,g as s}from"./p-8455d1bb.js";import{j as a,a as n,q as r,s as l}from"./p-d35c7c18.js";import"./p-fd186591.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}ic-input-label.error{color:var(--ic-status-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}';const d=class{constructor(i){e(this,i);this.icChange=t(this,"icChange",7);this.disabled=false;this.helperText="";this.hideLabel=false;this.label=undefined;this.name=undefined;this.required=false;this.size="default";this.small=false;this.validationStatus="";this.validationText=""}handleChange(e){if(e.target.tagName==="IC-TEXT-FIELD"){e.stopImmediatePropagation()}}componentWillLoad(){a(this.disabled,this.el)}componentDidLoad(){Array.from(this.el.querySelectorAll("ic-checkbox")).forEach((e=>{if(!e.name)e.name=this.name;e.groupLabel=this.label}));n([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Checkbox Group")}selectHandler(e){const t=Array.from(this.el.querySelectorAll("ic-checkbox")).filter((e=>e.checked&&!e.disabled));this.icChange.emit({value:t.map((e=>e.value)),checkedOptions:t.map((e=>{var t;return{checkbox:e,textFieldValue:(t=e.querySelector("ic-text-field"))===null||t===void 0?void 0:t.value}})),selectedOption:e.target})}render(){const e=r(this.name,this.helperText!=="",this.validationStatus!=="");const t=l(this.validationStatus,this.disabled);return i(o,{class:{["small"]:this.small,[`${this.size}`]:true}},(this.validationStatus==="error"||this.required||this.hideLabel)&&i("span",{id:"screenReaderOnlyText",class:"screen-reader-only-text","aria-hidden":"true"},this.label," ",this.validationStatus==="error"?"invalid data ":null," ",this.required?"required":null),i("fieldset",{id:this.name,"aria-labelledby":`${this.validationStatus==="error"||this.required||this.hideLabel?"screenReaderOnlyText":""} ${e}`.trim(),disabled:this.disabled},!this.hideLabel&&i("legend",null,i("ic-input-label",{class:{[`${this.validationStatus}`]:true},label:this.label,helperText:this.helperText,required:this.required,disabled:this.disabled,for:this.name})),i("div",{class:"checkboxes-container"},i("slot",null))),t&&i("ic-input-validation",{for:this.name,ariaLiveMode:"polite",status:this.validationStatus,message:this.validationText}))}get el(){return s(this)}};d.style=c;export{d as ic_checkbox_group};
|
2
|
+
//# sourceMappingURL=p-d4fdd8c1.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,h as e,H as s,g as i}from"./p-8455d1bb.js";import{C as a}from"./p-0aa9ce8b.js";import{d as c}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,h as e,H as s,g as i}from"./p-8455d1bb.js";import{C as a}from"./p-0aa9ce8b.js";import{d as c}from"./p-d35c7c18.js";import"./p-fd186591.js";const r=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M7.99935 4.32666L13.0193 13H2.97935L7.99935 4.32666ZM7.99935 1.66666L0.666016 14.3333H15.3327L7.99935 1.66666ZM8.66602 11H7.33268V12.3333H8.66602V11ZM8.66602 6.99999H7.33268V9.66666H8.66602V6.99999Z" fill="currentColor"/>\n</svg>`;const o=":host{display:flex;flex:auto}.step{display:flex;flex:1 1 0}.step-icon{display:flex;justify-content:center}.step-title,.step-subtitle,.step-status,.next-step{white-space:pre-line}.visually-hidden{position:absolute;left:-625rem;top:auto;width:1px;height:1px;overflow:hidden}:host(.compact){-moz-column-gap:var(--ic-space-sm);column-gap:var(--ic-space-sm);--compact-step-inner-color:var(--ic-status-info);--compact-step-circular-line-width:var(--ic-space-xxs)}:host(.compact) .step{-moz-column-gap:var(--ic-space-sm);column-gap:var(--ic-space-sm)}:host(.compact) .step:not(.current){display:none;opacity:0;visibility:hidden}.compact-step-progress-indicator{margin:var(--ic-space-xs) 0 0}:host ic-loading-indicator::part(ic-loading-container){border-radius:50%;background-color:var(--ic-architectural-white)}:host(.compact) .step-title-area{display:flex;flex-direction:column;width:14.25rem}.info-line{display:flex;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs)}.step-status{display:flex;color:var(--ic-color-secondary-text);-moz-column-gap:var(--ic-space-xxxs);column-gap:var(--ic-space-xxxs)}.compact-step-completed .step-status{color:var(--ic-status-success)}.compact-step-disabled :is(.step-title,.step-status){color:var(--ic-color-tertiary-text)}.step-num{color:var(--ic-color-secondary-text);white-space:nowrap}:host(.compact) .step-icon{margin:var(--ic-space-xxxs)}:host(.compact) .step-icon svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.default) .step{flex-direction:column}:host(.default.last-step){flex-grow:initial}.step-top{display:flex;width:100%;align-items:center;align-self:flex-start;height:2.5rem}:host(.default) .step-icon{border-radius:50%;background-color:var(--ic-architectural-white)}.step-icon-inner{width:var(--ic-space-xl);height:var(--ic-space-xl);display:flex;justify-content:center;align-items:center;border-radius:50%}:host(.default) .current{color:var(--ic-status-info)}:host(.default) .step-title-area{margin:var(--ic-space-xs) 0;padding-right:var(--ic-space-xs);width:100%}:host(.default) .step-title,.step-subtitle{width:-moz-fit-content;width:fit-content}.step-subtitle{color:var(--ic-color-tertiary-text)}.current .step-subtitle{color:var(--ic-color-primary-text)}:host(.default) .completed{color:var(--ic-status-success)}.active .step-icon-inner{box-shadow:inset var(--ic-architectural-200) 0 0 0 0.125rem}.current .step-icon-inner{background-color:var(--ic-status-info);color:white}.disabled{color:var(--ic-architectural-200)}.disabled .step-icon-inner{border:var(--ic-border-width) dashed var(--ic-architectural-200);width:calc(var(--ic-space-xl) - var(--ic-space-xxxs));height:calc(var(--ic-space-xl) - var(--ic-space-xxxs))}.disabled .step-title-area{color:var(--ic-color-tertiary-text)}.completed .step-icon-inner{background:var(--ic-status-success);box-shadow:inset var(--ic-status-success) 0 0 0 var(--ic-space-xxxs);border-radius:100%}:host(.default) .current .step-icon{border:var(--ic-space-xxxs) solid var(--ic-status-info);padding:var(--ic-space-xxxs);margin:0 calc(-1 * var(--ic-space-xxxs));}.step-connect{height:var(--ic-space-xxxs);background-color:var(--ic-architectural-200);margin:0 var(--ic-space-xs);border-radius:var(--ic-space-xxs);width:100%}.aligned-full-width.step-connect{min-width:6.25rem;width:100%}.disabled .step-connect{height:0;background-color:rgb(0 0 0 / 0%);border-top:0.125rem dashed var(--ic-architectural-200);border-radius:0}.completed .step-connect{background-color:var(--ic-status-success)}.step-connect-inner{width:70%;display:flex;flex:auto;height:var(--ic-space-xxxs);border-radius:var(--ic-space-xxs);background-color:var(--ic-status-info)}.step-icon-inner .check-icon{padding-top:var(--ic-space-xxs)}.step-icon-inner .check-icon svg{width:var(--ic-space-md);height:auto}.step-icon-inner .check-icon>svg>path{fill:var(--ic-color-white-text)}@media (forced-colors: active){.compact-step-disabled :is(.step-title,.step-status){color:GrayText}.step-connect:not(.disabled .step-connect){border:var(--ic-hc-border)}.active .step-icon-inner,.completed .step-icon-inner,.current .step-icon-inner{forced-color-adjust:none;box-shadow:inset canvastext 0 0 0 0.125rem;background-color:transparent;color:canvastext}:host(.default) .current .step-icon{padding:0;border:none}.disabled,.disabled .step-title-area{color:GrayText}.step-connect-inner,.completed .step-connect{background-color:canvastext}.step-icon-inner .check-icon>svg>path{fill:canvastext}}";const n=class{constructor(e){t(this,e);this.compactStepStyling=undefined;this.current=false;this.lastStep=undefined;this.lastStepNum=undefined;this.nextStepTitle=undefined;this.progress=undefined;this.stepNum=undefined;this.stepStatus=undefined;this.stepSubtitle=undefined;this.stepTitle=undefined;this.variant=undefined;this.stepType="active"}stepTypeChangeHandler(){if(this.variant==="compact"&&this.stepType==="current"){this.current=true}else{this.current=false}}render(){let t="";if(this.stepType==="completed"){t=". Completed step"}else if(this.stepType==="disabled"){t=". Non-required step"}else if(this.stepStatus==="required"){t=". Required step"}else if(this.stepStatus==="optional"){t=". Optional step"}let i;if(c(this.stepStatus)){i=this.stepStatus[0].toUpperCase()+this.stepStatus.slice(1)}let o;if(this.stepType==="disabled"||this.compactStepStyling==="disabled"){o="Not required"}else if(this.compactStepStyling==="completed"){o="Completed"}let n;if(this.stepType==="completed"||this.compactStepStyling==="completed"){n=e("span",{class:"check-icon step-icon","aria-hidden":"true",innerHTML:a})}else if(this.stepType==="disabled"||this.compactStepStyling==="disabled"){n=e("span",{class:"warning-icon step-icon","aria-hidden":"true",innerHTML:r})}const l=e("div",{class:{["step"]:true,["current"]:this.current,[`compact-step-${this.compactStepStyling}`]:!!this.compactStepStyling}},e("ic-loading-indicator",{class:{"compact-step-progress-indicator":true,"not-required":this.stepType==="disabled"||this.compactStepStyling==="disabled"},"aria-hidden":"true",size:"small","inner-label":this.stepNum,progress:this.progress}),e("div",{class:"step-title-area"},e("ic-typography",{variant:"h4",class:"step-title"},this.stepTitle),e("div",{class:"info-line"},e("ic-typography",{variant:"caption",class:"step-num"},`${this.stepNum} of ${this.lastStepNum}`,e("span",{class:"visually-hidden"}," steps")),(this.stepSubtitle||this.stepType==="completed"||this.stepType==="disabled"||this.variant==="compact"&&!!this.compactStepStyling&&this.compactStepStyling!=="active"||!!this.stepStatus)&&e("div",{class:"step-status"},n!==undefined&&n,(this.stepSubtitle||o)&&e("ic-typography",{variant:"caption"},this.stepSubtitle!==null&&c(this.stepSubtitle)?this.stepSubtitle:this.stepType==="disabled"||this.variant==="compact"&&this.compactStepStyling==="disabled"||this.stepType==="completed"||this.variant==="compact"&&this.compactStepStyling==="completed"?o:this.stepStatus&&i))),this.lastStep?e("ic-typography",{variant:"subtitle-small",class:"next-step"},"Last step"):c(this.nextStepTitle)&&e("ic-typography",{variant:"subtitle-small",class:"next-step"},"Next",e("span",{class:"visually-hidden"}," step is"),":"," ",this.nextStepTitle)));let p;if(this.stepType!=="completed"){p=e("ic-typography",{variant:"subtitle-small"},e("span",{class:"step-icon-inner","aria-hidden":"true"},this.stepNum))}else{p=e("div",{class:"step-icon-inner","aria-hidden":"true"},e("span",{class:"check-icon",innerHTML:a}))}const d=this.stepType==="current"&&e("div",{class:"step-connect-inner"});const h=!this.lastStep&&e("div",{class:{["step-connect"]:true,["aligned-full-width"]:this.el.parentElement.classList.contains("default")&&!this.el.parentElement.classList.contains("aligned-left")}},d);const u=e("div",{class:{["step"]:true,[`${this.stepType}`]:true}},e("div",{class:"step-top"},e("div",{class:"step-icon"},p),h),(this.stepTitle||this.stepSubtitle||this.stepStatus)&&e("div",{class:"step-title-area"},this.stepTitle&&e("ic-typography",{variant:"subtitle-large",class:"step-title"},this.stepTitle),this.stepTitle&&(this.stepSubtitle||this.stepStatus)&&e("ic-typography",{variant:"caption",class:"step-subtitle"},this.stepSubtitle!==null&&c(this.stepSubtitle)?this.stepSubtitle:i)));return e(s,{role:"listitem","aria-label":`Step ${this.stepNum}${t}`,"aria-current":(this.current||this.stepType==="current")&&"step",class:{["aligned-full-width"]:this.el.parentElement.classList.contains("default")&&!this.el.parentElement.classList.contains("aligned-left"),[`${this.variant}`]:true}},this.variant==="compact"?l:u)}get el(){return i(this)}static get watchers(){return{stepType:["stepTypeChangeHandler"]}}};n.style=o;export{n as ic_step};
|
2
|
+
//# sourceMappingURL=p-d5c99ec3.entry.js.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as s,H as e,g as h}from"./p-8455d1bb.js";import{q as a,s as n,k as r,r as o,h as l,o as c,t as d,p as u,j as f,m as p,I as b,a as m}from"./p-cd799087.js";import{i as v,j as w,s as g,h as y,k}from"./p-f8cf2978.js";const x=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const $=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M16.6667 2.50004H15.8334V0.833374H14.1667V2.50004H5.83342V0.833374H4.16675V2.50004H3.33341C2.41675 2.50004 1.66675 3.25004 1.66675 4.16671V17.5C1.66675 18.4167 2.41675 19.1667 3.33341 19.1667H16.6667C17.5834 19.1667 18.3334 18.4167 18.3334 17.5V4.16671C18.3334 3.25004 17.5834 2.50004 16.6667 2.50004ZM16.6667 17.5H3.33341V6.66671H16.6667V17.5Z" fill="currentColor"/>\n</svg>`;const D='/*! 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}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}ic-input-component-container{cursor:text}ic-input-component-container,ic-input-component-container:hover{color:var(--ic-color-tertiary-text)}.focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.day-input{width:1.438rem}.month-input{width:1.813rem}.year-input,.year-input.fit-to-value{width:2.313rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-calendar-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.calendar-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.calendar-button:focus,.clear-button:active,.calendar-button:active{background-color:var(--ic-focus-blue) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow) !important;border-radius:0.25rem}.clear-button:focus,.calendar-button:focus,.clear-button:active *,.calendar-button:active *{fill:var(--ic-architectural-white)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-architectural-400);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.default{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}';let Y=0;const M=class{constructor(e){t(this,e);this.calendarButtonClicked=i(this,"calendarButtonClicked",7);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.ARIA_INVALID="aria-invalid";this.ARIA_LABEL="aria-label";this.ARIA_LABELLED_BY="aria-labelledby";this.EVENT_OBJECT_STRING="[object Event]";this.FIT_TO_VALUE="fit-to-value";this.initialValue=this.value;this.INPUT_EVENT_OBJECT_STRING="[object InputEvent]";this.inputsInOrder=[];this.isAfterMax=false;this.isBeforeMin=false;this.isDateSetFromKeyboardEvent=false;this.isDisabledDate=false;this.isValidDay=true;this.isValidMonth=true;this.isValidDate=true;this.isZuluTime=false;this.KEYBOARD_EVENT_OBJECT_STRING="[object KeyboardEvent]";this.MAX_DAY=31;this.MAX_MONTH=12;this.previousSelectedDate=null;this.selectedDate=null;this.setInputPasteValue=(t,i)=>{const s=t;s.value=i;s.classList.add(this.FIT_TO_VALUE)};this.checkSingleCopiedValueIsValid=(t,i)=>{let s=false;const e=Number(i);switch(t){case this.dayInputEl:s=e>=1&&e<=this.MAX_DAY;break;case this.monthInputEl:s=e>=1&&e<=this.MAX_MONTH;break;case this.yearInputEl:s=true;break;default:s=false;break}return s};this.isKeyboardOrEvent=t=>Object.prototype.toString.call(t)===this.EVENT_OBJECT_STRING||Object.prototype.toString.call(t)===this.KEYBOARD_EVENT_OBJECT_STRING;this.setDateValidity=()=>{if(!a(this.day)){this.isValidDay=+this.day>this.MAX_DAY?false:true}else{this.isValidDay=true}if(!a(this.month)){this.isValidMonth=+this.month>this.MAX_MONTH?false:true}else{this.isValidMonth=true}};this.handleInput=t=>{const i=t;const s=t.target;if(s!==this.yearInputEl){if(i.inputType!=="deleteContentBackward"&&!this.preventAutoFormatting){if(s.value.length===1&&(s===this.dayInputEl&&+s.value>=4||s===this.monthInputEl&&+s.value>=2)&&+s.value<=9){this.setInputValue(s);this.notifyScreenReader(s,t);this.moveToNextInput(s)}if(s.value.length===2){if(+s.value===0){s.value="01"}this.setInputValue(s);this.setPreventInput(s,true);this.notifyScreenReader(s,t);this.moveToNextInput(s)}else{this.setPreventInput(s,false)}}else if(this.preventAutoFormatting){if(s.value.length===2&&!this.isKeyboardOrEvent(t)){this.setInputValue(s);this.setPreventInput(s,true);this.moveToNextInput(s)}else{this.setInputValue(s)}}if(s.value.length!==2){this.setPreventInput(s,false)}}else{if(s.value.length===4){this.setInputValue(s);if(Object.prototype.toString.call(t)!==this.EVENT_OBJECT_STRING){this.moveToNextInput(s)}this.setPreventInput(s,true)}else{this.setInputValue(s,true);this.setPreventInput(s,false)}}this.setFitToValueStyling(s);if(s.value.length===0){this.setInputValue(s,true);this.setValidationMessage()}this.notifyScreenReader(s,t)};this.handleKeyDown=(t,i)=>{const s=t.target;const e=t.key.toLowerCase();const h=/-?\d*\.?\d+(e[-+]?\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;if(!h.test(e)&&!((t.ctrlKey||t.metaKey)&&(e==="v"||e==="c"))){t.preventDefault()}switch(e){case"/":case"-":case".":t.preventDefault();this.setPasteInvalidText();this.moveToNextInput(s);break;case"arrowright":case"arrowleft":t.preventDefault();this.handleLeftRightArrowKeyPress(s,e);break;case"arrowup":case"arrowdown":this.preventAutoFormatting=true;this.handleUpDownArrowKeyPress(s,t);break}this.preventInput(t,i);this.isDateSetFromKeyboardEvent=true};this.handleFocus=t=>{const i=t.target;i.select()};this.handleBlur=t=>{const i=t.target;this.setPasteInvalidText();this.autocompleteInput(i)};this.handleLeftRightArrowKeyPress=(t,i)=>{if(i==="arrowright"){this.moveToNextInput(t)}else{this.moveToPreviousInput(t)}this.setPasteInvalidText()};this.notifyScreenReaderSelectedDate=()=>{const t=n(b);const i=n(m);this.selectedDateInfoEl.textContent=`Selected date: ${t[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${i[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`};this.handleUpDownArrowKeyPress=(t,i)=>{const s=t===this.yearInputEl?0:1;let e;switch(t){case this.dayInputEl:e=this.MAX_DAY;break;case this.monthInputEl:e=this.MAX_MONTH;break;case this.yearInputEl:e=9999}if(t===null||t===void 0?void 0:t.value){if(i.key==="ArrowUp"){if(+t.value===e){i.preventDefault();t.value=`0${s}`}else{t.value=+t.value+1<10?`0${+t.value+1}`:(+t.value+1).toString()}this.notifyScreenReader(t,i)}if(i.key==="ArrowDown"){if(+t.value===s){i.preventDefault();t.value=e.toString()}else{t.value=+t.value-1<10?`0${+t.value-1}`:(+t.value-1).toString()}this.notifyScreenReader(t,i)}}else{if(i.key==="ArrowDown"){i.preventDefault();if(t===this.yearInputEl){t.value=(new Date).getFullYear().toString()}else{t.value=e.toString()}this.notifyScreenReader(t,i)}else if(i.key==="ArrowUp"){i.preventDefault();if(t===this.yearInputEl){t.value=(new Date).getFullYear().toString()}else{t.value=`0${s}`}this.notifyScreenReader(t,i)}}this.setInputValue(t);this.setFitToValueStyling(t)};this.handleDateChange=t=>{if(t||this.selectedDate!==this.previousSelectedDate){if(this.value){this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}if(this.day&&this.month&&this.year&&this.invalidDateText===""){this.setValueAndEmitChange(this.selectedDate);this.notifyScreenReaderSelectedDate()}else{this.setValueAndEmitChange(null);this.selectedDateInfoEl.textContent=""}this.previousSelectedDate=this.selectedDate;if(!this.isDateSetFromKeyboardEvent){this.updateInputValues(this.day,this.month,this.year)}}};this.slicePastedDate=(t,i)=>i.length>t?i.slice(0,t):i;this.isPastedStringDateValid=t=>{if(/\d+-\d+-\d+$/.test(t)||/\d+\/\d+\/\d+/.test(t)||/\d+\.\d+\.\d+/.test(t)){return true}if(/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\.\d+)?)?Z/.test(t)){this.isZuluTime=true;return true}return false};this.handlePaste=t=>{t.preventDefault();const i=t.clipboardData.getData("Text");const s=this.isPastedStringDateValid(i);this.setPastedValueAndValidation(s,i,t)};this.setDate=t=>{if(t===null||t===""||t===undefined){this.day=null;this.month=null;this.year=null;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setPreventInput(t,false)}));this.handleDateChange(true)}else{if(v(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=w(i.getDate());this.month=w(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=g(t,this.dateFormat);this.year=i[0];this.month=i[1];this.day=i[2]}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=w(t.getDate());const e=w(t.getMonth()+1);const h=t.getFullYear();switch(this.dateFormat){case"DD/MM/YYYY":i=`${s}/${e}/${h}`;break;case"MM/DD/YYYY":i=`${e}/${s}/${h}`;break;case"YYYY/MM/DD":i=`${h}/${e}/${s}`;break}return i};this.updateInputValues=(t,i,s)=>{this.dayInputEl.value=t;this.monthInputEl.value=i;this.yearInputEl.value=s};this.setInputValue=(t,i=false)=>{const s=i?"":t.value;switch(t){case this.dayInputEl:this.day=s;break;case this.monthInputEl:this.month=s;break;case this.yearInputEl:if(this.year!==s){this.year=s}}this.setValidationMessage()};this.setValidationMessage=()=>{this.setDateValidity();if(!a(this.day)&&!a(this.month)&&!a(this.year)){this.selectedDate=this.convertToDate(this.year,this.month,this.day);this.isValidDate=+this.selectedDate!==0&&this.selectedDate.getDate()==+this.day;this.isDisabledDate=this.isSelectedDateDisabled();if(!this.isValidDate||this.isDisabledDate){this.inputsInOrder.forEach((t=>t.setAttribute(this.ARIA_INVALID,"true")))}else{this.inputsInOrder.forEach((t=>t.removeAttribute(this.ARIA_INVALID)))}}else{this.selectedDate=null}if(!(this.isValidDay&&this.isValidMonth&&this.isValidDate)){this.invalidDateText="Please enter a valid date."}else if(this.isDisabledDate&&this.selectedDate!==null){if(this.isBeforeMin){if(this.disablePast){this.invalidDateText=this.disablePastMessage}else{this.invalidDateText=`Please enter a date after ${this.formatMinMax(this.minDate)}.`}}else if(this.isAfterMax){if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}else{this.invalidDateText=`Please enter a date before ${this.formatMinMax(this.maxDate)}.`}}else if(this.disableDays.length!==0){this.invalidDateText=this.disableDaysMessage}else{if(this.disablePast){this.invalidDateText=this.disablePastMessage}if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}}}else{this.invalidDateText=""}};this.setInputsInOrder=()=>{const t=this.el.shadowRoot.querySelectorAll("input");t.forEach((t=>this.inputsInOrder.push(t)))};this.setAriaLabelledBy=()=>{var t;if(this.disabled&&!a((t=this.inputCompContainerEl)===null||t===void 0?void 0:t.getAttribute(this.ARIA_LABELLED_BY))){this.removeAriaLabelledBy();return}if(this.disabled){return}const i=this.el.shadowRoot.querySelector("label");const s=`${this.inputId}-label`;if(i!==null&&i!==undefined){i.id=s;const t=!a(this.validationStatus)&&!a(this.validationText)||!a(this.invalidDateText);const e=`${s} ${this.screenReaderInfoId} ${r(this.inputId,this.helperText!==""&&this.helperText!==this.defaultHelperText,t)} ${this.selectedDate?this.selectedDateInfoId:""} ${this.assistiveHintId}`;this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY,e)}};this.setPreventInput=(t,i)=>{switch(t){case this.dayInputEl:this.preventDayInput=i;break;case this.monthInputEl:this.preventMonthInput=i;break;case this.yearInputEl:this.preventYearInput=i}};this.getInputFromDatePart=t=>{const i=s("input",{class:"day-input",id:"day-input",ref:t=>this.dayInputEl=t,"aria-label":"day",placeholder:"DD",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventDayInput)});const e=s("input",{id:"month-input",class:"month-input",ref:t=>this.monthInputEl=t,"aria-label":"month",placeholder:"MM",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventMonthInput)});const h=s("input",{id:"year-input",class:"year-input",ref:t=>this.yearInputEl=t,"aria-label":"year",placeholder:"YYYY",maxLength:4,disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventYearInput)});let a;switch(t){case"D":a=i;break;case"M":a=e;break;case"Y":a=h}return a};this.getInputsInOrder=()=>{const t=this.dateFormat.split("/");const i=[];t.forEach((t=>{i.push(this.getInputFromDatePart(t.substring(0,1)))}));return i};this.getDescOfInputsOrder=()=>{let t;switch(this.dateFormat){case"DD/MM/YYYY":t="day, month, and year";break;case"MM/DD/YYYY":t="month, day, and year";break;case"YYYY/MM/DD":t="year, month, and day"}return t};this.getScreenReaderInfo=t=>{let i="";if(this.required){i+="required"}if(t===u.Error){i+=" invalid data"}return i===""?"":i+", "};this.preventInput=(t,i)=>{const s=t.key;const e=t.target;let h;if(e){h=e.value.substring(e.selectionStart,e.selectionEnd)}if(s==="e"||s==="."||s==="-"||t.key>="0"&&t.key<="9"&&i&&!h){t.preventDefault()}};this.isSelectedDateDisabled=()=>{const t=new Date;this.isAfterMax=false;this.isBeforeMin=false;let i=false;const s=this.selectedDate.toDateString()!==t.toDateString();if(this.minDate&&this.selectedDate<this.minDate&&s){this.isBeforeMin=true;i=true}if(this.maxDate&&this.selectedDate>this.maxDate&&s){this.isAfterMax=true;i=true}if(this.disableDays.includes(this.selectedDate.getDay())){i=true}if((this.disablePast&&this.selectedDate<t||this.disableFuture&&this.selectedDate>t)&&s){i=true}return i};this.moveToNextInput=t=>{const i=this.inputsInOrder.findIndex((i=>i===t));const s=this.inputsInOrder[i+1];this.preventAutoFormatting=false;if(s){s.focus()}};this.moveToPreviousInput=t=>{const i=this.inputsInOrder.findIndex((i=>i===t));this.preventAutoFormatting=false;if(this.inputsInOrder[i-1]){this.inputsInOrder[i-1].focus()}};this.autocompleteInput=t=>{if(t===this.yearInputEl){this.autocompleteYear()}else{const i=t.value;if(i.length===1){if(+i===0){t.value="01"}else{t.value=`0${i}`}}}if(t.value){this.setInputValue(t)}};this.autocompleteYear=()=>{const t=this.yearInputEl.value;const i=["2","0","0"];let s="";if(t){i.forEach(((i,e)=>{if(t.length+e<=3){s+=i}}));this.yearInputEl.value=`${s}${t}`}};this.convertToDate=(t,i,s)=>{if(!a(t)&&!a(i)&&!a(s)){return new Date(+t,+i-1,+s)}else{return null}};this.handleHostBlur=()=>{this.removeLabelledBy=false;this.icBlur.emit({value:this.selectedDate})};this.handleHostFocus=()=>{if(this.el.shadowRoot.activeElement.id.match(/(day|month|year)-input$/)){this.removeLabelledBy=false}else{this.removeLabelledBy=true}this.icFocus.emit({value:this.selectedDate})};this.handleFormReset=()=>{this.setDate(this.initialValue);this.setValidationMessage();this.handleDateChange(false)};this.getAriaLabel=t=>t.getAttribute(this.ARIA_LABEL);this.notifyScreenReaderArrowKeys=t=>{const i=this.el.shadowRoot.querySelector("#live-region");let s="";const e=this.getAriaLabel(t);if(i&&t.value){if(t===this.monthInputEl&&!!m[+t.value-1]){s=`${t.value} - ${m[+t.value-1]}, ${e}`}if(t===this.dayInputEl||t===this.yearInputEl){s=`${t.value}, ${e}`}i.textContent=s}};this.notifyScreenReaderInput=(t,i)=>{let s="";const e=this.getAriaLabel(t);if(t===this.dayInputEl||t===this.monthInputEl){if(t.value.length===2){if(t===this.monthInputEl&&!!m[+t.value-1]&&this.isValidMonth){s=`${t.value} - ${m[+t.value-1]}, ${e}`}if(t===this.dayInputEl&&this.isValidDay){s=`${t.value}, ${e}`}}else{s=""}}else{if(t.value.length===4){s=`${t.value}, ${e}`}else{s=""}}i.textContent=s};this.setFitToValueStyling=t=>{if(t.value){t.classList.add(this.FIT_TO_VALUE)}else{t.classList.remove(this.FIT_TO_VALUE)}};this.setAriaInvalid=(t,i,s,e)=>{if(this.inputsInOrder.length){this.inputsInOrder.forEach((t=>{t.removeAttribute(this.ARIA_INVALID)}));if(!t){this.dayInputEl.setAttribute(this.ARIA_INVALID,"true")}if(!i){this.monthInputEl.setAttribute(this.ARIA_INVALID,"true")}if(!s||e){this.inputsInOrder.forEach((t=>{t.setAttribute(this.ARIA_INVALID,"true")}))}}};this.handleClear=()=>{this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setInputValue(t,true);this.setPreventInput(t,false)}));this.isDateSetFromKeyboardEvent=false;this.setValueAndEmitChange(null);this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{t.stopImmediatePropagation();this.calendarButtonEl.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});this.calendarButtonEl.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(this.value!==t){this.icChange.emit({value:t});this.value=t}};this.handleCalendarFocus=()=>{this.calendarFocused=true};this.handleCalendarBlur=()=>{this.calendarFocused=false};this.handleClearFocus=()=>{this.removeLabelledBy=true;this.clearButtonFocused=true};this.handleClearBlur=t=>{this.clearButtonFocused=false;if(t.relatedTarget.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};this.day="";this.invalidDateText=undefined;this.maxDate=undefined;this.minDate=undefined;this.month="";this.year="";this.calendarFocused=false;this.clearButtonFocused=false;this.removeLabelledBy=false;this.dateFormat="DD/MM/YYYY";this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.helperText=undefined;this.inputId=`ic-date-input-${Y++}`;this.label=undefined;this.max="";this.min="";this.name=this.inputId;this.required=false;this.showCalendarButton=false;this.showClearButton=true;this.size="default";this.value="";this.validationStatus="";this.validationText=""}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=y(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=y(this.min,this.dateFormat)}}disconnectedCallback(){o(this.el,this.handleFormReset)}componentWillLoad(){this.defaultHelperText=`Use format ${this.dateFormat}`;if(a(this.helperText)){this.helperText=this.defaultHelperText}this.watchMinHandler();this.watchMaxHandler();if(this.value){this.setDate(this.value)}this.screenReaderInfoId=`${this.inputId}-screen-reader-info`;this.assistiveHintId=`${this.inputId}-assistive-hint`;this.selectedDateInfoId=`${this.inputId}-selected-date-info`;l(this.el,this.handleFormReset)}componentDidLoad(){this.setInputsInOrder();c([{prop:this.label,propName:"label"}],"Date Input");if(this.value){this.updateInputValues(this.day,this.month,this.year);this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);if(this.value){this.notifyScreenReaderSelectedDate()}this.inputsInOrder.forEach((t=>{t.addEventListener("input",this.handleInput);t.addEventListener("focus",this.handleFocus);t.addEventListener("blur",this.handleBlur)}));const t=this.el.shadowRoot.querySelector("label");if(this.required){const i=document.createElement("span");i.setAttribute("aria-hidden","true");i.textContent=" *";t===null||t===void 0?void 0:t.appendChild(i)}}componentWillUpdate(){if(!this.isDateSetFromKeyboardEvent){this.setDate(this.value)}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);this.handleDateChange(false);this.isDateSetFromKeyboardEvent=false}componentDidRender(){if(this.removeLabelledBy){this.removeAriaLabelledBy();return}this.setAriaLabelledBy()}async getDate(){return this.selectedDate}async setCalendarFocus(){if(this.calendarButtonEl){this.calendarButtonEl.focus()}}async setDisableDays(t){this.disableDays=t}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?k(i):i;const s=t.split(/-|\/|\./);this.inputsInOrder.forEach(((t,i)=>{t.classList.add(this.FIT_TO_VALUE);if(this.isZuluTime){this.pasteZuluDateTime(s,i)}else{let e;if(t===this.dayInputEl||t===this.monthInputEl){e=this.slicePastedDate(2,s[i])}else{e=this.slicePastedDate(4,s[i])}t.value=e;this.setInputValue(t);this.autocompleteInput(t)}}));this.isZuluTime=false;break}case(i.length===1||i.length===2||i.length===4)&&d(i):if(this.checkSingleCopiedValueIsValid(s.target,i)){this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}else{this.displayPastedValidation(s)}break;case i.length===3&&d(i):if(s.target!==this.yearInputEl){this.displayPastedValidation(s)}else{this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}break;case i.length>=5&&d(i):this.displayPastedValidation(s)}}pasteZuluDateTime(t,i){if(i===0){const s=this.slicePastedDate(4,t[i]);this.yearInputEl.value=s;this.setInputValue(this.yearInputEl)}else if(i===1){const s=this.slicePastedDate(2,t[i]);this.monthInputEl.value=s;this.setInputValue(this.monthInputEl)}else{const s=this.slicePastedDate(2,t[i]);this.dayInputEl.value=s;this.setInputValue(this.dayInputEl)}}displayPastedValidation(t){var i;if(((i=this.invalidDateText)===null||i===void 0?void 0:i.length)>0){this.previousInvalidDateTest=this.invalidDateText}this.invalidDateText=`Please paste a valid ${this.getAriaLabel(t.target)}`;this.validationStatus=u.Error;this.isPasteValidationDisplayed=true}setPasteInvalidText(){var t;if(this.isPasteValidationDisplayed){this.invalidDateText=(t=this.previousInvalidDateTest)!==null&&t!==void 0?t:"";this.isPasteValidationDisplayed=false;this.isDateSetFromKeyboardEvent=true}}notifyScreenReader(t,i){const s=this.el.shadowRoot.querySelector("#live-region");if(s){if(this.isKeyboardOrEvent(i)){this.notifyScreenReaderArrowKeys(t)}else if(Object.prototype.toString.call(i)===this.INPUT_EVENT_OBJECT_STRING){this.notifyScreenReaderInput(t,s)}}}render(){const{inputId:t,label:i,disabled:h,helperText:n,showClearButton:r,showCalendarButton:o,size:l}=this;const c=!a(this.validationStatus)&&!a(this.validationText);const d=c?this.validationStatus:!a(this.invalidDateText)?u.Error:"";const b=`Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;f(true,this.el,this.name,this.convertToDate(this.year,this.month,this.day),this.disabled);return s(e,{onBlur:this.handleHostBlur,onFocus:this.handleHostFocus},s("ic-input-container",{disabled:h},s("ic-input-label",{for:t,label:i,helperText:n,disabled:h}),s("span",{id:this.screenReaderInfoId,class:"sr-only","aria-hidden":"true"},this.getScreenReaderInfo(d),`${this.defaultHelperText}.`),s("span",{id:this.assistiveHintId,class:"sr-only","aria-hidden":"true"},b),s("span",{id:"live-region","aria-live":"assertive",class:"sr-only"}),s("ic-input-component-container",{id:t,ref:t=>this.inputCompContainerEl=t,disabled:h,validationStatus:d,size:l,role:"group"},s("div",{class:"input-container"},s("div",{class:"date-inputs"},this.getInputsInOrder()[0],"/",this.getInputsInOrder()[1],"/",this.getInputsInOrder()[2]),s("div",{class:"action-buttons"},r&&s("ic-button",{id:"clear-button","aria-label":"Clear input",class:{["clear-button"]:true,["hidden"]:a(this.day)&&a(this.month)&&a(this.year)},disabled:this.disabled,innerHTML:x,onClick:this.handleClear,onFocus:this.handleClearFocus,onBlur:this.handleClearBlur,variant:"icon",appearance:this.clearButtonFocused?p.Light:p.Dark,size:l}),o&&s("div",{class:"show-calendar-button-wrapper"},s("div",{class:{divider:true,[l]:true}}),s("ic-button",{id:"calendar-button",ref:t=>this.calendarButtonEl=t,"aria-label":"Display calendar","aria-haspopup":"dialog",class:"calendar-button",disabled:this.disabled,innerHTML:$,onClick:this.handleCalendarOpen,variant:"icon",size:l,onFocus:this.handleCalendarFocus,onBlur:this.handleCalendarBlur,appearance:this.calendarFocused?p.Light:p.Default}))))),s("span",{id:this.selectedDateInfoId,class:"sr-only","aria-live":"polite"},s("span",{ref:t=>this.selectedDateInfoEl=t,role:"status"})),(c||!a(this.invalidDateText))&&s("ic-input-validation",{status:d,message:c?this.validationText:this.invalidDateText,for:t})))}static get delegatesFocus(){return true}get el(){return h(this)}static get watchers(){return{max:["watchMaxHandler"],min:["watchMinHandler"]}}};M.style=D;export{M as ic_date_input};
|
2
|
+
//# sourceMappingURL=p-e473bbf8.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["icDateInputCss","inputIds","DateInput","this","ARIA_INVALID","ARIA_LABEL","ARIA_LABELLED_BY","EVENT_OBJECT_STRING","FIT_TO_VALUE","initialValue","value","INPUT_EVENT_OBJECT_STRING","inputsInOrder","isAfterMax","isBeforeMin","isDateSetFromKeyboardEvent","isDisabledDate","isValidDay","isValidMonth","isValidDate","isZuluTime","KEYBOARD_EVENT_OBJECT_STRING","MAX_DAY","MAX_MONTH","previousSelectedDate","selectedDate","setInputPasteValue","input","pastedValue","inputEl","classList","add","checkSingleCopiedValueIsValid","isValid","Number","dayInputEl","monthInputEl","yearInputEl","isKeyboardOrEvent","event","Object","prototype","toString","call","setDateValidity","isEmptyString","day","month","handleInput","inputEvent","target","inputType","preventAutoFormatting","length","setInputValue","notifyScreenReader","moveToNextInput","setPreventInput","setFitToValueStyling","setValidationMessage","handleKeyDown","isInputPrevented","eventKey","key","toLowerCase","regex","test","ctrlKey","metaKey","preventDefault","setPasteInvalidText","handleLeftRightArrowKeyPress","handleUpDownArrowKeyPress","preventInput","handleFocus","select","handleBlur","autocompleteInput","moveToPreviousInput","notifyScreenReaderSelectedDate","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","selectedDateInfoEl","textContent","getDay","getDate","getMonth","getFullYear","minValue","maxValue","Date","handleDateChange","force","forEach","year","invalidDateText","setValueAndEmitChange","updateInputValues","slicePastedDate","valueLength","datePart","slice","isPastedStringDateValid","handlePaste","clipboardData","getData","setPastedValueAndValidation","setDate","date","undefined","remove","isDateOrEpoch","newDate","convertToDoubleDigits","defaultDateArray","splitStringDate","dateFormat","formatMinMax","formattedDate","clear","newValue","convertToDate","isSelectedDateDisabled","setAttribute","removeAttribute","disablePast","disablePastMessage","minDate","disableFuture","disableFutureMessage","maxDate","disableDays","disableDaysMessage","setInputsInOrder","inputs","el","shadowRoot","querySelectorAll","push","setAriaLabelledBy","disabled","_a","inputCompContainerEl","getAttribute","removeAriaLabelledBy","labelEl","querySelector","labelId","inputId","id","hasValidation","validationStatus","validationText","labelledBy","screenReaderInfoId","getInputDescribedByText","helperText","defaultHelperText","selectedDateInfoId","assistiveHintId","isPrevented","preventDayInput","preventMonthInput","preventYearInput","getInputFromDatePart","dayInput","h","class","ref","placeholder","onPaste","inputmode","pattern","onKeyDown","monthInput","yearInput","maxLength","getInputsInOrder","dateParts","split","part","substring","getDescOfInputsOrder","description","getScreenReaderInfo","inputDescriptors","required","IcInformationStatus","Error","selectedString","selectionStart","selectionEnd","currentDate","isNotToday","toDateString","includes","currentInput","currentInputPos","findIndex","nextInput","focus","autocompleteYear","inputValue","yearNumbers","autocompletedInput","number","index","handleHostBlur","removeLabelledBy","icBlur","emit","handleHostFocus","activeElement","match","icFocus","handleFormReset","getAriaLabel","notifyScreenReaderArrowKeys","liveRegion","announcement","ariaLabel","notifyScreenReaderInput","setAriaInvalid","validDay","validMonth","validDate","disabledDate","handleClear","handleCalendarOpen","ev","stopImmediatePropagation","calendarButtonEl","displayTooltip","calendarButtonClicked","icChange","handleCalendarFocus","calendarFocused","handleCalendarBlur","handleClearFocus","clearButtonFocused","handleClearBlur","relatedTarget","watchMaxHandler","createDate","max","watchMinHandler","min","disconnectedCallback","removeFormResetListener","componentWillLoad","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","addEventListener","asteriskSpan","document","createElement","appendChild","componentWillUpdate","componentDidRender","setCalendarFocus","setDisableDays","days","nextParsedValue","extractDateFromZuluDateTime","pasteZuluDateTime","dateValue","isNumeric","displayPastedValidation","previousInvalidDateTest","isPasteValidationDisplayed","render","showClearButton","showCalendarButton","size","hasCustomValidation","assistiveHint","renderHiddenInput","name","Host","onBlur","onFocus","for","role","innerHTML","Clear","onClick","variant","appearance","IcThemeForegroundEnum","Light","Dark","divider","Calendar","Default","status","message"],"sources":["src/components/ic-date-input/ic-date-input.css?tag=ic-date-input&encapsulation=shadow","src/components/ic-date-input/ic-date-input.tsx"],"sourcesContent":["@import \"../../../dist/core/normalize.css\";\n\ninput {\n border: 0;\n height: 100%;\n padding: 0;\n outline: none;\n background: none;\n -moz-appearance: textfield;\n appearance: textfield;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n\nic-input-component-container {\n cursor: text;\n}\n\nic-input-component-container,\nic-input-component-container:hover {\n color: var(--ic-color-tertiary-text);\n}\n\n.focus-indicator {\n padding: var(--ic-space-xxxs) var(--ic-space-xs);\n align-items: center;\n}\n\n.day-input {\n width: 1.438rem;\n}\n\n.month-input {\n width: 1.813rem;\n}\n\n.year-input,\n.year-input.fit-to-value {\n width: 2.313rem;\n}\n\n.fit-to-value {\n width: 1.25rem;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.input-container {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n}\n\n.action-buttons {\n display: flex;\n align-items: center;\n}\n\n.show-calendar-button-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.clear-button,\n.calendar-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n margin: 0;\n}\n\n.clear-button.hidden {\n display: none;\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active,\n.calendar-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active *,\n.calendar-button:active * {\n fill: var(--ic-architectural-white);\n}\n\n.divider {\n margin: 0 var(--ic-space-xxs);\n width: var(--ic-space-1px);\n background-color: var(--ic-architectural-400);\n border-radius: var(--ic-space-1px);\n}\n\n.divider.small {\n height: var(--ic-space-md);\n}\n\n.divider.default {\n height: calc(var(--ic-space-sm) + var(--ic-space-xs));\n}\n\n.divider.large {\n height: var(--ic-space-lg);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Host,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeForegroundEnum,\n IcDateFormat,\n IcDateInputMonths,\n IcDayNames,\n IcWeekDays,\n} from \"../../utils/types\";\nimport {\n convertToDoubleDigits,\n createDate,\n extractDateFromZuluDateTime,\n isDateOrEpoch,\n splitStringDate,\n} from \"../../utils/date-helpers\";\nimport {\n addFormResetListener,\n getInputDescribedByText,\n isEmptyString,\n isNumeric,\n onComponentRequiredPropUndefined,\n removeFormResetListener,\n renderHiddenInput,\n stringEnumToArray,\n} from \"../../utils/helpers\";\nimport Clear from \"../../assets/clear-icon.svg\";\nimport Calendar from \"../../assets/calendar.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-date-input\",\n styleUrl: \"ic-date-input.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class DateInput {\n private ARIA_INVALID = \"aria-invalid\";\n private ARIA_LABEL = \"aria-label\";\n private ARIA_LABELLED_BY = \"aria-labelledby\";\n private assistiveHintId: string;\n private calendarButtonEl: HTMLIcButtonElement;\n private dayInputEl: HTMLInputElement;\n private defaultHelperText: string;\n private EVENT_OBJECT_STRING = \"[object Event]\";\n private FIT_TO_VALUE = \"fit-to-value\";\n\n private initialValue = this.value;\n private inputCompContainerEl: HTMLIcInputComponentContainerElement;\n private INPUT_EVENT_OBJECT_STRING = \"[object InputEvent]\";\n private inputsInOrder: HTMLInputElement[] = [];\n\n private isAfterMax: boolean = false;\n private isBeforeMin: boolean = false;\n private isDateSetFromKeyboardEvent: boolean = false;\n private isDisabledDate: boolean = false;\n private isPasteValidationDisplayed: boolean;\n private isValidDay: boolean = true;\n private isValidMonth: boolean = true;\n private isValidDate: boolean = true;\n private isZuluTime: boolean = false;\n\n private KEYBOARD_EVENT_OBJECT_STRING = \"[object KeyboardEvent]\";\n private MAX_DAY = 31;\n private MAX_MONTH = 12;\n private monthInputEl: HTMLInputElement;\n\n private preventAutoFormatting: boolean;\n private preventDayInput: boolean;\n private preventMonthInput: boolean;\n private preventYearInput: boolean;\n\n private previousInvalidDateTest: string;\n private previousSelectedDate: Date = null;\n\n private selectedDate: Date = null;\n private selectedDateInfoEl: HTMLSpanElement;\n private screenReaderInfoId: string;\n private selectedDateInfoId: string;\n\n private yearInputEl: HTMLInputElement;\n\n @Element() el: HTMLIcDateInputElement;\n\n @State() day: string = \"\";\n @State() invalidDateText: string;\n @State() maxDate: Date;\n @State() minDate: Date;\n @State() month: string = \"\";\n @State() year: string = \"\";\n @State() calendarFocused: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() removeLabelledBy: boolean = false;\n\n /**\n * The format in which the date will be displayed.\n */\n // eslint-disable-next-line sonarjs/no-duplicate-string\n @Prop() dateFormat?: IcDateFormat = \"DD/MM/YYYY\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The days of the week to disable.\n */\n @Prop({ mutable: true }) disableDays?: IcWeekDays[] = [];\n\n /**\n * The text to display as the validation message when `disableDays` is set and a disabled date is entered.\n */\n @Prop() disableDaysMessage?: string =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\n\n /**\n * If `true`, dates in the future are not allowed. A validation message will appear if a date in the future is entered.\n */\n @Prop() disableFuture?: boolean = false;\n\n /**\n * The text to display as the validation message when `disableFuture` is true and a date in the future is entered.\n */\n @Prop() disableFutureMessage?: string =\n \"Dates in the future are not allowed. Please select a date in the past.\";\n\n /**\n * If `true`, dates in the past are not allowed. A validation message will appear if a date in the past is entered.\n */\n @Prop() disablePast?: boolean = false;\n\n /**\n * The text to display as the validation message when `disablePast` is true and a date in the past is entered.\n */\n @Prop() disablePastMessage?: string =\n \"Dates in the past are not allowed. Please select a date in the future.\";\n\n /**\n * The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `dateFormat` value.\n */\n @Prop({ mutable: true }) helperText?: string;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-date-input-${inputIds++}`;\n\n /**\n * The label for the date input.\n */\n @Prop() label!: string;\n\n /**\n * The latest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n * The value of this prop is ignored if `disableFuture` is set to `true`.\n */\n @Prop() max?: string | Date = \"\";\n\n @Watch(\"max\")\n watchMaxHandler(): void {\n if (this.disableFuture) {\n this.maxDate = new Date();\n } else {\n this.maxDate = createDate(this.max, this.dateFormat);\n }\n }\n\n /**\n * The earliest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n * The value of this prop is ignored if `disablePast` is set to `true`.\n */\n @Prop() min?: string | Date = \"\";\n\n @Watch(\"min\")\n watchMinHandler(): void {\n if (this.disablePast) {\n this.minDate = new Date();\n } else {\n this.minDate = createDate(this.min, this.dateFormat);\n }\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * @internal If `true`, a button which displays the calendar view when clicked will be displayed.\n */\n @Prop() showCalendarButton?: boolean = false;\n\n /**\n * If `true`, a button which clears the date input when clicked will be displayed.\n */\n @Prop() showClearButton?: boolean = true;\n\n /**\n * The size of the date input to be displayed.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * The value of the date input. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n */\n @Prop({ mutable: true }) value?: string | Date | null | undefined = \"\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop({ mutable: true }) validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message. This will override the built-in date validation.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * @internal Emitted when the calendar is opened.\n */\n @Event() calendarButtonClicked: EventEmitter<{ value: Date }>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() icBlur: EventEmitter<{ value: Date }>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{ value: Date }>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() icFocus: EventEmitter<{ value: Date }>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.defaultHelperText = `Use format ${this.dateFormat}`;\n\n if (isEmptyString(this.helperText)) {\n this.helperText = this.defaultHelperText;\n }\n\n this.watchMinHandler();\n this.watchMaxHandler();\n\n if (this.value) {\n this.setDate(this.value);\n }\n\n this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;\n this.assistiveHintId = `${this.inputId}-assistive-hint`;\n this.selectedDateInfoId = `${this.inputId}-selected-date-info`;\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n this.setInputsInOrder();\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Date Input\"\n );\n\n if (this.value) {\n this.updateInputValues(this.day, this.month, this.year);\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n\n this.setAriaInvalid(\n this.isValidDay,\n this.isValidMonth,\n this.isValidDate,\n this.isDisabledDate\n );\n\n if (this.value) {\n this.notifyScreenReaderSelectedDate();\n }\n\n this.inputsInOrder.forEach((input) => {\n input.addEventListener(\"input\", this.handleInput);\n input.addEventListener(\"focus\", this.handleFocus);\n input.addEventListener(\"blur\", this.handleBlur);\n });\n\n // Prevent asterisk being read out after the label by screen reader (by applying aria-hidden)\n // Needed because label is included in 'aria-labelledby' instead of using 'aria-label'\n const labelEl = this.el.shadowRoot.querySelector(\"label\");\n if (this.required) {\n const asteriskSpan = document.createElement(\"span\");\n asteriskSpan.setAttribute(\"aria-hidden\", \"true\");\n asteriskSpan.textContent = \" *\";\n labelEl?.appendChild(asteriskSpan);\n }\n }\n\n componentWillUpdate(): void {\n if (!this.isDateSetFromKeyboardEvent) {\n this.setDate(this.value);\n }\n this.setAriaInvalid(\n this.isValidDay,\n this.isValidMonth,\n this.isValidDate,\n this.isDisabledDate\n );\n this.handleDateChange(false);\n this.isDateSetFromKeyboardEvent = false;\n }\n\n componentDidRender(): void {\n if (this.removeLabelledBy) {\n this.removeAriaLabelledBy();\n return;\n }\n\n this.setAriaLabelledBy();\n }\n\n /**\n * Returns the value as a Date object\n * @returns Date\n */\n @Method()\n async getDate(): Promise<Date> {\n return this.selectedDate;\n }\n\n /**\n * @internal Sets focus on the calendar button.\n */\n @Method()\n async setCalendarFocus(): Promise<void> {\n if (this.calendarButtonEl) {\n this.calendarButtonEl.focus();\n }\n }\n\n /**\n * @internal Used to pass disabledDays from parent component.\n */\n @Method()\n async setDisableDays(days: IcWeekDays[]): Promise<void> {\n this.disableDays = days;\n }\n\n private setInputPasteValue = (input: EventTarget, pastedValue: string) => {\n const inputEl = input as HTMLInputElement;\n\n inputEl.value = pastedValue;\n inputEl.classList.add(this.FIT_TO_VALUE);\n };\n\n private checkSingleCopiedValueIsValid = (\n input: EventTarget,\n pastedValue: string\n ) => {\n let isValid = false;\n const value = Number(pastedValue);\n\n switch (input) {\n case this.dayInputEl:\n isValid = value >= 1 && value <= this.MAX_DAY;\n break;\n case this.monthInputEl:\n isValid = value >= 1 && value <= this.MAX_MONTH;\n break;\n case this.yearInputEl:\n isValid = true;\n break;\n default:\n isValid = false;\n break;\n }\n\n return isValid;\n };\n\n /**\n * Using Object.prototype.string to determine type if event from user\n * @param event - event object used to differentiate keyboard, generic or input event\n * @returns boolean\n */\n private isKeyboardOrEvent = (event: Event) => {\n return (\n Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||\n Object.prototype.toString.call(event) ===\n this.KEYBOARD_EVENT_OBJECT_STRING\n );\n };\n\n private setDateValidity = () => {\n if (!isEmptyString(this.day)) {\n this.isValidDay = +this.day > this.MAX_DAY ? false : true;\n } else {\n this.isValidDay = true;\n }\n\n if (!isEmptyString(this.month)) {\n this.isValidMonth = +this.month > this.MAX_MONTH ? false : true;\n } else {\n this.isValidMonth = true;\n }\n };\n\n private handleInput = (event: Event) => {\n const inputEvent = event as InputEvent;\n const input = event.target as HTMLInputElement;\n\n if (input !== this.yearInputEl) {\n // Only auto-format if input event is not a character being deleted\n // and not as user is changing value using up / down keys\n if (\n inputEvent.inputType !== \"deleteContentBackward\" &&\n !this.preventAutoFormatting\n ) {\n if (\n input.value.length === 1 &&\n ((input === this.dayInputEl && +input.value >= 4) ||\n (input === this.monthInputEl && +input.value >= 2)) &&\n +input.value <= 9\n ) {\n this.setInputValue(input);\n this.notifyScreenReader(input, event);\n this.moveToNextInput(input);\n }\n\n if (input.value.length === 2) {\n if (+input.value === 0) {\n input.value = \"01\";\n }\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.notifyScreenReader(input, event);\n this.moveToNextInput(input);\n } else {\n this.setPreventInput(input, false);\n }\n } else if (this.preventAutoFormatting) {\n /**\n * Using arrow keys prevents auto formatting so need to deal with\n * switching from arrow keys to inputting numbers\n **/\n if (input.value.length === 2 && !this.isKeyboardOrEvent(event)) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.moveToNextInput(input);\n } else {\n this.setInputValue(input);\n }\n }\n\n if (input.value.length !== 2) {\n this.setPreventInput(input, false);\n }\n } else {\n if (input.value.length === 4) {\n this.setInputValue(input);\n if (\n Object.prototype.toString.call(event) !== this.EVENT_OBJECT_STRING\n ) {\n this.moveToNextInput(input);\n }\n this.setPreventInput(input, true);\n } else {\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n }\n }\n\n // Add / remove class to make input width match size of value i.e. 2 digits' width for day / month, 4 for year\n this.setFitToValueStyling(input);\n\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n\n this.notifyScreenReader(input, event);\n };\n\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const input = event.target as HTMLInputElement;\n\n const eventKey = event.key.toLowerCase();\n // Regex required due to FF allowing all characters as values for number text field.\n const regex =\n /-?\\d*\\.?\\d+(e[-+]?\\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;\n if (\n !regex.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\n\n switch (eventKey) {\n case \"/\":\n case \"-\":\n case \".\":\n event.preventDefault();\n this.setPasteInvalidText();\n this.moveToNextInput(input);\n break;\n case \"arrowright\":\n case \"arrowleft\":\n event.preventDefault();\n this.handleLeftRightArrowKeyPress(input, eventKey);\n break;\n case \"arrowup\":\n case \"arrowdown\":\n this.preventAutoFormatting = true;\n this.handleUpDownArrowKeyPress(input, event);\n break;\n default:\n break;\n }\n\n this.preventInput(event, isInputPrevented);\n this.isDateSetFromKeyboardEvent = true;\n };\n\n private handleFocus = (event: FocusEvent) => {\n // Highlight / select all characters in input for easy replacement\n const input = event.target as HTMLInputElement;\n\n input.select();\n };\n\n private handleBlur = (event: FocusEvent) => {\n const input = event.target as HTMLInputElement;\n\n this.setPasteInvalidText();\n this.autocompleteInput(input);\n };\n\n private handleLeftRightArrowKeyPress = (\n input: HTMLInputElement,\n key: string\n ) => {\n if (key === \"arrowright\") {\n this.moveToNextInput(input);\n } else {\n this.moveToPreviousInput(input);\n }\n\n this.setPasteInvalidText();\n };\n\n private notifyScreenReaderSelectedDate = () => {\n const dayNames = stringEnumToArray(IcDayNames);\n const months = stringEnumToArray(IcDateInputMonths);\n\n this.selectedDateInfoEl.textContent = `Selected date: ${\n dayNames[this.selectedDate.getDay()]\n }, ${this.selectedDate.getDate()} ${\n months[this.selectedDate.getMonth()]\n } ${this.selectedDate.getFullYear()}`;\n };\n\n private handleUpDownArrowKeyPress = (\n input: HTMLInputElement,\n event: KeyboardEvent\n ) => {\n const minValue = input === this.yearInputEl ? 0 : 1;\n\n let maxValue;\n\n switch (input) {\n case this.dayInputEl:\n maxValue = this.MAX_DAY;\n break;\n case this.monthInputEl:\n maxValue = this.MAX_MONTH;\n break;\n case this.yearInputEl:\n maxValue = 9999;\n }\n\n // Make value loop round when min / max reached\n if (input?.value) {\n if (event.key === \"ArrowUp\") {\n if (+input.value === maxValue) {\n event.preventDefault();\n input.value = `0${minValue}`;\n } else {\n input.value =\n +input.value + 1 < 10\n ? `0${+input.value + 1}`\n : (+input.value + 1).toString();\n }\n this.notifyScreenReader(input, event);\n }\n\n if (event.key === \"ArrowDown\") {\n if (+input.value === minValue) {\n event.preventDefault();\n input.value = maxValue.toString();\n } else {\n input.value =\n +input.value - 1 < 10\n ? `0${+input.value - 1}`\n : (+input.value - 1).toString();\n }\n this.notifyScreenReader(input, event);\n }\n } else {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n if (input === this.yearInputEl) {\n input.value = new Date().getFullYear().toString();\n } else {\n input.value = maxValue.toString();\n }\n this.notifyScreenReader(input, event);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n if (input === this.yearInputEl) {\n input.value = new Date().getFullYear().toString();\n } else {\n input.value = `0${minValue}`;\n }\n this.notifyScreenReader(input, event);\n }\n }\n\n this.setInputValue(input);\n this.setFitToValueStyling(input);\n };\n\n private handleDateChange = (force: boolean) => {\n // Prevent icChange being emitted when each individual input is changed\n // This method is used within componentWillUpdate instead of using @Watch('value');\n if (force || this.selectedDate !== this.previousSelectedDate) {\n if (this.value) {\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n if (this.day && this.month && this.year && this.invalidDateText === \"\") {\n this.setValueAndEmitChange(this.selectedDate);\n this.notifyScreenReaderSelectedDate();\n } else {\n this.setValueAndEmitChange(null);\n this.selectedDateInfoEl.textContent = \"\";\n }\n this.previousSelectedDate = this.selectedDate;\n\n if (!this.isDateSetFromKeyboardEvent) {\n this.updateInputValues(this.day, this.month, this.year);\n }\n }\n };\n\n private slicePastedDate = (valueLength: number, datePart: string): string => {\n return datePart.length > valueLength\n ? datePart.slice(0, valueLength)\n : datePart;\n };\n\n private isPastedStringDateValid = (value: string) => {\n if (\n /\\d+-\\d+-\\d+$/.test(value) ||\n /\\d+\\/\\d+\\/\\d+/.test(value) ||\n /\\d+\\.\\d+\\.\\d+/.test(value)\n ) {\n return true;\n }\n\n if (\n /[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\\.\\d+)?)?Z/.test(\n value\n )\n ) {\n this.isZuluTime = true;\n return true;\n }\n\n return false;\n };\n\n // Set value of each input to value of pasted date part\n // Allows formats separated by '-' or '/'\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n\n const pastedValue = event.clipboardData.getData(\"Text\");\n const isValidDate = this.isPastedStringDateValid(pastedValue);\n\n this.setPastedValueAndValidation(isValidDate, pastedValue, event);\n };\n\n private setDate = (date: string | Date) => {\n if (date === null || date === \"\" || date === undefined) {\n this.day = null;\n this.month = null;\n this.year = null;\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.handleDateChange(true);\n } else {\n if (isDateOrEpoch(date)) {\n let newDate;\n if (typeof date === \"string\") {\n // Checking if epoch date time\n newDate = new Date(+date);\n } else {\n newDate = date;\n }\n\n this.day = convertToDoubleDigits(newDate.getDate());\n this.month = convertToDoubleDigits(newDate.getMonth() + 1);\n this.year = newDate.getFullYear().toString();\n } else if (typeof date === \"string\") {\n const defaultDateArray = splitStringDate(date, this.dateFormat);\n this.year = defaultDateArray[0];\n this.month = defaultDateArray[1];\n this.day = defaultDateArray[2];\n }\n }\n\n this.setValidationMessage();\n };\n\n private formatMinMax = (date: Date) => {\n let formattedDate;\n\n const day = convertToDoubleDigits(date.getDate());\n const month = convertToDoubleDigits(date.getMonth() + 1);\n const year = date.getFullYear();\n\n switch (this.dateFormat) {\n case \"DD/MM/YYYY\":\n formattedDate = `${day}/${month}/${year}`;\n break;\n case \"MM/DD/YYYY\":\n formattedDate = `${month}/${day}/${year}`;\n break;\n case \"YYYY/MM/DD\":\n formattedDate = `${year}/${month}/${day}`;\n break;\n default:\n break;\n }\n return formattedDate;\n };\n private updateInputValues = (day: string, month: string, year: string) => {\n this.dayInputEl.value = day;\n this.monthInputEl.value = month;\n this.yearInputEl.value = year;\n };\n\n // Set value in state based on input\n private setInputValue = (input: HTMLInputElement, clear = false) => {\n const newValue = clear ? \"\" : input.value;\n\n switch (input) {\n case this.dayInputEl:\n this.day = newValue;\n break;\n case this.monthInputEl:\n this.month = newValue;\n break;\n case this.yearInputEl:\n if (this.year !== newValue) {\n this.year = newValue;\n }\n }\n\n this.setValidationMessage();\n };\n\n private setValidationMessage = () => {\n this.setDateValidity();\n\n if (\n !isEmptyString(this.day) &&\n !isEmptyString(this.month) &&\n !isEmptyString(this.year)\n ) {\n // Check whether date actually exists\n // (used https://www.hectane.com/blog/javascript-date-validation-with-leap-year)\n this.selectedDate = this.convertToDate(this.year, this.month, this.day);\n this.isValidDate =\n +this.selectedDate !== 0 && this.selectedDate.getDate() == +this.day;\n this.isDisabledDate = this.isSelectedDateDisabled();\n\n if (!this.isValidDate || this.isDisabledDate) {\n this.inputsInOrder.forEach((input) =>\n input.setAttribute(this.ARIA_INVALID, \"true\")\n );\n } else {\n this.inputsInOrder.forEach((input) =>\n input.removeAttribute(this.ARIA_INVALID)\n );\n }\n } else {\n this.selectedDate = null;\n }\n\n if (!(this.isValidDay && this.isValidMonth && this.isValidDate)) {\n this.invalidDateText = \"Please enter a valid date.\";\n } else if (this.isDisabledDate && this.selectedDate !== null) {\n if (this.isBeforeMin) {\n if (this.disablePast) {\n this.invalidDateText = this.disablePastMessage;\n } else {\n this.invalidDateText = `Please enter a date after ${this.formatMinMax(\n this.minDate\n )}.`;\n }\n } else if (this.isAfterMax) {\n if (this.disableFuture) {\n this.invalidDateText = this.disableFutureMessage;\n } else {\n this.invalidDateText = `Please enter a date before ${this.formatMinMax(\n this.maxDate\n )}.`;\n }\n } else if (this.disableDays.length !== 0) {\n this.invalidDateText = this.disableDaysMessage;\n } else {\n if (this.disablePast) {\n this.invalidDateText = this.disablePastMessage;\n }\n if (this.disableFuture) {\n this.invalidDateText = this.disableFutureMessage;\n }\n }\n } else {\n this.invalidDateText = \"\";\n }\n };\n\n // Set refs to the input elements in the order they are displayed (based on the dateFormat)\n private setInputsInOrder = () => {\n const inputs = this.el.shadowRoot.querySelectorAll(\"input\");\n inputs.forEach((input) => this.inputsInOrder.push(input));\n };\n\n // Includes text usually added using aria-describedby\n // (which doesn't work on input component container)\n private setAriaLabelledBy = () => {\n if (\n this.disabled &&\n !isEmptyString(\n this.inputCompContainerEl?.getAttribute(this.ARIA_LABELLED_BY)\n )\n ) {\n this.removeAriaLabelledBy();\n return;\n }\n\n if (this.disabled) {\n return;\n }\n\n const labelEl = this.el.shadowRoot.querySelector(\"label\");\n const labelId = `${this.inputId}-label`;\n\n if (labelEl !== null && labelEl !== undefined) {\n labelEl.id = labelId;\n\n const hasValidation =\n (!isEmptyString(this.validationStatus) &&\n !isEmptyString(this.validationText)) ||\n !isEmptyString(this.invalidDateText);\n\n const labelledBy = `${labelId} ${\n this.screenReaderInfoId\n } ${getInputDescribedByText(\n this.inputId,\n this.helperText !== \"\" && this.helperText !== this.defaultHelperText,\n hasValidation\n )} ${this.selectedDate ? this.selectedDateInfoId : \"\"} ${\n this.assistiveHintId\n }`;\n this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);\n }\n };\n\n // Sets boolean for each input, used to limit the number of characters within each field (2 for day / month, 4 for year)\n private setPreventInput = (input: HTMLInputElement, isPrevented: boolean) => {\n switch (input) {\n case this.dayInputEl:\n this.preventDayInput = isPrevented;\n break;\n case this.monthInputEl:\n this.preventMonthInput = isPrevented;\n break;\n case this.yearInputEl:\n this.preventYearInput = isPrevented;\n }\n };\n\n // Get input based on letter representing each date part (\"D\", \"M\" or \"Y\")\n // (retrieved from dateFormat)\n private getInputFromDatePart = (datePart: string) => {\n const dayInput = (\n <input\n class=\"day-input\"\n id=\"day-input\"\n ref={(el) => (this.dayInputEl = el)}\n aria-label=\"day\"\n placeholder=\"DD\"\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventDayInput)}\n ></input>\n );\n\n const monthInput = (\n <input\n id=\"month-input\"\n class=\"month-input\"\n ref={(el) => (this.monthInputEl = el)}\n aria-label=\"month\"\n placeholder=\"MM\"\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventMonthInput)}\n ></input>\n );\n\n const yearInput = (\n <input\n id=\"year-input\"\n class=\"year-input\"\n ref={(el) => (this.yearInputEl = el)}\n aria-label=\"year\"\n placeholder=\"YYYY\"\n maxLength={4}\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventYearInput)}\n ></input>\n );\n\n let input;\n\n switch (datePart) {\n case \"D\":\n input = dayInput;\n break;\n case \"M\":\n input = monthInput;\n break;\n case \"Y\":\n input = yearInput;\n }\n\n return input;\n };\n\n // Get input elements in order of chosen date format\n private getInputsInOrder = () => {\n const dateParts = this.dateFormat.split(\"/\");\n\n const inputsInOrder: HTMLInputElement[] = [];\n\n dateParts.forEach((part: string) => {\n inputsInOrder.push(this.getInputFromDatePart(part.substring(0, 1)));\n });\n\n return inputsInOrder;\n };\n\n // To add to the end of assistive hint to make it clearer that each date part has its own input\n // that can be changed individually\n private getDescOfInputsOrder = () => {\n let description;\n\n switch (this.dateFormat) {\n case \"DD/MM/YYYY\":\n description = \"day, month, and year\";\n break;\n case \"MM/DD/YYYY\":\n description = \"month, day, and year\";\n break;\n case \"YYYY/MM/DD\":\n description = \"year, month, and day\";\n }\n\n return description;\n };\n\n // Add 'required' or 'invalid data' to span used in aria-labelledby\n // Many ARIA attributes aren't read out by screen reader when on the input component container\n private getScreenReaderInfo = (validationStatus: string) => {\n let inputDescriptors = \"\";\n\n if (this.required) {\n inputDescriptors += \"required\";\n }\n\n if (validationStatus === IcInformationStatus.Error) {\n inputDescriptors += \" invalid data\";\n }\n\n return inputDescriptors === \"\" ? \"\" : inputDescriptors + \", \";\n };\n\n // Prevent non-number characters being entered\n // ('e' or '.' - which are usually allowed in <input type=\"number\">)\n // And limit the number of characters within each field (2 for day / month, 4 for year)\n // (because 'maxlength' doesn't work on <input type=\"number\">)\n private preventInput = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const key = event.key;\n const input = event.target as HTMLInputElement;\n let selectedString;\n\n if (input) {\n selectedString = input.value.substring(\n input.selectionStart,\n input.selectionEnd\n );\n }\n\n if (\n key === \"e\" ||\n key === \".\" ||\n key === \"-\" ||\n (event.key >= \"0\" &&\n event.key <= \"9\" &&\n isInputPrevented &&\n !selectedString)\n ) {\n event.preventDefault();\n }\n };\n\n // Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day\n // Consider using dateClamp and inDateRange\n private isSelectedDateDisabled = () => {\n const currentDate = new Date();\n this.isAfterMax = false;\n this.isBeforeMin = false;\n\n let disabled = false;\n const isNotToday =\n this.selectedDate.toDateString() !== currentDate.toDateString();\n\n if (this.minDate && this.selectedDate < this.minDate && isNotToday) {\n this.isBeforeMin = true;\n disabled = true;\n }\n\n if (this.maxDate && this.selectedDate > this.maxDate && isNotToday) {\n this.isAfterMax = true;\n disabled = true;\n }\n\n if (this.disableDays.includes(this.selectedDate.getDay())) {\n disabled = true;\n }\n\n if (\n ((this.disablePast && this.selectedDate < currentDate) ||\n (this.disableFuture && this.selectedDate > currentDate)) &&\n isNotToday\n ) {\n disabled = true;\n }\n\n return disabled;\n };\n\n private moveToNextInput = (currentInput: HTMLInputElement) => {\n const currentInputPos = this.inputsInOrder.findIndex(\n (input) => input === currentInput\n );\n const nextInput = this.inputsInOrder[currentInputPos + 1];\n\n this.preventAutoFormatting = false;\n\n if (nextInput) {\n nextInput.focus();\n }\n };\n\n private moveToPreviousInput = (currentInput: HTMLInputElement) => {\n const currentInputPos = this.inputsInOrder.findIndex(\n (input) => input === currentInput\n );\n\n this.preventAutoFormatting = false;\n\n if (this.inputsInOrder[currentInputPos - 1]) {\n this.inputsInOrder[currentInputPos - 1].focus();\n }\n };\n\n private autocompleteInput = (input: HTMLInputElement) => {\n if (input === this.yearInputEl) {\n this.autocompleteYear();\n } else {\n const inputValue = input.value;\n\n // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)\n if (inputValue.length === 1) {\n if (+inputValue === 0) {\n input.value = \"01\";\n } else {\n input.value = `0${inputValue}`;\n }\n }\n }\n\n if (input.value) {\n this.setInputValue(input);\n }\n };\n\n // Autocomplete year as current millennium when fewer than 4 characters entered\n private autocompleteYear = () => {\n const inputValue = this.yearInputEl.value;\n const yearNumbers = [\"2\", \"0\", \"0\"];\n\n let autocompletedInput = \"\";\n\n if (inputValue) {\n yearNumbers.forEach((number, index) => {\n if (inputValue.length + index <= 3) {\n autocompletedInput += number;\n }\n });\n\n this.yearInputEl.value = `${autocompletedInput}${inputValue}`;\n }\n };\n\n private convertToDate = (\n year: string,\n month: string,\n day: string\n ): Date | null => {\n if (!isEmptyString(year) && !isEmptyString(month) && !isEmptyString(day)) {\n return new Date(+year, +month - 1, +day);\n } else {\n return null;\n }\n };\n\n private handleHostBlur = () => {\n this.removeLabelledBy = false;\n this.icBlur.emit({ value: this.selectedDate });\n };\n\n private handleHostFocus = () => {\n if (this.el.shadowRoot.activeElement.id.match(/(day|month|year)-input$/)) {\n this.removeLabelledBy = false;\n } else {\n this.removeLabelledBy = true;\n }\n this.icFocus.emit({ value: this.selectedDate });\n };\n\n private handleFormReset = () => {\n // Get the initial value and populate day, month and year again.\n this.setDate(this.initialValue);\n this.setValidationMessage();\n this.handleDateChange(false);\n };\n\n private getAriaLabel = (input: HTMLInputElement): string => {\n return input.getAttribute(this.ARIA_LABEL);\n };\n\n private notifyScreenReaderArrowKeys = (input: HTMLInputElement) => {\n const liveRegion = this.el.shadowRoot.querySelector(\"#live-region\");\n let announcement = \"\";\n const ariaLabel = this.getAriaLabel(input);\n\n if (liveRegion && input.value) {\n if (\n input === this.monthInputEl &&\n !!IcDateInputMonths[+input.value - 1]\n ) {\n announcement = `${input.value} - ${\n IcDateInputMonths[+input.value - 1]\n }, ${ariaLabel}`;\n }\n\n if (input === this.dayInputEl || input === this.yearInputEl) {\n announcement = `${input.value}, ${ariaLabel}`;\n }\n\n liveRegion.textContent = announcement;\n }\n };\n\n private removeAriaLabelledBy() {\n this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);\n }\n\n private setPastedValueAndValidation(\n isValidDate: boolean,\n pastedValue: string,\n event: ClipboardEvent\n ) {\n switch (true) {\n case isValidDate: {\n const nextParsedValue = this.isZuluTime\n ? extractDateFromZuluDateTime(pastedValue)\n : pastedValue;\n const dateParts = nextParsedValue.split(/-|\\/|\\./);\n this.inputsInOrder.forEach((input, index) => {\n input.classList.add(this.FIT_TO_VALUE);\n\n if (this.isZuluTime) {\n this.pasteZuluDateTime(dateParts, index);\n } else {\n let dateValue;\n\n if (input === this.dayInputEl || input === this.monthInputEl) {\n dateValue = this.slicePastedDate(2, dateParts[index]);\n } else {\n dateValue = this.slicePastedDate(4, dateParts[index]);\n }\n\n input.value = dateValue;\n\n this.setInputValue(input);\n this.autocompleteInput(input);\n }\n });\n this.isZuluTime = false;\n break;\n }\n\n case (pastedValue.length === 1 ||\n pastedValue.length === 2 ||\n pastedValue.length === 4) &&\n isNumeric(pastedValue):\n if (this.checkSingleCopiedValueIsValid(event.target, pastedValue)) {\n // Check if copied value can be pasted into input\n this.setInputPasteValue(event.target, pastedValue);\n this.setInputValue(event.target as HTMLInputElement);\n } else {\n this.displayPastedValidation(event);\n }\n break;\n\n case pastedValue.length === 3 && isNumeric(pastedValue):\n if (event.target !== this.yearInputEl) {\n this.displayPastedValidation(event);\n } else {\n this.setInputPasteValue(event.target, pastedValue);\n this.setInputValue(event.target as HTMLInputElement);\n }\n break;\n\n case pastedValue.length >= 5 && isNumeric(pastedValue):\n this.displayPastedValidation(event);\n }\n }\n\n private pasteZuluDateTime(dateParts: string[], index: number) {\n // ['YYYY', 'MM', 'DD']\n if (index === 0) {\n const dateValue = this.slicePastedDate(4, dateParts[index]);\n this.yearInputEl.value = dateValue;\n this.setInputValue(this.yearInputEl);\n } else if (index === 1) {\n // The month value is the second item in the array\n const dateValue = this.slicePastedDate(2, dateParts[index]);\n this.monthInputEl.value = dateValue;\n this.setInputValue(this.monthInputEl);\n } else {\n const dateValue = this.slicePastedDate(2, dateParts[index]);\n this.dayInputEl.value = dateValue;\n this.setInputValue(this.dayInputEl);\n }\n }\n\n private displayPastedValidation(event: ClipboardEvent) {\n if (this.invalidDateText?.length > 0) {\n this.previousInvalidDateTest = this.invalidDateText;\n }\n\n this.invalidDateText = `Please paste a valid ${this.getAriaLabel(\n event.target as HTMLInputElement\n )}`;\n\n this.validationStatus = IcInformationStatus.Error;\n this.isPasteValidationDisplayed = true;\n }\n\n private setPasteInvalidText() {\n if (this.isPasteValidationDisplayed) {\n this.invalidDateText = this.previousInvalidDateTest ?? \"\";\n this.isPasteValidationDisplayed = false;\n\n // This is to prevent setDate from triggering within componentWillUpdate\n this.isDateSetFromKeyboardEvent = true;\n }\n }\n\n private notifyScreenReader(input: HTMLInputElement, event: Event) {\n const liveRegion = this.el.shadowRoot.querySelector(\"#live-region\");\n\n if (liveRegion) {\n if (this.isKeyboardOrEvent(event)) {\n this.notifyScreenReaderArrowKeys(input);\n } else if (\n Object.prototype.toString.call(event) === this.INPUT_EVENT_OBJECT_STRING\n ) {\n this.notifyScreenReaderInput(input, liveRegion as HTMLElement);\n }\n }\n }\n\n private notifyScreenReaderInput = (\n input: HTMLInputElement,\n liveRegion: HTMLElement\n ) => {\n let announcement = \"\";\n const ariaLabel = this.getAriaLabel(input);\n\n if (input === this.dayInputEl || input === this.monthInputEl) {\n if (input.value.length === 2) {\n if (\n input === this.monthInputEl &&\n !!IcDateInputMonths[+input.value - 1] &&\n this.isValidMonth\n ) {\n announcement = `${input.value} - ${\n IcDateInputMonths[+input.value - 1]\n }, ${ariaLabel}`;\n }\n\n if (input === this.dayInputEl && this.isValidDay) {\n announcement = `${input.value}, ${ariaLabel}`;\n }\n } else {\n announcement = \"\";\n }\n } else {\n if (input.value.length === 4) {\n announcement = `${input.value}, ${ariaLabel}`;\n } else {\n announcement = \"\";\n }\n }\n liveRegion.textContent = announcement;\n };\n\n private setFitToValueStyling = (input: HTMLInputElement) => {\n if (input.value) {\n input.classList.add(this.FIT_TO_VALUE);\n } else {\n input.classList.remove(this.FIT_TO_VALUE);\n }\n };\n\n private setAriaInvalid = (\n validDay: boolean,\n validMonth: boolean,\n validDate: boolean,\n disabledDate: boolean\n ) => {\n if (this.inputsInOrder.length) {\n this.inputsInOrder.forEach((input) => {\n input.removeAttribute(this.ARIA_INVALID);\n });\n\n if (!validDay) {\n this.dayInputEl.setAttribute(this.ARIA_INVALID, \"true\");\n }\n\n if (!validMonth) {\n this.monthInputEl.setAttribute(this.ARIA_INVALID, \"true\");\n }\n\n if (!validDate || disabledDate) {\n this.inputsInOrder.forEach((input) => {\n input.setAttribute(this.ARIA_INVALID, \"true\");\n });\n }\n }\n };\n\n private handleClear = () => {\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n });\n this.isDateSetFromKeyboardEvent = false;\n this.setValueAndEmitChange(null);\n this.setValidationMessage();\n this.handleDateChange(true);\n\n this.inputsInOrder[0].focus();\n };\n\n private handleCalendarOpen = (ev: MouseEvent) => {\n ev.stopImmediatePropagation();\n this.calendarButtonEl.shadowRoot\n .querySelector(\"ic-tooltip\")\n .displayTooltip(false);\n this.calendarButtonClicked.emit({ value: this.selectedDate });\n this.calendarButtonEl.shadowRoot\n .querySelector(\"ic-tooltip\")\n .displayTooltip(false);\n this.isDateSetFromKeyboardEvent = false;\n };\n\n private setValueAndEmitChange = (value: Date) => {\n if (this.value !== value) {\n this.icChange.emit({ value: value });\n this.value = value;\n }\n };\n\n private handleCalendarFocus = () => {\n this.calendarFocused = true;\n };\n\n private handleCalendarBlur = () => {\n this.calendarFocused = false;\n };\n\n private handleClearFocus = () => {\n this.removeLabelledBy = true;\n this.clearButtonFocused = true;\n };\n\n private handleClearBlur = (ev: FocusEvent) => {\n this.clearButtonFocused = false;\n if ((ev.relatedTarget as HTMLElement).id.match(/(day|year)-input$/)) {\n this.removeLabelledBy = false;\n return;\n }\n\n this.removeLabelledBy = true;\n };\n\n render() {\n const {\n inputId,\n label,\n disabled,\n helperText,\n showClearButton,\n showCalendarButton,\n size,\n } = this;\n\n const hasCustomValidation =\n !isEmptyString(this.validationStatus) &&\n !isEmptyString(this.validationText);\n\n const validationStatus = hasCustomValidation\n ? this.validationStatus\n : !isEmptyString(this.invalidDateText)\n ? IcInformationStatus.Error\n : \"\";\n\n const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;\n\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.convertToDate(this.year, this.month, this.day),\n this.disabled\n );\n\n return (\n <Host onBlur={this.handleHostBlur} onFocus={this.handleHostFocus}>\n <ic-input-container disabled={disabled}>\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n disabled={disabled}\n ></ic-input-label>\n <span id={this.screenReaderInfoId} class=\"sr-only\" aria-hidden=\"true\">\n {this.getScreenReaderInfo(validationStatus)}\n {`${this.defaultHelperText}.`}\n </span>\n <span id={this.assistiveHintId} class=\"sr-only\" aria-hidden=\"true\">\n {assistiveHint}\n </span>\n <span id=\"live-region\" aria-live=\"assertive\" class=\"sr-only\"></span>\n <ic-input-component-container\n id={inputId}\n ref={(el: HTMLIcInputComponentContainerElement) =>\n (this.inputCompContainerEl = el)\n }\n disabled={disabled}\n validationStatus={validationStatus}\n size={size}\n role=\"group\"\n >\n <div class=\"input-container\">\n <div class=\"date-inputs\">\n {this.getInputsInOrder()[0]}/{this.getInputsInOrder()[1]}/\n {this.getInputsInOrder()[2]}\n </div>\n <div class=\"action-buttons\">\n {showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear input\"\n class={{\n [\"clear-button\"]: true,\n [\"hidden\"]:\n isEmptyString(this.day) &&\n isEmptyString(this.month) &&\n isEmptyString(this.year),\n }}\n disabled={this.disabled}\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearFocus}\n onBlur={this.handleClearBlur}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n size={size}\n ></ic-button>\n )}\n {showCalendarButton && (\n <div class=\"show-calendar-button-wrapper\">\n <div class={{ divider: true, [size]: true }}></div>\n <ic-button\n id=\"calendar-button\"\n ref={(el: HTMLIcButtonElement) =>\n (this.calendarButtonEl = el)\n }\n aria-label=\"Display calendar\"\n aria-haspopup=\"dialog\"\n class=\"calendar-button\"\n disabled={this.disabled}\n innerHTML={Calendar}\n onClick={this.handleCalendarOpen}\n variant=\"icon\"\n size={size}\n onFocus={this.handleCalendarFocus}\n onBlur={this.handleCalendarBlur}\n appearance={\n this.calendarFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default\n }\n ></ic-button>\n </div>\n )}\n </div>\n </div>\n </ic-input-component-container>\n <span id={this.selectedDateInfoId} class=\"sr-only\" aria-live=\"polite\">\n <span\n ref={(el) => (this.selectedDateInfoEl = el)}\n role=\"status\"\n ></span>\n </span>\n {(hasCustomValidation || !isEmptyString(this.invalidDateText)) && (\n <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidDateText\n }\n for={inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as e,h as o,H as i,g as a}from"./p-8455d1bb.js";import{j as r,a as c,i as n}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as e,h as o,H as i,g as a}from"./p-8455d1bb.js";import{j as r,a as c,i as n}from"./p-d35c7c18.js";import"./p-fd186591.js";const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n )}:host(.dark){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n )}:host(.light){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n )}:host(.disabled){--button-border:var(--toggle-button-border, var(--ic-border-disabled))}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.light) ::part(button):focus,:host(.expand-toggle-group-child.dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--button-border)}:host(.checked) ::part(button){background-color:var(--ic-action-default);color:var(--ic-architectural-white);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white)}:host(.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus)}:host(.checked) ::part(button):hover{background-color:var(--button-default-hover)}:host(.checked) ::part(button):active,:host(.icon.checked) ::part(button):active{background-color:var(--ic-action-default-active)}:host(.dark.checked) ::part(button){background-color:var(--ic-action-dark)}:host(.dark.checked) ::part(button):hover{background-color:var(--ic-action-dark-hover)}:host(.dark.checked) ::part(button):active,:host(.icon.dark.checked) ::part(button):active{background-color:var(--ic-action-dark-active)}:host(.light.checked) ::part(button){background-color:var(--ic-action-light);color:var(--ic-color-primary-text);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black)}:host(.light.checked) ::part(button):hover{background-color:var(--ic-action-light-hover)}:host(.light.checked) ::part(button):active,:host(.icon.light.checked) ::part(button):active{background-color:var(--ic-action-light-active)}:host(.light.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus)}:host(.disabled) ::part(button),:host(.icon.disabled) ::part(button){border:var(--button-border)}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button){background-color:transparent}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button)::before{background-image:radial-gradient(var(--ic-architectural-400) 95%, white 20%);background-repeat:no-repeat}:host(.icon) ::part(button){border:var(--button-border);height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.icon) ::part(button):active{background-color:var(--ic-action-default-bg-active)}:host(.icon.dark) ::part(button):active{background-color:var(--ic-action-dark-bg-active)}:host(.icon.light) ::part(button):active{background-color:var(--ic-action-light-bg-active)}:host(.icon.small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.icon.large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.checked.loading) ::part(button){background-color:var(--button-default-active)}:host(.loading) ::part(ic-loading-container){--inner-color:var(--ic-architectural-white)}:host(.checked.loading.light) ::part(button){background-color:var(--ic-action-light-active)}:host(.checked.loading.dark) ::part(button){background-color:var(--ic-action-dark-active)}';const d=class{constructor(o){t(this,o);this.icToggleChecked=e(this,"icToggleChecked",7);this.handleFocus=t=>{t.stopImmediatePropagation()};this.handleClick=()=>{!this.loading&&!this.disabled&&this.icToggleChecked.emit({checked:this.toggleChecked})};this.accessibleLabel=undefined;this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.label=undefined;this.loading=false;this.size="default";this.toggleChecked=false;this.variant="default"}componentWillLoad(){r(this.disabled,this.el)}componentDidLoad(){c([{prop:this.variant==="icon"?this.accessibleLabel:this.label,propName:this.variant==="icon"?"accessible-label":"label"}],"Toggle button")}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}else if(!this.loading){this.toggleChecked=!this.toggleChecked}}render(){return o(i,{class:{["disabled"]:this.disabled,["checked"]:this.toggleChecked,[`${this.appearance}`]:true,["icon"]:this.variant==="icon",[`${this.size}`]:true,["loading"]:this.loading},onFocus:this.handleFocus},o("ic-button",{"aria-pressed":this.toggleChecked.toString(),variant:this.variant==="icon"?"icon":"secondary",onClick:this.handleClick,title:this.accessibleLabel,"aria-label":`${this.accessibleLabel?this.accessibleLabel:this.label}, ${this.toggleChecked?"ticked":"unticked"}`,disabled:this.disabled,appearance:this.appearance,size:this.size,fullWidth:this.fullWidth,loading:this.loading,"aria-disabled":`${this.disabled}`},this.variant!=="icon"&&this.label,o("slot",null),n(this.el,"icon")&&o("slot",{name:"icon",slot:`${this.iconPlacement?`${this.iconPlacement}-icon`:"icon"}`}),n(this.el,"badge")&&o("slot",{name:"badge",slot:"badge"})))}static get delegatesFocus(){return true}get el(){return a(this)}};d.style=s;export{d as ic_toggle_button};
|
2
|
+
//# sourceMappingURL=p-e74f1d09.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as s,h as a,H as t,g as i}from"./p-8455d1bb.js";import{I as c}from"./p-fd186591.js";import{h as r,r as e,g as o,b as h,c as n,d as l,a as p}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as s,h as a,H as t,g as i}from"./p-8455d1bb.js";import{I as c}from"./p-fd186591.js";import{h as r,r as e,g as o,b as h,c as n,d as l,a as p}from"./p-d35c7c18.js";const d="@media (prefers-reduced-motion: no-preference){:host(.show){animation:expand var(--ic-transition-duration-slow)}:host(.hide){animation:shrink var(--ic-transition-duration-slow)}}:host{display:flex;height:var(--ic-space-md);min-width:var(--ic-space-md);width:-moz-fit-content;width:fit-content;border-radius:calc(2 * var(--ic-space-xxl));position:absolute}:host(.neutral){background-color:var(--ic-architectural-500)}:host(.light){background-color:var(--ic-architectural-40)}:host(.info){background-color:var(--ic-status-info)}:host(.warning){background-color:var(--ic-status-warning-mid)}:host(.error){background-color:var(--ic-status-error)}:host(.success){background-color:var(--ic-status-success)}:host(.small){height:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.large){height:calc(var(--ic-space-md) + var(--ic-space-xxs));min-width:calc(var(--ic-space-md) + var(--ic-space-xxs))}:host(.dot.default){height:var(--ic-space-xs);width:var(--ic-space-xs);min-width:var(--ic-space-xs)}:host(.dot.small){height:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));min-width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.dot.large){height:var(--ic-space-sm);width:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.foreground-dark) ::slotted(*){fill:var(--ic-color-primary-text)}:host(.foreground-light) ::slotted(*){fill:white}:host(.foreground-dark) ic-typography{color:var(--ic-color-primary-text)}:host(.foreground-light) ic-typography{color:white}:host(.text) ic-typography{align-self:center;padding:0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.text.small) ic-typography{padding:0 0.2132rem}:host(.text.large) ic-typography{padding:0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.icon) ::slotted(svg){width:var(--ic-space-sm);height:var(--ic-space-sm);padding:var(--ic-space-xxxs)}:host(.icon.small) ::slotted(svg){width:var(--ic-space-xs);height:var(--ic-space-xs)}:host(.icon.large) ::slotted(svg){width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));height:calc(var(--ic-space-sm) + var(--ic-space-xxxs));padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}:host(.far){top:calc(-1 * var(--ic-space-xs));right:calc(-1 * var(--ic-space-xs))}:host(.far.small),:host(.dot.far.large){top:calc(-1 * var(--ic-space-xxs));right:calc(-1 * var(--ic-space-xxs))}:host(.dot.far),:host(.dot.far.small){top:calc(-1 * var(--ic-space-xxxs));right:calc(-1 * var(--ic-space-xxxs))}:host(.near){top:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));right:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)))}:host(.dot.near){top:calc(-1 * var(--ic-space-1px));right:calc(-1 * var(--ic-space-1px))}:host(.inline){position:static}:host(.hide){visibility:hidden !important;transition:visibility var(--ic-transition-duration-slow)}@keyframes expand{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shrink{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}";const g=class{constructor(a){s(this,a);this.setBadgeColour=()=>{let s=null;if(this.customColor!==null){const a=this.customColor.slice(0,1);if(a==="#"){s=r(this.customColor)}else if(a.toLowerCase()==="r"){s=e(this.customColor)}this.customColorRGBA=s;this.el.style.backgroundColor=`rgba(${s.r.toString()}, ${s.g.toString()}, ${s.b.toString()}, ${s.a.toString()})`}};this.getBadgeForeground=()=>{let s;let a;let t;switch(this.variant){case"custom":s=this.customColorRGBA.r;a=this.customColorRGBA.g;t=this.customColorRGBA.b;break;case"error":s=parseInt(o("--ic-status-error-r"));a=parseInt(o("--ic-status-error-g"));t=parseInt(o("--ic-status-error-b"));break;case"success":s=parseInt(o("--ic-status-success-r"));a=parseInt(o("--ic-status-success-g"));t=parseInt(o("--ic-status-success-b"));break;case"warning":s=parseInt(o("--ic-status-warning-r"));a=parseInt(o("--ic-status-warning-g"));t=parseInt(o("--ic-status-warning-b"));break;case"info":{const i=r(o("--ic-status-info"));s=i.r;a=i.g;t=i.b;break}case"neutral":{const i=r(o("--ic-architectural-500"));s=i.r;a=i.g;t=i.b;break}case"light":{const i=r(o("--ic-architectural-40"));s=i.r;a=i.g;t=i.b;break}}const i=(s*299+a*587+t*114)/1e3;this.foregroundColour=i>133.3505?c.Dark:c.Light};this.getTextLabel=()=>{let s;if(this.textLabel!==null){if(this.maxNumber!==null){s=Number(this.textLabel)>this.maxNumber?`${this.maxNumber}+`:this.textLabel}else{s=this.textLabel}}return s};this.setAccessibleLabel=()=>{if(h(this.el)!==null){if(n(this.el)==="IC-TAB"){h(this.el).setAttribute("aria-describedby","badge")}else{h(this.el).ariaLabel=`badge displaying ${this.accessibleLabel}`}}};this.isAccessibleLabelDefined=()=>l(this.accessibleLabel)&&this.accessibleLabel!==null;this.accessibleLabel=undefined;this.customColor=null;this.maxNumber=undefined;this.position="far";this.size="default";this.textLabel=undefined;this.type="text";this.variant="neutral";this.visible=true}componentWillLoad(){this.variant==="custom"&&this.setBadgeColour();this.getBadgeForeground();this.isAccessibleLabelDefined()&&this.setAccessibleLabel()}componentDidLoad(){this.type==="text"&&p([{prop:this.textLabel,propName:"text-label"}],"Badge")}async showBadge(){this.visible=true}async hideBadge(){this.visible=false}render(){const{position:s,size:i,type:c,variant:r,foregroundColour:e,visible:o}=this;return a(t,{class:{[`${s}`]:true,[`${i}`]:true,[`${r}`]:true,[`${c}`]:true,[`foreground-${e}`]:e!==null,["show"]:o,["hide"]:!o},id:this.el.id||null,"aria-label":this.isAccessibleLabelDefined()?`badge displaying ${this.accessibleLabel}`:"badge being displayed",role:"status"},c==="icon"&&a("slot",{name:"badge-icon"}),c==="text"&&a("ic-typography",{variant:i==="small"?"badge-small":"badge"},this.getTextLabel()))}static get delegatesFocus(){return true}get el(){return i(this)}};g.style=d;export{g as ic_badge};
|
2
|
+
//# sourceMappingURL=p-e84b0310.entry.js.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r,h as e,H as t,g as a}from"./p-8455d1bb.js";import{C as c}from"./p-170ddfc2.js";import{i as s,d as i}from"./p-d35c7c18.js";import"./p-fd186591.js";const o=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-architectural-400)}:host(:first-child) .chevron{display:none}.back-icon svg{color:currentcolor}:host(.back){display:flex;align-items:center}:host(.back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container.dark{color:var(--ic-color-primary-text)}:host([aria-current="page"]) .current-page-container.light{color:var(--ic-color-white-text)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-decoration-thickness: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=class{constructor(t){r(this,t);this.renderDefaultBreadcrumb=(r,t,a,c)=>{const n=t!==null&&i(t)&&t!=="";if(r&&n){return e("span",{class:{"current-page-container":r,[this.appearance]:true}},s(this.el,"icon")&&e("slot",{name:"icon"}),t)}return e("ic-link",{appearance:this.appearance,href:c,class:"breadcrumb-link","aria-describedby":this.showBackIcon&&a&&a},this.showBackIcon&&e("div",{class:"back-icon",innerHTML:o}),s(this.el,"icon")&&e("slot",{name:"icon"}),t)};this.setSlottedCurrentPageClass=()=>{const r=this.el.querySelector("ic-link");const e="current-page";if(r){r.classList.remove(e);if(this.current){const t=r.classList.contains(e);if(!t){r.classList.add("breadcrumb-link",e)}}}};this.appearance="default";this.current=false;this.href=undefined;this.pageTitle=undefined;this.showBackIcon=false}componentWillRender(){this.setSlottedCurrentPageClass()}async setFocus(){if(this.el.shadowRoot.querySelector("ic-link")){this.el.shadowRoot.querySelector("ic-link").focus()}}render(){const{current:r,href:a,pageTitle:s}=this;const o=`${s&&s.toLowerCase().replace(" ","-")}-describedby`;const n=s!==null&&i(s)&&s!=="";const l=a!==null&&i(a)&&a!=="";return e(t,{class:{back:this.showBackIcon},"aria-current":r&&"page",role:"listitem"},e("div",{class:"breadcrumb"},e("span",{innerHTML:c,class:"chevron","aria-hidden":"true"}),this.showBackIcon&&o&&e("span",{id:o,class:"hide"},`Back to ${s}`),n&&l?this.renderDefaultBreadcrumb(r,s,o,a):e("slot",null)))}static get delegatesFocus(){return true}get el(){return a(this)}};l.style=n;export{l as ic_breadcrumb};
|
2
|
+
//# sourceMappingURL=p-f55ad6ae.entry.js.map
|