1 !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["angular-material-form-builder"]=t():e["angular-material-form-builder"]=t()}(self,(function(){return(()=>{"use strict";var e={"./src/lib/directives/agreement-item/agreement-item.controller.js":(e,t,i)=>{function n(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{maxSelections:null},options:[{value:"",selected:!1}]})}i.r(t),i.d(t,{AgreementItemCtrl:()=>n}),n.$inject=["Utils","$element"]},"./src/lib/directives/agreement-item/agreement-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{AgreementItem:()=>o});var n=i("./src/lib/directives/agreement-item/agreement-item.controller.js");class o{constructor(){this.restrict="E",this.scope={item:"="},this.controller=n.AgreementItemCtrl,this.controllerAs="Agreement",this.bindToController=!0}}o.$inject=[]},"./src/lib/directives/agreement-item/agreement-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{AgreementViewCtrl:()=>n});class n{constructor(e,t){this.Scope=e,this.Utils=t,this.formItem={}}init(){this.formItem=this.Utils.extend(this.formItem||{},{config:{},options:[{value:"",selected:!1}]}),this.selectedOptions=this._getSelectedOptions(),this.disableOptions=!1,this.isValid=!0,this._updateView(),this._updateValidity(),this.isPreview()&&this._enableWatchers()}toggleSelectedOption(){this.selectedOptions=this._getSelectedOptions(),this._updateView(),this._updateValidity()}_getSelectedOptions(){return this.formItem.options.filter((e=>e.selected))}_updateView(){this.formItem.config.maxSelections&&this.selectedOptions.length===this.formItem.config.maxSelections?this.disableOptions=!0:this.disableOptions=!1}_updateValidity(){this.formItem.config.required?this.isValid=this.selectedOptions.length>0:this.isValid=!0,this.form.$setValidity("minSelections",this.isValid)}_enableWatchers(){this.Scope.$watch("AgreementView.formItem.config.required",(e=>{void 0!==e&&(this._updateView(),this._updateValidity())}))}}n.$inject=["$scope","Utils"]},"./src/lib/directives/agreement-item/agreement-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{AgreementView:()=>r});var n=i("./src/lib/directives/agreement-item/agreement-view.controller.js"),o=i("./src/lib/directives/agreement-item/agreement-view.tpl.html");class r{constructor(e){this.$timeout=e,this.template=o.default,this.restrict="E",this.scope={formItem:"=",isPreview:"&",form:"="},this.controller=n.AgreementViewCtrl,this.controllerAs="AgreementView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/checkboxes-item/checkboxes-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{CheckboxesItemCtrl:()=>n});class n{constructor(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{maxSelections:null},options:[{value:"",selected:!1}]})}deleteOption(e){this.item.options.splice(e,1)}addOption(){this.item.options.push({value:"",selected:!1}),setTimeout((()=>{const e=this.Element.find("input");e[e.length-1].focus()}),0)}}n.$inject=["Utils","$element"]},"./src/lib/directives/checkboxes-item/checkboxes-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{CheckboxesItem:()=>r});var n=i("./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html"),o=i("./src/lib/directives/checkboxes-item/checkboxes-item.controller.js");function r(){return{restrict:"E",template:n.default,scope:{item:"="},controller:o.CheckboxesItemCtrl,controllerAs:"Checkboxes",bindToController:!0}}},"./src/lib/directives/checkboxes-item/checkboxes-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{CheckboxesViewCtrl:()=>n});class n{constructor(e,t){this.Scope=e,this.Utils=t,this.formItem={}}init(){this.formItem=this.Utils.extend(this.formItem||{},{config:{},options:[]}),this.selectedOptions=this._getSelectedOptions(),this.disableOptions=!1,this.isValid=!0,this._updateView(),this._updateValidity(),this.isPreview()&&this._enableWatchers()}toggleSelectedOption(){this.selectedOptions=this._getSelectedOptions(),this._updateView(),this._updateValidity()}_getSelectedOptions(){return this.formItem.options.filter((e=>e.selected))}_updateView(){this.formItem.config.maxSelections&&this.selectedOptions.length===this.formItem.config.maxSelections?this.disableOptions=!0:this.disableOptions=!1}_updateValidity(){this.formItem.config.required?this.isValid=this.selectedOptions.length>0:this.isValid=!0,this.form.$setValidity("minSelections",this.isValid)}_enableWatchers(){this.Scope.$watch("CheckboxesView.formItem.config.required",(e=>{void 0!==e&&(this._updateView(),this._updateValidity())}))}}n.$inject=["$scope","Utils"]},"./src/lib/directives/checkboxes-item/checkboxes-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{CheckboxesView:()=>r});var n=i("./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html"),o=i("./src/lib/directives/checkboxes-item/checkboxes-view.controller.js");class r{constructor(e){this.$timeout=e,this.restrict="E",this.template=n.default,this.scope={formItem:"=",isPreview:"&",form:"="},this.controller=o.CheckboxesViewCtrl,this.controllerAs="CheckboxesView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/form-item/form-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{FormItemCtrl:()=>o});const n={upload:"Attachment",agreement:"Agreement",input:"Field",chooseFromList:"Select",label:"Label",multipleChoices:"Choice",matrix:"Matrix",checkboxes:"Options",textarea:"Text"};class o{constructor(e,t,i){this.Attrs=t,this.Utils=i,this.templates={upload:'<upload-item item="FormItem.item"></upload-item>',agreement:'<agreement-item item="FormItem.item"></agreement-item>',input:'<input-item item="FormItem.item"></input-item>',chooseFromList:'<bet-form-choose-from-list item="FormItem.item"></bet-form-choose-from-list>',label:'<label-item item="FormItem.item"></label-item>',multipleChoices:'<radio-button-item item="FormItem.item"></radio-button-item>',matrix:'<matrix-item item="FormItem.item"></matrix-item>',checkboxes:'<checkboxes-item item="FormItem.item"></checkboxes-item>',textarea:'<textarea-item item="FormItem.item"></textarea-item>'},this.item={},this.scope=e}init(){this.item=this.Utils.extend(this.item||{},{type:this.Attrs.type,props:{title:n[this.Attrs.type],helpText:""},config:{required:!1}})}deleteClicked(){this.onDelete({item:this.item,index:this.index()})}_getItemTemplate(e){return'<div class="form-item-container"><div class="form-item-actions"><md-button class="md-button" ng-if="FormItem.Attrs.onDelete" ng-click="FormItem.deleteClicked()"> <md-icon class="material-icons small">delete</md-icon></md-button><md-button class="md-button" ng-if="FormItem.Attrs.onUp" ng-click="FormItem.onUp({item: FormItem.item, index: FormItem.index()})"> <md-icon class="material-icons small">arrow_drop_up</md-icon></md-button><md-button class="md-button" ng-if="FormItem.Attrs.onDown" ng-click="FormItem.onDown({item: FormItem.item, index: FormItem.index()})"> <md-icon class="material-icons small">arrow_drop_down</md-icon></md-button></div><md-input-container><label>Field Title</label><input ng-model="FormItem.item.props.title"/></md-input-container><md-input-container><label>Help Text</label><input ng-model="FormItem.item.props.helpText" /></md-input-container>'+this.templates[e]+'<md-input-container><md-checkbox ng-model="FormItem.item.config.required">Required field</md-checkbox></md-input-container></div>'}}o.$inject=["$scope","$attrs","Utils"]},"./src/lib/directives/form-item/form-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{FormItem:()=>r});var n=i("./src/lib/directives/form-item/form-item.tpl.html"),o=i("./src/lib/directives/form-item/form-item.controller.js");class r{constructor(e){this.$compile=e,this.restrict="E",this.scope={item:"=",onDelete:"&",onUp:"&",onDown:"&",index:"&"},this.controller=o.FormItemCtrl,this.controllerAs="FormItem",this.bindToController=!0,this.template=n.default}link(e,t,i,n){const o=n._getItemTemplate(i.type),r=this.$compile(o)(e);return n.init(),r}}r.$inject=["$compile"]},"./src/lib/directives/form-items-container/form-items-container.controller.js":(e,t,i)=>{i.r(t),i.d(t,{FormItemsContainerCtrl:()=>n});class n{constructor(){this.form={items:[]}}delete(e,t){this.form.items.splice(t,1)}up(e,t){if(0!==t){const i=this.form.items[t-1];this.form.items[t]=i,this.form.items[t-1]=e}}down(e,t){if(t!==this.form.items.length-1){const i=this.form.items[t+1];this.form.items[t]=i,this.form.items[t+1]=e}}}n.$inject=[]},"./src/lib/directives/form-items-container/form-items-container.directive.js":(e,t,i)=>{i.r(t),i.d(t,{FormItemsContainer:()=>r});var n=i("./src/lib/directives/form-items-container/form-items-container.controller.js"),o=i("./src/lib/directives/form-items-container/form-items-container.tpl.html");class r{constructor(){this.restrict="E",this.scope={form:"="},this.template=o.default,this.controller=n.FormItemsContainerCtrl,this.controllerAs="container",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/form-view/form-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{FormViewCtrl:()=>n});class n{constructor(e){this.Scope=e}init(){}}n.$inject=["$scope"]},"./src/lib/directives/form-view/form-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{FormView:()=>r});var n=i("./src/lib/directives/form-view/form-view.controller.js"),o=i("./src/lib/directives/form-view/form-view.tpl.html");class r{constructor(){this.restrict="E",this.template=o.default,this.scope={form:"="},this.controller=n.FormViewCtrl,this.controllerAs="FormView",this.bindToController=!0}link(e,t,i,n){n.init()}}r.$inject=[]},"./src/lib/directives/input-item/input-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{InputItemCtrl:()=>n});class n{constructor(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{type:"text"}})}}n.$inject=["Utils","$element"]},"./src/lib/directives/input-item/input-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{InputItem:()=>r});var n=i("./src/lib/directives/input-item/input-item.controller.js"),o=i("./src/lib/directives/input-item/input-item.tpl.html");class r{constructor(){this.restrict="E",this.template=o.default,this.scope={item:"="},this.controller=n.InputItemCtrl,this.controllerAs="Input",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/input-item/input-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{InputViewCtrl:()=>n});class n{constructor(e){this.Utils=e,this.formItem={}}init(){this.Utils.extend(this.formItem,{config:{}})}}n.$inject=["Utils"]},"./src/lib/directives/input-item/input-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{InputView:()=>r});var n=i("./src/lib/directives/input-item/input-view.controller.js"),o=i("./src/lib/directives/input-item/input-view.tpl.html");class r{constructor(e){this.$timeout=e,this.restrict="E",this.template=o.default,this.scope={formItem:"=",form:"="},this.controller=n.InputViewCtrl,this.controllerAs="InputView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/label-item/label-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{LabelItemCtrl:()=>n});class n{constructor(e){this.Element=e}}n.$inject=["$element"]},"./src/lib/directives/label-item/label-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{LabelItem:()=>r});var n=i("./src/lib/directives/label-item/label-item.controller.js"),o=i("./src/lib/directives/label-item/label-item.tpl.html");class r{constructor(){this.restrict="E",this.template=o.default,this.scope={item:"="},this.controller=n.LabelItemCtrl,this.controllerAs="Label",this.bindToController=!0}}},"./src/lib/directives/label-item/label-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{LabelViewCtrl:()=>n});class n{constructor(e){this.Utils=e}init(){this.Utils.extend(this.formItem,{})}}n.$inject=["Utils"]},"./src/lib/directives/label-item/label-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{LabelView:()=>r});var n=i("./src/lib/directives/label-item/label-view.controller.js"),o=i("./src/lib/directives/label-item/label-view.tpl.html");class r{constructor(e){this.$timeout=e,this.restrict="E",this.template=o.default,this.scope={formItem:"=",form:"="},this.controller=n.LabelViewCtrl,this.controllerAs="LabelView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/matrix-item/matrix-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{MatrixItemCtrl:()=>n});class n{constructor(e,t){this.RowContainer=angular.element(t[0].querySelector(".rowContainer")),this.ColumnContainer=angular.element(t[0].querySelector(".columnContainer")),this.item=e.extend(this.item||{},{config:{rows:[{value:""}],columns:[{value:""}]}})}deleteRow(e){this.item.config.rows.splice(e,1)}addRow(){this.item.config.rows.push({value:""}),setTimeout(function(){const e=this.RowContainer.find("input");e[e.length-1].focus()}.bind(this),0)}deleteColumn(e){this.item.config.columns.splice(e,1)}addColumn(){this.item.config.columns.push({value:""}),setTimeout((()=>{const e=this.ColumnContainer.find("input");e[e.length-1].focus()}),0)}}n.$inject=["Utils","$document"]},"./src/lib/directives/matrix-item/matrix-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{MatrixItem:()=>r});var n=i("./src/lib/directives/matrix-item/matrix-item.controller.js"),o=i("./src/lib/directives/matrix-item/matrix-item.tpl.html");class r{constructor(){this.restrict="E",this.template=o.default,this.scope={item:"="},this.controller=n.MatrixItemCtrl,this.controllerAs="Matrix",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/matrix-item/matrix-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{MatrixViewCtrl:()=>n});class n{constructor(e,t){this.Scope=e,this.Utils=t,this.isValid=!0,this.formItem={}}init(){this.formItem=this.Utils.extend(this.formItem,{config:{rows:[],columns:[]}}),this._updateValidity(),this.isPreview()&&this._enableWatchers()}_updateValidity(){let e=!0;this.formItem.config.required&&(e=!this.formItem.config.rows.some((e=>void 0===e.selected))),this.isValid=e,this.form.$setValidity("required",this.isValid)}_enableWatchers(){this.Scope.$watchGroup(["MatrixView.formItem.config.required","MatrixView.formItem.config.rows.length"],(e=>{void 0!==e&&this._updateValidity()}))}}n.$inject=["$scope","Utils"]},"./src/lib/directives/matrix-item/matrix-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{MatrixView:()=>r});var n=i("./src/lib/directives/matrix-item/matrix-view.tpl.html"),o=i("./src/lib/directives/matrix-item/matrix-view.controller.js");class r{constructor(e){this.$timeout=e,this.restrict="E",this.template=n.default,this.scope={formItem:"=",isPreview:"&",form:"="},this.controller=o.MatrixViewCtrl,this.controllerAs="MatrixView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/radio-button-item/radio-button-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{RadioButtonItemCtrl:()=>n});class n{constructor(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{},options:[{value:""}]})}deleteOption(e){this.item.options.splice(e,1)}addOption(){this.item.options.push({value:""}),setTimeout((()=>{const e=this.Element.find("input");e[e.length-1].focus()}),0)}}n.$inject=["Utils","$element"]},"./src/lib/directives/radio-button-item/radio-button-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{RadioButtonItem:()=>r});var n=i("./src/lib/directives/radio-button-item/radio-button-item.controller.js"),o=i("./src/lib/directives/radio-button-item/radio-button-item.tpl.html");class r{constructor(){this.restrict="E",this.template=o.default,this.scope={item:"="},this.controller=n.RadioButtonItemCtrl,this.controllerAs="RadioButton",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/radio-button-item/radio-button-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{RadioButtonViewCtrl:()=>n});class n{constructor(e){this.Utils=e,this.formItem={}}init(){this.formItem=this.Utils.extend(this.formItem,{config:{},options:[]})}}n.$inject=["Utils"]},"./src/lib/directives/radio-button-item/radio-button-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{RadioButtonView:()=>r});var n=i("./src/lib/directives/radio-button-item/radio-button-view.controller.js"),o=i("./src/lib/directives/radio-button-item/radio-button-view.tpl.html");class r{constructor(e){this.$timeout=e,this.restrict="E",this.template=o.default,this.scope={formItem:"=",isPreview:"&",form:"="},this.controller=n.RadioButtonViewCtrl,this.controllerAs="RadioButtonView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/select-item/select-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{SelectItemCtrl:()=>n});class n{constructor(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{},options:[{value:""}]})}deleteOption(e){this.item.options.splice(e,1)}addOption(){this.item.options.push({value:""}),setTimeout((()=>{const e=this.Element.find("input");e[e.length-1].focus()}),0)}}n.$inject=["Utils","$element"]},"./src/lib/directives/select-item/select-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{SelectItem:()=>r});var n=i("./src/lib/directives/select-item/select-item.tpl.html"),o=i("./src/lib/directives/select-item/select-item.controller.js");class r{constructor(){this.restrict="E",this.template=n.default,this.scope={item:"="},this.controller=o.SelectItemCtrl,this.controllerAs="Select",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/select-item/select-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{SelectViewCtrl:()=>n});class n{constructor(e){this.Utils=e,this.formItem={}}init(){this.formItem=this.Utils.extend(this.formItem,{config:{},options:[]})}}n.$inject=["Utils"]},"./src/lib/directives/select-item/select-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{SelectView:()=>r});var n=i("./src/lib/directives/select-item/select-view.tpl.html"),o=i("./src/lib/directives/select-item/select-view.controller.js");class r{constructor(e){this.$timeout=e,this.restrict="E",this.template=n.default,this.scope={formItem:"=",isPreview:"&",form:"="},this.controller=o.SelectViewCtrl,this.controllerAs="SelectView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/textarea-item/textarea-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{TextareaItemCtrl:()=>n});class n{constructor(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{}})}}n.$inject=["Utils","$element"]},"./src/lib/directives/textarea-item/textarea-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{TextareaItem:()=>r});var n=i("./src/lib/directives/textarea-item/textarea-item.controller.js"),o=i("./src/lib/directives/textarea-item/textarea-item.tpl.html");class r{constructor(){this.restrict="E",this.template=o.default,this.scope={item:"="},this.controller=n.TextareaItemCtrl,this.controllerAs="Textarea",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/textarea-item/textarea-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{TextareaViewCtrl:()=>n});class n{constructor(e){this.Utils=e,this.formItem={}}init(){this.formItem=this.Utils.extend(this.formItem,{config:{}})}}n.$inject=["Utils"]},"./src/lib/directives/textarea-item/textarea-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{TextareaView:()=>r});var n=i("./src/lib/directives/textarea-item/textarea-view.controller.js"),o=i("./src/lib/directives/textarea-item/textarea-view.tpl.html");class r{constructor(e){this.$timeout=e,this.scope={formItem:"=",form:"="},this.restrict="E",this.template=o.default,this.controller=n.TextareaViewCtrl,this.controllerAs="TextareaView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50)}}r.$inject=["$timeout"]},"./src/lib/directives/upload-item/upload-item.controller.js":(e,t,i)=>{i.r(t),i.d(t,{UploadItemCtrl:()=>n});class n{constructor(e,t){this.Element=t,this.item=e.extend(this.item||{},{config:{},options:[]})}}n.$inject=["Utils","$element"]},"./src/lib/directives/upload-item/upload-item.directive.js":(e,t,i)=>{i.r(t),i.d(t,{UploadItem:()=>r});var n=i("./src/lib/directives/upload-item/upload-item.tpl.html"),o=i("./src/lib/directives/upload-item/upload-item.controller.js");class r{constructor(){this.restrict="E",this.template=n.default,this.scope={item:"="},this.controller=o.UploadItemCtrl,this.controllerAs="Upload",this.bindToController=!0}}r.$inject=[]},"./src/lib/directives/upload-item/upload-view.controller.js":(e,t,i)=>{i.r(t),i.d(t,{UploadViewCtrl:()=>n});class n{constructor(e,t,i){this.Scope=e,this.Element=i,this.Utils=t,this.formItem={}}init(){this.isMultiple=!1,this.showAllowed=!1,this.formItem=this.Utils.extend(this.formItem||{},{config:{size:10,uploadFileButtonLabel:"Add files"},options:[]}),this.isPreview()&&this._enableWatchers()}_updateMultiple(){this.isMultiple=!!this.formItem.config.multipleUpload;const e=angular.element(this.Element[0].querySelector("input[type=file]"));e&&(this.formItem.options=[],this.isMultiple?e.attr("multiple","multiple"):e.removeAttr("multiple"))}_updateAccept(){this.showAllowed=!!this.formItem.config.showAccept;const e=angular.element(this.Element[0].querySelector("input[type=file]"));e&&(this.showAllowed?e[0].setAttribute("accept",this.formItem.config.accept):(e[0].removeAttribute("accept"),delete this.formItem.config.accept))}_enableWatchers(){this.Scope.$watch("UploadView.formItem.config.multipleUpload",(e=>{void 0!==e&&this._updateMultiple()})),this.Scope.$watch("UploadView.formItem.config.showAccept",(e=>{void 0!==e&&this._updateAccept()})),this.Scope.$watch("UploadView.formItem.config.accept",(e=>{void 0!==e&&this._updateAccept()}))}removeItem(e){this.formItem.options.splice(e,1)}}n.$inject=["$scope","Utils","$element"]},"./src/lib/directives/upload-item/upload-view.directive.js":(e,t,i)=>{i.r(t),i.d(t,{UploadView:()=>r});var n=i("./src/lib/directives/upload-item/upload-view.controller.js"),o=i("./src/lib/directives/upload-item/upload-view.tpl.html");class r{constructor(e){this.$timeout=e,this.template=o.default,this.restrict="E",this.scope={formItem:"=",isPreview:"&",form:"="},this.controller=n.UploadViewCtrl,this.controllerAs="UploadView",this.bindToController=!0}link(e,t,i,n){this.$timeout((function(){n.init()}),50);const o=angular.element(t[0].querySelector(".upload-button")),r=angular.element(t[0].querySelector("input[type=file]")),s=angular.element(t[0].querySelector("label"));s.length&&s.css("display","none"),o.on("click",(()=>{s.css("display","none"),"function"==typeof r.trigger?r.trigger("click"):r[0].click()})),r.on("change",(t=>{e.$apply((function(){const e=Array.from(t.target.files),i=1048576*n.formItem.config.size;e.some((e=>e.size>=i))?(s.css("display","block"),s.text(n.formItem.config.sizeErrMessage),n.formItem.options=[]):n.formItem.options=e.map((e=>{const{name:t,size:i,type:n}=e;return{name:t,size:i,type:n,file:e}}))}))}))}}r.$inject=["$timeout"]},"./src/lib/index.module.js":(e,t,i)=>{i.r(t),i.d(t,{default:()=>y});i("./src/lib/index.scss");var n=i("./src/lib/directives/upload-item/upload-item.directive.js"),o=i("./src/lib/directives/upload-item/upload-view.directive.js"),r=i("./src/lib/directives/agreement-item/agreement-item.directive.js"),s=i("./src/lib/directives/agreement-item/agreement-view.directive.js"),l=i("./src/lib/main/main.controller.js"),m=i("./src/lib/utils/utils.service.js"),c=i("./src/lib/directives/checkboxes-item/checkboxes-item.directive.js"),a=i("./src/lib/directives/checkboxes-item/checkboxes-view.directive.js"),d=i("./src/lib/directives/form-item/form-item.directive.js"),u=i("./src/lib/directives/form-items-container/form-items-container.directive.js"),p=i("./src/lib/directives/form-view/form-view.directive.js"),h=i("./src/lib/directives/input-item/input-item.directive.js"),b=i("./src/lib/directives/input-item/input-view.directive.js"),v=i("./src/lib/directives/label-item/label-item.directive.js"),f=i("./src/lib/directives/label-item/label-view.directive.js"),g=i("./src/lib/directives/matrix-item/matrix-item.directive.js"),w=i("./src/lib/directives/matrix-item/matrix-view.directive.js"),x=i("./src/lib/directives/radio-button-item/radio-button-item.directive.js"),I=i("./src/lib/directives/radio-button-item/radio-button-view.directive.js"),k=i("./src/lib/directives/select-item/select-view.directive.js"),V=i("./src/lib/directives/select-item/select-item.directive.js"),j=i("./src/lib/directives/textarea-item/textarea-item.directive.js"),$=i("./src/lib/directives/textarea-item/textarea-view.directive.js");const y=angular.module("angularMaterialFormBuilder",["ngMaterial","angular-sortable-view","ngMessages"]).service("Utils",m.Utils).controller("MainController",l.MainController).directive("uploadItem",n.UploadItem).directive("uploadView",o.UploadView).directive("agreementItem",r.AgreementItem).directive("agreementView",s.AgreementView).directive("checkboxesItem",c.CheckboxesItem).directive("checkboxesView",a.CheckboxesView).directive("formItem",d.FormItem).directive("formItemsContainer",u.FormItemsContainer).directive("formView",p.FormView).directive("inputItem",h.InputItem).directive("inputView",b.InputView).directive("labelItem",v.LabelItem).directive("labelView",f.LabelView).directive("matrixItem",g.MatrixItem).directive("matrixView",w.MatrixView).directive("radioButtonItem",x.RadioButtonItem).directive("radioButtonView",I.RadioButtonView).directive("selectItem",V.SelectItem).directive("selectView",k.SelectView).directive("textareaItem",j.TextareaItem).directive("textareaView",$.TextareaView)},"./src/lib/main/main.controller.js":(e,t,i)=>{i.r(t),i.d(t,{MainController:()=>n});class n{constructor(){this.form={items:[]}}addItem(e){this.form.items.push({type:e})}delete(e,t){this.form.items.splice(t,1)}up(e,t){if(0!==t){const i=this.form.items[t-1];this.form.items[t]=i,this.form.items[t-1]=e}}down(e,t){if(t!==this.form.items.length-1){const i=this.form.items[t+1];this.form.items[t]=i,this.form.items[t+1]=e}}}n.$inject=[]},"./src/lib/utils/utils.service.js":(e,t,i)=>{i.r(t),i.d(t,{Utils:()=>n});class n{extend(e,t){return Object.keys(t).reduce(((e,i)=>(void 0===e[i]?e[i]=t[i]:"object"==typeof t[i]&&(e[i]=this.extend(e[i],t[i])),e)),void 0===e?{}:e)}}},"./src/lib/index.scss":(e,t,i)=>{i.r(t)},"./src/lib/directives/agreement-item/agreement-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container>\n <div\n layout="{{AgreementView.formItem.config.direction == \'horizontal\' ? \'row\' : \'columb\'}}"\n >\n <md-checkbox\n ng-model="AgreementView.formItem.options[0].selected"\n ng-change="AgreementView.toggleSelectedOption(option)"\n ng-disabled="AgreementView.disableOptions && !option.selected"\n aria-label="..."\n >{{AgreementView.formItem.options[0].value}}</md-checkbox\n >\n </div>\n\n <div ng-messages="AgreementView.form.$error">\n <div ng-message="minSelections">\n Must select {{AgreementView.formItem.maxSelections || 1}} items\n </div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div\n class="sortable-container"\n layout="column"\n sv-root\n sv-part="Checkboxes.item.options"\n>\n <md-input-container class="md-block">\n <label>Max Selections</label>\n <input type="number" ng-model="Checkboxes.item.config.maxSelections" />\n </md-input-container>\n\n <md-switch\n ng-model="Checkboxes.item.config.direction"\n ng-true-value="\'horizontal\'"\n ng-false-value="\'vertical\'"\n >\n Layout direction ({{Checkboxes.item.config.direction == \'horizontal\' ?\n \'Horizontal\' : \'Vertical\'}})\n </md-switch>\n\n <div\n class="option-item"\n layout="row"\n ng-repeat="option in Checkboxes.item.options track by $index"\n sv-element\n >\n <md-button\n class="md-button handle"\n md-no-ink\n aria-label="reorder option item"\n sv-handle\n >\n <md-icon class="material-icons">reorder</md-icon>\n </md-button>\n\n <md-input-container class="md-block">\n <label>Option {{$index + 1}}</label>\n <input ng-model="option.value" />\n </md-input-container>\n\n <md-button class="md-button" ng-click="Checkboxes.deleteOption($index)">\n <md-icon class="material-icons">delete</md-icon>\n </md-button>\n </div>\n <div layout="row" layout-align="start">\n <md-button\n class="md-primary add-option-button"\n ng-click="Checkboxes.addOption()"\n >\n <md-icon class="material-icons">add</md-icon>\n </md-button>\n </div>\n</div>\n'},"./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container>\n <div\n layout="{{CheckboxesView.formItem.config.direction == \'horizontal\' ? \'row\' : \'column\'}}"\n >\n <md-checkbox\n ng-repeat="option in CheckboxesView.formItem.options track by $index"\n ng-model="option.selected"\n ng-change="CheckboxesView.toggleSelectedOption(option)"\n ng-disabled="CheckboxesView.disableOptions && !option.selected"\n aria-label="..."\n >{{option.value}}</md-checkbox\n >\n </div>\n\n <div ng-messages="CheckboxesView.form.$error">\n <div ng-message="minSelections">\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\n </div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/form-item/form-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div class="form-item-container md-inline-form">\n <div class="form-item-actions">\n <md-button\n class="md-button"\n ng-if="FormItem.Attrs.onDelete"\n ng-click="FormItem.deleteClicked()"\n >\n <md-icon class="material-icons small">delete</md-icon>\n </md-button>\n <md-button\n class="md-button"\n ng-if="FormItem.Attrs.onUp"\n ng-click="FormItem.onUp({item: FormItem.item, index: FormItem.index()})"\n >\n <md-icon class="material-icons small">arrow_drop_up</md-icon>\n </md-button>\n <md-button\n class="md-button"\n ng-if="FormItem.Attrs.onDown"\n ng-click="FormItem.onDown({item: FormItem.item, index: FormItem.index()})"\n >\n <md-icon class="material-icons small">arrow_drop_down</md-icon>\n </md-button>\n </div>\n\n <md-input-container ng-if="FormItem.item.type != \'label\'" class="md-block">\n <label>Field Title</label>\n <input ng-model="FormItem.item.props.title" />\n </md-input-container>\n\n <md-input-container ng-if="FormItem.item.type != \'label\'" class="md-block">\n <label>Help Text</label>\n <input ng-model="FormItem.item.props.helpText" />\n </md-input-container>\n\n <md-input-container\n ng-if="FormItem.item.type === \'agreement\'"\n class="md-block"\n >\n <label>Option Text</label>\n <input ng-model="FormItem.item.options[0].value" />\n </md-input-container>\n\n <div ng-switch="FormItem.item.type">\n <upload-item ng-switch-when="upload" item="FormItem.item"></upload-item>\n <agreement-item\n ng-switch-when="agreement"\n item="FormItem.item"\n ></agreement-item>\n <label-item ng-switch-when="label" item="FormItem.item"></label-item>\n <input-item ng-switch-when="input" item="FormItem.item"></input-item>\n <radio-button-item\n ng-switch-when="multipleChoices"\n item="FormItem.item"\n ></radio-button-item>\n <matrix-item ng-switch-when="matrix" item="FormItem.item"></matrix-item>\n <checkboxes-item\n ng-switch-when="checkboxes"\n item="FormItem.item"\n ></checkboxes-item>\n <textarea-item\n ng-switch-when="textarea"\n item="FormItem.item"\n ></textarea-item>\n <select-item\n ng-switch-when="chooseFromList"\n item="FormItem.item"\n ></select-item>\n <p ng-switch-default>UNKNOWN TYPE</p>\n </div>\n\n <md-input-container\n ng-if="FormItem.item.type != \'label\' && FormItem.item.type != \'upload\'"\n class="md-block"\n >\n <md-checkbox ng-model="FormItem.item.config.required"\n >Required field</md-checkbox\n >\n </md-input-container>\n</div>\n'},"./src/lib/directives/form-items-container/form-items-container.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div>\n <form-item\n ng-repeat="item in container.form.items track by $index"\n type="{{item.type}}"\n item="item"\n index="$index"\n on-delete="container.delete(item, index)"\n on-up="container.up(item, index)"\n on-down="container.down(item, index)"\n >\n </form-item>\n</div>\n'},"./src/lib/directives/form-view/form-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div class="md-inline-form">\n <div\n class="formItem"\n ng-repeat="formItem in FormView.form.items track by $index"\n ng-switch="formItem.type"\n layout="column"\n >\n <ng-form name="formItemForm">\n <div>\n <div class="formItem-title">{{formItem.props.title}}</div>\n <div class="formItem-help-text">{{formItem.props.helpText}}</div>\n\n <upload-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="upload"\n ></upload-view>\n <agreement-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="agreement"\n ></agreement-view>\n <checkboxes-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="checkboxes"\n ></checkboxes-view>\n <radio-button-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="multipleChoices"\n ></radio-button-view>\n <input-view\n form-item="formItem"\n form="formItemForm"\n ng-switch-when="input"\n ></input-view>\n <textarea-view\n form-item="formItem"\n form="formItemForm"\n ng-switch-when="textarea"\n ></textarea-view>\n <matrix-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="matrix"\n ></matrix-view>\n <select-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="chooseFromList"\n ></select-view>\n <label-view\n form-item="formItem"\n is-preview="true"\n form="formItemForm"\n ng-switch-when="label"\n ></label-view>\n </div>\n </ng-form>\n </div>\n</div>\n'},"./src/lib/directives/input-item/input-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <label>Placeholder</label>\n <input type="text" ng-model="Input.item.config.placeholder" />\n</md-input-container>\n<md-input-container class="md-block">\n <label>Type</label>\n <md-select ng-model="Input.item.config.type">\n <md-option value="text">Text</md-option>\n <md-option value="number">Number</md-option>\n <md-option value="email">Email</md-option>\n </md-select>\n</md-input-container>\n'},"./src/lib/directives/input-item/input-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <input\n ng-model="InputView.formItem.value"\n type="{{InputView.formItem.config.type}}"\n placeholder="{{InputView.formItem.config.placeholder}}"\n ng-required="InputView.formItem.config.required"\n />\n <div ng-messages="InputView.form.$error">\n <div ng-message="required">This field is required</div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/label-item/label-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <label>Text</label>\n <textarea ng-model="Label.item.value" md-maxlength="150" rows="5"></textarea>\n</md-input-container>\n'},"./src/lib/directives/label-item/label-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <md-content flex layout-padding layout="row" layout-align="center center">\n <pre>\n <span class="formItem-content">{{LabelView.formItem.value}}</span>\n </pre>\n </md-content>\n</md-input-container>\n'},"./src/lib/directives/matrix-item/matrix-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div\n class="sortable-container columnContainer"\n layout="column"\n sv-root\n sv-part="Matrix.item.config.columns"\n>\n <div\n class="option-item"\n layout="row"\n ng-repeat="column in Matrix.item.config.columns track by $index"\n sv-element\n >\n <md-button\n class="md-button handle"\n md-no-ink\n aria-label="reorder option item"\n sv-handle\n >\n <md-icon class="material-icons">reorder</md-icon>\n </md-button>\n\n <md-input-container class="input-container">\n <label>Column {{$index + 1}}</label>\n <input ng-model="column.value" />\n </md-input-container>\n\n <md-button\n class="md-button"\n md-no-ink\n aria-label="delete column item"\n ng-click="Matrix.deleteColumn($index)"\n >\n <md-icon class="material-icons">delete</md-icon>\n <md-tooltip md-autohide="true">Delete</md-tooltip>\n </md-button>\n </div>\n <div layout="row" layout-align="start">\n <md-button\n class="md-primary add-option-button"\n md-no-ink\n aria-label="add option item"\n ng-click="Matrix.addColumn()"\n >Add Column</md-button\n >\n </div>\n</div>\n\n<div\n class="sortable-container rowContainer"\n layout="column"\n sv-root\n sv-part="Matrix.item.config.rows"\n>\n <div\n class="option-item"\n layout="row"\n ng-repeat="row in Matrix.item.config.rows track by $index"\n sv-element\n >\n <md-button\n class="md-button handle"\n md-no-ink\n aria-label="reorder row item"\n sv-handle\n >\n <md-icon class="material-icons">reorder</md-icon>\n </md-button>\n\n <md-input-container class="input-container">\n <label>Row {{$index + 1}}</label>\n <input ng-model="row.value" />\n </md-input-container>\n\n <md-button\n class="md-button"\n md-no-ink\n aria-label="delete row item"\n ng-click="Matrix.deleteRow($index)"\n >\n <md-icon class="material-icons">delete</md-icon>\n <md-tooltip md-autohide="true">Delete</md-tooltip>\n </md-button>\n </div>\n <div layout="row" layout-align="start">\n <md-button\n class="md-primary add-option-button"\n md-no-ink\n aria-label="add row item"\n ng-click="Matrix.addRow()"\n >Add row</md-button\n >\n </div>\n</div>\n'},"./src/lib/directives/matrix-item/matrix-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="matrix-container md-block" layout="column">\n <div class="matrix">\n <div class="matrix-row" flex layout="row">\n <span class="matrix-cell" flex="20"></span>\n <span\n class="matrix-cell matrix-cell-header"\n flex\n ng-repeat="column in MatrixView.formItem.config.columns track by $index"\n >{{column.value}}</span\n >\n </div>\n <div\n class="matrix-row"\n ng-repeat="row in MatrixView.formItem.config.rows track by $index"\n layout="row"\n >\n <span class="matrix-cell" flex="20" layout="column" layout-align="center"\n >{{row.value}}</span\n >\n <md-radio-group\n ng-model="row.selected"\n ng-change="MatrixView._updateValidity()"\n flex\n layout="row"\n >\n <span\n class="matrix-cell radio-button-cell"\n flex\n ng-repeat="column in MatrixView.formItem.config.columns track by $index"\n >\n <md-radio-button\n value="{{column.value}}"\n aria-label="..."\n ></md-radio-button>\n </span>\n </md-radio-group>\n </div>\n </div>\n\n <div ng-messages="MatrixView.form.$error">\n <div ng-message="required">This is required</div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/radio-button-item/radio-button-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div\n class="sortable-container"\n layout="column"\n sv-root\n sv-part="RadioButton.item.options"\n>\n <md-switch\n ng-model="RadioButton.item.config.direction"\n ng-true-value="\'horizontal\'"\n ng-false-value="\'vertical\'"\n >\n Layout direction ({{RadioButton.item.config.direction == \'horizontal\' ?\n \'Horizontal\' : \'Vertical\'}})\n </md-switch>\n\n <div\n class="option-item"\n layout="row"\n ng-repeat="option in RadioButton.item.options track by $index"\n sv-element\n >\n <md-button\n class="md-button handle"\n md-no-ink\n aria-label="reorder option item"\n sv-handle\n >\n <md-icon class="material-icons">reorder</md-icon>\n </md-button>\n\n <md-input-container class="md-block">\n <label>Option {{$index + 1}}</label>\n <input ng-model="option.value" />\n </md-input-container>\n\n <md-button\n class="md-button md-warn"\n ng-click="RadioButton.deleteOption($index)"\n >\n <md-icon class="material-icons">delete</md-icon>\n </md-button>\n </div>\n\n <md-button class="md-raised md-accent" ng-click="RadioButton.addOption()"\n >Add Option</md-button\n >\n</div>\n'},"./src/lib/directives/radio-button-item/radio-button-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <md-radio-group\n name="formItemInput"\n ng-required="RadioButtonView.formItem.config.required"\n ng-model="RadioButtonView.formItem.value"\n layout="{{RadioButtonView.formItem.config.direction == \'horizontal\' ? \'row\' : \'column\'}}"\n required\n >\n <md-radio-button\n ng-repeat="option in RadioButtonView.formItem.options track by $index"\n value="{{option.value}}"\n aria-label="..."\n >\n {{option.value}}\n </md-radio-button>\n </md-radio-group>\n\n <div ng-messages="RadioButtonView.form.$error">\n <div ng-message="required">This field is required</div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/select-item/select-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div\n class="sortable-container"\n layout="column"\n sv-root\n sv-part="Select.item.options"\n>\n <div\n class="option-item"\n layout="row"\n ng-repeat="option in Select.item.options track by $index"\n sv-element\n >\n <md-button\n class="md-button handle"\n md-no-ink\n aria-label="reorder option item"\n sv-handle\n >\n <md-icon class="material-icons">reorder</md-icon>\n </md-button>\n\n <md-input-container class="md-block">\n <label>Option {{$index + 1}}</label>\n <input ng-model="option.value" />\n </md-input-container>\n\n <md-button class="md-button md-warn" ng-click="Select.deleteOption($index)">\n <md-icon class="material-icons">delete</md-icon>\n </md-button>\n </div>\n\n <md-button class="md-raised md-accent" ng-click="Select.addOption()"\n >Add Option</md-button\n >\n</div>\n'},"./src/lib/directives/select-item/select-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <md-select\n name="formItemInput"\n ng-required="SelectView.formItem.config.required"\n ng-model="SelectView.formItem.value"\n >\n <md-option\n ng-repeat="option in SelectView.formItem.options track by $index"\n ng-value="option.value"\n >{{ option.value }}</md-option\n >\n </md-select>\n <div ng-messages="SelectView.form.$error">\n <div ng-message="required">This field is required</div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/textarea-item/textarea-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <label>Placeholder</label>\n <input type="text" ng-model="Textarea.item.config.placeholder" />\n</md-input-container>\n'},"./src/lib/directives/textarea-item/textarea-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<md-input-container class="md-block">\n <textarea\n ng-model="TextareaView.formItem.value"\n placeholder="{{TextareaView.formItem.config.placeholder}}"\n ng-required="TextareaView.formItem.config.required"\n ></textarea>\n <div ng-messages="TextareaView.form.$error">\n <div ng-message="required">This field is required</div>\n </div>\n</md-input-container>\n'},"./src/lib/directives/upload-item/upload-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div\n class="sortable-container"\n layout="column"\n sv-root\n sv-part="Upload.item.options"\n>\n <md-input-container class="md-block">\n <label>Upload Button label</label>\n <input ng-model="Upload.item.config.uploadFileButtonLabel" />\n </md-input-container>\n\n <md-switch\n ng-model="Upload.item.config.multipleUpload"\n ng-true-value="true"\n ng-false-value="false"\n >\n Multiple\n </md-switch>\n\n <md-input-container class="md-block">\n <span>Max File size: {{Upload.item.config.size}} Mb</span>\n <input\n type="number"\n id="size"\n name="size"\n min="0.1"\n max="999"\n step="0.1"\n aria-label="size"\n ng-model="Upload.item.config.size"\n />\n </md-input-container>\n\n <md-input-container class="md-block">\n <label>Max file size error message</label>\n <textarea\n ng-model="Upload.item.config.sizeErrMessage"\n md-maxlength="150"\n rows="2"\n ></textarea>\n </md-input-container>\n\n <md-switch\n ng-model="Upload.item.config.showAccept"\n ng-true-value="true"\n ng-false-value="false"\n >\n Configure allowed file types\n </md-switch>\n\n <md-input-container class="md-block" ng-if="Upload.item.config.showAccept">\n <label>Allowed Types</label>\n <textarea\n ng-model="Upload.item.config.accept"\n md-maxlength="150"\n rows="2"\n ></textarea>\n </md-input-container>\n</div>\n'},"./src/lib/directives/upload-item/upload-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='<div layout="row" class="option-item upload-item">\n <md-input-container class="md-block" style="margin: 0">\n <input type="file" class="ng-hide" aria-label="file" />\n <md-input-container flex class="md-block">\n <input\n type="text"\n ng-model="fileName"\n class="ng-hide"\n disabled\n aria-label="fileName"\n />\n </md-input-container>\n </md-input-container>\n\n <md-button class="md-raised md-accent upload-button"\n ><md-icon class="material-icons">attach_file</md-icon\n ><span\n >{{UploadView.formItem.config.uploadFileButtonLabel}}</span\n ></md-button\n >\n</div>\n\n<div>\n <label></label>\n <div\n style="display: grid; grid-template-columns: 8em auto; align-items: center"\n layout="row"\n ng-repeat="option in UploadView.formItem.options track by $index"\n >\n <md-button ng-click="UploadView.removeItem($index)" class="md-icon-button">\n <md-icon class="material-icons">close</md-icon>\n </md-button>\n <span>{{option.name}}</span>\n </div>\n</div>\n'}},t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}return i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i("./src/lib/index.module.js")})()}));