ngx-nz-formly 0.0.10 → 1.0.0

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 (35) hide show
  1. package/fesm2022/ngx-nz-formly.mjs +1527 -1260
  2. package/fesm2022/ngx-nz-formly.mjs.map +1 -1
  3. package/ngx-nz-formly.min.css +1 -0
  4. package/package.json +16 -11
  5. package/types/ngx-nz-formly.d.ts +330 -0
  6. package/README.md +0 -400
  7. package/esm2022/index.mjs +0 -5
  8. package/esm2022/lib/components/nz-formly-button/nz-formly-button.component.mjs +0 -21
  9. package/esm2022/lib/components/nz-formly-field-checkbox/nz-formly-field-checkbox.component.mjs +0 -36
  10. package/esm2022/lib/components/nz-formly-field-input/nz-formly-field-input.component.mjs +0 -107
  11. package/esm2022/lib/components/nz-formly-field-input/phone-mask.config.mjs +0 -1463
  12. package/esm2022/lib/components/nz-formly-field-radio/nz-formly-field-radio.component.mjs +0 -42
  13. package/esm2022/lib/components/nz-formly-field-select/nz-formly-field-select.component.mjs +0 -37
  14. package/esm2022/lib/components/nz-formly-field-switch/nz-formly-field-switch.component.mjs +0 -41
  15. package/esm2022/lib/ngx-nz-formly-props.model.mjs +0 -6
  16. package/esm2022/lib/ngx-nz-formly-type-safe.model.mjs +0 -44
  17. package/esm2022/lib/ngx-nz-formly-validators.mjs +0 -52
  18. package/esm2022/lib/ngx-nz-formly.module.mjs +0 -272
  19. package/esm2022/lib/wrappers/nz-formly-default-wrapper/nz-formly-default-wrapper.component.mjs +0 -14
  20. package/esm2022/lib/wrappers/nz-formly-label-wrapper/nz-formly-label-wrapper.component.mjs +0 -13
  21. package/esm2022/ngx-nz-formly.mjs +0 -5
  22. package/index.d.ts +0 -4
  23. package/lib/components/nz-formly-button/nz-formly-button.component.d.ts +0 -8
  24. package/lib/components/nz-formly-field-checkbox/nz-formly-field-checkbox.component.d.ts +0 -13
  25. package/lib/components/nz-formly-field-input/nz-formly-field-input.component.d.ts +0 -24
  26. package/lib/components/nz-formly-field-input/phone-mask.config.d.ts +0 -11
  27. package/lib/components/nz-formly-field-radio/nz-formly-field-radio.component.d.ts +0 -14
  28. package/lib/components/nz-formly-field-select/nz-formly-field-select.component.d.ts +0 -13
  29. package/lib/components/nz-formly-field-switch/nz-formly-field-switch.component.d.ts +0 -14
  30. package/lib/ngx-nz-formly-props.model.d.ts +0 -144
  31. package/lib/ngx-nz-formly-type-safe.model.d.ts +0 -14
  32. package/lib/ngx-nz-formly-validators.d.ts +0 -16
  33. package/lib/ngx-nz-formly.module.d.ts +0 -2
  34. package/lib/wrappers/nz-formly-default-wrapper/nz-formly-default-wrapper.component.d.ts +0 -7
  35. package/lib/wrappers/nz-formly-label-wrapper/nz-formly-label-wrapper.component.d.ts +0 -7
@@ -1,1511 +1,1742 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, NgModule } from '@angular/core';
3
- import * as i2 from '@ngx-formly/core';
4
- import { FieldType, FieldWrapper, FormlyModule } from '@ngx-formly/core';
5
- import { Subject, takeUntil, tap, debounceTime } from 'rxjs';
2
+ import { Injectable, NgModule, Component, inject, DestroyRef, makeEnvironmentProviders, importProvidersFrom, provideAppInitializer } from '@angular/core';
3
+ import * as i2$1 from '@ngx-formly/core';
4
+ import { FormlyModule, FieldType, FieldWrapper } from '@ngx-formly/core';
5
+ import * as i1$1 from '@angular/forms';
6
+ import { ReactiveFormsModule, RequiredValidator } from '@angular/forms';
6
7
  import * as i1 from '@angular/common';
7
8
  import { CommonModule } from '@angular/common';
8
- import * as i3 from '@angular/forms';
9
- import { RequiredValidator, ReactiveFormsModule } from '@angular/forms';
10
- import * as i4 from 'ngx-mask';
11
- import { NgxMaskModule } from 'ngx-mask';
12
- import * as i5 from 'ng-zorro-antd/input';
13
- import { NzInputModule } from 'ng-zorro-antd/input';
14
- import * as i6 from 'ng-zorro-antd/core/transition-patch';
15
- import * as i7 from 'ng-zorro-antd/icon';
16
- import { NzIconModule } from 'ng-zorro-antd/icon';
9
+ import * as i2 from 'ng-zorro-antd/button';
10
+ import { NzButtonModule } from 'ng-zorro-antd/button';
11
+ import * as i3 from 'ng-zorro-antd/core/transition-patch';
12
+ import * as i4 from 'ng-zorro-antd/core/wave';
17
13
  import * as i3$1 from 'ng-zorro-antd/checkbox';
18
14
  import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
19
- import * as i2$1 from 'ng-zorro-antd/button';
20
- import { NzButtonModule } from 'ng-zorro-antd/button';
21
- import * as i4$1 from 'ng-zorro-antd/core/wave';
22
- import * as i4$2 from 'ng-zorro-antd/select';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import { tap } from 'rxjs';
17
+ import * as i1$2 from '@angular/cdk/bidi';
18
+ import { BidiModule } from '@angular/cdk/bidi';
19
+ import * as i4$1 from 'ng-zorro-antd/date-picker';
20
+ import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
21
+ import { NZ_DATE_LOCALE, fa_IR, NZ_I18N } from 'ng-zorro-antd/i18n';
22
+ import * as i3$2 from 'ng-zorro-antd/input';
23
+ import { NzInputModule } from 'ng-zorro-antd/input';
24
+ import * as i4$2 from 'ng-zorro-antd/icon';
25
+ import { NzIconModule } from 'ng-zorro-antd/icon';
26
+ import { NgxMaskDirective } from 'ngx-mask';
27
+ import * as i3$3 from 'ng-zorro-antd/radio';
28
+ import { NzRadioModule } from 'ng-zorro-antd/radio';
29
+ import * as i3$4 from 'ng-zorro-antd/select';
23
30
  import { NzSelectModule } from 'ng-zorro-antd/select';
24
- import * as i3$2 from 'ng-zorro-antd/switch';
31
+ import * as i3$5 from 'ng-zorro-antd/slider';
32
+ import { NzSliderModule } from 'ng-zorro-antd/slider';
33
+ import * as i3$6 from 'ng-zorro-antd/switch';
25
34
  import { NzSwitchModule } from 'ng-zorro-antd/switch';
26
- import * as i4$3 from 'ng-zorro-antd/radio';
27
- import { NzRadioModule } from 'ng-zorro-antd/radio';
28
- import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
35
+ import * as i1$3 from 'ng-zorro-antd/upload';
36
+ import { NzUploadModule } from 'ng-zorro-antd/upload';
37
+ import { faIR } from 'date-fns-jalali/locale';
38
+ import { CandyDate } from 'ng-zorro-antd/core/time';
39
+ import { getYear, getMonth, getDate, setDate } from 'date-fns-jalali';
40
+
41
+ class NzFormlyFieldBuilder {
42
+ input(key, configOverrides) {
43
+ return {
44
+ key,
45
+ type: 'input',
46
+ ...configOverrides
47
+ };
48
+ }
49
+ textarea(key, configOverrides) {
50
+ return {
51
+ key,
52
+ type: 'textarea',
53
+ ...configOverrides
54
+ };
55
+ }
56
+ checkbox(key, configOverrides) {
57
+ return {
58
+ key,
59
+ type: 'checkbox',
60
+ ...configOverrides
61
+ };
62
+ }
63
+ switch(key, configOverrides) {
64
+ return {
65
+ key,
66
+ type: 'switch',
67
+ ...configOverrides
68
+ };
69
+ }
70
+ radio(key, configOverrides) {
71
+ return {
72
+ key,
73
+ type: 'radio',
74
+ ...configOverrides
75
+ };
76
+ }
77
+ select(key, configOverrides) {
78
+ return {
79
+ key,
80
+ type: 'select',
81
+ ...configOverrides
82
+ };
83
+ }
84
+ slider(key, configOverrides) {
85
+ return {
86
+ key,
87
+ type: 'slider',
88
+ ...configOverrides
89
+ };
90
+ }
91
+ button(configOverrides) {
92
+ return {
93
+ type: 'button',
94
+ ...configOverrides
95
+ };
96
+ }
97
+ uploader(configOverrides) {
98
+ return {
99
+ type: 'uploader',
100
+ ...configOverrides
101
+ };
102
+ }
103
+ datePicker(key, configOverrides) {
104
+ return {
105
+ key,
106
+ type: 'datePicker',
107
+ ...configOverrides
108
+ };
109
+ }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
111
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldBuilder }); }
112
+ }
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldBuilder, decorators: [{
114
+ type: Injectable
115
+ }] });
116
+
117
+ /**
118
+ * Back-compat shim for NgModule-based consumers. The field types/wrappers are
119
+ * now standalone components resolved by Formly at runtime, so this module only
120
+ * provides the builder and re-exports FormlyModule. Existing setups that import
121
+ * NgxNzFormlyModule and call `FormlyModule.forRoot(NzFormlyForRoot)` keep
122
+ * working. New apps should prefer `provideNgxNzFormly()`.
123
+ */
124
+ class NgxNzFormlyModule {
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NgxNzFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
126
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.18", ngImport: i0, type: NgxNzFormlyModule, imports: [FormlyModule], exports: [FormlyModule] }); }
127
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NgxNzFormlyModule, providers: [NzFormlyFieldBuilder], imports: [FormlyModule, FormlyModule] }); }
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NgxNzFormlyModule, decorators: [{
130
+ type: NgModule,
131
+ args: [{
132
+ imports: [FormlyModule],
133
+ providers: [NzFormlyFieldBuilder],
134
+ exports: [FormlyModule]
135
+ }]
136
+ }] });
137
+
138
+ function minLengthValidator(control, field) {
139
+ if (field.props?.minLen)
140
+ return control.value?.length < field.props?.minLen ? { minLen: true } : null;
141
+ return null;
142
+ }
143
+ function minLengthMessage(field) {
144
+ return `Field must be at least ${field.props?.minLen} characters`;
145
+ }
146
+ function maxLengthValidator(control, field) {
147
+ if (field.props?.maxLen)
148
+ return control.value?.length > field.props?.maxLen ? { maxLen: true } : null;
149
+ return null;
150
+ }
151
+ function maxLengthMessage(field) {
152
+ return `Field must be at most ${field.props?.maxLen} characters`;
153
+ }
154
+ function minValueValidator(control, field) {
155
+ if (field.props?.minValue && control.value != null)
156
+ return Number(control.value) < field.props.minValue ? { minValue: false } : null;
157
+ return null;
158
+ }
159
+ function minValueMessage(field) {
160
+ return `Field value must be more than ${field.props?.minValue}`;
161
+ }
162
+ function maxValueValidator(control, field) {
163
+ if (field.props?.maxValue && control.value != null)
164
+ return Number(control.value) > field.props.maxValue ? { maxValue: true } : null;
165
+ return null;
166
+ }
167
+ function maxValueMessage(field) {
168
+ return `Field value must be less than ${field.props?.maxValue}`;
169
+ }
170
+ function emailValidator(control) {
171
+ const REGEX = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/;
172
+ return REGEX.test(control.value) ? null : { email: true };
173
+ }
174
+ function passwordValidator(control, field) {
175
+ if (field.props?.type === 'password') {
176
+ const REGEX = /^(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[A-Za-z\d\W_]{8,}$/;
177
+ return REGEX.test(control.value) ? null : { password: true };
178
+ }
179
+ return null;
180
+ }
181
+
182
+ class NzFormlyButtonComponent extends FieldType {
183
+ onClick() {
184
+ if (typeof this.props?.click == 'function') {
185
+ this.props.click();
186
+ }
187
+ }
188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: NzFormlyButtonComponent, isStandalone: true, selector: "app-nz-formly-button", usesInheritance: true, ngImport: i0, template: "<button\n nz-button\n type=\"button\"\n [disabled]=\"props.disabled\"\n [nzGhost]=\"props.nzGhost\"\n [nzLoading]=\"props.nzLoading\"\n [nzShape]=\"props.nzShape\"\n [nzSize]=\"props.nzSize\"\n [nzType]=\"props.nzType\"\n [nzBlock]=\"props.nzBlock\"\n [nzDanger]=\"props.nzDanger\"\n [ngClass]=\"props.classList\"\n (click)=\"onClick()\"\n>\n {{ props.text }}\n</button>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i2.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i4.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] }); }
190
+ }
191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyButtonComponent, decorators: [{
192
+ type: Component,
193
+ args: [{ selector: 'app-nz-formly-button', imports: [CommonModule, NzButtonModule], template: "<button\n nz-button\n type=\"button\"\n [disabled]=\"props.disabled\"\n [nzGhost]=\"props.nzGhost\"\n [nzLoading]=\"props.nzLoading\"\n [nzShape]=\"props.nzShape\"\n [nzSize]=\"props.nzSize\"\n [nzType]=\"props.nzType\"\n [nzBlock]=\"props.nzBlock\"\n [nzDanger]=\"props.nzDanger\"\n [ngClass]=\"props.classList\"\n (click)=\"onClick()\"\n>\n {{ props.text }}\n</button>\n" }]
194
+ }] });
195
+
196
+ class NzFormlyFieldCheckboxComponent extends FieldType {
197
+ constructor() {
198
+ super(...arguments);
199
+ this.destroyRef = inject(DestroyRef);
200
+ }
201
+ get fieldID() {
202
+ return 'control-' + this.field.key;
203
+ }
204
+ ngOnInit() {
205
+ this.onValueChange();
206
+ }
207
+ onValueChange() {
208
+ this.formControl.valueChanges
209
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
210
+ if (typeof this.props?.change == 'function') {
211
+ this.props.change(this.field, value);
212
+ }
213
+ }))
214
+ .subscribe();
215
+ }
216
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
217
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: NzFormlyFieldCheckboxComponent, isStandalone: true, selector: "app-nz-formly-field-checkbox", usesInheritance: true, ngImport: i0, template: "<label\n nz-checkbox\n class=\"nz-formly-checkbox-label\"\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzDisabled]=\"props.nzDisabled\"\n>\n {{ props.label }}\n</label>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzCheckboxModule }, { kind: "component", type: i3$1.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }] }); }
218
+ }
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldCheckboxComponent, decorators: [{
220
+ type: Component,
221
+ args: [{ selector: 'app-nz-formly-field-checkbox', imports: [CommonModule, ReactiveFormsModule, FormlyModule, NzCheckboxModule], template: "<label\n nz-checkbox\n class=\"nz-formly-checkbox-label\"\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzDisabled]=\"props.nzDisabled\"\n>\n {{ props.label }}\n</label>\n" }]
222
+ }] });
223
+
224
+ class NzFormlyFieldDatePickerComponent extends FieldType {
225
+ constructor() {
226
+ super(...arguments);
227
+ this.dateLocale = inject(NZ_DATE_LOCALE, { optional: true });
228
+ }
229
+ get fieldID() {
230
+ return 'control-' + this.field.key;
231
+ }
232
+ get status() {
233
+ return this.formControl.touched && this.formControl.invalid ? 'error' : '';
234
+ }
235
+ /**
236
+ * RTL when a Jalali (Persian) date locale is active, so the calendar grid and
237
+ * input read right-to-left. Falls back to LTR for Gregorian. Can be forced
238
+ * per field via `props.rtl`.
239
+ */
240
+ get dir() {
241
+ const code = this.dateLocale?.code;
242
+ return code?.startsWith('fa') ? 'rtl' : 'ltr';
243
+ }
244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldDatePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: NzFormlyFieldDatePickerComponent, isStandalone: true, selector: "app-nz-formly-field-date-picker", usesInheritance: true, ngImport: i0, template: "<div [dir]=\"dir\">\n <nz-date-picker\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzAllowClear]=\"props.nzAllowClear\"\n [nzAutoFocus]=\"props.nzAutoFocus\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n [nzInline]=\"props.nzInline\"\n [nzFormat]=\"props.nzFormat\"\n [nzMode]=\"props.nzMode\"\n [nzPlaceHolder]=\"props.nzPlaceholder\"\n [nzSize]=\"props.nzSize\"\n [nzStatus]=\"status\"\n [nzDefaultPickerValue]=\"props.nzDefaultPickerValue\"\n [nzDisabledDate]=\"props.nzDisabledDate\"\n [nzDropdownClassName]=\"props.nzDropdownClassName\"\n [nzPopupStyle]=\"props.nzPopupStyle\"\n [nzShowToday]=\"props.nzShowToday\"\n [nzShowNow]=\"props.nzShowNow\"\n [nzShowWeekNumber]=\"props.nzShowWeekNumber\"\n ></nz-date-picker>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: BidiModule }, { kind: "directive", type: i1$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzDatePickerModule }, { kind: "component", type: i4$1.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzInline", "nzAllowClear", "nzAutoFocus", "nzDisabled", "nzInputReadOnly", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzVariant", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }] }); }
246
+ }
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldDatePickerComponent, decorators: [{
248
+ type: Component,
249
+ args: [{ selector: 'app-nz-formly-field-date-picker', imports: [CommonModule, BidiModule, ReactiveFormsModule, FormlyModule, NzDatePickerModule], template: "<div [dir]=\"dir\">\n <nz-date-picker\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzAllowClear]=\"props.nzAllowClear\"\n [nzAutoFocus]=\"props.nzAutoFocus\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n [nzInline]=\"props.nzInline\"\n [nzFormat]=\"props.nzFormat\"\n [nzMode]=\"props.nzMode\"\n [nzPlaceHolder]=\"props.nzPlaceholder\"\n [nzSize]=\"props.nzSize\"\n [nzStatus]=\"status\"\n [nzDefaultPickerValue]=\"props.nzDefaultPickerValue\"\n [nzDisabledDate]=\"props.nzDisabledDate\"\n [nzDropdownClassName]=\"props.nzDropdownClassName\"\n [nzPopupStyle]=\"props.nzPopupStyle\"\n [nzShowToday]=\"props.nzShowToday\"\n [nzShowNow]=\"props.nzShowNow\"\n [nzShowWeekNumber]=\"props.nzShowWeekNumber\"\n ></nz-date-picker>\n</div>\n" }]
250
+ }] });
29
251
 
