@ngx-formly/core 7.0.1 → 8.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 (72) hide show
  1. package/README.md +10 -0
  2. package/fesm2022/ngx-formly-core-json-schema.mjs +259 -39
  3. package/fesm2022/ngx-formly-core-json-schema.mjs.map +1 -1
  4. package/fesm2022/ngx-formly-core-preset.mjs +4 -4
  5. package/fesm2022/ngx-formly-core-preset.mjs.map +1 -1
  6. package/fesm2022/ngx-formly-core-select.mjs +28 -21
  7. package/fesm2022/ngx-formly-core-select.mjs.map +1 -1
  8. package/fesm2022/ngx-formly-core-testing.mjs +3 -3
  9. package/fesm2022/ngx-formly-core-testing.mjs.map +1 -1
  10. package/fesm2022/ngx-formly-core.mjs +621 -78
  11. package/fesm2022/ngx-formly-core.mjs.map +1 -1
  12. package/json-schema/formly-json-schema.service.d.ts +8 -0
  13. package/lib/components/formly.field.d.ts +7 -4
  14. package/lib/core.config.d.ts +1 -0
  15. package/lib/core.d.ts +2 -2
  16. package/lib/core.module.d.ts +7 -0
  17. package/lib/extensions/field-expression/field-expression.d.ts +3 -12
  18. package/lib/extensions/field-expression/utils.d.ts +4 -2
  19. package/lib/extensions/field-expression-legacy/field-expression.d.ts +16 -0
  20. package/lib/extensions/field-expression-legacy/utils.d.ts +5 -0
  21. package/lib/templates/field-array.type.d.ts +1 -1
  22. package/lib/templates/field.type.d.ts +1 -1
  23. package/lib/templates/field.wrapper.d.ts +1 -1
  24. package/lib/templates/formly.attributes.d.ts +5 -2
  25. package/lib/templates/formly.validation-message.d.ts +2 -2
  26. package/package.json +2 -12
  27. package/select/select-options.pipe.d.ts +1 -0
  28. package/esm2022/json-schema/formly-json-schema.service.mjs +0 -628
  29. package/esm2022/json-schema/ngx-formly-core-json-schema.mjs +0 -5
  30. package/esm2022/json-schema/public_api.mjs +0 -2
  31. package/esm2022/lib/components/formly.field.mjs +0 -292
  32. package/esm2022/lib/components/formly.form.mjs +0 -171
  33. package/esm2022/lib/components/formly.template.mjs +0 -36
  34. package/esm2022/lib/core.config.mjs +0 -50
  35. package/esm2022/lib/core.mjs +0 -20
  36. package/esm2022/lib/core.module.mjs +0 -74
  37. package/esm2022/lib/extensions/core/core.mjs +0 -144
  38. package/esm2022/lib/extensions/field-expression/field-expression.mjs +0 -246
  39. package/esm2022/lib/extensions/field-expression/utils.mjs +0 -17
  40. package/esm2022/lib/extensions/field-form/field-form.mjs +0 -141
  41. package/esm2022/lib/extensions/field-form/utils.mjs +0 -100
  42. package/esm2022/lib/extensions/field-validation/field-validation.mjs +0 -135
  43. package/esm2022/lib/extensions/index.mjs +0 -2
  44. package/esm2022/lib/models/config.mjs +0 -2
  45. package/esm2022/lib/models/fieldconfig.cache.mjs +0 -2
  46. package/esm2022/lib/models/fieldconfig.mjs +0 -2
  47. package/esm2022/lib/models/index.mjs +0 -4
  48. package/esm2022/lib/services/formly.builder.mjs +0 -98
  49. package/esm2022/lib/services/formly.config.mjs +0 -236
  50. package/esm2022/lib/templates/field-array.type.mjs +0 -84
  51. package/esm2022/lib/templates/field-template.type.mjs +0 -34
  52. package/esm2022/lib/templates/field.type.mjs +0 -57
  53. package/esm2022/lib/templates/field.wrapper.mjs +0 -21
  54. package/esm2022/lib/templates/formly.attributes.mjs +0 -201
  55. package/esm2022/lib/templates/formly.group.mjs +0 -31
  56. package/esm2022/lib/templates/formly.validation-message.mjs +0 -84
  57. package/esm2022/lib/utils.mjs +0 -312
  58. package/esm2022/ngx-formly-core.mjs +0 -5
  59. package/esm2022/preset/ngx-formly-core-preset.mjs +0 -5
  60. package/esm2022/preset/preset-substitution.extension.mjs +0 -30
  61. package/esm2022/preset/preset.config.mjs +0 -11
  62. package/esm2022/preset/preset.module.mjs +0 -18
  63. package/esm2022/preset/public_api.mjs +0 -3
  64. package/esm2022/public_api.mjs +0 -5
  65. package/esm2022/select/ngx-formly-core-select.mjs +0 -5
  66. package/esm2022/select/public_api.mjs +0 -3
  67. package/esm2022/select/select-options.pipe.mjs +0 -108
  68. package/esm2022/select/select.module.mjs +0 -16
  69. package/esm2022/testing/component-factory.mjs +0 -86
  70. package/esm2022/testing/ngx-formly-core-testing.mjs +0 -5
  71. package/esm2022/testing/public_api.mjs +0 -2
  72. package/lib/extensions/index.d.ts +0 -1
