@ukic/canary-web-components 3.0.0-canary.1 → 3.0.0-canary.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +16 -15
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +20 -13
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +8 -6
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-empty-state_2.cjs.entry.js +15 -9
- package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +3 -3
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
- 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-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu.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 +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +6 -6
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +19 -13
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +18 -8
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +11 -24
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select-with-multi.cjs.entry.js +1 -1
- package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +3 -4
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +11 -1
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +58 -122
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +5 -6
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +4 -2
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +8 -8
- package/dist/collection/components/ic-data-table/ic-data-table.css +20 -4
- package/dist/collection/components/ic-data-table/ic-data-table.js +11 -9
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +46 -5
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +3 -3
- package/dist/collection/components/ic-date-input/ic-date-input.css +3 -3
- package/dist/collection/components/ic-date-picker/ic-date-picker.css +6 -6
- package/dist/collection/components/ic-menu-with-multi/ic-menu.css +9 -9
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +46 -14
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
- package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +20 -2
- package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
- package/dist/collection/components/ic-select-with-multi/ic-select.css +7 -7
- package/dist/collection/components/ic-tree-item/ic-tree-item.css +2 -2
- package/dist/components/ic-accordion.js +1 -1
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-alert.js +1 -1
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-badge.js +1 -1
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +1 -1
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +6 -7
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-horizontal.js +1 -1
- package/dist/components/ic-card-horizontal.js.map +1 -1
- package/dist/components/ic-card-vertical.js +1 -1
- package/dist/components/ic-card-vertical.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +1 -1
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +1 -1
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +23 -14
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +1 -1
- package/dist/components/ic-classification-banner.js.map +1 -1
- package/dist/components/ic-data-table-title-bar.js +1 -1
- package/dist/components/ic-data-table-title-bar.js.map +1 -1
- package/dist/components/ic-data-table.js +8 -6
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +1 -1
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-date-picker.js +1 -1
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-divider2.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +1 -1
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +1 -1
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-label2.js +1 -1
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +1 -1
- 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 +11 -9
- 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-menu-item2.js +1 -1
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +1 -1
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-menu3.js +1 -1
- package/dist/components/ic-menu3.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +1 -1
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +18 -10
- package/dist/components/ic-pagination-bar2.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-popover-menu.js +21 -14
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +18 -8
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +1 -1
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +11 -24
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select-with-multi.js +1 -1
- package/dist/components/ic-select-with-multi.js.map +1 -1
- package/dist/components/ic-select2.js +3 -3
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +5 -5
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +1 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +4 -4
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +13 -2
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +1 -1
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +58 -122
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-panel.js +1 -1
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +5 -6
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +2 -2
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-toast.js +2 -2
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button.js +1 -1
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/components/ic-tooltip2.js +1 -1
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +1 -1
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-tree-item.js +1 -1
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/components/ic-typography2.js +4 -2
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.css +91 -37
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-0894cab1.entry.js +2 -0
- package/dist/core/p-0894cab1.entry.js.map +1 -0
- package/dist/core/{p-266341f5.entry.js → p-0ab10600.entry.js} +2 -2
- package/dist/core/{p-266341f5.entry.js.map → p-0ab10600.entry.js.map} +1 -1
- package/dist/core/{p-108a9029.entry.js → p-1109636a.entry.js} +2 -2
- package/dist/core/p-1109636a.entry.js.map +1 -0
- package/dist/core/p-130a05cf.entry.js +2 -0
- package/dist/core/p-130a05cf.entry.js.map +1 -0
- package/dist/core/{p-a91340b4.entry.js → p-1e2aa8a6.entry.js} +2 -2
- package/dist/core/p-1e2aa8a6.entry.js.map +1 -0
- package/dist/core/{p-306def43.entry.js → p-1fe35de1.entry.js} +2 -2
- package/dist/core/p-1fe35de1.entry.js.map +1 -0
- package/dist/core/p-28323849.entry.js +2 -0
- package/dist/core/p-28323849.entry.js.map +1 -0
- package/dist/core/p-2e49fb22.entry.js +2 -0
- package/dist/core/p-2e49fb22.entry.js.map +1 -0
- package/dist/core/p-2ff4e283.entry.js +2 -0
- package/dist/core/p-2ff4e283.entry.js.map +1 -0
- package/dist/core/p-3db785f0.entry.js +2 -0
- package/dist/core/p-3db785f0.entry.js.map +1 -0
- package/dist/core/p-42883e4c.entry.js +2 -0
- package/dist/core/p-42883e4c.entry.js.map +1 -0
- package/dist/core/p-42e0f3bd.entry.js +2 -0
- package/dist/core/p-42e0f3bd.entry.js.map +1 -0
- package/dist/core/p-44ee5375.entry.js +2 -0
- package/dist/core/p-44ee5375.entry.js.map +1 -0
- package/dist/core/{p-c21d0db8.entry.js → p-486d8d43.entry.js} +2 -2
- package/dist/core/p-486d8d43.entry.js.map +1 -0
- package/dist/core/{p-f743b0eb.entry.js → p-4dcc37e7.entry.js} +2 -2
- package/dist/core/{p-f743b0eb.entry.js.map → p-4dcc37e7.entry.js.map} +1 -1
- package/dist/core/{p-bf670360.entry.js → p-4e28ef60.entry.js} +2 -2
- package/dist/core/{p-bf670360.entry.js.map → p-4e28ef60.entry.js.map} +1 -1
- package/dist/core/{p-d8563643.entry.js → p-50019ede.entry.js} +2 -2
- package/dist/core/p-50019ede.entry.js.map +1 -0
- package/dist/core/p-53e00a8a.entry.js +2 -0
- package/dist/core/p-53e00a8a.entry.js.map +1 -0
- package/dist/core/p-5accf0bb.entry.js +2 -0
- package/dist/core/p-5accf0bb.entry.js.map +1 -0
- package/dist/core/p-5b7dfe57.entry.js +2 -0
- package/dist/core/p-5b7dfe57.entry.js.map +1 -0
- package/dist/core/p-603fea14.entry.js +2 -0
- package/dist/core/p-603fea14.entry.js.map +1 -0
- package/dist/core/p-64933069.entry.js +2 -0
- package/dist/core/p-64933069.entry.js.map +1 -0
- package/dist/core/{p-f98b1afc.entry.js → p-6beffd0e.entry.js} +2 -2
- package/dist/core/{p-f98b1afc.entry.js.map → p-6beffd0e.entry.js.map} +1 -1
- package/dist/core/p-7c268030.entry.js +2 -0
- package/dist/core/p-7c268030.entry.js.map +1 -0
- package/dist/core/p-7c78f6c6.entry.js +2 -0
- package/dist/core/p-7c78f6c6.entry.js.map +1 -0
- package/dist/core/p-7c80d79c.entry.js +2 -0
- package/dist/core/{p-aee8d45b.entry.js.map → p-7c80d79c.entry.js.map} +1 -1
- package/dist/core/{p-5f5403e2.entry.js → p-7e1603cc.entry.js} +2 -2
- package/dist/core/p-7e1603cc.entry.js.map +1 -0
- package/dist/core/p-8ca2e329.entry.js +2 -0
- package/dist/core/p-8ca2e329.entry.js.map +1 -0
- package/dist/core/p-8df49808.entry.js +2 -0
- package/dist/core/p-8df49808.entry.js.map +1 -0
- package/dist/core/p-8f12659d.entry.js +2 -0
- package/dist/core/p-8f12659d.entry.js.map +1 -0
- package/dist/core/p-903ee57e.entry.js +2 -0
- package/dist/core/p-903ee57e.entry.js.map +1 -0
- package/dist/core/p-92e3ccb9.entry.js +2 -0
- package/dist/core/p-92e3ccb9.entry.js.map +1 -0
- package/dist/core/p-a9151d0b.entry.js +2 -0
- package/dist/core/p-a9151d0b.entry.js.map +1 -0
- package/dist/core/p-acc76b80.entry.js +2 -0
- package/dist/core/p-acc76b80.entry.js.map +1 -0
- package/dist/core/p-aeb6016c.entry.js +2 -0
- package/dist/core/p-aeb6016c.entry.js.map +1 -0
- package/dist/core/p-b0751bd9.entry.js +2 -0
- package/dist/core/p-b0751bd9.entry.js.map +1 -0
- package/dist/core/{p-5f313e1a.entry.js → p-bb1252fa.entry.js} +2 -2
- package/dist/core/{p-5f313e1a.entry.js.map → p-bb1252fa.entry.js.map} +1 -1
- package/dist/core/p-c1698936.entry.js +2 -0
- package/dist/core/p-c1698936.entry.js.map +1 -0
- package/dist/core/p-c1e90c85.entry.js +2 -0
- package/dist/core/p-c1e90c85.entry.js.map +1 -0
- package/dist/core/p-cb63e656.entry.js +2 -0
- package/dist/core/p-cb63e656.entry.js.map +1 -0
- package/dist/core/{p-cb6cebdd.entry.js → p-d2e7a256.entry.js} +2 -2
- package/dist/core/{p-cb6cebdd.entry.js.map → p-d2e7a256.entry.js.map} +1 -1
- package/dist/core/p-d3c0bffb.entry.js +2 -0
- package/dist/core/p-d3c0bffb.entry.js.map +1 -0
- package/dist/core/p-d5ca3bcb.entry.js +2 -0
- package/dist/core/p-d5ca3bcb.entry.js.map +1 -0
- package/dist/core/p-da3e8c54.entry.js +2 -0
- package/dist/core/p-da3e8c54.entry.js.map +1 -0
- package/dist/core/{p-73b40c79.entry.js → p-eb65e556.entry.js} +2 -2
- package/dist/core/{p-73b40c79.entry.js.map → p-eb65e556.entry.js.map} +1 -1
- package/dist/core/p-ec53b435.entry.js +2 -0
- package/dist/core/p-ec53b435.entry.js.map +1 -0
- package/dist/core/p-ed4cde5a.entry.js +2 -0
- package/dist/core/p-ed4cde5a.entry.js.map +1 -0
- package/dist/core/{p-f1072c28.entry.js → p-f64abdff.entry.js} +2 -2
- package/dist/core/p-f64abdff.entry.js.map +1 -0
- package/dist/core/p-f9810621.entry.js +2 -0
- package/dist/core/p-f9810621.entry.js.map +1 -0
- package/dist/core/p-fb7b99dd.entry.js +2 -0
- package/dist/core/p-fb7b99dd.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +16 -15
- 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-horizontal.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +1 -1
- package/dist/esm/ic-card-vertical.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +21 -14
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +1 -1
- package/dist/esm/ic-classification-banner.entry.js.map +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
- package/dist/esm/ic-data-table.entry.js +8 -6
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +1 -1
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +1 -1
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js.map +1 -1
- package/dist/esm/ic-empty-state_2.entry.js +15 -9
- package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +3 -3
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- 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-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
- package/dist/esm/ic-menu.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js +6 -6
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +19 -13
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +18 -8
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +11 -24
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select-with-multi.entry.js +1 -1
- package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +4 -4
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +3 -4
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +11 -1
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +58 -122
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +5 -6
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +2 -2
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button.entry.js +1 -1
- package/dist/esm/ic-toggle-button.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +1 -1
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +4 -2
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +2 -0
- package/dist/types/components/ic-data-table/story-data.d.ts +15 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +9 -4
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
- package/dist/types/components.d.ts +17 -3
- package/hydrate/index.js +248 -277
- package/package.json +3 -3
- package/dist/core/p-06eeb7f2.entry.js +0 -2
- package/dist/core/p-06eeb7f2.entry.js.map +0 -1
- package/dist/core/p-0922c552.entry.js +0 -2
- package/dist/core/p-0922c552.entry.js.map +0 -1
- package/dist/core/p-0bc0e852.entry.js +0 -2
- package/dist/core/p-0bc0e852.entry.js.map +0 -1
- package/dist/core/p-108a9029.entry.js.map +0 -1
- package/dist/core/p-13100d3c.entry.js +0 -2
- package/dist/core/p-13100d3c.entry.js.map +0 -1
- package/dist/core/p-1769df1d.entry.js +0 -2
- package/dist/core/p-1769df1d.entry.js.map +0 -1
- package/dist/core/p-306def43.entry.js.map +0 -1
- package/dist/core/p-3778cc5e.entry.js +0 -2
- package/dist/core/p-3778cc5e.entry.js.map +0 -1
- package/dist/core/p-383a5a76.entry.js +0 -2
- package/dist/core/p-383a5a76.entry.js.map +0 -1
- package/dist/core/p-3a0510e2.entry.js +0 -2
- package/dist/core/p-3a0510e2.entry.js.map +0 -1
- package/dist/core/p-3ace51f5.entry.js +0 -2
- package/dist/core/p-3ace51f5.entry.js.map +0 -1
- package/dist/core/p-3f0391c1.entry.js +0 -2
- package/dist/core/p-3f0391c1.entry.js.map +0 -1
- package/dist/core/p-41fecc61.entry.js +0 -2
- package/dist/core/p-41fecc61.entry.js.map +0 -1
- package/dist/core/p-46cb94a2.entry.js +0 -2
- package/dist/core/p-46cb94a2.entry.js.map +0 -1
- package/dist/core/p-4e67f127.entry.js +0 -2
- package/dist/core/p-4e67f127.entry.js.map +0 -1
- package/dist/core/p-50e48f4d.entry.js +0 -2
- package/dist/core/p-50e48f4d.entry.js.map +0 -1
- package/dist/core/p-56e7459a.entry.js +0 -2
- package/dist/core/p-56e7459a.entry.js.map +0 -1
- package/dist/core/p-5e6fd734.entry.js +0 -2
- package/dist/core/p-5e6fd734.entry.js.map +0 -1
- package/dist/core/p-5f5403e2.entry.js.map +0 -1
- package/dist/core/p-710c6a42.entry.js +0 -2
- package/dist/core/p-710c6a42.entry.js.map +0 -1
- package/dist/core/p-7a9de008.entry.js +0 -2
- package/dist/core/p-7a9de008.entry.js.map +0 -1
- package/dist/core/p-801414e2.entry.js +0 -2
- package/dist/core/p-801414e2.entry.js.map +0 -1
- package/dist/core/p-82ba744d.entry.js +0 -2
- package/dist/core/p-82ba744d.entry.js.map +0 -1
- package/dist/core/p-9af6adb1.entry.js +0 -2
- package/dist/core/p-9af6adb1.entry.js.map +0 -1
- package/dist/core/p-a57cd616.entry.js +0 -2
- package/dist/core/p-a57cd616.entry.js.map +0 -1
- package/dist/core/p-a5eaed1a.entry.js +0 -2
- package/dist/core/p-a5eaed1a.entry.js.map +0 -1
- package/dist/core/p-a91340b4.entry.js.map +0 -1
- package/dist/core/p-aee8d45b.entry.js +0 -2
- package/dist/core/p-badd4c8d.entry.js +0 -2
- package/dist/core/p-badd4c8d.entry.js.map +0 -1
- package/dist/core/p-c07af2d8.entry.js +0 -2
- package/dist/core/p-c07af2d8.entry.js.map +0 -1
- package/dist/core/p-c21d0db8.entry.js.map +0 -1
- package/dist/core/p-c678f73d.entry.js +0 -2
- package/dist/core/p-c678f73d.entry.js.map +0 -1
- package/dist/core/p-c6ae9bad.entry.js +0 -2
- package/dist/core/p-c6ae9bad.entry.js.map +0 -1
- package/dist/core/p-c6c1e08e.entry.js +0 -2
- package/dist/core/p-c6c1e08e.entry.js.map +0 -1
- package/dist/core/p-d16f364a.entry.js +0 -2
- package/dist/core/p-d16f364a.entry.js.map +0 -1
- package/dist/core/p-d239c33b.entry.js +0 -2
- package/dist/core/p-d239c33b.entry.js.map +0 -1
- package/dist/core/p-d8563643.entry.js.map +0 -1
- package/dist/core/p-da40757f.entry.js +0 -2
- package/dist/core/p-da40757f.entry.js.map +0 -1
- package/dist/core/p-de052137.entry.js +0 -2
- package/dist/core/p-de052137.entry.js.map +0 -1
- package/dist/core/p-e89bb650.entry.js +0 -2
- package/dist/core/p-e89bb650.entry.js.map +0 -1
- package/dist/core/p-f1072c28.entry.js.map +0 -1
- package/dist/core/p-f37df214.entry.js +0 -2
- package/dist/core/p-f37df214.entry.js.map +0 -1
- package/dist/core/p-fe13f1ba.entry.js +0 -2
- package/dist/core/p-fe13f1ba.entry.js.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["DayButton","focussed","today","day","monthInView","onFocusDay","onBlurDay","onSelectDay","selected","focussedDayRef","inRange","showDaysOutsideMonth","disableDay","handleDayClick","handleDayFocus","handleDayBlur","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","outsideRange","outsideMonth","getMonth","disabled","h","class","hidden","tabIndex","undefined","getDay","getDate","getFullYear","onClick","onBlur","onFocus","ref","el","variant","italic","MonthPicker","size","focussedMonth","onSelectMonth","onKeyDown","focussedMonthRef","minDate","maxDate","yearInView","handleMonthClick","ev","button","target","Number","getAttribute","monthNames","role","map","month","index","current","dateInRange","Date","getMonthStart","getMonthEnd","YearPicker","decadeView","focussedYear","onSelectYear","onFocusYear","onBlurYear","focussedYearRef","handleYearClick","handleYearFocus","handleYearBlur","navButtonMouseDownHandler","preventDefault","prevDecade","nextDecade","years","slice","id","yearInRange","onMouseDown","slot","width","height","fill","xmlns","d","yr","flip","icDatePickerCss","DEFAULT_DATE_FORMAT","DEFAULT_DISABLE_DATES_FROM_NOW_MSG","DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG","DEFAULT_DISABLE_DAYS_MSG","FOCUS_TIMER","PICKER_HEIGHT_SMALL","PICKER_HEIGHT_DEFAULT","PICKER_HEIGHT_LARGE","DatePicker","this","clearButtonEl","daysOfWeek","dayButtonFocussed","dayPickerKeyboardNav","dialogDescription","focusDay","liveRegionEl","monthInViewUpdateHandled","myCalendarButtonClicked","showPickerAbove","todayButtonEl","yearButtonFocussed","setDecadeView","start","currYear","decadeArr","push","decadeStart","decadeEnd","setSelectedDate","emit","dateMatches","selectedDate","value","inputEl","triggerIcChange","handleCalendarMouseDown","event","tagName","handleCalendarClick","clearDialogDescription","stopImmediatePropagation","handleDocumentClick","calendarOpen","keyDownHandler","key","closeButtonClickHandler","setCalendarFocus","focusFirstElement","monthButtonEl","setFocus","focusLastElement","showPickerClearButton","showPickerTodayButton","monthPickerVisible","focussedMonthEl","yearPickerVisible","focussedYearEl","focussedDayEl","focus","focusFocussedDay","monthButtonClickHandler","setAriaLiveRegionText","setMonthSelectedLiveRegionText","yearButtonClickHandler","getDecadeInViewText","setYearSelectedLiveRegionText","todayButtonClickHandler","setFocussedDate","getMonthInViewText","setTimeout","todayButtonKeyDownHandler","shiftKey","clearButtonClickHandler","text","innerText","clearButtonKeyDownHandler","goToPreviousMonth","moveMonths","goToNextMonth","goToPreviousYear","isPrevYearAllowed","moveYears","goToNextYear","isNextYearAllowed","renderMonthYearNavButton","buttonSize","disableTooltip","monthYearNavClickHandler","innerHTML","chevron","previousMonthButton","focussedDate","yearMatch","nextMonthButton","previousYearButton","nextYearButton","isYearAllowed","getMonthView","date","getWeekStart","startOfWeek","end","getWeekEnd","days","setDate","isCurrentMonth","updateMonthInView","currMonthView","focussedDay","handleSelectDay","handleSelectMonth","handleSelectYear","year","yrPos","indexOf","length","monthName","yearButtonEl","updateFocussedYear","monthPickerKeyDownHandler","handled","updateFocussedMonth","calendarTabHandler","yearPickerKeyDownHandler","onYearButtonFocusHandler","onYearButtonBlurHandler","monthButtonKeyDownHandler","yearButtonKeyDownHandler","handleCalendarKeyDown","moveDays","getNextDayToFocus","onDayButtonFocusHandler","onDayButtonBlurHandler","currDay","forward","level","move","nextDay","nextDayNum","disableDays","includes","numDays","numMonths","newMonth","min","setMonth","max","newDate","clampDate","numYears","newYear","setFullYear","adjust","focusYear","setFocussedYear","setFocussedDayEl","element","setFocussedMonthEl","setFocussedYearEl","prevYear","newDecade","Math","floor","oldDecade","setDateInputProps","inputProps","invalidDateMessage","label","showClearButton","showCalendarButton","dateFormat","disableFuture","disableFutureMessage","disablePast","disablePastMessage","disableDaysMessage","helperText","hideHelperText","inputId","name","required","validationStatus","validationText","IcWeekDays","Monday","watchDisableFutureHandler","watchMaxHandler","watchDisablePastHandler","watchMinHandler","createDate","watchStartOfWeekHandler","orderedDaysOfWeek","concat","watchOpenHandler","pickerHeight","offsetTop","offsetHeight","window","innerHeight","openAt","openAtDate","dialogDesc","document","addEventListener","removeEventListener","watchFocussedDateHandler","previous","watchMonthInViewHandler","watchYearInViewHandler","watchYearPickerVisibleHandler","watchMonthPickerVisibleHandler","watchFocussedDayEl","componentWillLoad","onComponentRequiredPropUndefined","prop","propName","IcShortDayNames","componentWillRender","dateInputProps","componentWillUpdate","localCalendarButtonClickHandler","detail","calendarButtonClickHandler","render","monthButtonText","yearButtonText","dialogLabel","monthLabel","yearLabel","minDay","yesterday","Host","Object","assign","above","calendar","dayName","header","charAt"],"sources":["src/components/ic-date-picker/ic-day-button.tsx","src/components/ic-date-picker/ic-month-picker.tsx","src/components/ic-date-picker/ic-year-picker.tsx","src/components/ic-date-picker/ic-date-picker.css?tag=ic-date-picker&encapsulation=shadow","src/components/ic-date-picker/ic-date-picker.tsx"],"sourcesContent":["import { h, FunctionalComponent } from \"@stencil/core\";\nimport { stringEnumToArray } from \"../../utils/helpers\";\nimport { IcDayNames, IcDateInputMonths } from \"../../utils/types\";\n\nexport type DayButtonProps = {\n focussed: boolean;\n today: boolean;\n day: Date;\n monthInView: number;\n onFocusDay: () => void;\n onBlurDay: () => void;\n onSelectDay: (day: Date) => void;\n selected: boolean;\n focussedDayRef?: (element: HTMLButtonElement) => void;\n inRange: boolean;\n showDaysOutsideMonth: boolean;\n disableDay: boolean;\n};\n\nexport const DayButton: FunctionalComponent<DayButtonProps> = ({\n focussed,\n today,\n day,\n monthInView,\n onFocusDay,\n onBlurDay,\n onSelectDay,\n selected,\n focussedDayRef,\n inRange,\n showDaysOutsideMonth,\n disableDay,\n}) => {\n const handleDayClick = (): void => {\n onSelectDay(day);\n };\n\n const handleDayFocus = (): void => {\n onFocusDay();\n };\n\n const handleDayBlur = (): void => {\n onBlurDay();\n };\n\n const dayNames = stringEnumToArray(IcDayNames);\n const months = stringEnumToArray(IcDateInputMonths);\n const outsideRange = !inRange || disableDay;\n const outsideMonth = monthInView !== day.getMonth();\n const disabled = outsideRange || (outsideMonth && !showDaysOutsideMonth);\n\n return (\n <div class=\"day-button-container\">\n <button\n class={{\n \"day-button\": true,\n \"outside-month\": outsideMonth,\n \"outside-range\": outsideRange,\n hidden: outsideMonth && !showDaysOutsideMonth,\n disabled: disabled,\n today: today,\n selected: selected,\n focussed: focussed,\n }}\n tabIndex={focussed ? 0 : -1}\n aria-hidden={outsideMonth ? \"true\" : \"false\"}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-current={today ? \"date\" : undefined}\n aria-label={\n disabled || outsideMonth || outsideRange\n ? undefined\n : `Choose ${dayNames[day.getDay()]}, ${day.getDate()} ${\n months[day.getMonth()]\n } ${day.getFullYear()}`\n }\n disabled={disabled}\n onClick={handleDayClick}\n onBlur={handleDayBlur}\n onFocus={handleDayFocus}\n ref={(el: HTMLButtonElement) => {\n if (focussed && el && focussedDayRef) {\n focussedDayRef(el);\n }\n }}\n >\n {(!outsideMonth || (outsideMonth && showDaysOutsideMonth)) && (\n <ic-typography variant=\"subtitle-small\" italic={outsideMonth}>\n {day.getDate()}\n </ic-typography>\n )}\n </button>\n </div>\n );\n};\n","import { h, FunctionalComponent } from \"@stencil/core\";\nimport {\n dateInRange,\n getMonthStart,\n getMonthEnd,\n} from \"../../utils/date-helpers\";\nimport { stringEnumToArray } from \"../../utils/helpers\";\nimport { IcSizes, IcDateInputMonths } from \"../../utils/types\";\n\nexport type MonthPickerProps = {\n size: IcSizes;\n focussedMonth: number;\n monthInView: number;\n yearInView: number;\n onSelectMonth: (month: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n focussedMonthRef: (element: HTMLIcButtonElement) => void;\n minDate: Date;\n maxDate: Date;\n};\n\nexport const MonthPicker: FunctionalComponent<MonthPickerProps> = ({\n size,\n focussedMonth,\n monthInView,\n onSelectMonth,\n onKeyDown,\n focussedMonthRef,\n minDate,\n maxDate,\n yearInView,\n}) => {\n const handleMonthClick = (ev: MouseEvent): void => {\n const button = ev.target as HTMLElement;\n onSelectMonth(Number(button.getAttribute(\"data-month\")));\n };\n\n const monthNames = stringEnumToArray(IcDateInputMonths);\n\n return (\n <div\n class={{\n \"month-picker\": true,\n }}\n role=\"list\"\n >\n {monthNames.map((month, index) => {\n const current = monthInView === index;\n const focussed = focussedMonth === index;\n const outsideRange = !dateInRange(\n new Date(yearInView, index, 1),\n minDate ? getMonthStart(minDate) : null,\n maxDate ? getMonthEnd(maxDate) : null\n );\n\n return (\n <ic-button\n role=\"listitem\"\n class={{\n \"month-button\": true,\n selected: current,\n focussed: focussed,\n disabled: outsideRange,\n }}\n full-width\n disabled={outsideRange}\n variant={current ? \"primary\" : \"tertiary\"}\n data-month={index}\n size={size}\n tabIndex={focussed ? 0 : -1}\n aria-current={current ? \"true\" : \"false\"}\n aria-label={current ? \"\" : `select ${month}`}\n onClick={handleMonthClick}\n onKeyDown={onKeyDown}\n ref={(el: HTMLIcButtonElement) => {\n if (focussed && el) {\n focussedMonthRef(el);\n }\n }}\n >\n {month}\n </ic-button>\n );\n })}\n </div>\n );\n};\n","import { h, FunctionalComponent } from \"@stencil/core\";\nimport { yearInRange } from \"../../utils/date-helpers\";\nimport { IcSizes } from \"../../utils/types\";\n\nexport type YearPickerProps = {\n decadeView: number[];\n size: IcSizes;\n focussedYear: number;\n yearInView: number;\n onSelectYear: (year: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n onFocusYear: () => void;\n onBlurYear: () => void;\n minDate: Date;\n maxDate: Date;\n focussedYearRef: (element: HTMLIcButtonElement) => void;\n};\n\nexport const YearPicker: FunctionalComponent<YearPickerProps> = ({\n decadeView,\n size,\n focussedYear,\n yearInView,\n onSelectYear,\n onFocusYear,\n onBlurYear,\n onKeyDown,\n minDate,\n maxDate,\n focussedYearRef,\n}) => {\n const handleYearClick = (ev: MouseEvent): void => {\n const button = ev.target as HTMLElement;\n onSelectYear(Number(button.getAttribute(\"data-year\")));\n };\n\n const handleYearFocus = (): void => {\n onFocusYear();\n };\n\n const handleYearBlur = (): void => {\n onBlurYear();\n };\n\n const navButtonMouseDownHandler = (ev: MouseEvent): void => {\n ev.preventDefault();\n };\n\n const prevDecade = decadeView[0];\n const nextDecade = decadeView[11];\n const years = decadeView.slice(1, 11);\n\n return (\n <div class=\"year-picker\" role=\"list\">\n <div class=\"prev-decade\" aria-hidden=\"true\">\n <ic-button\n id=\"prev-decade-button\"\n class={{\n \"year-button\": true,\n }}\n disabled={!yearInRange(prevDecade, minDate, maxDate)}\n data-year={prevDecade}\n tabIndex={-1}\n variant=\"tertiary\"\n onClick={handleYearClick}\n onMouseDown={navButtonMouseDownHandler}\n aria-hidden=\"true\"\n size={size}\n >\n {`${prevDecade - 9}s`}\n <svg\n slot=\"left-icon\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-button>\n </div>\n {years.map((yr) => {\n const current = yearInView === yr;\n const focussed = focussedYear === yr;\n return (\n <ic-button\n class={{\n \"year-button\": true,\n selected: current,\n focussed: focussed,\n }}\n disabled={!yearInRange(yr, minDate, maxDate)}\n data-year={yr}\n tabIndex={focussed ? 0 : -1}\n variant={current ? \"primary\" : \"tertiary\"}\n onClick={handleYearClick}\n aria-label={current ? \"\" : `select ${yr}`}\n role=\"listitem\"\n aria-current={current ? \"true\" : \"false\"}\n onKeyDown={onKeyDown}\n onFocus={handleYearFocus}\n onBlur={handleYearBlur}\n size={size}\n ref={(el: HTMLIcButtonElement) => {\n if (focussed && el) {\n focussedYearRef(el);\n }\n }}\n >\n {yr}\n </ic-button>\n );\n })}\n <div class=\"next-decade\" aria-hidden=\"true\">\n <ic-button\n id=\"next-decade-button\"\n class={{\n \"year-button\": true,\n flip: true,\n }}\n disabled={!yearInRange(nextDecade, minDate, maxDate)}\n data-year={nextDecade}\n tabIndex={-1}\n variant=\"tertiary\"\n onClick={handleYearClick}\n onMouseDown={navButtonMouseDownHandler}\n aria-hidden=\"true\"\n size={size}\n >\n {`${nextDecade}s`}\n <svg\n slot=\"right-icon\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-button>\n </div>\n </div>\n );\n};\n","@import \"../../../dist/core/normalize.css\";\n\n/**\n* @prop --input-width: Width of the input field\n @prop --ic-z-index-date-picker: z-index of date picker.\n*/\n\n:host {\n display: block;\n position: relative;\n\n --month-year-picker-button-width: 5rem;\n --month-button-width: 5.5rem;\n --input-field-width: var(--input-width, 19.125rem);\n}\n\n:host(.ic-date-picker-large) {\n --month-button-width: 6.3125rem;\n --input-field-width: var(--input-width, 21.125rem);\n}\n\n:host(.ic-date-picker-small) {\n --month-button-width: 6.25rem;\n --input-field-width: var(--input-width, 17.125rem);\n}\n\n:host .date-input-container {\n position: relative;\n}\n\nic-date-input {\n --input-width: var(--input-field-width);\n}\n\n:host .calendar-container {\n min-width: 19rem;\n max-width: 23.5rem;\n width: var(--input-width);\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xs);\n position: absolute;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n align-items: center;\n background-color: var(--ic-architectural-white);\n z-index: var(--ic-z-index-date-picker);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n margin-top: var(--ic-space-xxxs);\n padding: var(--ic-space-xs);\n animation: fade-in-calendar var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-small) .calendar-container {\n min-width: 17rem;\n max-width: 21.5rem;\n}\n\n:host(.ic-date-picker-large) .calendar-container {\n min-width: 21rem;\n max-width: 25.5rem;\n}\n\n:host .calendar-container.above {\n bottom: calc(var(--ic-space-xxl) - var(--ic-space-xxs));\n}\n\n:host .month-year-nav-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n}\n\n:host .month-year-nav-container.hidden {\n display: none;\n}\n\n:host .month-year-nav {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex: 1 0 0;\n}\n\n:host .month-picker,\n:host .year-picker {\n flex-wrap: wrap;\n display: inline-flex;\n align-items: center;\n width: 17.5rem;\n column-gap: var(--ic-space-xs);\n row-gap: var(--ic-space-xxs);\n}\n\n:host(.ic-date-picker-small) .month-picker,\n:host(.ic-date-picker-small) .year-picker {\n width: 13.125rem;\n}\n\n:host(.ic-date-picker-large) .month-picker,\n:host(.ic-date-picker-large) .year-picker {\n width: 20rem;\n}\n\n:host .month-picker-button,\n:host .year-picker-button {\n width: 5rem;\n\n --min-width: 5rem;\n}\n\n:host .month-button,\n:host .year-button {\n width: var(--month-button-width);\n}\n\n:host .month-button.focussed,\n:host .year-button.focussed {\n z-index: 1;\n}\n\n:host .month-button::part(button),\n:host .year-button::part(button) {\n min-width: var(--month-button-width);\n}\n\n:host .prev-decade .year-button svg {\n margin-right: calc(-1 * var(--ic-space-xl));\n padding-top: var(--ic-space-sm);\n}\n\n:host .prev-decade .year-button::part(button) {\n padding-left: 0;\n padding-right: var(--ic-space-lg);\n}\n\n:host(.ic-date-picker-small) .prev-decade .year-button::part(button) {\n padding-left: 0;\n padding-right: calc(var(--ic-space-lg) + var(--ic-space-xxs));\n}\n\n:host .next-decade .year-button svg {\n margin-left: calc(-1 * var(--ic-space-xl));\n padding-top: var(--ic-space-sm);\n}\n\n:host .next-decade .year-button::part(button) {\n padding-right: 0;\n padding-left: var(--ic-space-lg);\n}\n\n:host(.ic-date-picker-small) .next-decade .year-button::part(button),\n:host(.ic-date-picker-large) .next-decade .year-button::part(button) {\n padding-left: var(--ic-space-xl);\n}\n\n:host .bottom-buttons {\n padding-top: var(--ic-space-xs);\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n animation: fade-in-buttons var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-small) .bottom-buttons {\n padding-top: var(--ic-space-xxs);\n}\n\n:host .bottom-buttons.no-today {\n align-items: flex-end;\n flex-direction: column;\n}\n\n:host .bottom-buttons.hidden {\n display: none;\n}\n\n:host .calendar {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 15.75rem;\n animation: fade-in-buttons var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-large) .calendar {\n width: 19.25rem;\n}\n\n:host(.ic-date-picker-small) .calendar {\n padding-bottom: var(--ic-space-xxs);\n width: 14rem;\n}\n\n:host .hidden {\n display: none;\n}\n\n:host .weekdays {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: var(--ic-space-xs);\n align-self: stretch;\n}\n\n:host .calendar-days-container {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n row-gap: var(--ic-space-xs);\n padding: var(--ic-space-xxs) 0;\n}\n\n:host(.ic-date-picker-small) .calendar-days-container {\n padding: var(--ic-space-xxxs) 0;\n}\n\n:host(.ic-date-picker-large) .calendar-days-container {\n padding: var(--ic-space-xs) 0;\n}\n\n:host .calendar-day-header {\n display: flex;\n width: 2rem;\n padding: var(--ic-space-xxs) 0;\n justify-content: center;\n align-items: center;\n}\n\n:host(.ic-date-picker-small) .calendar-day-header,\n:host(.ic-date-picker-large) .calendar-day-header {\n padding: var(--ic-space-xxs);\n}\n\n:host .calendar-day-header ic-typography {\n --ic-typography-color: var(--ic-color-tertiary-text);\n\n text-align: center;\n}\n\n:host .day-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 2.25rem;\n height: 2.25rem;\n}\n\n:host(.ic-date-picker-small) .day-button-container {\n width: 2rem;\n height: 2rem;\n}\n\n:host(.ic-date-picker-large) .day-button-container {\n width: 2.5rem;\n height: 2.5rem;\n}\n\n:host .day-button {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n border: 0;\n border-radius: 2rem;\n background-color: var(--ic-architectural-white);\n width: 2rem;\n height: 2rem;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n z-index: 0;\n}\n\n:host .day-button.disabled {\n cursor: default;\n}\n\n:host(.ic-date-picker-large) .day-button {\n width: 2.25rem;\n height: 2.25rem;\n}\n\n:host(.ic-date-picker-small) .day-button {\n width: 1.75rem;\n height: 1.75rem;\n}\n\n:host .day-button ic-typography {\n width: 1.75rem;\n\n --ic-typography-color: var(--ic-color-primary-text);\n}\n\n:host .day-button.outside-range ic-typography {\n --ic-typography-color: var(--ic-architectural-400);\n}\n\n:host .day-button.outside-month ic-typography {\n font-weight: var(--ic-font-weight-regular) !important;\n}\n\n:host\n .day-button.outside-month:not(.outside-range):not(.selected)\n ic-typography {\n --ic-typography-color: var(--ic-color-primary-text);\n}\n\n:host .day-button:hover:not(.disabled) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host .day-button:active:not(.disabled) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host .day-button:hover:not(.disabled):not(.focussed),\n :host .day-button:active:not(.disabled):not(.focussed) {\n transition: background-color var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host .day-button.selected:not(.hidden) {\n background-color: var(--ic-action-default);\n}\n\n:host .day-button.selected ic-typography {\n --ic-typography-color: var(--ic-color-white-text);\n}\n\n:host .day-button.selected:not(.hidden):hover {\n background-color: var(--ic-action-default-hover);\n}\n\n:host .day-button.selected:not(.hidden):active {\n background-color: var(--ic-action-default-active);\n}\n\n:host .day-button.focussed {\n z-index: 1;\n}\n\n:host .day-button:focus {\n outline: none;\n}\n\n:host .day-button.focussed:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n:host .day-button.today:not(.hidden)::after {\n content: \"\";\n position: absolute;\n width: 0.875rem;\n height: 0.125rem;\n bottom: 0.4rem;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-action-default);\n}\n\n:host(.ic-date-picker-small) .day-button.today::after {\n bottom: 0.35rem;\n}\n\n:host(.ic-date-picker-large) .day-button.today::after {\n width: 1rem;\n}\n\n:host .day-button.today.selected::after {\n background-color: var(--ic-architectural-white);\n}\n\n:host #select-month-hint,\n:host #select-year-hint {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host .calendar-container,\n :host .calendar,\n :host .bottom-buttons {\n animation: none;\n }\n}\n\n@keyframes fade-in-buttons {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fade-in-calendar {\n 0% {\n display: flex;\n max-height: 0;\n }\n\n 100% {\n display: flex;\n max-height: 600px;\n }\n}\n\n@media (forced-colors: active) {\n :host .day-button.today:not(.hidden)::after {\n background-color: highlight;\n }\n\n :host .day-button.selected:not(.hidden) {\n background-color: highlight;\n }\n\n :host .day-button.focussed:focus {\n border: var(--ic-hc-border);\n }\n\n :host .month-button.selected::part(button),\n :host .year-button.selected::part(button) {\n background-color: highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n createDate,\n clampDate,\n dateMatches,\n dateInRange,\n getMonthStart,\n getMonthEnd,\n getWeekEnd,\n getWeekStart,\n yearInRange,\n} from \"../../utils/date-helpers\";\nimport {\n stringEnumToArray,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcWeekDays,\n IcShortDayNames,\n IcDateInputMonths,\n IcDateFormat,\n IcSizes,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport chevron from \"../../assets/chevron-icon.svg\";\nimport { DayButton } from \"./ic-day-button\";\nimport { MonthPicker } from \"./ic-month-picker\";\nimport { YearPicker } from \"./ic-year-picker\";\n\nconst DEFAULT_DATE_FORMAT = \"DD/MM/YYYY\";\nconst DEFAULT_DISABLE_DATES_FROM_NOW_MSG =\n \"Dates in the future are not allowed. Please select a date in the past.\";\nconst DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG =\n \"Dates in the past are not allowed. Please select a date in the future.\";\nconst DEFAULT_DISABLE_DAYS_MSG =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\nconst FOCUS_TIMER = 100;\nconst PICKER_HEIGHT_SMALL = 360;\nconst PICKER_HEIGHT_DEFAULT = 400;\nconst PICKER_HEIGHT_LARGE = 440;\n\ninterface IcDateInputProps {\n dateFormat?: IcDateFormat;\n disabled?: boolean;\n disableDays?: IcWeekDays[];\n disableDaysMessage?: string;\n disableFuture?: boolean;\n disableFutureMessage?: string;\n disablePast?: boolean;\n disablePastMessage?: string;\n helperText?: string;\n hideHelperText?: boolean;\n inputId?: string;\n invalidDateMessage?: string;\n label: string;\n max?: string | Date;\n min?: string | Date;\n name?: string;\n required?: boolean;\n showClearButton?: boolean;\n showCalendarButton?: boolean;\n size?: IcSizes;\n value?: string | Date;\n validationStatus?: IcInformationStatusOrEmpty;\n validationText?: string;\n}\n\n@Component({\n tag: \"ic-date-picker\",\n styleUrl: \"ic-date-picker.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class DatePicker {\n private inputEl: HTMLIcDateInputElement;\n private clearButtonEl: HTMLIcButtonElement = null;\n private dateInputProps: IcDateInputProps;\n private daysOfWeek: string[] = [];\n private dayButtonFocussed: boolean = false;\n private dayPickerKeyboardNav: boolean = false;\n private decadeStart: number;\n private decadeEnd: number;\n private dialogDescription: string = \"\";\n private focusDay: boolean = true;\n private focussedYearEl: HTMLIcButtonElement;\n private liveRegionEl: HTMLElement = null;\n private monthButtonEl: HTMLIcButtonElement;\n private monthNames: string[] = [];\n private monthInViewUpdateHandled: boolean = false;\n private myCalendarButtonClicked: boolean = false;\n private showPickerAbove: boolean = false;\n private today = new Date();\n private todayButtonEl: HTMLIcButtonElement = null;\n private yearButtonEl: HTMLIcButtonElement;\n private yearButtonFocussed: boolean = false;\n\n @Element() el: HTMLIcDatePickerElement;\n\n @State() calendarOpen: boolean = false;\n @State() currMonthView: Date[] = [];\n @State() currYearPickerView: number[] = [];\n @State() decadeView: number[] = [];\n @State() focussedDate: Date = null;\n @State() focussedDay: number;\n @State() focussedDayEl: HTMLButtonElement;\n @State() focussedMonth: number;\n @State() focussedMonthEl: HTMLIcButtonElement;\n @State() focussedYear: number;\n @State() maxDate: Date = null;\n @State() minDate: Date = null;\n @State() monthInView: number;\n @State() monthPickerVisible: boolean = false;\n @State() orderedDaysOfWeek: string[] = [];\n @State() selectedDate: Date = null;\n @State() yearInView: number;\n @State() yearPickerVisible: boolean = false;\n\n /**\n * The format in which the date will be displayed.\n */\n @Prop() dateFormat?: IcDateFormat = \"DD/MM/YYYY\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The days of the week to disable.\n */\n @Prop() disableDays?: IcWeekDays[] = [];\n\n /**\n * The text to display as the validation message when `disableDays` is `true` 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() helperText?: string;\n\n /**\n * If `true`, the helper text will be visually hidden, but still read out by screenreaders.\n */\n @Prop() hideHelperText: boolean = false;\n\n /**\n * The ID for the input field. The default will be an automatically generated value.\n */\n @Prop() inputId?: string;\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;\n\n /**\n * The date visible when the calendar opens. Used if no date is currently selected.\n * 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() openAtDate: string | Date = \"\";\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, days outside the current month will be visible in the date picker.\n */\n @Prop() showDaysOutsideMonth?: boolean = true;\n\n /**\n * If `true`, the `Clear` button on the date picker will be visible.\n */\n @Prop() showPickerClearButton?: boolean = true;\n\n /**\n * If `true`, the `Go to today` button on the date picker will be visible.\n */\n @Prop() showPickerTodayButton?: boolean = true;\n\n /**\n * The size of the date picker to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The first day of the week. `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() startOfWeek?: IcWeekDays = IcWeekDays.Monday;\n\n @Watch(\"startOfWeek\")\n watchStartOfWeekHandler(): void {\n this.orderedDaysOfWeek = this.daysOfWeek\n .slice(this.startOfWeek)\n .concat(this.daysOfWeek.slice(0, this.startOfWeek));\n if (this.calendarOpen) {\n this.updateMonthInView();\n }\n }\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop() 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 * The value of the date picker. 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 @Watch(\"calendarOpen\")\n watchOpenHandler(): void {\n if (this.calendarOpen) {\n if (this.inputEl) {\n let pickerHeight = PICKER_HEIGHT_DEFAULT;\n if (this.size === \"small\") {\n pickerHeight = PICKER_HEIGHT_SMALL;\n } else if (this.size === \"large\") {\n pickerHeight = PICKER_HEIGHT_LARGE;\n }\n if (\n this.el.offsetTop + this.inputEl.offsetHeight + pickerHeight >\n window.innerHeight &&\n this.el.offsetTop > pickerHeight\n ) {\n this.showPickerAbove = true;\n } else {\n this.showPickerAbove = false;\n }\n }\n if (\n this.selectedDate === null ||\n !dateInRange(this.selectedDate, this.minDate, this.maxDate)\n ) {\n let openAt = new Date();\n if (this.openAtDate !== \"\") {\n openAt = createDate(this.openAtDate, this.dateFormat);\n }\n this.setFocussedDate(openAt);\n } else {\n this.setFocussedDate(this.selectedDate);\n }\n let dialogDesc = this.getMonthInViewText();\n if (this.selectedDate === null) {\n dialogDesc += \" No date selected.\";\n }\n dialogDesc +=\n \" Use arrow keys to change day. Press enter or space to select a date or press escape to close the picker\";\n this.dialogDescription = dialogDesc;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n document.addEventListener(\"click\", this.handleDocumentClick);\n } else {\n document.removeEventListener(\"click\", this.handleDocumentClick);\n this.monthPickerVisible = false;\n this.yearPickerVisible = false;\n }\n }\n\n @Watch(\"focussedDate\")\n watchFocussedDateHandler(current: Date, previous: Date): void {\n if (\n previous === null ||\n !(\n previous.getFullYear() === current.getFullYear() &&\n previous.getMonth() === current.getMonth()\n )\n ) {\n this.updateMonthInView();\n }\n }\n\n @Watch(\"monthInView\")\n watchMonthInViewHandler(): void {\n this.focussedMonth = this.monthInView;\n }\n\n @Watch(\"yearInView\")\n watchYearInViewHandler(): void {\n this.setFocussedYear(this.yearInView, false);\n }\n\n @Watch(\"yearPickerVisible\")\n watchYearPickerVisibleHandler(): void {\n if (!this.yearPickerVisible) {\n this.setFocussedYear(this.yearInView);\n }\n }\n\n @Watch(\"monthPickerVisible\")\n watchMonthPickerVisibleHandler(): void {\n if (!this.monthPickerVisible) {\n this.focussedMonth = this.monthInView;\n }\n }\n\n @Watch(\"focussedDayEl\")\n watchFocussedDayEl(): void {\n if (this.focusDay) {\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n }\n\n this.focusDay = true;\n }\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{ value: Date }>;\n\n componentWillLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Date Picker\"\n );\n\n this.monthNames = stringEnumToArray(IcDateInputMonths);\n this.daysOfWeek = stringEnumToArray(IcShortDayNames);\n\n this.watchStartOfWeekHandler();\n this.watchMaxHandler();\n this.watchMinHandler();\n }\n\n componentWillRender(): void {\n this.dateInputProps = this.setDateInputProps();\n }\n\n componentWillUpdate(): void {\n this.dateInputProps = this.setDateInputProps();\n }\n\n @Listen(\"calendarButtonClicked\")\n localCalendarButtonClickHandler(ev: CustomEvent): void {\n this.myCalendarButtonClicked = true;\n if (!this.calendarOpen) {\n this.setSelectedDate(ev.detail.value, false);\n }\n\n this.calendarOpen = !this.calendarOpen;\n }\n\n @Listen(\"calendarButtonClicked\", { target: \"document\" })\n calendarButtonClickHandler(): void {\n //closes this picker if calendar button in another clicked\n if (!this.myCalendarButtonClicked) {\n this.calendarOpen = false;\n }\n this.myCalendarButtonClicked = false;\n }\n\n private setDecadeView = (start: number) => {\n let currYear = start - 1;\n const decadeArr = [];\n while (currYear <= start + 10) {\n decadeArr.push(currYear);\n currYear++;\n }\n this.decadeView = decadeArr;\n this.decadeStart = decadeArr[1];\n this.decadeEnd = decadeArr[10];\n };\n\n private setSelectedDate = (d: Date, emit = true): void => {\n if (d === null || !dateMatches(d, this.selectedDate)) {\n this.selectedDate = d;\n this.value = d;\n if (emit) {\n this.inputEl.triggerIcChange(d);\n }\n }\n };\n\n private handleCalendarMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n if (target.tagName !== \"IC-BUTTON\") {\n event.preventDefault();\n }\n };\n\n private handleCalendarClick = (event: MouseEvent): void => {\n this.clearDialogDescription();\n event.stopImmediatePropagation();\n };\n\n private handleDocumentClick = (): void => {\n this.calendarOpen = false;\n };\n\n private keyDownHandler = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n if (this.calendarOpen) {\n this.closeButtonClickHandler();\n this.inputEl.setCalendarFocus();\n event.stopImmediatePropagation();\n }\n } else {\n this.clearDialogDescription();\n event.stopImmediatePropagation();\n }\n };\n\n private closeButtonClickHandler = () => {\n this.calendarOpen = false;\n };\n\n private focusFirstElement = () => {\n this.monthButtonEl.setFocus();\n };\n\n private focusLastElement = () => {\n if (this.showPickerClearButton && !this.clearButtonEl.disabled) {\n this.clearButtonEl.setFocus();\n } else if (this.showPickerTodayButton && !this.todayButtonEl.disabled) {\n this.todayButtonEl.setFocus();\n } else if (this.monthPickerVisible) {\n this.focussedMonthEl.setFocus();\n } else if (this.yearPickerVisible) {\n this.focussedYearEl.setFocus();\n } else {\n this.focussedDayEl.focus();\n }\n };\n\n private focusFocussedDay = () => {\n this.focussedDayEl.focus();\n };\n\n private monthButtonClickHandler = () => {\n this.yearPickerVisible = false;\n this.focusDay = false;\n this.monthPickerVisible = !this.monthPickerVisible;\n if (this.monthPickerVisible) {\n this.setAriaLiveRegionText(\"Month picker view open\");\n } else {\n this.setMonthSelectedLiveRegionText();\n }\n };\n\n private yearButtonClickHandler = () => {\n this.monthPickerVisible = false;\n this.focusDay = false;\n this.yearPickerVisible = !this.yearPickerVisible;\n if (this.yearPickerVisible) {\n this.setAriaLiveRegionText(\n `Year picker view open. ${this.getDecadeInViewText()}`\n );\n } else {\n this.setYearSelectedLiveRegionText();\n }\n };\n\n private todayButtonClickHandler = () => {\n this.yearPickerVisible = false;\n this.monthPickerVisible = false;\n this.setFocussedDate(new Date());\n this.setAriaLiveRegionText(this.getMonthInViewText());\n\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n };\n\n private todayButtonKeyDownHandler = (ev: KeyboardEvent) => {\n if (ev.key === \"Tab\" && !ev.shiftKey && this.clearButtonEl.disabled) {\n this.focusFirstElement();\n ev.preventDefault();\n }\n };\n\n private clearButtonClickHandler = () => {\n this.setSelectedDate(null);\n let text = \"Selected date cleared.\";\n if (!this.monthPickerVisible && !this.yearPickerVisible) {\n text += ` ${this.getMonthInViewText()}`;\n }\n if (this.monthPickerVisible) {\n this.focussedMonthEl.setFocus();\n } else if (this.yearPickerVisible) {\n this.focussedYearEl.setFocus();\n } else {\n this.focusFocussedDay();\n }\n this.setAriaLiveRegionText(text);\n };\n\n private setMonthSelectedLiveRegionText = () => {\n this.setAriaLiveRegionText(\n `${\n this.monthNames[this.monthInView]\n } selected. ${this.getMonthInViewText()}`\n );\n };\n\n private setYearSelectedLiveRegionText = () => {\n this.setAriaLiveRegionText(\n `${this.yearInView} selected. ${this.getMonthInViewText()}`\n );\n };\n\n private getMonthInViewText = () => {\n return `${this.monthNames[this.monthInView]} ${\n this.yearInView\n } currently in view.`;\n };\n\n private getDecadeInViewText = () => {\n return `${this.decadeStart} to ${this.decadeEnd} currently in view.`;\n };\n\n private setAriaLiveRegionText = (text: string) => {\n this.liveRegionEl && (this.liveRegionEl.innerText = text);\n };\n\n private clearDialogDescription = () => {\n this.dialogDescription = \"\";\n };\n\n private clearButtonKeyDownHandler = (ev: KeyboardEvent) => {\n if (ev.key === \"Tab\" && !ev.shiftKey) {\n this.focusFirstElement();\n ev.preventDefault();\n }\n };\n\n private goToPreviousMonth = (focusDay = false) => {\n this.focusDay = focusDay;\n this.moveMonths(-1);\n };\n\n private goToNextMonth = (focusDay = false) => {\n this.focusDay = focusDay;\n this.moveMonths(1);\n };\n\n private goToPreviousYear = (focusDay = false) => {\n if (this.isPrevYearAllowed()) {\n this.focusDay = focusDay;\n this.moveYears(-1);\n }\n };\n\n private goToNextYear = (focusDay = false) => {\n if (this.isNextYearAllowed()) {\n this.focusDay = focusDay;\n this.moveYears(1);\n }\n };\n\n private navButtonMouseDownHandler = (ev: MouseEvent): void => {\n ev.preventDefault();\n };\n\n private renderMonthYearNavButton = (\n id: string,\n flip: boolean,\n disabled: boolean\n ): void => {\n const buttonSize = this.size;\n return (\n <div aria-hidden=\"true\">\n <ic-button\n id={id}\n disableTooltip={true}\n disabled={disabled}\n onClick={this.monthYearNavClickHandler}\n class={{ flip: flip }}\n variant=\"icon\"\n innerHTML={chevron}\n size={buttonSize}\n tabIndex={-1}\n aria-hidden=\"true\"\n onMouseDown={this.navButtonMouseDownHandler}\n />\n </div>\n );\n };\n\n private monthYearNavClickHandler = (ev: Event): void => {\n const target = ev.target as Element;\n switch (target.id) {\n case \"previous-month-button\":\n this.goToPreviousMonth(this.dayButtonFocussed);\n break;\n\n case \"next-month-button\":\n this.goToNextMonth(this.dayButtonFocussed);\n break;\n\n case \"previous-year-button\":\n this.goToPreviousYear(this.dayButtonFocussed);\n break;\n\n case \"next-year-button\":\n this.goToNextYear(this.dayButtonFocussed);\n break;\n }\n };\n\n private previousMonthButton = (): void => {\n let disabled = false;\n if (this.focussedDate !== null && this.minDate !== null) {\n const yearMatch =\n this.focussedDate.getFullYear() === this.minDate.getFullYear();\n if (yearMatch) {\n disabled = this.monthInView - 1 < this.minDate.getMonth();\n }\n }\n return this.renderMonthYearNavButton(\n \"previous-month-button\",\n true,\n disabled\n );\n };\n\n private nextMonthButton = (): void => {\n let disabled = false;\n if (this.focussedDate !== null && this.maxDate !== null) {\n const yearMatch =\n this.focussedDate.getFullYear() === this.maxDate.getFullYear();\n if (yearMatch) {\n disabled = this.monthInView + 1 > this.maxDate.getMonth();\n }\n }\n return this.renderMonthYearNavButton(\"next-month-button\", false, disabled);\n };\n\n private previousYearButton = (): void => {\n return this.renderMonthYearNavButton(\n \"previous-year-button\",\n true,\n !this.isPrevYearAllowed()\n );\n };\n\n private nextYearButton = (): void => {\n return this.renderMonthYearNavButton(\n \"next-year-button\",\n false,\n !this.isNextYearAllowed()\n );\n };\n\n private isPrevYearAllowed = (): boolean => {\n return this.isYearAllowed(this.yearInView - 1);\n };\n\n private isNextYearAllowed = (): boolean => {\n return this.isYearAllowed(this.yearInView + 1);\n };\n\n private isYearAllowed = (yr: number): boolean => {\n return yearInRange(yr, this.minDate, this.maxDate);\n };\n\n private getMonthView = (date: Date): Date[] => {\n const start = getWeekStart(getMonthStart(date), this.startOfWeek);\n const end = getWeekEnd(getMonthEnd(date), this.startOfWeek);\n\n const days: Date[] = [];\n let current = start;\n\n while (!dateMatches(current, end)) {\n days.push(current);\n current = new Date(current);\n current.setDate(current.getDate() + 1);\n }\n\n days.push(current);\n\n return days;\n };\n\n private isCurrentMonth = (): boolean => {\n const d = new Date();\n return (\n d.getFullYear() === this.yearInView && d.getMonth() === this.monthInView\n );\n };\n\n private updateMonthInView = (): void => {\n this.currMonthView = this.getMonthView(this.focussedDate);\n\n this.focussedDay = this.focussedDate.getDate();\n this.monthInView = this.focussedDate.getMonth();\n this.yearInView = this.focussedDate.getFullYear();\n\n if (this.dayPickerKeyboardNav) {\n this.monthInViewUpdateHandled = true;\n this.setAriaLiveRegionText(this.getMonthInViewText());\n this.dayPickerKeyboardNav = false;\n }\n };\n\n private handleSelectDay = (day: Date): void => {\n this.setSelectedDate(day);\n this.calendarOpen = false;\n this.inputEl.setCalendarFocus();\n };\n\n private handleSelectMonth = (month: number): void => {\n this.moveMonths(month - this.monthInView);\n setTimeout(() => {\n this.monthButtonEl.setFocus();\n this.monthPickerVisible = false;\n this.setMonthSelectedLiveRegionText();\n }, FOCUS_TIMER);\n };\n\n private handleSelectYear = (year: number): void => {\n const yrPos = this.decadeView.indexOf(year);\n if (yrPos > 0 && yrPos < this.decadeView.length - 1) {\n this.moveYears(year - this.yearInView);\n this.focusDay = false;\n const monthName = this.monthNames[this.monthInView];\n this.setAriaLiveRegionText(\n `${year} selected. ${monthName} ${year} currently in view.`\n );\n setTimeout(() => {\n this.yearButtonEl.setFocus();\n this.yearPickerVisible = false;\n }, FOCUS_TIMER);\n } else {\n const moveYears = year - this.focussedYear > 0 ? 10 : -10;\n this.updateFocussedYear(moveYears, this.yearButtonFocussed);\n this.setAriaLiveRegionText(this.getDecadeInViewText());\n }\n };\n\n private monthPickerKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.updateFocussedMonth(-1);\n break;\n\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.updateFocussedMonth(1);\n break;\n\n case \"Home\":\n this.updateFocussedMonth(-this.focussedMonth);\n break;\n\n case \"End\":\n this.updateFocussedMonth(11 - this.focussedMonth);\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n case \"Escape\":\n ev.stopImmediatePropagation();\n this.monthPickerVisible = false;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n break;\n\n default:\n handled = false;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private yearPickerKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.updateFocussedYear(-1);\n break;\n\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.updateFocussedYear(1);\n break;\n\n case \"Home\":\n if (this.focussedYear > this.decadeStart) {\n this.updateFocussedYear(this.decadeStart - this.focussedYear);\n }\n break;\n\n case \"End\":\n if (this.focussedYear < this.decadeEnd) {\n this.updateFocussedYear(this.decadeEnd - this.focussedYear);\n }\n break;\n\n case \"PageUp\":\n this.updateFocussedYear(-10);\n break;\n\n case \"PageDown\":\n this.updateFocussedYear(10);\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n case \"Escape\":\n ev.stopImmediatePropagation();\n this.yearPickerVisible = false;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n break;\n\n default:\n handled = false;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private onYearButtonFocusHandler = () => {\n this.yearButtonFocussed = true;\n };\n\n private onYearButtonBlurHandler = () => {\n this.yearButtonFocussed = false;\n };\n\n private monthButtonKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = false;\n switch (ev.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n handled = true;\n this.goToPreviousMonth();\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n handled = true;\n this.goToNextMonth();\n break;\n\n case \"Home\":\n handled = true;\n this.focusDay = false;\n this.moveMonths(-this.monthInView);\n break;\n\n case \"End\":\n handled = true;\n this.focusDay = false;\n this.moveMonths(11 - this.monthInView);\n break;\n\n case \"Tab\":\n if (ev.shiftKey) {\n handled = true;\n this.focusLastElement();\n }\n break;\n\n case \"Escape\":\n if (this.monthPickerVisible) {\n this.monthPickerVisible = false;\n ev.stopImmediatePropagation();\n }\n break;\n\n default:\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private yearButtonKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = false;\n switch (ev.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n handled = true;\n this.goToPreviousYear();\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n handled = true;\n this.goToNextYear();\n break;\n\n case \"Home\":\n if (this.yearPickerVisible && this.yearInView > this.decadeStart) {\n handled = true;\n this.moveYears(this.decadeStart - this.yearInView);\n }\n break;\n\n case \"End\":\n if (this.yearPickerVisible && this.yearInView < this.decadeEnd) {\n handled = true;\n this.moveYears(this.decadeEnd - this.focussedYear);\n }\n break;\n\n case \"PageUp\":\n handled = true;\n this.focusDay = false;\n this.moveYears(-10);\n break;\n\n case \"PageDown\":\n handled = true;\n this.focusDay = false;\n this.moveYears(10);\n break;\n\n case \"Escape\":\n if (this.yearPickerVisible) {\n this.yearPickerVisible = false;\n ev.stopImmediatePropagation();\n }\n break;\n\n default:\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private handleCalendarKeyDown = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowDown\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(7);\n break;\n\n case \"ArrowUp\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(-7);\n break;\n\n case \"ArrowLeft\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(-1 * this.getNextDayToFocus(this.focussedDate, false));\n break;\n\n case \"ArrowRight\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(this.getNextDayToFocus(this.focussedDate, true));\n break;\n\n case \"PageUp\":\n this.dayPickerKeyboardNav = true;\n ev.shiftKey ? this.moveYears(-1) : this.moveMonths(-1);\n break;\n\n case \"PageDown\":\n this.dayPickerKeyboardNav = true;\n ev.shiftKey ? this.moveYears(1) : this.moveMonths(1);\n break;\n\n case \"Home\":\n this.dayPickerKeyboardNav = true;\n this.setFocussedDate(\n new Date(this.focussedYear, this.focussedMonth, 1)\n );\n break;\n\n case \"End\":\n this.dayPickerKeyboardNav = true;\n this.setFocussedDate(\n new Date(this.focussedYear, this.focussedMonth + 1, 0)\n );\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n default:\n handled = false;\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private calendarTabHandler = (ev: KeyboardEvent): boolean => {\n let handled = false;\n if (\n !ev.shiftKey &&\n (!this.showPickerTodayButton || this.isCurrentMonth()) &&\n (!this.showPickerClearButton || this.clearButtonEl.disabled)\n ) {\n this.focusFirstElement();\n handled = true;\n } else if (ev.shiftKey) {\n this.yearButtonEl.setFocus();\n handled = true;\n }\n return handled;\n };\n\n private onDayButtonFocusHandler = () => {\n this.dayButtonFocussed = true;\n };\n\n private onDayButtonBlurHandler = () => {\n this.dayButtonFocussed = false;\n };\n\n private getNextDayToFocus = (\n currDay: Date,\n forward: boolean,\n level = 1\n ): number => {\n const move = forward ? 1 : -1;\n const nextDay = new Date(currDay);\n nextDay.setDate(nextDay.getDate() + move);\n const nextDayNum = Number(nextDay.getDay());\n if (this.disableDays.includes(nextDayNum)) {\n return this.getNextDayToFocus(nextDay, forward, level + 1);\n } else {\n return level;\n }\n };\n\n private moveDays = (numDays: number): void => {\n const d = new Date(this.focussedDate);\n d.setDate(d.getDate() + numDays);\n this.setFocussedDate(d);\n };\n\n private moveMonths = (numMonths: number): void => {\n const newMonth = this.focussedDate.getMonth() + numMonths;\n const min = new Date(\n new Date(getMonthStart(this.focussedDate)).setMonth(newMonth)\n );\n const max = getMonthEnd(min);\n const newDate = new Date(new Date(this.focussedDate).setMonth(newMonth));\n this.setFocussedDate(clampDate(newDate, min, max));\n\n if (\n this.monthPickerVisible === false &&\n this.yearPickerVisible === false &&\n this.monthInViewUpdateHandled === false\n ) {\n this.setAriaLiveRegionText(this.getMonthInViewText());\n }\n this.monthInViewUpdateHandled = false;\n };\n\n private moveYears = (numYears: number): void => {\n const newYear = this.focussedDate.getFullYear() + numYears;\n const min = new Date(\n new Date(getMonthStart(this.focussedDate)).setFullYear(newYear)\n );\n const max = getMonthEnd(min);\n const newDate = new Date(new Date(this.focussedDate).setFullYear(newYear));\n this.setFocussedDate(clampDate(newDate, min, max));\n\n if (\n this.monthPickerVisible === false &&\n this.yearPickerVisible === false &&\n this.monthInViewUpdateHandled === false\n ) {\n this.setAriaLiveRegionText(this.getMonthInViewText());\n }\n this.monthInViewUpdateHandled = false;\n };\n\n private updateFocussedMonth = (adjust: number): void => {\n const d = new Date(this.focussedYear, this.focussedMonth, 1);\n d.setMonth(this.focussedMonth + adjust);\n const newDate = clampDate(d, this.minDate, this.maxDate);\n this.focussedMonth = newDate.getMonth();\n setTimeout(() => this.focussedMonthEl.setFocus(), FOCUS_TIMER);\n };\n\n private updateFocussedYear = (adjust: number, focusYear = true): void => {\n const d = new Date(new Date().setFullYear(this.focussedYear + adjust));\n const newDate = clampDate(d, this.minDate, this.maxDate);\n this.setFocussedYear(newDate.getFullYear(), focusYear);\n };\n\n private setFocussedDate = (d: Date): void => {\n this.focussedDate = clampDate(d, this.minDate, this.maxDate);\n };\n\n private setFocussedDayEl = (element: HTMLButtonElement) => {\n this.focussedDayEl = element;\n };\n\n private setFocussedMonthEl = (element: HTMLIcButtonElement) => {\n this.focussedMonthEl = element;\n };\n\n private setFocussedYearEl = (element: HTMLIcButtonElement) => {\n this.focussedYearEl = element;\n };\n\n private setFocussedYear = (newYear: number, focus = true): void => {\n const prevYear = this.focussedYear;\n this.focussedYear = newYear;\n if (this.yearPickerVisible) {\n const newDecade = Math.floor(newYear / 10) * 10;\n const oldDecade = Math.floor(prevYear / 10) * 10;\n if (newDecade !== oldDecade) {\n this.setDecadeView(newDecade);\n this.setAriaLiveRegionText(this.getDecadeInViewText());\n }\n if (focus) {\n setTimeout(() => {\n if (this.focussedYearEl !== null) this.focussedYearEl.setFocus();\n }, FOCUS_TIMER);\n }\n } else {\n this.setDecadeView(Math.floor(newYear / 10) * 10);\n }\n };\n\n private setDateInputProps = (): IcDateInputProps => {\n const inputProps: IcDateInputProps = {\n invalidDateMessage: this.invalidDateMessage,\n label: this.label,\n showClearButton: true,\n showCalendarButton: true,\n value: this.value,\n };\n\n if (this.dateFormat !== DEFAULT_DATE_FORMAT) {\n inputProps.dateFormat = this.dateFormat;\n }\n if (this.disableFuture) {\n inputProps.disableFuture = this.disableFuture;\n if (this.disableFutureMessage !== DEFAULT_DISABLE_DATES_FROM_NOW_MSG) {\n inputProps.disableFutureMessage = this.disableFutureMessage;\n }\n }\n if (this.disablePast) {\n inputProps.disablePast = this.disablePast;\n if (this.disablePastMessage !== DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG) {\n inputProps.disablePastMessage = this.disablePastMessage;\n }\n }\n if (this.disableDays.length > 0) {\n inputProps.disableDays = this.disableDays;\n if (this.disableDaysMessage !== DEFAULT_DISABLE_DAYS_MSG) {\n inputProps.disableDaysMessage = this.disableDaysMessage;\n }\n }\n if (this.max !== null && this.max !== \"\") {\n inputProps.max = this.maxDate;\n }\n if (this.min !== null && this.min !== \"\") {\n inputProps.min = this.minDate;\n }\n if (this.helperText !== undefined) {\n inputProps.helperText = this.helperText;\n }\n if (this.hideHelperText !== false) {\n inputProps.hideHelperText = this.hideHelperText;\n }\n if (this.inputId !== undefined) {\n inputProps.inputId = this.inputId;\n }\n if (this.name !== undefined) {\n inputProps.name = this.name;\n }\n if (this.disabled) {\n inputProps.disabled = this.disabled;\n }\n if (this.required) {\n inputProps.required = this.required;\n }\n if (this.size !== \"medium\") {\n inputProps.size = this.size;\n }\n if (this.validationStatus !== \"\") {\n inputProps.validationStatus = this.validationStatus;\n }\n if (this.validationText !== \"\") {\n inputProps.validationText = this.validationText;\n }\n return inputProps;\n };\n\n render() {\n const {\n calendarOpen,\n dateInputProps,\n monthNames,\n size,\n focussedMonth,\n focussedYear,\n monthInView,\n yearInView,\n monthPickerVisible,\n yearPickerVisible,\n orderedDaysOfWeek,\n decadeView,\n minDate,\n maxDate,\n showPickerClearButton,\n showPickerTodayButton,\n dialogDescription,\n } = this;\n\n let monthButtonText = \"\";\n if (monthPickerVisible) {\n monthButtonText = `Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`;\n } else {\n monthButtonText = `Press Enter or Space to open month picker view or use the arrow keys to change month.`;\n }\n\n let yearButtonText = \"\";\n if (yearPickerVisible) {\n yearButtonText = `Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`;\n } else {\n yearButtonText = `Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`;\n }\n\n const dialogLabel = \"choose date\";\n\n const monthLabel =\n monthNames && monthNames[monthInView]\n ? monthNames[monthInView]\n : \"Open month picker\";\n const yearLabel = this.yearInView ? this.yearInView : \"Open year picker\";\n\n let minDay = minDate;\n if (this.disablePast) {\n const yesterday = new Date(minDate);\n yesterday.setDate(minDate.getDate() - 1);\n minDay = yesterday;\n }\n\n return (\n <Host\n onKeyDown={this.keyDownHandler}\n class={{ [`ic-date-picker-${size}`]: true }}\n >\n <div class=\"date-input-container\">\n <ic-date-input\n ref={(el) => (this.inputEl = el)}\n {...dateInputProps}\n ></ic-date-input>\n </div>\n {calendarOpen && (\n <div>\n <span id=\"dialog-description\" class=\"sr-only\">\n {dialogDescription}\n </span>\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={dialogLabel}\n aria-describedBy=\"dialog-description\"\n class={{\n \"calendar-container\": true,\n above: this.showPickerAbove,\n }}\n onMouseDown={this.handleCalendarMouseDown}\n onClick={this.handleCalendarClick}\n >\n <span\n ref={(el) => (this.liveRegionEl = el)}\n id=\"live-region\"\n aria-live=\"assertive\"\n class=\"sr-only\"\n ></span>\n <div\n class={{\n \"month-year-nav-container\": true,\n }}\n >\n <div class=\"month-year-nav\">\n {this.previousMonthButton()}\n <span id=\"select-month-hint\" aria-hidden=\"true\">\n {monthButtonText}\n </span>\n <ic-button\n ref={(el: HTMLIcButtonElement) => (this.monthButtonEl = el)}\n size={size}\n class=\"month-picker-button\"\n aria-haspopup=\"menu\"\n aria-expanded={monthPickerVisible ? \"true\" : \"false\"}\n full-width=\"true\"\n variant=\"tertiary\"\n aria-label={monthLabel}\n aria-describedby=\"select-month-hint\"\n onKeyDown={this.monthButtonKeyDownHandler}\n onClick={this.monthButtonClickHandler}\n >\n {monthNames[monthInView]}\n </ic-button>\n {this.nextMonthButton()}\n </div>\n <div class=\"month-year-nav\">\n {this.previousYearButton()}\n <span id=\"select-year-hint\" aria-hidden=\"true\">\n {yearButtonText}\n </span>\n <ic-button\n ref={(el: HTMLIcButtonElement) => (this.yearButtonEl = el)}\n size={size}\n class=\"year-picker-button\"\n aria-haspopup=\"menu\"\n aria-expanded={yearPickerVisible ? \"true\" : \"false\"}\n full-width=\"true\"\n variant=\"tertiary\"\n aria-label={yearLabel}\n aria-describedby=\"select-year-hint\"\n onKeyDown={this.yearButtonKeyDownHandler}\n onClick={this.yearButtonClickHandler}\n >\n {this.yearInView}\n </ic-button>\n {this.nextYearButton()}\n </div>\n </div>\n {!(monthPickerVisible || yearPickerVisible) && (\n <div\n class={{\n calendar: true,\n hidden: monthPickerVisible || yearPickerVisible,\n }}\n onKeyDown={this.handleCalendarKeyDown}\n >\n <div class=\"weekdays\" aria-hidden=\"true\">\n {orderedDaysOfWeek.map((dayName) => {\n const header =\n size === \"small\" ? dayName.charAt(0) : dayName;\n return (\n <div class=\"calendar-day-header\">\n <ic-typography variant=\"caption\">\n {header}\n </ic-typography>\n </div>\n );\n })}\n </div>\n\n <div class=\"calendar-days-container\">\n {this.currMonthView.map((day) => (\n <DayButton\n day={day}\n disableDay={this.disableDays.includes(\n Number(day.getDay())\n )}\n today={dateMatches(day, this.today)}\n selected={dateMatches(day, this.selectedDate)}\n focussed={dateMatches(day, this.focussedDate)}\n inRange={dateInRange(day, minDay, maxDate)}\n monthInView={monthInView}\n onSelectDay={this.handleSelectDay}\n focussedDayRef={this.setFocussedDayEl}\n onFocusDay={this.onDayButtonFocusHandler}\n onBlurDay={this.onDayButtonBlurHandler}\n showDaysOutsideMonth={this.showDaysOutsideMonth}\n ></DayButton>\n ))}\n </div>\n </div>\n )}\n <div\n class={{\n \"month-picker-container\": true,\n hidden: !monthPickerVisible,\n }}\n >\n {monthPickerVisible && (\n <MonthPicker\n size={size}\n onSelectMonth={this.handleSelectMonth}\n monthInView={monthInView}\n focussedMonth={focussedMonth}\n onKeyDown={this.monthPickerKeyDownHandler}\n focussedMonthRef={this.setFocussedMonthEl}\n minDate={minDate}\n maxDate={maxDate}\n yearInView={yearInView}\n ></MonthPicker>\n )}\n </div>\n <div\n class={{\n \"year-picker-container\": true,\n hidden: !yearPickerVisible,\n }}\n >\n {yearPickerVisible && (\n <YearPicker\n decadeView={decadeView}\n size={size}\n focussedYear={focussedYear}\n onSelectYear={this.handleSelectYear}\n onKeyDown={this.yearPickerKeyDownHandler}\n onFocusYear={this.onYearButtonFocusHandler}\n onBlurYear={this.onYearButtonBlurHandler}\n yearInView={yearInView}\n minDate={minDate}\n maxDate={maxDate}\n focussedYearRef={this.setFocussedYearEl}\n ></YearPicker>\n )}\n </div>\n <div\n class={{\n \"bottom-buttons\": true,\n \"no-today\": !showPickerTodayButton,\n }}\n >\n {showPickerTodayButton && (\n <ic-button\n id=\"today-button\"\n variant=\"tertiary\"\n ref={(el: HTMLIcButtonElement) => (this.todayButtonEl = el)}\n size={size}\n aria-label=\"Navigate to current date\"\n onClick={this.todayButtonClickHandler}\n onKeyDown={this.todayButtonKeyDownHandler}\n disabled={this.isCurrentMonth()}\n >\n Go to today\n </ic-button>\n )}\n {showPickerClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"clear selected date\"\n ref={(el: HTMLIcButtonElement) => (this.clearButtonEl = el)}\n variant=\"tertiary\"\n size={size}\n onClick={this.clearButtonClickHandler}\n onKeyDown={this.clearButtonKeyDownHandler}\n disabled={\n this.value === \"\" ||\n this.value === null ||\n this.value === undefined\n }\n >\n Clear\n </ic-button>\n )}\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as e,h as i,H as o,g as n}from"./p-8455d1bb.js";import{i as a}from"./p-9397b15b.js";import{C as s}from"./p-170ddfc2.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;border-bottom:var(--ic-border-default);--ic-typography-color:currentcolor}:host ic-typography,:host .expand-chevron{color:var(--ic-color-primary-text)}:host(.ic-accordion-light) ic-typography,:host(.ic-accordion-light) .expanded-content,:host(.ic-accordion-light) .icon-container,:host(.ic-accordion-light) .expand-chevron{color:var(--ic-architectural-white)}:host(.ic-accordion-disabled) ic-typography,:host(.ic-accordion-disabled) .icon-container,:host(.ic-accordion-disabled) .expand-chevron{color:var(--ic-architectural-500)}.section-button.small{padding:var(--ic-space-xxs) var(--ic-space-xs)}.section-button.large{padding:var(--ic-space-sm) var(--ic-space-xs)}:host(:first-of-type){border-top:var(--ic-border-default)}:focus{outline:none}.section-button{background-color:transparent;display:flex;align-items:center;width:100%;padding:var(--ic-space-xs);font-weight:var(--ic-font-weight-bold);border:none}.section-header{text-align:left;flex:1 0}button:hover:enabled{background-color:var(--ic-action-dark-bg-hover);cursor:pointer}button:active{background-color:var(--ic-action-dark-bg-active)}button:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast)}button:disabled{pointer-events:none}.icon-container{margin:0 var(--ic-space-xs) 0 0;display:flex;align-items:center;width:var(--ic-space-lg);height:var(--ic-space-lg)}::slotted(svg){width:var(--ic-space-md);height:var(--ic-space-md)}.expand-chevron{width:var(--ic-space-lg);height:var(--ic-space-lg);margin-left:calc(var(--ic-space-xl) + var(--ic-space-xs));transform:rotate(90deg);justify-self:end}.content-expanded-chevron{transform:rotate(-90deg)}.expanded-content{height:0;overflow:hidden;display:flex;flex-direction:column;visibility:var(--ic-expanded-content-visibility, hidden)}.expanded-content-inner{padding:var(--ic-space-xs)}.expanded-content-opened{overflow:visible}@media (forced-colors: active){button:focus{border:var(--ic-hc-border) !important}}';let c=0;const d=class{constructor(i){t(this,i);this.accordionClicked=e(this,"accordionClicked",7);this.accordionId=`ic-accordion-${c++}`;this.CONTENT_VISIBILITY_PROPERTY="--ic-expanded-content-visibility";this.toggleExpanded=()=>{this.expanded=!this.expanded;this.accordionClicked.emit({id:this.accordionId})};this.setAccordionAnimation=(t,e,i,o)=>{t.style.transitionDuration=`${e}ms`;t.style.transitionProperty=i;t.style.transitionDelay=o};this.setExpandedContentStyle=(t,e)=>{if(t.propertyName==="height"&&e.clientHeight>0){e.classList.add("expanded-content-opened");e.style.height="auto"}};this.hideExpandedContent=(t,e)=>{if(t.propertyName==="height"&&e.clientHeight===0){e.style.setProperty(this.CONTENT_VISIBILITY_PROPERTY,"hidden")}};this.animateExpandedContent=()=>{const t=this.expandedContentEl.scrollHeight;if(t>0&&this.expanded){this.expandedContentEl.style.setProperty(this.CONTENT_VISIBILITY_PROPERTY,"visible");this.expandedContentEl.style.height=`${t}px`;this.setAccordionAnimation(this.expandedContentEl,"300","height","ease-out");this.expandedContentEl.addEventListener("transitionend",(t=>{this.setExpandedContentStyle(t,this.expandedContentEl)}))}else if(!this.expanded){this.expandedContentEl.style.height=`${this.expandedContentEl.scrollHeight}px`;if(this.expandedContentEl.scrollHeight>0&&!this.expanded){this.expandedContentEl.style.height="0";this.setAccordionAnimation(this.expandedContentEl,"300","height","ease-in");this.expandedContentEl.classList.remove("expanded-content-opened")}this.expandedContentEl.addEventListener("transitionend",(t=>{this.hideExpandedContent(t,this.expandedContentEl)}))}};this.appearance="default";this.disabled=false;this.expanded=false;this.heading="";this.message="";this.size="medium"}handleExpandedWatch(){this.animateExpandedContent()}async setFocus(){if(this.accordionBtnHeading){this.accordionBtnHeading.focus()}}disconnectedCallback(){if(this.expandedContentEl){this.expandedContentEl.removeEventListener("transitionend",(t=>this.setExpandedContentStyle(t,this.expandedContentEl)),true);this.expandedContentEl.removeEventListener("transitionend",(t=>this.hideExpandedContent(t,this.expandedContentEl)),true)}}componentDidLoad(){if(this.expanded){this.expandedContentEl.style.height="auto";this.expandedContentEl.style.setProperty(this.CONTENT_VISIBILITY_PROPERTY,"visible")}}render(){const{appearance:t,size:e,disabled:n,expanded:r}=this;return i(o,{id:this.accordionId,class:{[`ic-accordion-${t}`]:true,["ic-accordion-disabled"]:n},"aria-disabled":n?"true":"false"},i("button",{ref:t=>this.accordionBtnHeading=t,id:`${this.accordionId}-button`,disabled:n,tabindex:n?-1:0,class:{[`${e}`]:true,["section-button"]:true,["section-button-open"]:r&&!n},"aria-expanded":`${r}`,"aria-controls":"expanded-content-area",onClick:this.toggleExpanded},a(this.el,"icon")&&i("div",{class:"icon-container"},i("slot",{name:"icon"})),i("ic-typography",{variant:"subtitle-large",class:"section-header"},a(this.el,"heading")?i("slot",{name:"heading"}):this.heading),i("span",{class:{["expand-chevron"]:true,["content-expanded-chevron"]:r&&!n},"aria-hidden":"true",innerHTML:s})),i("div",{class:{["expanded-content"]:true},"aria-labelledby":`${this.accordionId}-button`,role:"region","aria-hidden":`${!r}`,id:"expanded-content-area",ref:t=>this.expandedContentEl=t},i("div",{class:"expanded-content-inner"},this.message?i("ic-typography",{variant:"body"},this.message):i("slot",null))))}get el(){return n(this)}static get watchers(){return{expanded:["handleExpandedWatch"]}}};d.style=r;export{d as ic_accordion};
|
2
|
-
//# sourceMappingURL=p-3ace51f5.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icAccordionCss","accordionIds","Accordion","constructor","hostRef","this","accordionId","CONTENT_VISIBILITY_PROPERTY","toggleExpanded","expanded","accordionClicked","emit","id","setAccordionAnimation","el","duration","property","delay","style","transitionDuration","transitionProperty","transitionDelay","setExpandedContentStyle","ev","expandedContent","propertyName","clientHeight","classList","add","height","hideExpandedContent","setProperty","animateExpandedContent","elementHeight","expandedContentEl","scrollHeight","addEventListener","e","remove","appearance","disabled","heading","message","size","handleExpandedWatch","setFocus","accordionBtnHeading","focus","disconnectedCallback","removeEventListener","componentDidLoad","render","h","Host","class","ref","tabindex","onClick","isSlotUsed","name","variant","innerHTML","chevronIcon","role"],"sources":["../web-components/dist/collection/components/ic-accordion/ic-accordion.css?tag=ic-accordion&encapsulation=shadow","../web-components/dist/collection/components/ic-accordion/ic-accordion.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n border-bottom: var(--ic-border-default);\n\n --ic-typography-color: currentcolor;\n}\n\n:host ic-typography,\n:host .expand-chevron {\n color: var(--ic-color-primary-text);\n}\n\n:host(.ic-accordion-light) ic-typography,\n:host(.ic-accordion-light) .expanded-content,\n:host(.ic-accordion-light) .icon-container,\n:host(.ic-accordion-light) .expand-chevron {\n color: var(--ic-architectural-white);\n}\n\n:host(.ic-accordion-disabled) ic-typography,\n:host(.ic-accordion-disabled) .icon-container,\n:host(.ic-accordion-disabled) .expand-chevron {\n color: var(--ic-architectural-500);\n}\n\n.section-button.small {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n}\n\n.section-button.large {\n padding: var(--ic-space-sm) var(--ic-space-xs);\n}\n\n:host(:first-of-type) {\n border-top: var(--ic-border-default);\n}\n\n:focus {\n outline: none;\n}\n\n.section-button {\n background-color: transparent;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--ic-space-xs);\n font-weight: var(--ic-font-weight-bold);\n border: none;\n}\n\n.section-header {\n text-align: left;\n flex: 1 0;\n}\n\nbutton:hover:enabled {\n background-color: var(--ic-action-dark-bg-hover);\n cursor: pointer;\n}\n\nbutton:active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n}\n\nbutton:disabled {\n pointer-events: none;\n}\n\n.icon-container {\n margin: 0 var(--ic-space-xs) 0 0;\n display: flex;\n align-items: center;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n::slotted(svg) {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n.expand-chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin-left: calc(var(--ic-space-xl) + var(--ic-space-xs));\n transform: rotate(90deg);\n justify-self: end;\n}\n\n.content-expanded-chevron {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n height: 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n visibility: var(--ic-expanded-content-visibility, hidden);\n}\n\n.expanded-content-inner {\n padding: var(--ic-space-xs);\n}\n\n.expanded-content-opened {\n overflow: visible;\n}\n\n@media (forced-colors: active) {\n button:focus {\n border: var(--ic-hc-border) !important;\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport { isSlotUsed } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nlet accordionIds = 0;\n/**\n * @slot heading - Content is placed as the accordion heading.\n * @slot icon - Content is placed to the left of the heading.\n */\nexport class Accordion {\n constructor() {\n this.accordionId = `ic-accordion-${accordionIds++}`;\n this.CONTENT_VISIBILITY_PROPERTY = \"--ic-expanded-content-visibility\";\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n this.accordionClicked.emit({ id: this.accordionId });\n };\n // Set accordion animation\n this.setAccordionAnimation = (el, duration, property, delay) => {\n el.style.transitionDuration = `${duration}ms`;\n el.style.transitionProperty = property;\n el.style.transitionDelay = delay;\n };\n this.setExpandedContentStyle = (ev, expandedContent) => {\n if (ev.propertyName === \"height\" && expandedContent.clientHeight > 0) {\n expandedContent.classList.add(\"expanded-content-opened\");\n expandedContent.style.height = \"auto\";\n }\n };\n this.hideExpandedContent = (ev, expandedContent) => {\n if (ev.propertyName === \"height\" && expandedContent.clientHeight === 0) {\n expandedContent.style.setProperty(this.CONTENT_VISIBILITY_PROPERTY, \"hidden\");\n }\n };\n this.animateExpandedContent = () => {\n const elementHeight = this.expandedContentEl.scrollHeight;\n if (elementHeight > 0 && this.expanded) {\n this.expandedContentEl.style.setProperty(this.CONTENT_VISIBILITY_PROPERTY, \"visible\");\n this.expandedContentEl.style.height = `${elementHeight}px`;\n this.setAccordionAnimation(this.expandedContentEl, \"300\", \"height\", \"ease-out\");\n this.expandedContentEl.addEventListener(\"transitionend\", (e) => {\n this.setExpandedContentStyle(e, this.expandedContentEl);\n });\n }\n else if (!this.expanded) {\n this.expandedContentEl.style.height = `${this.expandedContentEl.scrollHeight}px`;\n if (this.expandedContentEl.scrollHeight > 0 && !this.expanded) {\n this.expandedContentEl.style.height = \"0\";\n this.setAccordionAnimation(this.expandedContentEl, \"300\", \"height\", \"ease-in\");\n this.expandedContentEl.classList.remove(\"expanded-content-opened\");\n }\n this.expandedContentEl.addEventListener(\"transitionend\", (e) => {\n this.hideExpandedContent(e, this.expandedContentEl);\n });\n }\n };\n this.appearance = \"default\";\n this.disabled = false;\n this.expanded = false;\n this.heading = \"\";\n this.message = \"\";\n this.size = \"medium\";\n }\n // Every time expanded is set via toggleExpanded or accordionGroup, animate to open or close\n handleExpandedWatch() {\n this.animateExpandedContent();\n }\n /**\n * Sets focus on accordion heading.\n */\n async setFocus() {\n if (this.accordionBtnHeading) {\n this.accordionBtnHeading.focus();\n }\n }\n disconnectedCallback() {\n if (this.expandedContentEl) {\n this.expandedContentEl.removeEventListener(\"transitionend\", (e) => this.setExpandedContentStyle(e, this.expandedContentEl), true);\n this.expandedContentEl.removeEventListener(\"transitionend\", (e) => this.hideExpandedContent(e, this.expandedContentEl), true);\n }\n }\n componentDidLoad() {\n // So accordion opens by default if expanded set to true\n if (this.expanded) {\n this.expandedContentEl.style.height = \"auto\";\n this.expandedContentEl.style.setProperty(this.CONTENT_VISIBILITY_PROPERTY, \"visible\");\n }\n }\n render() {\n const { appearance, size, disabled, expanded } = this;\n return (h(Host, { id: this.accordionId, class: {\n [`ic-accordion-${appearance}`]: true,\n [\"ic-accordion-disabled\"]: disabled,\n }, \"aria-disabled\": disabled ? \"true\" : \"false\" }, h(\"button\", { ref: (el) => (this.accordionBtnHeading = el), id: `${this.accordionId}-button`, disabled: disabled, tabindex: disabled ? -1 : 0, class: {\n [`${size}`]: true,\n [\"section-button\"]: true,\n [\"section-button-open\"]: expanded && !disabled,\n }, \"aria-expanded\": `${expanded}`, \"aria-controls\": \"expanded-content-area\", onClick: this.toggleExpanded }, isSlotUsed(this.el, \"icon\") && (h(\"div\", { class: \"icon-container\" }, h(\"slot\", { name: \"icon\" }))), h(\"ic-typography\", { variant: \"subtitle-large\", class: \"section-header\" }, isSlotUsed(this.el, \"heading\") ? (h(\"slot\", { name: \"heading\" })) : (this.heading)), h(\"span\", { class: {\n [\"expand-chevron\"]: true,\n [\"content-expanded-chevron\"]: expanded && !disabled,\n }, \"aria-hidden\": \"true\", innerHTML: chevronIcon })), h(\"div\", { class: {\n [\"expanded-content\"]: true,\n }, \"aria-labelledby\": `${this.accordionId}-button`, role: \"region\", \"aria-hidden\": `${!expanded}`, id: \"expanded-content-area\", ref: (el) => (this.expandedContentEl = el) }, h(\"div\", { class: \"expanded-content-inner\" }, this.message ? (h(\"ic-typography\", { variant: \"body\" }, this.message)) : (h(\"slot\", null))))));\n }\n static get is() { return \"ic-accordion\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-accordion.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-accordion.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Determines whether the light or dark variant of the accordion should be displayed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the accordion will be disabled.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the accordion appears expanded.\"\n },\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The section header outlining section content.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The main body message of the accordion.\"\n },\n \"attribute\": \"message\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the accordion.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"accordionClicked\",\n \"name\": \"accordionClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when accordion is clicked.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ id: string }\",\n \"resolved\": \"{ id: string; }\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on accordion heading.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"expanded\",\n \"methodName\": \"handleExpandedWatch\"\n }];\n }\n}\n//# sourceMappingURL=ic-accordion.js.map\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as e,H as s,g as o}from"./p-8455d1bb.js";import{s as a,r as n,f as r,a as l,p as h}from"./p-9397b15b.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}ic-input-label.error{--ic-typography-color:var(--ic-status-error)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.ic-radio-group-small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.ic-radio-group-small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}:host .radio-buttons-container{display:flex;flex-direction:column;gap:var(--ic-space-xxs)}:host(.ic-radio-group-small) .radio-buttons-container{gap:var(--ic-space-xxxs)}:host .radio-buttons-container.horizontal{display:flex;flex-direction:row;gap:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-radio-group-small) .radio-buttons-container.horizontal{gap:var(--ic-space-xl)}';const c=class{constructor(e){t(this,e);this.icChange=i(this,"icChange",7);this.resizeObserver=null;this.ADDITIONAL_FIELD="additional-field";this.RADIO_HORIZONTAL="horizontal";this.RADIO_VERTICAL="vertical";this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.checkOrientation()}));this.resizeObserver.observe(this.el)};this.handleKeyDown=t=>{switch(t.key){case"ArrowDown":case"ArrowRight":this.radioOptions[this.getNextItemToSelect(this.selectedChild,true)].click();t.preventDefault();break;case"ArrowUp":case"ArrowLeft":this.radioOptions[this.getNextItemToSelect(this.selectedChild,false)].click();t.preventDefault()}};this.getNextItemToSelect=(t,i)=>{const e=this.radioOptions.length-1;if(t<1){t=0}let s=i?t+1:t-1;if(s<0){s=e}else if(s>e){s=0}if(this.radioOptions[s].disabled){s=this.getNextItemToSelect(s,i)}return s};this.addSlotChangeListener=()=>{this.radioContainer.addEventListener("slotchange",this.setRadioOptions)};this.setFirstRadioOptionTabIndex=t=>{this.radioOptions[0].setTabIndex(t)};this.setRadioOptions=()=>{this.selectedChild=-1;this.checkedValue="";this.radioOptions=Array.from(this.el.querySelectorAll("ic-radio-option"));if(this.radioOptions.length>0){this.radioOptions.forEach(((t,i)=>{if(!t.selected){t.selected=this.checkedValue===t.value}t.name=this.name;t.groupLabel=this.label;if(t.selected){this.selectedChild=i;this.checkedValue=t.value}if(this.disabled){t.disabled=true}}));this.setFirstRadioOptionTabIndex(this.selectedChild>0?-1:0);if(this.initialOrientation===this.RADIO_HORIZONTAL&&this.radioOptions!==undefined&&(this.radioOptions.length>2||this.radioOptions.length===2&&(a(this.radioOptions[0],this.ADDITIONAL_FIELD)||a(this.radioOptions[1],this.ADDITIONAL_FIELD)))){this.currentOrientation=this.RADIO_VERTICAL}}};this.checkedValue="";this.currentOrientation=undefined;this.initialOrientation=undefined;this.selectedChild=-1;this.disabled=false;this.helperText=undefined;this.hideLabel=false;this.label=undefined;this.name=undefined;this.orientation="vertical";this.required=false;this.size="medium";this.validationStatus="";this.validationText=""}watchDisabledHandler(t){this.radioOptions.forEach((i=>i.disabled=t))}orientationChangeHandler(){this.initialOrientation=this.orientation;this.checkOrientation()}disconnectedCallback(){var t,i;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect();(i=this.radioContainer)===null||i===void 0?void 0:i.removeEventListener("slotchange",this.setRadioOptions)}componentWillLoad(){n(this.disabled,this.el);this.orientationChangeHandler();this.currentOrientation=this.initialOrientation}componentDidLoad(){this.setRadioOptions();r(this.runResizeObserver);this.addSlotChangeListener();l([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Radio Group")}selectHandler({detail:t,target:i}){var e;this.checkedValue=t.value;const s=i;this.icChange.emit({value:this.checkedValue,selectedOption:{radio:s,textFieldValue:(e=s===null||s===void 0?void 0:s.querySelector("ic-text-field"))===null||e===void 0?void 0:e.value}});if(this.radioOptions!==undefined){this.radioOptions.forEach(((t,i)=>{t.selected=this.checkedValue===t.value;if(t.selected){this.selectedChild=i}}));this.setFirstRadioOptionTabIndex(this.selectedChild>0?-1:0)}}changeHandler(){const t=this.radioOptions.findIndex((t=>t.selected));if(t<0){this.setFirstRadioOptionTabIndex(0);this.selectedChild=t}}checkOrientation(){if(this.initialOrientation===this.RADIO_HORIZONTAL){let t=0;if(Array.isArray(this.radioOptions)&&this.radioOptions.length>0){this.radioOptions.forEach((({clientWidth:i},e,s)=>{t+=i;if(e<s.length-1)t+=40}))}else{t=0}if(this.currentOrientation===this.RADIO_HORIZONTAL&&t>this.radioContainer.clientWidth){this.currentOrientation=this.RADIO_VERTICAL}else if(this.currentOrientation===this.RADIO_VERTICAL&&t<this.radioContainer.clientWidth){this.currentOrientation=this.RADIO_HORIZONTAL}}}render(){const{currentOrientation:t,disabled:i,handleKeyDown:o,helperText:a,hideLabel:n,label:r,required:l,size:d,validationStatus:c,validationText:p}=this;return e(s,{onKeyDown:o,class:{"ic-radio-group-small":d==="small"}},e("div",{role:"radiogroup","aria-label":`${r}${l?", required":""}`},!n&&e("ic-input-label",{class:{[`${c}`]:true},label:r,helperText:a,required:l,disabled:i}),e("div",{class:{"radio-buttons-container":true,horizontal:t===this.RADIO_HORIZONTAL},ref:t=>this.radioContainer=t},e("slot",null))),h(c,i)&&e("ic-input-validation",{ariaLiveMode:"polite",status:c,message:p}))}get el(){return o(this)}static get watchers(){return{disabled:["watchDisabledHandler"],orientation:["orientationChangeHandler"]}}};c.style=d;export{c as ic_radio_group};
|
2
|
-
//# sourceMappingURL=p-3f0391c1.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icRadioGroupCss","RadioGroup","constructor","hostRef","this","resizeObserver","ADDITIONAL_FIELD","RADIO_HORIZONTAL","RADIO_VERTICAL","runResizeObserver","ResizeObserver","checkOrientation","observe","el","handleKeyDown","event","key","radioOptions","getNextItemToSelect","selectedChild","click","preventDefault","currentItem","movingDown","numRadios","length","nextItem","disabled","addSlotChangeListener","radioContainer","addEventListener","setRadioOptions","setFirstRadioOptionTabIndex","value","setTabIndex","checkedValue","Array","from","querySelectorAll","forEach","radioOption","index","selected","name","groupLabel","label","initialOrientation","undefined","slotHasContent","currentOrientation","helperText","hideLabel","orientation","required","size","validationStatus","validationText","watchDisabledHandler","newValue","orientationChangeHandler","disconnectedCallback","_a","_b","disconnect","removeEventListener","componentWillLoad","removeDisabledFalse","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","selectHandler","detail","target","selectedOption","icChange","emit","radio","textFieldValue","querySelector","changeHandler","findIndex","totalWidth","isArray","clientWidth","i","arr","render","h","Host","onKeyDown","class","role","horizontal","ref","hasValidationStatus","ariaLiveMode","status","message"],"sources":["../web-components/dist/collection/components/ic-radio-group/ic-radio-group.css?tag=ic-radio-group&encapsulation=shadow","../web-components/dist/collection/components/ic-radio-group/ic-radio-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n}\n\nic-input-label.error {\n --ic-typography-color: var(--ic-status-error);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.ic-radio-group-small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.ic-radio-group-small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\n:host .radio-buttons-container {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xxs);\n}\n\n:host(.ic-radio-group-small) .radio-buttons-container {\n gap: var(--ic-space-xxxs);\n}\n\n:host .radio-buttons-container.horizontal {\n display: flex;\n flex-direction: row;\n gap: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-radio-group-small) .radio-buttons-container.horizontal {\n gap: var(--ic-space-xl);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { hasValidationStatus, slotHasContent, onComponentRequiredPropUndefined, removeDisabledFalse, checkResizeObserver, } from \"../../utils/helpers\";\nexport class RadioGroup {\n constructor() {\n this.resizeObserver = null;\n this.ADDITIONAL_FIELD = \"additional-field\";\n this.RADIO_HORIZONTAL = \"horizontal\";\n this.RADIO_VERTICAL = \"vertical\";\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkOrientation();\n });\n this.resizeObserver.observe(this.el);\n };\n this.handleKeyDown = (event) => {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.radioOptions[this.getNextItemToSelect(this.selectedChild, true)].click();\n event.preventDefault();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.radioOptions[this.getNextItemToSelect(this.selectedChild, false)].click();\n event.preventDefault();\n }\n };\n this.getNextItemToSelect = (currentItem, movingDown) => {\n const numRadios = this.radioOptions.length - 1;\n if (currentItem < 1) {\n currentItem = 0;\n }\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n //check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numRadios;\n }\n else if (nextItem > numRadios) {\n nextItem = 0;\n }\n //if next item is disabled then find next\n if (this.radioOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n return nextItem;\n };\n this.addSlotChangeListener = () => {\n this.radioContainer.addEventListener(\"slotchange\", this.setRadioOptions);\n };\n this.setFirstRadioOptionTabIndex = (value) => {\n this.radioOptions[0].setTabIndex(value);\n };\n this.setRadioOptions = () => {\n this.selectedChild = -1;\n this.checkedValue = \"\";\n this.radioOptions = Array.from(this.el.querySelectorAll(\"ic-radio-option\"));\n if (this.radioOptions.length > 0) {\n this.radioOptions.forEach((radioOption, index) => {\n if (!radioOption.selected) {\n radioOption.selected = this.checkedValue === radioOption.value;\n }\n radioOption.name = this.name;\n radioOption.groupLabel = this.label;\n if (radioOption.selected) {\n this.selectedChild = index;\n this.checkedValue = radioOption.value;\n }\n if (this.disabled) {\n radioOption.disabled = true;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n if (this.initialOrientation === this.RADIO_HORIZONTAL &&\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (slotHasContent(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n slotHasContent(this.radioOptions[1], this.ADDITIONAL_FIELD))))) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n }\n };\n this.checkedValue = \"\";\n this.currentOrientation = undefined;\n this.initialOrientation = undefined;\n this.selectedChild = -1;\n this.disabled = false;\n this.helperText = undefined;\n this.hideLabel = false;\n this.label = undefined;\n this.name = undefined;\n this.orientation = \"vertical\";\n this.required = false;\n this.size = \"medium\";\n this.validationStatus = \"\";\n this.validationText = \"\";\n }\n watchDisabledHandler(newValue) {\n this.radioOptions.forEach((radioOption) => (radioOption.disabled = newValue));\n }\n orientationChangeHandler() {\n this.initialOrientation = this.orientation;\n this.checkOrientation();\n }\n disconnectedCallback() {\n var _a, _b;\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n (_b = this.radioContainer) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"slotchange\", this.setRadioOptions);\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n this.orientationChangeHandler();\n this.currentOrientation = this.initialOrientation;\n }\n componentDidLoad() {\n this.setRadioOptions();\n checkResizeObserver(this.runResizeObserver);\n this.addSlotChangeListener();\n onComponentRequiredPropUndefined([\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ], \"Radio Group\");\n }\n selectHandler({ detail, target }) {\n var _a;\n this.checkedValue = detail.value;\n const selectedOption = target;\n this.icChange.emit({\n value: this.checkedValue,\n selectedOption: {\n radio: selectedOption,\n textFieldValue: (_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.querySelector(\"ic-text-field\")) === null || _a === void 0 ? void 0 : _a.value,\n },\n });\n if (this.radioOptions !== undefined) {\n this.radioOptions.forEach((radioOption, index) => {\n radioOption.selected = this.checkedValue === radioOption.value;\n if (radioOption.selected) {\n this.selectedChild = index;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n }\n }\n changeHandler() {\n const selectedOption = this.radioOptions.findIndex((radioOption) => radioOption.selected);\n if (selectedOption < 0) {\n this.setFirstRadioOptionTabIndex(0);\n this.selectedChild = selectedOption;\n }\n }\n checkOrientation() {\n if (this.initialOrientation === this.RADIO_HORIZONTAL) {\n let totalWidth = 0;\n if (Array.isArray(this.radioOptions) && this.radioOptions.length > 0) {\n this.radioOptions.forEach(({ clientWidth }, i, arr) => {\n totalWidth += clientWidth;\n if (i < arr.length - 1)\n totalWidth += 40;\n });\n }\n else {\n totalWidth = 0;\n }\n if (this.currentOrientation === this.RADIO_HORIZONTAL &&\n totalWidth > this.radioContainer.clientWidth) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n else if (this.currentOrientation === this.RADIO_VERTICAL &&\n totalWidth < this.radioContainer.clientWidth) {\n this.currentOrientation = this.RADIO_HORIZONTAL;\n }\n }\n }\n render() {\n const { currentOrientation, disabled, handleKeyDown, helperText, hideLabel, label, required, size, validationStatus, validationText, } = this;\n return (h(Host, { onKeyDown: handleKeyDown, class: { \"ic-radio-group-small\": size === \"small\" } }, h(\"div\", { role: \"radiogroup\", \"aria-label\": `${label}${required ? \", required\" : \"\"}` }, !hideLabel && (h(\"ic-input-label\", { class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled })), h(\"div\", { class: {\n \"radio-buttons-container\": true,\n horizontal: currentOrientation === this.RADIO_HORIZONTAL,\n }, ref: (el) => (this.radioContainer = el) }, h(\"slot\", null))), hasValidationStatus(validationStatus, disabled) && (h(\"ic-input-validation\", { ariaLiveMode: \"polite\", status: validationStatus, message: validationText }))));\n }\n static get is() { return \"ic-radio-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-radio-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-radio-group.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"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 for additional field guidance.\"\n },\n \"attribute\": \"helper-text\",\n \"reflect\": false\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\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\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 label for the radio group to be displayed.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\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 name for the radio group to differentiate from other groups.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"orientation\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcOrientation\",\n \"resolved\": \"\\\"horizontal\\\" | \\\"vertical\\\"\",\n \"references\": {\n \"IcOrientation\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcOrientation\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\"\n },\n \"attribute\": \"orientation\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"vertical\\\"\"\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 radio group will require a value.\"\n },\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the radio group component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"validationText\": {\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 validation text - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"attribute\": \"validation-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"checkedValue\": {},\n \"currentOrientation\": {},\n \"initialOrientation\": {},\n \"selectedChild\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a radio.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-radio-group.types\",\n \"id\": \"src/components/ic-radio-group/ic-radio-group.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"orientation\",\n \"methodName\": \"orientationChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icCheck\",\n \"method\": \"selectHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icSelectedChange\",\n \"method\": \"changeHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-radio-group.js.map\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,f as e,h as i,g as a}from"./p-8455d1bb.js";import{c as o,r,i as n,a as s,h as c,I as d}from"./p-9397b15b.js";import{C as l}from"./p-170ddfc2.js";const b='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex}a{text-decoration:none !important;color:var(--ic-architechtural-black) !important}button{border:none;background-color:transparent;outline:var(--ic-hc-focus-outline)}.card,.card.clickable{display:flex;flex-direction:column;border:var(--ic-border-default);border-radius:var(--ic-border-radius);box-sizing:border-box;padding:var(--ic-space-md);text-align:left;color:var(--ic-architechtural-black);transition:var(--ic-easing-transition-fast);position:relative;width:inherit;min-width:-moz-fit-content;min-width:fit-content;height:-moz-fit-content;height:fit-content;min-height:100%}.dark.card,.dark.card.clickable{border:var(--ic-border-width) solid var(--ic-architectural-700)}.card.clickable:hover{background-color:var(--ic-action-default-bg-hover);border:var(--ic-border-hover);cursor:pointer}.card.clickable:focus,.card.clickable.focussed{background-color:var(--ic-action-default-bg-hover);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border:var(--ic-border-pressed)}.card.clickable:active{background-color:var(--ic-action-default-bg-active);box-shadow:var(--ic-border-focus)}.card.disabled{border:var(--ic-border-disabled)}.card.fullwidth{width:100%}.card-header{display:flex;align-items:center}.icon{display:flex;align-items:center;padding-right:var(--ic-space-xs)}.card.disabled ::slotted(svg){fill:var(--ic-color-tertiary-text)}.card.clickable .card-title{--ic-typography-color:var(--ic-hyperlink);color:var(--ic-hyperlink);text-decoration:underline;text-decoration-thickness:var(--ic-space-1px)}.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{display:inline-block;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-underline-offset: 25%){.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}.card.clickable:active .card-title{text-decoration:none}.card.disabled .card-title{text-decoration:underline;text-decoration-thickness:var(--ic-space-1px);text-decoration-color:var(--ic-color-tertiary-text);color:var(--ic-color-tertiary-text);--ic-typography-color:var(--ic-color-tertiary-text)}.subheading{margin-top:var(--ic-space-xxs)}.adornment{margin-top:var(--ic-space-xxs)}.card-message{margin-top:var(--ic-space-md);align-items:left}.card.disabled .card-message,.card.disabled .subheading{--ic-typography-color:var(--ic-color-tertiary-text)}.interaction-button{margin-left:auto}.image-top{margin-bottom:var(--ic-space-md);display:flex;justify-content:center}.image-mid{margin-top:var(--ic-space-md);display:flex;justify-content:center}.interaction-area{display:flex;flex-grow:1;gap:var(--ic-space-md);margin-top:var(--ic-space-md);align-items:flex-end}.interaction-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ic-space-sm)}.toggle-button{color:var(--ic-action-default);width:2.5rem;height:2.5rem;padding:var(--ic-space-xs);margin:var(--ic-space-1px) 0;min-width:0;cursor:pointer;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);display:inline-flex;flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}#ic-tooltip-expand-button{margin-left:auto;position:relative}.toggle-button:hover,.toggle-button:hover:focus{background-color:var(--ic-action-default-bg-hover);color:var(--ic-action-default-hover)}.toggle-button:focus{box-shadow:var(--ic-border-focus)}.toggle-button:active:not(:focus){background-color:var(--ic-action-default-bg-active);color:var(--ic-action-default-active)}.toggle-button svg{pointer-events:none;width:100% !important;height:100% !important;fill:currentcolor !important}.toggle-button-closed svg{transform:rotate(90deg)}.toggle-button-expanded svg{transform:rotate(-90deg)}.expanded-content{margin-top:var(--ic-space-md)}@media (forced-colors: active){.card ::slotted(svg){fill:currentcolor}.card.disabled ::slotted(svg){fill:GrayText !important}.card.disabled{border-color:GrayText !important}.card.disabled .card-message,.card.disabled .subheading,.card.disabled .card-title{color:GrayText;--ic-typography-color:GrayText}}';const h=class{constructor(i){t(this,i);this.hostMutationObserver=null;this.parentFocussed=()=>{this.isFocussed=true};this.parentBlurred=()=>{this.isFocussed=false};this.toggleExpanded=()=>{this.areaExpanded=!this.areaExpanded};this.hostMutationCallback=t=>{if(t.some((({type:t,addedNodes:e,removedNodes:i})=>t==="childList"?o(e,i,["message","adornment","expanded-content","image-top","image-mid","icon","interaction-button","badge","interaction-controls"]):false))){e(this)}};this.appearance="default";this.areaExpanded=false;this.isFocussed=false;this.parentEl=null;this.parentIsAnchorTag=false;this.clickable=false;this.disabled=false;this.expandable=false;this.fullWidth=false;this.heading=undefined;this.href=undefined;this.hreflang="";this.message="";this.referrerpolicy=undefined;this.rel=undefined;this.subheading=undefined;this.target=undefined}disconnectedCallback(){var t;if(this.parentIsAnchorTag){this.parentEl.removeEventListener("focus",this.parentFocussed);this.parentEl.removeEventListener("blur",this.parentBlurred)}(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.parentEl=this.el.parentElement;if(this.parentEl.tagName==="A"){this.clickable=true;this.parentIsAnchorTag=true;this.parentEl.classList.add("ic-card-wrapper-link");this.parentEl.addEventListener("focus",this.parentFocussed);this.parentEl.addEventListener("blur",this.parentBlurred)}r(this.disabled,this.el)}componentDidLoad(){!n(this.el,"heading")&&s([{prop:this.heading,propName:"heading"}],"Card");this.updateTheme();this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}}themeChangeHandler(t){const e=t.detail;this.updateTheme(e.mode)}async setFocus(){if(this.el.shadowRoot.querySelector("a")){this.el.shadowRoot.querySelector("a").focus()}else if(this.el.shadowRoot.querySelector("button")){this.el.shadowRoot.querySelector("button").focus()}}updateTheme(t=null){const e=c(this.el,t||null);if(e!==d.Default){this.appearance=e}}render(){const{clickable:t,disabled:e,expandable:a,heading:o,message:r,href:s,hreflang:c,referrerpolicy:b,rel:h,subheading:u,target:p,fullWidth:m,parentIsAnchorTag:g,isFocussed:f}=this;const v=g?"div":t?this.href===undefined?"button":"a":"div";const x=v=="a"&&{href:s,hrefLang:c,referrerPolicy:b,rel:h,target:p};return i(v,Object.assign({class:{["card"]:true,["clickable"]:t&&!e,["disabled"]:e,["fullwidth"]:m,["focussed"]:f,["dark"]:this.appearance===d.Dark},tabindex:t&&!g?0:null,"aria-disabled":e?"true":null,disabled:e?true:null},x),n(this.el,"image-top")&&i("div",{class:"image-top"},i("slot",{name:"image-top"})),i("div",{class:"card-header"},n(this.el,"icon")&&i("div",{class:"icon"},i("slot",{name:"icon"})),i("div",{class:"card-title"},i("slot",{name:"heading"},i("ic-typography",{variant:"h4"},i("p",null,o)))),n(this.el,"interaction-button")&&i("div",{class:"interaction-button"},i("slot",{name:"interaction-button"}))),(u||n(this.el,"subheading"))&&i("div",{class:"subheading"},i("slot",{name:"subheading"},i("ic-typography",{variant:"subtitle-small"},u))),n(this.el,"adornment")&&i("div",{class:"adornment"},i("slot",{name:"adornment"})),n(this.el,"image-mid")&&i("div",{class:"image-mid"},i("slot",{name:"image-mid"})),(r||n(this.el,"message"))&&i("div",{class:{["card-message"]:true}},r&&i("ic-typography",{variant:"body"},r),n(this.el,"message")&&i("slot",{name:"message"})),(n(this.el,"interaction-controls")||a)&&i("div",{class:"interaction-area"},i("div",{class:"interaction-controls"},i("slot",{name:"interaction-controls"})),a&&i("ic-tooltip",{id:"ic-tooltip-expand-button",label:"Toggle expandable area",silent:true},i("button",{class:{["toggle-button"]:true,[`toggle-button-${this.areaExpanded?"expanded":"closed"}`]:true},"aria-label":"Toggle expandable area","aria-expanded":`${this.areaExpanded}`,"aria-controls":this.areaExpanded?"expanded-content-area":null,onClick:this.toggleExpanded,innerHTML:l}))),n(this.el,"expanded-content")&&this.areaExpanded&&i("div",{class:"expanded-content",id:"expanded-content-area"},i("slot",{name:"expanded-content"})),n(this.el,"badge")&&i("slot",{name:"badge"}))}get el(){return a(this)}};h.style=b;export{h as ic_card_vertical};
|
2
|
-
//# sourceMappingURL=p-41fecc61.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icCardVerticalCss","CardVertical","constructor","hostRef","this","hostMutationObserver","parentFocussed","isFocussed","parentBlurred","toggleExpanded","areaExpanded","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","appearance","parentEl","parentIsAnchorTag","clickable","disabled","expandable","fullWidth","heading","undefined","href","hreflang","message","referrerpolicy","rel","subheading","target","disconnectedCallback","_a","removeEventListener","disconnect","componentWillLoad","el","parentElement","tagName","classList","add","addEventListener","removeDisabledFalse","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","propName","updateTheme","MutationObserver","observe","childList","handleHostClick","event","stopImmediatePropagation","themeChangeHandler","ev","theme","detail","mode","setFocus","shadowRoot","querySelector","focus","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","render","Component","attrs","hrefLang","referrerPolicy","h","Object","assign","class","Dark","tabindex","name","variant","id","label","silent","onClick","innerHTML","chevronIcon"],"sources":["../web-components/dist/collection/components/ic-card-vertical/ic-card-vertical.css?tag=ic-card-vertical&encapsulation=shadow","../web-components/dist/collection/components/ic-card-vertical/ic-card-vertical.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-architechtural-black) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card,\n.card.clickable {\n display: flex;\n flex-direction: column;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-architechtural-black);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: -moz-fit-content;\n min-width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 100%;\n}\n\n.dark.card,\n.dark.card.clickable {\n border: var(--ic-border-width) solid var(--ic-architectural-700);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-action-default-bg-hover);\n border: var(--ic-border-hover);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-border-pressed);\n}\n\n.card.clickable:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-border-disabled);\n}\n\n.card.fullwidth {\n width: 100%;\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.card.clickable .card-title {\n --ic-typography-color: var(--ic-hyperlink);\n\n color: var(--ic-hyperlink);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n.card.clickable:active .card-title {\n text-decoration: none;\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-color-tertiary-text);\n color: var(--ic-color-tertiary-text);\n\n --ic-typography-color: var(--ic-color-tertiary-text);\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.card.disabled .card-message,\n.card.disabled .subheading {\n --ic-typography-color: var(--ic-color-tertiary-text);\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n color: var(--ic-action-default);\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button:hover,\n.toggle-button:hover:focus {\n background-color: var(--ic-action-default-bg-hover);\n color: var(--ic-action-default-hover);\n}\n\n.toggle-button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.toggle-button:active:not(:focus) {\n background-color: var(--ic-action-default-bg-active);\n color: var(--ic-action-default-active);\n}\n\n.toggle-button svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card ::slotted(svg) {\n fill: currentcolor;\n }\n\n .card.disabled ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card.disabled {\n border-color: GrayText !important;\n }\n\n .card.disabled .card-message,\n .card.disabled .subheading,\n .card.disabled .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n ::slotted([slot=\"icon\"]) {\n fill: var(--ic-architectural-white);\n }\n} */\n","import { h, forceUpdate, } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined, isSlotUsed, getThemeFromContext, removeDisabledFalse, checkSlotInChildMutations, } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\nexport class CardVertical {\n constructor() {\n this.hostMutationObserver = null;\n this.parentFocussed = () => {\n this.isFocussed = true;\n };\n this.parentBlurred = () => {\n this.isFocussed = false;\n };\n this.toggleExpanded = () => {\n this.areaExpanded = !this.areaExpanded;\n };\n this.hostMutationCallback = (mutationList) => {\n if (mutationList.some(({ type, addedNodes, removedNodes }) => type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ])\n : false)) {\n forceUpdate(this);\n }\n };\n this.appearance = \"default\";\n this.areaExpanded = false;\n this.isFocussed = false;\n this.parentEl = null;\n this.parentIsAnchorTag = false;\n this.clickable = false;\n this.disabled = false;\n this.expandable = false;\n this.fullWidth = false;\n this.heading = undefined;\n this.href = undefined;\n this.hreflang = \"\";\n this.message = \"\";\n this.referrerpolicy = undefined;\n this.rel = undefined;\n this.subheading = undefined;\n this.target = undefined;\n }\n disconnectedCallback() {\n var _a;\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentWillLoad() {\n this.parentEl = this.el.parentElement;\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Card\");\n this.updateTheme();\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n handleHostClick(event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.updateTheme(theme.mode);\n }\n /**\n * Sets focus on the card.\n */\n async setFocus() {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n }\n else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n updateTheme(newTheme = null) {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n render() {\n const { clickable, disabled, expandable, heading, message, href, hreflang, referrerpolicy, rel, subheading, target, fullWidth, parentIsAnchorTag, isFocussed, } = this;\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n return (h(Component, Object.assign({ class: {\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n }, tabindex: clickable && !parentIsAnchorTag ? 0 : null, \"aria-disabled\": disabled ? \"true\" : null, disabled: disabled ? true : null }, attrs), isSlotUsed(this.el, \"image-top\") && (h(\"div\", { class: \"image-top\" }, h(\"slot\", { name: \"image-top\" }))), h(\"div\", { class: \"card-header\" }, isSlotUsed(this.el, \"icon\") && (h(\"div\", { class: \"icon\" }, h(\"slot\", { name: \"icon\" }))), h(\"div\", { class: \"card-title\" }, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\" }, h(\"p\", null, heading)))), isSlotUsed(this.el, \"interaction-button\") && (h(\"div\", { class: \"interaction-button\" }, h(\"slot\", { name: \"interaction-button\" })))), (subheading || isSlotUsed(this.el, \"subheading\")) && (h(\"div\", { class: \"subheading\" }, h(\"slot\", { name: \"subheading\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, subheading)))), isSlotUsed(this.el, \"adornment\") && (h(\"div\", { class: \"adornment\" }, h(\"slot\", { name: \"adornment\" }))), isSlotUsed(this.el, \"image-mid\") && (h(\"div\", { class: \"image-mid\" }, h(\"slot\", { name: \"image-mid\" }))), (message || isSlotUsed(this.el, \"message\")) && (h(\"div\", { class: {\n [\"card-message\"]: true,\n } }, message && h(\"ic-typography\", { variant: \"body\" }, message), isSlotUsed(this.el, \"message\") && h(\"slot\", { name: \"message\" }))), (isSlotUsed(this.el, \"interaction-controls\") || expandable) && (h(\"div\", { class: \"interaction-area\" }, h(\"div\", { class: \"interaction-controls\" }, h(\"slot\", { name: \"interaction-controls\" })), expandable && (h(\"ic-tooltip\", { id: \"ic-tooltip-expand-button\", label: \"Toggle expandable area\", silent: true }, h(\"button\", { class: {\n [\"toggle-button\"]: true,\n [`toggle-button-${this.areaExpanded ? \"expanded\" : \"closed\"}`]: true,\n }, \"aria-label\": \"Toggle expandable area\", \"aria-expanded\": `${this.areaExpanded}`, \"aria-controls\": this.areaExpanded ? \"expanded-content-area\" : null, onClick: this.toggleExpanded, innerHTML: chevronIcon }))))), isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (h(\"div\", { class: \"expanded-content\", id: \"expanded-content-area\" }, h(\"slot\", { name: \"expanded-content\" }))), isSlotUsed(this.el, \"badge\") && h(\"slot\", { name: \"badge\" })));\n }\n static get is() { return \"ic-card-vertical\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-card-vertical.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-card-vertical.css\"]\n };\n }\n static get properties() {\n return {\n \"clickable\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the card will be a clickable variant, instead of static.\"\n },\n \"attribute\": \"clickable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the card will be disabled if it is clickable.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expandable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the card will have an expandable area and expansion toggle button.\"\n },\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the card will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The heading for the card. This is required, unless a slotted heading is used.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the clickable card link points to. If set, the clickable card will render as an \\\"a\\\" tag, otherwise it will render as a button.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The main body message of the card.\"\n },\n \"attribute\": \"message\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subheading for the card.\"\n },\n \"attribute\": \"subheading\",\n \"reflect\": false\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"appearance\": {},\n \"areaExpanded\": {},\n \"isFocussed\": {},\n \"parentEl\": {},\n \"parentIsAnchorTag\": {}\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the card.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"click\",\n \"method\": \"handleHostClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-card-vertical.js.map\n"],"mappings":"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"}
|