30
252
  const CountryMasks2 = [
31
253
  {
32
- countryShortName: "AC",
33
- prefix: "+247",
34
- globalMask: "+247-####",
254
+ countryShortName: 'AC',
255
+ prefix: '+247',
256
+ globalMask: '+247-####'
35
257
  },
36
258
  {
37
- countryShortName: "AD",
38
- prefix: "+376",
39
- globalMask: "+376-###-###",
259
+ countryShortName: 'AD',
260
+ prefix: '+376',
261
+ globalMask: '+376-###-###'
40
262
  },
41
263
  {
42
- countryShortName: "AE",
43
- prefix: "+9715",
44
- globalMask: "+971-5#-###-####",
264
+ countryShortName: 'AE',
265
+ prefix: '+9715',
266
+ globalMask: '+971-5#-###-####'
45
267
  },
46
268
  {
47
- countryShortName: "AE",
48
- prefix: "+971",
49
- globalMask: "+971-#-###-####",
269
+ countryShortName: 'AE',
270
+ prefix: '+971',
271
+ globalMask: '+971-#-###-####'
50
272
  },
51
273
  {
52
- countryShortName: "AF",
53
- prefix: "+93",
54
- globalMask: "+93-##-###-####",
274
+ countryShortName: 'AF',
275
+ prefix: '+93',
276
+ globalMask: '+93-##-###-####'
55
277
  },
56
278
  {
57
- countryShortName: "AG",
58
- prefix: "+1268",
59
- globalMask: "+1(268)###-####",
279
+ countryShortName: 'AG',
280
+ prefix: '+1268',
281
+ globalMask: '+1(268)###-####'
60
282
  },
61
283
  {
62
- countryShortName: "AI",
63
- prefix: "+1264",
64
- globalMask: "+1(264)###-####",
284
+ countryShortName: 'AI',
285
+ prefix: '+1264',
286
+ globalMask: '+1(264)###-####'
65
287
  },
66
288
  {
67
- countryShortName: "AL",
68
- prefix: "+355",
69
- globalMask: "+355(###)###-###",
289
+ countryShortName: 'AL',
290
+ prefix: '+355',
291
+ globalMask: '+355(###)###-###'
70
292
  },
71
293
  {
72
- countryShortName: "AM",
73
- prefix: "+374",
74
- globalMask: "+374-##-###-###",
294
+ countryShortName: 'AM',
295
+ prefix: '+374',
296
+ globalMask: '+374-##-###-###'
75
297
  },
76
298
  {
77
- countryShortName: "AN",
78
- prefix: "+599",
79
- globalMask: "+599-###-####",
299
+ countryShortName: 'AN',
300
+ prefix: '+599',
301
+ globalMask: '+599-###-####'
80
302
  },
81
303
  {
82
- countryShortName: "AN",
83
- prefix: "+5999",
84
- globalMask: "+599-9###-####",
304
+ countryShortName: 'AN',
305
+ prefix: '+5999',
306
+ globalMask: '+599-9###-####'
85
307
  },
86
308
  {
87
- countryShortName: "AO",
88
- prefix: "+244",
89
- globalMask: "+244(###)###-###",
309
+ countryShortName: 'AO',
310
+ prefix: '+244',
311
+ globalMask: '+244(###)###-###'
90
312
  },
91
313
  {
92
- countryShortName: "AQ",
93
- prefix: "+6721",
94
- globalMask: "+672-1##-###",
314
+ countryShortName: 'AQ',
315
+ prefix: '+6721',
316
+ globalMask: '+672-1##-###'
95
317
  },
96
318
  {
97
- countryShortName: "AR",
98
- prefix: "+54",
99
- globalMask: "+54(###)###-####",
319
+ countryShortName: 'AR',
320
+ prefix: '+54',
321
+ globalMask: '+54(###)###-####'
100
322
  },
101
323
  {
102
- countryShortName: "AS",
103
- prefix: "+1684",
104
- globalMask: "+1(684)###-####",
324
+ countryShortName: 'AS',
325
+ prefix: '+1684',
326
+ globalMask: '+1(684)###-####'
105
327
  },
106
328
  {
107
- countryShortName: "AT",
108
- prefix: "+43",
109
- globalMask: "+43(###)###-####",
329
+ countryShortName: 'AT',
330
+ prefix: '+43',
331
+ globalMask: '+43(###)###-####'
110
332
  },
111
333
  {
112
- countryShortName: "AU",
113
- prefix: "+61",
114
- globalMask: "+61-#-####-####",
334
+ countryShortName: 'AU',
335
+ prefix: '+61',
336
+ globalMask: '+61-#-####-####'
115
337
  },
116
338
  {
117
- countryShortName: "AW",
118
- prefix: "+297",
119
- globalMask: "+297-###-####",
339
+ countryShortName: 'AW',
340
+ prefix: '+297',
341
+ globalMask: '+297-###-####'
120
342
  },
121
343
  {
122
- countryShortName: "AZ",
123
- prefix: "+994",
124
- globalMask: "+994-##-###-##-##",
344
+ countryShortName: 'AZ',
345
+ prefix: '+994',
346
+ globalMask: '+994-##-###-##-##'
125
347
  },
126
348
  {
127
- countryShortName: "BA",
128
- prefix: "+387",
129
- globalMask: "+387-##-#####",
349
+ countryShortName: 'BA',
350
+ prefix: '+387',
351
+ globalMask: '+387-##-#####'
130
352
  },
131
353
  {
132
- countryShortName: "BA",
133
- prefix: "+387",
134
- globalMask: "+387-##-####",
354
+ countryShortName: 'BA',
355
+ prefix: '+387',
356
+ globalMask: '+387-##-####'
135
357
  },
136
358
  {
137
- countryShortName: "BB",
138
- prefix: "+1246",
139
- globalMask: "+1(246)###-####",
359
+ countryShortName: 'BB',
360
+ prefix: '+1246',
361
+ globalMask: '+1(246)###-####'
140
362
  },
141
363
  {
142
- countryShortName: "BD",
143
- prefix: "+880",
144
- globalMask: "+880-##-###-###",
364
+ countryShortName: 'BD',
365
+ prefix: '+880',
366
+ globalMask: '+880-##-###-###'
145
367
  },
146
368
  {
147
- countryShortName: "BE",
148
- prefix: "+32",
149
- globalMask: "+32(###)###-###",
369
+ countryShortName: 'BE',
370
+ prefix: '+32',
371
+ globalMask: '+32(###)###-###'
150
372
  },
151
373
  {
152
- countryShortName: "BF",
153
- prefix: "+226",
154
- globalMask: "+226-##-##-####",
374
+ countryShortName: 'BF',
375
+ prefix: '+226',
376
+ globalMask: '+226-##-##-####'
155
377
  },
156
378
  {
157
- countryShortName: "BG",
158
- prefix: "+359",
159
- globalMask: "+359(###)###-###",
379
+ countryShortName: 'BG',
380
+ prefix: '+359',
381
+ globalMask: '+359(###)###-###'
160
382
  },
161
383
  {
162
- countryShortName: "BH",
163
- prefix: "+973",
164
- globalMask: "+973-####-####",
384
+ countryShortName: 'BH',
385
+ prefix: '+973',
386
+ globalMask: '+973-####-####'
165
387
  },
166
388
  {
167
- countryShortName: "BI",
168
- prefix: "+257",
169
- globalMask: "+257-##-##-####",
389
+ countryShortName: 'BI',
390
+ prefix: '+257',
391
+ globalMask: '+257-##-##-####'
170
392
  },
171
393
  {
172
- countryShortName: "BJ",
173
- prefix: "+229",
174
- globalMask: "+229-##-##-####",
394
+ countryShortName: 'BJ',
395
+ prefix: '+229',
396
+ globalMask: '+229-##-##-####'
175
397
  },
176
398
  {
177
- countryShortName: "BM",
178
- prefix: "+1441",
179
- globalMask: "+1(441)###-####",
399
+ countryShortName: 'BM',
400
+ prefix: '+1441',
401
+ globalMask: '+1(441)###-####'
180
402
  },
181
403
  {
182
- countryShortName: "BN",
183
- prefix: "+673",
184
- globalMask: "+673-###-####",
404
+ countryShortName: 'BN',
405
+ prefix: '+673',
406
+ globalMask: '+673-###-####'
185
407
  },
186
408
  {
187
- countryShortName: "BO",
188
- prefix: "+591",
189
- globalMask: "+591-#-###-####",
409
+ countryShortName: 'BO',
410
+ prefix: '+591',
411
+ globalMask: '+591-#-###-####'
190
412
  },
191
413
  {
192
- countryShortName: "BR",
193
- prefix: "+55",
194
- globalMask: "+55(##)####-####",
414
+ countryShortName: 'BR',
415
+ prefix: '+55',
416
+ globalMask: '+55(##)####-####'
195
417
  },
196
418
  {
197
- countryShortName: "BR",
198
- prefix: "+55",
199
- globalMask: "+55(##)9####-####",
419
+ countryShortName: 'BR',
420
+ prefix: '+55',
421
+ globalMask: '+55(##)9####-####'
200
422
  },
201
423
  {
202
- countryShortName: "BS",
203
- prefix: "+1242",
204
- globalMask: "+1(242)###-####",
424
+ countryShortName: 'BS',
425
+ prefix: '+1242',
426
+ globalMask: '+1(242)###-####'
205
427
  },
206
428
  {
207
- countryShortName: "BT",
208
- prefix: "+97517",
209
- globalMask: "+975-17-###-###",
429
+ countryShortName: 'BT',
430
+ prefix: '+97517',
431
+ globalMask: '+975-17-###-###'
210
432
  },
211
433
  {
212
- countryShortName: "BT",
213
- prefix: "+975",
214
- globalMask: "+975-#-###-###",
434
+ countryShortName: 'BT',
435
+ prefix: '+975',
436
+ globalMask: '+975-#-###-###'
215
437
  },
216
438
  {
217
- countryShortName: "BW",
218
- prefix: "+267",
219
- globalMask: "+267-##-###-###",
439
+ countryShortName: 'BW',
440
+ prefix: '+267',
441
+ globalMask: '+267-##-###-###'
220
442
  },
221
443
  {
222
- countryShortName: "BY",
223
- prefix: "+375",
224
- globalMask: "+375(##)###-##-##",
444
+ countryShortName: 'BY',
445
+ prefix: '+375',
446
+ globalMask: '+375(##)###-##-##'
225
447
  },
226
448
  {
227
- countryShortName: "BZ",
228
- prefix: "+501",
229
- globalMask: "+501-###-####",
449
+ countryShortName: 'BZ',
450
+ prefix: '+501',
451
+ globalMask: '+501-###-####'
230
452
  },
231
453
  {
232
- countryShortName: "US & CA",
233
- prefix: "+1",
234
- globalMask: "+1(###)###-####",
454
+ countryShortName: 'US & CA',
455
+ prefix: '+1',
456
+ globalMask: '+1(###)###-####'
235
457
  },
236
458
  {
237
- countryShortName: "CD",
238
- prefix: "+243",
239
- globalMask: "+243(###)###-###",
459
+ countryShortName: 'CD',
460
+ prefix: '+243',
461
+ globalMask: '+243(###)###-###'
240
462
  },
241
463
  {
242
- countryShortName: "CF",
243
- prefix: "+236",
244
- globalMask: "+236-##-##-####",
464
+ countryShortName: 'CF',
465
+ prefix: '+236',
466
+ globalMask: '+236-##-##-####'
245
467
  },
246
468
  {
247
- countryShortName: "CG",
248
- prefix: "+242",
249
- globalMask: "+242-##-###-####",
469
+ countryShortName: 'CG',
470
+ prefix: '+242',
471
+ globalMask: '+242-##-###-####'
250
472
  },
251
473
  {
252
- countryShortName: "CH",
253
- prefix: "+41",
254
- globalMask: "+41-##-###-####",
474
+ countryShortName: 'CH',
475
+ prefix: '+41',
476
+ globalMask: '+41-##-###-####'
255
477
  },
256
478
  {
257
- countryShortName: "CI",
258
- prefix: "+225",
259
- globalMask: "+225-##-###-###",
479
+ countryShortName: 'CI',
480
+ prefix: '+225',
481
+ globalMask: '+225-##-###-###'
260
482
  },
261
483
  {
262
- countryShortName: "CK",
263
- prefix: "+682",
264
- globalMask: "+682-##-###",
484
+ countryShortName: 'CK',
485
+ prefix: '+682',
486
+ globalMask: '+682-##-###'
265
487
  },
266
488
  {
267
- countryShortName: "CL",
268
- prefix: "+56",
269
- globalMask: "+56-#-####-####",
489
+ countryShortName: 'CL',
490
+ prefix: '+56',
491
+ globalMask: '+56-#-####-####'
270
492
  },
271
493
  {
272
- countryShortName: "CM",
273
- prefix: "+237",
274
- globalMask: "+237-####-####",
494
+ countryShortName: 'CM',
495
+ prefix: '+237',
496
+ globalMask: '+237-####-####'
275
497
  },
276
498
  {
277
- countryShortName: "CN",
278
- prefix: "+86",
279
- globalMask: "+86(###)####-####",
499
+ countryShortName: 'CN',
500
+ prefix: '+86',
501
+ globalMask: '+86(###)####-####'
280
502
  },
281
503
  {
282
- countryShortName: "CN",
283
- prefix: "+86",
284
- globalMask: "+86(###)####-###",
504
+ countryShortName: 'CN',
505
+ prefix: '+86',
506
+ globalMask: '+86(###)####-###'
285
507
  },
286
508
  {
287
- countryShortName: "CN",
288
- prefix: "+86",
289
- globalMask: "+86-##-#####-#####",
509
+ countryShortName: 'CN',
510
+ prefix: '+86',
511
+ globalMask: '+86-##-#####-#####'
290
512
  },
291
513
  {
292
- countryShortName: "CO",
293
- prefix: "+57",
294
- globalMask: "+57(###)###-####",
514
+ countryShortName: 'CO',
515
+ prefix: '+57',
516
+ globalMask: '+57(###)###-####'
295
517
  },
296
518
  {
297
- countryShortName: "CR",
298
- prefix: "+506",
299
- globalMask: "+506-####-####",
519
+ countryShortName: 'CR',
520
+ prefix: '+506',
521
+ globalMask: '+506-####-####'
300
522
  },
301
523
  {
302
- countryShortName: "CU",
303
- prefix: "+53",
304
- globalMask: "+53-#-###-####",
524
+ countryShortName: 'CU',
525
+ prefix: '+53',
526
+ globalMask: '+53-#-###-####'
305
527
  },
306
528
  {
307
- countryShortName: "CV",
308
- prefix: "+238",
309
- globalMask: "+238(###)##-##",
529
+ countryShortName: 'CV',
530
+ prefix: '+238',
531
+ globalMask: '+238(###)##-##'
310
532
  },
311
533
  {
312
- countryShortName: "CW",
313
- prefix: "+599",
314
- globalMask: "+599-###-####",
534
+ countryShortName: 'CW',
535
+ prefix: '+599',
536
+ globalMask: '+599-###-####'
315
537
  },
316
538
  {
317
- countryShortName: "CY",
318
- prefix: "+357",
319
- globalMask: "+357-##-###-###",
539
+ countryShortName: 'CY',
540
+ prefix: '+357',
541
+ globalMask: '+357-##-###-###'
320
542
  },
321
543
  {
322
- countryShortName: "CZ",
323
- prefix: "+420",
324
- globalMask: "+420(###)###-###",
544
+ countryShortName: 'CZ',
545
+ prefix: '+420',
546
+ globalMask: '+420(###)###-###'
325
547
  },
326
548
  {
327
- countryShortName: "DE",
328
- prefix: "+49",
329
- globalMask: "+49(####)###-####",
549
+ countryShortName: 'DE',
550
+ prefix: '+49',
551
+ globalMask: '+49(####)###-####'
330
552
  },
331
553
  {
332
- countryShortName: "DE",
333
- prefix: "+49",
334
- globalMask: "+49(###)###-####",
554
+ countryShortName: 'DE',
555
+ prefix: '+49',
556
+ globalMask: '+49(###)###-####'
335
557
  },
336
558
  {
337
- countryShortName: "DE",
338
- prefix: "+49",
339
- globalMask: "+49(###)##-####",
559
+ countryShortName: 'DE',
560
+ prefix: '+49',
561
+ globalMask: '+49(###)##-####'
340
562
  },
341
563
  {
342
- countryShortName: "DE",
343
- prefix: "+49",
344
- globalMask: "+49(###)##-###",
564
+ countryShortName: 'DE',
565
+ prefix: '+49',
566
+ globalMask: '+49(###)##-###'
345
567
  },
346
568
  {
347
- countryShortName: "DE",
348
- prefix: "+49",
349
- globalMask: "+49(###)##-##",
569
+ countryShortName: 'DE',
570
+ prefix: '+49',
571
+ globalMask: '+49(###)##-##'
350
572
  },
351
573
  {
352
- countryShortName: "DE",
353
- prefix: "+49",
354
- globalMask: "+49-###-###",
574
+ countryShortName: 'DE',
575
+ prefix: '+49',
576
+ globalMask: '+49-###-###'
355
577
  },
356
578
  {
357
- countryShortName: "DJ",
358
- prefix: "+253",
359
- globalMask: "+253-##-##-##-##",
579
+ countryShortName: 'DJ',
580
+ prefix: '+253',
581
+ globalMask: '+253-##-##-##-##'
360
582
  },
361
583
  {
362
- countryShortName: "DK",
363
- prefix: "+45",
364
- globalMask: "+45-##-##-##-##",
584
+ countryShortName: 'DK',
585
+ prefix: '+45',
586
+ globalMask: '+45-##-##-##-##'
365
587
  },
366
588
  {
367
- countryShortName: "DM",
368
- prefix: "+1767",
369
- globalMask: "+1(767)###-####",
589
+ countryShortName: 'DM',
590
+ prefix: '+1767',
591
+ globalMask: '+1(767)###-####'
370
592
  },
371
593
  {
372
- countryShortName: "DO",
373
- prefix: "+1809",
374
- globalMask: "+1(809)###-####",
594
+ countryShortName: 'DO',
595
+ prefix: '+1809',
596
+ globalMask: '+1(809)###-####'
375
597
  },
376
598
  {
377
- countryShortName: "DO",
378
- prefix: "+1829",
379
- globalMask: "+1(829)###-####",
599
+ countryShortName: 'DO',
600
+ prefix: '+1829',
601
+ globalMask: '+1(829)###-####'
380
602
  },
381
603
  {
382
- countryShortName: "DO",
383
- prefix: "+1849",
384
- globalMask: "+1(849)###-####",
604
+ countryShortName: 'DO',
605
+ prefix: '+1849',
606
+ globalMask: '+1(849)###-####'
385
607
  },
386
608
  {
387
- countryShortName: "DZ",
388
- prefix: "+213",
389
- globalMask: "+213-##-###-####",
609
+ countryShortName: 'DZ',
610
+ prefix: '+213',
611
+ globalMask: '+213-##-###-####'
390
612
  },
391
613
  {
392
- countryShortName: "EC",
393
- prefix: "+593",
394
- globalMask: "+593-##-###-####",
614
+ countryShortName: 'EC',
615
+ prefix: '+593',
616
+ globalMask: '+593-##-###-####'
395
617
  },
396
618
  {
397
- countryShortName: "EC",
398
- prefix: "+593",
399
- globalMask: "+593-#-###-####",
619
+ countryShortName: 'EC',
620
+ prefix: '+593',
621
+ globalMask: '+593-#-###-####'
400
622
  },
401
623
  {
402
- countryShortName: "EE",
403
- prefix: "+372",
404
- globalMask: "+372-####-####",
624
+ countryShortName: 'EE',
625
+ prefix: '+372',
626
+ globalMask: '+372-####-####'
405
627
  },
406
628
  {
407
- countryShortName: "EE",
408
- prefix: "+372",
409
- globalMask: "+372-###-####",
629
+ countryShortName: 'EE',
630
+ prefix: '+372',
631
+ globalMask: '+372-###-####'
410
632
  },
411
633
  {
412
- countryShortName: "EG",
413
- prefix: "+20",
414
- globalMask: "+20(###)###-####",
634
+ countryShortName: 'EG',
635
+ prefix: '+20',
636
+ globalMask: '+20(###)###-####'
415
637
  },
416
638
  {
417
- countryShortName: "ER",
418
- prefix: "+291",
419
- globalMask: "+291-#-###-###",
639
+ countryShortName: 'ER',
640
+ prefix: '+291',
641
+ globalMask: '+291-#-###-###'
420
642
  },
421
643
  {
422
- countryShortName: "ES",
423
- prefix: "+34",
424
- globalMask: "+34(###)###-###",
644
+ countryShortName: 'ES',
645
+ prefix: '+34',
646
+ globalMask: '+34(###)###-###'
425
647
  },
426
648
  {
427
- countryShortName: "ET",
428
- prefix: "+251",
429
- globalMask: "+251-##-###-####",
649
+ countryShortName: 'ET',
650
+ prefix: '+251',
651
+ globalMask: '+251-##-###-####'
430
652
  },
431
653
  {
432
- countryShortName: "FI",
433
- prefix: "+358",
434
- globalMask: "+358(###)###-##-##",
654
+ countryShortName: 'FI',
655
+ prefix: '+358',
656
+ globalMask: '+358(###)###-##-##'
435
657
  },
436
658
  {
437
- countryShortName: "FJ",
438
- prefix: "+679",
439
- globalMask: "+679-##-#####",
659
+ countryShortName: 'FJ',
660
+ prefix: '+679',
661
+ globalMask: '+679-##-#####'
440
662
  },
441
663
  {
442
- countryShortName: "FK",
443
- prefix: "+500",
444
- globalMask: "+500-#####",
664
+ countryShortName: 'FK',
665
+ prefix: '+500',
666
+ globalMask: '+500-#####'
445
667
  },
446
668
  {
447
- countryShortName: "FM",
448
- prefix: "+691",
449
- globalMask: "+691-###-####",
669
+ countryShortName: 'FM',
670
+ prefix: '+691',
671
+ globalMask: '+691-###-####'
450
672
  },
451
673
  {
452
- countryShortName: "FO",
453
- prefix: "+298",
454
- globalMask: "+298-###-###",
674
+ countryShortName: 'FO',
675
+ prefix: '+298',
676
+ globalMask: '+298-###-###'
455
677
  },
456
678
  {
457
- countryShortName: "FR",
458
- prefix: "+262",
459
- globalMask: "+262-#####-####",
679
+ countryShortName: 'FR',
680
+ prefix: '+262',
681
+ globalMask: '+262-#####-####'
460
682
  },
461
683
  {
462
- countryShortName: "FR",
463
- prefix: "+33",
464
- globalMask: "+33(###)###-###",
684
+ countryShortName: 'FR',
685
+ prefix: '+33',
686
+ globalMask: '+33(###)###-###'
465
687
  },
466
688
  {
467
- countryShortName: "FR",
468
- prefix: "+508",
469
- globalMask: "+508-##-####",
689
+ countryShortName: 'FR',
690
+ prefix: '+508',
691
+ globalMask: '+508-##-####'
470
692
  },
471
693
  {
472
- countryShortName: "FR",
473
- prefix: "+590",
474
- globalMask: "+590(###)###-###",
694
+ countryShortName: 'FR',
695
+ prefix: '+590',
696
+ globalMask: '+590(###)###-###'
475
697
  },
476
698
  {
477
- countryShortName: "GA",
478
- prefix: "+241",
479
- globalMask: "+241-#-##-##-##",
699
+ countryShortName: 'GA',
700
+ prefix: '+241',
701
+ globalMask: '+241-#-##-##-##'
480
702
  },
481
703
  {
482
- countryShortName: "GD",
483
- prefix: "+1473",
484
- globalMask: "+1(473)###-####",
704
+ countryShortName: 'GD',
705
+ prefix: '+1473',
706
+ globalMask: '+1(473)###-####'
485
707
  },
486
708
  {
487
- countryShortName: "GE",
488
- prefix: "+995",
489
- globalMask: "+995(###)###-###",
709
+ countryShortName: 'GE',
710
+ prefix: '+995',
711
+ globalMask: '+995(###)###-###'
490
712
  },
491
713
  {
492
- countryShortName: "GF",
493
- prefix: "+594",
494
- globalMask: "+594-#####-####",
714
+ countryShortName: 'GF',
715
+ prefix: '+594',
716
+ globalMask: '+594-#####-####'
495
717
  },
496
718
  {
497
- countryShortName: "GH",
498
- prefix: "+233",
499
- globalMask: "+233(###)###-###",
719
+ countryShortName: 'GH',
720
+ prefix: '+233',
721
+ globalMask: '+233(###)###-###'
500
722
  },
501
723
  {
502
- countryShortName: "GI",
503
- prefix: "+350",
504
- globalMask: "+350-###-#####",
724
+ countryShortName: 'GI',
725
+ prefix: '+350',
726
+ globalMask: '+350-###-#####'
505
727
  },
506
728
  {
507
- countryShortName: "GL",
508
- prefix: "+299",
509
- globalMask: "+299-##-##-##",
729
+ countryShortName: 'GL',
730
+ prefix: '+299',
731
+ globalMask: '+299-##-##-##'
510
732
  },
511
733
  {
512
- countryShortName: "GM",
513
- prefix: "+220",
514
- globalMask: "+220(###)##-##",
734
+ countryShortName: 'GM',
735
+ prefix: '+220',
736
+ globalMask: '+220(###)##-##'
515
737
  },
516
738
  {
517
- countryShortName: "GN",
518
- prefix: "+224",
519
- globalMask: "+224-##-###-###",
739
+ countryShortName: 'GN',
740
+ prefix: '+224',
741
+ globalMask: '+224-##-###-###'
520
742
  },
521
743
  {
522
- countryShortName: "GQ",
523
- prefix: "+240",
524
- globalMask: "+240-##-###-####",
744
+ countryShortName: 'GQ',
745
+ prefix: '+240',
746
+ globalMask: '+240-##-###-####'
525
747
  },
526
748
  {
527
- countryShortName: "GR",
528
- prefix: "+30",
529
- globalMask: "+30(###)###-####",
749
+ countryShortName: 'GR',
750
+ prefix: '+30',
751
+ globalMask: '+30(###)###-####'
530
752
  },
531
753
  {
532
- countryShortName: "GT",
533
- prefix: "+502",
534
- globalMask: "+502-#-###-####",
754
+ countryShortName: 'GT',
755
+ prefix: '+502',
756
+ globalMask: '+502-#-###-####'
535
757
  },
536
758
  {
537
- countryShortName: "GU",
538
- prefix: "+1671",
539
- globalMask: "+1(671)###-####",
759
+ countryShortName: 'GU',
760
+ prefix: '+1671',
761
+ globalMask: '+1(671)###-####'
540
762
  },
541
763
  {
542
- countryShortName: "GW",
543
- prefix: "+245",
544
- globalMask: "+245-#-######",
764
+ countryShortName: 'GW',
765
+ prefix: '+245',
766
+ globalMask: '+245-#-######'
545
767
  },
546
768
  {
547
- countryShortName: "GY",
548
- prefix: "+592",
549
- globalMask: "+592-###-####",
769
+ countryShortName: 'GY',
770
+ prefix: '+592',
771
+ globalMask: '+592-###-####'
550
772
  },
551
773
  {
552
- countryShortName: "HK",
553
- prefix: "+852",
554
- globalMask: "+852-####-####",
774
+ countryShortName: 'HK',
775
+ prefix: '+852',
776
+ globalMask: '+852-####-####'
555
777
  },
556
778
  {
557
- countryShortName: "HN",
558
- prefix: "+504",
559
- globalMask: "+504-####-####",
779
+ countryShortName: 'HN',
780
+ prefix: '+504',
781
+ globalMask: '+504-####-####'
560
782
  },
561
783
  {
562
- countryShortName: "HR",
563
- prefix: "+385",
564
- globalMask: "+385-##-###-###",
784
+ countryShortName: 'HR',
785
+ prefix: '+385',
786
+ globalMask: '+385-##-###-###'
565
787
  },
566
788
  {
567
- countryShortName: "HT",
568
- prefix: "+509",
569
- globalMask: "+509-##-##-####",
789
+ countryShortName: 'HT',
790
+ prefix: '+509',
791
+ globalMask: '+509-##-##-####'
570
792
  },
571
793
  {
572
- countryShortName: "HU",
573
- prefix: "+36",
574
- globalMask: "+36(###)###-###",
794
+ countryShortName: 'HU',
795
+ prefix: '+36',
796
+ globalMask: '+36(###)###-###'
575
797
  },
576
798
  {
577
- countryShortName: "ID",
578
- prefix: "+628",
579
- globalMask: "+62(8##)###-####",
799
+ countryShortName: 'ID',
800
+ prefix: '+628',
801
+ globalMask: '+62(8##)###-####'
580
802
  },
581
803
  {
582
- countryShortName: "ID",
583
- prefix: "+62",
584
- globalMask: "+62-##-###-##",
804
+ countryShortName: 'ID',
805
+ prefix: '+62',
806
+ globalMask: '+62-##-###-##'
585
807
  },
586
808
  {
587
- countryShortName: "ID",
588
- prefix: "+62",
589
- globalMask: "+62-##-###-###",
809
+ countryShortName: 'ID',
810
+ prefix: '+62',
811
+ globalMask: '+62-##-###-###'
590
812
  },
591
813
  {
592
- countryShortName: "ID",
593
- prefix: "+62",
594
- globalMask: "+62-##-###-####",
814
+ countryShortName: 'ID',
815
+ prefix: '+62',
816
+ globalMask: '+62-##-###-####'
595
817
  },
596
818
  {
597
- countryShortName: "ID",
598
- prefix: "+628",
599
- globalMask: "+62(8##)###-###",
819
+ countryShortName: 'ID',
820
+ prefix: '+628',
821
+ globalMask: '+62(8##)###-###'
600
822
  },
601
823
  {
602
- countryShortName: "ID",
603
- prefix: "+628",
604
- globalMask: "+62(8##)###-##-###",
824
+ countryShortName: 'ID',
825
+ prefix: '+628',
826
+ globalMask: '+62(8##)###-##-###'
605
827
  },
606
828
  {
607
- countryShortName: "IE",
608
- prefix: "+353",
609
- globalMask: "+353(###)###-###",
829
+ countryShortName: 'IE',
830
+ prefix: '+353',
831
+ globalMask: '+353(###)###-###'
610
832
  },
611
833
  {
612
- countryShortName: "IL",
613
- prefix: "+9725",
614
- globalMask: "+972-5#-###-####",
834
+ countryShortName: 'IL',
835
+ prefix: '+9725',
836
+ globalMask: '+972-5#-###-####'
615
837
  },
616
838
  {
617
- countryShortName: "IL",
618
- prefix: "+972",
619
- globalMask: "+972-#-###-####",
839
+ countryShortName: 'IL',
840
+ prefix: '+972',
841
+ globalMask: '+972-#-###-####'
620
842
  },
621
843
  {
622
- countryShortName: "IN",
623
- prefix: "+91",
624
- globalMask: "+91(####)###-###",
844
+ countryShortName: 'IN',
845
+ prefix: '+91',
846
+ globalMask: '+91(####)###-###'
625
847
  },
626
848
  {
627
- countryShortName: "IO",
628
- prefix: "+246",
629
- globalMask: "+246-###-####",
849
+ countryShortName: 'IO',
850
+ prefix: '+246',
851
+ globalMask: '+246-###-####'
630
852
  },
631
853
  {
632
- countryShortName: "IQ",
633
- prefix: "+964",
634
- globalMask: "+964(###)###-####",
854
+ countryShortName: 'IQ',
855
+ prefix: '+964',
856
+ globalMask: '+964(###)###-####'
635
857
  },
636
858
  {
637
- countryShortName: "IR",
638
- prefix: "+98",
639
- globalMask: "+98(###)###-####",
859
+ countryShortName: 'IR',
860
+ prefix: '+98',
861
+ globalMask: '+98(###)###-####'
640
862
  },
641
863
  {
642
- countryShortName: "IS",
643
- prefix: "+354",
644
- globalMask: "+354-###-####",
864
+ countryShortName: 'IS',
865
+ prefix: '+354',
866
+ globalMask: '+354-###-####'
645
867
  },
646
868
  {
647
- countryShortName: "IT",
648
- prefix: "+39",
649
- globalMask: "+39(###)####-###",
869
+ countryShortName: 'IT',
870
+ prefix: '+39',
871
+ globalMask: '+39(###)####-###'
650
872
  },
651
873
  {
652
- countryShortName: "JM",
653
- prefix: "+1876",
654
- globalMask: "+1(876)###-####",
874
+ countryShortName: 'JM',
875
+ prefix: '+1876',
876
+ globalMask: '+1(876)###-####'
655
877
  },
656
878
  {
657
- countryShortName: "JO",
658
- prefix: "+962",
659
- globalMask: "+962-#-####-####",
879
+ countryShortName: 'JO',
880
+ prefix: '+962',
881
+ globalMask: '+962-#-####-####'
660
882
  },
661
883
  {
662
- countryShortName: "JP",
663
- prefix: "+81",
664
- globalMask: "+81-##-####-####",
884
+ countryShortName: 'JP',
885
+ prefix: '+81',
886
+ globalMask: '+81-##-####-####'
665
887
  },
666
888
  {
667
- countryShortName: "JP",
668
- prefix: "+81",
669
- globalMask: "+81(###)###-###",
889
+ countryShortName: 'JP',
890
+ prefix: '+81',
891
+ globalMask: '+81(###)###-###'
670
892
  },
671
893
  {
672
- countryShortName: "KE",
673
- prefix: "+254",
674
- globalMask: "+254-###-######",
894
+ countryShortName: 'KE',
895
+ prefix: '+254',
896
+ globalMask: '+254-###-######'
675
897
  },
676
898
  {
677
- countryShortName: "KG",
678
- prefix: "+996",
679
- globalMask: "+996(###)###-###",
899
+ countryShortName: 'KG',
900
+ prefix: '+996',
901
+ globalMask: '+996(###)###-###'
680
902
  },
681
903
  {
682
- countryShortName: "KH",
683
- prefix: "+855",
684
- globalMask: "+855-##-###-###",
904
+ countryShortName: 'KH',
905
+ prefix: '+855',
906
+ globalMask: '+855-##-###-###'
685
907
  },
686
908
  {
687
- countryShortName: "KI",
688
- prefix: "+686",
689
- globalMask: "+686-##-###",
909
+ countryShortName: 'KI',
910
+ prefix: '+686',
911
+ globalMask: '+686-##-###'
690
912
  },
691
913
  {
692
- countryShortName: "KM",
693
- prefix: "+269",
694
- globalMask: "+269-##-#####",
914
+ countryShortName: 'KM',
915
+ prefix: '+269',
916
+ globalMask: '+269-##-#####'
695
917
  },
696
918
  {
697
- countryShortName: "KN",
698
- prefix: "+1869",
699
- globalMask: "+1(869)###-####",
919
+ countryShortName: 'KN',
920
+ prefix: '+1869',
921
+ globalMask: '+1(869)###-####'
700
922
  },
701
923
  {
702
- countryShortName: "KP",
703
- prefix: "+850191",
704
- globalMask: "+850-191-###-####",
924
+ countryShortName: 'KP',
925
+ prefix: '+850191',
926
+ globalMask: '+850-191-###-####'
705
927
  },
706
928
  {
707
- countryShortName: "KP",
708
- prefix: "+850",
709
- globalMask: "+850-##-###-###",
929
+ countryShortName: 'KP',
930
+ prefix: '+850',
931
+ globalMask: '+850-##-###-###'
710
932
  },
711
933
  {
712
- countryShortName: "KP",
713
- prefix: "+850",
714
- globalMask: "+850-###-####-###",
934
+ countryShortName: 'KP',
935
+ prefix: '+850',
936
+ globalMask: '+850-###-####-###'
715
937
  },
716
938
  {
717
- countryShortName: "KP",
718
- prefix: "+850",
719
- globalMask: "+850-###-###",
939
+ countryShortName: 'KP',
940
+ prefix: '+850',
941
+ globalMask: '+850-###-###'
720
942
  },
721
943
  {
722
- countryShortName: "KP",
723
- prefix: "+850",
724
- globalMask: "+850-####-####",
944
+ countryShortName: 'KP',
945
+ prefix: '+850',
946
+ globalMask: '+850-####-####'
725
947
  },
726
948
  {
727
- countryShortName: "KP",
728
- prefix: "+850",
729
- globalMask: "+850-####-#############",
949
+ countryShortName: 'KP',
950
+ prefix: '+850',
951
+ globalMask: '+850-####-#############'
730
952
  },
731
953
  {
732
- countryShortName: "KR",
733
- prefix: "+82",
734
- globalMask: "+82-##-###-####",
954
+ countryShortName: 'KR',
955
+ prefix: '+82',
956
+ globalMask: '+82-##-###-####'
735
957
  },
736
958
  {
737
- countryShortName: "KW",
738
- prefix: "+965",
739
- globalMask: "+965-####-####",
959
+ countryShortName: 'KW',
960
+ prefix: '+965',
961
+ globalMask: '+965-####-####'
740
962
  },
741
963
  {
742
- countryShortName: "KY",
743
- prefix: "+1345",
744
- globalMask: "+1(345)###-####",
964
+ countryShortName: 'KY',
965
+ prefix: '+1345',
966
+ globalMask: '+1(345)###-####'
745
967
  },
746
968
  {
747
- countryShortName: "KZ",
748
- prefix: "+76",
749
- globalMask: "+7(6##)###-##-##",
969
+ countryShortName: 'KZ',
970
+ prefix: '+76',
971
+ globalMask: '+7(6##)###-##-##'
750
972
  },
751
973
  {
752
- countryShortName: "KZ",
753
- prefix: "+77",
754
- globalMask: "+7(7##)###-##-##",
974
+ countryShortName: 'KZ',
975
+ prefix: '+77',
976
+ globalMask: '+7(7##)###-##-##'
755
977
  },
756
978
  {
757
- countryShortName: "LA",
758
- prefix: "+85620",
759
- globalMask: "+856(20##)###-###",
979
+ countryShortName: 'LA',
980
+ prefix: '+85620',
981
+ globalMask: '+856(20##)###-###'
760
982
  },
761
983
  {
762
- countryShortName: "LA",
763
- prefix: "+856",
764
- globalMask: "+856-##-###-###",
984
+ countryShortName: 'LA',
985
+ prefix: '+856',
986
+ globalMask: '+856-##-###-###'
765
987
  },
766
988
  {
767
- countryShortName: "LB",
768
- prefix: "+961",
769
- globalMask: "+961-##-###-###",
989
+ countryShortName: 'LB',
990
+ prefix: '+961',
991
+ globalMask: '+961-##-###-###'
770
992
  },
771
993
  {
772
- countryShortName: "LB",
773
- prefix: "+961",
774
- globalMask: "+961-#-###-###",
994
+ countryShortName: 'LB',
995
+ prefix: '+961',
996
+ globalMask: '+961-#-###-###'
775
997
  },
776
998
  {
777
- countryShortName: "LC",
778
- prefix: "+1758",
779
- globalMask: "+1(758)###-####",
999
+ countryShortName: 'LC',
1000
+ prefix: '+1758',
1001
+ globalMask: '+1(758)###-####'
780
1002
  },
781
1003
  {
782
- countryShortName: "LI",
783
- prefix: "+423",
784
- globalMask: "+423(###)###-####",
1004
+ countryShortName: 'LI',
1005
+ prefix: '+423',
1006
+ globalMask: '+423(###)###-####'
785
1007
  },
786
1008
  {
787
- countryShortName: "LK",
788
- prefix: "+94",
789
- globalMask: "+94-##-###-####",
1009
+ countryShortName: 'LK',
1010
+ prefix: '+94',
1011
+ globalMask: '+94-##-###-####'
790
1012
  },
791
1013
  {
792
- countryShortName: "LR",
793
- prefix: "+231",
794
- globalMask: "+231-##-###-###",
1014
+ countryShortName: 'LR',
1015
+ prefix: '+231',
1016
+ globalMask: '+231-##-###-###'
795
1017
  },
796
1018
  {
797
- countryShortName: "LS",
798
- prefix: "+266",
799
- globalMask: "+266-#-###-####",
1019
+ countryShortName: 'LS',
1020
+ prefix: '+266',
1021
+ globalMask: '+266-#-###-####'
800
1022
  },
801
1023
  {
802
- countryShortName: "LT",
803
- prefix: "+370",
804
- globalMask: "+370(###)##-###",
1024
+ countryShortName: 'LT',
1025
+ prefix: '+370',
1026
+ globalMask: '+370(###)##-###'
805
1027
  },
806
1028
  {
807
- countryShortName: "LU",
808
- prefix: "+352",
809
- globalMask: "+352(###)###-###",
1029
+ countryShortName: 'LU',
1030
+ prefix: '+352',
1031
+ globalMask: '+352(###)###-###'
810
1032
  },
811
1033
  {
812
- countryShortName: "LV",
813
- prefix: "+371",
814
- globalMask: "+371-##-###-###",
1034
+ countryShortName: 'LV',
1035
+ prefix: '+371',
1036
+ globalMask: '+371-##-###-###'
815
1037
  },
816
1038
  {
817
- countryShortName: "LY",
818
- prefix: "+218",
819
- globalMask: "+218-##-###-###",
1039
+ countryShortName: 'LY',
1040
+ prefix: '+218',
1041
+ globalMask: '+218-##-###-###'
820
1042
  },
821
1043
  {
822
- countryShortName: "LY",
823
- prefix: "+21821",
824
- globalMask: "+218-21-###-####",
1044
+ countryShortName: 'LY',
1045
+ prefix: '+21821',
1046
+ globalMask: '+218-21-###-####'
825
1047
  },
826
1048
  {
827
- countryShortName: "MA",
828
- prefix: "+212",
829
- globalMask: "+212-##-####-###",
1049
+ countryShortName: 'MA',
1050
+ prefix: '+212',
1051
+ globalMask: '+212-##-####-###'
830
1052
  },
831
1053
  {
832
- countryShortName: "MC",
833
- prefix: "+377",
834
- globalMask: "+377(###)###-###",
1054
+ countryShortName: 'MC',
1055
+ prefix: '+377',
1056
+ globalMask: '+377(###)###-###'
835
1057
  },
836
1058
  {
837
- countryShortName: "MC",
838
- prefix: "+377",
839
- globalMask: "+377-##-###-###",
1059
+ countryShortName: 'MC',
1060
+ prefix: '+377',
1061
+ globalMask: '+377-##-###-###'
840
1062
  },
841
1063
  {
842
- countryShortName: "MD",
843
- prefix: "+373",
844
- globalMask: "+373-####-####",
1064
+ countryShortName: 'MD',
1065
+ prefix: '+373',
1066
+ globalMask: '+373-####-####'
845
1067
  },
846
1068
  {
847
- countryShortName: "ME",
848
- prefix: "+382",
849
- globalMask: "+382-##-###-###",
1069
+ countryShortName: 'ME',
1070
+ prefix: '+382',
1071
+ globalMask: '+382-##-###-###'
850
1072
  },
851
1073
  {
852
- countryShortName: "MG",
853
- prefix: "+261",
854
- globalMask: "+261-##-##-#####",
1074
+ countryShortName: 'MG',
1075
+ prefix: '+261',
1076
+ globalMask: '+261-##-##-#####'
855
1077
  },
856
1078
  {
857
- countryShortName: "MH",
858
- prefix: "+692",
859
- globalMask: "+692-###-####",
1079
+ countryShortName: 'MH',
1080
+ prefix: '+692',
1081
+ globalMask: '+692-###-####'
860
1082
  },
861
1083
  {
862
- countryShortName: "MK",
863
- prefix: "+389",
864
- globalMask: "+389-##-###-###",
1084
+ countryShortName: 'MK',
1085
+ prefix: '+389',
1086
+ globalMask: '+389-##-###-###'
865
1087
  },
866
1088
  {
867
- countryShortName: "ML",
868
- prefix: "+223",
869
- globalMask: "+223-##-##-####",
1089
+ countryShortName: 'ML',
1090
+ prefix: '+223',
1091
+ globalMask: '+223-##-##-####'
870
1092
  },
871
1093
  {
872
- countryShortName: "MM",
873
- prefix: "+95",
874
- globalMask: "+95-##-###-###",
1094
+ countryShortName: 'MM',
1095
+ prefix: '+95',
1096
+ globalMask: '+95-##-###-###'
875
1097
  },
876
1098
  {
877
- countryShortName: "MM",
878
- prefix: "+95",
879
- globalMask: "+95-#-###-###",
1099
+ countryShortName: 'MM',
1100
+ prefix: '+95',
1101
+ globalMask: '+95-#-###-###'
880
1102
  },
881
1103
  {
882
- countryShortName: "MM",
883
- prefix: "+95",
884
- globalMask: "+95-###-###",
1104
+ countryShortName: 'MM',
1105
+ prefix: '+95',
1106
+ globalMask: '+95-###-###'
885
1107
  },
886
1108
  {
887
- countryShortName: "MN",
888
- prefix: "+976",
889
- globalMask: "+976-##-##-####",
1109
+ countryShortName: 'MN',
1110
+ prefix: '+976',
1111
+ globalMask: '+976-##-##-####'
890
1112
  },
891
1113
  {
892
- countryShortName: "MO",
893
- prefix: "+853",
894
- globalMask: "+853-####-####",
1114
+ countryShortName: 'MO',
1115
+ prefix: '+853',
1116
+ globalMask: '+853-####-####'
895
1117
  },
896
1118
  {
897
- countryShortName: "MP",
898
- prefix: "+1670",
899
- globalMask: "+1(670)###-####",
1119
+ countryShortName: 'MP',
1120
+ prefix: '+1670',
1121
+ globalMask: '+1(670)###-####'
900
1122
  },
901
1123
  {
902
- countryShortName: "MQ",
903
- prefix: "+596",
904
- globalMask: "+596(###)##-##-##",
1124
+ countryShortName: 'MQ',
1125
+ prefix: '+596',
1126
+ globalMask: '+596(###)##-##-##'
905
1127
  },
906
1128
  {
907
- countryShortName: "MR",
908
- prefix: "+222",
909
- globalMask: "+222-##-##-####",
1129
+ countryShortName: 'MR',
1130
+ prefix: '+222',
1131
+ globalMask: '+222-##-##-####'
910
1132
  },
911
1133
  {
912
- countryShortName: "MS",
913
- prefix: "+1664",
914
- globalMask: "+1(664)###-####",
1134
+ countryShortName: 'MS',
1135
+ prefix: '+1664',
1136
+ globalMask: '+1(664)###-####'
915
1137
  },
916
1138
  {
917
- countryShortName: "MT",
918
- prefix: "+356",
919
- globalMask: "+356-####-####",
1139
+ countryShortName: 'MT',
1140
+ prefix: '+356',
1141
+ globalMask: '+356-####-####'
920
1142
  },
921
1143
  {
922
- countryShortName: "MU",
923
- prefix: "+230",
924
- globalMask: "+230-###-####",
1144
+ countryShortName: 'MU',
1145
+ prefix: '+230',
1146
+ globalMask: '+230-###-####'
925
1147
  },
926
1148
  {
927
- countryShortName: "MV",
928
- prefix: "+960",
929
- globalMask: "+960-###-####",
1149
+ countryShortName: 'MV',
1150
+ prefix: '+960',
1151
+ globalMask: '+960-###-####'
930
1152
  },
931
1153
  {
932
- countryShortName: "MW",
933
- prefix: "+2651",
934
- globalMask: "+265-1-###-###",
1154
+ countryShortName: 'MW',
1155
+ prefix: '+2651',
1156
+ globalMask: '+265-1-###-###'
935
1157
  },
936
1158
  {
937
- countryShortName: "MW",
938
- prefix: "+265",
939
- globalMask: "+265-#-####-####",
1159
+ countryShortName: 'MW',
1160
+ prefix: '+265',
1161
+ globalMask: '+265-#-####-####'
940
1162
  },
941
1163
  {
942
- countryShortName: "MX",
943
- prefix: "+52",
944
- globalMask: "+52(###)###-####",
1164
+ countryShortName: 'MX',
1165
+ prefix: '+52',
1166
+ globalMask: '+52(###)###-####'
945
1167
  },
946
1168
  {
947
- countryShortName: "MX",
948
- prefix: "+52",
949
- globalMask: "+52-##-##-####",
1169
+ countryShortName: 'MX',
1170
+ prefix: '+52',
1171
+ globalMask: '+52-##-##-####'
950
1172
  },
951
1173
  {
952
- countryShortName: "MY",
953
- prefix: "+60",
954
- globalMask: "+60-##-###-####",
1174
+ countryShortName: 'MY',
1175
+ prefix: '+60',
1176
+ globalMask: '+60-##-###-####'
955
1177
  },
956
1178
  {
957
- countryShortName: "MY",
958
- prefix: "+60",
959
- globalMask: "+60(###)###-###",
1179
+ countryShortName: 'MY',
1180
+ prefix: '+60',
1181
+ globalMask: '+60(###)###-###'
960
1182
  },
961
1183
  {
962
- countryShortName: "MY",
963
- prefix: "+60",
964
- globalMask: "+60-##-###-###",
1184
+ countryShortName: 'MY',
1185
+ prefix: '+60',
1186
+ globalMask: '+60-##-###-###'
965
1187
  },
966
1188
  {
967
- countryShortName: "MY",
968
- prefix: "+60",
969
- globalMask: "+60-#-###-###",
1189
+ countryShortName: 'MY',
1190
+ prefix: '+60',
1191
+ globalMask: '+60-#-###-###'
970
1192
  },
971
1193
  {
972
- countryShortName: "MZ",
973
- prefix: "+258",
974
- globalMask: "+258-##-###-###",
1194
+ countryShortName: 'MZ',
1195
+ prefix: '+258',
1196
+ globalMask: '+258-##-###-###'
975
1197
  },
976
1198
  {
977
- countryShortName: "NA",
978
- prefix: "+264",
979
- globalMask: "+264-##-###-####",
1199
+ countryShortName: 'NA',
1200
+ prefix: '+264',
1201
+ globalMask: '+264-##-###-####'
980
1202
  },
981
1203
  {
982
- countryShortName: "NC",
983
- prefix: "+687",
984
- globalMask: "+687-##-####",
1204
+ countryShortName: 'NC',
1205
+ prefix: '+687',
1206
+ globalMask: '+687-##-####'
985
1207
  },
986
1208
  {
987
- countryShortName: "NE",
988
- prefix: "+227",
989
- globalMask: "+227-##-##-####",
1209
+ countryShortName: 'NE',
1210
+ prefix: '+227',
1211
+ globalMask: '+227-##-##-####'
990
1212
  },
991
1213
  {
992
- countryShortName: "NF",
993
- prefix: "+6723",
994
- globalMask: "+672-3##-###",
1214
+ countryShortName: 'NF',
1215
+ prefix: '+6723',
1216
+ globalMask: '+672-3##-###'
995
1217
  },
996
1218
  {
997
- countryShortName: "NG",
998
- prefix: "+234",
999
- globalMask: "+234(###)###-####",
1219
+ countryShortName: 'NG',
1220
+ prefix: '+234',
1221
+ globalMask: '+234(###)###-####'
1000
1222
  },
1001
1223
  {
1002
- countryShortName: "NG",
1003
- prefix: "+234",
1004
- globalMask: "+234-##-###-###",
1224
+ countryShortName: 'NG',
1225
+ prefix: '+234',
1226
+ globalMask: '+234-##-###-###'
1005
1227
  },
1006
1228
  {
1007
- countryShortName: "NG",
1008
- prefix: "+234",
1009
- globalMask: "+234-##-###-##",
1229
+ countryShortName: 'NG',
1230
+ prefix: '+234',
1231
+ globalMask: '+234-##-###-##'
1010
1232
  },
1011
1233
  {
1012
- countryShortName: "NG",
1013
- prefix: "+234",
1014
- globalMask: "+234(###)###-####",
1234
+ countryShortName: 'NG',
1235
+ prefix: '+234',
1236
+ globalMask: '+234(###)###-####'
1015
1237
  },
1016
1238
  {
1017
- countryShortName: "NI",
1018
- prefix: "+505",
1019
- globalMask: "+505-####-####",
1239
+ countryShortName: 'NI',
1240
+ prefix: '+505',
1241
+ globalMask: '+505-####-####'
1020
1242
  },
1021
1243
  {
1022
- countryShortName: "NL",
1023
- prefix: "+31",
1024
- globalMask: "+31-##-###-####",
1244
+ countryShortName: 'NL',
1245
+ prefix: '+31',
1246
+ globalMask: '+31-##-###-####'
1025
1247
  },
1026
1248
  {
1027
- countryShortName: "NO",
1028
- prefix: "+47",
1029
- globalMask: "+47(###)##-###",
1249
+ countryShortName: 'NO',
1250
+ prefix: '+47',
1251
+ globalMask: '+47(###)##-###'
1030
1252
  },
1031
1253
  {
1032
- countryShortName: "NP",
1033
- prefix: "+977",
1034
- globalMask: "+977-##-###-###",
1254
+ countryShortName: 'NP',
1255
+ prefix: '+977',
1256
+ globalMask: '+977-##-###-###'
1035
1257
  },
1036
1258
  {
1037
- countryShortName: "NR",
1038
- prefix: "+674",
1039
- globalMask: "+674-###-####",
1259
+ countryShortName: 'NR',
1260
+ prefix: '+674',
1261
+ globalMask: '+674-###-####'
1040
1262
  },
1041
1263
  {
1042
- countryShortName: "NU",
1043
- prefix: "+683",
1044
- globalMask: "+683-####",
1264
+ countryShortName: 'NU',
1265
+ prefix: '+683',
1266
+ globalMask: '+683-####'
1045
1267
  },
1046
1268
  {
1047
- countryShortName: "NZ",
1048
- prefix: "+64",
1049
- globalMask: "+64(###)###-###",
1269
+ countryShortName: 'NZ',
1270
+ prefix: '+64',
1271
+ globalMask: '+64(###)###-###'
1050
1272
  },
1051
1273
  {
1052
- countryShortName: "NZ",
1053
- prefix: "+64",
1054
- globalMask: "+64-##-###-###",
1274
+ countryShortName: 'NZ',
1275
+ prefix: '+64',
1276
+ globalMask: '+64-##-###-###'
1055
1277
  },
1056
1278
  {
1057
- countryShortName: "NZ",
1058
- prefix: "+64",
1059
- globalMask: "+64(###)###-####",
1279
+ countryShortName: 'NZ',
1280
+ prefix: '+64',
1281
+ globalMask: '+64(###)###-####'
1060
1282
  },
1061
1283
  {
1062
- countryShortName: "OM",
1063
- prefix: "+968",
1064
- globalMask: "+968-##-###-###",
1284
+ countryShortName: 'OM',
1285
+ prefix: '+968',
1286
+ globalMask: '+968-##-###-###'
1065
1287
  },
1066
1288
  {
1067
- countryShortName: "PA",
1068
- prefix: "+507",
1069
- globalMask: "+507-###-####",
1289
+ countryShortName: 'PA',
1290
+ prefix: '+507',
1291
+ globalMask: '+507-###-####'
1070
1292
  },
1071
1293
  {
1072
- countryShortName: "PE",
1073
- prefix: "+51",
1074
- globalMask: "+51(###)###-###",
1294
+ countryShortName: 'PE',
1295
+ prefix: '+51',
1296
+ globalMask: '+51(###)###-###'
1075
1297
  },
1076
1298
  {
1077
- countryShortName: "PF",
1078
- prefix: "+689",
1079
- globalMask: "+689-##-##-##",
1299
+ countryShortName: 'PF',
1300
+ prefix: '+689',
1301
+ globalMask: '+689-##-##-##'
1080
1302
  },
1081
1303
  {
1082
- countryShortName: "PG",
1083
- prefix: "+675",
1084
- globalMask: "+675(###)##-###",
1304
+ countryShortName: 'PG',
1305
+ prefix: '+675',
1306
+ globalMask: '+675(###)##-###'
1085
1307
  },
1086
1308
  {
1087
- countryShortName: "PH",
1088
- prefix: "+63",
1089
- globalMask: "+63(###)###-####",
1309
+ countryShortName: 'PH',
1310
+ prefix: '+63',
1311
+ globalMask: '+63(###)###-####'
1090
1312
  },
1091
1313
  {
1092
- countryShortName: "PK",
1093
- prefix: "+92",
1094
- globalMask: "+92(###)###-####",
1314
+ countryShortName: 'PK',
1315
+ prefix: '+92',
1316
+ globalMask: '+92(###)###-####'
1095
1317
  },
1096
1318
  {
1097
- countryShortName: "PL",
1098
- prefix: "+48",
1099
- globalMask: "+48(###)###-###",
1319
+ countryShortName: 'PL',
1320
+ prefix: '+48',
1321
+ globalMask: '+48(###)###-###'
1100
1322
  },
1101
1323
  {
1102
- countryShortName: "PS",
1103
- prefix: "+970",
1104
- globalMask: "+970-##-###-####",
1324
+ countryShortName: 'PS',
1325
+ prefix: '+970',
1326
+ globalMask: '+970-##-###-####'
1105
1327
  },
1106
1328
  {
1107
- countryShortName: "PT",
1108
- prefix: "+351",
1109
- globalMask: "+351-##-###-####",
1329
+ countryShortName: 'PT',
1330
+ prefix: '+351',
1331
+ globalMask: '+351-##-###-####'
1110
1332
  },
1111
1333
  {
1112
- countryShortName: "PW",
1113
- prefix: "+680",
1114
- globalMask: "+680-###-####",
1334
+ countryShortName: 'PW',
1335
+ prefix: '+680',
1336
+ globalMask: '+680-###-####'
1115
1337
  },
1116
1338
  {
1117
- countryShortName: "PY",
1118
- prefix: "+595",
1119
- globalMask: "+595(###)###-###",
1339
+ countryShortName: 'PY',
1340
+ prefix: '+595',
1341
+ globalMask: '+595(###)###-###'
1120
1342
  },
1121
1343
  {
1122
- countryShortName: "QA",
1123
- prefix: "+974",
1124
- globalMask: "+974-####-####",
1344
+ countryShortName: 'QA',
1345
+ prefix: '+974',
1346
+ globalMask: '+974-####-####'
1125
1347
  },
1126
1348
  {
1127
- countryShortName: "RE",
1128
- prefix: "+262",
1129
- globalMask: "+262-#####-####",
1349
+ countryShortName: 'RE',
1350
+ prefix: '+262',
1351
+ globalMask: '+262-#####-####'
1130
1352
  },
1131
1353
  {
1132
- countryShortName: "RO",
1133
- prefix: "+40",
1134
- globalMask: "+40-##-###-####",
1354
+ countryShortName: 'RO',
1355
+ prefix: '+40',
1356
+ globalMask: '+40-##-###-####'
1135
1357
  },
1136
1358
  {
1137
- countryShortName: "RS",
1138
- prefix: "+381",
1139
- globalMask: "+381-##-###-####",
1359
+ countryShortName: 'RS',
1360
+ prefix: '+381',
1361
+ globalMask: '+381-##-###-####'
1140
1362
  },
1141
1363
  {
1142
- countryShortName: "RU",
1143
- prefix: "+7",
1144
- globalMask: "+7(###)###-##-##",
1364
+ countryShortName: 'RU',
1365
+ prefix: '+7',
1366
+ globalMask: '+7(###)###-##-##'
1145
1367
  },
1146
1368
  {
1147
- countryShortName: "RW",
1148
- prefix: "+250",
1149
- globalMask: "+250(###)###-###",
1369
+ countryShortName: 'RW',
1370
+ prefix: '+250',
1371
+ globalMask: '+250(###)###-###'
1150
1372
  },
1151
1373
  {
1152
- countryShortName: "SA",
1153
- prefix: "+9665",
1154
- globalMask: "+966-5-####-####",
1374
+ countryShortName: 'SA',
1375
+ prefix: '+9665',
1376
+ globalMask: '+966-5-####-####'
1155
1377
  },
1156
1378
  {
1157
- countryShortName: "SA",
1158
- prefix: "+966",
1159
- globalMask: "+966-#-###-####",
1379
+ countryShortName: 'SA',
1380
+ prefix: '+966',
1381
+ globalMask: '+966-#-###-####'
1160
1382
  },
1161
1383
  {
1162
- countryShortName: "SB",
1163
- prefix: "+677",
1164
- globalMask: "+677-###-####",
1384
+ countryShortName: 'SB',
1385
+ prefix: '+677',
1386
+ globalMask: '+677-###-####'
1165
1387
  },
1166
1388
  {
1167
- countryShortName: "SB",
1168
- prefix: "+677",
1169
- globalMask: "+677-#####",
1389
+ countryShortName: 'SB',
1390
+ prefix: '+677',
1391
+ globalMask: '+677-#####'
1170
1392
  },
1171
1393
  {
1172
- countryShortName: "SC",
1173
- prefix: "+248",
1174
- globalMask: "+248-#-###-###",
1394
+ countryShortName: 'SC',
1395
+ prefix: '+248',
1396
+ globalMask: '+248-#-###-###'
1175
1397
  },
1176
1398
  {
1177
- countryShortName: "SD",
1178
- prefix: "+249",
1179
- globalMask: "+249-##-###-####",
1399
+ countryShortName: 'SD',
1400
+ prefix: '+249',
1401
+ globalMask: '+249-##-###-####'
1180
1402
  },
1181
1403
  {
1182
- countryShortName: "SE",
1183
- prefix: "+46",
1184
- globalMask: "+46-##-###-####",
1404
+ countryShortName: 'SE',
1405
+ prefix: '+46',
1406
+ globalMask: '+46-##-###-####'
1185
1407
  },
1186
1408
  {
1187
- countryShortName: "SG",
1188
- prefix: "+65",
1189
- globalMask: "+65-####-####",
1409
+ countryShortName: 'SG',
1410
+ prefix: '+65',
1411
+ globalMask: '+65-####-####'
1190
1412
  },
1191
1413
  {
1192
- countryShortName: "SH",
1193
- prefix: "+290",
1194
- globalMask: "+290-####",
1414
+ countryShortName: 'SH',
1415
+ prefix: '+290',
1416
+ globalMask: '+290-####'
1195
1417
  },
1196
1418
  {
1197
- countryShortName: "SH",
1198
- prefix: "+290",
1199
- globalMask: "+290-####",
1419
+ countryShortName: 'SH',
1420
+ prefix: '+290',
1421
+ globalMask: '+290-####'
1200
1422
  },
1201
1423
  {
1202
- countryShortName: "SI",
1203
- prefix: "+386",
1204
- globalMask: "+386-##-###-###",
1424
+ countryShortName: 'SI',
1425
+ prefix: '+386',
1426
+ globalMask: '+386-##-###-###'
1205
1427
  },
1206
1428
  {
1207
- countryShortName: "SK",
1208
- prefix: "+421",
1209
- globalMask: "+421(###)###-###",
1429
+ countryShortName: 'SK',
1430
+ prefix: '+421',
1431
+ globalMask: '+421(###)###-###'
1210
1432
  },
1211
1433
  {
1212
- countryShortName: "SL",
1213
- prefix: "+232",
1214
- globalMask: "+232-##-######",
1434
+ countryShortName: 'SL',
1435
+ prefix: '+232',
1436
+ globalMask: '+232-##-######'
1215
1437
  },
1216
1438
  {
1217
- countryShortName: "SM",
1218
- prefix: "+378",
1219
- globalMask: "+378-####-######",
1439
+ countryShortName: 'SM',
1440
+ prefix: '+378',
1441
+ globalMask: '+378-####-######'
1220
1442
  },
1221
1443
  {
1222
- countryShortName: "SN",
1223
- prefix: "+221",
1224
- globalMask: "+221-##-###-####",
1444
+ countryShortName: 'SN',
1445
+ prefix: '+221',
1446
+ globalMask: '+221-##-###-####'
1225
1447
  },
1226
1448
  {
1227
- countryShortName: "SO",
1228
- prefix: "+252",
1229
- globalMask: "+252-##-###-###",
1449
+ countryShortName: 'SO',
1450
+ prefix: '+252',
1451
+ globalMask: '+252-##-###-###'
1230
1452
  },
1231
1453
  {
1232
- countryShortName: "SO",
1233
- prefix: "+252",
1234
- globalMask: "+252-#-###-###",
1454
+ countryShortName: 'SO',
1455
+ prefix: '+252',
1456
+ globalMask: '+252-#-###-###'
1235
1457
  },
1236
1458
  {
1237
- countryShortName: "SO",
1238
- prefix: "+252",
1239
- globalMask: "+252-#-###-###",
1459
+ countryShortName: 'SO',
1460
+ prefix: '+252',
1461
+ globalMask: '+252-#-###-###'
1240
1462
  },
1241
1463
  {
1242
- countryShortName: "SR",
1243
- prefix: "+597",
1244
- globalMask: "+597-###-####",
1464
+ countryShortName: 'SR',
1465
+ prefix: '+597',
1466
+ globalMask: '+597-###-####'
1245
1467
  },
1246
1468
  {
1247
- countryShortName: "SR",
1248
- prefix: "+597",
1249
- globalMask: "+597-###-###",
1469
+ countryShortName: 'SR',
1470
+ prefix: '+597',
1471
+ globalMask: '+597-###-###'
1250
1472
  },
1251
1473
  {
1252
- countryShortName: "SS",
1253
- prefix: "+211",
1254
- globalMask: "+211-##-###-####",
1474
+ countryShortName: 'SS',
1475
+ prefix: '+211',
1476
+ globalMask: '+211-##-###-####'
1255
1477
  },
1256
1478
  {
1257
- countryShortName: "ST",
1258
- prefix: "+239",
1259
- globalMask: "+239-##-#####",
1479
+ countryShortName: 'ST',
1480
+ prefix: '+239',
1481
+ globalMask: '+239-##-#####'
1260
1482
  },
1261
1483
  {
1262
- countryShortName: "SV",
1263
- prefix: "+503",
1264
- globalMask: "+503-##-##-####",
1484
+ countryShortName: 'SV',
1485
+ prefix: '+503',
1486
+ globalMask: '+503-##-##-####'
1265
1487
  },
1266
1488
  {
1267
- countryShortName: "SX",
1268
- prefix: "+1721",
1269
- globalMask: "+1(721)###-####",
1489
+ countryShortName: 'SX',
1490
+ prefix: '+1721',
1491
+ globalMask: '+1(721)###-####'
1270
1492
  },
1271
1493
  {
1272
- countryShortName: "SY",
1273
- prefix: "+963",
1274
- globalMask: "+963-##-####-###",
1494
+ countryShortName: 'SY',
1495
+ prefix: '+963',
1496
+ globalMask: '+963-##-####-###'
1275
1497
  },
1276
1498
  {
1277
- countryShortName: "SZ",
1278
- prefix: "+268",
1279
- globalMask: "+268-##-##-####",
1499
+ countryShortName: 'SZ',
1500
+ prefix: '+268',
1501
+ globalMask: '+268-##-##-####'
1280
1502
  },
1281
1503
  {
1282
- countryShortName: "TC",
1283
- prefix: "+1649",
1284
- globalMask: "+1(649)###-####",
1504
+ countryShortName: 'TC',
1505
+ prefix: '+1649',
1506
+ globalMask: '+1(649)###-####'
1285
1507
  },
1286
1508
  {
1287
- countryShortName: "TD",
1288
- prefix: "+235",
1289
- globalMask: "+235-##-##-##-##",
1509
+ countryShortName: 'TD',
1510
+ prefix: '+235',
1511
+ globalMask: '+235-##-##-##-##'
1290
1512
  },
1291
1513
  {
1292
- countryShortName: "TG",
1293
- prefix: "+228",
1294
- globalMask: "+228-##-###-###",
1514
+ countryShortName: 'TG',
1515
+ prefix: '+228',
1516
+ globalMask: '+228-##-###-###'
1295
1517
  },
1296
1518
  {
1297
- countryShortName: "TH",
1298
- prefix: "+66",
1299
- globalMask: "+66-##-###-####",
1519
+ countryShortName: 'TH',
1520
+ prefix: '+66',
1521
+ globalMask: '+66-##-###-####'
1300
1522
  },
1301
1523
  {
1302
- countryShortName: "TH",
1303
- prefix: "+66",
1304
- globalMask: "+66-##-###-###",
1524
+ countryShortName: 'TH',
1525
+ prefix: '+66',
1526
+ globalMask: '+66-##-###-###'
1305
1527
  },
1306
1528
  {
1307
- countryShortName: "TJ",
1308
- prefix: "+992",
1309
- globalMask: "+992-##-###-####",
1529
+ countryShortName: 'TJ',
1530
+ prefix: '+992',
1531
+ globalMask: '+992-##-###-####'
1310
1532
  },
1311
1533
  {
1312
- countryShortName: "TK",
1313
- prefix: "+690",
1314
- globalMask: "+690-####",
1534
+ countryShortName: 'TK',
1535
+ prefix: '+690',
1536
+ globalMask: '+690-####'
1315
1537
  },
1316
1538
  {
1317
- countryShortName: "TL",
1318
- prefix: "+670",
1319
- globalMask: "+670-###-####",
1539
+ countryShortName: 'TL',
1540
+ prefix: '+670',
1541
+ globalMask: '+670-###-####'
1320
1542
  },
1321
1543
  {
1322
- countryShortName: "TL",
1323
- prefix: "+67077",
1324
- globalMask: "+670-77#-#####",
1544
+ countryShortName: 'TL',
1545
+ prefix: '+67077',
1546
+ globalMask: '+670-77#-#####'
1325
1547
  },
1326
1548
  {
1327
- countryShortName: "TL",
1328
- prefix: "+67078",
1329
- globalMask: "+670-78#-#####",
1549
+ countryShortName: 'TL',
1550
+ prefix: '+67078',
1551
+ globalMask: '+670-78#-#####'
1330
1552
  },
1331
1553
  {
1332
- countryShortName: "TM",
1333
- prefix: "+993",
1334
- globalMask: "+993-#-###-####",
1554
+ countryShortName: 'TM',
1555
+ prefix: '+993',
1556
+ globalMask: '+993-#-###-####'
1335
1557
  },
1336
1558
  {
1337
- countryShortName: "TN",
1338
- prefix: "+216",
1339
- globalMask: "+216-##-###-###",
1559
+ countryShortName: 'TN',
1560
+ prefix: '+216',
1561
+ globalMask: '+216-##-###-###'
1340
1562
  },
1341
1563
  {
1342
- countryShortName: "TO",
1343
- prefix: "+676",
1344
- globalMask: "+676-#####",
1564
+ countryShortName: 'TO',
1565
+ prefix: '+676',
1566
+ globalMask: '+676-#####'
1345
1567
  },
1346
1568
  {
1347
- countryShortName: "TR",
1348
- prefix: "+90",
1349
- globalMask: "+90(###)###-####",
1569
+ countryShortName: 'TR',
1570
+ prefix: '+90',
1571
+ globalMask: '+90(###)###-####'
1350
1572
  },
1351
1573
  {
1352
- countryShortName: "TT",
1353
- prefix: "+1868",
1354
- globalMask: "+1(868)###-####",
1574
+ countryShortName: 'TT',
1575
+ prefix: '+1868',
1576
+ globalMask: '+1(868)###-####'
1355
1577
  },
1356
1578
  {
1357
- countryShortName: "TV",
1358
- prefix: "+68890",
1359
- globalMask: "+688-90####",
1579
+ countryShortName: 'TV',
1580
+ prefix: '+68890',
1581
+ globalMask: '+688-90####'
1360
1582
  },
1361
1583
  {
1362
- countryShortName: "TV",
1363
- prefix: "+6882",
1364
- globalMask: "+688-2####",
1584
+ countryShortName: 'TV',
1585
+ prefix: '+6882',
1586
+ globalMask: '+688-2####'
1365
1587
  },
1366
1588
  {
1367
- countryShortName: "TW",
1368
- prefix: "+886",
1369
- globalMask: "+886-#-####-####",
1589
+ countryShortName: 'TW',
1590
+ prefix: '+886',
1591
+ globalMask: '+886-#-####-####'
1370
1592
  },
1371
1593
  {
1372
- countryShortName: "TW",
1373
- prefix: "+886",
1374
- globalMask: "+886-####-####",
1594
+ countryShortName: 'TW',
1595
+ prefix: '+886',
1596
+ globalMask: '+886-####-####'
1375
1597
  },
1376
1598
  {
1377
- countryShortName: "TZ",
1378
- prefix: "+255",
1379
- globalMask: "+255-##-###-####",
1599
+ countryShortName: 'TZ',
1600
+ prefix: '+255',
1601
+ globalMask: '+255-##-###-####'
1380
1602
  },
1381
1603
  {
1382
- countryShortName: "UA",
1383
- prefix: "+380",
1384
- globalMask: "+380(##)###-##-##",
1604
+ countryShortName: 'UA',
1605
+ prefix: '+380',
1606
+ globalMask: '+380(##)###-##-##'
1385
1607
  },
1386
1608
  {
1387
- countryShortName: "UG",
1388
- prefix: "+256",
1389
- globalMask: "+256(###)###-###",
1609
+ countryShortName: 'UG',
1610
+ prefix: '+256',
1611
+ globalMask: '+256(###)###-###'
1390
1612
  },
1391
1613
  {
1392
- countryShortName: "UK",
1393
- prefix: "+44",
1394
- globalMask: "+44-##-####-####",
1614
+ countryShortName: 'UK',
1615
+ prefix: '+44',
1616
+ globalMask: '+44-##-####-####'
1395
1617
  },
1396
1618
  {
1397
- countryShortName: "UY",
1398
- prefix: "+598",
1399
- globalMask: "+598-#-###-##-##",
1619
+ countryShortName: 'UY',
1620
+ prefix: '+598',
1621
+ globalMask: '+598-#-###-##-##'
1400
1622
  },
1401
1623
  {
1402
- countryShortName: "UZ",
1403
- prefix: "+998",
1404
- globalMask: "+998-##-###-####",
1624
+ countryShortName: 'UZ',
1625
+ prefix: '+998',
1626
+ globalMask: '+998-##-###-####'
1405
1627
  },
1406
1628
  {
1407
- countryShortName: "VA",
1408
- prefix: "+396698",
1409
- globalMask: "+39-6-698-#####",
1629
+ countryShortName: 'VA',
1630
+ prefix: '+396698',
1631
+ globalMask: '+39-6-698-#####'
1410
1632
  },
1411
1633
  {
1412
- countryShortName: "VC",
1413
- prefix: "+1784",
1414
- globalMask: "+1(784)###-####",
1634
+ countryShortName: 'VC',
1635
+ prefix: '+1784',
1636
+ globalMask: '+1(784)###-####'
1415
1637
  },
1416
1638
  {
1417
- countryShortName: "VE",
1418
- prefix: "+58",
1419
- globalMask: "+58(###)###-####",
1639
+ countryShortName: 'VE',
1640
+ prefix: '+58',
1641
+ globalMask: '+58(###)###-####'
1420
1642
  },
1421
1643
  {
1422
- countryShortName: "VG",
1423
- prefix: "+1284",
1424
- globalMask: "+1(284)###-####",
1644
+ countryShortName: 'VG',
1645
+ prefix: '+1284',
1646
+ globalMask: '+1(284)###-####'
1425
1647
  },
1426
1648
  {
1427
- countryShortName: "VI",
1428
- prefix: "+1340",
1429
- globalMask: "+1(340)###-####",
1649
+ countryShortName: 'VI',
1650
+ prefix: '+1340',
1651
+ globalMask: '+1(340)###-####'
1430
1652
  },
1431
1653
  {
1432
- countryShortName: "VN",
1433
- prefix: "+84",
1434
- globalMask: "+84-##-####-###",
1654
+ countryShortName: 'VN',
1655
+ prefix: '+84',
1656
+ globalMask: '+84-##-####-###'
1435
1657
  },
1436
1658
  {
1437
- countryShortName: "VN",
1438
- prefix: "+84",
1439
- globalMask: "+84(###)####-###",
1659
+ countryShortName: 'VN',
1660
+ prefix: '+84',
1661
+ globalMask: '+84(###)####-###'
1440
1662
  },
1441
1663
  {
1442
- countryShortName: "VU",
1443
- prefix: "+678",
1444
- globalMask: "+678-##-#####",
1664
+ countryShortName: 'VU',
1665
+ prefix: '+678',
1666
+ globalMask: '+678-##-#####'
1445
1667
  },
1446
1668
  {
1447
- countryShortName: "VU",
1448
- prefix: "+678",
1449
- globalMask: "+678-#####",
1669
+ countryShortName: 'VU',
1670
+ prefix: '+678',
1671
+ globalMask: '+678-#####'
1450
1672
  },
1451
1673
  {
1452
- countryShortName: "WF",
1453
- prefix: "+681",
1454
- globalMask: "+681-##-####",
1674
+ countryShortName: 'WF',
1675
+ prefix: '+681',
1676
+ globalMask: '+681-##-####'
1455
1677
  },
1456
1678
  {
1457
- countryShortName: "WS",
1458
- prefix: "+685",
1459
- globalMask: "+685-##-####",
1679
+ countryShortName: 'WS',
1680
+ prefix: '+685',
1681
+ globalMask: '+685-##-####'
1460
1682
  },
1461
1683
  {
1462
- countryShortName: "YE",
1463
- prefix: "+967",
1464
- globalMask: "+967-###-###-###",
1684
+ countryShortName: 'YE',
1685
+ prefix: '+967',
1686
+ globalMask: '+967-###-###-###'
1465
1687
  },
1466
1688
  {
1467
- countryShortName: "YE",
1468
- prefix: "+967",
1469
- globalMask: "+967-#-###-###",
1689
+ countryShortName: 'YE',
1690
+ prefix: '+967',
1691
+ globalMask: '+967-#-###-###'
1470
1692
  },
1471
1693
  {
1472
- countryShortName: "YE",
1473
- prefix: "+967",
1474
- globalMask: "+967-##-###-###",
1694
+ countryShortName: 'YE',
1695
+ prefix: '+967',
1696
+ globalMask: '+967-##-###-###'
1475
1697
  },
1476
1698
  {
1477
- countryShortName: "ZA",
1478
- prefix: "+27",
1479
- globalMask: "+27-##-###-####",
1699
+ countryShortName: 'ZA',
1700
+ prefix: '+27',
1701
+ globalMask: '+27-##-###-####'
1480
1702
  },
1481
1703
  {
1482
- countryShortName: "ZM",
1483
- prefix: "+260",
1484
- globalMask: "+260-##-###-####",
1704
+ countryShortName: 'ZM',
1705
+ prefix: '+260',
1706
+ globalMask: '+260-##-###-####'
1485
1707
  },
1486
1708
  {
1487
- countryShortName: "ZW",
1488
- prefix: "+263",
1489
- globalMask: "+263-#-######",
1490
- },
1709
+ countryShortName: 'ZW',
1710
+ prefix: '+263',
1711
+ globalMask: '+263-#-######'
1712
+ }
1491
1713
  ];
