@acorex/components 21.0.0-next.1 → 21.0.0-next.10

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 (249) hide show
  1. package/code-editor/README.md +291 -1
  2. package/code-editor/index.d.ts +260 -12
  3. package/drawer/README.md +2 -2
  4. package/drawer/index.d.ts +32 -57
  5. package/drawer-legacy/README.md +3 -0
  6. package/drawer-legacy/index.d.ts +86 -0
  7. package/editor/README.md +3 -0
  8. package/editor/index.d.ts +41 -0
  9. package/fesm2022/acorex-components-accordion.mjs +12 -12
  10. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  11. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  12. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  13. package/fesm2022/acorex-components-alert.mjs +8 -8
  14. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  15. package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
  16. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  17. package/fesm2022/acorex-components-audio-wave.mjs +8 -8
  18. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  19. package/fesm2022/acorex-components-autocomplete.mjs +8 -8
  20. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  21. package/fesm2022/acorex-components-avatar.mjs +11 -11
  22. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  23. package/fesm2022/acorex-components-badge.mjs +8 -8
  24. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  25. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  26. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  27. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  28. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  29. package/fesm2022/acorex-components-button-group.mjs +13 -13
  30. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  31. package/fesm2022/acorex-components-button.mjs +15 -15
  32. package/fesm2022/acorex-components-button.mjs.map +1 -1
  33. package/fesm2022/acorex-components-calendar.mjs +14 -14
  34. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  35. package/fesm2022/acorex-components-check-box.mjs +8 -8
  36. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  37. package/fesm2022/acorex-components-chips.mjs +8 -8
  38. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  39. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  40. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  41. package/fesm2022/acorex-components-code-editor.mjs +494 -162
  42. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  43. package/fesm2022/acorex-components-collapse.mjs +11 -26
  44. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  45. package/fesm2022/acorex-components-color-box.mjs +9 -9
  46. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  47. package/fesm2022/acorex-components-color-palette.mjs +30 -30
  48. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  49. package/fesm2022/acorex-components-command.mjs +10 -10
  50. package/fesm2022/acorex-components-command.mjs.map +1 -1
  51. package/fesm2022/acorex-components-comment.mjs +30 -30
  52. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  53. package/fesm2022/acorex-components-conversation.mjs +54 -63
  54. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  55. package/fesm2022/acorex-components-cron-job.mjs +53 -53
  56. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-list.mjs +5 -5
  58. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  59. package/fesm2022/acorex-components-data-pager.mjs +50 -38
  60. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  61. package/fesm2022/acorex-components-data-table.mjs +39 -37
  62. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  63. package/fesm2022/acorex-components-datetime-box.mjs +8 -8
  64. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  65. package/fesm2022/acorex-components-datetime-input.mjs +8 -8
  66. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  67. package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
  68. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  69. package/fesm2022/acorex-components-decorators.mjs +83 -41
  70. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  71. package/fesm2022/acorex-components-dialog.mjs +10 -10
  72. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  73. package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
  74. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
  75. package/fesm2022/acorex-components-drawer.mjs +64 -149
  76. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  77. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  78. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  79. package/fesm2022/acorex-components-dropdown.mjs +15 -15
  80. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  81. package/fesm2022/acorex-components-editor.mjs +180 -0
  82. package/fesm2022/acorex-components-editor.mjs.map +1 -0
  83. package/fesm2022/acorex-components-file-explorer.mjs +28 -28
  84. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  85. package/fesm2022/acorex-components-flow-chart.mjs +18 -18
  86. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  87. package/fesm2022/acorex-components-form.mjs +22 -28
  88. package/fesm2022/acorex-components-form.mjs.map +1 -1
  89. package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -12
  90. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  91. package/fesm2022/acorex-components-image-editor.mjs +38 -38
  92. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  93. package/fesm2022/acorex-components-image.mjs +8 -8
  94. package/fesm2022/acorex-components-image.mjs.map +1 -1
  95. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  96. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  97. package/fesm2022/acorex-components-kanban.mjs +4 -4
  98. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  99. package/fesm2022/acorex-components-kbd.mjs +7 -7
  100. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  101. package/fesm2022/acorex-components-label.mjs +7 -7
  102. package/fesm2022/acorex-components-label.mjs.map +1 -1
  103. package/fesm2022/acorex-components-list.mjs +8 -8
  104. package/fesm2022/acorex-components-list.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  106. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  107. package/fesm2022/acorex-components-loading.mjs +16 -16
  108. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  109. package/fesm2022/acorex-components-map.mjs +14 -14
  110. package/fesm2022/acorex-components-map.mjs.map +1 -1
  111. package/fesm2022/acorex-components-media-viewer.mjs +61 -87
  112. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  113. package/fesm2022/acorex-components-menu.mjs +19 -19
  114. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  115. package/fesm2022/{acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs → acorex-components-modal-acorex-components-modal-ClSGRCam.mjs} +23 -23
  116. package/fesm2022/acorex-components-modal-acorex-components-modal-ClSGRCam.mjs.map +1 -0
  117. package/fesm2022/{acorex-components-modal-modal-content.component-B6tyMLdU.mjs → acorex-components-modal-modal-content.component-BC-z7O0z.mjs} +7 -30
  118. package/fesm2022/acorex-components-modal-modal-content.component-BC-z7O0z.mjs.map +1 -0
  119. package/fesm2022/acorex-components-modal.mjs +1 -1
  120. package/fesm2022/acorex-components-navbar.mjs +7 -7
  121. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  122. package/fesm2022/acorex-components-notification.mjs +10 -10
  123. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  124. package/fesm2022/acorex-components-number-box-legacy.mjs +412 -0
  125. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
  126. package/fesm2022/acorex-components-number-box.mjs +100 -331
  127. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  128. package/fesm2022/acorex-components-otp.mjs +8 -8
  129. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  130. package/fesm2022/acorex-components-page.mjs +10 -10
  131. package/fesm2022/acorex-components-page.mjs.map +1 -1
  132. package/fesm2022/acorex-components-paint.mjs +27 -27
  133. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  134. package/fesm2022/acorex-components-password-box.mjs +11 -11
  135. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  136. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  137. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  138. package/fesm2022/acorex-components-phone-box.mjs +8 -8
  139. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-picker.mjs +15 -15
  141. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  142. package/fesm2022/acorex-components-popover.mjs +8 -8
  143. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  144. package/fesm2022/acorex-components-popup.mjs +10 -10
  145. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  146. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  147. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  148. package/fesm2022/acorex-components-qrcode.mjs +8 -8
  149. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  150. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  151. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  152. package/fesm2022/acorex-components-radio.mjs +7 -7
  153. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  154. package/fesm2022/acorex-components-rail-navigation.mjs +15 -15
  155. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  156. package/fesm2022/acorex-components-range-slider.mjs +8 -8
  157. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rate-picker.mjs +8 -8
  159. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  160. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  161. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  162. package/fesm2022/acorex-components-result.mjs +7 -7
  163. package/fesm2022/acorex-components-result.mjs.map +1 -1
  164. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  165. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  166. package/fesm2022/acorex-components-rrule.mjs +38 -38
  167. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  168. package/fesm2022/acorex-components-scheduler.mjs +43 -43
  169. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  170. package/fesm2022/acorex-components-scss.mjs +4 -4
  171. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  172. package/fesm2022/acorex-components-search-box.mjs +8 -8
  173. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  174. package/fesm2022/acorex-components-select-box.mjs +20 -13
  175. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-selection-list-legacy.mjs +220 -0
  177. package/fesm2022/acorex-components-selection-list-legacy.mjs.map +1 -0
  178. package/fesm2022/acorex-components-selection-list.mjs +20 -75
  179. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  180. package/fesm2022/acorex-components-side-menu.mjs +31 -38
  181. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  182. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  183. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  184. package/fesm2022/acorex-components-slider.mjs +8 -8
  185. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  186. package/fesm2022/acorex-components-sliding-item.mjs +16 -16
  187. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  188. package/fesm2022/acorex-components-step-wizard.mjs +15 -15
  189. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  190. package/fesm2022/acorex-components-switch.mjs +10 -10
  191. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  192. package/fesm2022/acorex-components-tabs.mjs +15 -15
  193. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tag-box.mjs +8 -8
  195. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  196. package/fesm2022/acorex-components-tag.mjs +7 -7
  197. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  198. package/fesm2022/acorex-components-text-area.mjs +7 -7
  199. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  200. package/fesm2022/acorex-components-text-box.mjs +11 -11
  201. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-time-duration.mjs +54 -14
  203. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  204. package/fesm2022/acorex-components-time-line.mjs +13 -28
  205. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  206. package/fesm2022/acorex-components-toast.mjs +10 -10
  207. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  208. package/fesm2022/acorex-components-toolbar.mjs +8 -8
  209. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tooltip.mjs +11 -11
  211. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/acorex-components-tree-view.mjs +16 -45
  213. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  214. package/fesm2022/acorex-components-uploader.mjs +24 -39
  215. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  216. package/fesm2022/acorex-components-video-player.mjs +8 -8
  217. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  218. package/fesm2022/acorex-components-wysiwyg.mjs +207 -458
  219. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  220. package/media-viewer/index.d.ts +1 -0
  221. package/number-box/README.md +2 -2
  222. package/number-box/index.d.ts +31 -171
  223. package/number-box-legacy/README.md +3 -0
  224. package/number-box-legacy/index.d.ts +191 -0
  225. package/package.json +28 -13
  226. package/phone-box/index.d.ts +4 -4
  227. package/rrule/index.d.ts +3 -3
  228. package/select-box/index.d.ts +1 -0
  229. package/selection-list/README.md +2 -2
  230. package/selection-list/index.d.ts +16 -57
  231. package/selection-list-legacy/README.md +3 -0
  232. package/selection-list-legacy/index.d.ts +93 -0
  233. package/side-menu/index.d.ts +3 -2
  234. package/time-duration/index.d.ts +19 -3
  235. package/wysiwyg/index.d.ts +56 -159
  236. package/drawer-2/README.md +0 -3
  237. package/drawer-2/index.d.ts +0 -62
  238. package/fesm2022/acorex-components-drawer-2.mjs +0 -134
  239. package/fesm2022/acorex-components-drawer-2.mjs.map +0 -1
  240. package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +0 -1
  241. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +0 -1
  242. package/fesm2022/acorex-components-number-box-2.mjs +0 -183
  243. package/fesm2022/acorex-components-number-box-2.mjs.map +0 -1
  244. package/fesm2022/acorex-components-selection-list-2.mjs +0 -165
  245. package/fesm2022/acorex-components-selection-list-2.mjs.map +0 -1
  246. package/number-box-2/README.md +0 -3
  247. package/number-box-2/index.d.ts +0 -41
  248. package/selection-list-2/README.md +0 -3
  249. package/selection-list-2/index.d.ts +0 -52
