From 075fa06ac5fd5407e2e8ca5480f6a8e55c091bb5 Mon Sep 17 00:00:00 2001 From: Vito Macchia Date: Tue, 14 Dec 2021 11:48:16 +0100 Subject: [PATCH] update dist --- dist/angular-material-form-builder.js | 4 ++-- dist/angular-material-form-builder.js.map | 2 +- dist/angular-material-form-builder.min.js | 2 +- dist/angular-material-form-builder.min.js.map | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dist/angular-material-form-builder.js b/dist/angular-material-form-builder.js index 0242e53..5fde700 100644 --- a/dist/angular-material-form-builder.js +++ b/dist/angular-material-form-builder.js @@ -2438,7 +2438,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\n \n \n\n"); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\n \n \n\n"); /***/ }), @@ -2452,7 +2452,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\n \n
\n      \n      \n    
\n
\n
\n"); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\n \n \n \n\n"); /***/ }), diff --git a/dist/angular-material-form-builder.js.map b/dist/angular-material-form-builder.js.map index 1c294e9..a33cacf 100644 --- a/dist/angular-material-form-builder.js.map +++ b/dist/angular-material-form-builder.js.map @@ -1 +1 @@ -{"version":3,"file":"angular-material-form-builder.js","mappings":"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","sources":["webpack://angular-material-form-builder/webpack/universalModuleDefinition","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.directive.js","webpack://angular-material-form-builder/./src/lib/main/main.controller.js","webpack://angular-material-form-builder/./src/lib/utils/utils.service.js","webpack://angular-material-form-builder/./src/lib/index.scss?f8d6","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.tpl.html","webpack://angular-material-form-builder/webpack/bootstrap","webpack://angular-material-form-builder/webpack/runtime/define property getters","webpack://angular-material-form-builder/webpack/runtime/hasOwnProperty shorthand","webpack://angular-material-form-builder/webpack/runtime/make namespace object","webpack://angular-material-form-builder/./src/lib/index.module.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular-material-form-builder\"] = factory();\n\telse\n\t\troot[\"angular-material-form-builder\"] = factory();\n})(self, function() {\nreturn ","/**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\nfunction AgreementItemCtrl(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n}\n\nexport { AgreementItemCtrl }\n","import { AgreementItemCtrl } from './agreement-item.controller'\n// import AgreementItemTemplate from './agreement-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass AgreementItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n item: '=',\n }\n this.controller = AgreementItemCtrl\n this.controllerAs = 'Agreement'\n this.bindToController = true\n }\n}\n\nexport { AgreementItem }\n","class AgreementViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('AgreementView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { AgreementViewCtrl }\n","import { AgreementViewCtrl } from './agreement-view.controller'\nimport AgreementViewTemplate from './agreement-view.tpl.html'\n\nclass AgreementView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = AgreementViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = AgreementViewCtrl\n this.controllerAs = 'AgreementView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {AgreementViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { AgreementView }\n","class CheckboxesItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n selected: false,\n })\n // Focus new element\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { CheckboxesItemCtrl }\n","import CheckboxesItemTemplate from './checkboxes-item.tpl.html'\nimport { CheckboxesItemCtrl } from './checkboxes-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nfunction CheckboxesItem() {\n const directive = {\n restrict: 'E',\n template: CheckboxesItemTemplate,\n scope: {\n item: '=',\n },\n controller: CheckboxesItemCtrl,\n controllerAs: 'Checkboxes',\n bindToController: true,\n }\n\n return directive\n}\n\nexport { CheckboxesItem }\n","class CheckboxesViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('CheckboxesView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { CheckboxesViewCtrl }\n","import CheckboxesViewTemplate from './checkboxes-view.tpl.html'\nimport { CheckboxesViewCtrl } from './checkboxes-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass CheckboxesView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = CheckboxesViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = CheckboxesViewCtrl\n this.controllerAs = 'CheckboxesView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {CheckboxesViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { CheckboxesView }\n","const DEFAULT_TITLE = {\n upload: 'Attachment',\n agreement: 'Agreement',\n input: 'Field',\n chooseFromList: 'Select',\n label: 'Label',\n multipleChoices: 'Choice',\n matrix: 'Matrix',\n checkboxes: 'Options',\n textarea: 'Text',\n}\n\nclass FormItemCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {ng.IAttributes} $attrs\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, $attrs, Utils) {\n this.Attrs = $attrs\n this.Utils = Utils\n this.templates = {\n upload: '',\n agreement: '',\n input: '',\n chooseFromList:\n '',\n label: '',\n multipleChoices:\n '',\n matrix: '',\n checkboxes: '',\n textarea: '',\n }\n this.item = {}\n this.scope = $scope\n }\n\n init() {\n this.item = this.Utils.extend(this.item || {}, {\n type: this.Attrs.type,\n props: {\n title: DEFAULT_TITLE[this.Attrs.type],\n helpText: '',\n },\n config: {\n required: false,\n },\n })\n }\n\n deleteClicked() {\n this.onDelete({ item: this.item, index: this.index() })\n }\n\n /**\n *\n * @param {string} type\n */\n _getItemTemplate(type) {\n const prefix =\n '' +\n '
' +\n '
' +\n ' ' +\n 'delete' +\n '' +\n ' ' +\n 'arrow_drop_up' +\n '' +\n ' ' +\n 'arrow_drop_down' +\n '' +\n '
' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n ''\n\n const suffix =\n '' +\n '' +\n 'Required field' +\n '' +\n '
'\n\n return prefix + this.templates[type] + suffix\n }\n}\n\nexport { FormItemCtrl }\n","import FormItemTemplate from './form-item.tpl.html'\nimport { FormItemCtrl } from './form-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItem {\n /**\n * @ngInject\n * @param {ng.ICompileService} $compile\n */\n constructor($compile) {\n this.$compile = $compile\n this.restrict = 'E'\n this.scope = {\n item: '=',\n onDelete: '&',\n onUp: '&',\n onDown: '&',\n index: '&',\n }\n this.controller = FormItemCtrl\n this.controllerAs = 'FormItem'\n this.bindToController = true\n this.template = FormItemTemplate\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n const template = ctrl._getItemTemplate(attrs.type)\n const el = this.$compile(template)(scope)\n // element.append(el)\n // if done like above adds twice\n // element.append(this.$compile(template)(scope))\n ctrl.init()\n return el\n }\n}\nexport { FormItem }\n","class FormItemsContainerCtrl {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {import('../../main/main.controller').FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { FormItemsContainerCtrl }\n","import { FormItemsContainerCtrl } from './form-items-container.controller'\nimport FormItemsContainerTemplate from './form-items-container.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItemsContainer {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n form: '=',\n }\n this.template = FormItemsContainerTemplate\n this.controller = FormItemsContainerCtrl\n this.controllerAs = 'container'\n this.bindToController = true\n }\n}\n\nexport { FormItemsContainer }\n","class FormViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScù} $scope\n */\n constructor($scope) {\n this.Scope = $scope\n }\n\n init() {}\n}\n\nexport { FormViewCtrl }\n","import { FormViewCtrl } from './form-view.controller'\nimport FormViewTemplate from './form-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormView {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = FormViewTemplate\n this.scope = {\n form: '=',\n }\n this.controller = FormViewCtrl\n this.controllerAs = 'FormView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n ctrl.init()\n }\n}\n\nexport { FormView }\n","class InputItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n type: 'text',\n },\n })\n }\n}\n\nexport { InputItemCtrl }\n","import { InputItemCtrl } from './input-item.controller'\nimport InputItemTemplate from './input-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = InputItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = InputItemCtrl\n this.controllerAs = 'Input'\n this.bindToController = true\n }\n}\n\nexport { InputItem }\n","class InputViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { InputViewCtrl }\n","import { InputViewCtrl } from './input-view.controller'\nimport InputViewTemplate from './input-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = InputViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = InputViewCtrl\n this.controllerAs = 'InputView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { InputView }\n","class LabelItemCtrl {\n /**\n * @ngInject\n * @param {JQLite} $element\n */\n constructor($element) {\n this.Element = $element\n }\n}\n\nexport { LabelItemCtrl }\n","import { LabelItemCtrl } from './label-item.controller'\nimport LabelItemTemplate from './label-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelItem {\n constructor() {\n this.restrict = 'E'\n this.template = LabelItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = LabelItemCtrl\n this.controllerAs = 'Label'\n this.bindToController = true\n }\n}\n\nexport { LabelItem }\n","class LabelViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.ISCEService} $sce\n */\n constructor(Utils, $sce) {\n this.Utils = Utils\n this.$sce = $sce\n }\n\n init() {\n this.Utils.extend(this.formItem, {})\n }\n\n get sanitizedTitle() {\n return this.$sce.trustAsHtml(this.formItem.value)\n }\n}\n\nexport { LabelViewCtrl }\n","import { LabelViewCtrl } from './label-view.controller'\nimport LabelViewTemplate from './label-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = LabelViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = LabelViewCtrl\n this.controllerAs = 'LabelView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {LabelViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { LabelView }\n","class MatrixItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.IDocumentService} $document\n */\n constructor(Utils, $document) {\n this.RowContainer = angular.element(\n $document[0].querySelector('.rowContainer')\n )\n this.ColumnContainer = angular.element(\n $document[0].querySelector('.columnContainer')\n )\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n rows: [\n {\n value: '',\n },\n ],\n columns: [\n {\n value: '',\n },\n ],\n },\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteRow(index) {\n this.item.config.rows.splice(index, 1)\n }\n\n addRow() {\n this.item.config.rows.push({\n value: '',\n })\n\n setTimeout(\n function () {\n const options = this.RowContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }.bind(this),\n 0\n )\n }\n\n /**\n *\n * @param {number} index\n */\n deleteColumn(index) {\n this.item.config.columns.splice(index, 1)\n }\n\n addColumn() {\n this.item.config.columns.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.ColumnContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { MatrixItemCtrl }\n","import { MatrixItemCtrl } from './matrix-item.controller'\nimport MatrixItemTemplate from './matrix-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass MatrixItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = MatrixItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = MatrixItemCtrl\n this.controllerAs = 'Matrix'\n this.bindToController = true\n }\n}\nexport { MatrixItem }\n","class MatrixViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.isValid = true\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {\n rows: [],\n columns: [],\n },\n })\n\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n _updateValidity() {\n let valid = true\n if (this.formItem.config.required) {\n valid = !this.formItem.config.rows.some(\n (row) => typeof row['selected'] === 'undefined'\n )\n // for (let i = 0; i < this.formItem.config.rows.length; i++) {\n // if (typeof this.formItem.config.rows[i]['selected'] === 'undefined') {\n // valid = false\n // break\n // }\n // }\n }\n\n this.isValid = valid\n this.form.$setValidity('required', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watchGroup(\n [\n 'MatrixView.formItem.config.required',\n 'MatrixView.formItem.config.rows.length',\n ],\n (newVal) => {\n if (newVal !== undefined) {\n this._updateValidity()\n }\n }\n )\n }\n}\nexport { MatrixViewCtrl }\n","import MatrixViewTemplate from './matrix-view.tpl.html'\nimport { MatrixViewCtrl } from './matrix-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass MatrixView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = MatrixViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = MatrixViewCtrl\n this.controllerAs = 'MatrixView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {MatrixViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { MatrixView }\n","class RadioButtonItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { RadioButtonItemCtrl }\n","import { RadioButtonItemCtrl } from './radio-button-item.controller'\nimport RadioButtonTemplate from './radio-button-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass RadioButtonItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = RadioButtonTemplate\n this.scope = {\n item: '=',\n }\n this.controller = RadioButtonItemCtrl\n this.controllerAs = 'RadioButton'\n this.bindToController = true\n }\n}\n\nexport { RadioButtonItem }\n","class RadioButtonViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { RadioButtonViewCtrl }\n","import { RadioButtonViewCtrl } from './radio-button-view.controller'\nimport RadioButtonViewTemplate from './radio-button-view.tpl.html'\n\nclass RadioButtonView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = RadioButtonViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = RadioButtonViewCtrl\n this.controllerAs = 'RadioButtonView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {RadioButtonViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { RadioButtonView }\n","class SelectItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { SelectItemCtrl }\n","import SelectTemplate from './select-item.tpl.html'\nimport { SelectItemCtrl } from './select-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = SelectTemplate\n this.scope = {\n item: '=',\n }\n this.controller = SelectItemCtrl\n this.controllerAs = 'Select'\n this.bindToController = true\n }\n}\n\nexport { SelectItem }\n","class SelectViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { SelectViewCtrl }\n","import SelectViewTemplate from './select-view.tpl.html'\nimport { SelectViewCtrl } from './select-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n\n this.restrict = 'E'\n this.template = SelectViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = SelectViewCtrl\n this.controllerAs = 'SelectView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {SelectViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { SelectView }\n","class TextareaItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {},\n })\n }\n}\n\nexport { TextareaItemCtrl }\n","import { TextareaItemCtrl } from './textarea-item.controller'\nimport TextareaItemTemplate from './textarea-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass TextareaItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = TextareaItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = TextareaItemCtrl\n this.controllerAs = 'Textarea'\n this.bindToController = true\n }\n}\n\nexport { TextareaItem }\n","class TextareaViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { TextareaViewCtrl }\n","import { TextareaViewCtrl } from './textarea-view.controller'\nimport TextareaViewTemplate from './textarea-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass TextareaView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.restrict = 'E'\n this.template = TextareaViewTemplate\n this.controller = TextareaViewCtrl\n this.controllerAs = 'TextareaView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {TextareaViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { TextareaView }\n","class UploadItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { UploadItemCtrl }\n","import UploadItemTemplate from './upload-item.tpl.html'\nimport { UploadItemCtrl } from './upload-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass UploadItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = UploadItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = UploadItemCtrl\n this.controllerAs = 'Upload'\n this.bindToController = true\n }\n}\n\nexport { UploadItem }\n","class UploadViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor($scope, Utils, $element) {\n this.Scope = $scope\n this.Element = $element\n this.Utils = Utils\n this.formItem = {}\n }\n init() {\n this.isMultiple = false\n this.showAllowed = false\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {\n size: 10,\n uploadFileButtonLabel: 'Add files',\n },\n options: [],\n })\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n _updateMultiple() {\n this.isMultiple = !!this.formItem.config.multipleUpload\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n this.formItem.options = []\n if (this.isMultiple) {\n input.attr('multiple', 'multiple')\n } else {\n input.removeAttr('multiple')\n }\n }\n }\n\n _updateAccept() {\n this.showAllowed = !!this.formItem.config.showAccept\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n if (this.showAllowed) {\n input[0].setAttribute('accept', this.formItem.config.accept)\n } else {\n input[0].removeAttribute('accept')\n delete this.formItem.config.accept\n }\n }\n }\n\n _enableWatchers() {\n this.Scope.$watch('UploadView.formItem.config.multipleUpload', (newVal) => {\n if (newVal !== undefined) {\n this._updateMultiple()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.showAccept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.accept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n }\n\n removeItem(index) {\n this.formItem.options.splice(index, 1)\n }\n}\nexport { UploadViewCtrl }\n","import { UploadViewCtrl } from './upload-view.controller'\nimport UploadViewTemplate from './upload-view.tpl.html'\n\nconst MB = 1024 * 1024\n\nclass UploadView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = UploadViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = UploadViewCtrl\n this.controllerAs = 'UploadView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {UploadViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n\n const button = angular.element(element[0].querySelector('.upload-button'))\n const input = angular.element(element[0].querySelector('input[type=file]'))\n const label = angular.element(element[0].querySelector('label'))\n\n if (label.length) {\n label.css('display', 'none')\n }\n\n button.on('click', () => {\n label.css('display', 'none')\n typeof input.trigger === 'function'\n ? input.trigger('click')\n : input[0].click()\n })\n\n input.on('change', (e) => {\n scope.$apply(function () {\n /**\n * @type {File[]}\n */\n const files = Array.from(e.target.files)\n // Max allowed size in MB\n const maxSizeMB = ctrl.formItem.config.size * MB\n const exceedsSize = files.some((file) => file.size >= maxSizeMB)\n if (exceedsSize) {\n label.css('display', 'block')\n label.text(ctrl.formItem.config.sizeErrMessage)\n ctrl.formItem.options = []\n } else {\n ctrl.formItem.options = files.map((file) => {\n const { name, size, type } = file\n return { name, size, type, file }\n })\n }\n })\n })\n }\n}\n\nexport { UploadView }\n","/**\n * @typedef {{type:string}} Item\n * @typedef {{items: Item[]}} FormConfig\n */\n\nclass MainController {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n * Add new Item\n * @param {string} type\n */\n addItem(type) {\n this.form.items.push({\n type,\n })\n }\n\n /**\n * Remove item at index\n * @param {Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n * insert before (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n * insert after (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { MainController }\n","class Utils {\n /**\n * Recursively extend object properties\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object}\n */\n extend(dest, src) {\n return Object.keys(src).reduce(\n (result, key) => {\n if (typeof result[key] === 'undefined') {\n result[key] = src[key]\n } else if (typeof src[key] === 'object') {\n result[key] = this.extend(result[key], src[key])\n }\n return result\n },\n typeof dest === 'undefined' ? {} : dest\n )\n }\n}\n\nexport { Utils }\n","// extracted by mini-css-extract-plugin\nexport {};","export default \"\\n \\n {{AgreementView.formItem.options[0].value}}\\n \\n\\n
\\n
\\n Must select {{AgreementView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Layout direction ({{Checkboxes.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n
\\n \\n add\\n \\n
\\n\\n\";","export default \"\\n \\n {{option.value}}\\n \\n\\n
\\n
\\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"
\\n
\\n \\n delete\\n \\n \\n arrow_drop_up\\n \\n \\n arrow_drop_down\\n \\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n

UNKNOWN TYPE

\\n
\\n\\n \\n Required field\\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n
{{formItem.props.title}}
\\n
{{formItem.props.helpText}}
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\\n\";","export default \"\\n \\n \\n\\n\\n \\n \\n Text\\n Number\\n Email\\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n
\\n      \\n      \\n    
\\n
\\n
\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add Column\\n
\\n\\n\\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add row\\n
\\n\\n\";","export default \"\\n
\\n
\\n \\n {{column.value}}\\n
\\n \\n {{row.value}}\\n \\n \\n \\n \\n \\n
\\n \\n\\n
\\n
This is required
\\n
\\n
\\n\";","export default \"\\n \\n Layout direction ({{RadioButton.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n \\n {{option.value}}\\n \\n \\n\\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n {{ option.value }}\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Multiple\\n \\n\\n \\n Max File size: {{Upload.item.config.size}} Mb\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n Configure allowed file types\\n \\n\\n \\n \\n \\n \\n\\n\";","export default \"
\\n \\n \\n \\n \\n \\n \\n\\n attach_file{{UploadView.formItem.config.uploadFileButtonLabel}}\\n
\\n\\n
\\n \\n \\n \\n close\\n \\n {{option.name}}\\n
\\n\\n\";","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss'\nimport { UploadItem } from './directives/upload-item/upload-item.directive'\nimport { UploadView } from './directives/upload-item/upload-view.directive'\nimport { AgreementItem } from './directives/agreement-item/agreement-item.directive'\nimport { AgreementView } from './directives/agreement-item/agreement-view.directive'\nimport { MainController } from './main/main.controller'\nimport { Utils } from './utils/utils.service'\nimport { CheckboxesItem } from './directives/checkboxes-item/checkboxes-item.directive'\nimport { CheckboxesView } from './directives/checkboxes-item/checkboxes-view.directive'\nimport { FormItem } from './directives/form-item/form-item.directive'\nimport { FormItemsContainer } from './directives/form-items-container/form-items-container.directive'\nimport { FormView } from './directives/form-view/form-view.directive'\nimport { InputItem } from './directives/input-item/input-item.directive'\nimport { InputView } from './directives/input-item/input-view.directive'\nimport { LabelItem } from './directives/label-item/label-item.directive'\nimport { LabelView } from './directives/label-item/label-view.directive'\nimport { MatrixItem } from './directives/matrix-item/matrix-item.directive'\nimport { MatrixView } from './directives/matrix-item/matrix-view.directive'\nimport { RadioButtonItem } from './directives/radio-button-item/radio-button-item.directive'\nimport { RadioButtonView } from './directives/radio-button-item/radio-button-view.directive'\nimport { SelectView } from './directives/select-item/select-view.directive'\nimport { SelectItem } from './directives/select-item/select-item.directive'\nimport { TextareaItem } from './directives/textarea-item/textarea-item.directive'\nimport { TextareaView } from './directives/textarea-item/textarea-view.directive'\n\nexport default angular\n .module('angularMaterialFormBuilder', [\n 'ngMaterial',\n 'angular-sortable-view',\n 'ngMessages',\n ])\n .service('Utils', Utils)\n .controller('MainController', MainController)\n .directive('uploadItem', UploadItem)\n .directive('uploadView', UploadView)\n .directive('agreementItem', AgreementItem)\n .directive('agreementView', AgreementView)\n .directive('checkboxesItem', CheckboxesItem)\n .directive('checkboxesView', CheckboxesView)\n .directive('formItem', FormItem)\n .directive('formItemsContainer', FormItemsContainer)\n .directive('formView', FormView)\n .directive('inputItem', InputItem)\n .directive('inputView', InputView)\n .directive('labelItem', LabelItem)\n .directive('labelView', LabelView)\n .directive('matrixItem', MatrixItem)\n .directive('matrixView', MatrixView)\n .directive('radioButtonItem', RadioButtonItem)\n .directive('radioButtonView', RadioButtonView)\n .directive('selectItem', SelectItem)\n .directive('selectView', SelectView)\n .directive('textareaItem', TextareaItem)\n .directive('textareaView', TextareaView)\n"],"names":["AgreementItemCtrl","Utils","$element","Element","item","extend","config","maxSelections","options","value","selected","AgreementItem","constructor","restrict","scope","controller","controllerAs","bindToController","AgreementViewCtrl","$scope","Scope","formItem","init","selectedOptions","_getSelectedOptions","disableOptions","isValid","_updateView","_updateValidity","isPreview","_enableWatchers","toggleSelectedOption","filter","option","length","required","form","$setValidity","$watch","newVal","undefined","AgreementViewTemplate","AgreementView","$timeout","template","link","element","attrs","ctrl","CheckboxesItemCtrl","deleteOption","index","splice","addOption","push","setTimeout","find","addedOption","focus","CheckboxesItemTemplate","CheckboxesItem","directive","CheckboxesViewCtrl","CheckboxesViewTemplate","CheckboxesView","DEFAULT_TITLE","upload","agreement","input","chooseFromList","label","multipleChoices","matrix","checkboxes","textarea","FormItemCtrl","$attrs","Attrs","templates","type","props","title","helpText","deleteClicked","onDelete","_getItemTemplate","prefix","suffix","FormItemTemplate","FormItem","$compile","onUp","onDown","el","FormItemsContainerCtrl","items","delete","up","prevItem","down","nextItem","FormItemsContainerTemplate","FormItemsContainer","FormViewCtrl","FormViewTemplate","FormView","InputItemCtrl","InputItemTemplate","InputItem","InputViewCtrl","InputViewTemplate","InputView","elem","LabelItemCtrl","LabelItemTemplate","LabelItem","LabelViewCtrl","$sce","sanitizedTitle","trustAsHtml","LabelViewTemplate","LabelView","MatrixItemCtrl","$document","RowContainer","angular","querySelector","ColumnContainer","rows","columns","deleteRow","addRow","bind","deleteColumn","addColumn","MatrixItemTemplate","MatrixItem","MatrixViewCtrl","valid","some","row","$watchGroup","MatrixViewTemplate","MatrixView","RadioButtonItemCtrl","RadioButtonTemplate","RadioButtonItem","RadioButtonViewCtrl","RadioButtonViewTemplate","RadioButtonView","SelectItemCtrl","SelectTemplate","SelectItem","SelectViewCtrl","SelectViewTemplate","SelectView","TextareaItemCtrl","TextareaItemTemplate","TextareaItem","TextareaViewCtrl","TextareaViewTemplate","TextareaView","UploadItemCtrl","UploadItemTemplate","UploadItem","UploadViewCtrl","isMultiple","showAllowed","size","uploadFileButtonLabel","_updateMultiple","multipleUpload","attr","removeAttr","_updateAccept","showAccept","setAttribute","accept","removeAttribute","removeItem","UploadViewTemplate","MB","UploadView","button","css","on","trigger","click","e","$apply","files","Array","from","target","maxSizeMB","exceedsSize","file","text","sizeErrMessage","map","name","MainController","addItem","dest","src","Object","keys","reduce","result","key","module","service"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"angular-material-form-builder.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAT,CAA2BC,KAA3B,EAAkCC,QAAlC,EAA4C;AAC1C,OAAKC,OAAL,GAAeD,QAAf;AACA,OAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,IAAAA,MAAM,EAAE;AACNC,MAAAA,aAAa,EAAE;AADT,KADgC;AAIxCC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,EADT;AAEEC,MAAAA,QAAQ,EAAE;AAFZ,KADO;AAJ+B,GAA9B,CAAZ;AAWD;;;;;;;;;;;;;;;;;CClBD;;AAEA;AACA;AACA;;AACA,MAAMC,aAAN,CAAoB;AAClB;AACF;AACA;AACEC,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAKC,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkBf,yEAAlB;AACA,SAAKgB,YAAL,GAAoB,WAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAZiB;;;;;;;;;;;;;;;;;ACNpB,MAAMC,iBAAN,CAAwB;AACtB;AACF;AACA;AACA;AACA;AACEN,EAAAA,WAAW,CAACO,MAAD,EAASlB,KAAT,EAAgB;AACzB,SAAKmB,KAAL,GAAaD,MAAb;AACA,SAAKlB,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKD,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAL,IAAiB,EAAnC,EAAuC;AACrDf,MAAAA,MAAM,EAAE,EAD6C;AAErDE,MAAAA,OAAO,EAAE,CACP;AACEC,QAAAA,KAAK,EAAE,EADT;AAEEC,QAAAA,QAAQ,EAAE;AAFZ,OADO;AAF4C,KAAvC,CAAhB;AAUA,SAAKa,eAAL,GAAuB,KAAKC,mBAAL,EAAvB;AACA,SAAKC,cAAL,GAAsB,KAAtB;AAEA,SAAKC,OAAL,GAAe,IAAf;;AACA,SAAKC,WAAL;;AACA,SAAKC,eAAL;;AACA,QAAI,KAAKC,SAAL,EAAJ,EAAsB;AACpB,WAAKC,eAAL;AACD;AACF;;AAEDC,EAAAA,oBAAoB,GAAG;AACrB,SAAKR,eAAL,GAAuB,KAAKC,mBAAL,EAAvB;;AACA,SAAKG,WAAL;;AACA,SAAKC,eAAL;AACD;;AAEDJ,EAAAA,mBAAmB,GAAG;AACpB,WAAO,KAAKH,QAAL,CAAcb,OAAd,CAAsBwB,MAAtB,CAA8BC,MAAD,IAAY;AAC9C,aAAOA,MAAM,CAACvB,QAAd;AACD,KAFM,CAAP;AAGD;;AAEDiB,EAAAA,WAAW,GAAG;AACZ,QAAI,CAAC,KAAKN,QAAL,CAAcf,MAAd,CAAqBC,aAA1B,EAAyC;AACvC,WAAKkB,cAAL,GAAsB,KAAtB;AACD,KAFD,MAEO,IACL,KAAKF,eAAL,CAAqBW,MAArB,KAAgC,KAAKb,QAAL,CAAcf,MAAd,CAAqBC,aADhD,EAEL;AACA,WAAKkB,cAAL,GAAsB,IAAtB;AACD,KAJM,MAIA;AACL,WAAKA,cAAL,GAAsB,KAAtB;AACD;AACF;;AAEDG,EAAAA,eAAe,GAAG;AAChB,QAAI,KAAKP,QAAL,CAAcf,MAAd,CAAqB6B,QAAzB,EAAmC;AACjC,WAAKT,OAAL,GAAe,KAAKH,eAAL,CAAqBW,MAArB,GAA8B,CAA7C;AACD,KAFD,MAEO;AACL,WAAKR,OAAL,GAAe,IAAf;AACD;;AAED,SAAKU,IAAL,CAAUC,YAAV,CAAuB,eAAvB,EAAwC,KAAKX,OAA7C;AACD;;AAEDI,EAAAA,eAAe,GAAG;AAChB,SAAKV,KAAL,CAAWkB,MAAX,CAAkB,wCAAlB,EAA6DC,MAAD,IAAY;AACtE,UAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,aAAKb,WAAL;;AACA,aAAKC,eAAL;AACD;AACF,KALD;AAMD;;AA3EqB;;;;;;;;;;;;;;;;;;;ACAxB;AACA;;AAEA,MAAMc,aAAN,CAAoB;AAClB;AACF;AACA;AACA;AACE9B,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,QAAL,GAAgBH,gEAAhB;AACA,SAAK5B,QAAL,GAAgB,GAAhB;AACA,SAAKC,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXQ,MAAAA,SAAS,EAAE,GAFA;AAGXO,MAAAA,IAAI,EAAE;AAHK,KAAb;AAKA,SAAKrB,UAAL,GAAkBG,yEAAlB;AACA,SAAKF,YAAL,GAAoB,eAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQgC,OAAR,EAAiBC,KAAjB,EAAwBC,IAAxB,EAA8B;AAChC;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AAhCiB;;;;;;;;;;;;;;;;;ACHpB,MAAM2B,kBAAN,CAAyB;AACvB;AACF;AACA;AACA;AACA;AACA;AACErC,EAAAA,WAAW,CAACX,KAAD,EAAQC,QAAR,EAAkB;AAC3B,SAAKC,OAAL,GAAeD,QAAf;AACA,SAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE;AACNC,QAAAA,aAAa,EAAE;AADT,OADgC;AAIxCC,MAAAA,OAAO,EAAE,CACP;AACEC,QAAAA,KAAK,EAAE,EADT;AAEEC,QAAAA,QAAQ,EAAE;AAFZ,OADO;AAJ+B,KAA9B,CAAZ;AAWD;;AAEDwC,EAAAA,YAAY,CAACC,KAAD,EAAQ;AAClB,SAAK/C,IAAL,CAAUI,OAAV,CAAkB4C,MAAlB,CAAyBD,KAAzB,EAAgC,CAAhC;AACD;;AAEDE,EAAAA,SAAS,GAAG;AACV,SAAKjD,IAAL,CAAUI,OAAV,CAAkB8C,IAAlB,CAAuB;AACrB7C,MAAAA,KAAK,EAAE,EADc;AAErBC,MAAAA,QAAQ,EAAE;AAFW,KAAvB,EADU,CAKV;;AACA6C,IAAAA,UAAU,CAAC,MAAM;AACf,YAAM/C,OAAO,GAAG,KAAKL,OAAL,CAAaqD,IAAb,CAAkB,OAAlB,CAAhB;AACA,YAAMC,WAAW,GAAGjD,OAAO,CAACA,OAAO,CAAC0B,MAAR,GAAiB,CAAlB,CAA3B;AACAuB,MAAAA,WAAW,CAACC,KAAZ;AACD,KAJS,EAIP,CAJO,CAAV;AAKD;;AArCsB;;;;;;;;;;;;;;;;;;;ACAzB;AACA;AAEA;AACA;AACA;;AACA,SAASE,cAAT,GAA0B;AACxB,QAAMC,SAAS,GAAG;AAChBhD,IAAAA,QAAQ,EAAE,GADM;AAEhB+B,IAAAA,QAAQ,EAAEe,iEAFM;AAGhB7C,IAAAA,KAAK,EAAE;AACLV,MAAAA,IAAI,EAAE;AADD,KAHS;AAMhBW,IAAAA,UAAU,EAAEkC,2EANI;AAOhBjC,IAAAA,YAAY,EAAE,YAPE;AAQhBC,IAAAA,gBAAgB,EAAE;AARF,GAAlB;AAWA,SAAO4C,SAAP;AACD;;;;;;;;;;;;;;;;ACnBD,MAAMC,kBAAN,CAAyB;AACvB;AACF;AACA;AACA;AACA;AACElD,EAAAA,WAAW,CAACO,MAAD,EAASlB,KAAT,EAAgB;AACzB,SAAKmB,KAAL,GAAaD,MAAb;AACA,SAAKlB,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKD,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAL,IAAiB,EAAnC,EAAuC;AACrDf,MAAAA,MAAM,EAAE,EAD6C;AAErDE,MAAAA,OAAO,EAAE;AAF4C,KAAvC,CAAhB;AAKA,SAAKe,eAAL,GAAuB,KAAKC,mBAAL,EAAvB;AACA,SAAKC,cAAL,GAAsB,KAAtB;AAEA,SAAKC,OAAL,GAAe,IAAf;;AACA,SAAKC,WAAL;;AACA,SAAKC,eAAL;;AACA,QAAI,KAAKC,SAAL,EAAJ,EAAsB;AACpB,WAAKC,eAAL;AACD;AACF;;AAEDC,EAAAA,oBAAoB,GAAG;AACrB,SAAKR,eAAL,GAAuB,KAAKC,mBAAL,EAAvB;;AACA,SAAKG,WAAL;;AACA,SAAKC,eAAL;AACD;;AAEDJ,EAAAA,mBAAmB,GAAG;AACpB,WAAO,KAAKH,QAAL,CAAcb,OAAd,CAAsBwB,MAAtB,CAA8BC,MAAD,IAAY;AAC9C,aAAOA,MAAM,CAACvB,QAAd;AACD,KAFM,CAAP;AAGD;;AAEDiB,EAAAA,WAAW,GAAG;AACZ,QAAI,CAAC,KAAKN,QAAL,CAAcf,MAAd,CAAqBC,aAA1B,EAAyC;AACvC,WAAKkB,cAAL,GAAsB,KAAtB;AACD,KAFD,MAEO,IACL,KAAKF,eAAL,CAAqBW,MAArB,KAAgC,KAAKb,QAAL,CAAcf,MAAd,CAAqBC,aADhD,EAEL;AACA,WAAKkB,cAAL,GAAsB,IAAtB;AACD,KAJM,MAIA;AACL,WAAKA,cAAL,GAAsB,KAAtB;AACD;AACF;;AAEDG,EAAAA,eAAe,GAAG;AAChB,QAAI,KAAKP,QAAL,CAAcf,MAAd,CAAqB6B,QAAzB,EAAmC;AACjC,WAAKT,OAAL,GAAe,KAAKH,eAAL,CAAqBW,MAArB,GAA8B,CAA7C;AACD,KAFD,MAEO;AACL,WAAKR,OAAL,GAAe,IAAf;AACD;;AAED,SAAKU,IAAL,CAAUC,YAAV,CAAuB,eAAvB,EAAwC,KAAKX,OAA7C;AACD;;AAEDI,EAAAA,eAAe,GAAG;AAChB,SAAKV,KAAL,CAAWkB,MAAX,CAAkB,yCAAlB,EAA8DC,MAAD,IAAY;AACvE,UAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,aAAKb,WAAL;;AACA,aAAKC,eAAL;AACD;AACF,KALD;AAMD;;AAtEsB;;;;;;;;;;;;;;;;;;;ACAzB;AACA;AAEA;AACA;AACA;;AACA,MAAMoC,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACEpD,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK9B,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBmB,iEAAhB;AACA,SAAKjD,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXQ,MAAAA,SAAS,EAAE,GAFA;AAGXO,MAAAA,IAAI,EAAE;AAHK,KAAb;AAKA,SAAKrB,UAAL,GAAkB+C,2EAAlB;AACA,SAAK9C,YAAL,GAAoB,gBAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQgC,OAAR,EAAiBC,KAAjB,EAAwBC,IAAxB,EAA8B;AAChC;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AAhCkB;;;;;;;;;;;;;;;;;ACNrB,MAAM2C,aAAa,GAAG;AACpBC,EAAAA,MAAM,EAAE,YADY;AAEpBC,EAAAA,SAAS,EAAE,WAFS;AAGpBC,EAAAA,KAAK,EAAE,OAHa;AAIpBC,EAAAA,cAAc,EAAE,QAJI;AAKpBC,EAAAA,KAAK,EAAE,OALa;AAMpBC,EAAAA,eAAe,EAAE,QANG;AAOpBC,EAAAA,MAAM,EAAE,QAPY;AAQpBC,EAAAA,UAAU,EAAE,SARQ;AASpBC,EAAAA,QAAQ,EAAE;AATU,CAAtB;;AAYA,MAAMC,YAAN,CAAmB;AACjB;AACF;AACA;AACA;AACA;AACA;AACE/D,EAAAA,WAAW,CAACO,MAAD,EAASyD,MAAT,EAAiB3E,KAAjB,EAAwB;AACjC,SAAK4E,KAAL,GAAaD,MAAb;AACA,SAAK3E,KAAL,GAAaA,KAAb;AACA,SAAK6E,SAAL,GAAiB;AACfZ,MAAAA,MAAM,EAAE,kDADO;AAEfC,MAAAA,SAAS,EAAE,wDAFI;AAGfC,MAAAA,KAAK,EAAE,gDAHQ;AAIfC,MAAAA,cAAc,EACZ,8EALa;AAMfC,MAAAA,KAAK,EAAE,gDANQ;AAOfC,MAAAA,eAAe,EACb,8DARa;AASfC,MAAAA,MAAM,EAAE,kDATO;AAUfC,MAAAA,UAAU,EAAE,0DAVG;AAWfC,MAAAA,QAAQ,EAAE;AAXK,KAAjB;AAaA,SAAKtE,IAAL,GAAY,EAAZ;AACA,SAAKU,KAAL,GAAaK,MAAb;AACD;;AAEDG,EAAAA,IAAI,GAAG;AACL,SAAKlB,IAAL,GAAY,KAAKH,KAAL,CAAWI,MAAX,CAAkB,KAAKD,IAAL,IAAa,EAA/B,EAAmC;AAC7C2E,MAAAA,IAAI,EAAE,KAAKF,KAAL,CAAWE,IAD4B;AAE7CC,MAAAA,KAAK,EAAE;AACLC,QAAAA,KAAK,EAAEhB,aAAa,CAAC,KAAKY,KAAL,CAAWE,IAAZ,CADf;AAELG,QAAAA,QAAQ,EAAE;AAFL,OAFsC;AAM7C5E,MAAAA,MAAM,EAAE;AACN6B,QAAAA,QAAQ,EAAE;AADJ;AANqC,KAAnC,CAAZ;AAUD;;AAEDgD,EAAAA,aAAa,GAAG;AACd,SAAKC,QAAL,CAAc;AAAEhF,MAAAA,IAAI,EAAE,KAAKA,IAAb;AAAmB+C,MAAAA,KAAK,EAAE,KAAKA,KAAL;AAA1B,KAAd;AACD;AAED;AACF;AACA;AACA;;;AACEkC,EAAAA,gBAAgB,CAACN,IAAD,EAAO;AACrB,UAAMO,MAAM,GACV,KACA,mCADA,GAEA,iCAFA,GAGA,oGAHA,GAIA,wDAJA,GAKA,cALA,GAMA,qIANA,GAOA,+DAPA,GAQA,cARA,GASA,yIATA,GAUA,iEAVA,GAWA,cAXA,GAYA,QAZA,GAaA,sBAbA,GAcA,4BAdA,GAeA,+CAfA,GAgBA,uBAhBA,GAiBA,sBAjBA,GAkBA,0BAlBA,GAmBA,mDAnBA,GAoBA,uBArBF;AAuBA,UAAMC,MAAM,GACV,KACA,sBADA,GAEA,oFAFA,GAGA,uBAHA,GAIA,QALF;AAOA,WAAOD,MAAM,GAAG,KAAKR,SAAL,CAAeC,IAAf,CAAT,GAAgCQ,MAAvC;AACD;;AAhFgB;;;;;;;;;;;;;;;;;;;ACZnB;AACA;AAEA;AACA;AACA;;AACA,MAAME,QAAN,CAAe;AACb;AACF;AACA;AACA;AACE7E,EAAAA,WAAW,CAAC8E,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK7E,QAAL,GAAgB,GAAhB;AACA,SAAKC,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE,GADK;AAEXgF,MAAAA,QAAQ,EAAE,GAFC;AAGXO,MAAAA,IAAI,EAAE,GAHK;AAIXC,MAAAA,MAAM,EAAE,GAJG;AAKXzC,MAAAA,KAAK,EAAE;AALI,KAAb;AAOA,SAAKpC,UAAL,GAAkB4D,+DAAlB;AACA,SAAK3D,YAAL,GAAoB,UAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAK2B,QAAL,GAAgB4C,2DAAhB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE3C,EAAAA,IAAI,CAAC/B,KAAD,EAAQgC,OAAR,EAAiBC,KAAjB,EAAwBC,IAAxB,EAA8B;AAChC,UAAMJ,QAAQ,GAAGI,IAAI,CAACqC,gBAAL,CAAsBtC,KAAK,CAACgC,IAA5B,CAAjB;;AACA,UAAMc,EAAE,GAAG,KAAKH,QAAL,CAAc9C,QAAd,EAAwB9B,KAAxB,CAAX,CAFgC,CAGhC;AACA;AACA;;AACAkC,IAAAA,IAAI,CAAC1B,IAAL;AACA,WAAOuE,EAAP;AACD;;AArCY;;;;;;;;;;;;;;;;;ACNf,MAAMC,sBAAN,CAA6B;AAC3B;AACF;AACA;AACElF,EAAAA,WAAW,GAAG;AACZ;AACJ;AACA;AACI,SAAKwB,IAAL,GAAY;AACV2D,MAAAA,KAAK,EAAE;AADG,KAAZ;AAGD;AAED;AACF;AACA;AACA;AACA;;;AACEC,EAAAA,MAAM,CAAC5F,IAAD,EAAO+C,KAAP,EAAc;AAClB,SAAKf,IAAL,CAAU2D,KAAV,CAAgB3C,MAAhB,CAAuBD,KAAvB,EAA8B,CAA9B;AACD;AAED;AACF;AACA;AACA;AACA;;;AACE8C,EAAAA,EAAE,CAAC7F,IAAD,EAAO+C,KAAP,EAAc;AACd,QAAIA,KAAK,KAAK,CAAd,EAAiB;AACf,YAAM+C,QAAQ,GAAG,KAAK9D,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,CAAjB;AACA,WAAKf,IAAL,CAAU2D,KAAV,CAAgB5C,KAAhB,IAAyB+C,QAAzB;AACA,WAAK9D,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,IAA6B/C,IAA7B;AACD;AACF;AAED;AACF;AACA;AACA;AACA;;;AACE+F,EAAAA,IAAI,CAAC/F,IAAD,EAAO+C,KAAP,EAAc;AAChB,QAAIA,KAAK,KAAK,KAAKf,IAAL,CAAU2D,KAAV,CAAgB7D,MAAhB,GAAyB,CAAvC,EAA0C;AACxC,YAAMkE,QAAQ,GAAG,KAAKhE,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,CAAjB;AACA,WAAKf,IAAL,CAAU2D,KAAV,CAAgB5C,KAAhB,IAAyBiD,QAAzB;AACA,WAAKhE,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,IAA6B/C,IAA7B;AACD;AACF;;AA9C0B;;;;;;;;;;;;;;;;;;;ACA7B;AACA;AAEA;AACA;AACA;;AACA,MAAMkG,kBAAN,CAAyB;AACvB;AACF;AACA;AACE1F,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAKC,KAAL,GAAa;AACXsB,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKQ,QAAL,GAAgByD,sEAAhB;AACA,SAAKtF,UAAL,GAAkB+E,oFAAlB;AACA,SAAK9E,YAAL,GAAoB,WAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAbsB;;;;;;;;;;;;;;;;;ACNzB,MAAMsF,YAAN,CAAmB;AACjB;AACF;AACA;AACA;AACE3F,EAAAA,WAAW,CAACO,MAAD,EAAS;AAClB,SAAKC,KAAL,GAAaD,MAAb;AACD;;AAEDG,EAAAA,IAAI,GAAG,CAAE;;AATQ;;;;;;;;;;;;;;;;;;;ACAnB;AACA;AAEA;AACA;AACA;;AACA,MAAMmF,QAAN,CAAe;AACb;AACF;AACA;AACE7F,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgB4D,2DAAhB;AACA,SAAK1F,KAAL,GAAa;AACXsB,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKrB,UAAL,GAAkBwF,+DAAlB;AACA,SAAKvF,YAAL,GAAoB,UAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQgC,OAAR,EAAiBC,KAAjB,EAAwBC,IAAxB,EAA8B;AAChCA,IAAAA,IAAI,CAAC1B,IAAL;AACD;;AAzBY;;;;;;;;;;;;;;;;;ACNf,MAAMoF,aAAN,CAAoB;AAClB;AACF;AACA;AACA;AACA;AACE9F,EAAAA,WAAW,CAACX,KAAD,EAAQC,QAAR,EAAkB;AAC3B,SAAKC,OAAL,GAAeD,QAAf;AAEA,SAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE;AACNyE,QAAAA,IAAI,EAAE;AADA;AADgC,KAA9B,CAAZ;AAKD;;AAdiB;;;;;;;;;;;;;;;;;;;ACApB;AACA;AAEA;AACA;AACA;;AACA,MAAM6B,SAAN,CAAgB;AACd;AACF;AACA;AACEhG,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgB+D,4DAAhB;AACA,SAAK7F,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkB2F,iEAAlB;AACA,SAAK1F,YAAL,GAAoB,OAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAba;;;;;;;;;;;;;;;;;ACNhB,MAAM4F,aAAN,CAAoB;AAClB;AACF;AACA;AACA;AACEjG,EAAAA,WAAW,CAACX,KAAD,EAAQ;AACjB,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKrB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAvB,EAAiC;AAC/Bf,MAAAA,MAAM,EAAE;AADuB,KAAjC;AAGD;;AAdiB;;;;;;;;;;;;;;;;;;;ACApB;AACA;AAEA;AACA;AACA;;AACA,MAAMyG,SAAN,CAAgB;AACd;AACF;AACA;AACA;AACEnG,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK9B,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBkE,4DAAhB;AACA,SAAKhG,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXe,MAAAA,IAAI,EAAE;AAFK,KAAb;AAIA,SAAKrB,UAAL,GAAkB8F,iEAAlB;AACA,SAAK7F,YAAL,GAAoB,WAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQkG,IAAR,EAAcjE,KAAd,EAAqBC,IAArB,EAA2B;AAC7B;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AA/Ba;;;;;;;;;;;;;;;;;ACNhB,MAAM2F,aAAN,CAAoB;AAClB;AACF;AACA;AACA;AACErG,EAAAA,WAAW,CAACV,QAAD,EAAW;AACpB,SAAKC,OAAL,GAAeD,QAAf;AACD;;AAPiB;;;;;;;;;;;;;;;;;;;ACApB;AACA;AAEA;AACA;AACA;;AACA,MAAMiH,SAAN,CAAgB;AACdvG,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBsE,4DAAhB;AACA,SAAKpG,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkBkG,iEAAlB;AACA,SAAKjG,YAAL,GAAoB,OAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAVa;;;;;;;;;;;;;;;;ACNhB,MAAMmG,aAAN,CAAoB;AAClB;AACF;AACA;AACA;AACA;AACExG,EAAAA,WAAW,CAACX,KAAD,EAAQoH,IAAR,EAAc;AACvB,SAAKpH,KAAL,GAAaA,KAAb;AACA,SAAKoH,IAAL,GAAYA,IAAZ;AACD;;AAED/F,EAAAA,IAAI,GAAG;AACL,SAAKrB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAvB,EAAiC,EAAjC;AACD;;AAEiB,MAAdiG,cAAc,GAAG;AACnB,WAAO,KAAKD,IAAL,CAAUE,WAAV,CAAsB,KAAKlG,QAAL,CAAcZ,KAApC,CAAP;AACD;;AAjBiB;;;;;;;;;;;;;;;;;;;ACApB;AACA;AAEA;AACA;AACA;;AACA,MAAMgH,SAAN,CAAgB;AACd;AACF;AACA;AACA;AACE7G,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK9B,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgB4E,4DAAhB;AACA,SAAK1G,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXe,MAAAA,IAAI,EAAE;AAFK,KAAb;AAIA,SAAKrB,UAAL,GAAkBqG,iEAAlB;AACA,SAAKpG,YAAL,GAAoB,WAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQkG,IAAR,EAAcjE,KAAd,EAAqBC,IAArB,EAA2B;AAC7B;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AA/Ba;;;;;;;;;;;;;;;;;ACNhB,MAAMoG,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACA;AACE9G,EAAAA,WAAW,CAACX,KAAD,EAAQ0H,SAAR,EAAmB;AAC5B,SAAKC,YAAL,GAAoBC,OAAO,CAAC/E,OAAR,CAClB6E,SAAS,CAAC,CAAD,CAAT,CAAaG,aAAb,CAA2B,eAA3B,CADkB,CAApB;AAGA,SAAKC,eAAL,GAAuBF,OAAO,CAAC/E,OAAR,CACrB6E,SAAS,CAAC,CAAD,CAAT,CAAaG,aAAb,CAA2B,kBAA3B,CADqB,CAAvB;AAIA,SAAK1H,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE;AACN0H,QAAAA,IAAI,EAAE,CACJ;AACEvH,UAAAA,KAAK,EAAE;AADT,SADI,CADA;AAMNwH,QAAAA,OAAO,EAAE,CACP;AACExH,UAAAA,KAAK,EAAE;AADT,SADO;AANH;AADgC,KAA9B,CAAZ;AAcD;AAED;AACF;AACA;AACA;;;AACEyH,EAAAA,SAAS,CAAC/E,KAAD,EAAQ;AACf,SAAK/C,IAAL,CAAUE,MAAV,CAAiB0H,IAAjB,CAAsB5E,MAAtB,CAA6BD,KAA7B,EAAoC,CAApC;AACD;;AAEDgF,EAAAA,MAAM,GAAG;AACP,SAAK/H,IAAL,CAAUE,MAAV,CAAiB0H,IAAjB,CAAsB1E,IAAtB,CAA2B;AACzB7C,MAAAA,KAAK,EAAE;AADkB,KAA3B;AAIA8C,IAAAA,UAAU,CACR,YAAY;AACV,YAAM/C,OAAO,GAAG,KAAKoH,YAAL,CAAkBpE,IAAlB,CAAuB,OAAvB,CAAhB;AACA,YAAMC,WAAW,GAAGjD,OAAO,CAACA,OAAO,CAAC0B,MAAR,GAAiB,CAAlB,CAA3B;AACAuB,MAAAA,WAAW,CAACC,KAAZ;AACD,KAJD,CAIE0E,IAJF,CAIO,IAJP,CADQ,EAMR,CANQ,CAAV;AAQD;AAED;AACF;AACA;AACA;;;AACEC,EAAAA,YAAY,CAAClF,KAAD,EAAQ;AAClB,SAAK/C,IAAL,CAAUE,MAAV,CAAiB2H,OAAjB,CAAyB7E,MAAzB,CAAgCD,KAAhC,EAAuC,CAAvC;AACD;;AAEDmF,EAAAA,SAAS,GAAG;AACV,SAAKlI,IAAL,CAAUE,MAAV,CAAiB2H,OAAjB,CAAyB3E,IAAzB,CAA8B;AAC5B7C,MAAAA,KAAK,EAAE;AADqB,KAA9B;AAIA8C,IAAAA,UAAU,CAAC,MAAM;AACf,YAAM/C,OAAO,GAAG,KAAKuH,eAAL,CAAqBvE,IAArB,CAA0B,OAA1B,CAAhB;AACA,YAAMC,WAAW,GAAGjD,OAAO,CAACA,OAAO,CAAC0B,MAAR,GAAiB,CAAlB,CAA3B;AACAuB,MAAAA,WAAW,CAACC,KAAZ;AACD,KAJS,EAIP,CAJO,CAAV;AAKD;;AAvEkB;;;;;;;;;;;;;;;;;;;ACArB;AACA;AAEA;AACA;AACA;;AACA,MAAM8E,UAAN,CAAiB;AACf;AACF;AACA;AACE5H,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgB2F,6DAAhB;AACA,SAAKzH,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkB2G,mEAAlB;AACA,SAAK1G,YAAL,GAAoB,QAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAbc;;;;;;;;;;;;;;;;;ACNjB,MAAMwH,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACA;AACE7H,EAAAA,WAAW,CAACO,MAAD,EAASlB,KAAT,EAAgB;AACzB,SAAKmB,KAAL,GAAaD,MAAb;AACA,SAAKlB,KAAL,GAAaA,KAAb;AACA,SAAKyB,OAAL,GAAe,IAAf;AACA,SAAKL,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKD,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAvB,EAAiC;AAC/Cf,MAAAA,MAAM,EAAE;AACN0H,QAAAA,IAAI,EAAE,EADA;AAENC,QAAAA,OAAO,EAAE;AAFH;AADuC,KAAjC,CAAhB;;AAOA,SAAKrG,eAAL;;AACA,QAAI,KAAKC,SAAL,EAAJ,EAAsB;AACpB,WAAKC,eAAL;AACD;AACF;;AAEDF,EAAAA,eAAe,GAAG;AAChB,QAAI8G,KAAK,GAAG,IAAZ;;AACA,QAAI,KAAKrH,QAAL,CAAcf,MAAd,CAAqB6B,QAAzB,EAAmC;AACjCuG,MAAAA,KAAK,GAAG,CAAC,KAAKrH,QAAL,CAAcf,MAAd,CAAqB0H,IAArB,CAA0BW,IAA1B,CACNC,GAAD,IAAS,OAAOA,GAAG,CAAC,UAAD,CAAV,KAA2B,WAD7B,CAAT,CADiC,CAIjC;AACA;AACA;AACA;AACA;AACA;AACD;;AAED,SAAKlH,OAAL,GAAegH,KAAf;AACA,SAAKtG,IAAL,CAAUC,YAAV,CAAuB,UAAvB,EAAmC,KAAKX,OAAxC;AACD;;AAEDI,EAAAA,eAAe,GAAG;AAChB,SAAKV,KAAL,CAAWyH,WAAX,CACE,CACE,qCADF,EAEE,wCAFF,CADF,EAKGtG,MAAD,IAAY;AACV,UAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,aAAKZ,eAAL;AACD;AACF,KATH;AAWD;;AAzDkB;;;;;;;;;;;;;;;;;;;ACArB;AACA;AAEA;AACA;AACA;;AAEA,MAAMmH,UAAN,CAAiB;AACf;AACF;AACA;AACA;AACEnI,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK9B,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBkG,6DAAhB;AACA,SAAKhI,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXQ,MAAAA,SAAS,EAAE,GAFA;AAGXO,MAAAA,IAAI,EAAE;AAHK,KAAb;AAKA,SAAKrB,UAAL,GAAkB0H,mEAAlB;AACA,SAAKzH,YAAL,GAAoB,YAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQkG,IAAR,EAAcjE,KAAd,EAAqBC,IAArB,EAA2B;AAC7B;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AAhCc;;;;;;;;;;;;;;;;;ACPjB,MAAM0H,mBAAN,CAA0B;AACxB;AACF;AACA;AACA;AACA;AACEpI,EAAAA,WAAW,CAACX,KAAD,EAAQC,QAAR,EAAkB;AAC3B,SAAKC,OAAL,GAAeD,QAAf;AACA,SAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE,EADgC;AAExCE,MAAAA,OAAO,EAAE,CACP;AACEC,QAAAA,KAAK,EAAE;AADT,OADO;AAF+B,KAA9B,CAAZ;AAQD;;AAEDyC,EAAAA,YAAY,CAACC,KAAD,EAAQ;AAClB,SAAK/C,IAAL,CAAUI,OAAV,CAAkB4C,MAAlB,CAAyBD,KAAzB,EAAgC,CAAhC;AACD;;AAEDE,EAAAA,SAAS,GAAG;AACV,SAAKjD,IAAL,CAAUI,OAAV,CAAkB8C,IAAlB,CAAuB;AACrB7C,MAAAA,KAAK,EAAE;AADc,KAAvB;AAIA8C,IAAAA,UAAU,CAAC,MAAM;AACf,YAAM/C,OAAO,GAAG,KAAKL,OAAL,CAAaqD,IAAb,CAAkB,OAAlB,CAAhB;AACA,YAAMC,WAAW,GAAGjD,OAAO,CAACA,OAAO,CAAC0B,MAAR,GAAiB,CAAlB,CAA3B;AACAuB,MAAAA,WAAW,CAACC,KAAZ;AACD,KAJS,EAIP,CAJO,CAAV;AAKD;;AAhCuB;;;;;;;;;;;;;;;;;;;ACA1B;AACA;AAEA;AACA;AACA;;AAEA,MAAMwF,eAAN,CAAsB;AACpB;AACF;AACA;AACEtI,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBqG,mEAAhB;AACA,SAAKnI,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkBiI,8EAAlB;AACA,SAAKhI,YAAL,GAAoB,aAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAbmB;;;;;;;;;;;;;;;;;ACPtB,MAAMkI,mBAAN,CAA0B;AACxB;AACF;AACA;AACA;AACEvI,EAAAA,WAAW,CAACX,KAAD,EAAQ;AACjB,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKD,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAvB,EAAiC;AAC/Cf,MAAAA,MAAM,EAAE,EADuC;AAE/CE,MAAAA,OAAO,EAAE;AAFsC,KAAjC,CAAhB;AAID;;AAfuB;;;;;;;;;;;;;;;;;;;ACA1B;AACA;;AAEA,MAAM6I,eAAN,CAAsB;AACpB;AACF;AACA;AACA;AACEzI,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK9B,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBwG,mEAAhB;AACA,SAAKtI,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXQ,MAAAA,SAAS,EAAE,GAFA;AAGXO,MAAAA,IAAI,EAAE;AAHK,KAAb;AAKA,SAAKrB,UAAL,GAAkBoI,8EAAlB;AACA,SAAKnI,YAAL,GAAoB,iBAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQkG,IAAR,EAAcjE,KAAd,EAAqBC,IAArB,EAA2B;AAC7B;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AAhCmB;;;;;;;;;;;;;;;;;ACHtB,MAAMgI,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACA;AACE1I,EAAAA,WAAW,CAACX,KAAD,EAAQC,QAAR,EAAkB;AAC3B,SAAKC,OAAL,GAAeD,QAAf;AACA,SAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE,EADgC;AAExCE,MAAAA,OAAO,EAAE,CACP;AACEC,QAAAA,KAAK,EAAE;AADT,OADO;AAF+B,KAA9B,CAAZ;AAQD;AAED;AACF;AACA;AACA;;;AACEyC,EAAAA,YAAY,CAACC,KAAD,EAAQ;AAClB,SAAK/C,IAAL,CAAUI,OAAV,CAAkB4C,MAAlB,CAAyBD,KAAzB,EAAgC,CAAhC;AACD;;AAEDE,EAAAA,SAAS,GAAG;AACV,SAAKjD,IAAL,CAAUI,OAAV,CAAkB8C,IAAlB,CAAuB;AACrB7C,MAAAA,KAAK,EAAE;AADc,KAAvB;AAIA8C,IAAAA,UAAU,CAAC,MAAM;AACf,YAAM/C,OAAO,GAAG,KAAKL,OAAL,CAAaqD,IAAb,CAAkB,OAAlB,CAAhB;AACA,YAAMC,WAAW,GAAGjD,OAAO,CAACA,OAAO,CAAC0B,MAAR,GAAiB,CAAlB,CAA3B;AACAuB,MAAAA,WAAW,CAACC,KAAZ;AACD,KAJS,EAIP,CAJO,CAAV;AAKD;;AApCkB;;;;;;;;;;;;;;;;;;;ACArB;AACA;AAEA;AACA;AACA;;AACA,MAAM8F,UAAN,CAAiB;AACf;AACF;AACA;AACE5I,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgB2G,6DAAhB;AACA,SAAKzI,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkBuI,mEAAlB;AACA,SAAKtI,YAAL,GAAoB,QAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAbc;;;;;;;;;;;;;;;;;ACNjB,MAAMwI,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACE7I,EAAAA,WAAW,CAACX,KAAD,EAAQ;AACjB,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKD,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAvB,EAAiC;AAC/Cf,MAAAA,MAAM,EAAE,EADuC;AAE/CE,MAAAA,OAAO,EAAE;AAFsC,KAAjC,CAAhB;AAID;;AAfkB;;;;;;;;;;;;;;;;;;;ACArB;AACA;AAEA;AACA;AACA;;AACA,MAAMmJ,UAAN,CAAiB;AACf;AACF;AACA;AACA;AACE/I,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AAEA,SAAK9B,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgB8G,6DAAhB;AACA,SAAK5I,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXQ,MAAAA,SAAS,EAAE,GAFA;AAGXO,MAAAA,IAAI,EAAE;AAHK,KAAb;AAKA,SAAKrB,UAAL,GAAkB0I,mEAAlB;AACA,SAAKzI,YAAL,GAAoB,YAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQkG,IAAR,EAAcjE,KAAd,EAAqBC,IAArB,EAA2B;AAC7B;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AAjCc;;;;;;;;;;;;;;;;;ACNjB,MAAMsI,gBAAN,CAAuB;AACrB;AACF;AACA;AACA;AACA;AACEhJ,EAAAA,WAAW,CAACX,KAAD,EAAQC,QAAR,EAAkB;AAC3B,SAAKC,OAAL,GAAeD,QAAf;AAEA,SAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE;AADgC,KAA9B,CAAZ;AAGD;;AAZoB;;;;;;;;;;;;;;;;;;;ACAvB;AACA;AAEA;AACA;AACA;;AACA,MAAMwJ,YAAN,CAAmB;AACjB;AACF;AACA;AACElJ,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBiH,+DAAhB;AACA,SAAK/I,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkB6I,uEAAlB;AACA,SAAK5I,YAAL,GAAoB,UAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAbgB;;;;;;;;;;;;;;;;;ACNnB,MAAM8I,gBAAN,CAAuB;AACrB;AACF;AACA;AACA;AACEnJ,EAAAA,WAAW,CAACX,KAAD,EAAQ;AACjB,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AAEDC,EAAAA,IAAI,GAAG;AACL,SAAKD,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAvB,EAAiC;AAC/Cf,MAAAA,MAAM,EAAE;AADuC,KAAjC,CAAhB;AAGD;;AAdoB;;;;;;;;;;;;;;;;;;;ACAvB;AACA;AAEA;AACA;AACA;;AAEA,MAAM2J,YAAN,CAAmB;AACjB;AACF;AACA;AACA;AACErJ,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAK7B,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXe,MAAAA,IAAI,EAAE;AAFK,KAAb;AAIA,SAAKvB,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBoH,+DAAhB;AACA,SAAKjJ,UAAL,GAAkBgJ,uEAAlB;AACA,SAAK/I,YAAL,GAAoB,cAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQkG,IAAR,EAAcjE,KAAd,EAAqBC,IAArB,EAA2B;AAC7B;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAGD;;AA/BgB;;;;;;;;;;;;;;;;;ACPnB,MAAM4I,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACA;AACA;AACEtJ,EAAAA,WAAW,CAACX,KAAD,EAAQC,QAAR,EAAkB;AAC3B,SAAKC,OAAL,GAAeD,QAAf;AACA,SAAKE,IAAL,GAAYH,KAAK,CAACI,MAAN,CAAa,KAAKD,IAAL,IAAa,EAA1B,EAA8B;AACxCE,MAAAA,MAAM,EAAE,EADgC;AAExCE,MAAAA,OAAO,EAAE;AAF+B,KAA9B,CAAZ;AAID;;AAbkB;;;;;;;;;;;;;;;;;;;ACArB;AACA;AAEA;AACA;AACA;;AACA,MAAM4J,UAAN,CAAiB;AACf;AACF;AACA;AACExJ,EAAAA,WAAW,GAAG;AACZ,SAAKC,QAAL,GAAgB,GAAhB;AACA,SAAK+B,QAAL,GAAgBuH,6DAAhB;AACA,SAAKrJ,KAAL,GAAa;AACXV,MAAAA,IAAI,EAAE;AADK,KAAb;AAGA,SAAKW,UAAL,GAAkBmJ,mEAAlB;AACA,SAAKlJ,YAAL,GAAoB,QAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;;AAbc;;;;;;;;;;;;;;;;;ACNjB,MAAMoJ,cAAN,CAAqB;AACnB;AACF;AACA;AACA;AACA;AACA;AACEzJ,EAAAA,WAAW,CAACO,MAAD,EAASlB,KAAT,EAAgBC,QAAhB,EAA0B;AACnC,SAAKkB,KAAL,GAAaD,MAAb;AACA,SAAKhB,OAAL,GAAeD,QAAf;AACA,SAAKD,KAAL,GAAaA,KAAb;AACA,SAAKoB,QAAL,GAAgB,EAAhB;AACD;;AACDC,EAAAA,IAAI,GAAG;AACL,SAAKgJ,UAAL,GAAkB,KAAlB;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACA,SAAKlJ,QAAL,GAAgB,KAAKpB,KAAL,CAAWI,MAAX,CAAkB,KAAKgB,QAAL,IAAiB,EAAnC,EAAuC;AACrDf,MAAAA,MAAM,EAAE;AACNkK,QAAAA,IAAI,EAAE,EADA;AAENC,QAAAA,qBAAqB,EAAE;AAFjB,OAD6C;AAKrDjK,MAAAA,OAAO,EAAE;AAL4C,KAAvC,CAAhB;;AAOA,QAAI,KAAKqB,SAAL,EAAJ,EAAsB;AACpB,WAAKC,eAAL;AACD;AACF;;AACD4I,EAAAA,eAAe,GAAG;AAChB,SAAKJ,UAAL,GAAkB,CAAC,CAAC,KAAKjJ,QAAL,CAAcf,MAAd,CAAqBqK,cAAzC;AACA,UAAMvG,KAAK,GAAGyD,OAAO,CAAC/E,OAAR,CACZ,KAAK3C,OAAL,CAAa,CAAb,EAAgB2H,aAAhB,CAA8B,kBAA9B,CADY,CAAd;;AAGA,QAAI1D,KAAJ,EAAW;AACT,WAAK/C,QAAL,CAAcb,OAAd,GAAwB,EAAxB;;AACA,UAAI,KAAK8J,UAAT,EAAqB;AACnBlG,QAAAA,KAAK,CAACwG,IAAN,CAAW,UAAX,EAAuB,UAAvB;AACD,OAFD,MAEO;AACLxG,QAAAA,KAAK,CAACyG,UAAN,CAAiB,UAAjB;AACD;AACF;AACF;;AAEDC,EAAAA,aAAa,GAAG;AACd,SAAKP,WAAL,GAAmB,CAAC,CAAC,KAAKlJ,QAAL,CAAcf,MAAd,CAAqByK,UAA1C;AACA,UAAM3G,KAAK,GAAGyD,OAAO,CAAC/E,OAAR,CACZ,KAAK3C,OAAL,CAAa,CAAb,EAAgB2H,aAAhB,CAA8B,kBAA9B,CADY,CAAd;;AAGA,QAAI1D,KAAJ,EAAW;AACT,UAAI,KAAKmG,WAAT,EAAsB;AACpBnG,QAAAA,KAAK,CAAC,CAAD,CAAL,CAAS4G,YAAT,CAAsB,QAAtB,EAAgC,KAAK3J,QAAL,CAAcf,MAAd,CAAqB2K,MAArD;AACD,OAFD,MAEO;AACL7G,QAAAA,KAAK,CAAC,CAAD,CAAL,CAAS8G,eAAT,CAAyB,QAAzB;AACA,eAAO,KAAK7J,QAAL,CAAcf,MAAd,CAAqB2K,MAA5B;AACD;AACF;AACF;;AAEDnJ,EAAAA,eAAe,GAAG;AAChB,SAAKV,KAAL,CAAWkB,MAAX,CAAkB,2CAAlB,EAAgEC,MAAD,IAAY;AACzE,UAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,aAAKkI,eAAL;AACD;AACF,KAJD;AAMA,SAAKtJ,KAAL,CAAWkB,MAAX,CAAkB,uCAAlB,EAA4DC,MAAD,IAAY;AACrE,UAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,aAAKsI,aAAL;AACD;AACF,KAJD;AAMA,SAAK1J,KAAL,CAAWkB,MAAX,CAAkB,mCAAlB,EAAwDC,MAAD,IAAY;AACjE,UAAIA,MAAM,KAAKC,SAAf,EAA0B;AACxB,aAAKsI,aAAL;AACD;AACF,KAJD;AAKD;;AAEDK,EAAAA,UAAU,CAAChI,KAAD,EAAQ;AAChB,SAAK9B,QAAL,CAAcb,OAAd,CAAsB4C,MAAtB,CAA6BD,KAA7B,EAAoC,CAApC;AACD;;AA/EkB;;;;;;;;;;;;;;;;;;;ACArB;AACA;AAEA,MAAMkI,EAAE,GAAG,OAAO,IAAlB;;AAEA,MAAMC,UAAN,CAAiB;AACf;AACF;AACA;AACA;AACE1K,EAAAA,WAAW,CAAC+B,QAAD,EAAW;AACpB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKC,QAAL,GAAgBwI,6DAAhB;AACA,SAAKvK,QAAL,GAAgB,GAAhB;AACA,SAAKC,KAAL,GAAa;AACXO,MAAAA,QAAQ,EAAE,GADC;AAEXQ,MAAAA,SAAS,EAAE,GAFA;AAGXO,MAAAA,IAAI,EAAE;AAHK,KAAb;AAKA,SAAKrB,UAAL,GAAkBsJ,mEAAlB;AACA,SAAKrJ,YAAL,GAAoB,YAApB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;;AACE4B,EAAAA,IAAI,CAAC/B,KAAD,EAAQgC,OAAR,EAAiBC,KAAjB,EAAwBC,IAAxB,EAA8B;AAChC;AACA,SAAKL,QAAL,CAAc,YAAY;AACxBK,MAAAA,IAAI,CAAC1B,IAAL;AACD,KAFD,EAEG,EAFH;AAIA,UAAMiK,MAAM,GAAG1D,OAAO,CAAC/E,OAAR,CAAgBA,OAAO,CAAC,CAAD,CAAP,CAAWgF,aAAX,CAAyB,gBAAzB,CAAhB,CAAf;AACA,UAAM1D,KAAK,GAAGyD,OAAO,CAAC/E,OAAR,CAAgBA,OAAO,CAAC,CAAD,CAAP,CAAWgF,aAAX,CAAyB,kBAAzB,CAAhB,CAAd;AACA,UAAMxD,KAAK,GAAGuD,OAAO,CAAC/E,OAAR,CAAgBA,OAAO,CAAC,CAAD,CAAP,CAAWgF,aAAX,CAAyB,OAAzB,CAAhB,CAAd;;AAEA,QAAIxD,KAAK,CAACpC,MAAV,EAAkB;AAChBoC,MAAAA,KAAK,CAACkH,GAAN,CAAU,SAAV,EAAqB,MAArB;AACD;;AAEDD,IAAAA,MAAM,CAACE,EAAP,CAAU,OAAV,EAAmB,MAAM;AACvBnH,MAAAA,KAAK,CAACkH,GAAN,CAAU,SAAV,EAAqB,MAArB;AACA,aAAOpH,KAAK,CAACsH,OAAb,KAAyB,UAAzB,GACItH,KAAK,CAACsH,OAAN,CAAc,OAAd,CADJ,GAEItH,KAAK,CAAC,CAAD,CAAL,CAASuH,KAAT,EAFJ;AAGD,KALD;AAOAvH,IAAAA,KAAK,CAACqH,EAAN,CAAS,QAAT,EAAoBG,CAAD,IAAO;AACxB9K,MAAAA,KAAK,CAAC+K,MAAN,CAAa,YAAY;AACvB;AACR;AACA;AACQ,cAAMC,KAAK,GAAGC,KAAK,CAACC,IAAN,CAAWJ,CAAC,CAACK,MAAF,CAASH,KAApB,CAAd,CAJuB,CAKvB;;AACA,cAAMI,SAAS,GAAGlJ,IAAI,CAAC3B,QAAL,CAAcf,MAAd,CAAqBkK,IAArB,GAA4Ba,EAA9C;AACA,cAAMc,WAAW,GAAGL,KAAK,CAACnD,IAAN,CAAYyD,IAAD,IAAUA,IAAI,CAAC5B,IAAL,IAAa0B,SAAlC,CAApB;;AACA,YAAIC,WAAJ,EAAiB;AACf7H,UAAAA,KAAK,CAACkH,GAAN,CAAU,SAAV,EAAqB,OAArB;AACAlH,UAAAA,KAAK,CAAC+H,IAAN,CAAWrJ,IAAI,CAAC3B,QAAL,CAAcf,MAAd,CAAqBgM,cAAhC;AACAtJ,UAAAA,IAAI,CAAC3B,QAAL,CAAcb,OAAd,GAAwB,EAAxB;AACD,SAJD,MAIO;AACLwC,UAAAA,IAAI,CAAC3B,QAAL,CAAcb,OAAd,GAAwBsL,KAAK,CAACS,GAAN,CAAWH,IAAD,IAAU;AAC1C,kBAAM;AAAEI,cAAAA,IAAF;AAAQhC,cAAAA,IAAR;AAAczF,cAAAA;AAAd,gBAAuBqH,IAA7B;AACA,mBAAO;AAAEI,cAAAA,IAAF;AAAQhC,cAAAA,IAAR;AAAczF,cAAAA,IAAd;AAAoBqH,cAAAA;AAApB,aAAP;AACD,WAHuB,CAAxB;AAID;AACF,OAlBD;AAmBD,KApBD;AAqBD;;AArEc;;;;;;;;;;;;;;;;;ACLjB;AACA;AACA;AACA;AAEA,MAAMK,cAAN,CAAqB;AACnB;AACF;AACA;AACE7L,EAAAA,WAAW,GAAG;AACZ;AACJ;AACA;AACI,SAAKwB,IAAL,GAAY;AACV2D,MAAAA,KAAK,EAAE;AADG,KAAZ;AAGD;AAED;AACF;AACA;AACA;;;AACE2G,EAAAA,OAAO,CAAC3H,IAAD,EAAO;AACZ,SAAK3C,IAAL,CAAU2D,KAAV,CAAgBzC,IAAhB,CAAqB;AACnByB,MAAAA;AADmB,KAArB;AAGD;AAED;AACF;AACA;AACA;AACA;;;AACEiB,EAAAA,MAAM,CAAC5F,IAAD,EAAO+C,KAAP,EAAc;AAClB,SAAKf,IAAL,CAAU2D,KAAV,CAAgB3C,MAAhB,CAAuBD,KAAvB,EAA8B,CAA9B;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACE8C,EAAAA,EAAE,CAAC7F,IAAD,EAAO+C,KAAP,EAAc;AACd,QAAIA,KAAK,KAAK,CAAd,EAAiB;AACf,YAAM+C,QAAQ,GAAG,KAAK9D,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,CAAjB;AACA,WAAKf,IAAL,CAAU2D,KAAV,CAAgB5C,KAAhB,IAAyB+C,QAAzB;AACA,WAAK9D,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,IAA6B/C,IAA7B;AACD;AACF;AAED;AACF;AACA;AACA;AACA;AACA;;;AACE+F,EAAAA,IAAI,CAAC/F,IAAD,EAAO+C,KAAP,EAAc;AAChB,QAAIA,KAAK,KAAK,KAAKf,IAAL,CAAU2D,KAAV,CAAgB7D,MAAhB,GAAyB,CAAvC,EAA0C;AACxC,YAAMkE,QAAQ,GAAG,KAAKhE,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,CAAjB;AACA,WAAKf,IAAL,CAAU2D,KAAV,CAAgB5C,KAAhB,IAAyBiD,QAAzB;AACA,WAAKhE,IAAL,CAAU2D,KAAV,CAAgB5C,KAAK,GAAG,CAAxB,IAA6B/C,IAA7B;AACD;AACF;;AA1DkB;;;;;;;;;;;;;;;;;ACLrB,MAAMH,KAAN,CAAY;AACV;AACF;AACA;AACA;AACA;AACA;AACEI,EAAAA,MAAM,CAACsM,IAAD,EAAOC,GAAP,EAAY;AAChB,WAAOC,MAAM,CAACC,IAAP,CAAYF,GAAZ,EAAiBG,MAAjB,CACL,CAACC,MAAD,EAASC,GAAT,KAAiB;AACf,UAAI,OAAOD,MAAM,CAACC,GAAD,CAAb,KAAuB,WAA3B,EAAwC;AACtCD,QAAAA,MAAM,CAACC,GAAD,CAAN,GAAcL,GAAG,CAACK,GAAD,CAAjB;AACD,OAFD,MAEO,IAAI,OAAOL,GAAG,CAACK,GAAD,CAAV,KAAoB,QAAxB,EAAkC;AACvCD,QAAAA,MAAM,CAACC,GAAD,CAAN,GAAc,KAAK5M,MAAL,CAAY2M,MAAM,CAACC,GAAD,CAAlB,EAAyBL,GAAG,CAACK,GAAD,CAA5B,CAAd;AACD;;AACD,aAAOD,MAAP;AACD,KARI,EASL,OAAOL,IAAP,KAAgB,WAAhB,GAA8B,EAA9B,GAAmCA,IAT9B,CAAP;AAWD;;AAnBS;;;;;;;;;;;;;ACAZ;;;;;;;;;;;;;;;ACAA,iEAAe,8CAA8C,4EAA4E,qQAAqQ,yCAAyC,iJAAiJ,4CAA4C,qDAAqD;;;;;;;;;;;;;;ACAzqB,iEAAe,gdAAgd,mFAAmF,6bAA6b,YAAY,qfAAqf;;;;;;;;;;;;;;ACAh/C,iEAAe,8CAA8C,6EAA6E,2TAA2T,cAAc,kJAAkJ,6CAA6C,qDAAqD;;;;;;;;;;;;;;ACAvsB,iEAAe,oaAAoa,6CAA6C,yNAAyN,6CAA6C,87DAA87D;;;;;;;;;;;;;;ACApqF,iEAAe,mGAAmG,WAAW,kNAAkN;;;;;;;;;;;;;;ACA/U,iEAAe,iUAAiU,sBAAsB,oDAAoD,yBAAyB,qpDAAqpD;;;;;;;;;;;;;;ACAxkE,iEAAe,sdAAsd;;;;;;;;;;;;;;ACAre,iEAAe,4GAA4G,gCAAgC,wBAAwB,uCAAuC,kNAAkN;;;;;;;;;;;;;;ACA5a,iEAAe,gJAAgJ;;;;;;;;;;;;;;ACA/J,iEAAe,iRAAiR;;;;;;;;;;;;;;ACAhS,iEAAe,sjBAAsjB,YAAY,uqCAAuqC,YAAY,inBAAinB;;;;;;;;;;;;;;ACAr3E,iEAAe,8XAA8X,cAAc,gRAAgR,WAAW,mZAAmZ,cAAc,gRAAgR;;;;;;;;;;;;;;ACAv2C,iEAAe,wRAAwR,oFAAoF,8bAA8b,YAAY,oZAAoZ;;;;;;;;;;;;;;ACAztC,iEAAe,uNAAuN,8EAA8E,6IAA6I,cAAc,6CAA6C,cAAc,uMAAuM;;;;;;;;;;;;;;ACAjtB,iEAAe,ihBAAihB,YAAY,sXAAsX;;;;;;;;;;;;;;ACAl6B,iEAAe,oUAAoU,eAAe,qLAAqL;;;;;;;;;;;;;;ACAvhB,iEAAe,yKAAyK;;;;;;;;;;;;;;ACAxL,iEAAe,yHAAyH,0CAA0C,kOAAkO;;;;;;;;;;;;;;ACApZ,iEAAe,ugBAAugB,0BAA0B,07BAA07B;;;;;;;;;;;;;;ACA1+C,iEAAe,2kBAA2kB,kDAAkD,sGAAsG,iCAAiC,qSAAqS,aAAa,4BAA4B;;;;;;UCAjmC;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,iEAAe9E,OAAO,CACnBqF,MADY,CACL,4BADK,EACyB,CACpC,YADoC,EAEpC,uBAFoC,EAGpC,YAHoC,CADzB,EAMZC,OANY,CAMJ,OANI,EAMKlN,uDANL,EAOZc,UAPY,CAOD,gBAPC,EAOiB0L,iEAPjB,EAQZ5I,SARY,CAQF,YARE,EAQYuG,qFARZ,EASZvG,SATY,CASF,YATE,EASYyH,qFATZ,EAUZzH,SAVY,CAUF,eAVE,EAUelD,8FAVf,EAWZkD,SAXY,CAWF,eAXE,EAWenB,8FAXf,EAYZmB,SAZY,CAYF,gBAZE,EAYgBD,iGAZhB,EAaZC,SAbY,CAaF,gBAbE,EAagBG,iGAbhB,EAcZH,SAdY,CAcF,UAdE,EAcU4B,+EAdV,EAeZ5B,SAfY,CAeF,oBAfE,EAeoByC,gHAfpB,EAgBZzC,SAhBY,CAgBF,UAhBE,EAgBU4C,gFAhBV,EAiBZ5C,SAjBY,CAiBF,WAjBE,EAiBW+C,mFAjBX,EAkBZ/C,SAlBY,CAkBF,WAlBE,EAkBWkD,mFAlBX,EAmBZlD,SAnBY,CAmBF,WAnBE,EAmBWsD,mFAnBX,EAoBZtD,SApBY,CAoBF,WApBE,EAoBW4D,mFApBX,EAqBZ5D,SArBY,CAqBF,YArBE,EAqBY2E,sFArBZ,EAsBZ3E,SAtBY,CAsBF,YAtBE,EAsBYkF,sFAtBZ,EAuBZlF,SAvBY,CAuBF,iBAvBE,EAuBiBqF,uGAvBjB,EAwBZrF,SAxBY,CAwBF,iBAxBE,EAwBiBwF,uGAxBjB,EAyBZxF,SAzBY,CAyBF,YAzBE,EAyBY2F,sFAzBZ,EA0BZ3F,SA1BY,CA0BF,YA1BE,EA0BY8F,sFA1BZ,EA2BZ9F,SA3BY,CA2BF,cA3BE,EA2BciG,4FA3Bd,EA4BZjG,SA5BY,CA4BF,cA5BE,EA4BcoG,4FA5Bd,CAAf,E","sources":["webpack://angular-material-form-builder/webpack/universalModuleDefinition","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.directive.js","webpack://angular-material-form-builder/./src/lib/main/main.controller.js","webpack://angular-material-form-builder/./src/lib/utils/utils.service.js","webpack://angular-material-form-builder/./src/lib/index.scss?f8d6","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.tpl.html","webpack://angular-material-form-builder/webpack/bootstrap","webpack://angular-material-form-builder/webpack/runtime/define property getters","webpack://angular-material-form-builder/webpack/runtime/hasOwnProperty shorthand","webpack://angular-material-form-builder/webpack/runtime/make namespace object","webpack://angular-material-form-builder/./src/lib/index.module.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular-material-form-builder\"] = factory();\n\telse\n\t\troot[\"angular-material-form-builder\"] = factory();\n})(self, function() {\nreturn ","/**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\nfunction AgreementItemCtrl(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n}\n\nexport { AgreementItemCtrl }\n","import { AgreementItemCtrl } from './agreement-item.controller'\n// import AgreementItemTemplate from './agreement-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass AgreementItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n item: '=',\n }\n this.controller = AgreementItemCtrl\n this.controllerAs = 'Agreement'\n this.bindToController = true\n }\n}\n\nexport { AgreementItem }\n","class AgreementViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('AgreementView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { AgreementViewCtrl }\n","import { AgreementViewCtrl } from './agreement-view.controller'\nimport AgreementViewTemplate from './agreement-view.tpl.html'\n\nclass AgreementView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = AgreementViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = AgreementViewCtrl\n this.controllerAs = 'AgreementView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {AgreementViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { AgreementView }\n","class CheckboxesItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n selected: false,\n })\n // Focus new element\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { CheckboxesItemCtrl }\n","import CheckboxesItemTemplate from './checkboxes-item.tpl.html'\nimport { CheckboxesItemCtrl } from './checkboxes-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nfunction CheckboxesItem() {\n const directive = {\n restrict: 'E',\n template: CheckboxesItemTemplate,\n scope: {\n item: '=',\n },\n controller: CheckboxesItemCtrl,\n controllerAs: 'Checkboxes',\n bindToController: true,\n }\n\n return directive\n}\n\nexport { CheckboxesItem }\n","class CheckboxesViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('CheckboxesView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { CheckboxesViewCtrl }\n","import CheckboxesViewTemplate from './checkboxes-view.tpl.html'\nimport { CheckboxesViewCtrl } from './checkboxes-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass CheckboxesView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = CheckboxesViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = CheckboxesViewCtrl\n this.controllerAs = 'CheckboxesView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {CheckboxesViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { CheckboxesView }\n","const DEFAULT_TITLE = {\n upload: 'Attachment',\n agreement: 'Agreement',\n input: 'Field',\n chooseFromList: 'Select',\n label: 'Label',\n multipleChoices: 'Choice',\n matrix: 'Matrix',\n checkboxes: 'Options',\n textarea: 'Text',\n}\n\nclass FormItemCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {ng.IAttributes} $attrs\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, $attrs, Utils) {\n this.Attrs = $attrs\n this.Utils = Utils\n this.templates = {\n upload: '',\n agreement: '',\n input: '',\n chooseFromList:\n '',\n label: '',\n multipleChoices:\n '',\n matrix: '',\n checkboxes: '',\n textarea: '',\n }\n this.item = {}\n this.scope = $scope\n }\n\n init() {\n this.item = this.Utils.extend(this.item || {}, {\n type: this.Attrs.type,\n props: {\n title: DEFAULT_TITLE[this.Attrs.type],\n helpText: '',\n },\n config: {\n required: false,\n },\n })\n }\n\n deleteClicked() {\n this.onDelete({ item: this.item, index: this.index() })\n }\n\n /**\n *\n * @param {string} type\n */\n _getItemTemplate(type) {\n const prefix =\n '' +\n '
' +\n '
' +\n ' ' +\n 'delete' +\n '' +\n ' ' +\n 'arrow_drop_up' +\n '' +\n ' ' +\n 'arrow_drop_down' +\n '' +\n '
' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n ''\n\n const suffix =\n '' +\n '' +\n 'Required field' +\n '' +\n '
'\n\n return prefix + this.templates[type] + suffix\n }\n}\n\nexport { FormItemCtrl }\n","import FormItemTemplate from './form-item.tpl.html'\nimport { FormItemCtrl } from './form-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItem {\n /**\n * @ngInject\n * @param {ng.ICompileService} $compile\n */\n constructor($compile) {\n this.$compile = $compile\n this.restrict = 'E'\n this.scope = {\n item: '=',\n onDelete: '&',\n onUp: '&',\n onDown: '&',\n index: '&',\n }\n this.controller = FormItemCtrl\n this.controllerAs = 'FormItem'\n this.bindToController = true\n this.template = FormItemTemplate\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n const template = ctrl._getItemTemplate(attrs.type)\n const el = this.$compile(template)(scope)\n // element.append(el)\n // if done like above adds twice\n // element.append(this.$compile(template)(scope))\n ctrl.init()\n return el\n }\n}\nexport { FormItem }\n","class FormItemsContainerCtrl {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {import('../../main/main.controller').FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { FormItemsContainerCtrl }\n","import { FormItemsContainerCtrl } from './form-items-container.controller'\nimport FormItemsContainerTemplate from './form-items-container.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItemsContainer {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n form: '=',\n }\n this.template = FormItemsContainerTemplate\n this.controller = FormItemsContainerCtrl\n this.controllerAs = 'container'\n this.bindToController = true\n }\n}\n\nexport { FormItemsContainer }\n","class FormViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScù} $scope\n */\n constructor($scope) {\n this.Scope = $scope\n }\n\n init() {}\n}\n\nexport { FormViewCtrl }\n","import { FormViewCtrl } from './form-view.controller'\nimport FormViewTemplate from './form-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormView {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = FormViewTemplate\n this.scope = {\n form: '=',\n }\n this.controller = FormViewCtrl\n this.controllerAs = 'FormView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n ctrl.init()\n }\n}\n\nexport { FormView }\n","class InputItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n type: 'text',\n },\n })\n }\n}\n\nexport { InputItemCtrl }\n","import { InputItemCtrl } from './input-item.controller'\nimport InputItemTemplate from './input-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = InputItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = InputItemCtrl\n this.controllerAs = 'Input'\n this.bindToController = true\n }\n}\n\nexport { InputItem }\n","class InputViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { InputViewCtrl }\n","import { InputViewCtrl } from './input-view.controller'\nimport InputViewTemplate from './input-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = InputViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = InputViewCtrl\n this.controllerAs = 'InputView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { InputView }\n","class LabelItemCtrl {\n /**\n * @ngInject\n * @param {JQLite} $element\n */\n constructor($element) {\n this.Element = $element\n }\n}\n\nexport { LabelItemCtrl }\n","import { LabelItemCtrl } from './label-item.controller'\nimport LabelItemTemplate from './label-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelItem {\n constructor() {\n this.restrict = 'E'\n this.template = LabelItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = LabelItemCtrl\n this.controllerAs = 'Label'\n this.bindToController = true\n }\n}\n\nexport { LabelItem }\n","class LabelViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.ISCEService} $sce\n */\n constructor(Utils, $sce) {\n this.Utils = Utils\n this.$sce = $sce\n }\n\n init() {\n this.Utils.extend(this.formItem, {})\n }\n\n get sanitizedTitle() {\n return this.$sce.trustAsHtml(this.formItem.value)\n }\n}\n\nexport { LabelViewCtrl }\n","import { LabelViewCtrl } from './label-view.controller'\nimport LabelViewTemplate from './label-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = LabelViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = LabelViewCtrl\n this.controllerAs = 'LabelView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {LabelViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { LabelView }\n","class MatrixItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.IDocumentService} $document\n */\n constructor(Utils, $document) {\n this.RowContainer = angular.element(\n $document[0].querySelector('.rowContainer')\n )\n this.ColumnContainer = angular.element(\n $document[0].querySelector('.columnContainer')\n )\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n rows: [\n {\n value: '',\n },\n ],\n columns: [\n {\n value: '',\n },\n ],\n },\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteRow(index) {\n this.item.config.rows.splice(index, 1)\n }\n\n addRow() {\n this.item.config.rows.push({\n value: '',\n })\n\n setTimeout(\n function () {\n const options = this.RowContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }.bind(this),\n 0\n )\n }\n\n /**\n *\n * @param {number} index\n */\n deleteColumn(index) {\n this.item.config.columns.splice(index, 1)\n }\n\n addColumn() {\n this.item.config.columns.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.ColumnContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { MatrixItemCtrl }\n","import { MatrixItemCtrl } from './matrix-item.controller'\nimport MatrixItemTemplate from './matrix-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass MatrixItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = MatrixItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = MatrixItemCtrl\n this.controllerAs = 'Matrix'\n this.bindToController = true\n }\n}\nexport { MatrixItem }\n","class MatrixViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.isValid = true\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {\n rows: [],\n columns: [],\n },\n })\n\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n _updateValidity() {\n let valid = true\n if (this.formItem.config.required) {\n valid = !this.formItem.config.rows.some(\n (row) => typeof row['selected'] === 'undefined'\n )\n // for (let i = 0; i < this.formItem.config.rows.length; i++) {\n // if (typeof this.formItem.config.rows[i]['selected'] === 'undefined') {\n // valid = false\n // break\n // }\n // }\n }\n\n this.isValid = valid\n this.form.$setValidity('required', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watchGroup(\n [\n 'MatrixView.formItem.config.required',\n 'MatrixView.formItem.config.rows.length',\n ],\n (newVal) => {\n if (newVal !== undefined) {\n this._updateValidity()\n }\n }\n )\n }\n}\nexport { MatrixViewCtrl }\n","import MatrixViewTemplate from './matrix-view.tpl.html'\nimport { MatrixViewCtrl } from './matrix-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass MatrixView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = MatrixViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = MatrixViewCtrl\n this.controllerAs = 'MatrixView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {MatrixViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { MatrixView }\n","class RadioButtonItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { RadioButtonItemCtrl }\n","import { RadioButtonItemCtrl } from './radio-button-item.controller'\nimport RadioButtonTemplate from './radio-button-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass RadioButtonItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = RadioButtonTemplate\n this.scope = {\n item: '=',\n }\n this.controller = RadioButtonItemCtrl\n this.controllerAs = 'RadioButton'\n this.bindToController = true\n }\n}\n\nexport { RadioButtonItem }\n","class RadioButtonViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { RadioButtonViewCtrl }\n","import { RadioButtonViewCtrl } from './radio-button-view.controller'\nimport RadioButtonViewTemplate from './radio-button-view.tpl.html'\n\nclass RadioButtonView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = RadioButtonViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = RadioButtonViewCtrl\n this.controllerAs = 'RadioButtonView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {RadioButtonViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { RadioButtonView }\n","class SelectItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { SelectItemCtrl }\n","import SelectTemplate from './select-item.tpl.html'\nimport { SelectItemCtrl } from './select-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = SelectTemplate\n this.scope = {\n item: '=',\n }\n this.controller = SelectItemCtrl\n this.controllerAs = 'Select'\n this.bindToController = true\n }\n}\n\nexport { SelectItem }\n","class SelectViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { SelectViewCtrl }\n","import SelectViewTemplate from './select-view.tpl.html'\nimport { SelectViewCtrl } from './select-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n\n this.restrict = 'E'\n this.template = SelectViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = SelectViewCtrl\n this.controllerAs = 'SelectView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {SelectViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { SelectView }\n","class TextareaItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {},\n })\n }\n}\n\nexport { TextareaItemCtrl }\n","import { TextareaItemCtrl } from './textarea-item.controller'\nimport TextareaItemTemplate from './textarea-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass TextareaItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = TextareaItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = TextareaItemCtrl\n this.controllerAs = 'Textarea'\n this.bindToController = true\n }\n}\n\nexport { TextareaItem }\n","class TextareaViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { TextareaViewCtrl }\n","import { TextareaViewCtrl } from './textarea-view.controller'\nimport TextareaViewTemplate from './textarea-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass TextareaView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.restrict = 'E'\n this.template = TextareaViewTemplate\n this.controller = TextareaViewCtrl\n this.controllerAs = 'TextareaView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {TextareaViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { TextareaView }\n","class UploadItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { UploadItemCtrl }\n","import UploadItemTemplate from './upload-item.tpl.html'\nimport { UploadItemCtrl } from './upload-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass UploadItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = UploadItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = UploadItemCtrl\n this.controllerAs = 'Upload'\n this.bindToController = true\n }\n}\n\nexport { UploadItem }\n","class UploadViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor($scope, Utils, $element) {\n this.Scope = $scope\n this.Element = $element\n this.Utils = Utils\n this.formItem = {}\n }\n init() {\n this.isMultiple = false\n this.showAllowed = false\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {\n size: 10,\n uploadFileButtonLabel: 'Add files',\n },\n options: [],\n })\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n _updateMultiple() {\n this.isMultiple = !!this.formItem.config.multipleUpload\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n this.formItem.options = []\n if (this.isMultiple) {\n input.attr('multiple', 'multiple')\n } else {\n input.removeAttr('multiple')\n }\n }\n }\n\n _updateAccept() {\n this.showAllowed = !!this.formItem.config.showAccept\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n if (this.showAllowed) {\n input[0].setAttribute('accept', this.formItem.config.accept)\n } else {\n input[0].removeAttribute('accept')\n delete this.formItem.config.accept\n }\n }\n }\n\n _enableWatchers() {\n this.Scope.$watch('UploadView.formItem.config.multipleUpload', (newVal) => {\n if (newVal !== undefined) {\n this._updateMultiple()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.showAccept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.accept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n }\n\n removeItem(index) {\n this.formItem.options.splice(index, 1)\n }\n}\nexport { UploadViewCtrl }\n","import { UploadViewCtrl } from './upload-view.controller'\nimport UploadViewTemplate from './upload-view.tpl.html'\n\nconst MB = 1024 * 1024\n\nclass UploadView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = UploadViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = UploadViewCtrl\n this.controllerAs = 'UploadView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {UploadViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n\n const button = angular.element(element[0].querySelector('.upload-button'))\n const input = angular.element(element[0].querySelector('input[type=file]'))\n const label = angular.element(element[0].querySelector('label'))\n\n if (label.length) {\n label.css('display', 'none')\n }\n\n button.on('click', () => {\n label.css('display', 'none')\n typeof input.trigger === 'function'\n ? input.trigger('click')\n : input[0].click()\n })\n\n input.on('change', (e) => {\n scope.$apply(function () {\n /**\n * @type {File[]}\n */\n const files = Array.from(e.target.files)\n // Max allowed size in MB\n const maxSizeMB = ctrl.formItem.config.size * MB\n const exceedsSize = files.some((file) => file.size >= maxSizeMB)\n if (exceedsSize) {\n label.css('display', 'block')\n label.text(ctrl.formItem.config.sizeErrMessage)\n ctrl.formItem.options = []\n } else {\n ctrl.formItem.options = files.map((file) => {\n const { name, size, type } = file\n return { name, size, type, file }\n })\n }\n })\n })\n }\n}\n\nexport { UploadView }\n","/**\n * @typedef {{type:string}} Item\n * @typedef {{items: Item[]}} FormConfig\n */\n\nclass MainController {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n * Add new Item\n * @param {string} type\n */\n addItem(type) {\n this.form.items.push({\n type,\n })\n }\n\n /**\n * Remove item at index\n * @param {Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n * insert before (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n * insert after (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { MainController }\n","class Utils {\n /**\n * Recursively extend object properties\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object}\n */\n extend(dest, src) {\n return Object.keys(src).reduce(\n (result, key) => {\n if (typeof result[key] === 'undefined') {\n result[key] = src[key]\n } else if (typeof src[key] === 'object') {\n result[key] = this.extend(result[key], src[key])\n }\n return result\n },\n typeof dest === 'undefined' ? {} : dest\n )\n }\n}\n\nexport { Utils }\n","// extracted by mini-css-extract-plugin\nexport {};","export default \"\\n \\n {{AgreementView.formItem.options[0].value}}\\n \\n\\n
\\n
\\n Must select {{AgreementView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Layout direction ({{Checkboxes.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n
\\n \\n add\\n \\n
\\n\\n\";","export default \"\\n \\n {{option.value}}\\n \\n\\n
\\n
\\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"
\\n
\\n \\n delete\\n \\n \\n arrow_drop_up\\n \\n \\n arrow_drop_down\\n \\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n

UNKNOWN TYPE

\\n
\\n\\n \\n Required field\\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n
{{formItem.props.title}}
\\n
{{formItem.props.helpText}}
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\\n\";","export default \"\\n \\n \\n\\n\\n \\n \\n Text\\n Number\\n Email\\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n \\n \\n\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add Column\\n
\\n\\n\\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add row\\n
\\n\\n\";","export default \"\\n
\\n
\\n \\n {{column.value}}\\n
\\n \\n {{row.value}}\\n \\n \\n \\n \\n \\n
\\n \\n\\n
\\n
This is required
\\n
\\n
\\n\";","export default \"\\n \\n Layout direction ({{RadioButton.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n \\n {{option.value}}\\n \\n \\n\\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n {{ option.value }}\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Multiple\\n \\n\\n \\n Max File size: {{Upload.item.config.size}} Mb\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n Configure allowed file types\\n \\n\\n \\n \\n \\n \\n\\n\";","export default \"
\\n \\n \\n \\n \\n \\n \\n\\n attach_file{{UploadView.formItem.config.uploadFileButtonLabel}}\\n
\\n\\n
\\n \\n \\n \\n close\\n \\n {{option.name}}\\n
\\n\\n\";","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss'\nimport { UploadItem } from './directives/upload-item/upload-item.directive'\nimport { UploadView } from './directives/upload-item/upload-view.directive'\nimport { AgreementItem } from './directives/agreement-item/agreement-item.directive'\nimport { AgreementView } from './directives/agreement-item/agreement-view.directive'\nimport { MainController } from './main/main.controller'\nimport { Utils } from './utils/utils.service'\nimport { CheckboxesItem } from './directives/checkboxes-item/checkboxes-item.directive'\nimport { CheckboxesView } from './directives/checkboxes-item/checkboxes-view.directive'\nimport { FormItem } from './directives/form-item/form-item.directive'\nimport { FormItemsContainer } from './directives/form-items-container/form-items-container.directive'\nimport { FormView } from './directives/form-view/form-view.directive'\nimport { InputItem } from './directives/input-item/input-item.directive'\nimport { InputView } from './directives/input-item/input-view.directive'\nimport { LabelItem } from './directives/label-item/label-item.directive'\nimport { LabelView } from './directives/label-item/label-view.directive'\nimport { MatrixItem } from './directives/matrix-item/matrix-item.directive'\nimport { MatrixView } from './directives/matrix-item/matrix-view.directive'\nimport { RadioButtonItem } from './directives/radio-button-item/radio-button-item.directive'\nimport { RadioButtonView } from './directives/radio-button-item/radio-button-view.directive'\nimport { SelectView } from './directives/select-item/select-view.directive'\nimport { SelectItem } from './directives/select-item/select-item.directive'\nimport { TextareaItem } from './directives/textarea-item/textarea-item.directive'\nimport { TextareaView } from './directives/textarea-item/textarea-view.directive'\n\nexport default angular\n .module('angularMaterialFormBuilder', [\n 'ngMaterial',\n 'angular-sortable-view',\n 'ngMessages',\n ])\n .service('Utils', Utils)\n .controller('MainController', MainController)\n .directive('uploadItem', UploadItem)\n .directive('uploadView', UploadView)\n .directive('agreementItem', AgreementItem)\n .directive('agreementView', AgreementView)\n .directive('checkboxesItem', CheckboxesItem)\n .directive('checkboxesView', CheckboxesView)\n .directive('formItem', FormItem)\n .directive('formItemsContainer', FormItemsContainer)\n .directive('formView', FormView)\n .directive('inputItem', InputItem)\n .directive('inputView', InputView)\n .directive('labelItem', LabelItem)\n .directive('labelView', LabelView)\n .directive('matrixItem', MatrixItem)\n .directive('matrixView', MatrixView)\n .directive('radioButtonItem', RadioButtonItem)\n .directive('radioButtonView', RadioButtonView)\n .directive('selectItem', SelectItem)\n .directive('selectView', SelectView)\n .directive('textareaItem', TextareaItem)\n .directive('textareaView', TextareaView)\n"],"names":["AgreementItemCtrl","Utils","$element","Element","item","extend","config","maxSelections","options","value","selected","AgreementItem","constructor","restrict","scope","controller","controllerAs","bindToController","AgreementViewCtrl","$scope","Scope","formItem","init","selectedOptions","_getSelectedOptions","disableOptions","isValid","_updateView","_updateValidity","isPreview","_enableWatchers","toggleSelectedOption","filter","option","length","required","form","$setValidity","$watch","newVal","undefined","AgreementViewTemplate","AgreementView","$timeout","template","link","element","attrs","ctrl","CheckboxesItemCtrl","deleteOption","index","splice","addOption","push","setTimeout","find","addedOption","focus","CheckboxesItemTemplate","CheckboxesItem","directive","CheckboxesViewCtrl","CheckboxesViewTemplate","CheckboxesView","DEFAULT_TITLE","upload","agreement","input","chooseFromList","label","multipleChoices","matrix","checkboxes","textarea","FormItemCtrl","$attrs","Attrs","templates","type","props","title","helpText","deleteClicked","onDelete","_getItemTemplate","prefix","suffix","FormItemTemplate","FormItem","$compile","onUp","onDown","el","FormItemsContainerCtrl","items","delete","up","prevItem","down","nextItem","FormItemsContainerTemplate","FormItemsContainer","FormViewCtrl","FormViewTemplate","FormView","InputItemCtrl","InputItemTemplate","InputItem","InputViewCtrl","InputViewTemplate","InputView","elem","LabelItemCtrl","LabelItemTemplate","LabelItem","LabelViewCtrl","$sce","sanitizedTitle","trustAsHtml","LabelViewTemplate","LabelView","MatrixItemCtrl","$document","RowContainer","angular","querySelector","ColumnContainer","rows","columns","deleteRow","addRow","bind","deleteColumn","addColumn","MatrixItemTemplate","MatrixItem","MatrixViewCtrl","valid","some","row","$watchGroup","MatrixViewTemplate","MatrixView","RadioButtonItemCtrl","RadioButtonTemplate","RadioButtonItem","RadioButtonViewCtrl","RadioButtonViewTemplate","RadioButtonView","SelectItemCtrl","SelectTemplate","SelectItem","SelectViewCtrl","SelectViewTemplate","SelectView","TextareaItemCtrl","TextareaItemTemplate","TextareaItem","TextareaViewCtrl","TextareaViewTemplate","TextareaView","UploadItemCtrl","UploadItemTemplate","UploadItem","UploadViewCtrl","isMultiple","showAllowed","size","uploadFileButtonLabel","_updateMultiple","multipleUpload","attr","removeAttr","_updateAccept","showAccept","setAttribute","accept","removeAttribute","removeItem","UploadViewTemplate","MB","UploadView","button","css","on","trigger","click","e","$apply","files","Array","from","target","maxSizeMB","exceedsSize","file","text","sizeErrMessage","map","name","MainController","addItem","dest","src","Object","keys","reduce","result","key","module","service"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/angular-material-form-builder.min.js b/dist/angular-material-form-builder.min.js index 647c48c..f1af2da 100644 --- a/dist/angular-material-form-builder.min.js +++ b/dist/angular-material-form-builder.min.js @@ -1,2 +1,2 @@ -!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:'',agreement:'',input:'',chooseFromList:'',label:'',multipleChoices:'',matrix:'',checkboxes:'',textarea:''},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'
delete arrow_drop_up arrow_drop_down
'+this.templates[e]+'Required field
'}}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,t){this.Utils=e,this.$sce=t}init(){this.Utils.extend(this.formItem,{})}get sanitizedTitle(){return this.$sce.trustAsHtml(this.formItem.value)}}n.$inject=["Utils","$sce"]},"./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/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='\n \n {{AgreementView.formItem.options[0].value}}\n \n\n
\n
\n Must select {{AgreementView.formItem.maxSelections || 1}} items\n
\n
\n
\n'},"./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n \n \n\n \n Layout direction ({{Checkboxes.item.config.direction == \'horizontal\' ?\n \'Horizontal\' : \'Vertical\'}})\n \n\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n \n \n
\n \n add\n \n
\n\n'},"./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n {{option.value}}\n \n\n
\n
\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\n
\n
\n
\n'},"./src/lib/directives/form-item/form-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='
\n
\n \n delete\n \n \n arrow_drop_up\n \n \n arrow_drop_down\n \n
\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n

UNKNOWN TYPE

\n
\n\n \n Required field\n \n
\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='
\n \n \n
\n'},"./src/lib/directives/form-view/form-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='
\n \n \n
\n
{{formItem.props.title}}
\n
{{formItem.props.helpText}}
\n\n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n'},"./src/lib/directives/input-item/input-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n\n\n \n \n Text\n Number\n Email\n \n\n'},"./src/lib/directives/input-item/input-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/label-item/label-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n\n'},"./src/lib/directives/label-item/label-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n
\n      \n      \n    
\n
\n
\n'},"./src/lib/directives/matrix-item/matrix-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n Delete\n \n \n
\n Add Column\n
\n\n\n\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n Delete\n \n \n
\n Add row\n
\n\n'},"./src/lib/directives/matrix-item/matrix-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n
\n
\n \n {{column.value}}\n
\n \n {{row.value}}\n \n \n \n \n \n
\n \n\n
\n
This is required
\n
\n
\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='\n \n Layout direction ({{RadioButton.item.config.direction == \'horizontal\' ?\n \'Horizontal\' : \'Vertical\'}})\n \n\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n \n \n\n Add Option\n\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='\n \n \n {{option.value}}\n \n \n\n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/select-item/select-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n \n \n\n Add Option\n\n'},"./src/lib/directives/select-item/select-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n {{ option.value }}\n \n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/textarea-item/textarea-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n\n'},"./src/lib/directives/textarea-item/textarea-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/upload-item/upload-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n \n \n\n \n Multiple\n \n\n \n Max File size: {{Upload.item.config.size}} Mb\n \n \n\n \n \n \n \n\n \n Configure allowed file types\n \n\n \n \n \n \n\n'},"./src/lib/directives/upload-item/upload-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='
\n \n \n \n \n \n \n\n attach_file{{UploadView.formItem.config.uploadFileButtonLabel}}\n
\n\n
\n \n \n \n close\n \n {{option.name}}\n
\n\n'}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}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})};var n={};return(()=>{i.r(n),i.d(n,{default:()=>$});i("./src/lib/index.scss");var e=i("./src/lib/directives/upload-item/upload-item.directive.js"),t=i("./src/lib/directives/upload-item/upload-view.directive.js"),o=i("./src/lib/directives/agreement-item/agreement-item.directive.js"),r=i("./src/lib/directives/agreement-item/agreement-view.directive.js"),s=i("./src/lib/main/main.controller.js"),l=i("./src/lib/utils/utils.service.js"),m=i("./src/lib/directives/checkboxes-item/checkboxes-item.directive.js"),c=i("./src/lib/directives/checkboxes-item/checkboxes-view.directive.js"),a=i("./src/lib/directives/form-item/form-item.directive.js"),d=i("./src/lib/directives/form-items-container/form-items-container.directive.js"),u=i("./src/lib/directives/form-view/form-view.directive.js"),p=i("./src/lib/directives/input-item/input-item.directive.js"),h=i("./src/lib/directives/input-item/input-view.directive.js"),b=i("./src/lib/directives/label-item/label-item.directive.js"),v=i("./src/lib/directives/label-item/label-view.directive.js"),f=i("./src/lib/directives/matrix-item/matrix-item.directive.js"),g=i("./src/lib/directives/matrix-item/matrix-view.directive.js"),w=i("./src/lib/directives/radio-button-item/radio-button-item.directive.js"),x=i("./src/lib/directives/radio-button-item/radio-button-view.directive.js"),I=i("./src/lib/directives/select-item/select-view.directive.js"),k=i("./src/lib/directives/select-item/select-item.directive.js"),V=i("./src/lib/directives/textarea-item/textarea-item.directive.js"),j=i("./src/lib/directives/textarea-item/textarea-view.directive.js");const $=angular.module("angularMaterialFormBuilder",["ngMaterial","angular-sortable-view","ngMessages"]).service("Utils",l.Utils).controller("MainController",s.MainController).directive("uploadItem",e.UploadItem).directive("uploadView",t.UploadView).directive("agreementItem",o.AgreementItem).directive("agreementView",r.AgreementView).directive("checkboxesItem",m.CheckboxesItem).directive("checkboxesView",c.CheckboxesView).directive("formItem",a.FormItem).directive("formItemsContainer",d.FormItemsContainer).directive("formView",u.FormView).directive("inputItem",p.InputItem).directive("inputView",h.InputView).directive("labelItem",b.LabelItem).directive("labelView",v.LabelView).directive("matrixItem",f.MatrixItem).directive("matrixView",g.MatrixView).directive("radioButtonItem",w.RadioButtonItem).directive("radioButtonView",x.RadioButtonView).directive("selectItem",k.SelectItem).directive("selectView",I.SelectView).directive("textareaItem",V.TextareaItem).directive("textareaView",j.TextareaView)})(),n})()})); +!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:'',agreement:'',input:'',chooseFromList:'',label:'',multipleChoices:'',matrix:'',checkboxes:'',textarea:''},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'
delete arrow_drop_up arrow_drop_down
'+this.templates[e]+'Required field
'}}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,t){this.Utils=e,this.$sce=t}init(){this.Utils.extend(this.formItem,{})}get sanitizedTitle(){return this.$sce.trustAsHtml(this.formItem.value)}}n.$inject=["Utils","$sce"]},"./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/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='\n \n {{AgreementView.formItem.options[0].value}}\n \n\n
\n
\n Must select {{AgreementView.formItem.maxSelections || 1}} items\n
\n
\n
\n'},"./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n \n \n\n \n Layout direction ({{Checkboxes.item.config.direction == \'horizontal\' ?\n \'Horizontal\' : \'Vertical\'}})\n \n\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n \n \n
\n \n add\n \n
\n\n'},"./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n {{option.value}}\n \n\n
\n
\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\n
\n
\n
\n'},"./src/lib/directives/form-item/form-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='
\n
\n \n delete\n \n \n arrow_drop_up\n \n \n arrow_drop_down\n \n
\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n

UNKNOWN TYPE

\n
\n\n \n Required field\n \n
\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='
\n \n \n
\n'},"./src/lib/directives/form-view/form-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='
\n \n \n
\n
{{formItem.props.title}}
\n
{{formItem.props.helpText}}
\n\n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n'},"./src/lib/directives/input-item/input-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n\n\n \n \n Text\n Number\n Email\n \n\n'},"./src/lib/directives/input-item/input-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/label-item/label-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n\n'},"./src/lib/directives/label-item/label-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n \n\n'},"./src/lib/directives/matrix-item/matrix-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n Delete\n \n \n
\n Add Column\n
\n\n\n\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n Delete\n \n \n
\n Add row\n
\n\n'},"./src/lib/directives/matrix-item/matrix-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n
\n
\n \n {{column.value}}\n
\n \n {{row.value}}\n \n \n \n \n \n
\n \n\n
\n
This is required
\n
\n
\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='\n \n Layout direction ({{RadioButton.item.config.direction == \'horizontal\' ?\n \'Horizontal\' : \'Vertical\'}})\n \n\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n \n \n\n Add Option\n\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='\n \n \n {{option.value}}\n \n \n\n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/select-item/select-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n reorder\n \n\n \n \n \n \n\n \n delete\n \n \n\n Add Option\n\n'},"./src/lib/directives/select-item/select-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n {{ option.value }}\n \n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/textarea-item/textarea-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n\n'},"./src/lib/directives/textarea-item/textarea-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n
\n
This field is required
\n
\n
\n'},"./src/lib/directives/upload-item/upload-item.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='\n \n \n \n \n\n \n Multiple\n \n\n \n Max File size: {{Upload.item.config.size}} Mb\n \n \n\n \n \n \n \n\n \n Configure allowed file types\n \n\n \n \n \n \n\n'},"./src/lib/directives/upload-item/upload-view.tpl.html":(e,t,i)=>{i.r(t),i.d(t,{default:()=>n});const n='
\n \n \n \n \n \n \n\n attach_file{{UploadView.formItem.config.uploadFileButtonLabel}}\n
\n\n
\n \n \n \n close\n \n {{option.name}}\n
\n\n'}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}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})};var n={};return(()=>{i.r(n),i.d(n,{default:()=>$});i("./src/lib/index.scss");var e=i("./src/lib/directives/upload-item/upload-item.directive.js"),t=i("./src/lib/directives/upload-item/upload-view.directive.js"),o=i("./src/lib/directives/agreement-item/agreement-item.directive.js"),r=i("./src/lib/directives/agreement-item/agreement-view.directive.js"),s=i("./src/lib/main/main.controller.js"),l=i("./src/lib/utils/utils.service.js"),m=i("./src/lib/directives/checkboxes-item/checkboxes-item.directive.js"),c=i("./src/lib/directives/checkboxes-item/checkboxes-view.directive.js"),a=i("./src/lib/directives/form-item/form-item.directive.js"),d=i("./src/lib/directives/form-items-container/form-items-container.directive.js"),u=i("./src/lib/directives/form-view/form-view.directive.js"),p=i("./src/lib/directives/input-item/input-item.directive.js"),h=i("./src/lib/directives/input-item/input-view.directive.js"),b=i("./src/lib/directives/label-item/label-item.directive.js"),v=i("./src/lib/directives/label-item/label-view.directive.js"),f=i("./src/lib/directives/matrix-item/matrix-item.directive.js"),g=i("./src/lib/directives/matrix-item/matrix-view.directive.js"),w=i("./src/lib/directives/radio-button-item/radio-button-item.directive.js"),x=i("./src/lib/directives/radio-button-item/radio-button-view.directive.js"),I=i("./src/lib/directives/select-item/select-view.directive.js"),k=i("./src/lib/directives/select-item/select-item.directive.js"),V=i("./src/lib/directives/textarea-item/textarea-item.directive.js"),j=i("./src/lib/directives/textarea-item/textarea-view.directive.js");const $=angular.module("angularMaterialFormBuilder",["ngMaterial","angular-sortable-view","ngMessages"]).service("Utils",l.Utils).controller("MainController",s.MainController).directive("uploadItem",e.UploadItem).directive("uploadView",t.UploadView).directive("agreementItem",o.AgreementItem).directive("agreementView",r.AgreementView).directive("checkboxesItem",m.CheckboxesItem).directive("checkboxesView",c.CheckboxesView).directive("formItem",a.FormItem).directive("formItemsContainer",d.FormItemsContainer).directive("formView",u.FormView).directive("inputItem",p.InputItem).directive("inputView",h.InputView).directive("labelItem",b.LabelItem).directive("labelView",v.LabelView).directive("matrixItem",f.MatrixItem).directive("matrixView",g.MatrixView).directive("radioButtonItem",w.RadioButtonItem).directive("radioButtonView",x.RadioButtonView).directive("selectItem",k.SelectItem).directive("selectView",I.SelectView).directive("textareaItem",V.TextareaItem).directive("textareaView",j.TextareaView)})(),n})()})); //# sourceMappingURL=angular-material-form-builder.min.js.map \ No newline at end of file diff --git a/dist/angular-material-form-builder.min.js.map b/dist/angular-material-form-builder.min.js.map index 970b619..66f1244 100644 --- a/dist/angular-material-form-builder.min.js.map +++ b/dist/angular-material-form-builder.min.js.map @@ -1 +1 @@ -{"version":3,"file":"angular-material-form-builder.min.js","mappings":"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","sources":["webpack://angular-material-form-builder/webpack/universalModuleDefinition","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.directive.js","webpack://angular-material-form-builder/./src/lib/main/main.controller.js","webpack://angular-material-form-builder/./src/lib/utils/utils.service.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.tpl.html","webpack://angular-material-form-builder/webpack/bootstrap","webpack://angular-material-form-builder/webpack/runtime/define property getters","webpack://angular-material-form-builder/webpack/runtime/hasOwnProperty shorthand","webpack://angular-material-form-builder/webpack/runtime/make namespace object","webpack://angular-material-form-builder/./src/lib/index.module.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular-material-form-builder\"] = factory();\n\telse\n\t\troot[\"angular-material-form-builder\"] = factory();\n})(self, function() {\nreturn ","/**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\nfunction AgreementItemCtrl(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n}\n\nexport { AgreementItemCtrl }\n","import { AgreementItemCtrl } from './agreement-item.controller'\n// import AgreementItemTemplate from './agreement-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass AgreementItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n item: '=',\n }\n this.controller = AgreementItemCtrl\n this.controllerAs = 'Agreement'\n this.bindToController = true\n }\n}\n\nexport { AgreementItem }\n","class AgreementViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('AgreementView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { AgreementViewCtrl }\n","import { AgreementViewCtrl } from './agreement-view.controller'\nimport AgreementViewTemplate from './agreement-view.tpl.html'\n\nclass AgreementView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = AgreementViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = AgreementViewCtrl\n this.controllerAs = 'AgreementView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {AgreementViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { AgreementView }\n","class CheckboxesItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n selected: false,\n })\n // Focus new element\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { CheckboxesItemCtrl }\n","import CheckboxesItemTemplate from './checkboxes-item.tpl.html'\nimport { CheckboxesItemCtrl } from './checkboxes-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nfunction CheckboxesItem() {\n const directive = {\n restrict: 'E',\n template: CheckboxesItemTemplate,\n scope: {\n item: '=',\n },\n controller: CheckboxesItemCtrl,\n controllerAs: 'Checkboxes',\n bindToController: true,\n }\n\n return directive\n}\n\nexport { CheckboxesItem }\n","class CheckboxesViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('CheckboxesView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { CheckboxesViewCtrl }\n","import CheckboxesViewTemplate from './checkboxes-view.tpl.html'\nimport { CheckboxesViewCtrl } from './checkboxes-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass CheckboxesView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = CheckboxesViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = CheckboxesViewCtrl\n this.controllerAs = 'CheckboxesView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {CheckboxesViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { CheckboxesView }\n","const DEFAULT_TITLE = {\n upload: 'Attachment',\n agreement: 'Agreement',\n input: 'Field',\n chooseFromList: 'Select',\n label: 'Label',\n multipleChoices: 'Choice',\n matrix: 'Matrix',\n checkboxes: 'Options',\n textarea: 'Text',\n}\n\nclass FormItemCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {ng.IAttributes} $attrs\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, $attrs, Utils) {\n this.Attrs = $attrs\n this.Utils = Utils\n this.templates = {\n upload: '',\n agreement: '',\n input: '',\n chooseFromList:\n '',\n label: '',\n multipleChoices:\n '',\n matrix: '',\n checkboxes: '',\n textarea: '',\n }\n this.item = {}\n this.scope = $scope\n }\n\n init() {\n this.item = this.Utils.extend(this.item || {}, {\n type: this.Attrs.type,\n props: {\n title: DEFAULT_TITLE[this.Attrs.type],\n helpText: '',\n },\n config: {\n required: false,\n },\n })\n }\n\n deleteClicked() {\n this.onDelete({ item: this.item, index: this.index() })\n }\n\n /**\n *\n * @param {string} type\n */\n _getItemTemplate(type) {\n const prefix =\n '' +\n '
' +\n '
' +\n ' ' +\n 'delete' +\n '' +\n ' ' +\n 'arrow_drop_up' +\n '' +\n ' ' +\n 'arrow_drop_down' +\n '' +\n '
' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n ''\n\n const suffix =\n '' +\n '' +\n 'Required field' +\n '' +\n '
'\n\n return prefix + this.templates[type] + suffix\n }\n}\n\nexport { FormItemCtrl }\n","import FormItemTemplate from './form-item.tpl.html'\nimport { FormItemCtrl } from './form-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItem {\n /**\n * @ngInject\n * @param {ng.ICompileService} $compile\n */\n constructor($compile) {\n this.$compile = $compile\n this.restrict = 'E'\n this.scope = {\n item: '=',\n onDelete: '&',\n onUp: '&',\n onDown: '&',\n index: '&',\n }\n this.controller = FormItemCtrl\n this.controllerAs = 'FormItem'\n this.bindToController = true\n this.template = FormItemTemplate\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n const template = ctrl._getItemTemplate(attrs.type)\n const el = this.$compile(template)(scope)\n // element.append(el)\n // if done like above adds twice\n // element.append(this.$compile(template)(scope))\n ctrl.init()\n return el\n }\n}\nexport { FormItem }\n","class FormItemsContainerCtrl {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {import('../../main/main.controller').FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { FormItemsContainerCtrl }\n","import { FormItemsContainerCtrl } from './form-items-container.controller'\nimport FormItemsContainerTemplate from './form-items-container.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItemsContainer {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n form: '=',\n }\n this.template = FormItemsContainerTemplate\n this.controller = FormItemsContainerCtrl\n this.controllerAs = 'container'\n this.bindToController = true\n }\n}\n\nexport { FormItemsContainer }\n","class FormViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScù} $scope\n */\n constructor($scope) {\n this.Scope = $scope\n }\n\n init() {}\n}\n\nexport { FormViewCtrl }\n","import { FormViewCtrl } from './form-view.controller'\nimport FormViewTemplate from './form-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormView {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = FormViewTemplate\n this.scope = {\n form: '=',\n }\n this.controller = FormViewCtrl\n this.controllerAs = 'FormView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n ctrl.init()\n }\n}\n\nexport { FormView }\n","class InputItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n type: 'text',\n },\n })\n }\n}\n\nexport { InputItemCtrl }\n","import { InputItemCtrl } from './input-item.controller'\nimport InputItemTemplate from './input-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = InputItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = InputItemCtrl\n this.controllerAs = 'Input'\n this.bindToController = true\n }\n}\n\nexport { InputItem }\n","class InputViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { InputViewCtrl }\n","import { InputViewCtrl } from './input-view.controller'\nimport InputViewTemplate from './input-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = InputViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = InputViewCtrl\n this.controllerAs = 'InputView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { InputView }\n","class LabelItemCtrl {\n /**\n * @ngInject\n * @param {JQLite} $element\n */\n constructor($element) {\n this.Element = $element\n }\n}\n\nexport { LabelItemCtrl }\n","import { LabelItemCtrl } from './label-item.controller'\nimport LabelItemTemplate from './label-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelItem {\n constructor() {\n this.restrict = 'E'\n this.template = LabelItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = LabelItemCtrl\n this.controllerAs = 'Label'\n this.bindToController = true\n }\n}\n\nexport { LabelItem }\n","class LabelViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.ISCEService} $sce\n */\n constructor(Utils, $sce) {\n this.Utils = Utils\n this.$sce = $sce\n }\n\n init() {\n this.Utils.extend(this.formItem, {})\n }\n\n get sanitizedTitle() {\n return this.$sce.trustAsHtml(this.formItem.value)\n }\n}\n\nexport { LabelViewCtrl }\n","import { LabelViewCtrl } from './label-view.controller'\nimport LabelViewTemplate from './label-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = LabelViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = LabelViewCtrl\n this.controllerAs = 'LabelView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {LabelViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { LabelView }\n","class MatrixItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.IDocumentService} $document\n */\n constructor(Utils, $document) {\n this.RowContainer = angular.element(\n $document[0].querySelector('.rowContainer')\n )\n this.ColumnContainer = angular.element(\n $document[0].querySelector('.columnContainer')\n )\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n rows: [\n {\n value: '',\n },\n ],\n columns: [\n {\n value: '',\n },\n ],\n },\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteRow(index) {\n this.item.config.rows.splice(index, 1)\n }\n\n addRow() {\n this.item.config.rows.push({\n value: '',\n })\n\n setTimeout(\n function () {\n const options = this.RowContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }.bind(this),\n 0\n )\n }\n\n /**\n *\n * @param {number} index\n */\n deleteColumn(index) {\n this.item.config.columns.splice(index, 1)\n }\n\n addColumn() {\n this.item.config.columns.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.ColumnContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { MatrixItemCtrl }\n","import { MatrixItemCtrl } from './matrix-item.controller'\nimport MatrixItemTemplate from './matrix-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass MatrixItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = MatrixItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = MatrixItemCtrl\n this.controllerAs = 'Matrix'\n this.bindToController = true\n }\n}\nexport { MatrixItem }\n","class MatrixViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.isValid = true\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {\n rows: [],\n columns: [],\n },\n })\n\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n _updateValidity() {\n let valid = true\n if (this.formItem.config.required) {\n valid = !this.formItem.config.rows.some(\n (row) => typeof row['selected'] === 'undefined'\n )\n // for (let i = 0; i < this.formItem.config.rows.length; i++) {\n // if (typeof this.formItem.config.rows[i]['selected'] === 'undefined') {\n // valid = false\n // break\n // }\n // }\n }\n\n this.isValid = valid\n this.form.$setValidity('required', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watchGroup(\n [\n 'MatrixView.formItem.config.required',\n 'MatrixView.formItem.config.rows.length',\n ],\n (newVal) => {\n if (newVal !== undefined) {\n this._updateValidity()\n }\n }\n )\n }\n}\nexport { MatrixViewCtrl }\n","import MatrixViewTemplate from './matrix-view.tpl.html'\nimport { MatrixViewCtrl } from './matrix-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass MatrixView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = MatrixViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = MatrixViewCtrl\n this.controllerAs = 'MatrixView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {MatrixViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { MatrixView }\n","class RadioButtonItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { RadioButtonItemCtrl }\n","import { RadioButtonItemCtrl } from './radio-button-item.controller'\nimport RadioButtonTemplate from './radio-button-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass RadioButtonItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = RadioButtonTemplate\n this.scope = {\n item: '=',\n }\n this.controller = RadioButtonItemCtrl\n this.controllerAs = 'RadioButton'\n this.bindToController = true\n }\n}\n\nexport { RadioButtonItem }\n","class RadioButtonViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { RadioButtonViewCtrl }\n","import { RadioButtonViewCtrl } from './radio-button-view.controller'\nimport RadioButtonViewTemplate from './radio-button-view.tpl.html'\n\nclass RadioButtonView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = RadioButtonViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = RadioButtonViewCtrl\n this.controllerAs = 'RadioButtonView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {RadioButtonViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { RadioButtonView }\n","class SelectItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { SelectItemCtrl }\n","import SelectTemplate from './select-item.tpl.html'\nimport { SelectItemCtrl } from './select-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = SelectTemplate\n this.scope = {\n item: '=',\n }\n this.controller = SelectItemCtrl\n this.controllerAs = 'Select'\n this.bindToController = true\n }\n}\n\nexport { SelectItem }\n","class SelectViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { SelectViewCtrl }\n","import SelectViewTemplate from './select-view.tpl.html'\nimport { SelectViewCtrl } from './select-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n\n this.restrict = 'E'\n this.template = SelectViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = SelectViewCtrl\n this.controllerAs = 'SelectView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {SelectViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { SelectView }\n","class TextareaItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {},\n })\n }\n}\n\nexport { TextareaItemCtrl }\n","import { TextareaItemCtrl } from './textarea-item.controller'\nimport TextareaItemTemplate from './textarea-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass TextareaItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = TextareaItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = TextareaItemCtrl\n this.controllerAs = 'Textarea'\n this.bindToController = true\n }\n}\n\nexport { TextareaItem }\n","class TextareaViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { TextareaViewCtrl }\n","import { TextareaViewCtrl } from './textarea-view.controller'\nimport TextareaViewTemplate from './textarea-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass TextareaView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.restrict = 'E'\n this.template = TextareaViewTemplate\n this.controller = TextareaViewCtrl\n this.controllerAs = 'TextareaView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {TextareaViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { TextareaView }\n","class UploadItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { UploadItemCtrl }\n","import UploadItemTemplate from './upload-item.tpl.html'\nimport { UploadItemCtrl } from './upload-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass UploadItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = UploadItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = UploadItemCtrl\n this.controllerAs = 'Upload'\n this.bindToController = true\n }\n}\n\nexport { UploadItem }\n","class UploadViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor($scope, Utils, $element) {\n this.Scope = $scope\n this.Element = $element\n this.Utils = Utils\n this.formItem = {}\n }\n init() {\n this.isMultiple = false\n this.showAllowed = false\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {\n size: 10,\n uploadFileButtonLabel: 'Add files',\n },\n options: [],\n })\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n _updateMultiple() {\n this.isMultiple = !!this.formItem.config.multipleUpload\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n this.formItem.options = []\n if (this.isMultiple) {\n input.attr('multiple', 'multiple')\n } else {\n input.removeAttr('multiple')\n }\n }\n }\n\n _updateAccept() {\n this.showAllowed = !!this.formItem.config.showAccept\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n if (this.showAllowed) {\n input[0].setAttribute('accept', this.formItem.config.accept)\n } else {\n input[0].removeAttribute('accept')\n delete this.formItem.config.accept\n }\n }\n }\n\n _enableWatchers() {\n this.Scope.$watch('UploadView.formItem.config.multipleUpload', (newVal) => {\n if (newVal !== undefined) {\n this._updateMultiple()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.showAccept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.accept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n }\n\n removeItem(index) {\n this.formItem.options.splice(index, 1)\n }\n}\nexport { UploadViewCtrl }\n","import { UploadViewCtrl } from './upload-view.controller'\nimport UploadViewTemplate from './upload-view.tpl.html'\n\nconst MB = 1024 * 1024\n\nclass UploadView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = UploadViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = UploadViewCtrl\n this.controllerAs = 'UploadView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {UploadViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n\n const button = angular.element(element[0].querySelector('.upload-button'))\n const input = angular.element(element[0].querySelector('input[type=file]'))\n const label = angular.element(element[0].querySelector('label'))\n\n if (label.length) {\n label.css('display', 'none')\n }\n\n button.on('click', () => {\n label.css('display', 'none')\n typeof input.trigger === 'function'\n ? input.trigger('click')\n : input[0].click()\n })\n\n input.on('change', (e) => {\n scope.$apply(function () {\n /**\n * @type {File[]}\n */\n const files = Array.from(e.target.files)\n // Max allowed size in MB\n const maxSizeMB = ctrl.formItem.config.size * MB\n const exceedsSize = files.some((file) => file.size >= maxSizeMB)\n if (exceedsSize) {\n label.css('display', 'block')\n label.text(ctrl.formItem.config.sizeErrMessage)\n ctrl.formItem.options = []\n } else {\n ctrl.formItem.options = files.map((file) => {\n const { name, size, type } = file\n return { name, size, type, file }\n })\n }\n })\n })\n }\n}\n\nexport { UploadView }\n","/**\n * @typedef {{type:string}} Item\n * @typedef {{items: Item[]}} FormConfig\n */\n\nclass MainController {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n * Add new Item\n * @param {string} type\n */\n addItem(type) {\n this.form.items.push({\n type,\n })\n }\n\n /**\n * Remove item at index\n * @param {Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n * insert before (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n * insert after (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { MainController }\n","class Utils {\n /**\n * Recursively extend object properties\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object}\n */\n extend(dest, src) {\n return Object.keys(src).reduce(\n (result, key) => {\n if (typeof result[key] === 'undefined') {\n result[key] = src[key]\n } else if (typeof src[key] === 'object') {\n result[key] = this.extend(result[key], src[key])\n }\n return result\n },\n typeof dest === 'undefined' ? {} : dest\n )\n }\n}\n\nexport { Utils }\n","export default \"\\n \\n {{AgreementView.formItem.options[0].value}}\\n \\n\\n
\\n
\\n Must select {{AgreementView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Layout direction ({{Checkboxes.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n
\\n \\n add\\n \\n
\\n\\n\";","export default \"\\n \\n {{option.value}}\\n \\n\\n
\\n
\\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"
\\n
\\n \\n delete\\n \\n \\n arrow_drop_up\\n \\n \\n arrow_drop_down\\n \\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n

UNKNOWN TYPE

\\n
\\n\\n \\n Required field\\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n
{{formItem.props.title}}
\\n
{{formItem.props.helpText}}
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\\n\";","export default \"\\n \\n \\n\\n\\n \\n \\n Text\\n Number\\n Email\\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n
\\n      \\n      \\n    
\\n
\\n
\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add Column\\n
\\n\\n\\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add row\\n
\\n\\n\";","export default \"\\n
\\n
\\n \\n {{column.value}}\\n
\\n \\n {{row.value}}\\n \\n \\n \\n \\n \\n
\\n \\n\\n
\\n
This is required
\\n
\\n
\\n\";","export default \"\\n \\n Layout direction ({{RadioButton.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n \\n {{option.value}}\\n \\n \\n\\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n {{ option.value }}\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Multiple\\n \\n\\n \\n Max File size: {{Upload.item.config.size}} Mb\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n Configure allowed file types\\n \\n\\n \\n \\n \\n \\n\\n\";","export default \"
\\n \\n \\n \\n \\n \\n \\n\\n attach_file{{UploadView.formItem.config.uploadFileButtonLabel}}\\n
\\n\\n
\\n \\n \\n \\n close\\n \\n {{option.name}}\\n
\\n\\n\";","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss'\nimport { UploadItem } from './directives/upload-item/upload-item.directive'\nimport { UploadView } from './directives/upload-item/upload-view.directive'\nimport { AgreementItem } from './directives/agreement-item/agreement-item.directive'\nimport { AgreementView } from './directives/agreement-item/agreement-view.directive'\nimport { MainController } from './main/main.controller'\nimport { Utils } from './utils/utils.service'\nimport { CheckboxesItem } from './directives/checkboxes-item/checkboxes-item.directive'\nimport { CheckboxesView } from './directives/checkboxes-item/checkboxes-view.directive'\nimport { FormItem } from './directives/form-item/form-item.directive'\nimport { FormItemsContainer } from './directives/form-items-container/form-items-container.directive'\nimport { FormView } from './directives/form-view/form-view.directive'\nimport { InputItem } from './directives/input-item/input-item.directive'\nimport { InputView } from './directives/input-item/input-view.directive'\nimport { LabelItem } from './directives/label-item/label-item.directive'\nimport { LabelView } from './directives/label-item/label-view.directive'\nimport { MatrixItem } from './directives/matrix-item/matrix-item.directive'\nimport { MatrixView } from './directives/matrix-item/matrix-view.directive'\nimport { RadioButtonItem } from './directives/radio-button-item/radio-button-item.directive'\nimport { RadioButtonView } from './directives/radio-button-item/radio-button-view.directive'\nimport { SelectView } from './directives/select-item/select-view.directive'\nimport { SelectItem } from './directives/select-item/select-item.directive'\nimport { TextareaItem } from './directives/textarea-item/textarea-item.directive'\nimport { TextareaView } from './directives/textarea-item/textarea-view.directive'\n\nexport default angular\n .module('angularMaterialFormBuilder', [\n 'ngMaterial',\n 'angular-sortable-view',\n 'ngMessages',\n ])\n .service('Utils', Utils)\n .controller('MainController', MainController)\n .directive('uploadItem', UploadItem)\n .directive('uploadView', UploadView)\n .directive('agreementItem', AgreementItem)\n .directive('agreementView', AgreementView)\n .directive('checkboxesItem', CheckboxesItem)\n .directive('checkboxesView', CheckboxesView)\n .directive('formItem', FormItem)\n .directive('formItemsContainer', FormItemsContainer)\n .directive('formView', FormView)\n .directive('inputItem', InputItem)\n .directive('inputView', InputView)\n .directive('labelItem', LabelItem)\n .directive('labelView', LabelView)\n .directive('matrixItem', MatrixItem)\n .directive('matrixView', MatrixView)\n .directive('radioButtonItem', RadioButtonItem)\n .directive('radioButtonView', RadioButtonView)\n .directive('selectItem', SelectItem)\n .directive('selectView', SelectView)\n .directive('textareaItem', TextareaItem)\n .directive('textareaView', TextareaView)\n"],"names":["root","factory","exports","module","define","amd","self","AgreementItemCtrl","Utils","$element","this","Element","item","extend","config","maxSelections","options","value","selected","AgreementItem","constructor","restrict","scope","controller","controllerAs","bindToController","AgreementViewCtrl","$scope","Scope","formItem","init","selectedOptions","_getSelectedOptions","disableOptions","isValid","_updateView","_updateValidity","isPreview","_enableWatchers","toggleSelectedOption","filter","option","length","required","form","$setValidity","$watch","newVal","undefined","AgreementView","$timeout","template","AgreementViewTemplate","link","element","attrs","ctrl","CheckboxesItemCtrl","deleteOption","index","splice","addOption","push","setTimeout","find","focus","CheckboxesItem","CheckboxesItemTemplate","CheckboxesViewCtrl","CheckboxesView","CheckboxesViewTemplate","DEFAULT_TITLE","upload","agreement","input","chooseFromList","label","multipleChoices","matrix","checkboxes","textarea","FormItemCtrl","$attrs","Attrs","templates","type","props","title","helpText","deleteClicked","onDelete","_getItemTemplate","FormItem","$compile","onUp","onDown","FormItemTemplate","el","FormItemsContainerCtrl","items","delete","up","prevItem","down","nextItem","FormItemsContainer","FormItemsContainerTemplate","FormViewCtrl","FormView","FormViewTemplate","InputItemCtrl","InputItem","InputItemTemplate","InputViewCtrl","InputView","InputViewTemplate","elem","LabelItemCtrl","LabelItem","LabelItemTemplate","LabelViewCtrl","$sce","sanitizedTitle","trustAsHtml","LabelView","LabelViewTemplate","MatrixItemCtrl","$document","RowContainer","angular","querySelector","ColumnContainer","rows","columns","deleteRow","addRow","bind","deleteColumn","addColumn","MatrixItem","MatrixItemTemplate","MatrixViewCtrl","valid","some","row","$watchGroup","MatrixView","MatrixViewTemplate","RadioButtonItemCtrl","RadioButtonItem","RadioButtonTemplate","RadioButtonViewCtrl","RadioButtonView","RadioButtonViewTemplate","SelectItemCtrl","SelectItem","SelectTemplate","SelectViewCtrl","SelectView","SelectViewTemplate","TextareaItemCtrl","TextareaItem","TextareaItemTemplate","TextareaViewCtrl","TextareaView","TextareaViewTemplate","UploadItemCtrl","UploadItem","UploadItemTemplate","UploadViewCtrl","isMultiple","showAllowed","size","uploadFileButtonLabel","_updateMultiple","multipleUpload","attr","removeAttr","_updateAccept","showAccept","setAttribute","accept","removeAttribute","removeItem","UploadView","UploadViewTemplate","button","css","on","trigger","click","e","$apply","files","Array","from","target","maxSizeMB","file","text","sizeErrMessage","map","name","MainController","addItem","dest","src","Object","keys","reduce","result","key","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","service","directive"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"angular-material-form-builder.min.js","mappings":"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","sources":["webpack://angular-material-form-builder/webpack/universalModuleDefinition","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.directive.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.directive.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.controller.js","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.directive.js","webpack://angular-material-form-builder/./src/lib/main/main.controller.js","webpack://angular-material-form-builder/./src/lib/utils/utils.service.js","webpack://angular-material-form-builder/./src/lib/directives/agreement-item/agreement-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/checkboxes-item/checkboxes-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-item/form-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-items-container/form-items-container.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/form-view/form-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/input-item/input-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/label-item/label-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/matrix-item/matrix-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/radio-button-item/radio-button-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/select-item/select-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/textarea-item/textarea-view.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-item.tpl.html","webpack://angular-material-form-builder/./src/lib/directives/upload-item/upload-view.tpl.html","webpack://angular-material-form-builder/webpack/bootstrap","webpack://angular-material-form-builder/webpack/runtime/define property getters","webpack://angular-material-form-builder/webpack/runtime/hasOwnProperty shorthand","webpack://angular-material-form-builder/webpack/runtime/make namespace object","webpack://angular-material-form-builder/./src/lib/index.module.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"angular-material-form-builder\"] = factory();\n\telse\n\t\troot[\"angular-material-form-builder\"] = factory();\n})(self, function() {\nreturn ","/**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\nfunction AgreementItemCtrl(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n}\n\nexport { AgreementItemCtrl }\n","import { AgreementItemCtrl } from './agreement-item.controller'\n// import AgreementItemTemplate from './agreement-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass AgreementItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n item: '=',\n }\n this.controller = AgreementItemCtrl\n this.controllerAs = 'Agreement'\n this.bindToController = true\n }\n}\n\nexport { AgreementItem }\n","class AgreementViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('AgreementView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { AgreementViewCtrl }\n","import { AgreementViewCtrl } from './agreement-view.controller'\nimport AgreementViewTemplate from './agreement-view.tpl.html'\n\nclass AgreementView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = AgreementViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = AgreementViewCtrl\n this.controllerAs = 'AgreementView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {AgreementViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { AgreementView }\n","class CheckboxesItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {\n maxSelections: null,\n },\n options: [\n {\n value: '',\n selected: false,\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n selected: false,\n })\n // Focus new element\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { CheckboxesItemCtrl }\n","import CheckboxesItemTemplate from './checkboxes-item.tpl.html'\nimport { CheckboxesItemCtrl } from './checkboxes-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nfunction CheckboxesItem() {\n const directive = {\n restrict: 'E',\n template: CheckboxesItemTemplate,\n scope: {\n item: '=',\n },\n controller: CheckboxesItemCtrl,\n controllerAs: 'Checkboxes',\n bindToController: true,\n }\n\n return directive\n}\n\nexport { CheckboxesItem }\n","class CheckboxesViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {},\n options: [],\n })\n\n this.selectedOptions = this._getSelectedOptions()\n this.disableOptions = false\n\n this.isValid = true\n this._updateView()\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n toggleSelectedOption() {\n this.selectedOptions = this._getSelectedOptions()\n this._updateView()\n this._updateValidity()\n }\n\n _getSelectedOptions() {\n return this.formItem.options.filter((option) => {\n return option.selected\n })\n }\n\n _updateView() {\n if (!this.formItem.config.maxSelections) {\n this.disableOptions = false\n } else if (\n this.selectedOptions.length === this.formItem.config.maxSelections\n ) {\n this.disableOptions = true\n } else {\n this.disableOptions = false\n }\n }\n\n _updateValidity() {\n if (this.formItem.config.required) {\n this.isValid = this.selectedOptions.length > 0\n } else {\n this.isValid = true\n }\n\n this.form.$setValidity('minSelections', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watch('CheckboxesView.formItem.config.required', (newVal) => {\n if (newVal !== undefined) {\n this._updateView()\n this._updateValidity()\n }\n })\n }\n}\n\nexport { CheckboxesViewCtrl }\n","import CheckboxesViewTemplate from './checkboxes-view.tpl.html'\nimport { CheckboxesViewCtrl } from './checkboxes-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass CheckboxesView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = CheckboxesViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = CheckboxesViewCtrl\n this.controllerAs = 'CheckboxesView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {CheckboxesViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { CheckboxesView }\n","const DEFAULT_TITLE = {\n upload: 'Attachment',\n agreement: 'Agreement',\n input: 'Field',\n chooseFromList: 'Select',\n label: 'Label',\n multipleChoices: 'Choice',\n matrix: 'Matrix',\n checkboxes: 'Options',\n textarea: 'Text',\n}\n\nclass FormItemCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {ng.IAttributes} $attrs\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, $attrs, Utils) {\n this.Attrs = $attrs\n this.Utils = Utils\n this.templates = {\n upload: '',\n agreement: '',\n input: '',\n chooseFromList:\n '',\n label: '',\n multipleChoices:\n '',\n matrix: '',\n checkboxes: '',\n textarea: '',\n }\n this.item = {}\n this.scope = $scope\n }\n\n init() {\n this.item = this.Utils.extend(this.item || {}, {\n type: this.Attrs.type,\n props: {\n title: DEFAULT_TITLE[this.Attrs.type],\n helpText: '',\n },\n config: {\n required: false,\n },\n })\n }\n\n deleteClicked() {\n this.onDelete({ item: this.item, index: this.index() })\n }\n\n /**\n *\n * @param {string} type\n */\n _getItemTemplate(type) {\n const prefix =\n '' +\n '
' +\n '
' +\n ' ' +\n 'delete' +\n '' +\n ' ' +\n 'arrow_drop_up' +\n '' +\n ' ' +\n 'arrow_drop_down' +\n '' +\n '
' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n ''\n\n const suffix =\n '' +\n '' +\n 'Required field' +\n '' +\n '
'\n\n return prefix + this.templates[type] + suffix\n }\n}\n\nexport { FormItemCtrl }\n","import FormItemTemplate from './form-item.tpl.html'\nimport { FormItemCtrl } from './form-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItem {\n /**\n * @ngInject\n * @param {ng.ICompileService} $compile\n */\n constructor($compile) {\n this.$compile = $compile\n this.restrict = 'E'\n this.scope = {\n item: '=',\n onDelete: '&',\n onUp: '&',\n onDown: '&',\n index: '&',\n }\n this.controller = FormItemCtrl\n this.controllerAs = 'FormItem'\n this.bindToController = true\n this.template = FormItemTemplate\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n const template = ctrl._getItemTemplate(attrs.type)\n const el = this.$compile(template)(scope)\n // element.append(el)\n // if done like above adds twice\n // element.append(this.$compile(template)(scope))\n ctrl.init()\n return el\n }\n}\nexport { FormItem }\n","class FormItemsContainerCtrl {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {import('../../main/main.controller').FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n *\n * @param {import('../../main/main.controller').Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { FormItemsContainerCtrl }\n","import { FormItemsContainerCtrl } from './form-items-container.controller'\nimport FormItemsContainerTemplate from './form-items-container.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormItemsContainer {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.scope = {\n form: '=',\n }\n this.template = FormItemsContainerTemplate\n this.controller = FormItemsContainerCtrl\n this.controllerAs = 'container'\n this.bindToController = true\n }\n}\n\nexport { FormItemsContainer }\n","class FormViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScù} $scope\n */\n constructor($scope) {\n this.Scope = $scope\n }\n\n init() {}\n}\n\nexport { FormViewCtrl }\n","import { FormViewCtrl } from './form-view.controller'\nimport FormViewTemplate from './form-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass FormView {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = FormViewTemplate\n this.scope = {\n form: '=',\n }\n this.controller = FormViewCtrl\n this.controllerAs = 'FormView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n ctrl.init()\n }\n}\n\nexport { FormView }\n","class InputItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n type: 'text',\n },\n })\n }\n}\n\nexport { InputItemCtrl }\n","import { InputItemCtrl } from './input-item.controller'\nimport InputItemTemplate from './input-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = InputItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = InputItemCtrl\n this.controllerAs = 'Input'\n this.bindToController = true\n }\n}\n\nexport { InputItem }\n","class InputViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { InputViewCtrl }\n","import { InputViewCtrl } from './input-view.controller'\nimport InputViewTemplate from './input-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass InputView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = InputViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = InputViewCtrl\n this.controllerAs = 'InputView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {FormItemCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { InputView }\n","class LabelItemCtrl {\n /**\n * @ngInject\n * @param {JQLite} $element\n */\n constructor($element) {\n this.Element = $element\n }\n}\n\nexport { LabelItemCtrl }\n","import { LabelItemCtrl } from './label-item.controller'\nimport LabelItemTemplate from './label-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelItem {\n constructor() {\n this.restrict = 'E'\n this.template = LabelItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = LabelItemCtrl\n this.controllerAs = 'Label'\n this.bindToController = true\n }\n}\n\nexport { LabelItem }\n","class LabelViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.ISCEService} $sce\n */\n constructor(Utils, $sce) {\n this.Utils = Utils\n this.$sce = $sce\n }\n\n init() {\n this.Utils.extend(this.formItem, {})\n }\n\n get sanitizedTitle() {\n return this.$sce.trustAsHtml(this.formItem.value)\n }\n}\n\nexport { LabelViewCtrl }\n","import { LabelViewCtrl } from './label-view.controller'\nimport LabelViewTemplate from './label-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass LabelView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = LabelViewTemplate\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.controller = LabelViewCtrl\n this.controllerAs = 'LabelView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {LabelViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { LabelView }\n","class MatrixItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {ng.IDocumentService} $document\n */\n constructor(Utils, $document) {\n this.RowContainer = angular.element(\n $document[0].querySelector('.rowContainer')\n )\n this.ColumnContainer = angular.element(\n $document[0].querySelector('.columnContainer')\n )\n\n this.item = Utils.extend(this.item || {}, {\n config: {\n rows: [\n {\n value: '',\n },\n ],\n columns: [\n {\n value: '',\n },\n ],\n },\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteRow(index) {\n this.item.config.rows.splice(index, 1)\n }\n\n addRow() {\n this.item.config.rows.push({\n value: '',\n })\n\n setTimeout(\n function () {\n const options = this.RowContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }.bind(this),\n 0\n )\n }\n\n /**\n *\n * @param {number} index\n */\n deleteColumn(index) {\n this.item.config.columns.splice(index, 1)\n }\n\n addColumn() {\n this.item.config.columns.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.ColumnContainer.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { MatrixItemCtrl }\n","import { MatrixItemCtrl } from './matrix-item.controller'\nimport MatrixItemTemplate from './matrix-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass MatrixItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = MatrixItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = MatrixItemCtrl\n this.controllerAs = 'Matrix'\n this.bindToController = true\n }\n}\nexport { MatrixItem }\n","class MatrixViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor($scope, Utils) {\n this.Scope = $scope\n this.Utils = Utils\n this.isValid = true\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {\n rows: [],\n columns: [],\n },\n })\n\n this._updateValidity()\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n\n _updateValidity() {\n let valid = true\n if (this.formItem.config.required) {\n valid = !this.formItem.config.rows.some(\n (row) => typeof row['selected'] === 'undefined'\n )\n // for (let i = 0; i < this.formItem.config.rows.length; i++) {\n // if (typeof this.formItem.config.rows[i]['selected'] === 'undefined') {\n // valid = false\n // break\n // }\n // }\n }\n\n this.isValid = valid\n this.form.$setValidity('required', this.isValid)\n }\n\n _enableWatchers() {\n this.Scope.$watchGroup(\n [\n 'MatrixView.formItem.config.required',\n 'MatrixView.formItem.config.rows.length',\n ],\n (newVal) => {\n if (newVal !== undefined) {\n this._updateValidity()\n }\n }\n )\n }\n}\nexport { MatrixViewCtrl }\n","import MatrixViewTemplate from './matrix-view.tpl.html'\nimport { MatrixViewCtrl } from './matrix-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass MatrixView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = MatrixViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = MatrixViewCtrl\n this.controllerAs = 'MatrixView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {MatrixViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { MatrixView }\n","class RadioButtonItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { RadioButtonItemCtrl }\n","import { RadioButtonItemCtrl } from './radio-button-item.controller'\nimport RadioButtonTemplate from './radio-button-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass RadioButtonItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = RadioButtonTemplate\n this.scope = {\n item: '=',\n }\n this.controller = RadioButtonItemCtrl\n this.controllerAs = 'RadioButton'\n this.bindToController = true\n }\n}\n\nexport { RadioButtonItem }\n","class RadioButtonViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { RadioButtonViewCtrl }\n","import { RadioButtonViewCtrl } from './radio-button-view.controller'\nimport RadioButtonViewTemplate from './radio-button-view.tpl.html'\n\nclass RadioButtonView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.restrict = 'E'\n this.template = RadioButtonViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = RadioButtonViewCtrl\n this.controllerAs = 'RadioButtonView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {RadioButtonViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { RadioButtonView }\n","class SelectItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [\n {\n value: '',\n },\n ],\n })\n }\n\n /**\n *\n * @param {number} index\n */\n deleteOption(index) {\n this.item.options.splice(index, 1)\n }\n\n addOption() {\n this.item.options.push({\n value: '',\n })\n\n setTimeout(() => {\n const options = this.Element.find('input')\n const addedOption = options[options.length - 1]\n addedOption.focus()\n }, 0)\n }\n}\n\nexport { SelectItemCtrl }\n","import SelectTemplate from './select-item.tpl.html'\nimport { SelectItemCtrl } from './select-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = SelectTemplate\n this.scope = {\n item: '=',\n }\n this.controller = SelectItemCtrl\n this.controllerAs = 'Select'\n this.bindToController = true\n }\n}\n\nexport { SelectItem }\n","class SelectViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { SelectViewCtrl }\n","import SelectViewTemplate from './select-view.tpl.html'\nimport { SelectViewCtrl } from './select-view.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass SelectView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n\n this.restrict = 'E'\n this.template = SelectViewTemplate\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = SelectViewCtrl\n this.controllerAs = 'SelectView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {SelectViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { SelectView }\n","class TextareaItemCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n\n this.item = Utils.extend(this.item || {}, {\n config: {},\n })\n }\n}\n\nexport { TextareaItemCtrl }\n","import { TextareaItemCtrl } from './textarea-item.controller'\nimport TextareaItemTemplate from './textarea-item.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\nclass TextareaItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = TextareaItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = TextareaItemCtrl\n this.controllerAs = 'Textarea'\n this.bindToController = true\n }\n}\n\nexport { TextareaItem }\n","class TextareaViewCtrl {\n /**\n * @ngInject\n * @param {import('../../utils/utils.service').Utils} Utils\n */\n constructor(Utils) {\n this.Utils = Utils\n this.formItem = {}\n }\n\n init() {\n this.formItem = this.Utils.extend(this.formItem, {\n config: {},\n })\n }\n}\n\nexport { TextareaViewCtrl }\n","import { TextareaViewCtrl } from './textarea-view.controller'\nimport TextareaViewTemplate from './textarea-view.tpl.html'\n\n/**\n * @implements {ng.IDirective}\n */\n\nclass TextareaView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.scope = {\n formItem: '=',\n form: '=',\n }\n this.restrict = 'E'\n this.template = TextareaViewTemplate\n this.controller = TextareaViewCtrl\n this.controllerAs = 'TextareaView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {TextareaViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, elem, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n }\n}\n\nexport { TextareaView }\n","class UploadItemCtrl {\n /**\n * @ngInject\n *\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor(Utils, $element) {\n this.Element = $element\n this.item = Utils.extend(this.item || {}, {\n config: {},\n options: [],\n })\n }\n}\n\nexport { UploadItemCtrl }\n","import UploadItemTemplate from './upload-item.tpl.html'\nimport { UploadItemCtrl } from './upload-item.controller'\n\n/**\n * @implements {ng.IDirective}\n */\nclass UploadItem {\n /**\n * @ngInject\n */\n constructor() {\n this.restrict = 'E'\n this.template = UploadItemTemplate\n this.scope = {\n item: '=',\n }\n this.controller = UploadItemCtrl\n this.controllerAs = 'Upload'\n this.bindToController = true\n }\n}\n\nexport { UploadItem }\n","class UploadViewCtrl {\n /**\n * @ngInject\n * @param {ng.IScope} $scope\n * @param {import('../../utils/utils.service').Utils} Utils\n * @param {JQLite} $element\n */\n constructor($scope, Utils, $element) {\n this.Scope = $scope\n this.Element = $element\n this.Utils = Utils\n this.formItem = {}\n }\n init() {\n this.isMultiple = false\n this.showAllowed = false\n this.formItem = this.Utils.extend(this.formItem || {}, {\n config: {\n size: 10,\n uploadFileButtonLabel: 'Add files',\n },\n options: [],\n })\n if (this.isPreview()) {\n this._enableWatchers()\n }\n }\n _updateMultiple() {\n this.isMultiple = !!this.formItem.config.multipleUpload\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n this.formItem.options = []\n if (this.isMultiple) {\n input.attr('multiple', 'multiple')\n } else {\n input.removeAttr('multiple')\n }\n }\n }\n\n _updateAccept() {\n this.showAllowed = !!this.formItem.config.showAccept\n const input = angular.element(\n this.Element[0].querySelector('input[type=file]')\n )\n if (input) {\n if (this.showAllowed) {\n input[0].setAttribute('accept', this.formItem.config.accept)\n } else {\n input[0].removeAttribute('accept')\n delete this.formItem.config.accept\n }\n }\n }\n\n _enableWatchers() {\n this.Scope.$watch('UploadView.formItem.config.multipleUpload', (newVal) => {\n if (newVal !== undefined) {\n this._updateMultiple()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.showAccept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n\n this.Scope.$watch('UploadView.formItem.config.accept', (newVal) => {\n if (newVal !== undefined) {\n this._updateAccept()\n }\n })\n }\n\n removeItem(index) {\n this.formItem.options.splice(index, 1)\n }\n}\nexport { UploadViewCtrl }\n","import { UploadViewCtrl } from './upload-view.controller'\nimport UploadViewTemplate from './upload-view.tpl.html'\n\nconst MB = 1024 * 1024\n\nclass UploadView {\n /**\n * @ngInject\n * @param {ng.ITimeoutService} $timeout\n */\n constructor($timeout) {\n this.$timeout = $timeout\n this.template = UploadViewTemplate\n this.restrict = 'E'\n this.scope = {\n formItem: '=',\n isPreview: '&',\n form: '=',\n }\n this.controller = UploadViewCtrl\n this.controllerAs = 'UploadView'\n this.bindToController = true\n }\n\n /**\n * @see https://docs.angularjs.org/api/ng/service/$compile#-link-\n * @param {ng.IScope} scope - scope\n * @param {JQLite} element - element\n * @param {ng.IAttributes} attrs - attributes\n * @param {UploadViewCtrl} ctrl - this instance controller\n * @param {ng.ITranscludeFunction} transcludeFn - transclude function ($transclude)\n */\n link(scope, element, attrs, ctrl) {\n //this timeout is placed here in order to make sure that the creator directive of this view is finished its work\n this.$timeout(function () {\n ctrl.init()\n }, 50)\n\n const button = angular.element(element[0].querySelector('.upload-button'))\n const input = angular.element(element[0].querySelector('input[type=file]'))\n const label = angular.element(element[0].querySelector('label'))\n\n if (label.length) {\n label.css('display', 'none')\n }\n\n button.on('click', () => {\n label.css('display', 'none')\n typeof input.trigger === 'function'\n ? input.trigger('click')\n : input[0].click()\n })\n\n input.on('change', (e) => {\n scope.$apply(function () {\n /**\n * @type {File[]}\n */\n const files = Array.from(e.target.files)\n // Max allowed size in MB\n const maxSizeMB = ctrl.formItem.config.size * MB\n const exceedsSize = files.some((file) => file.size >= maxSizeMB)\n if (exceedsSize) {\n label.css('display', 'block')\n label.text(ctrl.formItem.config.sizeErrMessage)\n ctrl.formItem.options = []\n } else {\n ctrl.formItem.options = files.map((file) => {\n const { name, size, type } = file\n return { name, size, type, file }\n })\n }\n })\n })\n }\n}\n\nexport { UploadView }\n","/**\n * @typedef {{type:string}} Item\n * @typedef {{items: Item[]}} FormConfig\n */\n\nclass MainController {\n /**\n * @ngInject\n */\n constructor() {\n /**\n * @type {FormConfig}\n */\n this.form = {\n items: [],\n }\n }\n\n /**\n * Add new Item\n * @param {string} type\n */\n addItem(type) {\n this.form.items.push({\n type,\n })\n }\n\n /**\n * Remove item at index\n * @param {Item} item\n * @param {number} index\n */\n delete(item, index) {\n this.form.items.splice(index, 1)\n }\n\n /**\n * insert before (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n up(item, index) {\n if (index !== 0) {\n const prevItem = this.form.items[index - 1]\n this.form.items[index] = prevItem\n this.form.items[index - 1] = item\n }\n }\n\n /**\n * insert after (bounded)\n * Pops out latest element (wanted?)\n * @param {Item} item\n * @param {number} index\n */\n down(item, index) {\n if (index !== this.form.items.length - 1) {\n const nextItem = this.form.items[index + 1]\n this.form.items[index] = nextItem\n this.form.items[index + 1] = item\n }\n }\n}\n\nexport { MainController }\n","class Utils {\n /**\n * Recursively extend object properties\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object}\n */\n extend(dest, src) {\n return Object.keys(src).reduce(\n (result, key) => {\n if (typeof result[key] === 'undefined') {\n result[key] = src[key]\n } else if (typeof src[key] === 'object') {\n result[key] = this.extend(result[key], src[key])\n }\n return result\n },\n typeof dest === 'undefined' ? {} : dest\n )\n }\n}\n\nexport { Utils }\n","export default \"\\n \\n {{AgreementView.formItem.options[0].value}}\\n \\n\\n
\\n
\\n Must select {{AgreementView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Layout direction ({{Checkboxes.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n
\\n \\n add\\n \\n
\\n\\n\";","export default \"\\n \\n {{option.value}}\\n \\n\\n
\\n
\\n Must select {{CheckboxesView.formItem.maxSelections || 1}} items\\n
\\n
\\n
\\n\";","export default \"
\\n
\\n \\n delete\\n \\n \\n arrow_drop_up\\n \\n \\n arrow_drop_down\\n \\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n

UNKNOWN TYPE

\\n
\\n\\n \\n Required field\\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n\";","export default \"
\\n \\n \\n
\\n
{{formItem.props.title}}
\\n
{{formItem.props.helpText}}
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n\\n\";","export default \"\\n \\n \\n\\n\\n \\n \\n Text\\n Number\\n Email\\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n \\n \\n\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add Column\\n
\\n\\n\\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n Delete\\n \\n \\n
\\n Add row\\n
\\n\\n\";","export default \"\\n
\\n
\\n \\n {{column.value}}\\n
\\n \\n {{row.value}}\\n \\n \\n \\n \\n \\n
\\n \\n\\n
\\n
This is required
\\n
\\n
\\n\";","export default \"\\n \\n Layout direction ({{RadioButton.item.config.direction == 'horizontal' ?\\n 'Horizontal' : 'Vertical'}})\\n \\n\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n \\n {{option.value}}\\n \\n \\n\\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n reorder\\n \\n\\n \\n \\n \\n \\n\\n \\n delete\\n \\n \\n\\n Add Option\\n\\n\";","export default \"\\n \\n {{ option.value }}\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n\\n\";","export default \"\\n \\n
\\n
This field is required
\\n
\\n
\\n\";","export default \"\\n \\n \\n \\n \\n\\n \\n Multiple\\n \\n\\n \\n Max File size: {{Upload.item.config.size}} Mb\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n Configure allowed file types\\n \\n\\n \\n \\n \\n \\n\\n\";","export default \"
\\n \\n \\n \\n \\n \\n \\n\\n attach_file{{UploadView.formItem.config.uploadFileButtonLabel}}\\n
\\n\\n
\\n \\n \\n \\n close\\n \\n {{option.name}}\\n
\\n\\n\";","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import './index.scss'\nimport { UploadItem } from './directives/upload-item/upload-item.directive'\nimport { UploadView } from './directives/upload-item/upload-view.directive'\nimport { AgreementItem } from './directives/agreement-item/agreement-item.directive'\nimport { AgreementView } from './directives/agreement-item/agreement-view.directive'\nimport { MainController } from './main/main.controller'\nimport { Utils } from './utils/utils.service'\nimport { CheckboxesItem } from './directives/checkboxes-item/checkboxes-item.directive'\nimport { CheckboxesView } from './directives/checkboxes-item/checkboxes-view.directive'\nimport { FormItem } from './directives/form-item/form-item.directive'\nimport { FormItemsContainer } from './directives/form-items-container/form-items-container.directive'\nimport { FormView } from './directives/form-view/form-view.directive'\nimport { InputItem } from './directives/input-item/input-item.directive'\nimport { InputView } from './directives/input-item/input-view.directive'\nimport { LabelItem } from './directives/label-item/label-item.directive'\nimport { LabelView } from './directives/label-item/label-view.directive'\nimport { MatrixItem } from './directives/matrix-item/matrix-item.directive'\nimport { MatrixView } from './directives/matrix-item/matrix-view.directive'\nimport { RadioButtonItem } from './directives/radio-button-item/radio-button-item.directive'\nimport { RadioButtonView } from './directives/radio-button-item/radio-button-view.directive'\nimport { SelectView } from './directives/select-item/select-view.directive'\nimport { SelectItem } from './directives/select-item/select-item.directive'\nimport { TextareaItem } from './directives/textarea-item/textarea-item.directive'\nimport { TextareaView } from './directives/textarea-item/textarea-view.directive'\n\nexport default angular\n .module('angularMaterialFormBuilder', [\n 'ngMaterial',\n 'angular-sortable-view',\n 'ngMessages',\n ])\n .service('Utils', Utils)\n .controller('MainController', MainController)\n .directive('uploadItem', UploadItem)\n .directive('uploadView', UploadView)\n .directive('agreementItem', AgreementItem)\n .directive('agreementView', AgreementView)\n .directive('checkboxesItem', CheckboxesItem)\n .directive('checkboxesView', CheckboxesView)\n .directive('formItem', FormItem)\n .directive('formItemsContainer', FormItemsContainer)\n .directive('formView', FormView)\n .directive('inputItem', InputItem)\n .directive('inputView', InputView)\n .directive('labelItem', LabelItem)\n .directive('labelView', LabelView)\n .directive('matrixItem', MatrixItem)\n .directive('matrixView', MatrixView)\n .directive('radioButtonItem', RadioButtonItem)\n .directive('radioButtonView', RadioButtonView)\n .directive('selectItem', SelectItem)\n .directive('selectView', SelectView)\n .directive('textareaItem', TextareaItem)\n .directive('textareaView', TextareaView)\n"],"names":["root","factory","exports","module","define","amd","self","AgreementItemCtrl","Utils","$element","this","Element","item","extend","config","maxSelections","options","value","selected","AgreementItem","constructor","restrict","scope","controller","controllerAs","bindToController","AgreementViewCtrl","$scope","Scope","formItem","init","selectedOptions","_getSelectedOptions","disableOptions","isValid","_updateView","_updateValidity","isPreview","_enableWatchers","toggleSelectedOption","filter","option","length","required","form","$setValidity","$watch","newVal","undefined","AgreementView","$timeout","template","AgreementViewTemplate","link","element","attrs","ctrl","CheckboxesItemCtrl","deleteOption","index","splice","addOption","push","setTimeout","find","focus","CheckboxesItem","CheckboxesItemTemplate","CheckboxesViewCtrl","CheckboxesView","CheckboxesViewTemplate","DEFAULT_TITLE","upload","agreement","input","chooseFromList","label","multipleChoices","matrix","checkboxes","textarea","FormItemCtrl","$attrs","Attrs","templates","type","props","title","helpText","deleteClicked","onDelete","_getItemTemplate","FormItem","$compile","onUp","onDown","FormItemTemplate","el","FormItemsContainerCtrl","items","delete","up","prevItem","down","nextItem","FormItemsContainer","FormItemsContainerTemplate","FormViewCtrl","FormView","FormViewTemplate","InputItemCtrl","InputItem","InputItemTemplate","InputViewCtrl","InputView","InputViewTemplate","elem","LabelItemCtrl","LabelItem","LabelItemTemplate","LabelViewCtrl","$sce","sanitizedTitle","trustAsHtml","LabelView","LabelViewTemplate","MatrixItemCtrl","$document","RowContainer","angular","querySelector","ColumnContainer","rows","columns","deleteRow","addRow","bind","deleteColumn","addColumn","MatrixItem","MatrixItemTemplate","MatrixViewCtrl","valid","some","row","$watchGroup","MatrixView","MatrixViewTemplate","RadioButtonItemCtrl","RadioButtonItem","RadioButtonTemplate","RadioButtonViewCtrl","RadioButtonView","RadioButtonViewTemplate","SelectItemCtrl","SelectItem","SelectTemplate","SelectViewCtrl","SelectView","SelectViewTemplate","TextareaItemCtrl","TextareaItem","TextareaItemTemplate","TextareaViewCtrl","TextareaView","TextareaViewTemplate","UploadItemCtrl","UploadItem","UploadItemTemplate","UploadViewCtrl","isMultiple","showAllowed","size","uploadFileButtonLabel","_updateMultiple","multipleUpload","attr","removeAttr","_updateAccept","showAccept","setAttribute","accept","removeAttribute","removeItem","UploadView","UploadViewTemplate","button","css","on","trigger","click","e","$apply","files","Array","from","target","maxSizeMB","file","text","sizeErrMessage","map","name","MainController","addItem","dest","src","Object","keys","reduce","result","key","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","service","directive"],"sourceRoot":""} \ No newline at end of file