1492
1714
 
1493
1715
  const DefaultPhoneMask = {
1494
- countryShortName: "IR",
1495
- prefix: "+98",
1496
- globalMask: "+00(000)000-0000",
1716
+ countryShortName: 'IR',
1717
+ prefix: '+98',
1718
+ globalMask: '+00(000)000-0000'
1497
1719
  };
1498
1720
  class NzFormlyFieldInputComponent extends FieldType {
1499
1721
  constructor() {
1500
1722
  super(...arguments);
1501
- this.unSubscribeAll$ = new Subject();
1723
+ this.destroyRef = inject(DestroyRef);
1724
+ }
1725
+ get type() {
1726
+ return this.props.type ?? 'text';
1727
+ }
1728
+ get fieldID() {
1729
+ return 'control-' + this.field.key;
1730
+ }
1731
+ get status() {
1732
+ return this.formControl.touched && this.formControl.invalid ? 'error' : '';
1502
1733
  }
1503
1734
  ngAfterViewInit() {
1504
1735
  this.createInitState();
1505
1736
  this.onValueChange();
1506
1737
  }
1507
1738
  createInitState() {
1508
- if (this.props.mask === "phone") {
1739
+ if (this.props.mask === 'phone') {
1509
1740
  this.mask = DefaultPhoneMask.globalMask;
1510
1741
  this.handlePhoneMask();
1511
1742
  }
@@ -1515,17 +1746,17 @@ class NzFormlyFieldInputComponent extends FieldType {
1515
1746
  }
1516
1747
  handlePhoneMask() {
1517
1748
  this.formControl.valueChanges
1518
- .pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
1519
- if (value == "") {
1749
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1750
+ if (value == '') {
1520
1751
  // hint: without setTimeout we don't have Ctrl + A -> delete
1521
1752
  setTimeout(() => {
1522
1753
  this.mask = DefaultPhoneMask.globalMask;
1523
1754
  });
1524
1755
  }
1525
1756
  else {
1526
- let mask = this.findAppropriateMask(value);
1757
+ const mask = this.findAppropriateMask(value);
1527
1758
  if (mask && this.mask !== mask.globalMask) {
1528
- this.mask = mask.globalMask?.replace(/#|[1-9]/g, "0");
1759
+ this.mask = mask.globalMask?.replace(/#|[1-9]/g, '0');
1529
1760
  }
1530
1761
  }
1531
1762
  }))
@@ -1533,15 +1764,15 @@ class NzFormlyFieldInputComponent extends FieldType {
1533
1764
  }
1534
1765
  onValueChange() {
1535
1766
  this.formControl.valueChanges
1536
- .pipe(takeUntil(this.unSubscribeAll$), debounceTime(300), tap((value) => {
1537
- if (typeof this.props?.change == "function") {
1767
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1768
+ if (typeof this.props?.change == 'function') {
1538
1769
  this.props.change(this.field, value);
1539
1770
  }
1540
1771
  }))
1541
1772
  .subscribe();
1542
1773
  }
1543
1774
  findAppropriateMask(value) {
1544
- let newMask = CountryMasks2.filter(item => this.exactEquality(value, item.prefix)).find(item => value.length <= item.globalMask.length);
1775
+ const newMask = CountryMasks2.filter((item) => this.exactEquality(value, item.prefix)).find((item) => value.length <= item.globalMask.length);
1545
1776
  if (newMask)
1546
1777
  return newMask;
1547
1778
  return null;
@@ -1549,553 +1780,589 @@ class NzFormlyFieldInputComponent extends FieldType {
1549
1780
  exactEquality(str, prefix) {
1550
1781
  // hint: replace function removes all characters except numbers to return clean numeric string
1551
1782
  // hint: index of convince us to match prefix on first index of input value
1552
- let new_str = str.replace(/[^0-9.]/g, "");
1553
- let new_prefix = prefix.replace(/[^0-9.]/g, "");
1783
+ const new_str = str.replace(/[^0-9.]/g, '');
1784
+ const new_prefix = prefix.replace(/[^0-9.]/g, '');
1554
1785
  return new_str.indexOf(new_prefix) == 0;
1555
1786
  }
1556
1787
  changeShowPassword(input) {
1557
- if (input.type === "password") {
1558
- input.type = "text";
1788
+ if (input.type === 'password') {
1789
+ input.type = 'text';
1559
1790
  }
1560
1791
  else {
1561
- input.type = "password";
1792
+ input.type = 'password';
1562
1793
  }
1563
1794
  }
1564
1795
  showPassword(input) {
1565
- return input.type === "text";
1566
- }
1567
- get type() {
1568
- return this.props.type ?? "text";
1796
+ return input.type === 'text';
1569
1797
  }
1570
- get fieldID() {
1571
- return "control-" + this.field.key;
1572
- }
1573
- get status() {
1574
- return this.formControl.touched && this.formControl.invalid ? "error" : "";
1575
- }
1576
- ngOnDestroy() {
1577
- this.unSubscribeAll$.next();
1578
- this.unSubscribeAll$.complete();
1579
- }
1580
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1581
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldInputComponent, selector: "app-nz-formly-field-input", usesInheritance: true, ngImport: i0, template: "<nz-input-group\r\n [nzAddOnAfter]=\"props.nzAddOnAfter\"\r\n [nzAddOnBefore]=\"props.nzAddOnBefore\"\r\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\r\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\r\n [nzPrefix]=\"props.nzPrefix\"\r\n [nzSuffix]=\"props.nzSuffix\"\r\n [nzSize]=\"props.nzSize || 'default'\"\r\n>\r\n <input\r\n #input\r\n nz-input\r\n [id]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [mask]=\"mask\"\r\n [thousandSeparator]=\"props.thousandSeparator\"\r\n [type]=\"type\"\r\n [nzStatus]=\"status\"\r\n [attr.disabled]=\"props.disabled\"\r\n [readonly]=\"props.readonly\"\r\n [placeholder]=\"props.placeholder\"\r\n [nzBorderless]=\"props.nzBorderless\"\r\n />\r\n <div class=\"show-password\" *ngIf=\"props.type === 'password'\">\r\n <span\r\n nz-icon\r\n nzTheme=\"outline\"\r\n (click)=\"changeShowPassword(input)\"\r\n [nzType]=\"showPassword(input) ? 'eye-invisible' : 'eye'\"\r\n ></span>\r\n </div>\r\n</nz-input-group>\r\n", styles: [".show-password{z-index:5;opacity:.6;cursor:pointer;position:absolute;inset-inline-end:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i5.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i5.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }] }); }
1798
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1799
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyFieldInputComponent, isStandalone: true, selector: "app-nz-formly-field-input", usesInheritance: true, ngImport: i0, template: "<nz-input-group\n [nzAddOnAfter]=\"props.nzAddOnAfter\"\n [nzAddOnBefore]=\"props.nzAddOnBefore\"\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\n [nzPrefix]=\"props.nzPrefix\"\n [nzSuffix]=\"props.nzSuffix\"\n [nzSize]=\"props.nzSize || 'default'\"\n>\n <input\n #input\n nz-input\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"mask\"\n [thousandSeparator]=\"props.thousandSeparator\"\n [type]=\"type\"\n [nzStatus]=\"status\"\n [attr.disabled]=\"props.nzDisabled\"\n [readonly]=\"props.nzReadonly\"\n [placeholder]=\"props.nzPlaceholder\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n />\n @if (props.type === 'password') {\n <div class=\"nz-formly-show-password\">\n <span\n nz-icon\n nzTheme=\"outline\"\n role=\"button\"\n tabindex=\"0\"\n (click)=\"changeShowPassword(input)\"\n (keyup.enter)=\"changeShowPassword(input)\"\n [nzType]=\"showPassword(input) ? 'eye-invisible' : 'eye'\"\n ></span>\n </div>\n }\n</nz-input-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i3$2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "component", type: i3$2.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i3$2.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i4$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix", "value", "disabled", "touched"], outputs: ["valueChange", "touchedChange", "maskFilled"], exportAs: ["mask", "ngxMask"] }] }); }
1582
1800
  }
1583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldInputComponent, decorators: [{
1801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldInputComponent, decorators: [{
1584
1802
  type: Component,
1585
- args: [{ selector: "app-nz-formly-field-input", template: "<nz-input-group\r\n [nzAddOnAfter]=\"props.nzAddOnAfter\"\r\n [nzAddOnBefore]=\"props.nzAddOnBefore\"\r\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\r\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\r\n [nzPrefix]=\"props.nzPrefix\"\r\n [nzSuffix]=\"props.nzSuffix\"\r\n [nzSize]=\"props.nzSize || 'default'\"\r\n>\r\n <input\r\n #input\r\n nz-input\r\n [id]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [mask]=\"mask\"\r\n [thousandSeparator]=\"props.thousandSeparator\"\r\n [type]=\"type\"\r\n [nzStatus]=\"status\"\r\n [attr.disabled]=\"props.disabled\"\r\n [readonly]=\"props.readonly\"\r\n [placeholder]=\"props.placeholder\"\r\n [nzBorderless]=\"props.nzBorderless\"\r\n />\r\n <div class=\"show-password\" *ngIf=\"props.type === 'password'\">\r\n <span\r\n nz-icon\r\n nzTheme=\"outline\"\r\n (click)=\"changeShowPassword(input)\"\r\n [nzType]=\"showPassword(input) ? 'eye-invisible' : 'eye'\"\r\n ></span>\r\n </div>\r\n</nz-input-group>\r\n", styles: [".show-password{z-index:5;opacity:.6;cursor:pointer;position:absolute;inset-inline-end:10px}\n"] }]
1803
+ args: [{ selector: 'app-nz-formly-field-input', imports: [
1804
+ CommonModule,
1805
+ ReactiveFormsModule,
1806
+ FormlyModule,
1807
+ NzInputModule,
1808
+ NzIconModule,
1809
+ NgxMaskDirective
1810
+ ], template: "<nz-input-group\n [nzAddOnAfter]=\"props.nzAddOnAfter\"\n [nzAddOnBefore]=\"props.nzAddOnBefore\"\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\n [nzPrefix]=\"props.nzPrefix\"\n [nzSuffix]=\"props.nzSuffix\"\n [nzSize]=\"props.nzSize || 'default'\"\n>\n <input\n #input\n nz-input\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"mask\"\n [thousandSeparator]=\"props.thousandSeparator\"\n [type]=\"type\"\n [nzStatus]=\"status\"\n [attr.disabled]=\"props.nzDisabled\"\n [readonly]=\"props.nzReadonly\"\n [placeholder]=\"props.nzPlaceholder\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n />\n @if (props.type === 'password') {\n <div class=\"nz-formly-show-password\">\n <span\n nz-icon\n nzTheme=\"outline\"\n role=\"button\"\n tabindex=\"0\"\n (click)=\"changeShowPassword(input)\"\n (keyup.enter)=\"changeShowPassword(input)\"\n [nzType]=\"showPassword(input) ? 'eye-invisible' : 'eye'\"\n ></span>\n </div>\n }\n</nz-input-group>\n" }]
1586
1811
  }] });
1587
1812
 
1588
- class NzFormlyFieldCheckboxComponent extends FieldType {
1813
+ class NzFormlyFieldRadioComponent extends FieldType {
1589
1814
  constructor() {
1590
1815
  super(...arguments);
1591
- this.unSubscribeAll$ = new Subject();
1816
+ this.destroyRef = inject(DestroyRef);
1817
+ }
1818
+ get fieldID() {
1819
+ return 'control-' + this.field.key;
1592
1820
  }
1593
1821
  ngOnInit() {
1822
+ this.onValueChange();
1823
+ }
1824
+ onValueChange() {
1594
1825
  this.formControl.valueChanges
1595
- .pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
1596
- if (typeof this.props?.change == "function") {
1826
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1827
+ if (typeof this.props?.change == 'function') {
1597
1828
  this.props.change(this.field, value);
1598
1829
  }
1599
1830
  }))
1600
1831
  .subscribe();
1601
1832
  }
1602
- get fieldID() {
1603
- return "control-" + this.field.key;
1604
- }
1605
- ngOnDestroy() {
1606
- this.unSubscribeAll$.next();
1607
- this.unSubscribeAll$.complete();
1608
- }
1609
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1610
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldCheckboxComponent, selector: "app-nz-formly-field-checkbox", usesInheritance: true, ngImport: i0, template: "<label\r\n nz-checkbox\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzDisabled]=\"props.disabled\"\r\n>\r\n {{props.label}}\r\n</label>\r\n", styles: ["label{display:flex;font-size:100%;font-weight:600;min-height:30px;width:-moz-fit-content;width:fit-content;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$1.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }] }); }
1833
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1834
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyFieldRadioComponent, isStandalone: true, selector: "app-nz-formly-field-radio", usesInheritance: true, ngImport: i0, template: "<nz-radio-group\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzName]=\"props.nzName\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzSize]=\"props.nzSize\"\n [nzButtonStyle]=\"props.nzButtonStyle\"\n>\n @if (props.nzType === 'nz-radio') {\n @for (item of props.nzOptions; track item) {\n <label nz-radio [nzDisabled]=\"item.disabled\" [nzValue]=\"item.value\">\n {{ item.label }}\n <div [innerHTML]=\"item.nzCustomContent\"></div>\n </label>\n }\n }\n @if (props.nzType === 'nz-radio-button') {\n @for (item of props.nzOptions; track item) {\n <label nz-radio-button [nzDisabled]=\"item.disabled\" [nzValue]=\"item.value\">\n {{ item.label }}\n <div [innerHTML]=\"item.nzCustomContent\"></div>\n </label>\n }\n }\n</nz-radio-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzRadioModule }, { kind: "component", type: i3$3.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i3$3.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }] }); }
1611
1835
  }
1612
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldCheckboxComponent, decorators: [{
1836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldRadioComponent, decorators: [{
1613
1837
  type: Component,
1614
- args: [{ selector: "app-nz-formly-field-checkbox", template: "<label\r\n nz-checkbox\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzDisabled]=\"props.disabled\"\r\n>\r\n {{props.label}}\r\n</label>\r\n", styles: ["label{display:flex;font-size:100%;font-weight:600;min-height:30px;width:-moz-fit-content;width:fit-content;align-items:center}\n"] }]
1838
+ args: [{ selector: 'app-nz-formly-field-radio', imports: [CommonModule, ReactiveFormsModule, FormlyModule, NzRadioModule], template: "<nz-radio-group\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzName]=\"props.nzName\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzSize]=\"props.nzSize\"\n [nzButtonStyle]=\"props.nzButtonStyle\"\n>\n @if (props.nzType === 'nz-radio') {\n @for (item of props.nzOptions; track item) {\n <label nz-radio [nzDisabled]=\"item.disabled\" [nzValue]=\"item.value\">\n {{ item.label }}\n <div [innerHTML]=\"item.nzCustomContent\"></div>\n </label>\n }\n }\n @if (props.nzType === 'nz-radio-button') {\n @for (item of props.nzOptions; track item) {\n <label nz-radio-button [nzDisabled]=\"item.disabled\" [nzValue]=\"item.value\">\n {{ item.label }}\n <div [innerHTML]=\"item.nzCustomContent\"></div>\n </label>\n }\n }\n</nz-radio-group>\n" }]
1615
1839
  }] });
1616
1840
 
1617
- class NzFormlyButtonComponent extends FieldType {
1618
- onClick() {
1619
- if (typeof this.props?.click == "function") {
1620
- this.props.click();
1621
- }
1841
+ class NzFormlyFieldSelectComponent extends FieldType {
1842
+ constructor() {
1843
+ super(...arguments);
1844
+ this.destroyRef = inject(DestroyRef);
1845
+ }
1846
+ get fieldID() {
1847
+ return 'control-' + this.field.key;
1848
+ }
1849
+ get status() {
1850
+ return this.formControl.touched && this.formControl.invalid ? 'error' : '';
1622
1851
  }
1623
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1624
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyButtonComponent, selector: "app-nz-formly-button", usesInheritance: true, ngImport: i0, template: "<button\r\n nz-button\r\n type=\"button\"\r\n [disabled]=\"props.disabled\"\r\n [nzGhost]=\"props.nzGhost\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzShape]=\"props.nzShape\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzType]=\"props.nzType\"\r\n [nzBlock]=\"props.nzBlock\"\r\n [nzDanger]=\"props.nzDanger\"\r\n [ngClass]=\"props.classList\"\r\n (click)=\"onClick()\"\r\n>\r\n {{props.text}}\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i4$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] }); }
1852
+ ngOnInit() {
1853
+ this.onValueChange();
1854
+ }
1855
+ onValueChange() {
1856
+ this.formControl.valueChanges
1857
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1858
+ if (typeof this.props?.change == 'function') {
1859
+ this.props.change(this.field, value);
1860
+ }
1861
+ }))
1862
+ .subscribe();
1863
+ }
1864
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1865
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyFieldSelectComponent, isStandalone: true, selector: "app-nz-formly-field-select", usesInheritance: true, ngImport: i0, template: "<nz-select\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [compareWith]=\"props.compareWith\"\n [nzAutoClearSearchValue]=\"props.nzAutoClearSearchValue\"\n [nzAllowClear]=\"props.nzAllowClear\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n [nzOpen]=\"props.nzOpen\"\n [nzAutoFocus]=\"props.nzAutoFocus\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzDropdownClassName]=\"props.nzDropdownClassName\"\n [nzDropdownMatchSelectWidth]=\"props.nzDropdownMatchSelectWidth\"\n [nzDropdownStyle]=\"props.nzDropdownStyle\"\n [nzCustomTemplate]=\"props.nzCustomTemplate\"\n [nzServerSearch]=\"props.nzServerSearch\"\n [nzMaxMultipleCount]=\"props.nzMaxMultipleCount\"\n [nzMode]=\"props.nzMode\"\n [nzNotFoundContent]=\"props.nzNotFoundContent\"\n [nzPlacement]=\"props.nzPlacement\"\n [nzPlaceHolder]=\"props.nzPlaceholder\"\n [nzShowArrow]=\"props.nzShowArrow\"\n [nzShowSearch]=\"props.nzShowSearch\"\n [nzSize]=\"props.nzSize\"\n [nzStatus]=\"status\"\n [nzSuffixIcon]=\"props.nzSuffixIcon\"\n [nzRemoveIcon]=\"props.nzRemoveIcon\"\n [nzClearIcon]=\"props.nzClearIcon\"\n [nzMenuItemSelectedIcon]=\"props.nzMenuItemSelectedIcon\"\n [nzTokenSeparators]=\"props.nzTokenSeparators\"\n [nzLoading]=\"props.nzLoading || (props.nzLoadingObs | async)\"\n [nzMaxTagCount]=\"props.nzMaxTagCount\"\n [nzMaxTagPlaceholder]=\"props.nzMaxTagPlaceholder\"\n [nzOptionHeightPx]=\"props.nzOptionHeightPx\"\n [nzOptionOverflowSize]=\"props.nzOptionOverflowSize\"\n [nzSelectOnTab]=\"props.nzSelectOnTab\"\n (nzOpenChange)=\"props?.nzOpenChange($event)\"\n (nzScrollToBottom)=\"props?.nzScrollToBottom()\"\n (nzOnSearch)=\"props?.nzOnSearch($event)\"\n>\n @for (option of props.nzOptions || (props.nzOptionsObs | async); track option) {\n <nz-option\n [nzDisabled]=\"option.disabled\"\n [nzLabel]=\"option.label\"\n [nzValue]=\"props.objectValue ? option : option.value\"\n [nzHide]=\"option.hide\"\n [nzCustomContent]=\"!!option.nzCustomContent\"\n >\n <div [innerHTML]=\"option.nzCustomContent\"></div>\n </nz-option>\n }\n</nz-select>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzSelectModule }, { kind: "component", type: i3$4.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i3$4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
1625
1866
  }
1626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyButtonComponent, decorators: [{
1867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldSelectComponent, decorators: [{
1627
1868
  type: Component,
1628
- args: [{ selector: "app-nz-formly-button", template: "<button\r\n nz-button\r\n type=\"button\"\r\n [disabled]=\"props.disabled\"\r\n [nzGhost]=\"props.nzGhost\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzShape]=\"props.nzShape\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzType]=\"props.nzType\"\r\n [nzBlock]=\"props.nzBlock\"\r\n [nzDanger]=\"props.nzDanger\"\r\n [ngClass]=\"props.classList\"\r\n (click)=\"onClick()\"\r\n>\r\n {{props.text}}\r\n</button>\r\n" }]
1869
+ args: [{ selector: 'app-nz-formly-field-select', imports: [CommonModule, ReactiveFormsModule, FormlyModule, NzSelectModule], template: "<nz-select\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [compareWith]=\"props.compareWith\"\n [nzAutoClearSearchValue]=\"props.nzAutoClearSearchValue\"\n [nzAllowClear]=\"props.nzAllowClear\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n [nzOpen]=\"props.nzOpen\"\n [nzAutoFocus]=\"props.nzAutoFocus\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzDropdownClassName]=\"props.nzDropdownClassName\"\n [nzDropdownMatchSelectWidth]=\"props.nzDropdownMatchSelectWidth\"\n [nzDropdownStyle]=\"props.nzDropdownStyle\"\n [nzCustomTemplate]=\"props.nzCustomTemplate\"\n [nzServerSearch]=\"props.nzServerSearch\"\n [nzMaxMultipleCount]=\"props.nzMaxMultipleCount\"\n [nzMode]=\"props.nzMode\"\n [nzNotFoundContent]=\"props.nzNotFoundContent\"\n [nzPlacement]=\"props.nzPlacement\"\n [nzPlaceHolder]=\"props.nzPlaceholder\"\n [nzShowArrow]=\"props.nzShowArrow\"\n [nzShowSearch]=\"props.nzShowSearch\"\n [nzSize]=\"props.nzSize\"\n [nzStatus]=\"status\"\n [nzSuffixIcon]=\"props.nzSuffixIcon\"\n [nzRemoveIcon]=\"props.nzRemoveIcon\"\n [nzClearIcon]=\"props.nzClearIcon\"\n [nzMenuItemSelectedIcon]=\"props.nzMenuItemSelectedIcon\"\n [nzTokenSeparators]=\"props.nzTokenSeparators\"\n [nzLoading]=\"props.nzLoading || (props.nzLoadingObs | async)\"\n [nzMaxTagCount]=\"props.nzMaxTagCount\"\n [nzMaxTagPlaceholder]=\"props.nzMaxTagPlaceholder\"\n [nzOptionHeightPx]=\"props.nzOptionHeightPx\"\n [nzOptionOverflowSize]=\"props.nzOptionOverflowSize\"\n [nzSelectOnTab]=\"props.nzSelectOnTab\"\n (nzOpenChange)=\"props?.nzOpenChange($event)\"\n (nzScrollToBottom)=\"props?.nzScrollToBottom()\"\n (nzOnSearch)=\"props?.nzOnSearch($event)\"\n>\n @for (option of props.nzOptions || (props.nzOptionsObs | async); track option) {\n <nz-option\n [nzDisabled]=\"option.disabled\"\n [nzLabel]=\"option.label\"\n [nzValue]=\"props.objectValue ? option : option.value\"\n [nzHide]=\"option.hide\"\n [nzCustomContent]=\"!!option.nzCustomContent\"\n >\n <div [innerHTML]=\"option.nzCustomContent\"></div>\n </nz-option>\n }\n</nz-select>\n" }]
1629
1870
  }] });
1630
1871
 
1631
- class NzFormlyFieldSelectComponent extends FieldType {
1872
+ class NzFormlyFieldSliderComponent extends FieldType {
1632
1873
  constructor() {
1633
1874
  super(...arguments);
1634
- this.unSubscribeAll$ = new Subject();
1875
+ this.destroyRef = inject(DestroyRef);
1876
+ }
1877
+ get fieldID() {
1878
+ return 'control-' + this.field.key;
1635
1879
  }
1636
1880
  ngOnInit() {
1881
+ this.onValueChange();
1882
+ }
1883
+ onValueChange() {
1637
1884
  this.formControl.valueChanges
1638
- .pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
1639
- if (typeof this.props?.change == "function") {
1885
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1886
+ if (typeof this.props?.change == 'function') {
1640
1887
  this.props.change(this.field, value);
1641
1888
  }
1642
1889
  }))
1643
1890
  .subscribe();
1644
1891
  }
1645
- get fieldID() {
1646
- return "control-" + this.field.key;
1647
- }
1648
- ngOnDestroy() {
1649
- this.unSubscribeAll$.next();
1650
- this.unSubscribeAll$.complete();
1651
- }
1652
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1653
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldSelectComponent, selector: "app-nz-formly-field-select", usesInheritance: true, ngImport: i0, template: "<nz-select\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [compareWith]=\"props.compareWith\"\r\n [nzAutoClearSearchValue]=\"props.nzAutoClearSearchValue\"\r\n [nzAllowClear]=\"props.nzAllowClear\"\r\n [nzBorderless]=\"props.nzBorderless\"\r\n [nzOpen]=\"props.nzOpen\"\r\n [nzAutoFocus]=\"props.nzAutoFocus\"\r\n [nzDisabled]=\"props.disabled\"\r\n [nzDropdownClassName]=\"props.nzDropdownClassName\"\r\n [nzDropdownMatchSelectWidth]=\"props.nzDropdownMatchSelectWidth\"\r\n [nzDropdownStyle]=\"props.nzDropdownStyle\"\r\n [nzCustomTemplate]=\"props.nzCustomTemplate\"\r\n [nzServerSearch]=\"props.nzServerSearch\"\r\n [nzMaxMultipleCount]=\"props.nzMaxMultipleCount\"\r\n [nzMode]=\"props.nzMode\"\r\n [nzNotFoundContent]=\"props.nzNotFoundContent\"\r\n [nzPlacement]=\"props.nzPlacement\"\r\n [nzPlaceHolder]=\"props.placeholder\"\r\n [nzShowArrow]=\"props.nzShowArrow\"\r\n [nzShowSearch]=\"props.nzShowSearch\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzStatus]=\"props.nzStatus\"\r\n [nzSuffixIcon]=\"props.nzSuffixIcon\"\r\n [nzRemoveIcon]=\"props.nzRemoveIcon\"\r\n [nzClearIcon]=\"props.nzClearIcon\"\r\n [nzMenuItemSelectedIcon]=\"props.nzMenuItemSelectedIcon\"\r\n [nzTokenSeparators]=\"props.nzTokenSeparators\"\r\n [nzLoading]=\"props.nzLoading || (props.nzLoadingObs | async)\"\r\n [nzMaxTagCount]=\"props.nzMaxTagCount\"\r\n [nzMaxTagPlaceholder]=\"props.nzMaxTagPlaceholder\"\r\n [nzOptionHeightPx]=\"props.nzOptionHeightPx\"\r\n [nzOptionOverflowSize]=\"props.nzOptionOverflowSize\"\r\n [nzSelectOnTab]=\"props.nzSelectOnTab\"\r\n (nzOpenChange)=\"props?.nzOpenChange($event)\"\r\n (nzScrollToBottom)=\"props?.nzScrollToBottom()\"\r\n (nzOnSearch)=\"props?.nzOnSearch($event)\"\r\n>\r\n <nz-option\r\n *ngFor=\"let option of props.nzOptions || (props.nzOptionsObs | async)\"\r\n [nzDisabled]=\"option.disabled\"\r\n [nzLabel]=\"option.label\"\r\n [nzValue]=\"props.objectValue ? option : option.value\"\r\n [nzHide]=\"option.hide\"\r\n [nzCustomContent]=\"!!option.nzCustomContent\"\r\n >\r\n <div [innerHTML]=\"option.nzCustomContent\"></div>\r\n </nz-option>\r\n</nz-select>\r\n\r\n\r\n", styles: ["nz-select{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$2.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4$2.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
1892
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1893
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: NzFormlyFieldSliderComponent, isStandalone: true, selector: "app-nz-formly-field-slider", usesInheritance: true, ngImport: i0, template: "<nz-slider\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzDots]=\"props.nzDots\"\n [nzIncluded]=\"props.nzIncluded\"\n [nzMarks]=\"props.nzMarks\"\n [nzMax]=\"props.nzMax\"\n [nzMin]=\"props.nzMin\"\n [nzRange]=\"props.nzRange\"\n [nzStep]=\"props.nzStep\"\n [nzTipFormatter]=\"props.nzTipFormatter\"\n [nzVertical]=\"props.nzVertical\"\n [nzReverse]=\"props.nzReverse\"\n [nzTooltipVisible]=\"props.nzTooltipVisible\"\n [nzTooltipPlacement]=\"props.nzTooltipPlacement\"\n (change)=\"(props.change)\"\n></nz-slider>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzSliderModule }, { kind: "component", type: i3$5.NzSliderComponent, selector: "nz-slider", inputs: ["nzDisabled", "nzDots", "nzIncluded", "nzRange", "nzVertical", "nzReverse", "nzDefaultValue", "nzMarks", "nzMax", "nzMin", "nzStep", "nzTooltipVisible", "nzTooltipPlacement", "nzTipFormatter"], outputs: ["nzOnAfterChange"], exportAs: ["nzSlider"] }] }); }
1654
1894
  }
1655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldSelectComponent, decorators: [{
1895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldSliderComponent, decorators: [{
1656
1896
  type: Component,
1657
- args: [{ selector: "app-nz-formly-field-select", template: "<nz-select\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [compareWith]=\"props.compareWith\"\r\n [nzAutoClearSearchValue]=\"props.nzAutoClearSearchValue\"\r\n [nzAllowClear]=\"props.nzAllowClear\"\r\n [nzBorderless]=\"props.nzBorderless\"\r\n [nzOpen]=\"props.nzOpen\"\r\n [nzAutoFocus]=\"props.nzAutoFocus\"\r\n [nzDisabled]=\"props.disabled\"\r\n [nzDropdownClassName]=\"props.nzDropdownClassName\"\r\n [nzDropdownMatchSelectWidth]=\"props.nzDropdownMatchSelectWidth\"\r\n [nzDropdownStyle]=\"props.nzDropdownStyle\"\r\n [nzCustomTemplate]=\"props.nzCustomTemplate\"\r\n [nzServerSearch]=\"props.nzServerSearch\"\r\n [nzMaxMultipleCount]=\"props.nzMaxMultipleCount\"\r\n [nzMode]=\"props.nzMode\"\r\n [nzNotFoundContent]=\"props.nzNotFoundContent\"\r\n [nzPlacement]=\"props.nzPlacement\"\r\n [nzPlaceHolder]=\"props.placeholder\"\r\n [nzShowArrow]=\"props.nzShowArrow\"\r\n [nzShowSearch]=\"props.nzShowSearch\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzStatus]=\"props.nzStatus\"\r\n [nzSuffixIcon]=\"props.nzSuffixIcon\"\r\n [nzRemoveIcon]=\"props.nzRemoveIcon\"\r\n [nzClearIcon]=\"props.nzClearIcon\"\r\n [nzMenuItemSelectedIcon]=\"props.nzMenuItemSelectedIcon\"\r\n [nzTokenSeparators]=\"props.nzTokenSeparators\"\r\n [nzLoading]=\"props.nzLoading || (props.nzLoadingObs | async)\"\r\n [nzMaxTagCount]=\"props.nzMaxTagCount\"\r\n [nzMaxTagPlaceholder]=\"props.nzMaxTagPlaceholder\"\r\n [nzOptionHeightPx]=\"props.nzOptionHeightPx\"\r\n [nzOptionOverflowSize]=\"props.nzOptionOverflowSize\"\r\n [nzSelectOnTab]=\"props.nzSelectOnTab\"\r\n (nzOpenChange)=\"props?.nzOpenChange($event)\"\r\n (nzScrollToBottom)=\"props?.nzScrollToBottom()\"\r\n (nzOnSearch)=\"props?.nzOnSearch($event)\"\r\n>\r\n <nz-option\r\n *ngFor=\"let option of props.nzOptions || (props.nzOptionsObs | async)\"\r\n [nzDisabled]=\"option.disabled\"\r\n [nzLabel]=\"option.label\"\r\n [nzValue]=\"props.objectValue ? option : option.value\"\r\n [nzHide]=\"option.hide\"\r\n [nzCustomContent]=\"!!option.nzCustomContent\"\r\n >\r\n <div [innerHTML]=\"option.nzCustomContent\"></div>\r\n </nz-option>\r\n</nz-select>\r\n\r\n\r\n", styles: ["nz-select{display:block}\n"] }]
1897
+ args: [{ selector: 'app-nz-formly-field-slider', imports: [CommonModule, ReactiveFormsModule, FormlyModule, NzSliderModule], template: "<nz-slider\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzDots]=\"props.nzDots\"\n [nzIncluded]=\"props.nzIncluded\"\n [nzMarks]=\"props.nzMarks\"\n [nzMax]=\"props.nzMax\"\n [nzMin]=\"props.nzMin\"\n [nzRange]=\"props.nzRange\"\n [nzStep]=\"props.nzStep\"\n [nzTipFormatter]=\"props.nzTipFormatter\"\n [nzVertical]=\"props.nzVertical\"\n [nzReverse]=\"props.nzReverse\"\n [nzTooltipVisible]=\"props.nzTooltipVisible\"\n [nzTooltipPlacement]=\"props.nzTooltipPlacement\"\n (change)=\"(props.change)\"\n></nz-slider>\n" }]
1658
1898
  }] });
1659
1899
 
1660
1900
  class NzFormlyFieldSwitchComponent extends FieldType {
1661
1901
  constructor() {
1662
1902
  super(...arguments);
1663
- this.unSubscribeAll$ = new Subject();
1903
+ this.destroyRef = inject(DestroyRef);
1904
+ }
1905
+ get fieldID() {
1906
+ return 'control-' + this.field.key;
1664
1907
  }
1665
1908
  ngOnInit() {
1909
+ this.onValueChanges();
1910
+ }
1911
+ onValueChanges() {
1666
1912
  this.formControl.valueChanges
1667
- .pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
1668
- if (typeof this.props?.change == "function") {
1913
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1914
+ if (typeof this.props?.change == 'function') {
1669
1915
  this.props.change(this.field, value);
1670
1916
  }
1671
1917
  }))
1672
1918
  .subscribe();
1673
1919
  }
