@acorex/components 7.3.1 → 7.4.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.
Files changed (441) hide show
  1. package/button/lib/button-group.component.d.ts +10 -73
  2. package/button/lib/button-item.class.d.ts +1 -3
  3. package/button/lib/button-item.component.d.ts +12 -75
  4. package/button/lib/button.component.d.ts +1 -1
  5. package/button-group/README.md +3 -0
  6. package/button-group/index.d.ts +2 -0
  7. package/button-group/lib/button-group.component.d.ts +21 -0
  8. package/button-group/lib/button-group.module.d.ts +8 -0
  9. package/calendar/lib/calendar-range.component.d.ts +2 -1
  10. package/calendar/lib/calendar.class.d.ts +9 -8
  11. package/calendar/lib/calendar.component.d.ts +2 -1
  12. package/check-box/lib/check-box.component.d.ts +3 -2
  13. package/color-box/README.md +3 -0
  14. package/color-box/index.d.ts +2 -0
  15. package/color-box/lib/color-box.component.d.ts +27 -0
  16. package/color-box/lib/color-box.module.d.ts +11 -0
  17. package/common/index.d.ts +6 -5
  18. package/common/lib/classes/styles.class.d.ts +0 -9
  19. package/common/lib/components/button-base-component.class.d.ts +0 -2
  20. package/common/lib/components/interactive-component.class.d.ts +7 -1
  21. package/common/lib/types/direction.d.ts +4 -0
  22. package/common/lib/types/orientation.d.ts +4 -0
  23. package/common/lib/types/placement.d.ts +30 -0
  24. package/common/lib/types/selection-mode.d.ts +4 -0
  25. package/data-pager/lib/data-pager.module.d.ts +5 -4
  26. package/data-table/lib/data-column.directive.d.ts +2 -2
  27. package/datetime-box/README.md +3 -0
  28. package/datetime-box/index.d.ts +2 -0
  29. package/datetime-box/lib/datetime-box.component.d.ts +34 -0
  30. package/datetime-box/lib/datetime-box.module.d.ts +13 -0
  31. package/datetime-input/README.md +3 -0
  32. package/datetime-input/index.d.ts +2 -0
  33. package/datetime-input/lib/datetime-input.component.d.ts +44 -0
  34. package/datetime-input/lib/datetime-input.module.d.ts +10 -0
  35. package/datetime-picker/README.md +3 -0
  36. package/datetime-picker/index.d.ts +2 -0
  37. package/datetime-picker/lib/datetime-picker.component.d.ts +42 -0
  38. package/datetime-picker/lib/datetime-picker.module.d.ts +14 -0
  39. package/decorators/index.d.ts +4 -4
  40. package/decorators/lib/decorators.module.d.ts +4 -4
  41. package/dropdown/index.d.ts +2 -0
  42. package/dropdown/lib/dropdown-box.class.d.ts +15 -0
  43. package/dropdown/lib/dropdown-box.component.d.ts +25 -0
  44. package/dropdown/lib/dropdown-panel.component.d.ts +31 -20
  45. package/dropdown/lib/dropdown.module.d.ts +9 -8
  46. package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
  47. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  48. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  49. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  50. package/esm2022/alert/lib/alert.component.mjs +3 -3
  51. package/esm2022/alert/lib/alert.module.mjs +4 -4
  52. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  53. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  54. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  55. package/esm2022/badge/lib/badge.component.mjs +3 -3
  56. package/esm2022/badge/lib/badge.module.mjs +4 -4
  57. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  58. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  59. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  60. package/esm2022/button/lib/button-group.component.mjs +36 -29
  61. package/esm2022/button/lib/button-item.class.mjs +1 -1
  62. package/esm2022/button/lib/button-item.component.mjs +46 -32
  63. package/esm2022/button/lib/button.component.mjs +14 -10
  64. package/esm2022/button/lib/button.module.mjs +4 -4
  65. package/esm2022/{color-picker/acorex-components-color-picker.mjs → button-group/acorex-components-button-group.mjs} +1 -1
  66. package/esm2022/button-group/index.mjs +3 -0
  67. package/esm2022/button-group/lib/button-group.component.mjs +97 -0
  68. package/esm2022/button-group/lib/button-group.module.mjs +21 -0
  69. package/esm2022/calendar/lib/calendar-range.component.mjs +14 -13
  70. package/esm2022/calendar/lib/calendar.class.mjs +19 -18
  71. package/esm2022/calendar/lib/calendar.component.mjs +80 -40
  72. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  73. package/esm2022/check-box/lib/check-box.component.mjs +9 -5
  74. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  75. package/esm2022/chips/lib/chips.component.mjs +3 -3
  76. package/esm2022/chips/lib/chips.module.mjs +4 -4
  77. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  78. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  79. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  80. package/esm2022/color-box/acorex-components-color-box.mjs +5 -0
  81. package/esm2022/color-box/index.mjs +3 -0
  82. package/esm2022/color-box/lib/color-box.component.mjs +91 -0
  83. package/esm2022/color-box/lib/color-box.module.mjs +24 -0
  84. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  85. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +13 -13
  86. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  87. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  88. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  89. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
  90. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  91. package/esm2022/common/index.mjs +7 -6
  92. package/esm2022/common/lib/classes/components.class.mjs +22 -22
  93. package/esm2022/common/lib/classes/styles.class.mjs +1 -2
  94. package/esm2022/common/lib/common.module.mjs +4 -4
  95. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  96. package/esm2022/common/lib/components/button-base-component.class.mjs +4 -18
  97. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  98. package/esm2022/common/lib/components/interactive-component.class.mjs +14 -1
  99. package/esm2022/common/lib/components/value-component.class.mjs +6 -6
  100. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  101. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  102. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  103. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  104. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  105. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  106. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  107. package/esm2022/common/lib/types/direction.mjs +2 -0
  108. package/esm2022/common/lib/types/orientation.mjs +2 -0
  109. package/esm2022/common/lib/types/placement.mjs +160 -0
  110. package/esm2022/common/lib/types/range.mjs +2 -0
  111. package/esm2022/common/lib/types/selection-mode.mjs +5 -0
  112. package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
  113. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  114. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  115. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  116. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  117. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +4 -4
  118. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -18
  119. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +7 -7
  120. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +4 -4
  121. package/esm2022/data-pager/lib/data-pager.component.mjs +5 -5
  122. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  123. package/esm2022/data-table/lib/data-column.directive.mjs +6 -8
  124. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  125. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  126. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +5 -0
  127. package/esm2022/datetime-box/index.mjs +3 -0
  128. package/esm2022/datetime-box/lib/datetime-box.component.mjs +109 -0
  129. package/esm2022/datetime-box/lib/datetime-box.module.mjs +38 -0
  130. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +5 -0
  131. package/esm2022/datetime-input/index.mjs +3 -0
  132. package/esm2022/datetime-input/lib/datetime-input.component.mjs +522 -0
  133. package/esm2022/datetime-input/lib/datetime-input.module.mjs +23 -0
  134. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +5 -0
  135. package/esm2022/datetime-picker/index.mjs +3 -0
  136. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +232 -0
  137. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +41 -0
  138. package/esm2022/decorators/index.mjs +5 -5
  139. package/esm2022/decorators/lib/components/clear-button.component.mjs +58 -0
  140. package/esm2022/decorators/lib/components/close-button.component.mjs +43 -0
  141. package/esm2022/decorators/lib/components/generic-content.component.mjs +17 -0
  142. package/esm2022/decorators/lib/components/icon.component.mjs +26 -0
  143. package/esm2022/decorators/lib/decorators.module.mjs +10 -10
  144. package/esm2022/dialog/lib/dialog.component.mjs +4 -4
  145. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  146. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  147. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  148. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  149. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  150. package/esm2022/dropdown/index.mjs +3 -1
  151. package/esm2022/dropdown/lib/dropdown-box.class.mjs +38 -0
  152. package/esm2022/dropdown/lib/dropdown-box.component.mjs +94 -0
  153. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +88 -37
  154. package/esm2022/dropdown/lib/dropdown.module.mjs +8 -7
  155. package/esm2022/form/index.mjs +2 -1
  156. package/esm2022/form/lib/form-field.component.mjs +3 -3
  157. package/esm2022/form/lib/form.component.mjs +3 -3
  158. package/esm2022/form/lib/form.config.mjs +36 -0
  159. package/esm2022/form/lib/form.module.mjs +6 -28
  160. package/esm2022/form/lib/validation-rule.widget.mjs +8 -7
  161. package/esm2022/form/lib/validation-summary.component.mjs +4 -4
  162. package/esm2022/image/lib/image.component.mjs +3 -3
  163. package/esm2022/image/lib/image.module.mjs +4 -4
  164. package/esm2022/label/lib/label.component.mjs +3 -3
  165. package/esm2022/label/lib/label.module.mjs +4 -4
  166. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  167. package/esm2022/loading/lib/loading.component.mjs +6 -6
  168. package/esm2022/loading/lib/loading.directive.mjs +20 -51
  169. package/esm2022/loading/lib/loading.module.mjs +6 -6
  170. package/esm2022/loading/lib/loading.service.mjs +36 -28
  171. package/esm2022/menu/lib/menu.component.mjs +3 -3
  172. package/esm2022/menu/lib/menu.module.mjs +4 -4
  173. package/esm2022/mixin/index.mjs +1 -2
  174. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  175. package/esm2022/mixin/lib/selection-component.class.mjs +3 -3
  176. package/esm2022/mixin/lib/value-mixin.class.mjs +3 -3
  177. package/esm2022/notification/lib/notification.component.mjs +3 -3
  178. package/esm2022/notification/lib/notification.module.mjs +4 -4
  179. package/esm2022/notification/lib/notification.service.mjs +3 -3
  180. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  181. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  182. package/esm2022/otp/lib/otp.component.mjs +23 -11
  183. package/esm2022/otp/lib/otp.module.mjs +4 -4
  184. package/esm2022/page/lib/base-page.class.mjs +20 -21
  185. package/esm2022/page/lib/page.component.mjs +13 -13
  186. package/esm2022/page/lib/page.module.mjs +4 -4
  187. package/esm2022/password-box/lib/password-box.component.mjs +3 -3
  188. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  189. package/esm2022/picker/acorex-components-picker.mjs +5 -0
  190. package/esm2022/picker/index.mjs +4 -0
  191. package/esm2022/picker/lib/picker-column.directive.mjs +73 -0
  192. package/esm2022/picker/lib/picker.component.mjs +148 -0
  193. package/esm2022/picker/lib/picker.module.mjs +22 -0
  194. package/esm2022/popover/index.mjs +1 -2
  195. package/esm2022/popover/lib/popover.component.mjs +270 -166
  196. package/esm2022/popover/lib/popover.module.mjs +4 -4
  197. package/esm2022/popup/lib/popup.component.mjs +40 -15
  198. package/esm2022/popup/lib/popup.module.mjs +6 -6
  199. package/esm2022/popup/lib/popup.service.mjs +9 -6
  200. package/esm2022/progress-bar/lib/progress-bar.component.mjs +9 -13
  201. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  202. package/esm2022/radio/lib/radio.component.mjs +36 -21
  203. package/esm2022/radio/lib/radio.module.mjs +4 -4
  204. package/esm2022/range-slider/lib/range-slider.component.mjs +21 -34
  205. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  206. package/esm2022/result/lib/result.component.mjs +6 -6
  207. package/esm2022/result/lib/result.module.mjs +4 -4
  208. package/esm2022/scheduler/index.mjs +2 -1
  209. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +16 -9
  210. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +12 -0
  211. package/esm2022/scheduler/lib/scheduler.component.mjs +27 -14
  212. package/esm2022/scheduler/lib/scheduler.module.mjs +10 -9
  213. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  214. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  215. package/esm2022/select-box/lib/select-box.component.mjs +7 -7
  216. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  217. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  218. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  219. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  220. package/esm2022/switch/lib/switch.component.mjs +3 -3
  221. package/esm2022/switch/lib/switch.module.mjs +4 -4
  222. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  223. package/esm2022/tabs/lib/tab-item.component.mjs +23 -53
  224. package/esm2022/tabs/lib/tabs.class.mjs +1 -1
  225. package/esm2022/tabs/lib/tabs.component.mjs +19 -28
  226. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  227. package/esm2022/tag/lib/tag.component.mjs +8 -10
  228. package/esm2022/tag/lib/tag.module.mjs +4 -4
  229. package/esm2022/text-area/lib/text-area.component.mjs +3 -3
  230. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  231. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  232. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  233. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  234. package/esm2022/toast/lib/toast.component.mjs +3 -3
  235. package/esm2022/toast/lib/toast.config.mjs +9 -3
  236. package/esm2022/toast/lib/toast.module.mjs +10 -6
  237. package/esm2022/toast/lib/toast.service.mjs +3 -3
  238. package/esm2022/tooltip/lib/tooltip.component.mjs +9 -13
  239. package/esm2022/tooltip/lib/tooltip.directive.mjs +35 -143
  240. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  241. package/esm2022/uploader/index.mjs +4 -2
  242. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +13 -0
  243. package/esm2022/uploader/lib/uploader-list.component.mjs +14 -0
  244. package/esm2022/uploader/lib/uploader-overlay.component.mjs +12 -0
  245. package/esm2022/uploader/lib/uploader.module.mjs +14 -11
  246. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  247. package/fesm2022/acorex-components-alert.mjs +7 -7
  248. package/fesm2022/acorex-components-avatar.mjs +10 -10
  249. package/fesm2022/acorex-components-badge.mjs +7 -7
  250. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  251. package/fesm2022/acorex-components-button-group.mjs +122 -0
  252. package/fesm2022/acorex-components-button-group.mjs.map +1 -0
  253. package/fesm2022/acorex-components-button.mjs +138 -116
  254. package/fesm2022/acorex-components-button.mjs.map +1 -1
  255. package/fesm2022/acorex-components-calendar.mjs +110 -68
  256. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  257. package/fesm2022/acorex-components-check-box.mjs +12 -8
  258. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  259. package/fesm2022/acorex-components-chips.mjs +7 -7
  260. package/fesm2022/acorex-components-collapse.mjs +10 -10
  261. package/fesm2022/acorex-components-color-box.mjs +116 -0
  262. package/fesm2022/acorex-components-color-box.mjs.map +1 -0
  263. package/fesm2022/acorex-components-color-palette.mjs +36 -36
  264. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  265. package/fesm2022/acorex-components-common.mjs +238 -301
  266. package/fesm2022/acorex-components-common.mjs.map +1 -1
  267. package/fesm2022/acorex-components-context-menu.mjs +7 -7
  268. package/fesm2022/acorex-components-data-pager.mjs +52 -54
  269. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  270. package/fesm2022/acorex-components-data-table.mjs +12 -14
  271. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  272. package/fesm2022/acorex-components-datetime-box.mjs +146 -0
  273. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -0
  274. package/fesm2022/acorex-components-datetime-input.mjs +547 -0
  275. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -0
  276. package/fesm2022/acorex-components-datetime-picker.mjs +273 -0
  277. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -0
  278. package/fesm2022/acorex-components-decorators.mjs +50 -50
  279. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  280. package/fesm2022/acorex-components-dialog.mjs +11 -11
  281. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  282. package/fesm2022/acorex-components-drawer.mjs +10 -10
  283. package/fesm2022/acorex-components-dropdown.mjs +217 -44
  284. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  285. package/fesm2022/acorex-components-form.mjs +58 -44
  286. package/fesm2022/acorex-components-form.mjs.map +1 -1
  287. package/fesm2022/acorex-components-image.mjs +7 -7
  288. package/fesm2022/acorex-components-label.mjs +7 -7
  289. package/fesm2022/acorex-components-loading.mjs +93 -116
  290. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  291. package/fesm2022/acorex-components-menu.mjs +7 -7
  292. package/fesm2022/acorex-components-mixin.mjs +7 -26
  293. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  294. package/fesm2022/acorex-components-notification.mjs +10 -10
  295. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  296. package/fesm2022/acorex-components-number-box.mjs +7 -7
  297. package/fesm2022/acorex-components-otp.mjs +27 -15
  298. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  299. package/fesm2022/acorex-components-page.mjs +55 -56
  300. package/fesm2022/acorex-components-page.mjs.map +1 -1
  301. package/fesm2022/acorex-components-password-box.mjs +7 -7
  302. package/fesm2022/acorex-components-picker.mjs +242 -0
  303. package/fesm2022/acorex-components-picker.mjs.map +1 -0
  304. package/fesm2022/acorex-components-popover.mjs +275 -241
  305. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  306. package/fesm2022/acorex-components-popup.mjs +52 -24
  307. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  308. package/fesm2022/acorex-components-progress-bar.mjs +12 -16
  309. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  310. package/fesm2022/acorex-components-radio.mjs +39 -25
  311. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  312. package/fesm2022/acorex-components-range-slider.mjs +24 -37
  313. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  314. package/fesm2022/acorex-components-result.mjs +9 -9
  315. package/fesm2022/acorex-components-result.mjs.map +1 -1
  316. package/fesm2022/acorex-components-scheduler.mjs +50 -25
  317. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  318. package/fesm2022/acorex-components-search-box.mjs +7 -7
  319. package/fesm2022/acorex-components-select-box.mjs +10 -10
  320. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  321. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  322. package/fesm2022/acorex-components-switch.mjs +10 -10
  323. package/fesm2022/acorex-components-tabs.mjs +45 -85
  324. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  325. package/fesm2022/acorex-components-tag.mjs +11 -13
  326. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  327. package/fesm2022/acorex-components-text-area.mjs +7 -7
  328. package/fesm2022/acorex-components-text-box.mjs +10 -10
  329. package/fesm2022/acorex-components-toast.mjs +23 -13
  330. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  331. package/fesm2022/acorex-components-tooltip.mjs +45 -157
  332. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  333. package/fesm2022/acorex-components-uploader.mjs +38 -103
  334. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  335. package/form/index.d.ts +1 -0
  336. package/form/lib/form.config.d.ts +17 -0
  337. package/form/lib/form.module.d.ts +0 -1
  338. package/form/lib/validation-rule.widget.d.ts +1 -0
  339. package/loading/lib/loading.directive.d.ts +10 -17
  340. package/loading/lib/loading.module.d.ts +1 -1
  341. package/loading/lib/loading.service.d.ts +10 -15
  342. package/mixin/index.d.ts +0 -1
  343. package/mixin/lib/base-components.class.d.ts +2 -2
  344. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  345. package/mixin/lib/button-mixin.class.d.ts +2 -2
  346. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  347. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  348. package/mixin/lib/datalist-component.class.d.ts +10 -10
  349. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  350. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  351. package/mixin/lib/mixin.class.d.ts +61 -61
  352. package/mixin/lib/page-component.class.d.ts +2 -2
  353. package/mixin/lib/selection-component.class.d.ts +2 -2
  354. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  355. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  356. package/mixin/lib/value-mixin.class.d.ts +8 -8
  357. package/otp/lib/otp.component.d.ts +10 -6
  358. package/package.json +56 -41
  359. package/page/lib/base-page.class.d.ts +6 -10
  360. package/page/lib/page.component.d.ts +4 -4
  361. package/picker/README.md +3 -0
  362. package/picker/index.d.ts +3 -0
  363. package/picker/lib/picker-column.directive.d.ts +16 -0
  364. package/picker/lib/picker.component.d.ts +30 -0
  365. package/picker/lib/picker.module.d.ts +9 -0
  366. package/popover/index.d.ts +0 -1
  367. package/popover/lib/popover.component.d.ts +51 -27
  368. package/popup/lib/popup.component.d.ts +6 -6
  369. package/progress-bar/lib/progress-bar.component.d.ts +3 -8
  370. package/radio/lib/radio.component.d.ts +8 -10
  371. package/range-slider/lib/range-slider.component.d.ts +12 -12
  372. package/result/lib/result.component.d.ts +2 -2
  373. package/scheduler/index.d.ts +1 -0
  374. package/scheduler/lib/scheduler-month-view.component.d.ts +2 -1
  375. package/scheduler/lib/scheduler-week-view.component.d.ts +6 -0
  376. package/scheduler/lib/scheduler.component.d.ts +6 -0
  377. package/scheduler/lib/scheduler.module.d.ts +7 -6
  378. package/tabs/lib/tab-item.component.d.ts +7 -38
  379. package/tabs/lib/tabs.class.d.ts +2 -1
  380. package/tabs/lib/tabs.component.d.ts +7 -9
  381. package/tag/lib/tag.component.d.ts +2 -4
  382. package/tooltip/lib/tooltip.component.d.ts +3 -6
  383. package/tooltip/lib/tooltip.directive.d.ts +11 -17
  384. package/uploader/index.d.ts +3 -1
  385. package/uploader/lib/uploader-drop-zone.component.d.ts +6 -0
  386. package/uploader/lib/uploader-list.component.d.ts +6 -0
  387. package/uploader/lib/uploader-overlay.component.d.ts +6 -0
  388. package/uploader/lib/uploader.module.d.ts +7 -4
  389. package/color-picker/README.md +0 -3
  390. package/color-picker/index.d.ts +0 -2
  391. package/color-picker/lib/color-picker.component.d.ts +0 -191
  392. package/color-picker/lib/color-picker.module.d.ts +0 -18
  393. package/common/lib/classes/drawing.class.d.ts +0 -9
  394. package/common/lib/constant/positions.d.ts +0 -75
  395. package/common/lib/services/custom-cdk-overlay.service.d.ts +0 -19
  396. package/common/lib/services/overlay.service.d.ts +0 -34
  397. package/date-picker/README.md +0 -3
  398. package/date-picker/index.d.ts +0 -2
  399. package/date-picker/lib/datepicker.component.d.ts +0 -40
  400. package/date-picker/lib/datepicker.module.d.ts +0 -15
  401. package/esm2022/color-picker/index.mjs +0 -3
  402. package/esm2022/color-picker/lib/color-picker.component.mjs +0 -116
  403. package/esm2022/color-picker/lib/color-picker.module.mjs +0 -61
  404. package/esm2022/common/lib/classes/data.class.mjs +0 -2
  405. package/esm2022/common/lib/classes/drawing.class.mjs +0 -2
  406. package/esm2022/common/lib/constant/positions.mjs +0 -75
  407. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +0 -49
  408. package/esm2022/common/lib/services/overlay.service.mjs +0 -113
  409. package/esm2022/date-picker/acorex-components-date-picker.mjs +0 -5
  410. package/esm2022/date-picker/index.mjs +0 -3
  411. package/esm2022/date-picker/lib/datepicker.component.mjs +0 -128
  412. package/esm2022/date-picker/lib/datepicker.module.mjs +0 -44
  413. package/esm2022/decorators/lib/clear-button.component.mjs +0 -58
  414. package/esm2022/decorators/lib/close-button.component.mjs +0 -43
  415. package/esm2022/decorators/lib/generic-content.component.mjs +0 -17
  416. package/esm2022/decorators/lib/icon.component.mjs +0 -26
  417. package/esm2022/mixin/lib/loading-mixin.class.mjs +0 -18
  418. package/esm2022/popover/lib/dropdown-component.class.mjs +0 -73
  419. package/esm2022/time-box/acorex-components-time-box.mjs +0 -5
  420. package/esm2022/time-box/index.mjs +0 -3
  421. package/esm2022/time-box/lib/time-box.component.mjs +0 -294
  422. package/esm2022/time-box/lib/time-box.module.mjs +0 -32
  423. package/esm2022/uploader/lib/uploader.component.mjs +0 -99
  424. package/fesm2022/acorex-components-color-picker.mjs +0 -178
  425. package/fesm2022/acorex-components-color-picker.mjs.map +0 -1
  426. package/fesm2022/acorex-components-date-picker.mjs +0 -173
  427. package/fesm2022/acorex-components-date-picker.mjs.map +0 -1
  428. package/fesm2022/acorex-components-time-box.mjs +0 -329
  429. package/fesm2022/acorex-components-time-box.mjs.map +0 -1
  430. package/mixin/lib/loading-mixin.class.d.ts +0 -40
  431. package/popover/lib/dropdown-component.class.d.ts +0 -17
  432. package/time-box/README.md +0 -3
  433. package/time-box/index.d.ts +0 -2
  434. package/time-box/lib/time-box.component.d.ts +0 -50
  435. package/time-box/lib/time-box.module.d.ts +0 -11
  436. package/uploader/lib/uploader.component.d.ts +0 -28
  437. /package/common/lib/{classes/data.class.d.ts → types/range.d.ts} +0 -0
  438. /package/decorators/lib/{clear-button.component.d.ts → components/clear-button.component.d.ts} +0 -0
  439. /package/decorators/lib/{close-button.component.d.ts → components/close-button.component.d.ts} +0 -0
  440. /package/decorators/lib/{generic-content.component.d.ts → components/generic-content.component.d.ts} +0 -0
  441. /package/decorators/lib/{icon.component.d.ts → components/icon.component.d.ts} +0 -0