@@ -1,50 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { FieldExpressionExtension } from './extensions';
3
- import { CoreExtension } from './extensions/core/core';
4
- import { FieldFormExtension } from './extensions/field-form/field-form';
5
- import { FieldValidationExtension } from './extensions/field-validation/field-validation';
6
- import { FormlyTemplateType } from './templates/field-template.type';
7
- import { FormlyGroup } from './templates/formly.group';
8
- import { FormlyConfig } from './services/formly.config';
9
- /**
10
- * An InjectionToken for registering additional formly config options (types, wrappers ...).
11
- */
12
- export const FORMLY_CONFIG = new InjectionToken('FORMLY_CONFIG');
13
- export function withDefaultConfig(config) {
14
- return {
15
- types: [
16
- { name: 'formly-group', component: FormlyGroup },
17
- { name: 'formly-template', component: FormlyTemplateType },
18
- ],
19
- extensions: [
20
- { name: 'core', extension: new CoreExtension(config), priority: -250 },
21
- { name: 'field-validation', extension: new FieldValidationExtension(config), priority: -200 },
22
- { name: 'field-form', extension: new FieldFormExtension(), priority: -150 },
23
- { name: 'field-expression', extension: new FieldExpressionExtension(), priority: -100 },
24
- ],
25
- };
26
- }
27
- export const provideFormlyCore = (configs = []) => {
28
- return [
29
- { provide: FORMLY_CONFIG, multi: true, useFactory: withDefaultConfig, deps: [FormlyConfig] },
30
- provideFormlyConfig(configs),
31
- ];
32
- };
33
- export const provideFormlyConfig = (configs = []) => {
34
- return {
35
- provide: FORMLY_CONFIG,
36
- multi: true,
37
- useFactory: () => {
38
- const currentConfig = inject(FORMLY_CONFIG, {
39
- skipSelf: true,
40
- optional: true,
41
- });
42
- if (currentConfig) {
43
- currentConfig.push(configs);
44
- return currentConfig;
45
- }
46
- return configs;
47
- },
48
- };
49
- };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbGliL2NvcmUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZUFBZSxDQUFDLENBQUM7QUFFakYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQW9CO0lBQ3BELE9BQU87UUFDTCxLQUFLLEVBQUU7WUFDTCxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRTtZQUNoRCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7U0FDM0Q7UUFDRCxVQUFVLEVBQUU7WUFDVixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUN0RSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDN0YsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQzNFLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxJQUFJLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFO1NBQ3hGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFVBQXlDLEVBQUUsRUFBWSxFQUFFO0lBQ3pGLE9BQU87UUFDTCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDNUYsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0tBQzdCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQXlDLEVBQUUsRUFBWSxFQUFFO0lBQzNGLE9BQU87UUFDTCxPQUFPLEVBQUUsYUFBYTtRQUN0QixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDZixNQUFNLGFBQWEsR0FBeUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtnQkFDaEYsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUM7WUFDSCxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QixPQUFPLGFBQWEsQ0FBQztZQUN2QixDQUFDO1lBRUQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRFeHByZXNzaW9uRXh0ZW5zaW9uIH0gZnJvbSAnLi9leHRlbnNpb25zJztcbmltcG9ydCB7IENvcmVFeHRlbnNpb24gfSBmcm9tICcuL2V4dGVuc2lvbnMvY29yZS9jb3JlJztcbmltcG9ydCB7IEZpZWxkRm9ybUV4dGVuc2lvbiB9IGZyb20gJy4vZXh0ZW5zaW9ucy9maWVsZC1mb3JtL2ZpZWxkLWZvcm0nO1xuaW1wb3J0IHsgRmllbGRWYWxpZGF0aW9uRXh0ZW5zaW9uIH0gZnJvbSAnLi9leHRlbnNpb25zL2ZpZWxkLXZhbGlkYXRpb24vZmllbGQtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBGb3JtbHlUZW1wbGF0ZVR5cGUgfSBmcm9tICcuL3RlbXBsYXRlcy9maWVsZC10ZW1wbGF0ZS50eXBlJztcbmltcG9ydCB7IEZvcm1seUdyb3VwIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZm9ybWx5Lmdyb3VwJztcbmltcG9ydCB7IENvbmZpZ09wdGlvbiB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEZvcm1seUNvbmZpZyB9IGZyb20gJy4vc2VydmljZXMvZm9ybWx5LmNvbmZpZyc7XG5cbi8qKlxuICogQW4gSW5qZWN0aW9uVG9rZW4gZm9yIHJlZ2lzdGVyaW5nIGFkZGl0aW9uYWwgZm9ybWx5IGNvbmZpZyBvcHRpb25zICh0eXBlcywgd3JhcHBlcnMgLi4uKS5cbiAqL1xuZXhwb3J0IGNvbnN0IEZPUk1MWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnT3B0aW9uW10+KCdGT1JNTFlfQ09ORklHJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoRGVmYXVsdENvbmZpZyhjb25maWc6IEZvcm1seUNvbmZpZyk6IENvbmZpZ09wdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZXM6IFtcbiAgICAgIHsgbmFtZTogJ2Zvcm1seS1ncm91cCcsIGNvbXBvbmVudDogRm9ybWx5R3JvdXAgfSxcbiAgICAgIHsgbmFtZTogJ2Zvcm1seS10ZW1wbGF0ZScsIGNvbXBvbmVudDogRm9ybWx5VGVtcGxhdGVUeXBlIH0sXG4gICAgXSxcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICB7IG5hbWU6ICdjb3JlJywgZXh0ZW5zaW9uOiBuZXcgQ29yZUV4dGVuc2lvbihjb25maWcpLCBwcmlvcml0eTogLTI1MCB9LFxuICAgICAgeyBuYW1lOiAnZmllbGQtdmFsaWRhdGlvbicsIGV4dGVuc2lvbjogbmV3IEZpZWxkVmFsaWRhdGlvbkV4dGVuc2lvbihjb25maWcpLCBwcmlvcml0eTogLTIwMCB9LFxuICAgICAgeyBuYW1lOiAnZmllbGQtZm9ybScsIGV4dGVuc2lvbjogbmV3IEZpZWxkRm9ybUV4dGVuc2lvbigpLCBwcmlvcml0eTogLTE1MCB9LFxuICAgICAgeyBuYW1lOiAnZmllbGQtZXhwcmVzc2lvbicsIGV4dGVuc2lvbjogbmV3IEZpZWxkRXhwcmVzc2lvbkV4dGVuc2lvbigpLCBwcmlvcml0eTogLTEwMCB9LFxuICAgIF0sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBwcm92aWRlRm9ybWx5Q29yZSA9IChjb25maWdzOiBDb25maWdPcHRpb24gfCBDb25maWdPcHRpb25bXSA9IFtdKTogUHJvdmlkZXIgPT4ge1xuICByZXR1cm4gW1xuICAgIHsgcHJvdmlkZTogRk9STUxZX0NPTkZJRywgbXVsdGk6IHRydWUsIHVzZUZhY3Rvcnk6IHdpdGhEZWZhdWx0Q29uZmlnLCBkZXBzOiBbRm9ybWx5Q29uZmlnXSB9LFxuICAgIHByb3ZpZGVGb3JtbHlDb25maWcoY29uZmlncyksXG4gIF07XG59O1xuXG5leHBvcnQgY29uc3QgcHJvdmlkZUZvcm1seUNvbmZpZyA9IChjb25maWdzOiBDb25maWdPcHRpb24gfCBDb25maWdPcHRpb25bXSA9IFtdKTogUHJvdmlkZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEZPUk1MWV9DT05GSUcsXG4gICAgbXVsdGk6IHRydWUsXG4gICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudENvbmZpZzogQXJyYXk8Q29uZmlnT3B0aW9uIHwgQ29uZmlnT3B0aW9uW10+ID0gaW5qZWN0KEZPUk1MWV9DT05GSUcsIHtcbiAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBpZiAoY3VycmVudENvbmZpZykge1xuICAgICAgICBjdXJyZW50Q29uZmlnLnB1c2goY29uZmlncyk7XG4gICAgICAgIHJldHVybiBjdXJyZW50Q29uZmlnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29uZmlncztcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
@@ -1,20 +0,0 @@
1
- export { provideFormlyCore, provideFormlyConfig, FORMLY_CONFIG } from './core.config';
2
- export { LegacyFormlyForm, FormlyForm } from './components/formly.form';
3
- export { LegacyFormlyField, FormlyField } from './components/formly.field';
4
- export { LegacyFormlyAttributes, FormlyAttributes } from './templates/formly.attributes';
5
- export { FormlyGroup as ɵFormlyGroup } from './templates/formly.group';
6
- export { FormlyTemplate, LegacyFormlyTemplate as ɵFormlyTemplate } from './components/formly.template';
7
- export { LegacyFormlyValidationMessage, FormlyValidationMessage } from './templates/formly.validation-message';
8
- export { FormlyConfig } from './services/formly.config';
9
- export { FormlyFormBuilder } from './services/formly.builder';
10
- export { FieldType } from './templates/field.type';
11
- export { FieldArrayType } from './templates/field-array.type';
12
- export { FieldWrapper } from './templates/field.wrapper';
13
- export { FormlyModule } from './core.module';
14
- export { defineHiddenProp as ɵdefineHiddenProp } from './utils';
15
- export { reverseDeepMerge as ɵreverseDeepMerge } from './utils';
16
- export { getFieldValue as ɵgetFieldValue } from './utils';
17
- export { clone as ɵclone } from './utils';
18
- export { observe as ɵobserve } from './utils';
19
- export { hasKey as ɵhasKey } from './utils';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NyYy9saWIvY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsSUFBSSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixJQUFJLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUF5QyxNQUFNLHdCQUF3QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQXdCLE1BQU0sOEJBQThCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxJQUFJLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHByb3ZpZGVGb3JtbHlDb3JlLCBwcm92aWRlRm9ybWx5Q29uZmlnLCBGT1JNTFlfQ09ORklHIH0gZnJvbSAnLi9jb3JlLmNvbmZpZyc7XG5leHBvcnQgeyBMZWdhY3lGb3JtbHlGb3JtLCBGb3JtbHlGb3JtIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm1seS5mb3JtJztcbmV4cG9ydCB7XG4gIEZvcm1seUZpZWxkQ29uZmlnLFxuICBGb3JtbHlUZW1wbGF0ZU9wdGlvbnMsXG4gIEZvcm1seUZvcm1PcHRpb25zLFxuICBGb3JtbHlGaWVsZFByb3BzLFxuICBDb25maWdPcHRpb24sXG4gIEZvcm1seUV4dGVuc2lvbixcbn0gZnJvbSAnLi9tb2RlbHMnO1xuZXhwb3J0IHsgTGVnYWN5Rm9ybWx5RmllbGQsIEZvcm1seUZpZWxkIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm1seS5maWVsZCc7XG5leHBvcnQgeyBMZWdhY3lGb3JtbHlBdHRyaWJ1dGVzLCBGb3JtbHlBdHRyaWJ1dGVzIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZm9ybWx5LmF0dHJpYnV0ZXMnO1xuZXhwb3J0IHsgRm9ybWx5R3JvdXAgYXMgybVGb3JtbHlHcm91cCB9IGZyb20gJy4vdGVtcGxhdGVzL2Zvcm1seS5ncm91cCc7XG5leHBvcnQgeyBGb3JtbHlUZW1wbGF0ZSwgTGVnYWN5Rm9ybWx5VGVtcGxhdGUgYXMgybVGb3JtbHlUZW1wbGF0ZSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtbHkudGVtcGxhdGUnO1xuZXhwb3J0IHsgTGVnYWN5Rm9ybWx5VmFsaWRhdGlvbk1lc3NhZ2UsIEZvcm1seVZhbGlkYXRpb25NZXNzYWdlIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZm9ybWx5LnZhbGlkYXRpb24tbWVzc2FnZSc7XG5leHBvcnQgeyBGb3JtbHlDb25maWcgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1seS5jb25maWcnO1xuZXhwb3J0IHsgRm9ybWx5Rm9ybUJ1aWxkZXIgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1seS5idWlsZGVyJztcbmV4cG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnLCBGaWVsZEdyb3VwVHlwZUNvbmZpZyB9IGZyb20gJy4vdGVtcGxhdGVzL2ZpZWxkLnR5cGUnO1xuZXhwb3J0IHsgRmllbGRBcnJheVR5cGUsIEZpZWxkQXJyYXlUeXBlQ29uZmlnIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZmllbGQtYXJyYXkudHlwZSc7XG5leHBvcnQgeyBGaWVsZFdyYXBwZXIgfSBmcm9tICcuL3RlbXBsYXRlcy9maWVsZC53cmFwcGVyJztcbmV4cG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJy4vY29yZS5tb2R1bGUnO1xuZXhwb3J0IHsgZGVmaW5lSGlkZGVuUHJvcCBhcyDJtWRlZmluZUhpZGRlblByb3AgfSBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCB7IHJldmVyc2VEZWVwTWVyZ2UgYXMgybVyZXZlcnNlRGVlcE1lcmdlIH0gZnJvbSAnLi91dGlscyc7XG5leHBvcnQgeyBnZXRGaWVsZFZhbHVlIGFzIMm1Z2V0RmllbGRWYWx1ZSB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgY2xvbmUgYXMgybVjbG9uZSB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgb2JzZXJ2ZSBhcyDJtW9ic2VydmUgfSBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCB7IGhhc0tleSBhcyDJtWhhc0tleSB9IGZyb20gJy4vdXRpbHMnO1xuIl19
@@ -1,74 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { LegacyFormlyForm } from './components/formly.form';
4
- import { LegacyFormlyField } from './components/formly.field';
5
- import { LegacyFormlyAttributes } from './templates/formly.attributes';
6
- import { FormlyConfig } from './services/formly.config';
7
- import { FormlyFormBuilder } from './services/formly.builder';
8
- import { FormlyGroup } from './templates/formly.group';
9
- import { LegacyFormlyValidationMessage } from './templates/formly.validation-message';
10
- import { FormlyTemplateType } from './templates/field-template.type';
11
- import { LegacyFormlyTemplate } from './components/formly.template';
12
- import { FORMLY_CONFIG, provideFormlyConfig, withDefaultConfig } from './core.config';
13
- import * as i0 from "@angular/core";
14
- export class FormlyModule {
15
- static forRoot(config = {}) {
16
- return {
17
- ngModule: FormlyModule,
18
- providers: [
19
- { provide: FORMLY_CONFIG, multi: true, useFactory: withDefaultConfig, deps: [FormlyConfig] },
20
- provideFormlyConfig(config),
21
- FormlyConfig,
22
- FormlyFormBuilder,
23
- ],
24
- };
25
- }
26
- static forChild(config = {}) {
27
- return {
28
- ngModule: FormlyModule,
29
- providers: [
30
- { provide: FORMLY_CONFIG, multi: true, useFactory: withDefaultConfig, deps: [FormlyConfig] },
31
- provideFormlyConfig(config),
32
- FormlyFormBuilder,
33
- ],
34
- };
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
37
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormlyModule, declarations: [LegacyFormlyTemplate,
38
- LegacyFormlyForm,
39
- LegacyFormlyField,
40
- LegacyFormlyAttributes,
41
- LegacyFormlyValidationMessage,
42
- FormlyGroup,
43
- FormlyTemplateType], imports: [CommonModule], exports: [LegacyFormlyTemplate,
44
- LegacyFormlyForm,
45
- LegacyFormlyField,
46
- LegacyFormlyAttributes,
47
- LegacyFormlyValidationMessage,
48
- FormlyGroup] }); }
49
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyModule, imports: [CommonModule] }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyModule, decorators: [{
52
- type: NgModule,
53
- args: [{
54
- declarations: [
55
- LegacyFormlyTemplate,
56
- LegacyFormlyForm,
57
- LegacyFormlyField,
58
- LegacyFormlyAttributes,
59
- LegacyFormlyValidationMessage,
60
- FormlyGroup,
61
- FormlyTemplateType,
62
- ],
63
- exports: [
64
- LegacyFormlyTemplate,
65
- LegacyFormlyForm,
66
- LegacyFormlyField,
67
- LegacyFormlyAttributes,
68
- LegacyFormlyValidationMessage,
69
- FormlyGroup,
70
- ],
71
- imports: [CommonModule],
72
- }]
73
- }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zcmMvbGliL2NvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBc0J0RixNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQXVCLEVBQUU7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzVGLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztnQkFDM0IsWUFBWTtnQkFDWixpQkFBaUI7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBdUIsRUFBRTtRQUN2QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLFlBQVk7WUFDdEIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDNUYsbUJBQW1CLENBQUMsTUFBTSxDQUFDO2dCQUMzQixpQkFBaUI7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0F0QlUsWUFBWTtnSEFBWixZQUFZLGlCQWxCckIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLDZCQUE2QjtZQUM3QixXQUFXO1lBQ1gsa0JBQWtCLGFBVVYsWUFBWSxhQVBwQixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixzQkFBc0I7WUFDdEIsNkJBQTZCO1lBQzdCLFdBQVc7Z0hBSUYsWUFBWSxZQUZiLFlBQVk7OzRGQUVYLFlBQVk7a0JBcEJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDZCQUE2Qjt3QkFDN0IsV0FBVzt3QkFDWCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDZCQUE2Qjt3QkFDN0IsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMZWdhY3lGb3JtbHlGb3JtIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm1seS5mb3JtJztcbmltcG9ydCB7IExlZ2FjeUZvcm1seUZpZWxkIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm1seS5maWVsZCc7XG5pbXBvcnQgeyBMZWdhY3lGb3JtbHlBdHRyaWJ1dGVzIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZm9ybWx5LmF0dHJpYnV0ZXMnO1xuaW1wb3J0IHsgRm9ybWx5Q29uZmlnIH0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtbHkuY29uZmlnJztcbmltcG9ydCB7IEZvcm1seUZvcm1CdWlsZGVyIH0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtbHkuYnVpbGRlcic7XG5pbXBvcnQgeyBGb3JtbHlHcm91cCB9IGZyb20gJy4vdGVtcGxhdGVzL2Zvcm1seS5ncm91cCc7XG5pbXBvcnQgeyBMZWdhY3lGb3JtbHlWYWxpZGF0aW9uTWVzc2FnZSB9IGZyb20gJy4vdGVtcGxhdGVzL2Zvcm1seS52YWxpZGF0aW9uLW1lc3NhZ2UnO1xuaW1wb3J0IHsgRm9ybWx5VGVtcGxhdGVUeXBlIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZmllbGQtdGVtcGxhdGUudHlwZSc7XG5pbXBvcnQgeyBDb25maWdPcHRpb24gfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBMZWdhY3lGb3JtbHlUZW1wbGF0ZSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtbHkudGVtcGxhdGUnO1xuaW1wb3J0IHsgRk9STUxZX0NPTkZJRywgcHJvdmlkZUZvcm1seUNvbmZpZywgd2l0aERlZmF1bHRDb25maWcgfSBmcm9tICcuL2NvcmUuY29uZmlnJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTGVnYWN5Rm9ybWx5VGVtcGxhdGUsXG4gICAgTGVnYWN5Rm9ybWx5Rm9ybSxcbiAgICBMZWdhY3lGb3JtbHlGaWVsZCxcbiAgICBMZWdhY3lGb3JtbHlBdHRyaWJ1dGVzLFxuICAgIExlZ2FjeUZvcm1seVZhbGlkYXRpb25NZXNzYWdlLFxuICAgIEZvcm1seUdyb3VwLFxuICAgIEZvcm1seVRlbXBsYXRlVHlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIExlZ2FjeUZvcm1seVRlbXBsYXRlLFxuICAgIExlZ2FjeUZvcm1seUZvcm0sXG4gICAgTGVnYWN5Rm9ybWx5RmllbGQsXG4gICAgTGVnYWN5Rm9ybWx5QXR0cmlidXRlcyxcbiAgICBMZWdhY3lGb3JtbHlWYWxpZGF0aW9uTWVzc2FnZSxcbiAgICBGb3JtbHlHcm91cCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogQ29uZmlnT3B0aW9uID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZvcm1seU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRm9ybWx5TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRk9STUxZX0NPTkZJRywgbXVsdGk6IHRydWUsIHVzZUZhY3Rvcnk6IHdpdGhEZWZhdWx0Q29uZmlnLCBkZXBzOiBbRm9ybWx5Q29uZmlnXSB9LFxuICAgICAgICBwcm92aWRlRm9ybWx5Q29uZmlnKGNvbmZpZyksXG4gICAgICAgIEZvcm1seUNvbmZpZyxcbiAgICAgICAgRm9ybWx5Rm9ybUJ1aWxkZXIsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnOiBDb25maWdPcHRpb24gPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Rm9ybWx5TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGb3JtbHlNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBGT1JNTFlfQ09ORklHLCBtdWx0aTogdHJ1ZSwgdXNlRmFjdG9yeTogd2l0aERlZmF1bHRDb25maWcsIGRlcHM6IFtGb3JtbHlDb25maWddIH0sXG4gICAgICAgIHByb3ZpZGVGb3JtbHlDb25maWcoY29uZmlnKSxcbiAgICAgICAgRm9ybWx5Rm9ybUJ1aWxkZXIsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,144 +0,0 @@
1
- import { ComponentRef } from '@angular/core';
2
- import { getFieldId, assignFieldValue, isUndefined, getFieldValue, reverseDeepMerge, defineHiddenProp, clone, getField, markFieldForCheck, hasKey, observe, isHiddenField, isSignalRequired, } from '../../utils';
3
- import { Subject } from 'rxjs';
4
- export class CoreExtension {
5
- constructor(config) {
6
- this.config = config;
7
- this.formId = 0;
8
- }
9
- prePopulate(field) {
10
- const root = field.parent;
11
- this.initRootOptions(field);
12
- this.initFieldProps(field);
13
- if (root) {
14
- Object.defineProperty(field, 'options', { get: () => root.options, configurable: true });
15
- Object.defineProperty(field, 'model', {
16
- get: () => (hasKey(field) && field.fieldGroup ? getFieldValue(field) : root.model),
17
- configurable: true,
18
- });
19
- }
20
- Object.defineProperty(field, 'get', {
21
- value: (key) => getField(field, key),
22
- configurable: true,
23
- });
24
- this.getFieldComponentInstance(field).prePopulate?.(field);
25
- }
26
- onPopulate(field) {
27
- this.initFieldOptions(field);
28
- this.getFieldComponentInstance(field).onPopulate?.(field);
29
- if (field.fieldGroup) {
30
- field.fieldGroup.forEach((f, index) => {
31
- if (f) {
32
- Object.defineProperty(f, 'parent', { get: () => field, configurable: true });
33
- Object.defineProperty(f, 'index', { get: () => index, configurable: true });
34
- }
35
- this.formId++;
36
- });
37
- }
38
- }
39
- postPopulate(field) {
40
- this.getFieldComponentInstance(field).postPopulate?.(field);
41
- }
42
- initFieldProps(field) {
43
- field.props ??= field.templateOptions;
44
- Object.defineProperty(field, 'templateOptions', {
45
- get: () => field.props,
46
- set: (props) => (field.props = props),
47
- configurable: true,
48
- });
49
- }
50
- initRootOptions(field) {
51
- if (field.parent) {
52
- return;
53
- }
54
- const options = field.options;
55
- field.options.formState = field.options.formState || {};
56
- if (!options.showError) {
57
- options.showError = this.config.extras.showError;
58
- }
59
- if (!options.fieldChanges) {
60
- defineHiddenProp(options, 'fieldChanges', new Subject());
61
- }
62
- if (!options._hiddenFieldsForCheck) {
63
- options._hiddenFieldsForCheck = [];
64
- }
65
- options._detectChanges = (f) => {
66
- if (f._componentRefs) {
67
- markFieldForCheck(f);
68
- }
69
- f.fieldGroup?.forEach((f) => f && options._detectChanges(f));
70
- };
71
- options.detectChanges = (f) => {
72
- f.options.checkExpressions?.(f);
73
- options._detectChanges(f);
74
- };
75
- options.resetModel = (model) => {
76
- model = clone(model ?? options._initialModel);
77
- if (field.model) {
78
- Object.keys(field.model).forEach((k) => delete field.model[k]);
79
- Object.assign(field.model, model || {});
80
- }
81
- if (!isSignalRequired()) {
82
- observe(options, ['parentForm', 'submitted']).setValue(false, false);
83
- }
84
- options.build(field);
85
- field.form.reset(field.model);
86
- };
87
- options.updateInitialValue = (model) => (options._initialModel = clone(model ?? field.model));
88
- field.options.updateInitialValue();
89
- }
90
- initFieldOptions(field) {
91
- reverseDeepMerge(field, {
92
- id: getFieldId(`formly_${this.formId}`, field, field.index),
93
- hooks: {},
94
- modelOptions: {},
95
- validation: { messages: {} },
96
- props: !field.type || !hasKey(field)
97
- ? {}
98
- : {
99
- label: '',
100
- placeholder: '',
101
- disabled: false,
102
- },
103
- });
104
- if (this.config.extras.resetFieldOnHide && field.resetOnHide !== false) {
105
- field.resetOnHide = true;
106
- }
107
- if (field.type !== 'formly-template' &&
108
- (field.template || field.expressions?.template || field.expressionProperties?.template)) {
109
- field.type = 'formly-template';
110
- }
111
- if (!field.type && field.fieldGroup) {
112
- field.type = 'formly-group';
113
- }
114
- if (field.type) {
115
- this.config.getMergedField(field);
116
- }
117
- if (hasKey(field) &&
118
- !isUndefined(field.defaultValue) &&
119
- isUndefined(getFieldValue(field)) &&
120
- !isHiddenField(field)) {
121
- assignFieldValue(field, field.defaultValue);
122
- }
123
- field.wrappers = field.wrappers || [];
124
- }
125
- getFieldComponentInstance(field) {
126
- const componentRefInstance = () => {
127
- let componentRef = this.config.resolveFieldTypeRef(field);
128
- const fieldComponentRef = field._componentRefs?.slice(-1)[0];
129
- if (fieldComponentRef instanceof ComponentRef &&
130
- fieldComponentRef?.componentType === componentRef?.componentType) {
131
- componentRef = fieldComponentRef;
132
- }
133
- return componentRef?.instance;
134
- };
135
- if (!field._proxyInstance) {
136
- defineHiddenProp(field, '_proxyInstance', new Proxy({}, {
137
- get: (_, prop) => componentRefInstance()?.[prop],
138
- set: (_, prop, value) => (componentRefInstance()[prop] = value),
139
- }));
140
- }
141
- return field._proxyInstance;
142
- }
143
- }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL3NyYy9saWIvZXh0ZW5zaW9ucy9jb3JlL2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLE9BQU8sRUFDUCxhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBb0IsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQURoQyxXQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3dCLENBQUM7SUFFNUMsV0FBVyxDQUFDLEtBQTZCO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN6RixNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ3BDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENB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Q0FBQyxDQUFDO1lBQzdELElBQ0UsaUJBQWlCLFlBQVksWUFBWTtnQkFDekMsaUJBQWlCLEVBQUUsYUFBYSxLQUFLLFlBQVksRUFBRSxhQUFhLEVBQ2hFLENBQUM7Z0JBQ0QsWUFBWSxHQUFHLGlCQUF3QixDQUFDO1lBQzFDLENBQUM7WUFFRCxPQUFPLFlBQVksRUFBRSxRQUFlLENBQUM7UUFDdkMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixnQkFBZ0IsQ0FDZCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLElBQUksS0FBSyxDQUFDLEVBQXFCLEVBQUU7Z0JBQy9CLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hELEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ2hFLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seUNvbmZpZyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm1seS5jb25maWcnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWdDYWNoZSwgRm9ybWx5VmFsdWVDaGFuZ2VFdmVudCwgRm9ybWx5RXh0ZW5zaW9uLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBnZXRGaWVsZElkLFxuICBhc3NpZ25GaWVsZFZhbHVlLFxuICBpc1VuZGVmaW5lZCxcbiAgZ2V0RmllbGRWYWx1ZSxcbiAgcmV2ZXJzZURlZXBNZXJnZSxcbiAgZGVmaW5lSGlkZGVuUHJvcCxcbiAgY2xvbmUsXG4gIGdldEZpZWxkLFxuICBtYXJrRmllbGRGb3JDaGVjayxcbiAgaGFzS2V5LFxuICBvYnNlcnZlLFxuICBpc0hpZGRlbkZpZWxkLFxuICBpc1NpZ25hbFJlcXVpcmVkLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBDb3JlRXh0ZW5zaW9uIGltcGxlbWVudHMgRm9ybWx5RXh0ZW5zaW9uIHtcbiAgcHJpdmF0ZSBmb3JtSWQgPSAwO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogRm9ybWx5Q29uZmlnKSB7fVxuXG4gIHByZVBvcHVsYXRlKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlKSB7XG4gICAgY29uc3Qgcm9vdCA9IGZpZWxkLnBhcmVudDtcbiAgICB0aGlzLmluaXRSb290T3B0aW9ucyhmaWVsZCk7XG4gICAgdGhpcy5pbml0RmllbGRQcm9wcyhmaWVsZCk7XG4gICAgaWYgKHJvb3QpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmaWVsZCwgJ29wdGlvbnMnLCB7IGdldDogKCkgPT4gcm9vdC5vcHRpb25zLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmllbGQsICdtb2RlbCcsIHtcbiAgICAgICAgZ2V0OiAoKSA9PiAoaGFzS2V5KGZpZWxkKSAmJiBmaWVsZC5maWVsZEdyb3VwID8gZ2V0RmllbGRWYWx1ZShmaWVsZCkgOiByb290Lm1vZGVsKSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZpZWxkLCAnZ2V0Jywge1xuICAgICAgdmFsdWU6IChrZXk6IEZvcm1seUZpZWxkQ29uZmlnWydrZXknXSkgPT4gZ2V0RmllbGQoZmllbGQsIGtleSksXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmdldEZpZWxkQ29tcG9uZW50SW5zdGFuY2UoZmllbGQpLnByZVBvcHVsYXRlPy4oZmllbGQpO1xuICB9XG5cbiAgb25Qb3B1bGF0ZShmaWVsZDogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICAgIHRoaXMuaW5pdEZpZWxkT3B0aW9ucyhmaWVsZCk7XG4gICAgdGhpcy5nZXRGaWVsZENvbXBvbmVudEluc3RhbmNlKGZpZWxkKS5vblBvcHVsYXRlPy4oZmllbGQpO1xuICAgIGlmIChmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICBmaWVsZC5maWVsZEdyb3VwLmZvckVhY2goKGYsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChmKSB7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsICdwYXJlbnQnLCB7IGdldDogKCkgPT4gZmllbGQsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTtcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgJ2luZGV4JywgeyBnZXQ6ICgpID0+IGluZGV4LCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtSWQrKztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHBvc3RQb3B1bGF0ZShmaWVsZDogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICAgIHRoaXMuZ2V0RmllbGRDb21wb25lbnRJbnN0YW5jZShmaWVsZCkucG9zdFBvcHVsYXRlPy4oZmllbGQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmllbGRQcm9wcyhmaWVsZDogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICAgIGZpZWxkLnByb3BzID8/PSBmaWVsZC50ZW1wbGF0ZU9wdGlvbnM7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZpZWxkLCAndGVtcGxhdGVPcHRpb25zJywge1xuICAgICAgZ2V0OiAoKSA9PiBmaWVsZC5wcm9wcyxcbiAgICAgIHNldDogKHByb3BzKSA9PiAoZmllbGQucHJvcHMgPSBwcm9wcyksXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRSb290T3B0aW9ucyhmaWVsZDogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICAgIGlmIChmaWVsZC5wYXJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0gZmllbGQub3B0aW9ucztcbiAgICBmaWVsZC5vcHRpb25zLmZvcm1TdGF0ZSA9IGZpZWxkLm9wdGlvbnMuZm9ybVN0YXRlIHx8IHt9O1xuICAgIGlmICghb3B0aW9ucy5zaG93RXJyb3IpIHtcbiAgICAgIG9wdGlvbnMuc2hvd0Vycm9yID0gdGhpcy5jb25maWcuZXh0cmFzLnNob3dFcnJvcjtcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZmllbGRDaGFuZ2VzKSB7XG4gICAgICBkZWZpbmVIaWRkZW5Qcm9wKG9wdGlvbnMsICdmaWVsZENoYW5nZXMnLCBuZXcgU3ViamVjdDxGb3JtbHlWYWx1ZUNoYW5nZUV2ZW50PigpKTtcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuX2hpZGRlbkZpZWxkc0ZvckNoZWNrKSB7XG4gICAgICBvcHRpb25zLl9oaWRkZW5GaWVsZHNGb3JDaGVjayA9IFtdO1xuICAgIH1cblxuICAgIG9wdGlvbnMuX2RldGVjdENoYW5nZXMgPSAoZjogRm9ybWx5RmllbGRDb25maWdDYWNoZSkgPT4ge1xuICAgICAgaWYgKGYuX2NvbXBvbmVudFJlZnMpIHtcbiAgICAgICAgbWFya0ZpZWxkRm9yQ2hlY2soZik7XG4gICAgICB9XG5cbiAgICAgIGYuZmllbGRHcm91cD8uZm9yRWFjaCgoZikgPT4gZiAmJiBvcHRpb25zLl9kZXRlY3RDaGFuZ2VzKGYpKTtcbiAgICB9O1xuXG4gICAgb3B0aW9ucy5kZXRlY3RDaGFuZ2VzID0gKGY6IEZvcm1seUZpZWxkQ29uZmlnQ2FjaGUpID0+IHtcbiAgICAgIGYub3B0aW9ucy5jaGVja0V4cHJlc3Npb25zPy4oZik7XG4gICAgICBvcHRpb25zLl9kZXRlY3RDaGFuZ2VzKGYpO1xuICAgIH07XG5cbiAgICBvcHRpb25zLnJlc2V0TW9kZWwgPSAobW9kZWw/OiBhbnkpID0+IHtcbiAgICAgIG1vZGVsID0gY2xvbmUobW9kZWwgPz8gb3B0aW9ucy5faW5pdGlhbE1vZGVsKTtcbiAgICAgIGlmIChmaWVsZC5tb2RlbCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmaWVsZC5tb2RlbCkuZm9yRWFjaCgoaykgPT4gZGVsZXRlIGZpZWxkLm1vZGVsW2tdKTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihmaWVsZC5tb2RlbCwgbW9kZWwgfHwge30pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzU2lnbmFsUmVxdWlyZWQoKSkge1xuICAgICAgICBvYnNlcnZlKG9wdGlvbnMsIFsncGFyZW50Rm9ybScsICdzdWJtaXR0ZWQnXSkuc2V0VmFsdWUoZmFsc2UsIGZhbHNlKTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMuYnVpbGQoZmllbGQpO1xuICAgICAgZmllbGQuZm9ybS5yZXNldChmaWVsZC5tb2RlbCk7XG4gICAgfTtcblxuICAgIG9wdGlvbnMudXBkYXRlSW5pdGlhbFZhbHVlID0gKG1vZGVsPzogYW55KSA9PiAob3B0aW9ucy5faW5pdGlhbE1vZGVsID0gY2xvbmUobW9kZWwgPz8gZmllbGQubW9kZWwpKTtcbiAgICBmaWVsZC5vcHRpb25zLnVwZGF0ZUluaXRpYWxWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmllbGRPcHRpb25zKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZ0NhY2hlKSB7XG4gICAgcmV2ZXJzZURlZXBNZXJnZShmaWVsZCwge1xuICAgICAgaWQ6IGdldEZpZWxkSWQoYGZvcm1seV8ke3RoaXMuZm9ybUlkfWAsIGZpZWxkLCBmaWVsZC5pbmRleCksXG4gICAgICBob29rczoge30sXG4gICAgICBtb2RlbE9wdGlvbnM6IHt9LFxuICAgICAgdmFsaWRhdGlvbjogeyBtZXNzYWdlczoge30gfSxcbiAgICAgIHByb3BzOlxuICAgICAgICAhZmllbGQudHlwZSB8fCAhaGFzS2V5KGZpZWxkKVxuICAgICAgICAgID8ge31cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJycsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuZXh0cmFzLnJlc2V0RmllbGRPbkhpZGUgJiYgZmllbGQucmVzZXRPbkhpZGUgIT09IGZhbHNlKSB7XG4gICAgICBmaWVsZC5yZXNldE9uSGlkZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmllbGQudHlwZSAhPT0gJ2Zvcm1seS10ZW1wbGF0ZScgJiZcbiAgICAgIChmaWVsZC50ZW1wbGF0ZSB8fCBmaWVsZC5leHByZXNzaW9ucz8udGVtcGxhdGUgfHwgZmllbGQuZXhwcmVzc2lvblByb3BlcnRpZXM/LnRlbXBsYXRlKVxuICAgICkge1xuICAgICAgZmllbGQudHlwZSA9ICdmb3JtbHktdGVtcGxhdGUnO1xuICAgIH1cblxuICAgIGlmICghZmllbGQudHlwZSAmJiBmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICBmaWVsZC50eXBlID0gJ2Zvcm1seS1ncm91cCc7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUpIHtcbiAgICAgIHRoaXMuY29uZmlnLmdldE1lcmdlZEZpZWxkKGZpZWxkKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBoYXNLZXkoZmllbGQpICYmXG4gICAgICAhaXNVbmRlZmluZWQoZmllbGQuZGVmYXVsdFZhbHVlKSAmJlxuICAgICAgaXNVbmRlZmluZWQoZ2V0RmllbGRWYWx1ZShmaWVsZCkpICYmXG4gICAgICAhaXNIaWRkZW5GaWVsZChmaWVsZClcbiAgICApIHtcbiAgICAgIGFzc2lnbkZpZWxkVmFsdWUoZmllbGQsIGZpZWxkLmRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuXG4gICAgZmllbGQud3JhcHBlcnMgPSBmaWVsZC53cmFwcGVycyB8fCBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRDb21wb25lbnRJbnN0YW5jZShmaWVsZDogRm9ybWx5RmllbGRDb25maWdDYWNoZSkge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZkluc3RhbmNlID0gKCkgPT4ge1xuICAgICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29uZmlnLnJlc29sdmVGaWVsZFR5cGVSZWYoZmllbGQpO1xuXG4gICAgICBjb25zdCBmaWVsZENvbXBvbmVudFJlZiA9IGZpZWxkLl9jb21wb25lbnRSZWZzPy5zbGljZSgtMSlbMF07XG4gICAgICBpZiAoXG4gICAgICAgIGZpZWxkQ29tcG9uZW50UmVmIGluc3RhbmNlb2YgQ29tcG9uZW50UmVmICYmXG4gICAgICAgIGZpZWxkQ29tcG9uZW50UmVmPy5jb21wb25lbnRUeXBlID09PSBjb21wb25lbnRSZWY/LmNvbXBvbmVudFR5cGVcbiAgICAgICkge1xuICAgICAgICBjb21wb25lbnRSZWYgPSBmaWVsZENvbXBvbmVudFJlZiBhcyBhbnk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21wb25lbnRSZWY/Lmluc3RhbmNlIGFzIGFueTtcbiAgICB9O1xuXG4gICAgaWYgKCFmaWVsZC5fcHJveHlJbnN0YW5jZSkge1xuICAgICAgZGVmaW5lSGlkZGVuUHJvcChcbiAgICAgICAgZmllbGQsXG4gICAgICAgICdfcHJveHlJbnN0YW5jZScsXG4gICAgICAgIG5ldyBQcm94eSh7fSBhcyBGb3JtbHlFeHRlbnNpb24sIHtcbiAgICAgICAgICBnZXQ6IChfLCBwcm9wKSA9PiBjb21wb25lbnRSZWZJbnN0YW5jZSgpPy5bcHJvcF0sXG4gICAgICAgICAgc2V0OiAoXywgcHJvcCwgdmFsdWUpID0+IChjb21wb25lbnRSZWZJbnN0YW5jZSgpW3Byb3BdID0gdmFsdWUpLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpZWxkLl9wcm94eUluc3RhbmNlO1xuICB9XG59XG4iXX0=