@acorex/components 7.1.3 → 7.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/action-sheet/public-api.d.ts +1 -0
  2. package/action-sheet/src/action-sheet.component.d.ts +8 -11
  3. package/alert/src/alert.component.d.ts +15 -47
  4. package/avatar/src/avatar.component.d.ts +8 -11
  5. package/badge/src/badge.component.d.ts +4 -35
  6. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +6 -6
  7. package/breadcrumbs/src/breadcrumbs.component.d.ts +4 -8
  8. package/button/src/button-group.component.d.ts +6 -6
  9. package/button/src/button-item.component.d.ts +6 -6
  10. package/chips/src/chips.component.d.ts +6 -6
  11. package/color-picker/src/color-picker.component.d.ts +16 -16
  12. package/common/src/components/base-component.class.d.ts +7 -2
  13. package/date-picker/src/datepicker.component.d.ts +17 -132
  14. package/esm2022/action-sheet/public-api.mjs +2 -1
  15. package/esm2022/action-sheet/src/action-sheet.component.mjs +15 -21
  16. package/esm2022/action-sheet/src/action-sheet.module.mjs +4 -4
  17. package/esm2022/action-sheet/src/action-sheet.service.mjs +4 -8
  18. package/esm2022/alert/src/alert.component.mjs +52 -50
  19. package/esm2022/alert/src/alert.module.mjs +4 -4
  20. package/esm2022/avatar/src/avatar-group.component.mjs +3 -3
  21. package/esm2022/avatar/src/avatar.component.mjs +11 -20
  22. package/esm2022/avatar/src/avatar.module.mjs +4 -4
  23. package/esm2022/badge/src/badge.component.mjs +8 -13
  24. package/esm2022/badge/src/badge.module.mjs +4 -4
  25. package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +3 -3
  26. package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +7 -13
  27. package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +4 -4
  28. package/esm2022/button/src/button-group.component.mjs +3 -3
  29. package/esm2022/button/src/button-item.component.mjs +3 -3
  30. package/esm2022/button/src/button.component.mjs +5 -5
  31. package/esm2022/button/src/button.module.mjs +4 -4
  32. package/esm2022/calendar/src/calendar-range.component.mjs +19 -20
  33. package/esm2022/calendar/src/calendar.class.mjs +6 -6
  34. package/esm2022/calendar/src/calendar.component.mjs +5 -5
  35. package/esm2022/calendar/src/calendar.module.mjs +4 -4
  36. package/esm2022/card/src/card.component.mjs +3 -3
  37. package/esm2022/card/src/card.module.mjs +4 -4
  38. package/esm2022/checkbox/src/checkbox.component.mjs +3 -3
  39. package/esm2022/checkbox/src/checkbox.module.mjs +4 -4
  40. package/esm2022/chips/src/chips.component.mjs +3 -3
  41. package/esm2022/chips/src/chips.module.mjs +4 -4
  42. package/esm2022/collapse/src/collapse-group.component.mjs +3 -3
  43. package/esm2022/collapse/src/collapse.component.mjs +3 -3
  44. package/esm2022/collapse/src/collapse.module.mjs +4 -4
  45. package/esm2022/color-palette/src/color-palette-input.component.mjs +3 -3
  46. package/esm2022/color-palette/src/color-palette-picker.component.mjs +3 -3
  47. package/esm2022/color-palette/src/color-palette-preview.component.mjs +3 -3
  48. package/esm2022/color-palette/src/color-palette-swatches.component.mjs +3 -3
  49. package/esm2022/color-palette/src/color-palette.class.mjs +6 -6
  50. package/esm2022/color-palette/src/color-palette.component.mjs +3 -3
  51. package/esm2022/color-palette/src/color-palette.module.mjs +4 -4
  52. package/esm2022/color-picker/src/color-picker.component.mjs +3 -3
  53. package/esm2022/color-picker/src/color-picker.module.mjs +4 -4
  54. package/esm2022/common/src/classes/components.class.mjs +18 -18
  55. package/esm2022/common/src/common.module.mjs +4 -4
  56. package/esm2022/common/src/components/base-component.class.mjs +14 -3
  57. package/esm2022/common/src/components/value-component.class.mjs +4 -5
  58. package/esm2022/common/src/directives/auto-focus.directive.mjs +3 -3
  59. package/esm2022/common/src/directives/debounce-time.directive.mjs +3 -3
  60. package/esm2022/common/src/directives/hotkey.directive.mjs +3 -3
  61. package/esm2022/common/src/directives/infinite-scroll.directive.mjs +3 -3
  62. package/esm2022/common/src/directives/responsive.directive.mjs +3 -3
  63. package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +6 -6
  64. package/esm2022/common/src/services/hotkey.service.mjs +3 -3
  65. package/esm2022/common/src/services/overlay.service.mjs +3 -3
  66. package/esm2022/context-menu/src/context-menu.component.mjs +3 -3
  67. package/esm2022/context-menu/src/context-menu.module.mjs +4 -4
  68. package/esm2022/data-pager/src/data-pager-base.component.mjs +6 -6
  69. package/esm2022/data-pager/src/data-pager-info.component.mjs +3 -3
  70. package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +3 -3
  71. package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +3 -3
  72. package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +3 -3
  73. package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +3 -3
  74. package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +3 -3
  75. package/esm2022/data-pager/src/data-pager.component.mjs +3 -3
  76. package/esm2022/data-pager/src/data-pager.module.mjs +4 -4
  77. package/esm2022/data-table/src/data-column-cell-template.directive.mjs +3 -3
  78. package/esm2022/data-table/src/data-column.directive.mjs +3 -3
  79. package/esm2022/data-table/src/data-table.component.mjs +3 -3
  80. package/esm2022/data-table/src/data-table.module.mjs +4 -4
  81. package/esm2022/date-picker/src/datepicker.component.mjs +38 -152
  82. package/esm2022/date-picker/src/datepicker.module.mjs +4 -4
  83. package/esm2022/decorators/src/close-button.component.mjs +3 -3
  84. package/esm2022/decorators/src/content.component.mjs +3 -3
  85. package/esm2022/decorators/src/decorators.module.mjs +4 -4
  86. package/esm2022/decorators/src/footer.component.mjs +3 -3
  87. package/esm2022/decorators/src/form-hint.component.mjs +3 -3
  88. package/esm2022/decorators/src/header.component.mjs +3 -3
  89. package/esm2022/decorators/src/icon.component.mjs +3 -3
  90. package/esm2022/decorators/src/overlay.component.mjs +3 -3
  91. package/esm2022/decorators/src/placeholder.component.mjs +3 -3
  92. package/esm2022/decorators/src/prefix.component.mjs +3 -3
  93. package/esm2022/decorators/src/sub-title.component.mjs +3 -3
  94. package/esm2022/decorators/src/suffix.component.mjs +3 -3
  95. package/esm2022/decorators/src/text.component.mjs +3 -3
  96. package/esm2022/decorators/src/title.component.mjs +3 -3
  97. package/esm2022/dialog/src/dialog.component.mjs +4 -4
  98. package/esm2022/dialog/src/dialog.module.mjs +4 -4
  99. package/esm2022/dialog/src/dialog.service.mjs +3 -3
  100. package/esm2022/drawer/src/drawer-container.component.mjs +3 -3
  101. package/esm2022/drawer/src/drawer.component.mjs +3 -3
  102. package/esm2022/drawer/src/drawer.module.mjs +4 -4
  103. package/esm2022/dropdown/src/dropdown-panel.component.mjs +3 -3
  104. package/esm2022/dropdown/src/dropdown.module.mjs +4 -4
  105. package/esm2022/form/src/form-field.component.mjs +3 -3
  106. package/esm2022/form/src/form.component.mjs +3 -3
  107. package/esm2022/form/src/form.module.mjs +4 -4
  108. package/esm2022/form/src/validation-rule.widget.mjs +3 -3
  109. package/esm2022/form/src/validation-summary.component.mjs +4 -4
  110. package/esm2022/image/src/image.component.mjs +3 -3
  111. package/esm2022/image/src/image.module.mjs +4 -4
  112. package/esm2022/label/src/label.component.mjs +3 -3
  113. package/esm2022/label/src/label.module.mjs +4 -4
  114. package/esm2022/loading/src/loading-spinner.component.mjs +3 -3
  115. package/esm2022/loading/src/loading.component.mjs +3 -3
  116. package/esm2022/loading/src/loading.directive.mjs +3 -3
  117. package/esm2022/loading/src/loading.module.mjs +4 -4
  118. package/esm2022/loading/src/loading.service.mjs +3 -3
  119. package/esm2022/menu/src/menu.component.mjs +3 -3
  120. package/esm2022/menu/src/menu.module.mjs +4 -4
  121. package/esm2022/mixin/src/base-components.class.mjs +3 -3
  122. package/esm2022/mixin/src/selection-component.class.mjs +9 -16
  123. package/esm2022/notification/src/notification.component.mjs +3 -3
  124. package/esm2022/notification/src/notification.module.mjs +4 -4
  125. package/esm2022/notification/src/notification.service.mjs +3 -3
  126. package/esm2022/number-box/src/number-box.component.mjs +3 -3
  127. package/esm2022/number-box/src/number-box.module.mjs +4 -4
  128. package/esm2022/page/src/base-page.class.mjs +3 -3
  129. package/esm2022/page/src/page.component.mjs +3 -3
  130. package/esm2022/page/src/page.module.mjs +4 -4
  131. package/esm2022/password-box/src/password-box.component.mjs +3 -3
  132. package/esm2022/password-box/src/password-box.module.mjs +4 -4
  133. package/esm2022/picker/src/picker-column.component.mjs +3 -3
  134. package/esm2022/picker/src/picker.component.mjs +3 -3
  135. package/esm2022/picker/src/picker.module.mjs +4 -4
  136. package/esm2022/popover/public-api.mjs +2 -1
  137. package/esm2022/popover/src/dropdown-component.class.mjs +72 -0
  138. package/esm2022/popover/src/popover.component.mjs +28 -35
  139. package/esm2022/popover/src/popover.module.mjs +4 -4
  140. package/esm2022/popup/src/popup.component.mjs +3 -3
  141. package/esm2022/popup/src/popup.module.mjs +4 -4
  142. package/esm2022/popup/src/popup.service.mjs +3 -3
  143. package/esm2022/progress-bar/src/progress-bar.component.mjs +3 -3
  144. package/esm2022/progress-bar/src/progress-bar.module.mjs +4 -4
  145. package/esm2022/radio/src/radio.component.mjs +3 -3
  146. package/esm2022/radio/src/radio.module.mjs +4 -4
  147. package/esm2022/range-slider/src/range-slider.component.mjs +3 -3
  148. package/esm2022/range-slider/src/range-slider.module.mjs +4 -4
  149. package/esm2022/rating/src/rating.component.mjs +3 -3
  150. package/esm2022/rating/src/rating.component.module.mjs +4 -4
  151. package/esm2022/result/src/result.component.mjs +3 -3
  152. package/esm2022/result/src/result.module.mjs +4 -4
  153. package/esm2022/search-box/src/search-box.component.mjs +3 -3
  154. package/esm2022/search-box/src/search-box.module.mjs +4 -4
  155. package/esm2022/select-box/src/selectbox.component.mjs +3 -3
  156. package/esm2022/select-box/src/selectbox.module.mjs +4 -4
  157. package/esm2022/selection-list/src/selection-list.component.mjs +3 -3
  158. package/esm2022/selection-list/src/selection-list.module.mjs +4 -4
  159. package/esm2022/switch/src/switch-content.component.mjs +3 -3
  160. package/esm2022/switch/src/switch.component.mjs +3 -3
  161. package/esm2022/switch/src/switch.module.mjs +4 -4
  162. package/esm2022/tabs/src/tab-content.directive.mjs +3 -3
  163. package/esm2022/tabs/src/tab-item.component.mjs +3 -3
  164. package/esm2022/tabs/src/tabs.component.mjs +3 -3
  165. package/esm2022/tabs/src/tabs.module.mjs +4 -4
  166. package/esm2022/tag/src/tag.component.mjs +3 -3
  167. package/esm2022/tag/src/tag.module.mjs +4 -4
  168. package/esm2022/textarea/src/textarea.component.mjs +3 -3
  169. package/esm2022/textarea/src/textarea.module.mjs +4 -4
  170. package/esm2022/textbox/src/mask-options.directive.mjs +3 -3
  171. package/esm2022/textbox/src/textbox.component.mjs +3 -3
  172. package/esm2022/textbox/src/textbox.module.mjs +4 -4
  173. package/esm2022/time-box/src/time-box.component.mjs +17 -25
  174. package/esm2022/time-box/src/time-box.module.mjs +4 -4
  175. package/esm2022/toast/src/toast.component.mjs +3 -3
  176. package/esm2022/toast/src/toast.module.mjs +4 -4
  177. package/esm2022/toast/src/toast.service.mjs +3 -3
  178. package/esm2022/tooltip/src/tooltip.component.mjs +3 -3
  179. package/esm2022/tooltip/src/tooltip.directive.mjs +3 -3
  180. package/esm2022/tooltip/src/tooltip.module.mjs +4 -4
  181. package/esm2022/tree-view/src/tree-view.component.mjs +3 -3
  182. package/esm2022/tree-view/src/tree-view.module.mjs +4 -4
  183. package/esm2022/uploader/src/uploader.component.mjs +3 -3
  184. package/esm2022/uploader/src/uploader.module.mjs +4 -4
  185. package/fesm2022/acorex-components-action-sheet.mjs +23 -31
  186. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  187. package/fesm2022/acorex-components-alert.mjs +56 -54
  188. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  189. package/fesm2022/acorex-components-avatar.mjs +17 -26
  190. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  191. package/fesm2022/acorex-components-badge.mjs +12 -17
  192. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  193. package/fesm2022/acorex-components-breadcrumbs.mjs +14 -19
  194. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  195. package/fesm2022/acorex-components-button.mjs +15 -15
  196. package/fesm2022/acorex-components-button.mjs.map +1 -1
  197. package/fesm2022/acorex-components-calendar.mjs +32 -33
  198. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  199. package/fesm2022/acorex-components-card.mjs +7 -7
  200. package/fesm2022/acorex-components-checkbox.mjs +7 -7
  201. package/fesm2022/acorex-components-chips.mjs +7 -7
  202. package/fesm2022/acorex-components-collapse.mjs +10 -10
  203. package/fesm2022/acorex-components-color-palette.mjs +25 -25
  204. package/fesm2022/acorex-components-color-picker.mjs +7 -7
  205. package/fesm2022/acorex-components-common.mjs +62 -54
  206. package/fesm2022/acorex-components-common.mjs.map +1 -1
  207. package/fesm2022/acorex-components-context-menu.mjs +7 -7
  208. package/fesm2022/acorex-components-data-pager.mjs +31 -31
  209. package/fesm2022/acorex-components-data-table.mjs +13 -13
  210. package/fesm2022/acorex-components-date-picker.mjs +42 -156
  211. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  212. package/fesm2022/acorex-components-decorators.mjs +43 -43
  213. package/fesm2022/acorex-components-dialog.mjs +11 -11
  214. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  215. package/fesm2022/acorex-components-drawer.mjs +10 -10
  216. package/fesm2022/acorex-components-dropdown.mjs +7 -7
  217. package/fesm2022/acorex-components-form.mjs +17 -17
  218. package/fesm2022/acorex-components-form.mjs.map +1 -1
  219. package/fesm2022/acorex-components-image.mjs +7 -7
  220. package/fesm2022/acorex-components-label.mjs +7 -7
  221. package/fesm2022/acorex-components-loading.mjs +16 -16
  222. package/fesm2022/acorex-components-menu.mjs +7 -7
  223. package/fesm2022/acorex-components-mixin.mjs +11 -18
  224. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  225. package/fesm2022/acorex-components-notification.mjs +10 -10
  226. package/fesm2022/acorex-components-number-box.mjs +7 -7
  227. package/fesm2022/acorex-components-page.mjs +10 -10
  228. package/fesm2022/acorex-components-password-box.mjs +7 -7
  229. package/fesm2022/acorex-components-picker.mjs +10 -10
  230. package/fesm2022/acorex-components-popover.mjs +100 -39
  231. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  232. package/fesm2022/acorex-components-popup.mjs +10 -10
  233. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  234. package/fesm2022/acorex-components-radio.mjs +7 -7
  235. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  236. package/fesm2022/acorex-components-rating.mjs +7 -7
  237. package/fesm2022/acorex-components-result.mjs +7 -7
  238. package/fesm2022/acorex-components-search-box.mjs +7 -7
  239. package/fesm2022/acorex-components-select-box.mjs +7 -7
  240. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  241. package/fesm2022/acorex-components-switch.mjs +10 -10
  242. package/fesm2022/acorex-components-tabs.mjs +13 -13
  243. package/fesm2022/acorex-components-tag.mjs +7 -7
  244. package/fesm2022/acorex-components-textarea.mjs +7 -7
  245. package/fesm2022/acorex-components-textbox.mjs +10 -10
  246. package/fesm2022/acorex-components-time-box.mjs +20 -28
  247. package/fesm2022/acorex-components-time-box.mjs.map +1 -1
  248. package/fesm2022/acorex-components-toast.mjs +10 -10
  249. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  250. package/fesm2022/acorex-components-tree-view.mjs +7 -7
  251. package/fesm2022/acorex-components-uploader.mjs +7 -7
  252. package/mixin/src/base-components.class.d.ts +2 -2
  253. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  254. package/mixin/src/button-mixin.class.d.ts +2 -2
  255. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  256. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  257. package/mixin/src/datalist-component.class.d.ts +10 -10
  258. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  259. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  260. package/mixin/src/loading-mixin.class.d.ts +2 -2
  261. package/mixin/src/mixin.class.d.ts +61 -61
  262. package/mixin/src/page-component.class.d.ts +2 -2
  263. package/mixin/src/selection-component.class.d.ts +4 -4
  264. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  265. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  266. package/mixin/src/value-mixin.class.d.ts +8 -8
  267. package/package.json +14 -14
  268. package/popover/public-api.d.ts +1 -0
  269. package/popover/src/dropdown-component.class.d.ts +17 -0
  270. package/popover/src/popover.component.d.ts +9 -16
  271. package/tabs/src/tab-item.component.d.ts +2 -2
