mis-crystal-design-system 18.0.4 → 18.0.5
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/action-list/action-list.component.d.ts +1 -1
- package/analytics/analytics.service.d.ts +1 -1
- package/async-search-dropdown/async-dropdown.component.d.ts +2 -2
- package/button/button.component.d.ts +1 -1
- package/button/button.directive.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -1
- package/chip/chip.component.d.ts +1 -1
- package/datepicker_v2/models/dp-config.model.d.ts +1 -1
- package/datepicker_v2/tz-datepicker.directive.d.ts +1 -1
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +1 -1
- package/daterangepicker_v2/models/drp-config.model.d.ts +1 -1
- package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +1 -1
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +1 -1
- package/drawer/drawer-body/drawer-body.component.d.ts +1 -1
- package/dropdown/calculate-container-height.directive.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dynamic-form/dynamic-form.component.d.ts +1 -1
- package/esm2020/action-list/action-list.component.mjs +370 -0
- package/{esm2022 → esm2020}/action-list/action-list.module.mjs +5 -5
- package/{esm2022 → esm2020}/analytics/analytics.module.mjs +5 -5
- package/esm2020/analytics/analytics.service.mjs +64 -0
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +525 -0
- package/{esm2022 → esm2020}/async-search-dropdown/async-dropdown.module.mjs +5 -5
- package/esm2020/button/button.component.mjs +87 -0
- package/esm2020/button/button.directive.mjs +61 -0
- package/{esm2022 → esm2020}/button/button.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.component.mjs +124 -0
- package/{esm2022 → esm2020}/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/chip/chip.component.mjs +82 -0
- package/{esm2022 → esm2020}/chip/chip.module.mjs +5 -5
- package/{esm2022 → esm2020}/datepicker_v2/datepicker.module.mjs +5 -5
- package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +183 -0
- package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +449 -0
- package/esm2020/datepicker_v2/utils/index.mjs +45 -0
- package/{esm2022 → esm2020}/daterangepicker_v2/daterangepicker.module.mjs +5 -5
- package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +165 -0
- package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +502 -0
- package/{esm2022/datepicker_v2 → esm2020/daterangepicker_v2}/utils/index.mjs +1 -1
- package/esm2020/drawer/drawer-body/drawer-body.component.mjs +58 -0
- package/{esm2022 → esm2020}/drawer/drawer-ref.mjs +4 -4
- package/{esm2022 → esm2020}/drawer/drawer.module.mjs +5 -5
- package/{esm2022 → esm2020}/drawer/drawer.service.mjs +5 -5
- package/esm2020/dropdown/calculate-container-height.directive.mjs +41 -0
- package/esm2020/dropdown/dropdown.component.mjs +472 -0
- package/{esm2022 → esm2020}/dropdown/dropdown.module.mjs +5 -5
- package/esm2020/dynamic-form/dynamic-form.component.mjs +1108 -0
- package/{esm2022 → esm2020}/dynamic-form/dynamic-form.module.mjs +13 -13
- package/esm2020/fab/fab.component.mjs +144 -0
- package/{esm2022 → esm2020}/fab/fab.module.mjs +5 -5
- package/esm2020/filter/filter-panel/filter-panel.component.mjs +403 -0
- package/{esm2022 → esm2020}/filter/filters.module.mjs +17 -17
- package/esm2020/filter/has-value.pipe.mjs +31 -0
- package/{esm2022 → esm2020}/input/directives/input/input.directive.mjs +6 -6
- package/esm2020/input/mis-input.component.mjs +84 -0
- package/{esm2022 → esm2020}/input/mis-input.module.mjs +5 -5
- package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +88 -0
- package/{esm2022 → esm2020}/input-stepper/input-stepper.module.mjs +5 -5
- package/esm2020/loader/loader.component.mjs +24 -0
- package/{esm2022 → esm2020}/loader/loader.module.mjs +5 -5
- package/esm2020/menu/menu-close.directive.mjs +25 -0
- package/{esm2022 → esm2020}/menu/menu.directive.mjs +7 -7
- package/{esm2022 → esm2020}/menu/menu.module.mjs +5 -5
- package/esm2020/mobile-filter/mobile-filter.component.mjs +181 -0
- package/{esm2022 → esm2020}/mobile-filter/mobile-filter.module.mjs +5 -5
- package/{esm2022 → esm2020}/modal/modal.module.mjs +5 -5
- package/esm2020/modal/modal.service.mjs +70 -0
- package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +55 -0
- package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +491 -0
- package/{esm2022 → esm2020}/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
- package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +517 -0
- package/{esm2022 → esm2020}/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +5 -5
- package/esm2020/phone-input/phone-input.component.mjs +71 -0
- package/{esm2022 → esm2020}/phone-input/phone-input.module.mjs +5 -5
- package/esm2020/radio-button/radio-button.component.mjs +56 -0
- package/{esm2022 → esm2020}/radio-button/radio-button.module.mjs +5 -5
- package/esm2020/ske-loader/ske-loader.component.mjs +53 -0
- package/{esm2022 → esm2020}/ske-loader/ske-loader.module.mjs +5 -5
- package/esm2020/slider/slider.component.mjs +45 -0
- package/{esm2022 → esm2020}/slider/slider.module.mjs +7 -7
- package/esm2020/snackbar/snackbar/snackbar.component.mjs +72 -0
- package/{esm2022 → esm2020}/snackbar/snackbar.module.mjs +5 -5
- package/esm2020/snackbar/snackbar.service.mjs +47 -0
- package/{esm2022 → esm2020}/specificdatepicker/specificdatepicker.module.mjs +5 -5
- package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +646 -0
- package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
- package/esm2020/specificdatepicker/utils/index.mjs +45 -0
- package/esm2020/star-rating/star-rating.component.mjs +112 -0
- package/{esm2022 → esm2020}/star-rating/star-rating.module.mjs +5 -5
- package/esm2020/switch/switch.component.mjs +55 -0
- package/{esm2022 → esm2020}/switch/switch.module.mjs +5 -5
- package/esm2020/table/custom-table-cell.directive.mjs +42 -0
- package/esm2020/table/filter/filter.component.mjs +176 -0
- package/esm2020/table/sub-table/sub-table.component.mjs +193 -0
- package/esm2020/table/table.component.mjs +492 -0
- package/{esm2022 → esm2020}/table/table.module.mjs +5 -5
- package/esm2020/timepicker/timepicker.component.mjs +370 -0
- package/esm2020/timepicker/timepicker.directive.mjs +69 -0
- package/{esm2022 → esm2020}/timepicker/timepicker.module.mjs +5 -5
- package/esm2020/timerangepicker/timerangepicker.component.mjs +236 -0
- package/{esm2022 → esm2020}/timerangepicker/timerangepicker.module.mjs +5 -5
- package/esm2020/toast/toast.component.mjs +50 -0
- package/{esm2022 → esm2020}/toast/toast.data.service.mjs +8 -8
- package/{esm2022 → esm2020}/toast/toast.module.mjs +5 -5
- package/esm2020/toast/toast.service.mjs +91 -0
- package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +79 -0
- package/esm2020/tooltip/tooltip.directive.mjs +143 -0
- package/{esm2022 → esm2020}/tooltip/tooltip.module.mjs +5 -5
- package/esm2020/virtual-scroll/virtual-scroll.component.mjs +190 -0
- package/{esm2022 → esm2020}/virtual-scroll/virtual-scroll.module.mjs +7 -7
- package/esm2020/widgets/classes/async-widget.mjs +23 -0
- package/{esm2022 → esm2020}/widgets/classes/base-widget.mjs +1 -1
- package/esm2020/widgets/classes/sync-widget.mjs +20 -0
- package/{esm2022 → esm2020}/widgets/services/widget.service.mjs +5 -5
- package/{esm2022 → esm2020}/widgets/widgets.module.mjs +5 -5
- package/fab/fab.component.d.ts +4 -4
- package/fesm2015/mis-crystal-design-system-action-list.mjs +446 -0
- package/fesm2015/mis-crystal-design-system-action-list.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-analytics.mjs +87 -0
- package/fesm2015/mis-crystal-design-system-analytics.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +618 -0
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-button.mjs +189 -0
- package/fesm2015/mis-crystal-design-system-button.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-checkbox.mjs +166 -0
- package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-chip.mjs +123 -0
- package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +751 -0
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +769 -0
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-drawer.mjs +185 -0
- package/fesm2015/mis-crystal-design-system-drawer.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +616 -0
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +1337 -0
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-fab.mjs +186 -0
- package/fesm2015/mis-crystal-design-system-fab.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-filter.mjs +559 -0
- package/fesm2015/mis-crystal-design-system-filter.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs +124 -0
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-input.mjs +165 -0
- package/fesm2015/mis-crystal-design-system-input.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-loader.mjs +57 -0
- package/fesm2015/mis-crystal-design-system-loader.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-menu.mjs +135 -0
- package/fesm2015/mis-crystal-design-system-menu.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +227 -0
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-modal.mjs +184 -0
- package/fesm2015/mis-crystal-design-system-modal.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +550 -0
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +559 -0
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-phone-input.mjs +107 -0
- package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-radio-button.mjs +89 -0
- package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs +86 -0
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-slider.mjs +88 -0
- package/fesm2015/mis-crystal-design-system-slider.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-snackbar.mjs +175 -0
- package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +970 -0
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-star-rating.mjs +145 -0
- package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-switch.mjs +88 -0
- package/fesm2015/mis-crystal-design-system-switch.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-table.mjs +1045 -0
- package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-timepicker.mjs +484 -0
- package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +273 -0
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-toast.mjs +214 -0
- package/fesm2015/mis-crystal-design-system-toast.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-tooltip.mjs +272 -0
- package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +259 -0
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
- package/fesm2015/mis-crystal-design-system-widgets.mjs +131 -0
- package/fesm2015/mis-crystal-design-system-widgets.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-action-list.mjs +113 -106
- package/fesm2020/mis-crystal-design-system-action-list.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-analytics.mjs +9 -9
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-async-search-dropdown.mjs +144 -138
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-button.mjs +172 -0
- package/fesm2020/mis-crystal-design-system-button.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-checkbox.mjs +150 -0
- package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-chip.mjs +108 -0
- package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-datepicker_v2.mjs +140 -133
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +736 -0
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-drawer.mjs +33 -34
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-dropdown.mjs +184 -176
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-dynamic-form.mjs +456 -441
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-fab.mjs +47 -48
- package/fesm2020/mis-crystal-design-system-fab.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-filter.mjs +140 -133
- package/fesm2020/mis-crystal-design-system-filter.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-input-stepper.mjs +34 -35
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/{esm2022/input/mis-input.component.mjs → fesm2020/mis-crystal-design-system-input.mjs} +109 -49
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-loader.mjs +50 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-loader.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-menu.mjs +16 -16
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +206 -0
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-modal.mjs +33 -34
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-modal.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-multi-select-dropdown.mjs +109 -107
- package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-nested-multi-select-dropdown.mjs +129 -128
- package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-phone-input.mjs +21 -22
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-radio-button.mjs +82 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs +76 -0
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-slider.mjs +79 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-slider.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-snackbar.mjs +32 -32
- package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-specificdatepicker.mjs +204 -204
- package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-star-rating.mjs +28 -29
- package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-styles.mjs +4 -0
- package/fesm2020/mis-crystal-design-system-styles.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-switch.mjs +81 -0
- package/fesm2020/mis-crystal-design-system-switch.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-table.mjs +321 -314
- package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-timepicker.mjs +74 -78
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-timerangepicker.mjs +25 -26
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-toast.mjs +34 -35
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-toast.mjs.map +1 -1
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-tooltip.mjs +47 -47
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-utils.mjs +24 -0
- package/fesm2020/mis-crystal-design-system-utils.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-virtual-scroll.mjs +52 -50
- package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-widgets.mjs +4 -4
- package/{fesm2022 → fesm2020}/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system.mjs +24 -0
- package/fesm2020/mis-crystal-design-system.mjs.map +1 -0
- package/filter/filter-panel/filter-panel.component.d.ts +4 -3
- package/input/directives/input/input.directive.d.ts +1 -1
- package/input/mis-input.component.d.ts +1 -1
- package/input-stepper/input-stepper/input-stepper.component.d.ts +1 -1
- package/loader/loader.component.d.ts +1 -1
- package/menu/menu-close.directive.d.ts +1 -1
- package/menu/menu.directive.d.ts +1 -1
- package/mobile-filter/mobile-filter.component.d.ts +1 -1
- package/modal/module-wrapper/module-wrapper.component.d.ts +1 -1
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +1 -1
- package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +1 -1
- package/package.json +204 -122
- package/phone-input/phone-input.component.d.ts +1 -1
- package/radio-button/radio-button.component.d.ts +1 -1
- package/ske-loader/ske-loader.component.d.ts +1 -1
- package/slider/slider.component.d.ts +1 -1
- package/snackbar/snackbar/snackbar.component.d.ts +1 -1
- package/specificdatepicker/models/sdp-config.model.d.ts +1 -1
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +1 -1
- package/specificdatepicker/tz-specificdatepicker.directive.d.ts +1 -1
- package/star-rating/star-rating.component.d.ts +1 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/custom-table-cell.directive.d.ts +1 -1
- package/table/filter/filter.component.d.ts +1 -1
- package/table/sub-table/sub-table.component.d.ts +1 -1
- package/table/table.component.d.ts +1 -1
- package/timepicker/timepicker.component.d.ts +1 -1
- package/timepicker/timepicker.directive.d.ts +1 -1
- package/timerangepicker/timerange.namespace.d.ts +1 -1
- package/timerangepicker/timerangepicker.component.d.ts +1 -1
- package/toast/toast.component.d.ts +1 -1
- package/toast/toast.service.d.ts +1 -1
- package/tooltip/models/tooltip.model.d.ts +1 -1
- package/tooltip/tooltip-container/tooltip.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/virtual-scroll/virtual-scroll.component.d.ts +1 -1
- package/widgets/interfaces/widgets.model.d.ts +1 -1
- package/esm2022/action-list/action-list.component.mjs +0 -363
- package/esm2022/analytics/analytics.service.mjs +0 -64
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +0 -519
- package/esm2022/button/button.component.mjs +0 -88
- package/esm2022/button/button.directive.mjs +0 -61
- package/esm2022/checkbox/checkbox.component.mjs +0 -124
- package/esm2022/chip/chip.component.mjs +0 -82
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +0 -183
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +0 -442
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +0 -165
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +0 -503
- package/esm2022/daterangepicker_v2/utils/index.mjs +0 -45
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +0 -59
- package/esm2022/dropdown/calculate-container-height.directive.mjs +0 -41
- package/esm2022/dropdown/dropdown.component.mjs +0 -464
- package/esm2022/dynamic-form/dynamic-form.component.mjs +0 -1093
- package/esm2022/fab/fab.component.mjs +0 -145
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +0 -396
- package/esm2022/filter/has-value.pipe.mjs +0 -31
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +0 -89
- package/esm2022/loader/loader.component.mjs +0 -25
- package/esm2022/menu/menu-close.directive.mjs +0 -25
- package/esm2022/mobile-filter/mobile-filter.component.mjs +0 -180
- package/esm2022/modal/modal.service.mjs +0 -70
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +0 -56
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +0 -489
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +0 -516
- package/esm2022/phone-input/phone-input.component.mjs +0 -72
- package/esm2022/radio-button/radio-button.component.mjs +0 -57
- package/esm2022/ske-loader/ske-loader.component.mjs +0 -54
- package/esm2022/slider/slider.component.mjs +0 -46
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +0 -72
- package/esm2022/snackbar/snackbar.service.mjs +0 -47
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +0 -646
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +0 -196
- package/esm2022/specificdatepicker/utils/index.mjs +0 -45
- package/esm2022/star-rating/star-rating.component.mjs +0 -113
- package/esm2022/switch/switch.component.mjs +0 -56
- package/esm2022/table/custom-table-cell.directive.mjs +0 -42
- package/esm2022/table/filter/filter.component.mjs +0 -177
- package/esm2022/table/sub-table/sub-table.component.mjs +0 -192
- package/esm2022/table/table.component.mjs +0 -485
- package/esm2022/timepicker/timepicker.component.mjs +0 -374
- package/esm2022/timepicker/timepicker.directive.mjs +0 -69
- package/esm2022/timerangepicker/timerangepicker.component.mjs +0 -237
- package/esm2022/toast/toast.component.mjs +0 -51
- package/esm2022/toast/toast.service.mjs +0 -91
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +0 -79
- package/esm2022/tooltip/tooltip.directive.mjs +0 -143
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +0 -188
- package/esm2022/widgets/classes/async-widget.mjs +0 -23
- package/esm2022/widgets/classes/sync-widget.mjs +0 -20
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +0 -173
- package/fesm2022/mis-crystal-design-system-button.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +0 -150
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +0 -108
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +0 -737
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +0 -146
- package/fesm2022/mis-crystal-design-system-loader.mjs +0 -51
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +0 -205
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +0 -83
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +0 -77
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +0 -80
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +0 -82
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-table.mjs.map +0 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
- /package/{esm2022 → esm2020}/action-list/index.mjs +0 -0
- /package/{esm2022 → esm2020}/action-list/mis-crystal-design-system-action-list.mjs +0 -0
- /package/{esm2022 → esm2020}/action-list/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/analytics/index.mjs +0 -0
- /package/{esm2022 → esm2020}/analytics/mis-crystal-design-system-analytics.mjs +0 -0
- /package/{esm2022 → esm2020}/analytics/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/async-search-dropdown/index.mjs +0 -0
- /package/{esm2022 → esm2020}/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs +0 -0
- /package/{esm2022 → esm2020}/async-search-dropdown/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/button/index.mjs +0 -0
- /package/{esm2022 → esm2020}/button/mis-crystal-design-system-button.mjs +0 -0
- /package/{esm2022 → esm2020}/button/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/checkbox/index.mjs +0 -0
- /package/{esm2022 → esm2020}/checkbox/mis-crystal-design-system-checkbox.mjs +0 -0
- /package/{esm2022 → esm2020}/checkbox/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/chip/index.mjs +0 -0
- /package/{esm2022 → esm2020}/chip/mis-crystal-design-system-chip.mjs +0 -0
- /package/{esm2022 → esm2020}/chip/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/datepicker_v2/datepicker-constants.mjs +0 -0
- /package/{esm2022 → esm2020}/datepicker_v2/index.mjs +0 -0
- /package/{esm2022 → esm2020}/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +0 -0
- /package/{esm2022 → esm2020}/datepicker_v2/models/dp-config.model.mjs +0 -0
- /package/{esm2022 → esm2020}/datepicker_v2/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/daterangepicker_v2/daterangepicker-constants.mjs +0 -0
- /package/{esm2022 → esm2020}/daterangepicker_v2/index.mjs +0 -0
- /package/{esm2022 → esm2020}/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +0 -0
- /package/{esm2022 → esm2020}/daterangepicker_v2/models/drp-config.model.mjs +0 -0
- /package/{esm2022 → esm2020}/daterangepicker_v2/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/drawer/drawer-constants.mjs +0 -0
- /package/{esm2022 → esm2020}/drawer/index.mjs +0 -0
- /package/{esm2022 → esm2020}/drawer/mis-crystal-design-system-drawer.mjs +0 -0
- /package/{esm2022 → esm2020}/drawer/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/dropdown/index.mjs +0 -0
- /package/{esm2022 → esm2020}/dropdown/mis-crystal-design-system-dropdown.mjs +0 -0
- /package/{esm2022 → esm2020}/dropdown/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-form/dynamic-form.namespace.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-form/index.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-form/mis-crystal-design-system-dynamic-form.mjs +0 -0
- /package/{esm2022 → esm2020}/dynamic-form/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/fab/index.mjs +0 -0
- /package/{esm2022 → esm2020}/fab/mis-crystal-design-system-fab.mjs +0 -0
- /package/{esm2022 → esm2020}/fab/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/filter/animations/slideFromRight.mjs +0 -0
- /package/{esm2022 → esm2020}/filter/index.mjs +0 -0
- /package/{esm2022 → esm2020}/filter/mis-crystal-design-system-filter.mjs +0 -0
- /package/{esm2022 → esm2020}/filter/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/index.mjs +0 -0
- /package/{esm2022 → esm2020}/input/index.mjs +0 -0
- /package/{esm2022 → esm2020}/input/mis-crystal-design-system-input.mjs +0 -0
- /package/{esm2022 → esm2020}/input/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/input-stepper/index.mjs +0 -0
- /package/{esm2022 → esm2020}/input-stepper/mis-crystal-design-system-input-stepper.mjs +0 -0
- /package/{esm2022 → esm2020}/input-stepper/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/loader/index.mjs +0 -0
- /package/{esm2022 → esm2020}/loader/mis-crystal-design-system-loader.mjs +0 -0
- /package/{esm2022 → esm2020}/loader/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/menu/index.mjs +0 -0
- /package/{esm2022 → esm2020}/menu/mis-crystal-design-system-menu.mjs +0 -0
- /package/{esm2022 → esm2020}/menu/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/mis-crystal-design-system.mjs +0 -0
- /package/{esm2022 → esm2020}/mobile-filter/index.mjs +0 -0
- /package/{esm2022 → esm2020}/mobile-filter/mis-crystal-design-system-mobile-filter.mjs +0 -0
- /package/{esm2022 → esm2020}/mobile-filter/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/modal/index.mjs +0 -0
- /package/{esm2022 → esm2020}/modal/mis-crystal-design-system-modal.mjs +0 -0
- /package/{esm2022 → esm2020}/modal/modal-constants.mjs +0 -0
- /package/{esm2022 → esm2020}/modal/modal-ref.mjs +0 -0
- /package/{esm2022 → esm2020}/modal/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/multi-select-dropdown/index.mjs +0 -0
- /package/{esm2022 → esm2020}/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs +0 -0
- /package/{esm2022 → esm2020}/multi-select-dropdown/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/nested-multi-select-dropdown/index.mjs +0 -0
- /package/{esm2022 → esm2020}/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -0
- /package/{esm2022 → esm2020}/nested-multi-select-dropdown/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/phone-input/index.mjs +0 -0
- /package/{esm2022 → esm2020}/phone-input/mis-crystal-design-system-phone-input.mjs +0 -0
- /package/{esm2022 → esm2020}/phone-input/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/public-api.mjs +0 -0
- /package/{esm2022 → esm2020}/radio-button/index.mjs +0 -0
- /package/{esm2022 → esm2020}/radio-button/mis-crystal-design-system-radio-button.mjs +0 -0
- /package/{esm2022 → esm2020}/radio-button/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/ske-loader/index.mjs +0 -0
- /package/{esm2022 → esm2020}/ske-loader/mis-crystal-design-system-ske-loader.mjs +0 -0
- /package/{esm2022 → esm2020}/ske-loader/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/slider/index.mjs +0 -0
- /package/{esm2022 → esm2020}/slider/mis-crystal-design-system-slider.mjs +0 -0
- /package/{esm2022 → esm2020}/slider/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/snackbar/index.mjs +0 -0
- /package/{esm2022 → esm2020}/snackbar/mis-crystal-design-system-snackbar.mjs +0 -0
- /package/{esm2022 → esm2020}/snackbar/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/specificdatepicker/daterangepicker-constants.mjs +0 -0
- /package/{esm2022 → esm2020}/specificdatepicker/index.mjs +0 -0
- /package/{esm2022 → esm2020}/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +0 -0
- /package/{esm2022 → esm2020}/specificdatepicker/models/sdp-config.model.mjs +0 -0
- /package/{esm2022 → esm2020}/specificdatepicker/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/star-rating/index.mjs +0 -0
- /package/{esm2022 → esm2020}/star-rating/mis-crystal-design-system-star-rating.mjs +0 -0
- /package/{esm2022 → esm2020}/star-rating/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/styles/index.mjs +0 -0
- /package/{esm2022 → esm2020}/styles/mis-crystal-design-system-styles.mjs +0 -0
- /package/{esm2022 → esm2020}/styles/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/switch/index.mjs +0 -0
- /package/{esm2022 → esm2020}/switch/mis-crystal-design-system-switch.mjs +0 -0
- /package/{esm2022 → esm2020}/switch/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/table/index.mjs +0 -0
- /package/{esm2022 → esm2020}/table/mis-crystal-design-system-table.mjs +0 -0
- /package/{esm2022 → esm2020}/table/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/timepicker/index.mjs +0 -0
- /package/{esm2022 → esm2020}/timepicker/mis-crystal-design-system-timepicker.mjs +0 -0
- /package/{esm2022 → esm2020}/timepicker/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/timepicker/time.namespace.mjs +0 -0
- /package/{esm2022 → esm2020}/timerangepicker/index.mjs +0 -0
- /package/{esm2022 → esm2020}/timerangepicker/mis-crystal-design-system-timerangepicker.mjs +0 -0
- /package/{esm2022 → esm2020}/timerangepicker/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/timerangepicker/timerange.namespace.mjs +0 -0
- /package/{esm2022 → esm2020}/toast/index.mjs +0 -0
- /package/{esm2022 → esm2020}/toast/mis-crystal-design-system-toast.mjs +0 -0
- /package/{esm2022 → esm2020}/toast/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/tooltip/index.mjs +0 -0
- /package/{esm2022 → esm2020}/tooltip/mis-crystal-design-system-tooltip.mjs +0 -0
- /package/{esm2022 → esm2020}/tooltip/models/tooltip.model.mjs +0 -0
- /package/{esm2022 → esm2020}/tooltip/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/utils/index.mjs +0 -0
- /package/{esm2022 → esm2020}/utils/mis-crystal-design-system-utils.mjs +0 -0
- /package/{esm2022 → esm2020}/virtual-scroll/index.mjs +0 -0
- /package/{esm2022 → esm2020}/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs +0 -0
- /package/{esm2022 → esm2020}/virtual-scroll/public_api.mjs +0 -0
- /package/{esm2022 → esm2020}/virtual-scroll/virtual-scroll.constants.mjs +0 -0
- /package/{esm2022 → esm2020}/widgets/classes/widget-group.mjs +0 -0
- /package/{esm2022 → esm2020}/widgets/index.mjs +0 -0
- /package/{esm2022 → esm2020}/widgets/interfaces/widgets.model.mjs +0 -0
- /package/{esm2022 → esm2020}/widgets/mis-crystal-design-system-widgets.mjs +0 -0
- /package/{esm2022 → esm2020}/widgets/public_api.mjs +0 -0
- /package/{fesm2022 → fesm2015}/mis-crystal-design-system-styles.mjs +0 -0
- /package/{fesm2022 → fesm2015}/mis-crystal-design-system-styles.mjs.map +0 -0
- /package/{fesm2022 → fesm2015}/mis-crystal-design-system-utils.mjs +0 -0
- /package/{fesm2022 → fesm2015}/mis-crystal-design-system-utils.mjs.map +0 -0
- /package/{fesm2022 → fesm2015}/mis-crystal-design-system.mjs +0 -0
- /package/{fesm2022 → fesm2015}/mis-crystal-design-system.mjs.map +0 -0
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Directive, Input, Output, Component, ViewChild, ViewChildren, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/cdk/overlay';
|
|
4
|
+
import { ConnectionPositionPair, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
5
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
6
|
+
import * as i3 from 'mis-crystal-design-system/tooltip';
|
|
7
|
+
import { ToolTipDirective, ToolTipModule } from 'mis-crystal-design-system/tooltip';
|
|
8
|
+
import dayjs from 'dayjs';
|
|
9
|
+
import timezone from 'dayjs/plugin/timezone';
|
|
10
|
+
import utc from 'dayjs/plugin/utc';
|
|
11
|
+
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
12
|
+
import * as i1$1 from '@angular/common';
|
|
13
|
+
import { CommonModule } from '@angular/common';
|
|
14
|
+
import * as i2 from '@angular/forms';
|
|
15
|
+
import { FormsModule } from '@angular/forms';
|
|
16
|
+
|
|
17
|
+
class TimepickerDirective {
|
|
18
|
+
constructor(templateRef, overlay, viewContainerRef) {
|
|
19
|
+
this.templateRef = templateRef;
|
|
20
|
+
this.overlay = overlay;
|
|
21
|
+
this.viewContainerRef = viewContainerRef;
|
|
22
|
+
this.openStatus = false;
|
|
23
|
+
this.statusEmitter = new EventEmitter();
|
|
24
|
+
}
|
|
25
|
+
set createOverlayOnInput(openStatus) {
|
|
26
|
+
this.openStatus = openStatus;
|
|
27
|
+
if (this.originEl && this.openStatus)
|
|
28
|
+
this.createOverlay(this.originEl);
|
|
29
|
+
}
|
|
30
|
+
;
|
|
31
|
+
createOverlay(origin) {
|
|
32
|
+
const positions = [
|
|
33
|
+
new ConnectionPositionPair({ originX: "start", originY: "bottom" }, { overlayX: "start", overlayY: "top" }, 0, 4),
|
|
34
|
+
new ConnectionPositionPair({ originX: "end", originY: "bottom" }, { overlayX: "end", overlayY: "top" }, 0, 4)
|
|
35
|
+
];
|
|
36
|
+
const overlayConfig = new OverlayConfig({
|
|
37
|
+
hasBackdrop: true,
|
|
38
|
+
backdropClass: "cdk-overlay-transparent-backdrop",
|
|
39
|
+
positionStrategy: this.overlay
|
|
40
|
+
.position()
|
|
41
|
+
//connecting the dropdown overlay to the input element
|
|
42
|
+
.flexibleConnectedTo(origin)
|
|
43
|
+
.withPositions([...positions])
|
|
44
|
+
.withPush(true)
|
|
45
|
+
});
|
|
46
|
+
this.overlayRef = this.overlay.create(overlayConfig);
|
|
47
|
+
const dropdownPortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
48
|
+
this.overlayRef.attach(dropdownPortal);
|
|
49
|
+
this.overlayRef.backdropClick().subscribe(resp => {
|
|
50
|
+
this.openStatus = false;
|
|
51
|
+
this.statusEmitter.emit(false);
|
|
52
|
+
if (this.overlay) {
|
|
53
|
+
this.overlayRef.detach();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
destroyOverlay() {
|
|
58
|
+
if (this.overlay) {
|
|
59
|
+
this.overlayRef.detach();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
TimepickerDirective.ɵfac = function TimepickerDirective_Factory(t) { return new (t || TimepickerDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
|
64
|
+
TimepickerDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TimepickerDirective, selectors: [["", "libTimepicker", ""]], inputs: { originEl: "originEl", createOverlayOnInput: ["openStatus", "createOverlayOnInput"] }, outputs: { statusEmitter: "statusEmitter" } });
|
|
65
|
+
(function () {
|
|
66
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimepickerDirective, [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: '[libTimepicker]'
|
|
70
|
+
}]
|
|
71
|
+
}], function () { return [{ type: i0.TemplateRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, { originEl: [{
|
|
72
|
+
type: Input,
|
|
73
|
+
args: ['originEl']
|
|
74
|
+
}], statusEmitter: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}], createOverlayOnInput: [{
|
|
77
|
+
type: Input,
|
|
78
|
+
args: ['openStatus']
|
|
79
|
+
}] });
|
|
80
|
+
})();
|
|
81
|
+
|
|
82
|
+
const _c0 = ["input"];
|
|
83
|
+
const _c1 = ["timeInterval"];
|
|
84
|
+
function TimePickerComponent_ng_template_3_div_0_li_3_div_3_Template(rf, ctx) {
|
|
85
|
+
if (rf & 1) {
|
|
86
|
+
i0.ɵɵelement(0, "div", 12);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const _c2 = function (a0) { return { highlight: a0 }; };
|
|
90
|
+
function TimePickerComponent_ng_template_3_div_0_li_3_Template(rf, ctx) {
|
|
91
|
+
if (rf & 1) {
|
|
92
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
93
|
+
i0.ɵɵelementStart(0, "li", 9, 10);
|
|
94
|
+
i0.ɵɵlistener("click", function TimePickerComponent_ng_template_3_div_0_li_3_Template_li_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const interval_r6 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r10.onTimeSelect(interval_r6)); });
|
|
95
|
+
i0.ɵɵtext(2);
|
|
96
|
+
i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_div_0_li_3_div_3_Template, 1, 0, "div", 11);
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
}
|
|
99
|
+
if (rf & 2) {
|
|
100
|
+
const interval_r6 = ctx.$implicit;
|
|
101
|
+
const i_r7 = ctx.index;
|
|
102
|
+
const ctx_r5 = i0.ɵɵnextContext(3);
|
|
103
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, i_r7 === ctx_r5.isHighlighted));
|
|
104
|
+
i0.ɵɵadvance(2);
|
|
105
|
+
i0.ɵɵtextInterpolate1(" ", interval_r6, " ");
|
|
106
|
+
i0.ɵɵadvance(1);
|
|
107
|
+
i0.ɵɵproperty("ngIf", interval_r6 === ctx_r5.chosenTime);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const _c3 = function (a0) { return { width: a0 }; };
|
|
111
|
+
function TimePickerComponent_ng_template_3_div_0_Template(rf, ctx) {
|
|
112
|
+
if (rf & 1) {
|
|
113
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "ul", null, 7);
|
|
114
|
+
i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_div_0_li_3_Template, 4, 5, "li", 8);
|
|
115
|
+
i0.ɵɵelementEnd()();
|
|
116
|
+
}
|
|
117
|
+
if (rf & 2) {
|
|
118
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
119
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c3, ctx_r3.dropdownWidth || ctx_r3.inputWidth));
|
|
120
|
+
i0.ɵɵadvance(3);
|
|
121
|
+
i0.ɵɵproperty("ngForOf", ctx_r3.timeIntervals);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function TimePickerComponent_ng_template_3_Template(rf, ctx) {
|
|
125
|
+
if (rf & 1) {
|
|
126
|
+
i0.ɵɵtemplate(0, TimePickerComponent_ng_template_3_div_0_Template, 4, 4, "div", 5);
|
|
127
|
+
}
|
|
128
|
+
if (rf & 2) {
|
|
129
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
130
|
+
i0.ɵɵproperty("ngIf", ctx_r2.openStatus);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const _c4 = function (a0) { return { height: a0 }; };
|
|
134
|
+
const _c5 = function (a0) { return { "disable": a0 }; };
|
|
135
|
+
const _c6 = function (a0) { return { invalid: a0 }; };
|
|
136
|
+
dayjs.extend(utc);
|
|
137
|
+
dayjs.extend(timezone);
|
|
138
|
+
dayjs.extend(customParseFormat);
|
|
139
|
+
class TimePickerComponent {
|
|
140
|
+
constructor() {
|
|
141
|
+
this.openStatus = false;
|
|
142
|
+
this.isHighlighted = 0;
|
|
143
|
+
this.isInvalid = false;
|
|
144
|
+
this.timeIntervals = [];
|
|
145
|
+
this.shouldScroll = false;
|
|
146
|
+
this.userInputFlag = false;
|
|
147
|
+
this.givenTimeFlag = true;
|
|
148
|
+
this.clockFormat = 12;
|
|
149
|
+
this.timezone = "Asia/Kolkata";
|
|
150
|
+
this.height = "max-content";
|
|
151
|
+
this.inputWidth = "100px";
|
|
152
|
+
this.interval = 15;
|
|
153
|
+
this.dateAsEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
|
|
154
|
+
this.rangeValidity = true;
|
|
155
|
+
this.showTooltip = true;
|
|
156
|
+
this.dispayToolTip = this.showTooltip;
|
|
157
|
+
this.triggerChange = true;
|
|
158
|
+
this.disable = false;
|
|
159
|
+
this.timeEmitter = new EventEmitter();
|
|
160
|
+
}
|
|
161
|
+
// gets all the li elements from the dropdown and scrolls to the highlighted element
|
|
162
|
+
set timeIntervalRefs(intervals) {
|
|
163
|
+
intervals.forEach(interval => {
|
|
164
|
+
if (interval.nativeElement.classList[0] === "highlight") {
|
|
165
|
+
const highlighted = interval.nativeElement;
|
|
166
|
+
setTimeout(() => highlighted.scrollIntoView({ block: "center" }));
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
ngOnInit() {
|
|
171
|
+
if (!this.givenTime && !this.minTime) {
|
|
172
|
+
this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
|
|
173
|
+
let chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
174
|
+
this.emitTime({
|
|
175
|
+
valid: !this.isInvalid,
|
|
176
|
+
time: this.chosenTime,
|
|
177
|
+
epoch: chosenTimedayjs.valueOf()
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
ngOnChanges() {
|
|
182
|
+
this.timeFormat = this.clockFormat === 12 ? "hh:mm a" : "HH:mm";
|
|
183
|
+
if (this.timeFormat) {
|
|
184
|
+
let chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
185
|
+
// if the first interval is >= the chosen time
|
|
186
|
+
// then only update the value of chosen time
|
|
187
|
+
// else it remains the same
|
|
188
|
+
if (this.firstInterval >= chosenTimedayjs.valueOf() && this.rangeValidity && !this.userInputFlag) {
|
|
189
|
+
this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
|
|
190
|
+
chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
191
|
+
}
|
|
192
|
+
if ((this.givenTimeFlag && this.givenTime) || this.minTime) {
|
|
193
|
+
this.chosenTime = dayjs.tz(this.minTime || this.givenTime, this.timezone).format(this.timeFormat);
|
|
194
|
+
}
|
|
195
|
+
chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
196
|
+
if (!this.userInputFlag)
|
|
197
|
+
this.populateDropdown();
|
|
198
|
+
this.userInputFlag = false;
|
|
199
|
+
if (this.chosenTime) {
|
|
200
|
+
this.isInvalid = !this.checkTimeValidity(this.chosenTime.trim());
|
|
201
|
+
this.emitTime({
|
|
202
|
+
valid: !this.isInvalid,
|
|
203
|
+
time: this.chosenTime,
|
|
204
|
+
epoch: chosenTimedayjs.valueOf()
|
|
205
|
+
});
|
|
206
|
+
this.calculateClosestInterval(this.chosenTime);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
emitTime(data) {
|
|
211
|
+
this.timeEmitter.emit(data);
|
|
212
|
+
}
|
|
213
|
+
// function to get dayjs object when time is given in string
|
|
214
|
+
getdayjs(time = '00:00') {
|
|
215
|
+
var _a, _b, _c, _d;
|
|
216
|
+
;
|
|
217
|
+
if (!time || typeof time !== 'string') {
|
|
218
|
+
throw new Error('Time must be a string');
|
|
219
|
+
}
|
|
220
|
+
let hours;
|
|
221
|
+
let minutes;
|
|
222
|
+
if (this.clockFormat === 24) {
|
|
223
|
+
hours = parseInt(time.split(':')[0]);
|
|
224
|
+
minutes = parseInt(time.split(':')[1]);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
const timeParts = time.split(' ');
|
|
228
|
+
const AM_PM = timeParts === null || timeParts === void 0 ? void 0 : timeParts[1];
|
|
229
|
+
hours = parseInt((_b = (_a = timeParts === null || timeParts === void 0 ? void 0 : timeParts[0]) === null || _a === void 0 ? void 0 : _a.split(':')) === null || _b === void 0 ? void 0 : _b[0]);
|
|
230
|
+
minutes = parseInt((_d = (_c = timeParts === null || timeParts === void 0 ? void 0 : timeParts[0]) === null || _c === void 0 ? void 0 : _c.split(':')) === null || _d === void 0 ? void 0 : _d[1]);
|
|
231
|
+
if ((AM_PM === null || AM_PM === void 0 ? void 0 : AM_PM.toUpperCase()) === 'PM' && hours !== 12) {
|
|
232
|
+
hours += 12;
|
|
233
|
+
}
|
|
234
|
+
else if ((AM_PM === null || AM_PM === void 0 ? void 0 : AM_PM.toUpperCase()) === 'AM' && hours === 12) {
|
|
235
|
+
hours = 0;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return dayjs.tz(this.dateAsEpoch, this.timezone).add(hours, 'h').add(minutes, 'm');
|
|
239
|
+
}
|
|
240
|
+
closeDropdown() {
|
|
241
|
+
this.dispayToolTip = false;
|
|
242
|
+
this.userInputFlag = false;
|
|
243
|
+
this.openStatus = false;
|
|
244
|
+
if (this.timepickerDirective)
|
|
245
|
+
this.timepickerDirective.destroyOverlay();
|
|
246
|
+
}
|
|
247
|
+
// toggle timepicker dropdown
|
|
248
|
+
openDropdown() {
|
|
249
|
+
this.dispayToolTip = true;
|
|
250
|
+
this.openStatus = true;
|
|
251
|
+
}
|
|
252
|
+
checkTimeValidity(time) {
|
|
253
|
+
const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;
|
|
254
|
+
const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
|
|
255
|
+
const RE = this.clockFormat === 12 ? RE12 : RE24;
|
|
256
|
+
const timedayjs = this.getdayjs(time);
|
|
257
|
+
let flag = false;
|
|
258
|
+
// if the first interval is set to the start of the day
|
|
259
|
+
// or a time is already provided to the component to show
|
|
260
|
+
// then we don't check its validity against the current time
|
|
261
|
+
if (this.minTime ||
|
|
262
|
+
this.givenTime ||
|
|
263
|
+
(this.firstInterval &&
|
|
264
|
+
dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat).valueOf() === dayjs.tz(dayjs(), this.timezone).startOf("day").format(this.timeFormat).valueOf())) {
|
|
265
|
+
flag = time.match(RE) ? true : false;
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), "m") >= 0 ? true : false;
|
|
269
|
+
}
|
|
270
|
+
return flag;
|
|
271
|
+
}
|
|
272
|
+
// update chosen time as soon as the user clicks on an interval
|
|
273
|
+
onTimeSelect(time) {
|
|
274
|
+
this.isInvalid = !this.checkTimeValidity(time.trim());
|
|
275
|
+
if (!this.isInvalid) {
|
|
276
|
+
this.chosenTime = time;
|
|
277
|
+
this.calculateClosestInterval(this.chosenTime);
|
|
278
|
+
}
|
|
279
|
+
const timedayjs = this.getdayjs(time);
|
|
280
|
+
this.emitTime({
|
|
281
|
+
valid: !this.isInvalid,
|
|
282
|
+
time: time,
|
|
283
|
+
epoch: timedayjs.valueOf()
|
|
284
|
+
});
|
|
285
|
+
this.openStatus = false;
|
|
286
|
+
if (this.timepickerDirective)
|
|
287
|
+
this.timepickerDirective.destroyOverlay();
|
|
288
|
+
}
|
|
289
|
+
// checks validity of time on input change and calculates the closest interval
|
|
290
|
+
onTimeChange(time) {
|
|
291
|
+
this.isInvalid = !this.checkTimeValidity(time.trim());
|
|
292
|
+
if (!this.isInvalid) {
|
|
293
|
+
this.userInputFlag = true;
|
|
294
|
+
this.openStatus = false;
|
|
295
|
+
if (this.timepickerDirective)
|
|
296
|
+
this.timepickerDirective.destroyOverlay();
|
|
297
|
+
this.calculateClosestInterval(time);
|
|
298
|
+
}
|
|
299
|
+
const timedayjs = this.getdayjs(time);
|
|
300
|
+
this.emitTime({
|
|
301
|
+
valid: !this.isInvalid,
|
|
302
|
+
time: time,
|
|
303
|
+
epoch: timedayjs.valueOf()
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
calculateClosestInterval(time) {
|
|
307
|
+
let roundedEpoch;
|
|
308
|
+
// Converting time and date to a dayjs object
|
|
309
|
+
const chosenDate = dayjs.tz(this.dateAsEpoch, this.timezone).format("DD-MM-YYYY"); // 05-01-2024
|
|
310
|
+
const parsedTimeWithDate = dayjs.tz(`${chosenDate} ${time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
|
|
311
|
+
// Converting dayjs object to epoch
|
|
312
|
+
const chosenTimeEpoch = parsedTimeWithDate.valueOf();
|
|
313
|
+
const offset = this.interval - (dayjs.tz(chosenTimeEpoch, this.timezone).minute() % this.interval);
|
|
314
|
+
if (this.minTime && !this.givenTime) {
|
|
315
|
+
this.isHighlighted = 0;
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
roundedEpoch = offset >= this.interval / 2 ? (dayjs.tz(chosenTimeEpoch, this.timezone).subtract(this.interval - offset, "m")).valueOf() : (dayjs.tz(chosenTimeEpoch, this.timezone).add(offset, "m")).valueOf();
|
|
319
|
+
// finding the index of element that needs to be highlighted
|
|
320
|
+
if (chosenTimeEpoch > dayjs.tz(this.dateAsEpoch, this.timezone).endOf("day").subtract(this.interval, "m").valueOf()) {
|
|
321
|
+
this.isHighlighted = this.timeIntervals.length - 1;
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
const roundedEpochdayjs = dayjs.tz(roundedEpoch, this.timezone);
|
|
325
|
+
this.isHighlighted = this.timeIntervals.findIndex(interval => {
|
|
326
|
+
const intervalObj = dayjs.tz(`${chosenDate} ${interval}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
|
|
327
|
+
return intervalObj.isSame(roundedEpochdayjs);
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// populates the dropdown according to the first interval received
|
|
332
|
+
populateDropdown() {
|
|
333
|
+
this.timeIntervals = [];
|
|
334
|
+
// if picker is used as an individual component
|
|
335
|
+
if (!this.firstInterval) {
|
|
336
|
+
// firstInterval is initialised according to the current time
|
|
337
|
+
// if the date is same as the current date
|
|
338
|
+
if (dayjs.tz(this.dateAsEpoch, this.timezone).format("DD-MM-YYYY") === dayjs.tz(dayjs(), this.timezone).format("DD-MM-YYYY") && !this.minTime) {
|
|
339
|
+
const offset = this.interval - (dayjs.tz(dayjs(), this.timezone).minute() % this.interval);
|
|
340
|
+
this.firstInterval = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
|
|
341
|
+
}
|
|
342
|
+
// if minimum time to show is provided
|
|
343
|
+
else if (this.minTime) {
|
|
344
|
+
const offset = this.interval - (dayjs.tz(this.minTime, this.timezone).minute() % this.interval);
|
|
345
|
+
this.firstInterval = dayjs.tz(this.minTime, this.timezone).add(offset, "m").valueOf();
|
|
346
|
+
}
|
|
347
|
+
// else the firstInterval is initialised as start of day
|
|
348
|
+
else {
|
|
349
|
+
this.firstInterval = dayjs.tz(dayjs(), this.timezone).startOf("day").valueOf();
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
if (this.givenTime && this.givenTimeFlag) {
|
|
353
|
+
this.firstInterval = dayjs.tz(this.givenTime, this.timezone).startOf('d').valueOf();
|
|
354
|
+
this.givenTimeFlag = false;
|
|
355
|
+
}
|
|
356
|
+
const dateAsString = dayjs.tz(this.dateAsEpoch, this.timezone).format('DD-MM-YYYY');
|
|
357
|
+
const intervalAsString = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
|
|
358
|
+
let start = dayjs.tz(`${dateAsString} ${intervalAsString}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
|
|
359
|
+
const end = dayjs.tz(this.dateAsEpoch, this.timezone).endOf('d');
|
|
360
|
+
while (start.valueOf() < end.valueOf()) {
|
|
361
|
+
this.timeIntervals.push(start.format(this.timeFormat));
|
|
362
|
+
start = start.add(this.interval, "m");
|
|
363
|
+
}
|
|
364
|
+
// if the start time is equal to the interval just before midnight
|
|
365
|
+
// and the start date = end date
|
|
366
|
+
// push 11:59pm only
|
|
367
|
+
if (this.timeIntervals.length === 0) {
|
|
368
|
+
this.chosenTime = dayjs.tz(dayjs(), this.timezone).endOf("d").format(this.timeFormat);
|
|
369
|
+
this.timeIntervals.push(dayjs.tz(dayjs(), this.timezone).endOf("d").format(this.timeFormat));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
ngOnDestroy() {
|
|
373
|
+
if (this.tooltipDirective)
|
|
374
|
+
this.tooltipDirective.hideToolTip();
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
TimePickerComponent.ɵfac = function TimePickerComponent_Factory(t) { return new (t || TimePickerComponent)(); };
|
|
378
|
+
TimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimePickerComponent, selectors: [["mis-timepicker"]], viewQuery: function TimePickerComponent_Query(rf, ctx) {
|
|
379
|
+
if (rf & 1) {
|
|
380
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
381
|
+
i0.ɵɵviewQuery(TimepickerDirective, 5);
|
|
382
|
+
i0.ɵɵviewQuery(ToolTipDirective, 5);
|
|
383
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
384
|
+
}
|
|
385
|
+
if (rf & 2) {
|
|
386
|
+
let _t;
|
|
387
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
388
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timepickerDirective = _t.first);
|
|
389
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipDirective = _t.first);
|
|
390
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timeIntervalRefs = _t);
|
|
391
|
+
}
|
|
392
|
+
}, inputs: { clockFormat: "clockFormat", timezone: "timezone", height: "height", inputWidth: "inputWidth", dropdownWidth: "dropdownWidth", interval: "interval", dateAsEpoch: "dateAsEpoch", firstInterval: "firstInterval", rangeValidity: "rangeValidity", showTooltip: "showTooltip", givenTime: "givenTime", minTime: "minTime", triggerChange: "triggerChange", disable: "disable" }, outputs: { timeEmitter: "timeEmitter" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 19, consts: [[1, "timepicker-container", 3, "ngStyle", "ngClass"], ["type", "text", "misToolTip", "", "cdkOverlayOrigin", "", 1, "h7", 3, "ngModel", "ngClass", "ngStyle", "showToolTip", "text", "position", "showOnHover", "ngModelChange", "click"], ["input", ""], ["libDropdownScroll", "", "libTimepicker", "", 3, "originEl", "openStatus", "statusEmitter"], ["dropdownContainer", ""], ["class", "timepicker-dropdown", 3, "ngStyle", 4, "ngIf"], [1, "timepicker-dropdown", 3, "ngStyle"], ["dropdown", ""], [3, "ngClass", "click", 4, "ngFor", "ngForOf"], [3, "ngClass", "click"], ["timeInterval", ""], ["class", "ic-ui-check-24 selected-icon", 4, "ngIf"], [1, "ic-ui-check-24", "selected-icon"]], template: function TimePickerComponent_Template(rf, ctx) {
|
|
393
|
+
if (rf & 1) {
|
|
394
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "input", 1, 2);
|
|
395
|
+
i0.ɵɵlistener("ngModelChange", function TimePickerComponent_Template_input_ngModelChange_1_listener($event) { return ctx.chosenTime = $event; })("ngModelChange", function TimePickerComponent_Template_input_ngModelChange_1_listener() { return ctx.onTimeChange(ctx.chosenTime); })("click", function TimePickerComponent_Template_input_click_1_listener() { return ctx.openDropdown(); });
|
|
396
|
+
i0.ɵɵelementEnd();
|
|
397
|
+
i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_Template, 1, 1, "ng-template", 3, 4, i0.ɵɵtemplateRefExtractor);
|
|
398
|
+
i0.ɵɵlistener("statusEmitter", function TimePickerComponent_Template_ng_template_statusEmitter_3_listener() { return ctx.closeDropdown(); });
|
|
399
|
+
i0.ɵɵelementEnd();
|
|
400
|
+
}
|
|
401
|
+
if (rf & 2) {
|
|
402
|
+
const _r0 = i0.ɵɵreference(2);
|
|
403
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(11, _c4, ctx.height))("ngClass", i0.ɵɵpureFunction1(13, _c5, ctx.disable));
|
|
404
|
+
i0.ɵɵadvance(1);
|
|
405
|
+
i0.ɵɵproperty("ngModel", ctx.chosenTime)("ngClass", i0.ɵɵpureFunction1(15, _c6, ctx.isInvalid || !ctx.rangeValidity))("ngStyle", i0.ɵɵpureFunction1(17, _c3, ctx.inputWidth))("showToolTip", ctx.showTooltip && (ctx.isInvalid || !ctx.rangeValidity) && ctx.dispayToolTip)("text", "Invalid Time")("position", "top")("showOnHover", false);
|
|
406
|
+
i0.ɵɵadvance(2);
|
|
407
|
+
i0.ɵɵproperty("originEl", _r0)("openStatus", ctx.openStatus);
|
|
408
|
+
}
|
|
409
|
+
}, dependencies: [i1$1.NgClass, i1$1.NgForOf, i1$1.NgIf, i1$1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.ToolTipDirective, i1.CdkOverlayOrigin, TimepickerDirective], styles: [".h1[_ngcontent-%COMP%]{font-size:40px;font-weight:400;letter-spacing:0px;line-height:48px}.h2[_ngcontent-%COMP%]{font-size:32px;font-weight:400;letter-spacing:0px;line-height:40px}.h3[_ngcontent-%COMP%]{font-size:28px;font-weight:400;letter-spacing:0px;line-height:36px}.h4[_ngcontent-%COMP%]{font-size:24px;font-weight:400;letter-spacing:0px;line-height:32px}.h5-b[_ngcontent-%COMP%]{font-size:20px;font-weight:700;letter-spacing:.25px;line-height:28px}.h5[_ngcontent-%COMP%]{font-size:20px;font-weight:400;letter-spacing:.15px;line-height:28px}.h6-b[_ngcontent-%COMP%]{font-size:16px;font-weight:700;letter-spacing:0px;line-height:24px}.h6[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.p[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:0px;line-height:180%}.h7-b[_ngcontent-%COMP%]{font-size:14px;font-weight:700;letter-spacing:.25px;line-height:20px}.h7[_ngcontent-%COMP%]{font-size:14px;font-weight:400;letter-spacing:.2px;line-height:20px}.h8-b[_ngcontent-%COMP%]{font-size:12px;font-weight:700;letter-spacing:.25px;line-height:18px}.h8[_ngcontent-%COMP%]{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:18px}.h9[_ngcontent-%COMP%]{font-size:10px;font-weight:400;letter-spacing:0px;line-height:15px}.btn-lg-b[_ngcontent-%COMP%]{font-size:16px;font-weight:700;letter-spacing:.5px;line-height:24px}.btn-lg[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:.2px;line-height:24px}.btn-sm[_ngcontent-%COMP%]{font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px}.btn-link[_ngcontent-%COMP%]{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.display-1[_ngcontent-%COMP%]{font-size:48px;font-weight:400;letter-spacing:0px;line-height:56px}.display-2[_ngcontent-%COMP%]{font-size:14px;font-weight:400;letter-spacing:.5px;line-height:20px}*[_ngcontent-%COMP%]{box-sizing:border-box;font-family:Lato}.timepicker-container[_ngcontent-%COMP%]{display:inline-block;position:relative}input[_ngcontent-%COMP%]{text-align:center;border:none;border-bottom:1px solid #e0e0e0;outline:none;height:100%;width:100px;padding:4px 16px}input[_ngcontent-%COMP%]:hover{background:#f5f7fc}input[_ngcontent-%COMP%]:focus, input[_ngcontent-%COMP%]:active{background:#e6ebf7;border-bottom:1px solid #0937b2}.timepicker-dropdown[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 4px);left:0;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:4px;padding:8px;background:#FFFFFF}.timepicker-dropdown[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.timepicker-dropdown[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding:0}.timepicker-dropdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{text-align:start;list-style:none;padding:6px 12px;cursor:pointer;font-size:14px;color:#181f33;display:flex;justify-content:space-between;align-items:center}.timepicker-dropdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover{background:#f5f7fc;border-radius:6px}.timepicker-dropdown[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .selected-icon[_ngcontent-%COMP%]{font-weight:900}.highlight[_ngcontent-%COMP%]{background-color:#f5f7fc;border-radius:6px}.invalid[_ngcontent-%COMP%]{background:#fae1ea!important;border-bottom:1px solid #b00020!important}.disable[_ngcontent-%COMP%]{pointer-events:none!important;opacity:.5!important}"] });
|
|
410
|
+
(function () {
|
|
411
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimePickerComponent, [{
|
|
412
|
+
type: Component,
|
|
413
|
+
args: [{ selector: "mis-timepicker", template: "<div class=\"timepicker-container\" [ngStyle]=\"{ height: height }\" [ngClass]=\"{'disable': disable}\">\n <input\n type=\"text\"\n [(ngModel)]=\"chosenTime\"\n (ngModelChange)=\"onTimeChange(chosenTime)\"\n [ngClass]=\"{ invalid: isInvalid || !rangeValidity }\"\n [ngStyle]=\"{ width: inputWidth }\"\n (click)=\"openDropdown()\"\n misToolTip\n [showToolTip]=\"showTooltip && (isInvalid || !rangeValidity) && dispayToolTip\"\n [text]=\"'Invalid Time'\"\n [position]=\"'top'\"\n [showOnHover]=\"false\"\n #input\n cdkOverlayOrigin\n class=\"h7\"\n />\n\n <ng-template #dropdownContainer libDropdownScroll libTimepicker [originEl]=\"input\" [openStatus]=\"openStatus\" (statusEmitter)=\"closeDropdown()\">\n <div *ngIf=\"openStatus\" class=\"timepicker-dropdown\" [ngStyle]=\"{ width: dropdownWidth || inputWidth }\">\n <ul #dropdown>\n <li #timeInterval (click)=\"onTimeSelect(interval)\" *ngFor=\"let interval of timeIntervals; index as i\" [ngClass]=\"{ highlight: i === isHighlighted }\">\n {{ interval }}\n <div class=\"ic-ui-check-24 selected-icon\" *ngIf=\"interval === chosenTime\"></div>\n </li>\n </ul>\n </div>\n </ng-template>\n</div>\n", styles: [".h1{font-size:40px;font-weight:400;letter-spacing:0px;line-height:48px}.h2{font-size:32px;font-weight:400;letter-spacing:0px;line-height:40px}.h3{font-size:28px;font-weight:400;letter-spacing:0px;line-height:36px}.h4{font-size:24px;font-weight:400;letter-spacing:0px;line-height:32px}.h5-b{font-size:20px;font-weight:700;letter-spacing:.25px;line-height:28px}.h5{font-size:20px;font-weight:400;letter-spacing:.15px;line-height:28px}.h6-b{font-size:16px;font-weight:700;letter-spacing:0px;line-height:24px}.h6{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.p{font-size:16px;font-weight:400;letter-spacing:0px;line-height:180%}.h7-b{font-size:14px;font-weight:700;letter-spacing:.25px;line-height:20px}.h7{font-size:14px;font-weight:400;letter-spacing:.2px;line-height:20px}.h8-b{font-size:12px;font-weight:700;letter-spacing:.25px;line-height:18px}.h8{font-size:12px;font-weight:400;letter-spacing:.2px;line-height:18px}.h9{font-size:10px;font-weight:400;letter-spacing:0px;line-height:15px}.btn-lg-b{font-size:16px;font-weight:700;letter-spacing:.5px;line-height:24px}.btn-lg{font-size:16px;font-weight:400;letter-spacing:.2px;line-height:24px}.btn-sm{font-size:14px;font-weight:400;letter-spacing:.25px;line-height:20px}.btn-link{font-size:16px;font-weight:400;letter-spacing:0px;line-height:24px}.display-1{font-size:48px;font-weight:400;letter-spacing:0px;line-height:56px}.display-2{font-size:14px;font-weight:400;letter-spacing:.5px;line-height:20px}*{box-sizing:border-box;font-family:Lato}.timepicker-container{display:inline-block;position:relative}input{text-align:center;border:none;border-bottom:1px solid #e0e0e0;outline:none;height:100%;width:100px;padding:4px 16px}input:hover{background:#f5f7fc}input:focus,input:active{background:#e6ebf7;border-bottom:1px solid #0937b2}.timepicker-dropdown{position:absolute;top:calc(100% + 4px);left:0;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;box-shadow:0 12px 24px #0000001f,0 4px 8px #0000001f;border-radius:4px;padding:8px;background:#FFFFFF}.timepicker-dropdown::-webkit-scrollbar{display:none}.timepicker-dropdown ul{margin:0;padding:0}.timepicker-dropdown li{text-align:start;list-style:none;padding:6px 12px;cursor:pointer;font-size:14px;color:#181f33;display:flex;justify-content:space-between;align-items:center}.timepicker-dropdown li:hover{background:#f5f7fc;border-radius:6px}.timepicker-dropdown li .selected-icon{font-weight:900}.highlight{background-color:#f5f7fc;border-radius:6px}.invalid{background:#fae1ea!important;border-bottom:1px solid #b00020!important}.disable{pointer-events:none!important;opacity:.5!important}\n"] }]
|
|
414
|
+
}], function () { return []; }, { clockFormat: [{
|
|
415
|
+
type: Input
|
|
416
|
+
}], timezone: [{
|
|
417
|
+
type: Input
|
|
418
|
+
}], height: [{
|
|
419
|
+
type: Input
|
|
420
|
+
}], inputWidth: [{
|
|
421
|
+
type: Input
|
|
422
|
+
}], dropdownWidth: [{
|
|
423
|
+
type: Input
|
|
424
|
+
}], interval: [{
|
|
425
|
+
type: Input
|
|
426
|
+
}], dateAsEpoch: [{
|
|
427
|
+
type: Input
|
|
428
|
+
}], firstInterval: [{
|
|
429
|
+
type: Input
|
|
430
|
+
}], rangeValidity: [{
|
|
431
|
+
type: Input
|
|
432
|
+
}], showTooltip: [{
|
|
433
|
+
type: Input
|
|
434
|
+
}], givenTime: [{
|
|
435
|
+
type: Input
|
|
436
|
+
}], minTime: [{
|
|
437
|
+
type: Input
|
|
438
|
+
}], triggerChange: [{
|
|
439
|
+
type: Input
|
|
440
|
+
}], disable: [{
|
|
441
|
+
type: Input
|
|
442
|
+
}], timeEmitter: [{
|
|
443
|
+
type: Output
|
|
444
|
+
}], input: [{
|
|
445
|
+
type: ViewChild,
|
|
446
|
+
args: ["input", { static: true }]
|
|
447
|
+
}], timepickerDirective: [{
|
|
448
|
+
type: ViewChild,
|
|
449
|
+
args: [TimepickerDirective]
|
|
450
|
+
}], tooltipDirective: [{
|
|
451
|
+
type: ViewChild,
|
|
452
|
+
args: [ToolTipDirective]
|
|
453
|
+
}], timeIntervalRefs: [{
|
|
454
|
+
type: ViewChildren,
|
|
455
|
+
args: ["timeInterval"]
|
|
456
|
+
}] });
|
|
457
|
+
})();
|
|
458
|
+
|
|
459
|
+
class TimePickerModule {
|
|
460
|
+
static forRoot() {
|
|
461
|
+
return { ngModule: TimePickerModule, providers: [] };
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
TimePickerModule.ɵfac = function TimePickerModule_Factory(t) { return new (t || TimePickerModule)(); };
|
|
465
|
+
TimePickerModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TimePickerModule });
|
|
466
|
+
TimePickerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, ToolTipModule, OverlayModule] });
|
|
467
|
+
(function () {
|
|
468
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimePickerModule, [{
|
|
469
|
+
type: NgModule,
|
|
470
|
+
args: [{
|
|
471
|
+
declarations: [TimePickerComponent, TimepickerDirective],
|
|
472
|
+
imports: [CommonModule, FormsModule, ToolTipModule, OverlayModule],
|
|
473
|
+
exports: [TimePickerComponent]
|
|
474
|
+
}]
|
|
475
|
+
}], null, null);
|
|
476
|
+
})();
|
|
477
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TimePickerModule, { declarations: [TimePickerComponent, TimepickerDirective], imports: [CommonModule, FormsModule, ToolTipModule, OverlayModule], exports: [TimePickerComponent] }); })();
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Generated bundle index. Do not edit.
|
|
481
|
+
*/
|
|
482
|
+
|
|
483
|
+
export { TimePickerComponent, TimePickerModule };
|
|
484
|
+
//# sourceMappingURL=mis-crystal-design-system-timepicker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-timepicker.mjs","sources":["../../../projects/mis-components/timepicker/timepicker.directive.ts","../../../projects/mis-components/timepicker/timepicker.component.html","../../../projects/mis-components/timepicker/timepicker.component.ts","../../../projects/mis-components/timepicker/timepicker.module.ts","../../../projects/mis-components/timepicker/mis-crystal-design-system-timepicker.ts"],"sourcesContent":["import { Directive, Output, TemplateRef } from '@angular/core';\nimport { EventEmitter, Input, ViewContainerRef } from \"@angular/core\";\nimport { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\n\n@Directive({\n selector: '[libTimepicker]'\n})\nexport class TimepickerDirective {\n private openStatus: boolean = false;\n @Input('originEl') originEl : any;\n @Output() statusEmitter = new EventEmitter<boolean>(); \n\n @Input('openStatus') set createOverlayOnInput(openStatus){\n this.openStatus = openStatus;\n if(this.originEl && this.openStatus) this.createOverlay(this.originEl);\n }; \n private overlayRef!: OverlayRef;\n constructor(private templateRef: TemplateRef<Element>, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n\n createOverlay(origin: any): void {\n const positions = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n positionStrategy: this.overlay\n .position()\n //connecting the dropdown overlay to the input element\n .flexibleConnectedTo(origin)\n .withPositions([...positions])\n .withPush(true)\n });\n\n this.overlayRef = this.overlay.create(overlayConfig);\n const dropdownPortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n this.overlayRef.attach(dropdownPortal);\n this.overlayRef.backdropClick().subscribe(resp => {\n this.openStatus = false;\n this.statusEmitter.emit(false);\n if(this.overlay){\n this.overlayRef.detach();\n }\n });\n }\n\n destroyOverlay(){\n if(this.overlay){\n this.overlayRef.detach();\n }\n }\n \n}\n","<div class=\"timepicker-container\" [ngStyle]=\"{ height: height }\" [ngClass]=\"{'disable': disable}\">\n <input\n type=\"text\"\n [(ngModel)]=\"chosenTime\"\n (ngModelChange)=\"onTimeChange(chosenTime)\"\n [ngClass]=\"{ invalid: isInvalid || !rangeValidity }\"\n [ngStyle]=\"{ width: inputWidth }\"\n (click)=\"openDropdown()\"\n misToolTip\n [showToolTip]=\"showTooltip && (isInvalid || !rangeValidity) && dispayToolTip\"\n [text]=\"'Invalid Time'\"\n [position]=\"'top'\"\n [showOnHover]=\"false\"\n #input\n cdkOverlayOrigin\n class=\"h7\"\n />\n\n <ng-template #dropdownContainer libDropdownScroll libTimepicker [originEl]=\"input\" [openStatus]=\"openStatus\" (statusEmitter)=\"closeDropdown()\">\n <div *ngIf=\"openStatus\" class=\"timepicker-dropdown\" [ngStyle]=\"{ width: dropdownWidth || inputWidth }\">\n <ul #dropdown>\n <li #timeInterval (click)=\"onTimeSelect(interval)\" *ngFor=\"let interval of timeIntervals; index as i\" [ngClass]=\"{ highlight: i === isHighlighted }\">\n {{ interval }}\n <div class=\"ic-ui-check-24 selected-icon\" *ngIf=\"interval === chosenTime\"></div>\n </li>\n </ul>\n </div>\n </ng-template>\n</div>\n","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, ViewChild, ViewChildren } from \"@angular/core\";\nimport { ITime } from \"./time.namespace\";\nimport { TimepickerDirective } from \"./timepicker.directive\";\nimport { ToolTipDirective } from \"mis-crystal-design-system/tooltip\";\n\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport utc from 'dayjs/plugin/utc';\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\ndayjs.extend(customParseFormat);\n\n\n@Component({\n selector: \"mis-timepicker\",\n templateUrl: \"./timepicker.component.html\",\n styleUrls: [\"./timepicker.component.scss\"]\n})\nexport class TimePickerComponent implements OnInit, OnChanges, OnDestroy {\n currTime!: string;\n chosenTime: string;\n openStatus: boolean = false;\n isHighlighted: number = 0;\n isInvalid: boolean = false;\n timeIntervals: string[] = [];\n shouldScroll: boolean = false;\n userInputFlag: boolean = false;\n givenTimeFlag: boolean = true;\n @Input() clockFormat: number = 12;\n timeFormat!: string;\n \n @Input() timezone: string = \"Asia/Kolkata\";\n @Input() height: string = \"max-content\";\n @Input() inputWidth: string = \"100px\";\n @Input() dropdownWidth?: string;\n @Input() interval: number = 15;\n @Input() dateAsEpoch: number = dayjs.tz(dayjs(), this.timezone).valueOf();\n @Input() firstInterval!: number;\n @Input() rangeValidity: boolean = true;\n @Input() showTooltip: boolean = true;\n dispayToolTip: boolean = this.showTooltip;\n @Input() givenTime: number;\n @Input() minTime?: number;\n @Input() triggerChange: boolean = true;\n @Input() disable: boolean = false;\n @Output() timeEmitter = new EventEmitter<ITime>();\n @ViewChild(\"input\", { static: true }) input: ElementRef;\n @ViewChild(TimepickerDirective) timepickerDirective: TimepickerDirective;\n @ViewChild(ToolTipDirective) tooltipDirective: ToolTipDirective;\n\n // gets all the li elements from the dropdown and scrolls to the highlighted element\n @ViewChildren(\"timeInterval\") set timeIntervalRefs(intervals) {\n intervals.forEach(interval => {\n if (interval.nativeElement.classList[0] === \"highlight\") {\n const highlighted = interval.nativeElement;\n setTimeout(() => highlighted.scrollIntoView({ block: \"center\" }));\n }\n });\n }\n\n constructor(){}\n ngOnInit(): void {\n if(!this.givenTime && !this.minTime) {\n this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);\n let chosenTimedayjs = this.getdayjs(this.chosenTime);\n this.emitTime({\n valid: !this.isInvalid,\n time: this.chosenTime,\n epoch: chosenTimedayjs.valueOf()\n });\n }\n }\n\n ngOnChanges(): void {\n this.timeFormat = this.clockFormat === 12 ? \"hh:mm a\" : \"HH:mm\";\n\n if (this.timeFormat) {\n let chosenTimedayjs = this.getdayjs(this.chosenTime);\n \n // if the first interval is >= the chosen time\n // then only update the value of chosen time\n // else it remains the same\n if (this.firstInterval >= chosenTimedayjs.valueOf() && this.rangeValidity && !this.userInputFlag) {\n this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);\n chosenTimedayjs = this.getdayjs(this.chosenTime)\n }\n\n if((this.givenTimeFlag && this.givenTime) || this.minTime ) {\n this.chosenTime = dayjs.tz(this.minTime || this.givenTime, this.timezone).format(this.timeFormat);\n }\n chosenTimedayjs = this.getdayjs(this.chosenTime)\n\n if (!this.userInputFlag) this.populateDropdown();\n this.userInputFlag = false;\n \n if(this.chosenTime) {\n this.isInvalid = !this.checkTimeValidity(this.chosenTime.trim());\n this.emitTime({\n valid: !this.isInvalid,\n time: this.chosenTime,\n epoch: chosenTimedayjs.valueOf()\n });\n this.calculateClosestInterval(this.chosenTime);\n }\n }\n }\n\n emitTime(data: ITime): void {\n this.timeEmitter.emit(data);\n }\n\n // function to get dayjs object when time is given in string\n getdayjs(time: string = '00:00'){;\n if(!time || typeof time !== 'string') {\n throw new Error('Time must be a string');\n }\n\n let hours: number;\n let minutes: number;\n\n if(this.clockFormat === 24) {\n hours = parseInt(time.split(':')[0]);\n minutes = parseInt(time.split(':')[1]);\n } else {\n const timeParts = time.split(' ');\n const AM_PM = timeParts?.[1];\n hours = parseInt(timeParts?.[0]?.split(':')?.[0]);\n minutes = parseInt(timeParts?.[0]?.split(':')?.[1]);\n\n if(AM_PM?.toUpperCase() === 'PM' && hours !== 12) {\n hours += 12;\n } else if(AM_PM?.toUpperCase() === 'AM' && hours === 12) {\n hours = 0;\n }\n }\n\n return dayjs.tz(this.dateAsEpoch, this.timezone).add(hours, 'h').add(minutes, 'm');\n }\n\n closeDropdown() {\n this.dispayToolTip = false;\n this.userInputFlag = false;\n this.openStatus = false;\n if (this.timepickerDirective) this.timepickerDirective.destroyOverlay();\n }\n\n // toggle timepicker dropdown\n openDropdown(): void {\n this.dispayToolTip = true;\n this.openStatus = true;\n }\n\n checkTimeValidity(time: string): boolean {\n const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;\n const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;\n const RE = this.clockFormat === 12 ? RE12 : RE24;\n\n const timedayjs = this.getdayjs(time);\n let flag: boolean = false;\n\n // if the first interval is set to the start of the day\n // or a time is already provided to the component to show\n // then we don't check its validity against the current time\n if (\n this.minTime || \n this.givenTime ||\n (this.firstInterval &&\n dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat).valueOf() === dayjs.tz(dayjs(), this.timezone).startOf(\"day\").format(this.timeFormat).valueOf())\n ) {\n flag = time.match(RE) ? true : false;\n } else {\n flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), \"m\") >= 0 ? true: false;\n }\n\n return flag;\n }\n\n // update chosen time as soon as the user clicks on an interval\n onTimeSelect(time: string): void {\n this.isInvalid = !this.checkTimeValidity(time.trim());\n if (!this.isInvalid) {\n this.chosenTime = time;\n this.calculateClosestInterval(this.chosenTime);\n }\n\n const timedayjs = this.getdayjs(time);\n this.emitTime({\n valid: !this.isInvalid,\n time: time,\n epoch: timedayjs.valueOf() \n });\n this.openStatus = false;\n if (this.timepickerDirective) this.timepickerDirective.destroyOverlay();\n }\n\n // checks validity of time on input change and calculates the closest interval\n onTimeChange(time: string): void {\n this.isInvalid = !this.checkTimeValidity(time.trim());\n\n if (!this.isInvalid) {\n this.userInputFlag = true;\n this.openStatus = false;\n if (this.timepickerDirective) this.timepickerDirective.destroyOverlay();\n this.calculateClosestInterval(time);\n }\n const timedayjs = this.getdayjs(time);\n this.emitTime({\n valid: !this.isInvalid,\n time: time,\n epoch: timedayjs.valueOf() \n });\n }\n\n calculateClosestInterval(time: string): void {\n let roundedEpoch: number;\n // Converting time and date to a dayjs object \n const chosenDate = dayjs.tz(this.dateAsEpoch, this.timezone).format(\"DD-MM-YYYY\"); // 05-01-2024\n const parsedTimeWithDate = dayjs.tz(`${chosenDate} ${time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);\n // Converting dayjs object to epoch\n const chosenTimeEpoch = parsedTimeWithDate.valueOf();\n const offset = this.interval - (dayjs.tz(chosenTimeEpoch, this.timezone).minute() % this.interval);\n\n if (this.minTime && !this.givenTime) {\n this.isHighlighted = 0;\n return;\n }\n roundedEpoch = offset >= this.interval / 2 ? (dayjs.tz(chosenTimeEpoch, this.timezone).subtract(this.interval - offset, \"m\")).valueOf() : (dayjs.tz(chosenTimeEpoch, this.timezone).add( offset, \"m\")).valueOf();\n\n // finding the index of element that needs to be highlighted\n if ( chosenTimeEpoch > dayjs.tz(this.dateAsEpoch, this.timezone).endOf(\"day\").subtract(this.interval, \"m\").valueOf()) {\n this.isHighlighted = this.timeIntervals.length - 1;\n } else {\n const roundedEpochdayjs = dayjs.tz(roundedEpoch, this.timezone);\n this.isHighlighted = this.timeIntervals.findIndex(interval => {\n const intervalObj = dayjs.tz(`${chosenDate} ${interval}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);\n return intervalObj.isSame(roundedEpochdayjs);\n });\n }\n }\n\n\n // populates the dropdown according to the first interval received\n populateDropdown(): void {\n this.timeIntervals = [];\n\n // if picker is used as an individual component\n if (!this.firstInterval) {\n // firstInterval is initialised according to the current time\n // if the date is same as the current date\n if (dayjs.tz(this.dateAsEpoch, this.timezone).format(\"DD-MM-YYYY\") === dayjs.tz(dayjs(), this.timezone).format(\"DD-MM-YYYY\") && !this.minTime) {\n const offset = this.interval - (dayjs.tz(dayjs(), this.timezone).minute() % this.interval);\n this.firstInterval = dayjs.tz(dayjs(), this.timezone).add(offset, \"m\").valueOf();\n }\n // if minimum time to show is provided\n else if(this.minTime){\n const offset = this.interval - (dayjs.tz(this.minTime, this.timezone).minute() % this.interval);\n this.firstInterval = dayjs.tz(this.minTime, this.timezone).add(offset, \"m\").valueOf();\n }\n // else the firstInterval is initialised as start of day\n else {\n this.firstInterval = dayjs.tz(dayjs(), this.timezone).startOf(\"day\").valueOf();\n }\n }\n\n if(this.givenTime && this.givenTimeFlag){\n this.firstInterval = dayjs.tz(this.givenTime, this.timezone).startOf('d').valueOf();\n this.givenTimeFlag = false;\n }\n\n const dateAsString = dayjs.tz(this.dateAsEpoch, this.timezone).format('DD-MM-YYYY');\n const intervalAsString = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);\n let start = dayjs.tz(`${dateAsString} ${intervalAsString}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);\n const end = dayjs.tz(this.dateAsEpoch, this.timezone).endOf('d');\n while (start.valueOf() < end.valueOf()) {\n this.timeIntervals.push(start.format(this.timeFormat));\n start = start.add(this.interval, \"m\");\n }\n\n // if the start time is equal to the interval just before midnight\n // and the start date = end date\n // push 11:59pm only\n if (this.timeIntervals.length === 0) {\n this.chosenTime = dayjs.tz(dayjs(), this.timezone).endOf(\"d\").format(this.timeFormat);\n this.timeIntervals.push(dayjs.tz(dayjs(), this.timezone).endOf(\"d\").format(this.timeFormat));\n }\n }\n\n ngOnDestroy() {\n if (this.tooltipDirective) this.tooltipDirective.hideToolTip();\n }\n}\n\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TimePickerComponent } from \"./timepicker.component\";\nimport { ToolTipModule } from \"mis-crystal-design-system/tooltip\";\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { TimepickerDirective } from './timepicker.directive';\n\n@NgModule({\n declarations: [TimePickerComponent, TimepickerDirective],\n imports: [CommonModule, FormsModule, ToolTipModule, OverlayModule],\n exports: [TimePickerComponent]\n})\nexport class TimePickerModule {\n static forRoot(): ModuleWithProviders<TimePickerModule> {\n return { ngModule: TimePickerModule, providers: [] };\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|