mis-crystal-design-system 18.0.5 → 18.0.6
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 +3 -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/esm2022/action-list/action-list.component.mjs +363 -0
- package/{esm2020 → esm2022}/action-list/action-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/analytics/analytics.module.mjs +5 -5
- package/esm2022/analytics/analytics.service.mjs +64 -0
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +536 -0
- package/{esm2020 → esm2022}/async-search-dropdown/async-dropdown.module.mjs +5 -5
- package/esm2022/button/button.component.mjs +88 -0
- package/esm2022/button/button.directive.mjs +61 -0
- package/{esm2020 → esm2022}/button/button.module.mjs +5 -5
- package/esm2022/checkbox/checkbox.component.mjs +124 -0
- package/{esm2020 → esm2022}/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/chip/chip.component.mjs +82 -0
- package/{esm2020 → esm2022}/chip/chip.module.mjs +5 -5
- package/{esm2020 → esm2022}/datepicker_v2/datepicker.module.mjs +5 -5
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +183 -0
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +442 -0
- package/{esm2020/daterangepicker_v2 → esm2022/datepicker_v2}/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/daterangepicker_v2/daterangepicker.module.mjs +5 -5
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +165 -0
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +503 -0
- package/esm2022/daterangepicker_v2/utils/index.mjs +45 -0
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +59 -0
- package/{esm2020 → esm2022}/drawer/drawer-ref.mjs +4 -4
- package/{esm2020 → esm2022}/drawer/drawer.module.mjs +5 -5
- package/{esm2020 → esm2022}/drawer/drawer.service.mjs +5 -5
- package/esm2022/dropdown/calculate-container-height.directive.mjs +41 -0
- package/esm2022/dropdown/dropdown.component.mjs +464 -0
- package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form.component.mjs +1093 -0
- package/{esm2020 → esm2022}/dynamic-form/dynamic-form.module.mjs +13 -13
- package/esm2022/fab/fab.component.mjs +145 -0
- package/{esm2020 → esm2022}/fab/fab.module.mjs +5 -5
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +396 -0
- package/{esm2020 → esm2022}/filter/filters.module.mjs +17 -17
- package/esm2022/filter/has-value.pipe.mjs +31 -0
- package/{esm2020 → esm2022}/input/directives/input/input.directive.mjs +6 -6
- package/{fesm2020/mis-crystal-design-system-input.mjs → esm2022/input/mis-input.component.mjs} +49 -109
- package/{esm2020 → esm2022}/input/mis-input.module.mjs +5 -5
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +89 -0
- package/{esm2020 → esm2022}/input-stepper/input-stepper.module.mjs +5 -5
- package/esm2022/loader/loader.component.mjs +25 -0
- package/{esm2020 → esm2022}/loader/loader.module.mjs +5 -5
- package/esm2022/menu/menu-close.directive.mjs +25 -0
- package/{esm2020 → esm2022}/menu/menu.directive.mjs +7 -7
- package/{esm2020 → esm2022}/menu/menu.module.mjs +5 -5
- package/esm2022/mobile-filter/mobile-filter.component.mjs +180 -0
- package/{esm2020 → esm2022}/mobile-filter/mobile-filter.module.mjs +5 -5
- package/{esm2020 → esm2022}/modal/modal.module.mjs +5 -5
- package/esm2022/modal/modal.service.mjs +70 -0
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +56 -0
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +489 -0
- package/{esm2020 → esm2022}/multi-select-dropdown/multi-select-dropdown.module.mjs +5 -5
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +516 -0
- package/{esm2020 → esm2022}/nested-multi-select-dropdown/nested-multi-select-dropdown.module.mjs +5 -5
- package/esm2022/phone-input/phone-input.component.mjs +72 -0
- package/{esm2020 → esm2022}/phone-input/phone-input.module.mjs +5 -5
- package/esm2022/radio-button/radio-button.component.mjs +57 -0
- package/{esm2020 → esm2022}/radio-button/radio-button.module.mjs +5 -5
- package/esm2022/ske-loader/ske-loader.component.mjs +54 -0
- package/{esm2020 → esm2022}/ske-loader/ske-loader.module.mjs +5 -5
- package/esm2022/slider/slider.component.mjs +46 -0
- package/{esm2020 → esm2022}/slider/slider.module.mjs +7 -7
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +72 -0
- package/{esm2020 → esm2022}/snackbar/snackbar.module.mjs +5 -5
- package/esm2022/snackbar/snackbar.service.mjs +47 -0
- package/{esm2020 → esm2022}/specificdatepicker/specificdatepicker.module.mjs +5 -5
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +646 -0
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +196 -0
- package/esm2022/specificdatepicker/utils/index.mjs +45 -0
- package/esm2022/star-rating/star-rating.component.mjs +113 -0
- package/{esm2020 → esm2022}/star-rating/star-rating.module.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +56 -0
- package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
- package/esm2022/table/custom-table-cell.directive.mjs +42 -0
- package/esm2022/table/filter/filter.component.mjs +177 -0
- package/esm2022/table/sub-table/sub-table.component.mjs +192 -0
- package/esm2022/table/table.component.mjs +485 -0
- package/{esm2020 → esm2022}/table/table.module.mjs +5 -5
- package/esm2022/timepicker/timepicker.component.mjs +374 -0
- package/esm2022/timepicker/timepicker.directive.mjs +69 -0
- package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +5 -5
- package/esm2022/timerangepicker/timerangepicker.component.mjs +237 -0
- package/{esm2020 → esm2022}/timerangepicker/timerangepicker.module.mjs +5 -5
- package/esm2022/toast/toast.component.mjs +51 -0
- package/{esm2020 → esm2022}/toast/toast.data.service.mjs +8 -8
- package/{esm2020 → esm2022}/toast/toast.module.mjs +5 -5
- package/esm2022/toast/toast.service.mjs +91 -0
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +79 -0
- package/esm2022/tooltip/tooltip.directive.mjs +143 -0
- package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +188 -0
- package/{esm2020 → esm2022}/virtual-scroll/virtual-scroll.module.mjs +7 -7
- package/esm2022/widgets/classes/async-widget.mjs +23 -0
- package/{esm2020 → esm2022}/widgets/classes/base-widget.mjs +1 -1
- package/esm2022/widgets/classes/sync-widget.mjs +20 -0
- package/{esm2020 → esm2022}/widgets/services/widget.service.mjs +5 -5
- package/{esm2020 → esm2022}/widgets/widgets.module.mjs +5 -5
- package/fab/fab.component.d.ts +4 -4
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-action-list.mjs +106 -113
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-analytics.mjs +9 -9
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +561 -0
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -0
- package/fesm2022/mis-crystal-design-system-button.mjs +173 -0
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -0
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +150 -0
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -0
- package/fesm2022/mis-crystal-design-system-chip.mjs +108 -0
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-datepicker_v2.mjs +133 -140
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -0
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +737 -0
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-drawer.mjs +34 -33
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-dropdown.mjs +176 -184
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-dynamic-form.mjs +441 -456
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-fab.mjs +48 -47
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-filter.mjs +113 -120
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-input-stepper.mjs +35 -34
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +146 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +51 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-loader.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-menu.mjs +16 -16
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +205 -0
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-modal.mjs +34 -33
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-modal.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-multi-select-dropdown.mjs +107 -109
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-nested-multi-select-dropdown.mjs +128 -129
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-phone-input.mjs +22 -21
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +83 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +77 -0
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -0
- package/fesm2022/mis-crystal-design-system-slider.mjs +80 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-slider.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-snackbar.mjs +32 -32
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-specificdatepicker.mjs +204 -204
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-star-rating.mjs +29 -28
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -0
- package/fesm2022/mis-crystal-design-system-switch.mjs +82 -0
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-table.mjs +314 -321
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-timepicker.mjs +78 -74
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-timerangepicker.mjs +26 -25
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-toast.mjs +35 -34
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-toast.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-tooltip.mjs +47 -47
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-virtual-scroll.mjs +50 -52
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-widgets.mjs +4 -4
- package/{fesm2020 → fesm2022}/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +1 -1
- 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 +125 -207
- 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/esm2020/action-list/action-list.component.mjs +0 -370
- package/esm2020/analytics/analytics.service.mjs +0 -64
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +0 -525
- package/esm2020/button/button.component.mjs +0 -87
- package/esm2020/button/button.directive.mjs +0 -61
- package/esm2020/checkbox/checkbox.component.mjs +0 -124
- package/esm2020/chip/chip.component.mjs +0 -82
- package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +0 -183
- package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +0 -449
- package/esm2020/datepicker_v2/utils/index.mjs +0 -45
- package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +0 -165
- package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +0 -502
- package/esm2020/drawer/drawer-body/drawer-body.component.mjs +0 -58
- package/esm2020/dropdown/calculate-container-height.directive.mjs +0 -41
- package/esm2020/dropdown/dropdown.component.mjs +0 -472
- package/esm2020/dynamic-form/dynamic-form.component.mjs +0 -1108
- package/esm2020/fab/fab.component.mjs +0 -144
- package/esm2020/filter/filter-panel/filter-panel.component.mjs +0 -403
- package/esm2020/filter/has-value.pipe.mjs +0 -31
- package/esm2020/input/mis-input.component.mjs +0 -84
- package/esm2020/input-stepper/input-stepper/input-stepper.component.mjs +0 -88
- package/esm2020/loader/loader.component.mjs +0 -24
- package/esm2020/menu/menu-close.directive.mjs +0 -25
- package/esm2020/mobile-filter/mobile-filter.component.mjs +0 -181
- package/esm2020/modal/modal.service.mjs +0 -70
- package/esm2020/modal/module-wrapper/module-wrapper.component.mjs +0 -55
- package/esm2020/multi-select-dropdown/multi-select-dropdown.component.mjs +0 -491
- package/esm2020/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +0 -517
- package/esm2020/phone-input/phone-input.component.mjs +0 -71
- package/esm2020/radio-button/radio-button.component.mjs +0 -56
- package/esm2020/ske-loader/ske-loader.component.mjs +0 -53
- package/esm2020/slider/slider.component.mjs +0 -45
- package/esm2020/snackbar/snackbar/snackbar.component.mjs +0 -72
- package/esm2020/snackbar/snackbar.service.mjs +0 -47
- package/esm2020/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +0 -646
- package/esm2020/specificdatepicker/tz-specificdatepicker.directive.mjs +0 -196
- package/esm2020/specificdatepicker/utils/index.mjs +0 -45
- package/esm2020/star-rating/star-rating.component.mjs +0 -112
- package/esm2020/switch/switch.component.mjs +0 -55
- package/esm2020/table/custom-table-cell.directive.mjs +0 -42
- package/esm2020/table/filter/filter.component.mjs +0 -176
- package/esm2020/table/sub-table/sub-table.component.mjs +0 -193
- package/esm2020/table/table.component.mjs +0 -492
- package/esm2020/timepicker/timepicker.component.mjs +0 -370
- package/esm2020/timepicker/timepicker.directive.mjs +0 -69
- package/esm2020/timerangepicker/timerangepicker.component.mjs +0 -236
- package/esm2020/toast/toast.component.mjs +0 -50
- package/esm2020/toast/toast.service.mjs +0 -91
- package/esm2020/tooltip/tooltip-container/tooltip.component.mjs +0 -79
- package/esm2020/tooltip/tooltip.directive.mjs +0 -143
- package/esm2020/virtual-scroll/virtual-scroll.component.mjs +0 -190
- package/esm2020/widgets/classes/async-widget.mjs +0 -23
- package/esm2020/widgets/classes/sync-widget.mjs +0 -20
- package/fesm2015/mis-crystal-design-system-action-list.mjs +0 -446
- package/fesm2015/mis-crystal-design-system-action-list.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-analytics.mjs +0 -87
- package/fesm2015/mis-crystal-design-system-analytics.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +0 -618
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-button.mjs +0 -189
- package/fesm2015/mis-crystal-design-system-button.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-checkbox.mjs +0 -166
- package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-chip.mjs +0 -123
- package/fesm2015/mis-crystal-design-system-chip.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +0 -751
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +0 -769
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-drawer.mjs +0 -185
- package/fesm2015/mis-crystal-design-system-drawer.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +0 -616
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +0 -1337
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-fab.mjs +0 -186
- package/fesm2015/mis-crystal-design-system-fab.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-filter.mjs +0 -559
- package/fesm2015/mis-crystal-design-system-filter.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs +0 -124
- package/fesm2015/mis-crystal-design-system-input-stepper.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-input.mjs +0 -165
- package/fesm2015/mis-crystal-design-system-input.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-loader.mjs +0 -57
- package/fesm2015/mis-crystal-design-system-loader.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-menu.mjs +0 -135
- package/fesm2015/mis-crystal-design-system-menu.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +0 -227
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-modal.mjs +0 -184
- package/fesm2015/mis-crystal-design-system-modal.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs +0 -550
- package/fesm2015/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -559
- package/fesm2015/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-phone-input.mjs +0 -107
- package/fesm2015/mis-crystal-design-system-phone-input.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-radio-button.mjs +0 -89
- package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs +0 -86
- package/fesm2015/mis-crystal-design-system-ske-loader.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-slider.mjs +0 -88
- package/fesm2015/mis-crystal-design-system-slider.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-snackbar.mjs +0 -175
- package/fesm2015/mis-crystal-design-system-snackbar.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs +0 -970
- package/fesm2015/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-star-rating.mjs +0 -145
- package/fesm2015/mis-crystal-design-system-star-rating.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-switch.mjs +0 -88
- package/fesm2015/mis-crystal-design-system-switch.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-table.mjs +0 -1045
- package/fesm2015/mis-crystal-design-system-table.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-timepicker.mjs +0 -484
- package/fesm2015/mis-crystal-design-system-timepicker.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs +0 -273
- package/fesm2015/mis-crystal-design-system-timerangepicker.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-toast.mjs +0 -214
- package/fesm2015/mis-crystal-design-system-toast.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-tooltip.mjs +0 -272
- package/fesm2015/mis-crystal-design-system-tooltip.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs +0 -259
- package/fesm2015/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
- package/fesm2015/mis-crystal-design-system-widgets.mjs +0 -131
- package/fesm2015/mis-crystal-design-system-widgets.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-action-list.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +0 -550
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-button.mjs +0 -172
- package/fesm2020/mis-crystal-design-system-button.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-checkbox.mjs +0 -150
- package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-chip.mjs +0 -108
- package/fesm2020/mis-crystal-design-system-chip.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +0 -736
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-fab.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-filter.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-loader.mjs +0 -50
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +0 -206
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-multi-select-dropdown.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-radio-button.mjs +0 -82
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs +0 -76
- package/fesm2020/mis-crystal-design-system-ske-loader.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-slider.mjs +0 -79
- package/fesm2020/mis-crystal-design-system-snackbar.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-specificdatepicker.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-star-rating.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-styles.mjs +0 -4
- package/fesm2020/mis-crystal-design-system-styles.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-switch.mjs +0 -81
- package/fesm2020/mis-crystal-design-system-switch.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-table.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-utils.mjs +0 -24
- package/fesm2020/mis-crystal-design-system-utils.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system-virtual-scroll.mjs.map +0 -1
- package/fesm2020/mis-crystal-design-system.mjs +0 -24
- package/fesm2020/mis-crystal-design-system.mjs.map +0 -1
- /package/{esm2020 → esm2022}/action-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/action-list/mis-crystal-design-system-action-list.mjs +0 -0
- /package/{esm2020 → esm2022}/action-list/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/analytics/index.mjs +0 -0
- /package/{esm2020 → esm2022}/analytics/mis-crystal-design-system-analytics.mjs +0 -0
- /package/{esm2020 → esm2022}/analytics/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/async-search-dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/async-search-dropdown/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/button/mis-crystal-design-system-button.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/mis-crystal-design-system-checkbox.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/index.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/mis-crystal-design-system-chip.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker_v2/datepicker-constants.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker_v2/index.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker_v2/mis-crystal-design-system-datepicker_v2.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker_v2/models/dp-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker_v2/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/daterangepicker_v2/daterangepicker-constants.mjs +0 -0
- /package/{esm2020 → esm2022}/daterangepicker_v2/index.mjs +0 -0
- /package/{esm2020 → esm2022}/daterangepicker_v2/mis-crystal-design-system-daterangepicker_v2.mjs +0 -0
- /package/{esm2020 → esm2022}/daterangepicker_v2/models/drp-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/daterangepicker_v2/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/drawer-constants.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/mis-crystal-design-system-drawer.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/mis-crystal-design-system-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-form/dynamic-form.namespace.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-form/mis-crystal-design-system-dynamic-form.mjs +0 -0
- /package/{esm2020 → esm2022}/dynamic-form/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/fab/index.mjs +0 -0
- /package/{esm2020 → esm2022}/fab/mis-crystal-design-system-fab.mjs +0 -0
- /package/{esm2020 → esm2022}/fab/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/filter/animations/slideFromRight.mjs +0 -0
- /package/{esm2020 → esm2022}/filter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/filter/mis-crystal-design-system-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/filter/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/input/index.mjs +0 -0
- /package/{esm2020 → esm2022}/input/mis-crystal-design-system-input.mjs +0 -0
- /package/{esm2020 → esm2022}/input/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/input-stepper/index.mjs +0 -0
- /package/{esm2020 → esm2022}/input-stepper/mis-crystal-design-system-input-stepper.mjs +0 -0
- /package/{esm2020 → esm2022}/input-stepper/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/mis-crystal-design-system-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/loader/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/mis-crystal-design-system-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/mis-crystal-design-system.mjs +0 -0
- /package/{esm2020 → esm2022}/mobile-filter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mobile-filter/mis-crystal-design-system-mobile-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/mobile-filter/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/mis-crystal-design-system-modal.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/modal-constants.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/modal-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/multi-select-dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/multi-select-dropdown/mis-crystal-design-system-multi-select-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/multi-select-dropdown/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/nested-multi-select-dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/nested-multi-select-dropdown/mis-crystal-design-system-nested-multi-select-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/nested-multi-select-dropdown/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/phone-input/index.mjs +0 -0
- /package/{esm2020 → esm2022}/phone-input/mis-crystal-design-system-phone-input.mjs +0 -0
- /package/{esm2020 → esm2022}/phone-input/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-button/mis-crystal-design-system-radio-button.mjs +0 -0
- /package/{esm2020 → esm2022}/radio-button/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/ske-loader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/ske-loader/mis-crystal-design-system-ske-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/ske-loader/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/mis-crystal-design-system-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/snackbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/snackbar/mis-crystal-design-system-snackbar.mjs +0 -0
- /package/{esm2020 → esm2022}/snackbar/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/specificdatepicker/daterangepicker-constants.mjs +0 -0
- /package/{esm2020 → esm2022}/specificdatepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/specificdatepicker/mis-crystal-design-system-specificdatepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/specificdatepicker/models/sdp-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/specificdatepicker/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/star-rating/index.mjs +0 -0
- /package/{esm2020 → esm2022}/star-rating/mis-crystal-design-system-star-rating.mjs +0 -0
- /package/{esm2020 → esm2022}/star-rating/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/styles/index.mjs +0 -0
- /package/{esm2020 → esm2022}/styles/mis-crystal-design-system-styles.mjs +0 -0
- /package/{esm2020 → esm2022}/styles/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
- /package/{esm2020 → esm2022}/switch/mis-crystal-design-system-switch.mjs +0 -0
- /package/{esm2020 → esm2022}/switch/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/mis-crystal-design-system-table.mjs +0 -0
- /package/{esm2020 → esm2022}/table/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/mis-crystal-design-system-timepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/time.namespace.mjs +0 -0
- /package/{esm2020 → esm2022}/timerangepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/timerangepicker/mis-crystal-design-system-timerangepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/timerangepicker/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/timerangepicker/timerange.namespace.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/mis-crystal-design-system-toast.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/mis-crystal-design-system-tooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/models/tooltip.model.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/mis-crystal-design-system-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/virtual-scroll/index.mjs +0 -0
- /package/{esm2020 → esm2022}/virtual-scroll/mis-crystal-design-system-virtual-scroll.mjs +0 -0
- /package/{esm2020 → esm2022}/virtual-scroll/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/virtual-scroll/virtual-scroll.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/widgets/classes/widget-group.mjs +0 -0
- /package/{esm2020 → esm2022}/widgets/index.mjs +0 -0
- /package/{esm2020 → esm2022}/widgets/interfaces/widgets.model.mjs +0 -0
- /package/{esm2020 → esm2022}/widgets/mis-crystal-design-system-widgets.mjs +0 -0
- /package/{esm2020 → esm2022}/widgets/public_api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/mis-crystal-design-system-styles.mjs +0 -0
- /package/{fesm2015 → fesm2022}/mis-crystal-design-system-styles.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/mis-crystal-design-system-utils.mjs +0 -0
- /package/{fesm2015 → fesm2022}/mis-crystal-design-system-utils.mjs.map +0 -0
- /package/{fesm2015 → fesm2022}/mis-crystal-design-system.mjs +0 -0
- /package/{fesm2015 → fesm2022}/mis-crystal-design-system.mjs.map +0 -0
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from "@angular/core";
|
|
2
|
-
import { TimepickerDirective } from "./timepicker.directive";
|
|
3
|
-
import { ToolTipDirective } from "mis-crystal-design-system/tooltip";
|
|
4
|
-
import dayjs from 'dayjs';
|
|
5
|
-
import timezone from 'dayjs/plugin/timezone';
|
|
6
|
-
import utc from 'dayjs/plugin/utc';
|
|
7
|
-
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "@angular/forms";
|
|
11
|
-
import * as i3 from "mis-crystal-design-system/tooltip";
|
|
12
|
-
import * as i4 from "@angular/cdk/overlay";
|
|
13
|
-
import * as i5 from "./timepicker.directive";
|
|
14
|
-
const _c0 = ["input"];
|
|
15
|
-
const _c1 = ["timeInterval"];
|
|
16
|
-
function TimePickerComponent_ng_template_3_div_0_li_3_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
-
i0.ɵɵelement(0, "div", 12);
|
|
18
|
-
} }
|
|
19
|
-
const _c2 = function (a0) { return { highlight: a0 }; };
|
|
20
|
-
function TimePickerComponent_ng_template_3_div_0_li_3_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
const _r11 = i0.ɵɵgetCurrentView();
|
|
22
|
-
i0.ɵɵelementStart(0, "li", 9, 10);
|
|
23
|
-
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)); });
|
|
24
|
-
i0.ɵɵtext(2);
|
|
25
|
-
i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_div_0_li_3_div_3_Template, 1, 0, "div", 11);
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
} if (rf & 2) {
|
|
28
|
-
const interval_r6 = ctx.$implicit;
|
|
29
|
-
const i_r7 = ctx.index;
|
|
30
|
-
const ctx_r5 = i0.ɵɵnextContext(3);
|
|
31
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, i_r7 === ctx_r5.isHighlighted));
|
|
32
|
-
i0.ɵɵadvance(2);
|
|
33
|
-
i0.ɵɵtextInterpolate1(" ", interval_r6, " ");
|
|
34
|
-
i0.ɵɵadvance(1);
|
|
35
|
-
i0.ɵɵproperty("ngIf", interval_r6 === ctx_r5.chosenTime);
|
|
36
|
-
} }
|
|
37
|
-
const _c3 = function (a0) { return { width: a0 }; };
|
|
38
|
-
function TimePickerComponent_ng_template_3_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
39
|
-
i0.ɵɵelementStart(0, "div", 6)(1, "ul", null, 7);
|
|
40
|
-
i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_div_0_li_3_Template, 4, 5, "li", 8);
|
|
41
|
-
i0.ɵɵelementEnd()();
|
|
42
|
-
} if (rf & 2) {
|
|
43
|
-
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
44
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c3, ctx_r3.dropdownWidth || ctx_r3.inputWidth));
|
|
45
|
-
i0.ɵɵadvance(3);
|
|
46
|
-
i0.ɵɵproperty("ngForOf", ctx_r3.timeIntervals);
|
|
47
|
-
} }
|
|
48
|
-
function TimePickerComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
-
i0.ɵɵtemplate(0, TimePickerComponent_ng_template_3_div_0_Template, 4, 4, "div", 5);
|
|
50
|
-
} if (rf & 2) {
|
|
51
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
52
|
-
i0.ɵɵproperty("ngIf", ctx_r2.openStatus);
|
|
53
|
-
} }
|
|
54
|
-
const _c4 = function (a0) { return { height: a0 }; };
|
|
55
|
-
const _c5 = function (a0) { return { "disable": a0 }; };
|
|
56
|
-
const _c6 = function (a0) { return { invalid: a0 }; };
|
|
57
|
-
dayjs.extend(utc);
|
|
58
|
-
dayjs.extend(timezone);
|
|
59
|
-
dayjs.extend(customParseFormat);
|
|
60
|
-
export class TimePickerComponent {
|
|
61
|
-
constructor() {
|
|
62
|
-
this.openStatus = false;
|
|
63
|
-
this.isHighlighted = 0;
|
|
64
|
-
this.isInvalid = false;
|
|
65
|
-
this.timeIntervals = [];
|
|
66
|
-
this.shouldScroll = false;
|
|
67
|
-
this.userInputFlag = false;
|
|
68
|
-
this.givenTimeFlag = true;
|
|
69
|
-
this.clockFormat = 12;
|
|
70
|
-
this.timezone = "Asia/Kolkata";
|
|
71
|
-
this.height = "max-content";
|
|
72
|
-
this.inputWidth = "100px";
|
|
73
|
-
this.interval = 15;
|
|
74
|
-
this.dateAsEpoch = dayjs.tz(dayjs(), this.timezone).valueOf();
|
|
75
|
-
this.rangeValidity = true;
|
|
76
|
-
this.showTooltip = true;
|
|
77
|
-
this.dispayToolTip = this.showTooltip;
|
|
78
|
-
this.triggerChange = true;
|
|
79
|
-
this.disable = false;
|
|
80
|
-
this.timeEmitter = new EventEmitter();
|
|
81
|
-
}
|
|
82
|
-
// gets all the li elements from the dropdown and scrolls to the highlighted element
|
|
83
|
-
set timeIntervalRefs(intervals) {
|
|
84
|
-
intervals.forEach(interval => {
|
|
85
|
-
if (interval.nativeElement.classList[0] === "highlight") {
|
|
86
|
-
const highlighted = interval.nativeElement;
|
|
87
|
-
setTimeout(() => highlighted.scrollIntoView({ block: "center" }));
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
ngOnInit() {
|
|
92
|
-
if (!this.givenTime && !this.minTime) {
|
|
93
|
-
this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
|
|
94
|
-
let chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
95
|
-
this.emitTime({
|
|
96
|
-
valid: !this.isInvalid,
|
|
97
|
-
time: this.chosenTime,
|
|
98
|
-
epoch: chosenTimedayjs.valueOf()
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
ngOnChanges() {
|
|
103
|
-
this.timeFormat = this.clockFormat === 12 ? "hh:mm a" : "HH:mm";
|
|
104
|
-
if (this.timeFormat) {
|
|
105
|
-
let chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
106
|
-
// if the first interval is >= the chosen time
|
|
107
|
-
// then only update the value of chosen time
|
|
108
|
-
// else it remains the same
|
|
109
|
-
if (this.firstInterval >= chosenTimedayjs.valueOf() && this.rangeValidity && !this.userInputFlag) {
|
|
110
|
-
this.chosenTime = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
|
|
111
|
-
chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
112
|
-
}
|
|
113
|
-
if ((this.givenTimeFlag && this.givenTime) || this.minTime) {
|
|
114
|
-
this.chosenTime = dayjs.tz(this.minTime || this.givenTime, this.timezone).format(this.timeFormat);
|
|
115
|
-
}
|
|
116
|
-
chosenTimedayjs = this.getdayjs(this.chosenTime);
|
|
117
|
-
if (!this.userInputFlag)
|
|
118
|
-
this.populateDropdown();
|
|
119
|
-
this.userInputFlag = false;
|
|
120
|
-
if (this.chosenTime) {
|
|
121
|
-
this.isInvalid = !this.checkTimeValidity(this.chosenTime.trim());
|
|
122
|
-
this.emitTime({
|
|
123
|
-
valid: !this.isInvalid,
|
|
124
|
-
time: this.chosenTime,
|
|
125
|
-
epoch: chosenTimedayjs.valueOf()
|
|
126
|
-
});
|
|
127
|
-
this.calculateClosestInterval(this.chosenTime);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
emitTime(data) {
|
|
132
|
-
this.timeEmitter.emit(data);
|
|
133
|
-
}
|
|
134
|
-
// function to get dayjs object when time is given in string
|
|
135
|
-
getdayjs(time = '00:00') {
|
|
136
|
-
;
|
|
137
|
-
if (!time || typeof time !== 'string') {
|
|
138
|
-
throw new Error('Time must be a string');
|
|
139
|
-
}
|
|
140
|
-
let hours;
|
|
141
|
-
let minutes;
|
|
142
|
-
if (this.clockFormat === 24) {
|
|
143
|
-
hours = parseInt(time.split(':')[0]);
|
|
144
|
-
minutes = parseInt(time.split(':')[1]);
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
const timeParts = time.split(' ');
|
|
148
|
-
const AM_PM = timeParts?.[1];
|
|
149
|
-
hours = parseInt(timeParts?.[0]?.split(':')?.[0]);
|
|
150
|
-
minutes = parseInt(timeParts?.[0]?.split(':')?.[1]);
|
|
151
|
-
if (AM_PM?.toUpperCase() === 'PM' && hours !== 12) {
|
|
152
|
-
hours += 12;
|
|
153
|
-
}
|
|
154
|
-
else if (AM_PM?.toUpperCase() === 'AM' && hours === 12) {
|
|
155
|
-
hours = 0;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
return dayjs.tz(this.dateAsEpoch, this.timezone).add(hours, 'h').add(minutes, 'm');
|
|
159
|
-
}
|
|
160
|
-
closeDropdown() {
|
|
161
|
-
this.dispayToolTip = false;
|
|
162
|
-
this.userInputFlag = false;
|
|
163
|
-
this.openStatus = false;
|
|
164
|
-
if (this.timepickerDirective)
|
|
165
|
-
this.timepickerDirective.destroyOverlay();
|
|
166
|
-
}
|
|
167
|
-
// toggle timepicker dropdown
|
|
168
|
-
openDropdown() {
|
|
169
|
-
this.dispayToolTip = true;
|
|
170
|
-
this.openStatus = true;
|
|
171
|
-
}
|
|
172
|
-
checkTimeValidity(time) {
|
|
173
|
-
const RE12 = /^(([0][1-9]|1[0-2]):([0-5][0-9])( )?(am|pm|AM|PM))$/i;
|
|
174
|
-
const RE24 = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
|
|
175
|
-
const RE = this.clockFormat === 12 ? RE12 : RE24;
|
|
176
|
-
const timedayjs = this.getdayjs(time);
|
|
177
|
-
let flag = false;
|
|
178
|
-
// if the first interval is set to the start of the day
|
|
179
|
-
// or a time is already provided to the component to show
|
|
180
|
-
// then we don't check its validity against the current time
|
|
181
|
-
if (this.minTime ||
|
|
182
|
-
this.givenTime ||
|
|
183
|
-
(this.firstInterval &&
|
|
184
|
-
dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat).valueOf() === dayjs.tz(dayjs(), this.timezone).startOf("day").format(this.timeFormat).valueOf())) {
|
|
185
|
-
flag = time.match(RE) ? true : false;
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
flag = time.match(RE) && timedayjs.diff(dayjs.tz(dayjs(), this.timezone), "m") >= 0 ? true : false;
|
|
189
|
-
}
|
|
190
|
-
return flag;
|
|
191
|
-
}
|
|
192
|
-
// update chosen time as soon as the user clicks on an interval
|
|
193
|
-
onTimeSelect(time) {
|
|
194
|
-
this.isInvalid = !this.checkTimeValidity(time.trim());
|
|
195
|
-
if (!this.isInvalid) {
|
|
196
|
-
this.chosenTime = time;
|
|
197
|
-
this.calculateClosestInterval(this.chosenTime);
|
|
198
|
-
}
|
|
199
|
-
const timedayjs = this.getdayjs(time);
|
|
200
|
-
this.emitTime({
|
|
201
|
-
valid: !this.isInvalid,
|
|
202
|
-
time: time,
|
|
203
|
-
epoch: timedayjs.valueOf()
|
|
204
|
-
});
|
|
205
|
-
this.openStatus = false;
|
|
206
|
-
if (this.timepickerDirective)
|
|
207
|
-
this.timepickerDirective.destroyOverlay();
|
|
208
|
-
}
|
|
209
|
-
// checks validity of time on input change and calculates the closest interval
|
|
210
|
-
onTimeChange(time) {
|
|
211
|
-
this.isInvalid = !this.checkTimeValidity(time.trim());
|
|
212
|
-
if (!this.isInvalid) {
|
|
213
|
-
this.userInputFlag = true;
|
|
214
|
-
this.openStatus = false;
|
|
215
|
-
if (this.timepickerDirective)
|
|
216
|
-
this.timepickerDirective.destroyOverlay();
|
|
217
|
-
this.calculateClosestInterval(time);
|
|
218
|
-
}
|
|
219
|
-
const timedayjs = this.getdayjs(time);
|
|
220
|
-
this.emitTime({
|
|
221
|
-
valid: !this.isInvalid,
|
|
222
|
-
time: time,
|
|
223
|
-
epoch: timedayjs.valueOf()
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
calculateClosestInterval(time) {
|
|
227
|
-
let roundedEpoch;
|
|
228
|
-
// Converting time and date to a dayjs object
|
|
229
|
-
const chosenDate = dayjs.tz(this.dateAsEpoch, this.timezone).format("DD-MM-YYYY"); // 05-01-2024
|
|
230
|
-
const parsedTimeWithDate = dayjs.tz(`${chosenDate} ${time}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
|
|
231
|
-
// Converting dayjs object to epoch
|
|
232
|
-
const chosenTimeEpoch = parsedTimeWithDate.valueOf();
|
|
233
|
-
const offset = this.interval - (dayjs.tz(chosenTimeEpoch, this.timezone).minute() % this.interval);
|
|
234
|
-
if (this.minTime && !this.givenTime) {
|
|
235
|
-
this.isHighlighted = 0;
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
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();
|
|
239
|
-
// finding the index of element that needs to be highlighted
|
|
240
|
-
if (chosenTimeEpoch > dayjs.tz(this.dateAsEpoch, this.timezone).endOf("day").subtract(this.interval, "m").valueOf()) {
|
|
241
|
-
this.isHighlighted = this.timeIntervals.length - 1;
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
const roundedEpochdayjs = dayjs.tz(roundedEpoch, this.timezone);
|
|
245
|
-
this.isHighlighted = this.timeIntervals.findIndex(interval => {
|
|
246
|
-
const intervalObj = dayjs.tz(`${chosenDate} ${interval}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
|
|
247
|
-
return intervalObj.isSame(roundedEpochdayjs);
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
// populates the dropdown according to the first interval received
|
|
252
|
-
populateDropdown() {
|
|
253
|
-
this.timeIntervals = [];
|
|
254
|
-
// if picker is used as an individual component
|
|
255
|
-
if (!this.firstInterval) {
|
|
256
|
-
// firstInterval is initialised according to the current time
|
|
257
|
-
// if the date is same as the current date
|
|
258
|
-
if (dayjs.tz(this.dateAsEpoch, this.timezone).format("DD-MM-YYYY") === dayjs.tz(dayjs(), this.timezone).format("DD-MM-YYYY") && !this.minTime) {
|
|
259
|
-
const offset = this.interval - (dayjs.tz(dayjs(), this.timezone).minute() % this.interval);
|
|
260
|
-
this.firstInterval = dayjs.tz(dayjs(), this.timezone).add(offset, "m").valueOf();
|
|
261
|
-
}
|
|
262
|
-
// if minimum time to show is provided
|
|
263
|
-
else if (this.minTime) {
|
|
264
|
-
const offset = this.interval - (dayjs.tz(this.minTime, this.timezone).minute() % this.interval);
|
|
265
|
-
this.firstInterval = dayjs.tz(this.minTime, this.timezone).add(offset, "m").valueOf();
|
|
266
|
-
}
|
|
267
|
-
// else the firstInterval is initialised as start of day
|
|
268
|
-
else {
|
|
269
|
-
this.firstInterval = dayjs.tz(dayjs(), this.timezone).startOf("day").valueOf();
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
if (this.givenTime && this.givenTimeFlag) {
|
|
273
|
-
this.firstInterval = dayjs.tz(this.givenTime, this.timezone).startOf('d').valueOf();
|
|
274
|
-
this.givenTimeFlag = false;
|
|
275
|
-
}
|
|
276
|
-
const dateAsString = dayjs.tz(this.dateAsEpoch, this.timezone).format('DD-MM-YYYY');
|
|
277
|
-
const intervalAsString = dayjs.tz(this.firstInterval, this.timezone).format(this.timeFormat);
|
|
278
|
-
let start = dayjs.tz(`${dateAsString} ${intervalAsString}`, `DD-MM-YYYY ${this.timeFormat}`, this.timezone);
|
|
279
|
-
const end = dayjs.tz(this.dateAsEpoch, this.timezone).endOf('d');
|
|
280
|
-
while (start.valueOf() < end.valueOf()) {
|
|
281
|
-
this.timeIntervals.push(start.format(this.timeFormat));
|
|
282
|
-
start = start.add(this.interval, "m");
|
|
283
|
-
}
|
|
284
|
-
// if the start time is equal to the interval just before midnight
|
|
285
|
-
// and the start date = end date
|
|
286
|
-
// push 11:59pm only
|
|
287
|
-
if (this.timeIntervals.length === 0) {
|
|
288
|
-
this.chosenTime = dayjs.tz(dayjs(), this.timezone).endOf("d").format(this.timeFormat);
|
|
289
|
-
this.timeIntervals.push(dayjs.tz(dayjs(), this.timezone).endOf("d").format(this.timeFormat));
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
ngOnDestroy() {
|
|
293
|
-
if (this.tooltipDirective)
|
|
294
|
-
this.tooltipDirective.hideToolTip();
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
TimePickerComponent.ɵfac = function TimePickerComponent_Factory(t) { return new (t || TimePickerComponent)(); };
|
|
298
|
-
TimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimePickerComponent, selectors: [["mis-timepicker"]], viewQuery: function TimePickerComponent_Query(rf, ctx) { if (rf & 1) {
|
|
299
|
-
i0.ɵɵviewQuery(_c0, 7);
|
|
300
|
-
i0.ɵɵviewQuery(TimepickerDirective, 5);
|
|
301
|
-
i0.ɵɵviewQuery(ToolTipDirective, 5);
|
|
302
|
-
i0.ɵɵviewQuery(_c1, 5);
|
|
303
|
-
} if (rf & 2) {
|
|
304
|
-
let _t;
|
|
305
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
306
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timepickerDirective = _t.first);
|
|
307
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipDirective = _t.first);
|
|
308
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.timeIntervalRefs = _t);
|
|
309
|
-
} }, 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) { if (rf & 1) {
|
|
310
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "input", 1, 2);
|
|
311
|
-
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(); });
|
|
312
|
-
i0.ɵɵelementEnd();
|
|
313
|
-
i0.ɵɵtemplate(3, TimePickerComponent_ng_template_3_Template, 1, 1, "ng-template", 3, 4, i0.ɵɵtemplateRefExtractor);
|
|
314
|
-
i0.ɵɵlistener("statusEmitter", function TimePickerComponent_Template_ng_template_statusEmitter_3_listener() { return ctx.closeDropdown(); });
|
|
315
|
-
i0.ɵɵelementEnd();
|
|
316
|
-
} if (rf & 2) {
|
|
317
|
-
const _r0 = i0.ɵɵreference(2);
|
|
318
|
-
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(11, _c4, ctx.height))("ngClass", i0.ɵɵpureFunction1(13, _c5, ctx.disable));
|
|
319
|
-
i0.ɵɵadvance(1);
|
|
320
|
-
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);
|
|
321
|
-
i0.ɵɵadvance(2);
|
|
322
|
-
i0.ɵɵproperty("originEl", _r0)("openStatus", ctx.openStatus);
|
|
323
|
-
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.ToolTipDirective, i4.CdkOverlayOrigin, i5.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}"] });
|
|
324
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimePickerComponent, [{
|
|
325
|
-
type: Component,
|
|
326
|
-
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"] }]
|
|
327
|
-
}], function () { return []; }, { clockFormat: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], timezone: [{
|
|
330
|
-
type: Input
|
|
331
|
-
}], height: [{
|
|
332
|
-
type: Input
|
|
333
|
-
}], inputWidth: [{
|
|
334
|
-
type: Input
|
|
335
|
-
}], dropdownWidth: [{
|
|
336
|
-
type: Input
|
|
337
|
-
}], interval: [{
|
|
338
|
-
type: Input
|
|
339
|
-
}], dateAsEpoch: [{
|
|
340
|
-
type: Input
|
|
341
|
-
}], firstInterval: [{
|
|
342
|
-
type: Input
|
|
343
|
-
}], rangeValidity: [{
|
|
344
|
-
type: Input
|
|
345
|
-
}], showTooltip: [{
|
|
346
|
-
type: Input
|
|
347
|
-
}], givenTime: [{
|
|
348
|
-
type: Input
|
|
349
|
-
}], minTime: [{
|
|
350
|
-
type: Input
|
|
351
|
-
}], triggerChange: [{
|
|
352
|
-
type: Input
|
|
353
|
-
}], disable: [{
|
|
354
|
-
type: Input
|
|
355
|
-
}], timeEmitter: [{
|
|
356
|
-
type: Output
|
|
357
|
-
}], input: [{
|
|
358
|
-
type: ViewChild,
|
|
359
|
-
args: ["input", { static: true }]
|
|
360
|
-
}], timepickerDirective: [{
|
|
361
|
-
type: ViewChild,
|
|
362
|
-
args: [TimepickerDirective]
|
|
363
|
-
}], tooltipDirective: [{
|
|
364
|
-
type: ViewChild,
|
|
365
|
-
args: [ToolTipDirective]
|
|
366
|
-
}], timeIntervalRefs: [{
|
|
367
|
-
type: ViewChildren,
|
|
368
|
-
args: ["timeInterval"]
|
|
369
|
-
}] }); })();
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGltZXBpY2tlci90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUE7Ozs7Ozs7Ozs7SUNlcEQsMEJBQWdGOzs7OztJQUZsRixpQ0FBcUo7SUFBbkksaVBBQVMsZUFBQSxpQ0FBc0IsQ0FBQSxJQUFDO0lBQ2hELFlBQ0E7SUFBQSw4RkFBZ0Y7SUFDbEYsaUJBQUs7Ozs7O0lBSGlHLG1GQUE4QztJQUNsSixlQUNBO0lBREEsNENBQ0E7SUFBMkMsZUFBNkI7SUFBN0Isd0RBQTZCOzs7O0lBSjlFLDhCQUF1RyxrQkFBQTtJQUVuRyxzRkFHSztJQUNQLGlCQUFLLEVBQUE7OztJQU42QywrRkFBa0Q7SUFFMUIsZUFBa0I7SUFBbEIsOENBQWtCOzs7SUFGOUYsa0ZBT007OztJQVBBLHdDQUFnQjs7Ozs7QURUMUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixL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a0JBQWxCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUNJLFdBQVc7a0JBQXBCLE1BQU07WUFDK0IsS0FBSztrQkFBMUMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ0osbUJBQW1CO2tCQUFsRCxTQUFTO21CQUFDLG1CQUFtQjtZQUNELGdCQUFnQjtrQkFBNUMsU0FBUzttQkFBQyxnQkFBZ0I7WUFHTyxnQkFBZ0I7a0JBQWpELFlBQVk7bUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJVGltZSB9IGZyb20gXCIuL3RpbWUubmFtZXNwYWNlXCI7XG5pbXBvcnQgeyBUaW1lcGlja2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vdGltZXBpY2tlci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFRvb2xUaXBEaXJlY3RpdmUgfSBmcm9tIFwibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS90b29sdGlwXCI7XG5cbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0J1xuXG5kYXlqcy5leHRlbmQodXRjKTtcbmRheWpzLmV4dGVuZCh0aW1lem9uZSk7XG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdGltZXBpY2tlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RpbWVwaWNrZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBjdXJyVGltZSE6IHN0cmluZztcbiAgY2hvc2VuVGltZTogc3RyaW5nO1xuICBvcGVuU3RhdHVzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzSGlnaGxpZ2h0ZWQ6IG51bWJlciA9IDA7XG4gIGlzSW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICB0aW1lSW50ZXJ2YWxzOiBzdHJpbmdbXSA9IFtdO1xuICBzaG91bGRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdXNlcklucHV0RmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuICBnaXZlblRpbWVGbGFnOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xvY2tGb3JtYXQ6IG51bWJlciA9IDEyO1xuICB0aW1lRm9ybWF0ITogc3RyaW5nO1xuICBcbiAgQElucHV0KCkgdGltZXpvbmU6IHN0cmluZyA9IFwiQXNpYS9Lb2xrYXRhXCI7XG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gXCJtYXgtY29udGVudFwiO1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmcgPSBcIjEwMHB4XCI7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGludGVydmFsOiBudW1iZXIgPSAxNTtcbiAgQElucHV0KCkgZGF0ZUFzRXBvY2g6IG51bWJlciA9IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLnZhbHVlT2YoKTtcbiAgQElucHV0KCkgZmlyc3RJbnRlcnZhbCE6IG51bWJlcjtcbiAgQElucHV0KCkgcmFuZ2VWYWxpZGl0eTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dUb29sdGlwOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzcGF5VG9vbFRpcDogYm9vbGVhbiA9IHRoaXMuc2hvd1Rvb2x0aXA7XG4gIEBJbnB1dCgpIGdpdmVuVGltZTogbnVtYmVyO1xuICBASW5wdXQoKSBtaW5UaW1lPzogbnVtYmVyO1xuICBASW5wdXQoKSB0cmlnZ2VyQ2hhbmdlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdGltZUVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPElUaW1lPigpO1xuICBAVmlld0NoaWxkKFwiaW5wdXRcIiwgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoVGltZXBpY2tlckRpcmVjdGl2ZSkgdGltZXBpY2tlckRpcmVjdGl2ZTogVGltZXBpY2tlckRpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZChUb29sVGlwRGlyZWN0aXZlKSB0b29sdGlwRGlyZWN0aXZlOiBUb29sVGlwRGlyZWN0aXZlO1xuXG4gIC8vIGdldHMgYWxsIHRoZSBsaSBlbGVtZW50cyBmcm9tIHRoZSBkcm9wZG93biBhbmQgc2Nyb2xscyB0byB0aGUgaGlnaGxpZ2h0ZWQgZWxlbWVudFxuICBAVmlld0NoaWxkcmVuKFwidGltZUludGVydmFsXCIpIHNldCB0aW1lSW50ZXJ2YWxSZWZzKGludGVydmFscykge1xuICAgIGludGVydmFscy5mb3JFYWNoKGludGVydmFsID0+IHtcbiAgICAgIGlmIChpbnRlcnZhbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdFswXSA9PT0gXCJoaWdobGlnaHRcIikge1xuICAgICAgICBjb25zdCBoaWdobGlnaHRlZCA9IGludGVydmFsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaGlnaGxpZ2h0ZWQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogXCJjZW50ZXJcIiB9KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcigpe31cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuZ2l2ZW5UaW1lICYmICF0aGlzLm1pblRpbWUpIHtcbiAgICAgIHRoaXMuY2hvc2VuVGltZSA9IGRheWpzLnR6KHRoaXMuZmlyc3RJbnRlcnZhbCwgdGhpcy50aW1lem9uZSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICBsZXQgY2hvc2VuVGltZWRheWpzID0gdGhpcy5nZXRkYXlqcyh0aGlzLmNob3NlblRpbWUpO1xuICAgICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICAgIHZhbGlkOiAhdGhpcy5pc0ludmFsaWQsXG4gICAgICAgIHRpbWU6IHRoaXMuY2hvc2VuVGltZSxcbiAgICAgICAgZXBvY2g6IGNob3NlblRpbWVkYXlqcy52YWx1ZU9mKClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudGltZUZvcm1hdCA9IHRoaXMuY2xvY2tGb3JtYXQgPT09IDEyID8gXCJoaDptbSBhXCIgOiBcIkhIOm1tXCI7XG5cbiAgICBpZiAodGhpcy50aW1lRm9ybWF0KSB7XG4gICAgICBsZXQgY2hvc2VuVGltZWRheWpzID0gdGhpcy5nZXRkYXlqcyh0aGlzLmNob3NlblRpbWUpO1xuICAgIFxuICAgICAgLy8gaWYgdGhlIGZpcnN0IGludGVydmFsIGlzID49IHRoZSBjaG9zZW4gdGltZVxuICAgICAgLy8gdGhlbiBvbmx5IHVwZGF0ZSB0aGUgdmFsdWUgb2YgY2hvc2VuIHRpbWVcbiAgICAgIC8vIGVsc2UgaXQgcmVtYWlucyB0aGUgc2FtZVxuICAgICAgaWYgKHRoaXMuZmlyc3RJbnRlcnZhbCA+PSBjaG9zZW5UaW1lZGF5anMudmFsdWVPZigpICYmIHRoaXMucmFuZ2VWYWxpZGl0eSAmJiAhdGhpcy51c2VySW5wdXRGbGFnKSB7XG4gICAgICAgIHRoaXMuY2hvc2VuVGltZSA9IGRheWpzLnR6KHRoaXMuZmlyc3RJbnRlcnZhbCwgdGhpcy50aW1lem9uZSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICAgIGNob3NlblRpbWVkYXlqcyA9IHRoaXMuZ2V0ZGF5anModGhpcy5jaG9zZW5UaW1lKVxuICAgICAgfVxuXG4gICAgICBpZigodGhpcy5naXZlblRpbWVGbGFnICYmIHRoaXMuZ2l2ZW5UaW1lKSB8fCB0aGlzLm1pblRpbWUgKSB7XG4gICAgICAgIHRoaXMuY2hvc2VuVGltZSA9IGRheWpzLnR6KHRoaXMubWluVGltZSB8fCB0aGlzLmdpdmVuVGltZSwgdGhpcy50aW1lem9uZSkuZm9ybWF0KHRoaXMudGltZUZvcm1hdCk7XG4gICAgICB9XG4gICAgICBjaG9zZW5UaW1lZGF5anMgPSB0aGlzLmdldGRheWpzKHRoaXMuY2hvc2VuVGltZSlcblxuICAgICAgaWYgKCF0aGlzLnVzZXJJbnB1dEZsYWcpIHRoaXMucG9wdWxhdGVEcm9wZG93bigpO1xuICAgICAgdGhpcy51c2VySW5wdXRGbGFnID0gZmFsc2U7XG4gICAgICBcbiAgICAgIGlmKHRoaXMuY2hvc2VuVGltZSkge1xuICAgICAgICB0aGlzLmlzSW52YWxpZCA9ICF0aGlzLmNoZWNrVGltZVZhbGlkaXR5KHRoaXMuY2hvc2VuVGltZS50cmltKCkpO1xuICAgICAgICB0aGlzLmVtaXRUaW1lKHtcbiAgICAgICAgICB2YWxpZDogIXRoaXMuaXNJbnZhbGlkLFxuICAgICAgICAgIHRpbWU6IHRoaXMuY2hvc2VuVGltZSxcbiAgICAgICAgICBlcG9jaDogY2hvc2VuVGltZWRheWpzLnZhbHVlT2YoKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVDbG9zZXN0SW50ZXJ2YWwodGhpcy5jaG9zZW5UaW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBlbWl0VGltZShkYXRhOiBJVGltZSk6IHZvaWQge1xuICAgIHRoaXMudGltZUVtaXR0ZXIuZW1pdChkYXRhKTtcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uIHRvIGdldCBkYXlqcyBvYmplY3Qgd2hlbiB0aW1lIGlzIGdpdmVuIGluIHN0cmluZ1xuICBnZXRkYXlqcyh0aW1lOiBzdHJpbmcgPSAnMDA6MDAnKXs7XG4gICAgaWYoIXRpbWUgfHwgdHlwZW9mIHRpbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RpbWUgbXVzdCBiZSBhIHN0cmluZycpO1xuICAgIH1cblxuICAgIGxldCBob3VyczogbnVtYmVyO1xuICAgIGxldCBtaW51dGVzOiBudW1iZXI7XG5cbiAgICBpZih0aGlzLmNsb2NrRm9ybWF0ID09PSAyNCkge1xuICAgICAgaG91cnMgPSBwYXJzZUludCh0aW1lLnNwbGl0KCc6JylbMF0pO1xuICAgICAgbWludXRlcyA9IHBhcnNlSW50KHRpbWUuc3BsaXQoJzonKVsxXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRpbWVQYXJ0cyA9IHRpbWUuc3BsaXQoJyAnKTtcbiAgICAgIGNvbnN0IEFNX1BNID0gdGltZVBhcnRzPy5bMV07XG4gICAgICBob3VycyA9ICBwYXJzZUludCh0aW1lUGFydHM/LlswXT8uc3BsaXQoJzonKT8uWzBdKTtcbiAgICAgIG1pbnV0ZXMgPSBwYXJzZUludCh0aW1lUGFydHM/LlswXT8uc3BsaXQoJzonKT8uWzFdKTtcblxuICAgICAgaWYoQU1fUE0/LnRvVXBwZXJDYXNlKCkgPT09ICdQTScgJiYgaG91cnMgIT09IDEyKSB7XG4gICAgICAgIGhvdXJzICs9IDEyO1xuICAgICAgfSBlbHNlIGlmKEFNX1BNPy50b1VwcGVyQ2FzZSgpID09PSAnQU0nICYmIGhvdXJzID09PSAxMikge1xuICAgICAgICBob3VycyA9IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRheWpzLnR6KHRoaXMuZGF0ZUFzRXBvY2gsIHRoaXMudGltZXpvbmUpLmFkZChob3VycywgJ2gnKS5hZGQobWludXRlcywgJ20nKTtcbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kaXNwYXlUb29sVGlwID0gZmFsc2U7XG4gICAgdGhpcy51c2VySW5wdXRGbGFnID0gZmFsc2U7XG4gICAgdGhpcy5vcGVuU3RhdHVzID0gZmFsc2U7XG4gICAgaWYgKHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZSkgdGhpcy50aW1lcGlja2VyRGlyZWN0aXZlLmRlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICAvLyB0b2dnbGUgdGltZXBpY2tlciBkcm9wZG93blxuICBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwYXlUb29sVGlwID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5TdGF0dXMgPSB0cnVlO1xuICB9XG5cbiAgY2hlY2tUaW1lVmFsaWRpdHkodGltZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgUkUxMiA9IC9eKChbMF1bMS05XXwxWzAtMl0pOihbMC01XVswLTldKSggKT8oYW18cG18QU18UE0pKSQvaTtcbiAgICBjb25zdCBSRTI0ID0gL14oWzAxXVswLTldfDJbMC0zXSk6WzAtNV1bMC05XSQvO1xuICAgIGNvbnN0IFJFID0gdGhpcy5jbG9ja0Zvcm1hdCA9PT0gMTIgPyBSRTEyIDogUkUyNDtcblxuICAgIGNvbnN0IHRpbWVkYXlqcyA9IHRoaXMuZ2V0ZGF5anModGltZSk7XG4gICAgbGV0IGZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIGlmIHRoZSBmaXJzdCBpbnRlcnZhbCBpcyBzZXQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBkYXlcbiAgICAvLyBvciBhIHRpbWUgaXMgYWxyZWFkeSBwcm92aWRlZCB0byB0aGUgY29tcG9uZW50IHRvIHNob3dcbiAgICAvLyB0aGVuIHdlIGRvbid0IGNoZWNrIGl0cyB2YWxpZGl0eSBhZ2FpbnN0IHRoZSBjdXJyZW50IHRpbWVcbiAgICBpZiAoXG4gICAgICB0aGlzLm1pblRpbWUgfHwgXG4gICAgICB0aGlzLmdpdmVuVGltZSB8fFxuICAgICAgKHRoaXMuZmlyc3RJbnRlcnZhbCAmJlxuICAgICAgZGF5anMudHoodGhpcy5maXJzdEludGVydmFsLCB0aGlzLnRpbWV6b25lKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KS52YWx1ZU9mKCkgPT09IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLnN0YXJ0T2YoXCJkYXlcIikuZm9ybWF0KHRoaXMudGltZUZvcm1hdCkudmFsdWVPZigpKVxuICAgICkge1xuICAgICAgZmxhZyA9IHRpbWUubWF0Y2goUkUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGFnID0gdGltZS5tYXRjaChSRSkgJiYgdGltZWRheWpzLmRpZmYoZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSksIFwibVwiKSA+PSAwID8gdHJ1ZTogZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZsYWc7XG4gIH1cblxuICAvLyB1cGRhdGUgY2hvc2VuIHRpbWUgYXMgc29vbiBhcyB0aGUgdXNlciBjbGlja3Mgb24gYW4gaW50ZXJ2YWxcbiAgb25UaW1lU2VsZWN0KHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXNJbnZhbGlkID0gIXRoaXMuY2hlY2tUaW1lVmFsaWRpdHkodGltZS50cmltKCkpO1xuICAgIGlmICghdGhpcy5pc0ludmFsaWQpIHtcbiAgICAgIHRoaXMuY2hvc2VuVGltZSA9IHRpbWU7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUNsb3Nlc3RJbnRlcnZhbCh0aGlzLmNob3NlblRpbWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHRpbWVkYXlqcyA9IHRoaXMuZ2V0ZGF5anModGltZSk7XG4gICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICB2YWxpZDogIXRoaXMuaXNJbnZhbGlkLFxuICAgICAgdGltZTogdGltZSxcbiAgICAgIGVwb2NoOiB0aW1lZGF5anMudmFsdWVPZigpIFxuICAgIH0pO1xuICAgIHRoaXMub3BlblN0YXR1cyA9IGZhbHNlO1xuICAgIGlmICh0aGlzLnRpbWVwaWNrZXJEaXJlY3RpdmUpIHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZS5kZXN0cm95T3ZlcmxheSgpO1xuICB9XG5cbiAgLy8gY2hlY2tzIHZhbGlkaXR5IG9mIHRpbWUgb24gaW5wdXQgY2hhbmdlIGFuZCBjYWxjdWxhdGVzIHRoZSBjbG9zZXN0IGludGVydmFsXG4gIG9uVGltZUNoYW5nZSh0aW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzSW52YWxpZCA9ICF0aGlzLmNoZWNrVGltZVZhbGlkaXR5KHRpbWUudHJpbSgpKTtcblxuICAgIGlmICghdGhpcy5pc0ludmFsaWQpIHtcbiAgICAgIHRoaXMudXNlcklucHV0RmxhZyA9IHRydWU7XG4gICAgICB0aGlzLm9wZW5TdGF0dXMgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnRpbWVwaWNrZXJEaXJlY3RpdmUpIHRoaXMudGltZXBpY2tlckRpcmVjdGl2ZS5kZXN0cm95T3ZlcmxheSgpO1xuICAgICAgdGhpcy5jYWxjdWxhdGVDbG9zZXN0SW50ZXJ2YWwodGltZSk7XG4gICAgfVxuICAgIGNvbnN0IHRpbWVkYXlqcyA9IHRoaXMuZ2V0ZGF5anModGltZSk7XG4gICAgdGhpcy5lbWl0VGltZSh7XG4gICAgICB2YWxpZDogIXRoaXMuaXNJbnZhbGlkLFxuICAgICAgdGltZTogdGltZSxcbiAgICAgIGVwb2NoOiB0aW1lZGF5anMudmFsdWVPZigpIFxuICAgIH0pO1xuICB9XG5cbiAgY2FsY3VsYXRlQ2xvc2VzdEludGVydmFsKHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCByb3VuZGVkRXBvY2g6IG51bWJlcjtcbiAgICAvLyBDb252ZXJ0aW5nIHRpbWUgYW5kIGRhdGUgdG8gYSBkYXlqcyBvYmplY3QgXG4gICAgY29uc3QgY2hvc2VuRGF0ZSA9IGRheWpzLnR6KHRoaXMuZGF0ZUFzRXBvY2gsIHRoaXMudGltZXpvbmUpLmZvcm1hdChcIkRELU1NLVlZWVlcIik7IC8vIDA1LTAxLTIwMjRcbiAgICBjb25zdCBwYXJzZWRUaW1lV2l0aERhdGUgPSBkYXlqcy50eihgJHtjaG9zZW5EYXRlfSAke3RpbWV9YCwgYERELU1NLVlZWVkgJHt0aGlzLnRpbWVGb3JtYXR9YCwgdGhpcy50aW1lem9uZSk7XG4gICAgLy8gQ29udmVydGluZyBkYXlqcyBvYmplY3QgdG8gZXBvY2hcbiAgICBjb25zdCBjaG9zZW5UaW1lRXBvY2ggPSBwYXJzZWRUaW1lV2l0aERhdGUudmFsdWVPZigpO1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAoZGF5anMudHooY2hvc2VuVGltZUVwb2NoLCB0aGlzLnRpbWV6b25lKS5taW51dGUoKSAlIHRoaXMuaW50ZXJ2YWwpO1xuXG4gICAgaWYgKHRoaXMubWluVGltZSAmJiAhdGhpcy5naXZlblRpbWUpIHtcbiAgICAgIHRoaXMuaXNIaWdobGlnaHRlZCA9IDA7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJvdW5kZWRFcG9jaCA9IG9mZnNldCA+PSB0aGlzLmludGVydmFsIC8gMiA/IChkYXlqcy50eihjaG9zZW5UaW1lRXBvY2gsIHRoaXMudGltZXpvbmUpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWwgLSBvZmZzZXQsIFwibVwiKSkudmFsdWVPZigpIDogKGRheWpzLnR6KGNob3NlblRpbWVFcG9jaCwgdGhpcy50aW1lem9uZSkuYWRkKCBvZmZzZXQsIFwibVwiKSkudmFsdWVPZigpO1xuXG4gICAgLy8gZmluZGluZyB0aGUgaW5kZXggb2YgZWxlbWVudCB0aGF0IG5lZWRzIHRvIGJlIGhpZ2hsaWdodGVkXG4gICAgaWYgKCBjaG9zZW5UaW1lRXBvY2ggPiBkYXlqcy50eih0aGlzLmRhdGVBc0Vwb2NoLCB0aGlzLnRpbWV6b25lKS5lbmRPZihcImRheVwiKS5zdWJ0cmFjdCh0aGlzLmludGVydmFsLCBcIm1cIikudmFsdWVPZigpKSB7XG4gICAgICB0aGlzLmlzSGlnaGxpZ2h0ZWQgPSB0aGlzLnRpbWVJbnRlcnZhbHMubGVuZ3RoIC0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgcm91bmRlZEVwb2NoZGF5anMgPSBkYXlqcy50eihyb3VuZGVkRXBvY2gsIHRoaXMudGltZXpvbmUpO1xuICAgICAgdGhpcy5pc0hpZ2hsaWdodGVkID0gdGhpcy50aW1lSW50ZXJ2YWxzLmZpbmRJbmRleChpbnRlcnZhbCA9PiB7XG4gICAgICAgIGNvbnN0IGludGVydmFsT2JqID0gZGF5anMudHooYCR7Y2hvc2VuRGF0ZX0gJHtpbnRlcnZhbH1gLCBgREQtTU0tWVlZWSAke3RoaXMudGltZUZvcm1hdH1gLCB0aGlzLnRpbWV6b25lKTtcbiAgICAgICAgcmV0dXJuIGludGVydmFsT2JqLmlzU2FtZShyb3VuZGVkRXBvY2hkYXlqcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIHBvcHVsYXRlcyB0aGUgZHJvcGRvd24gYWNjb3JkaW5nIHRvIHRoZSBmaXJzdCBpbnRlcnZhbCByZWNlaXZlZFxuICBwb3B1bGF0ZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMudGltZUludGVydmFscyA9IFtdO1xuXG4gICAgLy8gaWYgcGlja2VyIGlzIHVzZWQgYXMgYW4gaW5kaXZpZHVhbCBjb21wb25lbnRcbiAgICBpZiAoIXRoaXMuZmlyc3RJbnRlcnZhbCkge1xuICAgICAgLy8gZmlyc3RJbnRlcnZhbCBpcyBpbml0aWFsaXNlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgdGltZVxuICAgICAgLy8gaWYgdGhlIGRhdGUgaXMgc2FtZSBhcyB0aGUgY3VycmVudCBkYXRlXG4gICAgICBpZiAoZGF5anMudHoodGhpcy5kYXRlQXNFcG9jaCwgdGhpcy50aW1lem9uZSkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSA9PT0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSAmJiAhdGhpcy5taW5UaW1lKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAoZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkubWludXRlKCkgJSB0aGlzLmludGVydmFsKTtcbiAgICAgICAgdGhpcy5maXJzdEludGVydmFsID0gZGF5anMudHooZGF5anMoKSwgdGhpcy50aW1lem9uZSkuYWRkKG9mZnNldCwgXCJtXCIpLnZhbHVlT2YoKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIG1pbmltdW0gdGltZSB0byBzaG93IGlzIHByb3ZpZGVkXG4gICAgICBlbHNlIGlmKHRoaXMubWluVGltZSl7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaW50ZXJ2YWwgLSAoZGF5anMudHoodGhpcy5taW5UaW1lLCB0aGlzLnRpbWV6b25lKS5taW51dGUoKSAlIHRoaXMuaW50ZXJ2YWwpO1xuICAgICAgICB0aGlzLmZpcnN0SW50ZXJ2YWwgPSBkYXlqcy50eih0aGlzLm1pblRpbWUsIHRoaXMudGltZXpvbmUpLmFkZChvZmZzZXQsIFwibVwiKS52YWx1ZU9mKCk7XG4gICAgICB9XG4gICAgICAvLyBlbHNlIHRoZSBmaXJzdEludGVydmFsIGlzIGluaXRpYWxpc2VkIGFzIHN0YXJ0IG9mIGRheVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZmlyc3RJbnRlcnZhbCA9IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLnN0YXJ0T2YoXCJkYXlcIikudmFsdWVPZigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKHRoaXMuZ2l2ZW5UaW1lICYmIHRoaXMuZ2l2ZW5UaW1lRmxhZyl7XG4gICAgICB0aGlzLmZpcnN0SW50ZXJ2YWwgPSBkYXlqcy50eih0aGlzLmdpdmVuVGltZSwgdGhpcy50aW1lem9uZSkuc3RhcnRPZignZCcpLnZhbHVlT2YoKTtcbiAgICAgIHRoaXMuZ2l2ZW5UaW1lRmxhZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGVBc1N0cmluZyA9IGRheWpzLnR6KHRoaXMuZGF0ZUFzRXBvY2gsIHRoaXMudGltZXpvbmUpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xuICAgIGNvbnN0IGludGVydmFsQXNTdHJpbmcgPSBkYXlqcy50eih0aGlzLmZpcnN0SW50ZXJ2YWwsIHRoaXMudGltZXpvbmUpLmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIGxldCBzdGFydCA9IGRheWpzLnR6KGAke2RhdGVBc1N0cmluZ30gJHtpbnRlcnZhbEFzU3RyaW5nfWAsIGBERC1NTS1ZWVlZICR7dGhpcy50aW1lRm9ybWF0fWAsIHRoaXMudGltZXpvbmUpO1xuICAgIGNvbnN0IGVuZCA9IGRheWpzLnR6KHRoaXMuZGF0ZUFzRXBvY2gsIHRoaXMudGltZXpvbmUpLmVuZE9mKCdkJyk7XG4gICAgd2hpbGUgKHN0YXJ0LnZhbHVlT2YoKSA8IGVuZC52YWx1ZU9mKCkpIHtcbiAgICAgIHRoaXMudGltZUludGVydmFscy5wdXNoKHN0YXJ0LmZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpKTtcbiAgICAgIHN0YXJ0ID0gc3RhcnQuYWRkKHRoaXMuaW50ZXJ2YWwsIFwibVwiKTtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGUgc3RhcnQgdGltZSBpcyBlcXVhbCB0byB0aGUgaW50ZXJ2YWwganVzdCBiZWZvcmUgbWlkbmlnaHRcbiAgICAvLyBhbmQgdGhlIHN0YXJ0IGRhdGUgPSBlbmQgZGF0ZVxuICAgIC8vIHB1c2ggMTE6NTlwbSBvbmx5XG4gICAgaWYgKHRoaXMudGltZUludGVydmFscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2hvc2VuVGltZSA9IGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZFwiKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIHRoaXMudGltZUludGVydmFscy5wdXNoKGRheWpzLnR6KGRheWpzKCksIHRoaXMudGltZXpvbmUpLmVuZE9mKFwiZFwiKS5mb3JtYXQodGhpcy50aW1lRm9ybWF0KSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcERpcmVjdGl2ZSkgdGhpcy50b29sdGlwRGlyZWN0aXZlLmhpZGVUb29sVGlwKCk7XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cInRpbWVwaWNrZXItY29udGFpbmVyXCIgW25nU3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCB9XCIgW25nQ2xhc3NdPVwieydkaXNhYmxlJzogZGlzYWJsZX1cIj5cbiAgPGlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFsobmdNb2RlbCldPVwiY2hvc2VuVGltZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UaW1lQ2hhbmdlKGNob3NlblRpbWUpXCJcbiAgICBbbmdDbGFzc109XCJ7IGludmFsaWQ6IGlzSW52YWxpZCB8fCAhcmFuZ2VWYWxpZGl0eSB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiBpbnB1dFdpZHRoIH1cIlxuICAgIChjbGljayk9XCJvcGVuRHJvcGRvd24oKVwiXG4gICAgbWlzVG9vbFRpcFxuICAgIFtzaG93VG9vbFRpcF09XCJzaG93VG9vbHRpcCAmJiAoaXNJbnZhbGlkIHx8ICFyYW5nZVZhbGlkaXR5KSAmJiBkaXNwYXlUb29sVGlwXCJcbiAgICBbdGV4dF09XCInSW52YWxpZCBUaW1lJ1wiXG4gICAgW3Bvc2l0aW9uXT1cIid0b3AnXCJcbiAgICBbc2hvd09uSG92ZXJdPVwiZmFsc2VcIlxuICAgICNpbnB1dFxuICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICBjbGFzcz1cImg3XCJcbiAgLz5cblxuICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duQ29udGFpbmVyIGxpYkRyb3Bkb3duU2Nyb2xsIGxpYlRpbWVwaWNrZXIgW29yaWdpbkVsXT1cImlucHV0XCIgW29wZW5TdGF0dXNdPVwib3BlblN0YXR1c1wiIChzdGF0dXNFbWl0dGVyKT1cImNsb3NlRHJvcGRvd24oKVwiPlxuICAgIDxkaXYgKm5nSWY9XCJvcGVuU3RhdHVzXCIgY2xhc3M9XCJ0aW1lcGlja2VyLWRyb3Bkb3duXCIgW25nU3R5bGVdPVwieyB3aWR0aDogZHJvcGRvd25XaWR0aCB8fCBpbnB1dFdpZHRoIH1cIj5cbiAgICAgIDx1bCAjZHJvcGRvd24+XG4gICAgICAgIDxsaSAjdGltZUludGVydmFsIChjbGljayk9XCJvblRpbWVTZWxlY3QoaW50ZXJ2YWwpXCIgKm5nRm9yPVwibGV0IGludGVydmFsIG9mIHRpbWVJbnRlcnZhbHM7IGluZGV4IGFzIGlcIiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodDogaSA9PT0gaXNIaWdobGlnaHRlZCB9XCI+XG4gICAgICAgICAge3sgaW50ZXJ2YWwgfX1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWMtdWktY2hlY2stMjQgc2VsZWN0ZWQtaWNvblwiICpuZ0lmPVwiaW50ZXJ2YWwgPT09IGNob3NlblRpbWVcIj48L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Directive, Output } from '@angular/core';
|
|
2
|
-
import { EventEmitter, Input } from "@angular/core";
|
|
3
|
-
import { ConnectionPositionPair, OverlayConfig } from "@angular/cdk/overlay";
|
|
4
|
-
import { TemplatePortal } from "@angular/cdk/portal";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
-
export class TimepickerDirective {
|
|
8
|
-
constructor(templateRef, overlay, viewContainerRef) {
|
|
9
|
-
this.templateRef = templateRef;
|
|
10
|
-
this.overlay = overlay;
|
|
11
|
-
this.viewContainerRef = viewContainerRef;
|
|
12
|
-
this.openStatus = false;
|
|
13
|
-
this.statusEmitter = new EventEmitter();
|
|
14
|
-
}
|
|
15
|
-
set createOverlayOnInput(openStatus) {
|
|
16
|
-
this.openStatus = openStatus;
|
|
17
|
-
if (this.originEl && this.openStatus)
|
|
18
|
-
this.createOverlay(this.originEl);
|
|
19
|
-
}
|
|
20
|
-
;
|
|
21
|
-
createOverlay(origin) {
|
|
22
|
-
const positions = [
|
|
23
|
-
new ConnectionPositionPair({ originX: "start", originY: "bottom" }, { overlayX: "start", overlayY: "top" }, 0, 4),
|
|
24
|
-
new ConnectionPositionPair({ originX: "end", originY: "bottom" }, { overlayX: "end", overlayY: "top" }, 0, 4)
|
|
25
|
-
];
|
|
26
|
-
const overlayConfig = new OverlayConfig({
|
|
27
|
-
hasBackdrop: true,
|
|
28
|
-
backdropClass: "cdk-overlay-transparent-backdrop",
|
|
29
|
-
positionStrategy: this.overlay
|
|
30
|
-
.position()
|
|
31
|
-
//connecting the dropdown overlay to the input element
|
|
32
|
-
.flexibleConnectedTo(origin)
|
|
33
|
-
.withPositions([...positions])
|
|
34
|
-
.withPush(true)
|
|
35
|
-
});
|
|
36
|
-
this.overlayRef = this.overlay.create(overlayConfig);
|
|
37
|
-
const dropdownPortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
38
|
-
this.overlayRef.attach(dropdownPortal);
|
|
39
|
-
this.overlayRef.backdropClick().subscribe(resp => {
|
|
40
|
-
this.openStatus = false;
|
|
41
|
-
this.statusEmitter.emit(false);
|
|
42
|
-
if (this.overlay) {
|
|
43
|
-
this.overlayRef.detach();
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
destroyOverlay() {
|
|
48
|
-
if (this.overlay) {
|
|
49
|
-
this.overlayRef.detach();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
TimepickerDirective.ɵfac = function TimepickerDirective_Factory(t) { return new (t || TimepickerDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i1.Overlay), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
|
54
|
-
TimepickerDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TimepickerDirective, selectors: [["", "libTimepicker", ""]], inputs: { originEl: "originEl", createOverlayOnInput: ["openStatus", "createOverlayOnInput"] }, outputs: { statusEmitter: "statusEmitter" } });
|
|
55
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimepickerDirective, [{
|
|
56
|
-
type: Directive,
|
|
57
|
-
args: [{
|
|
58
|
-
selector: '[libTimepicker]'
|
|
59
|
-
}]
|
|
60
|
-
}], function () { return [{ type: i0.TemplateRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }]; }, { originEl: [{
|
|
61
|
-
type: Input,
|
|
62
|
-
args: ['originEl']
|
|
63
|
-
}], statusEmitter: [{
|
|
64
|
-
type: Output
|
|
65
|
-
}], createOverlayOnInput: [{
|
|
66
|
-
type: Input,
|
|
67
|
-
args: ['openStatus']
|
|
68
|
-
}] }); })();
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLG1CQUFtQjtJQVU5QixZQUFvQixXQUFpQyxFQUFVLE9BQWdCLEVBQVUsZ0JBQWtDO1FBQXZHLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBVG5ILGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFMUIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBT3dFLENBQUM7SUFML0gsSUFBMEIsb0JBQW9CLENBQUMsVUFBVTtRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQUEsQ0FBQztJQUlGLGFBQWEsQ0FBQyxNQUFXO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLElBQUksc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakgsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5RyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDdEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGtDQUFrQztZQUNqRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDM0IsUUFBUSxFQUFFO2dCQUNYLHNEQUFzRDtpQkFDckQsbUJBQW1CLENBQUMsTUFBTSxDQUFDO2lCQUMzQixhQUFhLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO2lCQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckQsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUM7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUM7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7c0ZBN0NVLG1CQUFtQjtzRUFBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FIL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7YUFDNUI7bUhBR29CLFFBQVE7a0JBQTFCLEtBQUs7bUJBQUMsVUFBVTtZQUNQLGFBQWE7a0JBQXRCLE1BQU07WUFFbUIsb0JBQW9CO2tCQUE3QyxLQUFLO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbGliVGltZXBpY2tlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVwaWNrZXJEaXJlY3RpdmUge1xuICBwcml2YXRlIG9wZW5TdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdvcmlnaW5FbCcpIG9yaWdpbkVsIDogYW55O1xuICBAT3V0cHV0KCkgc3RhdHVzRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTsgXG5cbiAgQElucHV0KCdvcGVuU3RhdHVzJykgIHNldCBjcmVhdGVPdmVybGF5T25JbnB1dChvcGVuU3RhdHVzKXtcbiAgICB0aGlzLm9wZW5TdGF0dXMgPSBvcGVuU3RhdHVzO1xuICAgIGlmKHRoaXMub3JpZ2luRWwgJiYgdGhpcy5vcGVuU3RhdHVzKSB0aGlzLmNyZWF0ZU92ZXJsYXkodGhpcy5vcmlnaW5FbCk7XG4gIH07IFxuICBwcml2YXRlIG92ZXJsYXlSZWYhOiBPdmVybGF5UmVmO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxFbGVtZW50PiwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgY3JlYXRlT3ZlcmxheShvcmlnaW46IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtcbiAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKHsgb3JpZ2luWDogXCJzdGFydFwiLCBvcmlnaW5ZOiBcImJvdHRvbVwiIH0sIHsgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNCksXG4gICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcih7IG9yaWdpblg6IFwiZW5kXCIsIG9yaWdpblk6IFwiYm90dG9tXCIgfSwgeyBvdmVybGF5WDogXCJlbmRcIiwgb3ZlcmxheVk6IFwidG9wXCIgfSwgMCwgNClcbiAgICBdO1xuXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogXCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC8vY29ubmVjdGluZyB0aGUgZHJvcGRvd24gb3ZlcmxheSB0byB0aGUgaW5wdXQgZWxlbWVudFxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFsuLi5wb3NpdGlvbnNdKVxuICAgICAgICAud2l0aFB1c2godHJ1ZSlcbiAgICB9KTtcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgY29uc3QgZHJvcGRvd25Qb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKGRyb3Bkb3duUG9ydGFsKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZShyZXNwID0+IHtcbiAgICAgIHRoaXMub3BlblN0YXR1cyA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0dXNFbWl0dGVyLmVtaXQoZmFsc2UpO1xuICAgICAgaWYodGhpcy5vdmVybGF5KXtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveU92ZXJsYXkoKXtcbiAgICBpZih0aGlzLm92ZXJsYXkpe1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIH1cbiAgfVxuICBcbn1cbiJdfQ==
|