@ngx-formly/core 5.10.29 → 5.10.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-formly-core.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@ngx-formly/core/lib/utils.ts","ng://@ngx-formly/core/lib/services/formly.config.ts","ng://@ngx-formly/core/lib/services/formly.form.builder.ts","ng://@ngx-formly/core/lib/extensions/field-form/utils.ts","ng://@ngx-formly/core/lib/components/formly.form.ts","ng://@ngx-formly/core/lib/components/formly.field.ts","ng://@ngx-formly/core/lib/components/formly.attributes.ts","ng://@ngx-formly/core/lib/templates/field.type.ts","ng://@ngx-formly/core/lib/templates/field-array.type.ts","ng://@ngx-formly/core/lib/templates/field.wrapper.ts","ng://@ngx-formly/core/lib/templates/formly.group.ts","ng://@ngx-formly/core/lib/templates/formly.validation-message.ts","ng://@ngx-formly/core/lib/templates/field-template.type.ts","ng://@ngx-formly/core/lib/extensions/field-expression/utils.ts","ng://@ngx-formly/core/lib/extensions/field-expression/field-expression.ts","ng://@ngx-formly/core/lib/extensions/field-validation/field-validation.ts","ng://@ngx-formly/core/lib/extensions/field-form/field-form.ts","ng://@ngx-formly/core/lib/extensions/core/core.ts","ng://@ngx-formly/core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { FormlyFieldConfig } from './core';\nimport { isObservable } from 'rxjs';\nimport { AbstractControl } from '@angular/forms';\nimport { FormlyFieldConfigCache } from './components/formly.field.config';\nimport { TemplateRef } from '@angular/core';\n\nexport function getFieldId(formId: string, field: FormlyFieldConfig, index: string|number) {\n if (field.id) return field.id;\n let type = field.type;\n if (!type && field.template) type = 'template';\n return [formId, type, field.key, index].join('_');\n}\n\nexport function getKeyPath(field: FormlyFieldConfigCache): string[] {\n if (!field.key) {\n return [];\n }\n\n /* We store the keyPath in the field for performance reasons. This function will be called frequently. */\n if (!field._keyPath || field._keyPath.key !== field.key) {\n let path: string[] = [];\n if (typeof field.key === 'string') {\n const key = field.key.indexOf('[') === -1\n ? field.key\n : field.key.replace(/\\[(\\w+)\\]/g, '.$1');\n path = key.indexOf('.') !== -1 ? key.split('.') : [key];\n } else if (Array.isArray(field.key)) {\n path = field.key.slice(0);\n } else {\n path = [`${field.key}`];\n }\n\n field._keyPath = { key: field.key, path };\n }\n\n return field._keyPath.path.slice(0);\n}\n\nexport const FORMLY_VALIDATORS = ['required', 'pattern', 'minLength', 'maxLength', 'min', 'max'];\n\nexport function assignFieldValue(field: FormlyFieldConfigCache, value: any) {\n let paths = getKeyPath(field);\n if (paths.length === 0) {\n return;\n }\n\n let root = field;\n while (root.parent) {\n root = root.parent;\n paths = [...getKeyPath(root), ...paths];\n }\n\n if (value === undefined && field.resetOnHide) {\n const k = paths.pop();\n const m = paths.reduce((model, path) => model[path] || {}, root.model);\n delete m[k];\n return;\n }\n\n assignModelValue(root.model, paths, value);\n}\n\nexport function assignModelValue(model: any, paths: string[], value: any) {\n for (let i = 0; i < (paths.length - 1); i++) {\n const path = paths[i];\n if (!model[path] || !isObject(model[path])) {\n model[path] = /^\\d+$/.test(paths[i + 1]) ? [] : {};\n }\n\n model = model[path];\n }\n\n model[paths[paths.length - 1]] = clone(value);\n}\n\nexport function getFieldValue(field: FormlyFieldConfig): any {\n let model = field.parent.model;\n for (const path of getKeyPath(field)) {\n if (!model) {\n return model;\n }\n model = model[path];\n }\n\n return model;\n}\n\nexport function reverseDeepMerge(dest: any, ...args: any[]) {\n args.forEach(src => {\n for (let srcArg in src) {\n if (isNullOrUndefined(dest[srcArg]) || isBlankString(dest[srcArg])) {\n dest[srcArg] = clone(src[srcArg]);\n } else if (objAndSameType(dest[srcArg], src[srcArg])) {\n reverseDeepMerge(dest[srcArg], src[srcArg]);\n }\n }\n });\n return dest;\n}\n\nexport function isNullOrUndefined(value: any) {\n return value === undefined || value === null;\n}\n\nexport function isUndefined(value: any) {\n return value === undefined;\n}\n\nexport function isBlankString(value: any) {\n return value === '';\n}\n\nexport function isFunction(value: any) {\n return typeof(value) === 'function';\n}\n\nexport function objAndSameType(obj1: any, obj2: any) {\n return isObject(obj1) && isObject(obj2)\n && Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2)\n && !(Array.isArray(obj1) || Array.isArray(obj2));\n}\n\nexport function isObject(x: any) {\n return x != null && typeof x === 'object';\n}\n\nexport function isPromise(obj: any): obj is Promise<any> {\n return !!obj && typeof obj.then === 'function';\n}\n\nexport function clone(value: any): any {\n if (\n !isObject(value)\n || isObservable(value)\n || (value instanceof TemplateRef)\n || /* instanceof SafeHtmlImpl */ value.changingThisBreaksApplicationSecurity\n || ['RegExp', 'FileList', 'File', 'Blob'].indexOf(value.constructor.name) !== -1\n ) {\n return value;\n }\n\n if (value instanceof Set) {\n return new Set(value);\n }\n\n if (value instanceof Map) {\n return new Map(value);\n }\n\n // https://github.com/moment/moment/blob/master/moment.js#L252\n if (value._isAMomentObject && isFunction(value.clone)) {\n return value.clone();\n }\n\n if (value instanceof AbstractControl) {\n return null;\n }\n\n if (value instanceof Date) {\n return new Date(value.getTime());\n }\n\n if (Array.isArray(value)) {\n return value.slice(0).map(v => clone(v));\n }\n\n // best way to clone a js object maybe\n // https://stackoverflow.com/questions/41474986/how-to-clone-a-javascript-es6-class-instance\n const proto = Object.getPrototypeOf(value);\n let c = Object.create(proto);\n c = Object.setPrototypeOf(c, proto);\n // need to make a deep copy so we dont use Object.assign\n // also Object.assign wont copy property descriptor exactly\n return Object.keys(value).reduce((newVal, prop) => {\n const propDesc = Object.getOwnPropertyDescriptor(value, prop);\n if (propDesc.get) {\n Object.defineProperty(newVal, prop, propDesc);\n } else {\n newVal[prop] = clone(value[prop]);\n }\n\n return newVal;\n }, c);\n}\n\nexport function defineHiddenProp(field: any, prop: string, defaultValue: any) {\n Object.defineProperty(field, prop, { enumerable: false, writable: true, configurable: true });\n field[prop] = defaultValue;\n}\n\nexport function wrapProperty<T = any>(\n o: any,\n prop: string,\n setFn: (change: {currentValue: T, previousValue?: T, firstChange: boolean}) => void,\n) {\n if (!o._observers) {\n defineHiddenProp(o, '_observers', {});\n }\n\n if (!o._observers[prop]) {\n o._observers[prop] = [];\n }\n\n let fns: typeof setFn[] = o._observers[prop];\n if (fns.indexOf(setFn) === -1) {\n fns.push(setFn);\n setFn({ currentValue: o[prop], firstChange: true });\n if (fns.length === 1) {\n defineHiddenProp(o, `___$${prop}`, o[prop]);\n Object.defineProperty(o, prop, {\n configurable: true,\n get: () => o[`___$${prop}`],\n set: currentValue => {\n if (currentValue !== o[`___$${prop}`]) {\n const previousValue = o[`___$${prop}`];\n o[`___$${prop}`] = currentValue;\n fns.forEach(changeFn => changeFn({ previousValue, currentValue, firstChange: false }));\n }\n },\n });\n }\n }\n\n return () => fns.splice(fns.indexOf(setFn), 1);\n}\n\nexport function reduceFormUpdateValidityCalls(form: any, action: Function) {\n const updateValidity = form._updateTreeValidity.bind(form);\n\n let updateValidityArgs = { called: false, emitEvent: false };\n form._updateTreeValidity = ({ emitEvent } = { emitEvent: true }) => updateValidityArgs = { called: true, emitEvent: emitEvent || updateValidityArgs.emitEvent };\n action();\n\n updateValidityArgs.called && updateValidity({ emitEvent: updateValidityArgs.emitEvent });\n form._updateTreeValidity = updateValidity;\n}\n","import { Injectable, InjectionToken, ComponentRef } from '@angular/core';\nimport { ValidationErrors, AbstractControl } from '@angular/forms';\nimport { FieldType } from './../templates/field.type';\nimport { reverseDeepMerge, defineHiddenProp } from './../utils';\nimport { FormlyFieldConfig, FormlyFieldConfigCache } from '../components/formly.field.config';\nimport { Observable } from 'rxjs';\n\nexport const FORMLY_CONFIG = new InjectionToken<FormlyConfig>('FORMLY_CONFIG');\n\n/** @experimental */\nexport interface FormlyExtension {\n prePopulate?(field: FormlyFieldConfig): void;\n onPopulate?(field: FormlyFieldConfig): void;\n postPopulate?(field: FormlyFieldConfig): void;\n}\n\n/**\n * Maintains list of formly field directive types. This can be used to register new field templates.\n */\n@Injectable({ providedIn: 'root' })\nexport class FormlyConfig {\n types: {[name: string]: TypeOption} = {};\n validators: { [name: string]: ValidatorOption } = {};\n wrappers: { [name: string]: WrapperOption } = {};\n messages: { [name: string]: ValidationMessageOption['message'] } = {};\n templateManipulators: {\n preWrapper: ManipulatorWrapper[];\n postWrapper: ManipulatorWrapper[];\n } = {\n preWrapper: [],\n postWrapper: [],\n };\n extras: ConfigOption['extras'] = {\n checkExpressionOn: 'changeDetectionCheck',\n lazyRender: false,\n showError: function(field: FieldType) {\n return field.formControl && field.formControl.invalid && (field.formControl.touched || (field.options.parentForm && field.options.parentForm.submitted) || !!(field.field.validation && field.field.validation.show));\n },\n };\n extensions: { [name: string]: FormlyExtension } = {};\n\n addConfig(config: ConfigOption) {\n if (config.types) {\n config.types.forEach(type => this.setType(type));\n }\n if (config.validators) {\n config.validators.forEach(validator => this.setValidator(validator));\n }\n if (config.wrappers) {\n config.wrappers.forEach(wrapper => this.setWrapper(wrapper));\n }\n if (config.manipulators) {\n console.warn(`NgxFormly: passing 'manipulators' config is deprecated, use custom extension instead.`);\n config.manipulators.forEach(manipulator => this.setManipulator(manipulator));\n }\n if (config.validationMessages) {\n config.validationMessages.forEach(validation => this.addValidatorMessage(validation.name, validation.message));\n }\n if (config.extensions) {\n config.extensions.forEach(c => this.extensions[c.name] = c.extension);\n }\n if (config.extras) {\n this.extras = { ...this.extras, ...config.extras };\n }\n }\n\n setType(options: TypeOption | TypeOption[]) {\n if (Array.isArray(options)) {\n options.forEach((option) => this.setType(option));\n } else {\n if (!this.types[options.name]) {\n this.types[options.name] = <TypeOption>{ name: options.name };\n }\n\n ['component', 'extends', 'defaultOptions', 'wrappers'].forEach(prop => {\n if (options.hasOwnProperty(prop)) {\n this.types[options.name][prop] = options[prop];\n }\n });\n }\n }\n\n getType(name: string): TypeOption {\n if (!this.types[name]) {\n throw new Error(`[Formly Error] The type \"${name}\" could not be found. Please make sure that is registered through the FormlyModule declaration.`);\n }\n\n this.mergeExtendedType(name);\n\n return this.types[name];\n }\n\n getMergedField(field: FormlyFieldConfig = {}): any {\n const type = this.getType(field.type);\n if (type.defaultOptions) {\n reverseDeepMerge(field, type.defaultOptions);\n }\n\n const extendDefaults = type.extends && this.getType(type.extends).defaultOptions;\n if (extendDefaults) {\n reverseDeepMerge(field, extendDefaults);\n }\n\n if (field && field.optionsTypes) {\n field.optionsTypes.forEach(option => {\n const defaultOptions = this.getType(option).defaultOptions;\n if (defaultOptions) {\n reverseDeepMerge(field, defaultOptions);\n }\n });\n }\n\n const componentRef = this.resolveFieldTypeRef(field);\n if (componentRef && componentRef.instance && componentRef.instance.defaultOptions) {\n reverseDeepMerge(field, componentRef.instance.defaultOptions);\n }\n\n if (!field.wrappers && type.wrappers) {\n field.wrappers = [...type.wrappers];\n }\n }\n\n /** @internal */\n resolveFieldTypeRef(field: FormlyFieldConfigCache = {}): ComponentRef<FieldType> {\n if (!field.type) {\n return null;\n }\n\n const type = this.getType(field.type);\n if (!type.component || type['_componentRef']) {\n return type['_componentRef'];\n }\n\n const { _resolver, _injector } = field.parent.options;\n const componentRef = _resolver\n .resolveComponentFactory<FieldType>(type.component)\n .create(_injector);\n\n defineHiddenProp(type, '_componentRef', componentRef);\n componentRef.destroy();\n\n return type['_componentRef'];\n }\n\n setWrapper(options: WrapperOption) {\n this.wrappers[options.name] = options;\n if (options.types) {\n options.types.forEach((type) => {\n this.setTypeWrapper(type, options.name);\n });\n }\n }\n\n getWrapper(name: string): WrapperOption {\n if (!this.wrappers[name]) {\n throw new Error(`[Formly Error] The wrapper \"${name}\" could not be found. Please make sure that is registered through the FormlyModule declaration.`);\n }\n\n return this.wrappers[name];\n }\n\n setTypeWrapper(type: string, name: string) {\n if (!this.types[type]) {\n this.types[type] = <TypeOption>{};\n }\n if (!this.types[type].wrappers) {\n this.types[type].wrappers = [];\n }\n if (this.types[type].wrappers.indexOf(name) === -1) {\n this.types[type].wrappers.push(name);\n }\n }\n\n setValidator(options: ValidatorOption) {\n this.validators[options.name] = options;\n }\n\n getValidator(name: string): ValidatorOption {\n if (!this.validators[name]) {\n throw new Error(`[Formly Error] The validator \"${name}\" could not be found. Please make sure that is registered through the FormlyModule declaration.`);\n }\n\n return this.validators[name];\n }\n\n addValidatorMessage(name: string, message: ValidationMessageOption['message']) {\n this.messages[name] = message;\n }\n\n getValidatorMessage(name: string) {\n return this.messages[name];\n }\n\n setManipulator(manipulator: ManipulatorOption) {\n new manipulator.class()[manipulator.method](this);\n }\n\n private mergeExtendedType(name: string) {\n if (!this.types[name].extends) {\n return;\n }\n\n const extendedType = this.getType(this.types[name].extends);\n if (!this.types[name].component) {\n this.types[name].component = extendedType.component;\n }\n\n if (!this.types[name].wrappers) {\n this.types[name].wrappers = extendedType.wrappers;\n }\n }\n}\nexport interface TypeOption {\n name: string;\n component?: any;\n wrappers?: string[];\n extends?: string;\n defaultOptions?: FormlyFieldConfig;\n}\n\nexport interface WrapperOption {\n name: string;\n component: any;\n types?: string[];\n}\n\nexport interface FieldValidatorFn {\n (c: AbstractControl, field: FormlyFieldConfig, options?: { [id: string]: any; }): ValidationErrors | null;\n}\n\nexport interface ValidatorOption {\n name: string;\n validation: FieldValidatorFn;\n options?: { [id: string]: any };\n}\n\nexport interface ExtensionOption {\n name: string;\n extension: FormlyExtension;\n}\n\nexport interface ValidationMessageOption {\n name: string;\n message: string | ((error: any, field: FormlyFieldConfig) => string | Observable<string>);\n}\n\nexport interface ManipulatorOption {\n class?: { new (): any };\n method?: string;\n}\n\nexport interface ManipulatorWrapper {\n (f: FormlyFieldConfig): string;\n}\n\nexport interface TemplateManipulators {\n preWrapper?: ManipulatorWrapper[];\n postWrapper?: ManipulatorWrapper[];\n}\n\nexport interface ConfigOption {\n types?: TypeOption[];\n wrappers?: WrapperOption[];\n validators?: ValidatorOption[];\n extensions?: ExtensionOption[];\n validationMessages?: ValidationMessageOption[];\n\n /** @deprecated use `extensions` instead */\n manipulators?: ManipulatorOption[];\n extras?: {\n /** @deprecated use `extensions` instead */\n fieldTransform?: any,\n immutable?: boolean,\n showError?: (field: FieldType) => boolean;\n\n /**\n * Defines the option which formly rely on to check field expression properties.\n * - `modelChange`: perform a check when the value of the form control changes (Will be set by default in the next major version).\n * - `changeDetectionCheck`: triggers an immediate check when `ngDoCheck` is called.\n *\n * Defaults to `changeDetectionCheck`.\n */\n checkExpressionOn?: 'modelChange' | 'changeDetectionCheck',\n\n /**\n * Whether to lazily render field components or not when marked as hidden.\n * - `true`: lazily render field components (Will be set by default in the next major version).\n * - `false`: render field components and use CSS to control their visibility.\n *\n * Defaults to `false`.\n */\n lazyRender?: boolean,\n\n /**\n * When true, reset the value of hidden fields.\n *\n * Defaults to `false`.\n */\n resetFieldOnHide?: boolean,\n };\n}\n","import { Injectable, ComponentFactoryResolver, Injector, ChangeDetectorRef } from '@angular/core';\nimport { FormGroup, FormArray } from '@angular/forms';\nimport { FormlyConfig } from './formly.config';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyFieldConfigCache, FormlyValueChangeEvent, FormlyFormOptionsCache } from '../components/formly.field.config';\nimport { Subject } from 'rxjs';\nimport { defineHiddenProp, reduceFormUpdateValidityCalls } from '../utils';\n\n@Injectable({ providedIn: 'root' })\nexport class FormlyFormBuilder {\n constructor(\n private formlyConfig: FormlyConfig,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n ) {}\n\n buildForm(formControl: FormGroup | FormArray, fieldGroup: FormlyFieldConfig[] = [], model: any, options: FormlyFormOptions) {\n if (!this.formlyConfig.extensions.core) {\n throw new Error('NgxFormly: missing `forRoot()` call. use `forRoot()` when registering the `FormlyModule`.');\n }\n\n const field = { fieldGroup, model, formControl, options: this._setOptions(options) };\n reduceFormUpdateValidityCalls(formControl, () => this._buildForm(field));\n field.options._checkField(field, true);\n }\n\n private _buildForm(field: FormlyFieldConfigCache) {\n this.getExtensions().forEach(extension => extension.prePopulate && extension.prePopulate(field));\n this.getExtensions().forEach(extension => extension.onPopulate && extension.onPopulate(field));\n\n if (field.fieldGroup) {\n field.fieldGroup.forEach((f) => this._buildForm(f));\n }\n\n this.getExtensions().forEach(extension => extension.postPopulate && extension.postPopulate(field));\n }\n\n private getExtensions() {\n return Object.keys(this.formlyConfig.extensions).map(name => this.formlyConfig.extensions[name]);\n }\n\n private _setOptions(options: FormlyFormOptionsCache) {\n options = options || {};\n options.formState = options.formState || {};\n\n if (!options.showError) {\n options.showError = this.formlyConfig.extras.showError;\n }\n\n if (!options.fieldChanges) {\n defineHiddenProp(options, 'fieldChanges', new Subject<FormlyValueChangeEvent>());\n }\n\n if (!options._resolver) {\n defineHiddenProp(options, '_resolver', this.componentFactoryResolver);\n }\n\n if (!options._injector) {\n defineHiddenProp(options, '_injector', this.injector);\n }\n\n if (!options._hiddenFieldsForCheck) {\n options._hiddenFieldsForCheck = [];\n }\n\n if (!options._markForCheck) {\n options._markForCheck = (field) => {\n if (field._componentRefs) {\n field._componentRefs.forEach(ref => {\n // NOTE: we cannot use ref.changeDetectorRef, see https://github.com/ngx-formly/ngx-formly/issues/2191\n const changeDetectorRef = ref.injector.get(ChangeDetectorRef);\n changeDetectorRef.markForCheck();\n });\n }\n\n if (field.fieldGroup) {\n field.fieldGroup.forEach(f => options._markForCheck(f));\n }\n };\n }\n\n if (!options._buildField) {\n options._buildField = (field: FormlyFieldConfig) => {\n this.buildForm(field.form, field.fieldGroup, field.model, field.options);\n return field;\n };\n }\n\n return options;\n }\n}\n","import { FormArray, FormGroup, FormControl, AbstractControl } from '@angular/forms';\nimport { FormlyFieldConfig } from '../../core';\nimport { getKeyPath, getFieldValue, isNullOrUndefined, defineHiddenProp, wrapProperty } from '../../utils';\nimport { FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { EventEmitter } from '@angular/core';\n\nexport function unregisterControl(field: FormlyFieldConfig, emitEvent = false) {\n const control = field.formControl;\n const fieldIndex = control['_fields'] ? control['_fields'].indexOf(field) : -1;\n if (fieldIndex !== -1) {\n control['_fields'].splice(fieldIndex, 1);\n }\n\n const form = control.parent as FormArray | FormGroup;\n if (!form) {\n return;\n }\n\n const opts = { emitEvent };\n if (form instanceof FormArray) {\n const key = form.controls.findIndex(c => c === control);\n if (key !== -1) {\n updateControl(form, opts, () => form.removeAt(key));\n }\n } else if (form instanceof FormGroup) {\n const paths = getKeyPath(field);\n const key = paths[paths.length - 1];\n if (form.get([key]) === control) {\n updateControl(form, opts, () => form.removeControl(key));\n }\n }\n\n control.setParent(null);\n}\n\nexport function findControl(field: FormlyFieldConfig): AbstractControl {\n if (field.formControl) {\n return field.formControl;\n }\n\n if (field['shareFormControl'] === false) {\n return null;\n }\n\n const form = field.parent.formControl as FormGroup;\n\n return form ? form.get(getKeyPath(field)) : null;\n}\n\nexport function registerControl(field: FormlyFieldConfigCache, control?: any, emitEvent = false) {\n control = control || field.formControl;\n if (!control['_fields']) {\n defineHiddenProp(control, '_fields', []);\n }\n if (control['_fields'].indexOf(field) === -1) {\n control['_fields'].push(field);\n }\n\n if (!field.formControl && control) {\n defineHiddenProp(field, 'formControl', control);\n control.setValidators(null);\n control.setAsyncValidators(null);\n\n field.templateOptions.disabled = !!field.templateOptions.disabled;\n wrapProperty(field.templateOptions, 'disabled', ({ firstChange, currentValue }) => {\n if (!firstChange) {\n currentValue ? field.formControl.disable() : field.formControl.enable();\n }\n });\n if (control.registerOnDisabledChange) {\n control.registerOnDisabledChange(\n (value: boolean) => {\n field.templateOptions['___$disabled'] = value;\n // TODO remove in V6\n field.options && field.options._markForCheck(field);\n },\n );\n }\n }\n\n let parent = field.parent.formControl as FormGroup;\n if (!parent || !field.key) {\n return;\n }\n\n const paths = getKeyPath(field);\n const value = getFieldValue(field);\n if (\n !(isNullOrUndefined(control.value) && isNullOrUndefined(value))\n && control.value !== value\n && control instanceof FormControl\n ) {\n control.patchValue(value);\n }\n\n for (let i = 0; i < (paths.length - 1); i++) {\n const path = paths[i];\n if (!parent.get([path])) {\n updateControl(\n parent,\n { emitEvent },\n () => parent.setControl(path, new FormGroup({})),\n );\n }\n\n parent = <FormGroup> parent.get([path]);\n }\n\n const key = paths[paths.length - 1];\n if (!field._hide && parent.get([key]) !== control) {\n updateControl(\n parent,\n { emitEvent },\n () => parent.setControl(key, control),\n );\n }\n}\n\nexport function updateValidity(c: AbstractControl) {\n const status = c.status;\n c.updateValueAndValidity({ emitEvent: false });\n if (status !== c.status) {\n (c.statusChanges as EventEmitter<string>).emit(c.status);\n }\n}\n\nfunction updateControl(form: FormGroup|FormArray, opts: { emitEvent: boolean }, action: Function) {\n /**\n * workaround for https://github.com/angular/angular/issues/27679\n */\n if (form instanceof FormGroup && !form['__patchForEachChild']) {\n defineHiddenProp(form, '__patchForEachChild', true);\n (form as any)._forEachChild = (cb: Function) => {\n Object\n .keys(form.controls)\n .forEach(k => form.controls[k] && cb(form.controls[k], k));\n };\n }\n\n /**\n * workaround for https://github.com/angular/angular/issues/20439\n */\n const updateValueAndValidity = form.updateValueAndValidity.bind(form);\n if (opts.emitEvent === false) {\n form.updateValueAndValidity = (opts) => {\n updateValueAndValidity({ ...(opts || {}), emitEvent: false });\n };\n }\n\n action();\n\n if (opts.emitEvent === false) {\n form.updateValueAndValidity = updateValueAndValidity;\n }\n}\n\nexport function clearControl(form: AbstractControl) {\n form['_fields'] && delete form['_fields'];\n form.setValidators(null);\n form.setAsyncValidators(null);\n if (form instanceof FormGroup || form instanceof FormArray) {\n Object.keys(form.controls)\n .forEach((k) => clearControl(form.controls[k]));\n }\n}\n","import { Component, DoCheck, OnChanges, Input, SimpleChanges, Optional, EventEmitter, Output, OnDestroy, Attribute, ViewChild, ElementRef, NgZone } from '@angular/core';\nimport { FormGroup, FormArray, FormGroupDirective, FormControl } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyFormOptionsCache } from './formly.field.config';\nimport { FormlyFormBuilder } from '../services/formly.form.builder';\nimport { FormlyConfig } from '../services/formly.config';\nimport { assignFieldValue, isNullOrUndefined, wrapProperty, clone, defineHiddenProp, getKeyPath, isObject } from '../utils';\nimport { Subscription, Subject } from 'rxjs';\nimport { debounceTime, switchMap, distinctUntilChanged, take } from 'rxjs/operators';\nimport { clearControl } from '../extensions/field-form/utils';\n\n@Component({\n selector: 'formly-form',\n template: `\n <formly-field *ngFor=\"let field of fields\"\n hide-deprecation\n [form]=\"field.form\"\n [options]=\"field.options\"\n [model]=\"field.model\"\n [field]=\"field\">\n </formly-field>\n <ng-container #content>\n <ng-content></ng-content>\n </ng-container>\n `,\n providers: [FormlyFormBuilder],\n})\nexport class FormlyForm implements DoCheck, OnChanges, OnDestroy {\n @Input() form: FormGroup | FormArray;\n\n @Input()\n set model(model: any) { this._model = this.immutable ? clone(model) : model; }\n get model() {\n if (!this._model) {\n this._model = {};\n }\n\n return this._model;\n }\n\n @Input()\n set fields(fields: FormlyFieldConfig[]) { this._fields = this.immutable ? clone(fields) : fields; }\n get fields() { return this._fields || []; }\n\n @Input()\n set options(options: FormlyFormOptions) { this._options = this.immutable ? clone(options) : options; }\n get options() { return this._options; }\n\n @Output() modelChange = new EventEmitter<any>();\n @ViewChild('content') set content(content: ElementRef<HTMLElement>) {\n if (content) {\n let hasContent = false;\n let node = content.nativeElement.nextSibling;\n while (node && !hasContent) {\n if (\n node.nodeType === Node.ELEMENT_NODE\n || node.nodeType === Node.TEXT_NODE && node.textContent && node.textContent.trim() !== ''\n ) {\n hasContent = true;\n }\n\n node = node.nextSibling;\n }\n\n if (hasContent) {\n console.warn(`NgxFormly: content projection for 'formly-form' component is deprecated since v5.5, you should avoid passing content inside the 'formly-form' tag.`);\n }\n }\n }\n\n private immutable = false;\n private _model: any;\n private _modelChangeValue: any = {};\n private _fields: FormlyFieldConfig[];\n private _options: FormlyFormOptions;\n private modelChangeSubs: Subscription[] = [];\n private modelChange$ = new Subject<void>();\n private modelChangeSub = this.modelChange$.pipe(\n switchMap(() => this.ngZone.onStable.asObservable().pipe(take(1))),\n ).subscribe(() => this.ngZone.runGuarded(() => {\n // runGuarded is used to keep the expression changes in-sync\n // https://github.com/ngx-formly/ngx-formly/issues/2095\n this.checkExpressionChange();\n this.modelChange.emit(this._modelChangeValue = clone(this.model));\n }));\n\n constructor(\n private formlyBuilder: FormlyFormBuilder,\n private formlyConfig: FormlyConfig,\n private ngZone: NgZone,\n // tslint:disable-next-line\n @Attribute('immutable') immutable,\n @Optional() private parentFormGroup: FormGroupDirective,\n ) {\n if (immutable !== null) {\n console.warn(`NgxFormly: passing 'immutable' attribute to 'formly-form' component is deprecated since v5.5, enable immutable mode through NgModule declaration instead.`);\n }\n\n this.immutable = (immutable !== null) || !!formlyConfig.extras.immutable;\n }\n\n ngDoCheck() {\n if (this.formlyConfig.extras.checkExpressionOn === 'changeDetectionCheck') {\n this.checkExpressionChange();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // https://github.com/ngx-formly/ngx-formly/issues/2294\n if (changes.model && this.field) {\n this.field.model = this.model;\n }\n\n if (changes.fields && this.form) {\n clearControl(this.form);\n }\n\n if (changes.fields || changes.form || (changes.model && this._modelChangeValue !== changes.model.currentValue)) {\n this.form = this.form || (new FormGroup({}));\n this.setOptions();\n this.options.updateInitialValue();\n this.clearModelSubscriptions();\n this.formlyBuilder.buildForm(this.form, this.fields, this.model, this.options);\n this.trackModelChanges(this.fields);\n }\n }\n\n ngOnDestroy() {\n this.modelChangeSub.unsubscribe();\n this.clearModelSubscriptions();\n }\n\n changeModel({ key, value, field }: { key: string, value: any, field: FormlyFieldConfig }) {\n assignFieldValue(field, value);\n this.modelChange$.next();\n }\n\n setOptions() {\n if (!this.options) {\n this.options = {};\n }\n\n if (!this.options.resetModel) {\n this.options.resetModel = (model ?: any) => {\n model = clone(isNullOrUndefined(model) ? (<FormlyFormOptionsCache> this.options)._initialModel : model);\n if (this.model) {\n Object.keys(this.model).forEach(k => delete this.model[k]);\n Object.assign(this.model, model || {});\n }\n\n (<FormlyFormOptionsCache> this.options)._buildForm();\n\n // we should call `NgForm::resetForm` to ensure changing `submitted` state after resetting form\n // but only when the current component is a root one.\n if (this.options.parentForm && this.options.parentForm.control === this.form) {\n this.options.parentForm.resetForm(this.model);\n } else {\n this.form.reset(this.model);\n }\n };\n }\n\n if (!this.options.parentForm && this.parentFormGroup) {\n defineHiddenProp(this.options, 'parentForm', this.parentFormGroup);\n wrapProperty(this.options.parentForm, 'submitted', ({ firstChange }) => {\n if (!firstChange) {\n this.checkExpressionChange();\n (<FormlyFormOptionsCache> this.options)._markForCheck({\n fieldGroup: this.fields,\n model: this.model,\n formControl: this.form,\n options: this.options,\n });\n }\n });\n }\n\n if (!this.options.updateInitialValue) {\n this.options.updateInitialValue = () => (<FormlyFormOptionsCache> this.options)._initialModel = clone(this.model);\n }\n\n if (!(<FormlyFormOptionsCache> this.options)._buildForm) {\n (<FormlyFormOptionsCache> this.options)._buildForm = (emitModelChange = false) => {\n this.clearModelSubscriptions();\n this.formlyBuilder.buildForm(this.form, this.fields, this.model, this.options);\n this.trackModelChanges(this.fields);\n\n if (emitModelChange) {\n this.modelChange.emit(this._modelChangeValue = clone(this.model));\n }\n };\n }\n }\n\n private checkExpressionChange() {\n if (this.options && (<FormlyFormOptionsCache> this.options)._checkField) {\n (<FormlyFormOptionsCache> this.options)._checkField({\n fieldGroup: this.fields,\n model: this.model,\n formControl: this.form,\n options: this.options,\n });\n }\n }\n\n private trackModelChanges(fields: FormlyFieldConfig[], rootKey: string[] = []) {\n fields.forEach(field => {\n if (field.key && !field.fieldGroup && field.formControl) {\n const control = field.formControl;\n let valueChanges = control.valueChanges.pipe(\n distinctUntilChanged((x, y) => {\n if (x !== y || Array.isArray(x) || isObject(x)) {\n return false;\n }\n\n return true;\n }),\n );\n\n const { updateOn, debounce } = field.modelOptions;\n if ((!updateOn || updateOn === 'change') && debounce && debounce.default > 0) {\n valueChanges = control.valueChanges.pipe(debounceTime(debounce.default));\n }\n\n this.modelChangeSubs.push(valueChanges.subscribe((value) => {\n // workaround for https://github.com/angular/angular/issues/13792\n if (control instanceof FormControl && control['_fields'] && control['_fields'].length > 1) {\n control.patchValue(value, { emitEvent: false, onlySelf: true });\n }\n\n if (field.parsers && field.parsers.length > 0) {\n field.parsers.forEach(parserFn => value = parserFn(value));\n }\n\n this.changeModel({ key: [...rootKey, ...getKeyPath(field)].join('.'), value, field });\n }));\n\n // workaround for v5 (https://github.com/ngx-formly/ngx-formly/issues/2061)\n const observers = control.valueChanges['observers'];\n if (observers && observers.length > 1) {\n observers.unshift(observers.pop());\n }\n }\n\n if (field.fieldGroup && field.fieldGroup.length > 0) {\n this.trackModelChanges(field.fieldGroup, field.key ? [...rootKey, ...getKeyPath(field)] : rootKey);\n }\n });\n }\n\n private clearModelSubscriptions() {\n this.modelChangeSubs.forEach(sub => sub.unsubscribe());\n this.modelChangeSubs = [];\n }\n\n private get field(): any {\n return this.fields && this.fields[0] && this.fields[0].parent;\n }\n}\n","import {\n Component, EventEmitter, Input, Output,\n ViewContainerRef, ViewChild, ComponentRef, SimpleChanges, Attribute, ComponentFactoryResolver,\n OnInit, OnChanges, OnDestroy, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, Renderer2, ElementRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { FormlyConfig } from '../services/formly.config';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyFieldConfigCache } from './formly.field.config';\nimport { defineHiddenProp, wrapProperty } from '../utils';\nimport { FieldWrapper } from '../templates/field.wrapper';\nimport { FieldType } from '../templates/field.type';\nimport { isObservable } from 'rxjs';\n\n@Component({\n selector: 'formly-field',\n template: `<ng-template #container></ng-template>`,\n})\nexport class FormlyField implements OnInit, OnChanges, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, OnDestroy {\n @Input() field: FormlyFieldConfig;\n\n warnDeprecation = false;\n\n @Input() set model(m: any) {\n this.warnDeprecation && console.warn(`NgxFormly: passing 'model' input to '${this.constructor.name}' component is not required anymore, you may remove it!`);\n }\n\n @Input() set form(form: FormGroup) {\n this.warnDeprecation && console.warn(`NgxFormly: passing 'form' input to '${this.constructor.name}' component is not required anymore, you may remove it!`);\n }\n\n @Input() set options(options: FormlyFormOptions) {\n this.warnDeprecation && console.warn(`NgxFormly: passing 'options' input to '${this.constructor.name}' component is not required anymore, you may remove it!`);\n }\n\n @Output() modelChange: EventEmitter<any> = new EventEmitter();\n // TODO: remove `any`, once dropping angular `V7` support.\n @ViewChild('container', <any> {read: ViewContainerRef, static: true }) containerRef: ViewContainerRef;\n private hostObservers: Function[] = [];\n private componentRefs: any[] = [];\n private hooksObservers: Function[] = [];\n private detectFieldBuild = false;\n\n constructor(\n private formlyConfig: FormlyConfig,\n private renderer: Renderer2,\n private resolver: ComponentFactoryResolver,\n private elementRef: ElementRef,\n // tslint:disable-next-line\n @Attribute('hide-deprecation') hideDeprecation,\n ) {\n this.warnDeprecation = hideDeprecation === null;\n }\n\n ngAfterContentInit() {\n this.triggerHook('afterContentInit');\n }\n\n ngAfterContentChecked() {\n this.triggerHook('afterContentChecked');\n }\n\n ngAfterViewInit() {\n this.triggerHook('afterViewInit');\n }\n\n ngAfterViewChecked() {\n this.triggerHook('afterViewChecked');\n }\n\n ngDoCheck() {\n this.triggerHook('doCheck');\n if (this.detectFieldBuild && (this.field && this.field.options)) {\n this.render();\n }\n }\n\n ngOnInit() {\n this.triggerHook('onInit');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.triggerHook('onChanges', changes);\n }\n\n ngOnDestroy() {\n this.resetRefs(this.field);\n this.hostObservers.forEach(unsubscribe => unsubscribe());\n this.hooksObservers.forEach(unsubscribe => unsubscribe());\n this.triggerHook('onDestroy');\n }\n\n private renderField(containerRef: ViewContainerRef, f: FormlyFieldConfigCache, wrappers: string[] = []) {\n if (this.containerRef === containerRef) {\n this.resetRefs(this.field);\n this.containerRef.clear();\n wrappers = this.field ? this.field.wrappers : [];\n }\n\n if (wrappers && wrappers.length > 0) {\n const [wrapper, ...wps] = wrappers;\n const { component } = this.formlyConfig.getWrapper(wrapper);\n\n const ref = containerRef.createComponent<FieldWrapper>(this.resolver.resolveComponentFactory(component));\n this.attachComponentRef(ref, f);\n wrapProperty<ViewContainerRef>(ref.instance, 'fieldComponent', ({ firstChange, previousValue, currentValue }) => {\n if (currentValue) {\n if (previousValue && previousValue['_lContainer'] === currentValue['_lContainer']) {\n return;\n }\n\n const viewRef = previousValue ? previousValue.detach() : null;\n if (viewRef && !viewRef.destroyed) {\n currentValue.insert(viewRef);\n } else {\n this.renderField(currentValue, f, wps);\n }\n\n !firstChange && ref.changeDetectorRef.detectChanges();\n }\n });\n } else if (f && f.type) {\n const { component } = this.formlyConfig.getType(f.type);\n const ref = containerRef.createComponent<FieldWrapper>(this.resolver.resolveComponentFactory(component));\n this.attachComponentRef(ref, f);\n }\n }\n\n private triggerHook(name: string, changes?: SimpleChanges) {\n if (this.field && this.field.hooks && this.field.hooks[name]) {\n if (!changes || changes.field) {\n const r = this.field.hooks[name](this.field);\n if (isObservable(r) && ['onInit', 'afterContentInit', 'afterViewInit'].indexOf(name) !== -1) {\n const sub = r.subscribe();\n this.hooksObservers.push(() => sub.unsubscribe());\n }\n }\n }\n\n if (this.field && this.field.lifecycle && this.field.lifecycle[name]) {\n this.field.lifecycle[name](\n this.field.form,\n this.field,\n this.field.model,\n this.field.options,\n );\n }\n\n if (name === 'onChanges' && changes.field) {\n this.resetRefs(changes.field.previousValue);\n this.render();\n }\n }\n\n private attachComponentRef<T extends FieldType>(ref: ComponentRef<T>, field: FormlyFieldConfigCache) {\n this.componentRefs.push(ref);\n field._componentRefs.push(ref);\n Object.assign(ref.instance, { field });\n }\n\n private render() {\n if (!this.field) {\n return;\n }\n\n // require Formly build\n if (!this.field.options) {\n this.detectFieldBuild = true;\n\n return;\n }\n\n this.detectFieldBuild = false;\n this.hostObservers.forEach(unsubscribe => unsubscribe());\n this.hostObservers = [\n wrapProperty(this.field, 'hide', ({ firstChange, currentValue }) => {\n if (!this.formlyConfig.extras.lazyRender) {\n firstChange && this.renderField(this.containerRef, this.field);\n if (!firstChange || (firstChange && currentValue)) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', currentValue ? 'none' : '');\n }\n } else {\n if (currentValue) {\n this.containerRef.clear();\n if (this.field.className) {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'class');\n }\n } else {\n this.renderField(this.containerRef, this.field);\n if (this.field.className) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'class', this.field.className);\n }\n }\n }\n }),\n wrapProperty(this.field, 'className', ({ firstChange, currentValue }) => {\n if (\n (!firstChange || (firstChange && currentValue))\n && (!this.formlyConfig.extras.lazyRender || (this.field.hide !== true))\n ) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'class', currentValue);\n }\n }),\n ];\n }\n\n private resetRefs(field: FormlyFieldConfigCache) {\n if (field) {\n if (field._componentRefs) {\n field._componentRefs = field._componentRefs.filter(ref => this.componentRefs.indexOf(ref) === -1);\n } else {\n defineHiddenProp(this.field, '_componentRefs', []);\n }\n }\n\n this.componentRefs = [];\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges, Renderer2, DoCheck, Inject, OnDestroy } from '@angular/core';\nimport { FormlyFieldConfig, FormlyTemplateOptions } from './formly.field.config';\nimport { wrapProperty, defineHiddenProp, FORMLY_VALIDATORS } from '../utils';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[formlyAttributes]',\n host: {\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur($event)',\n '(change)': 'onChange($event)',\n },\n})\nexport class FormlyAttributes implements OnChanges, DoCheck, OnDestroy {\n @Input('formlyAttributes') field: FormlyFieldConfig;\n @Input() id: string;\n\n private document: Document;\n private uiAttributesCache: any = {};\n private uiAttributes = [\n ...FORMLY_VALIDATORS,\n 'tabindex',\n 'placeholder',\n 'readonly',\n 'disabled',\n 'step',\n ];\n\n /**\n * HostBinding doesn't register listeners conditionally which may produce some perf issues.\n *\n * Formly issue: https://github.com/ngx-formly/ngx-formly/issues/1991\n */\n private uiEvents = {\n listeners: [],\n events: [\n 'click',\n 'keyup',\n 'keydown',\n 'keypress',\n ],\n };\n\n get to(): FormlyTemplateOptions { return this.field.templateOptions || {}; }\n\n private get fieldAttrElements(): ElementRef[] { return (this.field && this.field['_elementRefs']) || []; }\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) _document: any,\n ) {\n this.document = _document;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.field) {\n this.field.name && this.setAttribute('name', this.field.name);\n this.uiEvents.listeners.forEach(listener => listener());\n this.uiEvents.events.forEach(eventName => {\n if (this.to && this.to[eventName]) {\n this.uiEvents.listeners.push(\n this.renderer.listen(\n this.elementRef.nativeElement,\n eventName,\n (e) => this.to[eventName](this.field, e),\n ),\n );\n }\n });\n\n if (this.to && this.to.attributes) {\n wrapProperty(this.to, 'attributes', ({ currentValue, previousValue }) => {\n if (previousValue) {\n Object.keys(previousValue).forEach(attr => this.removeAttribute(attr));\n }\n\n if (currentValue) {\n Object.keys(currentValue).forEach(attr => {\n if (currentValue[attr] != null) {\n this.setAttribute(attr, currentValue[attr]);\n }\n });\n }\n });\n }\n\n this.detachElementRef(changes.field.previousValue);\n this.attachElementRef(changes.field.currentValue);\n if (this.fieldAttrElements.length === 1) {\n !this.id && this.field.id && this.setAttribute('id', this.field.id);\n wrapProperty(this.field, 'focus', ({ currentValue }) => {\n this.toggleFocus(currentValue);\n });\n }\n }\n\n if (changes.id) {\n this.setAttribute('id', this.id);\n }\n }\n\n /**\n * We need to re-evaluate all the attributes on every change detection cycle, because\n * by using a HostBinding we run into certain edge cases. This means that whatever logic\n * is in here has to be super lean or we risk seriously damaging or destroying the performance.\n *\n * Formly issue: https://github.com/ngx-formly/ngx-formly/issues/1317\n * Material issue: https://github.com/angular/components/issues/14024\n */\n ngDoCheck() {\n this.uiAttributes.forEach(attr => {\n const value = this.to[attr];\n if (\n this.uiAttributesCache[attr] !== value\n && (!this.to.attributes || !this.to.attributes.hasOwnProperty(attr.toLowerCase()))\n ) {\n this.uiAttributesCache[attr] = value;\n if (value || value === 0) {\n this.setAttribute(attr, value === true ? attr : `${value}`);\n } else {\n this.removeAttribute(attr);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.uiEvents.listeners.forEach(listener => listener());\n this.detachElementRef(this.field);\n }\n\n toggleFocus(value: boolean) {\n const element = this.fieldAttrElements ? this.fieldAttrElements[0] : null;\n if (!element || !element.nativeElement.focus) {\n return;\n }\n\n const isFocused = !!this.document.activeElement\n && this.fieldAttrElements\n .some(({ nativeElement }) => this.document.activeElement === nativeElement || nativeElement.contains(this.document.activeElement));\n\n if (value && !isFocused) {\n element.nativeElement.focus();\n } else if (!value && isFocused) {\n element.nativeElement.blur();\n }\n }\n\n onFocus($event: any) {\n this.field['___$focus'] = true;\n if (this.to.focus) {\n this.to.focus(this.field, $event);\n }\n }\n\n onBlur($event: any) {\n this.field['___$focus'] = false;\n if (this.to.blur) {\n this.to.blur(this.field, $event);\n }\n }\n\n onChange($event: any) {\n if (this.to.change) {\n this.to.change(this.field, $event);\n }\n\n if (this.field.formControl) {\n this.field.formControl.markAsDirty();\n }\n }\n\n private attachElementRef(f: FormlyFieldConfig) {\n if (!f) {\n return;\n }\n\n if (f['_elementRefs'] && f['_elementRefs'].indexOf(this.elementRef) === -1) {\n f['_elementRefs'].push(this.elementRef);\n } else {\n defineHiddenProp(f, '_elementRefs', [this.elementRef]);\n }\n }\n\n private detachElementRef(f: FormlyFieldConfig) {\n const index = f && f['_elementRefs'] ? this.fieldAttrElements.indexOf(this.elementRef) : -1;\n if (index !== -1) {\n this.field['_elementRefs'].splice(index, 1);\n }\n }\n\n private setAttribute(attr: string, value: string) {\n this.renderer.setAttribute(this.elementRef.nativeElement, attr, value);\n }\n\n private removeAttribute(attr: string) {\n this.renderer.removeAttribute(this.elementRef.nativeElement, attr);\n }\n}\n","import { Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\n\nexport abstract class FieldType<F extends FormlyFieldConfig = FormlyFieldConfig> {\n @Input() field: F;\n defaultOptions?: F;\n\n @Input()\n get model() { return this.field.model; }\n set model(m: any) { console.warn(`NgxFormly: passing 'model' input to '${this.constructor.name}' component is not required anymore, you may remove it!`); }\n\n @Input()\n get form() { return <FormGroup> this.field.parent.formControl; }\n set form(form) { console.warn(`NgxFormly: passing 'form' input to '${this.constructor.name}' component is not required anymore, you may remove it!`); }\n\n @Input()\n get options() { return this.field.options; }\n set options(options: F['options']) { console.warn(`NgxFormly: passing 'options' input to '${this.constructor.name}' component is not required anymore, you may remove it!`); }\n\n get key() { return this.field.key; }\n\n get formControl() { return this.field.formControl; }\n\n get to() { return this.field.templateOptions || {}; }\n\n get showError(): boolean { return this.options.showError(this); }\n\n get id(): string { return this.field.id; }\n\n get formState() { return this.options.formState || {}; }\n}\n\n/**\n * @deprecated use `FieldType` instead\n */\nexport abstract class Field extends FieldType {\n constructor() {\n super();\n console.warn(`NgxFormly: 'Field' has been renamed to 'FieldType', extend 'FieldType' instead.`);\n }\n}\n","import { Inject, Optional } from '@angular/core';\nimport { FormArray } from '@angular/forms';\nimport { FieldType } from './field.type';\nimport { clone, isNullOrUndefined, assignFieldValue } from '../utils';\nimport { FormlyFormBuilder } from '../services/formly.form.builder';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\nimport { FORMLY_CONFIG, FormlyExtension } from '../services/formly.config';\nimport { registerControl, unregisterControl, findControl } from '../extensions/field-form/utils';\nimport { Directive } from '@angular/core';\n\n// TODO remove `selector` in V6\n// tslint:disable-next-line\n@Directive({ selector: '[ɵfieldArray]' })\nexport abstract class FieldArrayType<F extends FormlyFieldConfig = FormlyFieldConfig> extends FieldType<F> implements FormlyExtension {\n get formControl() {\n return this.field.formControl as FormArray;\n }\n\n defaultOptions: any = {\n defaultValue: [],\n };\n\n constructor(@Inject(FORMLY_CONFIG) @Optional() builder?: FormlyFormBuilder) {\n super();\n\n if (builder instanceof FormlyFormBuilder) {\n console.warn(`NgxFormly: passing 'FormlyFormBuilder' to '${this.constructor.name}' type is not required anymore, you may remove it!`);\n }\n }\n\n onPopulate(field: FormlyFieldConfig) {\n if (!field.formControl && field.key) {\n const control = findControl(field);\n registerControl(field, control ? control : new FormArray([], { updateOn: field.modelOptions.updateOn }));\n }\n\n field.fieldGroup = field.fieldGroup || [];\n\n const length = field.model ? field.model.length : 0;\n if (field.fieldGroup.length > length) {\n for (let i = field.fieldGroup.length - 1; i >= length; --i) {\n unregisterControl(field.fieldGroup[i]);\n field.fieldGroup.splice(i, 1);\n }\n }\n\n for (let i = field.fieldGroup.length; i < length; i++) {\n const f = { ...clone(field.fieldArray), key: `${i}` };\n field.fieldGroup.push(f);\n }\n }\n\n add(i?: number, initialModel?: any, { markAsDirty } = { markAsDirty: true }) {\n i = isNullOrUndefined(i) ? this.field.fieldGroup.length : i;\n if (!this.model) {\n assignFieldValue(this.field, []);\n }\n\n this.model.splice(i, 0, initialModel ? clone(initialModel) : undefined);\n\n (<any> this.options)._buildForm(true);\n markAsDirty && this.formControl.markAsDirty();\n }\n\n remove(i: number, { markAsDirty } = { markAsDirty: true }) {\n this.model.splice(i, 1);\n unregisterControl(this.field.fieldGroup[i], true);\n this.field.fieldGroup.splice(i, 1);\n this.field.fieldGroup.forEach((f, key) => f.key = `${key}`);\n\n (<any> this.options)._buildForm(true);\n markAsDirty && this.formControl.markAsDirty();\n }\n}\n","import { ViewContainerRef, ViewChild } from '@angular/core';\nimport { FieldType } from './field.type';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\n\nexport abstract class FieldWrapper<F extends FormlyFieldConfig = FormlyFieldConfig> extends FieldType<F> {\n // TODO: remove `any`, once dropping angular `V7` support.\n @ViewChild('fieldComponent', <any>{ read: ViewContainerRef, static: false }) fieldComponent: ViewContainerRef;\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from './field.type';\n\n@Component({\n selector: 'formly-group',\n template: `\n <formly-field *ngFor=\"let f of field.fieldGroup\" [field]=\"f\"></formly-field>\n <ng-content></ng-content>\n `,\n host: {\n '[class]': 'field.fieldGroupClassName || \"\"',\n },\n})\nexport class FormlyGroup extends FieldType {\n defaultOptions = {\n defaultValue: {},\n };\n}\n","import { Component, Input, ChangeDetectionStrategy, OnChanges } from '@angular/core';\nimport { FormlyConfig, ValidationMessageOption } from '../services/formly.config';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\nimport { isObject } from '../utils';\nimport { Observable, isObservable, of } from 'rxjs';\nimport { merge } from 'rxjs';\nimport { startWith, switchMap, filter } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-validation-message',\n template: `{{ errorMessage$ | async }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyValidationMessage implements OnChanges {\n @Input() field: FormlyFieldConfig;\n errorMessage$: Observable<string>;\n\n constructor(private formlyConfig: FormlyConfig) {}\n\n ngOnChanges() {\n this.errorMessage$ = merge(\n this.field.formControl.statusChanges,\n (\n !this.field.options\n ? of(null)\n : this.field.options.fieldChanges.pipe(\n filter(({ field, type, property }) => {\n return (field === this.field)\n && (type === 'expressionChanges')\n && (property.indexOf('validation') !== -1)\n ;\n }),\n )\n ),\n ).pipe(\n startWith(null),\n switchMap(() => isObservable(this.errorMessage)\n ? this.errorMessage\n : of(this.errorMessage),\n ),\n );\n }\n\n get errorMessage() {\n const fieldForm = this.field.formControl;\n for (let error in fieldForm.errors) {\n if (fieldForm.errors.hasOwnProperty(error)) {\n let message: ValidationMessageOption['message'] = this.formlyConfig.getValidatorMessage(error);\n\n if (isObject(fieldForm.errors[error])) {\n if (fieldForm.errors[error].errorPath) {\n return;\n }\n\n if (fieldForm.errors[error].message) {\n message = fieldForm.errors[error].message;\n }\n }\n\n if (this.field.validation && this.field.validation.messages && this.field.validation.messages[error]) {\n message = this.field.validation.messages[error];\n }\n\n if (this.field.validators && this.field.validators[error] && this.field.validators[error].message) {\n message = this.field.validators[error].message;\n }\n\n if (this.field.asyncValidators && this.field.asyncValidators[error] && this.field.asyncValidators[error].message) {\n message = this.field.asyncValidators[error].message;\n }\n\n if (typeof message === 'function') {\n return message(fieldForm.errors[error], this.field);\n }\n\n return message;\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FieldType } from './field.type';\n\n@Component({\n selector: 'formly-template',\n template: `<div [innerHtml]=\"template\"></div>`,\n})\nexport class FormlyTemplateType extends FieldType {\n get template() {\n if (this.field && (this.field.template !== this.innerHtml.template)) {\n this.innerHtml = {\n template: this.field.template,\n content: this.to.safeHtml\n ? this.sanitizer.bypassSecurityTrustHtml(this.field.template)\n : this.field.template,\n };\n }\n\n return this.innerHtml.content;\n }\n\n private innerHtml = { content: null, template: null };\n constructor(private sanitizer: DomSanitizer) {\n super();\n }\n}\n","export function evalStringExpression(expression: string, argNames: string[]) {\n try {\n if (expression.indexOf('this.field') !== -1) {\n console.warn(`NgxFormly: using 'this.field' in expressionProperties is deprecated since v5.1, use 'field' instead.`);\n }\n\n return Function(...argNames, `return ${expression};`) as any;\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function evalExpressionValueSetter(expression: string, argNames: string[]) {\n try {\n return Function(...argNames, `${expression} = expressionValue;`) as (value: any) => void;\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function evalExpression(expression: string | Function | boolean, thisArg: any, argVal: any[]): any {\n if (expression instanceof Function) {\n return expression.apply(thisArg, argVal);\n } else {\n return expression ? true : false;\n }\n}\n","import { FormlyFieldConfig, FormlyValueChangeEvent, FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { isObject, isNullOrUndefined, isUndefined, isFunction, defineHiddenProp, wrapProperty, reduceFormUpdateValidityCalls, getFieldValue, assignFieldValue } from '../../utils';\nimport { evalExpression, evalStringExpression } from './utils';\nimport { isObservable, Observable, Subscription } from 'rxjs';\nimport { FormlyExtension } from '../../services/formly.config';\nimport { unregisterControl, registerControl, updateValidity } from '../field-form/utils';\nimport { FormArray } from '@angular/forms';\n\n/** @experimental */\nexport class FieldExpressionExtension implements FormlyExtension {\n prePopulate(field: FormlyFieldConfigCache) {\n if (field.parent || field.options._checkField) {\n return;\n }\n\n let checkLocked = false;\n field.options._checkField = (f, ignoreCache) => {\n if (!checkLocked) {\n checkLocked = true;\n reduceFormUpdateValidityCalls(\n f.formControl,\n () => this.checkField(f, ignoreCache),\n );\n checkLocked = false;\n }\n };\n }\n\n postPopulate(field: FormlyFieldConfigCache) {\n if (!field.parent || field._expressionProperties) {\n return;\n }\n\n // cache built expression\n defineHiddenProp(field, '_expressionProperties', {});\n\n if (field.expressionProperties) {\n for (const key in field.expressionProperties) {\n const expressionProperty = field.expressionProperties[key];\n\n if (typeof expressionProperty === 'string' || isFunction(expressionProperty)) {\n field._expressionProperties[key] = {\n expression: this._evalExpression(\n key,\n expressionProperty,\n key === 'templateOptions.disabled' && field.parent.expressionProperties && field.parent.expressionProperties.hasOwnProperty('templateOptions.disabled')\n ? () => field.parent.templateOptions.disabled\n : undefined,\n ),\n };\n if (key === 'templateOptions.disabled') {\n Object.defineProperty(field._expressionProperties[key], 'expressionValue', {\n get: () => field.templateOptions.disabled,\n set: () => { },\n enumerable: true,\n configurable: true,\n });\n }\n } else if (expressionProperty instanceof Observable) {\n const subscribe = () => (expressionProperty as Observable<any>)\n .subscribe(v => {\n this.setExprValue(field, key, v);\n if (field.options && field.options._markForCheck) {\n field.options._markForCheck(field);\n }\n });\n\n let subscription: Subscription = subscribe();\n const onInit = field.hooks.onInit;\n field.hooks.onInit = () => {\n if (subscription === null) {\n subscription = subscribe();\n }\n return onInit && onInit(field);\n };\n\n const onDestroy = field.hooks.onDestroy;\n field.hooks.onDestroy = () => {\n onDestroy && onDestroy(field);\n subscription.unsubscribe();\n subscription = null;\n };\n }\n }\n }\n\n if (field.hideExpression) {\n // delete hide value in order to force re-evaluate it in FormlyFormExpression.\n delete field.hide;\n\n field.hideExpression = this._evalExpression(\n 'hide',\n field.hideExpression,\n () => {\n let root = field.parent;\n while (root.parent && !root.hide) {\n root = root.parent;\n }\n\n return root.hide;\n },\n );\n } else {\n wrapProperty(field, 'hide', ({ currentValue, firstChange }) => {\n field._hide = currentValue;\n if (!firstChange || (firstChange && currentValue === true)) {\n field.options._hiddenFieldsForCheck.push(field);\n }\n });\n }\n }\n\n private _evalExpression(prop: string, expression, parentExpression?) {\n return (...args) => {\n try {\n if (typeof expression === 'string') {\n expression = evalStringExpression(expression, ['model', 'formState', 'field']);\n }\n\n if (typeof expression !== 'function') {\n expression = () => !!expression;\n }\n\n return (parentExpression && parentExpression()) || expression(...args);\n } catch (error) {\n error.message = `[Formly Error] [Expression \"${prop}\"] ${error.message}`;\n throw error;\n }\n };\n }\n\n private checkField(field: FormlyFieldConfigCache, ignoreCache = false) {\n const fieldChanged = this._checkField(field, ignoreCache);\n\n field.options._hiddenFieldsForCheck\n .sort(f => f.hide ? -1 : 1)\n .forEach(f => this.toggleFormControl(f, !!f.hide, !ignoreCache));\n\n field.options._hiddenFieldsForCheck = [];\n if (fieldChanged) {\n this.checkField(field);\n if (field.options && field.options._markForCheck) {\n field.options._markForCheck(field);\n }\n }\n }\n\n private _checkField(field: FormlyFieldConfigCache, ignoreCache = false) {\n let fieldChanged = false;\n field.fieldGroup.forEach(f => {\n if (!f.options) {\n return;\n }\n\n this.checkFieldExpressionChange(f, ignoreCache) && (fieldChanged = true);\n if (this.checkFieldVisibilityChange(f, ignoreCache)) {\n field.options._hiddenFieldsForCheck.push(f);\n fieldChanged = true;\n }\n\n if (f.fieldGroup && f.fieldGroup.length > 0) {\n this._checkField(f, ignoreCache) && (fieldChanged = true);\n }\n });\n\n return fieldChanged;\n }\n\n private checkFieldExpressionChange(field: FormlyFieldConfigCache, ignoreCache): boolean {\n if (!field || !field._expressionProperties) {\n return false;\n }\n\n let markForCheck = false;\n const expressionProperties = field._expressionProperties;\n\n for (const key in expressionProperties) {\n let expressionValue = evalExpression(expressionProperties[key].expression, { field }, [field.model, field.options.formState, field, ignoreCache]);\n if (key === 'templateOptions.disabled') {\n expressionValue = !!expressionValue;\n }\n\n if (\n ignoreCache || (\n expressionProperties[key].expressionValue !== expressionValue\n && (\n !(isObject(expressionValue) || isFunction(expressionValue))\n || (\n isFunction(expressionValue)\n && ('' + expressionProperties[key].expressionValue !== '' + expressionValue)\n )\n || isObservable(expressionValue)\n || JSON.stringify(expressionValue) !== JSON.stringify(expressionProperties[key].expressionValue)\n )\n )\n ) {\n markForCheck = true;\n expressionProperties[key].expressionValue = expressionValue;\n this.setExprValue(field, key, expressionValue);\n }\n }\n\n return markForCheck;\n }\n\n private checkFieldVisibilityChange(field: FormlyFieldConfigCache, ignoreCache): boolean {\n if (!field || isNullOrUndefined(field.hideExpression)) {\n return false;\n }\n\n const hideExpressionResult: boolean = !!evalExpression(\n field.hideExpression,\n { field },\n [field.model, field.options.formState, field, ignoreCache],\n );\n let markForCheck = false;\n if (hideExpressionResult !== field.hide || ignoreCache) {\n markForCheck = true;\n // toggle hide\n field.hide = hideExpressionResult;\n field.templateOptions.hidden = hideExpressionResult;\n }\n\n return markForCheck;\n }\n\n private setDisabledState(field: FormlyFieldConfig, value: boolean) {\n if (field.fieldGroup) {\n field.fieldGroup\n .filter(f => !f.expressionProperties || !f.expressionProperties.hasOwnProperty('templateOptions.disabled'))\n .forEach(f => this.setDisabledState(f, value));\n }\n\n if (field.key && field.templateOptions.disabled !== value) {\n field.templateOptions.disabled = value;\n }\n }\n\n private toggleFormControl(field: FormlyFieldConfigCache, hide: boolean, resetOnHide: boolean) {\n if (field.fieldGroup) {\n field.fieldGroup\n .filter(f => !f.hideExpression)\n .forEach(f => this.toggleFormControl(f, hide, resetOnHide));\n }\n\n if (field.formControl && field.key) {\n defineHiddenProp(field, '_hide', !!(hide || field.hide));\n const c = field.formControl;\n if (c['_fields'] && c['_fields'].length > 1) {\n updateValidity(c);\n }\n\n if (hide === true && (!c['_fields'] || c['_fields'].every(f => !!f._hide))) {\n unregisterControl(field, true);\n if (resetOnHide && field.resetOnHide) {\n field.formControl.reset({ value: undefined, disabled: field.formControl.disabled });\n if (field.fieldGroup) {\n assignFieldValue(field, undefined);\n\n if (field.formControl instanceof FormArray) {\n field.fieldGroup.length = 0;\n }\n }\n }\n } else if (hide === false) {\n if (field.resetOnHide && field.parent && !isUndefined(field.defaultValue) && isUndefined(getFieldValue(field))) {\n assignFieldValue(field, field.defaultValue);\n }\n registerControl(field, undefined, true);\n if (field.resetOnHide && field.fieldArray && (field.fieldGroup || []).length !== (field.model || []).length) {\n (<any> field.options)._buildForm(true);\n }\n }\n }\n\n if (field.options.fieldChanges) {\n field.options.fieldChanges.next(<FormlyValueChangeEvent> { field, type: 'hidden', value: hide });\n }\n }\n\n private setExprValue(field: FormlyFieldConfigCache, prop: string, value: any) {\n try {\n let target = field;\n const paths = prop.indexOf('[') === -1\n ? prop.split('.')\n : prop\n .replace(/\\'|\\\"/g, '')\n .split(/[[\\]]{1,2}/) // https://stackoverflow.com/a/20198206\n .filter(v => v)\n ;\n const lastIndex = paths.length - 1;\n for (let i = 0; i < lastIndex; i++) {\n target = target[paths[i]];\n }\n\n target[paths[lastIndex]] = value;\n } catch (error) {\n error.message = `[Formly Error] [Expression \"${prop}\"] ${error.message}`;\n throw error;\n }\n\n if (prop === 'templateOptions.disabled' && field.key) {\n this.setDisabledState(field, value);\n }\n\n if (prop.indexOf('model.') === 0) {\n const path = prop.replace(/^model\\./, ''),\n control = field.key && prop === path ? field.formControl : field.parent.formControl.get(path);\n\n if (\n control\n && !(isNullOrUndefined(control.value) && isNullOrUndefined(value))\n && control.value !== value\n ) {\n control.patchValue(value);\n }\n }\n\n this.emitExpressionChanges(field, prop, value);\n }\n\n private emitExpressionChanges(field: FormlyFieldConfigCache, property: string, value: any) {\n if (!field.options.fieldChanges) {\n return;\n }\n\n field.options.fieldChanges.next({\n field: field,\n type: 'expressionChanges',\n property,\n value,\n });\n }\n}\n","import { FormlyExtension, FormlyConfig, ValidatorOption } from '../../services/formly.config';\nimport { FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { AbstractControl, Validators, ValidatorFn } from '@angular/forms';\nimport { FORMLY_VALIDATORS, defineHiddenProp, isPromise, wrapProperty, clone, isObject } from '../../utils';\nimport { updateValidity } from '../field-form/utils';\nimport { isObservable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/** @experimental */\nexport class FieldValidationExtension implements FormlyExtension {\n constructor(private formlyConfig: FormlyConfig) {}\n\n onPopulate(field: FormlyFieldConfigCache) {\n this.initFieldValidation(field, 'validators');\n this.initFieldValidation(field, 'asyncValidators');\n }\n\n private initFieldValidation(field: FormlyFieldConfigCache, type: 'validators' | 'asyncValidators') {\n const validators: ValidatorFn[] = [];\n if (type === 'validators' && !(field.hasOwnProperty('fieldGroup') && !field.key)) {\n validators.push(this.getPredefinedFieldValidation(field));\n }\n\n if (field[type]) {\n for (const validatorName in field[type]) {\n if (validatorName === 'validation' && !Array.isArray(field[type].validation)) {\n field[type].validation = [field[type].validation];\n console.warn(`NgxFormly(${field.key}): passing a non array value to the 'validation' is deprecated, pass an array instead`);\n }\n\n validatorName === 'validation'\n ? validators.push(...field[type].validation.map(v => this.wrapNgValidatorFn(field, v)))\n : validators.push(this.wrapNgValidatorFn(field, field[type][validatorName], validatorName))\n ;\n }\n }\n\n defineHiddenProp(field, '_' + type, validators);\n }\n\n private getPredefinedFieldValidation(field: FormlyFieldConfigCache): ValidatorFn {\n let VALIDATORS = [];\n FORMLY_VALIDATORS.forEach(opt => wrapProperty(field.templateOptions, opt, ({ currentValue, firstChange }) => {\n VALIDATORS = VALIDATORS.filter(o => o !== opt);\n if (currentValue != null && currentValue !== false) {\n VALIDATORS.push(opt);\n }\n if (!firstChange && field.formControl) {\n updateValidity(field.formControl);\n }\n }));\n\n return (control: AbstractControl) => {\n if (VALIDATORS.length === 0) {\n return null;\n }\n\n return Validators.compose(VALIDATORS.map(opt => () => {\n const value = field.templateOptions[opt];\n switch (opt) {\n case 'required':\n return Validators.required(control);\n case 'pattern':\n return Validators.pattern(value)(control);\n case 'minLength':\n return Validators.minLength(value)(control);\n case 'maxLength':\n return Validators.maxLength(value)(control);\n case 'min':\n return Validators.min(value)(control);\n case 'max':\n return Validators.max(value)(control);\n }\n }))(control);\n };\n }\n\n private wrapNgValidatorFn(field: FormlyFieldConfigCache, validator: any, validatorName?: string) {\n let validatorOption: ValidatorOption = null;\n if (typeof validator === 'string') {\n validatorOption = clone(this.formlyConfig.getValidator(validator));\n }\n\n if (typeof validator === 'object' && validator.name) {\n validatorOption = clone(this.formlyConfig.getValidator(validator.name));\n if (validator.options) {\n validatorOption.options = validator.options;\n }\n }\n\n if (typeof validator === 'object' && validator.expression) {\n const { expression, ...options } = validator;\n validatorOption = {\n name: validatorName,\n validation: expression,\n options: Object.keys(options).length > 0 ? options : null,\n };\n }\n\n if (typeof validator === 'function') {\n validatorOption = {\n name: validatorName,\n validation: validator,\n };\n }\n\n return (control: AbstractControl) => {\n const errors: any = validatorOption.validation(control, field, validatorOption.options);\n if (isPromise(errors)) {\n return errors.then(v => this.handleAsyncResult(field, validatorName ? !!v : v, validatorOption));\n }\n\n if (isObservable(errors)) {\n return errors.pipe(map(v => this.handleAsyncResult(field, validatorName ? !!v : v, validatorOption)));\n }\n\n return this.handleResult(field, validatorName ? !!errors : errors, validatorOption);\n };\n }\n\n private handleAsyncResult(field: FormlyFieldConfigCache, errors: any, options: ValidatorOption) {\n // workaround for https://github.com/angular/angular/issues/13200\n if (field.options && field.options._markForCheck) {\n field.options._markForCheck(field);\n }\n\n return this.handleResult(field, errors, options);\n }\n\n private handleResult(field: FormlyFieldConfigCache, errors: any, { name, options }: ValidatorOption) {\n if (typeof errors === 'boolean') {\n errors = errors ? null : { [name]: options ? options : true };\n }\n\n const ctrl = field.formControl;\n ctrl['_childrenErrors'] && ctrl['_childrenErrors'][name] && ctrl['_childrenErrors'][name]();\n\n if (isObject(errors)) {\n Object.keys(errors).forEach(name => {\n const errorPath = errors[name].errorPath\n ? errors[name].errorPath\n : (options || {}).errorPath;\n\n const childCtrl = errorPath ? field.formControl.get(errorPath) : null;\n if (childCtrl) {\n const { errorPath, ...opts } = errors[name];\n childCtrl.setErrors({ ...(childCtrl.errors || {}), [name]: opts });\n\n !ctrl['_childrenErrors'] && defineHiddenProp(ctrl, '_childrenErrors', {});\n ctrl['_childrenErrors'][name] = () => {\n const { [name]: toDelete, ...childErrors } = childCtrl.errors || {};\n childCtrl.setErrors(Object.keys(childErrors).length === 0 ? null : childErrors);\n };\n }\n });\n }\n\n return errors;\n }\n}\n","import { FormlyExtension, FormlyConfig } from '../../services/formly.config';\nimport { FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { FormGroup, FormControl, AbstractControlOptions, Validators, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\nimport { getFieldValue, defineHiddenProp } from '../../utils';\nimport { registerControl, findControl, updateValidity as updateControlValidity } from './utils';\nimport { of } from 'rxjs';\n\n/** @experimental */\nexport class FieldFormExtension implements FormlyExtension {\n constructor(private config: FormlyConfig) { }\n\n onPopulate(field: FormlyFieldConfigCache) {\n if (!field.parent) {\n return;\n }\n\n if (field.fieldGroup && !field.key) {\n defineHiddenProp(field, 'formControl', field.parent.formControl);\n } else {\n this.addFormControl(field);\n }\n }\n\n postPopulate(field: FormlyFieldConfigCache) {\n if (field.parent) {\n return;\n }\n\n const fieldsToUpdate = this.setValidators(field);\n if (fieldsToUpdate.length === 0) {\n return;\n }\n\n if (fieldsToUpdate.length === 1) {\n let control = fieldsToUpdate[0].formControl;\n while (control) {\n (control as any)._updateTreeValidity({ onlySelf: true });\n control = control.parent;\n }\n } else {\n (field.formControl as any)._updateTreeValidity();\n }\n }\n\n private addFormControl(field: FormlyFieldConfigCache) {\n let control = findControl(field);\n if (!control) {\n const controlOptions: AbstractControlOptions = { updateOn: field.modelOptions.updateOn };\n const value = field.key ? getFieldValue(field) : field.defaultValue;\n\n const ref = this.config ? this.config.resolveFieldTypeRef(field) : null;\n if (ref && ref.componentType && ref.componentType['createControl']) {\n const component = ref.componentType;\n console.warn(`NgxFormly: '${component.name}::createControl' is deprecated since v5.0, use 'prePopulate' hook instead.`);\n control = component['createControl'](value, field);\n } else if (field.fieldGroup) {\n // TODO: move to postPopulate\n control = new FormGroup({}, controlOptions);\n } else {\n control = new FormControl(value, controlOptions);\n }\n }\n\n registerControl(field, control);\n }\n\n private setValidators(field: FormlyFieldConfigCache) {\n let updateValidity = false;\n if (field.key || !field.parent || (!field.key && !field.fieldGroup)) {\n const { formControl: c } = field;\n const disabled = field.templateOptions ? field.templateOptions.disabled : false;\n if (field.key && c) {\n if (disabled && c.enabled) {\n c.disable({ emitEvent: false, onlySelf: true });\n if (!c.parent) {\n updateControlValidity(c);\n } else {\n updateValidity = true;\n }\n }\n\n if (!disabled && c.disabled) {\n c.enable({ emitEvent: false, onlySelf: true });\n if (!c.parent) {\n updateControlValidity(c);\n } else {\n updateValidity = true;\n }\n }\n }\n\n\n if (c && (null === c.validator || null === c.asyncValidator)) {\n c.setValidators(() => {\n const v = Validators.compose(this.mergeValidators<ValidatorFn>(field, '_validators'));\n\n return v ? v(c) : null;\n });\n c.setAsyncValidators(() => {\n const v = Validators.composeAsync(this.mergeValidators<AsyncValidatorFn>(field, '_asyncValidators'));\n\n return v ? v(c) : of(null);\n });\n\n if (!c.parent) {\n updateControlValidity(c);\n } else {\n updateValidity = true;\n }\n }\n }\n\n const fieldsToUpdate = updateValidity ? [field] : [];\n (field.fieldGroup || []).forEach(f => {\n const childrenToUpdate = this.setValidators(f);\n if (!updateValidity) {\n fieldsToUpdate.push(...childrenToUpdate);\n }\n });\n\n return fieldsToUpdate;\n }\n\n private mergeValidators<T>(field: FormlyFieldConfigCache, type: '_validators' | '_asyncValidators'): T[] {\n const validators: any = [];\n const c = field.formControl;\n if (c && c['_fields'] && c['_fields'].length > 1) {\n c['_fields']\n .filter((f: FormlyFieldConfigCache) => !f._hide)\n .forEach((f: FormlyFieldConfigCache) => validators.push(...f[type]));\n } else if (field[type]) {\n validators.push(...field[type]);\n }\n\n if (field.fieldGroup) {\n field.fieldGroup\n .filter(f => !f.key && f.fieldGroup)\n .forEach(f => validators.push(...this.mergeValidators(f, type)));\n }\n\n return validators;\n }\n}\n","import { FormlyExtension, FormlyConfig, TemplateManipulators } from '../../services/formly.config';\nimport { FormlyFieldConfigCache, FormlyFieldConfig } from '../../components/formly.field.config';\nimport { FormGroup } from '@angular/forms';\nimport { getFieldId, isUndefined, getFieldValue, reverseDeepMerge, assignFieldValue } from '../../utils';\n\n/** @experimental */\nexport class CoreExtension implements FormlyExtension {\n private formId = 0;\n constructor(private formlyConfig: FormlyConfig) { }\n\n prePopulate(field: FormlyFieldConfigCache) {\n this.getFieldComponentInstance(field).prePopulate();\n if (field.parent) {\n return;\n }\n\n const fieldTransforms = (field.options && field.options.fieldTransform) || this.formlyConfig.extras.fieldTransform;\n (Array.isArray(fieldTransforms) ? fieldTransforms : [fieldTransforms]).forEach(fieldTransform => {\n if (fieldTransform) {\n console.warn(`NgxFormly: fieldTransform is deprecated since v5.0, use custom extension instead.`);\n const fieldGroup = fieldTransform(field.fieldGroup, field.model, <FormGroup>field.formControl, field.options);\n if (!fieldGroup) {\n throw new Error('fieldTransform must return an array of fields');\n }\n }\n });\n }\n\n onPopulate(field: FormlyFieldConfigCache) {\n this.initFieldOptions(field);\n this.getFieldComponentInstance(field).onPopulate();\n if (field.fieldGroup) {\n field.fieldGroup.forEach((f, index) => {\n Object.defineProperty(f, 'parent', { get: () => field, configurable: true });\n Object.defineProperty(f, 'index', { get: () => index, configurable: true });\n this.formId++;\n });\n }\n }\n\n postPopulate(field: FormlyFieldConfigCache) {\n this.getFieldComponentInstance(field).postPopulate();\n }\n\n private initFieldOptions(field: FormlyFieldConfigCache) {\n const root = <FormlyFieldConfigCache> field.parent;\n if (!root) {\n return;\n }\n\n Object.defineProperty(field, 'form', { get: () => root.formControl, configurable: true });\n Object.defineProperty(field, 'options', { get: () => root.options, configurable: true });\n Object.defineProperty(field, 'model', {\n get: () => field.key && field.fieldGroup ? getFieldValue(field) : root.model,\n configurable: true,\n });\n\n reverseDeepMerge(field, {\n id: getFieldId(`formly_${this.formId}`, field, field['index']),\n hooks: {},\n modelOptions: {},\n validation: { messages: {} },\n templateOptions: !field.type || !field.key ? {} : {\n label: '',\n placeholder: '',\n focus: false,\n disabled: false,\n },\n });\n\n if (this.formlyConfig.extras.resetFieldOnHide && field.resetOnHide !== false) {\n field.resetOnHide = true;\n }\n\n if (field.lifecycle) {\n console.warn(`NgxFormly: 'lifecycle' is deprecated since v5.0, use 'hooks' instead.`);\n }\n\n if (\n field.type !== 'formly-template'\n && (\n field.template\n || (field.expressionProperties && field.expressionProperties.template)\n )\n ) {\n if (field.type) {\n console.warn(`NgxFormly: passing 'type' property is not allowed when 'template' is set.`);\n }\n field.type = 'formly-template';\n }\n\n if (!field.type && field.fieldGroup) {\n field.type = 'formly-group';\n }\n\n if (field.type) {\n this.formlyConfig.getMergedField(field);\n }\n\n if (field.parent) {\n let setDefaultValue = !isUndefined(field.key)\n && !isUndefined(field.defaultValue)\n && isUndefined(getFieldValue(field))\n && (!field.resetOnHide || !(field.hide || field.hideExpression));\n if (setDefaultValue && field.resetOnHide) {\n let parent = field.parent;\n while (parent && !parent.hideExpression && !parent.hide) {\n parent = parent.parent;\n }\n setDefaultValue = !parent || !(parent.hideExpression || parent.hide);\n }\n\n if (setDefaultValue) {\n assignFieldValue(field, field.defaultValue);\n }\n }\n\n this.initFieldWrappers(field);\n }\n\n private initFieldWrappers(field: FormlyFieldConfig) {\n field.wrappers = field.wrappers || [];\n const fieldTemplateManipulators: TemplateManipulators = {\n preWrapper: [],\n postWrapper: [],\n ...(field.templateOptions.templateManipulators || {}),\n };\n\n field.wrappers = [\n ...this.formlyConfig.templateManipulators.preWrapper.map(m => m(field)),\n ...fieldTemplateManipulators.preWrapper.map(m => m(field)),\n ...field.wrappers,\n ...this.formlyConfig.templateManipulators.postWrapper.map(m => m(field)),\n ...fieldTemplateManipulators.postWrapper.map(m => m(field)),\n ].filter((el, i, a) => el && i === a.indexOf(el));\n }\n\n private getFieldComponentInstance(field: FormlyFieldConfigCache) {\n const componentRef = this.formlyConfig.resolveFieldTypeRef(field);\n const instance: FormlyExtension = componentRef ? componentRef.instance as any : {};\n\n return {\n prePopulate: () => instance.prePopulate && instance.prePopulate(field),\n onPopulate: () => instance.onPopulate && instance.onPopulate(field),\n postPopulate: () => instance.postPopulate && instance.postPopulate(field),\n };\n }\n}\n","import { NgModule, ModuleWithProviders, ANALYZE_FOR_ENTRY_COMPONENTS, Inject, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyForm } from './components/formly.form';\nimport { FormlyField } from './components/formly.field';\nimport { FormlyAttributes } from './components/formly.attributes';\nimport { FormlyConfig, ConfigOption, FORMLY_CONFIG } from './services/formly.config';\nimport { FormlyFormBuilder } from './services/formly.form.builder';\nimport { FormlyGroup } from './templates/formly.group';\nimport { FormlyValidationMessage } from './templates/formly.validation-message';\nimport { FormlyTemplateType } from './templates/field-template.type';\n\nimport { FieldExpressionExtension } from './extensions/field-expression/field-expression';\nimport { FieldValidationExtension } from './extensions/field-validation/field-validation';\nimport { FieldFormExtension } from './extensions/field-form/field-form';\nimport { CoreExtension } from './extensions/core/core';\nimport { FieldArrayType } from './templates/field-array.type';\n\nexport function defaultFormlyConfig(formlyConfig: FormlyConfig): ConfigOption {\n return {\n types: [\n { name: 'formly-group', component: FormlyGroup },\n { name: 'formly-template', component: FormlyTemplateType },\n ],\n extensions: [\n { name: 'core', extension: new CoreExtension(formlyConfig) },\n { name: 'field-validation', extension: new FieldValidationExtension(formlyConfig) },\n { name: 'field-form', extension: new FieldFormExtension(formlyConfig) },\n { name: 'field-expression', extension: new FieldExpressionExtension() },\n ],\n };\n}\n\n@NgModule({\n declarations: [\n FormlyForm,\n FormlyField,\n FormlyAttributes,\n FormlyGroup,\n FormlyValidationMessage,\n FormlyTemplateType,\n FieldArrayType as any,\n ],\n entryComponents: [FormlyGroup, FormlyTemplateType],\n exports: [FormlyForm, FormlyField, FormlyAttributes, FormlyGroup, FormlyValidationMessage],\n imports: [CommonModule],\n})\nexport class FormlyModule {\n static forRoot(config: ConfigOption = {}): ModuleWithProviders<FormlyModule> {\n return {\n ngModule: FormlyModule,\n providers: [\n { provide: FORMLY_CONFIG, multi: true, useFactory: defaultFormlyConfig, deps: [FormlyConfig] },\n { provide: FORMLY_CONFIG, useValue: config, multi: true },\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: config, multi: true },\n FormlyConfig,\n FormlyFormBuilder,\n ],\n };\n }\n\n static forChild(config: ConfigOption = {}): ModuleWithProviders<FormlyModule> {\n return {\n ngModule: FormlyModule,\n providers: [\n { provide: FORMLY_CONFIG, multi: true, useFactory: defaultFormlyConfig, deps: [FormlyConfig] },\n { provide: FORMLY_CONFIG, useValue: config, multi: true },\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: config, multi: true },\n FormlyFormBuilder,\n ],\n };\n }\n\n constructor(\n configService: FormlyConfig,\n @Optional() @Inject(FORMLY_CONFIG) configs: ConfigOption[] = [],\n ) {\n if (!configs) {\n return;\n }\n\n configs.forEach(config => configService.addConfig(config));\n }\n}\n"],"names":["tslib_1.__values","isObservable","TemplateRef","AbstractControl","InjectionToken","Injectable","Subject","ChangeDetectorRef","ComponentFactoryResolver","Injector","FormArray","FormGroup","FormControl","EventEmitter","switchMap","take","distinctUntilChanged","debounceTime","tslib_1.__spread","Component","NgZone","Attribute","FormGroupDirective","Optional","Input","Output","ViewChild","Renderer2","ElementRef","ViewContainerRef","Directive","Inject","DOCUMENT","tslib_1.__extends","merge","of","filter","startWith","ChangeDetectionStrategy","DomSanitizer","Observable","Validators","map","updateValidity","updateControlValidity","ANALYZE_FOR_ENTRY_COMPONENTS","NgModule","CommonModule"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-formly-core.umd.js.map","sources":["node_modules/tslib/tslib.es6.js","ng://@ngx-formly/core/lib/utils.ts","ng://@ngx-formly/core/lib/services/formly.config.ts","ng://@ngx-formly/core/lib/services/formly.form.builder.ts","ng://@ngx-formly/core/lib/extensions/field-form/utils.ts","ng://@ngx-formly/core/lib/components/formly.form.ts","ng://@ngx-formly/core/lib/components/formly.field.ts","ng://@ngx-formly/core/lib/components/formly.attributes.ts","ng://@ngx-formly/core/lib/templates/field.type.ts","ng://@ngx-formly/core/lib/templates/field-array.type.ts","ng://@ngx-formly/core/lib/templates/field.wrapper.ts","ng://@ngx-formly/core/lib/templates/formly.group.ts","ng://@ngx-formly/core/lib/templates/formly.validation-message.ts","ng://@ngx-formly/core/lib/templates/field-template.type.ts","ng://@ngx-formly/core/lib/extensions/field-expression/utils.ts","ng://@ngx-formly/core/lib/extensions/field-expression/field-expression.ts","ng://@ngx-formly/core/lib/extensions/field-validation/field-validation.ts","ng://@ngx-formly/core/lib/extensions/field-form/field-form.ts","ng://@ngx-formly/core/lib/extensions/core/core.ts","ng://@ngx-formly/core/lib/core.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { FormlyFieldConfig } from './core';\nimport { isObservable } from 'rxjs';\nimport { AbstractControl } from '@angular/forms';\nimport { FormlyFieldConfigCache } from './components/formly.field.config';\nimport { TemplateRef } from '@angular/core';\n\nexport function getFieldId(formId: string, field: FormlyFieldConfig, index: string|number) {\n if (field.id) return field.id;\n let type = field.type;\n if (!type && field.template) type = 'template';\n return [formId, type, field.key, index].join('_');\n}\n\nexport function getKeyPath(field: FormlyFieldConfigCache): string[] {\n if (!field.key) {\n return [];\n }\n\n /* We store the keyPath in the field for performance reasons. This function will be called frequently. */\n if (!field._keyPath || field._keyPath.key !== field.key) {\n let path: string[] = [];\n if (typeof field.key === 'string') {\n const key = field.key.indexOf('[') === -1\n ? field.key\n : field.key.replace(/\\[(\\w+)\\]/g, '.$1');\n path = key.indexOf('.') !== -1 ? key.split('.') : [key];\n } else if (Array.isArray(field.key)) {\n path = field.key.slice(0);\n } else {\n path = [`${field.key}`];\n }\n\n field._keyPath = { key: field.key, path };\n }\n\n return field._keyPath.path.slice(0);\n}\n\nexport const FORMLY_VALIDATORS = ['required', 'pattern', 'minLength', 'maxLength', 'min', 'max'];\n\nexport function assignFieldValue(field: FormlyFieldConfigCache, value: any) {\n let paths = getKeyPath(field);\n if (paths.length === 0) {\n return;\n }\n\n let root = field;\n while (root.parent) {\n root = root.parent;\n paths = [...getKeyPath(root), ...paths];\n }\n\n if (value === undefined && field.resetOnHide) {\n const k = paths.pop();\n const m = paths.reduce((model, path) => model[path] || {}, root.model);\n delete m[k];\n return;\n }\n\n assignModelValue(root.model, paths, value);\n}\n\nexport function assignModelValue(model: any, paths: string[], value: any) {\n for (let i = 0; i < (paths.length - 1); i++) {\n const path = paths[i];\n if (!model[path] || !isObject(model[path])) {\n model[path] = /^\\d+$/.test(paths[i + 1]) ? [] : {};\n }\n\n model = model[path];\n }\n\n model[paths[paths.length - 1]] = clone(value);\n}\n\nexport function getFieldValue(field: FormlyFieldConfig): any {\n let model = field.parent.model;\n for (const path of getKeyPath(field)) {\n if (!model) {\n return model;\n }\n model = model[path];\n }\n\n return model;\n}\n\nexport function reverseDeepMerge(dest: any, ...args: any[]) {\n args.forEach(src => {\n for (let srcArg in src) {\n if (isNullOrUndefined(dest[srcArg]) || isBlankString(dest[srcArg])) {\n dest[srcArg] = clone(src[srcArg]);\n } else if (objAndSameType(dest[srcArg], src[srcArg])) {\n reverseDeepMerge(dest[srcArg], src[srcArg]);\n }\n }\n });\n return dest;\n}\n\nexport function isNullOrUndefined(value: any) {\n return value === undefined || value === null;\n}\n\nexport function isUndefined(value: any) {\n return value === undefined;\n}\n\nexport function isBlankString(value: any) {\n return value === '';\n}\n\nexport function isFunction(value: any) {\n return typeof(value) === 'function';\n}\n\nexport function objAndSameType(obj1: any, obj2: any) {\n return isObject(obj1) && isObject(obj2)\n && Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2)\n && !(Array.isArray(obj1) || Array.isArray(obj2));\n}\n\nexport function isObject(x: any) {\n return x != null && typeof x === 'object';\n}\n\nexport function isPromise(obj: any): obj is Promise<any> {\n return !!obj && typeof obj.then === 'function';\n}\n\nexport function clone(value: any): any {\n if (\n !isObject(value)\n || isObservable(value)\n || (value instanceof TemplateRef)\n || /* instanceof SafeHtmlImpl */ value.changingThisBreaksApplicationSecurity\n || ['RegExp', 'FileList', 'File', 'Blob'].indexOf(value.constructor.name) !== -1\n ) {\n return value;\n }\n\n if (value instanceof Set) {\n return new Set(value);\n }\n\n if (value instanceof Map) {\n return new Map(value);\n }\n\n // https://github.com/moment/moment/blob/master/moment.js#L252\n if (value._isAMomentObject && isFunction(value.clone)) {\n return value.clone();\n }\n\n if (value instanceof AbstractControl) {\n return null;\n }\n\n if (value instanceof Date) {\n return new Date(value.getTime());\n }\n\n if (Array.isArray(value)) {\n return value.slice(0).map(v => clone(v));\n }\n\n // best way to clone a js object maybe\n // https://stackoverflow.com/questions/41474986/how-to-clone-a-javascript-es6-class-instance\n const proto = Object.getPrototypeOf(value);\n let c = Object.create(proto);\n c = Object.setPrototypeOf(c, proto);\n // need to make a deep copy so we dont use Object.assign\n // also Object.assign wont copy property descriptor exactly\n return Object.keys(value).reduce((newVal, prop) => {\n const propDesc = Object.getOwnPropertyDescriptor(value, prop);\n if (propDesc.get) {\n Object.defineProperty(newVal, prop, propDesc);\n } else {\n newVal[prop] = clone(value[prop]);\n }\n\n return newVal;\n }, c);\n}\n\nexport function defineHiddenProp(field: any, prop: string, defaultValue: any) {\n Object.defineProperty(field, prop, { enumerable: false, writable: true, configurable: true });\n field[prop] = defaultValue;\n}\n\nexport function wrapProperty<T = any>(\n o: any,\n prop: string,\n setFn: (change: {currentValue: T, previousValue?: T, firstChange: boolean}) => void,\n) {\n if (!o._observers) {\n defineHiddenProp(o, '_observers', {});\n }\n\n if (!o._observers[prop]) {\n o._observers[prop] = [];\n }\n\n let fns: typeof setFn[] = o._observers[prop];\n if (fns.indexOf(setFn) === -1) {\n fns.push(setFn);\n setFn({ currentValue: o[prop], firstChange: true });\n if (fns.length === 1) {\n defineHiddenProp(o, `___$${prop}`, o[prop]);\n Object.defineProperty(o, prop, {\n configurable: true,\n get: () => o[`___$${prop}`],\n set: currentValue => {\n if (currentValue !== o[`___$${prop}`]) {\n const previousValue = o[`___$${prop}`];\n o[`___$${prop}`] = currentValue;\n fns.forEach(changeFn => changeFn({ previousValue, currentValue, firstChange: false }));\n }\n },\n });\n }\n }\n\n return () => fns.splice(fns.indexOf(setFn), 1);\n}\n","import { Injectable, InjectionToken, ComponentRef } from '@angular/core';\nimport { ValidationErrors, AbstractControl } from '@angular/forms';\nimport { FieldType } from './../templates/field.type';\nimport { reverseDeepMerge, defineHiddenProp } from './../utils';\nimport { FormlyFieldConfig, FormlyFieldConfigCache } from '../components/formly.field.config';\nimport { Observable } from 'rxjs';\n\nexport const FORMLY_CONFIG = new InjectionToken<FormlyConfig>('FORMLY_CONFIG');\n\n/** @experimental */\nexport interface FormlyExtension {\n prePopulate?(field: FormlyFieldConfig): void;\n onPopulate?(field: FormlyFieldConfig): void;\n postPopulate?(field: FormlyFieldConfig): void;\n}\n\n/**\n * Maintains list of formly field directive types. This can be used to register new field templates.\n */\n@Injectable({ providedIn: 'root' })\nexport class FormlyConfig {\n types: {[name: string]: TypeOption} = {};\n validators: { [name: string]: ValidatorOption } = {};\n wrappers: { [name: string]: WrapperOption } = {};\n messages: { [name: string]: ValidationMessageOption['message'] } = {};\n templateManipulators: {\n preWrapper: ManipulatorWrapper[];\n postWrapper: ManipulatorWrapper[];\n } = {\n preWrapper: [],\n postWrapper: [],\n };\n extras: ConfigOption['extras'] = {\n checkExpressionOn: 'changeDetectionCheck',\n lazyRender: false,\n showError: function(field: FieldType) {\n return field.formControl && field.formControl.invalid && (field.formControl.touched || (field.options.parentForm && field.options.parentForm.submitted) || !!(field.field.validation && field.field.validation.show));\n },\n };\n extensions: { [name: string]: FormlyExtension } = {};\n\n addConfig(config: ConfigOption) {\n if (config.types) {\n config.types.forEach(type => this.setType(type));\n }\n if (config.validators) {\n config.validators.forEach(validator => this.setValidator(validator));\n }\n if (config.wrappers) {\n config.wrappers.forEach(wrapper => this.setWrapper(wrapper));\n }\n if (config.manipulators) {\n console.warn(`NgxFormly: passing 'manipulators' config is deprecated, use custom extension instead.`);\n config.manipulators.forEach(manipulator => this.setManipulator(manipulator));\n }\n if (config.validationMessages) {\n config.validationMessages.forEach(validation => this.addValidatorMessage(validation.name, validation.message));\n }\n if (config.extensions) {\n config.extensions.forEach(c => this.extensions[c.name] = c.extension);\n }\n if (config.extras) {\n this.extras = { ...this.extras, ...config.extras };\n }\n }\n\n setType(options: TypeOption | TypeOption[]) {\n if (Array.isArray(options)) {\n options.forEach((option) => this.setType(option));\n } else {\n if (!this.types[options.name]) {\n this.types[options.name] = <TypeOption>{ name: options.name };\n }\n\n ['component', 'extends', 'defaultOptions', 'wrappers'].forEach(prop => {\n if (options.hasOwnProperty(prop)) {\n this.types[options.name][prop] = options[prop];\n }\n });\n }\n }\n\n getType(name: string): TypeOption {\n if (!this.types[name]) {\n throw new Error(`[Formly Error] The type \"${name}\" could not be found. Please make sure that is registered through the FormlyModule declaration.`);\n }\n\n this.mergeExtendedType(name);\n\n return this.types[name];\n }\n\n getMergedField(field: FormlyFieldConfig = {}): any {\n const type = this.getType(field.type);\n if (type.defaultOptions) {\n reverseDeepMerge(field, type.defaultOptions);\n }\n\n const extendDefaults = type.extends && this.getType(type.extends).defaultOptions;\n if (extendDefaults) {\n reverseDeepMerge(field, extendDefaults);\n }\n\n if (field && field.optionsTypes) {\n field.optionsTypes.forEach(option => {\n const defaultOptions = this.getType(option).defaultOptions;\n if (defaultOptions) {\n reverseDeepMerge(field, defaultOptions);\n }\n });\n }\n\n const componentRef = this.resolveFieldTypeRef(field);\n if (componentRef && componentRef.instance && componentRef.instance.defaultOptions) {\n reverseDeepMerge(field, componentRef.instance.defaultOptions);\n }\n\n if (!field.wrappers && type.wrappers) {\n field.wrappers = [...type.wrappers];\n }\n }\n\n /** @internal */\n resolveFieldTypeRef(field: FormlyFieldConfigCache = {}): ComponentRef<FieldType> {\n if (!field.type) {\n return null;\n }\n\n const type = this.getType(field.type);\n if (!type.component || type['_componentRef']) {\n return type['_componentRef'];\n }\n\n const { _resolver, _injector } = field.parent.options;\n const componentRef = _resolver\n .resolveComponentFactory<FieldType>(type.component)\n .create(_injector);\n\n defineHiddenProp(type, '_componentRef', componentRef);\n componentRef.destroy();\n\n return type['_componentRef'];\n }\n\n setWrapper(options: WrapperOption) {\n this.wrappers[options.name] = options;\n if (options.types) {\n options.types.forEach((type) => {\n this.setTypeWrapper(type, options.name);\n });\n }\n }\n\n getWrapper(name: string): WrapperOption {\n if (!this.wrappers[name]) {\n throw new Error(`[Formly Error] The wrapper \"${name}\" could not be found. Please make sure that is registered through the FormlyModule declaration.`);\n }\n\n return this.wrappers[name];\n }\n\n setTypeWrapper(type: string, name: string) {\n if (!this.types[type]) {\n this.types[type] = <TypeOption>{};\n }\n if (!this.types[type].wrappers) {\n this.types[type].wrappers = [];\n }\n if (this.types[type].wrappers.indexOf(name) === -1) {\n this.types[type].wrappers.push(name);\n }\n }\n\n setValidator(options: ValidatorOption) {\n this.validators[options.name] = options;\n }\n\n getValidator(name: string): ValidatorOption {\n if (!this.validators[name]) {\n throw new Error(`[Formly Error] The validator \"${name}\" could not be found. Please make sure that is registered through the FormlyModule declaration.`);\n }\n\n return this.validators[name];\n }\n\n addValidatorMessage(name: string, message: ValidationMessageOption['message']) {\n this.messages[name] = message;\n }\n\n getValidatorMessage(name: string) {\n return this.messages[name];\n }\n\n setManipulator(manipulator: ManipulatorOption) {\n new manipulator.class()[manipulator.method](this);\n }\n\n private mergeExtendedType(name: string) {\n if (!this.types[name].extends) {\n return;\n }\n\n const extendedType = this.getType(this.types[name].extends);\n if (!this.types[name].component) {\n this.types[name].component = extendedType.component;\n }\n\n if (!this.types[name].wrappers) {\n this.types[name].wrappers = extendedType.wrappers;\n }\n }\n}\nexport interface TypeOption {\n name: string;\n component?: any;\n wrappers?: string[];\n extends?: string;\n defaultOptions?: FormlyFieldConfig;\n}\n\nexport interface WrapperOption {\n name: string;\n component: any;\n types?: string[];\n}\n\nexport interface FieldValidatorFn {\n (c: AbstractControl, field: FormlyFieldConfig, options?: { [id: string]: any; }): ValidationErrors | null;\n}\n\nexport interface ValidatorOption {\n name: string;\n validation: FieldValidatorFn;\n options?: { [id: string]: any };\n}\n\nexport interface ExtensionOption {\n name: string;\n extension: FormlyExtension;\n}\n\nexport interface ValidationMessageOption {\n name: string;\n message: string | ((error: any, field: FormlyFieldConfig) => string | Observable<string>);\n}\n\nexport interface ManipulatorOption {\n class?: { new (): any };\n method?: string;\n}\n\nexport interface ManipulatorWrapper {\n (f: FormlyFieldConfig): string;\n}\n\nexport interface TemplateManipulators {\n preWrapper?: ManipulatorWrapper[];\n postWrapper?: ManipulatorWrapper[];\n}\n\nexport interface ConfigOption {\n types?: TypeOption[];\n wrappers?: WrapperOption[];\n validators?: ValidatorOption[];\n extensions?: ExtensionOption[];\n validationMessages?: ValidationMessageOption[];\n\n /** @deprecated use `extensions` instead */\n manipulators?: ManipulatorOption[];\n extras?: {\n /** @deprecated use `extensions` instead */\n fieldTransform?: any,\n immutable?: boolean,\n showError?: (field: FieldType) => boolean;\n\n /**\n * Defines the option which formly rely on to check field expression properties.\n * - `modelChange`: perform a check when the value of the form control changes (Will be set by default in the next major version).\n * - `changeDetectionCheck`: triggers an immediate check when `ngDoCheck` is called.\n *\n * Defaults to `changeDetectionCheck`.\n */\n checkExpressionOn?: 'modelChange' | 'changeDetectionCheck',\n\n /**\n * Whether to lazily render field components or not when marked as hidden.\n * - `true`: lazily render field components (Will be set by default in the next major version).\n * - `false`: render field components and use CSS to control their visibility.\n *\n * Defaults to `false`.\n */\n lazyRender?: boolean,\n\n /**\n * When true, reset the value of hidden fields.\n *\n * Defaults to `false`.\n */\n resetFieldOnHide?: boolean,\n };\n}\n","import { Injectable, ComponentFactoryResolver, Injector, ChangeDetectorRef } from '@angular/core';\nimport { FormGroup, FormArray } from '@angular/forms';\nimport { FormlyConfig } from './formly.config';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyFieldConfigCache, FormlyValueChangeEvent, FormlyFormOptionsCache } from '../components/formly.field.config';\nimport { Subject } from 'rxjs';\nimport { defineHiddenProp } from '../utils';\n\n@Injectable({ providedIn: 'root' })\nexport class FormlyFormBuilder {\n constructor(\n private formlyConfig: FormlyConfig,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n ) {}\n\n buildForm(formControl: FormGroup | FormArray, fieldGroup: FormlyFieldConfig[] = [], model: any, options: FormlyFormOptions) {\n if (!this.formlyConfig.extensions.core) {\n throw new Error('NgxFormly: missing `forRoot()` call. use `forRoot()` when registering the `FormlyModule`.');\n }\n\n const field = { fieldGroup, model, formControl, options: this._setOptions(options) };\n this._buildForm(field);\n field.options._checkField(field, true);\n }\n\n private _buildForm(field: FormlyFieldConfigCache) {\n this.getExtensions().forEach(extension => extension.prePopulate && extension.prePopulate(field));\n this.getExtensions().forEach(extension => extension.onPopulate && extension.onPopulate(field));\n\n if (field.fieldGroup) {\n field.fieldGroup.forEach((f) => this._buildForm(f));\n }\n\n this.getExtensions().forEach(extension => extension.postPopulate && extension.postPopulate(field));\n }\n\n private getExtensions() {\n return Object.keys(this.formlyConfig.extensions).map(name => this.formlyConfig.extensions[name]);\n }\n\n private _setOptions(options: FormlyFormOptionsCache) {\n options = options || {};\n options.formState = options.formState || {};\n\n if (!options.showError) {\n options.showError = this.formlyConfig.extras.showError;\n }\n\n if (!options.fieldChanges) {\n defineHiddenProp(options, 'fieldChanges', new Subject<FormlyValueChangeEvent>());\n }\n\n if (!options._resolver) {\n defineHiddenProp(options, '_resolver', this.componentFactoryResolver);\n }\n\n if (!options._injector) {\n defineHiddenProp(options, '_injector', this.injector);\n }\n\n if (!options._hiddenFieldsForCheck) {\n options._hiddenFieldsForCheck = [];\n }\n\n if (!options._markForCheck) {\n options._markForCheck = (field) => {\n if (field._componentRefs) {\n field._componentRefs.forEach(ref => {\n // NOTE: we cannot use ref.changeDetectorRef, see https://github.com/ngx-formly/ngx-formly/issues/2191\n const changeDetectorRef = ref.injector.get(ChangeDetectorRef);\n changeDetectorRef.markForCheck();\n });\n }\n\n if (field.fieldGroup) {\n field.fieldGroup.forEach(f => options._markForCheck(f));\n }\n };\n }\n\n if (!options._buildField) {\n options._buildField = (field: FormlyFieldConfig) => {\n this.buildForm(field.form, field.fieldGroup, field.model, field.options);\n return field;\n };\n }\n\n return options;\n }\n}\n","import { FormArray, FormGroup, FormControl, AbstractControl } from '@angular/forms';\nimport { FormlyFieldConfig } from '../../core';\nimport { getKeyPath, getFieldValue, isNullOrUndefined, defineHiddenProp, wrapProperty } from '../../utils';\nimport { FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { EventEmitter } from '@angular/core';\n\nexport function unregisterControl(field: FormlyFieldConfig, emitEvent = false) {\n const control = field.formControl;\n const fieldIndex = control['_fields'] ? control['_fields'].indexOf(field) : -1;\n if (fieldIndex !== -1) {\n control['_fields'].splice(fieldIndex, 1);\n }\n\n const form = control.parent as FormArray | FormGroup;\n if (!form) {\n return;\n }\n\n const opts = { emitEvent };\n if (form instanceof FormArray) {\n const key = form.controls.findIndex(c => c === control);\n if (key !== -1) {\n updateControl(form, opts, () => form.removeAt(key));\n }\n } else if (form instanceof FormGroup) {\n const paths = getKeyPath(field);\n const key = paths[paths.length - 1];\n if (form.get([key]) === control) {\n updateControl(form, opts, () => form.removeControl(key));\n }\n }\n\n control.setParent(null);\n}\n\nexport function findControl(field: FormlyFieldConfig): AbstractControl {\n if (field.formControl) {\n return field.formControl;\n }\n\n if (field['shareFormControl'] === false) {\n return null;\n }\n\n const form = field.parent.formControl as FormGroup;\n\n return form ? form.get(getKeyPath(field)) : null;\n}\n\nexport function registerControl(field: FormlyFieldConfigCache, control?: any, emitEvent = false) {\n control = control || field.formControl;\n if (!control['_fields']) {\n defineHiddenProp(control, '_fields', []);\n }\n if (control['_fields'].indexOf(field) === -1) {\n control['_fields'].push(field);\n }\n\n if (!field.formControl && control) {\n defineHiddenProp(field, 'formControl', control);\n control.setValidators(null);\n control.setAsyncValidators(null);\n\n field.templateOptions.disabled = !!field.templateOptions.disabled;\n wrapProperty(field.templateOptions, 'disabled', ({ firstChange, currentValue }) => {\n if (!firstChange) {\n currentValue ? field.formControl.disable() : field.formControl.enable();\n }\n });\n if (control.registerOnDisabledChange) {\n control.registerOnDisabledChange(\n (value: boolean) => {\n field.templateOptions['___$disabled'] = value;\n // TODO remove in V6\n field.options && field.options._markForCheck(field);\n },\n );\n }\n }\n\n let parent = field.parent.formControl as FormGroup;\n if (!parent || !field.key) {\n return;\n }\n\n const paths = getKeyPath(field);\n const value = getFieldValue(field);\n if (\n !(isNullOrUndefined(control.value) && isNullOrUndefined(value))\n && control.value !== value\n && control instanceof FormControl\n ) {\n control.patchValue(value);\n }\n\n for (let i = 0; i < (paths.length - 1); i++) {\n const path = paths[i];\n if (!parent.get([path])) {\n updateControl(\n parent,\n { emitEvent },\n () => parent.setControl(path, new FormGroup({})),\n );\n }\n\n parent = <FormGroup> parent.get([path]);\n }\n\n const key = paths[paths.length - 1];\n if (!field._hide && parent.get([key]) !== control) {\n updateControl(\n parent,\n { emitEvent },\n () => parent.setControl(key, control),\n );\n }\n}\n\nexport function updateValidity(c: AbstractControl, onlySelf = false) {\n const status = c.status;\n const value = c.value;\n c.updateValueAndValidity({ emitEvent: false, onlySelf });\n if (status !== c.status) {\n (c.statusChanges as EventEmitter<string>).emit(c.status);\n }\n\n if (value !== c.value) {\n (c.valueChanges as EventEmitter<any>).emit(c.value);\n }\n}\n\nfunction updateControl(form: FormGroup|FormArray, opts: { emitEvent: boolean }, action: Function) {\n /**\n * workaround for https://github.com/angular/angular/issues/27679\n */\n if (form instanceof FormGroup && !form['__patchForEachChild']) {\n defineHiddenProp(form, '__patchForEachChild', true);\n (form as any)._forEachChild = (cb: Function) => {\n Object\n .keys(form.controls)\n .forEach(k => form.controls[k] && cb(form.controls[k], k));\n };\n }\n\n /**\n * workaround for https://github.com/angular/angular/issues/20439\n */\n const updateValueAndValidity = form.updateValueAndValidity.bind(form);\n if (opts.emitEvent === false) {\n form.updateValueAndValidity = (opts) => {\n updateValueAndValidity({ ...(opts || {}), emitEvent: false });\n };\n }\n\n action();\n\n if (opts.emitEvent === false) {\n form.updateValueAndValidity = updateValueAndValidity;\n }\n}\n\nexport function clearControl(form: AbstractControl) {\n form['_fields'] && delete form['_fields'];\n form.setValidators(null);\n form.setAsyncValidators(null);\n if (form instanceof FormGroup || form instanceof FormArray) {\n Object.keys(form.controls)\n .forEach((k) => clearControl(form.controls[k]));\n }\n}\n","import { Component, DoCheck, OnChanges, Input, SimpleChanges, Optional, EventEmitter, Output, OnDestroy, Attribute, ViewChild, ElementRef, NgZone } from '@angular/core';\nimport { FormGroup, FormArray, FormGroupDirective, FormControl } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyFormOptionsCache } from './formly.field.config';\nimport { FormlyFormBuilder } from '../services/formly.form.builder';\nimport { FormlyConfig } from '../services/formly.config';\nimport { assignFieldValue, isNullOrUndefined, wrapProperty, clone, defineHiddenProp, getKeyPath, isObject } from '../utils';\nimport { Subscription, Subject } from 'rxjs';\nimport { debounceTime, switchMap, distinctUntilChanged, take } from 'rxjs/operators';\nimport { clearControl } from '../extensions/field-form/utils';\n\n@Component({\n selector: 'formly-form',\n template: `\n <formly-field *ngFor=\"let field of fields\"\n hide-deprecation\n [form]=\"field.form\"\n [options]=\"field.options\"\n [model]=\"field.model\"\n [field]=\"field\">\n </formly-field>\n <ng-container #content>\n <ng-content></ng-content>\n </ng-container>\n `,\n providers: [FormlyFormBuilder],\n})\nexport class FormlyForm implements DoCheck, OnChanges, OnDestroy {\n @Input() form: FormGroup | FormArray;\n\n @Input()\n set model(model: any) { this._model = this.immutable ? clone(model) : model; }\n get model() {\n if (!this._model) {\n this._model = {};\n }\n\n return this._model;\n }\n\n @Input()\n set fields(fields: FormlyFieldConfig[]) { this._fields = this.immutable ? clone(fields) : fields; }\n get fields() { return this._fields || []; }\n\n @Input()\n set options(options: FormlyFormOptions) { this._options = this.immutable ? clone(options) : options; }\n get options() { return this._options; }\n\n @Output() modelChange = new EventEmitter<any>();\n @ViewChild('content') set content(content: ElementRef<HTMLElement>) {\n if (content) {\n let hasContent = false;\n let node = content.nativeElement.nextSibling;\n while (node && !hasContent) {\n if (\n node.nodeType === Node.ELEMENT_NODE\n || node.nodeType === Node.TEXT_NODE && node.textContent && node.textContent.trim() !== ''\n ) {\n hasContent = true;\n }\n\n node = node.nextSibling;\n }\n\n if (hasContent) {\n console.warn(`NgxFormly: content projection for 'formly-form' component is deprecated since v5.5, you should avoid passing content inside the 'formly-form' tag.`);\n }\n }\n }\n\n private immutable = false;\n private _model: any;\n private _modelChangeValue: any = {};\n private _fields: FormlyFieldConfig[];\n private _options: FormlyFormOptions;\n private modelChangeSubs: Subscription[] = [];\n private modelChange$ = new Subject<void>();\n private modelChangeSub = this.modelChange$.pipe(\n switchMap(() => this.ngZone.onStable.asObservable().pipe(take(1))),\n ).subscribe(() => this.ngZone.runGuarded(() => {\n // runGuarded is used to keep the expression changes in-sync\n // https://github.com/ngx-formly/ngx-formly/issues/2095\n this.checkExpressionChange();\n this.modelChange.emit(this._modelChangeValue = clone(this.model));\n }));\n\n constructor(\n private formlyBuilder: FormlyFormBuilder,\n private formlyConfig: FormlyConfig,\n private ngZone: NgZone,\n // tslint:disable-next-line\n @Attribute('immutable') immutable,\n @Optional() private parentFormGroup: FormGroupDirective,\n ) {\n if (immutable !== null) {\n console.warn(`NgxFormly: passing 'immutable' attribute to 'formly-form' component is deprecated since v5.5, enable immutable mode through NgModule declaration instead.`);\n }\n\n this.immutable = (immutable !== null) || !!formlyConfig.extras.immutable;\n }\n\n ngDoCheck() {\n if (this.formlyConfig.extras.checkExpressionOn === 'changeDetectionCheck') {\n this.checkExpressionChange();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // https://github.com/ngx-formly/ngx-formly/issues/2294\n if (changes.model && this.field) {\n this.field.model = this.model;\n }\n\n if (changes.fields && this.form) {\n clearControl(this.form);\n }\n\n if (changes.fields || changes.form || (changes.model && this._modelChangeValue !== changes.model.currentValue)) {\n this.form = this.form || (new FormGroup({}));\n this.setOptions();\n this.options.updateInitialValue();\n this.clearModelSubscriptions();\n this.formlyBuilder.buildForm(this.form, this.fields, this.model, this.options);\n this.trackModelChanges(this.fields);\n }\n }\n\n ngOnDestroy() {\n this.modelChangeSub.unsubscribe();\n this.clearModelSubscriptions();\n }\n\n changeModel({ key, value, field }: { key: string, value: any, field: FormlyFieldConfig }) {\n assignFieldValue(field, value);\n this.modelChange$.next();\n }\n\n setOptions() {\n if (!this.options) {\n this.options = {};\n }\n\n if (!this.options.resetModel) {\n this.options.resetModel = (model ?: any) => {\n model = clone(isNullOrUndefined(model) ? (<FormlyFormOptionsCache> this.options)._initialModel : model);\n if (this.model) {\n Object.keys(this.model).forEach(k => delete this.model[k]);\n Object.assign(this.model, model || {});\n }\n\n (<FormlyFormOptionsCache> this.options)._buildForm();\n\n // we should call `NgForm::resetForm` to ensure changing `submitted` state after resetting form\n // but only when the current component is a root one.\n if (this.options.parentForm && this.options.parentForm.control === this.form) {\n this.options.parentForm.resetForm(this.model);\n } else {\n this.form.reset(this.model);\n }\n };\n }\n\n if (!this.options.parentForm && this.parentFormGroup) {\n defineHiddenProp(this.options, 'parentForm', this.parentFormGroup);\n wrapProperty(this.options.parentForm, 'submitted', ({ firstChange }) => {\n if (!firstChange) {\n this.checkExpressionChange();\n (<FormlyFormOptionsCache> this.options)._markForCheck({\n fieldGroup: this.fields,\n model: this.model,\n formControl: this.form,\n options: this.options,\n });\n }\n });\n }\n\n if (!this.options.updateInitialValue) {\n this.options.updateInitialValue = () => (<FormlyFormOptionsCache> this.options)._initialModel = clone(this.model);\n }\n\n if (!(<FormlyFormOptionsCache> this.options)._buildForm) {\n (<FormlyFormOptionsCache> this.options)._buildForm = (emitModelChange = false) => {\n this.clearModelSubscriptions();\n this.formlyBuilder.buildForm(this.form, this.fields, this.model, this.options);\n this.trackModelChanges(this.fields);\n\n if (emitModelChange) {\n this.modelChange.emit(this._modelChangeValue = clone(this.model));\n }\n };\n }\n }\n\n private checkExpressionChange() {\n if (this.options && (<FormlyFormOptionsCache> this.options)._checkField) {\n (<FormlyFormOptionsCache> this.options)._checkField({\n fieldGroup: this.fields,\n model: this.model,\n formControl: this.form,\n options: this.options,\n });\n }\n }\n\n private trackModelChanges(fields: FormlyFieldConfig[], rootKey: string[] = []) {\n fields.forEach(field => {\n if (field.key && !field.fieldGroup && field.formControl) {\n const control = field.formControl;\n let valueChanges = control.valueChanges.pipe(\n distinctUntilChanged((x, y) => {\n if (x !== y || Array.isArray(x) || isObject(x)) {\n return false;\n }\n\n return true;\n }),\n );\n\n const { updateOn, debounce } = field.modelOptions;\n if ((!updateOn || updateOn === 'change') && debounce && debounce.default > 0) {\n valueChanges = control.valueChanges.pipe(debounceTime(debounce.default));\n }\n\n this.modelChangeSubs.push(valueChanges.subscribe((value) => {\n // workaround for https://github.com/angular/angular/issues/13792\n if (control instanceof FormControl && control['_fields'] && control['_fields'].length > 1) {\n control.patchValue(value, { emitEvent: false, onlySelf: true });\n }\n\n if (field.parsers && field.parsers.length > 0) {\n field.parsers.forEach(parserFn => value = parserFn(value));\n }\n\n this.changeModel({ key: [...rootKey, ...getKeyPath(field)].join('.'), value, field });\n }));\n\n // workaround for v5 (https://github.com/ngx-formly/ngx-formly/issues/2061)\n const observers = control.valueChanges['observers'];\n if (observers && observers.length > 1) {\n observers.unshift(observers.pop());\n }\n }\n\n if (field.fieldGroup && field.fieldGroup.length > 0) {\n this.trackModelChanges(field.fieldGroup, field.key ? [...rootKey, ...getKeyPath(field)] : rootKey);\n }\n });\n }\n\n private clearModelSubscriptions() {\n this.modelChangeSubs.forEach(sub => sub.unsubscribe());\n this.modelChangeSubs = [];\n }\n\n private get field(): any {\n return this.fields && this.fields[0] && this.fields[0].parent;\n }\n}\n","import {\n Component, EventEmitter, Input, Output,\n ViewContainerRef, ViewChild, ComponentRef, SimpleChanges, Attribute, ComponentFactoryResolver,\n OnInit, OnChanges, OnDestroy, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, Renderer2, ElementRef,\n} from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { FormlyConfig } from '../services/formly.config';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyFieldConfigCache } from './formly.field.config';\nimport { defineHiddenProp, wrapProperty } from '../utils';\nimport { FieldWrapper } from '../templates/field.wrapper';\nimport { FieldType } from '../templates/field.type';\nimport { isObservable } from 'rxjs';\n\n@Component({\n selector: 'formly-field',\n template: `<ng-template #container></ng-template>`,\n})\nexport class FormlyField implements OnInit, OnChanges, DoCheck, AfterContentInit, AfterContentChecked, AfterViewInit, AfterViewChecked, OnDestroy {\n @Input() field: FormlyFieldConfig;\n\n warnDeprecation = false;\n\n @Input() set model(m: any) {\n this.warnDeprecation && console.warn(`NgxFormly: passing 'model' input to '${this.constructor.name}' component is not required anymore, you may remove it!`);\n }\n\n @Input() set form(form: FormGroup) {\n this.warnDeprecation && console.warn(`NgxFormly: passing 'form' input to '${this.constructor.name}' component is not required anymore, you may remove it!`);\n }\n\n @Input() set options(options: FormlyFormOptions) {\n this.warnDeprecation && console.warn(`NgxFormly: passing 'options' input to '${this.constructor.name}' component is not required anymore, you may remove it!`);\n }\n\n @Output() modelChange: EventEmitter<any> = new EventEmitter();\n // TODO: remove `any`, once dropping angular `V7` support.\n @ViewChild('container', <any> {read: ViewContainerRef, static: true }) containerRef: ViewContainerRef;\n private hostObservers: Function[] = [];\n private componentRefs: any[] = [];\n private hooksObservers: Function[] = [];\n private detectFieldBuild = false;\n\n constructor(\n private formlyConfig: FormlyConfig,\n private renderer: Renderer2,\n private resolver: ComponentFactoryResolver,\n private elementRef: ElementRef,\n // tslint:disable-next-line\n @Attribute('hide-deprecation') hideDeprecation,\n ) {\n this.warnDeprecation = hideDeprecation === null;\n }\n\n ngAfterContentInit() {\n this.triggerHook('afterContentInit');\n }\n\n ngAfterContentChecked() {\n this.triggerHook('afterContentChecked');\n }\n\n ngAfterViewInit() {\n this.triggerHook('afterViewInit');\n }\n\n ngAfterViewChecked() {\n this.triggerHook('afterViewChecked');\n }\n\n ngDoCheck() {\n this.triggerHook('doCheck');\n if (this.detectFieldBuild && (this.field && this.field.options)) {\n this.render();\n }\n }\n\n ngOnInit() {\n this.triggerHook('onInit');\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.triggerHook('onChanges', changes);\n }\n\n ngOnDestroy() {\n this.resetRefs(this.field);\n this.hostObservers.forEach(unsubscribe => unsubscribe());\n this.hooksObservers.forEach(unsubscribe => unsubscribe());\n this.triggerHook('onDestroy');\n }\n\n private renderField(containerRef: ViewContainerRef, f: FormlyFieldConfigCache, wrappers: string[] = []) {\n if (this.containerRef === containerRef) {\n this.resetRefs(this.field);\n this.containerRef.clear();\n wrappers = this.field ? this.field.wrappers : [];\n }\n\n if (wrappers && wrappers.length > 0) {\n const [wrapper, ...wps] = wrappers;\n const { component } = this.formlyConfig.getWrapper(wrapper);\n\n const ref = containerRef.createComponent<FieldWrapper>(this.resolver.resolveComponentFactory(component));\n this.attachComponentRef(ref, f);\n wrapProperty<ViewContainerRef>(ref.instance, 'fieldComponent', ({ firstChange, previousValue, currentValue }) => {\n if (currentValue) {\n if (previousValue && previousValue['_lContainer'] === currentValue['_lContainer']) {\n return;\n }\n\n const viewRef = previousValue ? previousValue.detach() : null;\n if (viewRef && !viewRef.destroyed) {\n currentValue.insert(viewRef);\n } else {\n this.renderField(currentValue, f, wps);\n }\n\n !firstChange && ref.changeDetectorRef.detectChanges();\n }\n });\n } else if (f && f.type) {\n const { component } = this.formlyConfig.getType(f.type);\n const ref = containerRef.createComponent<FieldWrapper>(this.resolver.resolveComponentFactory(component));\n this.attachComponentRef(ref, f);\n }\n }\n\n private triggerHook(name: string, changes?: SimpleChanges) {\n if (this.field && this.field.hooks && this.field.hooks[name]) {\n if (!changes || changes.field) {\n const r = this.field.hooks[name](this.field);\n if (isObservable(r) && ['onInit', 'afterContentInit', 'afterViewInit'].indexOf(name) !== -1) {\n const sub = r.subscribe();\n this.hooksObservers.push(() => sub.unsubscribe());\n }\n }\n }\n\n if (this.field && this.field.lifecycle && this.field.lifecycle[name]) {\n this.field.lifecycle[name](\n this.field.form,\n this.field,\n this.field.model,\n this.field.options,\n );\n }\n\n if (name === 'onChanges' && changes.field) {\n this.resetRefs(changes.field.previousValue);\n this.render();\n }\n }\n\n private attachComponentRef<T extends FieldType>(ref: ComponentRef<T>, field: FormlyFieldConfigCache) {\n this.componentRefs.push(ref);\n field._componentRefs.push(ref);\n Object.assign(ref.instance, { field });\n }\n\n private render() {\n if (!this.field) {\n return;\n }\n\n // require Formly build\n if (!this.field.options) {\n this.detectFieldBuild = true;\n\n return;\n }\n\n this.detectFieldBuild = false;\n this.hostObservers.forEach(unsubscribe => unsubscribe());\n this.hostObservers = [\n wrapProperty(this.field, 'hide', ({ firstChange, currentValue }) => {\n if (!this.formlyConfig.extras.lazyRender) {\n firstChange && this.renderField(this.containerRef, this.field);\n if (!firstChange || (firstChange && currentValue)) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', currentValue ? 'none' : '');\n }\n } else {\n if (currentValue) {\n this.containerRef.clear();\n if (this.field.className) {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'class');\n }\n } else {\n this.renderField(this.containerRef, this.field);\n if (this.field.className) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'class', this.field.className);\n }\n }\n }\n }),\n wrapProperty(this.field, 'className', ({ firstChange, currentValue }) => {\n if (\n (!firstChange || (firstChange && currentValue))\n && (!this.formlyConfig.extras.lazyRender || (this.field.hide !== true))\n ) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'class', currentValue);\n }\n }),\n ];\n }\n\n private resetRefs(field: FormlyFieldConfigCache) {\n if (field) {\n if (field._componentRefs) {\n field._componentRefs = field._componentRefs.filter(ref => this.componentRefs.indexOf(ref) === -1);\n } else {\n defineHiddenProp(this.field, '_componentRefs', []);\n }\n }\n\n this.componentRefs = [];\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges, Renderer2, DoCheck, Inject, OnDestroy } from '@angular/core';\nimport { FormlyFieldConfig, FormlyTemplateOptions } from './formly.field.config';\nimport { wrapProperty, defineHiddenProp, FORMLY_VALIDATORS } from '../utils';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[formlyAttributes]',\n host: {\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur($event)',\n '(change)': 'onChange($event)',\n },\n})\nexport class FormlyAttributes implements OnChanges, DoCheck, OnDestroy {\n @Input('formlyAttributes') field: FormlyFieldConfig;\n @Input() id: string;\n\n private document: Document;\n private uiAttributesCache: any = {};\n private uiAttributes = [\n ...FORMLY_VALIDATORS,\n 'tabindex',\n 'placeholder',\n 'readonly',\n 'disabled',\n 'step',\n ];\n\n /**\n * HostBinding doesn't register listeners conditionally which may produce some perf issues.\n *\n * Formly issue: https://github.com/ngx-formly/ngx-formly/issues/1991\n */\n private uiEvents = {\n listeners: [],\n events: [\n 'click',\n 'keyup',\n 'keydown',\n 'keypress',\n ],\n };\n\n get to(): FormlyTemplateOptions { return this.field.templateOptions || {}; }\n\n private get fieldAttrElements(): ElementRef[] { return (this.field && this.field['_elementRefs']) || []; }\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) _document: any,\n ) {\n this.document = _document;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.field) {\n this.field.name && this.setAttribute('name', this.field.name);\n this.uiEvents.listeners.forEach(listener => listener());\n this.uiEvents.events.forEach(eventName => {\n if (this.to && this.to[eventName]) {\n this.uiEvents.listeners.push(\n this.renderer.listen(\n this.elementRef.nativeElement,\n eventName,\n (e) => this.to[eventName](this.field, e),\n ),\n );\n }\n });\n\n if (this.to && this.to.attributes) {\n wrapProperty(this.to, 'attributes', ({ currentValue, previousValue }) => {\n if (previousValue) {\n Object.keys(previousValue).forEach(attr => this.removeAttribute(attr));\n }\n\n if (currentValue) {\n Object.keys(currentValue).forEach(attr => {\n if (currentValue[attr] != null) {\n this.setAttribute(attr, currentValue[attr]);\n }\n });\n }\n });\n }\n\n this.detachElementRef(changes.field.previousValue);\n this.attachElementRef(changes.field.currentValue);\n if (this.fieldAttrElements.length === 1) {\n !this.id && this.field.id && this.setAttribute('id', this.field.id);\n wrapProperty(this.field, 'focus', ({ currentValue }) => {\n this.toggleFocus(currentValue);\n });\n }\n }\n\n if (changes.id) {\n this.setAttribute('id', this.id);\n }\n }\n\n /**\n * We need to re-evaluate all the attributes on every change detection cycle, because\n * by using a HostBinding we run into certain edge cases. This means that whatever logic\n * is in here has to be super lean or we risk seriously damaging or destroying the performance.\n *\n * Formly issue: https://github.com/ngx-formly/ngx-formly/issues/1317\n * Material issue: https://github.com/angular/components/issues/14024\n */\n ngDoCheck() {\n this.uiAttributes.forEach(attr => {\n const value = this.to[attr];\n if (\n this.uiAttributesCache[attr] !== value\n && (!this.to.attributes || !this.to.attributes.hasOwnProperty(attr.toLowerCase()))\n ) {\n this.uiAttributesCache[attr] = value;\n if (value || value === 0) {\n this.setAttribute(attr, value === true ? attr : `${value}`);\n } else {\n this.removeAttribute(attr);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.uiEvents.listeners.forEach(listener => listener());\n this.detachElementRef(this.field);\n }\n\n toggleFocus(value: boolean) {\n const element = this.fieldAttrElements ? this.fieldAttrElements[0] : null;\n if (!element || !element.nativeElement.focus) {\n return;\n }\n\n const isFocused = !!this.document.activeElement\n && this.fieldAttrElements\n .some(({ nativeElement }) => this.document.activeElement === nativeElement || nativeElement.contains(this.document.activeElement));\n\n if (value && !isFocused) {\n element.nativeElement.focus();\n } else if (!value && isFocused) {\n element.nativeElement.blur();\n }\n }\n\n onFocus($event: any) {\n this.field['___$focus'] = true;\n if (this.to.focus) {\n this.to.focus(this.field, $event);\n }\n }\n\n onBlur($event: any) {\n this.field['___$focus'] = false;\n if (this.to.blur) {\n this.to.blur(this.field, $event);\n }\n }\n\n onChange($event: any) {\n if (this.to.change) {\n this.to.change(this.field, $event);\n }\n\n if (this.field.formControl) {\n this.field.formControl.markAsDirty();\n }\n }\n\n private attachElementRef(f: FormlyFieldConfig) {\n if (!f) {\n return;\n }\n\n if (f['_elementRefs'] && f['_elementRefs'].indexOf(this.elementRef) === -1) {\n f['_elementRefs'].push(this.elementRef);\n } else {\n defineHiddenProp(f, '_elementRefs', [this.elementRef]);\n }\n }\n\n private detachElementRef(f: FormlyFieldConfig) {\n const index = f && f['_elementRefs'] ? this.fieldAttrElements.indexOf(this.elementRef) : -1;\n if (index !== -1) {\n this.field['_elementRefs'].splice(index, 1);\n }\n }\n\n private setAttribute(attr: string, value: string) {\n this.renderer.setAttribute(this.elementRef.nativeElement, attr, value);\n }\n\n private removeAttribute(attr: string) {\n this.renderer.removeAttribute(this.elementRef.nativeElement, attr);\n }\n}\n","import { Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\n\nexport abstract class FieldType<F extends FormlyFieldConfig = FormlyFieldConfig> {\n @Input() field: F;\n defaultOptions?: F;\n\n @Input()\n get model() { return this.field.model; }\n set model(m: any) { console.warn(`NgxFormly: passing 'model' input to '${this.constructor.name}' component is not required anymore, you may remove it!`); }\n\n @Input()\n get form() { return <FormGroup> this.field.parent.formControl; }\n set form(form) { console.warn(`NgxFormly: passing 'form' input to '${this.constructor.name}' component is not required anymore, you may remove it!`); }\n\n @Input()\n get options() { return this.field.options; }\n set options(options: F['options']) { console.warn(`NgxFormly: passing 'options' input to '${this.constructor.name}' component is not required anymore, you may remove it!`); }\n\n get key() { return this.field.key; }\n\n get formControl() { return this.field.formControl; }\n\n get to() { return this.field.templateOptions || {}; }\n\n get showError(): boolean { return this.options.showError(this); }\n\n get id(): string { return this.field.id; }\n\n get formState() { return this.options.formState || {}; }\n}\n\n/**\n * @deprecated use `FieldType` instead\n */\nexport abstract class Field extends FieldType {\n constructor() {\n super();\n console.warn(`NgxFormly: 'Field' has been renamed to 'FieldType', extend 'FieldType' instead.`);\n }\n}\n","import { Inject, Optional } from '@angular/core';\nimport { FormArray } from '@angular/forms';\nimport { FieldType } from './field.type';\nimport { clone, isNullOrUndefined, assignFieldValue } from '../utils';\nimport { FormlyFormBuilder } from '../services/formly.form.builder';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\nimport { FORMLY_CONFIG, FormlyExtension } from '../services/formly.config';\nimport { registerControl, unregisterControl, findControl } from '../extensions/field-form/utils';\nimport { Directive } from '@angular/core';\n\n// TODO remove `selector` in V6\n// tslint:disable-next-line\n@Directive({ selector: '[ɵfieldArray]' })\nexport abstract class FieldArrayType<F extends FormlyFieldConfig = FormlyFieldConfig> extends FieldType<F> implements FormlyExtension {\n get formControl() {\n return this.field.formControl as FormArray;\n }\n\n defaultOptions: any = {\n defaultValue: [],\n };\n\n constructor(@Inject(FORMLY_CONFIG) @Optional() builder?: FormlyFormBuilder) {\n super();\n\n if (builder instanceof FormlyFormBuilder) {\n console.warn(`NgxFormly: passing 'FormlyFormBuilder' to '${this.constructor.name}' type is not required anymore, you may remove it!`);\n }\n }\n\n onPopulate(field: FormlyFieldConfig) {\n if (!field.formControl && field.key) {\n const control = findControl(field);\n registerControl(field, control ? control : new FormArray([], { updateOn: field.modelOptions.updateOn }));\n }\n\n field.fieldGroup = field.fieldGroup || [];\n\n const length = field.model ? field.model.length : 0;\n if (field.fieldGroup.length > length) {\n for (let i = field.fieldGroup.length - 1; i >= length; --i) {\n unregisterControl(field.fieldGroup[i]);\n field.fieldGroup.splice(i, 1);\n }\n }\n\n for (let i = field.fieldGroup.length; i < length; i++) {\n const f = { ...clone(field.fieldArray), key: `${i}` };\n field.fieldGroup.push(f);\n }\n }\n\n add(i?: number, initialModel?: any, { markAsDirty } = { markAsDirty: true }) {\n i = isNullOrUndefined(i) ? this.field.fieldGroup.length : i;\n if (!this.model) {\n assignFieldValue(this.field, []);\n }\n\n this.model.splice(i, 0, initialModel ? clone(initialModel) : undefined);\n\n (<any> this.options)._buildForm(true);\n markAsDirty && this.formControl.markAsDirty();\n }\n\n remove(i: number, { markAsDirty } = { markAsDirty: true }) {\n this.model.splice(i, 1);\n unregisterControl(this.field.fieldGroup[i], true);\n this.field.fieldGroup.splice(i, 1);\n this.field.fieldGroup.forEach((f, key) => f.key = `${key}`);\n\n (<any> this.options)._buildForm(true);\n markAsDirty && this.formControl.markAsDirty();\n }\n}\n","import { ViewContainerRef, ViewChild } from '@angular/core';\nimport { FieldType } from './field.type';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\n\nexport abstract class FieldWrapper<F extends FormlyFieldConfig = FormlyFieldConfig> extends FieldType<F> {\n // TODO: remove `any`, once dropping angular `V7` support.\n @ViewChild('fieldComponent', <any>{ read: ViewContainerRef, static: false }) fieldComponent: ViewContainerRef;\n}\n","import { Component } from '@angular/core';\nimport { FieldType } from './field.type';\n\n@Component({\n selector: 'formly-group',\n template: `\n <formly-field *ngFor=\"let f of field.fieldGroup\" [field]=\"f\"></formly-field>\n <ng-content></ng-content>\n `,\n host: {\n '[class]': 'field.fieldGroupClassName || \"\"',\n },\n})\nexport class FormlyGroup extends FieldType {\n defaultOptions = {\n defaultValue: {},\n };\n}\n","import { Component, Input, ChangeDetectionStrategy, OnChanges } from '@angular/core';\nimport { FormlyConfig, ValidationMessageOption } from '../services/formly.config';\nimport { FormlyFieldConfig } from '../components/formly.field.config';\nimport { isObject } from '../utils';\nimport { Observable, isObservable, of } from 'rxjs';\nimport { merge } from 'rxjs';\nimport { startWith, switchMap, filter } from 'rxjs/operators';\n\n@Component({\n selector: 'formly-validation-message',\n template: `{{ errorMessage$ | async }}`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyValidationMessage implements OnChanges {\n @Input() field: FormlyFieldConfig;\n errorMessage$: Observable<string>;\n\n constructor(private formlyConfig: FormlyConfig) {}\n\n ngOnChanges() {\n this.errorMessage$ = merge(\n this.field.formControl.statusChanges,\n (\n !this.field.options\n ? of(null)\n : this.field.options.fieldChanges.pipe(\n filter(({ field, type, property }) => {\n return (field === this.field)\n && (type === 'expressionChanges')\n && (property.indexOf('validation') !== -1)\n ;\n }),\n )\n ),\n ).pipe(\n startWith(null),\n switchMap(() => isObservable(this.errorMessage)\n ? this.errorMessage\n : of(this.errorMessage),\n ),\n );\n }\n\n get errorMessage() {\n const fieldForm = this.field.formControl;\n for (let error in fieldForm.errors) {\n if (fieldForm.errors.hasOwnProperty(error)) {\n let message: ValidationMessageOption['message'] = this.formlyConfig.getValidatorMessage(error);\n\n if (isObject(fieldForm.errors[error])) {\n if (fieldForm.errors[error].errorPath) {\n return;\n }\n\n if (fieldForm.errors[error].message) {\n message = fieldForm.errors[error].message;\n }\n }\n\n if (this.field.validation && this.field.validation.messages && this.field.validation.messages[error]) {\n message = this.field.validation.messages[error];\n }\n\n if (this.field.validators && this.field.validators[error] && this.field.validators[error].message) {\n message = this.field.validators[error].message;\n }\n\n if (this.field.asyncValidators && this.field.asyncValidators[error] && this.field.asyncValidators[error].message) {\n message = this.field.asyncValidators[error].message;\n }\n\n if (typeof message === 'function') {\n return message(fieldForm.errors[error], this.field);\n }\n\n return message;\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FieldType } from './field.type';\n\n@Component({\n selector: 'formly-template',\n template: `<div [innerHtml]=\"template\"></div>`,\n})\nexport class FormlyTemplateType extends FieldType {\n get template() {\n if (this.field && (this.field.template !== this.innerHtml.template)) {\n this.innerHtml = {\n template: this.field.template,\n content: this.to.safeHtml\n ? this.sanitizer.bypassSecurityTrustHtml(this.field.template)\n : this.field.template,\n };\n }\n\n return this.innerHtml.content;\n }\n\n private innerHtml = { content: null, template: null };\n constructor(private sanitizer: DomSanitizer) {\n super();\n }\n}\n","export function evalStringExpression(expression: string, argNames: string[]) {\n try {\n if (expression.indexOf('this.field') !== -1) {\n console.warn(`NgxFormly: using 'this.field' in expressionProperties is deprecated since v5.1, use 'field' instead.`);\n }\n\n return Function(...argNames, `return ${expression};`) as any;\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function evalExpressionValueSetter(expression: string, argNames: string[]) {\n try {\n return Function(...argNames, `${expression} = expressionValue;`) as (value: any) => void;\n } catch (error) {\n console.error(error);\n }\n}\n\nexport function evalExpression(expression: string | Function | boolean, thisArg: any, argVal: any[]): any {\n if (expression instanceof Function) {\n return expression.apply(thisArg, argVal);\n } else {\n return expression ? true : false;\n }\n}\n","import { FormlyFieldConfig, FormlyValueChangeEvent, FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { isObject, isNullOrUndefined, isUndefined, isFunction, defineHiddenProp, wrapProperty, getFieldValue, assignFieldValue } from '../../utils';\nimport { evalExpression, evalStringExpression } from './utils';\nimport { isObservable, Observable, Subscription } from 'rxjs';\nimport { FormlyExtension } from '../../services/formly.config';\nimport { unregisterControl, registerControl, updateValidity } from '../field-form/utils';\nimport { FormArray } from '@angular/forms';\n\n/** @experimental */\nexport class FieldExpressionExtension implements FormlyExtension {\n prePopulate(field: FormlyFieldConfigCache) {\n if (field.parent || field.options._checkField) {\n return;\n }\n\n let checkLocked = false;\n field.options._checkField = (f, ignoreCache) => {\n if (!checkLocked) {\n checkLocked = true;\n this.checkField(f, ignoreCache);\n checkLocked = false;\n }\n };\n }\n\n postPopulate(field: FormlyFieldConfigCache) {\n if (!field.parent || field._expressionProperties) {\n return;\n }\n\n // cache built expression\n defineHiddenProp(field, '_expressionProperties', {});\n\n if (field.expressionProperties) {\n for (const key in field.expressionProperties) {\n const expressionProperty = field.expressionProperties[key];\n\n if (typeof expressionProperty === 'string' || isFunction(expressionProperty)) {\n field._expressionProperties[key] = {\n expression: this._evalExpression(\n key,\n expressionProperty,\n key === 'templateOptions.disabled' && field.parent.expressionProperties && field.parent.expressionProperties.hasOwnProperty('templateOptions.disabled')\n ? () => field.parent.templateOptions.disabled\n : undefined,\n ),\n };\n if (key === 'templateOptions.disabled') {\n Object.defineProperty(field._expressionProperties[key], 'expressionValue', {\n get: () => field.templateOptions.disabled,\n set: () => { },\n enumerable: true,\n configurable: true,\n });\n }\n } else if (expressionProperty instanceof Observable) {\n const subscribe = () => (expressionProperty as Observable<any>)\n .subscribe(v => {\n this.setExprValue(field, key, v);\n if (field.options && field.options._markForCheck) {\n field.options._markForCheck(field);\n }\n });\n\n let subscription: Subscription = subscribe();\n const onInit = field.hooks.onInit;\n field.hooks.onInit = () => {\n if (subscription === null) {\n subscription = subscribe();\n }\n return onInit && onInit(field);\n };\n\n const onDestroy = field.hooks.onDestroy;\n field.hooks.onDestroy = () => {\n onDestroy && onDestroy(field);\n subscription.unsubscribe();\n subscription = null;\n };\n }\n }\n }\n\n if (field.hideExpression) {\n // delete hide value in order to force re-evaluate it in FormlyFormExpression.\n delete field.hide;\n\n field.hideExpression = this._evalExpression(\n 'hide',\n field.hideExpression,\n () => {\n let root = field.parent;\n while (root.parent && !root.hide) {\n root = root.parent;\n }\n\n return root.hide;\n },\n );\n } else {\n wrapProperty(field, 'hide', ({ currentValue, firstChange }) => {\n field._hide = currentValue;\n if (!firstChange || (firstChange && currentValue === true)) {\n field.options._hiddenFieldsForCheck.push(field);\n }\n });\n }\n }\n\n private _evalExpression(prop: string, expression, parentExpression?) {\n return (...args) => {\n try {\n if (typeof expression === 'string') {\n expression = evalStringExpression(expression, ['model', 'formState', 'field']);\n }\n\n if (typeof expression !== 'function') {\n expression = () => !!expression;\n }\n\n return (parentExpression && parentExpression()) || expression(...args);\n } catch (error) {\n error.message = `[Formly Error] [Expression \"${prop}\"] ${error.message}`;\n throw error;\n }\n };\n }\n\n private checkField(field: FormlyFieldConfigCache, ignoreCache = false) {\n const fieldChanged = this._checkField(field, ignoreCache);\n\n field.options._hiddenFieldsForCheck\n .sort(f => f.hide ? -1 : 1)\n .forEach(f => this.toggleFormControl(f, !!f.hide, !ignoreCache));\n\n field.options._hiddenFieldsForCheck = [];\n if (fieldChanged) {\n this.checkField(field);\n if (field.options && field.options._markForCheck) {\n field.options._markForCheck(field);\n }\n }\n }\n\n private _checkField(field: FormlyFieldConfigCache, ignoreCache = false) {\n let fieldChanged = false;\n field.fieldGroup.forEach(f => {\n if (!f.options) {\n return;\n }\n\n this.checkFieldExpressionChange(f, ignoreCache) && (fieldChanged = true);\n if (this.checkFieldVisibilityChange(f, ignoreCache)) {\n field.options._hiddenFieldsForCheck.push(f);\n fieldChanged = true;\n }\n\n if (f.fieldGroup && f.fieldGroup.length > 0) {\n this._checkField(f, ignoreCache) && (fieldChanged = true);\n }\n });\n\n return fieldChanged;\n }\n\n private checkFieldExpressionChange(field: FormlyFieldConfigCache, ignoreCache): boolean {\n if (!field || !field._expressionProperties) {\n return false;\n }\n\n let markForCheck = false;\n const expressionProperties = field._expressionProperties;\n\n for (const key in expressionProperties) {\n let expressionValue = evalExpression(expressionProperties[key].expression, { field }, [field.model, field.options.formState, field, ignoreCache]);\n if (key === 'templateOptions.disabled') {\n expressionValue = !!expressionValue;\n }\n\n if (\n ignoreCache || (\n expressionProperties[key].expressionValue !== expressionValue\n && (\n !(isObject(expressionValue) || isFunction(expressionValue))\n || (\n isFunction(expressionValue)\n && ('' + expressionProperties[key].expressionValue !== '' + expressionValue)\n )\n || isObservable(expressionValue)\n || JSON.stringify(expressionValue) !== JSON.stringify(expressionProperties[key].expressionValue)\n )\n )\n ) {\n markForCheck = true;\n expressionProperties[key].expressionValue = expressionValue;\n this.setExprValue(field, key, expressionValue);\n }\n }\n\n return markForCheck;\n }\n\n private checkFieldVisibilityChange(field: FormlyFieldConfigCache, ignoreCache): boolean {\n if (!field || isNullOrUndefined(field.hideExpression)) {\n return false;\n }\n\n const hideExpressionResult: boolean = !!evalExpression(\n field.hideExpression,\n { field },\n [field.model, field.options.formState, field, ignoreCache],\n );\n let markForCheck = false;\n if (hideExpressionResult !== field.hide || ignoreCache) {\n markForCheck = true;\n // toggle hide\n field.hide = hideExpressionResult;\n field.templateOptions.hidden = hideExpressionResult;\n }\n\n return markForCheck;\n }\n\n private setDisabledState(field: FormlyFieldConfig, value: boolean) {\n if (field.fieldGroup) {\n field.fieldGroup\n .filter(f => !f.expressionProperties || !f.expressionProperties.hasOwnProperty('templateOptions.disabled'))\n .forEach(f => this.setDisabledState(f, value));\n }\n\n if (field.key && field.templateOptions.disabled !== value) {\n field.templateOptions.disabled = value;\n }\n }\n\n private toggleFormControl(field: FormlyFieldConfigCache, hide: boolean, resetOnHide: boolean) {\n if (field.fieldGroup) {\n field.fieldGroup\n .filter(f => !f.hideExpression)\n .forEach(f => this.toggleFormControl(f, hide, resetOnHide));\n }\n\n if (field.formControl && field.key) {\n defineHiddenProp(field, '_hide', !!(hide || field.hide));\n const c = field.formControl;\n if (c['_fields'] && c['_fields'].length > 1) {\n updateValidity(c);\n }\n\n if (hide === true && (!c['_fields'] || c['_fields'].every(f => !!f._hide))) {\n unregisterControl(field, true);\n if (resetOnHide && field.resetOnHide) {\n field.formControl.reset({ value: undefined, disabled: field.formControl.disabled });\n if (field.fieldGroup) {\n assignFieldValue(field, undefined);\n\n if (field.formControl instanceof FormArray) {\n field.fieldGroup.length = 0;\n }\n }\n }\n } else if (hide === false) {\n if (field.resetOnHide && field.parent && !isUndefined(field.defaultValue) && isUndefined(getFieldValue(field))) {\n assignFieldValue(field, field.defaultValue);\n }\n registerControl(field, undefined, true);\n if (field.resetOnHide && field.fieldArray && (field.fieldGroup || []).length !== (field.model || []).length) {\n (<any> field.options)._buildForm(true);\n }\n }\n }\n\n if (field.options.fieldChanges) {\n field.options.fieldChanges.next(<FormlyValueChangeEvent> { field, type: 'hidden', value: hide });\n }\n }\n\n private setExprValue(field: FormlyFieldConfigCache, prop: string, value: any) {\n try {\n let target = field;\n const paths = prop.indexOf('[') === -1\n ? prop.split('.')\n : prop\n .replace(/\\'|\\\"/g, '')\n .split(/[[\\]]{1,2}/) // https://stackoverflow.com/a/20198206\n .filter(v => v)\n ;\n const lastIndex = paths.length - 1;\n for (let i = 0; i < lastIndex; i++) {\n target = target[paths[i]];\n }\n\n target[paths[lastIndex]] = value;\n } catch (error) {\n error.message = `[Formly Error] [Expression \"${prop}\"] ${error.message}`;\n throw error;\n }\n\n if (prop === 'templateOptions.disabled' && field.key) {\n this.setDisabledState(field, value);\n }\n\n if (prop.indexOf('model.') === 0) {\n const path = prop.replace(/^model\\./, ''),\n control = field.key && prop === path ? field.formControl : field.parent.formControl.get(path);\n\n if (\n control\n && !(isNullOrUndefined(control.value) && isNullOrUndefined(value))\n && control.value !== value\n ) {\n control.patchValue(value);\n }\n }\n\n this.emitExpressionChanges(field, prop, value);\n }\n\n private emitExpressionChanges(field: FormlyFieldConfigCache, property: string, value: any) {\n if (!field.options.fieldChanges) {\n return;\n }\n\n field.options.fieldChanges.next({\n field: field,\n type: 'expressionChanges',\n property,\n value,\n });\n }\n}\n","import { FormlyExtension, FormlyConfig, ValidatorOption } from '../../services/formly.config';\nimport { FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { AbstractControl, Validators, ValidatorFn } from '@angular/forms';\nimport { FORMLY_VALIDATORS, defineHiddenProp, isPromise, wrapProperty, clone, isObject } from '../../utils';\nimport { updateValidity } from '../field-form/utils';\nimport { isObservable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/** @experimental */\nexport class FieldValidationExtension implements FormlyExtension {\n constructor(private formlyConfig: FormlyConfig) {}\n\n onPopulate(field: FormlyFieldConfigCache) {\n this.initFieldValidation(field, 'validators');\n this.initFieldValidation(field, 'asyncValidators');\n }\n\n private initFieldValidation(field: FormlyFieldConfigCache, type: 'validators' | 'asyncValidators') {\n const validators: ValidatorFn[] = [];\n if (type === 'validators' && !(field.hasOwnProperty('fieldGroup') && !field.key)) {\n validators.push(this.getPredefinedFieldValidation(field));\n }\n\n if (field[type]) {\n for (const validatorName in field[type]) {\n if (validatorName === 'validation' && !Array.isArray(field[type].validation)) {\n field[type].validation = [field[type].validation];\n console.warn(`NgxFormly(${field.key}): passing a non array value to the 'validation' is deprecated, pass an array instead`);\n }\n\n validatorName === 'validation'\n ? validators.push(...field[type].validation.map(v => this.wrapNgValidatorFn(field, v)))\n : validators.push(this.wrapNgValidatorFn(field, field[type][validatorName], validatorName))\n ;\n }\n }\n\n defineHiddenProp(field, '_' + type, validators);\n }\n\n private getPredefinedFieldValidation(field: FormlyFieldConfigCache): ValidatorFn {\n let VALIDATORS = [];\n FORMLY_VALIDATORS.forEach(opt => wrapProperty(field.templateOptions, opt, ({ currentValue, firstChange }) => {\n VALIDATORS = VALIDATORS.filter(o => o !== opt);\n if (currentValue != null && currentValue !== false) {\n VALIDATORS.push(opt);\n }\n if (!firstChange && field.formControl) {\n updateValidity(field.formControl);\n }\n }));\n\n return (control: AbstractControl) => {\n if (VALIDATORS.length === 0) {\n return null;\n }\n\n return Validators.compose(VALIDATORS.map(opt => () => {\n const value = field.templateOptions[opt];\n switch (opt) {\n case 'required':\n return Validators.required(control);\n case 'pattern':\n return Validators.pattern(value)(control);\n case 'minLength':\n return Validators.minLength(value)(control);\n case 'maxLength':\n return Validators.maxLength(value)(control);\n case 'min':\n return Validators.min(value)(control);\n case 'max':\n return Validators.max(value)(control);\n }\n }))(control);\n };\n }\n\n private wrapNgValidatorFn(field: FormlyFieldConfigCache, validator: any, validatorName?: string) {\n let validatorOption: ValidatorOption = null;\n if (typeof validator === 'string') {\n validatorOption = clone(this.formlyConfig.getValidator(validator));\n }\n\n if (typeof validator === 'object' && validator.name) {\n validatorOption = clone(this.formlyConfig.getValidator(validator.name));\n if (validator.options) {\n validatorOption.options = validator.options;\n }\n }\n\n if (typeof validator === 'object' && validator.expression) {\n const { expression, ...options } = validator;\n validatorOption = {\n name: validatorName,\n validation: expression,\n options: Object.keys(options).length > 0 ? options : null,\n };\n }\n\n if (typeof validator === 'function') {\n validatorOption = {\n name: validatorName,\n validation: validator,\n };\n }\n\n return (control: AbstractControl) => {\n const errors: any = validatorOption.validation(control, field, validatorOption.options);\n if (isPromise(errors)) {\n return errors.then(v => this.handleAsyncResult(field, validatorName ? !!v : v, validatorOption));\n }\n\n if (isObservable(errors)) {\n return errors.pipe(map(v => this.handleAsyncResult(field, validatorName ? !!v : v, validatorOption)));\n }\n\n return this.handleResult(field, validatorName ? !!errors : errors, validatorOption);\n };\n }\n\n private handleAsyncResult(field: FormlyFieldConfigCache, errors: any, options: ValidatorOption) {\n // workaround for https://github.com/angular/angular/issues/13200\n if (field.options && field.options._markForCheck) {\n field.options._markForCheck(field);\n }\n\n return this.handleResult(field, errors, options);\n }\n\n private handleResult(field: FormlyFieldConfigCache, errors: any, { name, options }: ValidatorOption) {\n if (typeof errors === 'boolean') {\n errors = errors ? null : { [name]: options ? options : true };\n }\n\n const ctrl = field.formControl;\n ctrl['_childrenErrors'] && ctrl['_childrenErrors'][name] && ctrl['_childrenErrors'][name]();\n\n if (isObject(errors)) {\n Object.keys(errors).forEach(name => {\n const errorPath = errors[name].errorPath\n ? errors[name].errorPath\n : (options || {}).errorPath;\n\n const childCtrl = errorPath ? field.formControl.get(errorPath) : null;\n if (childCtrl) {\n const { errorPath, ...opts } = errors[name];\n childCtrl.setErrors({ ...(childCtrl.errors || {}), [name]: opts });\n\n !ctrl['_childrenErrors'] && defineHiddenProp(ctrl, '_childrenErrors', {});\n ctrl['_childrenErrors'][name] = () => {\n const { [name]: toDelete, ...childErrors } = childCtrl.errors || {};\n childCtrl.setErrors(Object.keys(childErrors).length === 0 ? null : childErrors);\n };\n }\n });\n }\n\n return errors;\n }\n}\n","import { FormlyExtension, FormlyConfig } from '../../services/formly.config';\nimport { FormlyFieldConfigCache } from '../../components/formly.field.config';\nimport { FormGroup, FormControl, AbstractControlOptions, Validators, ValidatorFn, AsyncValidatorFn } from '@angular/forms';\nimport { getFieldValue, defineHiddenProp } from '../../utils';\nimport { registerControl, findControl, updateValidity } from './utils';\nimport { of } from 'rxjs';\n\n/** @experimental */\nexport class FieldFormExtension implements FormlyExtension {\n constructor(private config: FormlyConfig) { }\n\n onPopulate(field: FormlyFieldConfigCache) {\n if (!field.parent) {\n return;\n }\n\n if (field.fieldGroup && !field.key) {\n defineHiddenProp(field, 'formControl', field.parent.formControl);\n } else {\n this.addFormControl(field);\n }\n }\n\n postPopulate(field: FormlyFieldConfigCache) {\n if (field.parent) {\n return;\n }\n\n this.setValidators(field);\n }\n\n private addFormControl(field: FormlyFieldConfigCache) {\n let control = findControl(field);\n if (!control) {\n const controlOptions: AbstractControlOptions = { updateOn: field.modelOptions.updateOn };\n const value = field.key ? getFieldValue(field) : field.defaultValue;\n\n const ref = this.config ? this.config.resolveFieldTypeRef(field) : null;\n if (ref && ref.componentType && ref.componentType['createControl']) {\n const component = ref.componentType;\n console.warn(`NgxFormly: '${component.name}::createControl' is deprecated since v5.0, use 'prePopulate' hook instead.`);\n control = component['createControl'](value, field);\n } else if (field.fieldGroup) {\n // TODO: move to postPopulate\n control = new FormGroup({}, controlOptions);\n } else {\n control = new FormControl(value, controlOptions);\n }\n }\n\n registerControl(field, control);\n }\n\n private setValidators(field: FormlyFieldConfigCache) {\n let markForCheck = false;\n (field.fieldGroup || []).forEach(f => this.setValidators(f) && (markForCheck = true));\n\n if (field.key || !field.parent || (!field.key && !field.fieldGroup)) {\n const { formControl: c } = field;\n const disabled = field.templateOptions ? field.templateOptions.disabled : false;\n if (field.key && c) {\n if (disabled && c.enabled) {\n c.disable({ emitEvent: false, onlySelf: true });\n markForCheck = true;\n }\n\n if (!disabled && c.disabled) {\n c.enable({ emitEvent: false, onlySelf: true });\n markForCheck = true;\n }\n }\n\n\n if (c && (null === c.validator || null === c.asyncValidator)) {\n c.setValidators(() => {\n const v = Validators.compose(this.mergeValidators<ValidatorFn>(field, '_validators'));\n\n return v ? v(c) : null;\n });\n c.setAsyncValidators(() => {\n const v = Validators.composeAsync(this.mergeValidators<AsyncValidatorFn>(field, '_asyncValidators'));\n\n return v ? v(c) : of(null);\n });\n\n markForCheck = true;\n }\n\n if (markForCheck) {\n updateValidity(c, true);\n }\n }\n\n return markForCheck;\n }\n\n private mergeValidators<T>(field: FormlyFieldConfigCache, type: '_validators' | '_asyncValidators'): T[] {\n const validators: any = [];\n const c = field.formControl;\n if (c && c['_fields'] && c['_fields'].length > 1) {\n c['_fields']\n .filter((f: FormlyFieldConfigCache) => !f._hide)\n .forEach((f: FormlyFieldConfigCache) => validators.push(...f[type]));\n } else if (field[type]) {\n validators.push(...field[type]);\n }\n\n if (field.fieldGroup) {\n field.fieldGroup\n .filter(f => !f.key && f.fieldGroup)\n .forEach(f => validators.push(...this.mergeValidators(f, type)));\n }\n\n return validators;\n }\n}\n","import { FormlyExtension, FormlyConfig, TemplateManipulators } from '../../services/formly.config';\nimport { FormlyFieldConfigCache, FormlyFieldConfig } from '../../components/formly.field.config';\nimport { FormGroup } from '@angular/forms';\nimport { getFieldId, isUndefined, getFieldValue, reverseDeepMerge, assignFieldValue } from '../../utils';\n\n/** @experimental */\nexport class CoreExtension implements FormlyExtension {\n private formId = 0;\n constructor(private formlyConfig: FormlyConfig) { }\n\n prePopulate(field: FormlyFieldConfigCache) {\n this.getFieldComponentInstance(field).prePopulate();\n if (field.parent) {\n return;\n }\n\n const fieldTransforms = (field.options && field.options.fieldTransform) || this.formlyConfig.extras.fieldTransform;\n (Array.isArray(fieldTransforms) ? fieldTransforms : [fieldTransforms]).forEach(fieldTransform => {\n if (fieldTransform) {\n console.warn(`NgxFormly: fieldTransform is deprecated since v5.0, use custom extension instead.`);\n const fieldGroup = fieldTransform(field.fieldGroup, field.model, <FormGroup>field.formControl, field.options);\n if (!fieldGroup) {\n throw new Error('fieldTransform must return an array of fields');\n }\n }\n });\n }\n\n onPopulate(field: FormlyFieldConfigCache) {\n this.initFieldOptions(field);\n this.getFieldComponentInstance(field).onPopulate();\n if (field.fieldGroup) {\n field.fieldGroup.forEach((f, index) => {\n Object.defineProperty(f, 'parent', { get: () => field, configurable: true });\n Object.defineProperty(f, 'index', { get: () => index, configurable: true });\n this.formId++;\n });\n }\n }\n\n postPopulate(field: FormlyFieldConfigCache) {\n this.getFieldComponentInstance(field).postPopulate();\n }\n\n private initFieldOptions(field: FormlyFieldConfigCache) {\n const root = <FormlyFieldConfigCache> field.parent;\n if (!root) {\n return;\n }\n\n Object.defineProperty(field, 'form', { get: () => root.formControl, configurable: true });\n Object.defineProperty(field, 'options', { get: () => root.options, configurable: true });\n Object.defineProperty(field, 'model', {\n get: () => field.key && field.fieldGroup ? getFieldValue(field) : root.model,\n configurable: true,\n });\n\n reverseDeepMerge(field, {\n id: getFieldId(`formly_${this.formId}`, field, field['index']),\n hooks: {},\n modelOptions: {},\n validation: { messages: {} },\n templateOptions: !field.type || !field.key ? {} : {\n label: '',\n placeholder: '',\n focus: false,\n disabled: false,\n },\n });\n\n if (this.formlyConfig.extras.resetFieldOnHide && field.resetOnHide !== false) {\n field.resetOnHide = true;\n }\n\n if (field.lifecycle) {\n console.warn(`NgxFormly: 'lifecycle' is deprecated since v5.0, use 'hooks' instead.`);\n }\n\n if (\n field.type !== 'formly-template'\n && (\n field.template\n || (field.expressionProperties && field.expressionProperties.template)\n )\n ) {\n if (field.type) {\n console.warn(`NgxFormly: passing 'type' property is not allowed when 'template' is set.`);\n }\n field.type = 'formly-template';\n }\n\n if (!field.type && field.fieldGroup) {\n field.type = 'formly-group';\n }\n\n if (field.type) {\n this.formlyConfig.getMergedField(field);\n }\n\n if (field.parent) {\n let setDefaultValue = !isUndefined(field.key)\n && !isUndefined(field.defaultValue)\n && isUndefined(getFieldValue(field))\n && (!field.resetOnHide || !(field.hide || field.hideExpression));\n if (setDefaultValue && field.resetOnHide) {\n let parent = field.parent;\n while (parent && !parent.hideExpression && !parent.hide) {\n parent = parent.parent;\n }\n setDefaultValue = !parent || !(parent.hideExpression || parent.hide);\n }\n\n if (setDefaultValue) {\n assignFieldValue(field, field.defaultValue);\n }\n }\n\n this.initFieldWrappers(field);\n }\n\n private initFieldWrappers(field: FormlyFieldConfig) {\n field.wrappers = field.wrappers || [];\n const fieldTemplateManipulators: TemplateManipulators = {\n preWrapper: [],\n postWrapper: [],\n ...(field.templateOptions.templateManipulators || {}),\n };\n\n field.wrappers = [\n ...this.formlyConfig.templateManipulators.preWrapper.map(m => m(field)),\n ...fieldTemplateManipulators.preWrapper.map(m => m(field)),\n ...field.wrappers,\n ...this.formlyConfig.templateManipulators.postWrapper.map(m => m(field)),\n ...fieldTemplateManipulators.postWrapper.map(m => m(field)),\n ].filter((el, i, a) => el && i === a.indexOf(el));\n }\n\n private getFieldComponentInstance(field: FormlyFieldConfigCache) {\n const componentRef = this.formlyConfig.resolveFieldTypeRef(field);\n const instance: FormlyExtension = componentRef ? componentRef.instance as any : {};\n\n return {\n prePopulate: () => instance.prePopulate && instance.prePopulate(field),\n onPopulate: () => instance.onPopulate && instance.onPopulate(field),\n postPopulate: () => instance.postPopulate && instance.postPopulate(field),\n };\n }\n}\n","import { NgModule, ModuleWithProviders, ANALYZE_FOR_ENTRY_COMPONENTS, Inject, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyForm } from './components/formly.form';\nimport { FormlyField } from './components/formly.field';\nimport { FormlyAttributes } from './components/formly.attributes';\nimport { FormlyConfig, ConfigOption, FORMLY_CONFIG } from './services/formly.config';\nimport { FormlyFormBuilder } from './services/formly.form.builder';\nimport { FormlyGroup } from './templates/formly.group';\nimport { FormlyValidationMessage } from './templates/formly.validation-message';\nimport { FormlyTemplateType } from './templates/field-template.type';\n\nimport { FieldExpressionExtension } from './extensions/field-expression/field-expression';\nimport { FieldValidationExtension } from './extensions/field-validation/field-validation';\nimport { FieldFormExtension } from './extensions/field-form/field-form';\nimport { CoreExtension } from './extensions/core/core';\nimport { FieldArrayType } from './templates/field-array.type';\n\nexport function defaultFormlyConfig(formlyConfig: FormlyConfig): ConfigOption {\n return {\n types: [\n { name: 'formly-group', component: FormlyGroup },\n { name: 'formly-template', component: FormlyTemplateType },\n ],\n extensions: [\n { name: 'core', extension: new CoreExtension(formlyConfig) },\n { name: 'field-validation', extension: new FieldValidationExtension(formlyConfig) },\n { name: 'field-form', extension: new FieldFormExtension(formlyConfig) },\n { name: 'field-expression', extension: new FieldExpressionExtension() },\n ],\n };\n}\n\n@NgModule({\n declarations: [\n FormlyForm,\n FormlyField,\n FormlyAttributes,\n FormlyGroup,\n FormlyValidationMessage,\n FormlyTemplateType,\n FieldArrayType as any,\n ],\n entryComponents: [FormlyGroup, FormlyTemplateType],\n exports: [FormlyForm, FormlyField, FormlyAttributes, FormlyGroup, FormlyValidationMessage],\n imports: [CommonModule],\n})\nexport class FormlyModule {\n static forRoot(config: ConfigOption = {}): ModuleWithProviders<FormlyModule> {\n return {\n ngModule: FormlyModule,\n providers: [\n { provide: FORMLY_CONFIG, multi: true, useFactory: defaultFormlyConfig, deps: [FormlyConfig] },\n { provide: FORMLY_CONFIG, useValue: config, multi: true },\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: config, multi: true },\n FormlyConfig,\n FormlyFormBuilder,\n ],\n };\n }\n\n static forChild(config: ConfigOption = {}): ModuleWithProviders<FormlyModule> {\n return {\n ngModule: FormlyModule,\n providers: [\n { provide: FORMLY_CONFIG, multi: true, useFactory: defaultFormlyConfig, deps: [FormlyConfig] },\n { provide: FORMLY_CONFIG, useValue: config, multi: true },\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: config, multi: true },\n FormlyFormBuilder,\n ],\n };\n }\n\n constructor(\n configService: FormlyConfig,\n @Optional() @Inject(FORMLY_CONFIG) configs: ConfigOption[] = [],\n ) {\n if (!configs) {\n return;\n }\n\n configs.forEach(config => configService.addConfig(config));\n }\n}\n"],"names":["tslib_1.__values","isObservable","TemplateRef","AbstractControl","InjectionToken","Injectable","Subject","ChangeDetectorRef","ComponentFactoryResolver","Injector","FormArray","FormGroup","FormControl","EventEmitter","switchMap","take","distinctUntilChanged","debounceTime","tslib_1.__spread","Component","NgZone","Attribute","FormGroupDirective","Optional","Input","Output","ViewChild","Renderer2","ElementRef","ViewContainerRef","Directive","Inject","DOCUMENT","tslib_1.__extends","merge","of","filter","startWith","ChangeDetectionStrategy","DomSanitizer","Observable","Validators","map","ANALYZE_FOR_ENTRY_COMPONENTS","NgModule","CommonModule"],"mappings":"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"}