@acorex/components 7.5.0 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/index.d.ts +1 -1
- package/action-sheet/lib/action-sheet.component.d.ts +3 -3
- package/avatar/index.d.ts +1 -1
- package/breadcrumbs/index.d.ts +2 -2
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +1 -1
- package/button/lib/button-item.class.d.ts +1 -1
- package/button/lib/button.component.d.ts +1 -1
- package/calendar/lib/calendar.class.d.ts +1 -1
- package/calendar/lib/calendar.component.d.ts +1 -1
- package/collapse/lib/collapse-group.component.d.ts +9 -6
- package/collapse/lib/collapse.component.d.ts +6 -6
- package/color-box/lib/color-box.component.d.ts +2 -2
- package/color-palette/lib/color-palette-input.component.d.ts +3 -3
- package/color-palette/lib/color-palette-picker.component.d.ts +1 -1
- package/color-palette/lib/color-palette.class.d.ts +4 -4
- package/common/index.d.ts +0 -1
- package/common/lib/classes/datalist.class.d.ts +31 -0
- package/common/lib/classes/styles.class.d.ts +2 -3
- package/common/lib/components/colorlook-component.class.d.ts +2 -2
- package/common/lib/components/input-base-value-component.class.d.ts +12 -12
- package/common/lib/components/selection-base.component.class.d.ts +2 -1
- package/common/lib/directives/delayed-value-changed.directive.d.ts +5 -5
- package/common/lib/directives/hotkey.directive.d.ts +2 -2
- package/common/lib/directives/responsive.directive.d.ts +1 -1
- package/context-menu/lib/context-menu.component.d.ts +1 -1
- package/data-table/lib/data-table.component.d.ts +2 -2
- package/datetime-box/lib/datetime-box.component.d.ts +3 -3
- package/datetime-input/lib/datetime-input.component.d.ts +1 -1
- package/datetime-picker/index.d.ts +1 -1
- package/datetime-picker/lib/datetime-picker.component.d.ts +1 -2
- package/dropdown/lib/dropdown-box.component.d.ts +5 -3
- package/dropdown/lib/dropdown-panel.component.d.ts +1 -0
- package/esm2022/action-sheet/index.mjs +2 -2
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +22 -14
- package/esm2022/action-sheet/lib/action-sheet.module.mjs +3 -3
- package/esm2022/action-sheet/lib/action-sheet.service.mjs +5 -5
- package/esm2022/avatar/index.mjs +2 -2
- package/esm2022/avatar/lib/avatar-group.component.mjs +1 -1
- package/esm2022/avatar/lib/avatar.component.mjs +2 -2
- package/esm2022/badge/lib/badge.component.mjs +3 -3
- package/esm2022/badge/lib/badge.module.mjs +2 -2
- package/esm2022/breadcrumbs/index.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +1 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +2 -2
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +1 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +3 -3
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/button/lib/button-item.component.mjs +1 -1
- package/esm2022/button/lib/button.component.mjs +3 -3
- package/esm2022/button-group/lib/button-group.component.mjs +3 -3
- package/esm2022/button-group/lib/button-group.module.mjs +2 -2
- package/esm2022/calendar/lib/calendar-range.component.mjs +4 -7
- package/esm2022/calendar/lib/calendar.class.mjs +3 -11
- package/esm2022/calendar/lib/calendar.component.mjs +28 -29
- package/esm2022/calendar/lib/calendar.module.mjs +4 -4
- package/esm2022/check-box/lib/check-box.component.mjs +9 -9
- package/esm2022/check-box/lib/check-box.module.mjs +3 -3
- package/esm2022/chips/lib/chips.component.mjs +5 -5
- package/esm2022/chips/lib/chips.module.mjs +2 -2
- package/esm2022/collapse/lib/collapse-group.component.mjs +17 -12
- package/esm2022/collapse/lib/collapse.component.mjs +9 -9
- package/esm2022/collapse/lib/collapse.module.mjs +3 -3
- package/esm2022/color-box/lib/color-box.component.mjs +7 -7
- package/esm2022/color-box/lib/color-box.module.mjs +4 -4
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +10 -14
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +29 -31
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +8 -16
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +5 -5
- package/esm2022/color-palette/lib/color-palette.class.mjs +2 -2
- package/esm2022/color-palette/lib/color-palette.component.mjs +14 -6
- package/esm2022/color-palette/lib/color-palette.module.mjs +12 -12
- package/esm2022/common/index.mjs +1 -2
- package/esm2022/common/lib/classes/components.class.mjs +1 -1
- package/esm2022/common/lib/classes/datalist.class.mjs +41 -54
- package/esm2022/common/lib/classes/styles.class.mjs +2 -10
- package/esm2022/common/lib/common.module.mjs +4 -2
- package/esm2022/common/lib/components/button-base-component.class.mjs +4 -4
- package/esm2022/common/lib/components/color-component.class.mjs +2 -2
- package/esm2022/common/lib/components/colorlook-component.class.mjs +4 -4
- package/esm2022/common/lib/components/input-base-value-component.class.mjs +15 -15
- package/esm2022/common/lib/components/interactive-component.class.mjs +1 -1
- package/esm2022/common/lib/components/look-component.class.mjs +2 -2
- package/esm2022/common/lib/components/selection-base.component.class.mjs +10 -4
- package/esm2022/common/lib/components/value-component.class.mjs +3 -3
- package/esm2022/common/lib/directives/auto-focus.directive.mjs +4 -12
- package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +16 -14
- package/esm2022/common/lib/directives/hotkey.directive.mjs +14 -15
- package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +7 -9
- package/esm2022/common/lib/directives/responsive.directive.mjs +12 -10
- package/esm2022/common/lib/directives/ripple.directive.mjs +1 -1
- package/esm2022/common/lib/services/dom.service.mjs +2 -2
- package/esm2022/common/lib/services/hotkey.service.mjs +4 -5
- package/esm2022/common/lib/types/direction.mjs +1 -1
- package/esm2022/common/lib/types/orientation.mjs +1 -1
- package/esm2022/common/lib/types/placement.mjs +23 -23
- package/esm2022/common/lib/types/range.mjs +1 -1
- package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
- package/esm2022/context-menu/lib/context-menu.module.mjs +7 -17
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +1 -1
- package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +21 -8
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +17 -5
- package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -7
- package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager.module.mjs +30 -16
- package/esm2022/data-table/lib/data-column.directive.mjs +2 -2
- package/esm2022/data-table/lib/data-table.component.mjs +2 -2
- package/esm2022/data-table/lib/data-table.module.mjs +7 -7
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +7 -7
- package/esm2022/datetime-box/lib/datetime-box.module.mjs +7 -7
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +134 -134
- package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
- package/esm2022/datetime-picker/index.mjs +2 -2
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +4 -4
- package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +4 -4
- package/esm2022/decorators/lib/components/clear-button.component.mjs +2 -2
- package/esm2022/decorators/lib/components/close-button.component.mjs +8 -4
- package/esm2022/decorators/lib/components/generic-content.component.mjs +1 -1
- package/esm2022/decorators/lib/components/icon.component.mjs +2 -2
- package/esm2022/dialog/lib/dialog.component.mjs +3 -3
- package/esm2022/dialog/lib/dialog.module.mjs +26 -10
- package/esm2022/drawer/lib/drawer-container.component.mjs +2 -2
- package/esm2022/drawer/lib/drawer.component.mjs +2 -2
- package/esm2022/drawer/lib/drawer.module.mjs +3 -3
- package/esm2022/dropdown/lib/dropdown-box.class.mjs +1 -1
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +14 -11
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +5 -4
- package/esm2022/dropdown/lib/dropdown.module.mjs +29 -9
- package/esm2022/form/index.mjs +2 -2
- package/esm2022/form/lib/form-field.component.mjs +4 -4
- package/esm2022/form/lib/form.component.mjs +3 -4
- package/esm2022/form/lib/form.config.mjs +6 -6
- package/esm2022/form/lib/form.module.mjs +3 -11
- package/esm2022/form/lib/validation-summary.component.mjs +40 -30
- package/esm2022/form/lib/validation.class.mjs +1 -1
- package/esm2022/image/lib/image.component.mjs +1 -1
- package/esm2022/image/lib/image.module.mjs +2 -2
- package/esm2022/label/lib/label.component.mjs +4 -8
- package/esm2022/label/lib/label.module.mjs +2 -2
- package/esm2022/list/lib/list.component.mjs +67 -44
- package/esm2022/list/lib/list.module.mjs +3 -3
- package/esm2022/loading/index.mjs +2 -2
- package/esm2022/loading/lib/loading-spinner.component.mjs +13 -7
- package/esm2022/loading/lib/loading.component.mjs +8 -16
- package/esm2022/loading/lib/loading.config.mjs +2 -2
- package/esm2022/loading/lib/loading.directive.mjs +2 -2
- package/esm2022/menu/lib/menu-item/menu-item.component.mjs +1 -2
- package/esm2022/menu/lib/menu.component.mjs +2 -2
- package/esm2022/menu/lib/menu2.component.mjs +2 -2
- package/esm2022/mixin/lib/base-components.class.mjs +2 -3
- package/esm2022/mixin/lib/base-menu-mixin.class.mjs +1 -1
- package/esm2022/mixin/lib/button-mixin.class.mjs +1 -1
- package/esm2022/mixin/lib/clickable-mixin.class.mjs +8 -8
- package/esm2022/mixin/lib/color-look-mixing.class.mjs +3 -3
- package/esm2022/mixin/lib/constratctor.mjs +1 -1
- package/esm2022/mixin/lib/datalist-component.class.mjs +3 -5
- package/esm2022/mixin/lib/datalist.class.mjs +5 -6
- package/esm2022/mixin/lib/dropdown-mixin.class.mjs +2 -4
- package/esm2022/mixin/lib/interactive-mixin.class.mjs +29 -28
- package/esm2022/mixin/lib/mixin.class.mjs +13 -13
- package/esm2022/mixin/lib/page-component.class.mjs +3 -3
- package/esm2022/mixin/lib/selection-component.class.mjs +1 -1
- package/esm2022/mixin/lib/textbox-mixin.class.mjs +29 -20
- package/esm2022/mixin/lib/value-mixin.class.mjs +1 -1
- package/esm2022/notification/index.mjs +2 -2
- package/esm2022/notification/lib/notification.class.mjs +1 -1
- package/esm2022/notification/lib/notification.config.mjs +1 -1
- package/esm2022/notification/lib/notification.module.mjs +21 -9
- package/esm2022/notification/lib/notification.service.mjs +11 -11
- package/esm2022/number-box/lib/number-box.component.mjs +6 -6
- package/esm2022/number-box/lib/number-box.module.mjs +6 -16
- package/esm2022/otp/lib/otp.component.mjs +5 -5
- package/esm2022/otp/lib/otp.module.mjs +2 -2
- package/esm2022/page/lib/base-page.class.mjs +6 -4
- package/esm2022/page/lib/page.component.mjs +3 -3
- package/esm2022/page/lib/page.module.mjs +1 -1
- package/esm2022/password-box/lib/password-box.component.mjs +6 -6
- package/esm2022/password-box/lib/password-box.module.mjs +7 -15
- package/esm2022/picker/lib/picker-column.directive.mjs +9 -16
- package/esm2022/picker/lib/picker.component.mjs +2 -2
- package/esm2022/picker/lib/picker.module.mjs +3 -3
- package/esm2022/popover/lib/popover.component.mjs +1 -1
- package/esm2022/popover/lib/popover.module.mjs +2 -2
- package/esm2022/popup/index.mjs +2 -2
- package/esm2022/popup/lib/popup.interface.mjs +1 -1
- package/esm2022/popup/lib/popup.module.mjs +2 -2
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +5 -5
- package/esm2022/progress-bar/lib/progress-bar.module.mjs +2 -2
- package/esm2022/radio/lib/radio.component.mjs +8 -8
- package/esm2022/radio/lib/radio.module.mjs +2 -2
- package/esm2022/range-slider/lib/range-slider.component.mjs +9 -9
- package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
- package/esm2022/result/lib/result.component.mjs +4 -4
- package/esm2022/result/lib/result.module.mjs +2 -2
- package/esm2022/routing-progress/acorex-components-routing-progress.mjs +5 -0
- package/esm2022/routing-progress/index.mjs +3 -0
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +58 -0
- package/esm2022/routing-progress/lib/routing-progress.module.mjs +21 -0
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +4 -2
- package/esm2022/scheduler/lib/scheduler.component.mjs +1 -1
- package/esm2022/search-box/lib/search-box.component.mjs +43 -19
- package/esm2022/search-box/lib/search-box.module.mjs +8 -8
- package/esm2022/select-box/index.mjs +2 -2
- package/esm2022/select-box/lib/select-box.component.mjs +4 -4
- package/esm2022/select-box/lib/select-box.module.mjs +9 -9
- package/esm2022/select-box/lib/select-box2.component.mjs +110 -16
- package/esm2022/selection-list/lib/selection-list.component.mjs +10 -10
- package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
- package/esm2022/switch/lib/switch-content.component.mjs +1 -1
- package/esm2022/switch/lib/switch.component.mjs +11 -18
- package/esm2022/switch/lib/switch.module.mjs +4 -4
- package/esm2022/tabs/lib/tab-content.directive.mjs +1 -1
- package/esm2022/tabs/lib/tabs.component.mjs +2 -2
- package/esm2022/tabs/lib/tabs.module.mjs +5 -5
- package/esm2022/tag/lib/tag.component.mjs +4 -4
- package/esm2022/tag/lib/tag.module.mjs +2 -2
- package/esm2022/text-area/lib/text-area.component.mjs +14 -16
- package/esm2022/text-area/lib/text-area.module.mjs +2 -2
- package/esm2022/text-box/lib/text-box.component.mjs +6 -6
- package/esm2022/text-box/lib/text-box.module.mjs +4 -18
- package/esm2022/toast/index.mjs +2 -2
- package/esm2022/toast/lib/toast.class.mjs +1 -1
- package/esm2022/toast/lib/toast.component.mjs +4 -4
- package/esm2022/toast/lib/toast.config.mjs +3 -3
- package/esm2022/toast/lib/toast.module.mjs +6 -10
- package/esm2022/toast/lib/toast.service.mjs +16 -14
- package/esm2022/tooltip/lib/tooltip.component.mjs +2 -2
- package/esm2022/tooltip/lib/tooltip.directive.mjs +4 -4
- package/esm2022/tooltip/lib/tooltip.module.mjs +3 -3
- package/esm2022/uploader/index.mjs +3 -1
- package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +3 -3
- package/esm2022/uploader/lib/uploader-list.component.mjs +41 -7
- package/esm2022/uploader/lib/uploader-overlay.component.mjs +2 -2
- package/esm2022/uploader/lib/uploader-zone.directive.mjs +53 -0
- package/esm2022/uploader/lib/uploader.module.mjs +26 -7
- package/esm2022/uploader/lib/uploader.service.mjs +30 -0
- package/fesm2022/acorex-components-action-sheet.mjs +23 -15
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +15 -15
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +2 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +2 -2
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +26 -38
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +9 -9
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +4 -4
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +23 -18
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +6 -6
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +53 -59
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +136 -181
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-context-menu.mjs +6 -16
- package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +70 -19
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +1 -1
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +133 -133
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +8 -4
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +20 -4
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +1 -1
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +43 -19
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +76 -75
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -6
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +66 -43
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +19 -21
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +4 -5
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +70 -66
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +43 -31
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -17
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +4 -4
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +6 -4
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +7 -15
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +10 -17
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +1 -1
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +3 -3
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +6 -6
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +83 -0
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -0
- package/fesm2022/acorex-components-scheduler.mjs +3 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +47 -24
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +197 -106
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +12 -12
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +9 -16
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +3 -3
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +2 -2
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +13 -15
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +8 -22
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +43 -45
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +146 -18
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/form/index.d.ts +1 -1
- package/form/lib/form.component.d.ts +2 -2
- package/form/lib/validation-summary.component.d.ts +3 -3
- package/list/lib/list.component.d.ts +18 -7
- package/loading/index.d.ts +1 -1
- package/loading/lib/loading.component.d.ts +1 -1
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +9 -9
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/datalist.class.d.ts +1 -1
- package/mixin/lib/dropdown-mixin.class.d.ts +3 -3
- package/mixin/lib/interactive-mixin.class.d.ts +25 -22
- package/mixin/lib/mixin.class.d.ts +62 -62
- package/mixin/lib/page-component.class.d.ts +4 -4
- package/mixin/lib/selection-component.class.d.ts +3 -3
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +20 -20
- package/mixin/lib/value-mixin.class.d.ts +9 -9
- package/notification/index.d.ts +1 -1
- package/notification/lib/notification.class.d.ts +3 -3
- package/notification/lib/notification.config.d.ts +1 -1
- package/number-box/lib/number-box.component.d.ts +3 -3
- package/otp/lib/otp.component.d.ts +3 -3
- package/package.json +7 -1
- package/page/lib/base-page.class.d.ts +1 -1
- package/page/lib/page.component.d.ts +1 -1
- package/password-box/lib/password-box.component.d.ts +4 -4
- package/popup/index.d.ts +1 -1
- package/popup/lib/popup.interface.d.ts +2 -2
- package/routing-progress/README.md +3 -0
- package/routing-progress/index.d.ts +2 -0
- package/routing-progress/lib/routing-progress.component.d.ts +14 -0
- package/routing-progress/lib/routing-progress.module.d.ts +8 -0
- package/search-box/lib/search-box.component.d.ts +10 -4
- package/select-box/index.d.ts +1 -1
- package/select-box/lib/select-box2.component.d.ts +26 -7
- package/selection-list/lib/selection-list.component.d.ts +3 -3
- package/text-area/lib/text-area.component.d.ts +3 -3
- package/text-box/lib/text-box.component.d.ts +3 -3
- package/toast/index.d.ts +1 -1
- package/toast/lib/toast.class.d.ts +1 -1
- package/toast/lib/toast.component.d.ts +2 -1
- package/toast/lib/toast.config.d.ts +1 -1
- package/tooltip/lib/tooltip.directive.d.ts +1 -1
- package/uploader/index.d.ts +2 -0
- package/uploader/lib/uploader-list.component.d.ts +14 -1
- package/uploader/lib/uploader-zone.directive.d.ts +18 -0
- package/uploader/lib/uploader.module.d.ts +6 -4
- package/uploader/lib/uploader.service.d.ts +10 -0
- package/common/lib/components/appearance-component.class.d.ts +0 -12
- package/esm2022/common/lib/components/appearance-component.class.mjs +0 -25
@@ -1,8 +1,8 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { inject, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, HostListener, NgModule } from '@angular/core';
|
3
1
|
import { MXInputBaseValueComponent, AXComponent, AXFocusableComponent, AXValuableComponent, AXClearableComponent } from '@acorex/components/common';
|
4
|
-
import { AXStringUtil } from '@acorex/core/utils';
|
5
2
|
import { AXCalendarService, AXDateTimeModule } from '@acorex/core/dateTime';
|
3
|
+
import { AXStringUtil } from '@acorex/core/utils';
|
4
|
+
import * as i0 from '@angular/core';
|
5
|
+
import { inject, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, HostListener, NgModule } from '@angular/core';
|
6
6
|
import * as i1 from '@angular/forms';
|
7
7
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
8
8
|
import { CommonModule } from '@angular/common';
|
@@ -13,59 +13,59 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
13
13
|
this.calendarService = inject(AXCalendarService);
|
14
14
|
this._editingParts = {
|
15
15
|
year: {
|
16
|
-
key:
|
17
|
-
placeholder:
|
18
|
-
placeholders: [
|
16
|
+
key: 'year',
|
17
|
+
placeholder: 'yyyy',
|
18
|
+
placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],
|
19
19
|
enabled: false,
|
20
20
|
default: 2023,
|
21
21
|
typedValue: null,
|
22
|
-
realValue: () => this.editingDateObj.format(this._editingParts.year.placeholder)
|
22
|
+
realValue: () => this.editingDateObj.format(this._editingParts.year.placeholder),
|
23
23
|
},
|
24
24
|
month: {
|
25
|
-
key:
|
26
|
-
placeholder:
|
27
|
-
placeholders: [
|
25
|
+
key: 'month',
|
26
|
+
placeholder: 'MM',
|
27
|
+
placeholders: ['MMM', 'MMMM', 'MM', 'M'],
|
28
28
|
enabled: false,
|
29
29
|
default: 1,
|
30
30
|
typedValue: null,
|
31
|
-
realValue: () => this.editingDateObj.format(this._editingParts.month.placeholder)
|
31
|
+
realValue: () => this.editingDateObj.format(this._editingParts.month.placeholder),
|
32
32
|
},
|
33
33
|
day: {
|
34
|
-
key:
|
35
|
-
placeholder:
|
36
|
-
placeholders: [
|
34
|
+
key: 'day',
|
35
|
+
placeholder: 'dd',
|
36
|
+
placeholders: ['dd', 'd', 'DDDD', 'ddd'],
|
37
37
|
enabled: false,
|
38
38
|
default: 1,
|
39
39
|
typedValue: null,
|
40
|
-
realValue: () => this.editingDateObj.format(this._editingParts.day.placeholder)
|
40
|
+
realValue: () => this.editingDateObj.format(this._editingParts.day.placeholder),
|
41
41
|
},
|
42
42
|
hour: {
|
43
|
-
key:
|
44
|
-
placeholder:
|
45
|
-
placeholders: [
|
43
|
+
key: 'hour',
|
44
|
+
placeholder: 'HH',
|
45
|
+
placeholders: ['HH', 'H', 'hh', 'h'],
|
46
46
|
enabled: false,
|
47
47
|
default: 0,
|
48
48
|
typedValue: null,
|
49
|
-
realValue: () => this.editingDateObj.format(this._editingParts.hour.placeholder)
|
49
|
+
realValue: () => this.editingDateObj.format(this._editingParts.hour.placeholder),
|
50
50
|
},
|
51
51
|
minute: {
|
52
|
-
key:
|
53
|
-
placeholder:
|
54
|
-
placeholders: [
|
52
|
+
key: 'minute',
|
53
|
+
placeholder: 'mm',
|
54
|
+
placeholders: ['mm', 'm'],
|
55
55
|
enabled: false,
|
56
56
|
default: 0,
|
57
57
|
typedValue: null,
|
58
|
-
realValue: () => this.editingDateObj.format(this._editingParts.minute.placeholder)
|
58
|
+
realValue: () => this.editingDateObj.format(this._editingParts.minute.placeholder),
|
59
59
|
},
|
60
60
|
second: {
|
61
|
-
key:
|
62
|
-
placeholder:
|
63
|
-
placeholders: [
|
61
|
+
key: 'second',
|
62
|
+
placeholder: 'ss',
|
63
|
+
placeholders: ['ss', 's'],
|
64
64
|
enabled: false,
|
65
65
|
default: 0,
|
66
66
|
typedValue: null,
|
67
|
-
realValue: () => this.editingDateObj.format(this._editingParts.second.placeholder)
|
68
|
-
}
|
67
|
+
realValue: () => this.editingDateObj.format(this._editingParts.second.placeholder),
|
68
|
+
},
|
69
69
|
};
|
70
70
|
this._inputChars = [];
|
71
71
|
this._type = this.calendarService.calendar.name();
|
@@ -116,12 +116,12 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
116
116
|
name: 'format',
|
117
117
|
value: v,
|
118
118
|
afterCallback: (o, n) => {
|
119
|
-
Object.values(this._editingParts).forEach(e => {
|
119
|
+
Object.values(this._editingParts).forEach((e) => {
|
120
120
|
e.enabled = false;
|
121
121
|
});
|
122
122
|
const formatParts = n.split(/[^a-zA-Z]+/);
|
123
|
-
formatParts.forEach(f => {
|
124
|
-
const found = Object.values(this._editingParts).find(c => c.placeholders.some(d => d == f));
|
123
|
+
formatParts.forEach((f) => {
|
124
|
+
const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));
|
125
125
|
if (found) {
|
126
126
|
found.enabled = true;
|
127
127
|
found.placeholder = f;
|
@@ -134,8 +134,8 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
134
134
|
// TODO: better spliter format
|
135
135
|
const formatParts = this.format.split(/[^a-zA-Z]+/);
|
136
136
|
const result = [];
|
137
|
-
formatParts.forEach(f => {
|
138
|
-
const found = Object.values(this._editingParts).find(c => c.placeholders.some(d => d == f));
|
137
|
+
formatParts.forEach((f) => {
|
138
|
+
const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));
|
139
139
|
if (found && found.enabled)
|
140
140
|
result.push(found);
|
141
141
|
});
|
@@ -147,7 +147,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
147
147
|
_updateText() {
|
148
148
|
let text = this.format;
|
149
149
|
//
|
150
|
-
Object.values(this._editingParts).forEach(part => {
|
150
|
+
Object.values(this._editingParts).forEach((part) => {
|
151
151
|
if (this.activePart == part.key) {
|
152
152
|
if (part.typedValue)
|
153
153
|
text = text.replace(part.placeholder, part.typedValue);
|
@@ -167,7 +167,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
167
167
|
if (value) {
|
168
168
|
let editingDate = this.calendarService.create(value, this.type);
|
169
169
|
let applyChanges = false;
|
170
|
-
Object.values(this._editingParts).forEach(part => {
|
170
|
+
Object.values(this._editingParts).forEach((part) => {
|
171
171
|
if (!part.enabled) {
|
172
172
|
editingDate = editingDate.set(part.key, part.default);
|
173
173
|
applyChanges = true;
|
@@ -183,7 +183,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
183
183
|
if (value) {
|
184
184
|
this._editingDateObj = this.calendarService.create(value, this.type);
|
185
185
|
}
|
186
|
-
Object.values(this._editingParts).forEach(part => {
|
186
|
+
Object.values(this._editingParts).forEach((part) => {
|
187
187
|
if (value) {
|
188
188
|
if (part.typedValue != part.placeholder)
|
189
189
|
part.typedValue = part.realValue();
|
@@ -224,8 +224,8 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
224
224
|
ignore();
|
225
225
|
e.code === 'ArrowRight' ? goNext() : goPrev();
|
226
226
|
}
|
227
|
-
/*************** Handle Up and Down **************/
|
228
227
|
else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {
|
228
|
+
/*************** Handle Up and Down **************/
|
229
229
|
if (this.disabled || this.readonly) {
|
230
230
|
ignore();
|
231
231
|
return;
|
@@ -240,8 +240,8 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
240
240
|
this._detectValueChanges();
|
241
241
|
}
|
242
242
|
}
|
243
|
-
/*************** Handle Backspace **************/
|
244
243
|
else if (e.code == 'Backspace' || e.code == 'Delete') {
|
244
|
+
/*************** Handle Backspace **************/
|
245
245
|
if (this.disabled || this.readonly) {
|
246
246
|
return;
|
247
247
|
}
|
@@ -252,8 +252,8 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
252
252
|
goPrev();
|
253
253
|
}
|
254
254
|
}
|
255
|
-
/*************** Handle Backspace **************/
|
256
255
|
else if (e.code == 'Tab' || e.code == 'Space') {
|
256
|
+
/*************** Handle Backspace **************/
|
257
257
|
if (input.value) {
|
258
258
|
if (!e.shiftKey && nextPart) {
|
259
259
|
ignore();
|
@@ -274,115 +274,114 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
274
274
|
const editing = this._editingParts[part.key];
|
275
275
|
//
|
276
276
|
switch (part.key) {
|
277
|
-
case 'year':
|
278
|
-
{
|
279
|
-
|
280
|
-
|
277
|
+
case 'year': {
|
278
|
+
if (editing.placeholder.length == 2 && this._inputChars.length == 0) {
|
279
|
+
this._inputChars.push(...this.calendarService.now(this.type).format('yyyy').substring(0, 2).split(''));
|
280
|
+
}
|
281
|
+
if (this._inputChars.length < 4) {
|
282
|
+
editing.typedValue = `${this._inputChars.join('')}${e.key}`;
|
283
|
+
this._inputChars.push(e.key);
|
284
|
+
if (this._inputChars.length > 3) {
|
285
|
+
next = true;
|
286
|
+
}
|
287
|
+
}
|
288
|
+
else {
|
289
|
+
next = true;
|
290
|
+
}
|
291
|
+
editing.typedValue = ('0000' + editing.typedValue).slice(-4);
|
292
|
+
const nv = parseInt(editing.typedValue);
|
293
|
+
//if (nv > 0) {
|
294
|
+
const newVal = this.editingDateObj.set('year', nv);
|
295
|
+
this._editingDateObj = newVal;
|
296
|
+
this._detectValueChanges();
|
297
|
+
//}
|
298
|
+
break;
|
299
|
+
}
|
300
|
+
case 'month': {
|
301
|
+
if (this._inputChars.length == 0) {
|
302
|
+
this._inputChars.push(e.key);
|
303
|
+
editing.typedValue = `0${e.key}`;
|
304
|
+
if (parseInt(e.key) > 1) {
|
305
|
+
this._clearInputBuffer();
|
306
|
+
next = true;
|
281
307
|
}
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
}
|
308
|
+
}
|
309
|
+
else if (this._inputChars.length == 1) {
|
310
|
+
const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
|
311
|
+
if (newStr > 12) {
|
312
|
+
editing.typedValue = `0${e.key}`;
|
288
313
|
}
|
289
314
|
else {
|
290
|
-
|
315
|
+
editing.typedValue = newStr.toString();
|
291
316
|
}
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
317
|
+
this._clearInputBuffer();
|
318
|
+
next = true;
|
319
|
+
}
|
320
|
+
editing.typedValue =
|
321
|
+
editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
|
322
|
+
const nv = parseInt(editing.typedValue);
|
323
|
+
if (nv > 0) {
|
324
|
+
const newVal = this.editingDateObj.set(part.key, nv);
|
296
325
|
this._editingDateObj = newVal;
|
297
326
|
this._detectValueChanges();
|
298
|
-
//}
|
299
|
-
break;
|
300
327
|
}
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
next = true;
|
309
|
-
}
|
310
|
-
}
|
311
|
-
else if (this._inputChars.length == 1) {
|
312
|
-
const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
|
313
|
-
if (newStr > 12) {
|
314
|
-
editing.typedValue = `0${e.key}`;
|
315
|
-
}
|
316
|
-
else {
|
317
|
-
editing.typedValue = newStr.toString();
|
318
|
-
}
|
328
|
+
break;
|
329
|
+
}
|
330
|
+
case 'day': {
|
331
|
+
if (this._inputChars.length == 0) {
|
332
|
+
this._inputChars.push(e.key);
|
333
|
+
editing.typedValue = `0${e.key}`;
|
334
|
+
if (parseInt(e.key) > 3) {
|
319
335
|
this._clearInputBuffer();
|
320
336
|
next = true;
|
321
337
|
}
|
322
|
-
editing.typedValue = editing.typedValue?.length === 1 ? "0" + editing.typedValue : editing.typedValue;
|
323
|
-
const nv = parseInt(editing.typedValue);
|
324
|
-
if (nv > 0) {
|
325
|
-
const newVal = this.editingDateObj.set(part.key, nv);
|
326
|
-
this._editingDateObj = newVal;
|
327
|
-
this._detectValueChanges();
|
328
|
-
}
|
329
|
-
break;
|
330
338
|
}
|
331
|
-
|
332
|
-
|
333
|
-
if (this.
|
334
|
-
this._inputChars.push(e.key);
|
339
|
+
else if (this._inputChars.length == 1) {
|
340
|
+
const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
|
341
|
+
if (newStr > this._editingDateObj.month.totalDays) {
|
335
342
|
editing.typedValue = `0${e.key}`;
|
336
|
-
if (parseInt(e.key) > 3) {
|
337
|
-
this._clearInputBuffer();
|
338
|
-
next = true;
|
339
|
-
}
|
340
343
|
}
|
341
|
-
else
|
342
|
-
|
343
|
-
if (newStr > this._editingDateObj.month.totalDays) {
|
344
|
-
editing.typedValue = `0${e.key}`;
|
345
|
-
}
|
346
|
-
else {
|
347
|
-
editing.typedValue = newStr.toString();
|
348
|
-
}
|
349
|
-
this._clearInputBuffer();
|
350
|
-
next = true;
|
344
|
+
else {
|
345
|
+
editing.typedValue = newStr.toString();
|
351
346
|
}
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
347
|
+
this._clearInputBuffer();
|
348
|
+
next = true;
|
349
|
+
}
|
350
|
+
editing.typedValue =
|
351
|
+
editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
|
352
|
+
const nv = parseInt(editing.typedValue);
|
353
|
+
if (nv > 0) {
|
354
|
+
const newVal = this.editingDateObj.set(part.key, nv);
|
355
|
+
this._editingDateObj = newVal;
|
356
|
+
this._detectValueChanges();
|
357
|
+
}
|
358
|
+
break;
|
359
|
+
}
|
360
|
+
case 'hour': {
|
361
|
+
if (this._inputChars.length == 0) {
|
362
|
+
this._inputChars.push(e.key);
|
363
|
+
editing.typedValue = `0${e.key}`;
|
364
|
+
if (parseInt(e.key) > 2) {
|
365
|
+
next = true;
|
358
366
|
}
|
359
|
-
break;
|
360
367
|
}
|
361
|
-
|
362
|
-
|
363
|
-
if (
|
364
|
-
this._inputChars.push(e.key);
|
368
|
+
else if (this._inputChars.length == 1) {
|
369
|
+
const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
|
370
|
+
if (newStr > 23) {
|
365
371
|
editing.typedValue = `0${e.key}`;
|
366
|
-
if (parseInt(e.key) > 2) {
|
367
|
-
next = true;
|
368
|
-
}
|
369
372
|
}
|
370
|
-
else
|
371
|
-
|
372
|
-
if (newStr > 23) {
|
373
|
-
editing.typedValue = `0${e.key}`;
|
374
|
-
}
|
375
|
-
else {
|
376
|
-
editing.typedValue = newStr.toString();
|
377
|
-
}
|
378
|
-
next = true;
|
373
|
+
else {
|
374
|
+
editing.typedValue = newStr.toString();
|
379
375
|
}
|
380
|
-
|
381
|
-
const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));
|
382
|
-
this._editingDateObj = newVal;
|
383
|
-
this._detectValueChanges();
|
384
|
-
break;
|
376
|
+
next = true;
|
385
377
|
}
|
378
|
+
editing.typedValue =
|
379
|
+
editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
|
380
|
+
const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));
|
381
|
+
this._editingDateObj = newVal;
|
382
|
+
this._detectValueChanges();
|
383
|
+
break;
|
384
|
+
}
|
386
385
|
case 'minute':
|
387
386
|
case 'second':
|
388
387
|
if (this._inputChars.length == 0) {
|
@@ -404,7 +403,8 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
404
403
|
this._clearInputBuffer();
|
405
404
|
next = true;
|
406
405
|
}
|
407
|
-
editing.typedValue =
|
406
|
+
editing.typedValue =
|
407
|
+
editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
|
408
408
|
const newVal = this.editingDateObj.set(part.key, parseInt(editing.typedValue));
|
409
409
|
this._editingDateObj = newVal;
|
410
410
|
this._detectValueChanges();
|
@@ -445,7 +445,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
445
445
|
const re = /[a-zA-Z0-9]+/gi;
|
446
446
|
const valueParts = Array.from(input.value.matchAll(re));
|
447
447
|
const orderedParts = this._getOrderedParts();
|
448
|
-
const index = valueParts.findIndex((c) => c.index <= sStart &&
|
448
|
+
const index = valueParts.findIndex((c) => c.index <= sStart && c.index + c[0].length >= sStart);
|
449
449
|
this.activePart = orderedParts[index].key;
|
450
450
|
this._highlightActivePart();
|
451
451
|
}
|
@@ -454,7 +454,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
|
|
454
454
|
if (!input.value || !this.activePart)
|
455
455
|
return;
|
456
456
|
const orderedParts = this._getOrderedParts();
|
457
|
-
const index = orderedParts.findIndex(c => c.key == this.activePart);
|
457
|
+
const index = orderedParts.findIndex((c) => c.key == this.activePart);
|
458
458
|
const re = /[a-zA-Z0-9]+/gi;
|
459
459
|
const valueParts = Array.from(input.value.matchAll(re));
|
460
460
|
const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, valueParts[index]?.index);
|
@@ -516,10 +516,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
516
516
|
type: Input
|
517
517
|
}], _handleOnKeydownEvent: [{
|
518
518
|
type: HostListener,
|
519
|
-
args: [
|
519
|
+
args: ['keydown', ['$event']]
|
520
520
|
}], _handleKeyUpEvent: [{
|
521
521
|
type: HostListener,
|
522
|
-
args: [
|
522
|
+
args: ['keyup', ['$event']]
|
523
523
|
}] } });
|
524
524
|
|
525
525
|
const COMPONENT = [AXDateTimeInputComponent];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../libs/components/datetime-input/src/lib/datetime-input.component.ts","../../../../libs/components/datetime-input/src/lib/datetime-input.component.html","../../../../libs/components/datetime-input/src/lib/datetime-input.module.ts","../../../../libs/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, forwardRef, inject } from '@angular/core';\nimport { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent } from '@acorex/components/common';\nimport { AXStringUtil } from '@acorex/core/utils';\nimport { AXCalendarService, AXDateTime, TimeUnit, AXDateTimePart, AXDateTimeParts } from '@acorex/core/dateTime';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\n\n\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n host: { class: 'ax-editor-input' },\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n\n private calendarService: AXCalendarService = inject(AXCalendarService);\n\n private _editingParts: AXDateTimeParts = {\n year: {\n key: \"year\",\n placeholder: \"yyyy\",\n placeholders: [\"YY\", \"yy\", \"YYYY\", \"yyyy\"],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.year.placeholder)\n },\n month: {\n key: \"month\",\n placeholder: \"MM\",\n placeholders: [\"MMM\", \"MMMM\", \"MM\", \"M\"],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.month.placeholder)\n },\n day: {\n key: \"day\",\n placeholder: \"dd\",\n placeholders: [\"dd\", \"d\", \"DDDD\", \"ddd\"],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.day.placeholder)\n },\n hour: {\n key: \"hour\",\n placeholder: \"HH\",\n placeholders: [\"HH\", \"H\", \"hh\", \"h\"],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.hour.placeholder)\n },\n minute: {\n key: \"minute\",\n placeholder: \"mm\",\n placeholders: [\"mm\", \"m\"],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.minute.placeholder)\n },\n second: {\n key: \"second\",\n placeholder: \"ss\",\n placeholders: [\"ss\", \"s\"],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.second.placeholder)\n }\n }\n\n protected _editingText: string;\n protected _inputChars: string[] = [];\n\n\n private _type: string = this.calendarService.calendar.name();\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n\n private _activePart = 'hour';\n public get activePart(): string {\n return this._activePart;\n }\n public set activePart(v: string) {\n this._activePart = v;\n this._clearInputBuffer();\n }\n\n private _editingDateObj: AXDateTime = this.calendarService.now(this.type);\n private get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n\n @ViewChild('input')\n input: ElementRef<HTMLInputElement>;\n\n @ViewChild('input2')\n input2: ElementRef<HTMLInputElement>;\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this._minValue = v;\n }\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this._maxValue = v;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n Object.values(this._editingParts).forEach(e => {\n e.enabled = false;\n });\n const formatParts = n.split(/[^a-zA-Z]+/);\n formatParts.forEach(f => {\n const found = Object.values(this._editingParts).find(c => c.placeholders.some(d => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n },\n });\n }\n\n\n private _getOrderedParts(): AXDateTimePart[] {\n // TODO: better spliter format\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach(f => {\n const found = Object.values(this._editingParts).find(c => c.placeholders.some(d => d == f));\n if (found && found.enabled)\n result.push(found);\n });\n return result;\n }\n\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n private _updateText() {\n let text = this.format;\n //\n Object.values(this._editingParts).forEach(part => {\n if (this.activePart == part.key) {\n if (part.typedValue)\n text = text.replace(part.placeholder, part.typedValue);\n }\n else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue())\n }\n }\n\n });\n this._editingText = text == this.format ? '' : text;\n if (this.activePart) {\n this._highlightActivePart()\n }\n }\n\n override internalSetValue(value?: Date) {\n if (value) {\n let editingDate = this.calendarService.create(value, this.type);\n let applyChanges = false;\n Object.values(this._editingParts).forEach(part => {\n if (!part.enabled) {\n editingDate = editingDate.set(part.key as TimeUnit, part.default);\n applyChanges = true;\n }\n });\n if (applyChanges) {\n return editingDate.date;\n }\n }\n return value;\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this.calendarService.create(value, this.type);\n }\n Object.values(this._editingParts).forEach(part => {\n if (value) {\n if (part.typedValue != part.placeholder)\n part.typedValue = part.realValue();\n }\n else\n part.typedValue = null;\n });\n this._updateText();\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const input = e.target as HTMLInputElement;\n //\n const orderedParts = this._getOrderedParts();\n const part = this.activePart ? this._editingParts[this.activePart] : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n //\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this.activePart = nextPart.key;\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this.activePart = prevPart.key;\n this._highlightActivePart();\n }\n };\n /*************** Handle Left and Right **************/\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n e.code === 'ArrowRight' ? goNext() : goPrev();\n }\n /*************** Handle Up and Down **************/\n else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n if (this.disabled || this.readonly) {\n ignore();\n return;\n }\n else {\n ignore();\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this.activePart = part.key;\n let newVal: AXDateTime = this.editingDateObj.add(part.key, sign);\n this._editingParts[part.key].typedValue = newVal.format(this._editingParts[part.key].placeholder)\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n }\n /*************** Handle Backspace **************/\n else if (e.code == 'Backspace' || e.code == 'Delete') {\n if (this.disabled || this.readonly) {\n return;\n }\n if (input.value) {\n ignore();\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._detectValueChanges();\n goPrev();\n }\n }\n /*************** Handle Backspace **************/\n else if (e.code == 'Tab' || e.code == 'Space') {\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n }\n else if (e.key?.trim() && !isNaN(Number(e.key))) {\n ignore();\n if (this.disabled || this.readonly) {\n return;\n }\n let next = false;\n const editing = this._editingParts[part.key];\n //\n switch (part.key) {\n case 'year':\n {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(...this.calendarService.now(this.type).format('yyyy').substring(0, 2).split(''));\n }\n if (this._inputChars.length < 4) {\n editing.typedValue = `${this._inputChars.join('')}${e.key}`;\n this._inputChars.push(e.key)\n if (this._inputChars.length > 3) {\n next = true;\n }\n }\n else {\n next = true;\n }\n editing.typedValue = ('0000' + editing.typedValue).slice(-4);\n const nv = parseInt(editing.typedValue);\n //if (nv > 0) {\n const newVal = this.editingDateObj.set('year', nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n //}\n break;\n }\n case 'month':\n {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key)\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 1) {\n this._clearInputBuffer();\n next = true;\n }\n }\n else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 12) {\n editing.typedValue = `0${e.key}`;\n }\n else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? \"0\" + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'day':\n {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key)\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 3) {\n this._clearInputBuffer();\n next = true;\n }\n }\n else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > this._editingDateObj.month.totalDays) {\n editing.typedValue = `0${e.key}`;\n }\n else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? \"0\" + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'hour':\n {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key)\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 2) {\n next = true;\n }\n }\n else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 23) {\n editing.typedValue = `0${e.key}`;\n }\n else {\n editing.typedValue = newStr.toString();\n }\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? \"0\" + editing.typedValue : editing.typedValue;\n const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n }\n case 'minute':\n case 'second':\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key)\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 5) {\n this._clearInputBuffer();\n next = true;\n }\n }\n else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 59) {\n editing.typedValue = `0${e.key}`;\n }\n else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? \"0\" + editing.typedValue : editing.typedValue;\n const newVal = this.editingDateObj.set(part.key, parseInt(editing.typedValue));\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n default:\n }\n if (next) {\n goNext()\n return;\n }\n }\n /*************** Emit Event **************/\n super.emitOnKeydownEvent(e);\n }\n\n @HostListener(\"keyup\", [\"$event\"])\n _handleKeyUpEvent(e: KeyboardEvent) {\n if (this.activePart) {\n this._highlightActivePart()\n }\n }\n\n protected _handleFocusEvent(e: FocusEvent) {\n //this._highlightActivePart();\n super.emitOnFocusEvent(e);\n }\n\n protected _handleBlurEvent(e: FocusEvent) {\n super.emitOnBlurEvent(e);\n }\n\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n setTimeout(() => {\n this._detectPartAtPosition();\n }, 0);\n super.emitOnClickEvent(e);\n }\n\n private _detectPartAtPosition(): void {\n const input = this.input.nativeElement;\n if (!input.value)\n return;\n const sStart = input.selectionEnd || 0;\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const orderedParts = this._getOrderedParts();\n const index = valueParts.findIndex((c: any) => c.index <= sStart && (c.index + c[0].length) >= sStart);\n this.activePart = orderedParts[index].key;\n this._highlightActivePart();\n }\n\n private _highlightActivePart(): void {\n const input = this.input.nativeElement;\n if (!input.value || !this.activePart)\n return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex(c => c.key == this.activePart);\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(\n input.value, valueParts[index]?.index\n );\n input.setSelectionRange(start, end);\n }\n\n private _detectValueChanges() {\n this.commitValue(this._editingDateObj.date, true);\n }\n}\n","<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\"\n (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\n\nconst COMPONENT = [AXDateTimeInputComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeInputModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../libs/components/datetime-input/src/lib/datetime-input.component.ts","../../../../libs/components/datetime-input/src/lib/datetime-input.component.html","../../../../libs/components/datetime-input/src/lib/datetime-input.module.ts","../../../../libs/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport {\n AXCalendarService,\n AXDateTime,\n AXDateTimePart,\n AXDateTimeParts,\n TimeUnit,\n} from '@acorex/core/dateTime';\nimport { AXStringUtil } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n host: { class: 'ax-editor-input' },\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private calendarService: AXCalendarService = inject(AXCalendarService);\n\n private _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'DDDD', 'ddd'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.second.placeholder),\n },\n };\n\n protected _editingText: string;\n protected _inputChars: string[] = [];\n\n private _type: string = this.calendarService.calendar.name();\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _activePart = 'hour';\n public get activePart(): string {\n return this._activePart;\n }\n public set activePart(v: string) {\n this._activePart = v;\n this._clearInputBuffer();\n }\n\n private _editingDateObj: AXDateTime = this.calendarService.now(this.type);\n private get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @ViewChild('input')\n input: ElementRef<HTMLInputElement>;\n\n @ViewChild('input2')\n input2: ElementRef<HTMLInputElement>;\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this._minValue = v;\n }\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this._maxValue = v;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = n.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n },\n });\n }\n\n private _getOrderedParts(): AXDateTimePart[] {\n // TODO: better spliter format\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n private _updateText() {\n let text = this.format;\n //\n Object.values(this._editingParts).forEach((part) => {\n if (this.activePart == part.key) {\n if (part.typedValue) text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText = text == this.format ? '' : text;\n if (this.activePart) {\n this._highlightActivePart();\n }\n }\n\n override internalSetValue(value?: Date) {\n if (value) {\n let editingDate = this.calendarService.create(value, this.type);\n let applyChanges = false;\n Object.values(this._editingParts).forEach((part) => {\n if (!part.enabled) {\n editingDate = editingDate.set(part.key as TimeUnit, part.default);\n applyChanges = true;\n }\n });\n if (applyChanges) {\n return editingDate.date;\n }\n }\n return value;\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this.calendarService.create(value, this.type);\n }\n Object.values(this._editingParts).forEach((part) => {\n if (value) {\n if (part.typedValue != part.placeholder) part.typedValue = part.realValue();\n } else part.typedValue = null;\n });\n this._updateText();\n }\n\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const input = e.target as HTMLInputElement;\n //\n const orderedParts = this._getOrderedParts();\n const part = this.activePart ? this._editingParts[this.activePart] : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n //\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this.activePart = nextPart.key;\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this.activePart = prevPart.key;\n this._highlightActivePart();\n }\n };\n /*************** Handle Left and Right **************/\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n e.code === 'ArrowRight' ? goNext() : goPrev();\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n /*************** Handle Up and Down **************/\n if (this.disabled || this.readonly) {\n ignore();\n return;\n } else {\n ignore();\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this.activePart = part.key;\n let newVal: AXDateTime = this.editingDateObj.add(part.key, sign);\n this._editingParts[part.key].typedValue = newVal.format(this._editingParts[part.key].placeholder);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n /*************** Handle Backspace **************/\n if (this.disabled || this.readonly) {\n return;\n }\n if (input.value) {\n ignore();\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._detectValueChanges();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n /*************** Handle Backspace **************/\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n } else if (e.key?.trim() && !isNaN(Number(e.key))) {\n ignore();\n if (this.disabled || this.readonly) {\n return;\n }\n let next = false;\n const editing = this._editingParts[part.key];\n //\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(\n ...this.calendarService.now(this.type).format('yyyy').substring(0, 2).split(''),\n );\n }\n if (this._inputChars.length < 4) {\n editing.typedValue = `${this._inputChars.join('')}${e.key}`;\n this._inputChars.push(e.key);\n if (this._inputChars.length > 3) {\n next = true;\n }\n } else {\n next = true;\n }\n editing.typedValue = ('0000' + editing.typedValue).slice(-4);\n const nv = parseInt(editing.typedValue);\n //if (nv > 0) {\n const newVal = this.editingDateObj.set('year', nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n //}\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 1) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 12) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'day': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 3) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > this._editingDateObj.month.totalDays) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 2) {\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 23) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n }\n case 'minute':\n case 'second':\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 5) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 59) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const newVal = this.editingDateObj.set(part.key, parseInt(editing.typedValue));\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n default:\n }\n if (next) {\n goNext();\n return;\n }\n }\n /*************** Emit Event **************/\n super.emitOnKeydownEvent(e);\n }\n\n @HostListener('keyup', ['$event'])\n _handleKeyUpEvent(e: KeyboardEvent) {\n if (this.activePart) {\n this._highlightActivePart();\n }\n }\n\n protected _handleFocusEvent(e: FocusEvent) {\n //this._highlightActivePart();\n super.emitOnFocusEvent(e);\n }\n\n protected _handleBlurEvent(e: FocusEvent) {\n super.emitOnBlurEvent(e);\n }\n\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n setTimeout(() => {\n this._detectPartAtPosition();\n }, 0);\n super.emitOnClickEvent(e);\n }\n\n private _detectPartAtPosition(): void {\n const input = this.input.nativeElement;\n if (!input.value) return;\n const sStart = input.selectionEnd || 0;\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const orderedParts = this._getOrderedParts();\n const index = valueParts.findIndex((c: any) => c.index <= sStart && c.index + c[0].length >= sStart);\n this.activePart = orderedParts[index].key;\n this._highlightActivePart();\n }\n\n private _highlightActivePart(): void {\n const input = this.input.nativeElement;\n if (!input.value || !this.activePart) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this.activePart);\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, valueParts[index]?.index);\n input.setSelectionRange(start, end);\n }\n\n private _detectValueChanges() {\n this.commitValue(this._editingDateObj.date, true);\n }\n}\n","<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\"\n (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { AXDateTimeModule } from '@acorex/core/dateTime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\nconst COMPONENT = [AXDateTimeInputComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|