@ukic/canary-web-components 3.0.0-canary.14 → 3.0.0-canary.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +2 -2
- package/dist/cjs/{date-helpers-c9551119.js → date-helpers-6f70dd03.js} +20 -66
- package/dist/cjs/date-helpers-6f70dd03.js.map +1 -0
- package/dist/cjs/{helpers-fc51fdcb.js → helpers-bec0dbd4.js} +2 -2
- package/dist/cjs/{helpers-fc51fdcb.js.map → helpers-bec0dbd4.js.map} +1 -1
- package/dist/cjs/{helpers-32016c21.js → helpers-d01564f7.js} +15 -15
- package/dist/cjs/helpers-d01564f7.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
- package/dist/cjs/ic-alert.cjs.entry.js +2 -2
- package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
- package/dist/cjs/ic-badge.cjs.entry.js +3 -3
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +16 -12
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +3 -3
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-checkbox_3.cjs.entry.js} +158 -24
- package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-chip.cjs.entry.js +3 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +310 -276
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +130 -148
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +87 -70
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +38 -47
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer.cjs.entry.js +2 -2
- package/dist/cjs/ic-hero.cjs.entry.js +2 -2
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-group.cjs.entry.js +20 -17
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -6
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +12 -11
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +46 -28
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +7 -7
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
- package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +3 -3
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -7
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skip-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +5 -5
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +16 -16
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +4 -4
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +6 -6
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +3 -3
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +6 -6
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +5 -5
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -9
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +35 -42
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-view.cjs.entry.js +25 -21
- package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +2 -2
- package/dist/cjs/{index-8a24b20c.js → index-d337cd8a.js} +6 -11
- package/dist/cjs/index-d337cd8a.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +1 -1
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +27 -23
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.css +16 -0
- package/dist/collection/components/ic-data-table/ic-data-table.js +385 -330
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js +8 -9
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +13 -14
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +9 -9
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +166 -183
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.stories.js +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +6 -3
- package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +109 -92
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-day-button.js +1 -1
- package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -1
- package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +41 -38
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +45 -52
- package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +29 -25
- package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
- package/dist/collection/utils/date-helpers.js +19 -61
- package/dist/collection/utils/date-helpers.js.map +1 -1
- package/dist/collection/utils/helpers.js +44 -61
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/testa11y.helpers.js +2 -1
- package/dist/collection/utils/testa11y.helpers.js.map +1 -1
- package/dist/components/helpers2.js +13 -13
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-badge.js +1 -1
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-button2.js +1 -1
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-horizontal.js +14 -10
- package/dist/components/ic-card-horizontal.js.map +1 -1
- package/dist/components/ic-card-vertical.js +1 -1
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +5 -5
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +1 -175
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/{esm/ic-checkbox.entry.js → components/ic-checkbox2.js} +53 -11
- package/dist/components/ic-checkbox2.js.map +1 -0
- package/dist/components/ic-chip.js +1 -1
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +2 -2
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-table-title-bar.js +5 -5
- package/dist/components/ic-data-table-title-bar.js.map +1 -1
- package/dist/components/ic-data-table.js +319 -279
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +146 -210
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-date-picker.js +84 -67
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-dialog.js +38 -47
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +19 -15
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +4 -4
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +10 -9
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +22 -20
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +5 -5
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +5 -5
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-search-bar.js +1 -1
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select2.js +6 -6
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +5 -5
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-skip-link.js.map +1 -1
- package/dist/components/ic-status-tag.js +3 -3
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +14 -14
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +4 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +1 -1
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +35 -13
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +4 -4
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +3 -3
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-top-navigation.js +3 -7
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-tree-item.js +33 -40
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/components/ic-tree-view.js +23 -19
- package/dist/components/ic-tree-view.js.map +1 -1
- package/dist/core/core.css +347 -245
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-8d73a3cc.entry.js → p-0616dfbe.entry.js} +2 -2
- package/dist/core/p-0616dfbe.entry.js.map +1 -0
- package/dist/core/{p-b17e7059.entry.js → p-06bf2cea.entry.js} +2 -2
- package/dist/core/{p-b17e7059.entry.js.map → p-06bf2cea.entry.js.map} +1 -1
- package/dist/core/{p-f2f7299b.entry.js → p-071f4748.entry.js} +2 -2
- package/dist/core/{p-f2f7299b.entry.js.map → p-071f4748.entry.js.map} +1 -1
- package/dist/core/p-09e8b002.entry.js +2 -0
- package/dist/core/p-09e8b002.entry.js.map +1 -0
- package/dist/core/{p-b18a5861.entry.js → p-110486f0.entry.js} +2 -2
- package/dist/core/{p-b18a5861.entry.js.map → p-110486f0.entry.js.map} +1 -1
- package/dist/core/p-19ecd2a6.entry.js +2 -0
- package/dist/core/p-19ecd2a6.entry.js.map +1 -0
- package/dist/core/p-1a2b4803.entry.js +2 -0
- package/dist/core/p-1a2b4803.entry.js.map +1 -0
- package/dist/core/{p-32720276.entry.js → p-1bbae4b3.entry.js} +2 -2
- package/dist/core/{p-0fd762bf.entry.js → p-1f415138.entry.js} +2 -2
- package/dist/core/p-1f415138.entry.js.map +1 -0
- package/dist/core/{p-b8aa37f9.entry.js → p-20bd48cf.entry.js} +2 -2
- package/dist/core/{p-be5ad372.entry.js → p-21193099.entry.js} +2 -2
- package/dist/core/p-264335c5.entry.js +2 -0
- package/dist/core/p-264335c5.entry.js.map +1 -0
- package/dist/core/{p-a214a9f8.entry.js → p-30a5b319.entry.js} +2 -2
- package/dist/core/{p-a214a9f8.entry.js.map → p-30a5b319.entry.js.map} +1 -1
- package/dist/core/{p-9f4fa820.entry.js → p-3244a174.entry.js} +2 -2
- package/dist/core/{p-9f4fa820.entry.js.map → p-3244a174.entry.js.map} +1 -1
- package/dist/core/{p-5dc25d11.entry.js → p-37df68fe.entry.js} +2 -2
- package/dist/core/{p-5dc25d11.entry.js.map → p-37df68fe.entry.js.map} +1 -1
- package/dist/core/{p-3e9564b5.entry.js → p-39269b62.entry.js} +2 -2
- package/dist/core/p-3955fa94.entry.js +2 -0
- package/dist/core/p-3955fa94.entry.js.map +1 -0
- package/dist/core/p-3f185257.entry.js +2 -0
- package/dist/core/p-3f185257.entry.js.map +1 -0
- package/dist/core/p-401f0043.entry.js +2 -0
- package/dist/core/{p-144b1dee.entry.js.map → p-401f0043.entry.js.map} +1 -1
- package/dist/core/{p-da798f58.entry.js → p-44ac8f8a.entry.js} +2 -2
- package/dist/core/{p-afc4ce53.entry.js → p-4d39cab8.entry.js} +2 -2
- package/dist/core/{p-fd006a9b.entry.js → p-4e187a11.entry.js} +2 -2
- package/dist/core/{p-d154b26c.entry.js → p-50324682.entry.js} +2 -2
- package/dist/core/{p-cd9e1ffa.entry.js → p-50f4d151.entry.js} +2 -2
- package/dist/core/{p-cd9e1ffa.entry.js.map → p-50f4d151.entry.js.map} +1 -1
- package/dist/core/{p-22e0ed96.entry.js → p-5796b6cd.entry.js} +2 -2
- package/dist/core/{p-96551ddf.entry.js → p-57c80527.entry.js} +2 -2
- package/dist/core/p-59aed40c.entry.js +2 -0
- package/dist/core/p-59aed40c.entry.js.map +1 -0
- package/dist/core/{p-b6db0cc1.entry.js → p-60d15d35.entry.js} +2 -2
- package/dist/core/p-65d3a515.entry.js +2 -0
- package/dist/core/{p-c4f7e479.entry.js.map → p-65d3a515.entry.js.map} +1 -1
- package/dist/core/{p-272352cb.entry.js → p-6aa1e928.entry.js} +2 -2
- package/dist/core/p-6e0f93c5.entry.js +2 -0
- package/dist/core/p-6e0f93c5.entry.js.map +1 -0
- package/dist/core/p-6f6d793f.entry.js +2 -0
- package/dist/core/p-6f6d793f.entry.js.map +1 -0
- package/dist/core/{p-507ec499.entry.js → p-701696aa.entry.js} +2 -2
- package/dist/core/{p-507ec499.entry.js.map → p-701696aa.entry.js.map} +1 -1
- package/dist/core/{p-1334a78f.entry.js → p-73e41eac.entry.js} +2 -2
- package/dist/core/p-7bbd9fcb.entry.js +2 -0
- package/dist/core/p-7bbd9fcb.entry.js.map +1 -0
- package/dist/core/p-7d054704.js +2 -0
- package/dist/core/p-7d054704.js.map +1 -0
- package/dist/core/{p-08fd225f.entry.js → p-857c46c0.entry.js} +2 -2
- package/dist/core/p-858dd362.entry.js +2 -0
- package/dist/core/p-858dd362.entry.js.map +1 -0
- package/dist/core/{p-0e3cb8d0.entry.js → p-8856dff4.entry.js} +2 -2
- package/dist/core/p-8c5a23b4.entry.js +2 -0
- package/dist/core/p-8c5a23b4.entry.js.map +1 -0
- package/dist/core/{p-00135a74.js → p-8e4e97b4.js} +3 -3
- package/dist/core/p-8e4e97b4.js.map +1 -0
- package/dist/core/{p-762a4d7c.entry.js → p-91dc6ad3.entry.js} +2 -2
- package/dist/core/{p-0c3bd9e6.entry.js → p-94427b50.entry.js} +2 -2
- package/dist/core/{p-e13b43b1.entry.js → p-9cf7494c.entry.js} +2 -2
- package/dist/core/{p-0848efa2.entry.js → p-a2671eb0.entry.js} +2 -2
- package/dist/core/p-a2fcea60.entry.js +2 -0
- package/dist/core/p-a2fcea60.entry.js.map +1 -0
- package/dist/core/p-a5ee9c8d.entry.js +2 -0
- package/dist/core/p-a5ee9c8d.entry.js.map +1 -0
- package/dist/core/{p-a4582939.entry.js → p-a88369e1.entry.js} +2 -2
- package/dist/core/p-a88369e1.entry.js.map +1 -0
- package/dist/core/{p-a30d165d.entry.js → p-af405fc0.entry.js} +2 -2
- package/dist/core/p-af405fc0.entry.js.map +1 -0
- package/dist/core/{p-5d85bd73.entry.js → p-b953b22f.entry.js} +2 -2
- package/dist/core/{p-5d85bd73.entry.js.map → p-b953b22f.entry.js.map} +1 -1
- package/dist/core/p-bb9142fe.entry.js +2 -0
- package/dist/core/{p-a13dc5ba.entry.js.map → p-bb9142fe.entry.js.map} +1 -1
- package/dist/core/{p-60a0c711.entry.js → p-bfdefe7a.entry.js} +2 -2
- package/dist/core/{p-60a0c711.entry.js.map → p-bfdefe7a.entry.js.map} +1 -1
- package/dist/core/p-c4baa405.entry.js +2 -0
- package/dist/core/p-c4baa405.entry.js.map +1 -0
- package/dist/core/p-c86ca475.js +2 -0
- package/dist/core/p-c86ca475.js.map +1 -0
- package/dist/core/p-cda2a461.entry.js +2 -0
- package/dist/core/p-cda2a461.entry.js.map +1 -0
- package/dist/core/{p-ef25bb6d.entry.js → p-ce83c802.entry.js} +2 -2
- package/dist/core/{p-ef25bb6d.entry.js.map → p-ce83c802.entry.js.map} +1 -1
- package/dist/core/p-cea17764.entry.js +2 -0
- package/dist/core/{p-4e5934f3.entry.js.map → p-cea17764.entry.js.map} +1 -1
- package/dist/core/{p-f541034c.entry.js → p-d0768256.entry.js} +2 -2
- package/dist/core/p-d2d6f1eb.entry.js +2 -0
- package/dist/core/p-d2d6f1eb.entry.js.map +1 -0
- package/dist/core/{p-48163a2a.entry.js → p-d4628704.entry.js} +2 -2
- package/dist/core/{p-48163a2a.entry.js.map → p-d4628704.entry.js.map} +1 -1
- package/dist/core/{p-0f6b9686.js → p-e246d84b.js} +2 -2
- package/dist/core/p-e4fa4ee5.entry.js +2 -0
- package/dist/core/p-e4fa4ee5.entry.js.map +1 -0
- package/dist/core/{p-3d1ba098.entry.js → p-e6779171.entry.js} +2 -2
- package/dist/core/{p-fd42f129.entry.js → p-e8bb1522.entry.js} +2 -2
- package/dist/core/p-e8bb1522.entry.js.map +1 -0
- package/dist/core/{p-4da17eda.entry.js → p-f42ca69f.entry.js} +2 -2
- package/dist/core/{p-895a3eb1.entry.js → p-f5e9c8c8.entry.js} +2 -2
- package/dist/core/p-f5e9c8c8.entry.js.map +1 -0
- package/dist/core/{p-0e119312.entry.js → p-fa02a267.entry.js} +2 -2
- package/dist/core/{p-0e119312.entry.js.map → p-fa02a267.entry.js.map} +1 -1
- package/dist/esm/core.js +3 -3
- package/dist/esm/{date-helpers-0e5e32a7.js → date-helpers-3b8c39ab.js} +20 -66
- package/dist/esm/date-helpers-3b8c39ab.js.map +1 -0
- package/dist/esm/{helpers-bbab69a2.js → helpers-bf471ace.js} +3 -3
- package/dist/esm/{helpers-bbab69a2.js.map → helpers-bf471ace.js.map} +1 -1
- package/dist/esm/{helpers-5479985d.js → helpers-ddc2008a.js} +16 -16
- package/dist/esm/helpers-ddc2008a.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +2 -2
- package/dist/esm/ic-accordion.entry.js +2 -2
- package/dist/esm/ic-alert.entry.js +2 -2
- package/dist/esm/ic-back-to-top.entry.js +2 -2
- package/dist/esm/ic-badge.entry.js +3 -3
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
- package/dist/esm/ic-breadcrumb.entry.js +2 -2
- package/dist/esm/ic-button_3.entry.js +3 -3
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +16 -12
- package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +3 -3
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +7 -7
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/{ic-empty-state_2.entry.js → ic-checkbox_3.entry.js} +158 -25
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -0
- package/dist/esm/ic-chip.entry.js +3 -3
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +3 -3
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js +2 -2
- package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
- package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
- package/dist/esm/ic-data-table.entry.js +310 -276
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +130 -148
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +87 -70
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +38 -47
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +2 -2
- package/dist/esm/ic-footer-link-group.entry.js +2 -2
- package/dist/esm/ic-footer-link.entry.js +2 -2
- package/dist/esm/ic-footer.entry.js +2 -2
- package/dist/esm/ic-hero.entry.js +2 -2
- package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
- package/dist/esm/ic-input-component-container_3.entry.js +3 -3
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +2 -2
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js +2 -2
- package/dist/esm/ic-navigation-button.entry.js +2 -2
- package/dist/esm/ic-navigation-group.entry.js +20 -17
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +2 -2
- package/dist/esm/ic-navigation-menu.entry.js +6 -6
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +12 -11
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +46 -28
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +6 -6
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +7 -7
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +2 -2
- package/dist/esm/ic-search-bar.entry.js +3 -3
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +3 -3
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +7 -7
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +3 -3
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-skip-link.entry.js +3 -3
- package/dist/esm/ic-skip-link.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +5 -5
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +16 -16
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +4 -4
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +6 -6
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +2 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +4 -4
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +3 -3
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +3 -3
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +6 -6
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +4 -4
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +5 -5
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +5 -9
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +35 -42
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-tree-view.entry.js +25 -21
- package/dist/esm/ic-tree-view.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +2 -2
- package/dist/esm/{index-163fe708.js → index-a7a720e7.js} +6 -11
- package/dist/esm/index-a7a720e7.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +3 -3
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +30 -20
- package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +3 -9
- package/dist/types/components/ic-data-table/story-data.d.ts +15 -4
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +34 -28
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +14 -12
- package/dist/types/components/ic-date-picker/ic-day-button.d.ts +2 -2
- package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +3 -3
- package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +3 -3
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +2 -2
- package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +3 -3
- package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +4 -4
- package/dist/types/components.d.ts +95 -72
- package/dist/types/utils/date-helpers.d.ts +4 -4
- package/dist/types/utils/helpers.d.ts +6 -15
- package/hydrate/index.js +847 -844
- package/hydrate/index.mjs +847 -844
- package/package.json +3 -3
- package/dist/cjs/date-helpers-c9551119.js.map +0 -1
- package/dist/cjs/helpers-32016c21.js.map +0 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +0 -141
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
- package/dist/cjs/index-8a24b20c.js.map +0 -1
- package/dist/core/p-00135a74.js.map +0 -1
- package/dist/core/p-0ad472d0.entry.js +0 -2
- package/dist/core/p-0ad472d0.entry.js.map +0 -1
- package/dist/core/p-0c97a53d.entry.js +0 -2
- package/dist/core/p-0c97a53d.entry.js.map +0 -1
- package/dist/core/p-0efeab8a.entry.js +0 -2
- package/dist/core/p-0efeab8a.entry.js.map +0 -1
- package/dist/core/p-0fd762bf.entry.js.map +0 -1
- package/dist/core/p-144b1dee.entry.js +0 -2
- package/dist/core/p-1cf61bf2.entry.js +0 -2
- package/dist/core/p-1cf61bf2.entry.js.map +0 -1
- package/dist/core/p-250bf568.entry.js +0 -2
- package/dist/core/p-250bf568.entry.js.map +0 -1
- package/dist/core/p-33dd24eb.js +0 -2
- package/dist/core/p-33dd24eb.js.map +0 -1
- package/dist/core/p-4e5934f3.entry.js +0 -2
- package/dist/core/p-4f00aa91.entry.js +0 -2
- package/dist/core/p-4f00aa91.entry.js.map +0 -1
- package/dist/core/p-54e01fad.entry.js +0 -2
- package/dist/core/p-54e01fad.entry.js.map +0 -1
- package/dist/core/p-6040a025.entry.js +0 -2
- package/dist/core/p-6040a025.entry.js.map +0 -1
- package/dist/core/p-62f7f2bd.entry.js +0 -2
- package/dist/core/p-62f7f2bd.entry.js.map +0 -1
- package/dist/core/p-6eaf585a.entry.js +0 -2
- package/dist/core/p-6eaf585a.entry.js.map +0 -1
- package/dist/core/p-72310da8.js +0 -2
- package/dist/core/p-72310da8.js.map +0 -1
- package/dist/core/p-836d302a.entry.js +0 -2
- package/dist/core/p-836d302a.entry.js.map +0 -1
- package/dist/core/p-881bb783.entry.js +0 -2
- package/dist/core/p-881bb783.entry.js.map +0 -1
- package/dist/core/p-895a3eb1.entry.js.map +0 -1
- package/dist/core/p-8d73a3cc.entry.js.map +0 -1
- package/dist/core/p-9a46b1e5.entry.js +0 -2
- package/dist/core/p-9a46b1e5.entry.js.map +0 -1
- package/dist/core/p-a13dc5ba.entry.js +0 -2
- package/dist/core/p-a30d165d.entry.js.map +0 -1
- package/dist/core/p-a4582939.entry.js.map +0 -1
- package/dist/core/p-a7f95a61.entry.js +0 -2
- package/dist/core/p-a7f95a61.entry.js.map +0 -1
- package/dist/core/p-a81c9048.entry.js +0 -2
- package/dist/core/p-a81c9048.entry.js.map +0 -1
- package/dist/core/p-c0687222.entry.js +0 -2
- package/dist/core/p-c0687222.entry.js.map +0 -1
- package/dist/core/p-c2aef5cc.entry.js +0 -2
- package/dist/core/p-c2aef5cc.entry.js.map +0 -1
- package/dist/core/p-c4f7e479.entry.js +0 -2
- package/dist/core/p-fb11ce9b.entry.js +0 -2
- package/dist/core/p-fb11ce9b.entry.js.map +0 -1
- package/dist/core/p-fba58c42.entry.js +0 -2
- package/dist/core/p-fba58c42.entry.js.map +0 -1
- package/dist/core/p-fd42f129.entry.js.map +0 -1
- package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
- package/dist/esm/helpers-5479985d.js.map +0 -1
- package/dist/esm/ic-checkbox.entry.js.map +0 -1
- package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
- package/dist/esm/index-163fe708.js.map +0 -1
- /package/dist/core/{p-32720276.entry.js.map → p-1bbae4b3.entry.js.map} +0 -0
- /package/dist/core/{p-b8aa37f9.entry.js.map → p-20bd48cf.entry.js.map} +0 -0
- /package/dist/core/{p-be5ad372.entry.js.map → p-21193099.entry.js.map} +0 -0
- /package/dist/core/{p-3e9564b5.entry.js.map → p-39269b62.entry.js.map} +0 -0
- /package/dist/core/{p-da798f58.entry.js.map → p-44ac8f8a.entry.js.map} +0 -0
- /package/dist/core/{p-afc4ce53.entry.js.map → p-4d39cab8.entry.js.map} +0 -0
- /package/dist/core/{p-fd006a9b.entry.js.map → p-4e187a11.entry.js.map} +0 -0
- /package/dist/core/{p-d154b26c.entry.js.map → p-50324682.entry.js.map} +0 -0
- /package/dist/core/{p-22e0ed96.entry.js.map → p-5796b6cd.entry.js.map} +0 -0
- /package/dist/core/{p-96551ddf.entry.js.map → p-57c80527.entry.js.map} +0 -0
- /package/dist/core/{p-b6db0cc1.entry.js.map → p-60d15d35.entry.js.map} +0 -0
- /package/dist/core/{p-272352cb.entry.js.map → p-6aa1e928.entry.js.map} +0 -0
- /package/dist/core/{p-1334a78f.entry.js.map → p-73e41eac.entry.js.map} +0 -0
- /package/dist/core/{p-08fd225f.entry.js.map → p-857c46c0.entry.js.map} +0 -0
- /package/dist/core/{p-0e3cb8d0.entry.js.map → p-8856dff4.entry.js.map} +0 -0
- /package/dist/core/{p-762a4d7c.entry.js.map → p-91dc6ad3.entry.js.map} +0 -0
- /package/dist/core/{p-0c3bd9e6.entry.js.map → p-94427b50.entry.js.map} +0 -0
- /package/dist/core/{p-e13b43b1.entry.js.map → p-9cf7494c.entry.js.map} +0 -0
- /package/dist/core/{p-0848efa2.entry.js.map → p-a2671eb0.entry.js.map} +0 -0
- /package/dist/core/{p-f541034c.entry.js.map → p-d0768256.entry.js.map} +0 -0
- /package/dist/core/{p-0f6b9686.js.map → p-e246d84b.js.map} +0 -0
- /package/dist/core/{p-3d1ba098.entry.js.map → p-e6779171.entry.js.map} +0 -0
- /package/dist/core/{p-4da17eda.entry.js.map → p-f42ca69f.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as s,H as e,g as a}from"./p-00135a74.js";import{b as h,s as r,u as n,r as o,v as l,w as c,o as d,x as u,y as f,z as b,k as p,l as v}from"./p-72310da8.js";import{b as m,i as w,j as y,s as g,h as k,k as x}from"./p-33dd24eb.js";const $=`<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 D=`<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 Y='/*! 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{--ic-input-label-helpertext-padding:var(--ic-space-xxs);--input-bg-color:var(--ic-date-input-bg);--ic-input-label-text-color:var(--ic-date-input-label);--ic-input-label-helper-text-color:var(--ic-date-input-subtitle);--border-color:var(--ic-date-input-border);--border-color-disabled:var(--ic-date-input-border-disabled);--border-color-hover:var(--ic-date-input-border-default-hover);--border-color-pressed:var(--ic-date-input-border-default-pressed);--border-error-color:var(--ic-date-input-border-error);--border-error-color-hover:var(--ic-date-input-border-error-hover);--border-error-color-pressed:var(--ic-date-input-border-error-pressed);--border-success-color:var(--ic-date-input-border-success);--border-success-color-hover:var(--ic-date-input-border-success-hover);--border-success-color-pressed:var(--ic-date-input-border-success-pressed);--border-warning-color:var(--ic-date-input-border-warning);--border-warning-color-hover:var(--ic-date-input-border-warning-hover);--border-warning-color-pressed:var(--ic-date-input-border-warning-pressed)}:host(.ic-date-input-disabled){--ic-input-label-text-color:var(--ic-date-input-label-disabled);--ic-input-label-helper-text-color:var(--ic-date-input-subtitle-disabled)}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;color:var(--ic-date-input-text-filled);caret-color:var(--ic-date-input-typing-cursor)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}input:-webkit-autofill{box-shadow:0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;-webkit-text-fill-color:var(--ic-date-input-text-filled) !important}input::-moz-placeholder{color:var(--ic-date-input-text-placeholder)}input::placeholder{color:var(--ic-date-input-text-placeholder)}ic-input-component-container{cursor:text}ic-input-component-container .focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.date-inputs{color:var(--ic-date-input-text-placeholder)}.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-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:0.25rem}.calendar-button:focus,.calendar-button:active{--ic-button-tertiary-text-active:var(--ic-atoms-input-clear-button-focus);--ic-button-tertiary-text-hover-active:var(\n --ic-atoms-input-clear-button-focus\n );--ic-button-tertiary-text-pressed-active:var(\n --ic-atoms-input-clear-button-focus\n )}.clear-button:focus,.calendar-button:focus,.clear-button:active *,.calendar-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button svg{color:var(--ic-date-input-clear-icon)}.clear-button:focus svg{color:var(--ic-atoms-input-clear-button-focus)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-atoms-input-divider);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.medium{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}ic-input-validation{--ic-input-validation-status-text-color:var(--ic-date-input-status-text);--ic-input-validation-error:var(--ic-date-input-icon-error);--ic-input-validation-warning-icon-color:var(--ic-date-input-icon-warning);--ic-input-validation-success-icon-color:var(--ic-date-input-icon-success)}';const z=Y;let H=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.externalSetDate=false;this.clearInput=false;this.calendarFocused=false;this.clearButtonFocused=false;this.removeLabelledBy=false;this.day="";this.month="";this.year="";this.dateFormat="DD/MM/YYYY";this.emitDatePartChange=false;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.hideHelperText=false;this.hideLabel=false;this.inputId=`ic-date-input-${H++}`;this.invalidDateMessage="Please enter a valid date.";this.max="";this.min="";this.name=this.inputId;this.required=false;this.showCalendarButton=false;this.showClearButton=true;this.size="medium";this.theme="inherit";this.value="";this.validationStatus="";this.validationText="";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(!h(this.day)){this.isValidDay=+this.day>this.MAX_DAY?false:true}else{this.isValidDay=true}if(!h(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)=>{var s;const e=t.target;const a=(s=t.key)===null||s===void 0?void 0:s.toLowerCase();const h=/-?\d*\.?\d+(e[-+]?\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;if(!h.test(a)&&!((t.ctrlKey||t.metaKey)&&(a==="v"||a==="c"))){t.preventDefault()}switch(a){case"/":case"-":case".":t.preventDefault();this.setPasteInvalidText();this.moveToNextInput(e);break;case"arrowright":case"arrowleft":t.preventDefault();this.handleLeftRightArrowKeyPress(e,a);break;case"arrowup":case"arrowdown":this.preventAutoFormatting=true;this.handleUpDownArrowKeyPress(e,t);break;case"backspace":if(e.value.length===0){t.preventDefault();this.moveToPreviousInput(e)}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=r(p);const i=r(v);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||!m(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 if(!(this.selectedDate===null&&this.previousSelectedDate===null)){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){if(this.day)this.day=null;if(this.month)this.month=null;if(this.year)this.year=null;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setPreventInput(t,false)}));this.handleDateChange(true)}else{if(w(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=y(i.getDate());this.month=y(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=g(t,this.dateFormat);this.selectedDate=new Date(Number(i[0]),Number(i[1])-1,Number(i[2]));this.year=i[0];this.month=i[1];this.day=i[2];this.setValueAndEmitChange(this.selectedDate)}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=y(t.getDate());const e=y(t.getMonth()+1);const a=t.getFullYear();switch(this.dateFormat){case"DD/MM/YYYY":i=`${s}/${e}/${a}`;break;case"MM/DD/YYYY":i=`${e}/${s}/${a}`;break;case"YYYY/MM/DD":i=`${a}/${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(!h(this.day)&&!h(this.month)&&!h(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=this.invalidDateMessage}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,i;if(this.disabled&&!h((t=this.inputCompContainerEl)===null||t===void 0?void 0:t.getAttribute(this.ARIA_LABELLED_BY))){this.removeAriaLabelledBy();return}if(this.disabled){return}const s=this.el.shadowRoot.querySelector("label");const e=`${this.inputId}-label`;if(s!==null&&s!==undefined){s.id=e}const a=!h(this.validationStatus)||!h(this.invalidDateText);const r=`${(i=s===null||s===void 0?void 0:s.id)!==null&&i!==void 0?i:""} ${this.screenReaderInfoId} ${n(this.inputId,this.helperText!==""&&this.helperText!==this.defaultHelperText,a)} ${this.selectedDate?this.selectedDateInfoId:""} ${this.assistiveHintId}`;this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY,r)};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 a=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 h;switch(t){case"D":h=i;break;case"M":h=e;break;case"Y":h=a}return h};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===f.Error){i+=" invalid data"}return i===""?"":i+", "};this.preventInput=(t,i)=>{const s=t.key;const e=t.target;let a;if(e){a=e.value.substring(e.selectionStart,e.selectionEnd)}if(s==="e"||s==="."||s==="-"||t.key>="0"&&t.key<="9"&&i&&!a){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(!h(t)&&!h(i)&&!h(s)){return new Date(+t,+i-1,+s)}else{return null}};this.handleHostBlur=()=>{this.removeLabelledBy=false;this.icBlur.emit({value:this.selectedDate})};this.handleHostFocus=()=>{var t;if((t=this.el.shadowRoot.activeElement)===null||t===void 0?void 0:t.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&&!!v[+t.value-1]){s=`${t.value} - ${v[+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&&!!v[+t.value-1]&&this.isValidMonth){s=`${t.value} - ${v[+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.clearInput=true;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setInputValue(t,true);this.setPreventInput(t,false)}));this.clearInput=false;this.isDateSetFromKeyboardEvent=false;this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{var i,s;t.stopImmediatePropagation();(i=this.calendarButtonEl)===null||i===void 0?void 0:i.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});(s=this.calendarButtonEl)===null||s===void 0?void 0:s.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(!m(new Date(this.value),t)){this.emitIcChange(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=>{var i;this.clearButtonFocused=false;if((i=t.relatedTarget)===null||i===void 0?void 0:i.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};this.emitIcChange=t=>{this.selectedDate=t;if(!m(this.selectedDate,t)||this.day!==null||this.month!==null||this.year!==null){this.icChange.emit({value:t,dateObject:{day:this.day===""?null:this.day,month:this.month===""?null:this.month,year:this.year===""?null:this.year}})}}}watchInputHandler(){if(this.emitDatePartChange&&!this.externalSetDate&&!this.clearInput&&!(this.day&&this.month&&this.year)&&this.selectedDate===null){this.emitIcChange(this.selectedDate)}}watchDisabledHandler(){o(this.disabled,this.el)}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=k(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=k(this.min,this.dateFormat)}}watchRequiredHandler(){const t=this.el.shadowRoot.querySelector("label");if(this.required){const i=document.createElement("span");i.setAttribute("id","asterisk-span");i.setAttribute("aria-hidden","true");i.textContent=" *";t===null||t===void 0?void 0:t.appendChild(i)}else{const t=this.el.shadowRoot.querySelector("#asterisk-span");if(t){t.remove()}}}disconnectedCallback(){l(this.el,this.handleFormReset)}componentWillLoad(){this.defaultHelperText=`Use format ${this.dateFormat}`;if(h(this.helperText))this.helperText=this.defaultHelperText;this.watchMinHandler();this.watchMaxHandler();if(this.value){this.externalSetDate=true;this.setDate(this.value)}this.screenReaderInfoId=`${this.inputId}-screen-reader-info`;this.assistiveHintId=`${this.inputId}-assistive-hint`;this.selectedDateInfoId=`${this.inputId}-selected-date-info`;c(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){this.setInputsInOrder();d([{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)}));this.watchRequiredHandler()}componentWillUpdate(){if(h(this.helperText))this.helperText=this.defaultHelperText;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}async triggerIcChange(t){this.externalSetDate=true;this.setDate(t);this.emitIcChange(t);this.externalSetDate=false}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?x(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)&&u(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&&u(i):if(s.target!==this.yearInputEl){this.displayPastedValidation(s)}else{this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}break;case i.length>=5&&u(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=f.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:a,helperText:r,hideHelperText:n,hideLabel:o,showClearButton:l,showCalendarButton:c,size:d,theme:u}=this;const p=!h(this.validationStatus);const v=p?this.validationStatus:!h(this.invalidDateText)?f.Error:"";const m=`Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;b(true,this.el,this.name,this.convertToDate(this.year,this.month,this.day),this.disabled);return s(e,{key:"a37b652ab1896d583a970f2fe3f23480fe923406",class:{[`ic-theme-${u}`]:u!=="inherit",[`ic-date-input-disabled`]:a},onBlur:this.handleHostBlur,onFocus:this.handleHostFocus},s("ic-input-container",{key:"41c1cd439879613d8920593309e19c050e5d451e",disabled:a},!(o&&n)&&s("ic-input-label",{key:"a598faa23eda4cf283cd5e542008aad20150736e",for:t,label:i,hideLabel:o,helperText:!n?r:"",disabled:a}),s("span",{key:"71265eb5808610652efe874a2ad9828c970a9176",id:this.screenReaderInfoId,class:"sr-only","aria-hidden":"true"},this.getScreenReaderInfo(v),o&&`${i}\n`,n&&`${r}\n`,`${this.defaultHelperText}.`),s("span",{key:"67121b1b28fa69acd5c143d8dacb9c634db15f05",id:this.assistiveHintId,class:"sr-only","aria-hidden":"true"},m),s("span",{key:"2af3f97d24ed25ba868b08d13b4467075b350a36",id:"live-region","aria-live":"assertive",class:"sr-only"}),s("ic-input-component-container",{key:"c7c455f3f16458f6a56e604e8f8499834f277933",id:t,ref:t=>this.inputCompContainerEl=t,disabled:a,validationStatus:v,size:d,role:"group",class:{[`ic-theme-${u}`]:u!=="inherit"}},s("div",{key:"ccf2a9ca8154cdc108fdbbe4a8b1cf2fd6fb5070",class:"input-container"},s("div",{key:"c044b44ee99dcf32722bdbfa481c8464a9a4d7bb",class:"date-inputs"},this.getInputsInOrder()[0],"/",this.getInputsInOrder()[1],"/",this.getInputsInOrder()[2]),s("div",{key:"30818ad45a24cdca204f8b629f064840420afb44",class:"action-buttons"},l&&s("ic-button",{key:"99a6a5b62893e56cf5d3a4f6645ce2aa1b77e538",id:"clear-button","aria-label":"Clear input",class:{["clear-button"]:true,["hidden"]:h(this.day)&&h(this.month)&&h(this.year)},disabled:this.disabled,innerHTML:$,onClick:this.handleClear,onFocus:this.handleClearFocus,onBlur:this.handleClearBlur,variant:"icon-tertiary",theme:this.clearButtonFocused?"light":"dark",size:d}),c&&s("div",{key:"77a0ba0e9dfa3b99a97252178e42f49261619503",class:"show-calendar-button-wrapper"},s("div",{key:"70408bceb4963e3ba54fe5630ba95905d15be0a6",class:{divider:true,[d]:true}}),s("ic-button",{key:"f38c632d59fe23bfda2f20a8a9646028ac40f99b",id:"calendar-button",ref:t=>this.calendarButtonEl=t,"aria-label":"Display calendar","aria-haspopup":"dialog",class:"calendar-button",disabled:this.disabled,innerHTML:D,onClick:this.handleCalendarOpen,variant:"icon-tertiary",size:d,onFocus:this.handleCalendarFocus,onBlur:this.handleCalendarBlur,theme:this.calendarFocused?"light":"dark"}))))),s("span",{key:"614cc74c88f8d83e04ec9bde0d984567c536d65c",id:this.selectedDateInfoId,class:"sr-only","aria-live":"polite"},s("span",{key:"f1dea32613b9f162808ffef69baa6231c86998d3",ref:t=>this.selectedDateInfoEl=t,role:"status"})),(p||!h(this.invalidDateText))&&s("ic-input-validation",{key:"802cdf9f7bc52c9164137059b46f5c1dfcbcdb80",status:v,message:p?this.validationText:this.invalidDateText,for:t})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{day:["watchInputHandler"],month:["watchInputHandler"],year:["watchInputHandler"],disabled:["watchDisabledHandler"],disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],required:["watchRequiredHandler"]}}};M.style=z;export{M as ic_date_input};
|
2
|
-
//# sourceMappingURL=p-0ad472d0.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icDateInputCss","IcDateInputStyle0","inputIds","DateInput","constructor","hostRef","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","externalSetDate","clearInput","calendarFocused","clearButtonFocused","removeLabelledBy","day","month","year","dateFormat","emitDatePartChange","disabled","disableDays","disableDaysMessage","disableFuture","disableFutureMessage","disablePast","disablePastMessage","hideHelperText","hideLabel","inputId","invalidDateMessage","max","min","name","required","showCalendarButton","showClearButton","size","theme","validationStatus","validationText","setInputPasteValue","input","pastedValue","inputEl","classList","add","checkSingleCopiedValueIsValid","isValid","Number","dayInputEl","monthInputEl","yearInputEl","isKeyboardOrEvent","event","Object","prototype","toString","call","setDateValidity","isEmptyString","handleInput","inputEvent","target","inputType","preventAutoFormatting","length","setInputValue","notifyScreenReader","moveToNextInput","setPreventInput","setFitToValueStyling","setValidationMessage","handleKeyDown","isInputPrevented","eventKey","_a","key","toLowerCase","regex","test","ctrlKey","metaKey","preventDefault","setPasteInvalidText","handleLeftRightArrowKeyPress","handleUpDownArrowKeyPress","moveToPreviousInput","preventInput","handleFocus","select","handleBlur","autocompleteInput","notifyScreenReaderSelectedDate","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","selectedDateInfoEl","textContent","getDay","getDate","getMonth","getFullYear","minValue","maxValue","Date","handleDateChange","force","dateMatches","forEach","invalidDateText","setValueAndEmitChange","updateInputValues","slicePastedDate","valueLength","datePart","slice","isPastedStringDateValid","handlePaste","clipboardData","getData","setPastedValueAndValidation","setDate","date","undefined","remove","isDateOrEpoch","newDate","convertToDoubleDigits","defaultDateArray","splitStringDate","formatMinMax","formattedDate","clear","newValue","convertToDate","isSelectedDateDisabled","setAttribute","removeAttribute","minDate","maxDate","setInputsInOrder","inputs","el","shadowRoot","querySelectorAll","push","setAriaLabelledBy","inputCompContainerEl","getAttribute","removeAriaLabelledBy","labelEl","querySelector","labelId","id","hasValidation","labelledBy","_b","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","IcInformationStatus","Error","selectedString","selectionStart","selectionEnd","currentDate","isNotToday","toDateString","includes","currentInput","currentInputPos","findIndex","nextInput","focus","autocompleteYear","inputValue","yearNumbers","autocompletedInput","number","index","handleHostBlur","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","emitIcChange","handleCalendarFocus","handleCalendarBlur","handleClearFocus","handleClearBlur","relatedTarget","d","icChange","dateObject","watchInputHandler","watchDisabledHandler","removeDisabledFalse","watchDisableFutureHandler","watchMaxHandler","watchDisablePastHandler","watchMinHandler","createDate","watchRequiredHandler","asteriskSpan","document","createElement","appendChild","disconnectedCallback","removeFormResetListener","componentWillLoad","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","addEventListener","componentWillUpdate","componentDidRender","setCalendarFocus","setDisableDays","days","triggerIcChange","nextParsedValue","extractDateFromZuluDateTime","pasteZuluDateTime","dateValue","isNumeric","displayPastedValidation","previousInvalidDateTest","isPasteValidationDisplayed","render","hasCustomValidation","assistiveHint","renderHiddenInput","Host","onBlur","onFocus","for","role","innerHTML","Clear","onClick","variant","divider","Calendar","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 \"../../global/normalize.css\";\n\n:host {\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --input-bg-color: var(--ic-date-input-bg);\n --ic-input-label-text-color: var(--ic-date-input-label);\n --ic-input-label-helper-text-color: var(--ic-date-input-subtitle);\n --border-color: var(--ic-date-input-border);\n --border-color-disabled: var(--ic-date-input-border-disabled);\n --border-color-hover: var(--ic-date-input-border-default-hover);\n --border-color-pressed: var(--ic-date-input-border-default-pressed);\n --border-error-color: var(--ic-date-input-border-error);\n --border-error-color-hover: var(--ic-date-input-border-error-hover);\n --border-error-color-pressed: var(--ic-date-input-border-error-pressed);\n --border-success-color: var(--ic-date-input-border-success);\n --border-success-color-hover: var(--ic-date-input-border-success-hover);\n --border-success-color-pressed: var(--ic-date-input-border-success-pressed);\n --border-warning-color: var(--ic-date-input-border-warning);\n --border-warning-color-hover: var(--ic-date-input-border-warning-hover);\n --border-warning-color-pressed: var(--ic-date-input-border-warning-pressed);\n}\n\n:host(.ic-date-input-disabled) {\n --ic-input-label-text-color: var(--ic-date-input-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-date-input-subtitle-disabled);\n}\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 color: var(--ic-date-input-text-filled);\n caret-color: var(--ic-date-input-typing-cursor);\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n\ninput:-webkit-autofill {\n box-shadow: 0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;\n -webkit-text-fill-color: var(--ic-date-input-text-filled) !important;\n}\n\ninput::placeholder {\n color: var(--ic-date-input-text-placeholder);\n}\n\nic-input-component-container {\n cursor: text;\n}\n\nic-input-component-container .focus-indicator {\n padding: var(--ic-space-xxxs) var(--ic-space-xs);\n align-items: center;\n}\n\n.date-inputs {\n color: var(--ic-date-input-text-placeholder);\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-color-focus-inner) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;\n border-radius: 0.25rem;\n}\n\n.calendar-button:focus,\n.calendar-button:active {\n --ic-button-tertiary-text-active: var(--ic-atoms-input-clear-button-focus);\n --ic-button-tertiary-text-hover-active: var(\n --ic-atoms-input-clear-button-focus\n );\n --ic-button-tertiary-text-pressed-active: var(\n --ic-atoms-input-clear-button-focus\n );\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active *,\n.calendar-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button svg {\n color: var(--ic-date-input-clear-icon);\n}\n\n.clear-button:focus svg {\n color: var(--ic-atoms-input-clear-button-focus);\n}\n\n.divider {\n margin: 0 var(--ic-space-xxs);\n width: var(--ic-space-1px);\n background-color: var(--ic-atoms-input-divider);\n border-radius: var(--ic-space-1px);\n}\n\n.divider.small {\n height: var(--ic-space-md);\n}\n\n.divider.medium {\n height: calc(var(--ic-space-sm) + var(--ic-space-xs));\n}\n\n.divider.large {\n height: var(--ic-space-lg);\n}\n\nic-input-validation {\n --ic-input-validation-status-text-color: var(--ic-date-input-status-text);\n --ic-input-validation-error: var(--ic-date-input-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-date-input-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-date-input-icon-success);\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 IcDateFormat,\n IcDateInputMonths,\n IcDayNames,\n IcWeekDays,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToDoubleDigits,\n createDate,\n dateMatches,\n extractDateFromZuluDateTime,\n isDateOrEpoch,\n splitStringDate,\n} from \"../../utils/date-helpers\";\nimport {\n addFormResetListener,\n getInputDescribedByText,\n isEmptyString,\n isNumeric,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\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 private externalSetDate: boolean = false;\n private clearInput: boolean = false;\n\n @Element() el: HTMLIcDateInputElement;\n\n @State() invalidDateText: string;\n @State() maxDate: Date;\n @State() minDate: Date;\n @State() calendarFocused: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() removeLabelledBy: boolean = false;\n\n @State() day: string = \"\";\n @State() month: string = \"\";\n @State() year: string = \"\";\n\n @Watch(\"day\")\n @Watch(\"month\")\n @Watch(\"year\")\n watchInputHandler(): void {\n if (\n this.emitDatePartChange &&\n !this.externalSetDate &&\n !this.clearInput &&\n !(this.day && this.month && this.year) &&\n this.selectedDate === null\n ) {\n this.emitIcChange(this.selectedDate);\n }\n }\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 * If `true`, every individual input field completed will emit an icChange event.\n */\n @Prop() emitDatePartChange?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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 @Watch(\"disableFuture\")\n watchDisableFutureHandler(): void {\n this.watchMaxHandler();\n }\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 @Watch(\"disablePast\")\n watchDisablePastHandler(): void {\n this.watchMinHandler();\n }\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 * If `true`, the helper text will be visually hidden, but still read out by screenreaders.\n */\n @Prop() hideHelperText: boolean = false;\n\n /**\n * If `true`, the label will be visually hidden, but will still be read out by screen readers.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-date-input-${inputIds++}`;\n\n /**\n * The text to display as the validation message when an invalid date is entered.\n */\n @Prop() invalidDateMessage?: string = \"Please enter a valid date.\";\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 @Watch(\"required\")\n watchRequiredHandler(): void {\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(\"id\", \"asterisk-span\");\n asteriskSpan.setAttribute(\"aria-hidden\", \"true\");\n asteriskSpan.textContent = \" *\";\n labelEl?.appendChild(asteriskSpan);\n } else {\n const asteriskSpan = this.el.shadowRoot.querySelector(\"#asterisk-span\");\n if (asteriskSpan) {\n asteriskSpan.remove();\n }\n }\n }\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 = \"medium\";\n\n /**\n * Sets the date picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\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<{\n value: Date;\n dateObject: { day: string; month: string; year: string };\n }>;\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 this.watchMinHandler();\n this.watchMaxHandler();\n\n if (this.value) {\n this.externalSetDate = true;\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 removeDisabledFalse(this.disabled, this.el);\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 this.watchRequiredHandler();\n }\n\n componentWillUpdate(): void {\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n\n if (!this.isDateSetFromKeyboardEvent) 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 /**\n * @internal Used to enable other components to invoke an IcChange event from the input.\n */\n @Method()\n async triggerIcChange(d: Date): Promise<void> {\n this.externalSetDate = true;\n this.setDate(d);\n this.emitIcChange(d);\n this.externalSetDate = false;\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 case \"backspace\":\n if (input.value.length === 0) {\n event.preventDefault();\n this.moveToPreviousInput(input);\n }\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 || !dateMatches(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 if (\n !(this.selectedDate === null && this.previousSelectedDate === null)\n ) {\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 if (this.day) this.day = null;\n if (this.month) this.month = null;\n if (this.year) 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.selectedDate = new Date(\n Number(defaultDateArray[0]),\n Number(defaultDateArray[1]) - 1,\n Number(defaultDateArray[2])\n );\n this.year = defaultDateArray[0];\n this.month = defaultDateArray[1];\n this.day = defaultDateArray[2];\n this.setValueAndEmitChange(this.selectedDate);\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 = this.invalidDateMessage;\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\n const hasValidation =\n !isEmptyString(this.validationStatus) ||\n !isEmptyString(this.invalidDateText);\n\n const labelledBy = `${labelEl?.id ?? \"\"} ${\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\n this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);\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.clearInput = true;\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.clearInput = false;\n this.isDateSetFromKeyboardEvent = false;\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 (!dateMatches(new Date(this.value), value)) {\n this.emitIcChange(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 private emitIcChange = (d: Date | null) => {\n this.selectedDate = d;\n if (\n !dateMatches(this.selectedDate, d) ||\n this.day !== null ||\n this.month !== null ||\n this.year !== null\n ) {\n this.icChange.emit({\n value: d,\n dateObject: {\n day: this.day === \"\" ? null : this.day,\n month: this.month === \"\" ? null : this.month,\n year: this.year === \"\" ? null : this.year,\n },\n });\n }\n };\n\n render() {\n const {\n inputId,\n label,\n disabled,\n helperText,\n hideHelperText,\n hideLabel,\n showClearButton,\n showCalendarButton,\n size,\n theme,\n } = this;\n\n const hasCustomValidation = !isEmptyString(this.validationStatus);\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\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-date-input-disabled`]: disabled,\n }}\n onBlur={this.handleHostBlur}\n onFocus={this.handleHostFocus}\n >\n <ic-input-container disabled={disabled}>\n {!(hideLabel && hideHelperText) && (\n <ic-input-label\n for={inputId}\n label={label}\n hideLabel={hideLabel}\n helperText={!hideHelperText ? helperText : \"\"}\n disabled={disabled}\n ></ic-input-label>\n )}\n <span id={this.screenReaderInfoId} class=\"sr-only\" aria-hidden=\"true\">\n {this.getScreenReaderInfo(validationStatus)}\n {hideLabel && `${label}\\n`}\n {hideHelperText && `${helperText}\\n`}\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 class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}\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-tertiary\"\n theme={this.clearButtonFocused ? \"light\" : \"dark\"}\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-tertiary\"\n size={size}\n onFocus={this.handleCalendarFocus}\n onBlur={this.handleCalendarBlur}\n theme={this.calendarFocused ? \"light\" : \"dark\"}\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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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,h as t,H as i,g as a,c as s}from"./p-00135a74.js";import{i as h,b as l,a as n}from"./p-0f6b9686.js";import{A as c,h as r}from"./p-72310da8.js";const o=':host{gap:var(--ic-space-xs);padding:var(--ic-space-xs)}:host,.action-area{display:flex;flex-direction:column}.action-area{gap:var(--ic-space-md)}:host ::slotted(svg),:host ::slotted(img){border-radius:var(--ic-space-xxs)}:host(.ic-empty-state-right),:host(.ic-empty-state-right) .action-area{align-items:flex-end;text-align:right}:host(.ic-empty-state-center),:host(.ic-empty-state-center) .action-area{align-items:center;text-align:center}:host(.image-medium) ::slotted(svg),:host(.image-medium) ::slotted(img){height:calc(3 * var(--ic-space-lg)) !important;width:calc(3 * var(--ic-space-lg)) !important}:host(.image-small) ::slotted(svg),:host(.image-small) ::slotted(img){height:var(--ic-space-xxl) !important;width:var(--ic-space-xxl) !important}:host(.image-large) ::slotted(svg),:host(.image-large) ::slotted(img){height:calc(4 * var(--ic-space-xl)) !important;width:calc(4 * var(--ic-space-xl)) !important}::slotted([slot="heading"]),.empty-state-heading{--ic-typography-color:var(--ic-empty-state-title)}::slotted([slot="subheading"]),.empty-state-subheading{--ic-typography-color:var(--ic-empty-state-subtitle)}::slotted([slot="body"]),.empty-state-body{--ic-typography-color:var(--ic-empty-state-body)}';const d=o;const p=class{constructor(t){e(this,t);this.hostMutationObserver=null;this.aligned="left";this.imageSize="medium";this.theme="inherit"}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentDidLoad(){!h(this.el,"heading")&&l([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver((e=>n(e,["image","actions"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:e,body:a,maxLines:s,heading:l,imageSize:n,subheading:c,theme:r}=this;return t(i,{key:"d8dbd02105f4b01a468436fd73ccd4ddec2a4cf1",class:{[`ic-empty-state-${e}`]:true,[`image-${n}`]:h(this.el,"image"),[`ic-theme-${r}`]:r!=="inherit"}},h(this.el,"image")&&t("slot",{key:"d7bed2bb22a41377f6c9032660bc62f79294510c",name:"image"}),t("div",{key:"64df9d8fb5ffbb9724a2e87a67eed03526564527"},t("slot",{key:"5fee4dfbeef7272bcd423c7fb2bfc49e5e557718",name:"heading"},t("ic-typography",{key:"523cac0cce5c01cca9540396b95f0ab13d0ef9cd",variant:"h4",class:"empty-state-heading"},l)),t("slot",{key:"904f2c3ceeeef991a099a4fc0521de002c6e8fc3",name:"subheading"},t("ic-typography",{key:"6eb71c04bfae24d0ece644cea3730251ecd38e77",variant:"subtitle-small",class:"empty-state-subheading"},c)),t("slot",{key:"6dc1f5e4e3071b5c0277c993502f1f043b247330",name:"body"},t("ic-typography",{key:"f60da219bd12eda8df1229eba9ae9904458e4692",maxLines:s,class:"empty-state-body"},a))),h(this.el,"actions")&&t("div",{key:"73247068a45635e5e64d513239ada3e97a4a4302",class:"action-area"},t("slot",{key:"19a448208f663a595f5a81a28b89834d0c62e78b",name:"actions"})))}get el(){return a(this)}};p.style=d;const g=":host(){display:block}.pagination-bar{height:3.5rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--ic-space-xl);padding:var(--ic-space-xs) var(--ic-space-md);box-sizing:border-box;--ic-typography-color:var(--ic-pagination-text)}.pagination-bar-left{justify-content:flex-start}.item-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-bar-space-between .item-controls{margin-right:auto}.items-per-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.items-per-page-input{--input-width:5rem;--ic-typography-color:var(--ic-pagination-select-content)}.pagination-controls{display:flex;align-items:center;gap:var(--ic-space-xl)}.pagination-controls-wrap{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-space-between .pagination-controls{margin-left:auto}.go-to-page-holder{display:flex;align-items:center;gap:var(--ic-space-xs)}.go-to-page-input{--input-width:var(--ic-space-xl)}.go-to-page-button{--min-width:var(--ic-space-xl)}.items-per-page-control-label{white-space:nowrap}@media screen and (max-width: 768px){.pagination-bar{flex-direction:column;align-items:flex-end;height:-moz-fit-content;height:fit-content;gap:var(--ic-space-xs)}.pagination-bar-left{align-items:flex-start}}@media screen and (max-width: 320px){.item-controls,.pagination-controls{flex-direction:column;align-items:flex-end;gap:var(--ic-space-xs)}.pagination-bar-left .item-controls,.pagination-bar-left .pagination-controls,.pagination-bar-space-between .item-controls,.pagination-bar-space-between .pagination-controls{align-items:flex-start}}";const m=g;const b=class{constructor(t){e(this,t);this.icPageChange=s(this,"icPageChange",7);this.icItemsPerPageChange=s(this,"icItemsPerPageChange",7);this.PAGE_INPUT_FIELD_ID="go-to-page-input";this.INVALID_PAGE_ERROR="Please enter a valid page";this.resizeObserver=null;this.activePage=1;this.inputError="Please enter a valid page";this.itemsPerPage=10;this.itemsPerPageString="10";this.lowerBound=1;this.paginationWrapped=false;this.alignment="right";this.currentPage=1;this.hideAllFromItemsPerPage=false;this.itemLabel="Item";this.monochrome=false;this.theme="inherit";this.type="simple";this.rangeLabelType="page";this.pageLabel="Page";this.showGoToPageControl=false;this.hideRangeLabel=false;this.showItemsPerPageControl=false;this.setToFirstPageOnPaginationChange=false;this.changeItemsPerPage=()=>{this.setItemsPerPage(Number(this.pageDropdownEl.value));this.userSetItemsPerPage=Number(this.pageDropdownEl.value)};this.changePage=e=>{this.activePage=e;this.lowerBound=e!==1?(e-1)*this.itemsPerPage+1:e;this.setUpperBound()};this.focusElFromLabel=e=>{var t;(t=this.paginationBarEl.querySelector(e))===null||t===void 0?void 0:t.setFocus()};this.goToPage=()=>{var e;const t=this.pageInputEl;const i=Number(t.value);if(i<=this.totalPages&&i>0){this.changePage(i);(e=this.paginationEl)===null||e===void 0?void 0:e.setCurrentPage(i);this.activePage=i;t.value="";this.icPageChange.emit({value:i});this.pageInputTooltipEl.displayTooltip(false,false);t.validationStatus=""}else{this.setInputError(t,this.INVALID_PAGE_ERROR)}};this.goToPageLabelClickHandler=()=>{this.focusElFromLabel("ic-text-field")};this.handleBlur=()=>{const e=this.pageInputEl;if(Number(e.value)<=this.totalPages&&Number(e.value)>0||e.value===""){e.validationStatus=""}this.pageInputTooltipEl.displayTooltip(false,false)};this.handleFocus=()=>{if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleInputChange=()=>{const e=parseInt(this.pageInputEl.value);if(e>this.totalPages||e<=0){this.setInputError(this.pageInputEl,this.INVALID_PAGE_ERROR);this.pageInputTooltipEl.displayTooltip(true,true)}};this.handleKeydown=e=>{if(e.key==="Enter"){if(this.pageInputEl.validationStatus==="error"){this.pageInputTooltipEl.displayTooltip(true,true)}else{this.goToPage()}}else{this.pageInputTooltipEl.displayTooltip(false,false);this.pageInputEl.validationStatus=""}};this.handleKeyUp=e=>{if(Number.isNaN(parseInt(this.pageInputEl.value))&&e.key!=="Backspace"&&e.key!=="Enter"&&e.key!=="Tab"&&e.key!=="Shift"){this.setInputError(this.pageInputEl,"Please enter a number",false);this.pageInputTooltipEl.displayTooltip(true,false)}};this.itemsPerPageLabelClickHandler=()=>{this.focusElFromLabel("ic-select")};this.paginationShouldWrap=()=>{if(this.type==="simple"){this.paginationWrapped=this.paginationEl.clientHeight>63}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const{clientWidth:e}=this.paginationBarEl;if(e-this.paginationWidth>50||e-this.paginationWidth<-50){this.paginationWidth=e;this.paginationShouldWrap()}}));this.resizeObserver.observe(this.paginationBarEl)};this.setInputError=(e,t,i=true)=>{this.inputError=t;e.validationStatus="error";if(i)e.setFocus()};this.setToFirstPage=()=>{var e;const t=1;this.changePage(t);(e=this.paginationEl)===null||e===void 0?void 0:e.setCurrentPage(t);this.activePage=t;this.icPageChange.emit({value:t})};this.setItemsPerPage=e=>{var t;if(this.itemsPerPage!==e){this.itemsPerPage=e;this.itemsPerPageString=e.toString();this.icItemsPerPageChange.emit({value:this.itemsPerPage});if(this.setToFirstPageOnPaginationChange){this.setToFirstPage()}}this.totalPages=this.totalItems>this.itemsPerPage?Math.ceil(this.totalItems/this.itemsPerPage):1;this.setUpperBound();if(this.activePage>this.totalPages){(t=this.paginationEl)===null||t===void 0?void 0:t.setCurrentPage(this.totalPages);this.activePage=this.totalPages}this.icPageChange.emit({value:this.activePage,fromItemsPerPage:true})};this.setPaginationBarContent=()=>{const e=this.itemsPerPageOptions?JSON.parse(JSON.stringify(this.itemsPerPageOptions)):null;const t=e||(this.totalItems<=100?[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}]:[{label:"25",value:"25"},{label:"100",value:"100"},{label:"1000",value:"1000"}]);!this.hideAllFromItemsPerPage&&t.push({label:"All",value:String(this.totalItems)});this.displayedItemsPerPageOptions=t.filter((({value:e})=>this.totalItems>=Number(e)));let i=0;if(this.userSetItemsPerPage){this.displayedItemsPerPageOptions.some((({value:e})=>{i=Number(e);return this.userSetItemsPerPage<=i}));this.setItemsPerPage(i)}else{const e=this.displayedItemsPerPageOptions.some((({value:e})=>{i=Number(e);return this.itemsPerPage<=i}));this.setItemsPerPage(e||!e&&this.itemsPerPage>i?i:this.itemsPerPage)}};this.setUpperBound=()=>{this.upperBound=Math.min(this.lowerBound+this.itemsPerPage-1,this.totalItems)};this.handleButtonAppearance=()=>{if(this.monochrome){if(this.theme==="dark"||this.theme==="inherit"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches){return"light"}else{return"dark"}}else{return"default"}}}watchPageNumberHandler(){this.setPaginationBarContent();if(typeof this.currentPage==="number"&&this.currentPage){if(this.currentPage<1||this.totalPages&&this.currentPage>this.totalPages){console.error(`The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`)}else{this.activePage=this.currentPage}}}watchSelectedItemsPerPageHandler(){var e;if(this.selectedItemsPerPage!==null&&this.selectedItemsPerPage!==undefined){if((e=this.displayedItemsPerPageOptions)===null||e===void 0?void 0:e.filter((e=>e.value===`${this.selectedItemsPerPage}`)).length){this.setItemsPerPage(this.selectedItemsPerPage)}else{console.error(`The selected items per page option "${this.selectedItemsPerPage}" does not exist`)}}}watchItemLabelHandler(){this.capitalizedItemLabel=c(this.itemLabel);this.lowerCaseItemLabel=this.itemLabel.toLowerCase()}watchItemsPerPageOptionsHandler(e,t){if(JSON.stringify(e)===JSON.stringify(t))return;this.setPaginationBarContent()}watchPageLabelHandler(){this.capitalizedPageLabel=c(this.pageLabel);this.lowerCasePageLabel=this.pageLabel.toLowerCase()}watchTotalItemsHandler(){this.setPaginationBarContent()}watchSetToFirstPageOnPaginationChange(){this.setPaginationBarContent()}disconnectedCallback(){var e;(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.watchPageNumberHandler();this.watchPageLabelHandler();this.watchItemLabelHandler();this.setPaginationBarContent();this.watchSelectedItemsPerPageHandler()}componentDidLoad(){var e,t;this.paginationWidth=this.paginationBarEl.clientWidth;r(this.runResizeObserver);const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(i){const e=(t=i===null||i===void 0?void 0:i.shadowRoot)===null||t===void 0?void 0:t.querySelector("input");if(e){e.style.textAlign="center";e.style.padding="0"}}this.paginationShouldWrap()}pageChangeHandler(e){const t=e.detail.value;this.changePage(t)}render(){const{alignment:e,displayedItemsPerPageOptions:a,PAGE_INPUT_FIELD_ID:s,type:h,rangeLabelType:l,hideRangeLabel:n,showItemsPerPageControl:c,showGoToPageControl:r,pageLabel:o,capitalizedPageLabel:d,lowerCasePageLabel:p,capitalizedItemLabel:g,lowerCaseItemLabel:m,totalPages:b,activePage:f,itemsPerPageString:u,theme:v,monochrome:y}=this;return t(i,{key:"7ef2c2060d9ac4f6c23b188767cda59db38f2b99",class:{[`ic-theme-${v}`]:v!=="inherit"}},t("div",{key:"16a835a43dec46d877d1cedd128f2fce8f09b306",class:{["pagination-bar"]:true,[`pagination-bar-${e}`]:true},ref:e=>this.paginationBarEl=e},(!n||c)&&t("div",{key:"766057b637859197ee116e3b18ffbe4700fb934e",class:"item-controls"},c&&t("div",{key:"9a1eccf626fbe305360bbe62e3c860878f5fd274",class:"items-per-page-holder"},t("ic-typography",{key:"32e16c437bcf438e75cffdee1012265297a1ee96",class:{["items-per-page-control-label"]:true},variant:"label",onClick:this.itemsPerPageLabelClickHandler},g,"s per ",p),t("ic-select",{key:"c7d47154fbe297282c395217c33555023050565b",theme:v,size:"small",label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:a,value:u,onIcChange:this.changeItemsPerPage,ref:e=>this.pageDropdownEl=e})),!n&&(l==="data"?t("ic-typography",{class:{["item-pagination-label"]:true},variant:"label","aria-live":"polite"},this.upperBound===0&&`0 ${m}s`,this.upperBound>0&&`${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${m}${this.totalItems>1?"s":""}`):t("ic-typography",{class:{["page-pagination-label"]:true},variant:"label","aria-live":"polite"},d," ",f," of ",b))),t("div",{key:"3185dc183a80d08c18ce1e60db6c296e52a22970",class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},t("div",{key:"e3899117392a622f11d0bc474de3bc13870ba8ac",class:"pagination-holder"},t("ic-pagination",{key:"b5c8fa1ecaf911f05557ec38de8b5a46582c0113",type:h,pages:b,label:o,ref:e=>this.paginationEl=e,currentPage:f,theme:v,monochrome:y})),r&&t("div",{key:"4ac7aa8efcccb680d6609ca59e33bd12ce73221c",class:"go-to-page-holder"},t("ic-typography",{key:"9fd371e534f5d8a04e55bf84b5fabd0e9dc2b80e",variant:"label",onClick:this.goToPageLabelClickHandler},"Go to ",p),t("ic-tooltip",{key:"953ce9b43b5f198ecc07df3818f34c119cae4309",label:this.inputError,target:`#${s}`,disableHover:true,disableClick:true,ref:e=>this.pageInputTooltipEl=e},t("ic-text-field",{key:"a51a3b4441f190b3f9ad078ae274b8d1ea7a9779",theme:v,type:"number",size:"small",label:s,class:s,id:s,hideLabel:true,onKeyDown:this.handleKeydown,onKeyUp:this.handleKeyUp,onInput:this.handleInputChange,max:b,min:"1",validationInlineInternal:true,onBlur:this.handleBlur,onFocus:this.handleFocus,ref:e=>this.pageInputEl=e})),t("ic-button",{key:"5c07b04cda0807438eb514d07d33663af6fdf182",appearance:this.handleButtonAppearance(),variant:"secondary",onClick:this.goToPage,size:"small",class:"go-to-page-button"},"Go")))))}get el(){return a(this)}static get watchers(){return{currentPage:["watchPageNumberHandler"],selectedItemsPerPage:["watchSelectedItemsPerPageHandler"],itemLabel:["watchItemLabelHandler"],itemsPerPageOptions:["watchItemsPerPageOptionsHandler"],pageLabel:["watchPageLabelHandler"],totalItems:["watchTotalItemsHandler"],setToFirstPageOnPaginationChange:["watchSetToFirstPageOnPaginationChange"]}}};b.style=m;export{p as ic_empty_state,b as ic_pagination_bar};
|
2
|
-
//# sourceMappingURL=p-0c97a53d.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icEmptyStateCss","IcEmptyStateStyle0","EmptyState","constructor","hostRef","this","hostMutationObserver","aligned","imageSize","theme","disconnectedCallback","_a","disconnect","componentDidLoad","isSlotUsed","el","onComponentRequiredPropUndefined","prop","heading","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","render","body","maxLines","subheading","h","Host","key","class","name","variant","icPaginationBarCss","IcPaginationBarStyle0","PaginationBar","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","resizeObserver","activePage","inputError","itemsPerPage","itemsPerPageString","lowerBound","paginationWrapped","alignment","currentPage","hideAllFromItemsPerPage","itemLabel","monochrome","type","rangeLabelType","pageLabel","showGoToPageControl","hideRangeLabel","showItemsPerPageControl","setToFirstPageOnPaginationChange","changeItemsPerPage","setItemsPerPage","Number","pageDropdownEl","value","userSetItemsPerPage","changePage","page","setUpperBound","focusElFromLabel","paginationBarEl","querySelector","setFocus","goToPage","input","pageInputEl","totalPages","paginationEl","setCurrentPage","icPageChange","emit","pageInputTooltipEl","displayTooltip","validationStatus","setInputError","goToPageLabelClickHandler","handleBlur","textField","handleFocus","handleInputChange","inputValue","parseInt","handleKeydown","ev","handleKeyUp","isNaN","itemsPerPageLabelClickHandler","paginationShouldWrap","clientHeight","runResizeObserver","ResizeObserver","clientWidth","paginationWidth","error","focus","setToFirstPage","firstPage","newValue","toString","icItemsPerPageChange","totalItems","Math","ceil","fromItemsPerPage","setPaginationBarContent","clonedItemsPerPageOptions","itemsPerPageOptions","JSON","parse","stringify","displayedItemsPerPageOptions","label","push","String","filter","lastOptionValue","some","updated","upperBound","min","handleButtonAppearance","window","matchMedia","matches","watchPageNumberHandler","console","watchSelectedItemsPerPageHandler","selectedItemsPerPage","undefined","option","length","watchItemLabelHandler","capitalizedItemLabel","capitalize","lowerCaseItemLabel","toLowerCase","watchItemsPerPageOptionsHandler","newVal","oldVal","watchPageLabelHandler","capitalizedPageLabel","lowerCasePageLabel","watchTotalItemsHandler","watchSetToFirstPageOnPaginationChange","componentWillLoad","checkResizeObserver","shadowRoot","_b","style","textAlign","padding","pageChangeHandler","detail","ref","onClick","size","hideLabel","options","onIcChange","pages","target","disableHover","disableClick","id","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus","appearance"],"sources":["../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"sourcesContent":[":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.ic-empty-state-right),\n:host(.ic-empty-state-right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.ic-empty-state-center),\n:host(.ic-empty-state-center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-medium) ::slotted(svg),\n:host(.image-medium) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n\n::slotted([slot=\"heading\"]),\n.empty-state-heading {\n --ic-typography-color: var(--ic-empty-state-title);\n}\n\n::slotted([slot=\"subheading\"]),\n.empty-state-subheading {\n --ic-typography-color: var(--ic-empty-state-subtitle);\n}\n\n::slotted([slot=\"body\"]),\n.empty-state-body {\n --ic-typography-color: var(--ic-empty-state-body);\n}\n","import { h, Host } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, renderDynamicChildSlots, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.hostMutationObserver = null;\n /**\n * The alignment of the empty state container.\n */\n this.aligned = \"left\";\n /**\n * The size of the image or icon used in the image slot.\n */\n this.imageSize = \"medium\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, [\"image\", \"actions\"], this));\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n render() {\n const { aligned, body, maxLines, heading, imageSize, subheading, theme } = this;\n return (h(Host, { key: 'd8dbd02105f4b01a468436fd73ccd4ddec2a4cf1', class: {\n [`ic-empty-state-${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { key: 'd7bed2bb22a41377f6c9032660bc62f79294510c', name: \"image\" }), h(\"div\", { key: '64df9d8fb5ffbb9724a2e87a67eed03526564527' }, h(\"slot\", { key: '5fee4dfbeef7272bcd423c7fb2bfc49e5e557718', name: \"heading\" }, h(\"ic-typography\", { key: '523cac0cce5c01cca9540396b95f0ab13d0ef9cd', variant: \"h4\", class: \"empty-state-heading\" }, heading)), h(\"slot\", { key: '904f2c3ceeeef991a099a4fc0521de002c6e8fc3', name: \"subheading\" }, h(\"ic-typography\", { key: '6eb71c04bfae24d0ece644cea3730251ecd38e77', variant: \"subtitle-small\", class: \"empty-state-subheading\" }, subheading)), h(\"slot\", { key: '6dc1f5e4e3071b5c0277c993502f1f043b247330', name: \"body\" }, h(\"ic-typography\", { key: 'f60da219bd12eda8df1229eba9ae9904458e4692', maxLines: maxLines, class: \"empty-state-body\" }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { key: '73247068a45635e5e64d513239ada3e97a4a4302', class: \"action-area\" }, h(\"slot\", { key: '19a448208f663a595f5a81a28b89834d0c62e78b', name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\" | undefined\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The body text rendered in the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"maxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"max-lines\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title rendered in the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\" | undefined\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the image or icon used in the image slot.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subtitle rendered in the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"subheading\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n\n --ic-typography-color: var(--ic-pagination-text);\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n --ic-typography-color: var(--ic-pagination-select-content);\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.items-per-page-control-label {\n white-space: nowrap;\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, capitalize } from \"../../utils/helpers\";\nimport { IcPageChangeEventDetail } from \"./ic-pagination-bar.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n private userSetItemsPerPage: number;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() activePage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 10;\n\n @State() itemsPerPageString: string = \"10\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * The current page number to be displayed on the pagination bar.\n */\n @Prop() currentPage?: number = 1;\n\n @Watch(\"currentPage\")\n watchPageNumberHandler(): void {\n this.setPaginationBarContent();\n\n if (typeof this.currentPage === \"number\" && this.currentPage) {\n if (\n this.currentPage < 1 ||\n (this.totalPages && this.currentPage > this.totalPages)\n ) {\n console.error(\n `The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`\n );\n } else {\n this.activePage = this.currentPage;\n }\n }\n }\n\n /**\n * The items per page option to be selected.\n */\n @Prop() selectedItemsPerPage?: number;\n\n @Watch(\"selectedItemsPerPage\")\n watchSelectedItemsPerPageHandler(): void {\n if (\n this.selectedItemsPerPage !== null &&\n this.selectedItemsPerPage !== undefined\n ) {\n if (\n this.displayedItemsPerPageOptions?.filter(\n (option) => option.value === `${this.selectedItemsPerPage}`\n ).length\n ) {\n this.setItemsPerPage(this.selectedItemsPerPage);\n } else {\n console.error(\n `The selected items per page option \"${this.selectedItemsPerPage}\" does not exist`\n );\n }\n }\n }\n\n /**\n * If `true`, the 'All' option will be hidden from the 'items per page' select input.\n */\n @Prop() hideAllFromItemsPerPage?: boolean = false;\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel);\n this.lowerCaseItemLabel = this.itemLabel.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * If `true`, the pagination bar will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel);\n this.lowerCasePageLabel = this.pageLabel.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n If `true`, the pagination bar is set to the first page when the 'items per page' changes\n */\n @Prop() setToFirstPageOnPaginationChange?: boolean = false;\n\n @Watch(\"setToFirstPageOnPaginationChange\")\n watchSetToFirstPageOnPaginationChange(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n * The `detail` property contains `value` (i.e. the page number) and a `fromItemsPerPage` flag to indicate if the event was triggered by the `icItemsPerPageChange` event also occurring.\n */\n @Event() icPageChange: EventEmitter<IcPageChangeEventDetail>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<{ value: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageNumberHandler();\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n this.watchSelectedItemsPerPageHandler();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl.clientWidth;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n\n this.userSetItemsPerPage = Number(this.pageDropdownEl.value);\n };\n\n private changePage = (page: number) => {\n this.activePage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl?.setCurrentPage(page);\n this.activePage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setToFirstPage = () => {\n const firstPage = 1;\n this.changePage(firstPage);\n this.paginationEl?.setCurrentPage(firstPage);\n this.activePage = firstPage;\n this.icPageChange.emit({ value: firstPage });\n };\n\n private setItemsPerPage = (newValue: number) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({ value: this.itemsPerPage });\n\n if (this.setToFirstPageOnPaginationChange) {\n this.setToFirstPage();\n }\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.activePage > this.totalPages) {\n this.paginationEl?.setCurrentPage(this.totalPages);\n this.activePage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });\n };\n\n private setPaginationBarContent = (): void => {\n const clonedItemsPerPageOptions: {\n label: string;\n value: string;\n }[] = this.itemsPerPageOptions\n ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))\n : null;\n\n const displayedItemsPerPageOptions =\n clonedItemsPerPageOptions ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n !this.hideAllFromItemsPerPage &&\n displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n let lastOptionValue = 0;\n\n if (this.userSetItemsPerPage) {\n this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.userSetItemsPerPage <= lastOptionValue;\n });\n this.setItemsPerPage(lastOptionValue);\n } else {\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage\n );\n }\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n private handleButtonAppearance = () => {\n if (this.monochrome) {\n if (\n this.theme === \"dark\" ||\n (this.theme === \"inherit\" &&\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches)\n ) {\n return \"light\";\n } else {\n return \"dark\";\n }\n } else {\n return \"default\";\n }\n };\n\n render() {\n const {\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n activePage,\n itemsPerPageString,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n theme={theme}\n size=\"small\"\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) =>\n (this.pageDropdownEl = el)\n }\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {activePage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n currentPage={activePage}\n theme={theme}\n monochrome={monochrome}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n theme={theme}\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement) =>\n (this.pageInputEl = el)\n }\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n appearance={this.handleButtonAppearance()}\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as a,h as e,H as i,g as o}from"./p-00135a74.js";import{D as n,g as s,i as r,K as c,e as l,o as d,f as h,b as p,F as b,I as f,d as m}from"./p-0f6b9686.js";const v='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;color:var(--ic-top-navigation-text);width:100%;position:relative;--ic-typography-color:var(--ic-top-navigation-text);--ic-button-secondary-text-monochrome:var(--ic-brand-text-color);--ic-button-secondary-border-monochrome:var(--ic-brand-text-color);--navigation-link-colour:var(--ic-top-navigation-text)}:host(.dark){color:var(--ic-color-text-primary-light);--ic-typography-color:var(--ic-color-text-primary-light);--ic-top-navigation-logo:var(--ic-color-icon-neutral);--ic-top-navigation-icon:var(--ic-color-icon-neutral);--ic-top-navigation-icon-and-label:var(--ic-color-text-primary-light);--ic-top-navigation-theme:var(--ic-color-icon-neutral);--ic-top-navigation-status-tag:var(--ic-color-background-primary-dark);--ic-top-navigation-status-tag-text:var(--ic-color-brand-text);--ic-top-navigation-status-tag-secondary:var(--ic-state-layer-darken-10);--ic-top-navigation-title-hover:var(--ic-action-dark-bg-hover);--ic-top-navigation-title-pressed:var(--ic-action-dark-bg-pressed);--navigation-link-colour:var(--ic-color-text-primary-light)}:host(.dark) ::slotted(ic-navigation-button){--ic-button-icon-monochrome:var(--ic-color-text-primary-light)}::slotted(ic-navigation-button){--ic-button-icon-monochrome:white}:host .top-navigation{background-color:var(--ic-top-navigation-background);height:-moz-max-content;height:max-content}:host(.fullwidth-searchbar) slot[name="search"]::slotted(form){width:100%}:host .title-link{display:inline-flex;align-items:center;text-decoration:none;padding:var(--ic-space-xxs);transition:var(--ic-easing-transition-fast)}:host .title-link,:host .title-link:visited,:host .title-link:active,:host .title-link ::slotted(a),:host .title-link:visited ::slotted(a),:host .title-link:active ::slotted(a){color:var(--ic-top-navigation-icon-and-label);text-decoration:none;outline:none}:host .title-link:hover:not(:focus){background-color:var(--ic-top-navigation-title-hover)}:host .title-link:active:not(:focus){background-color:var(--ic-top-navigation-title-pressed)}:host .title-link:hover{border-radius:var(--ic-border-radius)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}:host .title-link ic-typography{font-weight:600}:host .nav-panel-container{border-top:var(--ic-space-1px) solid var(--ic-top-navigation-keyline);padding:0 var(--ic-space-lg);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin));display:flex}:host(.dark) .nav-panel-container{border-top:var(--ic-border-keyline-darken)}.top-panel-container{display:flex;padding-top:0.5rem;padding-bottom:0.5rem}.navigation-tabs{margin-top:calc(-1 * var(--ic-space-1px))}.app-details-container{display:flex;align-items:center;flex:1 1 auto;margin-right:var(--ic-space-md)}.app-icon-container{display:flex;padding-right:var(--ic-space-xs)}.icon-buttons-container{display:flex;margin-left:var(--ic-space-md)}.icon-buttons-container ::slotted(nav){display:flex}.title-wrap{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}:host .app-status{border-radius:var(--ic-space-md);background-color:var(--ic-top-navigation-status-tag);color:var(--ic-top-navigation-status-tag-text);--ic-typography-color:var(--ic-top-navigation-status-tag-text);padding:var(--ic-space-xxs) var(--ic-space-lg);margin-left:var(--ic-space-md);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}:host .app-version{border-radius:var(--ic-space-md);background-color:var(--ic-top-navigation-status-tag-secondary);color:var(--ic-top-navigation-status-tag);padding:var(--ic-space-xxs) var(--ic-space-sm);margin-left:var(--ic-space-xs);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}slot[name="app-icon"]::slotted(*){fill:var(--ic-top-navigation-logo);width:2em;height:2em}slot[name="toggle-icon"] svg{fill:var(--ic-top-navigation-icon)}.search-menu-container{justify-content:right;display:flex;align-items:center}.menu-button-container{margin-left:var(--ic-space-md)}.menu-button-container .navigation-landmark-button-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.search-actions-container{display:flex}.menu-buttons-slot{display:flex;flex-direction:column}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}.navigation-item-list{display:flex;list-style:none;height:2.75rem}.navigation-item-list::-webkit-scrollbar{display:none}:host ic-section-container{padding-bottom:0 !important;padding-top:0 !important}@media screen and (min-width: 993px){.app-details-container{margin-right:var(--ic-space-lg)}}@media screen and (max-width: 1200px){:host .nav-panel-container{padding:0 var(--ic-space-md)}}:host(.mobile-mode) .app-status,:host(.mobile-mode) .app-version{display:none}:host(.mobile-mode) .title-link{margin-right:var(--ic-space-xs)}:host(.mobile-mode) .search-menu-container{max-width:10rem}:host(.mobile-mode) .search-bar-container{display:flex;justify-content:center;align-items:center;border-top:var(--ic-border-keyline-darken);height:4rem;padding-left:var(--ic-space-md);padding-right:var(--ic-space-md);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin))}@media screen and (max-width: 576px){:host .title-link{margin-right:var(--ic-space-xxxs);word-break:break-word;-webkit-hyphens:none;hyphens:none}.top-panel-container{min-height:2.5rem}.search-bar-container{margin-top:0;height:3.5rem;padding-left:var(--ic-space-xs);padding-right:var(--ic-space-xs)}.menu-button-container{margin-left:var(--ic-space-sm)}slot[name="app-icon"]::slotted(*){width:1.5em;height:1.5em}slot[name="toggle-icon"] svg{width:1.5em;height:1.5em}}@media (forced-colors: active){:host .top-navigation{border-bottom:var(--ic-border-hc)}.app-status,.app-version{border:var(--ic-border-hc)}slot[name="app-icon"]::slotted(*){fill:currentcolor}slot[name="toggle-icon"] svg{fill:currentcolor}}';const g=v;const u=class{constructor(e){t(this,e);this.icNavigationMenuClosed=a(this,"icNavigationMenuClosed",7);this.icNavigationMenuOpened=a(this,"icNavigationMenuOpened",7);this.icTopNavResized=a(this,"icTopNavResized",7);this.hasAppIcon=false;this.hasIconButtons=false;this.hasNavigation=false;this.hasSearchSlotContent=false;this.resizeObserver=null;this.searchBar=null;this.deviceSize=n.XL;this.foregroundColor=s();this.hasFullWidthSearchBar=false;this.mobileSearchBarVisible=false;this.mobileSearchHiddenOnBlur=false;this.navMenuVisible=false;this.searchButtonClick=false;this.searchValue="";this.contentAligned="full-width";this.customMobileBreakpoint=n.L;this.href="/";this.inline=false;this.shortAppTitle="";this.status="";this.theme="inherit";this.version="";this.checkSlots=()=>{this.hasAppIcon=r(this.el,"app-icon");this.hasNavigation=r(this.el,"navigation");this.hasIconButtons=r(this.el,"buttons");this.hasSearchSlotContent=r(this.el,"search")};this.initialiseSearchBar=()=>{if(this.hasSearchSlotContent){const t=c(this.el,"search");if((t===null||t===void 0?void 0:t.tagName)==="IC-SEARCH-BAR"){this.searchBar=t}else if((t===null||t===void 0?void 0:t.tagName)==="FORM"){this.searchBar=t.querySelector("ic-search-bar")}if(this.searchBar!==null){this.searchBar.hideLabel=true}}};this.menuButtonClick=()=>{this.showNavMenu(true)};this.searchButtonMouseDownHandler=()=>{this.searchButtonClick=true};this.searchButtonClickHandler=()=>{this.toggleSearchBar();this.searchButtonClick=false};this.resizeObserverCallback=t=>{if(t!==this.deviceSize){this.deviceSize=t;if(t>this.customMobileBreakpoint){this.showNavMenu(false);if(this.mobileSearchBarVisible){this.toggleSearchBar()}}this.icTopNavResized.emit({size:t});if(this.searchBar&&document.activeElement===this.searchBar){this.searchBar.setAttribute("hidden","true");this.searchBar.removeAttribute("hidden");setTimeout((()=>{var t;(t=this.searchBar)===null||t===void 0?void 0:t.focus()}),100)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback(l())}));this.resizeObserver.observe(this.el)}}watchPropHandler(t,a){d(a,t,this.initialiseSearchBar)}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.checkSlots();this.deviceSize=l();this.initialiseSearchBar()}componentDidLoad(){h(this.runResizeObserver);!r(this.el,"app-title")&&p([{prop:this.appTitle,propName:"app-title"}],"Top Navigation")}componentWillRender(){this.checkSlots()}navBarMenuCloseHandler(){var t,a;this.showNavMenu(false);(a=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("#menu-button"))===null||a===void 0?void 0:a.focus()}searchInputBlurHandler({detail:t}){if(t!==null){if(this.mobileSearchBarVisible&&!this.searchButtonClick){this.toggleSearchBar()}this.searchValue=t.value}}searchValueChangeHandler({detail:t}){this.searchValue=t.value}brandChangeHandler({detail:t}){this.foregroundColor=t.mode}toggleSearchBar(){var t;this.mobileSearchBarVisible=!this.mobileSearchBarVisible;if(this.searchBar!==null){(t=this.mobileSearchButtonEl)===null||t===void 0?void 0:t.setAttribute("aria-label",`${this.mobileSearchBarVisible?"Hide":"Show"} search`);this.hasFullWidthSearchBar=this.mobileSearchBarVisible;this.searchBar.fullWidth=this.mobileSearchBarVisible;if(this.mobileSearchBarVisible){setTimeout((()=>{var t;(t=this.searchBar)===null||t===void 0?void 0:t.focus()}),100)}}}showNavMenu(t){this.navMenuVisible=t;(t?this.icNavigationMenuOpened:this.icNavigationMenuClosed).emit();document.body.style.height=t?"100%":"auto";document.body.style.overflow=t?"hidden":"auto"}render(){const{appTitle:t,contentAligned:a,customMobileBreakpoint:o,deviceSize:s,el:c,foregroundColor:l,hasAppIcon:d,hasFullWidthSearchBar:h,hasIconButtons:p,hasNavigation:v,hasSearchSlotContent:g,href:u,inline:y,menuButtonClick:k,mobileSearchBarVisible:x,navMenuVisible:w,searchButtonClickHandler:z,searchButtonMouseDownHandler:H,shortAppTitle:M,status:C,version:B,theme:S}=this;const T=C!=="";const j=B!=="";const N=v||p||T||j;const $=s<=n.S?"medium":"large";const I=t!==""&&m(t);const R=s<=o;const V=R?s<=n.S?"subtitle-small":"h4":"h3";const A=`${x?"Hide":"Show"} search`;const O=s<=n.S?"small":"medium";const D=r(c,"short-app-title");const L=r(c,"app-title");const F=L?"div":"a";const W=F=="a"&&{href:u};return e(i,{key:"5ca49354d8e2344b7d2cfa2089494ca2c4521b84",class:{"fullwidth-searchbar":h,"mobile-mode":R,[f.Dark]:l===f.Dark,[`ic-theme-${S}`]:S!=="inherit"}},e("div",{key:"3447c99cc05b7203ea80d0651f1ac066122697e1",class:"top-navigation"},e("ic-section-container",{key:"563a2b3fc3c7d456fee7261c2d5645948301e953",aligned:a,"full-height":true},e("header",{key:"61d58c8a68ff59cfa1b5cf75daef6c62b2b4692a",role:"banner"},e("div",{key:"17108bd26152301bf07afe95a061debb23184e8b",class:"top-panel-container"},e("div",{key:"86fe01bd6227bc0a1e1633cab7d6cff654e2a808",class:"app-details-container"},(I||L)&&e(F,Object.assign({key:"c6f2a1ed6ce7b7813f12352401c89852d6646327",class:"title-link"},W),d&&e("div",{key:"c5a2e2961b16b5f5dc6e918ba6f758e7bce09cd7",class:"app-icon-container"},e("slot",{key:"9b6d5636aa1f474bac2add8948bcd598f3d5c231",name:"app-icon"})),s<=n.S&&(!b(M)||D)?e("ic-typography",{variant:"subtitle-small","aria-label":(!L||!D)&&`${t} (${M})`},e("h1",null,D?e("slot",{name:"short-app-title"}):M)):e("ic-typography",{variant:V},e("h1",{class:"title-wrap"},L?e("slot",{name:"app-title"}):t))),T&&e("div",{key:"f4365e21d3de5cc7c0f7c6f62a64c3fa0a7415bb",class:"app-status"},e("ic-typography",{key:"9d03f72e0533c1d721142cba78ba216c9abf61c5","aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},C)),j&&e("div",{key:"318b6cf7cd4359429a6d698d40e3b99f46ac67e0",class:"app-version"},e("ic-typography",{key:"67cc4163765fb967729ba4fa03e857c1b0cc96e3",variant:"label",class:"app-version-text","aria-label":"app version"},B))),(g||N)&&e("div",{key:"0f8ce1b2c3a0cf3f3bbbe2d0285324935e5b1676",class:"search-menu-container"},e("div",{key:"a4033e992457aa434c705d0e35d24c9efb291195",class:"search-actions-container"},!R&&e("slot",{key:"d9347964c2972b338c4e09833ab94f820d8b49c8",name:"search"}),g&&R&&e("ic-button",{key:"2a3abd194a9b28efc44cf5a41151693eb718010e",id:"search-toggle-button",ref:t=>this.mobileSearchButtonEl=t,onMouseDown:H,variant:"icon-tertiary",monochrome:true,size:$,"aria-label":A,theme:l==f.Light?f.Dark:f.Light,onClick:z},e("slot",{key:"c16f8b29d593012ed8dd2b4b445d31dd82d480ba",name:"toggle-icon"},e("svg",{key:"15d23b9c31988779b6de7b70bd25034eba481ba0",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#ffffff"},e("path",{key:"6ea762e76e64bda987fc499de9b3824bd8ac51e4",d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{key:"f3d1542e3882a2181b2878a3f8efffefa25364da",d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})))),p&&!R&&e("div",{key:"1f7983df6dec97f32f424bcedc8a7f535dcb32f1",class:"icon-buttons-container"},e("slot",{key:"6f4003a0878f3a117f8912cdb6c7c933da3a301c",name:"buttons"})),N&&R&&e("div",{key:"e1297f88b99a24cf167cb0b7b0a4e2e8a8af7fc5",class:"menu-button-container"},e("span",{key:"2c3d59c6da504e06992c8ac9e28df5b9b1bfa9bd",id:"navigation-landmark-button-text",class:"navigation-landmark-button-text","aria-hidden":"true"},"Main navigation button"),e("nav",{key:"d5b8883f1d10f224d59abf78a0f34d3a61270005","aria-labelledby":"navigation-landmark-button-text","aria-hidden":`${w}`},e("ic-button",{key:"9ad9fb74ad3a9b0eeec6092e99c2ef8391aa9b11",id:"menu-button",theme:l==f.Light?f.Dark:f.Light,variant:"secondary",monochrome:true,"aria-expanded":"false","aria-haspopup":"true","aria-label":`Open ${v?"navigation":"app"} menu`,size:O,onClick:k},"Menu",e("svg",{key:"ded3f2e5f78a55707eede6d016e98e844af16eb1",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#ffffff",slot:"left-icon"},e("path",{key:"b4fddeaafdf0461389ec523374090dfd7b73dac3",d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{key:"d82f4575eccb93cd129ff89b926197fc916fa6c4",d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})))))))),x&&e("div",{key:"b0501b50966797481c17928a8c74b51067ce0704",class:"search-bar-container"},e("slot",{key:"3efa664363b652768dac4edd539b9a12d7ce380d",name:"search"})),v&&!R&&e("div",{key:"2910033612e40f130aecbd481227b6b35696f8fa",class:"navigation-tabs"},e("span",{key:"5985db842168ce13f23474ef2f6a12be41b2c3a4",id:"navigation-landmark-text",class:"navigation-landmark-text","aria-hidden":"true"},"Main pages"),e("nav",{key:"d47d0ee9ebb470f648ac1174281b6b929963dda6","aria-labelledby":"navigation-landmark-text",class:"nav-panel-container"},e("ic-horizontal-scroll",{key:"b7e46ecab3d288786f6bdbbdd5ba4c005a77d0a5",monochrome:true,appearance:l},e("ul",{key:"b9298804c3faf2d1408814b07a4308ed5996d2fa",class:"navigation-item-list",tabindex:"-1"},e("slot",{key:"0de95baf787a0590056083079f1a37d10582322a",name:"navigation"})))))))),w&&e("ic-navigation-menu",{key:"2874e8759b549ad92e1d381fe392a3e06803219e",version:B,status:C,class:{["inline"]:!!y}},p&&e("div",{key:"fac76dda5e049b25a748b4764b88e38652b4ea47",class:"menu-buttons-slot",slot:"buttons"},e("slot",{key:"2764b8cd6c0aa44ff2021953906a1b8f3e6e3cb2",name:"buttons"})),e("ul",{key:"f492fdb06133f3717d4df00a33fad12701e0c58e",slot:"navigation"},e("slot",{key:"57611b195adad0c9bc003fd38dc6c3389b7e345c",name:"navigation"}))))}get el(){return o(this)}static get watchers(){return{appTitle:["watchPropHandler"]}}};u.style=g;export{u as ic_top_navigation};
|
2
|
-
//# sourceMappingURL=p-0efeab8a.entry.js.map
|