{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///formly.min.js","webpack:///webpack/bootstrap 142499f70340d2cc41f8","webpack:///./index.js","webpack:///./angular-fix/index.js","webpack:///./other/utils.js","webpack:///./directives/formly-custom-validation.js","webpack:///./directives/formly-field.js","webpack:///./directives/formly-focus.js","webpack:///./directives/formly-form.js","webpack:///./index.common.js","webpack:///./providers/formlyApiCheck.js","webpack:///./providers/formlyConfig.js","webpack:///./providers/formlyUsability.js","webpack:///./providers/formlyValidationMessages.js","webpack:///./run/formlyCustomTags.js","webpack:///./run/formlyNgModelAttrsManipulator.js","webpack:///./services/formlyUtil.js","webpack:///./services/formlyWarn.js","webpack:///external \"angular\"","webpack:///external {\"root\":\"apiCheck\",\"amd\":\"api-check\",\"commonjs2\":\"api-check\",\"commonjs\":\"api-check\"}"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_17__","__WEBPACK_EXTERNAL_MODULE_18__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_interopRequire","obj","__esModule","index","angular","version","window","formlyEval","scope","expression","$modelValue","$viewValue","isFunction","$eval","getFieldId","formId","options","type","template","templateUrl","key","join","reverseDeepMerge","dest","forEach","arguments","src","val","prop","isDefined","objAndSameType","copy","obj1","obj2","isObject","Object","getPrototypeOf","findByNodeName","el","nodeName","element","toUpperCase","children","i","length","node","formlyCustomValidation","formlyUtil","$q","isPromiseLike","then","checkValidators","validators","allowedProperties","validatorsWithExtraProps","validator","name","isString","extraProps","v","indexOf","push","keys","Error","JSON","stringify","restrict","link","attrs","ctrl","opts","validation","messages","message","useNewValidatorsApi","hasOwnProperty","setupWithValidators","validatorCollection","isPossiblyAsync","modelValue","viewValue","value","when","reject","setupWithParsers","inFlightValidator","undefined","$parsers","unshift","isValid","$pending","$setValidity","$inject","formlyField","$http","$compile","$templateCache","formlyConfig","formlyValidationMessages","formlyApiCheck","formlyUsability","formlyWarn","asHtml","wrapper","append","html","getFieldTemplate","getType","getFieldError","getTemplate","isUrl","templatePromise","_ret","httpOptions","cache","url","get","response","data","error","transcludeInWrappers","getWrapperOption","checkWrapper","validateOptions","runApiCheck","promises","map","w","all","wrappersTemplates","wrapperTemplate","checkWrapperTemplate","reverse","totalWrapper","shift","doTransclusion","superWrapper","transcludeEl","find","replaceWith","arrayify","getWrapper","getWrapperByType","typeWrappers","concat","defaultWrapper","checkApi","formlyFieldOptions","prefix","_ref","apiCheck","apiCheckInstance","apiCheckFunction","apiCheckOptions","instance","fn","shape","config","output","docsBaseUrl","transclude","model","fields","formState","form","controller","$scope","$timeout","$parse","$controller","runExpressions","field","currentValue","valueGetterSetter","expressionProperties","setter","assign","promise","newVal","simplifyLife","templateOptions","setDefaultValue","defaultValue","setInitialValue","initialValue","mergeFieldOptionsWithTypeDefaults","mergeOptions","defaultOptions","properOrder","optionsTypes","typeName","extraOptions","extendOptionsWithDefaults","extend","resetModel","updateInitialValue","addModelWatcher","$watch","formControl","$setViewValue","$render","addValidationMessages","invokeControllers","fieldType","to","setElementTemplate","templateEl","contents","apply","thusly","args","watchFormControl","watchForFieldName","stopWatchingFieldName","ngModelNode","querySelector","watchFieldNameOrExistence","nameExpressionRegex","nameExpression","exec","watchFieldName","watchFieldExistence","stopWatchingField","fc","stopWatchingShowError","addShowMessagesWatcher","show","$invalid","noTouchedButDirty","isUndefined","$touched","$dirty","errorExistsAndShouldBeVisible","showError","noop","noFormControl","runManipulators","manipulators","chain","manipulator","newTemplate","templateManipulators","preWrapper","postWrapper","isArray","formlyFocus","$document","previousEl","doc","$observe","activeElement","focus","focusWait","blur","formlyForm","currentFormId","optionsApi","object","optional","func","removeChromeAutoComplete","bool","strict","getRootEl","rootEl","getHideDirective","hideDirective","extras","defaultHideDirective","getTrackBy","trackBy","getFormName","formName","bindName","minor","getFormlyError","replace","setupOptions","attachKey","setupWatchers","watcher","watchers","listener","watchExpression","getWatchExpression","watchListener","getWatchListener","stopWatching","watchDeep","originalExpression","modifyArgs","_slice","_toConsumableArray","displayName","originalListener","_len","originalArgs","Array","_key","newResult","$parent","global","offInstance","onInstance","input","document","createElement","setAttribute","appendChild","arr","arr2","from","prototype","slice","formlyErrorAndWarningsUrlPrefix","formlyNgModelAttrsManipulator","formlyCustomTags","ngModuleName","ngModule","constant","provider","directive","run","shapeRequiredIfNot","otherProps","propChecker","shapeRequiredIfNotDefinition","propName","location","propExists","otherPropsExist","some","otherProp","utils","getError","checkerHelpers","setupChecker","apiCheckFactory","formlyExpression","oneOfType","string","specifyWrapperType","oneOf","typeOrArrayOf","apiCheckProperty","objectOf","apiCheckInstanceProperty","onlyIf","withProperties","warn","throw","apiCheckFunctionProperty","formlyWrapperType","ifNot","types","overwriteOk","fieldOptionsApiShape","$$hashKey","any","number","modelOptions","updateOn","debounce","allowInvalid","getterSetter","timezone","hide","ngModelAttrs","attribute","bound","array","typeOptionsDefaultOptions","formlyTypeOptions","extends","formlyUsabilityProvider","setType","checkType","extendTypeOptions","typeMap","checkOverwrite","extendsType","extendTypeControllerFunction","extendTypeLinkFunction","extendTypeValidateOptionsFunction","extendTypeDefaultOptions","extendsCtrl","optionsCtrl","extendsFn","optionsFn","originalDefaultOptions","mergedOptions","extendsDO","optionsDO","optionsDOIsFn","extendsDOIsFn","extendsDefaultOptions","mergedDefaultOptions","extenderOptionsDefaultOptions","newDefaultOptions","throwError","errorContext","setWrapper","_x","_x2","_again","wrapperOptions","getOptionsTypes","getOptionsName","checkWrapperAPI","templateWrappersMap","defaultWrapperName","checkWrapperTypes","shouldThrow","every","property","newValue","objectName","wrappers","removeWrapperByName","removeWrappersForType","_this","disableWarnings","console","_this2","disableNgModelAttrsManipulator","ngModelAttrsManipulatorPreferUnbound","$get","errorInfoSlug","getErrorMessage","toJson","urlSuffix","additionalInfo","formlyTransclude","addTemplateOptionValueMessage","suffix","alternate","validationMessages","templateOptionValue","addStringMessage","addCustomTags","div","innerHTML","isIeLessThan9","getElementsByTagName","customElements","addFormlyNgModelAttrsManipulator","ngModelAttrsManipulator","addValidation","addIfNotPresent","modelNodes","addModelOptions","addTemplateOptionsAttrs","ep","ngModelAttributes","getBuiltInAttributes","attrVal","attrName","ref","toVal","epVal","getEpValue","inTo","inEp","skipNgModelAttrsManipulator","querySelectorAll","boundOnly","bothBooleanAndBound","bothAttributeAndBound","expressionOnly","attributeOnly","item","boolean","substr","nodes","attr","getAttribute","$log","warnInfoSlug"],"mappings":"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","file":"formly.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"), require(\"api-check\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\", \"api-check\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ngFormly\"] = factory(require(\"angular\"), require(\"api-check\"));\n\telse\n\t\troot[\"ngFormly\"] = factory(root[\"angular\"], root[\"apiCheck\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_18__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"angular\"), require(\"api-check\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\", \"api-check\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ngFormly\"] = factory(require(\"angular\"), require(\"api-check\"));\n\telse\n\t\troot[\"ngFormly\"] = factory(root[\"angular\"], root[\"apiCheck\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_18__) {\nreturn /******/ (function(modules) { // webpackBootstrap\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/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _interopRequire = function (obj) { return obj && obj.__esModule ? obj[\"default\"] : obj; };\n\t\n\tvar index = _interopRequire(__webpack_require__(8));\n\t\n\tmodule.exports = index;\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _interopRequire = function (obj) { return obj && obj.__esModule ? obj[\"default\"] : obj; };\n\t\n\t// some versions of angular don't export the angular module properly,\n\t// so we get it from window in this case.\n\t\n\tvar angular = _interopRequire(__webpack_require__(17));\n\t\n\tif (!angular.version) {\n\t angular = window.angular;\n\t}\n\tmodule.exports = angular;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = \"https://github.com/formly-js/angular-formly/blob/\" + (\"6.3.3\") + \"/other/ERRORS_AND_WARNINGS.md#\";\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _interopRequire = function (obj) { return obj && obj.__esModule ? obj[\"default\"] : obj; };\n\t\n\tvar angular = _interopRequire(__webpack_require__(1));\n\t\n\tmodule.exports = { formlyEval: formlyEval, getFieldId: getFieldId, reverseDeepMerge: reverseDeepMerge, findByNodeName: findByNodeName };\n\t\n\tfunction formlyEval(scope, expression, $modelValue, $viewValue) {\n\t if (angular.isFunction(expression)) {\n\t return expression($viewValue, $modelValue, scope);\n\t } else {\n\t return scope.$eval(expression, { $viewValue: $viewValue, $modelValue: $modelValue });\n\t }\n\t}\n\t\n\tfunction getFieldId(formId, options, index) {\n\t var type = options.type;\n\t if (!type && options.template) {\n\t type = \"template\";\n\t } else if (!type && options.templateUrl) {\n\t type = \"templateUrl\";\n\t }\n\t\n\t return [formId, type, options.key, index].join(\"_\");\n\t}\n\t\n\tfunction reverseDeepMerge(dest) {\n\t angular.forEach(arguments, function (src, index) {\n\t if (!index) {\n\t return;\n\t }\n\t angular.forEach(src, function (val, prop) {\n\t if (!angular.isDefined(dest[prop])) {\n\t dest[prop] = angular.copy(val);\n\t } else if (objAndSameType(dest[prop], val)) {\n\t reverseDeepMerge(dest[prop], val);\n\t }\n\t });\n\t });\n\t}\n\t\n\tfunction objAndSameType(obj1, obj2) {\n\t return angular.isObject(obj1) && angular.isObject(obj2) && Object.getPrototypeOf(obj1) === Object.getPrototypeOf(obj2);\n\t}\n\t\n\t//recurse down a node tree to find a node with matching nodeName, for custom tags jQuery.find doesn't work in IE8\n\tfunction findByNodeName(el, nodeName) {\n\t if (!el.prop) {\n\t // not a jQuery or jqLite object -> wrap it\n\t el = angular.element(el);\n\t }\n\t\n\t if (el.prop(\"nodeName\") === nodeName.toUpperCase()) {\n\t return el;\n\t }\n\t\n\t var c = el.children();\n\t for (var i = 0; c && i < c.length; i++) {\n\t var node = findByNodeName(c[i], nodeName);\n\t if (node) {\n\t return node;\n\t }\n\t }\n\t}\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = formlyCustomValidation;\n\t\n\t// @ngInject\n\tfunction formlyCustomValidation(formlyUtil, $q) {\n\t return {\n\t restrict: \"A\",\n\t require: \"ngModel\",\n\t link: function formlyCustomValidationLink(scope, el, attrs, ctrl) {\n\t var opts = scope.options;\n\t if (opts.validators) {\n\t checkValidators(opts.validators);\n\t }\n\t opts.validation.messages = opts.validation.messages || {};\n\t angular.forEach(opts.validation.messages, function (message, key) {\n\t opts.validation.messages[key] = function () {\n\t return formlyUtil.formlyEval(scope, message, ctrl.$modelValue, ctrl.$viewValue);\n\t };\n\t });\n\t\n\t var useNewValidatorsApi = ctrl.hasOwnProperty(\"$validators\") && !attrs.hasOwnProperty(\"useParsers\");\n\t angular.forEach(opts.validators, function addValidatorToPipeline(validator, name) {\n\t var message = validator.message;\n\t if (message) {\n\t opts.validation.messages[name] = function () {\n\t return formlyUtil.formlyEval(scope, message, ctrl.$modelValue, ctrl.$viewValue);\n\t };\n\t }\n\t validator = angular.isObject(validator) ? validator.expression : validator;\n\t var isPossiblyAsync = !angular.isString(validator);\n\t if (useNewValidatorsApi) {\n\t setupWithValidators();\n\t } else {\n\t setupWithParsers();\n\t }\n\t\n\t function setupWithValidators() {\n\t var validatorCollection = isPossiblyAsync ? \"$asyncValidators\" : \"$validators\";\n\t ctrl[validatorCollection][name] = function evalValidity(modelValue, viewValue) {\n\t var value = formlyUtil.formlyEval(scope, validator, modelValue, viewValue);\n\t if (isPossiblyAsync) {\n\t return isPromiseLike(value) ? value : value ? $q.when(value) : $q.reject(value);\n\t } else {\n\t return value;\n\t }\n\t };\n\t }\n\t\n\t function setupWithParsers() {\n\t var inFlightValidator = undefined;\n\t ctrl.$parsers.unshift(function evalValidityOfParser(viewValue) {\n\t var isValid = formlyUtil.formlyEval(scope, validator, ctrl.$modelValue, viewValue);\n\t if (isPromiseLike(isValid)) {\n\t ctrl.$pending = ctrl.$pending || {};\n\t ctrl.$pending[name] = true;\n\t inFlightValidator = isValid;\n\t isValid.then(function () {\n\t if (inFlightValidator === isValid) {\n\t ctrl.$setValidity(name, true);\n\t }\n\t })[\"catch\"](function () {\n\t if (inFlightValidator === isValid) {\n\t ctrl.$setValidity(name, false);\n\t }\n\t })[\"finally\"](function () {\n\t if (Object.keys(ctrl.$pending).length === 1) {\n\t delete ctrl.$pending;\n\t } else {\n\t delete ctrl.$pending[name];\n\t }\n\t });\n\t } else {\n\t ctrl.$setValidity(name, isValid);\n\t }\n\t return viewValue;\n\t });\n\t }\n\t });\n\t }\n\t };\n\t\n\t function isPromiseLike(obj) {\n\t return obj && angular.isFunction(obj.then);\n\t }\n\t\n\t function checkValidators(validators) {\n\t var allowedProperties = [\"expression\", \"message\"];\n\t var validatorsWithExtraProps = {};\n\t angular.forEach(validators, function (validator, name) {\n\t if (angular.isString(validator)) {\n\t return;\n\t }\n\t var extraProps = [];\n\t angular.forEach(validator, function (v, key) {\n\t if (allowedProperties.indexOf(key) === -1) {\n\t extraProps.push(key);\n\t }\n\t });\n\t if (extraProps.length) {\n\t validatorsWithExtraProps[name] = extraProps;\n\t }\n\t });\n\t if (Object.keys(validatorsWithExtraProps).length) {\n\t throw new Error([\"Validators are only allowed to be functions or objects that have \" + allowedProperties.join(\", \") + \".\", \"You provided some extra properties: \" + JSON.stringify(validatorsWithExtraProps)].join(\" \"));\n\t }\n\t }\n\t}\n\tformlyCustomValidation.$inject = [\"formlyUtil\", \"$q\"];\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _interopRequire = function (obj) { return obj && obj.__esModule ? obj[\"default\"] : obj; };\n\t\n\tvar angular = _interopRequire(__webpack_require__(1));\n\t\n\tmodule.exports = formlyField;\n\t\n\t/**\n\t * @ngdoc directive\n\t * @name formlyField\n\t * @restrict AE\n\t */\n\t// @ngInject\n\tfunction formlyField($http, $q, $compile, $templateCache, formlyConfig, formlyValidationMessages, formlyApiCheck, formlyUtil, formlyUsability, formlyWarn) {\n\t return {\n\t restrict: \"AE\",\n\t transclude: true,\n\t scope: {\n\t options: \"=\",\n\t model: \"=\",\n\t formId: \"@\",\n\t index: \"=?\",\n\t fields: \"=?\",\n\t formState: \"=?\",\n\t form: \"=?\"\n\t },\n\t controller: /* @ngInject */[\"$scope\", \"$timeout\", \"$parse\", \"$controller\", function FormlyFieldController($scope, $timeout, $parse, $controller) {\n\t var opts = $scope.options;\n\t var fieldType = opts.type && formlyConfig.getType(opts.type);\n\t simplifyLife(opts);\n\t mergeFieldOptionsWithTypeDefaults(opts, fieldType);\n\t extendOptionsWithDefaults(opts, $scope.index);\n\t checkApi(opts);\n\t // set field id to link labels and fields\n\t $scope.id = formlyUtil.getFieldId($scope.formId, opts, $scope.index);\n\t\n\t // initalization\n\t setDefaultValue();\n\t setInitialValue();\n\t runExpressions();\n\t addModelWatcher($scope, opts);\n\t addValidationMessages(opts);\n\t // simplify things\n\t // create $scope.to so template authors can reference to instead of $scope.options.templateOptions\n\t $scope.to = $scope.options.templateOptions;\n\t invokeControllers($scope, opts, fieldType);\n\t\n\t // function definitions\n\t function runExpressions() {\n\t // must run on next tick to make sure that the current value is correct.\n\t $timeout(function runExpressionsOnNextTick() {\n\t var field = $scope.options;\n\t var currentValue = valueGetterSetter();\n\t angular.forEach(field.expressionProperties, function runExpression(expression, prop) {\n\t var setter = $parse(prop).assign;\n\t var promise = $q.when(formlyUtil.formlyEval($scope, expression, currentValue));\n\t promise.then(function setFieldValue(value) {\n\t setter(field, value);\n\t });\n\t });\n\t });\n\t }\n\t\n\t function valueGetterSetter(newVal) {\n\t if (!$scope.model || !$scope.options.key) {\n\t return;\n\t }\n\t if (angular.isDefined(newVal)) {\n\t $scope.model[$scope.options.key] = newVal;\n\t }\n\t return $scope.model[$scope.options.key];\n\t }\n\t\n\t function simplifyLife(options) {\n\t // add a few empty objects (if they don't already exist) so you don't have to undefined check everywhere\n\t formlyUtil.reverseDeepMerge(options, {\n\t data: {},\n\t templateOptions: {},\n\t validation: {}\n\t });\n\t }\n\t\n\t function setDefaultValue() {\n\t if (angular.isDefined(opts.defaultValue) && !angular.isDefined($scope.model[opts.key])) {\n\t $scope.model[opts.key] = opts.defaultValue;\n\t }\n\t }\n\t\n\t function setInitialValue() {\n\t opts.initialValue = $scope.model && $scope.model[opts.key];\n\t }\n\t\n\t function mergeFieldOptionsWithTypeDefaults(options, type) {\n\t if (type) {\n\t mergeOptions(options, type.defaultOptions);\n\t }\n\t var properOrder = arrayify(options.optionsTypes).reverse(); // so the right things are overridden\n\t angular.forEach(properOrder, function (typeName) {\n\t mergeOptions(options, formlyConfig.getType(typeName, true, options).defaultOptions);\n\t });\n\t }\n\t\n\t function mergeOptions(options, extraOptions) {\n\t if (extraOptions) {\n\t if (angular.isFunction(extraOptions)) {\n\t extraOptions = extraOptions(options);\n\t }\n\t formlyUtil.reverseDeepMerge(options, extraOptions);\n\t }\n\t }\n\t\n\t function extendOptionsWithDefaults(options, index) {\n\t var key = options.key || index || 0;\n\t angular.extend(options, {\n\t // attach the key in case the formly-field directive is used directly\n\t key: key,\n\t value: valueGetterSetter,\n\t runExpressions: runExpressions,\n\t resetModel: resetModel,\n\t updateInitialValue: updateInitialValue\n\t });\n\t }\n\t\n\t // initialization functions\n\t function addModelWatcher(scope, options) {\n\t if (options.model) {\n\t scope.$watch(\"options.model\", runExpressions, true);\n\t }\n\t }\n\t\n\t function resetModel() {\n\t $scope.model[$scope.options.key] = $scope.options.initialValue;\n\t if ($scope.options.formControl) {\n\t $scope.options.formControl.$setViewValue($scope.model[$scope.options.key]);\n\t $scope.options.formControl.$render();\n\t }\n\t }\n\t\n\t function updateInitialValue() {\n\t $scope.options.initialValue = $scope.model[$scope.options.key];\n\t }\n\t\n\t function addValidationMessages(options) {\n\t options.validation.messages = options.validation.messages || {};\n\t angular.forEach(formlyValidationMessages.messages, function createFunctionForMessage(expression, name) {\n\t if (!options.validation.messages[name]) {\n\t options.validation.messages[name] = function evaluateMessage(viewValue, modelValue, scope) {\n\t return formlyUtil.formlyEval(scope, expression, modelValue, viewValue);\n\t };\n\t }\n\t });\n\t }\n\t\n\t function invokeControllers(scope) {\n\t var options = arguments[1] === undefined ? {} : arguments[1];\n\t var type = arguments[2] === undefined ? {} : arguments[2];\n\t\n\t angular.forEach([type.controller, options.controller], function (controller) {\n\t if (controller) {\n\t $controller(controller, { $scope: scope });\n\t }\n\t });\n\t }\n\t }],\n\t link: function fieldLink(scope, el) {\n\t var type = scope.options.type && formlyConfig.getType(scope.options.type);\n\t var args = arguments;\n\t var thusly = this;\n\t getFieldTemplate(scope.options).then(runManipulators(formlyConfig.templateManipulators.preWrapper)).then(transcludeInWrappers(scope.options)).then(runManipulators(formlyConfig.templateManipulators.postWrapper)).then(setElementTemplate).then(watchFormControl)[\"catch\"](function (error) {\n\t formlyWarn(\"there-was-a-problem-setting-the-template-for-this-field\", \"There was a problem setting the template for this field \", scope.options, error);\n\t });\n\t\n\t function setElementTemplate(templateEl) {\n\t el.html(asHtml(templateEl));\n\t $compile(el.contents())(scope);\n\t if (type && type.link) {\n\t type.link.apply(thusly, args);\n\t }\n\t if (scope.options.link) {\n\t scope.options.link.apply(thusly, args);\n\t }\n\t }\n\t\n\t function watchFormControl() {\n\t var stopWatchingField = angular.noop;\n\t var stopWatchingShowError = angular.noop;\n\t if (scope.options.noFormControl) {\n\t return;\n\t }\n\t var ngModelNode = el[0].querySelector(\"[ng-model]\");\n\t if (ngModelNode && ngModelNode.name) {\n\t watchFieldNameOrExistence(ngModelNode.name);\n\t } else if (scope.options.noFormControl === false) {\n\t watchForFieldName();\n\t }\n\t\n\t function watchForFieldName() {\n\t var stopWatchingFieldName = scope.$watch(function () {\n\t var ngModelNode = el[0].querySelector(\"[ng-model]\");\n\t return ngModelNode && ngModelNode.name;\n\t }, function (name) {\n\t if (name) {\n\t stopWatchingFieldName();\n\t watchFieldNameOrExistence(name);\n\t }\n\t });\n\t }\n\t\n\t function watchFieldNameOrExistence(name) {\n\t var nameExpressionRegex = /\\{\\{(.*?)}}/;\n\t var nameExpression = nameExpressionRegex.exec(name);\n\t if (nameExpression) {\n\t watchFieldName(nameExpression[1]);\n\t } else {\n\t watchFieldExistence(name);\n\t }\n\t }\n\t\n\t function watchFieldName(expression) {\n\t scope.$watch(expression, function oneFieldNameChange(name) {\n\t if (name) {\n\t stopWatchingField();\n\t watchFieldExistence(name);\n\t }\n\t });\n\t }\n\t\n\t function watchFieldExistence(name) {\n\t stopWatchingField = scope.$watch(\"form[\\\"\" + name + \"\\\"]\", function formControlChange(formControl) {\n\t if (formControl) {\n\t scope.fc = formControl; // shortcut for template authors\n\t scope.options.formControl = formControl;\n\t stopWatchingShowError();\n\t addShowMessagesWatcher();\n\t }\n\t });\n\t }\n\t\n\t function addShowMessagesWatcher() {\n\t stopWatchingShowError = scope.$watch(function watchShowValidationChange() {\n\t if (typeof scope.options.validation.show === \"boolean\") {\n\t return scope.fc.$invalid && scope.options.validation.show;\n\t } else {\n\t var noTouchedButDirty = angular.isUndefined(scope.fc.$touched) && scope.fc.$dirty;\n\t return scope.fc.$invalid && (scope.fc.$touched || noTouchedButDirty);\n\t }\n\t }, function onShowValidationChange(show) {\n\t scope.options.validation.errorExistsAndShouldBeVisible = show;\n\t scope.showError = show; // shortcut for template authors\n\t });\n\t }\n\t }\n\t\n\t function runManipulators(manipulators) {\n\t return function runManipulatorsOnTemplate(template) {\n\t var chain = $q.when(template);\n\t angular.forEach(manipulators, function (manipulator) {\n\t chain = chain.then(function (template) {\n\t return $q.when(manipulator(template, scope.options, scope)).then(function (newTemplate) {\n\t return angular.isString(newTemplate) ? newTemplate : asHtml(newTemplate);\n\t });\n\t });\n\t });\n\t return chain;\n\t };\n\t }\n\t }\n\t };\n\t\n\t function asHtml(el) {\n\t var wrapper = angular.element(\"\");\n\t return wrapper.append(el).html();\n\t }\n\t\n\t function getFieldTemplate(options) {\n\t var type = formlyConfig.getType(options.type, true, options);\n\t var template = options.template || type && type.template;\n\t var templateUrl = options.templateUrl || type && type.templateUrl;\n\t if (!template && !templateUrl) {\n\t throw formlyUsability.getFieldError(\"type-type-has-no-template\", \"Type '\" + options.type + \"' has not template. On element:\", options);\n\t }\n\t\n\t return getTemplate(template || templateUrl, !template, options);\n\t }\n\t\n\t function getTemplate(template, isUrl, options) {\n\t var templatePromise = undefined;\n\t if (angular.isFunction(template)) {\n\t templatePromise = $q.when(template(options));\n\t } else {\n\t templatePromise = $q.when(template);\n\t }\n\t\n\t if (!isUrl) {\n\t return templatePromise;\n\t } else {\n\t var _ret = (function () {\n\t var httpOptions = { cache: $templateCache };\n\t return {\n\t v: templatePromise.then(function (url) {\n\t return $http.get(url, httpOptions);\n\t }).then(function (response) {\n\t return response.data;\n\t })[\"catch\"](function handleErrorGettingATemplate(error) {\n\t formlyWarn(\"problem-loading-template-for-templateurl\", \"Problem loading template for \" + template, error);\n\t })\n\t };\n\t })();\n\t\n\t if (typeof _ret === \"object\") {\n\t return _ret.v;\n\t }\n\t }\n\t }\n\t\n\t function transcludeInWrappers(options) {\n\t var wrapper = getWrapperOption(options);\n\t\n\t return function transcludeTemplate(template) {\n\t if (!wrapper.length) {\n\t return $q.when(template);\n\t }\n\t\n\t wrapper.forEach(function (wrapper) {\n\t formlyUsability.checkWrapper(wrapper, options);\n\t wrapper.validateOptions && wrapper.validateOptions(options);\n\t runApiCheck(wrapper, options);\n\t });\n\t var promises = wrapper.map(function (w) {\n\t return getTemplate(w.template || w.templateUrl, !w.template);\n\t });\n\t return $q.all(promises).then(function (wrappersTemplates) {\n\t wrappersTemplates.forEach(function (wrapperTemplate, index) {\n\t formlyUsability.checkWrapperTemplate(wrapperTemplate, wrapper[index]);\n\t });\n\t wrappersTemplates.reverse(); // wrapper 0 is wrapped in wrapper 1 and so on...\n\t var totalWrapper = wrappersTemplates.shift();\n\t wrappersTemplates.forEach(function (wrapperTemplate) {\n\t totalWrapper = doTransclusion(totalWrapper, wrapperTemplate);\n\t });\n\t return doTransclusion(totalWrapper, template);\n\t });\n\t };\n\t }\n\t\n\t function doTransclusion(wrapper, template) {\n\t var superWrapper = angular.element(\"\"); // this allows people not have to have a single root in wrappers\n\t superWrapper.append(wrapper);\n\t var transcludeEl = superWrapper.find(\"formly-transclude\");\n\t if (!transcludeEl.length) {\n\t //try it using our custom find function\n\t transcludeEl = formlyUtil.findByNodeName(superWrapper, \"formly-transclude\");\n\t }\n\t transcludeEl.replaceWith(template);\n\t return superWrapper.html();\n\t }\n\t\n\t function getWrapperOption(options) {\n\t var wrapper = options.wrapper;\n\t // explicit null means no wrapper\n\t if (wrapper === null) {\n\t return [];\n\t }\n\t\n\t // nothing specified means use the default wrapper for the type\n\t if (!wrapper) {\n\t // get all wrappers that specify they apply to this type\n\t wrapper = arrayify(formlyConfig.getWrapperByType(options.type));\n\t } else {\n\t wrapper = arrayify(wrapper).map(formlyConfig.getWrapper);\n\t }\n\t\n\t // get all wrappers for that this type specified that it uses.\n\t var type = formlyConfig.getType(options.type, true, options);\n\t if (type && type.wrapper) {\n\t var typeWrappers = arrayify(type.wrapper).map(formlyConfig.getWrapper);\n\t wrapper = wrapper.concat(typeWrappers);\n\t }\n\t\n\t // add the default wrapper last\n\t var defaultWrapper = formlyConfig.getWrapper();\n\t if (defaultWrapper) {\n\t wrapper.push(defaultWrapper);\n\t }\n\t return wrapper;\n\t }\n\t\n\t function checkApi(options) {\n\t formlyApiCheck[\"throw\"](formlyApiCheck.formlyFieldOptions, options, {\n\t prefix: \"formly-field directive\",\n\t url: \"formly-field-directive-validation-failed\"\n\t });\n\t // validate with the type\n\t var type = options.type && formlyConfig.getType(options.type);\n\t if (type) {\n\t if (type.validateOptions) {\n\t type.validateOptions(options);\n\t }\n\t runApiCheck(type, options);\n\t }\n\t }\n\t\n\t function runApiCheck(_ref, options) {\n\t var apiCheck = _ref.apiCheck;\n\t var apiCheckInstance = _ref.apiCheckInstance;\n\t var apiCheckFunction = _ref.apiCheckFunction;\n\t var apiCheckOptions = _ref.apiCheckOptions;\n\t\n\t if (!apiCheck) {\n\t return;\n\t }\n\t var instance = apiCheckInstance || formlyApiCheck;\n\t var fn = apiCheckFunction || \"warn\";\n\t var shape = instance.shape(apiCheck);\n\t instance[fn](shape, options, apiCheckOptions || {\n\t prefix: \"formly-field \" + name,\n\t url: formlyApiCheck.config.output.docsBaseUrl + \"formly-field-type-apicheck-failed\"\n\t });\n\t }\n\t}\n\tformlyField.$inject = [\"$http\", \"$q\", \"$compile\", \"$templateCache\", \"formlyConfig\", \"formlyValidationMessages\", \"formlyApiCheck\", \"formlyUtil\", \"formlyUsability\", \"formlyWarn\"];\n\t\n\tfunction arrayify(obj) {\n\t if (obj && !angular.isArray(obj)) {\n\t obj = [obj];\n\t } else if (!obj) {\n\t obj = [];\n\t }\n\t return obj;\n\t}\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = formlyFocus;\n\t\n\t// @ngInject\n\tfunction formlyFocus($timeout, $document) {\n\t /* jshint -W052 */\n\t return {\n\t restrict: \"A\",\n\t link: function formlyFocusLink(scope, element, attrs) {\n\t var previousEl = null;\n\t var el = element[0];\n\t var doc = $document[0];\n\t attrs.$observe(\"formlyFocus\", function respondToFocusExpressionChange(value) {\n\t if (value === \"true\") {\n\t $timeout(function setElementFocus() {\n\t previousEl = doc.activeElement;\n\t el.focus();\n\t }, ~ ~attrs.focusWait);\n\t } else if (value === \"false\") {\n\t if (doc.activeElement === el) {\n\t el.blur();\n\t if (attrs.hasOwnProperty(\"refocus\") && previousEl) {\n\t previousEl.focus();\n\t }\n\t }\n\t }\n\t });\n\t }\n\t };\n\t}\n\tformlyFocus.$inject = [\"$timeout\", \"$document\"];\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _interopRequire = function (obj) { return obj && obj.__esModule ? obj[\"default\"] : obj; };\n\t\n\tvar _toConsumableArray = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar angular = _interopRequire(__webpack_require__(1));\n\t\n\tmodule.exports = formlyForm;\n\t\n\t/**\n\t * @ngdoc directive\n\t * @name formlyForm\n\t * @restrict E\n\t */\n\t// @ngInject\n\tfunction formlyForm(formlyUsability, $parse, formlyApiCheck, formlyConfig) {\n\t var currentFormId = 1;\n\t var optionsApi = [formlyApiCheck.shape({\n\t formState: formlyApiCheck.object.optional,\n\t resetModel: formlyApiCheck.func.optional,\n\t updateInitialValue: formlyApiCheck.func.optional,\n\t removeChromeAutoComplete: formlyApiCheck.bool.optional\n\t }).strict.optional];\n\t return {\n\t restrict: \"E\",\n\t template: function formlyFormGetTemplate(el, attrs) {\n\t /* jshint -W033 */ // this because jshint is broken I guess...\n\t var rootEl = getRootEl();\n\t var formId = \"formly_\" + currentFormId++;\n\t return \"\\n <\" + rootEl + \" class=\\\"formly\\\"\\n name=\\\"\" + getFormName() + \"\\\"\\n role=\\\"form\\\">\\n