1674
- onChange(event) {
1675
- if (typeof this.props?.change === "function") {
1676
- this.props.change(this.field, event);
1677
- }
1678
- }
1679
- get fieldID() {
1680
- return "control-" + this.field.key;
1681
- }
1682
- ngOnDestroy() {
1683
- this.unSubscribeAll$.next();
1684
- this.unSubscribeAll$.complete();
1685
- }
1686
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1687
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldSwitchComponent, selector: "app-nz-formly-field-switch", usesInheritance: true, ngImport: i0, template: "<nz-switch\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzDisabled]=\"props.disabled\"\r\n [nzCheckedChildren]=\"props.nzCheckedChildren\"\r\n [nzUnCheckedChildren]=\"props.nzUnCheckedChildren\"\r\n></nz-switch>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3$2.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }] }); }
1920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1921
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: NzFormlyFieldSwitchComponent, isStandalone: true, selector: "app-nz-formly-field-switch", usesInheritance: true, ngImport: i0, template: "<nz-switch\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzSize]=\"props.nzSize\"\n [nzLoading]=\"props.nzLoading\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzCheckedChildren]=\"props.nzCheckedChildren\"\n [nzUnCheckedChildren]=\"props.nzUnCheckedChildren\"\n></nz-switch>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzSwitchModule }, { kind: "component", type: i3$6.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }] }); }
1688
1922
  }
