/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/angular-form-lib@2.2.1/dist/es5/ngFormLib.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("angular"),require("angular-scroll"));else if("function"==typeof define&&define.amd)define(["angular","angular-scroll"],t);else{var r="object"==typeof exports?t(require("angular"),require("angular-scroll")):t(e.angular,e["angular-scroll"]);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,(function(e,t){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}({"../node_modules/angular-strap/src/datepicker/datepicker.tpl.html":function(e,t){e.exports='<div class="dropdown-menu datepicker" ng-class="\'datepicker-mode-\' + $mode" style=max-width:320px>\n<table style=table-layout:fixed;height:100%;width:100%>\n  <thead>\n    <tr class=text-center>\n      <th>\n        <button tabindex=-1 type=button class="btn btn-default pull-left" ng-click=$selectPane(-1)>\n          <i class={{$iconLeft}}></i>\n        </button>\n      </th>\n      <th colspan="{{ rows[0].length - 2 }}">\n        <button tabindex=-1 type=button class="btn btn-default btn-block text-strong" ng-click=$toggleMode()>\n          <strong style=text-transform:capitalize ng-bind=title></strong>\n        </button>\n      </th>\n      <th>\n        <button tabindex=-1 type=button class="btn btn-default pull-right" ng-click=$selectPane(+1)>\n          <i class={{$iconRight}}></i>\n        </button>\n      </th>\n    </tr>\n    <tr ng-show=showLabels ng-bind-html=labels></tr>\n  </thead>\n  <tbody>\n    <tr ng-repeat="(i, row) in rows" height="{{ 100 / rows.length }}%">\n      <td class=text-center ng-repeat="(j, el) in row">\n        <button tabindex=-1 type=button class="btn btn-default" style=width:100% ng-class="{\'btn-primary\': el.selected, \'btn-info btn-today\': el.isToday && !el.selected}" ng-click=$select(el.date) ng-disabled=el.disabled>\n          <span ng-class="{\'text-muted\': el.muted}" ng-bind=el.label></span>\n        </button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n</div>\n'},"./modules/common/Utility.js":function(e,t,r){"use strict";var n,o,i=r(0),a=r.n(i).a.module("ngFormLib.common.utility",[]);t.a=a.name,a.constant("ngFormLibDateUtil",{convertDate:function(e,t){if(!e||!t||"/"!==t&&"-"!==t)return e;var r="/"===t?"-":"/",n=e.split(r);return isNaN(n.join(""))||3!==n.length?e:n[2]+t+n[1]+t+n[0]},formatDay:function(e,t,r){var n=e,o=t,i=r;return e.getUTCDay&&(n=e.getDate(),o=e.getMonth()+1,i=e.getFullYear()),(n<10?"0"+n:n)+"/"+(o<10?"0"+o:o)+"/"+i},dateAdd:function(e,t){var r=this.getDate(e);return r.setDate(r.getDate()+t),this.formatDay(r)},getToday:function(e){return this.formatDay(e||new Date)},isISODate:function(e){return"string"==typeof e&&e.indexOf("-")>0},getDate:function(e){return this.isISODate(e)||(e=this.convertDate(e,"-")),new Date(e)},monthsBetween:function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}}),a.constant("ngFormLibStringUtil",(n=/^\s+|\s+$/g,{trim:function(e){return"string"==typeof e?e.replace(n,""):e}})),a.constant("ngFormLibNumberUtil",(o=/^\d+$/,{isDigits:function(e){return o.test(e)}})),a.constant("ngFormLibObjectUtil",{getUniqueId:function(){return(""+(new Date).getTime()+Math.random()).replace(/\./,"")},toArray:function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(t[t.length]={key:r,value:e[r]});return t.sort((function(e,t){return e.key<t.key})),t}})},"./modules/ngFormLib/controls/common/FieldErrorController.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/FormControlService.js"),a=o.a.module("ngFormLib.controls.common.fieldErrorController",[i.a]);t.a=a.name,a.directive("fieldErrorController",["formControlService","$timeout",function(e,t){return{restrict:"AE",require:["?ngModel","?^form","?^formGroup"],replace:!0,link:function(e,r,n,o){var i=o[0],a=o[1],l=(o[2]||{}).$element||r,c=n.name;if(a){var s=a.$name,u=a._applyFormBehaviourOnStateChangePolicy;i&&function(e,t,r,n,o){var i=t._policy,a=t.$name,l=a+'["'+o+'"]',c=i.stateDefinitions.create(a,l);i.checkForStateChanges(t._scope,n,o,c,r,t)}(0,a,i,r,c),a._scope.$watch(s+'["'+c+'"].fieldState',(function(e){u.applyBehaviour(r,e,!1,s,c,l)})),e.$on("event:FormSubmitAttempted",(function(){t((function(){return u.applyBehaviour(r,i.fieldState,!0,s,c,l)}),1)}))}}}}]),a.directive("formGroup",[function(){return{restrict:"C",controller:["$scope","$element",function(e,t){this.$element=t}]}}])},"./modules/ngFormLib/controls/common/FormControlService.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/common/Utility.js"),a=o.a.module("ngFormLib.controls.common.formControlService",[i.a]);t.a=a.name,a.config(["$provide",function(e){e.decorator("ngModelDirective",["$delegate",function(e){var t=e[0],r=t.controller;return t.controller=["$scope","$element","$attrs","$injector",function(e,t,n,o){var i=o.get("$interpolate");n.$set("name",i(n.name||"")(e)),o.invoke(r,this,{$scope:e,$element:t,$attrs:n})}],e}]),e.decorator("formDirective",["$delegate",function(e){var t=e[0],r=t.controller;return t.controller=["$scope","$element","$attrs","$injector",function(e,t,n,o){var i=o.get("$interpolate");n.$set("name",i(n.name||n.ngForm||"")(e)),o.invoke(r,this,{$scope:e,$element:t,$attrs:n})}],e}])}]),a.provider("formControlService",(function(){var e=this,t=0;e.defaults={idPrefix:"fpFld",inputGroupButtonTemplateFunction:function(e,t){return'<button type="button" class="btn btn-default" '+(t?'ng-click="'+t+'"':"")+">"+e+"</button>"},templates:{formCheckbox:{template:"ngFormLib/template/formCheckbox.html"},formDate:{template:"ngFormLib/template/formDate.html"},formInput:{template:"ngFormLib/template/formInput.html"},formRadioButton:{template:"ngFormLib/template/formRadioButton.html"},formSelect:{template:"ngFormLib/template/formSelect.html"},requiredMarker:{template:"ngFormLib/template/requiredMarker.html"}}},this.$get=["ngFormLibStringUtil","$injector",function(r,n){var i=void 0;try{i=n.get("$translate").instant}catch(e){i=o.a.identity}var a={defaults:e.defaults,buildDirective:function(e){return{restrict:"AE",replace:!0,transclude:!0,compile:function(t,r){a.validateComponentStructure(e.controlName,t,e.expectedTemplateElements,r,e.expectedAttributes);var n=r.uid||a.getUniqueFieldId(),o=r.name||n,i=t.find(e.inputElementName||"input"),l=t.find("label"),c=a.getRequiredAttribute(r.required);a.decorateLabel(l,c,n,r.labelClass,r.hideLabel,r.hideRequiredIndicator,r.labelSuffix),i=a.decorateInputField(i,t,r,n,o,c),e.configFn(t,r,n,o,i,l),t.removeAttr("uid").removeAttr("name").removeAttr("label").removeAttr("required").removeAttr("field-hint").removeAttr("input-type").removeAttr("hide-label").removeAttr("hideRequiredIndicator").removeAttr("label-class").removeAttr("field-errors").removeAttr("text-errors")},templateUrl:function(t,r){return r.template||a.getHTMLTemplate(t,e.controlName)}}},getUniqueFieldId:function(){return""+e.defaults.idPrefix+t++},getHTMLTemplate:function(t,r){for(var n=(t.inheritedData("formElementClasses")||"").split(" "),o=e.defaults.templates[r].template,i=0;i<n.length;i++){var a=e.defaults.templates[r][n[i]];if(a){o=a;break}}return o},addToAttribute:function(e,t,r){var n=e.attr(t)||"";-1===n.split(" ").indexOf(r)&&e.attr(t,n+(n?" ":"")+r)},removeFromAttribute:function(e,t,n){var o=r.trim((" "+(e.attr(t)||"")+" ").replace(/[\n\t]/g," ").replace(" "+r.trim(n)+" "," "));""===o?e.removeAttr(t):e.attr(t,o)},getRequiredAttribute:function(e){return"required"===e||""===e||"true"===e?"true":void 0===e?"false":e},addLabelText:function(e,t){e.prepend(a.translate(t))},addInputGroup:function(t,r){var n=[{inputAttr:"inputPrefix",className:"input-group-addon",attachFn:"prepend",clickHandler:"",content:function(e){return e}},{inputAttr:"inputSuffix",className:"input-group-addon",attachFn:"append",clickHandler:"",content:function(e){return e}},{inputAttr:"inputButtonPrefix",className:"input-group-btn",attachFn:"prepend",clickHandler:"inputButtonPrefixClick",content:e.defaults.inputGroupButtonTemplateFunction},{inputAttr:"inputButtonSuffix",className:"input-group-btn",attachFn:"append",clickHandler:"inputButtonSuffixClick",content:e.defaults.inputGroupButtonTemplateFunction}],o=[];if(n.forEach((function(e){r[e.inputAttr]&&o.push({attachFn:e.attachFn,html:'<span class="'+e.className+'">'+e.content(r[e.inputAttr],r[e.clickHandler])+"</span>"})})),o.length){t.wrap('<div class="input-group">');var i=t.parent();o.forEach((function(e){return i[e.attachFn](e.html)}))}return!!o.length},decorateLabel:function(e,t,r,n,o,i,l){r&&e.attr("for",r),n&&e.addClass(n),o&&e.attr("ng-class","{'sr-only': "+o+"}"),l&&e.append("&nbsp;"+a.translate(l)),i||e.append('<span required-marker hide="!('+t+')"></span>')},decorateInputField:function(e,t,r,n,o,i){for(var a in r.inputType&&(e.replaceWith('<input type="'+r.inputType+'" class="'+e.attr("class")+'">'),e=t.find("input")),e.attr("id",n),e.attr("name",o),r.$attr)if(0===a.indexOf("ff")){var l=r.$attr[a].substr(3);"class"===l?e.addClass(r[a]):"type"!==l&&e.attr(l,r[a]),t.removeAttr(r.$attr[a])}return e.attr("ng-required",i),e},createErrorFeatures:function(e,t,r,n,i,a){if(i||a){t.attr("field-error-controller","");var l=n?' field-label="'+n+'"':"",c=o.a.element('<div error-container field-name="'+r+'"'+l+"></div>");i&&c.attr("field-errors",i),a&&c.attr("text-errors",a),e.append(c)}},createFieldHint:function(e,t,r,n,i){var l=void 0;if(r){var c=a.translate(r);l=i?o.a.element('<p ng-if="'+i+'" class="help-block" id="'+n+'">'+c+"</p>"):o.a.element('<p class="help-block" id="'+n+'">'+c+"</p>"),e.append(l),t.attr("aria-describedby",n)}},buildNgClassExpression:function(e,t){var r=e.attr("ng-model"),n=e.attr("ng-checked"),o=e.attr("ng-disabled"),i=e.attr("value"),a=e.attr("ng-value"),l=e.attr("ng-true-value");r&&(r+=a||l?" === "+(a||l):i?" === '"+i+"'":" === true"),r&&n?r+=" || "+n:n&&(r=n),r&&o?t.attr("ng-class","{'checked': "+r+", 'disabled': "+o+"}"):r&&t.attr("ng-class","{'checked': "+r+"}")},translate:function(e,t){return i(e||"",t)},validateComponentStructure:function(e,t,r,n,o){for(var i=0;i<r.length;i++)if(!t.find(r[i]))throw new Error("The "+e+" component template requires a "+r[i]+" element.");for(var a=0;a<o.length;a++)if(!n[o[a]])throw new Error("The "+e+" component requires a "+o[a]+" attribute.")}};return a}]}))},"./modules/ngFormLib/controls/common/index.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/FieldErrorController.js"),a=r("./modules/ngFormLib/controls/common/FormControlService.js"),l=r("./modules/ngFormLib/controls/requiredMarker/RequiredMarker.js"),c=o.a.module("ngFormLib.controls.common",[i.a,a.a,l.a]);t.a=c.name},"./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/FormControlService.js"),a=r("./modules/ngFormLib/policy/stateDefinitions/PolicyStateDefinitions.js"),l=o.a.module("ngFormLib.controls.errorMessageContainer",[i.a]);t.a=l.name,l.directive("errorContainer",["$compile","formControlService",function(e,t){function r(e,t){var r={};return{addError:function(e,t,o){r[e]=n(t,o)},removeError:function(e){return delete r[e]},updateAriaErrorElement:function(){return t.onErrorChangeBehaviour(e,r)}}}function n(e,r){var n=r?"aeiou".indexOf(-1!==r[0].toLowerCase()):void 0;return t.translate(e,{pronoun:n?"an":"a",fieldLabel:r})}function o(e,t,r){return'<div class="text-error ec2-'+e+'"><span class="text-error-wrap">'+n(t,r)+"</span></div>"}function i(t,r,n,i,a,c,s,u){r._scope.$watch(a,(function(a){if(a){var m=e(o(c,s,u))(n);i.append(m),t.addError(c,s,u)}else l(t,r,i,c);t.updateAriaErrorElement()}))}function l(e,t,r,n){for(var o=r.find("div"),i=o.length-1;i>-1;i--)o.eq(i).hasClass("ec2-"+n)&&o.eq(i).remove();e.removeError(n)}function c(e,t,r,n,i,a,c){t._scope.$watch(a,(function(n){r.$setValidity(a,!n),l(e,0,i,a),n&&(i.append(o(a,n,c)),e.addError(a,n,c),t.setSubmitted(!0)),e.updateAriaErrorElement()})),r.$viewChangeListeners.push((function(){n.$eval(a)&&n.$eval(a+" = null")}))}return{restrict:"AE",require:["^form"],template:'<div class="container-error"></div>',replace:!0,link:function(e,t,n,o){var l=n.fieldName,s=n.fieldLabel||"",u=o[0],m=u.$name,d=m+'["'+l+'"]',f=e.$eval(n.fieldErrors||[]),p=e.$eval(n.textErrors||[]);t.attr("id",m+"-"+l+"-errors");var b=u._policy.accessibilityBehaviour,v=b.createAriaErrorElement(m,l),g=new r(v,b);for(var h in t.append(v),f)if(f.hasOwnProperty(h)){var y=d+'.fieldState === "'+a.b+'" && '+d+".$error."+h;i(g,u,e,t,y,h,f[h],s)}if(p)var F=e.$watch((function(){return u[l]}),(function(r){if(r)for(var n in F(),p)p.hasOwnProperty(n)&&c(g,u,u[l],e,t,p[n],s)}));t.removeAttr("error-container").removeAttr("field-name").removeAttr("field-errors").removeAttr("text-errors")}}}])},"./modules/ngFormLib/controls/formCheckbox/FormCheckbox.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/index.js"),a=r("./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js"),l=o.a.module("ngFormLib.controls.formCheckbox",[i.a,a.a]);t.a=l.name,l.directive("formCheckbox",["formControlService",function(e){return e.buildDirective({controlName:"formCheckbox",expectedTemplateElements:["input","label","div"],expectedAttributes:[],configFn:function(t,r,n,o,i){e.createErrorFeatures(t,i,o,"",r.fieldErrors,r.textErrors),e.buildNgClassExpression(i,i)}})}]),l.run(["$templateCache",function(e){e.put("ngFormLib/template/formCheckbox.html",r("./modules/ngFormLib/controls/formCheckbox/template/FormCheckboxTemplate.html"))}])},"./modules/ngFormLib/controls/formCheckbox/template/FormCheckboxTemplate.html":function(e,t){e.exports='<div class="form-group form-group-checkbox">\n\t<div class=checkbox>\n\t\t<input type=checkbox field-error-controller>\n\t\t<label><span ng-transclude></span></label>\n\t</div>\n</div>\n'},"./modules/ngFormLib/controls/formDate/FormDate.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/index.js"),a=r("./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js"),l=o.a.module("ngFormLib.controls.formDate",[i.a,a.a]);t.a=l.name,l.directive("formDate",["formControlService",function(e){return e.buildDirective({controlName:"formDate",expectedTemplateElements:["input","label"],expectedAttributes:["label"],configFn:function(t,r,n,o,i,a){e.addLabelText(a,r.label),function(e,t){t&&e.attr("placeholder",t)}(i,e.translate(r.placeholder));var l=e.addInputGroup(i,r)?i.parent().parent():i.parent();e.createFieldHint(t,i,r.fieldHint,n+"-hint",r.fieldHintDisplay),e.createErrorFeatures(l,i,o,r.label,r.fieldErrors,r.textErrors)}})}]),l.run(["$templateCache",function(e){e.put("ngFormLib/template/formDate.html",r("./modules/ngFormLib/controls/formDate/template/FormDateInputTemplate.html"));try{e.put("datepicker/datepicker.tpl.html",r("../node_modules/angular-strap/src/datepicker/datepicker.tpl.html"))}catch(e){console.debug("angular-strap/src/datepicker/datepicker.tpl.html is not available for the formDate control")}}]),l.directive("formDateFormat",["ngFormLibDateUtil",function(e){var t=/^(((0[1-9]|[12][0-9]|3[01])([\/])(0[13578]|10|12)([\/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([\/])(0[469]|11)([\/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([\/])(02)([\/])(\d{4}))|((29)(\/)(02)([\/])([02468][048]00))|((29)([\/])(02)([\/])([13579][26]00))|((29)([\/])(02)([\/])([0-9][0-9][0][48]))|((29)([\/])(02)([\/])([0-9][0-9][2468][048]))|((29)([\/])(02)([\/])([0-9][0-9][13579][26])))$/;return{require:"ngModel",priority:150,link:function(r,n,o,i){i.$parsers.unshift((function(r){if(!r)return i.$setValidity("dateFormat",!0),i.$setValidity("minDate",!0),i.$setValidity("maxDate",!0),r;r.getTime&&(r=e.formatDay(r)),8!==r.length||isNaN(1*r)||(r=r.substr(0,2)+"/"+r.substr(2,2)+"/"+r.substr(4));var n=t.test(r)||void 0===r||!r;if(i.$setValidity("dateFormat",n),n&&r){var a=e.getDate(r);if(o.minDate){var l=e.getDate(o.minDate);i.$setValidity("minDate",a.getTime()>=l.getTime())}else i.$setValidity("minDate",!0);if(o.maxDate){var c=void 0;c="today"===o.maxDate?e.getDate(e.getToday()):e.getDate(o.maxDate),i.$setValidity("maxDate",a.getTime()<=c.getTime())}else i.$setValidity("maxDate",!0)}else i.$setValidity("minDate",!0),i.$setValidity("maxDate",!0);return r})),i.$viewChangeListeners.push((function(){o.dateChange&&i.$valid&&r.$eval(o.dateChange)}))}}}])},"./modules/ngFormLib/controls/formDate/template/FormDateInputTemplate.html":function(e,t){e.exports="<div class=form-group><label class=control-label></label><div class=control-row><input type=text class=form-control maxlength=10 placeholder=dd/mm/yyyy bs-datepicker form-date-format mask-date-digits><span ng-transclude></span></div></div>\n"},"./modules/ngFormLib/controls/formInput/FormInput.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/index.js"),a=r("./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js"),l=o.a.module("ngFormLib.controls.formInput",[i.a,a.a]);t.a=l.name,l.directive("formInput",["formControlService",function(e){return e.buildDirective({controlName:"formInput",expectedTemplateElements:["input","label"],expectedAttributes:["label","inputType"],configFn:function(t,r,n,o,i,a){e.addLabelText(a,r.label),function(e,t){t&&e.attr("placeholder",t)}(i,e.translate(r.placeholder));var l=e.addInputGroup(i,r)?i.parent().parent():i.parent();e.createFieldHint(t,i,r.fieldHint,n+"-hint",r.fieldHintDisplay),e.createErrorFeatures(l,i,o,r.label,r.fieldErrors,r.textErrors)}})}]),l.run(["$templateCache",function(e){e.put("ngFormLib/template/formInput.html",r("./modules/ngFormLib/controls/formInput/template/FormInputTemplate.html"))}])},"./modules/ngFormLib/controls/formInput/template/FormInputTemplate.html":function(e,t){e.exports="<div class=form-group><label class=control-label></label><div class=control-row><input class=form-control><span ng-transclude></span></div></div>\n"},"./modules/ngFormLib/controls/formRadioButton/FormRadioButton.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/index.js"),a=r("./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js"),l=o.a.module("ngFormLib.controls.formRadioButton",[i.a,a.a]);t.a=l.name,l.directive("formRadioButton",["formControlService",function(e){return e.buildDirective({controlName:"formRadioButton",expectedTemplateElements:["input","label","div"],expectedAttributes:[],configFn:function(t,r,n,o,i){t.find("div").addClass(t.attr("class")),t.removeAttr("class"),e.createErrorFeatures(t,i,o,"",r.fieldErrors,r.textErrors),e.buildNgClassExpression(i,i)}})}]),l.run(["$templateCache",function(e){e.put("ngFormLib/template/formRadioButton.html",r("./modules/ngFormLib/controls/formRadioButton/template/FormRadioButtonTemplate.html"))}])},"./modules/ngFormLib/controls/formRadioButton/template/FormRadioButtonTemplate.html":function(e,t){e.exports="<div>\n\t<div class=radio>\n\t\t<input type=radio field-error-controller>\n\t\t<label><span ng-transclude></span></label>\n\t</div>\n</div>\n"},"./modules/ngFormLib/controls/formReset/FormReset.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=o.a.module("ngFormLib.controls.formReset",[]);t.a=i.name,i.directive("formReset",["$parse",function(e){return{restrict:"A",require:"^form",link:function(t,r,n,i){var a=e(n.formReset),l=a.assign;if(!l)throw Error('formReset requires an assignable scope-expression. "'+n.formReset+'" is un-assignable.');var c=o.a.copy(a(t));r.on("click",(function(){"function"==typeof i.setSubmitted&&i.setSubmitted(!1),l(t,o.a.copy(c)),function(e){for(var t in e)if(e.hasOwnProperty(t))for(var r=e[t],n=0,o=r.length;n<o;n++)r[n].controller.fieldState=""}(i._controls||{}),i.$setPristine(),t.$emit("event:FormReset"),t.$digest()}))}}}])},"./modules/ngFormLib/controls/formSelect/FormSelect.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/index.js"),a=r("./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js"),l=o.a.module("ngFormLib.controls.formSelect",[i.a,a.a]);t.a=l.name,l.directive("formSelect",["formControlService",function(e){return e.buildDirective({controlName:"formSelect",inputElementName:"select",expectedTemplateElements:["select","label"],expectedAttributes:["label"],configFn:function(t,r,n,o,i,a){var l,c;e.addLabelText(a,r.label),l=i,(c=r.placeholder)&&l.append('<option translate value="">'+c+"</option>"),e.createFieldHint(t,i,r.fieldHint,n+"-hint",r.fieldHintDisplay),e.createErrorFeatures(i.parent(),i,o,r.label,r.fieldErrors,r.textErrors)}})}]),l.run(["$templateCache",function(e){e.put("ngFormLib/template/formSelect.html",r("./modules/ngFormLib/controls/formSelect/template/FormSelectTemplate.html"))}])},"./modules/ngFormLib/controls/formSelect/template/FormSelectTemplate.html":function(e,t){e.exports="<div class=form-group><label class=control-label></label><div class=control-row><select class=form-control></select></div></div>\n"},"./modules/ngFormLib/controls/formSubmit/FormSubmit.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=o.a.module("ngFormLib.controls.formSubmit",[]);t.a=i.name,i.directive("formSubmit",["$parse",function(e){return{restrict:"A",require:["^form"],link:function(t,r,n,i){var a=e(n.formSubmit)||o.a.noop,l="FORM"===r[0].tagName,c=i[0];r.bind(l?"submit":"click",(function(e){c.setSubmitted(!0),t.$apply((function(){c.$valid?!1!==a(t,{$event:e})&&(c.setSubmitted(!1),c.$setPristine()):e.preventDefault()}))}))}}}])},"./modules/ngFormLib/controls/index.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/errorMessageContainer/ErrorMessageContainer.js"),a=r("./modules/ngFormLib/controls/formCheckbox/FormCheckbox.js"),l=r("./modules/ngFormLib/controls/formDate/FormDate.js"),c=r("./modules/ngFormLib/controls/formInput/FormInput.js"),s=r("./modules/ngFormLib/controls/formRadioButton/FormRadioButton.js"),u=r("./modules/ngFormLib/controls/formReset/FormReset.js"),m=r("./modules/ngFormLib/controls/formSelect/FormSelect.js"),d=r("./modules/ngFormLib/controls/formSubmit/FormSubmit.js"),f=o.a.module("ngFormLib.controls",[i.a,a.a,l.a,c.a,s.a,u.a,m.a,d.a]);t.a=f.name},"./modules/ngFormLib/controls/requiredMarker/RequiredMarker.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/controls/common/FormControlService.js"),a=o.a.module("ngFormLib.controls.requiredMarker",[i.a]);t.a=a.name,a.directive("requiredMarker",["formControlService",function(e){return{restrict:"AE",replace:!0,transclude:!0,templateUrl:function(t,r){return r.template||e.getHTMLTemplate(t,"requiredMarker")},scope:{hide:"="}}}]),a.run(["$templateCache",function(e){e.put("ngFormLib/template/requiredMarker.html",r("./modules/ngFormLib/controls/requiredMarker/template/RequiredMarkerTemplate.html"))}])},"./modules/ngFormLib/controls/requiredMarker/template/RequiredMarkerTemplate.html":function(e,t){e.exports="<span class=required aria-hidden=true ng-class=\"{'ng-hide': hide}\" ng-transclude></span>\n"},"./modules/ngFormLib/index.js":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/policy/FormPolicy.js"),a=r("./modules/ngFormLib/controls/index.js"),l=r("./modules/ngFormLib/policy/defaultPolicies.js");r.d(t,"ngFormLib",(function(){return c})),r.d(t,"defaultPolicies",(function(){return s}));var c=o.a.module("ngFormLib",[i.a,a.a]).name,s=l.a},"./modules/ngFormLib/policy/FormPolicy.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=o.a.module("ngFormLib.policy",[]);function a(e){return{restrict:"AE",require:["?form"],compile:function(t,r){return t.data("formElementClasses",r.class),{pre:function(t,r,n,i){var a=i[0];a._policy=o.a.extend(e.getCurrentPolicy(),t.$eval(n.formPolicy)),a._scope=t,a._parentController=r.parent().controller("form"),a._parentController||(a._controls={}),a._applyFormBehaviourOnStateChangePolicy=a._policy.behaviourOnStateChange.behaviour(a),a.setSubmitted=function(e,n){r[e?"addClass":"removeClass"](a._policy.formSubmitAttemptedClass),a._formSubmitAttempted=e,a._applyFormBehaviourOnStateChangePolicy.resetBehaviour(),e&&!n&&t.$broadcast("event:FormSubmitAttempted")},a._formSubmitAttempted=!1,a._applyFormBehaviourOnStateChangePolicy.resetBehaviour(),a._parentController&&t.$watch((function(){return a._parentController._formSubmitAttempted}),(function(e){void 0!==e&&a.setSubmitted(!!e)}))}}}}}t.a=i.name,i.provider("formPolicyService",(function(){var e=this,t=function(){},r={behaviour:function(){return{applyBehaviour:t,resetBehaviour:t}}},n={create:function(){return{}},states:function(){return{}}},i={createAriaErrorElement:function(){return""},onErrorChangeBehaviour:t};e.defaults={formSubmitAttemptedClass:"form-submit-attempted",accessibilityBehaviour:null,behaviourOnStateChange:null,checkForStateChanges:null,stateDefinitions:null},this.$get=["$injector",function(a){function l(e){try{return a.get(e)}catch(e){return null}}return e.defaults.accessibilityBehaviour=e.defaults.accessibilityBehaviour||l("formPolicyAccessibilityBehaviour")||i,e.defaults.behaviourOnStateChange=e.defaults.behaviourOnStateChange||l("formPolicyBehaviourOnStateChange")||r,e.defaults.checkForStateChanges=e.defaults.checkForStateChanges||(l("formPolicyCheckForStateChanges")||{}).checker||t,e.defaults.stateDefinitions=e.defaults.stateDefinitions||l("formPolicyStateDefinitions")||n,{getCurrentPolicy:function(){return o.a.copy(e.defaults)}}}]})),i.directive("form",["formPolicyService",a]),i.directive("ngForm",["formPolicyService",a]);o.a.forEach(["input","select"],(function(e){i.directive(e,(function(){return{restrict:"E",require:["?^form","?ngModel"],link:{pre:function(e,t,r,n){if(n[0]){var o=n[0]._parentController||n[0],i=n[1],a=r.name;o&&o._controls&&function(e,t,r,n){var o=e._controls;o[r]||(o[r]=[]),o[r][o[r].length]={element:t,controller:n},t.on("$destroy",(function(){for(var r=e._controls[t.attr("name")],n=t.attr("id"),o=0;o<r.length;o++)if(r[o].element.attr("id")===n){r.splice(o,1);break}}))}(o,t,a,i)}}}}}))}))},"./modules/ngFormLib/policy/accessibility/PolicyFormAccessibility.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n);t.b=l;var i=o.a.module("ngFormLib.policy.formAccessibility",[]);t.a=i.name;var a="-errors-aria";function l(e,t){return e+"-"+t+a}i.constant("formPolicyAccessibilityLibrary",{createAriaErrorElement:function(e,t){var r=o.a.element('<span class="sr-only" aria-hidden="true"></span>');return r.attr("id",l(e,t)),r},createLongErrorDescription:function(e,t){var r="",n=0;for(var o in t)t.hasOwnProperty(o)&&(r+="Error "+ ++n+", "+t[o]+",");1===n?r=". There is 1 error for this field. "+r:n>1&&(r=". There are "+n+" errors for this field. "+r),e.text(r)},createShortErrorDescription:function(e,t){var r=[],n="";for(var o in t)t.hasOwnProperty(o)&&r.push(t[o]);r.length>1&&(n=r.length+" errors: "),e.text(n+r.join(". "))}}),i.provider("formPolicyAccessibilityBehaviour",["formPolicyAccessibilityLibrary",function(e){var t=this.config={createAriaErrorElement:e.createAriaErrorElement,onErrorChangeBehaviour:e.createLongErrorDescription};this.$get=function(){return t}}])},"./modules/ngFormLib/policy/behaviourOnStateChange/PolicyBehaviourOnStateChange.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r(1),a=(r.n(i),r("./modules/ngFormLib/controls/common/FormControlService.js")),l=r("./modules/ngFormLib/policy/accessibility/PolicyFormAccessibility.js"),c=r("./modules/ngFormLib/policy/stateDefinitions/PolicyStateDefinitions.js"),s=o.a.module("ngFormLib.policy.behaviourOnStateChange",["duScroll",a.a]);t.a=s.name;var u=void 0,m=void 0;function d(e){return!!e.getBoundingClientRect().top}function f(e,t){return e?function(){var r=e.apply(void 0,arguments),n=t.apply(void 0,arguments);return{applyBehaviour:function(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];r.applyBehaviour.apply(null,t),n.applyBehaviour.apply(null,t)},resetBehaviour:function(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];r.resetBehaviour.apply(null,t),n.resetBehaviour.apply(null,t)}}}:t}s.service("formPolicyBehaviourOnStateChangeLibrary",["$document","$timeout","duScrollDuration","formControlService",function(e,t,n,i){return{onSubmitFocusFirstFieldIfError:function(r){var i=r._parentController||r;return{applyBehaviour:function(a,l,s){if(l===c.b&&s){var f=e[0][i.$name].querySelectorAll(".form-group .ng-invalid"),p=void 0;o.a.forEach(f,(function(e){d(e)&&!p&&(p=e)}));var b=!!p&&p.id===a[0].id,v=r._policy.behaviourOnStateChange.fieldFocusScrollOffset;!i._focusErrorElement&&b&&function(e,t,r,n,o){return!!d(n[0])&&(t.cancel(u),t.cancel(m),u=t((function(){n[0].focus()}),r),m=e.scrollToElement(n,o,r),!0)}(e,t,n,a,v)&&(i._focusErrorElement=a)}},resetBehaviour:function(){i._focusErrorElement=null}}},onErrorSetAriaDescribedByToAriaErrorElement:function(){return{applyBehaviour:function(e,t,n,o,a){e.attr("aria-invalid",t===c.b);var s=r.i(l.b)(o,a);t===c.b?i.addToAttribute(e,"aria-describedby",s):i.removeFromAttribute(e,"aria-describedby",s)},resetBehaviour:function(){}}},updateElementStyle:function(e){return{applyBehaviour:function(t,r,n,o,i,a){var l=e._policy.behaviourOnStateChange;a[r===c.b?"addClass":"removeClass"](l.fieldErrorClass),a["success"===r?"addClass":"removeClass"](l.fieldSuccessClass)},resetBehaviour:function(){}}}}}]),s.provider("formPolicyBehaviourOnStateChange",(function(){var e=this.config={behaviour:void 0,fieldErrorClass:"has-error",fieldSuccessClass:"has-success",fieldFocusScrollOffset:0};this.$get=["formPolicyBehaviourOnStateChangeLibrary",function(t){return e.behaviour=e.behaviour||[t.onSubmitFocusFirstFieldIfError,t.onErrorSetAriaDescribedByToAriaErrorElement,t.updateElementStyle].reduce(f),e}]}))},"./modules/ngFormLib/policy/checkForStateChanges/PolicyCheckForStateChanges.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/policy/stateDefinitions/PolicyStateDefinitions.js"),a=o.a.module("ngFormLib.policy.checkForStateChanges",[]);function l(e,t,r,n,i){var a=void 0;e.$on("event:FormSubmitAttempted",(function(){(a||o.a.noop)(),a=m(e,n,i)})),e.$on("event:FormReset",(function(){(a||o.a.noop)(),a=void 0})),f(e,t,r,n,i)}function c(e,t,r,n,o){return m(e,n,o)}function s(e,t,r,n,o){f(e,t,r,n,o)}function u(e,t,r,n){return e.$watch(n,(function(e){!0===e&&(t.fieldState=r)}))}function m(e,t,r){var n=[];for(var o in t)t.hasOwnProperty(o)&&n.push(u(e,r,o,t[o]));return function(){n.forEach((function(e){return e()}))}}function d(e,t,r){for(var n in t)if(!0===e.$eval(t[n])){r.fieldState=n;break}}function f(e,t,r,n,o){d(e,n,o);var a=void 0;t.bind("blur",(function(){var t=o.fieldState;d(e,n,o),t===o.fieldState||o.fieldState!==i.b||a?a&&o.fieldState!==i.b&&(a(),a=void 0):a=m(e,n,o),e.$apply()}))}t.a=a.name,a.constant("formPolicyCheckForStateChangesLibrary",{onChange:c,onBlur:s,onBlurUntilSubmitThenOnChange:l}),a.provider("formPolicyCheckForStateChanges",["formPolicyCheckForStateChangesLibrary",function(e){var t=this.config={checker:e.onBlurUntilSubmitThenOnChange};this.$get=function(){return t}}])},"./modules/ngFormLib/policy/defaultPolicies.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n),i=r("./modules/ngFormLib/policy/accessibility/PolicyFormAccessibility.js"),a=r("./modules/ngFormLib/policy/behaviourOnStateChange/PolicyBehaviourOnStateChange.js"),l=r("./modules/ngFormLib/policy/checkForStateChanges/PolicyCheckForStateChanges.js"),c=r("./modules/ngFormLib/policy/stateDefinitions/PolicyStateDefinitions.js"),s=o.a.module("ngFormLib.defaultPolicies",[i.a,a.a,l.a,c.a]);t.a=s.name},"./modules/ngFormLib/policy/stateDefinitions/PolicyStateDefinitions.js":function(e,t,r){"use strict";var n=r(0),o=r.n(n);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"b",(function(){return l}));var a=o.a.module("ngFormLib.policy.stateDefinitions",[]);t.a=a.name;var l="error";a.constant("formPolicyErrorDefinitionLibrary",{onSubmit:function(e,t){return e+"._formSubmitAttempted && "+t+".$invalid"},onDirty:function(e,t){return t+".$dirty && "+t+".$invalid"},immediately:function(e,t){return t+".$invalid"},onSubmitAndDirty:function(e,t){return e+"._formSubmitAttempted && "+t+".$dirty && "+t+".$invalid"},onSubmitOrDirty:function(e,t){return"("+e+"._formSubmitAttempted || "+t+".$dirty) && "+t+".$invalid"}}),a.constant("formPolicySuccessDefinitionLibrary",{onSubmit:function(e,t){return e+"._formSubmitAttempted && "+t+".$valid"},onDirty:function(e,t){return t+".$dirty && "+t+".$valid"},immediately:function(e,t){return t+".$valid"},onSubmitAndDirty:function(e,t){return e+"._formSubmitAttempted && "+t+".$dirty && "+t+".$valid"},onSubmitOrDirty:function(e,t){return"("+e+"._formSubmitAttempted || "+t+".$dirty) && "+t+".$valid"}}),a.provider("formPolicyStateDefinitions",["formPolicyErrorDefinitionLibrary","formPolicySuccessDefinitionLibrary",function(e,t){var r,n=this.config={states:(r={},i(r,l,e.onSubmitOrDirty),i(r,"success",t.onSubmitOrDirty),r)};n.create=function(e,t){var r={};for(var o in n.states)n.states.hasOwnProperty(o)&&(r[o]=n.states[o](e,t));return r},this.$get=function(){return n}}])},0:function(t,r){t.exports=e},1:function(e,r){e.exports=t},2:function(e,t,r){e.exports=r("./modules/ngFormLib/index.js")}})}));
//# sourceMappingURL=/sm/d48ff98c4e15ab6d09a5bd0eaac67c1c49146bad5a323e5a2eba11749ff86e85.map