{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 203bcaec20e57a60cfeb","webpack:///./index.js","webpack:///./index.common.js","webpack:///./providers/formlyApiCheck.js","webpack:///./other/docsBaseUrl.js","webpack:///./providers/formlyUsability.js","webpack:///./providers/formlyConfig.js","webpack:///./providers/formlyValidationMessages.js","webpack:///./services/formlyUtil.js","webpack:///./services/formlyWarn.js","webpack:///./directives/formly-custom-validation.js","webpack:///./directives/formly-field.js","webpack:///./directives/formly-focus.js","webpack:///./directives/formly-form.js","webpack:///./run/formlyNgModelAttrsManipulator.js","webpack:///./run/formlyCustomTags.js","webpack:///./angular-fix/index.js","webpack:///external {\"root\":\"apiCheck\",\"amd\":\"api-check\",\"commonjs2\":\"api-check\",\"commonjs\":\"api-check\"}","webpack:///external \"angular\"","webpack:///./other/utils.js"],"names":[],"mappings":"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","file":"formly.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"api-check\"), require(\"angular\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"api-check\", \"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ngFormly\"] = factory(require(\"api-check\"), require(\"angular\"));\n\telse\n\t\troot[\"ngFormly\"] = factory(root[\"apiCheck\"], root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_16__, __WEBPACK_EXTERNAL_MODULE_17__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 203bcaec20e57a60cfeb\n **/","import index from './index.common';\nexport default index;\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./index.js\n **/","import angular from 'angular-fix';\n\nimport formlyApiCheck from './providers/formlyApiCheck';\nimport formlyErrorAndWarningsUrlPrefix from './other/docsBaseUrl';\nimport formlyUsability from './providers/formlyUsability';\nimport formlyConfig from './providers/formlyConfig';\nimport formlyValidationMessages from './providers/formlyValidationMessages';\nimport formlyUtil from './services/formlyUtil';\nimport formlyWarn from './services/formlyWarn';\n\nimport formlyCustomValidation from './directives/formly-custom-validation';\nimport formlyField from './directives/formly-field';\nimport formlyFocus from './directives/formly-focus';\nimport formlyForm from './directives/formly-form';\n\nimport formlyNgModelAttrsManipulator from './run/formlyNgModelAttrsManipulator';\nimport formlyCustomTags from './run/formlyCustomTags';\n\nconst ngModuleName = 'formly';\n\nexport default ngModuleName;\n\nconst ngModule = angular.module(ngModuleName, []);\n\nngModule.constant('formlyApiCheck', formlyApiCheck);\nngModule.constant('formlyErrorAndWarningsUrlPrefix', formlyErrorAndWarningsUrlPrefix);\nngModule.constant('formlyVersion', VERSION); // <-- webpack variable\n\nngModule.provider('formlyUsability', formlyUsability);\nngModule.provider('formlyConfig', formlyConfig);\n\nngModule.factory('formlyValidationMessages', formlyValidationMessages);\nngModule.factory('formlyUtil', formlyUtil);\nngModule.factory('formlyWarn', formlyWarn);\n\nngModule.directive('formlyCustomValidation', formlyCustomValidation);\nngModule.directive('formlyField', formlyField);\nngModule.directive('formlyFocus', formlyFocus);\nngModule.directive('formlyForm', formlyForm);\n\nngModule.run(formlyNgModelAttrsManipulator);\nngModule.run(formlyCustomTags);\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./index.common.js\n **/","import apiCheckFactory from 'api-check';\n\nlet apiCheck = apiCheckFactory({\n output: {\n prefix: 'angular-formly:',\n docsBaseUrl: require('../other/docsBaseUrl')\n }\n});\n\nfunction shapeRequiredIfNot(otherProps, propChecker) {\n if (!angular.isArray(otherProps)) {\n otherProps = [otherProps];\n }\n const type = `specified if these are not specified: \\`${otherProps.join(', ')}\\` (otherwise it's optional)`;\n function shapeRequiredIfNotDefinition(prop, propName, location, obj) {\n var propExists = obj && obj.hasOwnProperty(propName);\n var otherPropsExist = otherProps.some(function (otherProp) {\n return obj && obj.hasOwnProperty(otherProp);\n });\n if (!otherPropsExist && !propExists) {\n return apiCheck.utils.getError(propName, location, type);\n } else if (propExists) {\n return propChecker(prop, propName, location, obj);\n }\n }\n shapeRequiredIfNotDefinition.type = type;\n return apiCheck.utils.checkerHelpers.setupChecker(shapeRequiredIfNotDefinition);\n}\n\nlet formlyExpression = apiCheck.oneOfType([apiCheck.string, apiCheck.func]);\nlet specifyWrapperType = apiCheck.oneOfType([\n apiCheck.oneOf([null]), apiCheck.typeOrArrayOf(apiCheck.string)\n]);\n\nconst apiCheckProperty = apiCheck.objectOf(apiCheck.func);\n\nconst apiCheckInstanceProperty = apiCheck.shape.onlyIf('apiCheck', apiCheck.func.withProperties({\n warn: apiCheck.func,\n throw: apiCheck.func,\n shape: apiCheck.func\n}));\n\nconst apiCheckFunctionProperty = apiCheck.shape.onlyIf('apiCheck', apiCheck.oneOf(['throw', 'warn']));\n\nconst formlyWrapperType = apiCheck.shape({\n name: shapeRequiredIfNot('types', apiCheck.string).optional,\n template: apiCheck.shape.ifNot('templateUrl', apiCheck.string).optional,\n templateUrl: apiCheck.shape.ifNot('template', apiCheck.string).optional,\n types: apiCheck.typeOrArrayOf(apiCheck.string).optional,\n overwriteOk: apiCheck.bool.optional,\n validateOptions: apiCheck.func.optional,\n apiCheck: apiCheckProperty.optional,\n apiCheckInstance: apiCheckInstanceProperty.optional,\n apiCheckFunction: apiCheckFunctionProperty.optional,\n apiCheckOptions: apiCheck.object.optional\n}).strict;\n\nconst expressionProperties = apiCheck.objectOf(apiCheck.oneOfType([\n formlyExpression,\n apiCheck.shape({\n expression: formlyExpression,\n message: formlyExpression.optional\n }).strict\n]));\n\nlet fieldOptionsApiShape = {\n $$hashKey: apiCheck.any.optional,\n type: apiCheck.shape.ifNot(['template', 'templateUrl'], apiCheck.string).optional,\n template: apiCheck.shape.ifNot(\n ['type', 'templateUrl'],\n apiCheck.oneOfType([apiCheck.string, apiCheck.func])\n ).optional,\n templateUrl: apiCheck.shape.ifNot(\n ['type', 'template'],\n apiCheck.oneOfType([apiCheck.string, apiCheck.func])\n ).optional,\n key: apiCheck.oneOfType([apiCheck.string, apiCheck.number]).optional,\n model: apiCheck.object.optional,\n className: apiCheck.string.optional,\n expressionProperties: expressionProperties.optional,\n data: apiCheck.object.optional,\n templateOptions: apiCheck.object.optional,\n wrapper: specifyWrapperType.optional,\n modelOptions: apiCheck.shape({\n updateOn: apiCheck.string.optional,\n debounce: apiCheck.oneOfType([\n apiCheck.object, apiCheck.string\n ]).optional,\n allowInvalid: apiCheck.bool.optional,\n getterSetter: apiCheck.bool.optional,\n timezone: apiCheck.string.optional\n }).optional,\n watcher: apiCheck.typeOrArrayOf(\n apiCheck.shape({\n expression: formlyExpression.optional,\n listener: formlyExpression\n })\n ).optional,\n validators: apiCheck.objectOf(apiCheck.oneOfType([\n formlyExpression, apiCheck.shape({\n expression: formlyExpression,\n message: formlyExpression.optional\n }).strict\n ])).optional,\n noFormControl: apiCheck.bool.optional,\n hide: apiCheck.bool.optional,\n hideExpression: formlyExpression.optional,\n ngModelAttrs: apiCheck.objectOf(apiCheck.shape({\n expression: apiCheck.shape.ifNot(['value', 'attribute', 'bound'], apiCheck.any).optional,\n value: apiCheck.shape.ifNot('expression', apiCheck.any).optional,\n attribute: apiCheck.shape.ifNot('expression', apiCheck.any).optional,\n bound: apiCheck.shape.ifNot('expression', apiCheck.any).optional\n }).strict).optional,\n elementAttributes: apiCheck.objectOf(apiCheck.string).optional,\n optionsTypes: apiCheck.typeOrArrayOf(apiCheck.string).optional,\n link: apiCheck.func.optional,\n controller: apiCheck.oneOfType([\n apiCheck.string, apiCheck.func, apiCheck.array\n ]).optional,\n validation: apiCheck.shape({\n show: apiCheck.oneOfType([\n apiCheck.bool, apiCheck.oneOf([null])\n ]).optional,\n messages: apiCheck.objectOf(formlyExpression).optional,\n errorExistsAndShouldBeVisible: apiCheck.bool.optional\n }).optional,\n formControl: apiCheck.object.optional,\n value: apiCheck.func.optional,\n runExpressions: apiCheck.func.optional,\n resetModel: apiCheck.func.optional,\n updateInitialValue: apiCheck.func.optional,\n initialValue: apiCheck.any.optional,\n defaultValue: apiCheck.any.optional\n};\n\n\nlet formlyFieldOptions = apiCheck.shape(fieldOptionsApiShape).strict;\n\n\nconst formOptionsApi = apiCheck.shape({\n formState: apiCheck.object.optional,\n resetModel: apiCheck.func.optional,\n updateInitialValue: apiCheck.func.optional,\n removeChromeAutoComplete: apiCheck.bool.optional\n}).strict;\n\n\nconst fieldGroup = apiCheck.shape({\n $$hashKey: apiCheck.any.optional,\n fieldGroup: apiCheck.arrayOf(formlyFieldOptions),\n className: apiCheck.string.optional,\n options: formOptionsApi.optional,\n hide: apiCheck.bool.optional,\n hideExpression: formlyExpression.optional,\n model: apiCheck.object.optional,\n form: apiCheck.object.optional,\n elementAttributes: apiCheck.objectOf(apiCheck.string).optional\n}).strict;\n\nlet typeOptionsDefaultOptions = angular.copy(fieldOptionsApiShape);\ntypeOptionsDefaultOptions.key = apiCheck.string.optional;\n\nlet formlyTypeOptions = apiCheck.shape({\n name: apiCheck.string,\n template: apiCheck.shape.ifNot('templateUrl', apiCheck.oneOfType([apiCheck.string, apiCheck.func])).optional,\n templateUrl: apiCheck.shape.ifNot('template', apiCheck.oneOfType([apiCheck.string, apiCheck.func])).optional,\n controller: apiCheck.oneOfType([\n apiCheck.func, apiCheck.string, apiCheck.array\n ]).optional,\n link: apiCheck.func.optional,\n defaultOptions: apiCheck.oneOfType([\n apiCheck.func, apiCheck.shape(typeOptionsDefaultOptions)\n ]).optional,\n extends: apiCheck.string.optional,\n wrapper: specifyWrapperType.optional,\n data: apiCheck.object.optional,\n validateOptions: apiCheck.func.optional,\n apiCheck: apiCheckProperty.optional,\n apiCheckInstance: apiCheckInstanceProperty.optional,\n apiCheckFunction: apiCheckFunctionProperty.optional,\n apiCheckOptions: apiCheck.object.optional,\n overwriteOk: apiCheck.bool.optional\n}).strict;\nangular.extend(apiCheck, {\n formlyTypeOptions, formlyFieldOptions, formlyExpression, formlyWrapperType, fieldGroup, formOptionsApi\n});\n\nexport default apiCheck;\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./providers/formlyApiCheck.js\n **/","export default `https://github.com/formly-js/angular-formly/blob/${VERSION}/other/ERRORS_AND_WARNINGS.md#`;\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./other/docsBaseUrl.js\n **/","import angular from 'angular-fix';\n\nexport default formlyUsability;\n\n// @ngInject\nfunction formlyUsability(formlyApiCheck, formlyErrorAndWarningsUrlPrefix) {\n angular.extend(this, {\n getFormlyError: getFormlyError,\n getFieldError: getFieldError,\n checkWrapper: checkWrapper,\n checkWrapperTemplate: checkWrapperTemplate,\n $get: () => this\n });\n\n function getFieldError(errorInfoSlug, message, field) {\n if (arguments.length < 3) {\n field = message;\n message = errorInfoSlug;\n errorInfoSlug = null;\n }\n return new Error(getErrorMessage(errorInfoSlug, message) + ` Field definition: ${angular.toJson(field)}`);\n }\n\n function getFormlyError(errorInfoSlug, message) {\n if (!message) {\n message = errorInfoSlug;\n errorInfoSlug = null;\n }\n return new Error(getErrorMessage(errorInfoSlug, message));\n }\n\n function getErrorMessage(errorInfoSlug, message) {\n let url = '';\n if (errorInfoSlug !== null) {\n url = `${formlyErrorAndWarningsUrlPrefix}${errorInfoSlug}`;\n }\n return `Formly Error: ${message}. ${url}`;\n }\n\n function checkWrapper(wrapper) {\n formlyApiCheck.throw(formlyApiCheck.formlyWrapperType, wrapper, {\n prefix: 'formlyConfig.setWrapper',\n urlSuffix: 'setwrapper-validation-failed'\n });\n }\n\n function checkWrapperTemplate(template, additionalInfo) {\n var formlyTransclude = '';\n if (template.indexOf(formlyTransclude) === -1) {\n throw getFormlyError(\n `Template wrapper templates must use \"${formlyTransclude}\" somewhere in them. ` +\n `This one does not have \"\" in it: ${template}` + '\\n' +\n `Additional information: ${JSON.stringify(additionalInfo)}`\n );\n }\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./providers/formlyUsability.js\n **/","import angular from 'angular-fix';\nimport utils from '../other/utils';\n\nexport default formlyConfig;\n\n// @ngInject\nfunction formlyConfig(formlyUsabilityProvider, formlyApiCheck) {\n\n var typeMap = {};\n var templateWrappersMap = {};\n var defaultWrapperName = 'default';\n var _this = this;\n var getError = formlyUsabilityProvider.getFormlyError;\n\n angular.extend(this, {\n setType,\n getType,\n setWrapper,\n getWrapper,\n getWrapperByType,\n removeWrapperByName,\n removeWrappersForType,\n disableWarnings: false,\n extras: {\n disableNgModelAttrsManipulator: false,\n ngModelAttrsManipulatorPreferUnbound: false,\n removeChromeAutoComplete: false,\n defaultHideDirective: 'ng-if'\n },\n templateManipulators: {\n preWrapper: [],\n postWrapper: []\n },\n $get: () => this\n });\n\n function setType(options) {\n if (angular.isArray(options)) {\n angular.forEach(options, setType);\n } else if (angular.isObject(options)) {\n checkType(options);\n if (options.extends) {\n extendTypeOptions(options);\n }\n typeMap[options.name] = options;\n } else {\n throw getError(`You must provide an object or array for setType. You provided: ${JSON.stringify(arguments)}`);\n }\n }\n\n function checkType(options) {\n formlyApiCheck.throw(formlyApiCheck.formlyTypeOptions, options, {\n prefix: 'formlyConfig.setType',\n url: 'settype-validation-failed'\n });\n if (!options.overwriteOk) {\n checkOverwrite(options.name, typeMap, options, 'types');\n } else {\n options.overwriteOk = undefined;\n }\n }\n\n function extendTypeOptions(options) {\n const extendsType = getType(options.extends, true, options);\n extendTypeControllerFunction(options, extendsType);\n extendTypeLinkFunction(options, extendsType);\n extendTypeValidateOptionsFunction(options, extendsType);\n extendTypeDefaultOptions(options, extendsType);\n utils.reverseDeepMerge(options, extendsType);\n extendTemplate(options, extendsType);\n }\n\n function extendTemplate(options, extendsType){\n if(options.template && extendsType.templateUrl){\n delete options.templateUrl;\n } else if(options.templateUrl && extendsType.template){\n delete options.template;\n }\n }\n\n function extendTypeControllerFunction(options, extendsType) {\n const extendsCtrl = extendsType.controller;\n if (!angular.isDefined(extendsCtrl)) {\n return;\n }\n const optionsCtrl = options.controller;\n if (angular.isDefined(optionsCtrl)) {\n options.controller = function ($scope, $controller) {\n $controller(extendsCtrl, {$scope});\n $controller(optionsCtrl, {$scope});\n };\n options.controller.$inject = ['$scope', '$controller'];\n } else {\n options.controller = extendsCtrl;\n }\n }\n\n function extendTypeLinkFunction(options, extendsType) {\n const extendsFn = extendsType.link;\n if (!angular.isDefined(extendsFn)) {\n return;\n }\n const optionsFn = options.link;\n if (angular.isDefined(optionsFn)) {\n options.link = function () {\n extendsFn(...arguments);\n optionsFn(...arguments);\n };\n } else {\n options.link = extendsFn;\n }\n }\n\n function extendTypeValidateOptionsFunction(options, extendsType) {\n const extendsFn = extendsType.validateOptions;\n if (!angular.isDefined(extendsFn)) {\n return;\n }\n const optionsFn = options.validateOptions;\n const originalDefaultOptions = options.defaultOptions;\n if (angular.isDefined(optionsFn)) {\n options.validateOptions = function (options) {\n optionsFn(options);\n let mergedOptions = angular.copy(options);\n let defaultOptions = originalDefaultOptions;\n if (defaultOptions) {\n if (angular.isFunction(defaultOptions)) {\n defaultOptions = defaultOptions(mergedOptions);\n }\n utils.reverseDeepMerge(mergedOptions, defaultOptions);\n }\n extendsFn(mergedOptions);\n };\n } else {\n options.validateOptions = extendsFn;\n }\n }\n\n function extendTypeDefaultOptions(options, extendsType) {\n const extendsDO = extendsType.defaultOptions;\n if (!angular.isDefined(extendsDO)) {\n return;\n }\n const optionsDO = options.defaultOptions;\n const optionsDOIsFn = angular.isFunction(optionsDO);\n const extendsDOIsFn = angular.isFunction(extendsDO);\n if (extendsDOIsFn) {\n options.defaultOptions = function defaultOptions(options) {\n const extendsDefaultOptions = extendsDO(options);\n const mergedDefaultOptions = {};\n utils.reverseDeepMerge(mergedDefaultOptions, options, extendsDefaultOptions);\n let extenderOptionsDefaultOptions = optionsDO;\n if (optionsDOIsFn) {\n extenderOptionsDefaultOptions = extenderOptionsDefaultOptions(mergedDefaultOptions);\n }\n utils.reverseDeepMerge(extendsDefaultOptions, extenderOptionsDefaultOptions);\n return extendsDefaultOptions;\n };\n } else if (optionsDOIsFn) {\n options.defaultOptions = function defaultOptions(options) {\n let newDefaultOptions = {};\n utils.reverseDeepMerge(newDefaultOptions, options, extendsDO);\n return optionsDO(newDefaultOptions);\n };\n }\n }\n\n function getType(name, throwError, errorContext) {\n if (!name) {\n return undefined;\n }\n var type = typeMap[name];\n if (!type && throwError === true) {\n throw getError(\n `There is no type by the name of \"${name}\": ${JSON.stringify(errorContext)}`\n );\n } else {\n return type;\n }\n }\n\n function setWrapper(options, name) {\n if (angular.isArray(options)) {\n return options.map(wrapperOptions => setWrapper(wrapperOptions));\n } else if (angular.isObject(options)) {\n options.types = getOptionsTypes(options);\n options.name = getOptionsName(options, name);\n checkWrapperAPI(options);\n templateWrappersMap[options.name] = options;\n return options;\n } else if (angular.isString(options)) {\n return setWrapper({\n template: options,\n name\n });\n }\n }\n\n function getOptionsTypes(options) {\n if (angular.isString(options.types)) {\n return [options.types];\n }\n if (!angular.isDefined(options.types)) {\n return [];\n } else {\n return options.types;\n }\n }\n\n function getOptionsName(options, name) {\n return options.name || name || options.types.join(' ') || defaultWrapperName;\n }\n\n function checkWrapperAPI(options) {\n formlyUsabilityProvider.checkWrapper(options);\n if (options.template) {\n formlyUsabilityProvider.checkWrapperTemplate(options.template, options);\n }\n if (!options.overwriteOk) {\n checkOverwrite(options.name, templateWrappersMap, options, 'templateWrappers');\n } else {\n delete options.overwriteOk;\n }\n checkWrapperTypes(options);\n }\n\n function checkWrapperTypes(options) {\n let shouldThrow = !angular.isArray(options.types) || !options.types.every(angular.isString);\n if (shouldThrow) {\n throw getError(`Attempted to create a template wrapper with types that is not a string or an array of strings`);\n }\n }\n\n function checkOverwrite(property, object, newValue, objectName) {\n if (object.hasOwnProperty(property)) {\n warn([\n `Attempting to overwrite ${property} on ${objectName} which is currently`,\n `${JSON.stringify(object[property])} with ${JSON.stringify(newValue)}`,\n `To supress this warning, specify the property \"overwriteOk: true\"`\n ].join(' '));\n }\n }\n\n function getWrapper(name) {\n return templateWrappersMap[name || defaultWrapperName];\n }\n\n function getWrapperByType(type) {\n /* jshint maxcomplexity:6 */\n var wrappers = [];\n for (var name in templateWrappersMap) {\n if (templateWrappersMap.hasOwnProperty(name)) {\n if (templateWrappersMap[name].types && templateWrappersMap[name].types.indexOf(type) !== -1) {\n wrappers.push(templateWrappersMap[name]);\n }\n }\n }\n return wrappers;\n }\n\n function removeWrapperByName(name) {\n var wrapper = templateWrappersMap[name];\n delete templateWrappersMap[name];\n return wrapper;\n }\n\n function removeWrappersForType(type) {\n var wrappers = getWrapperByType(type);\n if (!wrappers) {\n return;\n }\n if (!angular.isArray(wrappers)) {\n return removeWrapperByName(wrappers.name);\n } else {\n wrappers.forEach((wrapper) => removeWrapperByName(wrapper.name));\n return wrappers;\n }\n }\n\n\n function warn() {\n if (!_this.disableWarnings) {\n console.warn(...arguments);\n }\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./providers/formlyConfig.js\n **/","export default formlyValidationMessages;\n\n\n// @ngInject\nfunction formlyValidationMessages() {\n\n var validationMessages = {\n addTemplateOptionValueMessage,\n addStringMessage,\n messages: {}\n };\n\n return validationMessages;\n\n function addTemplateOptionValueMessage(name, prop, prefix, suffix, alternate) {\n validationMessages.messages[name] = templateOptionValue(prop, prefix, suffix, alternate);\n }\n\n function addStringMessage(name, string) {\n validationMessages.messages[name] = () => string;\n }\n\n\n function templateOptionValue(prop, prefix, suffix, alternate) {\n return function getValidationMessage(viewValue, modelValue, scope) {\n if (scope.options.templateOptions[prop]) {\n return `${prefix} ${scope.options.templateOptions[prop]} ${suffix}`;\n } else {\n return alternate;\n }\n };\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./providers/formlyValidationMessages.js\n **/","import utils from '../other/utils';\n\nexport default formlyUtil;\n\n// @ngInject\nfunction formlyUtil() {\n return utils;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./services/formlyUtil.js\n **/","export default formlyWarn;\n\n// @ngInject\nfunction formlyWarn(formlyConfig, formlyErrorAndWarningsUrlPrefix, $log) {\n return function warn() {\n if (!formlyConfig.disableWarnings) {\n var args = Array.prototype.slice.call(arguments);\n var warnInfoSlug = args.shift();\n args.unshift('Formly Warning:');\n args.push(`${formlyErrorAndWarningsUrlPrefix}${warnInfoSlug}`);\n $log.warn(...args);\n }\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./services/formlyWarn.js\n **/","export default formlyCustomValidation;\n\n// @ngInject\nfunction formlyCustomValidation(formlyUtil, $q) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function formlyCustomValidationLink(scope, el, attrs, ctrl) {\n const opts = scope.options;\n if (opts.validators) {\n checkValidators(opts.validators);\n }\n opts.validation.messages = opts.validation.messages || {};\n angular.forEach(opts.validation.messages, (message, key) => {\n opts.validation.messages[key] = () => {\n return formlyUtil.formlyEval(scope, message, ctrl.$modelValue, ctrl.$viewValue);\n };\n });\n\n\n var useNewValidatorsApi = ctrl.hasOwnProperty('$validators') && !attrs.hasOwnProperty('useParsers');\n angular.forEach(opts.validators, function addValidatorToPipeline(validator, name) {\n var message = validator.message;\n if (message) {\n opts.validation.messages[name] = () => {\n return formlyUtil.formlyEval(scope, message, ctrl.$modelValue, ctrl.$viewValue);\n };\n }\n validator = angular.isObject(validator) ? validator.expression : validator;\n var isPossiblyAsync = !angular.isString(validator);\n if (useNewValidatorsApi) {\n setupWithValidators();\n } else {\n setupWithParsers();\n }\n\n function setupWithValidators() {\n var validatorCollection = isPossiblyAsync ? '$asyncValidators' : '$validators';\n ctrl[validatorCollection][name] = function evalValidity(modelValue, viewValue) {\n var value = formlyUtil.formlyEval(scope, validator, modelValue, viewValue);\n if (isPossiblyAsync) {\n return isPromiseLike(value) ? value : value ? $q.when(value) : $q.reject(value);\n } else {\n return value;\n }\n };\n }\n\n function setupWithParsers() {\n let inFlightValidator;\n ctrl.$parsers.unshift(function evalValidityOfParser(viewValue) {\n var isValid = formlyUtil.formlyEval(scope, validator, ctrl.$modelValue, viewValue);\n if (isPromiseLike(isValid)) {\n ctrl.$pending = ctrl.$pending || {};\n ctrl.$pending[name] = true;\n inFlightValidator = isValid;\n isValid.then(() => {\n if (inFlightValidator === isValid) {\n ctrl.$setValidity(name, true);\n }\n }).catch(() => {\n if (inFlightValidator === isValid) {\n ctrl.$setValidity(name, false);\n }\n }).finally(() => {\n if (Object.keys(ctrl.$pending).length === 1) {\n delete ctrl.$pending;\n } else {\n delete ctrl.$pending[name];\n }\n });\n } else {\n ctrl.$setValidity(name, isValid);\n }\n return viewValue;\n });\n }\n });\n }\n };\n\n function isPromiseLike(obj) {\n return obj && angular.isFunction(obj.then);\n }\n\n function checkValidators(validators) {\n var allowedProperties = ['expression', 'message'];\n var validatorsWithExtraProps = {};\n angular.forEach(validators, (validator, name) => {\n if (angular.isString(validator)) {\n return;\n }\n var extraProps = [];\n angular.forEach(validator, (v, key) => {\n if (allowedProperties.indexOf(key) === -1) {\n extraProps.push(key);\n }\n });\n if (extraProps.length) {\n validatorsWithExtraProps[name] = extraProps;\n }\n });\n if (Object.keys(validatorsWithExtraProps).length) {\n throw new Error([\n `Validators are only allowed to be functions or objects that have ${allowedProperties.join(', ')}.`,\n `You provided some extra properties: ${JSON.stringify(validatorsWithExtraProps)}`\n ].join(' '));\n }\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./directives/formly-custom-validation.js\n **/","import angular from 'angular-fix';\n\nexport default formlyField;\n\n/**\n * @ngdoc directive\n * @name formlyField\n * @restrict AE\n */\n// @ngInject\nfunction formlyField($http, $q, $compile, $templateCache, formlyConfig, formlyValidationMessages, formlyApiCheck,\n formlyUtil, formlyUsability, formlyWarn) {\n const {arrayify} = formlyUtil;\n\n return {\n restrict: 'AE',\n transclude: true,\n scope: {\n options: '=',\n model: '=',\n formId: '@',\n index: '=?',\n fields: '=?',\n formState: '=?',\n form: '=?'\n },\n controller: /* @ngInject */ function FormlyFieldController($scope, $timeout, $parse, $controller) {\n /* jshint maxstatements:31 */\n if ($scope.options.fieldGroup) {\n setupFieldGroup();\n return;\n }\n\n var opts = $scope.options;\n var fieldType = opts.type && formlyConfig.getType(opts.type);\n simplifyLife(opts);\n mergeFieldOptionsWithTypeDefaults(opts, fieldType);\n extendOptionsWithDefaults(opts, $scope.index);\n checkApi(opts);\n // set field id to link labels and fields\n $scope.id = formlyUtil.getFieldId($scope.formId, opts, $scope.index);\n\n // initalization\n setDefaultValue();\n setInitialValue();\n runExpressions();\n addModelWatcher($scope, opts);\n addValidationMessages(opts);\n // simplify things\n // create $scope.to so template authors can reference to instead of $scope.options.templateOptions\n $scope.to = $scope.options.templateOptions;\n invokeControllers($scope, opts, fieldType);\n\n // function definitions\n function runExpressions() {\n // must run on next tick to make sure that the current value is correct.\n $timeout(function runExpressionsOnNextTick() {\n var field = $scope.options;\n var currentValue = valueGetterSetter();\n angular.forEach(field.expressionProperties, function runExpression(expression, prop) {\n var setter = $parse(prop).assign;\n var promise = $q.when(formlyUtil.formlyEval($scope, expression, currentValue));\n promise.then(function setFieldValue(value) {\n setter(field, value);\n });\n });\n });\n }\n\n function valueGetterSetter(newVal) {\n if (!$scope.model || !$scope.options.key) {\n return;\n }\n if (angular.isDefined(newVal)) {\n $scope.model[$scope.options.key] = newVal;\n }\n return $scope.model[$scope.options.key];\n }\n\n function simplifyLife(options) {\n // add a few empty objects (if they don't already exist) so you don't have to undefined check everywhere\n formlyUtil.reverseDeepMerge(options, {\n data: {},\n templateOptions: {},\n validation: {}\n });\n }\n\n function setDefaultValue() {\n if (angular.isDefined(opts.defaultValue) && !angular.isDefined($scope.model[opts.key])) {\n $scope.model[opts.key] = opts.defaultValue;\n }\n }\n\n function setInitialValue() {\n opts.initialValue = $scope.model && $scope.model[opts.key];\n }\n\n function mergeFieldOptionsWithTypeDefaults(options, type) {\n if (type) {\n mergeOptions(options, type.defaultOptions);\n }\n var properOrder = arrayify(options.optionsTypes).reverse(); // so the right things are overridden\n angular.forEach(properOrder, typeName => {\n mergeOptions(options, formlyConfig.getType(typeName, true, options).defaultOptions);\n });\n }\n\n function mergeOptions(options, extraOptions) {\n if (extraOptions) {\n if (angular.isFunction(extraOptions)) {\n extraOptions = extraOptions(options);\n }\n formlyUtil.reverseDeepMerge(options, extraOptions);\n }\n }\n\n function extendOptionsWithDefaults(options, index) {\n const key = options.key || index || 0;\n angular.extend(options, {\n // attach the key in case the formly-field directive is used directly\n key,\n value: valueGetterSetter,\n runExpressions,\n resetModel,\n updateInitialValue\n });\n }\n\n // initialization functions\n function addModelWatcher(scope, options) {\n if (options.model) {\n scope.$watch('options.model', runExpressions, true);\n }\n }\n\n function resetModel() {\n $scope.model[$scope.options.key] = $scope.options.initialValue;\n if ($scope.options.formControl) {\n $scope.options.formControl.$setViewValue($scope.model[$scope.options.key]);\n $scope.options.formControl.$render();\n $scope.options.formControl.$setUntouched();\n $scope.options.formControl.$setPristine();\n }\n }\n\n function updateInitialValue() {\n $scope.options.initialValue = $scope.model[$scope.options.key];\n }\n\n function addValidationMessages(options) {\n options.validation.messages = options.validation.messages || {};\n angular.forEach(formlyValidationMessages.messages, function createFunctionForMessage(expression, name) {\n if (!options.validation.messages[name]) {\n options.validation.messages[name] = function evaluateMessage(viewValue, modelValue, scope) {\n return formlyUtil.formlyEval(scope, expression, modelValue, viewValue);\n };\n }\n });\n }\n\n function invokeControllers(scope, options = {}, type = {}) {\n angular.forEach([type.controller, options.controller], controller => {\n if (controller) {\n $controller(controller, {$scope: scope});\n }\n });\n }\n\n function setupFieldGroup() {\n $scope.options.options = $scope.options.options || {};\n $scope.options.options.formState = $scope.formState;\n }\n },\n link: function fieldLink(scope, el) {\n if (scope.options.fieldGroup) {\n setFieldGroupTemplate();\n return;\n }\n\n addAttributes();\n addClasses();\n\n var type = scope.options.type && formlyConfig.getType(scope.options.type);\n var args = arguments;\n var thusly = this;\n getFieldTemplate(scope.options)\n .then(runManipulators(formlyConfig.templateManipulators.preWrapper))\n .then(transcludeInWrappers(scope.options))\n .then(runManipulators(formlyConfig.templateManipulators.postWrapper))\n .then(setElementTemplate)\n .then(watchFormControl)\n .then(callLinkFunctions)\n .catch(error => {\n formlyWarn(\n 'there-was-a-problem-setting-the-template-for-this-field',\n 'There was a problem setting the template for this field ',\n scope.options,\n error\n );\n });\n\n function setFieldGroupTemplate() {\n checkFieldGroupApi(scope.options);\n el.addClass('formly-field-group');\n let extraAttributes = '';\n if (scope.options.elementAttributes) {\n extraAttributes = Object.keys(scope.options.elementAttributes).map(key => {\n return `${key}=\"${scope.options.elementAttributes[key]}\"`;\n }).join(' ');\n }\n setElementTemplate(`\n \n \n `);\n }\n\n function addAttributes() {\n if (scope.options.elementAttributes) {\n el.attr(scope.options.elementAttributes);\n }\n }\n\n function addClasses() {\n if (scope.options.className) {\n el.addClass(scope.options.className);\n }\n if (scope.options.type) {\n el.addClass(`formly-field-${scope.options.type}`);\n }\n }\n\n function setElementTemplate(templateString) {\n el.html(asHtml(templateString));\n $compile(el.contents())(scope);\n return templateString;\n }\n\n function watchFormControl(templateString) {\n let stopWatchingField = angular.noop;\n let stopWatchingShowError = angular.noop;\n if (scope.options.noFormControl) {\n return;\n }\n const templateEl = angular.element(`
${templateString}
`);\n const ngModelNode = templateEl[0].querySelector('[ng-model]');\n if (ngModelNode && ngModelNode.getAttribute('name')) {\n watchFieldNameOrExistence(ngModelNode.getAttribute('name'));\n }\n\n function watchFieldNameOrExistence(name) {\n const nameExpressionRegex = /\\{\\{(.*?)}}/;\n const nameExpression = nameExpressionRegex.exec(name);\n if (nameExpression) {\n watchFieldName(nameExpression[1]);\n } else {\n watchFieldExistence(name);\n }\n }\n\n function watchFieldName(expression) {\n scope.$watch(expression, function oneFieldNameChange(name) {\n if (name) {\n stopWatchingField();\n watchFieldExistence(name);\n }\n });\n }\n\n function watchFieldExistence(name) {\n stopWatchingField = scope.$watch(`form[\"${name}\"]`, function formControlChange(formControl) {\n if (formControl) {\n scope.fc = formControl; // shortcut for template authors\n scope.options.formControl = formControl;\n stopWatchingShowError();\n addShowMessagesWatcher();\n }\n });\n }\n\n function addShowMessagesWatcher() {\n stopWatchingShowError = scope.$watch(function watchShowValidationChange() {\n if (typeof scope.options.validation.show === 'boolean') {\n return scope.fc.$invalid && scope.options.validation.show;\n } else {\n let noTouchedButDirty = (angular.isUndefined(scope.fc.$touched) && scope.fc.$dirty);\n return scope.fc.$invalid && (scope.fc.$touched || noTouchedButDirty);\n }\n }, function onShowValidationChange(show) {\n scope.options.validation.errorExistsAndShouldBeVisible = show;\n scope.showError = show; // shortcut for template authors\n });\n }\n }\n\n function callLinkFunctions() {\n if (type && type.link) {\n type.link.apply(thusly, args);\n }\n if (scope.options.link) {\n scope.options.link.apply(thusly, args);\n }\n }\n\n\n function runManipulators(manipulators) {\n return function runManipulatorsOnTemplate(template) {\n var chain = $q.when(template);\n angular.forEach(manipulators, manipulator => {\n chain = chain.then(template => {\n return $q.when(manipulator(template, scope.options, scope)).then(newTemplate => {\n return angular.isString(newTemplate) ? newTemplate : asHtml(newTemplate);\n });\n });\n });\n return chain;\n };\n }\n }\n };\n\n function asHtml(el) {\n var wrapper = angular.element('');\n return wrapper.append(el).html();\n }\n\n function getFieldTemplate(options) {\n let type = formlyConfig.getType(options.type, true, options);\n let template = options.template || type && type.template;\n let templateUrl = options.templateUrl || type && type.templateUrl;\n if (!template && !templateUrl) {\n throw formlyUsability.getFieldError(\n 'type-type-has-no-template',\n `Type '${options.type}' has not template. On element:`, options\n );\n }\n\n return getTemplate(template || templateUrl, !template, options);\n }\n\n\n function getTemplate(template, isUrl, options) {\n let templatePromise;\n if (angular.isFunction(template)) {\n templatePromise = $q.when(template(options));\n } else {\n templatePromise = $q.when(template);\n }\n\n if (!isUrl) {\n return templatePromise;\n } else {\n let httpOptions = {cache: $templateCache};\n return templatePromise\n .then((url) => $http.get(url, httpOptions))\n .then((response) => response.data)\n .catch(function handleErrorGettingATemplate(error) {\n formlyWarn(\n 'problem-loading-template-for-templateurl',\n 'Problem loading template for ' + template,\n error\n );\n });\n }\n }\n\n function transcludeInWrappers(options) {\n let wrapper = getWrapperOption(options);\n\n return function transcludeTemplate(template) {\n if (!wrapper.length) {\n return $q.when(template);\n }\n\n wrapper.forEach((wrapper) => {\n formlyUsability.checkWrapper(wrapper, options);\n wrapper.validateOptions && wrapper.validateOptions(options);\n runApiCheck(wrapper, options);\n });\n let promises = wrapper.map(w => getTemplate(w.template || w.templateUrl, !w.template));\n return $q.all(promises).then(wrappersTemplates => {\n wrappersTemplates.forEach((wrapperTemplate, index) => {\n formlyUsability.checkWrapperTemplate(wrapperTemplate, wrapper[index]);\n });\n wrappersTemplates.reverse(); // wrapper 0 is wrapped in wrapper 1 and so on...\n let totalWrapper = wrappersTemplates.shift();\n wrappersTemplates.forEach(wrapperTemplate => {\n totalWrapper = doTransclusion(totalWrapper, wrapperTemplate);\n });\n return doTransclusion(totalWrapper, template);\n });\n };\n }\n\n function doTransclusion(wrapper, template) {\n let superWrapper = angular.element(''); // this allows people not have to have a single root in wrappers\n superWrapper.append(wrapper);\n let transcludeEl = superWrapper.find('formly-transclude');\n if (!transcludeEl.length) {\n //try it using our custom find function\n transcludeEl = formlyUtil.findByNodeName(superWrapper, 'formly-transclude');\n }\n transcludeEl.replaceWith(template);\n return superWrapper.html();\n }\n\n function getWrapperOption(options) {\n let wrapper = options.wrapper;\n // explicit null means no wrapper\n if (wrapper === null) {\n return [];\n }\n\n // nothing specified means use the default wrapper for the type\n if (!wrapper) {\n // get all wrappers that specify they apply to this type\n wrapper = arrayify(formlyConfig.getWrapperByType(options.type));\n } else {\n wrapper = arrayify(wrapper).map(formlyConfig.getWrapper);\n }\n\n // get all wrappers for that this type specified that it uses.\n var type = formlyConfig.getType(options.type, true, options);\n if (type && type.wrapper) {\n let typeWrappers = arrayify(type.wrapper).map(formlyConfig.getWrapper);\n wrapper = wrapper.concat(typeWrappers);\n }\n\n // add the default wrapper last\n var defaultWrapper = formlyConfig.getWrapper();\n if (defaultWrapper) {\n wrapper.push(defaultWrapper);\n }\n return wrapper;\n }\n\n function checkApi(options) {\n formlyApiCheck.throw(formlyApiCheck.formlyFieldOptions, options, {\n prefix: 'formly-field directive',\n url: 'formly-field-directive-validation-failed'\n });\n // validate with the type\n const type = options.type && formlyConfig.getType(options.type);\n if (type) {\n if (type.validateOptions) {\n type.validateOptions(options);\n }\n runApiCheck(type, options);\n }\n }\n\n function checkFieldGroupApi(options) {\n formlyApiCheck.throw(formlyApiCheck.fieldGroup, options, {\n prefix: 'formly-field directive',\n url: 'formly-field-directive-validation-failed'\n });\n }\n\n function runApiCheck({apiCheck, apiCheckInstance, apiCheckFunction, apiCheckOptions}, options) {\n if (!apiCheck) {\n return;\n }\n const instance = apiCheckInstance || formlyApiCheck;\n const fn = apiCheckFunction || 'warn';\n const shape = instance.shape(apiCheck);\n instance[fn](shape, options, apiCheckOptions || {\n prefix: `formly-field ${name}`,\n url: formlyApiCheck.config.output.docsBaseUrl + 'formly-field-type-apicheck-failed'\n });\n }\n\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./directives/formly-field.js\n **/","export default formlyFocus;\n\n// @ngInject\nfunction formlyFocus($timeout, $document) {\n /* jshint -W052 */\n return {\n restrict: 'A',\n link: function formlyFocusLink(scope, element, attrs) {\n var previousEl = null;\n var el = element[0];\n var doc = $document[0];\n attrs.$observe('formlyFocus', function respondToFocusExpressionChange(value) {\n if (value === 'true') {\n $timeout(function setElementFocus() {\n previousEl = doc.activeElement;\n el.focus();\n }, ~~attrs.focusWait);\n } else if (value === 'false') {\n if (doc.activeElement === el) {\n el.blur();\n if (attrs.hasOwnProperty('refocus') && previousEl) {\n previousEl.focus();\n }\n }\n }\n });\n }\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./directives/formly-focus.js\n **/","import angular from 'angular-fix';\n\nexport default formlyForm;\n\n/**\n * @ngdoc directive\n * @name formlyForm\n * @restrict E\n */\n// @ngInject\nfunction formlyForm(formlyUsability, $parse, formlyApiCheck, formlyConfig) {\n var currentFormId = 1;\n return {\n restrict: 'E',\n template: function formlyFormGetTemplate(el, attrs) {\n /* jshint -W033 */ // this because jshint is broken I guess...\n const rootEl = getRootEl();\n const fieldRootEl = getFieldRootEl();\n const formId = `formly_${currentFormId++}`;\n let parentFormAttributes;\n if (attrs.hasOwnProperty('isFieldGroup') && el.parent().parent().hasClass('formly')) {\n parentFormAttributes = copyAttributes(el.parent().parent()[0].attributes);\n }\n return `\n <${rootEl} class=\"formly\"\n name=\"${getFormName()}\"\n role=\"form\" ${parentFormAttributes}>\n <${fieldRootEl} formly-field\n ng-repeat=\"field in fields ${getTrackBy()}\"\n ${getHideDirective()}=\"!field.hide\"\n class=\"formly-field\"\n options=\"field\"\n model=\"field.model || model\"\n fields=\"fields\"\n form=\"${formId}\"\n form-id=\"${formId}\"\n form-state=\"options.formState\"\n index=\"$index\">\n \n
\n \n `;\n\n function getRootEl() {\n return attrs.rootEl || 'ng-form';\n }\n\n function getFieldRootEl() {\n return attrs.fieldRootEl || 'div';\n }\n\n function getHideDirective() {\n return attrs.hideDirective || formlyConfig.extras.defaultHideDirective || 'ng-if';\n }\n\n function getTrackBy() {\n if (!attrs.trackBy) {\n return '';\n } else {\n return `track by ${attrs.trackBy}`;\n }\n }\n\n function getFormName() {\n let formName = formId;\n const bindName = attrs.bindName;\n if (bindName) {\n if (angular.version.minor < 3) {\n throw formlyUsability.getFormlyError('bind-name attribute on formly-form not allowed in > angular 1.3');\n }\n // we can do a one-time binding here because we know we're in 1.3.x territory\n formName = `{{::'formly_' + ${bindName}}}`;\n }\n return formName;\n }\n\n function copyAttributes(attributes) {\n const excluded = ['model', 'form', 'fields', 'options', 'name', 'role', 'class'];\n const arrayAttrs = [];\n angular.forEach(attributes, ({nodeName, nodeValue}) => {\n if (nodeName !== 'undefined' && excluded.indexOf(nodeName) === -1) {\n arrayAttrs.push(`${toKebabCase(nodeName)}=\"${nodeValue}\"`);\n }\n });\n return arrayAttrs.join(' ');\n }\n\n function toKebabCase(string) {\n if (string) {\n return string.replace(/([A-Z])/g, $1 => '-' + $1.toLowerCase());\n } else {\n return '';\n }\n }\n },\n replace: true,\n transclude: true,\n scope: {\n fields: '=',\n model: '=',\n form: '=?',\n options: '=?'\n },\n controller: /* @ngInject */ function FormlyFormController($scope, formlyUtil) {\n setupOptions();\n $scope.model = $scope.model || {};\n $scope.fields = $scope.fields || [];\n\n angular.forEach($scope.fields, attachKey); // attaches a key based on the index if a key isn't specified\n angular.forEach($scope.fields, setupWatchers); // setup watchers for all fields\n\n // watch the model and evaluate watch expressions that depend on it.\n $scope.$watch('model', onModelOrFormStateChange, true);\n if ($scope.options.formState) {\n $scope.$watch('options.formState', onModelOrFormStateChange, true);\n }\n\n function onModelOrFormStateChange() {\n angular.forEach($scope.fields, function runFieldExpressionProperties(field, index) {\n /*jshint -W030 */\n const model = field.model || $scope.model;\n field.runExpressions && field.runExpressions(model);\n if (field.hideExpression) { // can't use hide with expressionProperties reliably\n const val = model[field.key];\n // this makes it closer to what a regular expressionProperty would be\n const extraLocals = {\n options: field,\n index: index,\n formState: $scope.options.formState,\n formId: $scope.formId\n };\n field.hide = formlyUtil.formlyEval($scope, field.hideExpression, val, val, extraLocals);\n }\n });\n }\n\n function setupOptions() {\n formlyApiCheck.throw(\n [formlyApiCheck.formOptionsApi.optional], [$scope.options], {prefix: 'formly-form options check'}\n );\n $scope.options = $scope.options || {};\n $scope.options.formState = $scope.options.formState || {};\n\n angular.extend($scope.options, {\n updateInitialValue,\n resetModel\n });\n\n }\n\n function updateInitialValue() {\n angular.forEach($scope.fields, field => {\n if (isFieldGroup(field)) {\n field.options.updateInitialValue();\n } else {\n field.updateInitialValue();\n }\n });\n }\n\n function resetModel() {\n angular.forEach($scope.fields, field => {\n if (isFieldGroup(field)) {\n field.options.resetModel();\n } else {\n field.resetModel();\n }\n });\n }\n\n function attachKey(field, index) {\n if (!isFieldGroup(field)) {\n field.key = field.key || index || 0;\n }\n }\n\n function setupWatchers(field, index) {\n if (isFieldGroup(field) || !angular.isDefined(field.watcher)) {\n return;\n }\n var watchers = field.watcher;\n if (!angular.isArray(watchers)) {\n watchers = [watchers];\n }\n angular.forEach(watchers, function setupWatcher(watcher) {\n if (!angular.isDefined(watcher.listener)) {\n throw formlyUsability.getFieldError(\n 'all-field-watchers-must-have-a-listener',\n 'All field watchers must have a listener', field\n );\n }\n var watchExpression = getWatchExpression(watcher, field, index);\n var watchListener = getWatchListener(watcher, field, index);\n\n var type = watcher.type || '$watch';\n watcher.stopWatching = $scope[type](watchExpression, watchListener, watcher.watchDeep);\n });\n }\n\n function getWatchExpression(watcher, field, index) {\n var watchExpression = watcher.expression || `model['${field.key}']`;\n if (angular.isFunction(watchExpression)) {\n // wrap the field's watch expression so we can call it with the field as the first arg\n // and the stop function as the last arg as a helper\n var originalExpression = watchExpression;\n watchExpression = function formlyWatchExpression() {\n var args = modifyArgs(watcher, index, ...arguments);\n return originalExpression(...args);\n };\n watchExpression.displayName = `Formly Watch Expression for field for ${field.key}`;\n }\n return watchExpression;\n }\n\n function getWatchListener(watcher, field, index) {\n var watchListener = watcher.listener;\n if (angular.isFunction(watchListener)) {\n // wrap the field's watch listener so we can call it with the field as the first arg\n // and the stop function as the last arg as a helper\n var originalListener = watchListener;\n watchListener = function formlyWatchListener() {\n var args = modifyArgs(watcher, index, ...arguments);\n return originalListener(...args);\n };\n watchListener.displayName = `Formly Watch Listener for field for ${field.key}`;\n }\n return watchListener;\n }\n\n function modifyArgs(watcher, index, ...originalArgs) {\n return [$scope.fields[index], ...originalArgs, watcher.stopWatching];\n }\n\n function isFieldGroup(field) {\n return field && !!field.fieldGroup;\n }\n },\n link(scope, el, attrs) {\n if (attrs.form) {\n const formId = attrs.name;\n scope.formId = formId;\n $parse(attrs.form).assign(scope.$parent, scope[formId]);\n }\n\n // chrome autocomplete lameness\n // see https://code.google.com/p/chromium/issues/detail?id=468153#c14\n // ლ(ಠ益ಠლ) (╯°□°)╯︵ ┻━┻ (◞‸◟;)\n const global = formlyConfig.extras.removeChromeAutoComplete === true;\n const offInstance = scope.options && scope.options.removeChromeAutoComplete === false;\n const onInstance = scope.options && scope.options.removeChromeAutoComplete === true;\n if ((global && !offInstance) || onInstance) {\n const input = document.createElement('input');\n input.setAttribute('autocomplete', 'address-level4');\n input.setAttribute('hidden', true);\n el[0].appendChild(input);\n }\n }\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./directives/formly-form.js\n **/","import angular from 'angular-fix';\n\nexport default addFormlyNgModelAttrsManipulator;\n\n// @ngInject\nfunction addFormlyNgModelAttrsManipulator(formlyConfig) {\n if (formlyConfig.extras.disableNgModelAttrsManipulator) {\n return;\n }\n formlyConfig.templateManipulators.preWrapper.push(ngModelAttrsManipulator);\n\n\n function ngModelAttrsManipulator(template, options, scope) {\n /* jshint maxcomplexity:6 */\n var el = document.createElement('div');\n var data = options.data;\n if (data.skipNgModelAttrsManipulator === true) {\n return template;\n }\n el.innerHTML = template;\n var modelNodes = el.querySelectorAll('[ng-model]');\n if (!modelNodes || !modelNodes.length) {\n return template;\n }\n\n addIfNotPresent(modelNodes, 'id', scope.id);\n addIfNotPresent(modelNodes, 'name', scope.id);\n\n addValidation();\n addModelOptions();\n addTemplateOptionsAttrs();\n\n\n return el.innerHTML;\n\n\n function addValidation() {\n if (angular.isDefined(options.validators) || angular.isDefined(options.validation.messages)) {\n addIfNotPresent(modelNodes, 'formly-custom-validation', '');\n }\n }\n\n function addModelOptions() {\n if (angular.isDefined(options.modelOptions)) {\n addIfNotPresent(modelNodes, 'ng-model-options', 'options.modelOptions');\n if (options.modelOptions.getterSetter) {\n angular.forEach(modelNodes, node => {\n node.setAttribute('ng-model', 'options.value');\n });\n }\n }\n }\n\n function addTemplateOptionsAttrs() {\n if (!options.templateOptions && !options.expressionProperties) {\n // no need to run these if there are no templateOptions or expressionProperties\n return;\n }\n const to = options.templateOptions || {};\n const ep = options.expressionProperties || {};\n\n let ngModelAttributes = getBuiltInAttributes();\n\n // extend with the user's specifications winning\n angular.extend(ngModelAttributes, options.ngModelAttrs);\n\n // Feel free to make this more simple :-)\n angular.forEach(ngModelAttributes, (val, name) => {\n /* jshint maxcomplexity:14 */\n let attrVal;\n let attrName;\n const ref = `options.templateOptions['${name}']`;\n const toVal = to[name];\n const epVal = getEpValue(ep, name);\n\n const inTo = angular.isDefined(toVal);\n const inEp = angular.isDefined(epVal);\n if (val.value) {\n // I realize this looks backwards, but it's right, trust me...\n attrName = val.value;\n attrVal = name;\n } else if (val.expression && inTo) {\n attrName = val.expression;\n if (angular.isString(to[name])) {\n attrVal = `$eval(${ref})`;\n } else if (angular.isFunction(to[name])) {\n attrVal = `${ref}(model[options.key], options, this, $event)`;\n } else {\n throw new Error(\n `options.templateOptions.${name} must be a string or function: ${JSON.stringify(options)}`\n );\n }\n } else if (val.bound && inEp) {\n attrName = val.bound;\n attrVal = ref;\n } else if ((val.attribute || val.boolean) && inEp) {\n attrName = val.attribute || val.boolean;\n attrVal = `{{${ref}}}`;\n } else if (val.attribute && inTo) {\n attrName = val.attribute;\n attrVal = toVal;\n } else if (val.boolean) {\n if (inTo && !inEp && toVal) {\n attrName = val.boolean;\n attrVal = true;\n } else {\n // jshint -W035\n // empty to illustrate that a boolean will not be added via val.bound\n // if you want it added via val.bound, then put it in expressionProperties\n }\n } else if (val.bound && inTo) {\n attrName = val.bound;\n attrVal = ref;\n }\n\n if (angular.isDefined(attrName) && angular.isDefined(attrVal)) {\n addIfNotPresent(modelNodes, attrName, attrVal);\n }\n });\n }\n }\n\n // Utility functions\n function getBuiltInAttributes() {\n let ngModelAttributes = {\n focus: {\n attribute: 'formly-focus'\n }\n };\n const boundOnly = [];\n const bothBooleanAndBound = ['required', 'disabled'];\n const bothAttributeAndBound = ['pattern', 'minlength'];\n const expressionOnly = ['change', 'keydown', 'keyup', 'keypress', 'click', 'focus', 'blur'];\n const attributeOnly = ['placeholder', 'min', 'max', 'tabindex', 'type'];\n if (formlyConfig.extras.ngModelAttrsManipulatorPreferUnbound) {\n bothAttributeAndBound.push('maxlength');\n } else {\n boundOnly.push('maxlength');\n }\n\n angular.forEach(boundOnly, item => {\n ngModelAttributes[item] = {bound: 'ng-' + item};\n });\n\n angular.forEach(bothBooleanAndBound, item => {\n ngModelAttributes[item] = {boolean: item, bound: 'ng-' + item};\n });\n\n angular.forEach(bothAttributeAndBound, item => {\n ngModelAttributes[item] = {attribute: item, bound: 'ng-' + item};\n });\n\n angular.forEach(expressionOnly, item => {\n var propName = 'on' + item.substr(0, 1).toUpperCase() + item.substr(1);\n ngModelAttributes[propName] = {expression: 'ng-' + item};\n });\n\n angular.forEach(attributeOnly, item => {\n ngModelAttributes[item] = {attribute: item};\n });\n return ngModelAttributes;\n }\n\n function getEpValue(ep, name) {\n return ep['templateOptions.' + name] ||\n ep[`templateOptions['${name}']`] ||\n ep[`templateOptions[\"${name}\"]`];\n }\n\n function addIfNotPresent(nodes, attr, val) {\n angular.forEach(nodes, node => {\n if (!node.getAttribute(attr)) {\n node.setAttribute(attr, val);\n }\n });\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./run/formlyNgModelAttrsManipulator.js\n **/","export default addCustomTags;\n\n// @ngInject\nfunction addCustomTags($document) {\n if ($document && $document.get) {\n //IE8 check ->\n // http://stackoverflow.com/questions/10964966/detect-ie-version-prior-to-v9-in-javascript/10965203#10965203\n const document = $document.get(0);\n const div = document.createElement('div');\n div.innerHTML = '';\n const isIeLessThan9 = (div.getElementsByTagName('i').length === 1);\n\n if (isIeLessThan9) {\n //add the custom elements that we need for formly\n const customElements = [\n 'formly-field', 'formly-form', 'formly-custom-validation', 'formly-focus', 'formly-transpose'\n ];\n angular.forEach(customElements, el => {\n document.createElement(el);\n });\n }\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./run/formlyCustomTags.js\n **/","// some versions of angular don't export the angular module properly,\n// so we get it from window in this case.\nimport angular from 'angular';\nif (!angular.version) {\n angular = window.angular;\n}\nexport default angular;\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./angular-fix/index.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_16__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external {\"root\":\"apiCheck\",\"amd\":\"api-check\",\"commonjs2\":\"api-check\",\"commonjs\":\"api-check\"}\n ** module id = 16\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_17__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"angular\"\n ** module id = 17\n ** module chunks = 0\n **/","import angular from 'angular-fix';\n\nexport default {formlyEval, getFieldId, reverseDeepMerge, findByNodeName, arrayify, extendFunction};\n\nfunction formlyEval(scope, expression, $modelValue, $viewValue, extraLocals) {\n if (angular.isFunction(expression)) {\n return expression($viewValue, $modelValue, scope, extraLocals);\n } else {\n return scope.$eval(expression, angular.extend({$viewValue, $modelValue}, extraLocals));\n }\n}\n\nfunction getFieldId(formId, options, index) {\n var type = options.type;\n if (!type && options.template) {\n type = 'template';\n } else if (!type && options.templateUrl) {\n type = 'templateUrl';\n }\n\n return [formId, type, options.key, index].join('_');\n}\n\n\nfunction reverseDeepMerge(dest) {\n angular.forEach(arguments, (src, index) => {\n if (!index) {\n return;\n }\n angular.forEach(src, (val, prop) => {\n if (!angular.isDefined(dest[prop])) {\n dest[prop] = angular.copy(val);\n } else if (objAndSameType(dest[prop], val)) {\n reverseDeepMerge(dest[prop], val);\n }\n });\n });\n}\n\nfunction objAndSameType(obj1, obj2) {\n return angular.isObject(obj1) && angular.isObject(obj2) &&\n Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2);\n}\n\n//recurse down a node tree to find a node with matching nodeName, for custom tags jQuery.find doesn't work in IE8\nfunction findByNodeName(el, nodeName) {\n if (!el.prop) { // not a jQuery or jqLite object -> wrap it\n el = angular.element(el);\n }\n\n if (el.prop('nodeName') === nodeName.toUpperCase()) {\n return el;\n }\n\n var c = el.children();\n for(var i = 0; c && i < c.length; i++) {\n var node = findByNodeName(c[i], nodeName);\n if (node) {\n return node;\n }\n }\n}\n\n\nfunction arrayify(obj) {\n if (obj && !angular.isArray(obj)) {\n obj = [obj];\n } else if (!obj) {\n obj = [];\n }\n return obj;\n}\n\n\nfunction extendFunction(...fns) {\n return function extendedFunction() {\n var args = arguments;\n fns.forEach(fn => fn.apply(null, args));\n };\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ../~/jshint-loader!./other/utils.js\n **/"],"sourceRoot":""}