@acorex/components 20.3.36 → 20.3.38

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.
@@ -1,57 +1,49 @@
1
- import * as imask from 'imask';
2
- import { MaskedOptions } from 'imask';
3
- import * as i0 from '@angular/core';
4
- import { EventEmitter, AfterContentInit, ElementRef } from '@angular/core';
5
1
  import * as polytype from 'polytype';
2
+ import * as _angular_core from '@angular/core';
3
+ import { ElementRef } from '@angular/core';
6
4
  import * as i2 from '@acorex/cdk/common';
7
5
  import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
6
+ import { AXMaskTokens } from '@acorex/cdk/input-mask';
8
7
  import * as i1 from '@angular/common';
9
8
  import * as i3 from '@angular/forms';
10
9
  import * as i4 from '@acorex/components/button';
11
10
  import * as i5 from '@acorex/components/decorators';
12
11
 
13
- type AXMaskOptions = MaskedOptions | any;
14
- interface AXMaskOptionsInterface {
15
- mask: MaskedOptions | string | RegExp;
16
- updateValue?: (masked: string, unmasked: string) => void;
17
- }
18
- declare class AXMaskOptionsDirective implements AXMaskOptionsInterface {
19
- private _mask;
20
- onMaskChange: EventEmitter<string | RegExp | Partial<Pick<imask.Masked<any>, "mask" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "format" | "parse" | "overwrite" | "eager" | "skipInvalid" | "autofix">>>;
21
- get mask(): MaskedOptions | string | RegExp;
22
- set mask(v: MaskedOptions | string | RegExp);
23
- updateValue?: (masked: string, unmasked: string) => void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMaskOptionsDirective, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXMaskOptionsDirective, "ax-mask-options", never, { "mask": { "alias": "mask"; "required": false; }; "updateValue": { "alias": "updateValue"; "required": false; }; }, { "onMaskChange": "onMaskChange"; }, never, never, true, never>;
26
- }
27
-
28
12
  declare const AXTextBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
29
13
  new (): MXInputBaseValueComponent<string>;
30
- ɵfac: i0.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
31
- ɵprov: i0.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
14
+ ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
15
+ ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
32
16
  }, typeof MXLookComponent]>;
33
17
  /**
34
18
  * The Textbox is a component which detects user interaction and triggers a corresponding event
35
19
  *
36
20
  * @category Components
37
21
  */
38
- declare class AXTextBoxComponent extends AXTextBoxComponent_base implements AfterContentInit {
22
+ declare class AXTextBoxComponent extends AXTextBoxComponent_base {
39
23
  /** @ignore */
40
24
  protected _updateOn: 'change' | 'blur' | 'submit';
41
25
  /** @ignore */
42
26
  protected input: ElementRef<HTMLInputElement>;
43
- /** @ignore */
44
- private _maskObj;
45
- /** @ignore */
46
- private _maskOptions;
47
27
  /**
48
- * This public getter provides access to the `_maskOptions` property, which holds the configuration options for the mask feature.
28
+ * Custom mask pattern for 'mask' mode.
29
+ * Use the following tokens:
30
+ * - `#`: Required digit (0-9)
31
+ * - `^`: Required letter (a-z, A-Z)
32
+ * - `@`: Required alphanumeric (0-9, a-z, A-Z)
33
+ *
34
+ * Use ! before token to escape symbol. For example !# will render # instead of a digit.
35
+ * Any other character is treated as a literal separator.
36
+ * @example '(###) ###-####' for phone numbers
37
+ * @example 'AA-####' for license plates
38
+ * @example '##/##/####' for dates
49
39
  */
50
- get maskOptions(): AXMaskOptions;
40
+ maskPattern: _angular_core.InputSignal<string>;
51
41
  /**
52
- * @param value {AXMaskOptions} - The new mask configuration options to be set.
42
+ * Custom token definitions to extend or override default mask tokens.
43
+ * Each token maps to a pattern regex and optional transformation.
44
+ * @example { 'P': { pattern: /[1-9]/, transform: (c) => c.toUpperCase() } }
53
45
  */
54
- set maskOptions(value: AXMaskOptions);
46
+ customTokens: _angular_core.InputSignal<AXMaskTokens>;
55
47
  /**
56
48
  * This property defines the maximum number of characters that the input field can accept. It can be dynamically bound from a parent component template to enforce input length constraints.
57
49
  */
@@ -67,29 +59,18 @@ declare class AXTextBoxComponent extends AXTextBoxComponent_base implements Afte
67
59
  /**
68
60
  * This will apply 'my-custom-class' and 'another-class' to the component's root element.
69
61
  */
70
- classNames: i0.InputSignal<string>;
71
- /** @ignore */
72
- protected _maskOptionsContent: AXMaskOptionsDirective;
73
- /** @ignore */
74
- ngAfterContentInit(): void;
75
- private initMask;
76
- /** @ignore */
77
- private setMask;
78
- internalValueChanged(value: any): void;
79
- /** @ignore */
80
- private _onComplete;
62
+ classNames: _angular_core.InputSignal<string>;
81
63
  /** @ignore */
82
64
  protected _handleModelChange(value: string | null): void;
83
65
  private get __hostName();
84
- static ɵfac: i0.ɵɵFactoryDeclaration<AXTextBoxComponent, never>;
85
- static ɵcmp: i0.ɵɵComponentDeclaration<AXTextBoxComponent, "ax-text-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "type": { "alias": "type"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "look": { "alias": "look"; "required": false; }; "maskOptions": { "alias": "mask-options"; "required": false; }; "classNames": { "alias": "class"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, ["_maskOptionsContent"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTextBoxComponent, never>;
67
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTextBoxComponent, "ax-text-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "type": { "alias": "type"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "look": { "alias": "look"; "required": false; }; "maskPattern": { "alias": "maskPattern"; "required": false; "isSignal": true; }; "customTokens": { "alias": "customTokens"; "required": false; "isSignal": true; }; "classNames": { "alias": "class"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
86
68
  }
87
69
 
88
70
  declare class AXTextBoxModule {
89
- static ɵfac: i0.ɵɵFactoryDeclaration<AXTextBoxModule, never>;
90
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXTextBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXButtonModule, typeof i5.AXDecoratorModule, typeof AXTextBoxComponent, typeof AXMaskOptionsDirective], [typeof AXTextBoxComponent, typeof AXMaskOptionsDirective]>;
91
- static ɵinj: i0.ɵɵInjectorDeclaration<AXTextBoxModule>;
71
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTextBoxModule, never>;
72
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXTextBoxModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof i4.AXButtonModule, typeof i5.AXDecoratorModule, typeof AXTextBoxComponent], [typeof AXTextBoxComponent]>;
73
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXTextBoxModule>;
92
74
  }
93
75
 
94
- export { AXMaskOptionsDirective, AXTextBoxComponent, AXTextBoxModule };
95
- export type { AXMaskOptions, AXMaskOptionsInterface };
76
+ export { AXTextBoxComponent, AXTextBoxModule };
@@ -18,7 +18,8 @@ declare class AXTimeDurationComponent extends AXTimeDurationComponent_base {
18
18
  readonly maskDigits: _angular_core.InputSignal<string>;
19
19
  readonly minValue: _angular_core.InputSignal<number>;
20
20
  readonly maxValue: _angular_core.InputSignal<number>;
21
- protected maskOptions: _angular_core.WritableSignal<any>;
21
+ protected mask: _angular_core.WritableSignal<any>;
22
+ protected maskPlaceHolder: _angular_core.WritableSignal<any>;
22
23
  private translationService;
23
24
  private timeDurationFormatter;
24
25
  private onInputFire;