@@ -1,15 +1,12 @@
1
+ import { AXInputMaskDirective } from '@acorex/cdk/input-mask';
1
2
  import * as i0 from '@angular/core';
2
- import { input, forwardRef, HostBinding, HostListener, ViewChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import { IMaskDirective, IMaskModule } from 'angular-imask';
4
- import { createMask } from 'imask';
3
+ import { input, model, signal, viewChild, afterNextRender, effect, forwardRef, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
4
  import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent } from '@acorex/cdk/common';
5
+ import { AXButtonModule } from '@acorex/components/button';
6
+ import { AXDecoratorModule } from '@acorex/components/decorators';
6
7
  import * as i1 from '@angular/forms';
7
8
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
8
- import { toNumber, isEmpty } from 'lodash-es';
9
9
  import { classes } from 'polytype';
10
- import { AXButtonModule } from '@acorex/components/button';
11
- import { AXDecoratorModule } from '@acorex/components/decorators';
12
- import { CommonModule } from '@angular/common';
13
10
 
14
11
  /**
15
12
  * The NumberBox is a component which detects user interaction and triggers a corresponding event
@@ -17,296 +14,118 @@ import { CommonModule } from '@angular/common';
17
14
  * @category Components
18
15
  */
19
16
  class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
20
- /**
21
- * A number value that specifies the all digits of number.
22
- */
23
- get allDigits() {
24
- return this._allDigits;
25
- }
26
- /**
27
- * Sets the all digits of number.
28
- * @param {number} v
29
- */
30
- set allDigits(v) {
31
- this.setOption({
32
- name: 'allDigits',
33
- value: v,
34
- });
35
- }
36
- /**
37
- * A character value that specifies the separator character.
38
- */
39
- get thousandsSeparator() {
40
- return this._thousandsSeparator;
41
- }
42
- /**
43
- * Sets the thousands separator for formatting.
44
- * @param {string} v
45
- */
46
- set thousandsSeparator(v) {
47
- this.setOption({
48
- name: 'thousandsSeparator',
49
- value: v ?? '',
50
- });
51
- }
52
- /**
53
- * A character value that specifies the separator character.
54
- */
55
- get padDecimalZeros() {
56
- return this._padDecimalZeros;
57
- }
58
- /**
59
- * Sets whether decimal zeros should be padded.
60
- * @param {boolean} v
61
- */
62
- set padDecimalZeros(v) {
63
- this.setOption({
64
- name: 'padDecimalZeros',
65
- value: v,
66
- });
67
- }
68
- /**
69
- * Specifies the number of decimals that the user can enter
70
- */
71
- get decimals() {
72
- return this._decimals;
73
- }
74
- /**
75
- * Sets the decimal places; defaults to 0 if not provided.
76
- */
77
- set decimals(v) {
78
- this.setOption({
79
- name: 'decimals',
80
- value: v ?? 0,
81
- });
82
- }
83
- /**
84
- * Specifies the smallest value that is valid
85
- */
86
- get minValue() {
87
- return this._minValue;
88
- }
89
- /**
90
- * Sets the number of decimal places to be used.
91
- * @param {number} v
92
- * @defaultvalue 0
93
- */
94
- set minValue(v) {
95
- this.setOption({
96
- name: 'minValue',
97
- value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,
98
- });
99
- }
100
- /**
101
- * Specifies the greatest value that is valid
102
- */
103
- get maxValue() {
104
- return this._maxValue;
105
- }
106
- /**
107
- * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.
108
- * @param v
109
- */
110
- set maxValue(v) {
111
- this.setOption({
112
- name: 'maxValue',
113
- value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,
114
- });
115
- }
116
17
  constructor() {
117
- super();
118
- /**
119
- * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.
120
- */
121
- this.type = input('tel', ...(ngDevMode ? [{ debugName: "type" }] : []));
122
- /**
123
- * boolean value that specifies the number box change step by scrolling.
124
- */
125
- this.changeOnScroll = false;
126
- /** @ignore */
127
- this._allDigits = 0;
128
- /** @ignore */
129
- this._padDecimalZeros = false;
130
- /**
131
- * Specifies the value that is used to increment or decrement the **Integer** part of number
132
- */
133
- this.step = 1;
134
- /** @ignore */
135
- this._decimals = 0;
136
- /**
137
- * Specifies the value that is used to increment or decrement the **Deciaml** part of number
138
- */
139
- this.decimalStep = 'auto';
140
- /**
141
- * Specifies whether the Up and Down spin buttons will be rendered or not
142
- */
143
- this.showSpinButtons = true;
144
- /** @ignore */
145
- this._minValue = Number.MIN_SAFE_INTEGER;
146
- /** @ignore */
147
- this._maxValue = Number.MAX_SAFE_INTEGER;
148
- /** @ignore */
149
- this._onWheelFlag = false;
150
- this.onFocus.subscribe(() => {
151
- this._onWheelFlag = true;
152
- this.input.nativeElement.select();
153
- });
154
- this.onBlur.subscribe(() => {
155
- this._onWheelFlag = false;
18
+ super(...arguments);
19
+ this.minValue = input(null, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
20
+ this.maxValue = input(null, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
21
+ this.showSpinButtons = input(true, ...(ngDevMode ? [{ debugName: "showSpinButtons" }] : []));
22
+ this.thousandsSeparator = model(null, ...(ngDevMode ? [{ debugName: "thousandsSeparator" }] : []));
23
+ this.decimals = input(0, ...(ngDevMode ? [{ debugName: "decimals" }] : []));
24
+ this.changeOnScroll = input(false, ...(ngDevMode ? [{ debugName: "changeOnScroll" }] : []));
25
+ this.step = input(1, ...(ngDevMode ? [{ debugName: "step" }] : []));
26
+ this.mode = signal('digits', ...(ngDevMode ? [{ debugName: "mode" }] : []));
27
+ this.input = viewChild('input', ...(ngDevMode ? [{ debugName: "input" }] : []));
28
+ this.stringValue = '0';
29
+ this.#init = afterNextRender(() => {
30
+ this.onFocus.subscribe(() => {
31
+ this.input().nativeElement.select();
32
+ });
156
33
  });
34
+ this.#eff = effect(() => {
35
+ if (this.thousandsSeparator() && this.decimals()) {
36
+ this.mode.set('digits');
37
+ return;
38
+ }
39
+ else if (this.thousandsSeparator()) {
40
+ this.mode.set('thousandsSeparator');
41
+ return;
42
+ }
43
+ else if (this.decimals()) {
44
+ this.mode.set('decimal');
45
+ }
46
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
157
47
  }
158
- /** @ignore */
159
- ngAfterViewInit() {
160
- this._updateMask();
161
- }
162
- /**
163
- * Handles internal option changes and updates the mask accordingly.
164
- */
165
- internalOptionChanged() {
166
- this._updateMask();
167
- }
168
- /**
169
- * Resets the input element to its default state and calls the parent class reset method.
170
- */
171
- reset() {
172
- this.input.nativeElement.value = null;
173
- super.reset(true);
174
- }
175
- /**
176
- * Ensures the value is within the min-max range, returning the default if null.
177
- * @param value
178
- */
179
- internalSetValue(value) {
180
- // || (value == 0 && !this._maskObj.value)
181
- if (value == null) {
182
- return this.defaultValue;
48
+ internalValueChanged(value) {
49
+ if (!value) {
50
+ this.stringValue = '0';
51
+ return;
183
52
  }
184
- const v = toNumber(value);
185
- if (v < this.minValue)
186
- return this.minValue;
187
- if (v > this.maxValue)
188
- return this.maxValue;
189
- return v;
53
+ this.stringValue = String(value);
190
54
  }
191
- /** @ignore */
192
- _updateMask() {
193
- if (!this._maskObj) {
194
- this._maskObj = createMask({
195
- mask: Number,
196
- min: this.minValue,
197
- max: this.maxValue,
198
- thousandsSeparator: this.thousandsSeparator || '',
199
- scale: this.decimals,
200
- radix: '.',
201
- padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,
202
- });
203
- this._maskObj.format = (v, m) => {
204
- return !isNaN(v)
205
- ? v.toLocaleString('en-US', {
206
- useGrouping: false,
207
- maximumFractionDigits: 20,
208
- })
209
- : '';
210
- };
55
+ #init;
56
+ #eff;
57
+ plusValue() {
58
+ if (this.disabled || this.readonly) {
59
+ return;
60
+ }
61
+ if (this.mode() === 'thousandsSeparator') {
62
+ const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');
63
+ const addStep = +removeSeparator + this.step();
64
+ this.commitValue(addStep);
65
+ const addSeparator = addStep.toLocaleString();
66
+ const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());
67
+ this.stringValue = replaceSeparator;
211
68
  }
212
69
  else {
213
- this._maskObj.updateOptions({
214
- min: this.minValue,
215
- max: this.maxValue,
216
- thousandsSeparator: this.thousandsSeparator || '',
217
- scale: this.decimals,
218
- radix: '.',
219
- padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,
220
- });
70
+ const convert = +this.stringValue + this.step();
71
+ this.commitValue(convert);
72
+ this.stringValue = convert.toString();
221
73
  }
222
- this._maskDirective?.maskRef?.updateValue();
223
- this._maskDirective?.maskRef?.updateControl();
224
74
  }
225
- /** @ignore */
226
- _handleModelChange(value) {
227
- if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {
228
- value = null;
75
+ minusValue() {
76
+ if (this.disabled || this.readonly) {
77
+ return;
78
+ }
79
+ if (this.mode() === 'thousandsSeparator') {
80
+ const removeSeparator = this.stringValue.split(this.thousandsSeparator()).join('');
81
+ const addStep = +removeSeparator - this.step();
82
+ this.commitValue(addStep);
83
+ const addSeparator = addStep.toLocaleString();
84
+ const replaceSeparator = addSeparator.split(',').join(this.thousandsSeparator());
85
+ this.stringValue = replaceSeparator;
86
+ }
87
+ else {
88
+ const convert = +this.stringValue + this.step() * -1;
89
+ this.commitValue(convert);
90
+ this.stringValue = convert.toString();
229
91
  }
230
- this.commitValue(value, true);
231
92
  }
232
- /** @ignore */
233
- _handleOnKeydownEvent(e) {
93
+ handleOnKeydownEvent(e) {
94
+ if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
95
+ return;
234
96
  if (this.disabled || this.readonly)
235
97
  return;
236
- const ignore = () => {
237
- e.preventDefault();
238
- e.stopPropagation();
239
- };
240
- const input = e.target;
241
- const valStr = input.value;
242
- const decimalPointIndex = valStr.indexOf('.');
243
- const _cursorPos = input.selectionStart;
244
- if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
245
- if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {
246
- e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);
247
- }
248
- else {
249
- e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);
250
- }
251
- ignore();
252
- setTimeout(() => {
253
- input.setSelectionRange(_cursorPos, _cursorPos);
254
- }, 5);
98
+ if (e.key === 'ArrowUp') {
99
+ this.plusValue();
100
+ }
101
+ else if (e.key === 'ArrowDown') {
102
+ this.minusValue();
255
103
  }
256
- super.emitOnKeydownEvent(e);
257
104
  }
258
- /** @ignore */
259
- _handleUpDownClick(v, e) {
260
- const isUserInteraction = e.isTrusted;
105
+ handleUpClick() {
261
106
  if (this.disabled || this.readonly)
262
107
  return;
263
- v == 1 ? this.stepUp(isUserInteraction) : this.stepDown(isUserInteraction);
108
+ this.plusValue();
264
109
  }
265
- /**
266
- * Increases the value by the step amount, ensuring it's at least the minimum value.
267
- */
268
- stepUp(u = false) {
269
- if (!this.value) {
270
- this.commitValue(Math.max(this.minValue, 0), u);
271
- }
272
- this.commitValue(this.value + toNumber(this.step), u);
273
- }
274
- /**
275
- * Decreases the value by the step amount, ensuring it's at least the minimum value.
276
- */
277
- stepDown(u = false) {
278
- if (!this.value) {
279
- this.commitValue(Math.max(this.minValue, 0), u);
280
- }
281
- this.commitValue(this.value - toNumber(this.step), u);
110
+ handleDownClick() {
111
+ this.minusValue();
282
112
  }
283
- /**
284
- * Increases the value by the decimal step amount, using 'auto' or a custom step value.
285
- */
286
- decimalStepUp(u = false) {
287
- if (!this.value) {
288
- this.commitValue(Math.max(this.minValue, 0), u);
289
- }
290
- this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
291
- }
292
- /**
293
- * Decreases the value by the decimal step amount, using 'auto' or a custom step value.
294
- */
295
- decimalStepDown(u = false) {
296
- if (!this.value) {
297
- this.commitValue(Math.max(this.minValue, 0), u);
113
+ handleOnMaskChanged(e) {
114
+ if (!e.unmasked || isNaN(+e.unmasked)) {
115
+ this.commitValue(null);
116
+ return;
298
117
  }
299
- this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
118
+ this.commitValue(+e.unmasked);
300
119
  }
301
120
  onWheel(event) {
302
- if (this.changeOnScroll && this._onWheelFlag) {
121
+ if (this.changeOnScroll()) {
303
122
  event.preventDefault();
304
123
  if (!this.disabled && !this.readonly) {
305
124
  if (event.deltaY > 0) {
306
- this.commitValue(this.value - this.step);
125
+ this.minusValue();
307
126
  }
308
127
  else {
309
- this.commitValue(this.value + this.step);
128
+ this.plusValue();
310
129
  }
311
130
  }
312
131
  }
@@ -314,8 +133,8 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
314
133
  get __hostName() {
315
134
  return this.name;
316
135
  }
317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
318
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXNumberBoxComponent, isStandalone: true, selector: "ax-number-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: "changeOnScroll", publicName: "changeOnScroll", isSignal: false, isRequired: false, transformFunction: null }, allDigits: { classPropertyName: "allDigits", publicName: "allDigits", isSignal: false, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: "thousandsSeparator", publicName: "thousandsSeparator", isSignal: false, isRequired: false, transformFunction: null }, padDecimalZeros: { classPropertyName: "padDecimalZeros", publicName: "padDecimalZeros", isSignal: false, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: false, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: false, isRequired: false, transformFunction: null }, decimalStep: { classPropertyName: "decimalStep", publicName: "decimalStep", isSignal: false, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: "showSpinButtons", publicName: "showSpinButtons", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, classNames: { classPropertyName: "classNames", publicName: "class", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, host: { listeners: { "wheel": "onWheel($event)" }, properties: { "attr.name": "this.__hostName" } }, providers: [
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXNumberBoxComponent, isStandalone: true, selector: "ax-number-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, showSpinButtons: { classPropertyName: "showSpinButtons", publicName: "showSpinButtons", isSignal: true, isRequired: false, transformFunction: null }, thousandsSeparator: { classPropertyName: "thousandsSeparator", publicName: "thousandsSeparator", isSignal: true, isRequired: false, transformFunction: null }, decimals: { classPropertyName: "decimals", publicName: "decimals", isSignal: true, isRequired: false, transformFunction: null }, changeOnScroll: { classPropertyName: "changeOnScroll", publicName: "changeOnScroll", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress", thousandsSeparator: "thousandsSeparatorChange" }, host: { properties: { "attr.name": "this.__hostName" } }, providers: [
319
138
  { provide: AXComponent, useExisting: AXNumberBoxComponent },
320
139
  { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
321
140
  { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
@@ -325,9 +144,9 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
325
144
  useExisting: forwardRef(() => AXNumberBoxComponent),
326
145
  multi: true,
327
146
  },
328
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [attr.type]=\"type()\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1, $event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1, $event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem}ax-number-box .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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"] }, { kind: "directive", type: IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
147
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-editor-container ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n axInputMask\n (onMaskChanged)=\"handleOnMaskChanged($event)\"\n [maskMode]=\"mode()\"\n inputmode=\"numeric\"\n class=\"ax-input\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n [separator]=\"thousandsSeparator()\"\n [decimal]=\"decimals()\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"stringValue\"\n (keydown)=\"handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (wheel)=\"onWheel($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons()) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleUpClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleDownClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:70%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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"] }, { kind: "directive", type: AXInputMaskDirective, selector: "[axInputMask]", inputs: ["maskMode", "separator", "eager", "minValue", "maxValue", "decimal"], outputs: ["onMaskChanged"], exportAs: ["axInputMask"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
329
148
  }
330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
331
150
  type: Component,
332
151
  args: [{ selector: 'ax-number-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [
333
152
  'valueChange',
@@ -350,70 +169,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
350
169
  useExisting: forwardRef(() => AXNumberBoxComponent),
351
170
  multi: true,
352
171
  },
353
- ], imports: [FormsModule, IMaskDirective], template: "<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [attr.type]=\"type()\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1, $event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1, $event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:100%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem}ax-number-box .ax-number-box-control button:first-child{align-items:flex-end;display:flex}ax-number-box .ax-number-box-control button:last-child{align-items:flex-start;display:flex}\n"] }]
354
- }], ctorParameters: () => [], propDecorators: { input: [{
355
- type: ViewChild,
356
- args: ['input']
357
- }], changeOnScroll: [{
358
- type: Input
359
- }], allDigits: [{
360
- type: Input
361
- }], thousandsSeparator: [{
362
- type: Input
363
- }], padDecimalZeros: [{
364
- type: Input
365
- }],
366
- /**
367
- * Defines the increment step value.
368
- */
369
- step: [{
370
- type: Input
371
- }], decimals: [{
372
- type: Input
373
- }],
374
- /**
375
- * Defines the step size for decimal values.
376
- * @defaultvalue 'auto'
377
- */
378
- decimalStep: [{
379
- type: Input
380
- }],
381
- /**
382
- * Indicates whether spin buttons are displayed.
383
- * @defaultvalue true
384
- */
385
- showSpinButtons: [{
386
- type: Input
387
- }], minValue: [{
388
- type: Input
389
- }], maxValue: [{
390
- type: Input
391
- }],
392
- /**
393
- * CSS classes to apply to the component.
394
- */
395
- classNames: [{
396
- type: Input,
397
- args: ['class']
398
- }], _maskDirective: [{
399
- type: ViewChild,
400
- args: [IMaskDirective]
401
- }], onWheel: [{
402
- type: HostListener,
403
- args: ['wheel', ['$event']]
404
- }], __hostName: [{
172
+ ], imports: [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule], template: "<div\n class=\"ax-editor-container ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n axInputMask\n (onMaskChanged)=\"handleOnMaskChanged($event)\"\n [maskMode]=\"mode()\"\n inputmode=\"numeric\"\n class=\"ax-input\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n [separator]=\"thousandsSeparator()\"\n [decimal]=\"decimals()\"\n [id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"stringValue\"\n (keydown)=\"handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n (wheel)=\"onWheel($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons()) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleUpClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"handleDownClick()\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-number-box input::-webkit-outer-spin-button,ax-number-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ax-number-box input[type=number]{-moz-appearance:textfield}ax-number-box .ax-number-box-control{--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem;height:70%;display:flex;flex-direction:column}ax-number-box .ax-number-box-control button{font-size:.75rem;align-items:center}\n"] }]
173
+ }], propDecorators: { minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }], showSpinButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSpinButtons", required: false }] }], thousandsSeparator: [{ type: i0.Input, args: [{ isSignal: true, alias: "thousandsSeparator", required: false }] }, { type: i0.Output, args: ["thousandsSeparatorChange"] }], decimals: [{ type: i0.Input, args: [{ isSignal: true, alias: "decimals", required: false }] }], changeOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "changeOnScroll", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], input: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], __hostName: [{
405
174
  type: HostBinding,
406
175
  args: ['attr.name']
407
176
  }] } });
408
177
 
409
178
  const COMPONENT = [AXNumberBoxComponent];
410
- const MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];
179
+ const MODULES = [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule];
411
180
  class AXNumberBoxModule {
412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
413
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBoxModule, imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule, AXNumberBoxComponent], exports: [AXNumberBoxComponent] }); }
414
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES, COMPONENT] }); }
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
182
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, imports: [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule, AXNumberBoxComponent], exports: [AXNumberBoxComponent] }); }
183
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, imports: [FormsModule, AXButtonModule, AXDecoratorModule, COMPONENT] }); }
415
184
  }
416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXNumberBoxModule, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, decorators: [{
417
186
  type: NgModule,
418
187
  args: [{
419
188
  imports: [...MODULES, ...COMPONENT],