@@ -1,27 +1,24 @@
1
- import { AXStringUtil } from '@acorex/core/utils';
1
+ import { AXPlatform } from '@acorex/core/platform';
2
2
  import { AXTranslator } from '@acorex/core/translation';
3
3
  import { AXDateTime, AXDateTimeModule } from '@acorex/core/dateTime';
4
4
  import * as i0 from '@angular/core';
5
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Output, Input, NgModule } from '@angular/core';
6
- import { AXClosbaleComponent } from '@acorex/components/common';
7
- import * as i3 from '@acorex/components/calendar';
8
- import { AXCalendarBaseComponent, AXCalendarComponent, AXCalendarModule } from '@acorex/components/calendar';
9
- import * as i4 from '@acorex/components/popover';
10
- import { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
11
- import { _InteractiveComponenetMixin, _DropdownComponenetMixin, _ValueComponenetMixin } from '@acorex/components/mixin';
12
- import * as i1 from '@acorex/core/platform';
13
- import * as i2 from '@angular/common';
5
+ import { EventEmitter, inject, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Output, Input, NgModule } from '@angular/core';
6
+ import { MXValueComponent, MXInteractiveComponent, AXClosbaleComponent } from '@acorex/components/common';
7
+ import * as i3 from '@acorex/components/popover';
8
+ import { MXDropDownComponent, AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
9
+ import { classes } from 'polytype';
10
+ import * as i2 from '@acorex/components/calendar';
11
+ import { MXCalendarBaseComponent, AXCalendarComponent, AXCalendarModule } from '@acorex/components/calendar';
12
+ import * as i1 from '@angular/common';
14
13
  import { CommonModule } from '@angular/common';
15
- import * as i5 from '@acorex/components/decorators';
14
+ import * as i4 from '@acorex/components/decorators';
16
15
  import { AXDecoratorModule } from '@acorex/components/decorators';
17
- import * as i6 from '@angular/forms';
16
+ import * as i5 from '@angular/forms';
18
17
  import { FormsModule } from '@angular/forms';
19
18
  import { AXButtonModule } from '@acorex/components/button';
20
19
  import { AXTextBoxModule } from '@acorex/components/textbox';
21
20
 
22
- const AXBaseDatePickerMixin = _InteractiveComponenetMixin(_DropdownComponenetMixin(_ValueComponenetMixin(AXCalendarBaseComponent)));
23
- class AXDatePickerComponent extends AXBaseDatePickerMixin {
24
- _platform;
21
+ class AXDatePickerComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent, MXDropDownComponent) {
25
22
  popover = null;
26
23
  _calendar;
27
24
  _target;
@@ -37,198 +34,87 @@ class AXDatePickerComponent extends AXBaseDatePickerMixin {
37
34
  return this._format;
38
35
  }
39
36
  set format(v) {
40
- this._setOption({
37
+ this.setOption({
41
38
  name: 'format',
42
39
  value: v,
43
40
  });
44
41
  }
45
42
  placeholder;
46
43
  interface = 'calendar';
47
- constructor(_elementRef, _cdr, _platform) {
48
- super(_elementRef, _cdr);
49
- this._platform = _platform;
50
- this._target = this._getHostElement();
44
+ _platform = inject(AXPlatform);
45
+ ngOnInit() {
46
+ super.initPopOverPositions();
47
+ this._target = this.getHostElement();
51
48
  this._isMobile = this._platform.is('Mobile') || this._platform.is('SM');
52
49
  this._platform.resize.subscribe(() => {
53
50
  this._isMobile = this._platform.is('Mobile') || this._platform.is('SM');
54
51
  this.popover.dispose();
55
52
  });
56
- }
57
- onInit() {
58
53
  this._popoverTitle = this.placeholder || AXTranslator.get('datepicker.popover.title');
54
+ this.onOptionChanged.subscribe(this._handleOnOptionChanged.bind(this));
55
+ this.onValueChanged.subscribe(this._handleOnValueChanged.bind(this));
59
56
  }
60
57
  _updateDisplayText() {
61
58
  this.displayText = this.value ? AXDateTime.convert(this.value, this.type).format(this._format) : '';
62
59
  }
63
60
  _handlePopoverOpened(e) {
64
- setTimeout(() => {
65
- this._calendar?.navTo(this.value || new AXDateTime(new Date(), this.type));
66
- }, 10);
61
+ this._calendar?.navTo(this.value || new AXDateTime(new Date(), this.type));
67
62
  }
68
63
  _handleArrowClickEvent() {
69
64
  this.toggle();
70
65
  }
71
- _onValueChanged(oldValue, newValue) {
66
+ _handleOnValueChanged(oldValue, newValue) {
72
67
  this._updateDisplayText();
73
68
  this.close();
74
69
  }
75
- _onOptionChanged(option) {
76
- super._onOptionChanged(option);
77
- if (option.name == 'type') {
70
+ _handleOnOptionChanged(e) {
71
+ if (e.name == 'type') {
78
72
  this._updateDisplayText();
79
73
  }
80
74
  }
81
- _handleOnKeydownEvent(e) {
82
- const ignore = () => {
83
- e.preventDefault();
84
- e.stopPropagation();
85
- };
86
- const nums = Array(10)
87
- .fill(0)
88
- .map((v, i) => i.toString());
89
- const chars = ['Backspace', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter'];
90
- const input = e.target;
91
- const key = e.key;
92
- const valStr = input.value;
93
- const sStart = input.selectionStart || 0;
94
- const sEnd = input.selectionEnd || 0;
95
- const dateVal = new AXDateTime(this.value);
96
- //
97
- const re = /[a-zA-Z0-9]+/gi;
98
- const parts = Array.from(this.format.matchAll(re));
99
- const word = valStr.substring(sStart, sEnd);
100
- const part = parts.find((c) => c.index >= sStart);
101
- //
102
- //
103
- if ([...nums].includes(key)) {
104
- if (part) {
105
- switch (part[0]) {
106
- case 'dd':
107
- case 'DD':
108
- const newVal = Math.max(1, Math.min(31, Number(word + e.key)));
109
- this.value = dateVal.set('day', newVal).date;
110
- break;
111
- case 'mm':
112
- break;
113
- case 'yy':
114
- case 'YYYY':
115
- break;
116
- }
117
- setTimeout(() => {
118
- this._highlightPart(input, sStart);
119
- }, 10);
120
- ignore();
121
- }
122
- }
123
- else if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
124
- const next = Array.from(valStr.substr(sEnd).matchAll(re));
125
- const prev = Array.from(valStr.substring(0, sStart).matchAll(re));
126
- ignore();
127
- this._highlightPart(input, e.key === 'ArrowRight' ? sEnd + (next[0]?.index || 0) : prev[prev.length - 1]?.index);
128
- }
129
- else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
130
- if (e.ctrlKey && e.key === 'ArrowDown') {
131
- this.open();
132
- }
133
- else {
134
- const sign = e.key === 'ArrowUp' ? +1 : -1;
135
- if (part) {
136
- switch (part[0]) {
137
- case 'dd':
138
- case 'DD':
139
- this.value = dateVal.add('day', sign).date;
140
- break;
141
- case 'mm':
142
- case 'MMM':
143
- case 'MMMM':
144
- this.value = dateVal.add('month', sign).date;
145
- break;
146
- case 'yy':
147
- case 'YYYY':
148
- this.value = dateVal.add('year', sign).date;
149
- break;
150
- }
151
- setTimeout(() => {
152
- this._highlightPart(input, sStart);
153
- }, 10);
154
- }
155
- }
156
- ignore();
157
- }
158
- else if (e.key == 'Backspace') {
159
- if (this.allowNull) {
160
- this.value = null;
161
- }
162
- ignore();
163
- }
164
- // else if (nums.includes(key)) {
165
- // }
166
- // super._emitOnKeydownEvent(e);
167
- }
168
75
  _handleOnInputClickEvent(e) {
169
76
  const input = e.target;
170
- this._highlightPart(input);
171
77
  e.preventDefault();
172
78
  e.stopPropagation();
173
79
  }
174
80
  _handleOnNavigate(e) {
175
81
  this.onNavigate.emit(e);
176
82
  }
177
- _highlightPart(input, pos) {
178
- const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, pos != null ? pos : input.selectionStart || 0);
179
- input.setSelectionRange(start, end);
180
- }
181
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
182
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXDatePickerComponent, selector: "ax-date-picker", inputs: { rtl: "rtl", isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", format: "format", interface: "interface" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", depthChange: "depthChange", typeChange: "typeChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", formatChange: "formatChange" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, providers: [{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "_calendar", first: true, predicate: AXCalendarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\n <input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\n [ngModel]=\"displayText\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" />\n</div>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n</button>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopoverOpened($event)\">\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\n <ax-header *ngIf=\"_isMobile\">\n <ax-title>\n {{ placeholder || 'Choose a date' }}\n </ax-title>\n <ax-close-button></ax-close-button>\n </ax-header>\n <ng-container\n *ngIf=\"\n interface === 'calendar';\n then calendarTemplate;\n else pickerTemplate\n \"></ng-container>\n <ng-template #calendarTemplate>\n <ax-calendar\n #calendar\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(value)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [rtl]=\"rtl\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleOnNavigate($event)\"\n [type]=\"type\">\n </ax-calendar>\n </ng-template>\n <ng-template #pickerTemplate> </ng-template>\n </div>\n</ax-popover>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "min", "max", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i5.AXDecoratorTitleComponent, selector: "ax-title" }, { kind: "component", type: i5.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXDatePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: AXDatePickerComponent, selector: "ax-date-picker", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", format: "format", placeholder: "placeholder", interface: "interface" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick", formatChange: "formatChange" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, providers: [{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "_calendar", first: true, predicate: AXCalendarComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\n <input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\n [ngModel]=\"displayText\"\n (focus)=\"emitOnFocusEvent($event)\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"/>\n</div>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n</button>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"popOverPositions\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopoverOpened($event)\">\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\n <ax-header *ngIf=\"_isMobile\">\n <ax-title>\n {{ placeholder || 'Choose a date' }}\n </ax-title>\n <ax-close-button></ax-close-button>\n </ax-header>\n <ng-container\n *ngIf=\"\n interface === 'calendar';\n then calendarTemplate;\n else pickerTemplate\n \"></ng-container>\n <ng-template #calendarTemplate>\n <ax-calendar\n #calendar\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(value)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [rtl]=\"rtl\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleOnNavigate($event)\"\n [type]=\"type\">\n </ax-calendar>\n </ng-template>\n <ng-template #pickerTemplate> </ng-template>\n </div>\n</ax-popover>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "min", "max", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }, { kind: "component", type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i4.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i4.AXDecoratorTitleComponent, selector: "ax-title" }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
183
85
  }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXDatePickerComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXDatePickerComponent, decorators: [{
185
87
  type: Component,
186
88
  args: [{ selector: 'ax-date-picker', inputs: [
187
89
  'rtl',
188
- 'isOpen',
189
- 'fitParent',
190
- 'dropdownWidth',
191
- 'position',
192
- 'disabled',
193
- 'tabIndex',
194
- 'readonly',
195
- 'allowNull',
196
- 'value',
197
- 'name',
198
- 'checked',
199
- 'placeholder',
200
- 'maxLength',
201
- 'allowNull',
202
- 'type',
203
- 'autoComplete',
204
90
  'readonly',
205
- 'allowNull',
206
91
  'value',
207
92
  'name',
208
- 'checked',
93
+ 'disabled',
209
94
  'depth',
210
95
  'activeView',
211
96
  'min',
212
97
  'max',
213
98
  'disabledDates',
214
- 'type',
215
99
  'holidayDates',
100
+ 'type',
101
+ 'cellTemplate',
102
+ 'cellClass',
216
103
  ], outputs: [
217
- 'onOpened',
218
- 'onClosed',
219
- 'onBlur',
220
- 'onFocus',
221
- 'valueChange',
222
- 'onValueChanged',
104
+ 'onOptionChanged',
223
105
  'valueChange',
224
106
  'onValueChanged',
107
+ 'onBlur',
108
+ 'onFocus',
225
109
  'depthChange',
226
110
  'typeChange',
111
+ 'activeViewChange',
227
112
  'disabledDatesChange',
228
113
  'holidayDatesChange',
229
114
  'onNavigate',
230
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent }], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\n <input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\n [ngModel]=\"displayText\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" />\n</div>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n</button>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopoverOpened($event)\">\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\n <ax-header *ngIf=\"_isMobile\">\n <ax-title>\n {{ placeholder || 'Choose a date' }}\n </ax-title>\n <ax-close-button></ax-close-button>\n </ax-header>\n <ng-container\n *ngIf=\"\n interface === 'calendar';\n then calendarTemplate;\n else pickerTemplate\n \"></ng-container>\n <ng-template #calendarTemplate>\n <ax-calendar\n #calendar\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(value)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [rtl]=\"rtl\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleOnNavigate($event)\"\n [type]=\"type\">\n </ax-calendar>\n </ng-template>\n <ng-template #pickerTemplate> </ng-template>\n </div>\n</ax-popover>\n" }]
231
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
115
+ 'onSlotClick'
116
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent }], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\n <input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\n [ngModel]=\"displayText\"\n (focus)=\"emitOnFocusEvent($event)\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"/>\n</div>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n</button>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"popOverPositions\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopoverOpened($event)\">\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\n <ax-header *ngIf=\"_isMobile\">\n <ax-title>\n {{ placeholder || 'Choose a date' }}\n </ax-title>\n <ax-close-button></ax-close-button>\n </ax-header>\n <ng-container\n *ngIf=\"\n interface === 'calendar';\n then calendarTemplate;\n else pickerTemplate\n \"></ng-container>\n <ng-template #calendarTemplate>\n <ax-calendar\n #calendar\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(value)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [rtl]=\"rtl\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleOnNavigate($event)\"\n [type]=\"type\">\n </ax-calendar>\n </ng-template>\n <ng-template #pickerTemplate> </ng-template>\n </div>\n</ax-popover>\n" }]
117
+ }], propDecorators: { popover: [{
232
118
  type: ViewChild,
233
119
  args: [AXPopoverComponent, { static: true }]
234
120
  }], _calendar: [{
@@ -256,8 +142,8 @@ const MODULES = [
256
142
  FormsModule
257
143
  ];
258
144
  class AXDatepickerModule {
259
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
260
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXDatepickerModule, declarations: [AXDatePickerComponent], imports: [CommonModule,
145
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
146
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: AXDatepickerModule, declarations: [AXDatePickerComponent], imports: [CommonModule,
261
147
  AXCalendarModule,
262
148
  AXTextBoxModule,
263
149
  AXButtonModule,
@@ -265,9 +151,9 @@ class AXDatepickerModule {
265
151
  AXDecoratorModule,
266
152
  AXDateTimeModule,
267
153
  FormsModule], exports: [AXDatePickerComponent] });
268
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXDatepickerModule, imports: [MODULES] });
154
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXDatepickerModule, imports: [MODULES] });
269
155
  }
270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXDatepickerModule, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXDatepickerModule, decorators: [{
271
157
  type: NgModule,
272
158
  args: [{
273
159
  declarations: [...COMPONENT],
@@ -281,5 +167,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
281
167
  * Generated bundle index. Do not edit.
282
168
  */
283
169
 
284
- export { AXBaseDatePickerMixin, AXDatePickerComponent, AXDatepickerModule };
170
+ export { AXDatePickerComponent, AXDatepickerModule };
285
171
  //# sourceMappingURL=acorex-components-date-picker.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-date-picker.mjs","sources":["../../../../projects/acorex/components/date-picker/src/datepicker.component.ts","../../../../projects/acorex/components/date-picker/src/datepicker.component.html","../../../../projects/acorex/components/date-picker/src/datepicker.module.ts","../../../../projects/acorex/components/date-picker/acorex-components-date-picker.ts"],"sourcesContent":["import { AXStringUtil } from '@acorex/core/utils';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { AXDateTime } from '@acorex/core/dateTime';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n ViewChild,\n Input,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { AXClickEvent, AXClosbaleComponent } from '@acorex/components/common';\n\nimport { AXCalendarComponent, AXCalendarBaseComponent, AXCalendarNavigateEvent } from '@acorex/components/calendar';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport {\n AXComponentOptionChanged,\n _DropdownComponenetMixin,\n _InteractiveComponenetMixin,\n _ValueComponenetMixin,\n} from '@acorex/components/mixin';\n\nexport const AXBaseDatePickerMixin = _InteractiveComponenetMixin(_DropdownComponenetMixin(_ValueComponenetMixin(AXCalendarBaseComponent)));\n\n@Component({\n selector: 'ax-date-picker',\n templateUrl: './datepicker.component.html',\n inputs: [\n 'rtl',\n 'isOpen',\n 'fitParent',\n 'dropdownWidth',\n 'position',\n 'disabled',\n 'tabIndex',\n 'readonly',\n 'allowNull',\n 'value',\n 'name',\n 'checked',\n 'placeholder',\n 'maxLength',\n 'allowNull',\n 'type',\n 'autoComplete',\n 'readonly',\n 'allowNull',\n 'value',\n 'name',\n 'checked',\n 'depth',\n 'activeView',\n 'min',\n 'max',\n 'disabledDates',\n 'type',\n 'holidayDates',\n ],\n outputs: [\n 'onOpened',\n 'onClosed',\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'onValueChanged',\n 'valueChange',\n 'onValueChanged',\n 'depthChange',\n 'typeChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent }],\n host: { class: 'ax-editor-container ax-drop-down' },\n})\nexport class AXDatePickerComponent extends AXBaseDatePickerMixin {\n @ViewChild(AXPopoverComponent, { static: true })\n popover: AXPopoverComponent = null;\n\n @ViewChild(AXCalendarComponent, { static: true })\n private _calendar: AXCalendarComponent;\n\n protected _target: HTMLDivElement;\n displayText: string;\n protected _calendarValue: Date;\n protected _cursorPos: number = 0;\n protected _isMobile: boolean = false;\n protected _popoverTitle: string;\n protected _popoverWidth: number;\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format: string = 'YYYY-MM-dd';\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 });\n }\n\n @Input()\n placeholder: string;\n\n @Input()\n interface: 'calendar' | 'picker' = 'calendar';\n\n constructor(_elementRef: ElementRef, _cdr: ChangeDetectorRef, private _platform: AXPlatform) {\n super(_elementRef, _cdr);\n this._target = this._getHostElement();\n this._isMobile = this._platform.is('Mobile') || this._platform.is('SM');\n this._platform.resize.subscribe(() => {\n this._isMobile = this._platform.is('Mobile') || this._platform.is('SM');\n this.popover.dispose();\n });\n }\n\n onInit(): void {\n this._popoverTitle = this.placeholder || AXTranslator.get('datepicker.popover.title');\n }\n\n private _updateDisplayText() {\n this.displayText = this.value ? AXDateTime.convert(this.value, this.type).format(this._format) : '';\n }\n\n protected _handlePopoverOpened(e) {\n setTimeout(() => {\n this._calendar?.navTo(this.value || new AXDateTime(new Date(), this.type));\n }, 10);\n }\n\n protected _handleArrowClickEvent() {\n this.toggle();\n }\n\n _onValueChanged(oldValue?: any, newValue?: any) {\n this._updateDisplayText();\n this.close();\n }\n\n _onOptionChanged(option: AXComponentOptionChanged): void {\n super._onOptionChanged(option);\n if (option.name == 'type') {\n this._updateDisplayText();\n }\n }\n\n protected _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const nums: string[] = Array(10)\n .fill(0)\n .map((v, i) => i.toString());\n const chars: string[] = ['Backspace', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter'];\n const input = e.target as HTMLInputElement;\n const key = e.key;\n const valStr = input.value;\n const sStart = input.selectionStart || 0;\n const sEnd = input.selectionEnd || 0;\n const dateVal = new AXDateTime(this.value);\n //\n const re = /[a-zA-Z0-9]+/gi;\n const parts = Array.from(this.format.matchAll(re));\n const word = valStr.substring(sStart, sEnd);\n const part = parts.find((c: any) => c.index >= sStart);\n //\n //\n if ([...nums].includes(key)) {\n if (part) {\n switch (part[0]) {\n case 'dd':\n case 'DD':\n const newVal = Math.max(1, Math.min(31, Number(word + e.key)));\n this.value = dateVal.set('day', newVal).date;\n break;\n case 'mm':\n break;\n case 'yy':\n case 'YYYY':\n break;\n }\n setTimeout(() => {\n this._highlightPart(input, sStart);\n }, 10);\n ignore();\n }\n } else if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\n const next = Array.from(valStr.substr(sEnd).matchAll(re));\n const prev = Array.from(valStr.substring(0, sStart).matchAll(re));\n ignore();\n this._highlightPart(input, e.key === 'ArrowRight' ? sEnd + (next[0]?.index || 0) : prev[prev.length - 1]?.index);\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (e.ctrlKey && e.key === 'ArrowDown') {\n this.open();\n } else {\n const sign = e.key === 'ArrowUp' ? +1 : -1;\n if (part) {\n switch (part[0]) {\n case 'dd':\n case 'DD':\n this.value = dateVal.add('day', sign).date;\n break;\n case 'mm':\n case 'MMM':\n case 'MMMM':\n this.value = dateVal.add('month', sign).date;\n break;\n case 'yy':\n case 'YYYY':\n this.value = dateVal.add('year', sign).date;\n break;\n }\n setTimeout(() => {\n this._highlightPart(input, sStart);\n }, 10);\n }\n }\n ignore();\n } else if (e.key == 'Backspace') {\n if (this.allowNull) {\n this.value = null;\n }\n ignore();\n }\n // else if (nums.includes(key)) {\n\n // }\n // super._emitOnKeydownEvent(e);\n }\n\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n const input = e.target as HTMLInputElement;\n this._highlightPart(input);\n e.preventDefault();\n e.stopPropagation();\n }\n\n protected _handleOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n private _highlightPart(input: HTMLInputElement, pos?: number) {\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, pos != null ? pos : input.selectionStart || 0);\n input.setSelectionRange(start, end);\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\n <input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\n [ngModel]=\"displayText\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" />\n</div>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n</button>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopoverOpened($event)\">\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\n <ax-header *ngIf=\"_isMobile\">\n <ax-title>\n {{ placeholder || 'Choose a date' }}\n </ax-title>\n <ax-close-button></ax-close-button>\n </ax-header>\n <ng-container\n *ngIf=\"\n interface === 'calendar';\n then calendarTemplate;\n else pickerTemplate\n \"></ng-container>\n <ng-template #calendarTemplate>\n <ax-calendar\n #calendar\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(value)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [rtl]=\"rtl\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleOnNavigate($event)\"\n [type]=\"type\">\n </ax-calendar>\n </ng-template>\n <ng-template #pickerTemplate> </ng-template>\n </div>\n</ax-popover>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\n\nimport { AXDatePickerComponent } from './datepicker.component';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextBoxModule } from '@acorex/components/textbox';\nimport { FormsModule } from '@angular/forms';\n\nconst COMPONENT = [AXDatePickerComponent];\nconst MODULES = [\n CommonModule,\n AXCalendarModule,\n AXTextBoxModule,\n AXButtonModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXDateTimeModule,\n FormsModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDatepickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-date-picker.mjs","sources":["../../../../projects/acorex/components/date-picker/src/datepicker.component.ts","../../../../projects/acorex/components/date-picker/src/datepicker.component.html","../../../../projects/acorex/components/date-picker/src/datepicker.module.ts","../../../../projects/acorex/components/date-picker/acorex-components-date-picker.ts"],"sourcesContent":["import { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslator } from '@acorex/core/translation';\nimport { AXDateTime } from '@acorex/core/dateTime';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ViewChild,\n Input,\n EventEmitter,\n Output,\n inject,\n} from '@angular/core';\nimport { AXClosbaleComponent, AXOptionChangedEvent, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';\nimport { AXPopoverComponent, MXDropDownComponent } from '@acorex/components/popover';\nimport { classes } from 'polytype';\nimport { AXCalendarComponent, AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\n\n\n@Component({\n selector: 'ax-date-picker',\n templateUrl: './datepicker.component.html',\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'min',\n 'max',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick'\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXDatePickerComponent }],\n host: { class: 'ax-editor-container ax-drop-down' },\n})\nexport class AXDatePickerComponent\n extends\n classes(MXValueComponent<Date>, MXInteractiveComponent, MXCalendarBaseComponent, MXDropDownComponent)\n{\n @ViewChild(AXPopoverComponent, { static: true })\n protected popover: AXPopoverComponent = null;\n\n @ViewChild(AXCalendarComponent, { static: true })\n private _calendar: AXCalendarComponent;\n\n protected _target: HTMLDivElement;\n displayText: string;\n protected _calendarValue: Date;\n protected _cursorPos: number = 0;\n protected _isMobile: boolean = false;\n protected _popoverTitle: string;\n protected _popoverWidth: number;\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format: string = 'YYYY-MM-dd';\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 });\n }\n\n @Input()\n placeholder: string;\n\n @Input()\n interface: 'calendar' | 'picker' = 'calendar';\n\n\n private _platform = inject(AXPlatform);\n\n ngOnInit(): void {\n super.initPopOverPositions();\n this._target = this.getHostElement();\n this._isMobile = this._platform.is('Mobile') || this._platform.is('SM');\n this._platform.resize.subscribe(() => {\n this._isMobile = this._platform.is('Mobile') || this._platform.is('SM');\n this.popover.dispose();\n });\n this._popoverTitle = this.placeholder || AXTranslator.get('datepicker.popover.title');\n this.onOptionChanged.subscribe(this._handleOnOptionChanged.bind(this));\n this.onValueChanged.subscribe(this._handleOnValueChanged.bind(this));\n }\n\n\n\n private _updateDisplayText() {\n this.displayText = this.value ? AXDateTime.convert(this.value, this.type).format(this._format) : '';\n }\n\n protected _handlePopoverOpened(e) {\n this._calendar?.navTo(this.value || new AXDateTime(new Date(), this.type));\n }\n\n protected _handleArrowClickEvent() {\n this.toggle();\n }\n\n _handleOnValueChanged(oldValue?: any, newValue?: any) {\n this._updateDisplayText();\n this.close();\n }\n\n _handleOnOptionChanged(e: AXOptionChangedEvent): void {\n if (e.name == 'type') {\n this._updateDisplayText();\n }\n }\n\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n const input = e.target as HTMLInputElement;\n e.preventDefault();\n e.stopPropagation();\n }\n\n protected _handleOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content ax-cursor-pointer\" (click)=\"toggle()\">\n <input\n class=\"ax-input\"\n type=\"text\"\n [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [attr.tabindex]=\"_isMobile ? -1 : tabIndex\"\n [ngModel]=\"displayText\"\n (focus)=\"emitOnFocusEvent($event)\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"/>\n</div>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n</button>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"popOverPositions\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopoverOpened($event)\">\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\">\n <ax-header *ngIf=\"_isMobile\">\n <ax-title>\n {{ placeholder || 'Choose a date' }}\n </ax-title>\n <ax-close-button></ax-close-button>\n </ax-header>\n <ng-container\n *ngIf=\"\n interface === 'calendar';\n then calendarTemplate;\n else pickerTemplate\n \"></ng-container>\n <ng-template #calendarTemplate>\n <ax-calendar\n #calendar\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [(value)]=\"value\"\n [min]=\"min\"\n [max]=\"max\"\n [rtl]=\"rtl\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleOnNavigate($event)\"\n [type]=\"type\">\n </ax-calendar>\n </ng-template>\n <ng-template #pickerTemplate> </ng-template>\n </div>\n</ax-popover>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\n\nimport { AXDatePickerComponent } from './datepicker.component';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTextBoxModule } from '@acorex/components/textbox';\nimport { FormsModule } from '@angular/forms';\n\nconst COMPONENT = [AXDatePickerComponent];\nconst MODULES = [\n CommonModule,\n AXCalendarModule,\n AXTextBoxModule,\n AXButtonModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXDateTimeModule,\n FormsModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDatepickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}