text: // angular-formly-templates-bootstrap version 4.0.7 built with ♥ by Astrism <astrisms@gmail.com>, Kent C. Dodds <kent@doddsfamily.us> (ó ì_í)=óò=(ì_í ò)
  
  !function(o,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("angular"),require("api-check"),require("angular-formly")):"function"==typeof define&&define.amd?define(["angular","api-check","angular-formly"],t):"object"==typeof exports?exports.ngFormlyTemplatesBootstrap=t(require("angular"),require("api-check"),require("angular-formly")):o.ngFormlyTemplatesBootstrap=t(o.angular,o.apiCheck,o.ngFormly)}(this,function(o,t,n){return function(o){function t(e){if(n[e])return n[e].exports;var r=n[e]={exports:{},id:e,loaded:!1};return o[e].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=o,t.c=n,t.p="",t(0)}([function(o,t,n){"use strict";o.exports=n(2)},function(o,t,n){"use strict";var e=n(21);e.version||(e=window.angular),o.exports=e},function(o,t,n){"use strict";var e="formlyBootstrap",r=n(1),a=r.module(e,[n(23)]);a.constant("formlyBootstrapApiCheck",n(22)({output:{prefix:"angular-formly-bootstrap"}})),a.constant("formlyBootstrapVersion","4.0.7"),n(13)(a),n(7)(a),n(5)(a),o.exports=e},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var e=n(14),r=t.shape({"class":t.string.optional,text:t.string.optional}).strict.optional,a=t.shape({templateOptions:t.shape({addonLeft:r,addonRight:r})});o.templateManipulators.preWrapper.push(function(o,n){return"input"!==n.type||!n.templateOptions.addonLeft&&!n.templateOptions.addonRight?o:(t.warn([a],[n]),e.replace("<formly-transclude></formly-transclude>",o))})}o.run(t),t.$inject=["formlyConfig","formlyBootstrapApiCheck"]}},function(o,t,n){"use strict";o.exports=function(o){function t(o){o.templateManipulators.preWrapper.push(function(o,t,n){if(angular.isDefined(t.templateOptions.description)&&"radio"!==t.type&&"checkbox"!==t.type){var e=document.createElement("div");e.appendChild(angular.element(o)[0]);var r=angular.element(e.querySelectorAll("[ng-model]"));return r?(e.appendChild(angular.element('<p id="'+n.id+'_description"class="help-block"ng-if="to.description">{{to.description}}</p>')[0]),r.attr("aria-describedby",n.id+"_description"),e.innerHTML):o}return o})}o.run(t),t.$inject=["formlyConfig"]}},function(o,t,n){"use strict";var e=function(o){return o&&o.__esModule?o["default"]:o},r=e(n(3)),a=e(n(4));o.exports=function(o){r(o),a(o)}},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var e=t;o.setType({name:"checkbox",template:n(15),wrapper:["bootstrapHasError"],apiCheck:{templateOptions:e.shape({label:e.string})},apiCheckInstance:e})}o.config(t),t.$inject=["formlyConfigProvider","formlyBootstrapApiCheck"]}},function(o,t,n){"use strict";o.exports=function(o){n(6)(o),n(9)(o),n(8)(o),n(10)(o),n(11)(o),n(12)(o)}},function(o,t,n){"use strict";o.exports=function(o){function t(o){o.setType({name:"input",template:'<input class="form-control" ng-model="model[options.key]">',wrapper:["bootstrapLabel","bootstrapHasError"]})}o.config(t),t.$inject=["formlyConfigProvider"]}},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var e=t;o.setType({name:"multiCheckbox",template:n(16),wrapper:["bootstrapLabel","bootstrapHasError"],apiCheck:{templateOptions:e.shape({options:e.arrayOf(e.object),labelProp:e.string.optional,valueProp:e.string.optional})},apiCheckInstance:e,controller:["$scope",function(o){function t(){o.model[e.key]=[],angular.forEach(o.multiCheckbox.checked,function(t,r){t&&o.model[e.key].push(n.options[r][n.valueProp||"value"])})}var n=o.to,e=o.options;o.multiCheckbox={checked:[],change:t};var r=o.model[e.key];angular.isArray(r)&&!function(){var t=n.valueProp||"value";angular.forEach(n.options,function(n,e){o.multiCheckbox.checked[e]=-1!==r.indexOf(n[t])})}()}]})}o.config(t),t.$inject=["formlyConfigProvider","formlyBootstrapApiCheck"]}},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var e=t;o.setType({name:"radio",template:n(17),wrapper:["bootstrapLabel","bootstrapHasError"],apiCheck:{templateOptions:e.shape({options:e.arrayOf(e.object),labelProp:e.string.optional,valueProp:e.string.optional})},apiCheckInstance:e})}o.config(t),t.$inject=["formlyConfigProvider","formlyBootstrapApiCheck"]}},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var e=t;o.setType({name:"select",template:n(18),wrapper:["bootstrapLabel","bootstrapHasError"],apiCheck:{templateOptions:e.shape({options:e.arrayOf(e.object),labelProp:e.string.optional,valueProp:e.string.optional,groupProp:e.string.optional})},apiCheckInstance:e})}o.config(t),t.$inject=["formlyConfigProvider","formlyBootstrapApiCheck"]}},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var n=t;o.setType({name:"textarea",template:'<textarea class="form-control" ng-model="model[options.key]"></textarea>',wrapper:["bootstrapLabel","bootstrapHasError"],defaultOptions:{ngModelAttrs:{rows:{attribute:"rows"},cols:{attribute:"cols"}}},apiCheck:{templateOptions:n.shape({rows:n.number.optional,cols:n.number.optional})},apiCheckInstance:n})}o.config(t),t.$inject=["formlyConfigProvider","formlyBootstrapApiCheck"]}},function(o,t,n){"use strict";o.exports=function(o){function t(o,t){var e=t;o.setWrapper([{name:"bootstrapLabel",template:n(20),apiCheck:{templateOptions:e.shape({label:e.string,required:e.bool.optional})},apiCheckInstance:e},{name:"bootstrapHasError",template:n(19)}])}o.config(t),t.$inject=["formlyConfigProvider","formlyBootstrapApiCheck"]}},function(o,t,n){o.exports='<div ng-class="{\'input-group\': to.addonLeft || to.addonRight}">\n    <div class="input-group-addon" ng-if="to.addonLeft">\n        <i class="{{to.addonLeft.class}}" ng-if="to.addonLeft.class"></i>\n        <span ng-if="to.addonLeft.text">{{to.addonLeft.text}}</span>\n    </div>\n    <formly-transclude></formly-transclude>\n    <div class="input-group-addon" ng-if="to.addonRight">\n        <i class="{{to.addonRight.class}}" ng-if="to.addonRight.class"></i>\n        <span ng-if="to.addonRight.text">{{to.addonRight.text}}</span>\n    </div>\n</div>'},function(o,t,n){o.exports='<div class="checkbox">\n	<label>\n		<input type="checkbox"\n           class="formly-field-checkbox"\n		       ng-model="model[options.key]">\n		{{to.label}}\n		{{to.required ? \'*\' : \'\'}}\n	</label>\n</div>\n'},function(o,t,n){o.exports='<div class="radio-group">\n  <div ng-repeat="(key, option) in to.options" class="checkbox">\n    <label>\n      <input type="checkbox"\n             id="{{id + \'_\'+ $index}}"\n             ng-model="multiCheckbox.checked[$index]"\n             ng-change="multiCheckbox.change()">\n      {{option[to.labelProp || \'name\']}}\n    </label>\n  </div>\n</div>\n'},function(o,t,n){o.exports='<div class="radio-group">\n  <div ng-repeat="(key, option) in to.options" class="radio">\n    <label>\n      <input type="radio"\n             id="{{id + \'_\'+ $index}}"\n             tabindex="0"\n             ng-value="option[to.valueProp || \'value\']"\n             ng-model="model[options.key]">\n      {{option[to.labelProp || \'name\']}}\n    </label>\n  </div>\n</div>\n'},function(o,t,n){o.exports="<select class=\"form-control\"\n        ng-model=\"model[options.key]\"\n        ng-options=\"option[to.valueProp || 'value'] as option[to.labelProp || 'name'] group by option[to.groupProp || 'group'] for option in to.options\">\n</select>\n"},function(o,t,n){o.exports='<div class="form-group" ng-class="{\'has-error\': showError}">\n  <formly-transclude></formly-transclude>\n</div>\n'},function(o,t,n){o.exports="<div>\n  <label for=\"{{id}}\" class=\"control-label\">\n    {{to.label}}\n    {{to.required ? '*' : ''}}\n  </label>\n  <formly-transclude></formly-transclude>\n</div>\n"},function(t,n,e){t.exports=o},function(o,n,e){o.exports=t},function(o,t,e){o.exports=n}])});
  //# sourceMappingURL=angular-formly-templates-bootstrap.min.js.map