@acorex/components 20.2.21 → 20.2.23

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 (55) hide show
  1. package/autocomplete/index.d.ts +13 -9
  2. package/drawer/README.md +2 -2
  3. package/drawer/index.d.ts +32 -57
  4. package/drawer-legacy/README.md +3 -0
  5. package/drawer-legacy/index.d.ts +86 -0
  6. package/fesm2022/acorex-components-autocomplete.mjs +13 -6
  7. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  8. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  9. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  10. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  11. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  12. package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
  13. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
  14. package/fesm2022/acorex-components-drawer.mjs +58 -143
  15. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  16. package/fesm2022/acorex-components-file-explorer.mjs +1 -1
  17. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  18. package/fesm2022/acorex-components-map.mjs +1 -0
  19. package/fesm2022/acorex-components-map.mjs.map +1 -1
  20. package/fesm2022/acorex-components-media-viewer.mjs +2 -2
  21. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  22. package/fesm2022/{acorex-components-modal-acorex-components-modal-ClSGRCam.mjs → acorex-components-modal-acorex-components-modal-BLjJGxLT.mjs} +2 -2
  23. package/fesm2022/{acorex-components-modal-acorex-components-modal-ClSGRCam.mjs.map → acorex-components-modal-acorex-components-modal-BLjJGxLT.mjs.map} +1 -1
  24. package/fesm2022/{acorex-components-modal-modal-content.component-BC-z7O0z.mjs → acorex-components-modal-modal-content.component-CC_L42pt.mjs} +4 -4
  25. package/fesm2022/acorex-components-modal-modal-content.component-CC_L42pt.mjs.map +1 -0
  26. package/fesm2022/acorex-components-modal.mjs +1 -1
  27. package/fesm2022/acorex-components-number-box-legacy.mjs +412 -0
  28. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
  29. package/fesm2022/acorex-components-number-box.mjs +97 -310
  30. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-query-builder.mjs +1 -1
  32. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  33. package/fesm2022/acorex-components-rrule.mjs +101 -6
  34. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  35. package/fesm2022/acorex-components-tag-box.mjs +44 -14
  36. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  37. package/fesm2022/acorex-components-tag.mjs +39 -3
  38. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  39. package/number-box/README.md +2 -2
  40. package/number-box/index.d.ts +31 -171
  41. package/number-box-legacy/README.md +3 -0
  42. package/number-box-legacy/index.d.ts +191 -0
  43. package/package.json +17 -17
  44. package/rrule/index.d.ts +96 -1
  45. package/tag/index.d.ts +8 -2
  46. package/tag-box/index.d.ts +12 -3
  47. package/drawer-2/README.md +0 -3
  48. package/drawer-2/index.d.ts +0 -62
  49. package/fesm2022/acorex-components-drawer-2.mjs +0 -134
  50. package/fesm2022/acorex-components-drawer-2.mjs.map +0 -1
  51. package/fesm2022/acorex-components-modal-modal-content.component-BC-z7O0z.mjs.map +0 -1
  52. package/fesm2022/acorex-components-number-box-2.mjs +0 -183
  53. package/fesm2022/acorex-components-number-box-2.mjs.map +0 -1
  54. package/number-box-2/README.md +0 -3
  55. package/number-box-2/index.d.ts +0 -41
@@ -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.6", ngImport: i0, type: AXNumberBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
318
- 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 }, 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,7 +144,7 @@ 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
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
331
150
  type: Component,
@@ -350,50 +169,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", 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
- }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], changeOnScroll: [{
358
- type: Input
359
- }], allDigits: [{
360
- type: Input
361
- }], thousandsSeparator: [{
362
- type: Input
363
- }], padDecimalZeros: [{
364
- type: Input
365
- }], step: [{
366
- type: Input
367
- }], decimals: [{
368
- type: Input
369
- }], decimalStep: [{
370
- type: Input
371
- }], showSpinButtons: [{
372
- type: Input
373
- }], minValue: [{
374
- type: Input
375
- }], maxValue: [{
376
- type: Input
377
- }], classNames: [{
378
- type: Input,
379
- args: ['class']
380
- }], _maskDirective: [{
381
- type: ViewChild,
382
- args: [IMaskDirective]
383
- }], onWheel: [{
384
- type: HostListener,
385
- args: ['wheel', ['$event']]
386
- }], __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: [{
387
174
  type: HostBinding,
388
175
  args: ['attr.name']
389
176
  }] } });
390
177
 
391
178
  const COMPONENT = [AXNumberBoxComponent];
392
- const MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];
179
+ const MODULES = [FormsModule, AXInputMaskDirective, AXButtonModule, AXDecoratorModule];
393
180
  class AXNumberBoxModule {
394
181
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
395
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule, AXNumberBoxComponent], exports: [AXNumberBoxComponent] }); }
396
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES, COMPONENT] }); }
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] }); }
397
184
  }
398
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXNumberBoxModule, decorators: [{
399
186
  type: NgModule,