@@ -0,0 +1,547 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, HostListener, NgModule } from '@angular/core';
3
+ import { MXInputBaseValueComponent, AXComponent, AXFocusableComponent, AXValuableComponent, AXClearableComponent } from '@acorex/components/common';
4
+ import { AXStringUtil } from '@acorex/core/utils';
5
+ import { AXCalendarService, AXDateTimeModule } from '@acorex/core/dateTime';
6
+ import * as i1 from '@angular/forms';
7
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
8
+ import { CommonModule } from '@angular/common';
9
+
10
+ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.calendarService = inject(AXCalendarService);
14
+ this._editingParts = {
15
+ year: {
16
+ key: "year",
17
+ placeholder: "yyyy",
18
+ placeholders: ["YY", "yy", "YYYY", "yyyy"],
19
+ enabled: false,
20
+ default: 2023,
21
+ typedValue: null,
22
+ realValue: () => this.editingDateObj.format(this._editingParts.year.placeholder)
23
+ },
24
+ month: {
25
+ key: "month",
26
+ placeholder: "MM",
27
+ placeholders: ["MMM", "MMMM", "MM", "M"],
28
+ enabled: false,
29
+ default: 1,
30
+ typedValue: null,
31
+ realValue: () => this.editingDateObj.format(this._editingParts.month.placeholder)
32
+ },
33
+ day: {
34
+ key: "day",
35
+ placeholder: "dd",
36
+ placeholders: ["dd", "d"],
37
+ enabled: false,
38
+ default: 1,
39
+ typedValue: null,
40
+ realValue: () => this.editingDateObj.format(this._editingParts.day.placeholder)
41
+ },
42
+ hour: {
43
+ key: "hour",
44
+ placeholder: "HH",
45
+ placeholders: ["HH", "H", "hh", "h"],
46
+ enabled: false,
47
+ default: 0,
48
+ typedValue: null,
49
+ realValue: () => this.editingDateObj.format(this._editingParts.hour.placeholder)
50
+ },
51
+ minute: {
52
+ key: "minute",
53
+ placeholder: "mm",
54
+ placeholders: ["mm", "m"],
55
+ enabled: false,
56
+ default: 0,
57
+ typedValue: null,
58
+ realValue: () => this.editingDateObj.format(this._editingParts.minute.placeholder)
59
+ },
60
+ second: {
61
+ key: "second",
62
+ placeholder: "ss",
63
+ placeholders: ["ss", "s"],
64
+ enabled: false,
65
+ default: 0,
66
+ typedValue: null,
67
+ realValue: () => this.editingDateObj.format(this._editingParts.second.placeholder)
68
+ }
69
+ };
70
+ this._inputChars = [];
71
+ this._type = this.calendarService.calendar.name();
72
+ this._activePart = 'hour';
73
+ this._editingDateObj = this.calendarService.now(this.type);
74
+ this.formatChange = new EventEmitter();
75
+ this._format = this.calendarService.calendar.formats.dateTimeDisplay;
76
+ }
77
+ get type() {
78
+ return this._type || this.calendarService.calendar.name();
79
+ }
80
+ set type(v) {
81
+ this.setOption({
82
+ name: 'type',
83
+ value: v,
84
+ afterCallback: () => {
85
+ this.cdr.markForCheck();
86
+ },
87
+ });
88
+ }
89
+ get activePart() {
90
+ return this._activePart;
91
+ }
92
+ set activePart(v) {
93
+ this._activePart = v;
94
+ this._clearInputBuffer();
95
+ }
96
+ get editingDateObj() {
97
+ return this._editingDateObj;
98
+ }
99
+ get minValue() {
100
+ return this._minValue;
101
+ }
102
+ set minValue(v) {
103
+ this._minValue = v;
104
+ }
105
+ get maxValue() {
106
+ return this._maxValue;
107
+ }
108
+ set maxValue(v) {
109
+ this._maxValue = v;
110
+ }
111
+ get format() {
112
+ return this._format;
113
+ }
114
+ set format(v) {
115
+ this.setOption({
116
+ name: 'format',
117
+ value: v,
118
+ afterCallback: (o, n) => {
119
+ Object.values(this._editingParts).forEach(e => {
120
+ e.enabled = false;
121
+ });
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));
125
+ if (found) {
126
+ found.enabled = true;
127
+ found.placeholder = f;
128
+ }
129
+ });
130
+ },
131
+ });
132
+ }
133
+ _getOrderedParts() {
134
+ // TODO: better spliter format
135
+ const formatParts = this.format.split(/[^a-zA-Z]+/);
136
+ const result = [];
137
+ formatParts.forEach(f => {
138
+ const found = Object.values(this._editingParts).find(c => c.placeholders.some(d => d == f));
139
+ if (found && found.enabled)
140
+ result.push(found);
141
+ });
142
+ return result;
143
+ }
144
+ _clearInputBuffer() {
145
+ this._inputChars = [];
146
+ }
147
+ _updateText() {
148
+ let text = this.format;
149
+ //
150
+ Object.values(this._editingParts).forEach(part => {
151
+ if (this.activePart == part.key) {
152
+ if (part.typedValue)
153
+ text = text.replace(part.placeholder, part.typedValue);
154
+ }
155
+ else {
156
+ if (part.typedValue != part.placeholder && part.typedValue != null) {
157
+ text = text.replace(part.placeholder, part.realValue());
158
+ }
159
+ }
160
+ });
161
+ this._editingText = text == this.format ? '' : text;
162
+ if (this.activePart) {
163
+ this._highlightActivePart();
164
+ }
165
+ }
166
+ internalSetValue(value) {
167
+ if (value) {
168
+ let editingDate = this.calendarService.create(value, this.type);
169
+ let applyChanges = false;
170
+ Object.values(this._editingParts).forEach(part => {
171
+ if (!part.enabled) {
172
+ editingDate = editingDate.set(part.key, part.default);
173
+ applyChanges = true;
174
+ }
175
+ });
176
+ if (applyChanges) {
177
+ return editingDate.date;
178
+ }
179
+ }
180
+ return value;
181
+ }
182
+ internalValueChanged(value) {
183
+ if (value) {
184
+ this._editingDateObj = this.calendarService.create(value, this.type);
185
+ }
186
+ Object.values(this._editingParts).forEach(part => {
187
+ if (value) {
188
+ if (part.typedValue != part.placeholder)
189
+ part.typedValue = part.realValue();
190
+ }
191
+ else
192
+ part.typedValue = null;
193
+ });
194
+ this._updateText();
195
+ }
196
+ _handleOnKeydownEvent(e) {
197
+ const ignore = () => {
198
+ e.preventDefault();
199
+ e.stopPropagation();
200
+ };
201
+ const input = e.target;
202
+ //
203
+ const orderedParts = this._getOrderedParts();
204
+ const part = this.activePart ? this._editingParts[this.activePart] : orderedParts[0];
205
+ const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;
206
+ const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;
207
+ //
208
+ const goNext = () => {
209
+ this._clearInputBuffer();
210
+ if (nextPart) {
211
+ this.activePart = nextPart.key;
212
+ this._highlightActivePart();
213
+ }
214
+ };
215
+ const goPrev = () => {
216
+ this._clearInputBuffer();
217
+ if (prevPart) {
218
+ this.activePart = prevPart.key;
219
+ this._highlightActivePart();
220
+ }
221
+ };
222
+ /*************** Handle Left and Right **************/
223
+ if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {
224
+ ignore();
225
+ e.code === 'ArrowRight' ? goNext() : goPrev();
226
+ }
227
+ /*************** Handle Up and Down **************/
228
+ else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {
229
+ if (this.disabled || this.readonly) {
230
+ ignore();
231
+ return;
232
+ }
233
+ else {
234
+ ignore();
235
+ const sign = e.code === 'ArrowUp' ? +1 : -1;
236
+ this.activePart = part.key;
237
+ let newVal = this.editingDateObj.add(part.key, sign);
238
+ this._editingParts[part.key].typedValue = newVal.format(this._editingParts[part.key].placeholder);
239
+ this._editingDateObj = newVal;
240
+ this._detectValueChanges();
241
+ }
242
+ }
243
+ /*************** Handle Backspace **************/
244
+ else if (e.code == 'Backspace' || e.code == 'Delete') {
245
+ if (this.disabled || this.readonly) {
246
+ return;
247
+ }
248
+ if (input.value) {
249
+ ignore();
250
+ this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;
251
+ this._detectValueChanges();
252
+ goPrev();
253
+ }
254
+ }
255
+ /*************** Handle Backspace **************/
256
+ else if (e.code == 'Tab' || e.code == 'Space') {
257
+ if (input.value) {
258
+ if (!e.shiftKey && nextPart) {
259
+ ignore();
260
+ goNext();
261
+ }
262
+ else if (e.shiftKey && prevPart) {
263
+ ignore();
264
+ goPrev();
265
+ }
266
+ }
267
+ }
268
+ else if (e.key?.trim() && !isNaN(Number(e.key))) {
269
+ ignore();
270
+ if (this.disabled || this.readonly) {
271
+ return;
272
+ }
273
+ let next = false;
274
+ const editing = this._editingParts[part.key];
275
+ //
276
+ switch (part.key) {
277
+ case 'year':
278
+ {
279
+ if (editing.placeholder.length == 2 && this._inputChars.length == 0) {
280
+ this._inputChars.push(...this.calendarService.now(this.type).format('yyyy').substring(0, 2).split(''));
281
+ }
282
+ if (this._inputChars.length < 4) {
283
+ editing.typedValue = `${this._inputChars.join('')}${e.key}`;
284
+ this._inputChars.push(e.key);
285
+ if (this._inputChars.length > 3) {
286
+ next = true;
287
+ }
288
+ }
289
+ else {
290
+ next = true;
291
+ }
292
+ editing.typedValue = ('0000' + editing.typedValue).slice(-4);
293
+ const nv = parseInt(editing.typedValue);
294
+ //if (nv > 0) {
295
+ const newVal = this.editingDateObj.set('year', nv);
296
+ this._editingDateObj = newVal;
297
+ this._detectValueChanges();
298
+ //}
299
+ break;
300
+ }
301
+ case 'month':
302
+ {
303
+ if (this._inputChars.length == 0) {
304
+ this._inputChars.push(e.key);
305
+ editing.typedValue = `0${e.key}`;
306
+ if (parseInt(e.key) > 1) {
307
+ this._clearInputBuffer();
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
+ }
319
+ this._clearInputBuffer();
320
+ next = true;
321
+ }
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
+ }
331
+ case 'day':
332
+ {
333
+ if (this._inputChars.length == 0) {
334
+ this._inputChars.push(e.key);
335
+ editing.typedValue = `0${e.key}`;
336
+ if (parseInt(e.key) > 3) {
337
+ this._clearInputBuffer();
338
+ next = true;
339
+ }
340
+ }
341
+ else if (this._inputChars.length == 1) {
342
+ const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
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;
351
+ }
352
+ editing.typedValue = editing.typedValue?.length === 1 ? "0" + editing.typedValue : editing.typedValue;
353
+ const nv = parseInt(editing.typedValue);
354
+ if (nv > 0) {
355
+ const newVal = this.editingDateObj.set(part.key, nv);
356
+ this._editingDateObj = newVal;
357
+ this._detectValueChanges();
358
+ }
359
+ break;
360
+ }
361
+ case 'hour':
362
+ {
363
+ if (this._inputChars.length == 0) {
364
+ this._inputChars.push(e.key);
365
+ editing.typedValue = `0${e.key}`;
366
+ if (parseInt(e.key) > 2) {
367
+ next = true;
368
+ }
369
+ }
370
+ else if (this._inputChars.length == 1) {
371
+ const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
372
+ if (newStr > 23) {
373
+ editing.typedValue = `0${e.key}`;
374
+ }
375
+ else {
376
+ editing.typedValue = newStr.toString();
377
+ }
378
+ next = true;
379
+ }
380
+ editing.typedValue = editing.typedValue?.length === 1 ? "0" + editing.typedValue : editing.typedValue;
381
+ const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));
382
+ this._editingDateObj = newVal;
383
+ this._detectValueChanges();
384
+ break;
385
+ }
386
+ case 'minute':
387
+ case 'second':
388
+ if (this._inputChars.length == 0) {
389
+ this._inputChars.push(e.key);
390
+ editing.typedValue = `0${e.key}`;
391
+ if (parseInt(e.key) > 5) {
392
+ this._clearInputBuffer();
393
+ next = true;
394
+ }
395
+ }
396
+ else if (this._inputChars.length == 1) {
397
+ const newStr = parseInt(`${this._inputChars[0]}${e.key}`);
398
+ if (newStr > 59) {
399
+ editing.typedValue = `0${e.key}`;
400
+ }
401
+ else {
402
+ editing.typedValue = newStr.toString();
403
+ }
404
+ this._clearInputBuffer();
405
+ next = true;
406
+ }
407
+ editing.typedValue = editing.typedValue?.length === 1 ? "0" + editing.typedValue : editing.typedValue;
408
+ const newVal = this.editingDateObj.set(part.key, parseInt(editing.typedValue));
409
+ this._editingDateObj = newVal;
410
+ this._detectValueChanges();
411
+ break;
412
+ default:
413
+ }
414
+ if (next) {
415
+ goNext();
416
+ return;
417
+ }
418
+ }
419
+ /*************** Emit Event **************/
420
+ super.emitOnKeydownEvent(e);
421
+ }
422
+ _handleKeyUpEvent(e) {
423
+ if (this.activePart) {
424
+ this._highlightActivePart();
425
+ }
426
+ }
427
+ _handleFocusEvent(e) {
428
+ //this._highlightActivePart();
429
+ super.emitOnFocusEvent(e);
430
+ }
431
+ _handleBlurEvent(e) {
432
+ super.emitOnBlurEvent(e);
433
+ }
434
+ _handleOnInputClickEvent(e) {
435
+ setTimeout(() => {
436
+ this._detectPartAtPosition();
437
+ }, 0);
438
+ super.emitOnClickEvent(e);
439
+ }
440
+ _detectPartAtPosition() {
441
+ const input = this.input.nativeElement;
442
+ if (!input.value)
443
+ return;
444
+ const sStart = input.selectionEnd || 0;
445
+ const re = /[a-zA-Z0-9]+/gi;
446
+ const valueParts = Array.from(input.value.matchAll(re));
447
+ const orderedParts = this._getOrderedParts();
448
+ const index = valueParts.findIndex((c) => c.index <= sStart && (c.index + c[0].length) >= sStart);
449
+ this.activePart = orderedParts[index].key;
450
+ this._highlightActivePart();
451
+ }
452
+ _highlightActivePart() {
453
+ const input = this.input.nativeElement;
454
+ if (!input.value || !this.activePart)
455
+ return;
456
+ const orderedParts = this._getOrderedParts();
457
+ const index = orderedParts.findIndex(c => c.key == this.activePart);
458
+ const re = /[a-zA-Z0-9]+/gi;
459
+ const valueParts = Array.from(input.value.matchAll(re));
460
+ const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, valueParts[index].index);
461
+ input.setSelectionRange(start, end);
462
+ }
463
+ _detectValueChanges() {
464
+ this.commitValue(this._editingDateObj.date, true);
465
+ }
466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXDateTimeInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
467
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", type: "type", minValue: "minValue", maxValue: "maxValue", format: "format" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", onClick: "onClick", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)", "keyup": "_handleKeyUpEvent($event)" }, classAttribute: "ax-editor-input" }, providers: [
468
+ { provide: AXComponent, useExisting: AXDateTimeInputComponent },
469
+ { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },
470
+ { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },
471
+ { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },
472
+ {
473
+ provide: NG_VALUE_ACCESSOR,
474
+ useExisting: forwardRef(() => AXDateTimeInputComponent),
475
+ multi: true,
476
+ },
477
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "input2", first: true, predicate: ["input2"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input #input autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\" type=\"text\"\n [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\" (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
478
+ }
479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXDateTimeInputComponent, decorators: [{
480
+ type: Component,
481
+ args: [{ selector: 'ax-datetime-input', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], host: { class: 'ax-editor-input' }, outputs: [
482
+ 'valueChange',
483
+ 'stateChange',
484
+ 'onValueChanged',
485
+ 'onBlur',
486
+ 'onFocus',
487
+ 'onClick',
488
+ 'readonlyChange',
489
+ 'disabledChange',
490
+ ], providers: [
491
+ { provide: AXComponent, useExisting: AXDateTimeInputComponent },
492
+ { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },
493
+ { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },
494
+ { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },
495
+ {
496
+ provide: NG_VALUE_ACCESSOR,
497
+ useExisting: forwardRef(() => AXDateTimeInputComponent),
498
+ multi: true,
499
+ },
500
+ ], template: "<input #input autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\" type=\"text\"\n [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\" (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">" }]
501
+ }], propDecorators: { type: [{
502
+ type: Input
503
+ }], input: [{
504
+ type: ViewChild,
505
+ args: ['input']
506
+ }], input2: [{
507
+ type: ViewChild,
508
+ args: ['input2']
509
+ }], minValue: [{
510
+ type: Input
511
+ }], maxValue: [{
512
+ type: Input
513
+ }], formatChange: [{
514
+ type: Output
515
+ }], format: [{
516
+ type: Input
517
+ }], _handleOnKeydownEvent: [{
518
+ type: HostListener,
519
+ args: ["keydown", ["$event"]]
520
+ }], _handleKeyUpEvent: [{
521
+ type: HostListener,
522
+ args: ["keyup", ["$event"]]
523
+ }] } });
524
+
525
+ const COMPONENT = [AXDateTimeInputComponent];
526
+ const MODULES = [CommonModule, FormsModule, AXDateTimeModule];
527
+ class AXDateTimeInputModule {
528
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXDateTimeInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
529
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXDateTimeInputModule, declarations: [AXDateTimeInputComponent], imports: [CommonModule, FormsModule, AXDateTimeModule], exports: [AXDateTimeInputComponent] }); }
530
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXDateTimeInputModule, imports: [MODULES] }); }
531
+ }
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXDateTimeInputModule, decorators: [{
533
+ type: NgModule,
534
+ args: [{
535
+ declarations: [...COMPONENT],
536
+ imports: [...MODULES],
537
+ exports: [...COMPONENT],
538
+ providers: [],
539
+ }]
540
+ }] });
541
+
542
+ /**
543
+ * Generated bundle index. Do not edit.
544
+ */
545
+
546
+ export { AXDateTimeInputComponent, AXDateTimeInputModule };
547
+ //# sourceMappingURL=acorex-components-datetime-input.mjs.map
@@ -0,0 +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\"],\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.dateTimeDisplay;\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 autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\" type=\"text\"\n [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\" (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">","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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"}