1689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldSwitchComponent, decorators: [{
1923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldSwitchComponent, decorators: [{
1690
1924
  type: Component,
1691
- args: [{ selector: "app-nz-formly-field-switch", template: "<nz-switch\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzDisabled]=\"props.disabled\"\r\n [nzCheckedChildren]=\"props.nzCheckedChildren\"\r\n [nzUnCheckedChildren]=\"props.nzUnCheckedChildren\"\r\n></nz-switch>\r\n" }]
1925
+ args: [{ selector: 'app-nz-formly-field-switch', imports: [CommonModule, ReactiveFormsModule, FormlyModule, NzSwitchModule], template: "<nz-switch\n [nzId]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzSize]=\"props.nzSize\"\n [nzLoading]=\"props.nzLoading\"\n [nzDisabled]=\"props.nzDisabled\"\n [nzCheckedChildren]=\"props.nzCheckedChildren\"\n [nzUnCheckedChildren]=\"props.nzUnCheckedChildren\"\n></nz-switch>\n" }]
1692
1926
  }] });
1693
1927
 
1694
- class NzFormlyFieldRadioComponent extends FieldType {
1928
+ class NzFormlyFieldTextareaComponent extends FieldType {
1695
1929
  constructor() {
1696
1930
  super(...arguments);
1697
- this.unSubscribeAll$ = new Subject();
1931
+ this.destroyRef = inject(DestroyRef);
1932
+ }
1933
+ get fieldID() {
1934
+ return 'control-' + this.field.key;
1935
+ }
1936
+ get status() {
1937
+ return this.formControl.touched && this.formControl.invalid ? 'error' : '';
1698
1938
  }
1699
1939
  ngOnInit() {
1940
+ this.onValueChanges();
1941
+ }
1942
+ onValueChanges() {
1700
1943
  this.formControl.valueChanges
1701
- .pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
1702
- if (typeof this.props?.change == "function") {
1944
+ .pipe(takeUntilDestroyed(this.destroyRef), tap((value) => {
1945
+ if (typeof this.props?.change == 'function') {
1703
1946
  this.props.change(this.field, value);
1704
1947
  }
1705
1948
  }))
1706
1949
  .subscribe();
1707
1950
  }
1708
- onChange(event) {
1709
- if (typeof this.props?.change === "function") {
1710
- this.props.change(this.field, event);
1711
- }
1712
- }
1713
- get fieldID() {
1714
- return "control-" + this.field.key;
1715
- }
1716
- ngOnDestroy() {
1717
- this.unSubscribeAll$.next();
1718
- this.unSubscribeAll$.complete();
1719
- }
1720
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1721
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldRadioComponent, selector: "app-nz-formly-field-radio", usesInheritance: true, ngImport: i0, template: "<nz-radio-group\r\n [id]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzName]=\"props.nzName\"\r\n [nzDisabled]=\"props.disabled\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzButtonStyle]=\"props.nzButtonStyle\"\r\n>\r\n <ng-container *ngIf=\"props.nzType == 'nz-radio'\">\r\n <label\r\n nz-radio\r\n *ngFor=\"let item of props.nzOptions\"\r\n [nzDisabled]=\"item.disabled\"\r\n [nzValue]=\"item.value\"\r\n >\r\n {{ item.label }}\r\n <div [innerHTML]=\"item.nzCustomContent\"></div>\r\n </label>\r\n </ng-container>\r\n <ng-container *ngIf=\"props.nzType == 'nz-radio-button'\">\r\n <label\r\n nz-radio-button\r\n *ngFor=\"let item of props.nzOptions\"\r\n [nzDisabled]=\"item.disabled\"\r\n [nzValue]=\"item.value\"\r\n >\r\n {{ item.label }}\r\n <div [innerHTML]=\"item.nzCustomContent\"></div>\r\n </label>\r\n </ng-container>\r\n</nz-radio-group>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$3.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { kind: "directive", type: i4$3.NzRadioButtonDirective, selector: "[nz-radio-button]" }, { kind: "component", type: i4$3.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }] }); }
1951
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1952
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyFieldTextareaComponent, isStandalone: true, selector: "app-nz-formly-field-textarea", usesInheritance: true, ngImport: i0, template: "<textarea\n nz-input\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzStatus]=\"status\"\n [attr.disabled]=\"props.nzDisabled\"\n [readonly]=\"props.nzReadonly\"\n [placeholder]=\"props.nzPlaceholder\"\n [rows]=\"props.rows\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n></textarea>\n@if (props.showTextAreaCount) {\n <div class=\"d-block mt-1 opacity-50\">\n @if (props.maxCount) {\n {{ props.maxCount }}\n <span>/</span>\n }\n {{ formControl.value?.length || 0 }}\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2$1.LegacyFormlyAttributes, selector: "[formlyAttributes]" }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i3$2.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }] }); }
1722
1953
  }
1723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldRadioComponent, decorators: [{
1954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyFieldTextareaComponent, decorators: [{
1724
1955
  type: Component,
1725
- args: [{ selector: "app-nz-formly-field-radio", template: "<nz-radio-group\r\n [id]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzName]=\"props.nzName\"\r\n [nzDisabled]=\"props.disabled\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzButtonStyle]=\"props.nzButtonStyle\"\r\n>\r\n <ng-container *ngIf=\"props.nzType == 'nz-radio'\">\r\n <label\r\n nz-radio\r\n *ngFor=\"let item of props.nzOptions\"\r\n [nzDisabled]=\"item.disabled\"\r\n [nzValue]=\"item.value\"\r\n >\r\n {{ item.label }}\r\n <div [innerHTML]=\"item.nzCustomContent\"></div>\r\n </label>\r\n </ng-container>\r\n <ng-container *ngIf=\"props.nzType == 'nz-radio-button'\">\r\n <label\r\n nz-radio-button\r\n *ngFor=\"let item of props.nzOptions\"\r\n [nzDisabled]=\"item.disabled\"\r\n [nzValue]=\"item.value\"\r\n >\r\n {{ item.label }}\r\n <div [innerHTML]=\"item.nzCustomContent\"></div>\r\n </label>\r\n </ng-container>\r\n</nz-radio-group>\r\n" }]
1956
+ args: [{ selector: 'app-nz-formly-field-textarea', imports: [CommonModule, ReactiveFormsModule, FormlyModule, NzInputModule], template: "<textarea\n nz-input\n [id]=\"fieldID\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [nzStatus]=\"status\"\n [attr.disabled]=\"props.nzDisabled\"\n [readonly]=\"props.nzReadonly\"\n [placeholder]=\"props.nzPlaceholder\"\n [rows]=\"props.rows\"\n [nzVariant]=\"props.nzBorderless ? 'borderless' : 'outlined'\"\n></textarea>\n@if (props.showTextAreaCount) {\n <div class=\"d-block mt-1 opacity-50\">\n @if (props.maxCount) {\n {{ props.maxCount }}\n <span>/</span>\n }\n {{ formControl.value?.length || 0 }}\n </div>\n}\n" }]
1726
1957
  }] });
1727
1958
 
1728
- class NzFormlyLabelWrapperComponent extends FieldWrapper {
1729
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyLabelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1730
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyLabelWrapperComponent, selector: "app-nz-formly-label-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"nz-formly-label-top\" *ngIf=\"props.labelPosition == 'top'\">\r\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\r\n <ng-container #fieldComponent></ng-container>\r\n</div>\r\n\r\n<div class=\"nz-formly-label-inline\" *ngIf=\"props.labelPosition == 'inline'\">\r\n <div class=\"nz-formly-field-wrapper\">\r\n <div [ngStyle]=\"{ width: props.styles?.labelWidth }\">\r\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <ng-container #fieldComponent></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"nz-formly-label-float\"\r\n *ngIf=\"props.labelPosition == 'float'\"\r\n [class.fixed]=\"formControl.value != null && formControl.value != ''\"\r\n>\r\n <ng-container #fieldComponent></ng-container>\r\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\r\n</div>\r\n\r\n<ng-template #Label>\r\n <label\r\n class=\"nz-formly-label\"\r\n [ngClass]=\"props.styles?.labelClass\"\r\n *ngIf=\"props.label || (props.labelObs | async)\"\r\n >\r\n {{ props.label || (props.labelObs | async) }}\r\n <span class=\"nz-formly-label-required\" *ngIf=\"props.required\">*</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".nz-formly-field-wrapper{display:flex;align-items:center}@media (max-width: 500px){.nz-formly-field-wrapper{flex-direction:column;align-items:initial}}.nz-formly-label-top .nz-formly-label{font-size:75%;font-weight:500}.nz-formly-label-inline .nz-formly-label{font-size:100%;font-weight:600;position:relative;padding-right:5px}.nz-formly-label-float{position:relative}.nz-formly-label-float .nz-formly-label{top:0;z-index:1;height:100%;display:flex;position:absolute;align-items:center;pointer-events:none;transform-origin:0 0;inset-inline-start:10px;border:1px solid transparent;transition:transform .1s ease-in-out}.nz-formly-label-float:focus-within .nz-formly-label,.nz-formly-label-float.fixed .nz-formly-label{height:20px;background:#fff;padding-left:6px;margin-left:-6px;padding-right:16px;transform:scale(.85) translateY(-10px)}.nz-formly-label-required{color:#f10232;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
1959
+ class NzFormlyUploaderComponent extends FieldType {
1960
+ handleChange(event) {
1961
+ if (this.props.nzChange)
1962
+ this.props.nzChange(event);
1963
+ }
1964
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyUploaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1965
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyUploaderComponent, isStandalone: true, selector: "app-nz-formly-uploader", usesInheritance: true, ngImport: i0, template: "<nz-upload\n nzType=\"drag\"\n [nzMultiple]=\"props.multiple\"\n [nzAction]=\"props.uploadUrl\"\n [nzDownload]=\"props.nzDownload\"\n (nzChange)=\"handleChange($event)\"\n [nzCustomRequest]=\"props.customRequest\"\n>\n <p class=\"ant-upload-drag-icon\">\n <span nz-icon nzType=\"inbox\"></span>\n </p>\n <p class=\"ant-upload-text\">{{ props.label }}</p>\n @if (props.hint) {\n <p class=\"ant-upload-hint\">\n {{ props.hint }}\n </p>\n }\n</nz-upload>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NzUploadModule }, { kind: "component", type: i1$3.NzUploadComponent, selector: "nz-upload", inputs: ["nzId", "nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender", "nzMaxCount"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i4$2.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }] }); }
1731
1966
  }
1732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyLabelWrapperComponent, decorators: [{
1967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyUploaderComponent, decorators: [{
1733
1968
  type: Component,
1734
- args: [{ selector: "app-nz-formly-label-wrapper", template: "<div class=\"nz-formly-label-top\" *ngIf=\"props.labelPosition == 'top'\">\r\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\r\n <ng-container #fieldComponent></ng-container>\r\n</div>\r\n\r\n<div class=\"nz-formly-label-inline\" *ngIf=\"props.labelPosition == 'inline'\">\r\n <div class=\"nz-formly-field-wrapper\">\r\n <div [ngStyle]=\"{ width: props.styles?.labelWidth }\">\r\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\r\n </div>\r\n <div class=\"flex-grow-1\">\r\n <ng-container #fieldComponent></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"nz-formly-label-float\"\r\n *ngIf=\"props.labelPosition == 'float'\"\r\n [class.fixed]=\"formControl.value != null && formControl.value != ''\"\r\n>\r\n <ng-container #fieldComponent></ng-container>\r\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\r\n</div>\r\n\r\n<ng-template #Label>\r\n <label\r\n class=\"nz-formly-label\"\r\n [ngClass]=\"props.styles?.labelClass\"\r\n *ngIf=\"props.label || (props.labelObs | async)\"\r\n >\r\n {{ props.label || (props.labelObs | async) }}\r\n <span class=\"nz-formly-label-required\" *ngIf=\"props.required\">*</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".nz-formly-field-wrapper{display:flex;align-items:center}@media (max-width: 500px){.nz-formly-field-wrapper{flex-direction:column;align-items:initial}}.nz-formly-label-top .nz-formly-label{font-size:75%;font-weight:500}.nz-formly-label-inline .nz-formly-label{font-size:100%;font-weight:600;position:relative;padding-right:5px}.nz-formly-label-float{position:relative}.nz-formly-label-float .nz-formly-label{top:0;z-index:1;height:100%;display:flex;position:absolute;align-items:center;pointer-events:none;transform-origin:0 0;inset-inline-start:10px;border:1px solid transparent;transition:transform .1s ease-in-out}.nz-formly-label-float:focus-within .nz-formly-label,.nz-formly-label-float.fixed .nz-formly-label{height:20px;background:#fff;padding-left:6px;margin-left:-6px;padding-right:16px;transform:scale(.85) translateY(-10px)}.nz-formly-label-required{color:#f10232;position:relative}\n"] }]
1969
+ args: [{ selector: 'app-nz-formly-uploader', imports: [CommonModule, NzUploadModule, NzIconModule], template: "<nz-upload\n nzType=\"drag\"\n [nzMultiple]=\"props.multiple\"\n [nzAction]=\"props.uploadUrl\"\n [nzDownload]=\"props.nzDownload\"\n (nzChange)=\"handleChange($event)\"\n [nzCustomRequest]=\"props.customRequest\"\n>\n <p class=\"ant-upload-drag-icon\">\n <span nz-icon nzType=\"inbox\"></span>\n </p>\n <p class=\"ant-upload-text\">{{ props.label }}</p>\n @if (props.hint) {\n <p class=\"ant-upload-hint\">\n {{ props.hint }}\n </p>\n }\n</nz-upload>\n" }]
1735
1970
  }] });
1736
1971
 
1737
1972
  class NzFormlyDefaultWrapperComponent extends FieldWrapper {
1738
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyDefaultWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1739
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyDefaultWrapperComponent, selector: "app-nz-formly-default-wrapper", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"position-relative\"\r\n [classList]=\"props.styles?.wrapperClass\"\r\n [id]=\"'wrapper-' + field.key\"\r\n *ngIf=\"!props.hidden\"\r\n>\r\n <ng-container #fieldComponent></ng-container>\r\n <div\r\n *ngIf=\"props.showError\"\r\n class=\"nz-formly-error-message\"\r\n [ngClass]=\"{'nz-formly-error-message-visible': formControl.touched && formControl.invalid}\"\r\n [ngStyle]=\"{ 'margin-left': props.labelPosition === 'inline' ? props.styles?.labelWidth ?? '0' : '0' }\"\r\n >\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </div>\r\n</div>\r\n", styles: [".nz-formly-error-message{top:-4px;opacity:0;color:#f10232;font-size:85%;font-weight:500;position:relative;transition:all .1s ease-in}.nz-formly-error-message-visible{top:0;opacity:1}@media (max-width: 500px){.nz-formly-error-message{margin:0!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }] }); }
1973
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyDefaultWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1974
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyDefaultWrapperComponent, isStandalone: true, selector: "app-nz-formly-default-wrapper", usesInheritance: true, ngImport: i0, template: "@if (!props.nzHidden) {\n <div\n [id]=\"'wrapper-' + field.key\"\n [classList]=\"props.styles?.wrapperClass ?? ' ' + 'nz-formly-default-wrapper'\"\n >\n <ng-container #fieldComponent></ng-container>\n @if (props.showError) {\n <div\n class=\"nz-formly-error-message\"\n [ngClass]=\"{\n 'nz-formly-error-message-visible': formControl.dirty && formControl.invalid\n }\"\n [style.margin-inline-start]=\"\n props.labelPosition === 'inline' ? (props.styles?.labelWidth ?? '0') : '0'\n \"\n >\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2$1.LegacyFormlyValidationMessage, selector: "formly-validation-message" }] }); }
1740
1975
  }
1741
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyDefaultWrapperComponent, decorators: [{
1976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyDefaultWrapperComponent, decorators: [{
1742
1977
  type: Component,
1743
- args: [{ selector: "app-nz-formly-default-wrapper", template: "<div\r\n class=\"position-relative\"\r\n [classList]=\"props.styles?.wrapperClass\"\r\n [id]=\"'wrapper-' + field.key\"\r\n *ngIf=\"!props.hidden\"\r\n>\r\n <ng-container #fieldComponent></ng-container>\r\n <div\r\n *ngIf=\"props.showError\"\r\n class=\"nz-formly-error-message\"\r\n [ngClass]=\"{'nz-formly-error-message-visible': formControl.touched && formControl.invalid}\"\r\n [ngStyle]=\"{ 'margin-left': props.labelPosition === 'inline' ? props.styles?.labelWidth ?? '0' : '0' }\"\r\n >\r\n <formly-validation-message [field]=\"field\"></formly-validation-message>\r\n </div>\r\n</div>\r\n", styles: [".nz-formly-error-message{top:-4px;opacity:0;color:#f10232;font-size:85%;font-weight:500;position:relative;transition:all .1s ease-in}.nz-formly-error-message-visible{top:0;opacity:1}@media (max-width: 500px){.nz-formly-error-message{margin:0!important}}\n"] }]
1978
+ args: [{ selector: 'app-nz-formly-default-wrapper', imports: [CommonModule, FormlyModule], template: "@if (!props.nzHidden) {\n <div\n [id]=\"'wrapper-' + field.key\"\n [classList]=\"props.styles?.wrapperClass ?? ' ' + 'nz-formly-default-wrapper'\"\n >\n <ng-container #fieldComponent></ng-container>\n @if (props.showError) {\n <div\n class=\"nz-formly-error-message\"\n [ngClass]=\"{\n 'nz-formly-error-message-visible': formControl.dirty && formControl.invalid\n }\"\n [style.margin-inline-start]=\"\n props.labelPosition === 'inline' ? (props.styles?.labelWidth ?? '0') : '0'\n \"\n >\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div>\n }\n </div>\n}\n" }]
1744
1979
  }] });
1745
1980
 
1746
- function minLengthValidator(control, field) {
1747
- if (field.props?.minLen)
1748
- return control.value?.length < field.props?.minLen
1749
- ? { minLen: true }
1750
- : null;
1751
- return null;
1752
- }
1753
- function minLengthMessage(field) {
1754
- return `Field must be at least ${field.props?.minLen} characters`;
1755
- }
1756
- function maxLengthValidator(control, field) {
1757
- if (field.props?.maxLen)
1758
- return control.value?.length > field.props?.maxLen
1759
- ? { maxLen: true }
1760
- : null;
1761
- return null;
1762
- }
1763
- function maxLengthMessage(field) {
1764
- return `Field must be at most ${field.props?.maxLen} characters`;
1765
- }
1766
- function minValueValidator(control, field) {
1767
- if (field.props?.minValue && control.value != null)
1768
- return Number(control.value) < field.props.minValue
1769
- ? { minValue: false }
1770
- : null;
1771
- return null;
1772
- }
1773
- function minValueMessage(field) {
1774
- return `Field value must be more than ${field.props?.minValue}`;
1775
- }
1776
- function maxValueValidator(control, field) {
1777
- if (field.props?.maxValue && control.value != null)
1778
- return Number(control.value) > field.props.maxValue
1779
- ? { maxValue: true }
1780
- : null;
1781
- return null;
1782
- }
1783
- function maxValueMessage(field) {
1784
- return `Field value must be less than ${field.props?.maxValue}`;
1785
- }
1786
- function emailValidator(control) {
1787
- let REGEX = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/;
1788
- return REGEX.test(control.value) ? null : { email: true };
1789
- }
1790
- function passwordValidator(control, field) {
1791
- if (field.props?.type === "password") {
1792
- let REGEX = /^(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[A-Za-z\d\W_]{8,}$/;
1793
- return REGEX.test(control.value) ? null : { password: true };
1794
- }
1795
- return null;
1981
+ class NzFormlyLabelWrapperComponent extends FieldWrapper {
1982
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyLabelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1983
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: NzFormlyLabelWrapperComponent, isStandalone: true, selector: "app-nz-formly-label-wrapper", usesInheritance: true, ngImport: i0, template: "@if (props.labelPosition === 'top') {\n <div class=\"nz-formly-label-top\">\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\n <ng-container #fieldComponent></ng-container>\n </div>\n} @else if (props.labelPosition === 'inline') {\n <div class=\"nz-formly-label-inline\">\n <div class=\"nz-formly-field-wrapper\">\n <div [ngStyle]=\"{ width: props.styles?.labelWidth }\">\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\n </div>\n <div class=\"flex-grow-1\">\n <ng-container #fieldComponent></ng-container>\n </div>\n </div>\n </div>\n} @else if (props.labelPosition === 'float') {\n <div\n class=\"nz-formly-label-float\"\n [class.fixed]=\"\n formControl.value !== null && formControl.value !== undefined && formControl.value !== ''\n \"\n >\n <ng-container #fieldComponent></ng-container>\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\n </div>\n} @else {\n <ng-container #fieldComponent></ng-container>\n}\n\n<ng-template #Label>\n @if (props.label || (props.labelObs | async)) {\n <label class=\"nz-formly-label\" [ngClass]=\"props.styles?.labelClass\">\n <span [innerHTML]=\"props.label || (props.labelObs | async)\"></span>\n @if (props.required) {\n <span class=\"nz-formly-label-required\">*</span>\n }\n </label>\n }\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
1796
1984
  }
1985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: NzFormlyLabelWrapperComponent, decorators: [{
1986
+ type: Component,
1987
+ args: [{ selector: 'app-nz-formly-label-wrapper', imports: [CommonModule], template: "@if (props.labelPosition === 'top') {\n <div class=\"nz-formly-label-top\">\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\n <ng-container #fieldComponent></ng-container>\n </div>\n} @else if (props.labelPosition === 'inline') {\n <div class=\"nz-formly-label-inline\">\n <div class=\"nz-formly-field-wrapper\">\n <div [ngStyle]=\"{ width: props.styles?.labelWidth }\">\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\n </div>\n <div class=\"flex-grow-1\">\n <ng-container #fieldComponent></ng-container>\n </div>\n </div>\n </div>\n} @else if (props.labelPosition === 'float') {\n <div\n class=\"nz-formly-label-float\"\n [class.fixed]=\"\n formControl.value !== null && formControl.value !== undefined && formControl.value !== ''\n \"\n >\n <ng-container #fieldComponent></ng-container>\n <ng-container *ngTemplateOutlet=\"Label\"></ng-container>\n </div>\n} @else {\n <ng-container #fieldComponent></ng-container>\n}\n\n<ng-template #Label>\n @if (props.label || (props.labelObs | async)) {\n <label class=\"nz-formly-label\" [ngClass]=\"props.styles?.labelClass\">\n <span [innerHTML]=\"props.label || (props.labelObs | async)\"></span>\n @if (props.required) {\n <span class=\"nz-formly-label-required\">*</span>\n }\n </label>\n }\n</ng-template>\n" }]
1988
+ }] });
1989
+
1990
+ const wrapperExtension = (_field) => { };
1797
1991
 
1798
1992
  const NzFormlyForRoot = {
1799
1993
  types: [
1800
1994
  {
1801
- name: "input",
1995
+ name: 'input',
1802
1996
  component: NzFormlyFieldInputComponent,
1803
- wrappers: ["default-wrapper", "label-wrapper"],
1997
+ wrappers: ['default-wrapper', 'label-wrapper'],
1804
1998
  defaultOptions: {
1805
1999
  props: {
1806
- nzSize: "default",
1807
- labelPosition: "inline",
1808
- mask: "",
1809
- thousandSeparator: "",
2000
+ nzSize: 'default',
2001
+ mask: '',
2002
+ thousandSeparator: '',
1810
2003
  showError: true,
1811
- },
1812
- },
2004
+ nzPlaceholder: ''
2005
+ }
2006
+ }
1813
2007
  },
1814
2008
  {
1815
- name: "checkbox",
2009
+ name: 'textarea',
2010
+ component: NzFormlyFieldTextareaComponent,
2011
+ wrappers: ['default-wrapper', 'label-wrapper'],
2012
+ defaultOptions: {
2013
+ props: {
2014
+ rows: 4,
2015
+ showError: true,
2016
+ nzPlaceholder: ''
2017
+ }
2018
+ }
2019
+ },
2020
+ {
2021
+ name: 'checkbox',
1816
2022
  component: NzFormlyFieldCheckboxComponent,
1817
- wrappers: [],
2023
+ wrappers: ['default-wrapper'],
1818
2024
  defaultOptions: {
1819
2025
  props: {
1820
- disabled: false,
2026
+ nzDisabled: false,
1821
2027
  nzAutoFocus: false,
1822
- },
1823
- },
2028
+ showError: true
2029
+ }
2030
+ }
1824
2031
  },
1825
2032
  {
1826
- name: "switch",
2033
+ name: 'switch',
1827
2034
  component: NzFormlyFieldSwitchComponent,
1828
- wrappers: ["default-wrapper", "label-wrapper"],
2035
+ wrappers: ['default-wrapper', 'label-wrapper'],
1829
2036
  defaultOptions: {
1830
2037
  props: {
1831
- labelPosition: "inline",
1832
- disabled: false,
1833
- nzSize: "default",
2038
+ nzDisabled: false,
2039
+ nzSize: 'default',
1834
2040
  nzLoading: false,
1835
- showError: true,
1836
- },
1837
- },
2041
+ showError: true
2042
+ }
2043
+ }
1838
2044
  },
1839
2045
  {
1840
- name: "radio",
2046
+ name: 'radio',
1841
2047
  component: NzFormlyFieldRadioComponent,
1842
- wrappers: ["default-wrapper", "label-wrapper"],
2048
+ wrappers: ['default-wrapper', 'label-wrapper'],
1843
2049
  defaultOptions: {
1844
2050
  props: {
1845
- labelPosition: "inline",
1846
- disabled: false,
1847
- nzSize: "default",
1848
- nzType: "nz-radio",
1849
- showError: true,
1850
- },
1851
- },
2051
+ nzDisabled: false,
2052
+ nzSize: 'default',
2053
+ nzType: 'nz-radio',
2054
+ showError: true
2055
+ }
2056
+ }
1852
2057
  },
1853
2058
  {
1854
- name: "select",
2059
+ name: 'select',
1855
2060
  component: NzFormlyFieldSelectComponent,
1856
- wrappers: ["default-wrapper", "label-wrapper"],
2061
+ wrappers: ['default-wrapper', 'label-wrapper'],
1857
2062
  defaultOptions: {
1858
2063
  props: {
1859
2064
  objectValue: false,
1860
- labelPosition: "inline",
1861
2065
  nzAutoClearSearchValue: true,
1862
2066
  nzAllowClear: false,
1863
2067
  nzBorderless: false,
1864
2068
  nzOpen: false,
1865
2069
  nzAutoFocus: false,
1866
- disabled: false,
2070
+ nzDisabled: false,
1867
2071
  nzDropdownMatchSelectWidth: true,
1868
2072
  nzServerSearch: false,
1869
2073
  nzMaxMultipleCount: Infinity,
1870
- nzMode: "default",
1871
- nzNotFoundContent: "Not Found",
2074
+ nzMode: 'default',
2075
+ nzPlacement: 'bottomLeft',
2076
+ nzNotFoundContent: 'Not Found',
1872
2077
  nzShowSearch: false,
1873
- nzSize: "default",
2078
+ nzSize: 'default',
1874
2079
  nzTokenSeparators: [],
1875
2080
  nzLoading: false,
1876
2081
  nzOptionHeightPx: 32,
1877
2082
  nzOptionOverflowSize: 8,
1878
2083
  nzSelectOnTab: false,
1879
2084
  showError: true,
2085
+ nzPlaceholder: '',
1880
2086
  nzFilterOption: () => true,
1881
2087
  compareWith: (o1, o2) => o1 === o2,
1882
2088
  nzOpenChange: () => { },
1883
2089
  nzScrollToBottom: () => { },
1884
- nzOnSearch: () => { },
1885
- },
1886
- },
2090
+ nzOnSearch: () => { }
2091
+ }
2092
+ }
1887
2093
  },
