@wavemaker/app-ng-runtime 11.13.0-rc.6255 → 11.14.0-rc.6276
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/build-task/bundles/index.umd.js +34 -5
- package/build-task/esm2022/basic/anchor/anchor.build.mjs +15 -0
- package/build-task/esm2022/basic/audio/audio.build.mjs +10 -0
- package/build-task/esm2022/basic/html/html.build.mjs +15 -0
- package/build-task/esm2022/basic/icon/icon.build.mjs +10 -0
- package/build-task/esm2022/basic/iframe/iframe.build.mjs +10 -0
- package/build-task/esm2022/basic/label/label.build.mjs +25 -0
- package/build-task/esm2022/basic/picture/picture.build.mjs +14 -0
- package/build-task/esm2022/basic/spinner/spinner.build.mjs +15 -0
- package/build-task/esm2022/basic/video/video.build.mjs +10 -0
- package/build-task/esm2022/data/form/form-field/form-field.build.mjs +8 -3
- package/build-task/esm2022/data/form/form.build.mjs +8 -1
- package/build-task/esm2022/data/table/table-column/table-column.build.mjs +14 -3
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +2 -2
- package/build-task/esm2022/page/page-content/page-content.build.mjs +8 -2
- package/build-task/esm2022/public_api.mjs +10 -10
- package/build-task/fesm2022/index.mjs +36 -7
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/build-task/package.json +3 -6
- package/build-task/public_api.d.ts +9 -9
- package/components/advanced/carousel/bundles/index.umd.js +33 -38
- package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +16 -16
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +19 -24
- package/components/advanced/carousel/fesm2022/index.mjs +34 -39
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/package.json +0 -3
- package/components/advanced/custom/bundles/index.umd.js +48 -48
- package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
- package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +31 -31
- package/components/advanced/custom/esm2022/custom-widget.directive.mjs +15 -15
- package/components/advanced/custom/fesm2022/index.mjs +45 -45
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- package/components/advanced/custom/package.json +0 -3
- package/components/advanced/login/bundles/index.umd.js +33 -53
- package/components/advanced/login/esm2022/login.component.mjs +26 -47
- package/components/advanced/login/fesm2022/index.mjs +27 -47
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/login.component.d.ts +1 -1
- package/components/advanced/login/package.json +0 -3
- package/components/advanced/marquee/bundles/index.umd.js +19 -19
- package/components/advanced/marquee/esm2022/marquee.directive.mjs +20 -20
- package/components/advanced/marquee/fesm2022/index.mjs +20 -20
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- package/components/advanced/marquee/package.json +0 -3
- package/components/base/bundles/index.umd.js +4272 -4243
- package/components/base/esm2022/pipes/custom-pipes.mjs +14 -12
- package/components/base/esm2022/pipes/wm-pipe.mjs +3 -3
- package/components/base/esm2022/public_api.mjs +1 -2
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +154 -1
- package/components/base/esm2022/widgets/common/container/container.props.mjs +7 -2
- package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +1 -1
- package/components/base/fesm2022/index.mjs +4280 -4251
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/package.json +2 -2
- package/components/base/pipes/custom-pipes.d.ts +4 -2
- package/components/base/pipes/wm-pipe.d.ts +1 -1
- package/components/base/public_api.d.ts +0 -1
- package/components/base/widgets/common/container/container.directive.d.ts +9 -0
- package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +0 -2
- package/components/basic/anchor/bundles/index.umd.js +192 -0
- package/components/basic/anchor/esm2022/anchor.component.mjs +143 -0
- package/components/basic/anchor/esm2022/anchor.props.mjs +27 -0
- package/components/basic/anchor/esm2022/index.mjs +5 -0
- package/components/basic/anchor/esm2022/public_api.mjs +2 -0
- package/components/basic/anchor/fesm2022/index.mjs +175 -0
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
- package/components/basic/{progress → anchor}/index.d.ts +1 -1
- package/components/basic/{default → anchor}/package.json +1 -4
- package/components/basic/anchor/public_api.d.ts +1 -0
- package/components/basic/audio/bundles/index.umd.js +83 -0
- package/components/basic/audio/esm2022/audio.component.mjs +41 -0
- package/components/basic/audio/esm2022/audio.props.mjs +19 -0
- package/components/{input/epoch → basic/audio}/esm2022/index.mjs +1 -1
- package/components/basic/audio/esm2022/public_api.mjs +2 -0
- package/components/basic/audio/fesm2022/index.mjs +65 -0
- package/components/basic/audio/fesm2022/index.mjs.map +1 -0
- package/components/{input/epoch → basic/audio}/index.d.ts +1 -1
- package/components/{input/default → basic/audio}/package.json +2 -5
- package/components/basic/audio/public_api.d.ts +1 -0
- package/components/basic/html/bundles/index.umd.js +110 -0
- package/components/basic/html/esm2022/html.directive.mjs +76 -0
- package/components/basic/html/esm2022/html.props.mjs +12 -0
- package/components/basic/html/esm2022/index.mjs +5 -0
- package/components/basic/html/esm2022/public_api.mjs +2 -0
- package/components/basic/html/fesm2022/index.mjs +93 -0
- package/components/basic/html/fesm2022/index.mjs.map +1 -0
- package/components/basic/{default → html}/index.d.ts +1 -1
- package/components/{input/epoch → basic/html}/package.json +1 -4
- package/components/basic/html/public_api.d.ts +1 -0
- package/components/basic/icon/bundles/index.umd.js +80 -0
- package/components/basic/icon/esm2022/icon.component.mjs +38 -0
- package/components/basic/icon/esm2022/icon.props.mjs +19 -0
- package/components/basic/icon/esm2022/index.mjs +5 -0
- package/components/basic/icon/esm2022/public_api.mjs +2 -0
- package/components/basic/icon/fesm2022/index.mjs +62 -0
- package/components/basic/icon/fesm2022/index.mjs.map +1 -0
- package/components/{input/default → basic/icon}/index.d.ts +1 -1
- package/components/basic/{progress → icon}/package.json +1 -4
- package/components/basic/icon/public_api.d.ts +1 -0
- package/components/basic/iframe/.npmignore +2 -0
- package/components/basic/iframe/bundles/index.umd.js +101 -0
- package/components/basic/iframe/esm2022/iframe.component.mjs +65 -0
- package/components/basic/iframe/esm2022/iframe.props.mjs +15 -0
- package/components/basic/iframe/esm2022/index.mjs +5 -0
- package/components/basic/iframe/esm2022/public_api.mjs +2 -0
- package/components/basic/iframe/fesm2022/index.mjs +84 -0
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
- package/components/basic/iframe/index.d.ts +5 -0
- package/components/basic/iframe/package.json +20 -0
- package/components/basic/iframe/public_api.d.ts +1 -0
- package/components/basic/label/.npmignore +2 -0
- package/components/basic/label/bundles/index.umd.js +109 -0
- package/components/basic/label/esm2022/index.mjs +5 -0
- package/components/basic/label/esm2022/label.directive.mjs +71 -0
- package/components/basic/label/esm2022/label.props.mjs +17 -0
- package/components/basic/label/esm2022/public_api.mjs +2 -0
- package/components/basic/label/fesm2022/index.mjs +93 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -0
- package/components/basic/label/index.d.ts +5 -0
- package/components/basic/{default/label → label}/label.directive.d.ts +1 -1
- package/components/basic/label/package.json +20 -0
- package/components/basic/label/public_api.d.ts +1 -0
- package/components/basic/picture/.npmignore +2 -0
- package/components/basic/picture/bundles/index.umd.js +138 -0
- package/components/basic/{default → picture}/esm2022/index.mjs +1 -1
- package/components/basic/picture/esm2022/picture.directive.mjs +93 -0
- package/components/basic/picture/esm2022/picture.props.mjs +23 -0
- package/components/basic/picture/esm2022/public_api.mjs +2 -0
- package/components/basic/picture/fesm2022/index.mjs +121 -0
- package/components/basic/picture/fesm2022/index.mjs.map +1 -0
- package/components/basic/picture/index.d.ts +5 -0
- package/components/basic/picture/package.json +20 -0
- package/components/basic/picture/public_api.d.ts +1 -0
- package/components/basic/progress/progress-bar/.npmignore +2 -0
- package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
- package/components/basic/progress/progress-bar/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-bar/esm2022/progress-bar.component.mjs +130 -0
- package/components/basic/progress/{esm2022/progress-bar → progress-bar/esm2022}/progress-bar.props.mjs +1 -1
- package/components/basic/progress/progress-bar/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-bar/index.d.ts +5 -0
- package/components/basic/progress/progress-bar/package.json +20 -0
- package/components/basic/progress/progress-bar/public_api.d.ts +1 -0
- package/components/basic/progress/progress-circle/.npmignore +2 -0
- package/components/basic/progress/progress-circle/bundles/index.umd.js +161 -0
- package/components/basic/progress/progress-circle/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +120 -0
- package/components/basic/progress/{esm2022/progress-circle → progress-circle/esm2022}/progress-circle.props.mjs +1 -1
- package/components/basic/progress/progress-circle/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +145 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-circle/index.d.ts +5 -0
- package/components/basic/progress/progress-circle/package.json +20 -0
- package/components/basic/progress/progress-circle/public_api.d.ts +1 -0
- package/components/basic/progress/progress-utils/.npmignore +2 -0
- package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
- package/components/basic/progress/progress-utils/esm2022/index.mjs +5 -0
- package/components/basic/progress/progress-utils/esm2022/progress-utils.mjs +25 -0
- package/components/basic/progress/progress-utils/esm2022/public_api.mjs +2 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
- package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
- package/components/basic/progress/progress-utils/index.d.ts +5 -0
- package/components/basic/progress/progress-utils/package.json +20 -0
- package/components/basic/progress/progress-utils/public_api.d.ts +1 -0
- package/components/basic/rich-text-editor/bundles/index.umd.js +23 -40
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +19 -38
- package/components/basic/rich-text-editor/fesm2022/index.mjs +21 -39
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/package.json +0 -3
- package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
- package/components/basic/search/bundles/index.umd.js +109 -313
- package/components/basic/search/esm2022/scrollable.directive.mjs +13 -14
- package/components/basic/search/esm2022/search.component.mjs +40 -246
- package/components/basic/search/fesm2022/index.mjs +52 -256
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/package.json +0 -3
- package/components/basic/search/scrollable.directive.d.ts +2 -3
- package/components/basic/search/search.component.d.ts +1 -1
- package/components/basic/spinner/.npmignore +2 -0
- package/components/basic/spinner/bundles/index.umd.js +118 -0
- package/components/{input/default → basic/spinner}/esm2022/index.mjs +1 -1
- package/components/basic/spinner/esm2022/public_api.mjs +2 -0
- package/components/basic/spinner/esm2022/spinner.component.mjs +79 -0
- package/components/basic/spinner/esm2022/spinner.props.mjs +20 -0
- package/components/basic/spinner/fesm2022/index.mjs +103 -0
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
- package/components/basic/spinner/index.d.ts +5 -0
- package/components/basic/spinner/package.json +20 -0
- package/components/basic/spinner/public_api.d.ts +1 -0
- package/components/basic/tree/bundles/index.umd.js +34 -38
- package/components/basic/tree/esm2022/tree.component.mjs +31 -36
- package/components/basic/tree/fesm2022/index.mjs +32 -36
- package/components/basic/tree/fesm2022/index.mjs.map +1 -1
- package/components/basic/tree/package.json +0 -3
- package/components/basic/video/.npmignore +2 -0
- package/components/basic/video/bundles/index.umd.js +116 -0
- package/components/basic/video/esm2022/index.mjs +5 -0
- package/components/basic/video/esm2022/public_api.mjs +2 -0
- package/components/basic/video/esm2022/video.component.mjs +70 -0
- package/components/basic/video/esm2022/video.props.mjs +24 -0
- package/components/basic/video/fesm2022/index.mjs +99 -0
- package/components/basic/video/fesm2022/index.mjs.map +1 -0
- package/components/basic/video/index.d.ts +5 -0
- package/components/basic/video/package.json +20 -0
- package/components/basic/video/public_api.d.ts +1 -0
- package/components/chart/bundles/index.umd.js +22 -75
- package/components/chart/esm2022/chart.component.mjs +20 -74
- package/components/chart/fesm2022/index.mjs +21 -74
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/package.json +0 -3
- package/components/containers/accordion/bundles/index.umd.js +45 -100
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +19 -70
- package/components/containers/accordion/esm2022/accordion.directive.mjs +24 -29
- package/components/containers/accordion/fesm2022/index.mjs +43 -98
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/package.json +0 -3
- package/components/containers/layout-grid/bundles/index.umd.js +60 -60
- package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +23 -23
- package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +20 -20
- package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +20 -20
- package/components/containers/layout-grid/fesm2022/index.mjs +61 -61
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- package/components/containers/layout-grid/package.json +0 -3
- package/components/containers/linear-layout/bundles/index.umd.js +38 -38
- package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +20 -20
- package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +20 -20
- package/components/containers/linear-layout/fesm2022/index.mjs +39 -39
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- package/components/containers/linear-layout/package.json +0 -3
- package/components/containers/panel/bundles/index.umd.js +62 -223
- package/components/containers/panel/esm2022/panel.component.mjs +29 -190
- package/components/containers/panel/fesm2022/index.mjs +29 -190
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/package.json +0 -3
- package/components/containers/tabs/bundles/index.umd.js +95 -204
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +34 -51
- package/components/containers/tabs/esm2022/tabs.component.mjs +29 -123
- package/components/containers/tabs/fesm2022/index.mjs +61 -170
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/package.json +0 -3
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -4
- package/components/containers/tile/bundles/index.umd.js +19 -19
- package/components/containers/tile/esm2022/tile.directive.mjs +20 -20
- package/components/containers/tile/fesm2022/index.mjs +20 -20
- package/components/containers/tile/fesm2022/index.mjs.map +1 -1
- package/components/containers/tile/package.json +0 -3
- package/components/containers/wizard/bundles/index.umd.js +119 -302
- package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +21 -21
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +32 -45
- package/components/containers/wizard/esm2022/wizard.component.mjs +30 -201
- package/components/containers/wizard/fesm2022/index.mjs +81 -264
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/package.json +0 -3
- package/components/containers/wizard/wizard.component.d.ts +1 -1
- package/components/data/card/bundles/index.umd.js +108 -208
- package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +15 -15
- package/components/data/card/esm2022/card-content/card-content.component.mjs +19 -34
- package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +15 -15
- package/components/data/card/esm2022/card.component.mjs +21 -107
- package/components/data/card/fesm2022/index.mjs +67 -167
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/card/package.json +0 -3
- package/components/data/form/bundles/index.umd.js +287 -467
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +22 -22
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +80 -91
- package/components/data/form/esm2022/form-widget.directive.mjs +31 -31
- package/components/data/form/esm2022/form.component.mjs +88 -251
- package/components/data/form/esm2022/form.props.mjs +1 -1
- package/components/data/form/esm2022/live-actions/dependson.directive.mjs +19 -24
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +15 -15
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +15 -15
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +23 -25
- package/components/data/form/fesm2022/index.mjs +288 -468
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/package.json +0 -3
- package/components/data/list/bundles/index.umd.js +80 -360
- package/components/data/list/esm2022/list-item.directive.mjs +27 -34
- package/components/data/list/esm2022/list.animator.mjs +1 -1
- package/components/data/list/esm2022/list.component.mjs +55 -330
- package/components/data/list/esm2022/list.props.mjs +1 -1
- package/components/data/list/fesm2022/index.mjs +79 -358
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +3 -3
- package/components/data/list/list.component.d.ts +2 -4
- package/components/data/list/package.json +0 -3
- package/components/data/live-table/bundles/index.umd.js +28 -39
- package/components/data/live-table/esm2022/live-table.component.mjs +25 -37
- package/components/data/live-table/fesm2022/index.mjs +26 -37
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/package.json +0 -3
- package/components/data/pagination/bundles/index.umd.js +33 -505
- package/components/data/pagination/esm2022/pagination.component.mjs +33 -507
- package/components/data/pagination/esm2022/pagination.props.mjs +1 -1
- package/components/data/pagination/fesm2022/index.mjs +32 -505
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/package.json +0 -3
- package/components/data/pagination/pagination.component.d.ts +1 -1
- package/components/data/table/bundles/index.umd.js +310 -457
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +22 -22
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +50 -71
- package/components/data/table/esm2022/table-column/table-column.props.mjs +1 -1
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +26 -26
- package/components/data/table/esm2022/table-cud.directive.mjs +15 -15
- package/components/data/table/esm2022/table-filter.directive.mjs +16 -16
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +24 -24
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +29 -29
- package/components/data/table/esm2022/table.component.mjs +135 -263
- package/components/data/table/esm2022/table.props.mjs +2 -1
- package/components/data/table/fesm2022/index.mjs +312 -459
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/package.json +0 -3
- package/components/data/table/table-column/table-column.directive.d.ts +1 -1
- package/components/data/table/table.component.d.ts +3 -0
- package/components/dialogs/alert-dialog/bundles/index.umd.js +50 -79
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +32 -62
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +32 -61
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/package.json +0 -3
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +36 -72
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +34 -71
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +35 -71
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/package.json +0 -3
- package/components/dialogs/default/bundles/index.umd.js +85 -232
- package/components/dialogs/default/esm2022/base-dialog.mjs +14 -14
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -18
- package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +20 -20
- package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +34 -179
- package/components/dialogs/default/fesm2022/index.mjs +80 -227
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/package.json +0 -3
- package/components/dialogs/design-dialog/bundles/index.umd.js +52 -108
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +50 -107
- package/components/dialogs/design-dialog/fesm2022/index.mjs +51 -107
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/package.json +0 -3
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +33 -81
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +32 -82
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +33 -82
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/package.json +0 -3
- package/components/dialogs/login-dialog/bundles/index.umd.js +22 -29
- package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +23 -30
- package/components/dialogs/login-dialog/fesm2022/index.mjs +23 -30
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/login-dialog/package.json +0 -3
- package/components/dialogs/partial-dialog/bundles/index.umd.js +39 -85
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +38 -85
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +39 -85
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/package.json +0 -3
- package/components/input/base-form/.npmignore +2 -0
- package/components/input/base-form/bundles/index.umd.js +133 -0
- package/components/input/base-form/esm2022/base-form.component.mjs +110 -0
- package/components/input/base-form/esm2022/index.mjs +5 -0
- package/components/input/base-form/esm2022/public_api.mjs +2 -0
- package/components/input/base-form/fesm2022/index.mjs +117 -0
- package/components/input/base-form/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form/index.d.ts +5 -0
- package/components/input/base-form/package.json +20 -0
- package/components/input/base-form/public_api.d.ts +1 -0
- package/components/input/base-form-custom/.npmignore +2 -0
- package/components/input/{default → base-form-custom}/base-form-custom.component.d.ts +1 -1
- package/components/input/base-form-custom/bundles/index.umd.js +118 -0
- package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +94 -0
- package/components/input/base-form-custom/esm2022/index.mjs +5 -0
- package/components/input/base-form-custom/esm2022/public_api.mjs +2 -0
- package/components/input/base-form-custom/fesm2022/index.mjs +101 -0
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
- package/components/input/base-form-custom/index.d.ts +5 -0
- package/components/input/base-form-custom/package.json +20 -0
- package/components/input/base-form-custom/public_api.d.ts +1 -0
- package/components/input/button/.npmignore +2 -0
- package/components/input/button/bundles/index.umd.js +98 -0
- package/components/input/button/esm2022/button.component.mjs +50 -0
- package/components/input/button/esm2022/button.props.mjs +26 -0
- package/components/input/button/esm2022/index.mjs +5 -0
- package/components/input/button/esm2022/public_api.mjs +2 -0
- package/components/input/button/fesm2022/index.mjs +81 -0
- package/components/input/button/fesm2022/index.mjs.map +1 -0
- package/components/input/button/index.d.ts +5 -0
- package/components/input/button/package.json +20 -0
- package/components/input/button/public_api.d.ts +1 -0
- package/components/input/button-group/.npmignore +2 -0
- package/components/input/button-group/bundles/index.umd.js +80 -0
- package/components/input/button-group/esm2022/button-group.directive.mjs +47 -0
- package/components/input/button-group/esm2022/button-group.props.mjs +10 -0
- package/components/input/button-group/esm2022/index.mjs +5 -0
- package/components/input/button-group/esm2022/public_api.mjs +2 -0
- package/components/input/button-group/fesm2022/index.mjs +62 -0
- package/components/input/button-group/fesm2022/index.mjs.map +1 -0
- package/components/input/button-group/index.d.ts +5 -0
- package/components/input/button-group/package.json +20 -0
- package/components/input/button-group/public_api.d.ts +1 -0
- package/components/input/calendar/bundles/index.umd.js +25 -38
- package/components/input/calendar/esm2022/calendar.component.mjs +22 -36
- package/components/input/calendar/fesm2022/index.mjs +23 -36
- package/components/input/calendar/fesm2022/index.mjs.map +1 -1
- package/components/input/calendar/package.json +0 -3
- package/components/input/caption-position/.npmignore +2 -0
- package/components/input/caption-position/bundles/index.umd.js +196 -0
- package/components/input/caption-position/esm2022/caption-position.directive.mjs +172 -0
- package/components/input/caption-position/esm2022/index.mjs +5 -0
- package/components/input/caption-position/esm2022/public_api.mjs +2 -0
- package/components/input/caption-position/fesm2022/index.mjs +178 -0
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
- package/components/input/caption-position/index.d.ts +5 -0
- package/components/input/caption-position/package.json +20 -0
- package/components/input/caption-position/public_api.d.ts +1 -0
- package/components/input/checkbox/.npmignore +2 -0
- package/components/input/checkbox/bundles/index.umd.js +190 -0
- package/components/input/{default/checkbox → checkbox}/checkbox.component.d.ts +1 -1
- package/components/input/checkbox/esm2022/checkbox.component.mjs +145 -0
- package/components/input/checkbox/esm2022/checkbox.props.mjs +27 -0
- package/components/{basic/progress → input/checkbox}/esm2022/index.mjs +1 -1
- package/components/input/checkbox/esm2022/public_api.mjs +2 -0
- package/components/input/checkbox/fesm2022/index.mjs +175 -0
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
- package/components/input/checkbox/index.d.ts +5 -0
- package/components/input/checkbox/package.json +20 -0
- package/components/input/checkbox/public_api.d.ts +1 -0
- package/components/input/checkboxset/.npmignore +2 -0
- package/components/input/checkboxset/bundles/index.umd.js +151 -0
- package/components/input/{default/checkboxset → checkboxset}/checkboxset.component.d.ts +1 -1
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +99 -0
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +35 -0
- package/components/input/checkboxset/esm2022/index.mjs +5 -0
- package/components/input/checkboxset/esm2022/public_api.mjs +2 -0
- package/components/input/checkboxset/fesm2022/index.mjs +138 -0
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
- package/components/input/checkboxset/index.d.ts +5 -0
- package/components/input/checkboxset/package.json +20 -0
- package/components/input/checkboxset/public_api.d.ts +1 -0
- package/components/input/chips/bundles/index.umd.js +94 -153
- package/components/input/chips/chips.component.d.ts +1 -1
- package/components/input/chips/esm2022/chips.component.mjs +41 -101
- package/components/input/chips/fesm2022/index.mjs +42 -101
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/package.json +0 -3
- package/components/input/color-picker/bundles/index.umd.js +35 -74
- package/components/input/color-picker/color-picker.component.d.ts +2 -2
- package/components/input/color-picker/esm2022/color-picker.component.mjs +34 -75
- package/components/input/color-picker/fesm2022/index.mjs +36 -75
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/package.json +0 -3
- package/components/input/composite/.npmignore +2 -0
- package/components/input/composite/bundles/index.umd.js +111 -0
- package/components/input/composite/esm2022/composite.directive.mjs +79 -0
- package/components/input/composite/esm2022/composite.props.mjs +10 -0
- package/components/input/composite/esm2022/index.mjs +5 -0
- package/components/input/composite/esm2022/public_api.mjs +2 -0
- package/components/input/composite/fesm2022/index.mjs +94 -0
- package/components/input/composite/fesm2022/index.mjs.map +1 -0
- package/components/input/composite/index.d.ts +5 -0
- package/components/input/composite/package.json +20 -0
- package/components/input/composite/public_api.d.ts +1 -0
- package/components/input/currency/bundles/index.umd.js +31 -52
- package/components/input/currency/currency.component.d.ts +1 -1
- package/components/input/currency/esm2022/currency.component.mjs +28 -50
- package/components/input/currency/fesm2022/index.mjs +30 -51
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/package.json +0 -3
- package/components/input/dataset-aware-form/.npmignore +2 -0
- package/components/input/dataset-aware-form/bundles/index.umd.js +328 -0
- package/components/input/{default → dataset-aware-form}/dataset-aware-form.component.d.ts +1 -1
- package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +307 -0
- package/components/input/dataset-aware-form/esm2022/index.mjs +5 -0
- package/components/input/dataset-aware-form/esm2022/public_api.mjs +2 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs +314 -0
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
- package/components/input/dataset-aware-form/index.d.ts +5 -0
- package/components/input/dataset-aware-form/package.json +20 -0
- package/components/input/dataset-aware-form/public_api.d.ts +1 -0
- package/components/input/epoch/base-date-time/.npmignore +2 -0
- package/components/input/epoch/{base-date-time.component.d.ts → base-date-time/base-date-time.component.d.ts} +1 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +1086 -0
- package/components/input/epoch/{esm2022 → base-date-time/esm2022}/base-date-time.component.mjs +22 -31
- package/components/input/epoch/base-date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/base-date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +1077 -0
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/base-date-time/index.d.ts +5 -0
- package/components/input/epoch/base-date-time/package.json +20 -0
- package/components/input/epoch/base-date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date/.npmignore +2 -0
- package/components/input/epoch/date/bundles/index.umd.js +492 -0
- package/components/input/epoch/date/date.component.d.ts +2 -2
- package/components/input/epoch/date/esm2022/date.component.mjs +322 -0
- package/components/input/epoch/{esm2022/date → date/esm2022}/date.props.mjs +1 -1
- package/components/input/epoch/{esm2022/date → date/esm2022}/imaskUtil.mjs +1 -1
- package/components/input/epoch/date/esm2022/index.mjs +5 -0
- package/components/input/epoch/date/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date/fesm2022/index.mjs +482 -0
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date/index.d.ts +5 -0
- package/components/input/epoch/date/package.json +20 -0
- package/components/input/epoch/date/public_api.d.ts +1 -0
- package/components/input/epoch/date-time/.npmignore +2 -0
- package/components/input/epoch/date-time/bundles/index.umd.js +518 -0
- package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +458 -0
- package/components/input/epoch/{esm2022/date-time → date-time/esm2022}/date-time.props.mjs +1 -1
- package/components/input/epoch/date-time/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs +509 -0
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time/index.d.ts +5 -0
- package/components/input/epoch/date-time/package.json +20 -0
- package/components/input/epoch/date-time/public_api.d.ts +1 -0
- package/components/input/epoch/date-time-picker/.npmignore +2 -0
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
- package/components/input/epoch/date-time-picker/esm2022/date-time-picker.component.mjs +433 -0
- package/components/input/epoch/date-time-picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/date-time-picker/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/date-time-picker/index.d.ts +5 -0
- package/components/input/epoch/date-time-picker/package.json +20 -0
- package/components/input/epoch/date-time-picker/public_api.d.ts +1 -0
- package/components/input/epoch/picker/.npmignore +2 -0
- package/components/input/epoch/picker/bundles/index.umd.js +192 -0
- package/components/input/epoch/picker/esm2022/index.mjs +5 -0
- package/components/input/epoch/picker/esm2022/picker.component.mjs +165 -0
- package/components/input/epoch/picker/esm2022/public_api.mjs +3 -0
- package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/picker/index.d.ts +5 -0
- package/components/input/epoch/picker/package.json +20 -0
- package/components/input/epoch/picker/public_api.d.ts +2 -0
- package/components/input/epoch/time/.npmignore +2 -0
- package/components/input/epoch/time/bundles/index.umd.js +397 -0
- package/components/input/epoch/time/esm2022/index.mjs +5 -0
- package/components/input/epoch/time/esm2022/public_api.mjs +2 -0
- package/components/input/epoch/time/esm2022/time.component.mjs +348 -0
- package/components/input/epoch/{esm2022/time → time/esm2022}/time.props.mjs +1 -1
- package/components/input/epoch/time/fesm2022/index.mjs +387 -0
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
- package/components/input/epoch/time/index.d.ts +5 -0
- package/components/input/epoch/time/package.json +20 -0
- package/components/input/epoch/time/public_api.d.ts +1 -0
- package/components/input/epoch/time/time.component.d.ts +1 -1
- package/components/input/file-upload/bundles/index.umd.js +56 -348
- package/components/input/file-upload/esm2022/file-upload.component.mjs +20 -313
- package/components/input/file-upload/fesm2022/index.mjs +20 -312
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/package.json +0 -3
- package/components/input/number/.npmignore +2 -0
- package/components/input/number/bundles/index.umd.js +101 -0
- package/components/input/number/esm2022/index.mjs +5 -0
- package/components/input/number/esm2022/number.component.mjs +49 -0
- package/components/input/number/esm2022/number.props.mjs +35 -0
- package/components/input/number/esm2022/public_api.mjs +2 -0
- package/components/input/number/fesm2022/index.mjs +87 -0
- package/components/input/number/fesm2022/index.mjs.map +1 -0
- package/components/input/number/index.d.ts +5 -0
- package/components/input/{default/number → number}/number.component.d.ts +1 -1
- package/components/input/number/package.json +20 -0
- package/components/input/number/public_api.d.ts +1 -0
- package/components/input/radioset/.npmignore +2 -0
- package/components/input/radioset/bundles/index.umd.js +136 -0
- package/components/input/radioset/esm2022/index.mjs +5 -0
- package/components/input/radioset/esm2022/public_api.mjs +2 -0
- package/components/input/radioset/esm2022/radioset.component.mjs +84 -0
- package/components/input/radioset/esm2022/radioset.props.mjs +35 -0
- package/components/input/radioset/fesm2022/index.mjs +123 -0
- package/components/input/radioset/fesm2022/index.mjs.map +1 -0
- package/components/input/radioset/index.d.ts +5 -0
- package/components/input/radioset/package.json +20 -0
- package/components/input/radioset/public_api.d.ts +1 -0
- package/components/input/{default/radioset → radioset}/radioset.component.d.ts +1 -1
- package/components/input/rating/bundles/index.umd.js +49 -103
- package/components/input/rating/esm2022/rating.component.mjs +24 -79
- package/components/input/rating/fesm2022/index.mjs +25 -79
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/package.json +0 -3
- package/components/input/rating/rating.component.d.ts +1 -1
- package/components/input/select/.npmignore +2 -0
- package/components/input/select/bundles/index.umd.js +219 -0
- package/components/input/select/esm2022/index.mjs +5 -0
- package/components/input/select/esm2022/public_api.mjs +2 -0
- package/components/input/select/esm2022/select.component.mjs +166 -0
- package/components/input/select/esm2022/select.props.mjs +36 -0
- package/components/input/select/fesm2022/index.mjs +205 -0
- package/components/input/select/fesm2022/index.mjs.map +1 -0
- package/components/input/select/index.d.ts +5 -0
- package/components/input/select/package.json +20 -0
- package/components/input/select/public_api.d.ts +1 -0
- package/components/input/{default/select → select}/select.component.d.ts +1 -1
- package/components/input/slider/bundles/index.umd.js +44 -111
- package/components/input/slider/esm2022/slider.component.mjs +25 -95
- package/components/input/slider/esm2022/slider.props.mjs +1 -1
- package/components/input/slider/fesm2022/index.mjs +25 -93
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/package.json +0 -3
- package/components/input/slider/slider.component.d.ts +2 -2
- package/components/input/switch/.npmignore +2 -0
- package/components/input/switch/bundles/index.umd.js +204 -0
- package/components/input/switch/esm2022/index.mjs +5 -0
- package/components/input/switch/esm2022/public_api.mjs +2 -0
- package/components/input/switch/esm2022/switch.component.mjs +159 -0
- package/components/input/switch/esm2022/switch.props.mjs +28 -0
- package/components/input/switch/fesm2022/index.mjs +191 -0
- package/components/input/switch/fesm2022/index.mjs.map +1 -0
- package/components/input/switch/index.d.ts +5 -0
- package/components/input/switch/package.json +20 -0
- package/components/input/switch/public_api.d.ts +1 -0
- package/components/input/{default/switch → switch}/switch.component.d.ts +1 -1
- package/components/input/text/.npmignore +2 -0
- package/components/input/{default/text/base → text/base-input}/base-input.d.ts +1 -1
- package/components/input/text/bundles/index.umd.js +1070 -0
- package/components/input/text/esm2022/base-input/base-input.mjs +93 -0
- package/components/input/text/esm2022/index.mjs +5 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +46 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.props.mjs +30 -0
- package/components/input/text/esm2022/input-color/input-color.component.mjs +46 -0
- package/components/input/text/esm2022/input-color/input-color.props.mjs +27 -0
- package/components/input/text/esm2022/input-email/input-email.component.mjs +46 -0
- package/components/input/text/esm2022/input-email/input-email.props.mjs +29 -0
- package/components/input/text/esm2022/input-number/input-number.component.mjs +56 -0
- package/components/input/text/esm2022/input-number/input-number.props.mjs +32 -0
- package/components/input/text/esm2022/input-text/input-text.component.mjs +121 -0
- package/components/input/text/esm2022/input-text/input-text.props.mjs +46 -0
- package/components/input/text/esm2022/number-locale/number-locale.mjs +539 -0
- package/components/input/text/esm2022/public_api.mjs +8 -0
- package/components/input/text/fesm2022/index.mjs +1054 -0
- package/components/input/text/fesm2022/index.mjs.map +1 -0
- package/components/input/text/index.d.ts +5 -0
- package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.component.d.ts +1 -1
- package/components/input/{default/text/color → text/input-color}/input-color.component.d.ts +1 -1
- package/components/input/{default/text/email → text/input-email}/input-email.component.d.ts +1 -1
- package/components/input/{default/text/number → text/input-number}/input-number.component.d.ts +1 -1
- package/components/input/{default/text/text → text/input-text}/input-text.component.d.ts +1 -1
- package/components/input/{default/text/locale → text/number-locale}/number-locale.d.ts +1 -1
- package/components/input/text/package.json +20 -0
- package/components/input/text/public_api.d.ts +7 -0
- package/components/input/textarea/.npmignore +2 -0
- package/components/input/textarea/bundles/index.umd.js +101 -0
- package/components/input/textarea/esm2022/index.mjs +5 -0
- package/components/input/textarea/esm2022/public_api.mjs +2 -0
- package/components/input/textarea/esm2022/textarea.component.mjs +53 -0
- package/components/input/textarea/esm2022/textarea.props.mjs +30 -0
- package/components/input/textarea/fesm2022/index.mjs +87 -0
- package/components/input/textarea/fesm2022/index.mjs.map +1 -0
- package/components/input/textarea/index.d.ts +5 -0
- package/components/input/textarea/package.json +20 -0
- package/components/input/textarea/public_api.d.ts +1 -0
- package/components/input/{default/textarea → textarea}/textarea.component.d.ts +1 -1
- package/components/navigation/breadcrumb/bundles/index.umd.js +37 -79
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +20 -64
- package/components/navigation/breadcrumb/fesm2022/index.mjs +21 -64
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/package.json +0 -3
- package/components/navigation/menu/bundles/index.umd.js +247 -442
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -19
- package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +13 -29
- package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +43 -100
- package/components/navigation/menu/esm2022/menu.component.mjs +53 -104
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +30 -37
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +20 -88
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +14 -14
- package/components/navigation/menu/fesm2022/index.mjs +174 -369
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +2 -3
- package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +3 -3
- package/components/navigation/menu/package.json +0 -3
- package/components/navigation/navbar/bundles/index.umd.js +32 -83
- package/components/navigation/navbar/esm2022/navbar.component.mjs +20 -72
- package/components/navigation/navbar/fesm2022/index.mjs +20 -71
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/package.json +0 -3
- package/components/navigation/popover/bundles/index.umd.js +31 -59
- package/components/navigation/popover/esm2022/popover.component.mjs +29 -58
- package/components/navigation/popover/fesm2022/index.mjs +31 -59
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/package.json +0 -3
- package/components/page/default/bundles/index.umd.js +109 -123
- package/components/page/default/esm2022/content/content.component.mjs +16 -25
- package/components/page/default/esm2022/layout.directive.mjs +21 -21
- package/components/page/default/esm2022/page-content/page-content.component.mjs +16 -23
- package/components/page/default/esm2022/page.directive.mjs +21 -21
- package/components/page/default/esm2022/router-outlet.directive.mjs +20 -20
- package/components/page/default/esm2022/spa-page.directive.mjs +21 -21
- package/components/page/default/fesm2022/index.mjs +111 -125
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/package.json +0 -3
- package/components/page/footer/bundles/index.umd.js +20 -20
- package/components/page/footer/esm2022/footer.directive.mjs +21 -21
- package/components/page/footer/fesm2022/index.mjs +21 -21
- package/components/page/footer/fesm2022/index.mjs.map +1 -1
- package/components/page/footer/package.json +0 -3
- package/components/page/header/bundles/index.umd.js +19 -26
- package/components/page/header/esm2022/header.component.mjs +16 -24
- package/components/page/header/fesm2022/index.mjs +17 -24
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/package.json +0 -3
- package/components/page/left-panel/bundles/index.umd.js +30 -30
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +31 -31
- package/components/page/left-panel/fesm2022/index.mjs +31 -31
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/package.json +0 -3
- package/components/page/right-panel/bundles/index.umd.js +23 -23
- package/components/page/right-panel/esm2022/right-panel.directive.mjs +24 -24
- package/components/page/right-panel/fesm2022/index.mjs +24 -24
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/right-panel/package.json +0 -3
- package/components/page/top-nav/bundles/index.umd.js +20 -20
- package/components/page/top-nav/esm2022/top-nav.directive.mjs +21 -21
- package/components/page/top-nav/fesm2022/index.mjs +21 -21
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/page/top-nav/package.json +0 -3
- package/components/prefab/bundles/index.umd.js +41 -41
- package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +20 -20
- package/components/prefab/esm2022/prefab.directive.mjs +23 -23
- package/components/prefab/fesm2022/index.mjs +42 -42
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/components/prefab/package.json +0 -3
- package/core/bundles/index.umd.js +80 -61
- package/core/esm2022/services/constant.service.mjs +7 -7
- package/core/esm2022/services/custom-icons-loader.service.mjs +7 -7
- package/core/esm2022/services/field-type.service.mjs +7 -7
- package/core/esm2022/services/field-widget.service.mjs +7 -7
- package/core/esm2022/services/pagination.service.mjs +7 -7
- package/core/esm2022/services/script-loader.service.mjs +7 -7
- package/core/esm2022/services/state-persistence.service.mjs +7 -7
- package/core/esm2022/services/user-custom-pipe-manager.service.mjs +7 -7
- package/core/esm2022/services/utils.service.mjs +7 -7
- package/core/esm2022/services/viewport.service.mjs +7 -7
- package/core/esm2022/types/types.mjs +1 -1
- package/core/esm2022/utils/build-utils.mjs +21 -2
- package/core/fesm2022/index.mjs +80 -61
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/package.json +3 -6
- package/core/types/types.d.ts +2 -1
- package/http/bundles/index.umd.js +8 -8
- package/http/esm2022/http.service.mjs +9 -9
- package/http/fesm2022/index.mjs +8 -8
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/package.json +2 -5
- package/locales/moment/ar-dz.js +8 -8
- package/locales/moment/ar-ly.js +8 -8
- package/locales/moment/ar-ps.js +123 -0
- package/locales/moment/ar.js +8 -8
- package/locales/moment/be.js +2 -2
- package/locales/moment/bs.js +14 -4
- package/locales/moment/ca.js +6 -6
- package/locales/moment/cs.js +5 -4
- package/locales/moment/cv.js +2 -2
- package/locales/moment/en-au.js +6 -6
- package/locales/moment/en-ca.js +6 -6
- package/locales/moment/en-gb.js +6 -6
- package/locales/moment/en-ie.js +6 -6
- package/locales/moment/en-il.js +6 -6
- package/locales/moment/en-in.js +6 -6
- package/locales/moment/en-nz.js +6 -6
- package/locales/moment/en-sg.js +6 -6
- package/locales/moment/it.js +4 -4
- package/locales/moment/ku-kmr.js +125 -0
- package/locales/moment/lt.js +2 -2
- package/locales/moment/me.js +2 -2
- package/locales/moment/nb.js +4 -4
- package/locales/moment/nl-be.js +1 -1
- package/locales/moment/nl.js +1 -1
- package/locales/moment/oc-lnc.js +6 -6
- package/locales/moment/ru.js +2 -2
- package/locales/moment/sv.js +6 -6
- package/locales/moment/tet.js +6 -6
- package/locales/moment/tlh.js +8 -8
- package/locales/moment/tzl.js +2 -2
- package/locales/moment/uk.js +4 -4
- package/locales/moment/x-pseudo.js +6 -6
- package/locales/moment-timezone/moment-timezone-with-data.js +2 -2
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +5 -5
- package/oAuth/esm2022/oAuth.service.mjs +6 -6
- package/oAuth/fesm2022/index.mjs +5 -5
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/package.json +2 -5
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +3162 -3100
- package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -0
- package/runtime/base/esm2022/components/app-component/app.component.mjs +14 -95
- package/runtime/base/esm2022/components/app-spinner.component.mjs +34 -45
- package/runtime/base/esm2022/components/base-custom-widget.component.mjs +8 -7
- package/runtime/base/esm2022/components/base-layout.component.mjs +14 -21
- package/runtime/base/esm2022/components/base-page.component.mjs +12 -19
- package/runtime/base/esm2022/components/base-partial.component.mjs +9 -14
- package/runtime/base/esm2022/components/base-prefab.component.mjs +9 -14
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +12 -19
- package/runtime/base/esm2022/components/custom-toaster.component.mjs +30 -52
- package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +33 -15
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +19 -26
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +17 -17
- package/runtime/base/esm2022/directives/prefab.directive.mjs +15 -15
- package/runtime/base/esm2022/guards/auth.guard.mjs +6 -6
- package/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +11 -11
- package/runtime/base/esm2022/guards/page-not-found.guard.mjs +6 -6
- package/runtime/base/esm2022/guards/role.guard.mjs +6 -6
- package/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +12 -12
- package/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +14 -14
- package/runtime/base/esm2022/public_api.mjs +5 -2
- package/runtime/base/esm2022/resolves/app-before-load.resolve.mjs +22 -0
- package/runtime/base/esm2022/resolves/app-extension.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/app-js.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/app-variables.resolve.mjs +9 -9
- package/runtime/base/esm2022/resolves/i18n.resolve.mjs +6 -6
- package/runtime/base/esm2022/resolves/metadata.resolve.mjs +9 -9
- package/runtime/base/esm2022/resolves/security-config.resolve.mjs +9 -9
- package/runtime/base/esm2022/runtime-base.module.mjs +457 -316
- package/runtime/base/esm2022/services/app-defaults.service.mjs +6 -6
- package/runtime/base/esm2022/services/app.manager.service.mjs +25 -9
- package/runtime/base/esm2022/services/app.service.mjs +39 -18
- package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +6 -6
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +6 -6
- package/runtime/base/esm2022/services/i18n.service.mjs +37 -34
- package/runtime/base/esm2022/services/navigation.service.mjs +6 -6
- package/runtime/base/esm2022/services/pipe-provider.service.mjs +13 -13
- package/runtime/base/esm2022/services/pipe.service.mjs +10 -8
- package/runtime/base/esm2022/services/prefab-manager.service.mjs +6 -6
- package/runtime/base/esm2022/services/spinner.service.mjs +6 -6
- package/runtime/base/esm2022/services/toaster.service.mjs +6 -6
- package/runtime/base/esm2022/util/fragment-monitor.mjs +6 -6
- package/runtime/base/esm2022/util/utils.mjs +15 -1
- package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +1 -1
- package/runtime/base/fesm2022/index.mjs +3145 -3071
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/package.json +2 -5
- package/runtime/base/public_api.d.ts +4 -1
- package/runtime/base/resolves/app-before-load.resolve.d.ts +11 -0
- package/runtime/base/runtime-base.module.d.ts +96 -59
- package/runtime/base/services/app.manager.service.d.ts +2 -1
- package/runtime/base/services/app.service.d.ts +3 -2
- package/runtime/base/services/i18n.service.d.ts +2 -1
- package/runtime/base/util/utils.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/app/services/app-variables-provider.service.d.ts +3 -1
- package/runtime/dynamic/bundles/index.umd.js +145 -114
- package/runtime/dynamic/esm2022/app/app.config.mjs +11 -10
- package/runtime/dynamic/esm2022/app/app.module.mjs +35 -5
- package/runtime/dynamic/esm2022/app/app.routes.mjs +2 -11
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +11 -16
- package/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +9 -9
- package/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +9 -9
- package/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +6 -6
- package/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +15 -11
- package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +57 -8
- package/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +6 -6
- package/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +6 -6
- package/runtime/dynamic/fesm2022/index.mjs +143 -88
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/runtime/dynamic/package.json +2 -5
- package/scripts/datatable/datatable.js +26 -5
- package/scripts/jquery-ui/ui/widgets/droppable.js +3 -3
- package/scripts/jquery-ui/ui/widgets/resizable.js +72 -19
- package/scripts/jquery-ui/ui/widgets/sortable.js +9 -16
- package/security/bundles/index.umd.js +5 -5
- package/security/esm2022/security.service.mjs +6 -6
- package/security/fesm2022/index.mjs +5 -5
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/package.json +2 -5
- package/swipey/fesm2022/index.mjs.map +1 -1
- package/swipey/package.json +2 -5
- package/transpiler/build.d.ts +1 -1
- package/transpiler/bundles/index.umd.js +94 -56
- package/transpiler/esm2022/build.mjs +5 -2
- package/transpiler/esm2022/imports.mjs +92 -57
- package/transpiler/fesm2022/index.mjs +94 -56
- package/transpiler/fesm2022/index.mjs.map +1 -1
- package/transpiler/package.json +3 -6
- package/variables/bundles/index.umd.js +20 -10
- package/variables/constants/variables.constants.d.ts +9 -0
- package/variables/esm2022/constants/variables.constants.mjs +10 -1
- package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -6
- package/variables/esm2022/service/variables.service.mjs +6 -6
- package/variables/fesm2022/index.mjs +20 -11
- package/variables/fesm2022/index.mjs.map +1 -1
- package/variables/package.json +2 -5
- package/variables/service/variables.service.d.ts +1 -1
- package/build-task/esm2022/basic/default/anchor/anchor.build.mjs +0 -15
- package/build-task/esm2022/basic/default/audio/audio.build.mjs +0 -10
- package/build-task/esm2022/basic/default/html/html.build.mjs +0 -15
- package/build-task/esm2022/basic/default/icon/icon.build.mjs +0 -10
- package/build-task/esm2022/basic/default/iframe/iframe.build.mjs +0 -10
- package/build-task/esm2022/basic/default/label/label.build.mjs +0 -25
- package/build-task/esm2022/basic/default/picture/picture.build.mjs +0 -14
- package/build-task/esm2022/basic/default/spinner/spinner.build.mjs +0 -15
- package/build-task/esm2022/basic/default/video/video.build.mjs +0 -10
- package/components/base/components.module.d.ts +0 -25
- package/components/base/esm2022/components.module.mjs +0 -152
- package/components/basic/default/bundles/index.umd.js +0 -1036
- package/components/basic/default/esm2022/anchor/anchor.component.mjs +0 -198
- package/components/basic/default/esm2022/anchor/anchor.props.mjs +0 -27
- package/components/basic/default/esm2022/audio/audio.component.mjs +0 -59
- package/components/basic/default/esm2022/audio/audio.props.mjs +0 -19
- package/components/basic/default/esm2022/html/html.directive.mjs +0 -76
- package/components/basic/default/esm2022/html/html.props.mjs +0 -12
- package/components/basic/default/esm2022/icon/icon.component.mjs +0 -70
- package/components/basic/default/esm2022/icon/icon.props.mjs +0 -19
- package/components/basic/default/esm2022/iframe/iframe.component.mjs +0 -85
- package/components/basic/default/esm2022/iframe/iframe.props.mjs +0 -15
- package/components/basic/default/esm2022/label/label.directive.mjs +0 -71
- package/components/basic/default/esm2022/label/label.props.mjs +0 -17
- package/components/basic/default/esm2022/picture/picture.directive.mjs +0 -95
- package/components/basic/default/esm2022/picture/picture.props.mjs +0 -23
- package/components/basic/default/esm2022/public_api.mjs +0 -10
- package/components/basic/default/esm2022/spinner/spinner.component.mjs +0 -130
- package/components/basic/default/esm2022/spinner/spinner.props.mjs +0 -20
- package/components/basic/default/esm2022/video/video.component.mjs +0 -113
- package/components/basic/default/esm2022/video/video.props.mjs +0 -24
- package/components/basic/default/fesm2022/index.mjs +0 -1012
- package/components/basic/default/fesm2022/index.mjs.map +0 -1
- package/components/basic/default/public_api.d.ts +0 -9
- package/components/basic/progress/bundles/index.umd.js +0 -361
- package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +0 -154
- package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +0 -132
- package/components/basic/progress/esm2022/public_api.mjs +0 -3
- package/components/basic/progress/esm2022/utils.mjs +0 -25
- package/components/basic/progress/fesm2022/index.mjs +0 -344
- package/components/basic/progress/fesm2022/index.mjs.map +0 -1
- package/components/basic/progress/public_api.d.ts +0 -2
- package/components/input/default/bundles/index.umd.js +0 -3559
- package/components/input/default/esm2022/base-form-custom.component.mjs +0 -94
- package/components/input/default/esm2022/base-form.component.mjs +0 -110
- package/components/input/default/esm2022/button/button.component.mjs +0 -106
- package/components/input/default/esm2022/button/button.props.mjs +0 -26
- package/components/input/default/esm2022/button-group/button-group.directive.mjs +0 -51
- package/components/input/default/esm2022/button-group/button-group.props.mjs +0 -10
- package/components/input/default/esm2022/caption-position.directive.mjs +0 -172
- package/components/input/default/esm2022/checkbox/checkbox.component.mjs +0 -179
- package/components/input/default/esm2022/checkbox/checkbox.props.mjs +0 -27
- package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +0 -268
- package/components/input/default/esm2022/checkboxset/checkboxset.props.mjs +0 -35
- package/components/input/default/esm2022/composite/composite.directive.mjs +0 -84
- package/components/input/default/esm2022/composite/composite.props.mjs +0 -10
- package/components/input/default/esm2022/dataset-aware-form.component.mjs +0 -307
- package/components/input/default/esm2022/number/number.component.mjs +0 -68
- package/components/input/default/esm2022/number/number.props.mjs +0 -35
- package/components/input/default/esm2022/public_api.mjs +0 -21
- package/components/input/default/esm2022/radioset/radioset.component.mjs +0 -251
- package/components/input/default/esm2022/radioset/radioset.props.mjs +0 -35
- package/components/input/default/esm2022/select/select.component.mjs +0 -230
- package/components/input/default/esm2022/select/select.props.mjs +0 -36
- package/components/input/default/esm2022/switch/switch.component.mjs +0 -227
- package/components/input/default/esm2022/switch/switch.props.mjs +0 -28
- package/components/input/default/esm2022/text/base/base-input.mjs +0 -93
- package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +0 -69
- package/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +0 -30
- package/components/input/default/esm2022/text/color/input-color.component.mjs +0 -69
- package/components/input/default/esm2022/text/color/input-color.props.mjs +0 -27
- package/components/input/default/esm2022/text/email/input-email.component.mjs +0 -68
- package/components/input/default/esm2022/text/email/input-email.props.mjs +0 -29
- package/components/input/default/esm2022/text/locale/number-locale.mjs +0 -539
- package/components/input/default/esm2022/text/number/input-number.component.mjs +0 -79
- package/components/input/default/esm2022/text/number/input-number.props.mjs +0 -32
- package/components/input/default/esm2022/text/text/input-text.component.mjs +0 -145
- package/components/input/default/esm2022/text/text/input-text.props.mjs +0 -46
- package/components/input/default/esm2022/textarea/textarea.component.mjs +0 -85
- package/components/input/default/esm2022/textarea/textarea.props.mjs +0 -30
- package/components/input/default/fesm2022/index.mjs +0 -3529
- package/components/input/default/fesm2022/index.mjs.map +0 -1
- package/components/input/default/public_api.d.ts +0 -20
- package/components/input/epoch/bundles/index.umd.js +0 -3292
- package/components/input/epoch/esm2022/date/date.component.mjs +0 -376
- package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +0 -473
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +0 -563
- package/components/input/epoch/esm2022/picker/picker.component.mjs +0 -184
- package/components/input/epoch/esm2022/public_api.mjs +0 -6
- package/components/input/epoch/esm2022/time/time.component.mjs +0 -432
- package/components/input/epoch/fesm2022/index.mjs +0 -3280
- package/components/input/epoch/fesm2022/index.mjs.map +0 -1
- package/components/input/epoch/public_api.d.ts +0 -5
- /package/build-task/basic/{default/anchor → anchor}/anchor.build.d.ts +0 -0
- /package/build-task/basic/{default/audio → audio}/audio.build.d.ts +0 -0
- /package/build-task/basic/{default/html → html}/html.build.d.ts +0 -0
- /package/build-task/basic/{default/icon → icon}/icon.build.d.ts +0 -0
- /package/build-task/basic/{default/iframe → iframe}/iframe.build.d.ts +0 -0
- /package/build-task/basic/{default/label → label}/label.build.d.ts +0 -0
- /package/build-task/basic/{default/picture → picture}/picture.build.d.ts +0 -0
- /package/build-task/basic/{default/spinner → spinner}/spinner.build.d.ts +0 -0
- /package/build-task/basic/{default/video → video}/video.build.d.ts +0 -0
- /package/components/basic/{default → anchor}/.npmignore +0 -0
- /package/components/basic/{default/anchor → anchor}/anchor.component.d.ts +0 -0
- /package/components/basic/{default/anchor → anchor}/anchor.props.d.ts +0 -0
- /package/components/basic/{progress → audio}/.npmignore +0 -0
- /package/components/basic/{default/audio → audio}/audio.component.d.ts +0 -0
- /package/components/basic/{default/audio → audio}/audio.props.d.ts +0 -0
- /package/components/{input/default → basic/html}/.npmignore +0 -0
- /package/components/basic/{default/html → html}/html.directive.d.ts +0 -0
- /package/components/basic/{default/html → html}/html.props.d.ts +0 -0
- /package/components/{input/epoch → basic/icon}/.npmignore +0 -0
- /package/components/basic/{default/icon → icon}/icon.component.d.ts +0 -0
- /package/components/basic/{default/icon → icon}/icon.props.d.ts +0 -0
- /package/components/basic/{default/iframe → iframe}/iframe.component.d.ts +0 -0
- /package/components/basic/{default/iframe → iframe}/iframe.props.d.ts +0 -0
- /package/components/basic/{default/label → label}/label.props.d.ts +0 -0
- /package/components/basic/{default/picture → picture}/picture.directive.d.ts +0 -0
- /package/components/basic/{default/picture → picture}/picture.props.d.ts +0 -0
- /package/components/basic/progress/{utils.d.ts → progress-utils/progress-utils.d.ts} +0 -0
- /package/components/basic/{default/spinner → spinner}/spinner.component.d.ts +0 -0
- /package/components/basic/{default/spinner → spinner}/spinner.props.d.ts +0 -0
- /package/components/basic/{default/video → video}/video.component.d.ts +0 -0
- /package/components/basic/{default/video → video}/video.props.d.ts +0 -0
- /package/components/input/{default → base-form}/base-form.component.d.ts +0 -0
- /package/components/input/{default/button → button}/button.component.d.ts +0 -0
- /package/components/input/{default/button → button}/button.props.d.ts +0 -0
- /package/components/input/{default/button-group → button-group}/button-group.directive.d.ts +0 -0
- /package/components/input/{default/button-group → button-group}/button-group.props.d.ts +0 -0
- /package/components/input/{default → caption-position}/caption-position.directive.d.ts +0 -0
- /package/components/input/{default/checkbox → checkbox}/checkbox.props.d.ts +0 -0
- /package/components/input/{default/checkboxset → checkboxset}/checkboxset.props.d.ts +0 -0
- /package/components/input/{default/composite → composite}/composite.directive.d.ts +0 -0
- /package/components/input/{default/composite → composite}/composite.props.d.ts +0 -0
- /package/components/input/epoch/{date-time → date-time-picker}/date-time-picker.component.d.ts +0 -0
- /package/components/input/{default/number → number}/number.props.d.ts +0 -0
- /package/components/input/{default/radioset → radioset}/radioset.props.d.ts +0 -0
- /package/components/input/{default/select → select}/select.props.d.ts +0 -0
- /package/components/input/{default/switch → switch}/switch.props.d.ts +0 -0
- /package/components/input/{default/text/calendar → text/input-calendar}/input-calendar.props.d.ts +0 -0
- /package/components/input/{default/text/color → text/input-color}/input-color.props.d.ts +0 -0
- /package/components/input/{default/text/email → text/input-email}/input-email.props.d.ts +0 -0
- /package/components/input/{default/text/number → text/input-number}/input-number.props.d.ts +0 -0
- /package/components/input/{default/text/text → text/input-text}/input-text.props.d.ts +0 -0
- /package/components/input/{default/textarea → textarea}/textarea.props.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/epoch/src/picker/picker.component.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time-picker.component.ts","../../../../../projects/components/widgets/input/epoch/src/base-date-time.component.ts","../../../../../projects/components/widgets/input/epoch/src/date/date.props.ts","../../../../../projects/components/widgets/input/epoch/src/date/imaskUtil.ts","../../../../../projects/components/widgets/input/epoch/src/date/date.component.html","../../../../../projects/components/widgets/input/epoch/src/date/date.component.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.props.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.component.html","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.component.ts","../../../../../projects/components/widgets/input/epoch/src/time/time.props.ts","../../../../../projects/components/widgets/input/epoch/src/time/time.component.html","../../../../../projects/components/widgets/input/epoch/src/time/time.component.ts","../../../../../projects/components/widgets/input/epoch/src/index.ts"],"sourcesContent":["import { WmComponentsModule } from \"@wm/components/base\";\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Inject, Injector, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\n\ndeclare const $;\n\n@Component({\n standalone: true,\n imports: [WmComponentsModule],\n selector: 'wm-pickergroup',\n template: `\n <div class=\"app-picker-group\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class PickerGroupComponent {\n\n}\n\n@Component({\n selector: 'wm-picker',\n standalone: true,\n template: `\n <div class=\"app-picker\">\n <div class=\"app-picker-option-container\">\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n @for (option of options; track option; let i = $index) {\n <div class=\"app-picker-option\">\n {{option.label}}\n </div>\n }\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n </div>\n <div class=\"app-picker-ruler\"></div>\n </div>\n `\n})\nexport class PickerComponent implements AfterViewInit {\n\n public $el;\n\n private pickerAnimator;\n\n @Output() change = new EventEmitter<{\n label: string,\n value?: any\n }>();\n\n private _selectedIndex = 0;\n\n private _selectedValue: any;\n\n private _options: Array<{label: string, value?: any}> = [];\n\n noOfEmptyElements = 2;\n\n constructor(protected inj: Injector) {\n this.$el = $(inj.get(ElementRef).nativeElement);\n }\n\n @Input()\n set selectedValue(s: string) {\n this._selectedValue = s;\n this.reRender();\n }\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n @Input()\n set options(opts: Array<{label: string, value?: any}>) {\n this._options = opts.map(o => ({\n label: o.label,\n value: o.value !== undefined ? o.value : o.label\n }));\n this.reRender();\n }\n\n get options() {\n return this._options;\n }\n\n reRender() {\n this._selectedIndex = this.options.findIndex(o => o.value === this.selectedValue);\n this.pickerAnimator?.select(this._selectedIndex + this.noOfEmptyElements);\n }\n\n set selectedIndex(i: number) {\n this._selectedIndex = i;\n this._selectedValue = this.options[i].value;\n this.change.emit(this.options[i]);\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n ngAfterViewInit(): void {\n this.pickerAnimator = new PickerAnimator(this);\n }\n\n}\n\nclass PickerAnimator {\n\n constructor(private picker: PickerComponent) {\n let lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n const computeIndex = (d: number) => lastSelectedIndex + Math.floor(d / 16);\n this.select(lastSelectedIndex);\n this.getElement().swipey({\n 'direction': $.fn.swipey.DIRECTIONS.VERTICAL,\n 'threshold': 10,\n 'target': picker.$el,\n 'onSwipe': (e, data) => {\n this.select(computeIndex(-1 * data.length));\n },\n 'onSwipeEnd': (e, data) => {\n const nextSelectedIndex = computeIndex(-1 * data.length);\n this.select(nextSelectedIndex);\n lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n }\n });\n }\n\n getElement() {\n return this.picker.$el.find('.app-picker-option-container:first');\n }\n\n getOptionElements() {\n return this.getElement().find('.app-picker-option');\n }\n\n select(selectedIndex: number) {\n const options = this.getOptionElements();\n if (selectedIndex < this.picker.noOfEmptyElements\n || selectedIndex >= options.length - this.picker.noOfEmptyElements) {\n return;\n }\n this.getElement()\n .find('.app-picker-option.app-picker-option-selected')\n .removeClass('app-picker-option-selected');\n options.eq(selectedIndex).addClass('app-picker-option-selected');\n this.picker.selectedIndex = selectedIndex - this.picker.noOfEmptyElements;\n const minIndex = selectedIndex - this.picker.noOfEmptyElements;\n const maxIndex = selectedIndex + this.picker.noOfEmptyElements;\n options.each((i, e) => {\n if (i >= minIndex && i <= maxIndex) {\n const rotation = (i - selectedIndex) * 30;\n const opacity = 1 - Math.abs(i - selectedIndex) * 0.3;\n $(e).css({\n transform : 'perspective(500px) rotateX(' + rotation + 'deg)',\n opacity: opacity\n }).show();\n } else {\n $(e).hide();\n }\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { WmComponentsModule } from \"@wm/components/base\";\nimport { AfterViewInit, Component, EventEmitter, Injector, Input, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { BsDatepickerConfig, BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { App } from '@wm/core';\nimport {filter} from \"lodash-es\";\nimport { PickerGroupComponent, PickerComponent } from \"../picker/picker.component\";\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\ndeclare const $;\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\n\n@Component({\n standalone: true,\n imports: [CommonModule, WmComponentsModule, BsDatepickerModule, BsDropdownModule],\n selector: 'wm-datetimepicker',\n template: `\n <ng-template #datetimepickerTemplate>\n <div class=\"app-datetime-picker\">\n <div class=\"modal-body\">\n <div class=\"mobile-datetime-picker-options\">\n \n </div>\n @if (mode === 'DATE_TIME' || mode === 'DATE') {\n <bs-datepicker-inline\n [bsConfig]=\"bsDatepickerConfig\"\n [datesDisabled]=\"excludedDatesToDisable\"\n bsDatepicker\n [bsValue]=\"changedValue\"\n (bsValueChange)=\"onDateUpdate($event)\"\n >\n </bs-datepicker-inline>\n }\n @if (mode === 'DATE_TIME' || mode === 'TIME') {\n <wm-timepicker\n [value]=\"changedValue\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n (change)=\"onTimeUpdate($event)\"\n ></wm-timepicker>\n }\n <span class=\"text-primary date-picker-value\">\n {{getDateLabel()}}\n </span>\n </div>\n <div class=\"modal-footer\">\n @if (mode === 'DATE_TIME' || mode === 'DATE') {\n <button\n class=\"btn btn-secondary today-btn\"\n (click)=\"setToday()\">{{appLocale.LABEL_TODAY_DATE || \"Today\" }}</button>\n }\n @if (mode === 'DATE_TIME' || mode === 'TIME') {\n <button\n class=\"btn btn-primary pull-right ok-btn\"\n (click)=\"onOkClick()\">{{appLocale.LABEL_OK || \"Ok\" }}</button>\n }\n <button\n class=\"btn btn-secondary pull-right clear-btn\"\n (click)=\"clear()\">{{appLocale.LABEL_CLEAR_DATE || \"Clear\" }}</button>\n </div>\n </div>\n </ng-template>\n `\n})\nexport class DateTimePickerComponent implements AfterViewInit, OnDestroy {\n\n private isDateOpen = true;\n\n private isTimeOpen = false;\n\n private appLocale: any;\n\n @ViewChild('datetimepickerTemplate' , { static: true }) datetimepickerTemplate: TemplateRef<any>;\n\n @Input()\n private mode: 'DATE' | 'TIME' | 'DATE_TIME' = 'DATE_TIME';\n\n @Input()\n private placement: 'MODAL' | 'INLINE' = 'MODAL';\n\n @Input(\"config\")\n private _bsDatepickerConfig: BsDatepickerConfig;\n\n @Input()\n private minTime: Date;\n\n @Input()\n private maxTime: Date;\n\n @Input()\n private _displayFormat: string;\n\n @Output() change = new EventEmitter<Date>();\n\n private _value = new Date();\n\n private changedValue = null;\n\n private modalRef: BsModalRef;\n\n @Input()\n private excludedDatesToDisable;\n\n constructor(\n protected inj: Injector,\n private bsModalService: BsModalService) {\n this.appLocale = inj.get(App).appLocale || {};\n }\n\n @Input()\n set value(d: Date) {\n d = d || new Date();\n this._value = d;\n this.changedValue = d;\n }\n\n\n @Input(\"config\")\n set bsDatepickerConfig(config: BsDatepickerConfig) {\n this._bsDatepickerConfig = config;\n this._bsDatepickerConfig.showClearButton = false;\n this._bsDatepickerConfig.showTodayButton = false;\n }\n\n @Input()\n set excludedDaysToDisable(v: number[]) {\n this._bsDatepickerConfig.daysDisabled = v;\n }\n\n get bsDatepickerConfig() {\n return this._bsDatepickerConfig;\n }\n\n @Input()\n set displayFormat(format: string) {\n if (format) {\n this._displayFormat = format.replace(/y/g, \"Y\").replace(/d/g, \"D\").replace(\"a\", \"A\");\n }\n }\n\n validateSelectedDate() {\n if (!this.changedValue) {\n return true;\n }\n const cd = moment(this.changedValue);\n const minDate = this._bsDatepickerConfig?.minDate;\n const maxDate = this._bsDatepickerConfig?.maxDate;\n if (minDate\n && ((this.mode === 'DATE'\n && moment(minDate).startOf('day').toDate() > this.changedValue)\n || (this.mode !== 'DATE'\n && minDate > this.changedValue))) {\n return false;\n }\n if (maxDate\n && ((this.mode === 'DATE'\n && moment(maxDate).endOf('day').toDate() < this.changedValue)\n || (this.mode !== 'DATE'\n && maxDate < this.changedValue))) {\n return false;\n }\n if (this._bsDatepickerConfig?.daysDisabled?.indexOf(cd.day()) >= 0) {\n return false;\n }\n const cdSt = cd.startOf('day').toDate().getTime();\n if (this.excludedDatesToDisable?.find(d => d.getTime() === cdSt)) {\n return false;\n }\n return true;\n }\n\n get displayFormat() {\n if (this._displayFormat) {\n return this._displayFormat;\n }\n }\n /**\n * This method is used to highlight the current date\n */\n private hightlightToday() {\n const toDay = new Date().getDate().toString();\n filter($(`body > modal-container .date-picker-modal span:contains(${toDay})`)\n .not('.is-other-month,.current-date'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n\n private hideOnClick() {\n $('body>modal-container .date-picker-modal .app-datetime-picker')\n .click(($event) => $event.stopPropagation());\n $('body>modal-container .date-picker-modal').click(() => this.onCancelClick());\n }\n\n getDateLabel() {\n return moment(this.changedValue).format(this.displayFormat);\n }\n\n openDatePicker() {\n this.isTimeOpen = false;\n this.isDateOpen = true;\n }\n\n openTimePicker() {\n this.isTimeOpen = true;\n this.isDateOpen = false;\n }\n\n public onDateUpdate(newVal) {\n const oldVal = this.changedValue;\n if (this.mode === 'DATE') {\n newVal.setHours(0);\n newVal.setMinutes(0);\n newVal.setSeconds(0);\n newVal.setMilliseconds(0);\n } else if (oldVal && newVal) {\n newVal.setHours(oldVal.getHours());\n newVal.setMinutes(oldVal.getMinutes());\n newVal.setSeconds(oldVal.getSeconds());\n newVal.setMilliseconds(oldVal.getMilliseconds());\n }\n this.changedValue = newVal;\n if (this.mode === 'DATE'\n && oldVal !== newVal\n && this.validateSelectedDate()) {\n this.onOkClick();\n }\n }\n\n public onTimeUpdate(newVal) {\n this.changedValue = newVal;\n }\n\n show() {\n this.reset();\n this.modalRef = this.bsModalService.show(this.datetimepickerTemplate, {\n animated: true,\n backdrop: 'static',\n class: 'date-picker-modal modal-dialog-centered'\n });\n setTimeout(() => { this.hideOnClick()}, 500);\n }\n\n clear() {\n this.changedValue = null;\n this.triggerChange();\n this.hideModal();\n }\n\n setToday() {\n const today = moment().startOf('day').toDate();\n this.onDateUpdate(today);\n }\n\n reset() {\n this.changedValue = this._value;\n }\n\n hideModal() {\n if (this.modalRef?.id) {\n this.bsModalService.hide(this.modalRef.id);\n }\n }\n\n onCancelClick() {\n this.changedValue = this._value;\n this.hideModal();\n }\n\n onOkClick() {\n if (this.validateSelectedDate()) {\n this.triggerChange();\n }\n this.hideModal();\n }\n\n triggerChange() {\n if (this.value !== this.changedValue) {\n this.change.emit(this.changedValue);\n }\n }\n\n ngAfterViewInit(): void {\n\n }\n\n ngOnDestroy(): void {\n this.hideModal();\n }\n\n}\n\n\n@Component({\n selector: 'wm-timepicker',\n standalone: true,\n template: `\n <wm-pickergroup>\n <wm-picker\n [options]=\"options.hour\"\n [selectedValue]=\"hour\"\n (change)=\"set($event, 'HOUR')\"></wm-picker>\n <span class=\"app-time-separator\">:</span>\n <wm-picker\n [options]=\"options.minute\"\n [selectedValue]=\"minute\"\n (change)=\"set($event, 'MINUTE')\"></wm-picker>\n <span class=\"app-time-separator\">:</span>\n <wm-picker\n [options]=\"options.minute\"\n [selectedValue]=\"second\"\n (change)=\"set($event, 'SECOND')\"></wm-picker>\n </wm-pickergroup>\n `,\n imports: [PickerGroupComponent, PickerComponent]\n})\nexport class TimePickerComponent implements AfterViewInit {\n\n options = {\n hour: [],\n minute: [],\n second: [],\n meridian: ['AM', 'PM']\n };\n\n @Input()\n private value = new Date();\n\n @Input()\n private min: Date = null;\n\n @Input()\n private max: Date = null;\n\n @Output() change = new EventEmitter<Date>();\n\n constructor(\n protected inj: Injector) {\n this.options.hour = this.populateNumbers(0, 23);\n this.options.minute = this.populateNumbers(0, 59);\n this.options.second = this.populateNumbers(0, 59);\n }\n\n private populateNumbers(start: number, to: number) {\n const arr = [];\n for(let i = start; i <= to; i++) {\n arr.push({\n label: (i < 10 ? '0' : '') + i,\n value: i\n })\n }\n return arr;\n }\n\n set({index, value}, unit: 'HOUR' | 'MINUTE' | 'SECOND' | 'MERIDIAN') {\n if (unit === 'HOUR') {\n this.value = moment(this.value).hour(parseInt(value)).toDate();\n } else if (unit === 'MINUTE') {\n this.value = moment(this.value).minute(parseInt(value)).toDate();\n } else if (unit === 'SECOND') {\n this.value = moment(this.value).second(parseInt(value)).toDate();\n } else if (unit === 'MERIDIAN') {\n this.value = moment(this.value).minute(value).toDate();\n }\n if (this.min && this.value < this.min) {\n this.value = this.min;\n }\n if (this.max && this.value > this.max) {\n this.value = this.max;\n }\n this.change.emit(this.value);\n }\n\n get hour() {\n return moment(this.value).hour();\n }\n\n get minute() {\n return moment(this.value).minute();\n }\n\n get second() {\n return moment(this.value).second();\n }\n\n get meridian() {\n return 'AM';\n }\n\n public onDateUpdate(newVal) {\n debugger;\n }\n\n ngAfterViewInit(): void {\n\n }\n\n}\n","import {AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\nimport {AbstractControl, Validator} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\nimport {BsDropdownDirective} from 'ngx-bootstrap/dropdown';\nimport {TimepickerComponent, TimepickerConfig} from 'ngx-bootstrap/timepicker';\nimport {\n AbstractI18nService,\n getDateObj,\n getFormattedDate,\n getNativeDateObject,\n isIos,\n isMobile,\n setAttr\n} from '@wm/core';\n\nimport {getContainerTargetClass, ToDatePipe} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input';\nimport {BsDatepickerConfig, BsDatepickerDirective} from 'ngx-bootstrap/datepicker';\nimport {DateTimePickerComponent} from './date-time//date-time-picker.component';\nimport {filter, forEach, get, includes, isNaN as _isNaN, isString, isUndefined, parseInt, split} from \"lodash-es\";\n\ndeclare const $;\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst DATEPICKER_DROPDOWN_OPTIONS = {\n BUTTON: 'button',\n DEFAULT: 'default'\n};\nconst DATAENTRYMODE_DROPDOWN_OPTIONS = {\n PICKER: 'picker',\n DEFAULT: 'default'\n};\n\n// Providing meridians to the timepicker baesd on selected locale\nexport function getTimepickerConfig(i18nService): TimepickerConfig {\n return Object.assign(new TimepickerConfig(), {\n meridians: [i18nService.getLocalizedMessage(\"LABEL_AM\")||\"AM\",i18nService.getLocalizedMessage(\"LABEL_PM\")||\"PM\"]\n });\n}\n\n@Directive()\nexport abstract class BaseDateTimeComponent extends BaseFormCustomComponent implements AfterViewInit, OnDestroy, Validator {\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public readonly: boolean;\n public placeholder: string;\n public shortcutkey: string;\n public _triggeredByUser: boolean;\n\n public excludedays: string;\n public excludedDaysToDisable: Array<number>;\n public excludedDatesToDisable: Array<Date>;\n public excludedates;\n public outputformat;\n public mindate;\n public maxdate;\n public dataentrymode;\n protected activeDate;\n private elementScope;\n public viewmode;\n public datepattern;\n public timepattern;\n protected showseconds: boolean;\n protected ismeridian: boolean;\n protected meridians: any;\n protected datePipe;\n protected i18nService;\n public isReadOnly = false;\n protected selectedLocale: string;\n public selectfromothermonth: boolean;\n public todaybutton: boolean;\n public clearbutton: boolean;\n public removeKeyupListener;\n public loadNativeDateInput;\n public showcustompicker;\n public next;\n public prev;\n public clicked = false;\n public showampmbuttons=true;\n protected dateNotInRange: boolean;\n protected timeNotInRange: boolean;\n protected invalidDateTimeFormat: boolean;\n\n public am:string;\n public pm: string;\n private dateOnShowSubscription: Subscription;\n private cancelLocaleChangeSubscription;\n public get timeZone() { return this.inj.get(AbstractI18nService).getTimezone(this); }\n\n formatsByLocale = {'timezone': ''};\n\n /**\n * Safely replace internal meridians with localized display meridians only for string values\n */\n protected safeReplaceMeridians(value: any) {\n if (typeof value === 'string') {\n return value.replace(this.meridians[0], this.am).replace(this.meridians[1], this.pm);\n }\n return value;\n }\n\n /**\n * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker\n */\n public _dateOptions: BsDatepickerConfig = new BsDatepickerConfig();\n protected bsDatePickerDirective: BsDatepickerDirective;\n\n @ViewChild(BsDropdownDirective) protected bsDropdown;\n @ViewChild(TimepickerComponent) protected bsTimePicker;\n @ViewChild(DateTimePickerComponent) datetimepickerComponent;\n private validateType: string;\n containerTarget: string;\n\n constructor(inj: Injector, WIDGET_CONFIG, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.i18nService = this.inj.get(AbstractI18nService);\n this.invokeEventCallback('beforeload');\n\n this.datePipe = this.inj.get(ToDatePipe);\n this.selectedLocale = this.i18nService.getSelectedLocale();\n this._dateOptions.todayPosition = 'left';\n this._dateOptions.clearPosition = 'right';\n this.meridians = getLocaleDayPeriods(this.selectedLocale, FormStyle.Format, TranslationWidth.Abbreviated);\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n this.am=this.i18nService.getLocalizedMessage(\"LABEL_AM\")||\"AM\";\n this.pm=this.i18nService.getLocalizedMessage(\"LABEL_PM\")||\"PM\";\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (locale) => {\n this.datePipe.datePipe.locale = locale.angular;\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage('LABEL_TODAY_DATE');\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage('LABEL_CLEAR_DATE');\n });\n }\n\n\n /**\n * returns true if the input value is default (i.e open date picker on input click)\n * @param1 dropdownvalue, user selected value (by default datepicker opens on input click)\n * **/\n protected isDropDownDisplayEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATEPICKER_DROPDOWN_OPTIONS.DEFAULT;\n }\n\n /**\n * returns true if the input value is default (i.e Data entry can be done either by selecting from the Date/DateTime/Time Picker or by entering manually using the keyboard. )\n * @param1 dropdownvalue, user selected value\n * **/\n protected isDataEntryModeEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATAENTRYMODE_DROPDOWN_OPTIONS.DEFAULT;\n }\n /**\n * This method is used to show validation message depending on the isNativePicker flag.\n */\n private showValidation($event, displayValue, isNativePicker, msg) {\n if (isNativePicker) {\n console.warn('min max date validation failed ', msg);\n return $($event.target).val(displayValue);\n }\n }\n\n resetDisplayInput() {\n $(this.nativeElement).find('.display-input').val('');\n }\n\n public validate(c: AbstractControl) {\n if (this.invalidDateTimeFormat) {\n return {\n invalidDateTimeFormat: {\n valid: false\n }\n };\n }\n if (!isUndefined(this.dateNotInRange) && this.dateNotInRange) {\n return {\n dateNotInRange: {\n valid: false\n },\n };\n }\n if (!isUndefined(this.timeNotInRange) && this.timeNotInRange) {\n return {\n timeNotInRange: {\n valid: false\n },\n };\n }\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return !!c.value ? null : { required: true };\n }\n this.validateType = '';\n return null;\n }\n\n /**\n * This method is used to validate date pattern and time pattern\n * If user selects one pattern in design time and if he tries to enter the date in another pattern then the device is throwing an error\n */\n protected formatValidation(newVal, inputVal, isNativePicker?: boolean) {\n const pattern = this.datepattern || this.timepattern;\n const timeZone = this.timeZone;\n const formattedDate = getFormattedDate(this.datePipe, newVal, pattern, timeZone, null, null, this);\n inputVal = inputVal.trim();\n if (inputVal) {\n if (pattern === 'timestamp') {\n if (!_isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n } else {\n if (isNativePicker) {\n // format the date value only when inputVal is obtained from $event.target.value, as the format doesnt match.\n inputVal = getFormattedDate(this.datePipe, inputVal, pattern, timeZone);\n }\n if (inputVal?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n }\n\n }\n return true;\n }\n\n /**\n * This method is used to validate min date, max date, exclude dates and exclude days\n * In mobile if invalid dates are entered, device is showing an alert.\n * In web if invalid dates are entered, device is showing validation message.\n */\n protected minDateMaxDateValidationOnInput(newVal, $event?: Event, displayValue?: string, isNativePicker?: boolean) {\n if (newVal) {\n const dateTimeVal = newVal;\n newVal = moment(newVal).startOf('day').toDate();\n const minDate = moment(getDateObj(this.mindate)).startOf('day').toDate();\n const maxDate = moment(getDateObj(this.maxdate)).startOf('day').toDate();\n if (this.mindate && newVal < minDate) {\n const msg = `${this.appLocale.LABEL_MINDATE_VALIDATION_MESSAGE} ${this.mindate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, minDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'mindate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.maxdate && newVal > maxDate) {\n const msg = `${this.appLocale.LABEL_MAXDATE_VALIDATION_MESSAGE} ${this.maxdate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, maxDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'maxdate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.excludedates) {\n let excludeDatesArray;\n if (isString(this.excludedates)) {\n excludeDatesArray = split(this.excludedates, ',');\n } else {\n excludeDatesArray = this.excludedates;\n }\n excludeDatesArray = excludeDatesArray.map(d => getFormattedDate(this.datePipe, d, this.datepattern, this.timeZone, null, null, this));\n if (excludeDatesArray.indexOf(getFormattedDate(this.datePipe, dateTimeVal, this.datepattern, this.timeZone, null, null, this)) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedates';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n if (this.excludedays) {\n const excludeDaysArray = split(this.excludedays, ',');\n const day = get(dateTimeVal, 'getDay') ? dateTimeVal.getDay() : dateTimeVal;\n if (excludeDaysArray.indexOf(day.toString()) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedays';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n }\n\n if (!isNativePicker) {\n this.dateNotInRange = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n }\n\n /**\n * This method is used to highlight the current date\n */\n protected hightlightToday(newDate) {\n if(this.datavalue) return;\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const month = new Date(newDate).toLocaleString('default', { month: 'long' });\n const year = newDate.getFullYear().toString();\n if(activeMonth == month && activeYear == new Date().getFullYear() && newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n const toDay = new Date().getDate().toString();\n filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n }\n\n /**\n * This method is used to find the new date is from another year or not\n * @param newDate - newly selected date value\n */\n private isOtheryear(newDate) {\n return (newDate.getMonth() === 0 && this.activeDate.getMonth() === 11) || (newDate.getMonth() === 11 && this.activeDate.getMonth() === 0);\n }\n\n public showDatePickerModal(bsDataValue) {\n this.activeDate = bsDataValue || new Date();\n this.setNextData(this.activeDate);\n this.datetimepickerComponent.show();\n setTimeout(() => {\n this.addDatepickerMouseEvents();\n this.setActiveDateFocus(this.activeDate, true);\n }, 500);\n return ;\n }\n\n /**\n * This method is used to load other month days or other month or other year\n * @param btnClass - class(previous/next) of the button which we have to click\n * @param timePeriod - String value decides to load other month days or other month or other year\n */\n private goToOtherMonthOryear(btnClass, timePeriod) {\n const $node = $(`.bs-datepicker-head .${btnClass}`);\n if ($node.attr('disabled')) {\n return;\n }\n $node.trigger('click');\n if (timePeriod === 'days') {\n this.loadDays();\n } else if (timePeriod === 'month') {\n this.loadMonths();\n } else if (timePeriod === 'year') {\n this.loadYears();\n }\n }\n\n /**\n * This method is used to set focus for active day\n * @param newDate - newly selected date value\n * @param isMouseEvent - boolean value represents the event is mouse event/ keyboard event\n * @param fromKeyboardEvents\n */\n private setActiveDateFocus(newDate, isMouseEvent?: boolean, fromKeyboardEvents?: boolean) {\n this.setNextData(newDate);\n this.clicked = false;\n const activeMonth = this.activeDate.getMonth();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getMonth() < activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('next', 'days') : this.goToOtherMonthOryear('previous', 'days');\n } else if (newDate.getMonth() > activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('previous', 'days') : this.goToOtherMonthOryear('next', 'days');\n }\n }\n setTimeout(() => {\n const newDay = newDate.getDate().toString();\n filter($(`span:contains(${newDay})`).not('.is-other-month'), (obj) => {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const monthName = new Date().toLocaleString('default', { month: 'long' });\n if ($(obj).text() === newDay) {\n if ($(obj).hasClass('selected')) {\n $(obj).parent().attr('aria-selected', 'true');\n }\n $(obj).attr('aria-label', moment(newDate).format('dddd, MMMM Do YYYY'));\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '-1');\n $(obj).attr('tabindex', '0');\n $(obj).focus();\n this.activeDate = newDate;\n }\n });\n if (newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n this.hightlightToday(newDate);\n }\n });\n\n }\n\n private getMonth(date, inc) {\n const currentMonth = new Date(date);\n\n let month = currentMonth.getMonth();\n const year = currentMonth.getFullYear();\n\n month += inc;\n\n const newDate = new Date(year, month);\n\n const fullMonth = newDate.toLocaleString('en-US', { month: 'long' });\n\n return {\n date: newDate,\n fullMonth: fullMonth\n };\n }\n\n /**\n * This method sets focus for months/days depending on the loaded datepicker table\n */\n private setFocusForMonthOrDay() {\n const activeMonthOrYear = $(`.bs-datepicker-head .current`).first().text();\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n if (parseInt(activeMonthOrYear) !== this.activeDate.getFullYear()) {\n this.loadMonths();\n }\n const newDate = new Date(parseInt(activeMonthOrYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n const newMonth = months.indexOf(activeMonthOrYear);\n if (newMonth !== this.activeDate.getMonth()) {\n this.loadDays();\n }\n const newDate = new Date(this.activeDate.getFullYear(), newMonth, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years depending on the loaded datepicker table\n */\n private setFocusForCurrentMonthOryear() {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n this.setActiveYearFocus(this.activeDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years/days depending on the loaded datepicker table\n */\n private setFocusForDate(count) {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n const newDate = new Date(this.activeDate.getFullYear() + count, 0, this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n const startYear = datePickerBody.find('table.years span').first().text();\n const newDate = new Date(parseInt(startYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveYearFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n this.loadDays();\n const [monthText, yearText] = $('.bs-datepicker-head .current').map((_, el) => $(el).text().trim()).get();\n const monthIndex = new Date(`${monthText} 1, ${yearText}`).getMonth();\n const year = parseInt(yearText, 10);\n const inMonth = (d: Date) => d.getFullYear() === year && d.getMonth() === monthIndex;\n let newDate = this.mindate && inMonth(new Date(this.mindate)) ? new Date(this.mindate) : this.maxdate && inMonth(new Date(this.maxdate)) ? new Date(this.maxdate) : new Date(year, monthIndex, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method is used to add keyboard events while opening the date picker\n * @param scope - scope of the date/datetime widget\n * @param isDateTime - boolean value represents the loaded widget is date or datetime\n */\n protected addDatepickerKeyboardEvents(scope, isDateTime) {\n this.elementScope = scope;\n const dateContainer = document.querySelector(`.${scope.dateContainerCls}`) as HTMLElement;\n setAttr(dateContainer, 'tabindex', '0');\n dateContainer.onkeydown = (event) => {\n // Check for Shift+Tab key or Tab key or escape\n if (event.key === 'Escape') {\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n };\n this.loadDays();\n this.setActiveDateFocus(this.activeDate, undefined, true);\n }\n private setNextData(nextDate) {\n this.next = this.getMonth(nextDate, 1);\n this.prev = this.getMonth(nextDate, -1);\n }\n /**\n * This method is used to add tabindex, keybord and mouse events for days\n */\n private loadDays() {\n setTimeout(() => {\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '0');\n // if (this.clicked === false) {\n // this.next = this.getMonth(this.activeDate, 1);\n // this.prev = this.getMonth(this.activeDate, -1);\n // }\n this.addKeyBoardEventsForDays();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for days\n */\n private addKeyBoardEventsForDays() {\n const datePickerBody = $('.bs-datepicker-body');\n datePickerBody.keydown((event) => {\n let newdate;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header month name to load list of months\n $('.bs-datepicker-head .current').first().click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'Enter') {\n if ($(document.activeElement).hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n private focusBlurDatePickerHeadButtons() {\n const datePickerHeadButton = $('.bs-datepicker-head button');\n datePickerHeadButton.on('focus', function() { $(this).css('background-color', '#9AA0A3'); });\n datePickerHeadButton.on('blur', function() { $(this).css('background-color', ''); });\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for months\n */\n private loadMonths() {\n setTimeout(() => {\n this.addKeyBoardEventsForMonths();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for months\n */\n private addKeyBoardEventsForMonths() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1);\n this.setActiveDateFocus(newDate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header year to load list of years\n $('.bs-datepicker-head .current').first().click();\n this.loadYears();\n this.setActiveYearFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for years\n */\n private loadYears() {\n setTimeout(() => {\n this.addKeyBoardEventsForYears();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method is used to set focus for active month\n */\n private setActiveMonthFocus(newDate, isMoouseEvent?: boolean) {\n this.setNextData(newDate);\n const newMonth = months[newDate.getMonth()];\n // check for keyboard event\n if (!isMoouseEvent) {\n if (newDate.getFullYear() < this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('previous', 'month');\n } else if (newDate.getFullYear() > this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('next', 'month');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.months span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets keyboard events for years\n */\n private addKeyBoardEventsForYears() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to set focus for active year\n */\n private setActiveYearFocus(newDate, isMouseEvent?: boolean) {\n const newYear = newDate.getFullYear();\n const datePickerYears = $('.bs-datepicker-body table.years span');\n const startYear = datePickerYears.first().text();\n const endYear = datePickerYears.last().text();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getFullYear() < parseInt(startYear)) {\n this.goToOtherMonthOryear('previous', 'year');\n } else if (newDate.getFullYear() > parseInt(endYear)) {\n this.goToOtherMonthOryear('next', 'year');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.years span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets focus for timepicker first input field(hours field) while opening time picker\n * @param scope - scope of the time picker widget\n */\n protected focusTimePickerPopover(scope) {\n this.elementScope = scope;\n // setTimeout is used so that by then time input has the updated value. focus is setting back to the input field\n this.elementScope.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n $('timepicker .form-group').first().find('> input.form-control').focus();\n });\n });\n\n\n }\n /**\n * This function sets the keyboard events to Timepicker popup\n */\n protected bindTimePickerKeyboardEvents() {\n setTimeout(() => {\n const $timepickerPopup = $('body').find('> bs-dropdown-container timepicker');\n $timepickerPopup.attr('tabindex', 0);\n this.addEventsOnTimePicker($timepickerPopup);\n });\n }\n\n protected focusOnInputEl() {\n if ($(this.nativeElement).closest('.caption-floating').length > 0) {\n setTimeout(() => {\n $(this.nativeElement).find('.app-textbox').focus();\n }, 100);\n }\n }\n\n /**\n * This function checks whether the given date is valid or not\n * @returns boolean value, true if date is valid else returns false\n */\n private isValidDate(date) {\n return date && date instanceof Date && !isNaN(date.getTime());\n }\n\n /**\n * This function checks whether the given time is valid or not\n */\n private timeFormatValidation() {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.datepattern});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n private updateTimeValue(el, value, fieldName) {\n let minEl = el.find('input[aria-label=\"minutes\"]');\n let secEl = el.find('input[aria-label=\"seconds\"]');\n minEl.value = secEl.value = '00';\n if (value.length < 2) {\n setTimeout(() => {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }, 500);\n } else {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }\n }\n\n /**\n * This function sets the events to given element\n * @param $el - element on which the event is added\n */\n private addEventsOnTimePicker($el: JQuery) {\n const inputFields = $el.find('.bs-timepicker-field');\n // WMS-19382: update minutes and seconds to 0 when we enter hour value\n inputFields.first().on('keyup', evt => {\n const hourValue = (evt.target as any).value;\n forEach(inputFields, (field, index) => {\n // @ts-ignore\n if (evt.target !== field && field.value === '' && hourValue.length) {\n const fieldName = index === 1 ? 'minutes' : 'seconds';\n this.updateTimeValue($el, hourValue, fieldName);\n }\n });\n });\n this.removeKeyupListener = () => {\n inputFields.first().off('keyup');\n };\n $el.on('keydown', event => {\n const $target = $(event.target);\n const $parent = $target.parent();\n const elementScope = this.elementScope;\n\n let stopPropogation, preventDefault;\n\n if (event.key === 'Escape') {\n elementScope.hideTimepickerDropdown();\n }\n\n if ($target.hasClass('bs-timepicker-field')) {\n if ($parent.is(':first-child')) {\n if ((event.shiftKey && event.key === 'Tab') || event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else if ($parent.is(':last-child') || ($parent.next().next().find('button.disabled').length)) {\n if (event.key === 'Tab' || event.key === 'Escape' || event.key === 'Enter') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else {\n if (event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n }\n if (stopPropogation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if (event.key === 'ArrowDown') {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if (event.key === 'ArrowUp') {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n if (event.key === 'Tab') {\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n const pattern = this.datepattern || this.timepattern;\n if (getFormattedDate(elementScope.datePipe, elementScope.bsTimeValue, pattern, this.timeZone, null, null, this) === elementScope.displayValue) {\n $(this.nativeElement).find('.display-input').val(elementScope.displayValue);\n }\n }\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this.timeFormatValidation();\n }\n } else if ($target.hasClass('btn-default')) {\n if (event.key === 'Tab' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n }\n }\n });\n $el.find('a').on('click', evt => {\n const elementScope = this.elementScope;\n const $target = $(evt.target);\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if ($target.find('span').hasClass('bs-chevron-down')) {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if ($target.find('span').hasClass('bs-chevron-up')) {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n this.timeFormatValidation();\n });\n }\n\n public updateFormat(pattern) {\n if (pattern === 'datepattern') {\n this._dateOptions.dateInputFormat = this.datepattern;\n this.showseconds = includes(this.datepattern, 's');\n this.ismeridian = includes(this.datepattern, 'h');\n } else if (pattern === 'timepattern') {\n this.showseconds = includes(this.timepattern, 's');\n this.ismeridian = includes(this.timepattern, 'h');\n }\n }\n\n getMobileInput() {\n return this.nativeElement.querySelector('.mobile-input') as HTMLElement;\n }\n\n onDateTimeInputBlur() {\n // removing the opacity on blur of the mobile widget\n const displayInputElem = this.getMobileInput();\n if (displayInputElem) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.remove('add-opacity');\n }\n displayInputElem.classList.remove('remove-opacity');\n }\n }\n\n onDateTimeInputFocus(skipFocus: boolean = false): void {\n if (!this.loadNativeDateInput) {\n return;\n }\n const displayInputElem = this.getMobileInput();\n // toggling the classes to show and hide the native widget using opacity\n if (skipFocus) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.add('add-opacity');\n }\n displayInputElem.classList.add('remove-opacity');\n return;\n }\n\n if (displayInputElem && this._triggeredByUser) {\n displayInputElem.focus();\n displayInputElem.click();\n }\n }\n\n /**\n * This method sets the mouse events to Datepicker popup. These events are required when we navigate date picker through mouse.\n */\n private addDatepickerMouseEvents() {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n\n $(\".bs-datepicker-head\").on(\"click\", \".previous\", (event) => {\n this.next = this.getMonth(this.activeDate, 0);\n this.prev = this.getMonth(this.activeDate, -2);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(-1);\n }\n var prevMon = this.getMonth(this.activeDate, -1);\n const current = new Date();\n if(prevMon.date.getMonth()===current.getMonth() && prevMon.date.getFullYear()===current.getFullYear()) {\n this.hightlightToday(new Date());\n }\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Previous Month, ${prevMon.fullMonth} and year ${prevMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .previous`).focus();\n\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".next\", (event) => {\n this.next = this.getMonth(this.activeDate, 2);\n this.prev = this.getMonth(this.activeDate, 0);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(1);\n }\n var nextMon = this.getMonth(this.activeDate, 1);\n const current = new Date();\n if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {\n this.hightlightToday(current);\n }\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Next Month, ${nextMon.fullMonth} and year ${nextMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .next`).focus();\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".current\", (event) => {\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForCurrentMonthOryear();\n }\n });\n $('.bs-datepicker-body').on(\"click\", \".bs-datepicker-action-buttons\", (event) => {\n event.stopPropagation();\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForMonthOrDay();\n }\n });\n // if(!this.clicked) {\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n // }\n }\n\n blurDateInput(isPickerOpen) {\n const displayInputElem = this.nativeElement.querySelector('.display-input') as HTMLElement;\n if (isPickerOpen) {\n setTimeout(() => displayInputElem.blur());\n }\n }\n\n getPeriod(): 'AM' | 'PM' {\n if (!this.elementScope.bsTimeValue) return 'AM';\n const hours =this.elementScope.bsTimeValue.getHours();\n return hours >= 12 ? 'PM' : 'AM';\n }\n\n setPeriod(period: 'AM' | 'PM'): void {\n const current = this.elementScope.bsTimeValue;\n if (!current || !(current instanceof Date)) return;\n const updatedDate = new Date(current);\n const hours = updatedDate.getHours();\n if (period === 'AM' && hours >= 12) {\n updatedDate.setHours(hours - 12);\n } else if (period === 'PM' && hours < 12) {\n updatedDate.setHours(hours + 12);\n }\n if(this.elementScope.widgetType==='wm-time'){\n const isInvalid= this.elementScope.minTime && this.elementScope.maxTime && (updatedDate < this.elementScope.minTime || updatedDate > this.elementScope.maxTime);\n if(!isInvalid)\n this.elementScope.onTimeChange(updatedDate);\n }\n else{\n this.elementScope.onModelUpdate(updatedDate);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if(key === 'showampmbuttons') {\n this.showampmbuttons=nv;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n if (key === 'datepattern') {\n this.updateFormat(key);\n } else if(key === 'viewmode') {\n this._dateOptions.minMode = this.viewmode;\n } else if (key === 'showweeks') {\n this._dateOptions.showWeekNumbers = nv;\n } else if (key === 'mindate') {\n this._dateOptions.minDate = (nv === CURRENT_DATE) ? this.mindate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'maxdate') {\n this._dateOptions.maxDate = (nv === CURRENT_DATE) ? this.maxdate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'excludedates' || key === 'excludedays') {\n if (this.excludedays) {\n this.excludedDaysToDisable = split(this.excludedays, ',').map((day) => {\n return +day;\n });\n }\n if (this.excludedates) {\n this.excludedDatesToDisable = this.excludedates;\n if (isString(this.excludedates)) {\n // @ts-ignore\n this.excludedDatesToDisable = split(this.excludedates, ',');\n }\n this.excludedDatesToDisable = this.excludedDatesToDisable.map(d => getDateObj(d));\n }\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'selectfromothermonth') {\n this._dateOptions.selectFromOtherMonth = nv;\n\n } else if (key === 'todaybutton') {\n this._dateOptions.showTodayButton = nv;\n } else if (key === 'clearbutton') {\n this._dateOptions.showClearButton = nv;\n } else if (key === 'todaybuttonlabel') {\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'clearbuttonlabel') {\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'showcustompicker') {\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n } else if (key === 'adaptiveposition') {\n this._dateOptions.adaptivePosition = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);\n\n // this mobileinput width varies in ios hence setting width here.\n const mobileInput = this.getMobileInput();\n if (mobileInput) {\n setTimeout(() => {\n mobileInput.style.width = '100%';\n mobileInput.style.height = '100%';\n });\n }\n }\n\n ngOnDestroy() {\n if (this.dateOnShowSubscription) {\n this.dateOnShowSubscription.unsubscribe();\n }\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n\n super.ngOnDestroy();\n }\n\n public ngOnDetach() {\n this.datetimepickerComponent?.hideModal();\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n ngOnInit() {\n super.ngOnInit();\n if (this.dateNotInRange||this.timeNotInRange||this.invalidDateTimeFormat) {\n const formattedDisplay = getFormattedDate(this.datePipe, this.datavalue, this.datepattern||this.timepattern, this.timeZone, null, null, this);\n const value=this.datavalue;\n this.datavalue = undefined;\n setTimeout(() => {\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(formattedDisplay));\n this.minDateMaxDateValidationOnInput(formattedDisplay);\n this.invokeOnChange(value, {}, false);\n });\n }\n }\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\nimport {FormWidgetType} from '@wm/core';\n\nexport const dateProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', { value: 'default', ...PROP_STRING }],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datepattern', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['excludedays', PROP_STRING],\n ['excludedates', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['maxdate', PROP_STRING],\n ['mindate', PROP_STRING],\n ['name', PROP_STRING],\n ['outputformat', { value: 'yyyy-MM-dd', ...PROP_STRING }],\n ['placeholder', { value: 'Select Date', ...PROP_STRING }],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showdropdownon', { value: 'default', ...PROP_STRING }],\n ['showbuttonbar', { value: true, ...PROP_BOOLEAN }], // TODO not addressed\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],\n ['showweeks', { value: false, ...PROP_BOOLEAN }],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['selectfromothermonth', { value: true, ...PROP_BOOLEAN }],\n ['todaybutton', { value: true, ...PROP_BOOLEAN }],\n ['clearbutton', { value: true, ...PROP_BOOLEAN }],\n ['adaptiveposition', {value: true, ...PROP_BOOLEAN}],\n ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],\n ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }],\n ['showdateformatasplaceholder', PROP_BOOLEAN],\n ['viewmode', { value: 'day', ...PROP_STRING }]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-date',\n dateProps\n );\n registerFormWidget(\n FormWidgetType.DATE,\n new Map(dateProps)\n );\n};\n","import IMask from \"imask\";\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\n\nexport function validateTheMaskedDate (format, locale) {\n if(format == 'timestamp') {\n return false;\n }\n let modifiedFormat = format.toUpperCase().replace(/E/g, 'd');\n if((modifiedFormat.split('D').length - 1) === 1) {\n modifiedFormat = modifiedFormat.replace('D', 'DD');\n }\n if((modifiedFormat.split('M').length - 1) === 1 ) {\n modifiedFormat = modifiedFormat.replace('M', 'MM');\n }\n const parseFn= str => {\n return moment(str, modifiedFormat).toDate();\n };\n const formatFn = date => {\n return moment(date, modifiedFormat).format(modifiedFormat);\n };\n return {\n mask: Date,\n pattern: modifiedFormat,\n format: formatFn,\n parse: parseFn,\n\n blocks: {\n YYYY: {\n mask: IMask.MaskedRange,\n from: 1900,\n to: 9999,\n placeholderChar:'Y',\n maxLength: 4,\n },\n YYY: {\n mask: IMask.MaskedRange,\n from: 900,\n to: 999,\n placeholderChar:'Y',\n maxLength: 3,\n },\n YY: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 99,\n placeholderChar:'Y',\n maxLength: 2,\n },\n Y: {\n mask: IMask.MaskedRange,\n from: 1900,\n to: 9999,\n placeholderChar:'Y',\n maxLength: 4,\n },\n M: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n placeholderChar:'M',\n maxLength: 2,\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n placeholderChar:'M',\n maxLength: 2,\n },\n MMM: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 12 }, (_, i) =>\n new Date(0, i).toLocaleString(locale, { month: 'short' })\n ),\n placeholderChar:'M',\n maxLength: 3,\n },\n MMMM: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 12 }, (_, i) =>\n new Date(0, i).toLocaleString(locale, { month: 'long' })\n ),\n placeholderChar: \"M\",\n maxLength: 4\n },\n DD: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n placeholderChar:'D',\n maxLength: 2,\n },\n D: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n placeholderChar:'D',\n maxLength: 2,\n },\n ddd: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 7 }, (_, i) =>\n new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'short' })\n ),\n placeholderChar:'E',\n maxLength: 3,\n },\n dddd: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 7 }, (_, i) =>\n new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'long' })\n ),\n placeholderChar:'E',\n minLength: 6,\n },\n },\n autofix: true,\n lazy: false,\n overwrite: true,\n skipInvalid: true\n }\n}\n","<input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n #dateInput\n [imask]=\"mask\"\n [unmask]=\"true\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event); updateIMask()\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n<span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"isOpen\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n</span>\n<div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDataValue)\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : arialabel || 'Choose Date'\"\n role=\"button\">\n </div>\n}\n","import { WmComponentsModule } from \"@wm/components/base\";\nimport { IMaskModule } from 'angular-imask';\nimport { ChangeDetectorRef, Component, Inject, Injector, Optional, ViewChild } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsDatepickerDirective, BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport {\n addEventListenerOnElement,\n adjustContainerPosition,\n adjustContainerRightEdges,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDateObj,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getMomentLocaleObject\n} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, setFocusTrap, styler } from '@wm/components/base';\nimport { BaseDateTimeComponent } from './../base-date-time.component';\nimport { registerProps } from './date.props';\nimport { validateTheMaskedDate } from './imaskUtil';\nimport { IMaskDirective } from 'angular-imask';\nimport { includes, isNaN, parseInt } from \"lodash-es\";\nimport { DateTimePickerComponent } from \"../date-time/date-time-picker.component\";\n\ndeclare const _, $;\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst DEFAULT_CLS = 'app-date input-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-date',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [WmComponentsModule, DateTimePickerComponent, IMaskModule, BsDatepickerModule],\n selector: '[wmDate]',\n templateUrl: './date.component.html',\n providers: [\n provideAs(DateComponent, NG_VALUE_ACCESSOR, true),\n provideAs(DateComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(DateComponent)\n ]\n})\nexport class DateComponent extends BaseDateTimeComponent {\n static initializeProps = registerProps();\n\n public bsDataValue;\n public showdropdownon: string;\n private dateContainerCls: string;\n public isOpen: boolean = false;\n private isEnterPressedOnDateInput = false;\n private _bsDefaultLoadCheck: boolean;\n public hint: string;\n public arialabel: string;\n\n private deregisterEventListener;\n private isCurrentDate;\n private focusTrap;\n private showdateformatasplaceholder = false;\n mask;\n private maskDateInputFormat;\n private maskDateInputFormatPlaceholder;\n\n get timestamp() {\n return this.bsDataValue ? this.bsDataValue.valueOf() : undefined;\n }\n\n get dateInputFormat() {\n return this._dateOptions.dateInputFormat || 'yyyy-MM-dd';\n }\n\n get displayValue() {\n if (this.showdateformatasplaceholder && this.imask?.maskRef && this.maskDateInputFormat) {\n return getFormattedDate(this.datePipe, this.bsDataValue, this.maskDateInputFormat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n return getFormattedDate(this.datePipe, this.bsDataValue, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsDataValue, 'yyyy-MM-dd', this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n // @ts-ignore\n get datavalue() {\n return getFormattedDate(this.datePipe, this.bsDataValue, this.outputformat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n // Todo[Shubham]: needs to be redefined\n // sets the dataValue and computes the display model values\n // @ts-ignore\n set datavalue(newVal) {\n if (newVal === CURRENT_DATE) {\n setTimeout(() => {\n this.bsDataValue = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n }, 50);\n this.isCurrentDate = true;\n } else {\n this.bsDataValue = newVal ? getDateObj(newVal, { isNativePicker: this.loadNativeDateInput }, this.timeZone) : undefined;\n this.isCurrentDate = false;\n }\n // update the previous datavalue.\n this.invokeOnChange(this.datavalue, undefined, true);\n this.cdRef.detectChanges();\n }\n\n @ViewChild(BsDatepickerDirective) protected bsDatePickerDirective;\n @ViewChild('dateInput', { read: IMaskDirective }) imask: IMaskDirective<any>;\n\n // TODO use BsLocaleService to set the current user's locale to see the localized labels\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private appDefaults: AppDefaults,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n\n this.dateContainerCls = `app-date-${this.widgetId}`;\n this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;\n this._dateOptions.showWeekNumbers = false;\n this._bsDefaultLoadCheck = true;\n this.datepattern = this.appDefaults.dateFormat || getDisplayDateTimeFormat(FormWidgetType.DATE);\n this.updateFormat('datepattern');\n }\n /**\n * This is an internal method triggered when the date input changes\n */\n onDisplayDateChange($event, isNativePicker: boolean = false) {\n this.updateIMask();\n if (this.isEnterPressedOnDateInput) {\n this.isEnterPressedOnDateInput = false;\n return;\n }\n let inputVal = $event.target.value;\n // When the input is cleared, the input value becomes maskDateInputFormatPlaceholder. This causes a validation error.\n // When the input value is equal to maskDateInputFormatPlaceholder, it means that the input is in an empty state.\n if (this.showdateformatasplaceholder && inputVal === this.maskDateInputFormatPlaceholder) {\n inputVal = \"\";\n }\n const newVal = getDateObj(inputVal, { pattern: this.datepattern, isNativePicker: isNativePicker });\n // date pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, inputVal, isNativePicker)) {\n return;\n }\n // min date and max date validation in mobile view.\n // if invalid dates are entered, device is showing an alert.\n if (isNativePicker && this.minDateMaxDateValidationOnInput(newVal, $event, this.displayValue, isNativePicker)) {\n return;\n }\n this.setDataValue(newVal);\n }\n\n // sets the dataValue and computes the display model values\n private setDataValue(newVal): void {\n if(!newVal && $(this.nativeElement).find('.display-input').val()){\n return ;\n }\n this.invalidDateTimeFormat = false;\n // min date and max date validation in web.\n // if invalid dates are entered, device is showing validation message.\n this.minDateMaxDateValidationOnInput(newVal);\n if (getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this) === this.displayValue) {\n $(this.nativeElement).find('.display-input').val(this.displayValue);\n }\n if(!this.dateNotInRange){\n if (newVal) {\n this.bsDataValue = newVal;\n this.updateIMask();\n } else {\n this.bsDataValue = undefined;\n }\n if(this.datavalue=== this.getPrevDataValue()){\n const date=getFormattedDate(this.datePipe, this.datavalue, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this)\n $(this.nativeElement).find('.display-input').val(date);}\n }\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n onDatePickerOpen() {\n this.isOpen = true;\n this.activeDate = this.bsDataValue ? this.bsDataValue : (this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date());\n if (!this.bsDataValue) {\n this.hightlightToday(this.activeDate);\n }\n this.updateIMask();\n if (this.bsDatePickerDirective && (this.dateNotInRange||this.invalidDateTimeFormat)) {\n this.bsDatePickerDirective._bsValue = null;\n }\n\n // We are using the two input tags(To maintain the modal and proxy modal) for the date control.\n // So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.\n // To fix the container top position set the width 1px;\n this.$element.find('.model-holder').width('1px');\n const dpContainerEl = $('bs-datepicker-container');\n dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');\n $('.bs-calendar-container').removeAttr('role');\n const datePickerContainer = $('.bs-datepicker-container')[0];\n this.focusTrap = setFocusTrap(datePickerContainer, true);\n this.focusTrap.activate();\n this.addDatepickerKeyboardEvents(this, false);\n adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n\n if (this.timeZone) {\n const todayBtn = document.querySelector(`.${this.dateContainerCls} .bs-datepicker-buttons .btn-today-wrapper button`) as HTMLElement;\n const setTodayTZHandler = (event) => {\n const todayTZ = getMomentLocaleObject(this.timeZone);\n if (new Date(this.bsDataValue).toDateString() !== new Date(todayTZ).toDateString()) {\n this.bsDataValue = todayTZ;\n }\n todayBtn.removeEventListener('click', setTodayTZHandler);\n };\n todayBtn.addEventListener('click', setTodayTZHandler)\n }\n }\n onInputBlur($event) {\n this.updateIMask();\n if (!$($event.relatedTarget).hasClass('current-date')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n\n updateIMask() {\n this.imask?.maskRef?.updateValue();\n }\n\n public hideDatepickerDropdown() {\n this.invokeOnTouched();\n this.isOpen = false;\n this.focusTrap?.deactivate();\n this.isEnterPressedOnDateInput = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.blurDateInput(this.isOpen);\n }\n\n // change and blur events are added from the template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the date widget\n */\n public toggleDpDropdown($event, skipFocus: boolean = false) {\n if (this.loadNativeDateInput) {\n // Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n // this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n $event.stopPropagation();\n return;\n }\n this.bsDatePickerDirective.toggle();\n this.addBodyClickListener(this.bsDatePickerDirective.isOpen);\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const bsDateContainerElement = bodyElement.querySelector(`.${this.dateContainerCls}`);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, bsDateContainerElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.isOpen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the date input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter') {\n const newVal = getDateObj(event.target.value, { pattern: this.datepattern });\n event.preventDefault();\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this);\n let inputVal = event.target.value.trim();\n if (this.showdateformatasplaceholder && inputVal === this.maskDateInputFormatPlaceholder) {\n inputVal = \"\";\n }\n if (inputVal && this.datepattern === 'timestamp') {\n if (!isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n }\n } else if (inputVal && inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n } else {\n this.invalidDateTimeFormat = false;\n this.isEnterPressedOnDateInput = true;\n this.bsDatePickerDirective.bsValue = inputVal ? newVal : '';\n this.updateIMask();\n }\n this.toggleDpDropdown(event);\n } else {\n this.hideDatepickerDropdown();\n }\n } else {\n this.hideDatepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the date selection changes\n */\n onDateChange(newVal): void {\n /**\n * Ngx-bootstrap upgrade : To avoid the page load datechange event;\n * TODO:\n * https://github.com/valor-software/ngx-bootstrap/issues/6016\n * For above issue, once we get the solution from Ngx-Bootstrap team, remove the _bsDefaultLoadCheck check and update accordingly.\n * */\n if (this._bsDefaultLoadCheck) {\n this._bsDefaultLoadCheck = false;\n return;\n }\n\n this.setDataValue(newVal);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'showdateformatasplaceholder') {\n this.showdateformatasplaceholder = nv;\n this.imask?.destroyMask();\n if (this.showdateformatasplaceholder && this.datepattern !== 'timestamp') {\n this.mask = validateTheMaskedDate(this.datepattern, this.selectedLocale);\n this.maskDateInputFormat = this.dateInputFormat;\n this.maskDateInputFormat = (this.dateInputFormat.split('d').length - 1) === 1 ? this.maskDateInputFormat.replace('d', 'dd') : this.maskDateInputFormat;\n this.maskDateInputFormat = (this.dateInputFormat.split('M').length - 1) === 1 ? this.maskDateInputFormat.replace('M', 'MM') : this.maskDateInputFormat;\n this.maskDateInputFormatPlaceholder = this.maskDateInputFormat.toUpperCase().replace('EEEE', 'EEEEEE').replace('MMMM', 'MMM');\n this.updateIMask();\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const dateTimeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', { value: 'default', ...PROP_STRING }],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datepattern', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['excludedays', PROP_STRING],\n ['excludedates', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['hourstep', { value: 1, ...PROP_NUMBER }],\n ['maxdate', PROP_STRING],\n ['mindate', PROP_STRING],\n ['minutestep', { value: 15, ...PROP_NUMBER }],\n ['name', PROP_STRING],\n ['outputformat', { value: 'timestamp', ...PROP_STRING }],\n ['placeholder', { value: 'Select date time', ...PROP_STRING }],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['secondsstep', { value: 1, ...PROP_NUMBER }],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showdropdownon', { value: 'default', ...PROP_STRING }],\n ['showbuttonbar', PROP_BOOLEAN],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],\n ['showweeks', PROP_BOOLEAN],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['timestamp', PROP_STRING],\n ['selectfromothermonth', { value: true, ...PROP_BOOLEAN }],\n ['todaybutton', { value: true, ...PROP_BOOLEAN }],\n ['clearbutton', { value: true, ...PROP_BOOLEAN }],\n ['adaptiveposition', {value: true, ...PROP_BOOLEAN}],\n ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],\n ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }],\n ['showampmbuttons',{ value: false, ...PROP_BOOLEAN }]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-datetime',\n dateTimeProps\n );\n registerFormWidget(\n FormWidgetType.DATETIME,\n new Map(dateTimeProps)\n );\n registerFormWidget(\n FormWidgetType.TIMESTAMP,\n new Map(dateTimeProps)\n );\n};\n","<div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n type=\"text\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDateChange($event)\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-date\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"isDateOpen\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n aria-label=\"Select time\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleTimePicker(!isTimeOpen, $event)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-time\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n focus-target\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isDateOpen\"\n placement=\"bottom right\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n #datepicker=bsDatepicker\n bsDatepicker\n [isDisabled]=\"disabled || readonly || isCurrentDate\"\n [bsValue]=\"bsDateValue\"\n (bsValueChange)=\"onModelUpdate($event, 'date')\">\n </div>\n <div *dropdownMenu\n class=\"dropdown-menu\"\n aria-label=\"timepicker dropdown\"\n aria-controls=\"time\"\n (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"disabled || readonly || isCurrentDate\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\"\n (ngModelChange)=\"onModelUpdate($event, 'time')\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">{{appLocale.LABEL_AM ||\"AM\"}}</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">{{appLocale.LABEL_PM ||\"PM\"}}</button>\n </div>\n }\n </div>\n </div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDateValue\"\n (change)=\"onModelUpdate($event, 'date')\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDateValue)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : arialabel || 'Choose Date'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event)\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n","import { WmComponentsModule } from \"@wm/components/base\";\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { DateTimePickerComponent } from '../date-time/date-time-picker.component';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsDatepickerDirective, BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { TimepickerConfig, TimepickerModule } from 'ngx-bootstrap/timepicker';\n\nimport {\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n adjustContainerRightEdges,\n App,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDateObj,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getMomentLocaleObject,\n getNativeDateObject\n} from '@wm/core';\nimport { provideAs, provideAsWidgetRef, setFocusTrap, styler } from '@wm/components/base';\n\nimport { BaseDateTimeComponent, getTimepickerConfig } from './../base-date-time.component';\nimport { registerProps } from './date-time.props';\nimport { debounce, forEach, includes, isNaN, parseInt } from \"lodash-es\";\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\n\ndeclare const $;\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\n\nconst DEFAULT_CLS = 'app-datetime input-group';\nconst WIDGET_CONFIG = { widgetType: 'wm-datetime', hostClass: DEFAULT_CLS };\n\nconst CURRENT_DATE = 'CURRENT_DATE';\n\n@Component({\n standalone: true,\n imports: [WmComponentsModule, FormsModule, DateTimePickerComponent, BsDropdownModule, BsDatepickerModule, TimepickerModule,CommonModule],\n selector: '[wmDateTime]',\n templateUrl: './date-time.component.html',\n providers: [\n provideAs(DatetimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(DatetimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(DatetimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class DatetimeComponent extends BaseDateTimeComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n /**\n * The below propeties prefixed with \"bs\" always holds the value that is selected from the datepicker.\n * The bsDateTimeValue = bsDateValue + bsTimeValue.\n */\n private bsDateTimeValue: any;\n public bsDateValue;\n private bsTimeValue;\n private proxyModel;\n private app: App;\n public hint: string;\n public arialabel: string;\n public showdropdownon: string;\n private deregisterDatepickerEventListener;\n private deregisterTimepickeEventListener;\n private isEnterPressedOnDateInput = false;\n private focusTrap;\n\n get timestamp() {\n return this.proxyModel ? this.proxyModel.valueOf() : undefined;\n }\n\n get dateInputFormat() {\n return this._dateOptions.dateInputFormat || 'yyyy-MM-ddTHH:mm:ss';\n }\n\n /**\n * The displayValue is the display value of the bsDateTimeValue after applying the datePattern on it.\n * @returns {any|string}\n */\n get displayValue(): any {\n const display= getFormattedDate(this.datePipe, this.proxyModel, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this) || '';\n return this.safeReplaceMeridians(display);\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.proxyModel, 'yyyy-MM-ddTHH:mm:ss', this.timeZone, (this as any).key, this.isCurrentDate, this) || '';\n }\n\n @ViewChild(BsDatepickerDirective) bsDatePickerDirective;\n\n /**\n * This property checks if the timePicker is Open\n */\n public isTimeOpen = false;\n\n /**\n * This property checks if the datePicker is Open\n */\n public isDateOpen = false;\n\n /**\n * This timeinterval is used to run the timer when the time component value is set to CURRENT_TIME in properties panel.\n */\n private timeinterval: any;\n\n /**\n * This property is set to TRUE if the time component value is set to CURRENT_TIME; In this case the timer keeps changing the time value until the widget is available.\n */\n public isCurrentDate = false;\n\n private _debouncedOnChange: Function = debounce(this.invokeOnChange, 10);\n\n private dateContainerCls: string;\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentDate && !this.proxyModel) {\n return CURRENT_DATE;\n }\n return getFormattedDate(this.datePipe, this.proxyModel, this.outputformat, this.timeZone, null, null, this);\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the date selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal === CURRENT_DATE) {\n this.isCurrentDate = true;\n this.setTimeInterval();\n } else {\n this.proxyModel = newVal ? getDateObj(newVal, { isNativePicker: this.loadNativeDateInput }, this.timeZone) : undefined;\n this.clearTimeInterval();\n this.isCurrentDate = false;\n }\n this.bsTimeValue = this.bsDateValue = this.proxyModel;\n this.cdRef.detectChanges();\n }\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private cdRef: ChangeDetectorRef,\n private appDefaults: AppDefaults,\n app: App,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.registerDestroyListener(() => this.clearTimeInterval());\n styler(this.nativeElement, this);\n this.app = app;\n this.dateContainerCls = `app-date-${this.widgetId}`;\n this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;\n this._dateOptions.showWeekNumbers = false;\n this.datepattern = this.appDefaults.dateTimeFormat || getDisplayDateTimeFormat(FormWidgetType.DATETIME);\n this.updateFormat('datepattern');\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval(() => {\n const currentTime = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n this.onModelUpdate(currentTime);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This is an internal method to toggle the time picker\n */\n public toggleTimePicker(newVal, $event?: any) {\n if (this.loadNativeDateInput) {\n this.onDateTimeInputFocus();\n return;\n }\n this.isTimeOpen = newVal;\n if ($event && $event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n }\n this.addTimepickerClickListener(this.isTimeOpen);\n }\n\n private addTimepickerClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterTimepickeEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.toggleTimePicker(false);\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.isTimeOpen = val;\n }\n\n private hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.toggleTimePicker(false);\n if (this.deregisterTimepickeEventListener) {\n this.deregisterTimepickeEventListener();\n }\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n }\n\n /**\n * This is an internal method to add a click listener once the time dropdown is open\n */\n public onTimepickerOpen() {\n // adding class for time widget dropdown menu\n const tpElements = document.querySelectorAll('timepicker');\n forEach(tpElements, (element) => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n if (this.bsDropdown && (this.dateNotInRange || this.invalidDateTimeFormat)) {\n this.bsTimeValue = null;\n }\n this.bsDatePickerDirective.hide();\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n adjustContainerRightEdges($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public onDatePickerOpen() {\n this.isDateOpen = !this.isDateOpen;\n this.toggleTimePicker(false);\n // We are using the two input tags(To maintain the modal and proxy modal) for the date control.\n // So actual bootstrap input target width we made it to 0 so bootstrap calculating the calendar container top position impropery.\n // To fix the container top position set the width 1px;\n this.$element.find('.model-holder').width('1px');\n const dpContainerEl = $('bs-datepicker-container');\n dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');\n $('.bs-calendar-container').removeAttr('role');\n const datePickerContainer = $('.bs-datepicker-container')[0];\n this.focusTrap = setFocusTrap(datePickerContainer, true);\n this.focusTrap.activate();\n\n this.bsDateValue ? this.activeDate = this.bsDateValue : this.activeDate = new Date();\n if (!this.bsDateValue) {\n this.hightlightToday(this.activeDate);\n }\n this.addDatepickerKeyboardEvents(this, true);\n adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n }\n\n /**\n * This is an internal method to update the model\n */\n public onModelUpdate(newVal, type?) {\n\n if (type === 'date') {\n this.invalidDateTimeFormat = false;\n const formatted = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this);\n if (this.safeReplaceMeridians(formatted) === this.displayValue) {\n $(this.nativeElement).find('.display-input').val(this.displayValue);\n }\n }\n\n if (newVal && !this.bsDateValue && this.timeZone) {\n newVal = getMomentLocaleObject(this.timeZone, newVal);\n }\n // min date and max date validation in web.\n // if invalid dates are entered, device is showing validation message.\n this.minDateMaxDateValidationOnInput(newVal);\n if (!newVal) {\n // Set timevalue as 00:00:00 if we remove any one from hours/minutes/seconds field in timepicker after selecting date\n if (this.bsDateValue && this.bsTimePicker && (this.bsTimePicker.hours === '' || this.bsTimePicker.minutes === '' || this.bsTimePicker.seconds === '')) {\n this.bsDateValue = this.bsTimeValue = this.proxyModel = moment(this.bsDateValue).startOf('day').toDate();\n } else {\n this.bsDateValue = this.bsTimeValue = this.proxyModel = undefined;\n }\n // When the datavalue is manually cleared, both newval and datavalue are undefined but prevDataValue exists - trigger change cb\n if (newVal !== this.datavalue || (!this.datavalue && (this as any).prevDatavalue)) {\n this._debouncedOnChange(this.datavalue, {}, true);\n }\n return;\n }\n if (type === 'date') {\n if (this.isDateOpen) {\n this.toggleTimePicker(true);\n }\n }\n if (!this.dateNotInRange && !this.invalidDateTimeFormat) {\n this.proxyModel = newVal;\n if (this.proxyModel) {\n this.bsDateValue = this.bsTimeValue = newVal;\n }\n if(this.datavalue=== this.getPrevDataValue()){\n const time=getFormattedDate(this.datePipe, this.datavalue, this.datepattern, this.timeZone, null, null, this) || ''\n $(this.nativeElement).find('.display-input').val(time?.replace(this.meridians[0], this.am)?.replace(this.meridians[1], this.pm)) ;}\n }else {\n this.proxyModel = newVal;\n }\n this._debouncedOnChange(this.datavalue, {}, true);\n this.cdRef.detectChanges();\n\n // Update timepicker with formatted time, when timezone is provided.\n const timePickerFields = $('.bs-timepicker-field');\n if (this.timeZone && (this as any).key === 'datetimestamp' && timePickerFields.length) {\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.getTimePattern(), this.timeZone, (this as any).key, null, this);\n this.updateTimepickerFields(this.safeReplaceMeridians(formattedDate), timePickerFields);\n }\n }\n\n // deduces the timepattern from datepattern set in the studio\n private getTimePattern() {\n let timepattern;\n const timePatternStartIndex = this.datepattern.toLowerCase().indexOf('h');\n let timePatternEndIndex = this.datepattern.toLowerCase().indexOf(':ss');\n if (timePatternEndIndex > -1) {\n // adding the index to +3 to incluse :ss\n timePatternEndIndex += 3;\n } else {\n timePatternEndIndex = this.datepattern.toLowerCase().indexOf(':mm');\n // adding the index to +3 to incluse :mm\n if (timePatternEndIndex > -1) {\n timePatternEndIndex += 3;\n }\n }\n const hasMeridian = this.datepattern.toLowerCase().indexOf('a');\n timepattern = this.datepattern.substr(timePatternStartIndex, timePatternEndIndex);\n if (hasMeridian > -1)\n timepattern += ' a';\n return timepattern;\n }\n\n private updateTimepickerFields(date, timePickerFields) {\n const meridianField = $('timepicker button.text-center');\n const formattedArr = date.split(' ');\n const formattedTime = formattedArr[0].split(':');\n for (let i = 0; i < timePickerFields.length; i++) {\n timePickerFields[i].value = formattedTime[i]\n }\n if (meridianField?.html()?.trim() !== formattedArr[1]) {\n meridianField.text(formattedArr[1]);\n }\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the date widget\n */\n public toggleDpDropdown($event, skipFocus: boolean = false) {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n $event.stopPropagation();\n return;\n }\n if (this.bsDatePickerDirective && (this.dateNotInRange||this.invalidDateTimeFormat)) {\n this.bsDatePickerDirective._bsValue = null;\n }\n this.bsDatePickerDirective.toggle();\n this.addBodyClickListener(this.bsDatePickerDirective.isOpen);\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const bsDateContainerElement = bodyElement.querySelector(`.${this.dateContainerCls}`);\n this.deregisterDatepickerEventListener = addEventListenerOnElement(bodyElement, bsDateContainerElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.bsDatePickerDirective.hide();\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n public hideDatepickerDropdown() {\n this.isDateOpen = false;\n this.focusTrap?.deactivate();\n this.invokeOnTouched();\n this.bsDatePickerDirective.hide();\n\n // To open the timepicker menu when user wants to update time without changing the date.\n if (this.bsDateValue) {\n this.toggleTimePicker(true);\n }\n this.isEnterPressedOnDateInput = false;\n if (this.deregisterDatepickerEventListener) {\n this.deregisterDatepickerEventListener();\n }\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n this.blurDateInput(this.isDateOpen);\n }\n\n public onDateChange($event, isNativePicker?: boolean) {\n if (this.isEnterPressedOnDateInput) {\n this.isEnterPressedOnDateInput = false;\n return;\n }\n let newVal = $event.target.value.trim();\n newVal = newVal ? getNativeDateObject(newVal?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]), { pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians, isNativePicker: this.loadNativeDateInput }) : undefined;\n // datetime pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value, isNativePicker)) {\n return;\n }\n // min date and max date validation in mobile view.\n // if invalid dates are entered, device is showing an alert.\n if (isNativePicker && this.minDateMaxDateValidationOnInput(newVal, $event, this.displayValue, isNativePicker)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onModelUpdate(newVal);\n }\n\n /**\n * This is an internal method triggered when pressing key on the datetime input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n let newVal = event.target.value.trim();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n newVal = newVal ? getNativeDateObject(newVal, { pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians }) : undefined;\n event.preventDefault();\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this);\n const formattedDateWithMeridians = this.safeReplaceMeridians(formattedDate);\n const inputVal = event.target.value.trim();\n if (inputVal && this.datepattern === 'timestamp') {\n if (!isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n }\n } else if (inputVal && inputVal !== formattedDateWithMeridians) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n } else {\n this.invalidDateTimeFormat = false;\n this.isEnterPressedOnDateInput = true;\n this.bsDatePickerDirective.bsValue = newVal;\n }\n this.toggleDpDropdown(event);\n } else {\n this.hideDatepickerDropdown();\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideDatepickerDropdown();\n this.hideTimepickerDropdown();\n }\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, { pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians, isNativePicker: this.loadNativeDateInput });\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\n }\n\n // change and blur events are added from the template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('current-date')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n}\n","import {FormWidgetType} from '@wm/core';\n\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const timeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', {value: 'default', ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['hourstep', {value: 1, ...PROP_NUMBER}],\n ['maxtime', PROP_STRING],\n ['mintime', PROP_STRING],\n ['minutestep', {value: 15, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['outputformat', {value: 'HH:mm:ss', ...PROP_STRING}],\n ['placeholder', {value: 'Select time', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdropdownon', {value: 'default', ...PROP_STRING}],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['secondsstep', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['timepattern', PROP_STRING],\n ['timestamp', PROP_STRING],\n ['showampmbuttons',{ value: false, ...PROP_BOOLEAN }]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-time',\n timeProps\n );\n registerFormWidget(\n FormWidgetType.TIME,\n new Map(timeProps)\n );\n};\n","<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">{{appLocale.LABEL_AM ||\"AM\"}}</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">{{appLocale.LABEL_PM ||\"PM\"}}</button>\n </div>\n }\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n","import { WmComponentsModule } from \"@wm/components/base\";\nimport { FormsModule } from '@angular/forms';\nimport { DateTimePickerComponent } from '../date-time/date-time-picker.component';\nimport { CommonModule } from '@angular/common';\nimport { Component, Inject, Injector, NgZone, OnDestroy, Optional } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TimepickerConfig, TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport {\n $appDigest,\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n App,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getMomentLocaleObject,\n getNativeDateObject\n} from '@wm/core';\nimport { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { BaseDateTimeComponent, getTimepickerConfig } from './../base-date-time.component';\nimport { registerProps } from './time.props';\nimport { forEach, get, includes } from \"lodash-es\";\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\n\ndeclare const $;\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\n\nconst CURRENT_TIME = 'CURRENT_TIME';\nconst DEFAULT_CLS = 'input-group app-timeinput';\nconst WIDGET_CONFIG = { widgetType: 'wm-time', hostClass: DEFAULT_CLS };\n\n@Component({\n standalone: true,\n imports: [WmComponentsModule, FormsModule, DateTimePickerComponent, BsDropdownModule, TimepickerModule,CommonModule],\n selector: '[wmTime]',\n templateUrl: './time.component.html',\n providers: [\n provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class TimeComponent extends BaseDateTimeComponent implements OnDestroy {\n static initializeProps = registerProps();\n /**\n * This property sets the display pattern of the time selected\n */\n timepattern: string;\n\n /**\n * This property sets the output format for the selected time datavalue\n */\n outputformat: string;\n\n public showdropdownon: string;\n public mintime;\n public maxtime;\n public hint: string;\n public arialabel: string;\n\n private deregisterEventListener;\n private app: App;\n private displayInputElem: HTMLElement;\n\n get timestamp() {\n return this.bsTimeValue ? this.bsTimeValue.valueOf() : undefined;\n }\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentTime && !this.bsTimeValue) {\n return CURRENT_TIME;\n }\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.outputformat, this.timeZone, null, null, this) || '';\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the time selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal) {\n if (newVal === CURRENT_TIME) {\n this.isCurrentTime = true;\n this.setTimeInterval();\n } else {\n this.clearTimeInterval();\n this.bsTimeValue = getNativeDateObject(newVal, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.isCurrentTime = false;\n this.mintimeMaxtimeValidation();\n }\n } else {\n this.bsTimeValue = undefined;\n this.clearTimeInterval();\n this.isCurrentTime = false;\n }\n this.invokeOnChange(this.datavalue);\n $appDigest();\n }\n\n get displayValue() {\n const display = getFormattedDate(this.datePipe, this.bsTimeValue, this.timepattern, this.timeZone, null, null, this) || '';\n return this.safeReplaceMeridians(display);\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, 'HH:mm:ss', this.timeZone, null, null, this) || '';\n }\n\n /* Internal property to have a flag to check the given datavalue is of Current time*/\n public isCurrentTime: boolean;\n\n private timeinterval: any;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private minTime: Date;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private maxTime: Date;\n\n /**\n * This is an internal property used to toggle the timepicker dropdown\n */\n public status = { isopen: false };\n\n /**\n * This is an internal property used to map the main model to the time widget\n */\n private bsTimeValue: Date;\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private appDefaults: AppDefaults,\n app: App,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n /**\n * Destroy the timer once the date widget is gone\n */\n this.registerDestroyListener(() => this.clearTimeInterval());\n\n this.timepattern = this.appDefaults.timeFormat || getDisplayDateTimeFormat(FormWidgetType.TIME);\n this.updateFormat('timepattern');\n this.app = app;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'timepattern') {\n this.updateFormat('timepattern');\n }\n if (key === 'mintime') {\n this.minTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput }); // TODO it is supposed to be time conversion, not to the day\n this.mintimeMaxtimeValidation();\n } else if (key === 'maxtime') {\n this.maxTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.mintimeMaxtimeValidation();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n setValidateType(min, max, val) {\n if (this.timeNotInRange) {\n if (val < min) {\n (this as any).validateType = 'mintime';\n } else if (val > max) {\n (this as any).validateType = 'maxtime';\n }\n }\n }\n\n /**\n * This is an internal method used to validate mintime and maxtime\n */\n private mintimeMaxtimeValidation() {\n this.timeNotInRange = this.minTime && this.maxTime && (this.bsTimeValue < this.minTime || this.bsTimeValue > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, this.bsTimeValue);\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the time widget\n */\n public toggleDropdown($event, skipFocus: boolean = false): void {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n return;\n }\n this.ngZone.run(() => {\n this.status.isopen = !this.status.isopen;\n });\n this.addBodyClickListener(this.status.isopen);\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.status.isopen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the time input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.toggleDropdown(event);\n } else {\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideTimepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the time input changes\n */\n onDisplayTimeChange($event) {\n const newVal = getNativeDateObject($event.target.value?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]), { meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n // time pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onTimeChange(newVal);\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('bs-timepicker-field')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n\n /**\n * This is an internal method used to execute the on time change functionality\n */\n private onTimeChange(newVal, isNativePicker?: boolean) {\n let timeValue,\n timeInputValue,\n minTimeMeridian,\n maxTimeMeridian;\n // For nativePicker, newVal is event, get the dateobject from the event.\n if (isNativePicker) {\n newVal = getNativeDateObject(newVal.target.value, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n }\n if (newVal) {\n // if the newVal is valid but not in the given range then highlight the input field\n this.timeNotInRange = this.minTime && this.maxTime && (newVal < this.minTime || newVal > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, newVal);\n if(!this.timeNotInRange) {\n this.bsTimeValue = newVal;\n }\n } // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user\n else if (this.bsTimePicker && this.bsTimePicker.min && this.bsTimePicker.max) {\n minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');\n maxTimeMeridian = moment(new Date(this.bsTimePicker.max)).format('A');\n timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');\n timeInputValue = getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.bsTimePicker.meridian = minTimeMeridian?.replace(this.meridians[0], this.am)?.replace(this.meridians[1], this.pm);\n this.timeNotInRange = this.bsTimePicker.min > timeInputValue || this.bsTimePicker.max < timeInputValue;\n\n if (this.timeNotInRange || this.invalidDateTimeFormat) {\n this.bsTimeValue = this.getPrevDataValue();\n setTimeout(() => {\n const timeStr = getFormattedDate(this.datePipe, timeValue, this.timepattern, this.timeZone, null, null, this) || '';\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(timeStr));\n });\n }\n this.setValidateType(this.bsTimePicker.min, this.bsTimePicker.max, timeInputValue);\n if (!this.timeNotInRange) {\n this.bsTimeValue = timeInputValue;\n }\n }\n // Update UI display if value hasn't changed\n if (!this.timeNotInRange && this.datavalue === this.getPrevDataValue()) {\n const displayTime = getFormattedDate(this.datePipe, this.datavalue, this.timepattern, this.timeZone, null, null, this) || '';\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(displayTime));\n }\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval(() => {\n const now = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n now.setSeconds(now.getSeconds() + 1);\n this.datavalue = CURRENT_TIME;\n this.onTimeChange(now);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.status.isopen = val;\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n public hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.status.isopen = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.removeKeyupListener();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n this.blurDateInput(true);\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, { meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\n }\n /**\n * This is an internal method to add css class for dropdown while opening the time dropdown\n */\n public onShown() {\n const tpElements = document.querySelectorAll('timepicker');\n forEach(tpElements, element => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n if (this.bsDropdown && (this.timeNotInRange || this.invalidDateTimeFormat)) {\n this.bsTimeValue = null;\n }\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public assignModel() {\n if (!this.displayInputElem) {\n this.displayInputElem = this.getMobileInput();\n }\n (this.displayInputElem as any).value = get(this, 'nativeDisplayValue');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_c0","moment","CURRENT_DATE","_isNaN","parseInt","registerProps","DEFAULT_CLS","WIDGET_CONFIG","isNaN","_c1","i3","_c3","_c2","i2","i4","i5"],"mappings":"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"}
|