{"version":3,"file":"ngx-formly-core-preset.mjs","sources":["../../../../src/core/preset/src/preset-substitution.extension.ts","../../../../src/core/preset/src/preset.config.ts","../../../../src/core/preset/src/preset.module.ts","../../../../src/core/preset/src/ngx-formly-core-preset.ts"],"sourcesContent":["import { FormlyConfig, FormlyExtension, FormlyFieldConfig, ɵreverseDeepMerge } from '@ngx-formly/core';\nexport class PresetSubstitutionExtension implements FormlyExtension {\n  constructor(private formlyConfig: FormlyConfig) {}\n\n  prePopulate(field: FormlyFieldConfig): void {\n    if (!(typeof field.type === 'string') || field.type[0] !== '#') {\n      return;\n    }\n    const configId = new RegExp(/^#(.+)$/).exec(field.type)?.[1];\n    const preset = this.formlyConfig.presets[configId];\n\n    const { type: _, ...fieldConfigWithoutType } = field;\n    if (preset) {\n      const merged = ɵreverseDeepMerge(\n        fieldConfigWithoutType,\n        'getConfiguration' in preset ? preset.getConfiguration() : preset,\n      );\n      Object.assign(field, { type: undefined }, merged);\n    }\n  }\n}\n\nexport function registerLibraryConfigReplacementExtension(formlyConfig: FormlyConfig) {\n  return {\n    extensions: [\n      {\n        name: 'libraryConfigReplacement',\n        extension: new PresetSubstitutionExtension(formlyConfig),\n        priority: -300,\n      },\n    ],\n  };\n}\n","import { Provider } from '@angular/core';\nimport { FormlyConfig, FORMLY_CONFIG } from '@ngx-formly/core';\nimport { registerLibraryConfigReplacementExtension } from './preset-substitution.extension';\n\nexport function provideFormlyPreset(): Provider {\n  return {\n    provide: FORMLY_CONFIG,\n    useFactory: registerLibraryConfigReplacementExtension,\n    deps: [FormlyConfig],\n    multi: true,\n  };\n}\n","import { NgModule } from '@angular/core';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { provideFormlyPreset } from './preset.config';\n\n@NgModule({\n  imports: [FormlyModule.forChild({})],\n  providers: [provideFormlyPreset()],\n})\nexport class FormlyPresetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵreverseDeepMerge"],"mappings":";;;;;MACa,2BAA2B,CAAA;AACtC,IAAA,WAAA,CAAoB,YAA0B,EAAA;QAA1B,IAAY,CAAA,YAAA,GAAZ,YAAY;;AAEhC,IAAA,WAAW,CAAC,KAAwB,EAAA;AAClC,QAAA,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC9D;;AAEF,QAAA,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;QAElD,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,sBAAsB,EAAE,GAAG,KAAK;QACpD,IAAI,MAAM,EAAE;YACV,MAAM,MAAM,GAAGA,iBAAiB,CAC9B,sBAAsB,EACtB,kBAAkB,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,GAAG,MAAM,CAClE;AACD,YAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC;;;AAGtD;AAEK,SAAU,yCAAyC,CAAC,YAA0B,EAAA;IAClF,OAAO;AACL,QAAA,UAAU,EAAE;AACV,YAAA;AACE,gBAAA,IAAI,EAAE,0BAA0B;AAChC,gBAAA,SAAS,EAAE,IAAI,2BAA2B,CAAC,YAAY,CAAC;gBACxD,QAAQ,EAAE,CAAC,GAAG;AACf,aAAA;AACF,SAAA;KACF;AACH;;SC5BgB,mBAAmB,GAAA;IACjC,OAAO;AACL,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,UAAU,EAAE,yCAAyC;QACrD,IAAI,EAAE,CAAC,YAAY,CAAC;AACpB,QAAA,KAAK,EAAE,IAAI;KACZ;AACH;;MCHa,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,SAAA,EAFlB,CAAC,mBAAmB,EAAE,CAAC,EADxB,OAAA,EAAA,CAAA,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAGxB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACpC,oBAAA,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC;AACnC,iBAAA;;;ACPD;;AAEG;;;;"}