1888
2094
  {
1889
- name: "button",
2095
+ name: 'slider',
2096
+ component: NzFormlyFieldSliderComponent,
2097
+ wrappers: ['default-wrapper', 'label-wrapper'],
2098
+ defaultOptions: {
2099
+ props: {
2100
+ nzDots: false,
2101
+ nzIncluded: true,
2102
+ nzMarks: {},
2103
+ nzMax: 100,
2104
+ nzMin: 0,
2105
+ nzRange: false,
2106
+ nzStep: 1,
2107
+ nzTipFormatter: (value) => String(value),
2108
+ nzVertical: false,
2109
+ nzReverse: false,
2110
+ nzTooltipVisible: 'default'
2111
+ }
2112
+ }
2113
+ },
2114
+ {
2115
+ name: 'button',
1890
2116
  component: NzFormlyButtonComponent,
1891
- wrappers: ["default-wrapper"],
2117
+ wrappers: ['default-wrapper'],
1892
2118
  defaultOptions: {
1893
2119
  props: {
1894
- text: "",
2120
+ text: '',
1895
2121
  disabled: false,
1896
2122
  nzGhost: false,
1897
2123
  nzLoading: false,
1898
- nzSize: "default",
2124
+ nzSize: 'default',
1899
2125
  nzBlock: false,
1900
2126
  nzDanger: false,
1901
- classList: "",
1902
- click: () => { },
1903
- },
1904
- },
2127
+ classList: '',
2128
+ click: () => { }
2129
+ }
2130
+ }
2131
+ },
2132
+ {
2133
+ name: 'uploader',
2134
+ component: NzFormlyUploaderComponent,
2135
+ wrappers: ['default-wrapper'],
2136
+ defaultOptions: {
2137
+ props: {
2138
+ multiple: true
2139
+ }
2140
+ }
1905
2141
  },
