@ukic/canary-web-components 3.0.0-canary.32 → 3.0.0-canary.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-6f4b406b.js → helpers-f81fed28.js} +37 -1
- package/dist/cjs/helpers-f81fed28.js.map +1 -0
- package/dist/cjs/ic-calendar_2.cjs.entry.js +2 -2
- package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
- package/dist/cjs/ic-checkbox_3.cjs.entry.js +11 -7
- package/dist/cjs/ic-checkbox_3.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.cjs.entry.js +11 -8
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js +8 -4
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-table-of-contents.cjs.entry.js +1 -1
- package/dist/cjs/ic-time-input.cjs.entry.js +401 -99
- package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-time-selector.cjs.entry.js +842 -0
- package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/{ic-toggle-button.cjs.entry.js → ic-toggle-button_2.cjs.entry.js} +274 -1
- package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
- package/dist/cjs/index-d337cd8a.js +8 -8
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/ic-calendar/ic-calendar.css +8 -6
- package/dist/collection/components/ic-calendar/ic-calendar.stories.js +13 -0
- package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js +10 -7
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +30 -6
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-time-input/ic-time-input.css +21 -3
- package/dist/collection/components/ic-time-input/ic-time-input.js +434 -106
- package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js +58 -9
- package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +2 -0
- package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
- package/dist/collection/components/ic-time-selector/ic-time-selector.css +293 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.js +1075 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +166 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.types.js +2 -0
- package/dist/collection/components/ic-time-selector/ic-time-selector.types.js.map +1 -0
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
- package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
- package/dist/collection/utils/helpers.js +35 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers2.js +36 -1
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-calendar2.js +1 -1
- package/dist/components/ic-calendar2.js.map +1 -1
- package/dist/components/ic-data-table.js +10 -7
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +11 -6
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-pagination2.js +9 -4
- package/dist/components/ic-pagination2.js.map +1 -1
- package/dist/components/ic-time-input.js +431 -112
- package/dist/components/ic-time-input.js.map +1 -1
- package/dist/components/ic-time-selector.d.ts +11 -0
- package/dist/components/ic-time-selector.js +898 -0
- package/dist/components/ic-time-selector.js.map +1 -0
- package/dist/components/ic-toggle-button-group.js +1 -299
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/{esm/ic-toggle-button-group.entry.js → components/ic-toggle-button-group2.js} +70 -13
- package/dist/components/ic-toggle-button-group2.js.map +1 -0
- package/dist/components/ic-toggle-button.js +1 -228
- package/dist/components/ic-toggle-button.js.map +1 -1
- package/dist/{esm/ic-toggle-button.entry.js → components/ic-toggle-button2.js} +65 -10
- package/dist/components/ic-toggle-button2.js.map +1 -0
- package/dist/components/ic-tree-item.js +2 -2
- package/dist/components/ic-tree-view.js +4 -4
- package/dist/core/core.css +28 -6
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-b80b08ae.entry.js → p-08f24329.entry.js} +2 -2
- package/dist/core/{p-615d474e.entry.js → p-14b8bf37.entry.js} +2 -2
- package/dist/core/{p-81f12581.entry.js → p-169ad948.entry.js} +2 -2
- package/dist/core/{p-847cbb16.entry.js → p-1d166343.entry.js} +2 -2
- package/dist/core/{p-b4bfaf8f.entry.js → p-201b41c7.entry.js} +2 -2
- package/dist/core/{p-24bac55f.entry.js → p-33509a89.entry.js} +2 -2
- package/dist/core/{p-e1920777.entry.js → p-3389625c.entry.js} +2 -2
- package/dist/core/{p-5a1cfb3c.entry.js → p-344752cb.entry.js} +2 -2
- package/dist/core/{p-6c238418.entry.js → p-348d7080.entry.js} +2 -2
- package/dist/core/{p-3ef2e98d.entry.js → p-39cdf5db.entry.js} +2 -2
- package/dist/core/{p-fd20470e.entry.js → p-496b314f.entry.js} +2 -2
- package/dist/core/{p-bd9a76d8.entry.js → p-508b6da3.entry.js} +2 -2
- package/dist/core/p-551a0fc1.entry.js +2 -0
- package/dist/core/p-551a0fc1.entry.js.map +1 -0
- package/dist/core/{p-f5cea10d.entry.js → p-5e6687a8.entry.js} +2 -2
- package/dist/core/{p-72171192.entry.js → p-60f4fe3a.entry.js} +2 -2
- package/dist/core/p-61c92598.entry.js +2 -0
- package/dist/core/p-61c92598.entry.js.map +1 -0
- package/dist/core/{p-e00e67ff.entry.js → p-6323da7a.entry.js} +2 -2
- package/dist/core/p-691dd972.entry.js +2 -0
- package/dist/core/p-691dd972.entry.js.map +1 -0
- package/dist/core/{p-c6c87e58.entry.js → p-6dfe0922.entry.js} +2 -2
- package/dist/core/p-71cc5909.entry.js +2 -0
- package/dist/core/p-71cc5909.entry.js.map +1 -0
- package/dist/core/{p-fd7f3b58.entry.js → p-770e92cd.entry.js} +2 -2
- package/dist/core/{p-7cf6b428.entry.js → p-79ead0e7.entry.js} +2 -2
- package/dist/core/{p-285892ef.entry.js → p-7b4b45cf.entry.js} +2 -2
- package/dist/core/{p-afedcfdb.entry.js → p-7efdbab8.entry.js} +2 -2
- package/dist/core/{p-96177a74.entry.js → p-802a4bd3.entry.js} +2 -2
- package/dist/core/p-829b34f9.js +2 -0
- package/dist/core/p-829b34f9.js.map +1 -0
- package/dist/core/{p-9a9605c3.entry.js → p-879c180d.entry.js} +2 -2
- package/dist/core/{p-3891ce53.entry.js → p-8830011c.entry.js} +2 -2
- package/dist/core/{p-444cd8d3.entry.js → p-8ab37b4d.entry.js} +2 -2
- package/dist/core/{p-c87cc0d1.entry.js → p-939025af.entry.js} +2 -2
- package/dist/core/{p-4992e9ac.entry.js → p-939b168a.entry.js} +2 -2
- package/dist/core/{p-5a4344cb.entry.js → p-9dea5764.entry.js} +2 -2
- package/dist/core/{p-af821831.entry.js → p-a88e61b2.entry.js} +2 -2
- package/dist/core/p-a88e61b2.entry.js.map +1 -0
- package/dist/core/{p-90611726.entry.js → p-a8a92e54.entry.js} +2 -2
- package/dist/core/{p-31f3fb15.entry.js → p-a94a7b71.entry.js} +2 -2
- package/dist/core/p-ad551a0c.entry.js +2 -0
- package/dist/core/p-ad551a0c.entry.js.map +1 -0
- package/dist/core/{p-ba75ed34.entry.js → p-b434bd7c.entry.js} +2 -2
- package/dist/core/{p-2188b483.entry.js → p-c0a7eed7.entry.js} +2 -2
- package/dist/core/{p-2bd2f38b.entry.js → p-c0b227d2.entry.js} +2 -2
- package/dist/core/{p-2646a629.entry.js → p-c32f043e.entry.js} +2 -2
- package/dist/core/{p-7a0f62c2.entry.js → p-c4b2774d.entry.js} +2 -2
- package/dist/core/{p-775b8dba.entry.js → p-c9525aac.entry.js} +2 -2
- package/dist/core/{p-7026afad.entry.js → p-ca05573a.entry.js} +2 -2
- package/dist/core/{p-8c580d88.entry.js → p-d0607a70.entry.js} +2 -2
- package/dist/core/{p-15c05eb8.entry.js → p-d528d856.entry.js} +2 -2
- package/dist/core/{p-0043b019.entry.js → p-da1c2883.entry.js} +2 -2
- package/dist/core/{p-ffc1cea6.entry.js → p-e2e556ec.entry.js} +2 -2
- package/dist/core/{p-e4ef4263.js → p-e519f607.js} +2 -2
- package/dist/core/{p-3f0bce15.entry.js → p-e5c6d01a.entry.js} +2 -2
- package/dist/core/{p-04a9f82f.entry.js → p-e8db8772.entry.js} +2 -2
- package/dist/core/{p-e4b82731.entry.js → p-ea04103e.entry.js} +2 -2
- package/dist/core/{p-9a95f428.entry.js → p-eaeb473e.entry.js} +2 -2
- package/dist/core/{p-8e592393.entry.js → p-ecc7fd71.entry.js} +2 -2
- package/dist/core/{p-6cfba272.entry.js → p-efe260f0.entry.js} +2 -2
- package/dist/core/{p-b6d6b26e.entry.js → p-f1b57f91.entry.js} +2 -2
- package/dist/core/{p-e4551a38.entry.js → p-f5dc04f7.entry.js} +2 -2
- package/dist/core/{p-25280383.entry.js → p-fb07921b.entry.js} +2 -2
- package/dist/core/p-fb07921b.entry.js.map +1 -0
- package/dist/core/{p-1900c7c7.entry.js → p-fd08156a.entry.js} +2 -2
- package/dist/core/{p-3594922d.entry.js → p-fe5b51bb.entry.js} +2 -2
- package/dist/core/{p-ef5b6622.entry.js → p-ff618439.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-5419eb6c.js → helpers-063369f4.js} +2 -2
- package/dist/esm/{helpers-5419eb6c.js.map → helpers-063369f4.js.map} +1 -1
- package/dist/esm/{helpers-9f228880.js → helpers-a08b3f32.js} +37 -2
- package/dist/esm/helpers-a08b3f32.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-calendar_2.entry.js +2 -2
- package/dist/esm/ic-calendar_2.entry.js.map +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +1 -1
- package/dist/esm/ic-card-vertical.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox_3.entry.js +12 -8
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +11 -8
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +1 -1
- package/dist/esm/ic-dialog.entry.js +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination_4.entry.js +9 -5
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +1 -1
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-search-bar.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-table-of-contents.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-time-input.entry.js +401 -99
- package/dist/esm/ic-time-input.entry.js.map +1 -1
- package/dist/esm/ic-time-selector.entry.js +838 -0
- package/dist/esm/ic-time-selector.entry.js.map +1 -0
- package/dist/esm/ic-toast.entry.js +1 -1
- package/dist/esm/ic-toggle-button_2.entry.js +449 -0
- package/dist/esm/ic-toggle-button_2.entry.js.map +1 -0
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-tree-item.entry.js +3 -3
- package/dist/esm/ic-tree-view.entry.js +4 -4
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/index-a7a720e7.js +8 -8
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +20 -14
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +4 -0
- package/dist/types/components/ic-time-input/ic-time-input.d.ts +26 -6
- package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +31 -7
- package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +1 -0
- package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +88 -0
- package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +99 -0
- package/dist/types/components/ic-time-selector/ic-time-selector.types.d.ts +1 -0
- package/dist/types/components.d.ts +147 -11
- package/dist/types/utils/helpers.d.ts +14 -0
- package/dist/types/utils/types.d.ts +2 -1
- package/hydrate/index.js +1356 -131
- package/hydrate/index.mjs +1356 -131
- package/package.json +30 -30
- package/dist/cjs/helpers-6f4b406b.js.map +0 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +0 -267
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +0 -1
- package/dist/cjs/ic-toggle-button.cjs.entry.js.map +0 -1
- package/dist/core/p-25280383.entry.js.map +0 -1
- package/dist/core/p-2c86ce4b.entry.js +0 -2
- package/dist/core/p-2c86ce4b.entry.js.map +0 -1
- package/dist/core/p-5b32aaf3.entry.js +0 -2
- package/dist/core/p-5b32aaf3.entry.js.map +0 -1
- package/dist/core/p-80111272.entry.js +0 -2
- package/dist/core/p-80111272.entry.js.map +0 -1
- package/dist/core/p-9044539c.entry.js +0 -2
- package/dist/core/p-9044539c.entry.js.map +0 -1
- package/dist/core/p-af821831.entry.js.map +0 -1
- package/dist/core/p-c3eddb99.entry.js +0 -2
- package/dist/core/p-c3eddb99.entry.js.map +0 -1
- package/dist/core/p-f48ce5f6.js +0 -2
- package/dist/core/p-f48ce5f6.js.map +0 -1
- package/dist/esm/helpers-9f228880.js.map +0 -1
- package/dist/esm/ic-toggle-button-group.entry.js.map +0 -1
- package/dist/esm/ic-toggle-button.entry.js.map +0 -1
- /package/dist/core/{p-b80b08ae.entry.js.map → p-08f24329.entry.js.map} +0 -0
- /package/dist/core/{p-615d474e.entry.js.map → p-14b8bf37.entry.js.map} +0 -0
- /package/dist/core/{p-81f12581.entry.js.map → p-169ad948.entry.js.map} +0 -0
- /package/dist/core/{p-847cbb16.entry.js.map → p-1d166343.entry.js.map} +0 -0
- /package/dist/core/{p-b4bfaf8f.entry.js.map → p-201b41c7.entry.js.map} +0 -0
- /package/dist/core/{p-24bac55f.entry.js.map → p-33509a89.entry.js.map} +0 -0
- /package/dist/core/{p-e1920777.entry.js.map → p-3389625c.entry.js.map} +0 -0
- /package/dist/core/{p-5a1cfb3c.entry.js.map → p-344752cb.entry.js.map} +0 -0
- /package/dist/core/{p-6c238418.entry.js.map → p-348d7080.entry.js.map} +0 -0
- /package/dist/core/{p-3ef2e98d.entry.js.map → p-39cdf5db.entry.js.map} +0 -0
- /package/dist/core/{p-fd20470e.entry.js.map → p-496b314f.entry.js.map} +0 -0
- /package/dist/core/{p-bd9a76d8.entry.js.map → p-508b6da3.entry.js.map} +0 -0
- /package/dist/core/{p-f5cea10d.entry.js.map → p-5e6687a8.entry.js.map} +0 -0
- /package/dist/core/{p-72171192.entry.js.map → p-60f4fe3a.entry.js.map} +0 -0
- /package/dist/core/{p-e00e67ff.entry.js.map → p-6323da7a.entry.js.map} +0 -0
- /package/dist/core/{p-c6c87e58.entry.js.map → p-6dfe0922.entry.js.map} +0 -0
- /package/dist/core/{p-fd7f3b58.entry.js.map → p-770e92cd.entry.js.map} +0 -0
- /package/dist/core/{p-7cf6b428.entry.js.map → p-79ead0e7.entry.js.map} +0 -0
- /package/dist/core/{p-285892ef.entry.js.map → p-7b4b45cf.entry.js.map} +0 -0
- /package/dist/core/{p-afedcfdb.entry.js.map → p-7efdbab8.entry.js.map} +0 -0
- /package/dist/core/{p-96177a74.entry.js.map → p-802a4bd3.entry.js.map} +0 -0
- /package/dist/core/{p-9a9605c3.entry.js.map → p-879c180d.entry.js.map} +0 -0
- /package/dist/core/{p-3891ce53.entry.js.map → p-8830011c.entry.js.map} +0 -0
- /package/dist/core/{p-444cd8d3.entry.js.map → p-8ab37b4d.entry.js.map} +0 -0
- /package/dist/core/{p-c87cc0d1.entry.js.map → p-939025af.entry.js.map} +0 -0
- /package/dist/core/{p-4992e9ac.entry.js.map → p-939b168a.entry.js.map} +0 -0
- /package/dist/core/{p-5a4344cb.entry.js.map → p-9dea5764.entry.js.map} +0 -0
- /package/dist/core/{p-90611726.entry.js.map → p-a8a92e54.entry.js.map} +0 -0
- /package/dist/core/{p-31f3fb15.entry.js.map → p-a94a7b71.entry.js.map} +0 -0
- /package/dist/core/{p-ba75ed34.entry.js.map → p-b434bd7c.entry.js.map} +0 -0
- /package/dist/core/{p-2188b483.entry.js.map → p-c0a7eed7.entry.js.map} +0 -0
- /package/dist/core/{p-2bd2f38b.entry.js.map → p-c0b227d2.entry.js.map} +0 -0
- /package/dist/core/{p-2646a629.entry.js.map → p-c32f043e.entry.js.map} +0 -0
- /package/dist/core/{p-7a0f62c2.entry.js.map → p-c4b2774d.entry.js.map} +0 -0
- /package/dist/core/{p-775b8dba.entry.js.map → p-c9525aac.entry.js.map} +0 -0
- /package/dist/core/{p-7026afad.entry.js.map → p-ca05573a.entry.js.map} +0 -0
- /package/dist/core/{p-8c580d88.entry.js.map → p-d0607a70.entry.js.map} +0 -0
- /package/dist/core/{p-15c05eb8.entry.js.map → p-d528d856.entry.js.map} +0 -0
- /package/dist/core/{p-0043b019.entry.js.map → p-da1c2883.entry.js.map} +0 -0
- /package/dist/core/{p-ffc1cea6.entry.js.map → p-e2e556ec.entry.js.map} +0 -0
- /package/dist/core/{p-e4ef4263.js.map → p-e519f607.js.map} +0 -0
- /package/dist/core/{p-3f0bce15.entry.js.map → p-e5c6d01a.entry.js.map} +0 -0
- /package/dist/core/{p-04a9f82f.entry.js.map → p-e8db8772.entry.js.map} +0 -0
- /package/dist/core/{p-e4b82731.entry.js.map → p-ea04103e.entry.js.map} +0 -0
- /package/dist/core/{p-9a95f428.entry.js.map → p-eaeb473e.entry.js.map} +0 -0
- /package/dist/core/{p-8e592393.entry.js.map → p-ecc7fd71.entry.js.map} +0 -0
- /package/dist/core/{p-6cfba272.entry.js.map → p-efe260f0.entry.js.map} +0 -0
- /package/dist/core/{p-b6d6b26e.entry.js.map → p-f1b57f91.entry.js.map} +0 -0
- /package/dist/core/{p-e4551a38.entry.js.map → p-f5dc04f7.entry.js.map} +0 -0
- /package/dist/core/{p-1900c7c7.entry.js.map → p-fd08156a.entry.js.map} +0 -0
- /package/dist/core/{p-3594922d.entry.js.map → p-fe5b51bb.entry.js.map} +0 -0
- /package/dist/core/{p-ef5b6622.entry.js.map → p-ff618439.entry.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable react/jsx-no-bind */
|
|
2
2
|
import { h, Host, } from "@stencil/core";
|
|
3
3
|
import { IcInformationStatus, } from "../../utils/types";
|
|
4
|
-
import { isEmptyString, isNumeric, addFormResetListener, getInputDescribedByText, onComponentRequiredPropUndefined, removeDisabledFalse, removeFormResetListener, renderHiddenInput, } from "../../utils/helpers";
|
|
4
|
+
import { isEmptyString, isNumeric, addFormResetListener, getInputDescribedByText, onComponentRequiredPropUndefined, removeDisabledFalse, removeFormResetListener, renderHiddenInput, parseTimeHelper, } from "../../utils/helpers";
|
|
5
5
|
import Clear from "../../assets/clear-icon.svg";
|
|
6
6
|
import Clock from "../../assets/clock.svg";
|
|
7
7
|
let inputIds = 0;
|
|
@@ -11,6 +11,7 @@ let inputIds = 0;
|
|
|
11
11
|
export class TimeInput {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.DEFAULT_TIME_FORMAT = "HH:MM:SS";
|
|
14
|
+
this.TOGGLE_BUTTON_SELECTOR = "ic-toggle-button";
|
|
14
15
|
this.ARIA_INVALID = "aria-invalid";
|
|
15
16
|
this.ARIA_LABEL = "aria-label";
|
|
16
17
|
this.ARIA_LABELLED_BY = "aria-labelledby";
|
|
@@ -21,6 +22,7 @@ export class TimeInput {
|
|
|
21
22
|
this.isValidHour = true;
|
|
22
23
|
this.isValidMinute = true;
|
|
23
24
|
this.isValidSecond = true;
|
|
25
|
+
this.isValidMillisecond = true;
|
|
24
26
|
this.isValidTime = true;
|
|
25
27
|
this.isTimeSetFromKeyboardEvent = false;
|
|
26
28
|
this.previousSelectedTime = null;
|
|
@@ -29,12 +31,20 @@ export class TimeInput {
|
|
|
29
31
|
this.clearInput = false;
|
|
30
32
|
this.maxTime = null;
|
|
31
33
|
this.minTime = null;
|
|
34
|
+
this.previousHour = "";
|
|
35
|
+
this.previousMinute = "";
|
|
36
|
+
this.previousSecond = "";
|
|
37
|
+
this.previousMillisecond = "";
|
|
38
|
+
this.previousPeriod = "AM";
|
|
32
39
|
this.clockFocused = false;
|
|
33
40
|
this.clearButtonFocused = false;
|
|
34
41
|
this.removeLabelledBy = false;
|
|
35
42
|
this.hour = "";
|
|
36
43
|
this.minute = "";
|
|
37
44
|
this.second = "";
|
|
45
|
+
this.millisecond = "";
|
|
46
|
+
this.period = "AM";
|
|
47
|
+
this.isSSSFormat = () => this.timeFormat === "HH:MM:SS.SSS";
|
|
38
48
|
/**
|
|
39
49
|
* If `true`, the disabled state will be set.
|
|
40
50
|
*/
|
|
@@ -44,7 +54,7 @@ export class TimeInput {
|
|
|
44
54
|
*/
|
|
45
55
|
this.disableTimes = [];
|
|
46
56
|
/**
|
|
47
|
-
* If `true`, every individual input field completed will emit an
|
|
57
|
+
* If `true`, every individual input field completed will emit an icTimeChange event.
|
|
48
58
|
*/
|
|
49
59
|
this.emitTimePartChange = false;
|
|
50
60
|
/**
|
|
@@ -79,6 +89,10 @@ export class TimeInput {
|
|
|
79
89
|
* If `true`, the input will require a value.
|
|
80
90
|
*/
|
|
81
91
|
this.required = false;
|
|
92
|
+
/**
|
|
93
|
+
* If `true`, the time input will show an AM/PM toggle when in 12-hour time period.
|
|
94
|
+
*/
|
|
95
|
+
this.showAmPmToggle = false;
|
|
82
96
|
/**
|
|
83
97
|
* If `true`, a button which clears the time input when clicked will be displayed.
|
|
84
98
|
*/
|
|
@@ -126,19 +140,6 @@ export class TimeInput {
|
|
|
126
140
|
inputEl.classList.add(this.FIT_TO_VALUE);
|
|
127
141
|
}
|
|
128
142
|
};
|
|
129
|
-
this.parseTime = (value) => {
|
|
130
|
-
if (!value)
|
|
131
|
-
return null;
|
|
132
|
-
if (value instanceof Date)
|
|
133
|
-
return value;
|
|
134
|
-
const parts = value.split(":");
|
|
135
|
-
if (parts.length >= 2) {
|
|
136
|
-
const d = new Date();
|
|
137
|
-
d.setHours(+parts[0], +parts[1], parts[2] ? +parts[2] : 0, 0);
|
|
138
|
-
return d;
|
|
139
|
-
}
|
|
140
|
-
return null;
|
|
141
|
-
};
|
|
142
143
|
this.isHHMMFormat = () => this.timeFormat === "HH:MM";
|
|
143
144
|
this.isKeyboardOrEvent = (event) => {
|
|
144
145
|
return (Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||
|
|
@@ -166,9 +167,22 @@ export class TimeInput {
|
|
|
166
167
|
else {
|
|
167
168
|
this.isValidSecond = true;
|
|
168
169
|
}
|
|
170
|
+
if (this.isSSSFormat()) {
|
|
171
|
+
if (!isEmptyString(this.millisecond)) {
|
|
172
|
+
this.isValidMillisecond =
|
|
173
|
+
+this.millisecond >= 0 && +this.millisecond <= 999;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
this.isValidMillisecond = true;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.isValidMillisecond = true;
|
|
181
|
+
}
|
|
169
182
|
}
|
|
170
183
|
else {
|
|
171
184
|
this.isValidSecond = true;
|
|
185
|
+
this.isValidMillisecond = true;
|
|
172
186
|
}
|
|
173
187
|
};
|
|
174
188
|
this.setInputValue = (input, clear = false) => {
|
|
@@ -182,6 +196,9 @@ export class TimeInput {
|
|
|
182
196
|
else if (input === this.secondInputEl && !this.isHHMMFormat()) {
|
|
183
197
|
this.second = newValue;
|
|
184
198
|
}
|
|
199
|
+
else if (this.isSSSFormat() && input === this.millisecondInputEl) {
|
|
200
|
+
this.millisecond = newValue;
|
|
201
|
+
}
|
|
185
202
|
this.setValidationMessage();
|
|
186
203
|
};
|
|
187
204
|
this.setPreventInput = (input, isPrevented) => {
|
|
@@ -194,22 +211,50 @@ export class TimeInput {
|
|
|
194
211
|
else if (input === this.secondInputEl) {
|
|
195
212
|
this.preventSecondInput = isPrevented;
|
|
196
213
|
}
|
|
214
|
+
else if (this.isSSSFormat() && input === this.millisecondInputEl) {
|
|
215
|
+
this.preventMillisecondInput = isPrevented;
|
|
216
|
+
}
|
|
197
217
|
};
|
|
198
218
|
this.setValidationMessage = () => {
|
|
199
|
-
this.maxTime =
|
|
200
|
-
this.minTime =
|
|
219
|
+
this.maxTime = parseTimeHelper(this.max).date;
|
|
220
|
+
this.minTime = parseTimeHelper(this.min).date;
|
|
201
221
|
this.setTimeValidity();
|
|
202
222
|
let outOfBoundsMsg = "";
|
|
203
223
|
let isDisabledTime = false;
|
|
204
224
|
if (!isEmptyString(this.hour) &&
|
|
205
225
|
!isEmptyString(this.minute) &&
|
|
206
|
-
(this.isHHMMFormat() || !isEmptyString(this.second))
|
|
207
|
-
|
|
208
|
-
this.
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
226
|
+
(this.isHHMMFormat() || !isEmptyString(this.second)) &&
|
|
227
|
+
(!this.isSSSFormat() || !isEmptyString(this.millisecond))) {
|
|
228
|
+
this.selectedTime = this.convertToTime(this.hour, this.minute, this.isHHMMFormat() ? "00" : this.second, this.isSSSFormat() ? this.millisecond : "000");
|
|
229
|
+
const inputHour = +this.hour;
|
|
230
|
+
const selectedHour = this.selectedTime
|
|
231
|
+
? this.selectedTime.getHours()
|
|
232
|
+
: null;
|
|
233
|
+
if (this.timePeriod === "12" &&
|
|
234
|
+
this.showAmPmToggle &&
|
|
235
|
+
selectedHour !== null) {
|
|
236
|
+
let selectedHour12 = selectedHour % 12;
|
|
237
|
+
if (selectedHour12 === 0)
|
|
238
|
+
selectedHour12 = 12;
|
|
239
|
+
this.isValidTime =
|
|
240
|
+
!!this.selectedTime &&
|
|
241
|
+
selectedHour12 == inputHour &&
|
|
242
|
+
this.selectedTime.getMinutes() == +this.minute &&
|
|
243
|
+
(this.isHHMMFormat() ||
|
|
244
|
+
this.selectedTime.getSeconds() == +this.second) &&
|
|
245
|
+
(!this.isSSSFormat() ||
|
|
246
|
+
this.selectedTime.getMilliseconds() == +this.millisecond);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
this.isValidTime =
|
|
250
|
+
!!this.selectedTime &&
|
|
251
|
+
this.selectedTime.getHours() == inputHour &&
|
|
252
|
+
this.selectedTime.getMinutes() == +this.minute &&
|
|
253
|
+
(this.isHHMMFormat() ||
|
|
254
|
+
this.selectedTime.getSeconds() == +this.second) &&
|
|
255
|
+
(!this.isSSSFormat() ||
|
|
256
|
+
this.selectedTime.getMilliseconds() == +this.millisecond);
|
|
257
|
+
}
|
|
213
258
|
if (this.selectedTime &&
|
|
214
259
|
Array.isArray(this.disableTimes) &&
|
|
215
260
|
this.disableTimes.length > 0) {
|
|
@@ -218,18 +263,25 @@ export class TimeInput {
|
|
|
218
263
|
t !== null &&
|
|
219
264
|
"start" in t &&
|
|
220
265
|
"end" in t) {
|
|
221
|
-
const start =
|
|
222
|
-
const end =
|
|
266
|
+
const start = parseTimeHelper(t.start).date;
|
|
267
|
+
const end = parseTimeHelper(t.end).date;
|
|
223
268
|
if (start && end) {
|
|
224
269
|
return this.selectedTime >= start && this.selectedTime <= end;
|
|
225
270
|
}
|
|
226
271
|
return false;
|
|
227
272
|
}
|
|
228
|
-
const parsed =
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
273
|
+
const parsed = parseTimeHelper(t).parts;
|
|
274
|
+
if (!parsed)
|
|
275
|
+
return false;
|
|
276
|
+
let selectedHour = this.selectedTime.getHours();
|
|
277
|
+
let parsedHour = parsed.hour;
|
|
278
|
+
if (this.timePeriod === "12" && this.showAmPmToggle) {
|
|
279
|
+
selectedHour = this.convertTo24Hour(selectedHour);
|
|
280
|
+
parsedHour = this.convertTo24Hour(parsedHour);
|
|
281
|
+
}
|
|
282
|
+
return (parsedHour === selectedHour &&
|
|
283
|
+
parsed.minute === this.selectedTime.getMinutes() &&
|
|
284
|
+
parsed.second === this.selectedTime.getSeconds());
|
|
233
285
|
});
|
|
234
286
|
if (isDisabledTime) {
|
|
235
287
|
this.isValidTime = false;
|
|
@@ -259,6 +311,7 @@ export class TimeInput {
|
|
|
259
311
|
if (!(this.isValidHour &&
|
|
260
312
|
this.isValidMinute &&
|
|
261
313
|
this.isValidSecond &&
|
|
314
|
+
this.isValidMillisecond &&
|
|
262
315
|
this.isValidTime)) {
|
|
263
316
|
this.invalidTimeText = outOfBoundsMsg || this.invalidTimeMessage;
|
|
264
317
|
}
|
|
@@ -270,12 +323,33 @@ export class TimeInput {
|
|
|
270
323
|
const hh = time.getHours().toString().padStart(2, "0");
|
|
271
324
|
const mm = time.getMinutes().toString().padStart(2, "0");
|
|
272
325
|
const ss = time.getSeconds().toString().padStart(2, "0");
|
|
326
|
+
const sss = time.getMilliseconds().toString().padStart(3, "0");
|
|
327
|
+
if (this.isSSSFormat()) {
|
|
328
|
+
return `${hh}:${mm}:${ss}.${sss}`;
|
|
329
|
+
}
|
|
273
330
|
return this.isHHMMFormat() ? `${hh}:${mm}` : `${hh}:${mm}:${ss}`;
|
|
274
331
|
};
|
|
275
332
|
this.handleInput = (event) => {
|
|
276
333
|
const inputEvent = event;
|
|
277
334
|
const input = event.target;
|
|
278
|
-
if (input
|
|
335
|
+
if (input === this.millisecondInputEl && this.isSSSFormat()) {
|
|
336
|
+
this.setInputValue(input);
|
|
337
|
+
this.setPreventInput(input, false);
|
|
338
|
+
this.setFitToValueStyling(input);
|
|
339
|
+
if (input.value.length === 3) {
|
|
340
|
+
this.moveToNextInput(input);
|
|
341
|
+
this.setPreventInput(input, true);
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
this.setPreventInput(input, false);
|
|
345
|
+
}
|
|
346
|
+
if (input.value.length === 0) {
|
|
347
|
+
this.setInputValue(input, true);
|
|
348
|
+
this.setValidationMessage();
|
|
349
|
+
}
|
|
350
|
+
this.notifyScreenReader(input);
|
|
351
|
+
}
|
|
352
|
+
else if (input !== this.hourInputEl) {
|
|
279
353
|
if (inputEvent.inputType !== "deleteContentBackward" &&
|
|
280
354
|
!this.preventAutoFormatting) {
|
|
281
355
|
if (input.value.length === 1 &&
|
|
@@ -308,6 +382,12 @@ export class TimeInput {
|
|
|
308
382
|
if (input.value.length !== 2) {
|
|
309
383
|
this.setPreventInput(input, false);
|
|
310
384
|
}
|
|
385
|
+
this.setFitToValueStyling(input);
|
|
386
|
+
if (input.value.length === 0) {
|
|
387
|
+
this.setInputValue(input, true);
|
|
388
|
+
this.setValidationMessage();
|
|
389
|
+
}
|
|
390
|
+
this.notifyScreenReader(input);
|
|
311
391
|
}
|
|
312
392
|
else {
|
|
313
393
|
if (input.value.length === 2) {
|
|
@@ -321,18 +401,25 @@ export class TimeInput {
|
|
|
321
401
|
this.setInputValue(input, true);
|
|
322
402
|
this.setPreventInput(input, false);
|
|
323
403
|
}
|
|
404
|
+
this.setFitToValueStyling(input);
|
|
405
|
+
if (input.value.length === 0) {
|
|
406
|
+
this.setInputValue(input, true);
|
|
407
|
+
this.setValidationMessage();
|
|
408
|
+
}
|
|
409
|
+
this.notifyScreenReader(input);
|
|
324
410
|
}
|
|
325
|
-
this.setFitToValueStyling(input);
|
|
326
|
-
if (input.value.length === 0) {
|
|
327
|
-
this.setInputValue(input, true);
|
|
328
|
-
this.setValidationMessage();
|
|
329
|
-
}
|
|
330
|
-
this.notifyScreenReader(input);
|
|
331
411
|
};
|
|
332
412
|
this.handleKeyDown = (event, isInputPrevented) => {
|
|
333
413
|
var _a;
|
|
414
|
+
const navKeys = /arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/i;
|
|
334
415
|
const input = event.target;
|
|
335
416
|
const eventKey = (_a = event.key) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
417
|
+
if (!/-?\d*\.?\d+(e[-+]?\d+)?|[:]|[.]/i.test(eventKey) &&
|
|
418
|
+
!navKeys.test(eventKey) &&
|
|
419
|
+
!((event.ctrlKey || event.metaKey) &&
|
|
420
|
+
(eventKey === "v" || eventKey === "c"))) {
|
|
421
|
+
event.preventDefault();
|
|
422
|
+
}
|
|
336
423
|
const regex = /-?\d*\.?\d+(e[-+]?\d+)?|[:]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;
|
|
337
424
|
if (!regex.test(eventKey) &&
|
|
338
425
|
!((event.ctrlKey || event.metaKey) &&
|
|
@@ -372,7 +459,18 @@ export class TimeInput {
|
|
|
372
459
|
};
|
|
373
460
|
this.handleBlur = (event) => {
|
|
374
461
|
const input = event.target;
|
|
375
|
-
if (input) {
|
|
462
|
+
if (input === this.millisecondInputEl && this.isSSSFormat()) {
|
|
463
|
+
if (input.value.length === 1) {
|
|
464
|
+
input.value = `00${input.value}`;
|
|
465
|
+
this.setInputValue(input);
|
|
466
|
+
}
|
|
467
|
+
else if (input.value.length === 2) {
|
|
468
|
+
input.value = `0${input.value}`;
|
|
469
|
+
this.setInputValue(input);
|
|
470
|
+
}
|
|
471
|
+
this.setFitToValueStyling(input);
|
|
472
|
+
}
|
|
473
|
+
else if (input) {
|
|
376
474
|
this.autocompleteInput(input);
|
|
377
475
|
}
|
|
378
476
|
};
|
|
@@ -428,20 +526,80 @@ export class TimeInput {
|
|
|
428
526
|
};
|
|
429
527
|
this.setValueAndEmitChange = (value, force = false) => {
|
|
430
528
|
if (this.value !== value || force) {
|
|
431
|
-
this.
|
|
529
|
+
this.emitIcTimeChange(value);
|
|
432
530
|
this.value = value;
|
|
433
531
|
}
|
|
434
532
|
};
|
|
435
|
-
this.
|
|
436
|
-
|
|
437
|
-
this.
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
533
|
+
this.convertTo24Hour = (hour) => {
|
|
534
|
+
let date24hours = hour;
|
|
535
|
+
if (this.period === "PM" && hour < 12)
|
|
536
|
+
date24hours = hour + 12;
|
|
537
|
+
if (this.period === "AM" && hour === 12)
|
|
538
|
+
date24hours = 0;
|
|
539
|
+
return date24hours;
|
|
540
|
+
};
|
|
541
|
+
this.emitIcTimeChange = (t) => {
|
|
542
|
+
const hour = parseInt(this.hour);
|
|
543
|
+
const minute = parseInt(this.minute);
|
|
544
|
+
const second = parseInt(this.second);
|
|
545
|
+
const millisecond = parseInt(this.millisecond);
|
|
546
|
+
const period = this.period;
|
|
547
|
+
let allSelected = false;
|
|
548
|
+
if (this.isSSSFormat()) {
|
|
549
|
+
allSelected =
|
|
550
|
+
this.hour !== "" &&
|
|
551
|
+
this.minute !== "" &&
|
|
552
|
+
this.second !== "" &&
|
|
553
|
+
this.millisecond !== "";
|
|
554
|
+
}
|
|
555
|
+
else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
|
|
556
|
+
allSelected =
|
|
557
|
+
this.hour !== "" && this.minute !== "" && this.second !== "";
|
|
558
|
+
}
|
|
559
|
+
else if (this.timeFormat === "HH:MM") {
|
|
560
|
+
allSelected = this.hour !== "" && this.minute !== "";
|
|
561
|
+
}
|
|
562
|
+
let time = t;
|
|
563
|
+
let date24hours = hour;
|
|
564
|
+
if (hour != null &&
|
|
565
|
+
period &&
|
|
566
|
+
this.timePeriod === "12" &&
|
|
567
|
+
this.showAmPmToggle) {
|
|
568
|
+
date24hours = this.convertTo24Hour(hour);
|
|
569
|
+
time = new Date();
|
|
570
|
+
time.setHours(date24hours !== null && date24hours !== void 0 ? date24hours : 0);
|
|
571
|
+
time.setMinutes(minute !== null && minute !== void 0 ? minute : 0);
|
|
572
|
+
time.setSeconds(second !== null && second !== void 0 ? second : 0);
|
|
573
|
+
this.isSSSFormat() && time.setMilliseconds(millisecond !== null && millisecond !== void 0 ? millisecond : 0);
|
|
574
|
+
}
|
|
575
|
+
this.selectedTime = time;
|
|
576
|
+
const allTimePartsEmpty = this.hour === "" &&
|
|
577
|
+
this.minute === "" &&
|
|
578
|
+
this.second === "" &&
|
|
579
|
+
this.millisecond === "";
|
|
580
|
+
const onlyPeriodChanged = allTimePartsEmpty &&
|
|
581
|
+
this.period !== this.previousPeriod &&
|
|
582
|
+
this.previousHour === "" &&
|
|
583
|
+
this.previousMinute === "" &&
|
|
584
|
+
this.previousSecond === "" &&
|
|
585
|
+
this.previousMillisecond === "";
|
|
586
|
+
if (!onlyPeriodChanged) {
|
|
587
|
+
this.icTimeChange.emit({
|
|
588
|
+
value: allSelected ? time : null,
|
|
589
|
+
timeObject: {
|
|
590
|
+
hour: this.hour === "" ? null : this.hour,
|
|
591
|
+
minute: this.minute === "" ? null : this.minute,
|
|
592
|
+
second: this.second === "" ? null : this.second,
|
|
593
|
+
millisecond: this.millisecond === "" ? null : this.millisecond,
|
|
594
|
+
period: this.period === "" ? null : this.period,
|
|
595
|
+
},
|
|
596
|
+
});
|
|
597
|
+
}
|
|
598
|
+
this.previousHour = this.hour;
|
|
599
|
+
this.previousMinute = this.minute;
|
|
600
|
+
this.previousSecond = this.second;
|
|
601
|
+
this.previousMillisecond = this.millisecond;
|
|
602
|
+
this.previousPeriod = this.period;
|
|
445
603
|
};
|
|
446
604
|
this.setTime = (time) => {
|
|
447
605
|
if (time === null || time === "" || time === undefined) {
|
|
@@ -451,6 +609,8 @@ export class TimeInput {
|
|
|
451
609
|
this.minute = "";
|
|
452
610
|
if (this.second)
|
|
453
611
|
this.second = "";
|
|
612
|
+
if (this.millisecond)
|
|
613
|
+
this.millisecond = "";
|
|
454
614
|
this.inputsInOrder.forEach((input) => {
|
|
455
615
|
input.classList.remove(this.FIT_TO_VALUE);
|
|
456
616
|
this.setPreventInput(input, false);
|
|
@@ -466,22 +626,26 @@ export class TimeInput {
|
|
|
466
626
|
this.second = zuluMatch[3];
|
|
467
627
|
}
|
|
468
628
|
else {
|
|
469
|
-
const parts = time.split(
|
|
629
|
+
const parts = time.split(/[:.]/);
|
|
470
630
|
this.hour = parts[0] || "";
|
|
471
631
|
this.minute = parts[1] || "";
|
|
472
632
|
this.second = parts[2] || "";
|
|
633
|
+
this.millisecond = parts[3] || "";
|
|
473
634
|
}
|
|
474
635
|
}
|
|
475
636
|
else if (time instanceof Date) {
|
|
476
637
|
this.hour = time.getHours().toString().padStart(2, "0");
|
|
477
638
|
this.minute = time.getMinutes().toString().padStart(2, "0");
|
|
478
639
|
this.second = time.getSeconds().toString().padStart(2, "0");
|
|
640
|
+
if (this.isSSSFormat()) {
|
|
641
|
+
this.millisecond = time.getMilliseconds().toString().padStart(3, "0");
|
|
642
|
+
}
|
|
479
643
|
}
|
|
480
644
|
}
|
|
481
645
|
this.setValidationMessage();
|
|
482
646
|
};
|
|
483
|
-
this.setAriaInvalid = (validHour, validMinute, validSecond) => {
|
|
484
|
-
var _a, _b, _c;
|
|
647
|
+
this.setAriaInvalid = (validHour, validMinute, validSecond, validMillisecond) => {
|
|
648
|
+
var _a, _b, _c, _d;
|
|
485
649
|
if (this.inputsInOrder.length) {
|
|
486
650
|
this.inputsInOrder.forEach((input) => {
|
|
487
651
|
input.removeAttribute(this.ARIA_INVALID);
|
|
@@ -495,7 +659,10 @@ export class TimeInput {
|
|
|
495
659
|
if (!validSecond) {
|
|
496
660
|
(_c = this.secondInputEl) === null || _c === void 0 ? void 0 : _c.setAttribute(this.ARIA_INVALID, "true");
|
|
497
661
|
}
|
|
498
|
-
if (!
|
|
662
|
+
if (!validMillisecond) {
|
|
663
|
+
(_d = this.millisecondInputEl) === null || _d === void 0 ? void 0 : _d.setAttribute(this.ARIA_INVALID, "true");
|
|
664
|
+
}
|
|
665
|
+
if (!(validHour && validMinute && validSecond && validMillisecond)) {
|
|
499
666
|
this.inputsInOrder.forEach((input) => {
|
|
500
667
|
input.setAttribute(this.ARIA_INVALID, "true");
|
|
501
668
|
});
|
|
@@ -503,6 +670,7 @@ export class TimeInput {
|
|
|
503
670
|
}
|
|
504
671
|
};
|
|
505
672
|
this.handleClear = () => {
|
|
673
|
+
var _a;
|
|
506
674
|
this.clearInput = true;
|
|
507
675
|
if (this.hourInputEl) {
|
|
508
676
|
this.hourInputEl.value = "";
|
|
@@ -513,9 +681,25 @@ export class TimeInput {
|
|
|
513
681
|
if (!this.isHHMMFormat() && this.secondInputEl) {
|
|
514
682
|
this.secondInputEl.value = "";
|
|
515
683
|
}
|
|
684
|
+
if (this.isSSSFormat() && this.millisecondInputEl) {
|
|
685
|
+
this.millisecondInputEl.value = "";
|
|
686
|
+
}
|
|
516
687
|
this.hour = "";
|
|
517
688
|
this.minute = "";
|
|
518
689
|
this.second = "";
|
|
690
|
+
this.millisecond = "";
|
|
691
|
+
this.period = "AM";
|
|
692
|
+
if (this.showAmPmToggle) {
|
|
693
|
+
(_a = this.periodToggleEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR).forEach((btn) => {
|
|
694
|
+
const toggleBtn = btn;
|
|
695
|
+
if (toggleBtn.label === "AM") {
|
|
696
|
+
toggleBtn.checked = true;
|
|
697
|
+
}
|
|
698
|
+
else {
|
|
699
|
+
toggleBtn.checked = false;
|
|
700
|
+
}
|
|
701
|
+
});
|
|
702
|
+
}
|
|
519
703
|
this.handleTimeChange(true);
|
|
520
704
|
this.inputsInOrder.forEach((input) => {
|
|
521
705
|
input.classList.remove(this.FIT_TO_VALUE);
|
|
@@ -531,26 +715,31 @@ export class TimeInput {
|
|
|
531
715
|
};
|
|
532
716
|
this.notifyScreenReaderSelectedTime = () => {
|
|
533
717
|
if (this.selectedTime && this.selectedTimeInfoEl) {
|
|
718
|
+
let hours = this.selectedTime.getHours();
|
|
719
|
+
if (this.timePeriod === "12" && this.showAmPmToggle) {
|
|
720
|
+
hours = this.convertTo24Hour(hours);
|
|
721
|
+
}
|
|
722
|
+
const hoursStr = hours.toString().padStart(2, "0");
|
|
723
|
+
const minutesStr = this.selectedTime
|
|
724
|
+
.getMinutes()
|
|
725
|
+
.toString()
|
|
726
|
+
.padStart(2, "0");
|
|
727
|
+
const secondsStr = this.selectedTime
|
|
728
|
+
.getSeconds()
|
|
729
|
+
.toString()
|
|
730
|
+
.padStart(2, "0");
|
|
731
|
+
const msStr = this.selectedTime
|
|
732
|
+
.getMilliseconds()
|
|
733
|
+
.toString()
|
|
734
|
+
.padStart(3, "0");
|
|
534
735
|
if (this.isHHMMFormat()) {
|
|
535
|
-
this.selectedTimeInfoEl.textContent = `Selected time: ${
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
.getMinutes()
|
|
540
|
-
.toString()
|
|
541
|
-
.padStart(2, "0")}`;
|
|
736
|
+
this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}`;
|
|
737
|
+
}
|
|
738
|
+
else if (!this.isSSSFormat()) {
|
|
739
|
+
this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}`;
|
|
542
740
|
}
|
|
543
741
|
else {
|
|
544
|
-
this.selectedTimeInfoEl.textContent = `Selected time: ${
|
|
545
|
-
.getHours()
|
|
546
|
-
.toString()
|
|
547
|
-
.padStart(2, "0")}:${this.selectedTime
|
|
548
|
-
.getMinutes()
|
|
549
|
-
.toString()
|
|
550
|
-
.padStart(2, "0")}:${this.selectedTime
|
|
551
|
-
.getSeconds()
|
|
552
|
-
.toString()
|
|
553
|
-
.padStart(2, "0")}`;
|
|
742
|
+
this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}.${msStr}`;
|
|
554
743
|
}
|
|
555
744
|
}
|
|
556
745
|
};
|
|
@@ -568,7 +757,7 @@ export class TimeInput {
|
|
|
568
757
|
};
|
|
569
758
|
this.handleHostFocus = () => {
|
|
570
759
|
var _a, _b;
|
|
571
|
-
if ((_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === null || _b === void 0 ? void 0 : _b.id.match(/(hour|minute|second)-input$/)) {
|
|
760
|
+
if ((_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === null || _b === void 0 ? void 0 : _b.id.match(/(hour|minute|second|millisecond)-input$/)) {
|
|
572
761
|
this.removeLabelledBy = false;
|
|
573
762
|
}
|
|
574
763
|
else {
|
|
@@ -617,12 +806,17 @@ export class TimeInput {
|
|
|
617
806
|
this.setInputValue(input);
|
|
618
807
|
}
|
|
619
808
|
};
|
|
620
|
-
this.convertToTime = (hour, minute, second) => {
|
|
809
|
+
this.convertToTime = (hour, minute, second, millisecond = null) => {
|
|
621
810
|
if (!isEmptyString(hour) &&
|
|
622
811
|
!isEmptyString(minute) &&
|
|
623
|
-
(this.isHHMMFormat() || !isEmptyString(second))
|
|
812
|
+
(this.isHHMMFormat() || !isEmptyString(second)) &&
|
|
813
|
+
(!this.isSSSFormat() ||
|
|
814
|
+
(millisecond !== null && !isEmptyString(millisecond)))) {
|
|
624
815
|
const d = new Date();
|
|
625
816
|
d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);
|
|
817
|
+
if (this.isSSSFormat() && millisecond !== null) {
|
|
818
|
+
d.setMilliseconds(+millisecond);
|
|
819
|
+
}
|
|
626
820
|
return d;
|
|
627
821
|
}
|
|
628
822
|
else {
|
|
@@ -667,17 +861,22 @@ export class TimeInput {
|
|
|
667
861
|
(_d = this.inputCompContainerEl) === null || _d === void 0 ? void 0 : _d.setAttribute(this.ARIA_LABELLED_BY, labelledBy);
|
|
668
862
|
};
|
|
669
863
|
this.getInputsInOrder = () => {
|
|
670
|
-
const timeParts = this.timeFormat.split(
|
|
864
|
+
const timeParts = this.timeFormat.split(/[:.]/);
|
|
671
865
|
return timeParts.map((part) => {
|
|
672
|
-
switch (part
|
|
673
|
-
case "
|
|
866
|
+
switch (part) {
|
|
867
|
+
case "HH":
|
|
674
868
|
return (h("input", { class: "hour-input", id: "hour-input", ref: (el) => (this.hourInputEl = el), "aria-label": "hour", placeholder: "HH", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventHourInput) }));
|
|
675
|
-
case "
|
|
869
|
+
case "MM":
|
|
676
870
|
return (h("input", { id: "minute-input", class: "minute-input", ref: (el) => (this.minuteInputEl = el), "aria-label": "minute", placeholder: "MM", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventMinuteInput) }));
|
|
677
|
-
case "
|
|
871
|
+
case "SS":
|
|
678
872
|
if (!this.isHHMMFormat()) {
|
|
679
873
|
return (h("input", { id: "second-input", class: "second-input", ref: (el) => (this.secondInputEl = el), "aria-label": "second", placeholder: "SS", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventSecondInput) }));
|
|
680
874
|
}
|
|
875
|
+
break;
|
|
876
|
+
case "SSS":
|
|
877
|
+
if (this.isSSSFormat()) {
|
|
878
|
+
return (h("input", { id: "millisecond-input", class: "millisecond-input", ref: (el) => (this.millisecondInputEl = el), "aria-label": "millisecond", placeholder: "SSS", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventMillisecondInput) }));
|
|
879
|
+
}
|
|
681
880
|
return null;
|
|
682
881
|
default:
|
|
683
882
|
return null;
|
|
@@ -685,6 +884,9 @@ export class TimeInput {
|
|
|
685
884
|
});
|
|
686
885
|
};
|
|
687
886
|
this.getDescOfInputsOrder = () => {
|
|
887
|
+
if (this.isSSSFormat()) {
|
|
888
|
+
return "hour, minute, second, and millisecond";
|
|
889
|
+
}
|
|
688
890
|
return "hour, minute, and second";
|
|
689
891
|
};
|
|
690
892
|
this.getScreenReaderInfo = (validationStatus) => {
|
|
@@ -724,7 +926,7 @@ export class TimeInput {
|
|
|
724
926
|
this.removeLabelledBy = false;
|
|
725
927
|
return;
|
|
726
928
|
}
|
|
727
|
-
if (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.id.match(/(minute|second)-input$/)) {
|
|
929
|
+
if (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.id.match(/(minute|second|millisecond)-input$/)) {
|
|
728
930
|
this.removeLabelledBy = false;
|
|
729
931
|
return;
|
|
730
932
|
}
|
|
@@ -742,6 +944,18 @@ export class TimeInput {
|
|
|
742
944
|
return value;
|
|
743
945
|
}
|
|
744
946
|
}
|
|
947
|
+
else if (this.isSSSFormat()) {
|
|
948
|
+
if (/^\d{2}:\d{2}:\d{2}\.\d{1,3}$/.test(value)) {
|
|
949
|
+
return value;
|
|
950
|
+
}
|
|
951
|
+
if (/^\d{2}:\d{2}:\d{2}\.\d{1,3}Z$/.test(value)) {
|
|
952
|
+
return value.replace("Z", "");
|
|
953
|
+
}
|
|
954
|
+
const isoMatch = value.match(/T(\d{2}:\d{2}:\d{2}\.\d{1,3})/);
|
|
955
|
+
if (isoMatch) {
|
|
956
|
+
return isoMatch[1];
|
|
957
|
+
}
|
|
958
|
+
}
|
|
745
959
|
else {
|
|
746
960
|
if (/^\d{2}:\d{2}:\d{2}$/.test(value)) {
|
|
747
961
|
return value;
|
|
@@ -758,16 +972,78 @@ export class TimeInput {
|
|
|
758
972
|
};
|
|
759
973
|
this.setPastedValueAndValidation = (isValidTime, pastedValue, event) => {
|
|
760
974
|
if (isValidTime) {
|
|
761
|
-
const timeParts = isValidTime.split(
|
|
975
|
+
const timeParts = isValidTime.split(/[:.]/);
|
|
762
976
|
this.inputsInOrder.forEach((input, index) => {
|
|
977
|
+
var _a, _b, _c, _d;
|
|
763
978
|
input.classList.add(this.FIT_TO_VALUE);
|
|
764
|
-
|
|
765
|
-
input.
|
|
979
|
+
let timeValue = timeParts[index] || "";
|
|
980
|
+
if (input === this.millisecondInputEl && this.isSSSFormat()) {
|
|
981
|
+
timeValue = timeValue.slice(0, 3);
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
timeValue = timeValue.slice(0, 2);
|
|
985
|
+
}
|
|
986
|
+
if (input === this.hourInputEl) {
|
|
987
|
+
let activeToggle;
|
|
988
|
+
if (this.timePeriod === "12" && this.showAmPmToggle) {
|
|
989
|
+
if (parseInt(timeValue) > 12) {
|
|
990
|
+
timeValue = (parseInt(timeValue) - 12)
|
|
991
|
+
.toString()
|
|
992
|
+
.padStart(2, "0");
|
|
993
|
+
if (parseInt(timeValue) > 12) {
|
|
994
|
+
return;
|
|
995
|
+
}
|
|
996
|
+
else {
|
|
997
|
+
this.period = "PM";
|
|
998
|
+
(_a = this.periodToggleEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR).forEach((btn) => {
|
|
999
|
+
const toggleBtn = btn;
|
|
1000
|
+
if (toggleBtn.label === "PM") {
|
|
1001
|
+
activeToggle = toggleBtn;
|
|
1002
|
+
}
|
|
1003
|
+
else {
|
|
1004
|
+
toggleBtn.checked = false;
|
|
1005
|
+
}
|
|
1006
|
+
});
|
|
1007
|
+
if (activeToggle) {
|
|
1008
|
+
(_b = this.periodToggleEl) === null || _b === void 0 ? void 0 : _b.setActiveToggle(activeToggle);
|
|
1009
|
+
activeToggle.checked = true;
|
|
1010
|
+
}
|
|
1011
|
+
this.invalidTimeText = "";
|
|
1012
|
+
this.validationStatus = "";
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
else {
|
|
1016
|
+
if (parseInt(timeValue) === 0) {
|
|
1017
|
+
timeValue = "12";
|
|
1018
|
+
}
|
|
1019
|
+
this.period = "AM";
|
|
1020
|
+
(_c = this.periodToggleEl) === null || _c === void 0 ? void 0 : _c.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR).forEach((btn) => {
|
|
1021
|
+
const toggleBtn = btn;
|
|
1022
|
+
if (toggleBtn.label === "AM") {
|
|
1023
|
+
activeToggle = toggleBtn;
|
|
1024
|
+
}
|
|
1025
|
+
else {
|
|
1026
|
+
toggleBtn.checked = false;
|
|
1027
|
+
}
|
|
1028
|
+
});
|
|
1029
|
+
if (activeToggle) {
|
|
1030
|
+
(_d = this.periodToggleEl) === null || _d === void 0 ? void 0 : _d.setActiveToggle(activeToggle);
|
|
1031
|
+
activeToggle.checked = true;
|
|
1032
|
+
}
|
|
1033
|
+
this.invalidTimeText = "";
|
|
1034
|
+
this.validationStatus = "";
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
input.value = timeValue;
|
|
766
1039
|
this.setInputValue(input);
|
|
767
1040
|
this.autocompleteInput(input);
|
|
768
1041
|
});
|
|
769
|
-
if (this.isHHMMFormat() &&
|
|
1042
|
+
if (this.isHHMMFormat() &&
|
|
1043
|
+
this.second !== "" &&
|
|
1044
|
+
this.millisecond !== "") {
|
|
770
1045
|
this.second = "";
|
|
1046
|
+
this.millisecond = "";
|
|
771
1047
|
}
|
|
772
1048
|
}
|
|
773
1049
|
else {
|
|
@@ -782,14 +1058,22 @@ export class TimeInput {
|
|
|
782
1058
|
}
|
|
783
1059
|
}
|
|
784
1060
|
};
|
|
1061
|
+
this.handleAMPM = (selectedOption) => {
|
|
1062
|
+
var _a;
|
|
1063
|
+
this.period = selectedOption.label;
|
|
1064
|
+
(_a = this.periodToggleEl) === null || _a === void 0 ? void 0 : _a.setActiveToggle(selectedOption);
|
|
1065
|
+
};
|
|
785
1066
|
}
|
|
786
1067
|
watchInputHandler() {
|
|
787
1068
|
if (this.emitTimePartChange &&
|
|
788
1069
|
!this.externalSetTime &&
|
|
789
1070
|
!this.clearInput &&
|
|
790
|
-
!(this.hour &&
|
|
1071
|
+
!(this.hour &&
|
|
1072
|
+
this.minute &&
|
|
1073
|
+
this.second &&
|
|
1074
|
+
(this.isSSSFormat() ? this.millisecond : true)) &&
|
|
791
1075
|
this.selectedTime === null) {
|
|
792
|
-
this.
|
|
1076
|
+
this.emitIcTimeChange(this.selectedTime);
|
|
793
1077
|
}
|
|
794
1078
|
}
|
|
795
1079
|
watchDisabledHandler() {
|
|
@@ -800,10 +1084,10 @@ export class TimeInput {
|
|
|
800
1084
|
this.helperText = this.defaultHelperText;
|
|
801
1085
|
}
|
|
802
1086
|
watchMaxHandler() {
|
|
803
|
-
this.maxTime =
|
|
1087
|
+
this.maxTime = parseTimeHelper(this.max).date;
|
|
804
1088
|
}
|
|
805
1089
|
watchMinHandler() {
|
|
806
|
-
this.minTime =
|
|
1090
|
+
this.minTime = parseTimeHelper(this.min).date;
|
|
807
1091
|
}
|
|
808
1092
|
watchRequiredHandler() {
|
|
809
1093
|
var _a, _b;
|
|
@@ -852,7 +1136,7 @@ export class TimeInput {
|
|
|
852
1136
|
input.classList.add(this.FIT_TO_VALUE);
|
|
853
1137
|
});
|
|
854
1138
|
}
|
|
855
|
-
this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond);
|
|
1139
|
+
this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond, this.isValidMillisecond);
|
|
856
1140
|
if (this.value) {
|
|
857
1141
|
this.notifyScreenReaderSelectedTime();
|
|
858
1142
|
}
|
|
@@ -866,7 +1150,7 @@ export class TimeInput {
|
|
|
866
1150
|
componentWillUpdate() {
|
|
867
1151
|
if (!this.isTimeSetFromKeyboardEvent)
|
|
868
1152
|
this.setTime(this.value);
|
|
869
|
-
this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond);
|
|
1153
|
+
this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond, this.isValidMillisecond);
|
|
870
1154
|
this.handleTimeChange(false);
|
|
871
1155
|
this.isTimeSetFromKeyboardEvent = false;
|
|
872
1156
|
}
|
|
@@ -885,12 +1169,12 @@ export class TimeInput {
|
|
|
885
1169
|
return this.selectedTime;
|
|
886
1170
|
}
|
|
887
1171
|
/**
|
|
888
|
-
* @internal Used to enable other components to invoke an
|
|
1172
|
+
* @internal Used to enable other components to invoke an icTimeChange event from the input.
|
|
889
1173
|
*/
|
|
890
|
-
async
|
|
1174
|
+
async triggerIcTimeChange(t) {
|
|
891
1175
|
this.externalSetTime = true;
|
|
892
1176
|
this.setTime(t);
|
|
893
|
-
this.
|
|
1177
|
+
this.emitIcTimeChange(t);
|
|
894
1178
|
this.externalSetTime = false;
|
|
895
1179
|
}
|
|
896
1180
|
render() {
|
|
@@ -907,23 +1191,39 @@ export class TimeInput {
|
|
|
907
1191
|
!(isEmptyString(this.hour) &&
|
|
908
1192
|
isEmptyString(this.minute) &&
|
|
909
1193
|
isEmptyString(this.second)));
|
|
910
|
-
|
|
1194
|
+
if (this.showAmPmToggle && this.timePeriod !== "12") {
|
|
1195
|
+
this.showAmPmToggle = false;
|
|
1196
|
+
}
|
|
1197
|
+
return (h(Host, { key: 'd005982324084fad9fdfe6392cf879e15709d2ef', class: {
|
|
911
1198
|
[`ic-theme-${theme}`]: theme !== "inherit",
|
|
912
1199
|
[`ic-time-input-disabled`]: disabled,
|
|
913
1200
|
[`ic-time-input-${size}`]: true,
|
|
914
|
-
}, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '
|
|
1201
|
+
}, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '6fcc48d72a92ef2a0acf3f6b109e29b24c6608db', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: '84364f527bbfeffed22d95df1ce879bb9cb55fde', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled }, h("slot", { key: '4a993ddc9a3923e4fbe58f4abfd1d6f51ef63494', name: "helper-text", slot: "helper-text" }))), h("span", { key: 'de2889971bef74376661a3fb0963c9bc88673e12', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: 'b68b686d6794d6ad1247f18c867b1652066b48da', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '56557e76da321f937be614926cd3f41b4c9a09a8', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("div", { key: '89cbb13ffe21d66fd82a28ad6b5b295cf68c5787', class: {
|
|
1202
|
+
"with-am-pm-toggle": this.showAmPmToggle === true,
|
|
1203
|
+
} }, h("ic-input-component-container", { key: '03a61c8d72f43d68f81069327aa31b632bfee74d', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '0fdf9d4191272a8b53e73d6230e10750032d5279', class: "input-container" }, h("div", { key: 'c7b13f330ec67b48e817f4b87fff96ad6ad6102e', class: "time-inputs" }, [
|
|
915
1204
|
this.getInputsInOrder()[0],
|
|
916
1205
|
":",
|
|
917
1206
|
this.getInputsInOrder()[1],
|
|
918
1207
|
!this.isHHMMFormat()
|
|
919
1208
|
? [":", this.getInputsInOrder()[2]]
|
|
920
1209
|
: null,
|
|
921
|
-
|
|
1210
|
+
this.isSSSFormat()
|
|
1211
|
+
? [".", this.getInputsInOrder()[3]]
|
|
1212
|
+
: null,
|
|
1213
|
+
]), h("div", { key: 'caf4926b8008875a111f6bb3aa0815cfb2e10768', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '9883c16dc3d60c6ea4d9d3cc3e4a770479339879', id: "clear-button", "aria-label": "Clear input", class: {
|
|
922
1214
|
["clear-button"]: true,
|
|
923
1215
|
["hidden"]: isEmptyString(this.hour) &&
|
|
924
1216
|
isEmptyString(this.minute) &&
|
|
925
1217
|
isEmptyString(this.second),
|
|
926
|
-
}, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (h("div", { key: '
|
|
1218
|
+
}, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (h("div", { key: '9ace5895419381c300bbdc5c8ef2eeacad05b63b', class: "show-clock-button-wrapper" }, h("div", { key: 'dfa2a5bbf9e7bd74353d7caf3514861d545d6026', class: { divider: showDivider, [size]: true } }), h("ic-button", { key: '1c36dcf4f02a323aafeb265126e2d1334df077b2', id: "clock-button", "aria-label": "Display clock", "aria-haspopup": "dialog", class: "clock-button", disabled: this.disabled, innerHTML: Clock, variant: "icon-tertiary", size: size, onFocus: this.handleClockFocus, onBlur: this.handleClockBlur, theme: this.clockFocused ? "light" : "dark" })))))), this.showAmPmToggle && (h("ic-toggle-button-group", { key: 'c63749fddcc1b7ed3c394a17a5d1a65aa322f024', "select-type": "single", "accessible-label": "AM PM Toggle", ref: (el) => (this.periodToggleEl = el), disabled: disabled, class: "am-pm-toggle", "select-method": "auto", onIcChange: (e) => this.handleAMPM(e.detail.selectedOption), onKeyDown: (e) => {
|
|
1219
|
+
if (e.key === "Tab" && e.shiftKey) {
|
|
1220
|
+
e.preventDefault();
|
|
1221
|
+
if (this.inputsInOrder && this.inputsInOrder.length > 0) {
|
|
1222
|
+
const lastInput = this.inputsInOrder[this.inputsInOrder.length - 1];
|
|
1223
|
+
lastInput === null || lastInput === void 0 ? void 0 : lastInput.focus();
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
} }, h("ic-toggle-button", { key: 'fc731674e7c26846a969768ddc77b94b14c6cca6', label: "AM", disabled: disabled, checked: true }), h("ic-toggle-button", { key: '89e0bd48a39a8e786fcac5e034358edd560f4136', label: "PM", disabled: disabled })))), h("span", { key: '52854ea1dc4a1c4e7783914ff90bf204848a2e6e', id: this.selectedTimeInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: '065c89020778df53ae78d037ef62feb189b7fdba', ref: (el) => (this.selectedTimeInfoEl = el), role: "status" })), h("ic-input-validation", { key: 'fc2500bef0e8e077272424a46663a85509a160c3', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidTimeText, for: inputId, ariaLiveMode: validationAriaLive }))));
|
|
927
1227
|
}
|
|
928
1228
|
static get is() { return "ic-time-input"; }
|
|
929
1229
|
static get encapsulation() { return "shadow"; }
|
|
@@ -996,7 +1296,7 @@ export class TimeInput {
|
|
|
996
1296
|
"optional": true,
|
|
997
1297
|
"docs": {
|
|
998
1298
|
"tags": [],
|
|
999
|
-
"text": "If `true`, every individual input field completed will emit an
|
|
1299
|
+
"text": "If `true`, every individual input field completed will emit an icTimeChange event."
|
|
1000
1300
|
},
|
|
1001
1301
|
"getter": false,
|
|
1002
1302
|
"setter": false,
|
|
@@ -1212,6 +1512,26 @@ export class TimeInput {
|
|
|
1212
1512
|
"reflect": false,
|
|
1213
1513
|
"defaultValue": "false"
|
|
1214
1514
|
},
|
|
1515
|
+
"showAmPmToggle": {
|
|
1516
|
+
"type": "boolean",
|
|
1517
|
+
"mutable": true,
|
|
1518
|
+
"complexType": {
|
|
1519
|
+
"original": "boolean",
|
|
1520
|
+
"resolved": "boolean | undefined",
|
|
1521
|
+
"references": {}
|
|
1522
|
+
},
|
|
1523
|
+
"required": false,
|
|
1524
|
+
"optional": true,
|
|
1525
|
+
"docs": {
|
|
1526
|
+
"tags": [],
|
|
1527
|
+
"text": "If `true`, the time input will show an AM/PM toggle when in 12-hour time period."
|
|
1528
|
+
},
|
|
1529
|
+
"getter": false,
|
|
1530
|
+
"setter": false,
|
|
1531
|
+
"attribute": "show-am-pm-toggle",
|
|
1532
|
+
"reflect": false,
|
|
1533
|
+
"defaultValue": "false"
|
|
1534
|
+
},
|
|
1215
1535
|
"showClearButton": {
|
|
1216
1536
|
"type": "boolean",
|
|
1217
1537
|
"mutable": false,
|
|
@@ -1312,7 +1632,7 @@ export class TimeInput {
|
|
|
1312
1632
|
"mutable": false,
|
|
1313
1633
|
"complexType": {
|
|
1314
1634
|
"original": "IcTimeFormat",
|
|
1315
|
-
"resolved": "\"HH:MM\" | \"HH:MM:SS\"",
|
|
1635
|
+
"resolved": "\"HH:MM\" | \"HH:MM:SS\" | \"HH:MM:SS.SSS\"",
|
|
1316
1636
|
"references": {
|
|
1317
1637
|
"IcTimeFormat": {
|
|
1318
1638
|
"location": "import",
|
|
@@ -1461,7 +1781,9 @@ export class TimeInput {
|
|
|
1461
1781
|
"removeLabelledBy": {},
|
|
1462
1782
|
"hour": {},
|
|
1463
1783
|
"minute": {},
|
|
1464
|
-
"second": {}
|
|
1784
|
+
"second": {},
|
|
1785
|
+
"millisecond": {},
|
|
1786
|
+
"period": {}
|
|
1465
1787
|
};
|
|
1466
1788
|
}
|
|
1467
1789
|
static get events() {
|
|
@@ -1509,8 +1831,8 @@ export class TimeInput {
|
|
|
1509
1831
|
}
|
|
1510
1832
|
}
|
|
1511
1833
|
}, {
|
|
1512
|
-
"method": "
|
|
1513
|
-
"name": "
|
|
1834
|
+
"method": "icTimeChange",
|
|
1835
|
+
"name": "icTimeChange",
|
|
1514
1836
|
"bubbles": true,
|
|
1515
1837
|
"cancelable": true,
|
|
1516
1838
|
"composed": true,
|
|
@@ -1519,8 +1841,8 @@ export class TimeInput {
|
|
|
1519
1841
|
"text": "Emitted when the value has changed."
|
|
1520
1842
|
},
|
|
1521
1843
|
"complexType": {
|
|
1522
|
-
"original": "{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n };\n }",
|
|
1523
|
-
"resolved": "{ value: Date | null; timeObject: { hour: string | null; minute: string | null; second: string | null; }; }",
|
|
1844
|
+
"original": "{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n millisecond: string | null;\n period: string | null;\n };\n }",
|
|
1845
|
+
"resolved": "{ value: Date | null; timeObject: { hour: string | null; minute: string | null; second: string | null; millisecond: string | null; period: string | null; }; }",
|
|
1524
1846
|
"references": {
|
|
1525
1847
|
"Date": {
|
|
1526
1848
|
"location": "global",
|
|
@@ -1576,7 +1898,7 @@ export class TimeInput {
|
|
|
1576
1898
|
}]
|
|
1577
1899
|
}
|
|
1578
1900
|
},
|
|
1579
|
-
"
|
|
1901
|
+
"triggerIcTimeChange": {
|
|
1580
1902
|
"complexType": {
|
|
1581
1903
|
"signature": "(t: Date | null) => Promise<void>",
|
|
1582
1904
|
"parameters": [{
|
|
@@ -1600,7 +1922,7 @@ export class TimeInput {
|
|
|
1600
1922
|
"text": "",
|
|
1601
1923
|
"tags": [{
|
|
1602
1924
|
"name": "internal",
|
|
1603
|
-
"text": "Used to enable other components to invoke an
|
|
1925
|
+
"text": "Used to enable other components to invoke an icTimeChange event from the input."
|
|
1604
1926
|
}]
|
|
1605
1927
|
}
|
|
1606
1928
|
}
|
|
@@ -1617,6 +1939,12 @@ export class TimeInput {
|
|
|
1617
1939
|
}, {
|
|
1618
1940
|
"propName": "second",
|
|
1619
1941
|
"methodName": "watchInputHandler"
|
|
1942
|
+
}, {
|
|
1943
|
+
"propName": "millisecond",
|
|
1944
|
+
"methodName": "watchInputHandler"
|
|
1945
|
+
}, {
|
|
1946
|
+
"propName": "period",
|
|
1947
|
+
"methodName": "watchInputHandler"
|
|
1620
1948
|
}, {
|
|
1621
1949
|
"propName": "disabled",
|
|
1622
1950
|
"methodName": "watchDisabledHandler"
|