@ukic/canary-web-components 3.0.0-canary.21 → 3.0.0-canary.23
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/README.md +2 -1
- package/dist/cjs/clear-icon-547aa9b9.js +10 -0
- package/dist/cjs/clear-icon-547aa9b9.js.map +1 -0
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/helpers-da852478.js.map +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +2 -2
- 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-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +41 -86
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +4 -4
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox_3.cjs.entry.js +6 -6
- package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +11 -3
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +63 -68
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +25 -17
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +17 -10
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +4 -4
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +224 -0
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +41 -140
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -10
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +17 -17
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +13 -13
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +4 -4
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-time-input.cjs.entry.js +943 -0
- package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +3 -3
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +15 -4
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -4
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +14 -8
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-view.cjs.entry.js +23 -15
- 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/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/index-d337cd8a.js +12 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/clock.svg +1 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/ic-data-table/ic-data-table.css +3 -2
- package/dist/collection/components/ic-data-table/ic-data-table.js +62 -68
- 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 +5 -4
- package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +39 -130
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +24 -12
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +37 -10
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-time-input/ic-time-input.css +648 -0
- package/dist/collection/components/ic-time-input/ic-time-input.js +1600 -0
- package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -0
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js +320 -0
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -0
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +45 -0
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +14 -8
- 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 +23 -15
- package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/clear-icon.js +8 -0
- package/dist/components/clear-icon.js.map +1 -0
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-action-chip.js +160 -0
- package/dist/components/ic-action-chip.js.map +1 -0
- package/dist/components/ic-back-to-top.js +3 -3
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +2 -2
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +2 -2
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +2 -2
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +3 -3
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +4 -4
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +2 -2
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox2.js +4 -4
- package/dist/components/ic-checkbox2.js.map +1 -1
- package/dist/components/ic-chip.js +12 -4
- 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-list.js +2 -2
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js +2 -2
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-data-table.js +63 -68
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +25 -17
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-date-picker.js +18 -10
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-dialog.js +1 -1
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/components/ic-empty-state2.js +2 -2
- package/dist/components/ic-empty-state2.js.map +1 -1
- package/dist/components/ic-footer-link.js +2 -2
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +3 -3
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +4 -4
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +3 -3
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +2 -2
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +3 -3
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +6 -6
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu2.js +42 -47
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +2 -2
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +3 -10
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +4 -4
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +6 -6
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +1 -1
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination2.js +4 -4
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +4 -4
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +4 -4
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +4 -4
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +9 -9
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-section-container2.js.map +1 -1
- package/dist/components/ic-select2.js +6 -6
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +4 -4
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-skip-link.js.map +1 -1
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +13 -13
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +4 -4
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +2 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +6 -6
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +1 -1
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-time-input.d.ts +11 -0
- package/dist/components/ic-time-input.js +1045 -0
- package/dist/components/ic-time-input.js.map +1 -0
- 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 +3 -3
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +17 -4
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-toggle-button.js +14 -4
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tooltip2.js +33 -78
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +4 -4
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-tree-item.js +15 -9
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/components/ic-tree-view.js +24 -16
- package/dist/components/ic-tree-view.js.map +1 -1
- package/dist/components/ic-typography2.js +2 -2
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +227 -7
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-137dd76e.entry.js → p-00a89919.entry.js} +2 -2
- package/dist/core/{p-137dd76e.entry.js.map → p-00a89919.entry.js.map} +1 -1
- package/dist/core/{p-e253a857.js → p-0f22f41e.js} +2 -2
- package/dist/core/p-0f22f41e.js.map +1 -0
- package/dist/core/{p-97abdbf7.entry.js → p-1521e96b.entry.js} +2 -2
- package/dist/core/{p-97abdbf7.entry.js.map → p-1521e96b.entry.js.map} +1 -1
- package/dist/core/{p-5d987f8f.entry.js → p-153d3597.entry.js} +2 -2
- package/dist/core/{p-5d987f8f.entry.js.map → p-153d3597.entry.js.map} +1 -1
- package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
- package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +1 -1
- package/dist/core/{p-8d908a57.entry.js → p-22863d31.entry.js} +2 -2
- package/dist/core/{p-8d908a57.entry.js.map → p-22863d31.entry.js.map} +1 -1
- package/dist/core/{p-c94e7b0b.entry.js → p-27207aa3.entry.js} +2 -2
- package/dist/core/{p-c94e7b0b.entry.js.map → p-27207aa3.entry.js.map} +1 -1
- package/dist/core/{p-2c4bf16f.entry.js → p-2d6a1b50.entry.js} +2 -2
- package/dist/core/{p-2c4bf16f.entry.js.map → p-2d6a1b50.entry.js.map} +1 -1
- package/dist/core/{p-b6b7c15c.entry.js → p-307c13a1.entry.js} +2 -2
- package/dist/core/p-307c13a1.entry.js.map +1 -0
- package/dist/core/{p-2d8900bf.entry.js → p-30b3afb1.entry.js} +2 -2
- package/dist/core/{p-2d8900bf.entry.js.map → p-30b3afb1.entry.js.map} +1 -1
- package/dist/core/{p-bf93baea.entry.js → p-324862f7.entry.js} +2 -2
- package/dist/core/{p-bf93baea.entry.js.map → p-324862f7.entry.js.map} +1 -1
- package/dist/core/{p-0fe08a58.js → p-33927ee1.js} +2 -2
- package/dist/core/{p-1bcf49fa.entry.js → p-369f4536.entry.js} +2 -2
- package/dist/core/p-369f4536.entry.js.map +1 -0
- package/dist/core/{p-b6d1988d.entry.js → p-3a5da30c.entry.js} +2 -2
- package/dist/core/{p-b6d1988d.entry.js.map → p-3a5da30c.entry.js.map} +1 -1
- package/dist/core/{p-826a6c25.entry.js → p-3d10fa12.entry.js} +2 -2
- package/dist/core/{p-826a6c25.entry.js.map → p-3d10fa12.entry.js.map} +1 -1
- package/dist/core/{p-f569a91f.entry.js → p-48127d40.entry.js} +2 -2
- package/dist/core/{p-f569a91f.entry.js.map → p-48127d40.entry.js.map} +1 -1
- package/dist/core/{p-3448c713.entry.js → p-48db785a.entry.js} +2 -2
- package/dist/core/{p-3448c713.entry.js.map → p-48db785a.entry.js.map} +1 -1
- package/dist/core/{p-b27bc1a1.entry.js → p-4b212968.entry.js} +2 -2
- package/dist/core/{p-b27bc1a1.entry.js.map → p-4b212968.entry.js.map} +1 -1
- package/dist/core/p-53d50d9e.entry.js +2 -0
- package/dist/core/p-53d50d9e.entry.js.map +1 -0
- package/dist/core/p-558936fb.entry.js +2 -0
- package/dist/core/p-558936fb.entry.js.map +1 -0
- package/dist/core/{p-64372a57.entry.js → p-593cc594.entry.js} +2 -2
- package/dist/core/{p-64372a57.entry.js.map → p-593cc594.entry.js.map} +1 -1
- package/dist/core/{p-bbf39a76.entry.js → p-666a671b.entry.js} +2 -2
- package/dist/core/{p-bbf39a76.entry.js.map → p-666a671b.entry.js.map} +1 -1
- package/dist/core/{p-8397766e.entry.js → p-726144b4.entry.js} +2 -2
- package/dist/core/{p-8397766e.entry.js.map → p-726144b4.entry.js.map} +1 -1
- package/dist/core/p-74e0f41f.entry.js +2 -0
- package/dist/core/p-74e0f41f.entry.js.map +1 -0
- package/dist/core/{p-0dc0d839.entry.js → p-75f3038c.entry.js} +2 -2
- package/dist/core/{p-0dc0d839.entry.js.map → p-75f3038c.entry.js.map} +1 -1
- package/dist/core/p-7892130d.entry.js +2 -0
- package/dist/core/p-7892130d.entry.js.map +1 -0
- package/dist/core/{p-b6c3cc1c.entry.js → p-7e5e94a9.entry.js} +2 -2
- package/dist/core/p-7e5e94a9.entry.js.map +1 -0
- package/dist/core/p-8048c7da.entry.js +2 -0
- package/dist/core/{p-1e256460.entry.js.map → p-8048c7da.entry.js.map} +1 -1
- package/dist/core/p-80e43591.entry.js +2 -0
- package/dist/core/{p-8cb5deba.entry.js.map → p-80e43591.entry.js.map} +1 -1
- package/dist/core/{p-75901d06.entry.js → p-86ff903d.entry.js} +2 -2
- package/dist/core/{p-ead0acc3.entry.js → p-8908b8e6.entry.js} +2 -2
- package/dist/core/{p-832c7042.entry.js → p-8bf1022e.entry.js} +2 -2
- package/dist/core/{p-90364cef.entry.js → p-8fa7085e.entry.js} +2 -2
- package/dist/core/{p-90364cef.entry.js.map → p-8fa7085e.entry.js.map} +1 -1
- package/dist/core/{p-5237f3ac.entry.js → p-97c437bb.entry.js} +2 -2
- package/dist/core/p-9c8a98e8.entry.js +2 -0
- package/dist/core/p-9c8a98e8.entry.js.map +1 -0
- package/dist/core/{p-0f86ea09.entry.js → p-9f792a31.entry.js} +2 -2
- package/dist/core/{p-0f86ea09.entry.js.map → p-9f792a31.entry.js.map} +1 -1
- package/dist/core/{p-cd8178a9.entry.js → p-abcc90f0.entry.js} +2 -2
- package/dist/core/{p-cd8178a9.entry.js.map → p-abcc90f0.entry.js.map} +1 -1
- package/dist/core/p-ad48c77c.entry.js +2 -0
- package/dist/core/p-ad48c77c.entry.js.map +1 -0
- package/dist/core/p-b0462734.entry.js +2 -0
- package/dist/core/p-b0462734.entry.js.map +1 -0
- package/dist/core/{p-88c5ec78.entry.js → p-b2680959.entry.js} +2 -2
- package/dist/core/{p-88c5ec78.entry.js.map → p-b2680959.entry.js.map} +1 -1
- package/dist/core/{p-b1b27b7e.entry.js → p-b3ac38c5.entry.js} +2 -2
- package/dist/core/{p-b1b27b7e.entry.js.map → p-b3ac38c5.entry.js.map} +1 -1
- package/dist/core/p-b5ef2799.entry.js +2 -0
- package/dist/core/{p-497918fd.entry.js.map → p-b5ef2799.entry.js.map} +1 -1
- package/dist/core/{p-33404c14.entry.js → p-b7a0dc04.entry.js} +2 -2
- package/dist/core/{p-33404c14.entry.js.map → p-b7a0dc04.entry.js.map} +1 -1
- package/dist/core/p-b8938f93.entry.js +2 -0
- package/dist/core/p-b8938f93.entry.js.map +1 -0
- package/dist/core/{p-9097a16a.entry.js → p-b9d4c0db.entry.js} +2 -2
- package/dist/core/{p-9097a16a.entry.js.map → p-b9d4c0db.entry.js.map} +1 -1
- package/dist/core/{p-b3509380.entry.js → p-c4bf8742.entry.js} +2 -2
- package/dist/core/{p-3cf99186.entry.js → p-c6eabd53.entry.js} +2 -2
- package/dist/core/{p-6f72e6ac.entry.js → p-c7ccc52a.entry.js} +2 -2
- package/dist/core/{p-6f72e6ac.entry.js.map → p-c7ccc52a.entry.js.map} +1 -1
- package/dist/core/p-c82a2e84.entry.js +2 -0
- package/dist/core/p-c82a2e84.entry.js.map +1 -0
- package/dist/core/{p-94065f7a.entry.js → p-ca3c6653.entry.js} +2 -2
- package/dist/core/{p-94065f7a.entry.js.map → p-ca3c6653.entry.js.map} +1 -1
- package/dist/core/{p-d281c3cf.entry.js → p-d47acbd4.entry.js} +2 -2
- package/dist/core/{p-d281c3cf.entry.js.map → p-d47acbd4.entry.js.map} +1 -1
- package/dist/core/{p-a54eb1d1.entry.js → p-d5f8ef77.entry.js} +2 -2
- package/dist/core/{p-c77d6efc.entry.js → p-db3b0c0a.entry.js} +2 -2
- package/dist/core/{p-c77d6efc.entry.js.map → p-db3b0c0a.entry.js.map} +1 -1
- package/dist/core/{p-cc36abaa.entry.js → p-db6d0463.entry.js} +2 -2
- package/dist/core/p-dbde45ff.entry.js +2 -0
- package/dist/core/p-dbde45ff.entry.js.map +1 -0
- package/dist/core/p-dc8eede2.entry.js +2 -0
- package/dist/core/p-dc8eede2.entry.js.map +1 -0
- package/dist/core/p-dd7450fb.js +2 -0
- package/dist/core/p-dd7450fb.js.map +1 -0
- package/dist/core/{p-fc5661ac.entry.js → p-de43d375.entry.js} +2 -2
- package/dist/core/{p-fc5661ac.entry.js.map → p-de43d375.entry.js.map} +1 -1
- package/dist/core/p-de8081c6.entry.js +2 -0
- package/dist/core/{p-a26a60ff.entry.js.map → p-de8081c6.entry.js.map} +1 -1
- package/dist/core/p-e4906394.entry.js +2 -0
- package/dist/core/{p-032113b9.entry.js.map → p-e4906394.entry.js.map} +1 -1
- package/dist/core/p-e595bb87.entry.js +2 -0
- package/dist/core/p-e595bb87.entry.js.map +1 -0
- package/dist/core/{p-42913c5b.entry.js → p-e75514f1.entry.js} +2 -2
- package/dist/core/{p-42913c5b.entry.js.map → p-e75514f1.entry.js.map} +1 -1
- package/dist/core/{p-6dd73165.entry.js → p-ee6caf27.entry.js} +2 -2
- package/dist/core/{p-6dd73165.entry.js.map → p-ee6caf27.entry.js.map} +1 -1
- package/dist/core/{p-2de3287c.entry.js → p-f33eae3c.entry.js} +2 -2
- package/dist/core/{p-2de3287c.entry.js.map → p-f33eae3c.entry.js.map} +1 -1
- package/dist/core/{p-9e051db4.entry.js → p-f34eee68.entry.js} +2 -2
- package/dist/core/{p-9e051db4.entry.js.map → p-f34eee68.entry.js.map} +1 -1
- package/dist/core/{p-fb7f4e2e.entry.js → p-fbb0a74d.entry.js} +2 -2
- package/dist/core/{p-fb7f4e2e.entry.js.map → p-fbb0a74d.entry.js.map} +1 -1
- package/dist/core/{p-9fafa5fa.entry.js → p-fbd80981.entry.js} +2 -2
- package/dist/core/p-fbd80981.entry.js.map +1 -0
- package/dist/core/{p-e18ba5d6.entry.js → p-fffb98c9.entry.js} +2 -2
- package/dist/core/{p-e18ba5d6.entry.js.map → p-fffb98c9.entry.js.map} +1 -1
- package/dist/esm/clear-icon-1c79bda2.js +8 -0
- package/dist/esm/clear-icon-1c79bda2.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-d9387cd3.js → helpers-89cb996d.js} +2 -2
- package/dist/esm/helpers-89cb996d.js.map +1 -0
- package/dist/esm/{helpers-574534c9.js → helpers-dea3fd9b.js} +2 -2
- package/dist/esm/{helpers-574534c9.js.map → helpers-dea3fd9b.js.map} +1 -1
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +112 -0
- package/dist/esm/ic-action-chip.entry.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +4 -4
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- 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 +3 -3
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +3 -3
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +42 -87
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +1 -1
- package/dist/esm/ic-card-vertical.entry.js +5 -5
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +3 -3
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox_3.entry.js +8 -8
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +12 -4
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js +2 -2
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +3 -3
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +64 -69
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +26 -18
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +18 -11
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +2 -2
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +3 -3
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +4 -4
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +5 -5
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +217 -0
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +43 -140
- package/dist/esm/ic-menu.entry.js.map +1 -0
- package/dist/esm/ic-navigation-button.entry.js +3 -3
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +2 -2
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +4 -11
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +5 -5
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +7 -7
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +18 -18
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +5 -5
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +5 -5
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +5 -5
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +10 -10
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-section-container.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +14 -14
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +5 -5
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +3 -3
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-time-input.entry.js +939 -0
- package/dist/esm/ic-time-input.entry.js.map +1 -0
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +4 -4
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +16 -5
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +14 -5
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +5 -5
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +15 -9
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-tree-view.entry.js +24 -16
- package/dist/esm/ic-tree-view.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +3 -3
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/index-a7a720e7.js +12 -4
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +12 -7
- package/dist/types/components/ic-data-table/story-data.d.ts +11 -84
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -1
- package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
- package/dist/types/components/ic-time-input/ic-time-input.d.ts +229 -0
- package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +121 -0
- package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +23 -0
- package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +2 -0
- package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +2 -1
- package/dist/types/components.d.ts +242 -2
- package/dist/types/utils/types.d.ts +5 -0
- package/hydrate/index.js +1611 -493
- package/hydrate/index.mjs +1611 -493
- package/package.json +3 -3
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -133
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
- package/dist/core/p-032113b9.entry.js +0 -2
- package/dist/core/p-145238fe.entry.js +0 -2
- package/dist/core/p-145238fe.entry.js.map +0 -1
- package/dist/core/p-1b20ab19.entry.js +0 -2
- package/dist/core/p-1b20ab19.entry.js.map +0 -1
- package/dist/core/p-1bcf49fa.entry.js.map +0 -1
- package/dist/core/p-1e256460.entry.js +0 -2
- package/dist/core/p-224b2e14.entry.js +0 -2
- package/dist/core/p-224b2e14.entry.js.map +0 -1
- package/dist/core/p-497918fd.entry.js +0 -2
- package/dist/core/p-5f8b09e4.entry.js +0 -2
- package/dist/core/p-5f8b09e4.entry.js.map +0 -1
- package/dist/core/p-7001f1c1.entry.js +0 -2
- package/dist/core/p-7001f1c1.entry.js.map +0 -1
- package/dist/core/p-8cb5deba.entry.js +0 -2
- package/dist/core/p-95881758.entry.js +0 -2
- package/dist/core/p-95881758.entry.js.map +0 -1
- package/dist/core/p-9fafa5fa.entry.js.map +0 -1
- package/dist/core/p-a26a60ff.entry.js +0 -2
- package/dist/core/p-b6b7c15c.entry.js.map +0 -1
- package/dist/core/p-b6c3cc1c.entry.js.map +0 -1
- package/dist/core/p-b9369ce5.entry.js +0 -2
- package/dist/core/p-b9369ce5.entry.js.map +0 -1
- package/dist/core/p-cbbba154.entry.js +0 -2
- package/dist/core/p-cbbba154.entry.js.map +0 -1
- package/dist/core/p-cdd6d5e8.entry.js +0 -2
- package/dist/core/p-cdd6d5e8.entry.js.map +0 -1
- package/dist/core/p-dc3aba7c.entry.js +0 -2
- package/dist/core/p-dc3aba7c.entry.js.map +0 -1
- package/dist/core/p-e253a857.js.map +0 -1
- package/dist/esm/helpers-d9387cd3.js.map +0 -1
- package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
- package/dist/esm/ic-input-label_2.entry.js +0 -128
- package/dist/esm/ic-input-label_2.entry.js.map +0 -1
- /package/dist/core/{p-0fe08a58.js.map → p-33927ee1.js.map} +0 -0
- /package/dist/core/{p-75901d06.entry.js.map → p-86ff903d.entry.js.map} +0 -0
- /package/dist/core/{p-ead0acc3.entry.js.map → p-8908b8e6.entry.js.map} +0 -0
- /package/dist/core/{p-832c7042.entry.js.map → p-8bf1022e.entry.js.map} +0 -0
- /package/dist/core/{p-5237f3ac.entry.js.map → p-97c437bb.entry.js.map} +0 -0
- /package/dist/core/{p-b3509380.entry.js.map → p-c4bf8742.entry.js.map} +0 -0
- /package/dist/core/{p-3cf99186.entry.js.map → p-c6eabd53.entry.js.map} +0 -0
- /package/dist/core/{p-a54eb1d1.entry.js.map → p-d5f8ef77.entry.js.map} +0 -0
- /package/dist/core/{p-cc36abaa.entry.js.map → p-db6d0463.entry.js.map} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icDateInputCss","IcDateInputStyle0","inputIds","DateInput","constructor","hostRef","this","DEFAULT_DATE_FORMAT","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","selectedDateInfoEl","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","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","el","shadowRoot","querySelectorAll","push","setAriaLabelledBy","inputCompContainerEl","getAttribute","removeAriaLabelledBy","labelEl","_b","querySelector","labelId","id","hasValidation","labelledBy","_c","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","findIndex","focus","inputValue","yearNumbers","autocompletedInput","number","index","handleHostBlur","icBlur","emit","handleHostFocus","activeElement","match","icFocus","handleFormReset","getAriaLabel","notifyScreenReaderArrowKeys","liveRegion","ariaLabel","announcement","notifyScreenReaderInput","monthValue","setAriaInvalid","validDay","validMonth","validDate","disabledDate","handleClear","handleCalendarOpen","ev","stopImmediatePropagation","calendarButtonEl","displayTooltip","calendarButtonClicked","_f","_e","_d","emitIcChange","handleCalendarFocus","handleCalendarBlur","handleClearFocus","handleClearBlur","relatedTarget","d","UTCDate","UTC","icChange","dateObject","utcValue","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","slot","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-xs);\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","/* eslint-disable react/jsx-no-bind */\nimport {\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/**\n * @slot helper-text - Content is set as the helper text for the date input.\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 DEFAULT_DATE_FORMAT: IcDateFormat = \"DD/MM/YYYY\";\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 = null;\n\n private selectedDate: Date | null = 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 @Prop() dateFormat: IcDateFormat = this.DEFAULT_DATE_FORMAT;\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 | null;\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 | null }>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() icBlur: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{\n value: Date | null;\n dateObject: {\n day: string | null;\n month: string | null;\n year: string | null;\n };\n utcValue: Date | null;\n }>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() icFocus: EventEmitter<{ value: Date | null }>;\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 | null> {\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 | null): Promise<void> {\n this.externalSetDate = true;\n this.setDate(d);\n this.emitIcChange(d);\n this.externalSetDate = false;\n }\n\n private setInputPasteValue = (\n input: EventTarget | null,\n pastedValue: string\n ) => {\n if (input) {\n const inputEl = input as HTMLInputElement;\n\n inputEl.value = pastedValue;\n inputEl.classList.add(this.FIT_TO_VALUE);\n }\n };\n\n private checkSingleCopiedValueIsValid = (\n input: EventTarget | null,\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 }\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;\n if (input) {\n this.setPasteInvalidText();\n this.autocompleteInput(input as HTMLInputElement);\n }\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 if (this.selectedDate && this.selectedDateInfoEl) {\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\n private handleUpDownArrowKeyPress = (\n input: HTMLInputElement,\n event: KeyboardEvent\n ) => {\n const minValue = input === this.yearInputEl ? 0 : 1;\n\n let maxValue = 9999;\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 input.value =\n input === this.yearInputEl\n ? new Date().getFullYear().toString()\n : maxValue.toString();\n this.notifyScreenReader(input, event);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n input.value =\n input === this.yearInputEl\n ? new Date().getFullYear().toString()\n : `0${minValue}`;\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 this.selectedDateInfoEl\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 | null) => {\n if (date === null || date === \"\" || date === undefined) {\n if (this.day) this.day = \"\";\n if (this.month) this.month = \"\";\n if (this.year) this.year = \"\";\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 this.DEFAULT_DATE_FORMAT:\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 if (this.dayInputEl && this.monthInputEl && this.yearInputEl) {\n this.dayInputEl.value = day;\n this.monthInputEl.value = month;\n this.yearInputEl.value = year;\n }\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 && 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 this.el.shadowRoot\n ?.querySelectorAll(\"input\")\n .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.el,\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 this.DEFAULT_DATE_FORMAT:\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 || 0,\n input.selectionEnd || undefined\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 /**\n * Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day\n * Consider using dateClamp and inDateRange\n * @returns `boolean`\n */\n private isSelectedDateDisabled = () => {\n if (!this.selectedDate) return false;\n\n const currentDate = new Date();\n const isNotToday =\n this.selectedDate.toDateString() !== currentDate.toDateString();\n\n this.isAfterMax =\n this.maxDate && this.selectedDate > this.maxDate && isNotToday;\n this.isBeforeMin =\n this.minDate && this.selectedDate < this.minDate && isNotToday;\n\n return (\n this.isAfterMax ||\n this.isBeforeMin ||\n this.disableDays.includes(this.selectedDate.getDay()) ||\n (((!!this.disablePast && this.selectedDate < currentDate) ||\n (!!this.disableFuture && this.selectedDate > currentDate)) &&\n isNotToday)\n );\n };\n\n private moveToNextInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) + 1\n ]?.focus();\n };\n\n private moveToPreviousInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) - 1\n ]?.focus();\n };\n\n private autocompleteInput = (input: HTMLInputElement) => {\n const inputValue = input.value;\n if (this.yearInputEl && input === this.yearInputEl) {\n // Autocomplete year as current millennium when fewer than 4 characters entered\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 } else if (inputValue.length === 1) {\n // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)\n input.value = +inputValue === 0 ? \"01\" : `0${inputValue}`;\n }\n\n if (input.value) {\n this.setInputValue(input);\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 (\n this.el.shadowRoot?.activeElement?.id.match(/(day|month|year)-input$/)\n ) {\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) =>\n input.getAttribute(this.ARIA_LABEL);\n\n private notifyScreenReaderArrowKeys = (input: HTMLInputElement) => {\n const liveRegion = this.el.shadowRoot?.querySelector(\"#live-region\");\n const ariaLabel = this.getAriaLabel(input);\n\n if (liveRegion && input.value && ariaLabel) {\n let announcement = \"\";\n\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 && this.yearInputEl) {\n const dateValue = this.slicePastedDate(4, dateParts[index]);\n this.yearInputEl.value = dateValue;\n this.setInputValue(this.yearInputEl);\n } else if (index === 1 && this.monthInputEl) {\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 if (this.dayInputEl) {\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 const ariaLabel = this.getAriaLabel(input);\n const value = input.value;\n\n if (ariaLabel && value) {\n let announcement = \"\";\n\n const monthValue = IcDateInputMonths[+value - 1];\n if (\n input === this.monthInputEl &&\n !!monthValue &&\n this.isValidMonth &&\n value.length === 2\n ) {\n announcement = `${value} - ${monthValue}`;\n } else if (\n (input === this.dayInputEl && this.isValidDay && value.length === 2) ||\n (input === this.yearInputEl && value.length === 4)\n ) {\n announcement = value;\n }\n\n liveRegion.textContent = `${announcement}, ${ariaLabel}`;\n }\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 | null) => {\n if (!dateMatches(this.value ? new Date(this.value) : null, 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 let UTCDate = null;\n if (d !== null) {\n UTCDate = new Date(\n Date.UTC(d.getFullYear(), d.getMonth(), d.getDate())\n );\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 utcValue: UTCDate,\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 >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\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":"ilCAAA,MAAMA,EAAiB,y1MACvB,MAAAC,EAAeD,EC4Cf,IAAIE,EAAW,E,MAYFC,EAAS,MAPtB,WAAAC,CAAAC,G,0KAQUC,KAAAC,oBAAoC,aACpCD,KAAAE,aAAe,eACfF,KAAAG,WAAa,aACbH,KAAAI,iBAAmB,kBAKnBJ,KAAAK,oBAAsB,iBACtBL,KAAAM,aAAe,eAEfN,KAAAO,aAAeP,KAAKQ,MAEpBR,KAAAS,0BAA4B,sBAC5BT,KAAAU,cAAoC,GAEpCV,KAAAW,WAAsB,MACtBX,KAAAY,YAAuB,MACvBZ,KAAAa,2BAAsC,MACtCb,KAAAc,eAA0B,MAE1Bd,KAAAe,WAAsB,KACtBf,KAAAgB,aAAwB,KACxBhB,KAAAiB,YAAuB,KACvBjB,KAAAkB,WAAsB,MAEtBlB,KAAAmB,6BAA+B,yBAC/BnB,KAAAoB,QAAU,GACVpB,KAAAqB,UAAY,GASZrB,KAAAsB,qBAAoC,KAEpCtB,KAAAuB,aAA4B,KAO5BvB,KAAAwB,gBAA2B,MAC3BxB,KAAAyB,WAAsB,MAOrBzB,KAAA0B,gBAA2B,MAC3B1B,KAAA2B,mBAA8B,MAC9B3B,KAAA4B,iBAA4B,MAE5B5B,KAAA6B,IAAc,GACd7B,KAAA8B,MAAgB,GAChB9B,KAAA+B,KAAe,GAoBhB/B,KAAAgC,WAA2BhC,KAAKC,oBAIhCD,KAAAiC,mBAA+B,MAK/BjC,KAAAkC,SAAoB,MASHlC,KAAAmC,YAA4B,GAK7CnC,KAAAoC,mBACN,sGAKMpC,KAAAqC,cAA0B,MAU1BrC,KAAAsC,qBACN,yEAKMtC,KAAAuC,YAAwB,MAUxBvC,KAAAwC,mBACN,yEAUMxC,KAAAyC,eAA0B,MAK1BzC,KAAA0C,UAAsB,MAKtB1C,KAAA2C,QAAkB,iBAAiB/C,MAKnCI,KAAA4C,mBAA6B,6BAW7B5C,KAAA6C,IAAqB,GAerB7C,KAAA8C,IAAqB,GAcrB9C,KAAA+C,KAAe/C,KAAK2C,QAKpB3C,KAAAgD,SAAoB,MAwBpBhD,KAAAiD,mBAA+B,MAK/BjD,KAAAkD,gBAA4B,KAK5BlD,KAAAmD,KAAgB,SAKhBnD,KAAAoD,MAAsB,UAKLpD,KAAAQ,MAA2C,GAK3CR,KAAAqD,iBAA+C,GAKhErD,KAAAsD,eAA0B,GA0J1BtD,KAAAuD,mBAAqB,CAC3BC,EACAC,KAEA,GAAID,EAAO,CACT,MAAME,EAAUF,EAEhBE,EAAQlD,MAAQiD,EAChBC,EAAQC,UAAUC,IAAI5D,KAAKM,a,GAIvBN,KAAA6D,8BAAgC,CACtCL,EACAC,KAEA,IAAIK,EAAU,MACd,MAAMtD,EAAQuD,OAAON,GAErB,OAAQD,GACN,KAAKxD,KAAKgE,WACRF,EAAUtD,GAAS,GAAKA,GAASR,KAAKoB,QACtC,MACF,KAAKpB,KAAKiE,aACRH,EAAUtD,GAAS,GAAKA,GAASR,KAAKqB,UACtC,MACF,KAAKrB,KAAKkE,YACRJ,EAAU,KACV,MAGJ,OAAOA,CAAO,EAQR9D,KAAAmE,kBAAqBC,GAEzBC,OAAOC,UAAUC,SAASC,KAAKJ,KAAWpE,KAAKK,qBAC/CgE,OAAOC,UAAUC,SAASC,KAAKJ,KAC7BpE,KAAKmB,6BAIHnB,KAAAyE,gBAAkB,KACxB,IAAKC,EAAc1E,KAAK6B,KAAM,CAC5B7B,KAAKe,YAAcf,KAAK6B,IAAM7B,KAAKoB,QAAU,MAAQ,I,KAChD,CACLpB,KAAKe,WAAa,I,CAGpB,IAAK2D,EAAc1E,KAAK8B,OAAQ,CAC9B9B,KAAKgB,cAAgBhB,KAAK8B,MAAQ9B,KAAKqB,UAAY,MAAQ,I,KACtD,CACLrB,KAAKgB,aAAe,I,GAIhBhB,KAAA2E,YAAeP,IACrB,MAAMQ,EAAaR,EACnB,MAAMZ,EAAQY,EAAMS,OAEpB,GAAIrB,IAAUxD,KAAKkE,YAAa,CAG9B,GACEU,EAAWE,YAAc,0BACxB9E,KAAK+E,sBACN,CACA,GACEvB,EAAMhD,MAAMwE,SAAW,IACrBxB,IAAUxD,KAAKgE,aAAeR,EAAMhD,OAAS,GAC5CgD,IAAUxD,KAAKiE,eAAiBT,EAAMhD,OAAS,KACjDgD,EAAMhD,OAAS,EAChB,CACAR,KAAKiF,cAAczB,GACnBxD,KAAKkF,mBAAmB1B,EAAOY,GAC/BpE,KAAKmF,gBAAgB3B,E,CAGvB,GAAIA,EAAMhD,MAAMwE,SAAW,EAAG,CAC5B,IAAKxB,EAAMhD,QAAU,EAAG,CACtBgD,EAAMhD,MAAQ,I,CAEhBR,KAAKiF,cAAczB,GACnBxD,KAAKoF,gBAAgB5B,EAAO,MAC5BxD,KAAKkF,mBAAmB1B,EAAOY,GAC/BpE,KAAKmF,gBAAgB3B,E,KAChB,CACLxD,KAAKoF,gBAAgB5B,EAAO,M,OAEzB,GAAIxD,KAAK+E,sBAAuB,CAKrC,GAAIvB,EAAMhD,MAAMwE,SAAW,IAAMhF,KAAKmE,kBAAkBC,GAAQ,CAC9DpE,KAAKiF,cAAczB,GACnBxD,KAAKoF,gBAAgB5B,EAAO,MAC5BxD,KAAKmF,gBAAgB3B,E,KAChB,CACLxD,KAAKiF,cAAczB,E,EAIvB,GAAIA,EAAMhD,MAAMwE,SAAW,EAAG,CAC5BhF,KAAKoF,gBAAgB5B,EAAO,M,MAEzB,CACL,GAAIA,EAAMhD,MAAMwE,SAAW,EAAG,CAC5BhF,KAAKiF,cAAczB,GACnB,GACEa,OAAOC,UAAUC,SAASC,KAAKJ,KAAWpE,KAAKK,oBAC/C,CACAL,KAAKmF,gBAAgB3B,E,CAEvBxD,KAAKoF,gBAAgB5B,EAAO,K,KACvB,CACLxD,KAAKiF,cAAczB,EAAO,MAC1BxD,KAAKoF,gBAAgB5B,EAAO,M,EAKhCxD,KAAKqF,qBAAqB7B,GAE1B,GAAIA,EAAMhD,MAAMwE,SAAW,EAAG,CAC5BhF,KAAKiF,cAAczB,EAAO,MAC1BxD,KAAKsF,sB,CAGPtF,KAAKkF,mBAAmB1B,EAAOY,EAAM,EAG/BpE,KAAAuF,cAAgB,CAACnB,EAAsBoB,K,MAC7C,MAAMhC,EAAQY,EAAMS,OAEpB,MAAMY,GAAWC,EAAAtB,EAAMuB,OAAG,MAAAD,SAAA,SAAAA,EAAEE,cAE5B,MAAMC,EACJ,iGACF,IACGA,EAAMC,KAAKL,OAETrB,EAAM2B,SAAW3B,EAAM4B,WACvBP,IAAa,KAAOA,IAAa,MAEpC,CACArB,EAAM6B,gB,CAGR,OAAQR,GACN,IAAK,IACL,IAAK,IACL,IAAK,IACHrB,EAAM6B,iBACNjG,KAAKkG,sBACLlG,KAAKmF,gBAAgB3B,GACrB,MACF,IAAK,aACL,IAAK,YACHY,EAAM6B,iBACNjG,KAAKmG,6BAA6B3C,EAAOiC,GACzC,MACF,IAAK,UACL,IAAK,YACHzF,KAAK+E,sBAAwB,KAC7B/E,KAAKoG,0BAA0B5C,EAAOY,GACtC,MACF,IAAK,YACH,GAAIZ,EAAMhD,MAAMwE,SAAW,EAAG,CAC5BZ,EAAM6B,iBACNjG,KAAKqG,oBAAoB7C,E,CAE3B,MAKJxD,KAAKsG,aAAalC,EAAOoB,GACzBxF,KAAKa,2BAA6B,IAAI,EAGhCb,KAAAuG,YAAenC,IAErB,MAAMZ,EAAQY,EAAMS,OAEpBrB,EAAMgD,QAAQ,EAGRxG,KAAAyG,WAAcrC,IACpB,MAAMZ,EAAQY,EAAMS,OACpB,GAAIrB,EAAO,CACTxD,KAAKkG,sBACLlG,KAAK0G,kBAAkBlD,E,GAInBxD,KAAAmG,6BAA+B,CACrC3C,EACAmC,KAEA,GAAIA,IAAQ,aAAc,CACxB3F,KAAKmF,gBAAgB3B,E,KAChB,CACLxD,KAAKqG,oBAAoB7C,E,CAG3BxD,KAAKkG,qBAAqB,EAGpBlG,KAAA2G,+BAAiC,KACvC,GAAI3G,KAAKuB,cAAgBvB,KAAK4G,mBAAoB,CAChD,MAAMC,EAAWC,EAAkBC,GACnC,MAAMC,EAASF,EAAkBG,GAEjCjH,KAAK4G,mBAAmBM,YAAc,kBACpCL,EAAS7G,KAAKuB,aAAa4F,cACxBnH,KAAKuB,aAAa6F,aACrBJ,EAAOhH,KAAKuB,aAAa8F,eACvBrH,KAAKuB,aAAa+F,e,GAIlBtH,KAAAoG,0BAA4B,CAClC5C,EACAY,KAEA,MAAMmD,EAAW/D,IAAUxD,KAAKkE,YAAc,EAAI,EAElD,IAAIsD,EAAW,KAEf,OAAQhE,GACN,KAAKxD,KAAKgE,WACRwD,EAAWxH,KAAKoB,QAChB,MACF,KAAKpB,KAAKiE,aACRuD,EAAWxH,KAAKqB,UAChB,MACF,KAAKrB,KAAKkE,YACRsD,EAAW,KAIf,GAAIhE,IAAK,MAALA,SAAK,SAALA,EAAOhD,MAAO,CAChB,GAAI4D,EAAMuB,MAAQ,UAAW,CAC3B,IAAKnC,EAAMhD,QAAUgH,EAAU,CAC7BpD,EAAM6B,iBACNzC,EAAMhD,MAAQ,IAAI+G,G,KACb,CACL/D,EAAMhD,OACHgD,EAAMhD,MAAQ,EAAI,GACf,KAAKgD,EAAMhD,MAAQ,MACjBgD,EAAMhD,MAAQ,GAAG+D,U,CAE3BvE,KAAKkF,mBAAmB1B,EAAOY,E,CAGjC,GAAIA,EAAMuB,MAAQ,YAAa,CAC7B,IAAKnC,EAAMhD,QAAU+G,EAAU,CAC7BnD,EAAM6B,iBACNzC,EAAMhD,MAAQgH,EAASjD,U,KAClB,CACLf,EAAMhD,OACHgD,EAAMhD,MAAQ,EAAI,GACf,KAAKgD,EAAMhD,MAAQ,MACjBgD,EAAMhD,MAAQ,GAAG+D,U,CAE3BvE,KAAKkF,mBAAmB1B,EAAOY,E,MAE5B,CACL,GAAIA,EAAMuB,MAAQ,YAAa,CAC7BvB,EAAM6B,iBACNzC,EAAMhD,MACJgD,IAAUxD,KAAKkE,aACX,IAAIuD,MAAOH,cAAc/C,WACzBiD,EAASjD,WACfvE,KAAKkF,mBAAmB1B,EAAOY,E,MAC1B,GAAIA,EAAMuB,MAAQ,UAAW,CAClCvB,EAAM6B,iBACNzC,EAAMhD,MACJgD,IAAUxD,KAAKkE,aACX,IAAIuD,MAAOH,cAAc/C,WACzB,IAAIgD,IACVvH,KAAKkF,mBAAmB1B,EAAOY,E,EAInCpE,KAAKiF,cAAczB,GACnBxD,KAAKqF,qBAAqB7B,EAAM,EAG1BxD,KAAA0H,iBAAoBC,IAG1B,GAAIA,IAAUC,EAAY5H,KAAKuB,aAAcvB,KAAKsB,sBAAuB,CACvE,GAAItB,KAAKQ,MAAO,CACdR,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMG,UAAUC,IAAI5D,KAAKM,aAAa,G,CAG1C,GAAIN,KAAK6B,KAAO7B,KAAK8B,OAAS9B,KAAK+B,MAAQ/B,KAAK8H,kBAAoB,GAAI,CACtE9H,KAAK+H,sBAAsB/H,KAAKuB,cAChCvB,KAAK2G,gC,MACA,KACH3G,KAAKuB,eAAiB,MAAQvB,KAAKsB,uBAAyB,OAC9DtB,KAAK4G,mBACL,CACA5G,KAAK+H,sBAAsB,MAC3B/H,KAAK4G,mBAAmBM,YAAc,E,CAExClH,KAAKsB,qBAAuBtB,KAAKuB,aAEjC,IAAKvB,KAAKa,2BAA4B,CACpCb,KAAKgI,kBAAkBhI,KAAK6B,IAAK7B,KAAK8B,MAAO9B,KAAK+B,K,IAKhD/B,KAAAiI,gBAAkB,CAACC,EAAqBC,IACvCA,EAASnD,OAASkD,EACrBC,EAASC,MAAM,EAAGF,GAClBC,EAGEnI,KAAAqI,wBAA2B7H,IACjC,GACE,eAAesF,KAAKtF,IACpB,gBAAgBsF,KAAKtF,IACrB,gBAAgBsF,KAAKtF,GACrB,CACA,OAAO,I,CAGT,GACE,wEAAwEsF,KACtEtF,GAEF,CACAR,KAAKkB,WAAa,KAClB,OAAO,I,CAGT,OAAO,KAAK,EAKNlB,KAAAsI,YAAelE,I,MACrBA,EAAM6B,iBAEN,MAAMxC,IAAciC,EAAAtB,EAAMmE,iBAAa,MAAA7C,SAAA,SAAAA,EAAE8C,QAAQ,UAAW,GAC5D,MAAMvH,EAAcjB,KAAKqI,wBAAwB5E,GAEjDzD,KAAKyI,4BAA4BxH,EAAawC,EAAaW,EAAM,EAG3DpE,KAAA0I,QAAWC,IACjB,GAAIA,IAAS,MAAQA,IAAS,IAAMA,IAASC,UAAW,CACtD,GAAI5I,KAAK6B,IAAK7B,KAAK6B,IAAM,GACzB,GAAI7B,KAAK8B,MAAO9B,KAAK8B,MAAQ,GAC7B,GAAI9B,KAAK+B,KAAM/B,KAAK+B,KAAO,GAC3B/B,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMG,UAAUkF,OAAO7I,KAAKM,cAC5BN,KAAKoF,gBAAgB5B,EAAO,MAAM,IAEpCxD,KAAK0H,iBAAiB,K,KACjB,CACL,GAAIoB,EAAcH,GAAO,CACvB,IAAII,EACJ,UAAWJ,IAAS,SAAU,CAE5BI,EAAU,IAAItB,MAAMkB,E,KACf,CACLI,EAAUJ,C,CAGZ3I,KAAK6B,IAAMmH,EAAsBD,EAAQ3B,WACzCpH,KAAK8B,MAAQkH,EAAsBD,EAAQ1B,WAAa,GACxDrH,KAAK+B,KAAOgH,EAAQzB,cAAc/C,U,MAC7B,UAAWoE,IAAS,SAAU,CACnC,MAAMM,EAAmBC,EAAgBP,EAAM3I,KAAKgC,YACpDhC,KAAKuB,aAAe,IAAIkG,KACtB1D,OAAOkF,EAAiB,IACxBlF,OAAOkF,EAAiB,IAAM,EAC9BlF,OAAOkF,EAAiB,KAE1BjJ,KAAK+B,KAAOkH,EAAiB,GAC7BjJ,KAAK8B,MAAQmH,EAAiB,GAC9BjJ,KAAK6B,IAAMoH,EAAiB,GAC5BjJ,KAAK+H,sBAAsB/H,KAAKuB,a,EAIpCvB,KAAKsF,sBAAsB,EAGrBtF,KAAAmJ,aAAgBR,IACtB,IAAIS,EAEJ,MAAMvH,EAAMmH,EAAsBL,EAAKvB,WACvC,MAAMtF,EAAQkH,EAAsBL,EAAKtB,WAAa,GACtD,MAAMtF,EAAO4G,EAAKrB,cAElB,OAAQtH,KAAKgC,YACX,KAAKhC,KAAKC,oBACRmJ,EAAgB,GAAGvH,KAAOC,KAASC,IACnC,MACF,IAAK,aACHqH,EAAgB,GAAGtH,KAASD,KAAOE,IACnC,MACF,IAAK,aACHqH,EAAgB,GAAGrH,KAAQD,KAASD,IACpC,MAIJ,OAAOuH,CAAa,EAEdpJ,KAAAgI,kBAAoB,CAACnG,EAAaC,EAAeC,KACvD,GAAI/B,KAAKgE,YAAchE,KAAKiE,cAAgBjE,KAAKkE,YAAa,CAC5DlE,KAAKgE,WAAWxD,MAAQqB,EACxB7B,KAAKiE,aAAazD,MAAQsB,EAC1B9B,KAAKkE,YAAY1D,MAAQuB,C,GAKrB/B,KAAAiF,cAAgB,CAACzB,EAAyB6F,EAAQ,SACxD,MAAMC,EAAWD,EAAQ,GAAK7F,EAAMhD,MAEpC,OAAQgD,GACN,KAAKxD,KAAKgE,WACRhE,KAAK6B,IAAMyH,EACX,MACF,KAAKtJ,KAAKiE,aACRjE,KAAK8B,MAAQwH,EACb,MACF,KAAKtJ,KAAKkE,YACR,GAAIlE,KAAK+B,OAASuH,EAAU,CAC1BtJ,KAAK+B,KAAOuH,C,EAIlBtJ,KAAKsF,sBAAsB,EAGrBtF,KAAAsF,qBAAuB,KAC7BtF,KAAKyE,kBAEL,IACGC,EAAc1E,KAAK6B,OACnB6C,EAAc1E,KAAK8B,SACnB4C,EAAc1E,KAAK+B,MACpB,CAGA/B,KAAKuB,aAAevB,KAAKuJ,cAAcvJ,KAAK+B,KAAM/B,KAAK8B,MAAO9B,KAAK6B,KACnE7B,KAAKiB,cACDjB,KAAKuB,cAAgBvB,KAAKuB,aAAa6F,YAAcpH,KAAK6B,IAC9D7B,KAAKc,eAAiBd,KAAKwJ,yBAE3B,IAAKxJ,KAAKiB,aAAejB,KAAKc,eAAgB,CAC5Cd,KAAKU,cAAcmH,SAASrE,GAC1BA,EAAMiG,aAAazJ,KAAKE,aAAc,S,KAEnC,CACLF,KAAKU,cAAcmH,SAASrE,GAC1BA,EAAMkG,gBAAgB1J,KAAKE,e,MAG1B,CACLF,KAAKuB,aAAe,I,CAGtB,KAAMvB,KAAKe,YAAcf,KAAKgB,cAAgBhB,KAAKiB,aAAc,CAC/DjB,KAAK8H,gBAAkB9H,KAAK4C,kB,MACvB,GAAI5C,KAAKc,gBAAkBd,KAAKuB,eAAiB,KAAM,CAC5D,GAAIvB,KAAKY,YAAa,CACpB,GAAIZ,KAAKuC,YAAa,CACpBvC,KAAK8H,gBAAkB9H,KAAKwC,kB,KACvB,CACLxC,KAAK8H,gBAAkB,6BAA6B9H,KAAKmJ,aACvDnJ,KAAK2J,W,OAGJ,GAAI3J,KAAKW,WAAY,CAC1B,GAAIX,KAAKqC,cAAe,CACtBrC,KAAK8H,gBAAkB9H,KAAKsC,oB,KACvB,CACLtC,KAAK8H,gBAAkB,8BAA8B9H,KAAKmJ,aACxDnJ,KAAK4J,W,OAGJ,GAAI5J,KAAKmC,YAAY6C,SAAW,EAAG,CACxChF,KAAK8H,gBAAkB9H,KAAKoC,kB,KACvB,CACL,GAAIpC,KAAKuC,YAAa,CACpBvC,KAAK8H,gBAAkB9H,KAAKwC,kB,CAE9B,GAAIxC,KAAKqC,cAAe,CACtBrC,KAAK8H,gBAAkB9H,KAAKsC,oB,OAG3B,CACLtC,KAAK8H,gBAAkB,E,GAKnB9H,KAAA6J,iBAAmB,K,OACzBnE,EAAA1F,KAAK8J,GAAGC,cAAU,MAAArE,SAAA,SAAAA,EACdsE,iBAAiB,SAClBnC,SAASrE,GAAUxD,KAAKU,cAAcuJ,KAAKzG,IAAO,EAK/CxD,KAAAkK,kBAAoB,K,UAC1B,GACElK,KAAKkC,WACJwC,GACCgB,EAAA1F,KAAKmK,wBAAoB,MAAAzE,SAAA,SAAAA,EAAE0E,aAAapK,KAAKI,mBAE/C,CACAJ,KAAKqK,uBACL,M,CAGF,GAAIrK,KAAKkC,SAAU,CACjB,M,CAGF,MAAMoI,GAAUC,EAAAvK,KAAK8J,GAAGC,cAAU,MAAAQ,SAAA,SAAAA,EAAEC,cAAc,SAClD,MAAMC,EAAU,GAAGzK,KAAK2C,gBAExB,GAAI2H,IAAY,MAAQA,IAAY1B,UAAW,CAC7C0B,EAAQI,GAAKD,C,CAGf,MAAME,GACHjG,EAAc1E,KAAKqD,oBACnBqB,EAAc1E,KAAK8H,iBAEtB,MAAM8C,EAAa,IAAGC,EAAAP,IAAO,MAAPA,SAAO,SAAPA,EAASI,MAAE,MAAAG,SAAA,EAAAA,EAAI,MACnC7K,KAAK8K,sBACHC,EACF/K,KAAK8J,GACL9J,KAAK2C,QACL3C,KAAKgL,aAAe,IAAMhL,KAAKgL,aAAehL,KAAKiL,kBACnDN,MACG3K,KAAKuB,aAAevB,KAAKkL,mBAAqB,MACjDlL,KAAKmL,kBAGPnL,KAAKmK,qBAAqBV,aAAazJ,KAAKI,iBAAkBwK,EAAW,EAInE5K,KAAAoF,gBAAkB,CAAC5B,EAAyB4H,KAClD,OAAQ5H,GACN,KAAKxD,KAAKgE,WACRhE,KAAKqL,gBAAkBD,EACvB,MACF,KAAKpL,KAAKiE,aACRjE,KAAKsL,kBAAoBF,EACzB,MACF,KAAKpL,KAAKkE,YACRlE,KAAKuL,iBAAmBH,E,EAMtBpL,KAAAwL,qBAAwBrD,IAC9B,MAAMsD,EACJC,EAAA,SACEC,MAAM,YACNjB,GAAG,YACHkB,IAAM9B,GAAQ9J,KAAKgE,WAAa8F,EAAG,aACxB,MACX+B,YAAY,KACZ3J,SAAUlC,KAAKkC,SACf4J,QAAS9L,KAAKsI,YACdyD,UAAU,SACVC,QAAQ,SACRC,UAAY7H,GAAUpE,KAAKuF,cAAcnB,EAAOpE,KAAKqL,mBAIzD,MAAMa,EACJR,EAAA,SACEhB,GAAG,cACHiB,MAAM,cACNC,IAAM9B,GAAQ9J,KAAKiE,aAAe6F,EAAG,aAC1B,QACX+B,YAAY,KACZ3J,SAAUlC,KAAKkC,SACf4J,QAAS9L,KAAKsI,YACdyD,UAAU,SACVC,QAAQ,SACRC,UAAY7H,GAAUpE,KAAKuF,cAAcnB,EAAOpE,KAAKsL,qBAIzD,MAAMa,EACJT,EAAA,SACEhB,GAAG,aACHiB,MAAM,aACNC,IAAM9B,GAAQ9J,KAAKkE,YAAc4F,EAAG,aACzB,OACX+B,YAAY,OACZO,UAAW,EACXlK,SAAUlC,KAAKkC,SACf4J,QAAS9L,KAAKsI,YACdyD,UAAU,SACVC,QAAQ,SACRC,UAAY7H,GAAUpE,KAAKuF,cAAcnB,EAAOpE,KAAKuL,oBAIzD,IAAI/H,EAEJ,OAAQ2E,GACN,IAAK,IACH3E,EAAQiI,EACR,MACF,IAAK,IACHjI,EAAQ0I,EACR,MACF,IAAK,IACH1I,EAAQ2I,EAGZ,OAAO3I,CAAK,EAINxD,KAAAqM,iBAAmB,KACzB,MAAMC,EAAYtM,KAAKgC,WAAWuK,MAAM,KAExC,MAAM7L,EAAoC,GAE1C4L,EAAUzE,SAAS2E,IACjB9L,EAAcuJ,KAAKjK,KAAKwL,qBAAqBgB,EAAKC,UAAU,EAAG,IAAI,IAGrE,OAAO/L,CAAa,EAKdV,KAAA0M,qBAAuB,KAC7B,IAAIC,EAEJ,OAAQ3M,KAAKgC,YACX,KAAKhC,KAAKC,oBACR0M,EAAc,uBACd,MACF,IAAK,aACHA,EAAc,uBACd,MACF,IAAK,aACHA,EAAc,uBAGlB,OAAOA,CAAW,EAKZ3M,KAAA4M,oBAAuBvJ,IAC7B,IAAIwJ,EAAmB,GAEvB,GAAI7M,KAAKgD,SAAU,CACjB6J,GAAoB,U,CAGtB,GAAIxJ,IAAqByJ,EAAoBC,MAAO,CAClDF,GAAoB,e,CAGtB,OAAOA,IAAqB,GAAK,GAAKA,EAAmB,IAAI,EAOvD7M,KAAAsG,aAAe,CAAClC,EAAsBoB,KAC5C,MAAMG,EAAMvB,EAAMuB,IAClB,MAAMnC,EAAQY,EAAMS,OACpB,IAAImI,EAEJ,GAAIxJ,EAAO,CACTwJ,EAAiBxJ,EAAMhD,MAAMiM,UAC3BjJ,EAAMyJ,gBAAkB,EACxBzJ,EAAM0J,cAAgBtE,U,CAI1B,GACEjD,IAAQ,KACRA,IAAQ,KACRA,IAAQ,KACPvB,EAAMuB,KAAO,KACZvB,EAAMuB,KAAO,KACbH,IACCwH,EACH,CACA5I,EAAM6B,gB,GASFjG,KAAAwJ,uBAAyB,KAC/B,IAAKxJ,KAAKuB,aAAc,OAAO,MAE/B,MAAM4L,EAAc,IAAI1F,KACxB,MAAM2F,EACJpN,KAAKuB,aAAa8L,iBAAmBF,EAAYE,eAEnDrN,KAAKW,WACHX,KAAK4J,SAAW5J,KAAKuB,aAAevB,KAAK4J,SAAWwD,EACtDpN,KAAKY,YACHZ,KAAK2J,SAAW3J,KAAKuB,aAAevB,KAAK2J,SAAWyD,EAEtD,OACEpN,KAAKW,YACLX,KAAKY,aACLZ,KAAKmC,YAAYmL,SAAStN,KAAKuB,aAAa4F,cACvCnH,KAAKuC,aAAevC,KAAKuB,aAAe4L,KACxCnN,KAAKqC,eAAiBrC,KAAKuB,aAAe4L,IAC7CC,CAAW,EAITpN,KAAAmF,gBAAmBoI,I,MACzBvN,KAAK+E,sBAAwB,OAE7BW,EAAA1F,KAAKU,cACHV,KAAKU,cAAc8M,WAAWhK,GAAUA,IAAU+J,IAAgB,MACnE,MAAA7H,SAAA,SAAAA,EAAE+H,OAAO,EAGJzN,KAAAqG,oBAAuBkH,I,MAC7BvN,KAAK+E,sBAAwB,OAE7BW,EAAA1F,KAAKU,cACHV,KAAKU,cAAc8M,WAAWhK,GAAUA,IAAU+J,IAAgB,MACnE,MAAA7H,SAAA,SAAAA,EAAE+H,OAAO,EAGJzN,KAAA0G,kBAAqBlD,IAC3B,MAAMkK,EAAalK,EAAMhD,MACzB,GAAIR,KAAKkE,aAAeV,IAAUxD,KAAKkE,YAAa,CAElD,MAAMyJ,EAAc,CAAC,IAAK,IAAK,KAE/B,IAAIC,EAAqB,GAEzB,GAAIF,EAAY,CACdC,EAAY9F,SAAQ,CAACgG,EAAQC,KAC3B,GAAIJ,EAAW1I,OAAS8I,GAAS,EAAG,CAClCF,GAAsBC,C,KAI1B7N,KAAKkE,YAAY1D,MAAQ,GAAGoN,IAAqBF,G,OAE9C,GAAIA,EAAW1I,SAAW,EAAG,CAElCxB,EAAMhD,OAASkN,IAAe,EAAI,KAAO,IAAIA,G,CAG/C,GAAIlK,EAAMhD,MAAO,CACfR,KAAKiF,cAAczB,E,GAIfxD,KAAAuJ,cAAgB,CACtBxH,EACAD,EACAD,KAEA,IAAK6C,EAAc3C,KAAU2C,EAAc5C,KAAW4C,EAAc7C,GAAM,CACxE,OAAO,IAAI4F,MAAM1F,GAAOD,EAAQ,GAAID,E,KAC/B,CACL,OAAO,I,GAIH7B,KAAA+N,eAAiB,KACvB/N,KAAK4B,iBAAmB,MACxB5B,KAAKgO,OAAOC,KAAK,CAAEzN,MAAOR,KAAKuB,cAAe,EAGxCvB,KAAAkO,gBAAkB,K,QACxB,IACE3D,GAAA7E,EAAA1F,KAAK8J,GAAGC,cAAU,MAAArE,SAAA,SAAAA,EAAEyI,iBAAa,MAAA5D,SAAA,SAAAA,EAAEG,GAAG0D,MAAM,2BAC5C,CACApO,KAAK4B,iBAAmB,K,KACnB,CACL5B,KAAK4B,iBAAmB,I,CAE1B5B,KAAKqO,QAAQJ,KAAK,CAAEzN,MAAOR,KAAKuB,cAAe,EAGzCvB,KAAAsO,gBAAkB,KAExBtO,KAAK0I,QAAQ1I,KAAKO,cAClBP,KAAKsF,uBACLtF,KAAK0H,iBAAiB,MAAM,EAGtB1H,KAAAuO,aAAgB/K,GACtBA,EAAM4G,aAAapK,KAAKG,YAElBH,KAAAwO,4BAA+BhL,I,MACrC,MAAMiL,GAAa/I,EAAA1F,KAAK8J,GAAGC,cAAU,MAAArE,SAAA,SAAAA,EAAE8E,cAAc,gBACrD,MAAMkE,EAAY1O,KAAKuO,aAAa/K,GAEpC,GAAIiL,GAAcjL,EAAMhD,OAASkO,EAAW,CAC1C,IAAIC,EAAe,GAEnB,GACEnL,IAAUxD,KAAKiE,gBACbgD,GAAmBzD,EAAMhD,MAAQ,GACnC,CACAmO,EAAe,GAAGnL,EAAMhD,WACtByG,GAAmBzD,EAAMhD,MAAQ,OAC9BkO,G,CAGP,GAAIlL,IAAUxD,KAAKgE,YAAcR,IAAUxD,KAAKkE,YAAa,CAC3DyK,EAAe,GAAGnL,EAAMhD,UAAUkO,G,CAGpCD,EAAWvH,YAAcyH,C,GA6HrB3O,KAAA4O,wBAA0B,CAChCpL,EACAiL,KAEA,MAAMC,EAAY1O,KAAKuO,aAAa/K,GACpC,MAAMhD,EAAQgD,EAAMhD,MAEpB,GAAIkO,GAAalO,EAAO,CACtB,IAAImO,EAAe,GAEnB,MAAME,EAAa5H,GAAmBzG,EAAQ,GAC9C,GACEgD,IAAUxD,KAAKiE,gBACb4K,GACF7O,KAAKgB,cACLR,EAAMwE,SAAW,EACjB,CACA2J,EAAe,GAAGnO,OAAWqO,G,MACxB,GACJrL,IAAUxD,KAAKgE,YAAchE,KAAKe,YAAcP,EAAMwE,SAAW,GACjExB,IAAUxD,KAAKkE,aAAe1D,EAAMwE,SAAW,EAChD,CACA2J,EAAenO,C,CAGjBiO,EAAWvH,YAAc,GAAGyH,MAAiBD,G,GAIzC1O,KAAAqF,qBAAwB7B,IAC9B,GAAIA,EAAMhD,MAAO,CACfgD,EAAMG,UAAUC,IAAI5D,KAAKM,a,KACpB,CACLkD,EAAMG,UAAUkF,OAAO7I,KAAKM,a,GAIxBN,KAAA8O,eAAiB,CACvBC,EACAC,EACAC,EACAC,K,QAEA,GAAIlP,KAAKU,cAAcsE,OAAQ,CAC7BhF,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMkG,gBAAgB1J,KAAKE,aAAa,IAG1C,IAAK6O,EAAU,EACbrJ,EAAA1F,KAAKgE,cAAU,MAAA0B,SAAA,SAAAA,EAAE+D,aAAazJ,KAAKE,aAAc,O,CAGnD,IAAK8O,EAAY,EACfzE,EAAAvK,KAAKiE,gBAAY,MAAAsG,SAAA,SAAAA,EAAEd,aAAazJ,KAAKE,aAAc,O,CAGrD,IAAK+O,GAAaC,EAAc,CAC9BlP,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMiG,aAAazJ,KAAKE,aAAc,OAAO,G,IAM7CF,KAAAmP,YAAc,KACpBnP,KAAKyB,WAAa,KAClBzB,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMG,UAAUkF,OAAO7I,KAAKM,cAC5BN,KAAKiF,cAAczB,EAAO,MAC1BxD,KAAKoF,gBAAgB5B,EAAO,MAAM,IAEpCxD,KAAKyB,WAAa,MAClBzB,KAAKa,2BAA6B,MAClCb,KAAKsF,uBACLtF,KAAK0H,iBAAiB,MAEtB1H,KAAKU,cAAc,GAAG+M,OAAO,EAGvBzN,KAAAoP,mBAAsBC,I,gBAC5BA,EAAGC,4BACHzE,GAAAN,GAAA7E,EAAA1F,KAAKuP,oBAAgB,MAAA7J,SAAA,SAAAA,EAAEqE,cAAU,MAAAQ,SAAA,SAAAA,EAC7BC,cAAc,iBAAa,MAAAK,SAAA,SAAAA,EAC3B2E,eAAe,OACnBxP,KAAKyP,sBAAsBxB,KAAK,CAAEzN,MAAOR,KAAKuB,gBAC9CmO,GAAAC,GAAAC,EAAA5P,KAAKuP,oBAAgB,MAAAK,SAAA,SAAAA,EAAE7F,cAAU,MAAA4F,SAAA,SAAAA,EAC7BnF,cAAc,iBAAa,MAAAkF,SAAA,SAAAA,EAC3BF,eAAe,OACnBxP,KAAKa,2BAA6B,KAAK,EAGjCb,KAAA+H,sBAAyBvH,IAC/B,IAAKoH,EAAY5H,KAAKQ,MAAQ,IAAIiH,KAAKzH,KAAKQ,OAAS,KAAMA,GAAQ,CACjER,KAAK6P,aAAarP,GAClBR,KAAKQ,MAAQA,C,GAITR,KAAA8P,oBAAsB,KAC5B9P,KAAK0B,gBAAkB,IAAI,EAGrB1B,KAAA+P,mBAAqB,KAC3B/P,KAAK0B,gBAAkB,KAAK,EAGtB1B,KAAAgQ,iBAAmB,KACzBhQ,KAAK4B,iBAAmB,KACxB5B,KAAK2B,mBAAqB,IAAI,EAGxB3B,KAAAiQ,gBAAmBZ,I,MACzBrP,KAAK2B,mBAAqB,MAC1B,IAAI+D,EAAC2J,EAAGa,iBAA6B,MAAAxK,SAAA,SAAAA,EAAEgF,GAAG0D,MAAM,qBAAsB,CACpEpO,KAAK4B,iBAAmB,MACxB,M,CAGF5B,KAAK4B,iBAAmB,IAAI,EAGtB5B,KAAA6P,aAAgBM,IACtBnQ,KAAKuB,aAAe4O,EACpB,IACGvI,EAAY5H,KAAKuB,aAAc4O,IAChCnQ,KAAK6B,MAAQ,MACb7B,KAAK8B,QAAU,MACf9B,KAAK+B,OAAS,KACd,CACA,IAAIqO,EAAU,KACd,GAAID,IAAM,KAAM,CACdC,EAAU,IAAI3I,KACZA,KAAK4I,IAAIF,EAAE7I,cAAe6I,EAAE9I,WAAY8I,EAAE/I,W,CAG9CpH,KAAKsQ,SAASrC,KAAK,CACjBzN,MAAO2P,EACPI,WAAY,CACV1O,IAAK7B,KAAK6B,MAAQ,GAAK,KAAO7B,KAAK6B,IACnCC,MAAO9B,KAAK8B,QAAU,GAAK,KAAO9B,KAAK8B,MACvCC,KAAM/B,KAAK+B,OAAS,GAAK,KAAO/B,KAAK+B,MAEvCyO,SAAUJ,G,GAr7ChB,iBAAAK,GACE,GACEzQ,KAAKiC,qBACJjC,KAAKwB,kBACLxB,KAAKyB,cACJzB,KAAK6B,KAAO7B,KAAK8B,OAAS9B,KAAK+B,OACjC/B,KAAKuB,eAAiB,KACtB,CACAvB,KAAK6P,aAAa7P,KAAKuB,a,EAkB3B,oBAAAmP,GACEC,EAAoB3Q,KAAKkC,SAAUlC,KAAK8J,G,CAoB1C,yBAAA8G,GACE5Q,KAAK6Q,iB,CAeP,uBAAAC,GACE9Q,KAAK+Q,iB,CA8CP,eAAAF,GACE,GAAI7Q,KAAKqC,cAAe,CACtBrC,KAAK4J,QAAU,IAAInC,I,KACd,CACLzH,KAAK4J,QAAUoH,EAAWhR,KAAK6C,IAAK7C,KAAKgC,W,EAW7C,eAAA+O,GACE,GAAI/Q,KAAKuC,YAAa,CACpBvC,KAAK2J,QAAU,IAAIlC,I,KACd,CACLzH,KAAK2J,QAAUqH,EAAWhR,KAAK8C,IAAK9C,KAAKgC,W,EAe7C,oBAAAiP,G,QAGE,MAAM3G,GAAU5E,EAAA1F,KAAK8J,GAAGC,cAAU,MAAArE,SAAA,SAAAA,EAAE8E,cAAc,SAClD,GAAIxK,KAAKgD,SAAU,CACjB,MAAMkO,EAAeC,SAASC,cAAc,QAC5CF,EAAazH,aAAa,KAAM,iBAChCyH,EAAazH,aAAa,cAAe,QACzCyH,EAAahK,YAAc,KAC3BoD,IAAO,MAAPA,SAAO,SAAPA,EAAS+G,YAAYH,E,KAChB,CACL,MAAMA,GAAe3G,EAAAvK,KAAK8J,GAAGC,cAAU,MAAAQ,SAAA,SAAAA,EAAEC,cAAc,kBACvD,GAAI0G,EAAc,CAChBA,EAAarI,Q,GAoEnB,oBAAAyI,GACEC,EAAwBvR,KAAK8J,GAAI9J,KAAKsO,gB,CAGxC,iBAAAkD,GACExR,KAAKiL,kBAAoB,cAAcjL,KAAKgC,aAE5C,GAAI0C,EAAc1E,KAAKgL,YACrBhL,KAAKgL,WAAahL,KAAKiL,kBAEzBjL,KAAK+Q,kBACL/Q,KAAK6Q,kBAEL,GAAI7Q,KAAKQ,MAAO,CACdR,KAAKwB,gBAAkB,KACvBxB,KAAK0I,QAAQ1I,KAAKQ,M,CAGpBR,KAAK8K,mBAAqB,GAAG9K,KAAK2C,6BAClC3C,KAAKmL,gBAAkB,GAAGnL,KAAK2C,yBAC/B3C,KAAKkL,mBAAqB,GAAGlL,KAAK2C,6BAElC8O,EAAqBzR,KAAK8J,GAAI9J,KAAKsO,iBACnCqC,EAAoB3Q,KAAKkC,SAAUlC,KAAK8J,G,CAG1C,gBAAA4H,GACE1R,KAAK6J,mBAEL8H,EACE,CAAC,CAAEC,KAAM5R,KAAK6R,MAAOC,SAAU,UAC/B,cAGF,GAAI9R,KAAKQ,MAAO,CACdR,KAAKgI,kBAAkBhI,KAAK6B,IAAK7B,KAAK8B,MAAO9B,KAAK+B,MAClD/B,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMG,UAAUC,IAAI5D,KAAKM,aAAa,G,CAI1CN,KAAK8O,eACH9O,KAAKe,WACLf,KAAKgB,aACLhB,KAAKiB,YACLjB,KAAKc,gBAGP,GAAId,KAAKQ,MAAO,CACdR,KAAK2G,gC,CAGP3G,KAAKU,cAAcmH,SAASrE,IAC1BA,EAAMuO,iBAAiB,QAAS/R,KAAK2E,aACrCnB,EAAMuO,iBAAiB,QAAS/R,KAAKuG,aACrC/C,EAAMuO,iBAAiB,OAAQ/R,KAAKyG,WAAW,IAGjDzG,KAAKiR,sB,CAGP,mBAAAe,GACE,GAAItN,EAAc1E,KAAKgL,YACrBhL,KAAKgL,WAAahL,KAAKiL,kBAEzB,IAAKjL,KAAKa,2BAA4Bb,KAAK0I,QAAQ1I,KAAKQ,OAExDR,KAAK8O,eACH9O,KAAKe,WACLf,KAAKgB,aACLhB,KAAKiB,YACLjB,KAAKc,gBAEPd,KAAK0H,iBAAiB,OACtB1H,KAAKa,2BAA6B,K,CAGpC,kBAAAoR,GACE,GAAIjS,KAAK4B,iBAAkB,CACzB5B,KAAKqK,uBACL,M,CAGFrK,KAAKkK,mB,CAQP,aAAM9C,GACJ,OAAOpH,KAAKuB,Y,CAOd,sBAAM2Q,GACJ,GAAIlS,KAAKuP,iBAAkB,CACzBvP,KAAKuP,iBAAiB9B,O,EAQ1B,oBAAM0E,CAAeC,GACnBpS,KAAKmC,YAAciQ,C,CAOrB,qBAAMC,CAAgBlC,GACpBnQ,KAAKwB,gBAAkB,KACvBxB,KAAK0I,QAAQyH,GACbnQ,KAAK6P,aAAaM,GAClBnQ,KAAKwB,gBAAkB,K,CAo1BjB,oBAAA6I,GACNrK,KAAKmK,qBAAqBT,gBAAgB1J,KAAKI,iB,CAGzC,2BAAAqI,CACNxH,EACAwC,EACAW,GAEA,OAAQ,MACN,KAAKnD,EAAa,CAChB,MAAMqR,EAAkBtS,KAAKkB,WACzBqR,EAA4B9O,GAC5BA,EACJ,MAAM6I,EAAYgG,EAAgB/F,MAAM,WACxCvM,KAAKU,cAAcmH,SAAQ,CAACrE,EAAOsK,KACjCtK,EAAMG,UAAUC,IAAI5D,KAAKM,cAEzB,GAAIN,KAAKkB,WAAY,CACnBlB,KAAKwS,kBAAkBlG,EAAWwB,E,KAC7B,CACL,IAAI2E,EAEJ,GAAIjP,IAAUxD,KAAKgE,YAAcR,IAAUxD,KAAKiE,aAAc,CAC5DwO,EAAYzS,KAAKiI,gBAAgB,EAAGqE,EAAUwB,G,KACzC,CACL2E,EAAYzS,KAAKiI,gBAAgB,EAAGqE,EAAUwB,G,CAGhDtK,EAAMhD,MAAQiS,EAEdzS,KAAKiF,cAAczB,GACnBxD,KAAK0G,kBAAkBlD,E,KAG3BxD,KAAKkB,WAAa,MAClB,K,CAGF,KAAMuC,EAAYuB,SAAW,GAC3BvB,EAAYuB,SAAW,GACvBvB,EAAYuB,SAAW,IACvB0N,EAAUjP,GACV,GAAIzD,KAAK6D,8BAA8BO,EAAMS,OAAQpB,GAAc,CAEjEzD,KAAKuD,mBAAmBa,EAAMS,OAAQpB,GACtCzD,KAAKiF,cAAcb,EAAMS,O,KACpB,CACL7E,KAAK2S,wBAAwBvO,E,CAE/B,MAEF,KAAKX,EAAYuB,SAAW,GAAK0N,EAAUjP,GACzC,GAAIW,EAAMS,SAAW7E,KAAKkE,YAAa,CACrClE,KAAK2S,wBAAwBvO,E,KACxB,CACLpE,KAAKuD,mBAAmBa,EAAMS,OAAQpB,GACtCzD,KAAKiF,cAAcb,EAAMS,O,CAE3B,MAEF,KAAKpB,EAAYuB,QAAU,GAAK0N,EAAUjP,GACxCzD,KAAK2S,wBAAwBvO,G,CAI3B,iBAAAoO,CAAkBlG,EAAqBwB,GAE7C,GAAIA,IAAU,GAAK9N,KAAKkE,YAAa,CACnC,MAAMuO,EAAYzS,KAAKiI,gBAAgB,EAAGqE,EAAUwB,IACpD9N,KAAKkE,YAAY1D,MAAQiS,EACzBzS,KAAKiF,cAAcjF,KAAKkE,Y,MACnB,GAAI4J,IAAU,GAAK9N,KAAKiE,aAAc,CAE3C,MAAMwO,EAAYzS,KAAKiI,gBAAgB,EAAGqE,EAAUwB,IACpD9N,KAAKiE,aAAazD,MAAQiS,EAC1BzS,KAAKiF,cAAcjF,KAAKiE,a,MACnB,GAAIjE,KAAKgE,WAAY,CAC1B,MAAMyO,EAAYzS,KAAKiI,gBAAgB,EAAGqE,EAAUwB,IACpD9N,KAAKgE,WAAWxD,MAAQiS,EACxBzS,KAAKiF,cAAcjF,KAAKgE,W,EAIpB,uBAAA2O,CAAwBvO,G,MAC9B,KAAIsB,EAAA1F,KAAK8H,mBAAe,MAAApC,SAAA,SAAAA,EAAEV,QAAS,EAAG,CACpChF,KAAK4S,wBAA0B5S,KAAK8H,e,CAGtC9H,KAAK8H,gBAAkB,wBAAwB9H,KAAKuO,aAClDnK,EAAMS,UAGR7E,KAAKqD,iBAAmByJ,EAAoBC,MAC5C/M,KAAK6S,2BAA6B,I,CAG5B,mBAAA3M,G,MACN,GAAIlG,KAAK6S,2BAA4B,CACnC7S,KAAK8H,iBAAkBpC,EAAA1F,KAAK4S,2BAAuB,MAAAlN,SAAA,EAAAA,EAAI,GACvD1F,KAAK6S,2BAA6B,MAGlC7S,KAAKa,2BAA6B,I,EAI9B,kBAAAqE,CAAmB1B,EAAyBY,G,MAClD,MAAMqK,GAAa/I,EAAA1F,KAAK8J,GAAGC,cAAU,MAAArE,SAAA,SAAAA,EAAE8E,cAAc,gBAErD,GAAIiE,EAAY,CACd,GAAIzO,KAAKmE,kBAAkBC,GAAQ,CACjCpE,KAAKwO,4BAA4BhL,E,MAC5B,GACLa,OAAOC,UAAUC,SAASC,KAAKJ,KAAWpE,KAAKS,0BAC/C,CACAT,KAAK4O,wBAAwBpL,EAAOiL,E,GAwJ1C,MAAAqE,GACE,MAAMnQ,QACJA,EAAOkP,MACPA,EAAK3P,SACLA,EAAQ8I,WACRA,EAAUvI,eACVA,EAAcC,UACdA,EAASQ,gBACTA,EAAeD,mBACfA,EAAkBE,KAClBA,EAAIC,MACJA,GACEpD,KAEJ,MAAM+S,GAAuBrO,EAAc1E,KAAKqD,kBAEhD,MAAMA,EAAmB0P,EACrB/S,KAAKqD,kBACJqB,EAAc1E,KAAK8H,iBACpBgF,EAAoBC,MACpB,GAEJ,MAAMiG,EAAgB,uEAAuEhT,KAAK0M,0BAElGuG,EACE,KACAjT,KAAK8J,GACL9J,KAAK+C,KACL/C,KAAKuJ,cAAcvJ,KAAK+B,KAAM/B,KAAK8B,MAAO9B,KAAK6B,KAC/C7B,KAAKkC,UAGP,OACEwJ,EAACwH,EAAI,CAAAvN,IAAA,2CACHgG,MAAO,CACL,CAAC,YAAYvI,KAAUA,IAAU,UACjC,CAAC,0BAA2BlB,GAE9BiR,OAAQnT,KAAK+N,eACbqF,QAASpT,KAAKkO,iBAEdxC,EAAA,sBAAA/F,IAAA,2CAAoBzD,SAAUA,KACzBQ,GAAaD,IACdiJ,EAAA,kBAAA/F,IAAA,2CACE0N,IAAK1Q,EACLkP,MAAOA,EACPnP,UAAWA,EACXsI,YAAavI,EAAiBuI,EAAa,GAC3C9I,SAAUA,GAEVwJ,EAAA,QAAA/F,IAAA,2CAAM5C,KAAK,cAAcuQ,KAAK,iBAGlC5H,EAAA,QAAA/F,IAAA,2CAAM+E,GAAI1K,KAAK8K,mBAAoBa,MAAM,UAAS,cAAa,QAC5D3L,KAAK4M,oBAAoBvJ,GACzBX,GAAa,GAAGmP,MAChBpP,GAAkB,GAAGuI,MACrB,GAAGhL,KAAKiL,sBAEXS,EAAA,QAAA/F,IAAA,2CAAM+E,GAAI1K,KAAKmL,gBAAiBQ,MAAM,UAAS,cAAa,QACzDqH,GAEHtH,EAAA,QAAA/F,IAAA,2CAAM+E,GAAG,cAAa,YAAW,YAAYiB,MAAM,YACnDD,EAAA,gCAAA/F,IAAA,2CACE+E,GAAI/H,EACJiJ,IAAM9B,GACH9J,KAAKmK,qBAAuBL,EAE/B5H,SAAUA,EACVmB,iBAAkBA,EAClBF,KAAMA,EACNoQ,KAAK,QACL5H,MAAO,CAAE,CAAC,YAAYvI,KAAUA,IAAU,YAE1CsI,EAAA,OAAA/F,IAAA,2CAAKgG,MAAM,mBACTD,EAAA,OAAA/F,IAAA,2CAAKgG,MAAM,eACR3L,KAAKqM,mBAAmB,GAAE,IAAGrM,KAAKqM,mBAAmB,GAAE,IACvDrM,KAAKqM,mBAAmB,IAE3BX,EAAA,OAAA/F,IAAA,2CAAKgG,MAAM,kBACRzI,GACCwI,EAAA,aAAA/F,IAAA,2CACE+E,GAAG,eAAc,aACN,cACXiB,MAAO,CACL,CAAC,gBAAiB,KAClB,CAAC,UACCjH,EAAc1E,KAAK6B,MACnB6C,EAAc1E,KAAK8B,QACnB4C,EAAc1E,KAAK+B,OAEvBG,SAAUlC,KAAKkC,SACfsR,UAAWC,EACXC,QAAS1T,KAAKmP,YACdiE,QAASpT,KAAKgQ,iBACdmD,OAAQnT,KAAKiQ,gBACb0D,QAAQ,gBACRvQ,MAAOpD,KAAK2B,mBAAqB,QAAU,OAC3CwB,KAAMA,IAGTF,GACCyI,EAAA,OAAA/F,IAAA,2CAAKgG,MAAM,gCACTD,EAAA,OAAA/F,IAAA,2CAAKgG,MAAO,CAAEiI,QAAS,KAAMzQ,CAACA,GAAO,QACrCuI,EAAA,aAAA/F,IAAA,2CACE+E,GAAG,kBACHkB,IAAM9B,GACH9J,KAAKuP,iBAAmBzF,EAAG,aAEnB,mBAAkB,gBACf,SACd6B,MAAM,kBACNzJ,SAAUlC,KAAKkC,SACfsR,UAAWK,EACXH,QAAS1T,KAAKoP,mBACduE,QAAQ,gBACRxQ,KAAMA,EACNiQ,QAASpT,KAAK8P,oBACdqD,OAAQnT,KAAK+P,mBACb3M,MAAOpD,KAAK0B,gBAAkB,QAAU,aAOpDgK,EAAA,QAAA/F,IAAA,2CAAM+E,GAAI1K,KAAKkL,mBAAoBS,MAAM,UAAS,YAAW,UAC3DD,EAAA,QAAA/F,IAAA,2CACEiG,IAAM9B,GAAQ9J,KAAK4G,mBAAqBkD,EACxCyJ,KAAK,aAGPR,IAAwBrO,EAAc1E,KAAK8H,mBAC3C4D,EAAA,uBAAA/F,IAAA,2CACEmO,OAAQzQ,EACR0Q,QACEhB,EAAsB/S,KAAKsD,eAAiBtD,KAAK8H,gBAEnDuL,IAAK1Q,K","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,c as t,h as i,H as a,g as s}from"./p-8e4e97b4.js";import{r as c,z as r,b as o,y as n,F as l,M as h,i as d,a as b}from"./p-0fe08a58.js";import{u as p,f as m}from"./p-e253a857.js";const g='/*! 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-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-data-table-checkbox) .container{padding:0;margin-bottom:0}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}.checkbox-label>label{padding-left:var(--ic-space-sm)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}.dynamic-field-container{flex:100%}@media (max-width: 576px){::slotted(*){--input-width:100%}.dynamic-field-container{flex:initial}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}.checkmark:dir(rtl){right:0}.checkbox-label:dir(rtl){padding-right:var(--ic-space-sm);padding-left:0}.indeterminate-symbol:dir(rtl){right:0.288rem}.branch-corner:dir(rtl){border-radius:0 0 0.188rem;border-right:0.125rem solid var(--ic-action-default);border-left:none}.dynamic-container:dir(rtl){margin:var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0}';const f=g;const u=class{constructor(i){e(this,i);this.icCheck=t(this,"icCheck",7);this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.hideLabel=false;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.nativeIndeterminateBehaviour=false;this.theme="inherit";this.value="";this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=!this.nativeIndeterminateBehaviour&&this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked}}watchDisabledHandler(){c(this.disabled,this.el)}watchIndeterminateHandler(){this.displayIndeterminate=this.indeterminate&&(this.nativeIndeterminateBehaviour||this.checked)}componentWillLoad(){c(this.disabled,this.el);r(this.el,this.handleFormReset);const{parentElement:e}=this.el;if((e===null||e===void 0?void 0:e.tagName)==="IC-CHECKBOX-GROUP"){const{name:t,label:i,size:a}=e;if(!this.name)this.name=t;if(!this.size)this.size=a;this.groupLabel=i}}componentDidLoad(){o([{prop:this.label,propName:"label"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){this.el.querySelectorAll("ic-text-field").forEach((e=>e.setAttribute("disabled",`${!this.checked}`)))}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){n(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.checkboxEl)===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:t,disabled:s,displayIndeterminate:c,dynamicText:r,el:o,form:n,groupLabel:b,handleClick:p,hideLabel:m,label:g,name:f,size:u,theme:v,value:x}=this;const k=`ic-checkbox-${g}-${b}`.replace(/ /g,"-");const y=e==="dynamic";t?l(o,x,f,s):h(o);return i(a,{key:"eda047a45e6d0dc558095d7d23b16422633fe633",class:{"ic-checkbox-disabled":s,[`ic-checkbox-${u}`]:!!u,[`ic-theme-${v}`]:v!=="inherit"}},i("div",{key:"20623bca4b576eb2da3050ce19c99ad5288a6957",class:"container"},c?i("div",{class:"indeterminate-symbol"}):t&&i("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},i("title",null,"checkmark icon"),i("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),i("input",{key:"37fcfb382fc5aac6c9d07e9ce9e7929e21528c15",role:"checkbox",class:{checkbox:true,checked:t,indeterminate:c},ref:e=>this.checkboxEl=e,type:"checkbox",name:f,id:k,value:x,disabled:s,checked:t,indeterminate:c,onClick:p,form:n,"aria-label":m?g:undefined}),!m&&i("ic-typography",{key:"0d8d605e8aa6dcb86362bb561a024a8c03a66854",class:"checkbox-label",variant:"body"},i("label",{key:"3f2c395f32f47684475a7b6a1cefdb7d67c8beac",htmlFor:k},g))),d(o,"additional-field")&&i("div",{key:"a6701087045999eb177a3a743770dad9aa47c79f",class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},y&&i("div",{key:"18719e04d6854a600f87fe777fd475b424204875",class:"branch-corner"}),i("div",{key:"a73508e06dea3c65f731db0050ca365bd31998c9",class:"dynamic-field-container"},y&&i("ic-typography",{key:"d4f422ba5eb1815418871081efc8c5cd55821775",variant:"caption"},i("p",{key:"d43c97bdcd3b22acc1ef3664544ca9783606ea15",class:"dynamic-text","aria-live":"polite"},r)),i("div",{key:"66fb65fdd27f2db8550ef58c5601391c7b88357d",class:{"additional-field-wrapper":!y}},i("slot",{key:"02493cc3d3c3aae17cfb61bf1e7e12e9f41fabba",name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return s(this)}static get watchers(){return{disabled:["watchDisabledHandler"],indeterminate:["watchIndeterminateHandler"]}}};u.style=f;const v=':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 x=v;const k=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(){!d(this.el,"heading")&&o([{prop:this.heading,propName:"heading"}],"Empty State");this.hostMutationObserver=new MutationObserver((e=>b(e,["image","actions"],this)));this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{aligned:e,body:t,maxLines:s,heading:c,imageSize:r,subheading:o,theme:n}=this;return i(a,{key:"1742fa428f2c887fd9b0a200fa5f4040c3ceedf3",class:{[`ic-empty-state-${e}`]:true,[`image-${r}`]:d(this.el,"image"),[`ic-theme-${n}`]:n!=="inherit"}},d(this.el,"image")&&i("slot",{key:"781c3afcd34547dba24bdc777fed7b704d2d27ad",name:"image"}),i("div",{key:"a8eb38fb47f8e03d3654cc3f26d12ff1369a52ff"},i("slot",{key:"4375bf33214131da721591bfbea44d03514b9836",name:"heading"},i("ic-typography",{key:"d83b8868e417e55a574716e380be3e99ea2f3aa3",variant:"h4",class:"empty-state-heading"},c)),i("slot",{key:"79d4fe82562ba2d44ffa5a693a3e9d5743984bbd",name:"subheading"},i("ic-typography",{key:"ffd4e8d460b03c3b90b477c0d2f420492a337165",variant:"subtitle-small",class:"empty-state-subheading"},o)),i("slot",{key:"166e1b63631dc5f6a5ada15867fae52442c18e14",name:"body"},i("ic-typography",{key:"f63a9ec68fe53dadddd3cb26ffe6478164caf3af",maxLines:s,class:"empty-state-body"},t))),d(this.el,"actions")&&i("div",{key:"ccf0fe966f7a2c6f5225005d5bd4266523bf5267",class:"action-area"},i("slot",{key:"f9f8f74c450aed47b1e8f0467e290714237251b0",name:"actions"})))}get el(){return s(this)}};k.style=x;const y=":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 w=y;const P=class{constructor(i){e(this,i);this.icPageChange=t(this,"icPageChange",7);this.icItemsPerPageChange=t(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.selectItemsPerPageOnEnter=true;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,i;(i=(t=this.paginationBarEl)===null||t===void 0?void 0:t.querySelector(e))===null||i===void 0?void 0:i.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=()=>{if(this.paginationBarEl){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)}}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=p(this.itemLabel);this.lowerCaseItemLabel=this.itemLabel.toLowerCase()}watchItemsPerPageOptionsHandler(e,t){if(JSON.stringify(e)===JSON.stringify(t))return;this.setPaginationBarContent()}watchPageLabelHandler(){this.capitalizedPageLabel=p(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,i;this.paginationWidth=((e=this.paginationBarEl)===null||e===void 0?void 0:e.clientWidth)||0;m(this.runResizeObserver);const a=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${this.PAGE_INPUT_FIELD_ID}`);if(a){const e=(i=a===null||a===void 0?void 0:a.shadowRoot)===null||i===void 0?void 0:i.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:t,PAGE_INPUT_FIELD_ID:s,type:c,rangeLabelType:r,hideRangeLabel:o,showItemsPerPageControl:n,showGoToPageControl:l,pageLabel:h,capitalizedPageLabel:d,lowerCasePageLabel:b,capitalizedItemLabel:p,lowerCaseItemLabel:m,totalPages:g,activePage:f,itemsPerPageString:u,theme:v,monochrome:x,selectItemsPerPageOnEnter:k}=this;return i(a,{key:"48f4fdc3d6fe116125e226a35d47a3659f8776ff",class:{[`ic-theme-${v}`]:v!=="inherit"}},i("div",{key:"ef61ae29f8ebb9c877ee16cc48a10710910d9062",class:{["pagination-bar"]:true,[`pagination-bar-${e}`]:true},ref:e=>this.paginationBarEl=e},(!o||n)&&i("div",{key:"e907ebd5912002cb262b1f47d9d77921d7e54107",class:"item-controls"},n&&i("div",{key:"58f0aa36727b60122aee3334f19a6fe152d6758b",class:"items-per-page-holder"},i("ic-typography",{key:"e8f4910aa351774a1168db3c610c2117cf557457",class:{["items-per-page-control-label"]:true},variant:"label",onClick:this.itemsPerPageLabelClickHandler},p,"s per ",b),i("ic-select",{key:"fae576cf7c9c6cdd1acc93e3784a1c0beda1d8e6",theme:v,size:"small",label:"items-per-page-input",class:"items-per-page-input",hideLabel:true,options:t,selectOnEnter:k,value:u,onIcChange:this.changeItemsPerPage,ref:e=>this.pageDropdownEl=e})),!o&&(r==="data"?i("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":""}`):i("ic-typography",{class:{["page-pagination-label"]:true},variant:"label","aria-live":"polite"},d," ",f," of ",g))),i("div",{key:"69d7f02aef2baa89cdaef4ecef76505539b6a068",class:{["pagination-controls"]:true,["pagination-controls-wrap"]:this.paginationWrapped}},i("div",{key:"2f780538f3d2bd25bc1007711040ffa7a59997d3",class:"pagination-holder"},i("ic-pagination",{key:"e7968c6e7ed25285c4a3e0c6c3b08ea08f2d0181",type:c,pages:g,label:h,ref:e=>this.paginationEl=e,currentPage:f,theme:v,monochrome:x})),l&&i("div",{key:"ac40668cff492cf082e8abe8fd79bf71ec18ee33",class:"go-to-page-holder"},i("ic-typography",{key:"94871ec098ab46b5008d20effd6cce9483e3037e",variant:"label",onClick:this.goToPageLabelClickHandler},"Go to ",b),i("ic-tooltip",{key:"cd3d56d1c57997364ae4a2c849bcc390b4a2a760",label:this.inputError,target:`#${s}`,disableHover:true,disableClick:true,ref:e=>this.pageInputTooltipEl=e},i("ic-text-field",{key:"dfa2e4020ca3b39366e3b31679ce538465192080",theme:v,type:"number",size:"small",label:s,class:s,id:s,hideLabel:true,onKeyDown:this.handleKeydown,onKeyUp:this.handleKeyUp,onInput:this.handleInputChange,max:g,min:"1",validationInlineInternal:true,onBlur:this.handleBlur,onFocus:this.handleFocus,ref:e=>this.pageInputEl=e})),i("ic-button",{key:"2af695640cabb037f1c60c06f868fda752c7fca4",variant:"secondary",onClick:this.goToPage,size:"small",class:"go-to-page-button"},"Go")))))}get el(){return s(this)}static get watchers(){return{currentPage:["watchPageNumberHandler"],selectedItemsPerPage:["watchSelectedItemsPerPageHandler"],itemLabel:["watchItemLabelHandler"],itemsPerPageOptions:["watchItemsPerPageOptionsHandler"],pageLabel:["watchPageLabelHandler"],totalItems:["watchTotalItemsHandler"],setToFirstPageOnPaginationChange:["watchSetToFirstPageOnPaginationChange"]}}};P.style=w;export{u as ic_checkbox,k as ic_empty_state,P as ic_pagination_bar};
|
2
|
-
//# sourceMappingURL=p-497918fd.entry.js.map
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as i,h as e,H as t,g as s}from"./p-8e4e97b4.js";import{q as a,D as h,t as c,i as r,f as n,a as o}from"./p-e253a857.js";const l=':host{display:block;width:var(--tree-view-width, 100%);background-color:var(--ic-tree-view-background)}:host .heading-area-container{border-bottom:var(--ic-space-1px) solid var(--ic-tree-view-divider);display:flex;align-items:center;min-height:calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );padding:0 var(--ic-space-xs);--ic-typography-color:var(--ic-tree-view-text)}:host(.ic-tree-view-small) .heading-area-container{min-height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-large) .heading-area-container{min-height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate) .heading-area-container{height:calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container{height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container{height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}.icon-container{width:var(--ic-space-lg);min-width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-view-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}.tree-view-header.with-padding{padding-right:var(--ic-space-xs)}.tree-items-container-hidden{visibility:hidden}::slotted([slot="icon"]){fill:var(--ic-tree-view-icon)}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}}';const d=l;var v=undefined&&undefined.__rest||function(i,e){var t={};for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)&&e.indexOf(s)<0)t[s]=i[s];if(i!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,s=Object.getOwnPropertySymbols(i);a<s.length;a++){if(e.indexOf(s[a])<0&&Object.prototype.propertyIsEnumerable.call(i,s[a]))t[s[a]]=i[s[a]]}return t};let f=0;const p=class{constructor(e){i(this,e);this.treeViewId=`ic-tree-view-${f++}`;this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.isLoaded=false;this.resizeObserver=null;this.TOOLTIP="ic-tooltip";this.previousTruncateHeading=false;this.previousTruncateTreeItems=false;this.smallDevice=false;this.heading="";this.size="medium";this.theme="inherit";this.treeItemData=[];this.truncateHeading=false;this.truncateTreeItems=false;this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const i=a()<=h.S;if(this.smallDevice!==i)this.smallDevice=i}));this.resizeObserver.observe(document.body)};this.removeTruncation=()=>{this.truncateHeading=false;this.truncateTreeItems=false};this.handleKeyDown=i=>{var e,t;const s=this.treeItems.indexOf(this.treeItems.filter((i=>i===document.activeElement))[0]);const a=(e=this.treeItems[s])===null||e===void 0?void 0:e.expanded;switch(i.key){case"ArrowDown":this.treeItems[this.getNextItemToSelect(s,true)].setFocus();if(s!==this.treeItems.length-1){i.preventDefault()}break;case"ArrowUp":this.treeItems[this.getNextItemToSelect(s,false)].setFocus();if(s!==0){i.preventDefault()}break;case"ArrowRight":if(this.treeItems[s].isParent&&!a){this.treeItems[s].expanded=true;this.treeItems[s].hasParentExpanded=true;this.treeItems[s].updateAriaLabel()}else if(this.treeItems[s].isParent&&a){this.treeItems[s].children[0].setFocus()}i.preventDefault();break;case"ArrowLeft":if(this.treeItems[s].isParent&&a){this.treeItems[s].expanded=false;this.treeItems[s].hasParentExpanded=false;this.treeItems[s].updateAriaLabel()}else if(((t=this.treeItems[s].parentElement)===null||t===void 0?void 0:t.tagName)===this.treeItemTag){this.treeItems[s].parentElement.setFocus()}i.preventDefault();break}};this.getNextItemToSelect=(i,e)=>{var t;const s=this.treeItems.length-1;if(i<1){i=0}let a=e?i+1:i-1;if(a<0){a=0}else if(a>s){a=s}const h=s+1;let c=0;while(c<h){if(a<0||a>s){return i}if(((t=this.treeItems[a].parentElement)===null||t===void 0?void 0:t.tagName)!==this.treeItemTag||this.treeItems[a].parentElement.expanded&&this.treeItems[a].offsetHeight>0){return a}if(a===s&&this.treeItems[a].disabled){return i}a=e?a+1:a-1;c++}return i};this.linkTreeItems=()=>{this.treeItems.forEach((i=>{i.setAttribute("context-id",this.treeViewId)}))};this.setTreeItems=()=>{this.treeItems=this.getAllTreeItems(this.el);this.linkTreeItems()};this.addSlotChangeListener=()=>{this.el.addEventListener("slotchange",this.setTreeItems)};this.truncateTreeViewHeading=()=>{var i,e;const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".tree-view-header");const s=t===null||t===void 0?void 0:t.closest(this.TOOLTIP);const a=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".heading-area-container");if(t&&a&&t.scrollHeight>a.clientHeight){t.classList.add("ic-text-overflow");if(!s){const i=document.createElement("ic-tooltip");i.setAttribute("target",this.el.id);i.setAttribute("label",t.textContent);i.classList.add("ic-tooltip-overflow");i.setAttribute("placement","right");a.appendChild(i);i.appendChild(t)}}};this.removeHeadingTruncation=()=>{var i,e,t;const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".tree-view-header");const a=s===null||s===void 0?void 0:s.closest(this.TOOLTIP);if(a&&s){s.classList.remove("ic-text-overflow");(t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".heading-area-container"))===null||t===void 0?void 0:t.replaceChild(s,a)}};this.isHeadingDefined=()=>c(this.heading)&&this.heading!==null;this.hasHeadingAreaContent=()=>r(this.el,"heading")||this.isHeadingDefined()||r(this.el,"icon")}watchSmallDeviceHandler(){if(this.smallDevice){this.previousTruncateHeading=this.truncateHeading;this.previousTruncateTreeItems=this.truncateTreeItems;this.removeTruncation()}else{this.truncateHeading=this.previousTruncateHeading;this.truncateTreeItems=this.previousTruncateTreeItems}}watchSizeHandler(){this.treeItems.forEach((i=>{i.size=this.size}))}watchThemeHandler(){this.treeItems.forEach((i=>{i.theme=this.theme}))}watchTreeItemOptionsHandler(){this.setTreeItems()}watchTruncateTreeItemsHandler(){this.treeItems.forEach((i=>{if(this.smallDevice){i.previousTruncateTreeItem=i.truncateTreeItem;i.truncateTreeItem=this.truncateTreeItems}else{i.truncateTreeItem=i.previousTruncateTreeItem}}))}disconnectedCallback(){var i,e,t;(i=this.el)===null||i===void 0?void 0:i.removeEventListener("slotchange",this.setTreeItems);(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect();(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.setTreeItems();this.previousTruncateHeading=this.truncateHeading;this.previousTruncateTreeItems=this.truncateTreeItems;n(this.runResizeObserver);this.watchSizeHandler();this.watchThemeHandler();this.treeItems.forEach((i=>{if(i.truncateTreeItem===undefined){i.truncateTreeItem=this.truncateTreeItems}}))}componentDidRender(){this.truncateHeading?this.truncateTreeViewHeading():this.removeHeadingTruncation()}componentDidLoad(){this.addSlotChangeListener();this.hostMutationObserver=new MutationObserver((i=>o(i,"icon",this)));this.hostMutationObserver.observe(this.el,{childList:true});this.isLoaded=true}handleTreeItemSelected(i){this.treeItems.forEach((e=>{if(e.selected&&e.id!==i.detail.id){e.selected=false}}))}getAllTreeItems(i){const e=[];const t=i=>{Array.from(i.children).forEach((i=>{if(i.tagName===this.treeItemTag){e.push(i)}t(i)}))};const s=(i,t)=>{Array.from(t.children).forEach((i=>{if(i.tagName===this.treeItemTag){t.removeChild(i)}}));i.forEach((i=>{const a=document.createElement(this.treeItemTag);const{children:h,icon:c}=i,r=v(i,["children","icon"]);Object.assign(a,r);if(c){const i=document.createElement("div");i.setAttribute("slot","icon");i.innerHTML=c;a.appendChild(i)}t.appendChild(a);e.push(a);if(h&&h.length>0){s(h,a)}}))};if(this.treeItemData.length>0){s(this.treeItemData,i)}else{t(i)}return e}render(){const{heading:i,isLoaded:s,size:a,theme:h,truncateHeading:c}=this;return e(t,{key:"10d73dbe1cf5483e085e42098719cf24546964a7","context-id":this.treeViewId,class:{[`ic-tree-view-${a}`]:a!=="medium",[`ic-theme-${h}`]:h!=="inherit","ic-tree-view-truncate":c},onKeyDown:this.handleKeyDown,"aria-label":this.isHeadingDefined()?i:null},this.hasHeadingAreaContent()&&e("div",{key:"037b388be0d0346b060f5f277e20a6c389f5b618",class:"heading-area-container"},r(this.el,"icon")&&e("div",{key:"5d388bd69d7ced75435399e66a3cd28e6b4d7c8e",class:"icon-container"},e("slot",{key:"6baa9d4d0ea215d64e5978d4bb3ad1ea96d0b23b",name:"icon"})),e("ic-typography",{key:"8ed1a2b54949c4333c9647e3eb28cf58d968af61",variant:"subtitle-large",class:{"tree-view-header":true,"with-padding":this.truncateHeading&&!s}},r(this.el,"heading")?e("slot",{name:"heading"}):i)),e("slot",{key:"fa3be8905fce45ae60e2b6634487b9cee208913d"}))}get el(){return s(this)}static get watchers(){return{smallDevice:["watchSmallDeviceHandler"],size:["watchSizeHandler"],theme:["watchThemeHandler"],treeItemData:["watchTreeItemOptionsHandler"],truncateTreeItems:["watchTruncateTreeItemsHandler"]}}};p.style=d;export{p as ic_tree_view};
|
2
|
-
//# sourceMappingURL=p-5f8b09e4.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icTreeViewCss","IcTreeViewStyle0","treeViewIds","TreeView","constructor","hostRef","this","treeViewId","treeItemTag","hostMutationObserver","isLoaded","resizeObserver","TOOLTIP","previousTruncateHeading","previousTruncateTreeItems","smallDevice","heading","size","theme","treeItemData","truncateHeading","truncateTreeItems","runResizeObserver","ResizeObserver","isSmallDevice","getCurrentDeviceSize","DEVICE_SIZES","S","observe","document","body","removeTruncation","handleKeyDown","event","focussedChild","treeItems","indexOf","filter","el","activeElement","expanded","_a","key","getNextItemToSelect","setFocus","length","preventDefault","isParent","hasParentExpanded","updateAriaLabel","children","_b","parentElement","tagName","currentItem","movingDown","numItems","nextItem","maxAttempts","attempts","offsetHeight","disabled","linkTreeItems","forEach","treeItem","setAttribute","setTreeItems","getAllTreeItems","addSlotChangeListener","addEventListener","truncateTreeViewHeading","typographyEl","shadowRoot","querySelector","tooltip","closest","headingContainer","scrollHeight","clientHeight","classList","add","tooltipEl","createElement","id","textContent","appendChild","removeHeadingTruncation","remove","_c","replaceChild","isHeadingDefined","isPropDefined","hasHeadingAreaContent","isSlotUsed","watchSmallDeviceHandler","watchSizeHandler","watchThemeHandler","watchTreeItemOptionsHandler","watchTruncateTreeItemsHandler","previousTruncateTreeItem","truncateTreeItem","disconnectedCallback","removeEventListener","disconnect","componentWillLoad","checkResizeObserver","undefined","componentDidRender","componentDidLoad","MutationObserver","mutationList","renderDynamicChildSlots","childList","handleTreeItemSelected","selected","detail","element","collectTreeItemsFromSlottedContent","Array","from","child","push","collectTreeItemsFromData","items","removeChild","item","icon","props","__rest","Object","assign","iconSlot","innerHTML","render","h","Host","class","onKeyDown","name","variant"],"sources":["src/components/ic-tree-view/ic-tree-view.css?tag=ic-tree-view&encapsulation=shadow","src/components/ic-tree-view/ic-tree-view.tsx"],"sourcesContent":["/**\n* @prop --tree-view-width: Width of the tree view\n*/\n\n:host {\n display: block;\n width: var(--tree-view-width, 100%);\n background-color: var(--ic-tree-view-background);\n}\n\n:host .heading-area-container {\n border-bottom: var(--ic-space-1px) solid var(--ic-tree-view-divider);\n display: flex;\n align-items: center;\n min-height: calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );\n padding: 0 var(--ic-space-xs);\n\n --ic-typography-color: var(--ic-tree-view-text);\n}\n\n:host(.ic-tree-view-small) .heading-area-container {\n min-height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-large) .heading-area-container {\n min-height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate) .heading-area-container {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container {\n height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container {\n height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n min-width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-view-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n/* Ensures truncation works - accounts for text width increase as component hydrates */\n.tree-view-header.with-padding {\n padding-right: var(--ic-space-xs);\n}\n\n.tree-items-container-hidden {\n visibility: hidden;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tree-view-icon);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Host,\n Watch,\n State,\n Listen,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n isPropDefined,\n isSlotUsed,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport { IcTreeItemOptions } from \"./ic-tree-view.types\";\n\nlet treeViewIds = 0;\n\n/**\n * @slot heading - Content is set as the tree view heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-tree-view\",\n styleUrl: \"ic-tree-view.css\",\n shadow: true,\n})\nexport class TreeView {\n private treeViewId = `ic-tree-view-${treeViewIds++}`;\n private treeItemTag = \"IC-TREE-ITEM\";\n private hostMutationObserver: MutationObserver | null = null;\n private isLoaded = false;\n private resizeObserver: ResizeObserver | null = null;\n private TOOLTIP = \"ic-tooltip\";\n\n private previousTruncateHeading: boolean = false;\n private previousTruncateTreeItems: boolean = false;\n\n @Element() el: HTMLIcTreeViewElement;\n\n @State() smallDevice: boolean = false;\n @Watch(\"smallDevice\")\n watchSmallDeviceHandler(): void {\n if (this.smallDevice) {\n this.previousTruncateHeading = this.truncateHeading;\n this.previousTruncateTreeItems = this.truncateTreeItems;\n this.removeTruncation();\n } else {\n this.truncateHeading = this.previousTruncateHeading;\n this.truncateTreeItems = this.previousTruncateTreeItems;\n }\n }\n\n @State() treeItems: HTMLIcTreeItemElement[];\n\n /**\n * The heading of the tree view.\n */\n @Prop() heading: string = \"\";\n\n /**\n * The size of the tree view.\n */\n @Prop() size?: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.size = this.size;\n });\n }\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 @Watch(\"theme\")\n watchThemeHandler(): void {\n this.treeItems.forEach((treeItem) => {\n treeItem.theme = this.theme;\n });\n }\n\n /**\n * The content within the tree view tree items. This will take precedence over slotted content.\n * */\n @Prop() treeItemData: IcTreeItemOptions[] = [];\n @Watch(\"treeItemData\")\n watchTreeItemOptionsHandler(): void {\n this.setTreeItems();\n }\n\n /**\n * If `true`, the tree view heading will be truncated instead of text wrapping.\n * When used on small devices, this prop will be overridden and headings will be set to text-wrap.\n */\n @Prop({ mutable: true }) truncateHeading: boolean = false;\n\n /**\n * If `true`, tree items will be truncated, unless they are individually overridden.\n * When used on small devices, this prop will be overridden and tree-items will be set to text-wrap.\n */\n @Prop({ mutable: true }) truncateTreeItems: boolean = false;\n @Watch(\"truncateTreeItems\")\n watchTruncateTreeItemsHandler(): void {\n this.treeItems.forEach((treeItem) => {\n if (this.smallDevice) {\n treeItem.previousTruncateTreeItem = treeItem.truncateTreeItem;\n treeItem.truncateTreeItem = this.truncateTreeItems;\n } else {\n treeItem.truncateTreeItem = treeItem.previousTruncateTreeItem;\n }\n });\n }\n\n disconnectedCallback(): void {\n this.el?.removeEventListener(\"slotchange\", this.setTreeItems);\n\n this.hostMutationObserver?.disconnect();\n this.resizeObserver?.disconnect();\n }\n componentWillLoad(): void {\n this.setTreeItems();\n\n this.previousTruncateHeading = this.truncateHeading;\n this.previousTruncateTreeItems = this.truncateTreeItems;\n\n checkResizeObserver(this.runResizeObserver);\n\n this.watchSizeHandler();\n this.watchThemeHandler();\n this.treeItems.forEach((treeItem) => {\n if (treeItem.truncateTreeItem === undefined) {\n treeItem.truncateTreeItem = this.truncateTreeItems;\n }\n });\n }\n\n componentDidRender(): void {\n this.truncateHeading\n ? this.truncateTreeViewHeading()\n : this.removeHeadingTruncation();\n }\n\n componentDidLoad(): void {\n this.addSlotChangeListener();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"icon\", this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n\n this.isLoaded = true;\n }\n\n @Listen(\"icTreeItemSelected\")\n handleTreeItemSelected(event: CustomEvent): void {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.selected && treeItem.id !== event.detail.id) {\n treeItem.selected = false;\n }\n });\n }\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const isSmallDevice = getCurrentDeviceSize() <= DEVICE_SIZES.S;\n if (this.smallDevice !== isSmallDevice) this.smallDevice = isSmallDevice;\n });\n\n this.resizeObserver.observe(document.body);\n };\n\n private removeTruncation = (): void => {\n this.truncateHeading = false;\n this.truncateTreeItems = false;\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const focussedChild = this.treeItems.indexOf(\n this.treeItems.filter((el) => el === document.activeElement)[0]\n );\n const expanded = this.treeItems[focussedChild]?.expanded;\n switch (event.key) {\n case \"ArrowDown\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, true)\n ].setFocus();\n if (focussedChild !== this.treeItems.length - 1) {\n event.preventDefault();\n }\n break;\n case \"ArrowUp\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, false)\n ].setFocus();\n if (focussedChild !== 0) {\n event.preventDefault();\n }\n break;\n case \"ArrowRight\":\n if (this.treeItems[focussedChild].isParent && !expanded) {\n this.treeItems[focussedChild].expanded = true;\n this.treeItems[focussedChild].hasParentExpanded = true;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (this.treeItems[focussedChild].isParent && expanded) {\n (\n this.treeItems[focussedChild].children[0] as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n case \"ArrowLeft\":\n if (this.treeItems[focussedChild].isParent && expanded) {\n this.treeItems[focussedChild].expanded = false;\n this.treeItems[focussedChild].hasParentExpanded = false;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (\n this.treeItems[focussedChild].parentElement?.tagName ===\n this.treeItemTag\n ) {\n (\n this.treeItems[focussedChild].parentElement as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numItems = this.treeItems.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = 0;\n } else if (nextItem > numItems) {\n nextItem = numItems;\n }\n\n const maxAttempts = numItems + 1;\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n if (nextItem < 0 || nextItem > numItems) {\n return currentItem;\n }\n\n if (\n this.treeItems[nextItem].parentElement?.tagName !== this.treeItemTag ||\n ((this.treeItems[nextItem].parentElement as HTMLIcTreeItemElement)\n .expanded &&\n this.treeItems[nextItem].offsetHeight > 0)\n ) {\n return nextItem;\n }\n\n if (nextItem === numItems && this.treeItems[nextItem].disabled) {\n return currentItem;\n }\n\n nextItem = movingDown ? nextItem + 1 : nextItem - 1;\n attempts++;\n }\n\n return currentItem;\n };\n\n private linkTreeItems = () => {\n this.treeItems.forEach((treeItem) => {\n treeItem.setAttribute(\"context-id\", this.treeViewId);\n });\n };\n\n private setTreeItems = () => {\n this.treeItems = this.getAllTreeItems(this.el as HTMLElement);\n\n this.linkTreeItems();\n };\n\n private getAllTreeItems(element: HTMLElement): HTMLIcTreeItemElement[] {\n const treeItems: HTMLIcTreeItemElement[] = [];\n\n const collectTreeItemsFromSlottedContent = (el: HTMLElement) => {\n Array.from(el.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n treeItems.push(child as HTMLIcTreeItemElement);\n }\n\n collectTreeItemsFromSlottedContent(child as HTMLElement);\n });\n };\n\n const collectTreeItemsFromData = (\n items: IcTreeItemOptions[],\n parentElement: HTMLElement\n ) => {\n Array.from(parentElement.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n parentElement.removeChild(child);\n }\n });\n\n items.forEach((item) => {\n const treeItem = document.createElement(\n this.treeItemTag\n ) as HTMLIcTreeItemElement;\n const { children, icon, ...props } = item;\n Object.assign(treeItem, props);\n\n if (icon) {\n const iconSlot = document.createElement(\"div\");\n iconSlot.setAttribute(\"slot\", \"icon\");\n iconSlot.innerHTML = icon;\n treeItem.appendChild(iconSlot);\n }\n\n parentElement.appendChild(treeItem);\n treeItems.push(treeItem);\n\n if (children && children.length > 0) {\n collectTreeItemsFromData(children, treeItem);\n }\n });\n };\n\n if (this.treeItemData.length > 0) {\n collectTreeItemsFromData(this.treeItemData, element);\n } else {\n collectTreeItemsFromSlottedContent(element);\n }\n\n return treeItems;\n }\n\n private addSlotChangeListener = () => {\n this.el.addEventListener(\"slotchange\", this.setTreeItems);\n };\n\n private truncateTreeViewHeading = () => {\n const typographyEl =\n this.el.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n \".tree-view-header\"\n );\n const tooltip = typographyEl?.closest(this.TOOLTIP);\n const headingContainer = this.el.shadowRoot?.querySelector<HTMLElement>(\n \".heading-area-container\"\n );\n\n if (\n typographyEl &&\n headingContainer &&\n typographyEl.scrollHeight > headingContainer.clientHeight\n ) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent!);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n headingContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private removeHeadingTruncation = () => {\n const typographyEl =\n this.el.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n \".tree-view-header\"\n );\n const tooltipEl = typographyEl?.closest<HTMLIcTooltipElement>(this.TOOLTIP);\n\n if (tooltipEl && typographyEl) {\n typographyEl.classList.remove(\"ic-text-overflow\");\n this.el.shadowRoot\n ?.querySelector(\".heading-area-container\")\n ?.replaceChild(typographyEl, tooltipEl);\n }\n };\n\n private isHeadingDefined = () =>\n isPropDefined(this.heading) && this.heading !== null;\n\n private hasHeadingAreaContent = (): boolean => {\n return (\n isSlotUsed(this.el, \"heading\") ||\n this.isHeadingDefined() ||\n isSlotUsed(this.el, \"icon\")\n );\n };\n\n render() {\n const { heading, isLoaded, size, theme, truncateHeading } = this;\n\n return (\n <Host\n context-id={this.treeViewId}\n class={{\n [`ic-tree-view-${size}`]: size !== \"medium\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tree-view-truncate\": truncateHeading,\n }}\n onKeyDown={this.handleKeyDown}\n aria-label={this.isHeadingDefined() ? heading : null}\n >\n {this.hasHeadingAreaContent() && (\n <div class=\"heading-area-container\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"subtitle-large\"\n class={{\n \"tree-view-header\": true,\n \"with-padding\": this.truncateHeading && !isLoaded,\n }}\n >\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n heading\n )}\n </ic-typography>\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as e,h as i,H as s,g as o}from"./p-8e4e97b4.js";import{r,i as c,o as a,a as l}from"./p-e253a857.js";const n=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor"/>\n</svg>`;const h=':host{display:block;border:none;position:relative}:host .tree-item-content{display:flex;align-items:center;min-height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-xs);text-decoration:none;color:var(--ic-tree-view-text);--ic-typography-color:var(--ic-tree-view-text)}::slotted([slot="router-item"]){display:flex;align-items:center;min-height:var(--ic-space-xl);text-decoration:none;font-family:var(--ic-font-body-family);color:var(--ic-tree-view-text);padding:var(--ic-space-xxs) var(--ic-space-xs) !important}:host(.ic-tree-item-truncate) .tree-item-content,:host(.ic-tree-item-truncate) ::slotted([slot="router-item"]){height:calc(var(--ic-space-xl) + var(--ic-space-xs))}::slotted([slot="router-item"].ic-tree-item-single){padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs)) !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);transition:var(--ic-transition-duration-fast);outline:none}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover){background-color:var(--ic-tree-view-hover) !important;cursor:pointer}:host .tree-item-content:active,::slotted([slot="router-item"]:active){background-color:var(--ic-tree-view-pressed) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:var(--ic-tree-view-selected) !important}:host(.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-small) ::slotted([slot="router-item"]){min-height:var(--ic-space-lg)}:host(.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-large) ::slotted([slot="router-item"]){min-height:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-truncate.ic-tree-item-small) .tree-item-content,:host(.ic-tree-item-truncate.ic-tree-item-small) ::slotted([slot="router-item"]){height:var(--ic-space-lg)}:host(.ic-tree-item-truncate.ic-tree-item-large) .tree-item-content,:host(.ic-tree-item-truncate.ic-tree-item-large) ::slotted([slot="router-item"]){height:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-disabled){pointer-events:none}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:var(--ic-tree-view-text-disabled) !important;--ic-typography-color:var(--ic-tree-view-text-disabled) !important;fill:var(--ic-tree-view-icon-disabled);pointer-events:none}:host .arrow-dropdown{color:var(--ic-tree-view-dropdown-arrow);margin-right:var(--ic-space-xs);margin-bottom:calc(var(--ic-space-xxs) * -1)}:host(.ic-tree-item-disabled) .arrow-dropdown{color:var(--ic-tree-view-dropdown-arrow-disabled)}:host(.ic-tree-item-small) .arrow-dropdown{margin-right:var(--ic-space-xxs)}:host .tree-item-expanded{transform:rotate(180deg);margin-top:calc(-1 * var(--ic-space-xxs));margin-bottom:0}:host .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-tree-item-small) .ic-tree-item-single{padding-left:calc(var(--ic-space-xl) + var(--ic-space-xxs))}.icon-container{min-width:var(--ic-space-lg);width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-item-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}::slotted([slot="icon"]){fill:var(--ic-tree-view-icon)}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}:host .tree-item-content:hover,::slotted([slot="router-item"]:hover),:host .tree-item-content:active,::slotted([slot="router-item"]:active),:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){background-color:none !important}:host(.ic-tree-item-disabled) .tree-item-content,:host(.ic-tree-item-disabled) .arrow-dropdown,:host(.ic-tree-item-disabled) ::slotted([slot="icon"]),:host(.ic-tree-item-disabled) ::slotted([slot="router-item"]){color:GrayText !important;--ic-typography-color:GrayText !important;fill:GrayText !important}:host .tree-item-content:focus,::slotted([slot="router-item"]:focus){border:var(--ic-border-hc) !important}:host(.ic-tree-item-selected) .tree-item-content,:host(.ic-tree-item-selected) ::slotted([slot="router-item"]){color:Highlight !important;--ic-typography-color:Highlight !important}}';const d=h;let m=0;const v=class{constructor(i){t(this,i);this.icTreeItemSelected=e(this,"icTreeItemSelected",7);this.icTreeItemExpanded=e(this,"icTreeItemExpanded",7);this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.TOOLTIP="ic-tooltip";this.TREE_ITEM_LABEL_CLASS_SELECTOR=".tree-item-label";this.TREE_ITEM_CONTENT_CLASS_SELECTOR=".tree-item-content";this.disabled=false;this.expanded=false;this.hasParentExpanded=false;this.hreflang="";this.isParent=false;this.label="";this.selected=false;this.size="medium";this.theme="inherit";this.handleTreeItemClicked=()=>{if(this.isParent){this.expanded=!this.expanded;this.hasParentExpanded=true}this.updateAriaLabel();this.selected=true;this.watchSelectedHandler()};this.setTreeItemPadding=()=>{var t;let e=1;let i=this.el.parentElement;const s=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR);if(!i){return}const o=Array.from(i.children).some((t=>t!==this.el&&!t.querySelector('[slot="router-item"]')&&!t.querySelector('[slot="label"]')&&t.children.length>0));if(o&&!this.el.isParent||i.tagName===this.treeItemTag&&!this.el.isParent){if(this.hasRouterSlot()){this.routerSlot.classList.add("ic-tree-item-single")}else{s.classList.add("ic-tree-item-single")}}while(i){if(i.tagName===this.treeItemTag){e++;s.style.paddingLeft=!this.el.isParent?`calc(var(--ic-space-${o?"xl":"xs"}) + ${e*(o?16:24)}px)`:`${e*16}px`}i=i.parentElement}};this.truncateTreeItemLabel=t=>{var e,i;let s=(e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const o=t.querySelector("[slot='router-item']");let r=o===null||o===void 0?void 0:o.scrollHeight;if(!s&&o){const t=document.createElement("ic-typography");t.innerHTML=o.textContent;t.classList.add("tree-item-label");o.replaceChild(t,o.firstChild);s=t}else if(s){r=s.scrollHeight}const c=!!(s===null||s===void 0?void 0:s.closest(this.TOOLTIP));const a=((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR))||o;if(a){const t=parseFloat(getComputedStyle(a).height);if(r&&t&&r>t&&!c&&s){const t=document.createElement("ic-tooltip");t.setAttribute("target",this.el.id);t.setAttribute("label",s.textContent);t.setAttribute("placement","right");if(a===o){a.addEventListener("focus",(()=>this.handleDisplayTooltip(true)));a.addEventListener("blur",(()=>this.handleDisplayTooltip(false)));t.setAttribute("style","overflow:hidden;");s.setAttribute("style","overflow:hidden;text-overflow:ellipsis;white-space:nowrap;")}else{t.classList.add("ic-tooltip-overflow");s.classList.add("ic-text-overflow")}a.appendChild(t);t.appendChild(s)}}};this.removeTreeItemTruncation=t=>{var e,i;const s=t.querySelector("[slot='router-item']");const o=((e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR))||s.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const r=o===null||o===void 0?void 0:o.closest(this.TOOLTIP);const c=((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.TREE_ITEM_CONTENT_CLASS_SELECTOR))||s;if(r){o.classList.remove("ic-text-overflow");c.replaceChild(c===s?o.firstChild:o,r)}};this.handleDisplayTooltip=t=>{var e;const i=((e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR))||this.el.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);const s=i===null||i===void 0?void 0:i.closest(this.TOOLTIP);s===null||s===void 0?void 0:s.displayTooltip(t)}}watchDisabledHandler(){r(this.disabled,this.el)}watchExpandedHandler(){this.icTreeItemExpanded.emit({isExpanded:this.expanded,id:this.el.id})}watchSelectedHandler(){if(this.selected){this.icTreeItemSelected.emit({id:this.el.id})}this.updateAriaLabel()}disconnectedCallback(){var t;(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){r(this.disabled,this.el);this.childTreeItems=Array.from(this.el.children).filter((t=>t.tagName===this.treeItemTag));if(this.childTreeItems.length>0){this.isParent=true}}componentDidLoad(){this.setTreeItemPadding();this.updateAriaLabel();!c(this.el,"label")&&a([{prop:this.label,propName:"label"}],"Tree item");this.hostMutationObserver=new MutationObserver((t=>l(t,"icon",this)));this.hostMutationObserver.observe(this.el,{childList:true})}componentDidRender(){this.truncateTreeItem?this.truncateTreeItemLabel(this.el):this.removeTreeItemTruncation(this.el);if(this.expanded){this.childTreeItems.forEach((t=>{t.truncateTreeItem?this.truncateTreeItemLabel(t):this.removeTreeItemTruncation(t)}))}}componentDidUpdate(){if(this.hasParentExpanded){this.childTreeItems.forEach((t=>{t.truncateTreeItem?this.truncateTreeItemLabel(t):this.removeTreeItemTruncation(t)}));this.hasParentExpanded=false}}handleKeyDown(t){if(t.key==="Enter"||t.key===" "){t.stopImmediatePropagation();this.handleTreeItemClicked()}}async setFocus(){var t,e;if(this.hasRouterSlot()){(t=this.routerSlot)===null||t===void 0?void 0:t.focus()}else{(e=this.treeItemElement)===null||e===void 0?void 0:e.focus()}}async updateAriaLabel(){let t;if(this.hasRouterSlot()){t=this.routerSlot.textContent}else if(c(this.el,"label")){t=this.el.querySelector('[slot="label"]').textContent}else{t=this.label}if(this.isParent){t=`${t}, triggers submenu, ${this.expanded?"expanded":"collapsed"}`}if(this.el.parentElement){const e=Array.from(this.el.parentElement.children).filter((t=>t.tagName===this.treeItemTag));const i=e.indexOf(this.el)+1;const s=e.length;t=`${t}, ${i} of ${s}`}if(this.selected){t=`${t}, active`}if(this.disabled){t=`${t}, dimmed`}if(this.hasRouterSlot()){this.routerSlot.ariaLabel=t}else{this.treeItemElement.ariaLabel=t}}hasRouterSlot(){this.routerSlot=this.el.querySelector('[slot="router-item"]');return!!this.routerSlot}render(){var t;const{disabled:e,label:o,selected:r,size:a,expanded:l,theme:h}=this;const d=this.href&&!this.disabled?"a":"div";const v=d=="a"&&{href:this.href,hrefLang:this.hreflang,referrerPolicy:this.referrerpolicy,rel:this.rel,target:this.target};return i(s,{key:"14eade7c0b23b1c2c2918dda4f011953d6463ec6",class:{"ic-tree-item-disabled":e,"ic-tree-item-selected":!e&&r,[`ic-tree-item-${a}`]:a!=="medium",[`ic-theme-${h}`]:h!=="inherit","ic-tree-item-truncate":!!this.truncateTreeItem},id:(t=this.treeItemId)!==null&&t!==void 0?t:`ic-tree-item-${m++}`},this.hasRouterSlot()?i("slot",{name:"router-item"}):i(d,Object.assign({class:{"tree-item-content":true},tabIndex:e?-1:0,onClick:this.handleTreeItemClicked,ref:t=>this.treeItemElement=t,"aria-disabled":e?"true":"false","aria-live":"polite"},v,{onFocus:()=>this.handleDisplayTooltip(true),onBlur:()=>this.handleDisplayTooltip(false)}),this.isParent&&i("span",{class:{["arrow-dropdown"]:true,["tree-item-expanded"]:l},"aria-hidden":"true",innerHTML:n}),c(this.el,"icon")&&i("div",{class:"icon-container"},i("slot",{name:"icon"})),i("ic-typography",{class:"tree-item-label"},c(this.el,"label")?i("slot",{name:"label"}):o)),l&&i("div",{key:"0a7704d93ccba8640265eacd9c81971d3717a233","aria-hidden":`${!l}`},i("slot",{key:"27eb9361c885e589eac4a3bd6cfd303efb60e1fb"})))}get el(){return o(this)}static get watchers(){return{disabled:["watchDisabledHandler"],expanded:["watchExpandedHandler"],selected:["watchSelectedHandler"]}}};v.style=d;export{v as ic_tree_item};
|
2
|
-
//# sourceMappingURL=p-7001f1c1.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icTreeItemCss","IcTreeItemStyle0","treeItemIds","TreeItem","constructor","hostRef","this","treeItemTag","hostMutationObserver","TOOLTIP","TREE_ITEM_LABEL_CLASS_SELECTOR","TREE_ITEM_CONTENT_CLASS_SELECTOR","disabled","expanded","hasParentExpanded","hreflang","isParent","label","selected","size","theme","handleTreeItemClicked","updateAriaLabel","watchSelectedHandler","setTreeItemPadding","level","parentElement","el","treeItemContent","_a","shadowRoot","querySelector","isSiblingOfParent","Array","from","children","some","sibling","length","tagName","hasRouterSlot","routerSlot","classList","add","style","paddingLeft","truncateTreeItemLabel","treeItem","typographyEl","slottedContent","contentHeight","scrollHeight","newTypographyEl","document","createElement","innerHTML","textContent","replaceChild","firstChild","tooltipAlreadyExists","closest","treeContent","_b","computedHeight","parseFloat","getComputedStyle","height","tooltipEl","setAttribute","id","addEventListener","handleDisplayTooltip","appendChild","removeTreeItemTruncation","remove","display","tooltip","displayTooltip","watchDisabledHandler","removeDisabledFalse","watchExpandedHandler","icTreeItemExpanded","emit","isExpanded","icTreeItemSelected","disconnectedCallback","disconnect","componentWillLoad","childTreeItems","filter","child","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","propName","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","componentDidRender","truncateTreeItem","forEach","componentDidUpdate","handleKeyDown","ev","key","stopImmediatePropagation","setFocus","focus","treeItemElement","ariaLabel","treeItems","index","indexOf","parentChildren","render","Component","href","attrs","hrefLang","referrerPolicy","referrerpolicy","rel","target","h","Host","class","treeItemId","name","Object","assign","tabIndex","onClick","ref","onFocus","onBlur","arrowDropdown"],"sources":["src/components/ic-tree-item/ic-tree-item.css?tag=ic-tree-item&encapsulation=shadow","src/components/ic-tree-item/ic-tree-item.tsx"],"sourcesContent":[":host {\n display: block;\n border: none;\n position: relative;\n}\n\n:host .tree-item-content {\n display: flex;\n align-items: center;\n min-height: var(--ic-space-xl);\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n text-decoration: none;\n color: var(--ic-tree-view-text);\n\n --ic-typography-color: var(--ic-tree-view-text);\n}\n\n::slotted([slot=\"router-item\"]) {\n display: flex;\n align-items: center;\n min-height: var(--ic-space-xl);\n text-decoration: none;\n font-family: var(--ic-font-body-family);\n color: var(--ic-tree-view-text);\n padding: var(--ic-space-xxs) var(--ic-space-xs) !important;\n}\n\n:host(.ic-tree-item-truncate) .tree-item-content,\n:host(.ic-tree-item-truncate) ::slotted([slot=\"router-item\"]) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n::slotted([slot=\"router-item\"].ic-tree-item-single) {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs)) !important;\n}\n\n:host .tree-item-content:focus,\n::slotted([slot=\"router-item\"]:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n:host .tree-item-content:hover,\n::slotted([slot=\"router-item\"]:hover) {\n background-color: var(--ic-tree-view-hover) !important;\n cursor: pointer;\n}\n\n:host .tree-item-content:active,\n::slotted([slot=\"router-item\"]:active) {\n background-color: var(--ic-tree-view-pressed) !important;\n}\n\n:host(.ic-tree-item-selected) .tree-item-content,\n:host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: var(--ic-tree-view-selected) !important;\n}\n\n:host(.ic-tree-item-small) .tree-item-content,\n:host(.ic-tree-item-small) ::slotted([slot=\"router-item\"]) {\n min-height: var(--ic-space-lg);\n}\n\n:host(.ic-tree-item-large) .tree-item-content,\n:host(.ic-tree-item-large) ::slotted([slot=\"router-item\"]) {\n min-height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-truncate.ic-tree-item-small) .tree-item-content,\n:host(.ic-tree-item-truncate.ic-tree-item-small)\n ::slotted([slot=\"router-item\"]) {\n height: var(--ic-space-lg);\n}\n\n:host(.ic-tree-item-truncate.ic-tree-item-large) .tree-item-content,\n:host(.ic-tree-item-truncate.ic-tree-item-large)\n ::slotted([slot=\"router-item\"]) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-disabled) {\n pointer-events: none;\n}\n\n:host(.ic-tree-item-disabled) .tree-item-content,\n:host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n:host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: var(--ic-tree-view-text-disabled) !important;\n\n --ic-typography-color: var(--ic-tree-view-text-disabled) !important;\n\n fill: var(--ic-tree-view-icon-disabled);\n pointer-events: none;\n}\n\n:host .arrow-dropdown {\n color: var(--ic-tree-view-dropdown-arrow);\n margin-right: var(--ic-space-xs);\n margin-bottom: calc(var(--ic-space-xxs) * -1);\n}\n\n:host(.ic-tree-item-disabled) .arrow-dropdown {\n color: var(--ic-tree-view-dropdown-arrow-disabled);\n}\n\n:host(.ic-tree-item-small) .arrow-dropdown {\n margin-right: var(--ic-space-xxs);\n}\n\n:host .tree-item-expanded {\n transform: rotate(180deg);\n margin-top: calc(-1 * var(--ic-space-xxs));\n margin-bottom: 0;\n}\n\n:host .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-tree-item-small) .ic-tree-item-single {\n padding-left: calc(var(--ic-space-xl) + var(--ic-space-xxs));\n}\n\n.icon-container {\n min-width: var(--ic-space-lg);\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-item-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tree-view-icon);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n\n :host .tree-item-content:hover,\n ::slotted([slot=\"router-item\"]:hover),\n :host .tree-item-content:active,\n ::slotted([slot=\"router-item\"]:active),\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n background-color: none !important;\n }\n\n :host(.ic-tree-item-disabled) .tree-item-content,\n :host(.ic-tree-item-disabled) .arrow-dropdown,\n :host(.ic-tree-item-disabled) ::slotted([slot=\"icon\"]),\n :host(.ic-tree-item-disabled) ::slotted([slot=\"router-item\"]) {\n color: GrayText !important;\n\n --ic-typography-color: GrayText !important;\n\n fill: GrayText !important;\n }\n\n :host .tree-item-content:focus,\n ::slotted([slot=\"router-item\"]:focus) {\n border: var(--ic-border-hc) !important;\n }\n\n :host(.ic-tree-item-selected) .tree-item-content,\n :host(.ic-tree-item-selected) ::slotted([slot=\"router-item\"]) {\n color: Highlight !important;\n\n --ic-typography-color: Highlight !important;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Host,\n Watch,\n State,\n Listen,\n Method,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet treeItemIds = 0;\n\n/**\n * @slot label - Content is set as the tree item label.\n * @slot icon - Content is placed to the left of the label.\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n@Component({\n tag: \"ic-tree-item\",\n styleUrl: \"ic-tree-item.css\",\n shadow: true,\n})\nexport class TreeItem {\n private treeItemElement: HTMLElement | undefined;\n private treeItemTag = \"IC-TREE-ITEM\";\n private routerSlot: HTMLElement | null;\n private hostMutationObserver: MutationObserver | null = null;\n private TOOLTIP = \"ic-tooltip\";\n private TREE_ITEM_LABEL_CLASS_SELECTOR = \".tree-item-label\";\n private TREE_ITEM_CONTENT_CLASS_SELECTOR = \".tree-item-content\";\n\n @Element() el: HTMLIcTreeItemElement;\n\n @State() childTreeItems: HTMLIcTreeItemElement[];\n\n /**\n * If `true`, the tree item appears in the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the tree item appears in the expanded state.\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.icTreeItemExpanded.emit({ isExpanded: this.expanded, id: this.el.id });\n }\n\n /**\n * @internal Determines if the parent tree item has been expanded.\n */\n @Prop({ mutable: true }) hasParentExpanded: boolean = false;\n\n /**\n * The URL that the tree item link points to. If set, the tree item will render as an \"a\" tag, otherwise it will render as a div.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * @internal If `true`, the tree item is a parent of other tree items.\n */\n @Prop({ mutable: true }) isParent: boolean = false;\n\n /**\n * The label of the tree item.\n */\n @Prop() label: string = \"\";\n\n /**\n * @internal Holds the previous truncation state before the screen switches to a small viewport, so it can be reset when screen size changes again.\n */\n @Prop() previousTruncateTreeItem?: boolean;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * If `true`, the tree item appears in the selected state.\n */\n @Prop({ mutable: true }) selected: boolean = false;\n @Watch(\"selected\")\n watchSelectedHandler(): void {\n if (this.selected) {\n this.icTreeItemSelected.emit({ id: this.el.id });\n }\n this.updateAriaLabel();\n }\n\n /**\n * @internal Determines the size of the tree item.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the tree item id. Must be unique.\n */\n @Prop() treeItemId?: string;\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 * If `true`, the tree item label will be truncated instead of text wrapping.\n */\n @Prop() truncateTreeItem?: boolean;\n\n /**\n * Emitted when tree item is selected.\n */\n @Event() icTreeItemSelected: EventEmitter<{ id: string }>;\n\n /**\n * Emitted when tree item is expanded.\n */\n @Event() icTreeItemExpanded: EventEmitter<{\n isExpanded: boolean;\n id: string;\n }>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n this.childTreeItems = Array.from((this.el as HTMLElement).children).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n if (this.childTreeItems.length > 0) {\n this.isParent = true;\n }\n }\n\n componentDidLoad(): void {\n this.setTreeItemPadding();\n\n this.updateAriaLabel();\n\n !isSlotUsed(this.el, \"label\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tree item\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, \"icon\", this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n componentDidRender(): void {\n this.truncateTreeItem\n ? this.truncateTreeItemLabel(this.el)\n : this.removeTreeItemTruncation(this.el);\n if (this.expanded) {\n this.childTreeItems.forEach((child: HTMLIcTreeItemElement) => {\n child.truncateTreeItem\n ? this.truncateTreeItemLabel(child)\n : this.removeTreeItemTruncation(child);\n });\n }\n }\n\n componentDidUpdate(): void {\n if (this.hasParentExpanded) {\n this.childTreeItems.forEach((child: HTMLIcTreeItemElement) => {\n child.truncateTreeItem\n ? this.truncateTreeItemLabel(child)\n : this.removeTreeItemTruncation(child);\n });\n this.hasParentExpanded = false;\n }\n }\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.stopImmediatePropagation();\n this.handleTreeItemClicked();\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.hasRouterSlot()) {\n this.routerSlot?.focus();\n } else {\n this.treeItemElement?.focus();\n }\n }\n\n private handleTreeItemClicked = (): void => {\n if (this.isParent) {\n this.expanded = !this.expanded;\n this.hasParentExpanded = true;\n }\n\n this.updateAriaLabel();\n this.selected = true;\n this.watchSelectedHandler();\n };\n\n /**\n * @internal Updates the aria-label of the tree item.\n */\n @Method()\n async updateAriaLabel(): Promise<void> {\n let ariaLabel;\n\n if (this.hasRouterSlot()) {\n ariaLabel = this.routerSlot!.textContent;\n } else if (isSlotUsed(this.el, \"label\")) {\n ariaLabel = this.el.querySelector('[slot=\"label\"]')!.textContent;\n } else {\n ariaLabel = this.label;\n }\n\n if (this.isParent) {\n ariaLabel = `${ariaLabel}, triggers submenu, ${\n this.expanded ? \"expanded\" : \"collapsed\"\n }`;\n }\n\n if (this.el.parentElement) {\n const treeItems = Array.from(\n (this.el.parentElement as HTMLElement).children\n ).filter(\n (child) => child.tagName === this.treeItemTag\n ) as HTMLIcTreeItemElement[];\n\n const index = treeItems.indexOf(this.el) + 1;\n const parentChildren = treeItems.length;\n\n ariaLabel = `${ariaLabel}, ${index} of ${parentChildren}`;\n }\n\n if (this.selected) {\n ariaLabel = `${ariaLabel}, active`;\n }\n\n if (this.disabled) {\n ariaLabel = `${ariaLabel}, dimmed`;\n }\n\n if (this.hasRouterSlot()) {\n this.routerSlot!.ariaLabel = ariaLabel;\n } else {\n this.treeItemElement!.ariaLabel = ariaLabel;\n }\n }\n\n private setTreeItemPadding = () => {\n let level = 1;\n let parentElement = this.el.parentElement;\n const treeItemContent = this.el.shadowRoot?.querySelector(\n this.TREE_ITEM_CONTENT_CLASS_SELECTOR\n ) as HTMLElement;\n\n if (!parentElement) {\n return;\n }\n\n const isSiblingOfParent = Array.from(parentElement.children).some(\n (sibling) =>\n sibling !== this.el &&\n !sibling.querySelector('[slot=\"router-item\"]') &&\n !sibling.querySelector('[slot=\"label\"]') &&\n sibling.children.length > 0\n );\n\n if (\n (isSiblingOfParent && !this.el.isParent) ||\n (parentElement.tagName === this.treeItemTag && !this.el.isParent)\n ) {\n if (this.hasRouterSlot()) {\n this.routerSlot!.classList.add(\"ic-tree-item-single\");\n } else {\n treeItemContent.classList.add(\"ic-tree-item-single\");\n }\n }\n\n while (parentElement) {\n if (parentElement.tagName === this.treeItemTag) {\n level++;\n treeItemContent.style.paddingLeft = !this.el.isParent\n ? `calc(var(--ic-space-${isSiblingOfParent ? \"xl\" : \"xs\"}) + ${\n level * (isSiblingOfParent ? 16 : 24)\n }px)`\n : `${level * 16}px`;\n }\n parentElement = parentElement.parentElement;\n }\n };\n\n private truncateTreeItemLabel = (treeItem: HTMLIcTreeItemElement) => {\n let typographyEl =\n treeItem.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n this.TREE_ITEM_LABEL_CLASS_SELECTOR\n );\n const slottedContent = treeItem.querySelector(\"[slot='router-item']\");\n let contentHeight = slottedContent?.scrollHeight;\n\n if (!typographyEl && slottedContent) {\n const newTypographyEl = document.createElement(\"ic-typography\");\n newTypographyEl.innerHTML = slottedContent.textContent!;\n newTypographyEl.classList.add(\"tree-item-label\");\n slottedContent.replaceChild(newTypographyEl, slottedContent.firstChild!);\n typographyEl = newTypographyEl;\n } else if (typographyEl) {\n contentHeight = typographyEl.scrollHeight;\n }\n\n const tooltipAlreadyExists = !!typographyEl?.closest(this.TOOLTIP);\n const treeContent =\n treeItem.shadowRoot?.querySelector(\n this.TREE_ITEM_CONTENT_CLASS_SELECTOR\n ) || slottedContent;\n\n if (treeContent) {\n const computedHeight = parseFloat(getComputedStyle(treeContent).height);\n if (\n contentHeight &&\n computedHeight &&\n contentHeight > computedHeight &&\n !tooltipAlreadyExists &&\n typographyEl\n ) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent!);\n tooltipEl.setAttribute(\"placement\", \"right\");\n\n if (treeContent === slottedContent) {\n treeContent.addEventListener(\"focus\", () =>\n this.handleDisplayTooltip(true)\n );\n treeContent.addEventListener(\"blur\", () =>\n this.handleDisplayTooltip(false)\n );\n tooltipEl.setAttribute(\"style\", \"overflow:hidden;\");\n typographyEl.setAttribute(\n \"style\",\n \"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\"\n );\n } else {\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n typographyEl.classList.add(\"ic-text-overflow\");\n }\n\n treeContent.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private removeTreeItemTruncation = (treeItem: HTMLIcTreeItemElement) => {\n const slottedContent = treeItem.querySelector(\"[slot='router-item']\");\n const typographyEl: HTMLIcTypographyElement =\n treeItem.shadowRoot?.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR) ||\n slottedContent!.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR)!;\n const tooltipEl = typographyEl?.closest<HTMLIcTooltipElement>(this.TOOLTIP);\n const treeContent =\n treeItem.shadowRoot?.querySelector(\n this.TREE_ITEM_CONTENT_CLASS_SELECTOR\n ) || slottedContent!;\n\n if (tooltipEl) {\n typographyEl.classList.remove(\"ic-text-overflow\");\n treeContent.replaceChild(\n treeContent === slottedContent\n ? typographyEl.firstChild!\n : typographyEl,\n tooltipEl\n );\n }\n };\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n return !!this.routerSlot;\n }\n\n private handleDisplayTooltip = (display: boolean) => {\n const typographyEl =\n this.el.shadowRoot?.querySelector<HTMLIcTypographyElement>(\n this.TREE_ITEM_LABEL_CLASS_SELECTOR\n ) || this.el.querySelector(this.TREE_ITEM_LABEL_CLASS_SELECTOR);\n const tooltip = typographyEl?.closest<HTMLIcTooltipElement>(this.TOOLTIP);\n\n tooltip?.displayTooltip(display);\n };\n\n render() {\n const { disabled, label, selected, size, expanded, theme } = this;\n\n const Component = this.href && !this.disabled ? \"a\" : \"div\";\n\n const attrs = Component == \"a\" && {\n href: this.href,\n hrefLang: this.hreflang,\n referrerPolicy: this.referrerpolicy,\n rel: this.rel,\n target: this.target,\n };\n\n return (\n <Host\n class={{\n \"ic-tree-item-disabled\": disabled,\n \"ic-tree-item-selected\": !disabled && selected,\n [`ic-tree-item-${size}`]: size !== \"medium\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-tree-item-truncate\": !!this.truncateTreeItem,\n }}\n id={this.treeItemId ?? `ic-tree-item-${treeItemIds++}`}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\" />\n ) : (\n <Component\n class={{\n \"tree-item-content\": true,\n }}\n tabIndex={disabled ? -1 : 0}\n onClick={this.handleTreeItemClicked}\n ref={(el) => (this.treeItemElement = el)}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-live=\"polite\"\n {...attrs}\n onFocus={() => this.handleDisplayTooltip(true)}\n onBlur={() => this.handleDisplayTooltip(false)}\n >\n {this.isParent && (\n <span\n class={{\n [\"arrow-dropdown\"]: true,\n [\"tree-item-expanded\"]: expanded,\n }}\n aria-hidden=\"true\"\n innerHTML={arrowDropdown}\n />\n )}\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography class=\"tree-item-label\">\n {isSlotUsed(this.el, \"label\") ? <slot name=\"label\" /> : label}\n </ic-typography>\n </Component>\n )}\n {expanded && (\n <div aria-hidden={`${!expanded}`}>\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as o,h as t,H as r}from"./p-8e4e97b4.js";import{b as e}from"./p-0fe08a58.js";const a=":host{display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-space-1px) solid var(--ic-tab-bottom-border)}:host(.ic-tab-group-monochrome){border-bottom:var(--ic-space-1px) solid\n var(--ic-tab-bottom-border-monochrome)}:host(.ic-tab-group-inline){margin-bottom:0;border-bottom:none}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}:host ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider)}:host(.ic-tab-group-monochrome) ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider-monochrome)}";const c=a;const i=class{constructor(t){o(this,t);this.inline=false;this.monochrome=false;this.theme="inherit"}componentDidLoad(){e([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{inline:o,theme:e,label:a,monochrome:c}=this;return t(r,{key:"5e2ac19760c3c6f6a5fa4e24e4b65d06bf958734",role:"tablist","aria-label":a,class:{["ic-tab-group-inline"]:!!o,[`ic-theme-${e}`]:e!=="inherit",["ic-tab-group-monochrome"]:!!c}},t("ic-horizontal-scroll",{key:"c1af66d6ccce50093586a87024d2fc2064204e65",theme:e,"focus-trigger":"tabFocus",monochrome:c},t("div",{key:"5d74a60b33b216eea766a5d15e9d130cda924d2b",class:"tabs-container"},t("slot",{key:"7d95c9b98a270810c391abc779ca0bda5c7fa24f"}))))}static get delegatesFocus(){return true}};i.style=c;export{i as ic_tab_group};
|
2
|
-
//# sourceMappingURL=p-8cb5deba.entry.js.map
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,h as a,H as i,g as e}from"./p-8e4e97b4.js";import{b as l,Z as r,_ as o,S as n,$ as c,a0 as s,X as p}from"./p-0fe08a58.js";const d="ic-input-label{margin-bottom:var(--ic-space-xs);--ic-typography-color:var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n )}ic-input-label.with-helper{margin-bottom:0}ic-input-label.ic-input-label-readonly{--ic-typography-color:var(--ic-input-label-readonly-typography-color)}ic-input-label .helpertext,ic-input-label .helpertext ::slotted(*){margin-top:var(--ic-space-xxxs);padding-bottom:var(--ic-input-label-helpertext-padding, 0);--ic-typography-color:var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n )}ic-input-label .helpertext-normal{--ic-typography-color:var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n )}ic-input-label .helpertext-readonly{--ic-typography-color:var(--ic-input-label-readonly-helpertext-color)}ic-input-label .readonly-label{--ic-typography-color:var(--ic-input-label-readonly-label-color)}ic-input-label .error-label{--ic-typography-color:var(--ic-input-label-error-label-color)}";const u=d;const h=class{constructor(a){t(this,a);this.disabled=false;this.helperText="";this.hideLabel=false;this.readonly=false;this.required=false;this.status="";this.useLabelTag=true;this.isHelperTextSlotUsed=t=>{const a=t===null||t===void 0?void 0:t.assignedElements();if(a&&a.length){for(const t of a){if(t.tagName==="SLOT"){if(this.isHelperTextSlotUsed(t)){return true}}else{return true}}}return false}}componentDidLoad(){l([{prop:this.label,propName:"label"}],"Input Label")}render(){const{disabled:t,readonly:e,label:l,required:o,helperText:n,status:c,hideLabel:s,useLabelTag:p}=this;const d=o?l+" *":l;const u=this.for&&r(this.for);const h={helpertext:true,"helpertext-normal":!t&&!e,"helpertext-readonly":e};const b=this.el.querySelector("slot[name='helper-text']");return a(i,{key:"f03d8032ac769d4ecea37fe7a60e9d5acea54cd9",class:{"ic-input-label-disabled":!!t,"ic-input-label-readonly":e,"with-helper":this.isHelperTextSlotUsed(b)||n!==""}},!s&&a("ic-typography",{key:"7af61c1f2a1b9068fb9a9b649f60da1784207aa3",variant:"label",class:{"readonly-label":e,"error-label":c==="error"&&!(e||t)}},e||!p?`${d}`:a("label",{htmlFor:this.for},d)),this.isHelperTextSlotUsed(b)?a("span",{id:u,class:h},a("slot",{name:"helper-text"})):n!==""&&a("ic-typography",{variant:"caption",class:h},a("span",{id:u},n)))}get el(){return e(this)}};h.style=u;const b="ic-input-validation{width:var(--input-width, 20rem);margin-top:var(--ic-space-xs);display:flex}ic-input-validation.ic-input-validation-full-width{width:100%}ic-input-validation span.status-icon{padding-right:var(--ic-space-xxs)}ic-input-validation span.status-icon>svg{height:1.25rem;width:1.25rem}ic-input-validation span.icon-success>svg{fill:var(--ic-input-validation-success-icon-color)}ic-input-validation span.icon-error>svg{fill:var(--ic-input-validation-error, var(--ic-atoms-status-icon-error))}ic-input-validation span.icon-warning>svg{fill:var(--ic-input-validation-warning-icon-color)}ic-input-validation .statustext{flex-grow:1;color:var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );--ic-typography-color:var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n )}";const v=b;const y={[n.Warning]:c,[n.Error]:s,[n.Success]:p};const f=class{constructor(a){t(this,a);this.ariaLiveMode="polite";this.fullWidth=false;this.status=""}componentDidLoad(){l([{prop:this.message,propName:"message"}],"Input Validation")}render(){const{ariaLiveMode:t,fullWidth:e,status:l,message:r}=this;const n=l!==""?y[l]:"";return a(i,{key:"2ab746f75a46252bc0755dfd28220dbe555b93b3",class:{[`ic-input-validation-${l}`]:l!=="","ic-input-validation-full-width":!!e}},n!==""&&a("span",{key:"fc02067a0c0f1e9672e190f1bd30774cd2cfcfe0",class:{"status-icon":true,[`icon-${l}`]:true},innerHTML:n}),a("ic-typography",{key:"f8d3c1d9d7f30e232ebbc827033ad318485f7c98",variant:"caption",class:"statustext"},a("span",{key:"73b35c4a5c4dbe77fe4c71032020a0346e34fcfd","aria-live":t,id:this.for&&o(this.for)},r)),a("slot",{key:"629f37113c9354db274019eadc9ae7140adf921a",name:"validation-message-adornment"}))}get el(){return e(this)}};f.style=v;export{h as ic_input_label,f as ic_input_validation};
|
2
|
-
//# sourceMappingURL=p-95881758.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icInputLabelCss","IcInputLabelStyle0","InputLabel","constructor","hostRef","this","disabled","helperText","hideLabel","readonly","required","status","useLabelTag","isHelperTextSlotUsed","slot","assignedEls","assignedElements","length","el","tagName","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","render","labelText","helperTextId","for","getInputHelperTextID","helperTextClass","helpertext","helperTextSlot","querySelector","h","Host","key","class","variant","htmlFor","id","name","icInputValidationCss","IcInputValidationStyle0","icon","IcInformationStatus","Warning","warningIcon","Error","errorIcon","Success","successIcon","InputValidation","ariaLiveMode","fullWidth","message","displayIcon","innerHTML","getInputValidationTextID"],"sources":["../web-components/dist/collection/components/ic-input-label/ic-input-label.css?tag=ic-input-label","../web-components/dist/collection/components/ic-input-label/ic-input-label.js","../web-components/dist/collection/components/ic-input-validation/ic-input-validation.css?tag=ic-input-validation","../web-components/dist/collection/components/ic-input-validation/ic-input-validation.js"],"sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n\n --ic-typography-color: var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n );\n}\n\nic-input-label.with-helper {\n margin-bottom: 0;\n}\n\nic-input-label.ic-input-label-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-typography-color);\n}\n\nic-input-label .helpertext,\nic-input-label .helpertext ::slotted(*) {\n margin-top: var(--ic-space-xxxs);\n padding-bottom: var(--ic-input-label-helpertext-padding, 0);\n\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-normal {\n --ic-typography-color: var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n );\n}\n\nic-input-label .helpertext-readonly {\n --ic-typography-color: var(--ic-input-label-readonly-helpertext-color);\n}\n\nic-input-label .readonly-label {\n --ic-typography-color: var(--ic-input-label-readonly-label-color);\n}\n\nic-input-label .error-label {\n --ic-typography-color: var(--ic-input-label-error-label-color);\n}\n","import { Host, h } from \"@stencil/core\";\nimport { getInputHelperTextID, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nexport class InputLabel {\n constructor() {\n /**\n * If `true`, the disabled state will be set.\n */\n this.disabled = false;\n /**\n * The helper text that will be displayed.\n */\n this.helperText = \"\";\n /**\n * The label will be visually hidden.\n */\n this.hideLabel = false;\n /**\n * If `true`, the readonly state will be set.\n */\n this.readonly = false;\n /**\n * If `true`, the input label will require a value.\n */\n this.required = false;\n /**\n * The status of the label - e.g. 'error'.\n */\n this.status = \"\";\n /**\n * @internal If `true`, wraps label text in label tag\n */\n this.useLabelTag = true;\n this.isHelperTextSlotUsed = (slot) => {\n const assignedEls = slot === null || slot === void 0 ? void 0 : slot.assignedElements();\n if (assignedEls && assignedEls.length) {\n for (const el of assignedEls) {\n if (el.tagName === \"SLOT\") {\n // Recursion needed for when slot is forwarded multiple times - through child components\n // (e.g. in date picker)\n if (this.isHelperTextSlotUsed(el)) {\n return true;\n }\n }\n else {\n // Found an assigned element which is not a nested <slot>\n return true;\n }\n }\n }\n return false;\n };\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Input Label\");\n }\n render() {\n const { disabled, readonly, label, required, helperText, status, hideLabel, useLabelTag, } = this;\n const labelText = required ? label + \" *\" : label;\n const helperTextId = this.for && getInputHelperTextID(this.for);\n const helperTextClass = {\n helpertext: true,\n \"helpertext-normal\": !disabled && !readonly,\n \"helpertext-readonly\": readonly,\n };\n const helperTextSlot = this.el.querySelector(\"slot[name='helper-text']\");\n return (h(Host, { key: 'f03d8032ac769d4ecea37fe7a60e9d5acea54cd9', class: {\n \"ic-input-label-disabled\": !!disabled,\n \"ic-input-label-readonly\": readonly,\n \"with-helper\": this.isHelperTextSlotUsed(helperTextSlot) || helperText !== \"\",\n } }, !hideLabel && (h(\"ic-typography\", { key: '7af61c1f2a1b9068fb9a9b649f60da1784207aa3', variant: \"label\", class: {\n \"readonly-label\": readonly,\n \"error-label\": status === \"error\" && !(readonly || disabled),\n } }, readonly || !useLabelTag ? (`${labelText}`) : (h(\"label\", { htmlFor: this.for }, labelText)))), this.isHelperTextSlotUsed(helperTextSlot) ? (h(\"span\", { id: helperTextId, class: helperTextClass }, h(\"slot\", { name: \"helper-text\" }))) : (helperText !== \"\" && (h(\"ic-typography\", { variant: \"caption\", class: helperTextClass }, h(\"span\", { id: helperTextId }, helperText))))));\n }\n static get is() { return \"ic-input-label\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"./ic-input-label.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-input-label.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"for\": {\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 ID of the form element the label is bound to.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"for\",\n \"reflect\": false\n },\n \"helperText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"helper-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label will be visually hidden.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text content of the label.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"readonly\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the readonly state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"readonly\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the input label will require a value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"error\\\" | \\\"\\\"\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status of the label - e.g. 'error'.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"useLabelTag\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, wraps label text in label tag\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"use-label-tag\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-input-label.js.map\n","ic-input-validation {\n width: var(--input-width, 20rem);\n margin-top: var(--ic-space-xs);\n display: flex;\n}\n\nic-input-validation.ic-input-validation-full-width {\n width: 100%;\n}\n\nic-input-validation span.status-icon {\n padding-right: var(--ic-space-xxs);\n}\n\nic-input-validation span.status-icon > svg {\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-input-validation-success-icon-color);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-input-validation-error, var(--ic-atoms-status-icon-error));\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-input-validation-warning-icon-color);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\n color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n\n --ic-typography-color: var(\n --ic-input-validation-status-text-color,\n var(--ic-color-text-primary)\n );\n}\n","import { Host, h } from \"@stencil/core\";\nimport { IcInformationStatus, } from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\nimport { getInputValidationTextID, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nconst icon = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\nexport class InputValidation {\n constructor() {\n /**\n * The ARIA live mode to apply to the message.\n */\n this.ariaLiveMode = \"polite\";\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n this.fullWidth = false;\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n this.status = \"\";\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.message, propName: \"message\" }], \"Input Validation\");\n }\n render() {\n const { ariaLiveMode, fullWidth, status, message } = this;\n const displayIcon = status !== \"\" ? icon[status] : \"\";\n return (h(Host, { key: '2ab746f75a46252bc0755dfd28220dbe555b93b3', class: {\n [`ic-input-validation-${status}`]: status !== \"\",\n \"ic-input-validation-full-width\": !!fullWidth,\n } }, displayIcon !== \"\" && (h(\"span\", { key: 'fc02067a0c0f1e9672e190f1bd30774cd2cfcfe0', class: {\n \"status-icon\": true,\n [`icon-${status}`]: true,\n }, innerHTML: displayIcon })), h(\"ic-typography\", { key: 'f8d3c1d9d7f30e232ebbc827033ad318485f7c98', variant: \"caption\", class: \"statustext\" }, h(\"span\", { key: '73b35c4a5c4dbe77fe4c71032020a0346e34fcfd', \"aria-live\": ariaLiveMode, id: this.for && getInputValidationTextID(this.for) }, message)), h(\"slot\", { key: '629f37113c9354db274019eadc9ae7140adf921a', name: \"validation-message-adornment\" })));\n }\n static get is() { return \"ic-input-validation\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-input-validation.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-input-validation.css\"]\n };\n }\n static get properties() {\n return {\n \"ariaLiveMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAriaLiveModeVariants\",\n \"resolved\": \"\\\"assertive\\\" | \\\"polite\\\" | undefined\",\n \"references\": {\n \"IcAriaLiveModeVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-input-validation.types\",\n \"id\": \"src/components/ic-input-validation/ic-input-validation.types.tsx::IcAriaLiveModeVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ARIA live mode to apply to the message.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"aria-live-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"polite\\\"\"\n },\n \"for\": {\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 ID of the form element the validation is bound to.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"for\",\n \"reflect\": false\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the input validation will fill the width of the container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation message to display.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"status\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\" | undefined\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status of the validation - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-input-validation.js.map\n"],"mappings":"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","ignoreList":[]}
|