2142
+ {
2143
+ name: 'datePicker',
2144
+ component: NzFormlyFieldDatePickerComponent,
2145
+ wrappers: ['default-wrapper', 'label-wrapper'],
2146
+ defaultOptions: {
2147
+ props: {
2148
+ nzPlaceholder: ''
2149
+ }
2150
+ }
2151
+ }
1906
2152
  ],
1907
2153
  wrappers: [
1908
2154
  {
1909
- name: "default-wrapper",
1910
- component: NzFormlyDefaultWrapperComponent,
2155
+ name: 'default-wrapper',
2156
+ component: NzFormlyDefaultWrapperComponent
1911
2157
  },
1912
2158
  {
1913
- name: "label-wrapper",
1914
- component: NzFormlyLabelWrapperComponent,
1915
- },
2159
+ name: 'label-wrapper',
2160
+ component: NzFormlyLabelWrapperComponent
2161
+ }
2162
+ ],
2163
+ extensions: [
2164
+ {
2165
+ name: 'wrapper-extensions',
2166
+ extension: {
2167
+ onPopulate: wrapperExtension
2168
+ }
2169
+ }
1916
2170
  ],
1917
2171
  validators: [
1918
2172
  {
1919
- name: "required",
1920
- validation: () => RequiredValidator,
2173
+ name: 'required',
2174
+ validation: () => RequiredValidator
1921
2175
  },
1922
2176
  {
1923
- name: "minLen",
1924
- validation: (c, f) => minLengthValidator(c, f),
2177
+ name: 'minLen',
2178
+ validation: (c, f) => minLengthValidator(c, f)
1925
2179
  },
1926
2180
  {
1927
- name: "maxLen",
1928
- validation: (c, f) => maxLengthValidator(c, f),
2181
+ name: 'maxLen',
2182
+ validation: (c, f) => maxLengthValidator(c, f)
1929
2183
  },
1930
2184
  {
1931
- name: "minValue",
1932
- validation: (c, f) => minValueValidator(c, f),
2185
+ name: 'minValue',
2186
+ validation: (c, f) => minValueValidator(c, f)
1933
2187
  },
1934
2188
  {
1935
- name: "maxValue",
1936
- validation: (c, f) => maxValueValidator(c, f),
2189
+ name: 'maxValue',
2190
+ validation: (c, f) => maxValueValidator(c, f)
1937
2191
  },
1938
2192
  {
1939
- name: "email",
1940
- validation: (c) => emailValidator(c),
2193
+ name: 'email',
2194
+ validation: (c) => emailValidator(c)
1941
2195
  },
1942
2196
  {
1943
- name: "password",
1944
- validation: (c, f) => passwordValidator(c, f),
1945
- },
2197
+ name: 'password',
2198
+ validation: (c, f) => passwordValidator(c, f)
2199
+ }
1946
2200
  ],
1947
2201
  validationMessages: [
1948
2202
  {
1949
- name: "required",
1950
- message: "This field is required",
2203
+ name: 'required',
2204
+ message: 'This field is required'
1951
2205
  },
1952
2206
  {
1953
- name: "minLen",
1954
- message: (err, f) => minLengthMessage(f),
2207
+ name: 'minLen',
2208
+ message: (err, f) => minLengthMessage(f)
1955
2209
  },
1956
2210
  {
1957
- name: "maxLen",
1958
- message: (err, f) => maxLengthMessage(f),
2211
+ name: 'maxLen',
2212
+ message: (err, f) => maxLengthMessage(f)
1959
2213
  },
1960
2214
  {
1961
- name: "minValue",
1962
- message: (err, f) => minValueMessage(f),
2215
+ name: 'minValue',
2216
+ message: (err, f) => minValueMessage(f)
1963
2217
  },
1964
2218
  {
1965
- name: "maxValue",
1966
- message: (err, f) => maxValueMessage(f),
2219
+ name: 'maxValue',
2220
+ message: (err, f) => maxValueMessage(f)
1967
2221
  },
1968
2222
  {
1969
- name: "email",
1970
- message: "Email format is not correct",
2223
+ name: 'email',
2224
+ message: 'Email format is not correct'
1971
2225
  },
1972
2226
  {
1973
- name: "password",
1974
- message: "Password should be at least 8 characters, including one capital letter, one number and one special character",
2227
+ name: 'password',
2228
+ message: 'Password should be at least 8 characters, including one capital letter, one number and one special character'
1975
2229
  },
1976
2230
  {
1977
- name: "mask",
1978
- message: "Invalid data",
1979
- },
1980
- ],
2231
+ name: 'mask',
2232
+ message: 'Invalid data'
2233
+ }
2234
+ ]
1981
2235
  };
1982
- class NgxNzFormlyModule {
1983
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxNzFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1984
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxNzFormlyModule, declarations: [NzFormlyFieldInputComponent,
1985
- NzFormlyFieldCheckboxComponent,
1986
- NzFormlyFieldSwitchComponent,
1987
- NzFormlyFieldSelectComponent,
1988
- NzFormlyButtonComponent,
1989
- NzFormlyFieldRadioComponent,
1990
- NzFormlyLabelWrapperComponent,
1991
- NzFormlyDefaultWrapperComponent], imports: [CommonModule,
1992
- FormlyModule,
1993
- ReactiveFormsModule,
1994
- NgxMaskModule,
1995
- NzInputModule,
1996
- NzButtonModule,
1997
- NzIconModule,
1998
- NzCheckboxModule,
1999
- NzSwitchModule,
2000
- NzInputNumberModule,
2001
- NzSelectModule,
2002
- NzRadioModule] }); }
2003
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxNzFormlyModule, imports: [CommonModule,
2004
- FormlyModule,
2005
- ReactiveFormsModule,
2006
- NgxMaskModule,
2007
- NzInputModule,
2008
- NzButtonModule,
2009
- NzIconModule,
2010
- NzCheckboxModule,
2011
- NzSwitchModule,
2012
- NzInputNumberModule,
2013
- NzSelectModule,
2014
- NzRadioModule] }); }
2236
+
2237
+ /**
2238
+ * Registers ngx-nz-formly with Formly for a standalone application.
2239
+ *
2240
+ * ```ts
2241
+ * bootstrapApplication(AppComponent, {
2242
+ * providers: [provideAnimations(), provideNgxNzFormly()],
2243
+ * });
2244
+ * ```
2245
+ *
2246
+ * The field types/wrappers are standalone components resolved by Formly at
2247
+ * runtime, so no NgModule import is required. Add `provideNgxMask()` yourself
2248
+ * if you use the masked input.
2249
+ */
2250
+ function provideNgxNzFormly() {
2251
+ return makeEnvironmentProviders([
2252
+ importProvidersFrom(FormlyModule.forRoot(NzFormlyForRoot)),
2253
+ NzFormlyFieldBuilder
2254
+ ]);
2015
2255
  }
2016
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxNzFormlyModule, decorators: [{
2017
- type: NgModule,
2018
- args: [{
2019
- declarations: [
2020
- NzFormlyFieldInputComponent,
2021
- NzFormlyFieldCheckboxComponent,
2022
- NzFormlyFieldSwitchComponent,
2023
- NzFormlyFieldSelectComponent,
2024
- NzFormlyButtonComponent,
2025
- NzFormlyFieldRadioComponent,
2026
- NzFormlyLabelWrapperComponent,
2027
- NzFormlyDefaultWrapperComponent,
2028
- ],
2029
- imports: [
2030
- CommonModule,
2031
- FormlyModule,
2032
- ReactiveFormsModule,
2033
- NgxMaskModule,
2034
- NzInputModule,
2035
- NzButtonModule,
2036
- NzIconModule,
2037
- NzCheckboxModule,
2038
- NzSwitchModule,
2039
- NzInputNumberModule,
2040
- NzSelectModule,
2041
- NzRadioModule,
2042
- ],
2043
- exports: [],
2044
- }]
2045
- }] });
2046
2256
 
2047
2257
  var InputMask;
2048
2258
  (function (InputMask) {
2049
2259
  InputMask["PHONE"] = "phone";
2050
2260
  })(InputMask || (InputMask = {}));
2051
2261
 
2052
- class NzFormlyFieldBuilder {
2053
- input(key, configOverrides) {
2054
- return {
2055
- key,
2056
- type: "input",
2057
- ...configOverrides,
2058
- };
2059
- }
2060
- checkbox(key, configOverrides) {
2061
- return {
2062
- key,
2063
- type: "checkbox",
2064
- ...configOverrides,
2065
- };
2066
- }
2067
- switch(key, configOverrides) {
2068
- return {
2069
- key,
2070
- type: "switch",
2071
- ...configOverrides,
2072
- };
2073
- }
2074
- radio(key, configOverrides) {
2075
- return {
2076
- key,
2077
- type: "radio",
2078
- ...configOverrides,
2079
- };
2080
- }
2081
- select(key, configOverrides) {
2082
- return {
2083
- key,
2084
- type: "select",
2085
- ...configOverrides,
2086
- };
2262
+ /**
2263
+ * A Jalali date-fns locale tuned for ng-zorro's date-picker panel:
2264
+ *
2265
+ * - Weekday column headers: ng-zorro formats them with the date-fns "short"
2266
+ * width, which for faIR is "۱ش/۲ش…". We remap "short" to faIR's "narrow"
2267
+ * width so columns read as single Persian initials (ش ی د س چ پ ج).
2268
+ * - Month labels: ng-zorro uses the "abbreviated" width ("مرد"), so we remap it
2269
+ * to the "wide" (full) names ("مرداد").
2270
+ *
2271
+ * Everything else delegates to the stock faIR locale.
2272
+ */
2273
+ const jalaliDateLocale = {
2274
+ ...faIR,
2275
+ localize: {
2276
+ ...faIR.localize,
2277
+ day: (value, options) => faIR.localize.day(value, {
2278
+ ...options,
2279
+ width: options?.width === 'short' ? 'narrow' : options?.width
2280
+ }),
2281
+ month: (value, options) => faIR.localize.month(value, {
2282
+ ...options,
2283
+ width: options?.width === 'abbreviated' ? 'wide' : options?.width
2284
+ })
2087
2285
  }
2088
- button(configOverrides) {
2089
- return {
2090
- type: "button",
2091
- ...configOverrides,
2092
- };
2286
+ };
2287
+
2288
+ /**
2289
+ * ng-zorro derives its calendar arithmetic from `date-fns`. With the
2290
+ * `date-fns` -> `date-fns-jalali` package override, most `CandyDate` operations
2291
+ * become Jalali-aware, but two things stay on the native (Gregorian) calendar
2292
+ * and break the round-trip that emits the form value:
2293
+ *
2294
+ * 1. The field GETTERS (`getYear/getMonth/getDate`) read raw native fields.
2295
+ * 2. `setDate` uses the native `Date.setDate` (unlike `setYear`/`setMonth`,
2296
+ * which use the overridden date-fns and are therefore Jalali).
2297
+ *
2298
+ * ng-zorro's `DateTableComponent.changeValueFromInside` does:
2299
+ *
2300
+ * activeDate.setYear(value.getYear()).setMonth(value.getMonth()).setDate(value.getDate())
2301
+ *
2302
+ * Mixing Gregorian getters + Jalali `setYear/setMonth` + native `setDate`
2303
+ * corrupts the emitted Date (year ~+621 off, wrong day). This patch aligns all
2304
+ * axes on the Jalali calendar so getter/setter round-trip and the emitted
2305
+ * native Date stays the correct Gregorian instant. Idempotent; call once at app
2306
+ * init (see provideNzFormlyJalali()).
2307
+ */
2308
+ function patchCandyDateForJalali() {
2309
+ const proto = CandyDate.prototype;
2310
+ if (proto.__ngxNzJalaliPatched) {
2311
+ return;
2093
2312
  }
2313
+ proto.getYear = function () {
2314
+ return getYear(this.nativeDate);
2315
+ };
2316
+ proto.getMonth = function () {
2317
+ return getMonth(this.nativeDate);
2318
+ };
2319
+ proto.getDate = function () {
2320
+ return getDate(this.nativeDate);
2321
+ };
2322
+ proto.setDate = function (amount) {
2323
+ return new CandyDate(setDate(this.nativeDate, amount));
2324
+ };
2325
+ proto.__ngxNzJalaliPatched = true;
2326
+ }
2327
+
2328
+ /**
2329
+ * Enables the Jalali (Persian) calendar for ngx-nz-formly's date-picker:
2330
+ * a real Jalali calendar panel, with correct Gregorian `Date` values emitted
2331
+ * to the form control.
2332
+ *
2333
+ * It provides ng-zorro's Persian UI text (`fa_IR`) and a Jalali date-fns locale
2334
+ * (`date-fns-jalali`'s `faIR`) for formatting, and patches `CandyDate`'s field
2335
+ * getters to be Jalali-aware so ng-zorro's getter/setter round-trip no longer
2336
+ * corrupts the value (see patch-candy-date.ts).
2337
+ *
2338
+ * REQUIRED consumer setup: ng-zorro derives its calendar *arithmetic* from the
2339
+ * functions it imports from `date-fns`, which cannot be swapped via DI. To get
2340
+ * a real Jalali calendar you must replace `date-fns` with `date-fns-jalali` at
2341
+ * install time via a package override (npm `overrides` / yarn `resolutions`):
2342
+ *
2343
+ * ```json
2344
+ * "overrides": { "date-fns": "npm:date-fns-jalali@2.30.0-0" }
2345
+ * ```
2346
+ *
2347
+ * (A tsconfig `paths` alias is NOT enough — the esbuild application builder does
2348
+ * not rewrite imports inside already-compiled node_modules.)
2349
+ *
2350
+ * Usage (standalone bootstrap):
2351
+ * ```ts
2352
+ * providers: [provideNgxNzFormly(), provideNzFormlyJalali()]
2353
+ * ```
2354
+ */
2355
+ function provideNzFormlyJalali() {
2356
+ return makeEnvironmentProviders([
2357
+ { provide: NZ_I18N, useValue: fa_IR },
2358
+ { provide: NZ_DATE_LOCALE, useValue: jalaliDateLocale },
2359
+ provideAppInitializer(() => patchCandyDateForJalali())
2360
+ ]);
2094
2361
  }
2095
2362
 
2096
2363
  /**
2097
2364
  * Generated bundle index. Do not edit.
2098
2365
  */
2099
2366
 
2100
- export { NzFormlyFieldBuilder, NzFormlyForRoot, emailValidator, maxLengthMessage, maxLengthValidator, maxValueMessage, maxValueValidator, minLengthMessage, minLengthValidator, minValueMessage, minValueValidator, passwordValidator };
2367
+ export { NgxNzFormlyModule, NzFormlyFieldBuilder, NzFormlyForRoot, emailValidator, maxLengthMessage, maxLengthValidator, maxValueMessage, maxValueValidator, minLengthMessage, minLengthValidator, minValueMessage, minValueValidator, passwordValidator, provideNgxNzFormly, provideNzFormlyJalali };
2101
2368
  //# sourceMappingURL=ngx-nz-formly.mjs.map