formiojs-eorion 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/Formio.js +1 -1
  2. package/components/Data/editForm/Data.edit.display.js +2 -2
  3. package/components/builder.js +2 -0
  4. package/components/file_china_grid/File.form.js +36 -0
  5. package/components/file_china_grid/File.js +1018 -0
  6. package/components/file_china_grid/File.unit.js +175 -0
  7. package/components/file_china_grid/editForm/File.edit.data.js +11 -0
  8. package/components/file_china_grid/editForm/File.edit.display.js +11 -0
  9. package/components/file_china_grid/editForm/File.edit.file.js +257 -0
  10. package/components/file_china_grid/editForm/File.edit.validation.js +14 -0
  11. package/components/file_china_grid/fixtures/comp1.js +21 -0
  12. package/components/file_china_grid/fixtures/comp2.js +36 -0
  13. package/components/file_china_grid/fixtures/index.js +20 -0
  14. package/components/file_china_grid/fixtures/values.js +16 -0
  15. package/components/index.js +2 -0
  16. package/dist/formio.builder.css +38 -0
  17. package/dist/formio.builder.min.css +1 -1
  18. package/dist/formio.contrib.js +23 -2
  19. package/dist/formio.contrib.min.js +1 -1
  20. package/dist/formio.contrib.min.js.LICENSE.txt +1 -1
  21. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  22. package/dist/formio.form.js +92 -5
  23. package/dist/formio.form.min.js +1 -1
  24. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  25. package/dist/formio.full.css +38 -0
  26. package/dist/formio.full.js +92 -5
  27. package/dist/formio.full.min.css +1 -1
  28. package/dist/formio.full.min.js +1 -1
  29. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  30. package/dist/formio.js +1 -1
  31. package/dist/formio.min.js +1 -1
  32. package/dist/formio.min.js.LICENSE.txt +1 -1
  33. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  34. package/package.json +1 -1
  35. package/templates/bootstrap/fileUDS/form.ejs.js +227 -0
  36. package/templates/bootstrap/fileUDS/index.js +12 -0
  37. package/templates/bootstrap/index.js +3 -1
@@ -81,7 +81,7 @@ eval("\n\n__webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js
81
81
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
82
82
 
83
83
  "use strict";
84
- eval("\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-primitive.js */ \"./node_modules/core-js/modules/es.symbol.to-primitive.js\");\n__webpack_require__(/*! core-js/modules/es.date.to-primitive.js */ \"./node_modules/core-js/modules/es.date.to-primitive.js\");\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n__webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = exports.GlobalFormio = void 0;\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n__webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n__webpack_require__(/*! core-js/modules/es.object.assign.js */ \"./node_modules/core-js/modules/es.object.assign.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\nvar _nativePromiseOnly = _interopRequireDefault(__webpack_require__(/*! native-promise-only */ \"./node_modules/native-promise-only/lib/npo.src.js\"));\nvar _fetchPonyfill2 = _interopRequireDefault(__webpack_require__(/*! fetch-ponyfill */ \"./node_modules/fetch-ponyfill/build/fetch-browser.js\"));\nvar _EventEmitter = _interopRequireDefault(__webpack_require__(/*! ./EventEmitter */ \"./lib/EventEmitter.js\"));\nvar _browserCookies = _interopRequireDefault(__webpack_require__(/*! browser-cookies */ \"./node_modules/browser-cookies/src/browser-cookies.js\"));\nvar _providers = _interopRequireDefault(__webpack_require__(/*! ./providers */ \"./lib/providers/index.js\"));\nvar _intersection2 = _interopRequireDefault(__webpack_require__(/*! lodash/intersection */ \"./node_modules/lodash/intersection.js\"));\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\nvar _cloneDeep2 = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar _defaults2 = _interopRequireDefault(__webpack_require__(/*! lodash/defaults */ \"./node_modules/lodash/defaults.js\"));\nvar _utils = __webpack_require__(/*! ./utils/utils */ \"./lib/utils/utils.js\");\nvar _jwtDecode = _interopRequireDefault(__webpack_require__(/*! jwt-decode */ \"./node_modules/jwt-decode/build/jwt-decode.esm.js\"));\n__webpack_require__(/*! ./polyfills */ \"./lib/polyfills/index.js\");\nvar _CDN = _interopRequireDefault(__webpack_require__(/*! ./CDN */ \"./lib/CDN.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _fetchPonyfill = (0, _fetchPonyfill2.default)({\n Promise: _nativePromiseOnly.default\n }),\n fetch = _fetchPonyfill.fetch,\n Headers = _fetchPonyfill.Headers;\nvar isBoolean = function isBoolean(val) {\n return _typeof(val) === _typeof(true);\n};\nvar isNil = function isNil(val) {\n return val === null || val === undefined;\n};\nvar isObject = function isObject(val) {\n return val && _typeof(val) === 'object';\n};\nfunction cloneResponse(response) {\n var copy = (0, _cloneDeep2.default)(response);\n if (Array.isArray(response)) {\n copy.skip = response.skip;\n copy.limit = response.limit;\n copy.serverCount = response.serverCount;\n }\n return copy;\n}\n\n/**\n * The Formio interface class.\n *\n * let formio = new Formio('https://examples.form.io/example');\n */\nvar Formio = /*#__PURE__*/function () {\n /* eslint-disable max-statements */\n function Formio(path) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Formio);\n // Ensure we have an instance of Formio.\n if (!(this instanceof Formio)) {\n return new Formio(path);\n }\n\n // Initialize our variables.\n this.base = '';\n this.projectsUrl = '';\n this.projectUrl = '';\n this.projectId = '';\n this.roleUrl = '';\n this.rolesUrl = '';\n this.roleId = '';\n this.formUrl = '';\n this.formsUrl = '';\n this.formId = '';\n this.submissionsUrl = '';\n this.submissionUrl = '';\n this.submissionId = '';\n this.actionsUrl = '';\n this.actionId = '';\n this.actionUrl = '';\n this.vsUrl = '';\n this.vId = '';\n this.vUrl = '';\n this.query = '';\n\n // Store the original path and options.\n this.path = path;\n this.options = options;\n if (options.useSessionToken) {\n Formio.useSessionToken(options);\n }\n if (options.hasOwnProperty('base')) {\n this.base = options.base;\n } else if (Formio.baseUrl) {\n this.base = Formio.baseUrl;\n } else if (typeof window !== 'undefined') {\n this.base = window.location.href.match(/http[s]?:\\/\\/api./)[0];\n }\n if (!path) {\n // Allow user to create new projects if this was instantiated without\n // a url\n this.projectUrl = Formio.projectUrl || \"\".concat(this.base, \"/project\");\n this.projectsUrl = \"\".concat(this.base, \"/project\");\n this.projectId = false;\n this.query = '';\n return;\n }\n if (options.hasOwnProperty('project')) {\n this.projectUrl = options.project;\n }\n var project = this.projectUrl || Formio.projectUrl;\n var projectRegEx = /(^|\\/)(project)($|\\/[^/]+)/;\n var isProjectUrl = path.search(projectRegEx) !== -1;\n\n // The baseURL is the same as the projectUrl, and does not contain \"/project/MONGO_ID\" in\n // its domain. This is almost certainly against the Open Source server.\n if (project && this.base === project && !isProjectUrl) {\n this.noProject = true;\n this.projectUrl = this.base;\n }\n\n // Normalize to an absolute path.\n if (path.indexOf('http') !== 0 && path.indexOf('//') !== 0) {\n path = this.base + path;\n }\n var hostparts = this.getUrlParts(path);\n var parts = [];\n var hostName = hostparts[1] + hostparts[2];\n path = hostparts.length > 3 ? hostparts[3] : '';\n var queryparts = path.split('?');\n if (queryparts.length > 1) {\n path = queryparts[0];\n this.query = \"?\".concat(queryparts[1]);\n }\n\n // Register a specific path.\n var registerPath = function registerPath(name, base) {\n _this[\"\".concat(name, \"sUrl\")] = \"\".concat(base, \"/\").concat(name);\n var regex = new RegExp(\"/\".concat(name, \"/([^/]+)\"));\n if (path.search(regex) !== -1) {\n parts = path.match(regex);\n _this[\"\".concat(name, \"Url\")] = parts ? base + parts[0] : '';\n _this[\"\".concat(name, \"Id\")] = parts.length > 1 ? parts[1] : '';\n base += parts[0];\n }\n return base;\n };\n\n // Register an array of items.\n var registerItems = function registerItems(items, base, staticBase) {\n for (var i in items) {\n if (items.hasOwnProperty(i)) {\n var item = items[i];\n if (Array.isArray(item)) {\n registerItems(item, base, true);\n } else {\n var newBase = registerPath(item, base);\n base = staticBase ? base : newBase;\n }\n }\n }\n };\n if (!this.projectUrl || this.projectUrl === this.base) {\n // If a project uses Subdirectories path type, we need to specify a projectUrl\n if (!this.projectUrl && !isProjectUrl && Formio.pathType === 'Subdirectories') {\n var regex = \"^\".concat(hostName.replace(/\\//g, '\\\\/'), \".[^/]+\");\n var match = project.match(new RegExp(regex));\n this.projectUrl = match ? match[0] : hostName;\n } else {\n this.projectUrl = hostName;\n }\n }\n // Check if we have a specified path type.\n var isNotSubdomainType = false;\n if (Formio.pathType) {\n isNotSubdomainType = Formio.pathType !== 'Subdomains';\n }\n if (!this.noProject) {\n // Determine the projectUrl and projectId\n if (isProjectUrl) {\n // Get project id as project/:projectId.\n registerItems(['project'], hostName);\n path = path.replace(projectRegEx, '');\n } else if (hostName === this.base) {\n // Get project id as first part of path (subdirectory).\n if (hostparts.length > 3 && path.split('/').length > 1) {\n var isFile = path.match(/.json/);\n var pathParts = path.split('/');\n if (isFile) {\n this.projectUrl = hostName;\n } else {\n pathParts.shift(); // Throw away the first /.\n this.projectId = pathParts.shift();\n path = \"/\".concat(pathParts.join('/'));\n this.projectUrl = \"\".concat(hostName, \"/\").concat(this.projectId);\n }\n }\n } else {\n // Get project id from subdomain.\n if (hostparts.length > 2 && (hostparts[2].split('.').length > 2 || hostName.includes('localhost')) && !isNotSubdomainType) {\n this.projectUrl = hostName;\n this.projectId = hostparts[2].split('.')[0];\n }\n }\n this.projectsUrl = this.projectsUrl || \"\".concat(this.base, \"/project\");\n }\n\n // Configure Role urls and role ids.\n registerItems(['role'], this.projectUrl);\n\n // Configure Form urls and form ids.\n if (/(^|\\/)(form)($|\\/)/.test(path)) {\n registerItems(['form', ['submission', 'action', 'v']], this.projectUrl);\n } else {\n var subRegEx = new RegExp('/(submission|action|v)($|/.*)');\n var subs = path.match(subRegEx);\n this.pathType = subs && subs.length > 1 ? subs[1] : '';\n path = path.replace(subRegEx, '');\n path = path.replace(/\\/$/, '');\n this.formsUrl = \"\".concat(this.projectUrl, \"/form\");\n this.formUrl = path ? this.projectUrl + path : '';\n this.formId = path.replace(/^\\/+|\\/+$/g, '');\n var items = ['submission', 'action', 'v'];\n for (var i in items) {\n if (items.hasOwnProperty(i)) {\n var item = items[i];\n this[\"\".concat(item, \"sUrl\")] = \"\".concat(this.projectUrl + path, \"/\").concat(item);\n if (this.pathType === item && subs.length > 2 && subs[2]) {\n this[\"\".concat(item, \"Id\")] = subs[2].replace(/^\\/+|\\/+$/g, '');\n this[\"\".concat(item, \"Url\")] = this.projectUrl + path + subs[0];\n }\n }\n }\n }\n\n // Set the app url if it is not set.\n if (!Formio.projectUrlSet) {\n Formio.projectUrl = this.projectUrl;\n }\n }\n /* eslint-enable max-statements */\n _createClass(Formio, [{\n key: \"delete\",\n value: function _delete(type, opts) {\n var _id = \"\".concat(type, \"Id\");\n var _url = \"\".concat(type, \"Url\");\n if (!this[_id]) {\n return _nativePromiseOnly.default.reject('Nothing to delete');\n }\n Formio.cache = {};\n return this.makeRequest(type, this[_url], 'delete', null, opts);\n }\n }, {\n key: \"index\",\n value: function index(type, query, opts) {\n var _url = \"\".concat(type, \"Url\");\n query = query || '';\n if (query && isObject(query)) {\n query = \"?\".concat(Formio.serialize(query.params));\n }\n return this.makeRequest(type, this[_url] + query, 'get', null, opts);\n }\n }, {\n key: \"save\",\n value: function save(type, data, opts) {\n var _id = \"\".concat(type, \"Id\");\n var _url = \"\".concat(type, \"Url\");\n var method = this[_id] || data._id ? 'put' : 'post';\n var reqUrl = this[_id] ? this[_url] : this[\"\".concat(type, \"sUrl\")];\n if (!this[_id] && data._id && method === 'put' && !reqUrl.includes(data._id)) {\n reqUrl += \"/\".concat(data._id);\n }\n Formio.cache = {};\n return this.makeRequest(type, reqUrl + this.query, method, data, opts);\n }\n }, {\n key: \"load\",\n value: function load(type, query, opts) {\n var _id = \"\".concat(type, \"Id\");\n var _url = \"\".concat(type, \"Url\");\n if (query && isObject(query)) {\n query = Formio.serialize(query.params);\n }\n if (query) {\n query = this.query ? \"\".concat(this.query, \"&\").concat(query) : \"?\".concat(query);\n } else {\n query = this.query;\n }\n if (!this[_id]) {\n return _nativePromiseOnly.default.reject(\"Missing \".concat(_id));\n }\n var url = this[_url] + query;\n if (type === 'form' && !isNaN(parseInt(this.vId)) && parseInt(this.vId) !== 0) {\n url += url.match(/\\?/) ? '&' : '?';\n url += \"formRevision=\".concat(this.vId);\n }\n return this.makeRequest(type, url, 'get', null, opts);\n }\n }, {\n key: \"makeRequest\",\n value: function makeRequest() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return Formio.makeRequest.apply(Formio, [this].concat(args));\n }\n }, {\n key: \"loadProject\",\n value: function loadProject(query, opts) {\n return this.load('project', query, opts);\n }\n }, {\n key: \"saveProject\",\n value: function saveProject(data, opts) {\n return this.save('project', data, opts);\n }\n }, {\n key: \"deleteProject\",\n value: function deleteProject(opts) {\n return this.delete('project', opts);\n }\n }, {\n key: \"loadRole\",\n value: function loadRole(opts) {\n return this.load('role', null, opts);\n }\n }, {\n key: \"saveRole\",\n value: function saveRole(data, opts) {\n return this.save('role', data, opts);\n }\n }, {\n key: \"deleteRole\",\n value: function deleteRole(opts) {\n return this.delete('role', opts);\n }\n }, {\n key: \"loadRoles\",\n value: function loadRoles(opts) {\n return this.index('roles', null, opts);\n }\n }, {\n key: \"loadForm\",\n value: function loadForm(query, opts) {\n var _this2 = this;\n return this.load('form', query, opts).then(function (currentForm) {\n // Check to see if there isn't a number in vId.\n if (!currentForm.revisions || isNaN(parseInt(_this2.vId))) {\n return currentForm;\n }\n // If a submission already exists but form is marked to load current version of form.\n if (currentForm.revisions === 'current' && _this2.submissionId) {\n return currentForm;\n }\n // eslint-disable-next-line eqeqeq\n if (currentForm._vid == _this2.vId || currentForm.revisionId === _this2.vId) {\n return currentForm;\n }\n // If they specified a revision form, load the revised form components.\n if (query && isObject(query)) {\n query = Formio.serialize(query.params);\n }\n if (query) {\n query = _this2.query ? \"\".concat(_this2.query, \"&\").concat(query) : \"?\".concat(query);\n } else {\n query = _this2.query;\n }\n return _this2.makeRequest('form', _this2.vUrl + query, 'get', null, opts).then(function (revisionForm) {\n currentForm._vid = revisionForm._vid;\n currentForm.components = revisionForm.components;\n currentForm.settings = revisionForm.settings;\n currentForm.revisionId = revisionForm.revisionId;\n // Using object.assign so we don't cross polinate multiple form loads.\n return Object.assign({}, currentForm);\n })\n // If we couldn't load the revision, just return the original form.\n .catch(function () {\n return Object.assign({}, currentForm);\n });\n });\n }\n }, {\n key: \"saveForm\",\n value: function saveForm(data, opts) {\n return this.save('form', data, opts);\n }\n }, {\n key: \"deleteForm\",\n value: function deleteForm(opts) {\n return this.delete('form', opts);\n }\n }, {\n key: \"loadForms\",\n value: function loadForms(query, opts) {\n return this.index('forms', query, opts);\n }\n }, {\n key: \"loadSubmission\",\n value: function loadSubmission(query, opts) {\n var _this3 = this;\n return this.load('submission', query, opts).then(function (submission) {\n _this3.vId = submission._frid || submission._fvid;\n _this3.vUrl = \"\".concat(_this3.formUrl, \"/v/\").concat(_this3.vId);\n return submission;\n });\n }\n }, {\n key: \"saveSubmission\",\n value: function saveSubmission(data, opts) {\n if (!isNaN(parseInt(this.vId))) {\n data._fvid = this.vId;\n }\n return this.save('submission', data, opts);\n }\n }, {\n key: \"deleteSubmission\",\n value: function deleteSubmission(opts) {\n return this.delete('submission', opts);\n }\n }, {\n key: \"loadSubmissions\",\n value: function loadSubmissions(query, opts) {\n return this.index('submissions', query, opts);\n }\n }, {\n key: \"loadAction\",\n value: function loadAction(query, opts) {\n return this.load('action', query, opts);\n }\n }, {\n key: \"saveAction\",\n value: function saveAction(data, opts) {\n return this.save('action', data, opts);\n }\n }, {\n key: \"deleteAction\",\n value: function deleteAction(opts) {\n return this.delete('action', opts);\n }\n }, {\n key: \"loadActions\",\n value: function loadActions(query, opts) {\n return this.index('actions', query, opts);\n }\n }, {\n key: \"availableActions\",\n value: function availableActions() {\n return this.makeRequest('availableActions', \"\".concat(this.formUrl, \"/actions\"));\n }\n }, {\n key: \"actionInfo\",\n value: function actionInfo(name) {\n return this.makeRequest('actionInfo', \"\".concat(this.formUrl, \"/actions/\").concat(name));\n }\n }, {\n key: \"isObjectId\",\n value: function isObjectId(id) {\n var checkForHexRegExp = new RegExp('^[0-9a-fA-F]{24}$');\n return checkForHexRegExp.test(id);\n }\n }, {\n key: \"getProjectId\",\n value: function getProjectId() {\n if (!this.projectId) {\n return _nativePromiseOnly.default.resolve('');\n }\n if (this.isObjectId(this.projectId)) {\n return _nativePromiseOnly.default.resolve(this.projectId);\n } else {\n return this.loadProject().then(function (project) {\n return project._id;\n });\n }\n }\n }, {\n key: \"getFormId\",\n value: function getFormId() {\n if (!this.formId) {\n return _nativePromiseOnly.default.resolve('');\n }\n if (this.isObjectId(this.formId)) {\n return _nativePromiseOnly.default.resolve(this.formId);\n } else {\n return this.loadForm().then(function (form) {\n return form._id;\n });\n }\n }\n }, {\n key: \"currentUser\",\n value: function currentUser(options) {\n return Formio.currentUser(this, options);\n }\n }, {\n key: \"accessInfo\",\n value: function accessInfo() {\n return Formio.accessInfo(this);\n }\n\n /**\n * Returns the JWT token for this instance.\n *\n * @return {*}\n */\n }, {\n key: \"getToken\",\n value: function getToken(options) {\n return Formio.getToken(Object.assign({\n formio: this\n }, this.options, options));\n }\n\n /**\n * Sets the JWT token for this instance.\n *\n * @return {*}\n */\n }, {\n key: \"setToken\",\n value: function setToken(token, options) {\n return Formio.setToken(token, Object.assign({\n formio: this\n }, this.options, options));\n }\n\n /**\n * Returns a temporary authentication token for single purpose token generation.\n */\n }, {\n key: \"getTempToken\",\n value: function getTempToken(expire, allowed, options) {\n var token = Formio.getToken(options);\n if (!token) {\n return _nativePromiseOnly.default.reject('You must be authenticated to generate a temporary auth token.');\n }\n var authUrl = Formio.authUrl || this.projectUrl;\n return this.makeRequest('tempToken', \"\".concat(authUrl, \"/token\"), 'GET', null, {\n ignoreCache: true,\n header: new Headers({\n 'x-expire': expire,\n 'x-allow': allowed\n })\n });\n }\n\n /**\n * Get a download url for a submission PDF of this submission.\n *\n * @return {*}\n */\n }, {\n key: \"getDownloadUrl\",\n value: function getDownloadUrl(form) {\n var _this4 = this;\n if (!this.submissionId) {\n return _nativePromiseOnly.default.resolve('');\n }\n if (!form) {\n // Make sure to load the form first.\n return this.loadForm().then(function (_form) {\n if (!_form) {\n return '';\n }\n return _this4.getDownloadUrl(_form);\n });\n }\n var apiUrl = \"/project/\".concat(form.project);\n apiUrl += \"/form/\".concat(form._id);\n apiUrl += \"/submission/\".concat(this.submissionId);\n var postfix = form.submissionRevisions && form.settings.changeLog ? '/download/changelog' : '/download';\n apiUrl += postfix;\n var download = this.base + apiUrl;\n return new _nativePromiseOnly.default(function (resolve, reject) {\n _this4.getTempToken(3600, \"GET:\".concat(apiUrl)).then(function (tempToken) {\n download += \"?token=\".concat(tempToken.key);\n resolve(download);\n }, function () {\n resolve(download);\n }).catch(reject);\n });\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(storage, file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, uploadStartCallback, abortCallback) {\n var _this5 = this;\n var requestArgs = {\n provider: storage,\n method: 'upload',\n file: file,\n fileName: fileName,\n dir: dir\n };\n fileKey = fileKey || 'file';\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('fileRequest', requestArgs).then(function (result) {\n if (storage && isNil(result)) {\n var Provider = _providers.default.getProvider('storage', storage);\n if (Provider) {\n var provider = new Provider(_this5);\n if (uploadStartCallback) {\n uploadStartCallback();\n }\n return provider.uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback);\n } else {\n throw 'Storage provider not found';\n }\n }\n return result || {\n url: ''\n };\n });\n });\n return Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);\n }\n }, {\n key: \"downloadFile\",\n value: function downloadFile(file, options) {\n var _this6 = this;\n var requestArgs = {\n method: 'download',\n file: file\n };\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('fileRequest', requestArgs).then(function (result) {\n if (file.storage && isNil(result)) {\n var Provider = _providers.default.getProvider('storage', file.storage);\n if (Provider) {\n var provider = new Provider(_this6);\n return provider.downloadFile(file, options);\n } else {\n throw 'Storage provider not found';\n }\n }\n return result || {\n url: ''\n };\n });\n });\n return Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);\n }\n }, {\n key: \"deleteFile\",\n value: function deleteFile(file, options) {\n var _this7 = this;\n var requestArgs = {\n method: 'delete',\n file: file\n };\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('fileRequest', requestArgs).then(function (result) {\n if (file.storage && isNil(result)) {\n var Provider = _providers.default.getProvider('storage', file.storage);\n if (Provider) {\n var provider = new Provider(_this7);\n return provider.deleteFile(file, options);\n } else {\n throw 'Storage provider not found';\n }\n }\n return result || {\n url: ''\n };\n });\n });\n return Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);\n }\n\n /**\n * Returns the user permissions to a form and submission.\n *\n * @param user - The user or current user if undefined. For anonymous, use \"null\"\n * @param form - The form or current form if undefined. For no form check, use \"null\"\n * @param submission - The submisison or \"index\" if undefined.\n *\n * @return {create: boolean, read: boolean, edit: boolean, delete: boolean}\n */\n }, {\n key: \"userPermissions\",\n value: function userPermissions(user, form, submission) {\n return _nativePromiseOnly.default.all([form !== undefined ? _nativePromiseOnly.default.resolve(form) : this.loadForm(), user !== undefined ? _nativePromiseOnly.default.resolve(user) : this.currentUser(), submission !== undefined || !this.submissionId ? _nativePromiseOnly.default.resolve(submission) : this.loadSubmission(), this.accessInfo()]).then(function (results) {\n var form = results.shift();\n var user = results.shift() || {\n _id: false,\n roles: []\n };\n var submission = results.shift();\n var access = results.shift();\n var permMap = {\n create: 'create',\n read: 'read',\n update: 'edit',\n delete: 'delete'\n };\n var perms = {\n user: user,\n form: form,\n access: access,\n create: false,\n read: false,\n edit: false,\n delete: false\n };\n for (var roleName in access.roles) {\n if (access.roles.hasOwnProperty(roleName)) {\n var role = access.roles[roleName];\n if (role.default && user._id === false) {\n // User is anonymous. Add the anonymous role.\n user.roles.push(role._id);\n } else if (role.admin && user.roles.indexOf(role._id) !== -1) {\n perms.create = true;\n perms.read = true;\n perms.delete = true;\n perms.edit = true;\n return perms;\n }\n }\n }\n if (form && form.submissionAccess) {\n for (var i = 0; i < form.submissionAccess.length; i++) {\n var permission = form.submissionAccess[i];\n var _permission$type$spli = permission.type.split('_'),\n _permission$type$spli2 = _slicedToArray(_permission$type$spli, 2),\n perm = _permission$type$spli2[0],\n scope = _permission$type$spli2[1];\n if (['create', 'read', 'update', 'delete'].includes(perm)) {\n if ((0, _intersection2.default)(permission.roles, user.roles).length) {\n perms[permMap[perm]] = scope === 'all' || !submission || user._id === submission.owner;\n }\n }\n }\n }\n // check for Group Permissions\n if (submission) {\n // we would anyway need to loop through components for create permission, so we'll do that for all of them\n (0, _utils.eachComponent)(form.components, function (component, path) {\n if (component && component.defaultPermission) {\n var value = (0, _get2.default)(submission.data, path);\n // make it work for single-select Group and multi-select Group\n var groups = Array.isArray(value) ? value : [value];\n groups.forEach(function (group) {\n if (group && group._id &&\n // group id is present\n user.roles.indexOf(group._id) > -1 // user has group id in his roles\n ) {\n if (component.defaultPermission === 'read') {\n perms[permMap.read] = true;\n }\n if (component.defaultPermission === 'create') {\n perms[permMap.create] = true;\n perms[permMap.read] = true;\n }\n if (component.defaultPermission === 'write') {\n perms[permMap.create] = true;\n perms[permMap.read] = true;\n perms[permMap.update] = true;\n }\n if (component.defaultPermission === 'admin') {\n perms[permMap.create] = true;\n perms[permMap.read] = true;\n perms[permMap.update] = true;\n perms[permMap.delete] = true;\n }\n }\n });\n }\n });\n }\n return perms;\n });\n }\n\n /**\n * Determine if the current user can submit a form.\n * @return {*}\n */\n }, {\n key: \"canSubmit\",\n value: function canSubmit() {\n var _this8 = this;\n return this.userPermissions().then(function (perms) {\n // If there is user and they cannot create, then check anonymous user permissions.\n if (!perms.create && Formio.getUser()) {\n return _this8.userPermissions(null).then(function (anonPerms) {\n if (anonPerms.create) {\n Formio.setUser(null);\n return true;\n }\n return false;\n });\n }\n return perms.create;\n });\n }\n }, {\n key: \"getUrlParts\",\n value: function getUrlParts(url) {\n return Formio.getUrlParts(url, this);\n }\n }], [{\n key: \"useSessionToken\",\n value: function useSessionToken(options) {\n var tokenName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"Token\");\n var token = localStorage.getItem(tokenName);\n if (token) {\n localStorage.removeItem(tokenName);\n sessionStorage.setItem(tokenName, token);\n }\n var userName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"User\");\n var user = localStorage.getItem(userName);\n if (user) {\n localStorage.removeItem(userName);\n sessionStorage.setItem(userName, user);\n }\n localStorage.setItem('useSessionToken', true);\n }\n }, {\n key: \"loadProjects\",\n value: function loadProjects(query, opts) {\n query = query || '';\n if (isObject(query)) {\n query = \"?\".concat(Formio.serialize(query.params));\n }\n return Formio.makeStaticRequest(\"\".concat(Formio.baseUrl, \"/project\").concat(query), 'GET', null, opts);\n }\n }, {\n key: \"getUrlParts\",\n value: function getUrlParts(url, formio) {\n var base = formio && formio.base ? formio.base : Formio.baseUrl;\n var regex = '^(http[s]?:\\\\/\\\\/)';\n if (base && url.indexOf(base) === 0) {\n regex += \"(\".concat(base.replace(/^http[s]?:\\/\\//, ''), \")\");\n } else {\n regex += '([^/]+)';\n }\n regex += '($|\\\\/.*)';\n return url.match(new RegExp(regex));\n }\n }, {\n key: \"serialize\",\n value: function serialize(obj, _interpolate) {\n var str = [];\n var interpolate = function interpolate(item) {\n return _interpolate ? _interpolate(item) : item;\n };\n for (var p in obj) {\n if (obj.hasOwnProperty(p)) {\n str.push(\"\".concat(encodeURIComponent(p), \"=\").concat(encodeURIComponent(interpolate(obj[p]))));\n }\n }\n return str.join('&');\n }\n }, {\n key: \"getRequestArgs\",\n value: function getRequestArgs(formio, type, url, method, data, opts) {\n method = (method || 'GET').toUpperCase();\n if (!opts || !isObject(opts)) {\n opts = {};\n }\n var requestArgs = {\n url: url,\n method: method,\n data: data || null,\n opts: opts\n };\n if (type) {\n requestArgs.type = type;\n }\n if (formio) {\n requestArgs.formio = formio;\n }\n return requestArgs;\n }\n }, {\n key: \"makeStaticRequest\",\n value: function makeStaticRequest(url, method, data, opts) {\n var requestArgs = Formio.getRequestArgs(null, '', url, method, data, opts);\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('staticRequest', requestArgs).then(function (result) {\n if (isNil(result)) {\n return Formio.request(requestArgs.url, requestArgs.method, requestArgs.data, requestArgs.opts.header, requestArgs.opts);\n }\n return result;\n });\n });\n return Formio.pluginAlter('wrapStaticRequestPromise', request, requestArgs);\n }\n }, {\n key: \"makeRequest\",\n value: function makeRequest(formio, type, url, method, data, opts) {\n if (!formio) {\n return Formio.makeStaticRequest(url, method, data, opts);\n }\n var requestArgs = Formio.getRequestArgs(formio, type, url, method, data, opts);\n requestArgs.opts = requestArgs.opts || {};\n requestArgs.opts.formio = formio;\n\n //for Formio requests default Accept and Content-type headers\n if (!requestArgs.opts.headers) {\n requestArgs.opts.headers = {};\n }\n requestArgs.opts.headers = (0, _defaults2.default)(requestArgs.opts.headers, {\n 'Accept': 'application/json',\n 'Content-type': 'application/json'\n });\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('request', requestArgs).then(function (result) {\n if (isNil(result)) {\n return Formio.request(requestArgs.url, requestArgs.method, requestArgs.data, requestArgs.opts.header, requestArgs.opts);\n }\n return result;\n });\n });\n return Formio.pluginAlter('wrapRequestPromise', request, requestArgs);\n }\n }, {\n key: \"request\",\n value: function request(url, method, data, header, opts) {\n if (!url) {\n return _nativePromiseOnly.default.reject('No url provided');\n }\n var _Formio = Formio;\n method = (method || 'GET').toUpperCase();\n\n // For reverse compatibility, if they provided the ignoreCache parameter,\n // then change it back to the options format where that is a parameter.\n if (isBoolean(opts)) {\n opts = {\n ignoreCache: opts\n };\n }\n if (!opts || !isObject(opts)) {\n opts = {};\n }\n\n // Generate a cachekey.\n var cacheKey = btoa(encodeURI(url));\n\n // Get the cached promise to save multiple loads.\n if (!opts.ignoreCache && method === 'GET' && _Formio.cache.hasOwnProperty(cacheKey)) {\n return _nativePromiseOnly.default.resolve(cloneResponse(_Formio.cache[cacheKey]));\n }\n\n // Set up and fetch request\n var headers = header || new Headers(opts.headers || {\n 'Accept': 'application/json',\n 'Content-type': 'application/json'\n });\n var token = _Formio.getToken(opts);\n if (token && !opts.noToken) {\n headers.append('x-jwt-token', token);\n }\n\n // The fetch-ponyfill can't handle a proper Headers class anymore. Change it back to an object.\n var headerObj = {};\n headers.forEach(function (value, name) {\n headerObj[name] = value;\n });\n var options = {\n method: method,\n headers: headerObj,\n mode: 'cors'\n };\n if (data) {\n options.body = JSON.stringify(data);\n if (method === \"POST\") {\n options.body = data;\n }\n }\n\n // Allow plugins to alter the options.\n options = _Formio.pluginAlter('requestOptions', options, url);\n if (options.namespace || _Formio.namespace) {\n opts.namespace = options.namespace || _Formio.namespace;\n }\n var requestToken = options.headers['x-jwt-token'];\n var result = _Formio.pluginAlter('wrapFetchRequestPromise', _Formio.fetch(url, options), {\n url: url,\n method: method,\n data: data,\n opts: opts\n }).then(function (response) {\n // Allow plugins to respond.\n response = _Formio.pluginAlter('requestResponse', response, _Formio, data);\n if (!response.ok) {\n if (response.status === 440) {\n _Formio.setToken(null, opts);\n _Formio.events.emit('formio.sessionExpired', response.body);\n } else if (response.status === 401) {\n _Formio.events.emit('formio.unauthorized', response.body);\n } else if (response.status === 416) {\n _Formio.events.emit('formio.rangeIsNotSatisfiable', response.body);\n } else if (response.status === 504) {\n return _nativePromiseOnly.default.reject(new Error('Network request failed'));\n }\n\n // Parse and return the error as a rejected promise to reject this promise\n return (response.headers.get('content-type').includes('application/json') ? response.json() : response.text()).then(function (error) {\n return _nativePromiseOnly.default.reject(error);\n });\n }\n\n // Handle fetch results\n var token = response.headers.get('x-jwt-token');\n\n // In some strange cases, the fetch library will return an x-jwt-token without sending\n // one to the server. This has even been debugged on the server to verify that no token\n // was introduced with the request, but the response contains a token. This is an Invalid\n // case where we do not send an x-jwt-token and get one in return for any GET request.\n var tokenIntroduced = false;\n if (method === 'GET' && !requestToken && token && !opts.external && !url.includes('token=') && !url.includes('x-jwt-token=')) {\n console.warn('Token was introduced in request.');\n tokenIntroduced = true;\n }\n if (response.status >= 200 && response.status < 300 && token && token !== '' && !tokenIntroduced) {\n _Formio.setToken(token, opts);\n }\n // 204 is no content. Don't try to .json() it.\n if (response.status === 204) {\n return {};\n }\n var getResult = response.headers.get('content-type').includes('application/json') ? response.json() : response.text();\n return getResult.then(function (result) {\n // Add some content-range metadata to the result here\n var range = response.headers.get('content-range');\n if (range && isObject(result)) {\n range = range.split('/');\n if (range[0] !== '*') {\n var skipLimit = range[0].split('-');\n result.skip = Number(skipLimit[0]);\n result.limit = skipLimit[1] - skipLimit[0] + 1;\n }\n result.serverCount = range[1] === '*' ? range[1] : Number(range[1]);\n }\n if (!opts.getHeaders) {\n return result;\n }\n var headers = {};\n response.headers.forEach(function (item, key) {\n headers[key] = item;\n });\n\n // Return the result with the headers.\n return {\n result: result,\n headers: headers\n };\n });\n }).then(function (result) {\n if (opts.getHeaders) {\n return result;\n }\n\n // Cache the response.\n if (method === 'GET') {\n _Formio.cache[cacheKey] = result;\n }\n return cloneResponse(result);\n }).catch(function (err) {\n if (err === 'Bad Token') {\n _Formio.setToken(null, opts);\n _Formio.events.emit('formio.badToken', err);\n }\n if (err.message) {\n err = new Error(\"Could not connect to API server (\".concat(err.message, \"): \").concat(url));\n err.networkError = true;\n }\n if (method === 'GET') {\n delete _Formio.cache[cacheKey];\n }\n return _nativePromiseOnly.default.reject(err);\n });\n return result;\n }\n\n // Needed to maintain reverse compatability...\n }, {\n key: \"token\",\n get: function get() {\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n return Formio.tokens.formioToken || '';\n }\n\n // Needed to maintain reverse compatability...\n ,\n set: function set(token) {\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n Formio.tokens.formioToken = token || '';\n }\n }, {\n key: \"setToken\",\n value: function setToken() {\n var token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var opts = arguments.length > 1 ? arguments[1] : undefined;\n token = token || '';\n opts = typeof opts === 'string' ? {\n namespace: opts\n } : opts || {};\n var tokenName = \"\".concat(opts.namespace || Formio.namespace || 'formio', \"Token\");\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n var storage = localStorage.getItem('useSessionToken') ? sessionStorage : localStorage;\n if (!token) {\n if (!opts.fromUser) {\n opts.fromToken = true;\n Formio.setUser(null, opts);\n }\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n storage.removeItem(tokenName);\n } catch (err) {\n _browserCookies.default.erase(tokenName, {\n path: '/'\n });\n }\n Formio.tokens[tokenName] = token;\n return _nativePromiseOnly.default.resolve(null);\n }\n if (Formio.tokens[tokenName] !== token) {\n Formio.tokens[tokenName] = token;\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n storage.setItem(tokenName, token);\n } catch (err) {\n _browserCookies.default.set(tokenName, token, {\n path: '/'\n });\n }\n }\n // Return or updates the current user\n return this.currentUserResolved ? Formio.currentUser(opts.formio, opts) : _nativePromiseOnly.default.resolve(null);\n }\n }, {\n key: \"getToken\",\n value: function getToken(options) {\n options = typeof options === 'string' ? {\n namespace: options\n } : options || {};\n var tokenName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"Token\");\n var decodedTokenName = options.decode ? \"\".concat(tokenName, \"Decoded\") : tokenName;\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n if (Formio.tokens[decodedTokenName]) {\n return Formio.tokens[decodedTokenName];\n }\n try {\n var token = localStorage.getItem('useSessionToken') ? sessionStorage.getItem(tokenName) : localStorage.getItem(tokenName);\n Formio.tokens[tokenName] = token || '';\n if (options.decode) {\n Formio.tokens[decodedTokenName] = Formio.tokens[tokenName] ? (0, _jwtDecode.default)(Formio.tokens[tokenName]) : {};\n return Formio.tokens[decodedTokenName];\n }\n return Formio.tokens[tokenName];\n } catch (e) {\n Formio.tokens[tokenName] = _browserCookies.default.get(tokenName);\n return Formio.tokens[tokenName];\n }\n }\n }, {\n key: \"setUser\",\n value: function setUser(user) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var userName = \"\".concat(opts.namespace || Formio.namespace || 'formio', \"User\");\n var storage = localStorage.getItem('useSessionToken') ? sessionStorage : localStorage;\n if (!user) {\n if (!opts.fromToken) {\n opts.fromUser = true;\n Formio.setToken(null, opts);\n }\n\n // Emit an event on the cleared user.\n Formio.events.emit('formio.user', null);\n\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n return storage.removeItem(userName);\n } catch (err) {\n return _browserCookies.default.erase(userName, {\n path: '/'\n });\n }\n }\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n storage.setItem(userName, JSON.stringify(user));\n } catch (err) {\n _browserCookies.default.set(userName, JSON.stringify(user), {\n path: '/'\n });\n }\n\n // Emit an event on the authenticated user.\n Formio.events.emit('formio.user', user);\n }\n }, {\n key: \"getUser\",\n value: function getUser(options) {\n options = options || {};\n var userName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"User\");\n try {\n return JSON.parse((localStorage.getItem('useSessionToken') ? sessionStorage : localStorage).getItem(userName) || null);\n } catch (e) {\n return JSON.parse(_browserCookies.default.get(userName));\n }\n }\n }, {\n key: \"setBaseUrl\",\n value: function setBaseUrl(url) {\n Formio.baseUrl = url;\n if (!Formio.projectUrlSet) {\n Formio.projectUrl = url;\n }\n }\n }, {\n key: \"getBaseUrl\",\n value: function getBaseUrl() {\n return Formio.baseUrl;\n }\n }, {\n key: \"setApiUrl\",\n value: function setApiUrl(url) {\n return Formio.setBaseUrl(url);\n }\n }, {\n key: \"getApiUrl\",\n value: function getApiUrl() {\n return Formio.getBaseUrl();\n }\n }, {\n key: \"setAppUrl\",\n value: function setAppUrl(url) {\n console.warn('Formio.setAppUrl() is deprecated. Use Formio.setProjectUrl instead.');\n Formio.projectUrl = url;\n Formio.projectUrlSet = true;\n }\n }, {\n key: \"setProjectUrl\",\n value: function setProjectUrl(url) {\n Formio.projectUrl = url;\n Formio.projectUrlSet = true;\n }\n }, {\n key: \"setAuthUrl\",\n value: function setAuthUrl(url) {\n Formio.authUrl = url;\n }\n }, {\n key: \"getAppUrl\",\n value: function getAppUrl() {\n console.warn('Formio.getAppUrl() is deprecated. Use Formio.getProjectUrl instead.');\n return Formio.projectUrl;\n }\n }, {\n key: \"getProjectUrl\",\n value: function getProjectUrl() {\n return Formio.projectUrl;\n }\n }, {\n key: \"clearCache\",\n value: function clearCache() {\n Formio.cache = {};\n }\n }, {\n key: \"noop\",\n value: function noop() {}\n }, {\n key: \"identity\",\n value: function identity(value) {\n return value;\n }\n }, {\n key: \"deregisterPlugin\",\n value: function deregisterPlugin(plugin) {\n var beforeLength = Formio.plugins.length;\n Formio.plugins = Formio.plugins.filter(function (p) {\n if (p !== plugin && p.__name !== plugin) {\n return true;\n }\n (p.deregister || Formio.noop).call(plugin, Formio);\n return false;\n });\n return beforeLength !== Formio.plugins.length;\n }\n }, {\n key: \"registerPlugin\",\n value: function registerPlugin(plugin, name) {\n var __Formio = Formio;\n __Formio.plugins.push(plugin);\n __Formio.plugins.sort(function (a, b) {\n return (b.priority || 0) - (a.priority || 0);\n });\n plugin.__name = name;\n (plugin.init || __Formio.noop).call(plugin, __Formio);\n }\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n var _iterator = _createForOfIteratorHelper(Formio.plugins),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var plugin = _step.value;\n if (plugin.__name === name) {\n return plugin;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return null;\n }\n }, {\n key: \"pluginWait\",\n value: function pluginWait(pluginFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return _nativePromiseOnly.default.all(Formio.plugins.map(function (plugin) {\n var _ref;\n return (_ref = plugin[pluginFn] || Formio.noop).call.apply(_ref, [plugin].concat(args));\n }));\n }\n }, {\n key: \"pluginGet\",\n value: function pluginGet(pluginFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n var callPlugin = function callPlugin(index) {\n var _ref2;\n var plugin = Formio.plugins[index];\n if (!plugin) {\n return _nativePromiseOnly.default.resolve(null);\n }\n return _nativePromiseOnly.default.resolve((_ref2 = plugin[pluginFn] || Formio.noop).call.apply(_ref2, [plugin].concat(args))).then(function (result) {\n if (!isNil(result)) {\n return result;\n }\n return callPlugin(index + 1);\n });\n };\n return callPlugin(0);\n }\n }, {\n key: \"pluginAlter\",\n value: function pluginAlter(pluginFn, value) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {\n args[_key4 - 2] = arguments[_key4];\n }\n return Formio.plugins.reduce(function (value, plugin) {\n return (plugin[pluginFn] || Formio.identity).apply(void 0, [value].concat(args));\n }, value);\n }\n }, {\n key: \"accessInfo\",\n value: function accessInfo(formio) {\n var projectUrl = formio ? formio.projectUrl : Formio.projectUrl;\n return Formio.makeRequest(formio, 'accessInfo', \"\".concat(projectUrl, \"/access\"));\n }\n }, {\n key: \"projectRoles\",\n value: function projectRoles(formio) {\n var projectUrl = formio ? formio.projectUrl : Formio.projectUrl;\n return Formio.makeRequest(formio, 'projectRoles', \"\".concat(projectUrl, \"/role\"));\n }\n }, {\n key: \"currentUser\",\n value: function currentUser(formio, options) {\n var _this9 = this;\n var authUrl = Formio.authUrl;\n if (!authUrl) {\n authUrl = formio ? formio.projectUrl : Formio.projectUrl || Formio.baseUrl;\n }\n authUrl += '/current';\n var user = Formio.getUser(options);\n if (user) {\n return Formio.pluginAlter('wrapStaticRequestPromise', _nativePromiseOnly.default.resolve(user), {\n url: authUrl,\n method: 'GET',\n options: options\n });\n }\n var token = Formio.getToken(options);\n if ((!options || !options.external) && !token) {\n return Formio.pluginAlter('wrapStaticRequestPromise', _nativePromiseOnly.default.resolve(null), {\n url: authUrl,\n method: 'GET',\n options: options\n });\n }\n authUrl = \"\".concat(Formio.baseUrl, \"/current\");\n this.currentUserResolved = false;\n return Formio.makeRequest(formio, 'currentUser', authUrl, 'GET', null, options).then(function (response) {\n _this9.currentUserResolved = true;\n Formio.setUser(response, options);\n return response;\n });\n }\n }, {\n key: \"logout\",\n value: function logout(formio, options) {\n options = options || {};\n options.formio = formio;\n var projectUrl = Formio.authUrl ? Formio.authUrl : formio ? formio.projectUrl : Formio.baseUrl;\n var logout = function logout() {\n Formio.setToken(null, options);\n Formio.setUser(null, options);\n Formio.clearCache();\n localStorage.removeItem('useSessionToken');\n };\n return Formio.makeRequest(formio, 'logout', \"\".concat(projectUrl, \"/logout\")).then(function (result) {\n logout();\n return result;\n }).catch(function (err) {\n logout();\n throw err;\n });\n }\n }, {\n key: \"pageQuery\",\n value: function pageQuery() {\n var pageQuery = {};\n pageQuery.paths = [];\n var hashes = location.hash.substr(1).replace(/\\?/g, '&').split('&');\n var parts = [];\n location.search.substr(1).split('&').forEach(function (item) {\n parts = item.split('=');\n if (parts.length > 1) {\n pageQuery[parts[0]] = parts[1] && decodeURIComponent(parts[1]);\n }\n });\n hashes.forEach(function (item) {\n parts = item.split('=');\n if (parts.length > 1) {\n pageQuery[parts[0]] = parts[1] && decodeURIComponent(parts[1]);\n } else if (item.indexOf('/') === 0) {\n pageQuery.paths = item.substr(1).split('/');\n }\n });\n return pageQuery;\n }\n }, {\n key: \"oAuthCurrentUser\",\n value: function oAuthCurrentUser(formio, token) {\n return Formio.currentUser(formio, {\n external: true,\n headers: {\n Authorization: \"Bearer \".concat(token)\n }\n });\n }\n }, {\n key: \"samlInit\",\n value: function samlInit(options) {\n options = options || {};\n var query = Formio.pageQuery();\n if (query.saml) {\n Formio.setUser(null);\n var retVal = Formio.setToken(query.saml);\n var uri = window.location.toString();\n uri = uri.substring(0, uri.indexOf('?'));\n if (window.location.hash) {\n uri += window.location.hash;\n }\n window.history.replaceState({}, document.title, uri);\n return retVal;\n }\n\n // Set the relay if not provided.\n if (!options.relay) {\n options.relay = window.location.href;\n }\n\n // go to the saml sso endpoint for this project.\n var authUrl = Formio.authUrl || Formio.projectUrl;\n window.location.href = \"\".concat(authUrl, \"/saml/sso?relay=\").concat(encodeURI(options.relay));\n return false;\n }\n }, {\n key: \"oktaInit\",\n value: function oktaInit(options) {\n options = options || {};\n if ((typeof OktaAuth === \"undefined\" ? \"undefined\" : _typeof(OktaAuth)) !== undefined) {\n options.OktaAuth = OktaAuth;\n }\n if (_typeof(options.OktaAuth) === undefined) {\n var errorMessage = 'Cannot find OktaAuth. Please include the Okta JavaScript SDK within your application. See https://developer.okta.com/code/javascript/okta_auth_sdk for an example.';\n console.warn(errorMessage);\n return _nativePromiseOnly.default.reject(errorMessage);\n }\n return new _nativePromiseOnly.default(function (resolve, reject) {\n var Okta = options.OktaAuth;\n delete options.OktaAuth;\n var authClient = new Okta(options);\n authClient.tokenManager.get('accessToken').then(function (accessToken) {\n if (accessToken) {\n resolve(Formio.oAuthCurrentUser(options.formio, accessToken.accessToken));\n } else if (location.hash) {\n authClient.token.parseFromUrl().then(function (token) {\n authClient.tokenManager.add('accessToken', token);\n resolve(Formio.oAuthCurrentUser(options.formio, token.accessToken));\n }).catch(function (err) {\n console.warn(err);\n reject(err);\n });\n } else {\n authClient.token.getWithRedirect({\n responseType: 'token',\n scopes: options.scopes\n });\n resolve(false);\n }\n }).catch(function (error) {\n reject(error);\n });\n });\n }\n }, {\n key: \"ssoInit\",\n value: function ssoInit(type, options) {\n switch (type) {\n case 'saml':\n return Formio.samlInit(options);\n case 'okta':\n return Formio.oktaInit(options);\n default:\n console.warn('Unknown SSO type');\n return _nativePromiseOnly.default.reject('Unknown SSO type');\n }\n }\n }, {\n key: \"requireLibrary\",\n value: function requireLibrary(name, property, src, polling, onload) {\n if (!Formio.libraries.hasOwnProperty(name)) {\n Formio.libraries[name] = {};\n Formio.libraries[name].ready = new _nativePromiseOnly.default(function (resolve, reject) {\n Formio.libraries[name].resolve = resolve;\n Formio.libraries[name].reject = reject;\n });\n var callbackName = \"\".concat(name, \"Callback\");\n if (!polling && !window[callbackName]) {\n window[callbackName] = function () {\n return Formio.libraries[name].resolve();\n };\n }\n\n // See if the plugin already exists.\n var plugin = (0, _get2.default)(window, property);\n if (plugin) {\n Formio.libraries[name].resolve(plugin);\n } else {\n src = Array.isArray(src) ? src : [src];\n src.forEach(function (lib) {\n var attrs = {};\n var elementType = '';\n if (typeof lib === 'string') {\n lib = {\n type: 'script',\n src: lib\n };\n }\n switch (lib.type) {\n case 'script':\n elementType = 'script';\n attrs = {\n src: lib.src,\n type: 'text/javascript',\n defer: true,\n async: true,\n referrerpolicy: 'origin'\n };\n break;\n case 'styles':\n elementType = 'link';\n attrs = {\n href: lib.src,\n rel: 'stylesheet'\n };\n break;\n }\n\n // Add the script to the top of the page.\n var element = document.createElement(elementType);\n if (element.setAttribute) {\n for (var attr in attrs) {\n element.setAttribute(attr, attrs[attr]);\n }\n }\n if (onload) {\n element.addEventListener('load', function () {\n Formio.libraries[name].loaded = true;\n onload(Formio.libraries[name].ready);\n });\n }\n var _document = document,\n head = _document.head;\n if (head) {\n head.appendChild(element);\n }\n });\n\n // if no callback is provided, then check periodically for the script.\n if (polling) {\n var interval = setInterval(function () {\n var plugin = (0, _get2.default)(window, property);\n if (plugin) {\n clearInterval(interval);\n Formio.libraries[name].resolve(plugin);\n }\n }, 200);\n }\n }\n }\n var lib = Formio.libraries[name];\n return onload && lib.loaded ? onload(lib.ready) : lib.ready;\n }\n }, {\n key: \"libraryReady\",\n value: function libraryReady(name) {\n if (Formio.libraries.hasOwnProperty(name) && Formio.libraries[name].ready) {\n return Formio.libraries[name].ready;\n }\n return _nativePromiseOnly.default.reject(\"\".concat(name, \" library was not required.\"));\n }\n }, {\n key: \"addToGlobal\",\n value: function addToGlobal(global) {\n if (_typeof(global) === 'object' && !global.Formio) {\n global.Formio = Formio;\n }\n }\n }, {\n key: \"setPathType\",\n value: function setPathType(type) {\n if (typeof type === 'string') {\n Formio.pathType = type;\n }\n }\n }, {\n key: \"getPathType\",\n value: function getPathType() {\n return Formio.pathType;\n }\n }, {\n key: \"rulesEntities\",\n get: function get() {\n return {\n ValueSources: Formio.ValueSources,\n Conjunctions: Formio.Conjunctions,\n Operators: Formio.Operators,\n Transformers: Formio.Transformers,\n QuickRules: Formio.QuickRules,\n Rules: Formio.Rules\n };\n }\n }, {\n key: \"GlobalFormio\",\n get: function get() {\n if (typeof __webpack_require__.g !== 'undefined' && __webpack_require__.g.Formio) {\n return __webpack_require__.g.Formio;\n } else if (typeof window !== 'undefined' && window.Formio) {\n return window.Formio;\n }\n return Formio;\n }\n }]);\n return Formio;\n}(); // Define all the static properties.\n_defineProperty(Formio, \"currentUserResolved\", true);\nFormio.libraries = {};\nFormio.Promise = _nativePromiseOnly.default;\nFormio.fetch = fetch;\nFormio.Headers = Headers;\nFormio.baseUrl = 'https://api.form.io';\nFormio.projectUrl = Formio.baseUrl;\nFormio.authUrl = '';\nFormio.projectUrlSet = false;\nFormio.plugins = [];\nFormio.cache = {};\nFormio.Providers = _providers.default;\nFormio.version = '0.1.39';\nFormio.pathType = '';\nFormio.events = new _EventEmitter.default();\nFormio.cdn = new _CDN.default();\nif ((Formio.version || '').includes('rc')) {\n Formio.cdn.setBaseUrl('https://cdn.test-form.io');\n}\nif (typeof __webpack_require__.g !== 'undefined') {\n Formio.addToGlobal(__webpack_require__.g);\n}\nif (typeof window !== 'undefined') {\n Formio.addToGlobal(window);\n}\nvar GlobalFormio = Formio.GlobalFormio;\nexports.GlobalFormio = GlobalFormio;\nvar _default = Formio;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/Formio.js?");
84
+ eval("\n\n__webpack_require__(/*! core-js/modules/es.symbol.to-primitive.js */ \"./node_modules/core-js/modules/es.symbol.to-primitive.js\");\n__webpack_require__(/*! core-js/modules/es.date.to-primitive.js */ \"./node_modules/core-js/modules/es.date.to-primitive.js\");\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n__webpack_require__(/*! core-js/modules/es.array.from.js */ \"./node_modules/core-js/modules/es.array.from.js\");\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = exports.GlobalFormio = void 0;\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.string.match.js */ \"./node_modules/core-js/modules/es.string.match.js\");\n__webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n__webpack_require__(/*! core-js/modules/es.object.assign.js */ \"./node_modules/core-js/modules/es.object.assign.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.array.sort.js */ \"./node_modules/core-js/modules/es.array.sort.js\");\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\nvar _nativePromiseOnly = _interopRequireDefault(__webpack_require__(/*! native-promise-only */ \"./node_modules/native-promise-only/lib/npo.src.js\"));\nvar _fetchPonyfill2 = _interopRequireDefault(__webpack_require__(/*! fetch-ponyfill */ \"./node_modules/fetch-ponyfill/build/fetch-browser.js\"));\nvar _EventEmitter = _interopRequireDefault(__webpack_require__(/*! ./EventEmitter */ \"./lib/EventEmitter.js\"));\nvar _browserCookies = _interopRequireDefault(__webpack_require__(/*! browser-cookies */ \"./node_modules/browser-cookies/src/browser-cookies.js\"));\nvar _providers = _interopRequireDefault(__webpack_require__(/*! ./providers */ \"./lib/providers/index.js\"));\nvar _intersection2 = _interopRequireDefault(__webpack_require__(/*! lodash/intersection */ \"./node_modules/lodash/intersection.js\"));\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\nvar _cloneDeep2 = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar _defaults2 = _interopRequireDefault(__webpack_require__(/*! lodash/defaults */ \"./node_modules/lodash/defaults.js\"));\nvar _utils = __webpack_require__(/*! ./utils/utils */ \"./lib/utils/utils.js\");\nvar _jwtDecode = _interopRequireDefault(__webpack_require__(/*! jwt-decode */ \"./node_modules/jwt-decode/build/jwt-decode.esm.js\"));\n__webpack_require__(/*! ./polyfills */ \"./lib/polyfills/index.js\");\nvar _CDN = _interopRequireDefault(__webpack_require__(/*! ./CDN */ \"./lib/CDN.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nvar _fetchPonyfill = (0, _fetchPonyfill2.default)({\n Promise: _nativePromiseOnly.default\n }),\n fetch = _fetchPonyfill.fetch,\n Headers = _fetchPonyfill.Headers;\nvar isBoolean = function isBoolean(val) {\n return _typeof(val) === _typeof(true);\n};\nvar isNil = function isNil(val) {\n return val === null || val === undefined;\n};\nvar isObject = function isObject(val) {\n return val && _typeof(val) === 'object';\n};\nfunction cloneResponse(response) {\n var copy = (0, _cloneDeep2.default)(response);\n if (Array.isArray(response)) {\n copy.skip = response.skip;\n copy.limit = response.limit;\n copy.serverCount = response.serverCount;\n }\n return copy;\n}\n\n/**\n * The Formio interface class.\n *\n * let formio = new Formio('https://examples.form.io/example');\n */\nvar Formio = /*#__PURE__*/function () {\n /* eslint-disable max-statements */\n function Formio(path) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Formio);\n // Ensure we have an instance of Formio.\n if (!(this instanceof Formio)) {\n return new Formio(path);\n }\n\n // Initialize our variables.\n this.base = '';\n this.projectsUrl = '';\n this.projectUrl = '';\n this.projectId = '';\n this.roleUrl = '';\n this.rolesUrl = '';\n this.roleId = '';\n this.formUrl = '';\n this.formsUrl = '';\n this.formId = '';\n this.submissionsUrl = '';\n this.submissionUrl = '';\n this.submissionId = '';\n this.actionsUrl = '';\n this.actionId = '';\n this.actionUrl = '';\n this.vsUrl = '';\n this.vId = '';\n this.vUrl = '';\n this.query = '';\n\n // Store the original path and options.\n this.path = path;\n this.options = options;\n if (options.useSessionToken) {\n Formio.useSessionToken(options);\n }\n if (options.hasOwnProperty('base')) {\n this.base = options.base;\n } else if (Formio.baseUrl) {\n this.base = Formio.baseUrl;\n } else if (typeof window !== 'undefined') {\n this.base = window.location.href.match(/http[s]?:\\/\\/api./)[0];\n }\n if (!path) {\n // Allow user to create new projects if this was instantiated without\n // a url\n this.projectUrl = Formio.projectUrl || \"\".concat(this.base, \"/project\");\n this.projectsUrl = \"\".concat(this.base, \"/project\");\n this.projectId = false;\n this.query = '';\n return;\n }\n if (options.hasOwnProperty('project')) {\n this.projectUrl = options.project;\n }\n var project = this.projectUrl || Formio.projectUrl;\n var projectRegEx = /(^|\\/)(project)($|\\/[^/]+)/;\n var isProjectUrl = path.search(projectRegEx) !== -1;\n\n // The baseURL is the same as the projectUrl, and does not contain \"/project/MONGO_ID\" in\n // its domain. This is almost certainly against the Open Source server.\n if (project && this.base === project && !isProjectUrl) {\n this.noProject = true;\n this.projectUrl = this.base;\n }\n\n // Normalize to an absolute path.\n if (path.indexOf('http') !== 0 && path.indexOf('//') !== 0) {\n path = this.base + path;\n }\n var hostparts = this.getUrlParts(path);\n var parts = [];\n var hostName = hostparts[1] + hostparts[2];\n path = hostparts.length > 3 ? hostparts[3] : '';\n var queryparts = path.split('?');\n if (queryparts.length > 1) {\n path = queryparts[0];\n this.query = \"?\".concat(queryparts[1]);\n }\n\n // Register a specific path.\n var registerPath = function registerPath(name, base) {\n _this[\"\".concat(name, \"sUrl\")] = \"\".concat(base, \"/\").concat(name);\n var regex = new RegExp(\"/\".concat(name, \"/([^/]+)\"));\n if (path.search(regex) !== -1) {\n parts = path.match(regex);\n _this[\"\".concat(name, \"Url\")] = parts ? base + parts[0] : '';\n _this[\"\".concat(name, \"Id\")] = parts.length > 1 ? parts[1] : '';\n base += parts[0];\n }\n return base;\n };\n\n // Register an array of items.\n var registerItems = function registerItems(items, base, staticBase) {\n for (var i in items) {\n if (items.hasOwnProperty(i)) {\n var item = items[i];\n if (Array.isArray(item)) {\n registerItems(item, base, true);\n } else {\n var newBase = registerPath(item, base);\n base = staticBase ? base : newBase;\n }\n }\n }\n };\n if (!this.projectUrl || this.projectUrl === this.base) {\n // If a project uses Subdirectories path type, we need to specify a projectUrl\n if (!this.projectUrl && !isProjectUrl && Formio.pathType === 'Subdirectories') {\n var regex = \"^\".concat(hostName.replace(/\\//g, '\\\\/'), \".[^/]+\");\n var match = project.match(new RegExp(regex));\n this.projectUrl = match ? match[0] : hostName;\n } else {\n this.projectUrl = hostName;\n }\n }\n // Check if we have a specified path type.\n var isNotSubdomainType = false;\n if (Formio.pathType) {\n isNotSubdomainType = Formio.pathType !== 'Subdomains';\n }\n if (!this.noProject) {\n // Determine the projectUrl and projectId\n if (isProjectUrl) {\n // Get project id as project/:projectId.\n registerItems(['project'], hostName);\n path = path.replace(projectRegEx, '');\n } else if (hostName === this.base) {\n // Get project id as first part of path (subdirectory).\n if (hostparts.length > 3 && path.split('/').length > 1) {\n var isFile = path.match(/.json/);\n var pathParts = path.split('/');\n if (isFile) {\n this.projectUrl = hostName;\n } else {\n pathParts.shift(); // Throw away the first /.\n this.projectId = pathParts.shift();\n path = \"/\".concat(pathParts.join('/'));\n this.projectUrl = \"\".concat(hostName, \"/\").concat(this.projectId);\n }\n }\n } else {\n // Get project id from subdomain.\n if (hostparts.length > 2 && (hostparts[2].split('.').length > 2 || hostName.includes('localhost')) && !isNotSubdomainType) {\n this.projectUrl = hostName;\n this.projectId = hostparts[2].split('.')[0];\n }\n }\n this.projectsUrl = this.projectsUrl || \"\".concat(this.base, \"/project\");\n }\n\n // Configure Role urls and role ids.\n registerItems(['role'], this.projectUrl);\n\n // Configure Form urls and form ids.\n if (/(^|\\/)(form)($|\\/)/.test(path)) {\n registerItems(['form', ['submission', 'action', 'v']], this.projectUrl);\n } else {\n var subRegEx = new RegExp('/(submission|action|v)($|/.*)');\n var subs = path.match(subRegEx);\n this.pathType = subs && subs.length > 1 ? subs[1] : '';\n path = path.replace(subRegEx, '');\n path = path.replace(/\\/$/, '');\n this.formsUrl = \"\".concat(this.projectUrl, \"/form\");\n this.formUrl = path ? this.projectUrl + path : '';\n this.formId = path.replace(/^\\/+|\\/+$/g, '');\n var items = ['submission', 'action', 'v'];\n for (var i in items) {\n if (items.hasOwnProperty(i)) {\n var item = items[i];\n this[\"\".concat(item, \"sUrl\")] = \"\".concat(this.projectUrl + path, \"/\").concat(item);\n if (this.pathType === item && subs.length > 2 && subs[2]) {\n this[\"\".concat(item, \"Id\")] = subs[2].replace(/^\\/+|\\/+$/g, '');\n this[\"\".concat(item, \"Url\")] = this.projectUrl + path + subs[0];\n }\n }\n }\n }\n\n // Set the app url if it is not set.\n if (!Formio.projectUrlSet) {\n Formio.projectUrl = this.projectUrl;\n }\n }\n /* eslint-enable max-statements */\n _createClass(Formio, [{\n key: \"delete\",\n value: function _delete(type, opts) {\n var _id = \"\".concat(type, \"Id\");\n var _url = \"\".concat(type, \"Url\");\n if (!this[_id]) {\n return _nativePromiseOnly.default.reject('Nothing to delete');\n }\n Formio.cache = {};\n return this.makeRequest(type, this[_url], 'delete', null, opts);\n }\n }, {\n key: \"index\",\n value: function index(type, query, opts) {\n var _url = \"\".concat(type, \"Url\");\n query = query || '';\n if (query && isObject(query)) {\n query = \"?\".concat(Formio.serialize(query.params));\n }\n return this.makeRequest(type, this[_url] + query, 'get', null, opts);\n }\n }, {\n key: \"save\",\n value: function save(type, data, opts) {\n var _id = \"\".concat(type, \"Id\");\n var _url = \"\".concat(type, \"Url\");\n var method = this[_id] || data._id ? 'put' : 'post';\n var reqUrl = this[_id] ? this[_url] : this[\"\".concat(type, \"sUrl\")];\n if (!this[_id] && data._id && method === 'put' && !reqUrl.includes(data._id)) {\n reqUrl += \"/\".concat(data._id);\n }\n Formio.cache = {};\n return this.makeRequest(type, reqUrl + this.query, method, data, opts);\n }\n }, {\n key: \"load\",\n value: function load(type, query, opts) {\n var _id = \"\".concat(type, \"Id\");\n var _url = \"\".concat(type, \"Url\");\n if (query && isObject(query)) {\n query = Formio.serialize(query.params);\n }\n if (query) {\n query = this.query ? \"\".concat(this.query, \"&\").concat(query) : \"?\".concat(query);\n } else {\n query = this.query;\n }\n if (!this[_id]) {\n return _nativePromiseOnly.default.reject(\"Missing \".concat(_id));\n }\n var url = this[_url] + query;\n if (type === 'form' && !isNaN(parseInt(this.vId)) && parseInt(this.vId) !== 0) {\n url += url.match(/\\?/) ? '&' : '?';\n url += \"formRevision=\".concat(this.vId);\n }\n return this.makeRequest(type, url, 'get', null, opts);\n }\n }, {\n key: \"makeRequest\",\n value: function makeRequest() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return Formio.makeRequest.apply(Formio, [this].concat(args));\n }\n }, {\n key: \"loadProject\",\n value: function loadProject(query, opts) {\n return this.load('project', query, opts);\n }\n }, {\n key: \"saveProject\",\n value: function saveProject(data, opts) {\n return this.save('project', data, opts);\n }\n }, {\n key: \"deleteProject\",\n value: function deleteProject(opts) {\n return this.delete('project', opts);\n }\n }, {\n key: \"loadRole\",\n value: function loadRole(opts) {\n return this.load('role', null, opts);\n }\n }, {\n key: \"saveRole\",\n value: function saveRole(data, opts) {\n return this.save('role', data, opts);\n }\n }, {\n key: \"deleteRole\",\n value: function deleteRole(opts) {\n return this.delete('role', opts);\n }\n }, {\n key: \"loadRoles\",\n value: function loadRoles(opts) {\n return this.index('roles', null, opts);\n }\n }, {\n key: \"loadForm\",\n value: function loadForm(query, opts) {\n var _this2 = this;\n return this.load('form', query, opts).then(function (currentForm) {\n // Check to see if there isn't a number in vId.\n if (!currentForm.revisions || isNaN(parseInt(_this2.vId))) {\n return currentForm;\n }\n // If a submission already exists but form is marked to load current version of form.\n if (currentForm.revisions === 'current' && _this2.submissionId) {\n return currentForm;\n }\n // eslint-disable-next-line eqeqeq\n if (currentForm._vid == _this2.vId || currentForm.revisionId === _this2.vId) {\n return currentForm;\n }\n // If they specified a revision form, load the revised form components.\n if (query && isObject(query)) {\n query = Formio.serialize(query.params);\n }\n if (query) {\n query = _this2.query ? \"\".concat(_this2.query, \"&\").concat(query) : \"?\".concat(query);\n } else {\n query = _this2.query;\n }\n return _this2.makeRequest('form', _this2.vUrl + query, 'get', null, opts).then(function (revisionForm) {\n currentForm._vid = revisionForm._vid;\n currentForm.components = revisionForm.components;\n currentForm.settings = revisionForm.settings;\n currentForm.revisionId = revisionForm.revisionId;\n // Using object.assign so we don't cross polinate multiple form loads.\n return Object.assign({}, currentForm);\n })\n // If we couldn't load the revision, just return the original form.\n .catch(function () {\n return Object.assign({}, currentForm);\n });\n });\n }\n }, {\n key: \"saveForm\",\n value: function saveForm(data, opts) {\n return this.save('form', data, opts);\n }\n }, {\n key: \"deleteForm\",\n value: function deleteForm(opts) {\n return this.delete('form', opts);\n }\n }, {\n key: \"loadForms\",\n value: function loadForms(query, opts) {\n return this.index('forms', query, opts);\n }\n }, {\n key: \"loadSubmission\",\n value: function loadSubmission(query, opts) {\n var _this3 = this;\n return this.load('submission', query, opts).then(function (submission) {\n _this3.vId = submission._frid || submission._fvid;\n _this3.vUrl = \"\".concat(_this3.formUrl, \"/v/\").concat(_this3.vId);\n return submission;\n });\n }\n }, {\n key: \"saveSubmission\",\n value: function saveSubmission(data, opts) {\n if (!isNaN(parseInt(this.vId))) {\n data._fvid = this.vId;\n }\n return this.save('submission', data, opts);\n }\n }, {\n key: \"deleteSubmission\",\n value: function deleteSubmission(opts) {\n return this.delete('submission', opts);\n }\n }, {\n key: \"loadSubmissions\",\n value: function loadSubmissions(query, opts) {\n return this.index('submissions', query, opts);\n }\n }, {\n key: \"loadAction\",\n value: function loadAction(query, opts) {\n return this.load('action', query, opts);\n }\n }, {\n key: \"saveAction\",\n value: function saveAction(data, opts) {\n return this.save('action', data, opts);\n }\n }, {\n key: \"deleteAction\",\n value: function deleteAction(opts) {\n return this.delete('action', opts);\n }\n }, {\n key: \"loadActions\",\n value: function loadActions(query, opts) {\n return this.index('actions', query, opts);\n }\n }, {\n key: \"availableActions\",\n value: function availableActions() {\n return this.makeRequest('availableActions', \"\".concat(this.formUrl, \"/actions\"));\n }\n }, {\n key: \"actionInfo\",\n value: function actionInfo(name) {\n return this.makeRequest('actionInfo', \"\".concat(this.formUrl, \"/actions/\").concat(name));\n }\n }, {\n key: \"isObjectId\",\n value: function isObjectId(id) {\n var checkForHexRegExp = new RegExp('^[0-9a-fA-F]{24}$');\n return checkForHexRegExp.test(id);\n }\n }, {\n key: \"getProjectId\",\n value: function getProjectId() {\n if (!this.projectId) {\n return _nativePromiseOnly.default.resolve('');\n }\n if (this.isObjectId(this.projectId)) {\n return _nativePromiseOnly.default.resolve(this.projectId);\n } else {\n return this.loadProject().then(function (project) {\n return project._id;\n });\n }\n }\n }, {\n key: \"getFormId\",\n value: function getFormId() {\n if (!this.formId) {\n return _nativePromiseOnly.default.resolve('');\n }\n if (this.isObjectId(this.formId)) {\n return _nativePromiseOnly.default.resolve(this.formId);\n } else {\n return this.loadForm().then(function (form) {\n return form._id;\n });\n }\n }\n }, {\n key: \"currentUser\",\n value: function currentUser(options) {\n return Formio.currentUser(this, options);\n }\n }, {\n key: \"accessInfo\",\n value: function accessInfo() {\n return Formio.accessInfo(this);\n }\n\n /**\n * Returns the JWT token for this instance.\n *\n * @return {*}\n */\n }, {\n key: \"getToken\",\n value: function getToken(options) {\n return Formio.getToken(Object.assign({\n formio: this\n }, this.options, options));\n }\n\n /**\n * Sets the JWT token for this instance.\n *\n * @return {*}\n */\n }, {\n key: \"setToken\",\n value: function setToken(token, options) {\n return Formio.setToken(token, Object.assign({\n formio: this\n }, this.options, options));\n }\n\n /**\n * Returns a temporary authentication token for single purpose token generation.\n */\n }, {\n key: \"getTempToken\",\n value: function getTempToken(expire, allowed, options) {\n var token = Formio.getToken(options);\n if (!token) {\n return _nativePromiseOnly.default.reject('You must be authenticated to generate a temporary auth token.');\n }\n var authUrl = Formio.authUrl || this.projectUrl;\n return this.makeRequest('tempToken', \"\".concat(authUrl, \"/token\"), 'GET', null, {\n ignoreCache: true,\n header: new Headers({\n 'x-expire': expire,\n 'x-allow': allowed\n })\n });\n }\n\n /**\n * Get a download url for a submission PDF of this submission.\n *\n * @return {*}\n */\n }, {\n key: \"getDownloadUrl\",\n value: function getDownloadUrl(form) {\n var _this4 = this;\n if (!this.submissionId) {\n return _nativePromiseOnly.default.resolve('');\n }\n if (!form) {\n // Make sure to load the form first.\n return this.loadForm().then(function (_form) {\n if (!_form) {\n return '';\n }\n return _this4.getDownloadUrl(_form);\n });\n }\n var apiUrl = \"/project/\".concat(form.project);\n apiUrl += \"/form/\".concat(form._id);\n apiUrl += \"/submission/\".concat(this.submissionId);\n var postfix = form.submissionRevisions && form.settings.changeLog ? '/download/changelog' : '/download';\n apiUrl += postfix;\n var download = this.base + apiUrl;\n return new _nativePromiseOnly.default(function (resolve, reject) {\n _this4.getTempToken(3600, \"GET:\".concat(apiUrl)).then(function (tempToken) {\n download += \"?token=\".concat(tempToken.key);\n resolve(download);\n }, function () {\n resolve(download);\n }).catch(reject);\n });\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(storage, file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, uploadStartCallback, abortCallback) {\n var _this5 = this;\n var requestArgs = {\n provider: storage,\n method: 'upload',\n file: file,\n fileName: fileName,\n dir: dir\n };\n fileKey = fileKey || 'file';\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('fileRequest', requestArgs).then(function (result) {\n if (storage && isNil(result)) {\n var Provider = _providers.default.getProvider('storage', storage);\n if (Provider) {\n var provider = new Provider(_this5);\n if (uploadStartCallback) {\n uploadStartCallback();\n }\n return provider.uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback);\n } else {\n throw 'Storage provider not found';\n }\n }\n return result || {\n url: ''\n };\n });\n });\n return Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);\n }\n }, {\n key: \"downloadFile\",\n value: function downloadFile(file, options) {\n var _this6 = this;\n var requestArgs = {\n method: 'download',\n file: file\n };\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('fileRequest', requestArgs).then(function (result) {\n if (file.storage && isNil(result)) {\n var Provider = _providers.default.getProvider('storage', file.storage);\n if (Provider) {\n var provider = new Provider(_this6);\n return provider.downloadFile(file, options);\n } else {\n throw 'Storage provider not found';\n }\n }\n return result || {\n url: ''\n };\n });\n });\n return Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);\n }\n }, {\n key: \"deleteFile\",\n value: function deleteFile(file, options) {\n var _this7 = this;\n var requestArgs = {\n method: 'delete',\n file: file\n };\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('fileRequest', requestArgs).then(function (result) {\n if (file.storage && isNil(result)) {\n var Provider = _providers.default.getProvider('storage', file.storage);\n if (Provider) {\n var provider = new Provider(_this7);\n return provider.deleteFile(file, options);\n } else {\n throw 'Storage provider not found';\n }\n }\n return result || {\n url: ''\n };\n });\n });\n return Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);\n }\n\n /**\n * Returns the user permissions to a form and submission.\n *\n * @param user - The user or current user if undefined. For anonymous, use \"null\"\n * @param form - The form or current form if undefined. For no form check, use \"null\"\n * @param submission - The submisison or \"index\" if undefined.\n *\n * @return {create: boolean, read: boolean, edit: boolean, delete: boolean}\n */\n }, {\n key: \"userPermissions\",\n value: function userPermissions(user, form, submission) {\n return _nativePromiseOnly.default.all([form !== undefined ? _nativePromiseOnly.default.resolve(form) : this.loadForm(), user !== undefined ? _nativePromiseOnly.default.resolve(user) : this.currentUser(), submission !== undefined || !this.submissionId ? _nativePromiseOnly.default.resolve(submission) : this.loadSubmission(), this.accessInfo()]).then(function (results) {\n var form = results.shift();\n var user = results.shift() || {\n _id: false,\n roles: []\n };\n var submission = results.shift();\n var access = results.shift();\n var permMap = {\n create: 'create',\n read: 'read',\n update: 'edit',\n delete: 'delete'\n };\n var perms = {\n user: user,\n form: form,\n access: access,\n create: false,\n read: false,\n edit: false,\n delete: false\n };\n for (var roleName in access.roles) {\n if (access.roles.hasOwnProperty(roleName)) {\n var role = access.roles[roleName];\n if (role.default && user._id === false) {\n // User is anonymous. Add the anonymous role.\n user.roles.push(role._id);\n } else if (role.admin && user.roles.indexOf(role._id) !== -1) {\n perms.create = true;\n perms.read = true;\n perms.delete = true;\n perms.edit = true;\n return perms;\n }\n }\n }\n if (form && form.submissionAccess) {\n for (var i = 0; i < form.submissionAccess.length; i++) {\n var permission = form.submissionAccess[i];\n var _permission$type$spli = permission.type.split('_'),\n _permission$type$spli2 = _slicedToArray(_permission$type$spli, 2),\n perm = _permission$type$spli2[0],\n scope = _permission$type$spli2[1];\n if (['create', 'read', 'update', 'delete'].includes(perm)) {\n if ((0, _intersection2.default)(permission.roles, user.roles).length) {\n perms[permMap[perm]] = scope === 'all' || !submission || user._id === submission.owner;\n }\n }\n }\n }\n // check for Group Permissions\n if (submission) {\n // we would anyway need to loop through components for create permission, so we'll do that for all of them\n (0, _utils.eachComponent)(form.components, function (component, path) {\n if (component && component.defaultPermission) {\n var value = (0, _get2.default)(submission.data, path);\n // make it work for single-select Group and multi-select Group\n var groups = Array.isArray(value) ? value : [value];\n groups.forEach(function (group) {\n if (group && group._id &&\n // group id is present\n user.roles.indexOf(group._id) > -1 // user has group id in his roles\n ) {\n if (component.defaultPermission === 'read') {\n perms[permMap.read] = true;\n }\n if (component.defaultPermission === 'create') {\n perms[permMap.create] = true;\n perms[permMap.read] = true;\n }\n if (component.defaultPermission === 'write') {\n perms[permMap.create] = true;\n perms[permMap.read] = true;\n perms[permMap.update] = true;\n }\n if (component.defaultPermission === 'admin') {\n perms[permMap.create] = true;\n perms[permMap.read] = true;\n perms[permMap.update] = true;\n perms[permMap.delete] = true;\n }\n }\n });\n }\n });\n }\n return perms;\n });\n }\n\n /**\n * Determine if the current user can submit a form.\n * @return {*}\n */\n }, {\n key: \"canSubmit\",\n value: function canSubmit() {\n var _this8 = this;\n return this.userPermissions().then(function (perms) {\n // If there is user and they cannot create, then check anonymous user permissions.\n if (!perms.create && Formio.getUser()) {\n return _this8.userPermissions(null).then(function (anonPerms) {\n if (anonPerms.create) {\n Formio.setUser(null);\n return true;\n }\n return false;\n });\n }\n return perms.create;\n });\n }\n }, {\n key: \"getUrlParts\",\n value: function getUrlParts(url) {\n return Formio.getUrlParts(url, this);\n }\n }], [{\n key: \"useSessionToken\",\n value: function useSessionToken(options) {\n var tokenName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"Token\");\n var token = localStorage.getItem(tokenName);\n if (token) {\n localStorage.removeItem(tokenName);\n sessionStorage.setItem(tokenName, token);\n }\n var userName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"User\");\n var user = localStorage.getItem(userName);\n if (user) {\n localStorage.removeItem(userName);\n sessionStorage.setItem(userName, user);\n }\n localStorage.setItem('useSessionToken', true);\n }\n }, {\n key: \"loadProjects\",\n value: function loadProjects(query, opts) {\n query = query || '';\n if (isObject(query)) {\n query = \"?\".concat(Formio.serialize(query.params));\n }\n return Formio.makeStaticRequest(\"\".concat(Formio.baseUrl, \"/project\").concat(query), 'GET', null, opts);\n }\n }, {\n key: \"getUrlParts\",\n value: function getUrlParts(url, formio) {\n var base = formio && formio.base ? formio.base : Formio.baseUrl;\n var regex = '^(http[s]?:\\\\/\\\\/)';\n if (base && url.indexOf(base) === 0) {\n regex += \"(\".concat(base.replace(/^http[s]?:\\/\\//, ''), \")\");\n } else {\n regex += '([^/]+)';\n }\n regex += '($|\\\\/.*)';\n return url.match(new RegExp(regex));\n }\n }, {\n key: \"serialize\",\n value: function serialize(obj, _interpolate) {\n var str = [];\n var interpolate = function interpolate(item) {\n return _interpolate ? _interpolate(item) : item;\n };\n for (var p in obj) {\n if (obj.hasOwnProperty(p)) {\n str.push(\"\".concat(encodeURIComponent(p), \"=\").concat(encodeURIComponent(interpolate(obj[p]))));\n }\n }\n return str.join('&');\n }\n }, {\n key: \"getRequestArgs\",\n value: function getRequestArgs(formio, type, url, method, data, opts) {\n method = (method || 'GET').toUpperCase();\n if (!opts || !isObject(opts)) {\n opts = {};\n }\n var requestArgs = {\n url: url,\n method: method,\n data: data || null,\n opts: opts\n };\n if (type) {\n requestArgs.type = type;\n }\n if (formio) {\n requestArgs.formio = formio;\n }\n return requestArgs;\n }\n }, {\n key: \"makeStaticRequest\",\n value: function makeStaticRequest(url, method, data, opts) {\n var requestArgs = Formio.getRequestArgs(null, '', url, method, data, opts);\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('staticRequest', requestArgs).then(function (result) {\n if (isNil(result)) {\n return Formio.request(requestArgs.url, requestArgs.method, requestArgs.data, requestArgs.opts.header, requestArgs.opts);\n }\n return result;\n });\n });\n return Formio.pluginAlter('wrapStaticRequestPromise', request, requestArgs);\n }\n }, {\n key: \"makeRequest\",\n value: function makeRequest(formio, type, url, method, data, opts) {\n if (!formio) {\n return Formio.makeStaticRequest(url, method, data, opts);\n }\n var requestArgs = Formio.getRequestArgs(formio, type, url, method, data, opts);\n requestArgs.opts = requestArgs.opts || {};\n requestArgs.opts.formio = formio;\n\n //for Formio requests default Accept and Content-type headers\n if (!requestArgs.opts.headers) {\n requestArgs.opts.headers = {};\n }\n requestArgs.opts.headers = (0, _defaults2.default)(requestArgs.opts.headers, {\n 'Accept': 'application/json',\n 'Content-type': 'application/json'\n });\n var request = Formio.pluginWait('preRequest', requestArgs).then(function () {\n return Formio.pluginGet('request', requestArgs).then(function (result) {\n if (isNil(result)) {\n return Formio.request(requestArgs.url, requestArgs.method, requestArgs.data, requestArgs.opts.header, requestArgs.opts);\n }\n return result;\n });\n });\n return Formio.pluginAlter('wrapRequestPromise', request, requestArgs);\n }\n }, {\n key: \"request\",\n value: function request(url, method, data, header, opts) {\n if (!url) {\n return _nativePromiseOnly.default.reject('No url provided');\n }\n var _Formio = Formio;\n method = (method || 'GET').toUpperCase();\n\n // For reverse compatibility, if they provided the ignoreCache parameter,\n // then change it back to the options format where that is a parameter.\n if (isBoolean(opts)) {\n opts = {\n ignoreCache: opts\n };\n }\n if (!opts || !isObject(opts)) {\n opts = {};\n }\n\n // Generate a cachekey.\n var cacheKey = btoa(encodeURI(url));\n\n // Get the cached promise to save multiple loads.\n if (!opts.ignoreCache && method === 'GET' && _Formio.cache.hasOwnProperty(cacheKey)) {\n return _nativePromiseOnly.default.resolve(cloneResponse(_Formio.cache[cacheKey]));\n }\n\n // Set up and fetch request\n var headers = header || new Headers(opts.headers || {\n 'Accept': 'application/json',\n 'Content-type': 'application/json'\n });\n var token = _Formio.getToken(opts);\n if (token && !opts.noToken) {\n headers.append('x-jwt-token', token);\n }\n\n // The fetch-ponyfill can't handle a proper Headers class anymore. Change it back to an object.\n var headerObj = {};\n headers.forEach(function (value, name) {\n headerObj[name] = value;\n });\n var options = {\n method: method,\n headers: headerObj,\n mode: 'cors'\n };\n if (data) {\n options.body = JSON.stringify(data);\n if (method === \"POST\") {\n options.body = data;\n }\n }\n\n // Allow plugins to alter the options.\n options = _Formio.pluginAlter('requestOptions', options, url);\n if (options.namespace || _Formio.namespace) {\n opts.namespace = options.namespace || _Formio.namespace;\n }\n var requestToken = options.headers['x-jwt-token'];\n var result = _Formio.pluginAlter('wrapFetchRequestPromise', _Formio.fetch(url, options), {\n url: url,\n method: method,\n data: data,\n opts: opts\n }).then(function (response) {\n // Allow plugins to respond.\n response = _Formio.pluginAlter('requestResponse', response, _Formio, data);\n if (!response.ok) {\n if (response.status === 440) {\n _Formio.setToken(null, opts);\n _Formio.events.emit('formio.sessionExpired', response.body);\n } else if (response.status === 401) {\n _Formio.events.emit('formio.unauthorized', response.body);\n } else if (response.status === 416) {\n _Formio.events.emit('formio.rangeIsNotSatisfiable', response.body);\n } else if (response.status === 504) {\n return _nativePromiseOnly.default.reject(new Error('Network request failed'));\n }\n\n // Parse and return the error as a rejected promise to reject this promise\n return (response.headers.get('content-type').includes('application/json') ? response.json() : response.text()).then(function (error) {\n return _nativePromiseOnly.default.reject(error);\n });\n }\n\n // Handle fetch results\n var token = response.headers.get('x-jwt-token');\n\n // In some strange cases, the fetch library will return an x-jwt-token without sending\n // one to the server. This has even been debugged on the server to verify that no token\n // was introduced with the request, but the response contains a token. This is an Invalid\n // case where we do not send an x-jwt-token and get one in return for any GET request.\n var tokenIntroduced = false;\n if (method === 'GET' && !requestToken && token && !opts.external && !url.includes('token=') && !url.includes('x-jwt-token=')) {\n console.warn('Token was introduced in request.');\n tokenIntroduced = true;\n }\n if (response.status >= 200 && response.status < 300 && token && token !== '' && !tokenIntroduced) {\n _Formio.setToken(token, opts);\n }\n // 204 is no content. Don't try to .json() it.\n if (response.status === 204) {\n return {};\n }\n var getResult = response.headers.get('content-type').includes('application/json') ? response.json() : response.text();\n return getResult.then(function (result) {\n // Add some content-range metadata to the result here\n var range = response.headers.get('content-range');\n if (range && isObject(result)) {\n range = range.split('/');\n if (range[0] !== '*') {\n var skipLimit = range[0].split('-');\n result.skip = Number(skipLimit[0]);\n result.limit = skipLimit[1] - skipLimit[0] + 1;\n }\n result.serverCount = range[1] === '*' ? range[1] : Number(range[1]);\n }\n if (!opts.getHeaders) {\n return result;\n }\n var headers = {};\n response.headers.forEach(function (item, key) {\n headers[key] = item;\n });\n\n // Return the result with the headers.\n return {\n result: result,\n headers: headers\n };\n });\n }).then(function (result) {\n if (opts.getHeaders) {\n return result;\n }\n\n // Cache the response.\n if (method === 'GET') {\n _Formio.cache[cacheKey] = result;\n }\n return cloneResponse(result);\n }).catch(function (err) {\n if (err === 'Bad Token') {\n _Formio.setToken(null, opts);\n _Formio.events.emit('formio.badToken', err);\n }\n if (err.message) {\n err = new Error(\"Could not connect to API server (\".concat(err.message, \"): \").concat(url));\n err.networkError = true;\n }\n if (method === 'GET') {\n delete _Formio.cache[cacheKey];\n }\n return _nativePromiseOnly.default.reject(err);\n });\n return result;\n }\n\n // Needed to maintain reverse compatability...\n }, {\n key: \"token\",\n get: function get() {\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n return Formio.tokens.formioToken || '';\n }\n\n // Needed to maintain reverse compatability...\n ,\n set: function set(token) {\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n Formio.tokens.formioToken = token || '';\n }\n }, {\n key: \"setToken\",\n value: function setToken() {\n var token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var opts = arguments.length > 1 ? arguments[1] : undefined;\n token = token || '';\n opts = typeof opts === 'string' ? {\n namespace: opts\n } : opts || {};\n var tokenName = \"\".concat(opts.namespace || Formio.namespace || 'formio', \"Token\");\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n var storage = localStorage.getItem('useSessionToken') ? sessionStorage : localStorage;\n if (!token) {\n if (!opts.fromUser) {\n opts.fromToken = true;\n Formio.setUser(null, opts);\n }\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n storage.removeItem(tokenName);\n } catch (err) {\n _browserCookies.default.erase(tokenName, {\n path: '/'\n });\n }\n Formio.tokens[tokenName] = token;\n return _nativePromiseOnly.default.resolve(null);\n }\n if (Formio.tokens[tokenName] !== token) {\n Formio.tokens[tokenName] = token;\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n storage.setItem(tokenName, token);\n } catch (err) {\n _browserCookies.default.set(tokenName, token, {\n path: '/'\n });\n }\n }\n // Return or updates the current user\n return this.currentUserResolved ? Formio.currentUser(opts.formio, opts) : _nativePromiseOnly.default.resolve(null);\n }\n }, {\n key: \"getToken\",\n value: function getToken(options) {\n options = typeof options === 'string' ? {\n namespace: options\n } : options || {};\n var tokenName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"Token\");\n var decodedTokenName = options.decode ? \"\".concat(tokenName, \"Decoded\") : tokenName;\n if (!Formio.tokens) {\n Formio.tokens = {};\n }\n if (Formio.tokens[decodedTokenName]) {\n return Formio.tokens[decodedTokenName];\n }\n try {\n var token = localStorage.getItem('useSessionToken') ? sessionStorage.getItem(tokenName) : localStorage.getItem(tokenName);\n Formio.tokens[tokenName] = token || '';\n if (options.decode) {\n Formio.tokens[decodedTokenName] = Formio.tokens[tokenName] ? (0, _jwtDecode.default)(Formio.tokens[tokenName]) : {};\n return Formio.tokens[decodedTokenName];\n }\n return Formio.tokens[tokenName];\n } catch (e) {\n Formio.tokens[tokenName] = _browserCookies.default.get(tokenName);\n return Formio.tokens[tokenName];\n }\n }\n }, {\n key: \"setUser\",\n value: function setUser(user) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var userName = \"\".concat(opts.namespace || Formio.namespace || 'formio', \"User\");\n var storage = localStorage.getItem('useSessionToken') ? sessionStorage : localStorage;\n if (!user) {\n if (!opts.fromToken) {\n opts.fromUser = true;\n Formio.setToken(null, opts);\n }\n\n // Emit an event on the cleared user.\n Formio.events.emit('formio.user', null);\n\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n return storage.removeItem(userName);\n } catch (err) {\n return _browserCookies.default.erase(userName, {\n path: '/'\n });\n }\n }\n // iOS in private browse mode will throw an error but we can't detect ahead of time that we are in private mode.\n try {\n storage.setItem(userName, JSON.stringify(user));\n } catch (err) {\n _browserCookies.default.set(userName, JSON.stringify(user), {\n path: '/'\n });\n }\n\n // Emit an event on the authenticated user.\n Formio.events.emit('formio.user', user);\n }\n }, {\n key: \"getUser\",\n value: function getUser(options) {\n options = options || {};\n var userName = \"\".concat(options.namespace || Formio.namespace || 'formio', \"User\");\n try {\n return JSON.parse((localStorage.getItem('useSessionToken') ? sessionStorage : localStorage).getItem(userName) || null);\n } catch (e) {\n return JSON.parse(_browserCookies.default.get(userName));\n }\n }\n }, {\n key: \"setBaseUrl\",\n value: function setBaseUrl(url) {\n Formio.baseUrl = url;\n if (!Formio.projectUrlSet) {\n Formio.projectUrl = url;\n }\n }\n }, {\n key: \"getBaseUrl\",\n value: function getBaseUrl() {\n return Formio.baseUrl;\n }\n }, {\n key: \"setApiUrl\",\n value: function setApiUrl(url) {\n return Formio.setBaseUrl(url);\n }\n }, {\n key: \"getApiUrl\",\n value: function getApiUrl() {\n return Formio.getBaseUrl();\n }\n }, {\n key: \"setAppUrl\",\n value: function setAppUrl(url) {\n console.warn('Formio.setAppUrl() is deprecated. Use Formio.setProjectUrl instead.');\n Formio.projectUrl = url;\n Formio.projectUrlSet = true;\n }\n }, {\n key: \"setProjectUrl\",\n value: function setProjectUrl(url) {\n Formio.projectUrl = url;\n Formio.projectUrlSet = true;\n }\n }, {\n key: \"setAuthUrl\",\n value: function setAuthUrl(url) {\n Formio.authUrl = url;\n }\n }, {\n key: \"getAppUrl\",\n value: function getAppUrl() {\n console.warn('Formio.getAppUrl() is deprecated. Use Formio.getProjectUrl instead.');\n return Formio.projectUrl;\n }\n }, {\n key: \"getProjectUrl\",\n value: function getProjectUrl() {\n return Formio.projectUrl;\n }\n }, {\n key: \"clearCache\",\n value: function clearCache() {\n Formio.cache = {};\n }\n }, {\n key: \"noop\",\n value: function noop() {}\n }, {\n key: \"identity\",\n value: function identity(value) {\n return value;\n }\n }, {\n key: \"deregisterPlugin\",\n value: function deregisterPlugin(plugin) {\n var beforeLength = Formio.plugins.length;\n Formio.plugins = Formio.plugins.filter(function (p) {\n if (p !== plugin && p.__name !== plugin) {\n return true;\n }\n (p.deregister || Formio.noop).call(plugin, Formio);\n return false;\n });\n return beforeLength !== Formio.plugins.length;\n }\n }, {\n key: \"registerPlugin\",\n value: function registerPlugin(plugin, name) {\n var __Formio = Formio;\n __Formio.plugins.push(plugin);\n __Formio.plugins.sort(function (a, b) {\n return (b.priority || 0) - (a.priority || 0);\n });\n plugin.__name = name;\n (plugin.init || __Formio.noop).call(plugin, __Formio);\n }\n }, {\n key: \"getPlugin\",\n value: function getPlugin(name) {\n var _iterator = _createForOfIteratorHelper(Formio.plugins),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var plugin = _step.value;\n if (plugin.__name === name) {\n return plugin;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return null;\n }\n }, {\n key: \"pluginWait\",\n value: function pluginWait(pluginFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return _nativePromiseOnly.default.all(Formio.plugins.map(function (plugin) {\n var _ref;\n return (_ref = plugin[pluginFn] || Formio.noop).call.apply(_ref, [plugin].concat(args));\n }));\n }\n }, {\n key: \"pluginGet\",\n value: function pluginGet(pluginFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n var callPlugin = function callPlugin(index) {\n var _ref2;\n var plugin = Formio.plugins[index];\n if (!plugin) {\n return _nativePromiseOnly.default.resolve(null);\n }\n return _nativePromiseOnly.default.resolve((_ref2 = plugin[pluginFn] || Formio.noop).call.apply(_ref2, [plugin].concat(args))).then(function (result) {\n if (!isNil(result)) {\n return result;\n }\n return callPlugin(index + 1);\n });\n };\n return callPlugin(0);\n }\n }, {\n key: \"pluginAlter\",\n value: function pluginAlter(pluginFn, value) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {\n args[_key4 - 2] = arguments[_key4];\n }\n return Formio.plugins.reduce(function (value, plugin) {\n return (plugin[pluginFn] || Formio.identity).apply(void 0, [value].concat(args));\n }, value);\n }\n }, {\n key: \"accessInfo\",\n value: function accessInfo(formio) {\n var projectUrl = formio ? formio.projectUrl : Formio.projectUrl;\n return Formio.makeRequest(formio, 'accessInfo', \"\".concat(projectUrl, \"/access\"));\n }\n }, {\n key: \"projectRoles\",\n value: function projectRoles(formio) {\n var projectUrl = formio ? formio.projectUrl : Formio.projectUrl;\n return Formio.makeRequest(formio, 'projectRoles', \"\".concat(projectUrl, \"/role\"));\n }\n }, {\n key: \"currentUser\",\n value: function currentUser(formio, options) {\n var _this9 = this;\n var authUrl = Formio.authUrl;\n if (!authUrl) {\n authUrl = formio ? formio.projectUrl : Formio.projectUrl || Formio.baseUrl;\n }\n authUrl += '/current';\n var user = Formio.getUser(options);\n if (user) {\n return Formio.pluginAlter('wrapStaticRequestPromise', _nativePromiseOnly.default.resolve(user), {\n url: authUrl,\n method: 'GET',\n options: options\n });\n }\n var token = Formio.getToken(options);\n if ((!options || !options.external) && !token) {\n return Formio.pluginAlter('wrapStaticRequestPromise', _nativePromiseOnly.default.resolve(null), {\n url: authUrl,\n method: 'GET',\n options: options\n });\n }\n authUrl = \"\".concat(Formio.baseUrl, \"/current\");\n this.currentUserResolved = false;\n return Formio.makeRequest(formio, 'currentUser', authUrl, 'GET', null, options).then(function (response) {\n _this9.currentUserResolved = true;\n Formio.setUser(response, options);\n return response;\n });\n }\n }, {\n key: \"logout\",\n value: function logout(formio, options) {\n options = options || {};\n options.formio = formio;\n var projectUrl = Formio.authUrl ? Formio.authUrl : formio ? formio.projectUrl : Formio.baseUrl;\n var logout = function logout() {\n Formio.setToken(null, options);\n Formio.setUser(null, options);\n Formio.clearCache();\n localStorage.removeItem('useSessionToken');\n };\n return Formio.makeRequest(formio, 'logout', \"\".concat(projectUrl, \"/logout\")).then(function (result) {\n logout();\n return result;\n }).catch(function (err) {\n logout();\n throw err;\n });\n }\n }, {\n key: \"pageQuery\",\n value: function pageQuery() {\n var pageQuery = {};\n pageQuery.paths = [];\n var hashes = location.hash.substr(1).replace(/\\?/g, '&').split('&');\n var parts = [];\n location.search.substr(1).split('&').forEach(function (item) {\n parts = item.split('=');\n if (parts.length > 1) {\n pageQuery[parts[0]] = parts[1] && decodeURIComponent(parts[1]);\n }\n });\n hashes.forEach(function (item) {\n parts = item.split('=');\n if (parts.length > 1) {\n pageQuery[parts[0]] = parts[1] && decodeURIComponent(parts[1]);\n } else if (item.indexOf('/') === 0) {\n pageQuery.paths = item.substr(1).split('/');\n }\n });\n return pageQuery;\n }\n }, {\n key: \"oAuthCurrentUser\",\n value: function oAuthCurrentUser(formio, token) {\n return Formio.currentUser(formio, {\n external: true,\n headers: {\n Authorization: \"Bearer \".concat(token)\n }\n });\n }\n }, {\n key: \"samlInit\",\n value: function samlInit(options) {\n options = options || {};\n var query = Formio.pageQuery();\n if (query.saml) {\n Formio.setUser(null);\n var retVal = Formio.setToken(query.saml);\n var uri = window.location.toString();\n uri = uri.substring(0, uri.indexOf('?'));\n if (window.location.hash) {\n uri += window.location.hash;\n }\n window.history.replaceState({}, document.title, uri);\n return retVal;\n }\n\n // Set the relay if not provided.\n if (!options.relay) {\n options.relay = window.location.href;\n }\n\n // go to the saml sso endpoint for this project.\n var authUrl = Formio.authUrl || Formio.projectUrl;\n window.location.href = \"\".concat(authUrl, \"/saml/sso?relay=\").concat(encodeURI(options.relay));\n return false;\n }\n }, {\n key: \"oktaInit\",\n value: function oktaInit(options) {\n options = options || {};\n if ((typeof OktaAuth === \"undefined\" ? \"undefined\" : _typeof(OktaAuth)) !== undefined) {\n options.OktaAuth = OktaAuth;\n }\n if (_typeof(options.OktaAuth) === undefined) {\n var errorMessage = 'Cannot find OktaAuth. Please include the Okta JavaScript SDK within your application. See https://developer.okta.com/code/javascript/okta_auth_sdk for an example.';\n console.warn(errorMessage);\n return _nativePromiseOnly.default.reject(errorMessage);\n }\n return new _nativePromiseOnly.default(function (resolve, reject) {\n var Okta = options.OktaAuth;\n delete options.OktaAuth;\n var authClient = new Okta(options);\n authClient.tokenManager.get('accessToken').then(function (accessToken) {\n if (accessToken) {\n resolve(Formio.oAuthCurrentUser(options.formio, accessToken.accessToken));\n } else if (location.hash) {\n authClient.token.parseFromUrl().then(function (token) {\n authClient.tokenManager.add('accessToken', token);\n resolve(Formio.oAuthCurrentUser(options.formio, token.accessToken));\n }).catch(function (err) {\n console.warn(err);\n reject(err);\n });\n } else {\n authClient.token.getWithRedirect({\n responseType: 'token',\n scopes: options.scopes\n });\n resolve(false);\n }\n }).catch(function (error) {\n reject(error);\n });\n });\n }\n }, {\n key: \"ssoInit\",\n value: function ssoInit(type, options) {\n switch (type) {\n case 'saml':\n return Formio.samlInit(options);\n case 'okta':\n return Formio.oktaInit(options);\n default:\n console.warn('Unknown SSO type');\n return _nativePromiseOnly.default.reject('Unknown SSO type');\n }\n }\n }, {\n key: \"requireLibrary\",\n value: function requireLibrary(name, property, src, polling, onload) {\n if (!Formio.libraries.hasOwnProperty(name)) {\n Formio.libraries[name] = {};\n Formio.libraries[name].ready = new _nativePromiseOnly.default(function (resolve, reject) {\n Formio.libraries[name].resolve = resolve;\n Formio.libraries[name].reject = reject;\n });\n var callbackName = \"\".concat(name, \"Callback\");\n if (!polling && !window[callbackName]) {\n window[callbackName] = function () {\n return Formio.libraries[name].resolve();\n };\n }\n\n // See if the plugin already exists.\n var plugin = (0, _get2.default)(window, property);\n if (plugin) {\n Formio.libraries[name].resolve(plugin);\n } else {\n src = Array.isArray(src) ? src : [src];\n src.forEach(function (lib) {\n var attrs = {};\n var elementType = '';\n if (typeof lib === 'string') {\n lib = {\n type: 'script',\n src: lib\n };\n }\n switch (lib.type) {\n case 'script':\n elementType = 'script';\n attrs = {\n src: lib.src,\n type: 'text/javascript',\n defer: true,\n async: true,\n referrerpolicy: 'origin'\n };\n break;\n case 'styles':\n elementType = 'link';\n attrs = {\n href: lib.src,\n rel: 'stylesheet'\n };\n break;\n }\n\n // Add the script to the top of the page.\n var element = document.createElement(elementType);\n if (element.setAttribute) {\n for (var attr in attrs) {\n element.setAttribute(attr, attrs[attr]);\n }\n }\n if (onload) {\n element.addEventListener('load', function () {\n Formio.libraries[name].loaded = true;\n onload(Formio.libraries[name].ready);\n });\n }\n var _document = document,\n head = _document.head;\n if (head) {\n head.appendChild(element);\n }\n });\n\n // if no callback is provided, then check periodically for the script.\n if (polling) {\n var interval = setInterval(function () {\n var plugin = (0, _get2.default)(window, property);\n if (plugin) {\n clearInterval(interval);\n Formio.libraries[name].resolve(plugin);\n }\n }, 200);\n }\n }\n }\n var lib = Formio.libraries[name];\n return onload && lib.loaded ? onload(lib.ready) : lib.ready;\n }\n }, {\n key: \"libraryReady\",\n value: function libraryReady(name) {\n if (Formio.libraries.hasOwnProperty(name) && Formio.libraries[name].ready) {\n return Formio.libraries[name].ready;\n }\n return _nativePromiseOnly.default.reject(\"\".concat(name, \" library was not required.\"));\n }\n }, {\n key: \"addToGlobal\",\n value: function addToGlobal(global) {\n if (_typeof(global) === 'object' && !global.Formio) {\n global.Formio = Formio;\n }\n }\n }, {\n key: \"setPathType\",\n value: function setPathType(type) {\n if (typeof type === 'string') {\n Formio.pathType = type;\n }\n }\n }, {\n key: \"getPathType\",\n value: function getPathType() {\n return Formio.pathType;\n }\n }, {\n key: \"rulesEntities\",\n get: function get() {\n return {\n ValueSources: Formio.ValueSources,\n Conjunctions: Formio.Conjunctions,\n Operators: Formio.Operators,\n Transformers: Formio.Transformers,\n QuickRules: Formio.QuickRules,\n Rules: Formio.Rules\n };\n }\n }, {\n key: \"GlobalFormio\",\n get: function get() {\n if (typeof __webpack_require__.g !== 'undefined' && __webpack_require__.g.Formio) {\n return __webpack_require__.g.Formio;\n } else if (typeof window !== 'undefined' && window.Formio) {\n return window.Formio;\n }\n return Formio;\n }\n }]);\n return Formio;\n}(); // Define all the static properties.\n_defineProperty(Formio, \"currentUserResolved\", true);\nFormio.libraries = {};\nFormio.Promise = _nativePromiseOnly.default;\nFormio.fetch = fetch;\nFormio.Headers = Headers;\nFormio.baseUrl = 'https://api.form.io';\nFormio.projectUrl = Formio.baseUrl;\nFormio.authUrl = '';\nFormio.projectUrlSet = false;\nFormio.plugins = [];\nFormio.cache = {};\nFormio.Providers = _providers.default;\nFormio.version = '0.1.41';\nFormio.pathType = '';\nFormio.events = new _EventEmitter.default();\nFormio.cdn = new _CDN.default();\nif ((Formio.version || '').includes('rc')) {\n Formio.cdn.setBaseUrl('https://cdn.test-form.io');\n}\nif (typeof __webpack_require__.g !== 'undefined') {\n Formio.addToGlobal(__webpack_require__.g);\n}\nif (typeof window !== 'undefined') {\n Formio.addToGlobal(window);\n}\nvar GlobalFormio = Formio.GlobalFormio;\nexports.GlobalFormio = GlobalFormio;\nvar _default = Formio;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/Formio.js?");
85
85
 
86
86
  /***/ }),
87
87
 
@@ -598,7 +598,7 @@ eval("\n\n__webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js
598
598
  /***/ (function(__unused_webpack_module, exports) {
599
599
 
600
600
  "use strict";
601
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _default = [{\n type: 'input',\n label: '标题',\n key: 'header',\n input: true,\n tooltip: '',\n weight: 1\n}, {\n type: 'textarea',\n label: '自定义标题样式',\n key: 'custom-style-title',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}',\n weight: 1\n}, {\n type: 'input',\n label: '副标题',\n key: 'sub-header',\n input: true,\n tooltip: '',\n weight: 1\n}, {\n type: 'textarea',\n label: '自定义副标题样式',\n key: 'custom-style-sub-title',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}',\n weight: 1\n}, {\n type: 'input',\n label: '背景颜色',\n key: 'bgColor',\n input: true,\n tooltip: '',\n weight: 2,\n defaultValue: '#ffffff'\n}, {\n type: 'textarea',\n label: '自定义背景样式',\n key: 'custom-style-bg',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}',\n weight: 2\n}, {\n type: 'panel',\n title: 'Icon',\n collapsible: true,\n collapsed: false,\n weight: 3,\n components: [{\n type: 'input',\n label: 'Field',\n key: 'icon-field',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Color',\n key: 'icon-color',\n input: true,\n tooltip: ''\n }]\n}, {\n type: 'panel',\n title: 'Value',\n collapsible: true,\n collapsed: false,\n weight: 4,\n components: [{\n type: 'input',\n label: 'URL',\n key: 'value-url',\n input: true,\n tooltip: ''\n }, {\n type: 'datagrid',\n input: true,\n label: 'Request Headers',\n key: 'new-value-headers',\n defaultValue: [{\n key: '',\n value: ''\n }],\n components: [{\n label: 'Key',\n key: 'key',\n input: true,\n type: 'textfield',\n validate: {\n required: true\n }\n }, {\n label: 'Value',\n key: 'value',\n input: true,\n type: 'textfield',\n validate: {\n required: true\n }\n }]\n }, {\n type: 'input',\n label: 'Field',\n key: 'value-field',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Color',\n key: 'value-color',\n input: true,\n tooltip: ''\n }, {\n type: 'textarea',\n label: '自定义样式',\n key: 'custom-style-value',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}'\n }]\n}, {\n type: 'panel',\n title: 'SubValue',\n collapsible: true,\n collapsed: false,\n weight: 5,\n components: [{\n type: 'input',\n label: 'URL',\n key: 'subValue-url',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Field',\n key: 'subValue-field',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Color',\n key: 'subValue-color',\n input: true,\n tooltip: ''\n }, {\n type: 'textarea',\n label: '自定义样式',\n key: 'custom-style-sub-value',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}'\n }]\n}, {\n type: 'panel',\n title: 'SparkLine',\n collapsible: true,\n collapsed: false,\n weight: 6,\n components: [{\n type: 'input',\n label: 'Title',\n key: 'sparkLine-title',\n input: true,\n tooltip: ''\n }, {\n key: 'sparkLine-type',\n data: {\n values: [{\n label: 'Line Charts',\n value: 'line'\n }, {\n label: 'Pie Charts',\n value: 'pie'\n }, {\n label: 'Donut Charts',\n value: 'donut'\n }, {\n label: 'Bar Charts',\n value: 'bar'\n }]\n },\n type: 'select',\n input: true,\n defaultValue: 'line',\n label: 'Type',\n dataSrc: 'values'\n }, {\n type: 'number',\n label: 'width',\n key: 'sparkLine-width',\n input: true,\n tooltip: '',\n defaultValue: 32\n }, {\n type: 'number',\n label: 'height',\n key: 'sparkLine-height',\n input: true,\n tooltip: '',\n defaultValue: 16\n }, {\n type: 'input',\n label: 'MaxValueCount',\n key: 'sparkLine-max-value-count',\n defaultValue: '10',\n input: true,\n tooltip: ''\n }, {\n key: 'sparkLine-dataSrc',\n data: {\n values: [{\n label: 'Values',\n value: 'values'\n }, {\n label: 'URL',\n value: 'url'\n }]\n },\n type: 'select',\n input: true,\n defaultValue: 'values',\n label: 'Data Src',\n dataSrc: 'values'\n }, {\n type: 'input',\n label: 'URL',\n key: 'sparkLine-url',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'datagrid',\n input: true,\n label: 'Request Headers',\n key: 'new-sparkLine-headers',\n defaultValue: [{\n key: '',\n value: ''\n }],\n components: [{\n label: 'Key',\n key: 'key',\n input: true,\n type: 'textfield',\n validate: {\n required: true\n }\n }, {\n label: 'Value',\n key: 'value',\n input: true,\n type: 'textfield',\n validate: {\n required: true\n }\n }],\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'input',\n label: 'Field',\n key: 'sparkLine-field',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'input',\n label: 'Array Field',\n key: 'sparkLine-array-field',\n input: true,\n tooltip: '接口结果是数组,展示数据为对数组的某一项的取值,不填表示直接展示接口结果',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'input',\n label: 'Values',\n key: 'sparkLine-const-field',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'values']\n }\n }\n }, {\n type: 'input',\n label: 'FillColor',\n key: 'sparkLine-fill-color',\n input: true,\n tooltip: '多个颜色用逗号隔开',\n placeholder: '#c6d9fd,#000000',\n defaultValue: ''\n }, {\n type: 'input',\n label: 'StrokeColor',\n key: 'sparkLine-stroke-color',\n input: true,\n tooltip: '',\n defaultValue: ''\n }]\n}, {\n type: 'panel',\n title: '点击事件',\n collapsible: true,\n collapsed: false,\n weight: 5,\n components: [{\n key: 'click-event-type',\n data: {\n values: [{\n label: '跳转url',\n value: 'url'\n }, {\n label: '跳转流程定义列表',\n value: 'processDefList'\n }, {\n label: '跳转任务列表',\n value: 'taskList'\n }, {\n label: '新建流程实例',\n value: 'newProcessInstance'\n }, {\n label: '打开任务列表panel',\n value: 'taskListPanel'\n }, {\n label: '打开tab页面',\n value: 'newTab'\n }]\n },\n type: 'select',\n input: true,\n label: '事件类型',\n dataSrc: 'values'\n }, {\n label: '显示跳转图标',\n key: 'click-event-show-icon',\n type: 'checkbox',\n defaultValue: true\n }, {\n label: '锁定抽屉',\n key: 'click-event-lock-drawer',\n type: 'checkbox',\n conditional: {\n json: {\n in: [{\n var: 'data.click-event-type'\n }, ['newProcessInstance']]\n }\n }\n }, {\n type: 'input',\n label: 'URL',\n key: 'click-event-url',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'url']\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: 'FormId',\n key: 'click-event-form-id',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'newTab']\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: '流程定义keys',\n key: 'click-event-process-def-keys',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n in: [{\n var: 'data.click-event-type'\n }, ['processDefList', 'taskListPanel']]\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: '流程定义keys',\n key: 'click-event-task-keys',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'taskList']\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: '流程定义key',\n key: 'click-event-process-def-key',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'newProcessInstance']\n }\n },\n validate: {\n required: true\n }\n }]\n}, {\n key: 'labelPosition',\n ignore: true\n}, {\n key: 'customClass',\n ignore: false\n}, {\n key: 'placeholder',\n ignore: true\n}, {\n key: 'hidden',\n ignore: true\n}, {\n key: 'modalEdit',\n ignore: true\n}, {\n key: 'tableView',\n ignore: true\n}, {\n key: 'description',\n ignore: true\n}, {\n key: 'hideLabel',\n ignore: true\n}, {\n key: 'autofocus',\n ignore: true\n}, {\n key: 'tooltip',\n ignore: true\n}, {\n key: 'tabindex',\n ignore: true\n}, {\n key: 'disabled',\n ignore: true\n}, {\n key: 'label',\n ignore: true\n}, {\n key: 'key',\n ignore: true\n}];\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/Data/editForm/Data.edit.display.js?");
601
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _default = [{\n type: 'input',\n label: '标题',\n key: 'header',\n input: true,\n tooltip: '',\n weight: 1\n}, {\n type: 'textarea',\n label: '自定义标题样式',\n key: 'custom-style-title',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}',\n weight: 1\n}, {\n type: 'input',\n label: '副标题',\n key: 'sub-header',\n input: true,\n tooltip: '',\n weight: 1\n}, {\n type: 'textarea',\n label: '自定义副标题样式',\n key: 'custom-style-sub-title',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}',\n weight: 1\n}, {\n type: 'input',\n label: '背景颜色',\n key: 'bgColor',\n input: true,\n tooltip: '',\n weight: 2,\n defaultValue: '#ffffff'\n}, {\n type: 'textarea',\n label: '自定义背景样式',\n key: 'custom-style-bg',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}',\n weight: 2\n}, {\n type: 'panel',\n title: 'Icon',\n collapsible: true,\n collapsed: false,\n weight: 3,\n components: [{\n type: 'input',\n label: 'Field',\n key: 'icon-field',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Color',\n key: 'icon-color',\n input: true,\n tooltip: ''\n }]\n}, {\n type: 'panel',\n title: 'Value',\n collapsible: true,\n collapsed: false,\n weight: 4,\n components: [{\n type: 'input',\n label: 'URL',\n key: 'value-url',\n input: true,\n tooltip: ''\n }, {\n type: 'datagrid',\n input: true,\n label: 'Request Headers',\n key: 'new-value-headers',\n defaultValue: [{\n key: '',\n value: ''\n }],\n components: [{\n label: 'Key',\n key: 'key',\n input: true,\n type: 'textfield',\n validate: {\n required: false\n }\n }, {\n label: 'Value',\n key: 'value',\n input: true,\n type: 'textfield',\n validate: {\n required: false\n }\n }]\n }, {\n type: 'input',\n label: 'Field',\n key: 'value-field',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Color',\n key: 'value-color',\n input: true,\n tooltip: ''\n }, {\n type: 'textarea',\n label: '自定义样式',\n key: 'custom-style-value',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}'\n }]\n}, {\n type: 'panel',\n title: 'SubValue',\n collapsible: true,\n collapsed: false,\n weight: 5,\n components: [{\n type: 'input',\n label: 'URL',\n key: 'subValue-url',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Field',\n key: 'subValue-field',\n input: true,\n tooltip: ''\n }, {\n type: 'input',\n label: 'Color',\n key: 'subValue-color',\n input: true,\n tooltip: ''\n }, {\n type: 'textarea',\n label: '自定义样式',\n key: 'custom-style-sub-value',\n editor: 'ace',\n input: true,\n defaultValue: '',\n tooltip: '自定义的style:json格式,ex:{\"border\":\"none\",\"border-radius\":\"30px\"}'\n }]\n}, {\n type: 'panel',\n title: 'SparkLine',\n collapsible: true,\n collapsed: false,\n weight: 6,\n components: [{\n type: 'input',\n label: 'Title',\n key: 'sparkLine-title',\n input: true,\n tooltip: ''\n }, {\n key: 'sparkLine-type',\n data: {\n values: [{\n label: 'Line Charts',\n value: 'line'\n }, {\n label: 'Pie Charts',\n value: 'pie'\n }, {\n label: 'Donut Charts',\n value: 'donut'\n }, {\n label: 'Bar Charts',\n value: 'bar'\n }]\n },\n type: 'select',\n input: true,\n defaultValue: 'line',\n label: 'Type',\n dataSrc: 'values'\n }, {\n type: 'number',\n label: 'width',\n key: 'sparkLine-width',\n input: true,\n tooltip: '',\n defaultValue: 32\n }, {\n type: 'number',\n label: 'height',\n key: 'sparkLine-height',\n input: true,\n tooltip: '',\n defaultValue: 16\n }, {\n type: 'input',\n label: 'MaxValueCount',\n key: 'sparkLine-max-value-count',\n defaultValue: '10',\n input: true,\n tooltip: ''\n }, {\n key: 'sparkLine-dataSrc',\n data: {\n values: [{\n label: 'Values',\n value: 'values'\n }, {\n label: 'URL',\n value: 'url'\n }]\n },\n type: 'select',\n input: true,\n defaultValue: 'values',\n label: 'Data Src',\n dataSrc: 'values'\n }, {\n type: 'input',\n label: 'URL',\n key: 'sparkLine-url',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'datagrid',\n input: true,\n label: 'Request Headers',\n key: 'new-sparkLine-headers',\n defaultValue: [{\n key: '',\n value: ''\n }],\n components: [{\n label: 'Key',\n key: 'key',\n input: true,\n type: 'textfield',\n validate: {\n required: true\n }\n }, {\n label: 'Value',\n key: 'value',\n input: true,\n type: 'textfield',\n validate: {\n required: true\n }\n }],\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'input',\n label: 'Field',\n key: 'sparkLine-field',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'input',\n label: 'Array Field',\n key: 'sparkLine-array-field',\n input: true,\n tooltip: '接口结果是数组,展示数据为对数组的某一项的取值,不填表示直接展示接口结果',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'url']\n }\n }\n }, {\n type: 'input',\n label: 'Values',\n key: 'sparkLine-const-field',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.sparkLine-dataSrc'\n }, 'values']\n }\n }\n }, {\n type: 'input',\n label: 'FillColor',\n key: 'sparkLine-fill-color',\n input: true,\n tooltip: '多个颜色用逗号隔开',\n placeholder: '#c6d9fd,#000000',\n defaultValue: ''\n }, {\n type: 'input',\n label: 'StrokeColor',\n key: 'sparkLine-stroke-color',\n input: true,\n tooltip: '',\n defaultValue: ''\n }]\n}, {\n type: 'panel',\n title: '点击事件',\n collapsible: true,\n collapsed: false,\n weight: 5,\n components: [{\n key: 'click-event-type',\n data: {\n values: [{\n label: '跳转url',\n value: 'url'\n }, {\n label: '跳转流程定义列表',\n value: 'processDefList'\n }, {\n label: '跳转任务列表',\n value: 'taskList'\n }, {\n label: '新建流程实例',\n value: 'newProcessInstance'\n }, {\n label: '打开任务列表panel',\n value: 'taskListPanel'\n }, {\n label: '打开tab页面',\n value: 'newTab'\n }]\n },\n type: 'select',\n input: true,\n label: '事件类型',\n dataSrc: 'values'\n }, {\n label: '显示跳转图标',\n key: 'click-event-show-icon',\n type: 'checkbox',\n defaultValue: true\n }, {\n label: '锁定抽屉',\n key: 'click-event-lock-drawer',\n type: 'checkbox',\n conditional: {\n json: {\n in: [{\n var: 'data.click-event-type'\n }, ['newProcessInstance']]\n }\n }\n }, {\n type: 'input',\n label: 'URL',\n key: 'click-event-url',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'url']\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: 'FormId',\n key: 'click-event-form-id',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'newTab']\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: '流程定义keys',\n key: 'click-event-process-def-keys',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n in: [{\n var: 'data.click-event-type'\n }, ['processDefList', 'taskListPanel']]\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: '流程定义keys',\n key: 'click-event-task-keys',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'taskList']\n }\n },\n validate: {\n required: true\n }\n }, {\n type: 'input',\n label: '流程定义key',\n key: 'click-event-process-def-key',\n input: true,\n tooltip: '',\n conditional: {\n json: {\n '===': [{\n var: 'data.click-event-type'\n }, 'newProcessInstance']\n }\n },\n validate: {\n required: true\n }\n }]\n}, {\n key: 'labelPosition',\n ignore: true\n}, {\n key: 'customClass',\n ignore: false\n}, {\n key: 'placeholder',\n ignore: true\n}, {\n key: 'hidden',\n ignore: true\n}, {\n key: 'modalEdit',\n ignore: true\n}, {\n key: 'tableView',\n ignore: true\n}, {\n key: 'description',\n ignore: true\n}, {\n key: 'hideLabel',\n ignore: true\n}, {\n key: 'autofocus',\n ignore: true\n}, {\n key: 'tooltip',\n ignore: true\n}, {\n key: 'tabindex',\n ignore: true\n}, {\n key: 'disabled',\n ignore: true\n}, {\n key: 'label',\n ignore: true\n}, {\n key: 'key',\n ignore: true\n}];\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/Data/editForm/Data.edit.display.js?");
602
602
 
603
603
  /***/ }),
604
604
 
@@ -1357,7 +1357,7 @@ eval("\n\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_
1357
1357
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1358
1358
 
1359
1359
  "use strict";
1360
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _ = _interopRequireDefault(__webpack_require__(/*! . */ \"./lib/components/index.js\"));\nvar _Address = _interopRequireDefault(__webpack_require__(/*! ./address/Address.form */ \"./lib/components/address/Address.form.js\"));\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ./button/Button.form */ \"./lib/components/button/Button.form.js\"));\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ./checkbox/Checkbox.form */ \"./lib/components/checkbox/Checkbox.form.js\"));\nvar _Columns = _interopRequireDefault(__webpack_require__(/*! ./columns/Columns.form */ \"./lib/components/columns/Columns.form.js\"));\nvar _Component = _interopRequireDefault(__webpack_require__(/*! ./_classes/component/Component.form */ \"./lib/components/_classes/component/Component.form.js\"));\nvar _Container = _interopRequireDefault(__webpack_require__(/*! ./container/Container.form */ \"./lib/components/container/Container.form.js\"));\nvar _Content = _interopRequireDefault(__webpack_require__(/*! ./content/Content.form */ \"./lib/components/content/Content.form.js\"));\nvar _Currency = _interopRequireDefault(__webpack_require__(/*! ./currency/Currency.form */ \"./lib/components/currency/Currency.form.js\"));\nvar _DataGrid = _interopRequireDefault(__webpack_require__(/*! ./datagrid/DataGrid.form */ \"./lib/components/datagrid/DataGrid.form.js\"));\nvar _DataMap = _interopRequireDefault(__webpack_require__(/*! ./datamap/DataMap.form */ \"./lib/components/datamap/DataMap.form.js\"));\nvar _DateTime = _interopRequireDefault(__webpack_require__(/*! ./datetime/DateTime.form */ \"./lib/components/datetime/DateTime.form.js\"));\nvar _Day = _interopRequireDefault(__webpack_require__(/*! ./day/Day.form */ \"./lib/components/day/Day.form.js\"));\nvar _EditGrid = _interopRequireDefault(__webpack_require__(/*! ./editgrid/EditGrid.form */ \"./lib/components/editgrid/EditGrid.form.js\"));\nvar _Email = _interopRequireDefault(__webpack_require__(/*! ./email/Email.form */ \"./lib/components/email/Email.form.js\"));\nvar _Fieldset = _interopRequireDefault(__webpack_require__(/*! ./fieldset/Fieldset.form */ \"./lib/components/fieldset/Fieldset.form.js\"));\nvar _File = _interopRequireDefault(__webpack_require__(/*! ./file/File.form */ \"./lib/components/file/File.form.js\"));\nvar _Form = _interopRequireDefault(__webpack_require__(/*! ./form/Form.form */ \"./lib/components/form/Form.form.js\"));\nvar _ListComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/list/ListComponent.form */ \"./lib/components/_classes/list/ListComponent.form.js\"));\nvar _Hidden = _interopRequireDefault(__webpack_require__(/*! ./hidden/Hidden.form */ \"./lib/components/hidden/Hidden.form.js\"));\nvar _HTML = _interopRequireDefault(__webpack_require__(/*! ./html/HTML.form */ \"./lib/components/html/HTML.form.js\"));\nvar _NestedComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nested/NestedComponent.form */ \"./lib/components/_classes/nested/NestedComponent.form.js\"));\nvar _Number = _interopRequireDefault(__webpack_require__(/*! ./number/Number.form */ \"./lib/components/number/Number.form.js\"));\nvar _Panel = _interopRequireDefault(__webpack_require__(/*! ./panel/Panel.form */ \"./lib/components/panel/Panel.form.js\"));\nvar _Password = _interopRequireDefault(__webpack_require__(/*! ./password/Password.form */ \"./lib/components/password/Password.form.js\"));\nvar _PhoneNumber = _interopRequireDefault(__webpack_require__(/*! ./phonenumber/PhoneNumber.form */ \"./lib/components/phonenumber/PhoneNumber.form.js\"));\nvar _Radio = _interopRequireDefault(__webpack_require__(/*! ./radio/Radio.form */ \"./lib/components/radio/Radio.form.js\"));\nvar _ReCaptcha = _interopRequireDefault(__webpack_require__(/*! ./recaptcha/ReCaptcha.form */ \"./lib/components/recaptcha/ReCaptcha.form.js\"));\nvar _Resource = _interopRequireDefault(__webpack_require__(/*! ./resource/Resource.form */ \"./lib/components/resource/Resource.form.js\"));\nvar _SelectBoxes = _interopRequireDefault(__webpack_require__(/*! ./selectboxes/SelectBoxes.form */ \"./lib/components/selectboxes/SelectBoxes.form.js\"));\nvar _Select = _interopRequireDefault(__webpack_require__(/*! ./select/Select.form */ \"./lib/components/select/Select.form.js\"));\nvar _Signature = _interopRequireDefault(__webpack_require__(/*! ./signature/Signature.form */ \"./lib/components/signature/Signature.form.js\"));\nvar _Survey = _interopRequireDefault(__webpack_require__(/*! ./survey/Survey.form */ \"./lib/components/survey/Survey.form.js\"));\nvar _Table = _interopRequireDefault(__webpack_require__(/*! ./table/Table.form */ \"./lib/components/table/Table.form.js\"));\nvar _Tabs = _interopRequireDefault(__webpack_require__(/*! ./tabs/Tabs.form */ \"./lib/components/tabs/Tabs.form.js\"));\nvar _Tags = _interopRequireDefault(__webpack_require__(/*! ./tags/Tags.form */ \"./lib/components/tags/Tags.form.js\"));\nvar _TextArea = _interopRequireDefault(__webpack_require__(/*! ./textarea/TextArea.form */ \"./lib/components/textarea/TextArea.form.js\"));\nvar _TextField = _interopRequireDefault(__webpack_require__(/*! ./textfield/TextField.form */ \"./lib/components/textfield/TextField.form.js\"));\nvar _Time = _interopRequireDefault(__webpack_require__(/*! ./time/Time.form */ \"./lib/components/time/Time.form.js\"));\nvar _Tree = _interopRequireDefault(__webpack_require__(/*! ./tree/Tree.form */ \"./lib/components/tree/Tree.form.js\"));\nvar _Unknown = _interopRequireDefault(__webpack_require__(/*! ./unknown/Unknown.form */ \"./lib/components/unknown/Unknown.form.js\"));\nvar _Url = _interopRequireDefault(__webpack_require__(/*! ./url/Url.form */ \"./lib/components/url/Url.form.js\"));\nvar _Well = _interopRequireDefault(__webpack_require__(/*! ./well/Well.form */ \"./lib/components/well/Well.form.js\"));\nvar _Data = _interopRequireDefault(__webpack_require__(/*! ./Data/Data.form */ \"./lib/components/Data/Data.form.js\"));\nvar _Chart = _interopRequireDefault(__webpack_require__(/*! ./Chart/Chart.form */ \"./lib/components/Chart/Chart.form.js\"));\nvar _CustomCheckBox = _interopRequireDefault(__webpack_require__(/*! ./CustomCheckBox/CustomCheckBox.form */ \"./lib/components/CustomCheckBox/CustomCheckBox.form.js\"));\nvar _CustomDateTime = _interopRequireDefault(__webpack_require__(/*! ./CustomDateTime/CustomDateTime.form */ \"./lib/components/CustomDateTime/CustomDateTime.form.js\"));\nvar _CustomFile = _interopRequireDefault(__webpack_require__(/*! ./CustomFile/CustomFile.form */ \"./lib/components/CustomFile/CustomFile.form.js\"));\nvar _CustomUrl = _interopRequireDefault(__webpack_require__(/*! ./CustomUrl/CustomUrl.form */ \"./lib/components/CustomUrl/CustomUrl.form.js\"));\nvar _CustomRadio = _interopRequireDefault(__webpack_require__(/*! ./CustomRadio/CustomRadio.form */ \"./lib/components/CustomRadio/CustomRadio.form.js\"));\nvar _CustomSelect = _interopRequireDefault(__webpack_require__(/*! ./CustomSelect/CustomSelect.form */ \"./lib/components/CustomSelect/CustomSelect.form.js\"));\nvar _CustomTextArea = _interopRequireDefault(__webpack_require__(/*! ./CustomTextArea/CustomTextArea.form */ \"./lib/components/CustomTextArea/CustomTextArea.form.js\"));\nvar _CustomTextField = _interopRequireDefault(__webpack_require__(/*! ./CustomTextField/CustomTextField.form */ \"./lib/components/CustomTextField/CustomTextField.form.js\"));\nvar _ProcessTable = _interopRequireDefault(__webpack_require__(/*! ./ProcessTable/ProcessTable.form */ \"./lib/components/ProcessTable/ProcessTable.form.js\"));\nvar _Department = _interopRequireDefault(__webpack_require__(/*! ./Department/Department.form */ \"./lib/components/Department/Department.form.js\"));\nvar _Flex = _interopRequireDefault(__webpack_require__(/*! ./Flex/Flex.form */ \"./lib/components/Flex/Flex.form.js\"));\nvar _NewsData = _interopRequireDefault(__webpack_require__(/*! ./NewsData/NewsData.form */ \"./lib/components/NewsData/NewsData.form.js\"));\nvar _QrCode = _interopRequireDefault(__webpack_require__(/*! ./QrCode/QrCode.form */ \"./lib/components/QrCode/QrCode.form.js\"));\nvar _ScanInputTextField = _interopRequireDefault(__webpack_require__(/*! ./ScanInputTextField/ScanInputTextField.form */ \"./lib/components/ScanInputTextField/ScanInputTextField.form.js\"));\nvar _ActionButton = _interopRequireDefault(__webpack_require__(/*! ./ActionButton/ActionButton.form */ \"./lib/components/ActionButton/ActionButton.form.js\"));\nvar _TextArea2 = _interopRequireDefault(__webpack_require__(/*! ./wysiwyg/TextArea.form */ \"./lib/components/wysiwyg/TextArea.form.js\"));\nvar _FileDownload = _interopRequireDefault(__webpack_require__(/*! ./FileDownload/FileDownload.form */ \"./lib/components/FileDownload/FileDownload.form.js\"));\nvar _TaskCalendar = _interopRequireDefault(__webpack_require__(/*! ./TaskCalendar/TaskCalendar.form */ \"./lib/components/TaskCalendar/TaskCalendar.form.js\"));\nvar _LocationInputTextField = _interopRequireDefault(__webpack_require__(/*! ./LocationInputTextField/LocationInputTextField.form */ \"./lib/components/LocationInputTextField/LocationInputTextField.form.js\"));\nvar _NocodbFile = _interopRequireDefault(__webpack_require__(/*! ./NocodbFile/NocodbFile.form */ \"./lib/components/NocodbFile/NocodbFile.form.js\"));\nvar _Data2 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGrid/Data.form */ \"./lib/components/DataChinaGrid/Data.form.js\"));\nvar _Data3 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGridRow/Data.form */ \"./lib/components/DataChinaGridRow/Data.form.js\"));\nvar _Tabs2 = _interopRequireDefault(__webpack_require__(/*! ./CustomTabs/Tabs.form */ \"./lib/components/CustomTabs/Tabs.form.js\"));\nvar _ECharts = _interopRequireDefault(__webpack_require__(/*! ./echarts/ECharts.form */ \"./lib/components/echarts/ECharts.form.js\"));\nvar _IconButton = _interopRequireDefault(__webpack_require__(/*! ./iconButton/IconButton.form */ \"./lib/components/iconButton/IconButton.form.js\"));\nvar _ButtonGroups = _interopRequireDefault(__webpack_require__(/*! ./buttonGroups/ButtonGroups.form */ \"./lib/components/buttonGroups/ButtonGroups.form.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n_.default.buttonGroups.editForm = _ButtonGroups.default;\n_.default.iconButton.editForm = _IconButton.default;\n_.default.echarts.editForm = _ECharts.default;\n_.default.customTabs.editForm = _Tabs2.default;\n_.default.data_china_grid_row.editForm = _Data3.default;\n_.default.data_china_grid.editForm = _Data2.default;\n_.default.nocodbFile.editForm = _NocodbFile.default;\n_.default.fileDownload.editForm = _FileDownload.default;\n_.default.htmlEditor.editForm = _TextArea2.default;\n_.default.scanInputTextField.editForm = _ScanInputTextField.default;\n_.default.qrCode.editForm = _QrCode.default;\n_.default.newsData.editForm = _NewsData.default;\n_.default.flex.editForm = _Flex.default;\n_.default.data.editForm = _Data.default;\n_.default.chart.editForm = _Chart.default;\n_.default.edittable.editForm = _EditGrid.default;\n_.default.customDateTime.editForm = _CustomDateTime.default;\n_.default.customFile.editForm = _CustomFile.default;\n_.default.customUrl.editForm = _CustomUrl.default;\n_.default.customRadio.editForm = _CustomRadio.default;\n_.default.customCheckBox.editForm = _CustomCheckBox.default;\n_.default.customSelect.editForm = _CustomSelect.default;\n_.default.customTextArea.editForm = _CustomTextArea.default;\n_.default.customTextField.editForm = _CustomTextField.default;\n_.default.processTable.editForm = _ProcessTable.default;\n_.default.department.editForm = _Department.default;\n_.default.address.editForm = _Address.default;\n_.default.button.editForm = _Button.default;\n_.default.checkbox.editForm = _Checkbox.default;\n_.default.columns.editForm = _Columns.default;\n_.default.component.editForm = _Component.default;\n_.default.container.editForm = _Container.default;\n_.default.content.editForm = _Content.default;\n_.default.currency.editForm = _Currency.default;\n_.default.datagrid.editForm = _DataGrid.default;\n_.default.datamap.editForm = _DataMap.default;\n_.default.datetime.editForm = _DateTime.default;\n_.default.day.editForm = _Day.default;\n_.default.editgrid.editForm = _EditGrid.default;\n_.default.email.editForm = _Email.default;\n_.default.fieldset.editForm = _Fieldset.default;\n_.default.file.editForm = _File.default;\n_.default.form.editForm = _Form.default;\n_.default.list.editForm = _ListComponent.default;\n_.default.hidden.editForm = _Hidden.default;\n_.default.htmlelement.editForm = _HTML.default;\n_.default.nested.editForm = _NestedComponent.default;\n_.default.number.editForm = _Number.default;\n_.default.panel.editForm = _Panel.default;\n_.default.password.editForm = _Password.default;\n_.default.phoneNumber.editForm = _PhoneNumber.default;\n_.default.radio.editForm = _Radio.default;\n_.default.recaptcha.editForm = _ReCaptcha.default;\n_.default.resource.editForm = _Resource.default;\n_.default.select.editForm = _Select.default;\n_.default.selectboxes.editForm = _SelectBoxes.default;\n_.default.signature.editForm = _Signature.default;\n_.default.survey.editForm = _Survey.default;\n_.default.table.editForm = _Table.default;\n_.default.tabs.editForm = _Tabs.default;\n_.default.tags.editForm = _Tags.default;\n_.default.textarea.editForm = _TextArea.default;\n_.default.textfield.editForm = _TextField.default;\n_.default.time.editForm = _Time.default;\n_.default.tree.editForm = _Tree.default;\n_.default.unknown.editForm = _Unknown.default;\n_.default.url.editForm = _Url.default;\n_.default.well.editForm = _Well.default;\n_.default.actionButton.editForm = _ActionButton.default;\n_.default.taskCalendar.editForm = _TaskCalendar.default;\n_.default.locationInputTextField.editForm = _LocationInputTextField.default;\nvar _default = _.default;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/builder.js?");
1360
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _ = _interopRequireDefault(__webpack_require__(/*! . */ \"./lib/components/index.js\"));\nvar _Address = _interopRequireDefault(__webpack_require__(/*! ./address/Address.form */ \"./lib/components/address/Address.form.js\"));\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ./button/Button.form */ \"./lib/components/button/Button.form.js\"));\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ./checkbox/Checkbox.form */ \"./lib/components/checkbox/Checkbox.form.js\"));\nvar _Columns = _interopRequireDefault(__webpack_require__(/*! ./columns/Columns.form */ \"./lib/components/columns/Columns.form.js\"));\nvar _Component = _interopRequireDefault(__webpack_require__(/*! ./_classes/component/Component.form */ \"./lib/components/_classes/component/Component.form.js\"));\nvar _Container = _interopRequireDefault(__webpack_require__(/*! ./container/Container.form */ \"./lib/components/container/Container.form.js\"));\nvar _Content = _interopRequireDefault(__webpack_require__(/*! ./content/Content.form */ \"./lib/components/content/Content.form.js\"));\nvar _Currency = _interopRequireDefault(__webpack_require__(/*! ./currency/Currency.form */ \"./lib/components/currency/Currency.form.js\"));\nvar _DataGrid = _interopRequireDefault(__webpack_require__(/*! ./datagrid/DataGrid.form */ \"./lib/components/datagrid/DataGrid.form.js\"));\nvar _DataMap = _interopRequireDefault(__webpack_require__(/*! ./datamap/DataMap.form */ \"./lib/components/datamap/DataMap.form.js\"));\nvar _DateTime = _interopRequireDefault(__webpack_require__(/*! ./datetime/DateTime.form */ \"./lib/components/datetime/DateTime.form.js\"));\nvar _Day = _interopRequireDefault(__webpack_require__(/*! ./day/Day.form */ \"./lib/components/day/Day.form.js\"));\nvar _EditGrid = _interopRequireDefault(__webpack_require__(/*! ./editgrid/EditGrid.form */ \"./lib/components/editgrid/EditGrid.form.js\"));\nvar _Email = _interopRequireDefault(__webpack_require__(/*! ./email/Email.form */ \"./lib/components/email/Email.form.js\"));\nvar _Fieldset = _interopRequireDefault(__webpack_require__(/*! ./fieldset/Fieldset.form */ \"./lib/components/fieldset/Fieldset.form.js\"));\nvar _File = _interopRequireDefault(__webpack_require__(/*! ./file/File.form */ \"./lib/components/file/File.form.js\"));\nvar _Form = _interopRequireDefault(__webpack_require__(/*! ./form/Form.form */ \"./lib/components/form/Form.form.js\"));\nvar _ListComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/list/ListComponent.form */ \"./lib/components/_classes/list/ListComponent.form.js\"));\nvar _Hidden = _interopRequireDefault(__webpack_require__(/*! ./hidden/Hidden.form */ \"./lib/components/hidden/Hidden.form.js\"));\nvar _HTML = _interopRequireDefault(__webpack_require__(/*! ./html/HTML.form */ \"./lib/components/html/HTML.form.js\"));\nvar _NestedComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nested/NestedComponent.form */ \"./lib/components/_classes/nested/NestedComponent.form.js\"));\nvar _Number = _interopRequireDefault(__webpack_require__(/*! ./number/Number.form */ \"./lib/components/number/Number.form.js\"));\nvar _Panel = _interopRequireDefault(__webpack_require__(/*! ./panel/Panel.form */ \"./lib/components/panel/Panel.form.js\"));\nvar _Password = _interopRequireDefault(__webpack_require__(/*! ./password/Password.form */ \"./lib/components/password/Password.form.js\"));\nvar _PhoneNumber = _interopRequireDefault(__webpack_require__(/*! ./phonenumber/PhoneNumber.form */ \"./lib/components/phonenumber/PhoneNumber.form.js\"));\nvar _Radio = _interopRequireDefault(__webpack_require__(/*! ./radio/Radio.form */ \"./lib/components/radio/Radio.form.js\"));\nvar _ReCaptcha = _interopRequireDefault(__webpack_require__(/*! ./recaptcha/ReCaptcha.form */ \"./lib/components/recaptcha/ReCaptcha.form.js\"));\nvar _Resource = _interopRequireDefault(__webpack_require__(/*! ./resource/Resource.form */ \"./lib/components/resource/Resource.form.js\"));\nvar _SelectBoxes = _interopRequireDefault(__webpack_require__(/*! ./selectboxes/SelectBoxes.form */ \"./lib/components/selectboxes/SelectBoxes.form.js\"));\nvar _Select = _interopRequireDefault(__webpack_require__(/*! ./select/Select.form */ \"./lib/components/select/Select.form.js\"));\nvar _Signature = _interopRequireDefault(__webpack_require__(/*! ./signature/Signature.form */ \"./lib/components/signature/Signature.form.js\"));\nvar _Survey = _interopRequireDefault(__webpack_require__(/*! ./survey/Survey.form */ \"./lib/components/survey/Survey.form.js\"));\nvar _Table = _interopRequireDefault(__webpack_require__(/*! ./table/Table.form */ \"./lib/components/table/Table.form.js\"));\nvar _Tabs = _interopRequireDefault(__webpack_require__(/*! ./tabs/Tabs.form */ \"./lib/components/tabs/Tabs.form.js\"));\nvar _Tags = _interopRequireDefault(__webpack_require__(/*! ./tags/Tags.form */ \"./lib/components/tags/Tags.form.js\"));\nvar _TextArea = _interopRequireDefault(__webpack_require__(/*! ./textarea/TextArea.form */ \"./lib/components/textarea/TextArea.form.js\"));\nvar _TextField = _interopRequireDefault(__webpack_require__(/*! ./textfield/TextField.form */ \"./lib/components/textfield/TextField.form.js\"));\nvar _Time = _interopRequireDefault(__webpack_require__(/*! ./time/Time.form */ \"./lib/components/time/Time.form.js\"));\nvar _Tree = _interopRequireDefault(__webpack_require__(/*! ./tree/Tree.form */ \"./lib/components/tree/Tree.form.js\"));\nvar _Unknown = _interopRequireDefault(__webpack_require__(/*! ./unknown/Unknown.form */ \"./lib/components/unknown/Unknown.form.js\"));\nvar _Url = _interopRequireDefault(__webpack_require__(/*! ./url/Url.form */ \"./lib/components/url/Url.form.js\"));\nvar _Well = _interopRequireDefault(__webpack_require__(/*! ./well/Well.form */ \"./lib/components/well/Well.form.js\"));\nvar _Data = _interopRequireDefault(__webpack_require__(/*! ./Data/Data.form */ \"./lib/components/Data/Data.form.js\"));\nvar _Chart = _interopRequireDefault(__webpack_require__(/*! ./Chart/Chart.form */ \"./lib/components/Chart/Chart.form.js\"));\nvar _CustomCheckBox = _interopRequireDefault(__webpack_require__(/*! ./CustomCheckBox/CustomCheckBox.form */ \"./lib/components/CustomCheckBox/CustomCheckBox.form.js\"));\nvar _CustomDateTime = _interopRequireDefault(__webpack_require__(/*! ./CustomDateTime/CustomDateTime.form */ \"./lib/components/CustomDateTime/CustomDateTime.form.js\"));\nvar _CustomFile = _interopRequireDefault(__webpack_require__(/*! ./CustomFile/CustomFile.form */ \"./lib/components/CustomFile/CustomFile.form.js\"));\nvar _CustomUrl = _interopRequireDefault(__webpack_require__(/*! ./CustomUrl/CustomUrl.form */ \"./lib/components/CustomUrl/CustomUrl.form.js\"));\nvar _CustomRadio = _interopRequireDefault(__webpack_require__(/*! ./CustomRadio/CustomRadio.form */ \"./lib/components/CustomRadio/CustomRadio.form.js\"));\nvar _CustomSelect = _interopRequireDefault(__webpack_require__(/*! ./CustomSelect/CustomSelect.form */ \"./lib/components/CustomSelect/CustomSelect.form.js\"));\nvar _CustomTextArea = _interopRequireDefault(__webpack_require__(/*! ./CustomTextArea/CustomTextArea.form */ \"./lib/components/CustomTextArea/CustomTextArea.form.js\"));\nvar _CustomTextField = _interopRequireDefault(__webpack_require__(/*! ./CustomTextField/CustomTextField.form */ \"./lib/components/CustomTextField/CustomTextField.form.js\"));\nvar _ProcessTable = _interopRequireDefault(__webpack_require__(/*! ./ProcessTable/ProcessTable.form */ \"./lib/components/ProcessTable/ProcessTable.form.js\"));\nvar _Department = _interopRequireDefault(__webpack_require__(/*! ./Department/Department.form */ \"./lib/components/Department/Department.form.js\"));\nvar _Flex = _interopRequireDefault(__webpack_require__(/*! ./Flex/Flex.form */ \"./lib/components/Flex/Flex.form.js\"));\nvar _NewsData = _interopRequireDefault(__webpack_require__(/*! ./NewsData/NewsData.form */ \"./lib/components/NewsData/NewsData.form.js\"));\nvar _QrCode = _interopRequireDefault(__webpack_require__(/*! ./QrCode/QrCode.form */ \"./lib/components/QrCode/QrCode.form.js\"));\nvar _ScanInputTextField = _interopRequireDefault(__webpack_require__(/*! ./ScanInputTextField/ScanInputTextField.form */ \"./lib/components/ScanInputTextField/ScanInputTextField.form.js\"));\nvar _ActionButton = _interopRequireDefault(__webpack_require__(/*! ./ActionButton/ActionButton.form */ \"./lib/components/ActionButton/ActionButton.form.js\"));\nvar _TextArea2 = _interopRequireDefault(__webpack_require__(/*! ./wysiwyg/TextArea.form */ \"./lib/components/wysiwyg/TextArea.form.js\"));\nvar _FileDownload = _interopRequireDefault(__webpack_require__(/*! ./FileDownload/FileDownload.form */ \"./lib/components/FileDownload/FileDownload.form.js\"));\nvar _TaskCalendar = _interopRequireDefault(__webpack_require__(/*! ./TaskCalendar/TaskCalendar.form */ \"./lib/components/TaskCalendar/TaskCalendar.form.js\"));\nvar _LocationInputTextField = _interopRequireDefault(__webpack_require__(/*! ./LocationInputTextField/LocationInputTextField.form */ \"./lib/components/LocationInputTextField/LocationInputTextField.form.js\"));\nvar _NocodbFile = _interopRequireDefault(__webpack_require__(/*! ./NocodbFile/NocodbFile.form */ \"./lib/components/NocodbFile/NocodbFile.form.js\"));\nvar _Data2 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGrid/Data.form */ \"./lib/components/DataChinaGrid/Data.form.js\"));\nvar _Data3 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGridRow/Data.form */ \"./lib/components/DataChinaGridRow/Data.form.js\"));\nvar _Tabs2 = _interopRequireDefault(__webpack_require__(/*! ./CustomTabs/Tabs.form */ \"./lib/components/CustomTabs/Tabs.form.js\"));\nvar _ECharts = _interopRequireDefault(__webpack_require__(/*! ./echarts/ECharts.form */ \"./lib/components/echarts/ECharts.form.js\"));\nvar _IconButton = _interopRequireDefault(__webpack_require__(/*! ./iconButton/IconButton.form */ \"./lib/components/iconButton/IconButton.form.js\"));\nvar _ButtonGroups = _interopRequireDefault(__webpack_require__(/*! ./buttonGroups/ButtonGroups.form */ \"./lib/components/buttonGroups/ButtonGroups.form.js\"));\nvar _File2 = _interopRequireDefault(__webpack_require__(/*! ./file_china_grid/File.form */ \"./lib/components/file_china_grid/File.form.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n_.default.fileUds.editForm = _File2.default;\n_.default.buttonGroups.editForm = _ButtonGroups.default;\n_.default.iconButton.editForm = _IconButton.default;\n_.default.echarts.editForm = _ECharts.default;\n_.default.customTabs.editForm = _Tabs2.default;\n_.default.data_china_grid_row.editForm = _Data3.default;\n_.default.data_china_grid.editForm = _Data2.default;\n_.default.nocodbFile.editForm = _NocodbFile.default;\n_.default.fileDownload.editForm = _FileDownload.default;\n_.default.htmlEditor.editForm = _TextArea2.default;\n_.default.scanInputTextField.editForm = _ScanInputTextField.default;\n_.default.qrCode.editForm = _QrCode.default;\n_.default.newsData.editForm = _NewsData.default;\n_.default.flex.editForm = _Flex.default;\n_.default.data.editForm = _Data.default;\n_.default.chart.editForm = _Chart.default;\n_.default.edittable.editForm = _EditGrid.default;\n_.default.customDateTime.editForm = _CustomDateTime.default;\n_.default.customFile.editForm = _CustomFile.default;\n_.default.customUrl.editForm = _CustomUrl.default;\n_.default.customRadio.editForm = _CustomRadio.default;\n_.default.customCheckBox.editForm = _CustomCheckBox.default;\n_.default.customSelect.editForm = _CustomSelect.default;\n_.default.customTextArea.editForm = _CustomTextArea.default;\n_.default.customTextField.editForm = _CustomTextField.default;\n_.default.processTable.editForm = _ProcessTable.default;\n_.default.department.editForm = _Department.default;\n_.default.address.editForm = _Address.default;\n_.default.button.editForm = _Button.default;\n_.default.checkbox.editForm = _Checkbox.default;\n_.default.columns.editForm = _Columns.default;\n_.default.component.editForm = _Component.default;\n_.default.container.editForm = _Container.default;\n_.default.content.editForm = _Content.default;\n_.default.currency.editForm = _Currency.default;\n_.default.datagrid.editForm = _DataGrid.default;\n_.default.datamap.editForm = _DataMap.default;\n_.default.datetime.editForm = _DateTime.default;\n_.default.day.editForm = _Day.default;\n_.default.editgrid.editForm = _EditGrid.default;\n_.default.email.editForm = _Email.default;\n_.default.fieldset.editForm = _Fieldset.default;\n_.default.file.editForm = _File.default;\n_.default.form.editForm = _Form.default;\n_.default.list.editForm = _ListComponent.default;\n_.default.hidden.editForm = _Hidden.default;\n_.default.htmlelement.editForm = _HTML.default;\n_.default.nested.editForm = _NestedComponent.default;\n_.default.number.editForm = _Number.default;\n_.default.panel.editForm = _Panel.default;\n_.default.password.editForm = _Password.default;\n_.default.phoneNumber.editForm = _PhoneNumber.default;\n_.default.radio.editForm = _Radio.default;\n_.default.recaptcha.editForm = _ReCaptcha.default;\n_.default.resource.editForm = _Resource.default;\n_.default.select.editForm = _Select.default;\n_.default.selectboxes.editForm = _SelectBoxes.default;\n_.default.signature.editForm = _Signature.default;\n_.default.survey.editForm = _Survey.default;\n_.default.table.editForm = _Table.default;\n_.default.tabs.editForm = _Tabs.default;\n_.default.tags.editForm = _Tags.default;\n_.default.textarea.editForm = _TextArea.default;\n_.default.textfield.editForm = _TextField.default;\n_.default.time.editForm = _Time.default;\n_.default.tree.editForm = _Tree.default;\n_.default.unknown.editForm = _Unknown.default;\n_.default.url.editForm = _Url.default;\n_.default.well.editForm = _Well.default;\n_.default.actionButton.editForm = _ActionButton.default;\n_.default.taskCalendar.editForm = _TaskCalendar.default;\n_.default.locationInputTextField.editForm = _LocationInputTextField.default;\nvar _default = _.default;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/builder.js?");
1361
1361
 
1362
1362
  /***/ }),
1363
1363
 
@@ -2184,6 +2184,72 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
2184
2184
 
2185
2185
  /***/ }),
2186
2186
 
2187
+ /***/ "./lib/components/file_china_grid/File.form.js":
2188
+ /*!*****************************************************!*\
2189
+ !*** ./lib/components/file_china_grid/File.form.js ***!
2190
+ \*****************************************************/
2191
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2192
+
2193
+ "use strict";
2194
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = _default;\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\nvar _Components = _interopRequireDefault(__webpack_require__(/*! ../Components */ \"./lib/components/Components.js\"));\nvar _FileEdit = _interopRequireDefault(__webpack_require__(/*! ./editForm/File.edit.data */ \"./lib/components/file_china_grid/editForm/File.edit.data.js\"));\nvar _FileEdit2 = _interopRequireDefault(__webpack_require__(/*! ./editForm/File.edit.display */ \"./lib/components/file_china_grid/editForm/File.edit.display.js\"));\nvar _FileEdit3 = _interopRequireDefault(__webpack_require__(/*! ./editForm/File.edit.file */ \"./lib/components/file_china_grid/editForm/File.edit.file.js\"));\nvar _FileEdit4 = _interopRequireDefault(__webpack_require__(/*! ./editForm/File.edit.validation */ \"./lib/components/file_china_grid/editForm/File.edit.validation.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _default() {\n for (var _len = arguments.length, extend = new Array(_len), _key = 0; _key < _len; _key++) {\n extend[_key] = arguments[_key];\n }\n return _Components.default.baseEditForm.apply(_Components.default, [[{\n key: 'display',\n components: _FileEdit2.default\n }, {\n key: 'data',\n components: _FileEdit.default\n }, {\n label: 'File',\n key: 'file',\n weight: 5,\n components: _FileEdit3.default\n }, {\n key: 'validation',\n components: _FileEdit4.default\n }, {\n key: 'addons',\n ignore: true\n }]].concat(extend));\n}\n\n//# sourceURL=webpack://Formio/./lib/components/file_china_grid/File.form.js?");
2195
+
2196
+ /***/ }),
2197
+
2198
+ /***/ "./lib/components/file_china_grid/File.js":
2199
+ /*!************************************************!*\
2200
+ !*** ./lib/components/file_china_grid/File.js ***!
2201
+ \************************************************/
2202
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2203
+
2204
+ "use strict";
2205
+ eval("\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n__webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ \"./node_modules/core-js/modules/es.object.get-prototype-of.js\");\n__webpack_require__(/*! core-js/modules/es.reflect.construct.js */ \"./node_modules/core-js/modules/es.reflect.construct.js\");\n__webpack_require__(/*! core-js/modules/es.reflect.get.js */ \"./node_modules/core-js/modules/es.reflect.get.js\");\n__webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptor.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.to-primitive.js */ \"./node_modules/core-js/modules/es.symbol.to-primitive.js\");\n__webpack_require__(/*! core-js/modules/es.date.to-primitive.js */ \"./node_modules/core-js/modules/es.date.to-primitive.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.js */ \"./node_modules/core-js/modules/es.symbol.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.description.js */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n__webpack_require__(/*! core-js/modules/es.number.constructor.js */ \"./node_modules/core-js/modules/es.number.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ \"./node_modules/core-js/modules/es.object.get-own-property-descriptors.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.async-iterator.js */ \"./node_modules/core-js/modules/es.symbol.async-iterator.js\");\n__webpack_require__(/*! core-js/modules/es.symbol.to-string-tag.js */ \"./node_modules/core-js/modules/es.symbol.to-string-tag.js\");\n__webpack_require__(/*! core-js/modules/es.json.to-string-tag.js */ \"./node_modules/core-js/modules/es.json.to-string-tag.js\");\n__webpack_require__(/*! core-js/modules/es.math.to-string-tag.js */ \"./node_modules/core-js/modules/es.math.to-string-tag.js\");\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\n__webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.uint8-array.js */ \"./node_modules/core-js/modules/es.typed-array.uint8-array.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.copy-within.js */ \"./node_modules/core-js/modules/es.typed-array.copy-within.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.every.js */ \"./node_modules/core-js/modules/es.typed-array.every.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.fill.js */ \"./node_modules/core-js/modules/es.typed-array.fill.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.filter.js */ \"./node_modules/core-js/modules/es.typed-array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.find.js */ \"./node_modules/core-js/modules/es.typed-array.find.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.find-index.js */ \"./node_modules/core-js/modules/es.typed-array.find-index.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.for-each.js */ \"./node_modules/core-js/modules/es.typed-array.for-each.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.includes.js */ \"./node_modules/core-js/modules/es.typed-array.includes.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.index-of.js */ \"./node_modules/core-js/modules/es.typed-array.index-of.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.iterator.js */ \"./node_modules/core-js/modules/es.typed-array.iterator.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.join.js */ \"./node_modules/core-js/modules/es.typed-array.join.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.last-index-of.js */ \"./node_modules/core-js/modules/es.typed-array.last-index-of.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.map.js */ \"./node_modules/core-js/modules/es.typed-array.map.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce.js */ \"./node_modules/core-js/modules/es.typed-array.reduce.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.reduce-right.js */ \"./node_modules/core-js/modules/es.typed-array.reduce-right.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.reverse.js */ \"./node_modules/core-js/modules/es.typed-array.reverse.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.set.js */ \"./node_modules/core-js/modules/es.typed-array.set.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.slice.js */ \"./node_modules/core-js/modules/es.typed-array.slice.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.some.js */ \"./node_modules/core-js/modules/es.typed-array.some.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.sort.js */ \"./node_modules/core-js/modules/es.typed-array.sort.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.subarray.js */ \"./node_modules/core-js/modules/es.typed-array.subarray.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.to-locale-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-locale-string.js\");\n__webpack_require__(/*! core-js/modules/es.typed-array.to-string.js */ \"./node_modules/core-js/modules/es.typed-array.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.array.join.js */ \"./node_modules/core-js/modules/es.array.join.js\");\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n__webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/core-js/modules/es.array.includes.js\");\n__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/core-js/modules/es.string.includes.js\");\n__webpack_require__(/*! core-js/modules/es.array.splice.js */ \"./node_modules/core-js/modules/es.array.splice.js\");\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");\n__webpack_require__(/*! core-js/modules/es.array.concat.js */ \"./node_modules/core-js/modules/es.array.concat.js\");\n__webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/core-js/modules/es.string.replace.js\");\n__webpack_require__(/*! core-js/modules/es.string.starts-with.js */ \"./node_modules/core-js/modules/es.string.starts-with.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ \"./node_modules/core-js/modules/es.regexp.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.search.js */ \"./node_modules/core-js/modules/es.string.search.js\");\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/core-js/modules/es.array.slice.js\");\n__webpack_require__(/*! core-js/modules/es.promise.js */ \"./node_modules/core-js/modules/es.promise.js\");\n__webpack_require__(/*! core-js/modules/esnext.string.replace-all.js */ \"./node_modules/core-js/modules/esnext.string.replace-all.js\");\n__webpack_require__(/*! core-js/modules/es.array.find-index.js */ \"./node_modules/core-js/modules/es.array.find-index.js\");\nvar _Field2 = _interopRequireDefault(__webpack_require__(/*! ../_classes/field/Field */ \"./lib/components/_classes/field/Field.js\"));\nvar _utils = __webpack_require__(/*! ../../utils/utils */ \"./lib/utils/utils.js\");\nvar _downloadjs = _interopRequireDefault(__webpack_require__(/*! downloadjs */ \"./node_modules/downloadjs/download.js\"));\nvar _lodash = _interopRequireDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nvar _nativePromiseOnly = _interopRequireDefault(__webpack_require__(/*! native-promise-only */ \"./node_modules/native-promise-only/lib/npo.src.js\"));\nvar _fileProcessor = _interopRequireDefault(__webpack_require__(/*! ../../providers/processor/fileProcessor */ \"./lib/providers/processor/fileProcessor.js\"));\nvar _browserMd5File = _interopRequireDefault(__webpack_require__(/*! browser-md5-file */ \"./node_modules/browser-md5-file/dist/index.umd.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = \"function\" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || \"@@iterator\", asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\", toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, \"\"); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: \"normal\", arg: fn.call(obj, arg) }; } catch (err) { return { type: \"throw\", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { [\"next\", \"throw\", \"return\"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if (\"throw\" !== record.type) { var result = record.arg, value = result.value; return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke(\"next\", value, resolve, reject); }, function (err) { invoke(\"throw\", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke(\"throw\", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, \"_invoke\", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = \"suspendedStart\"; return function (method, arg) { if (\"executing\" === state) throw new Error(\"Generator is already running\"); if (\"completed\" === state) { if (\"throw\" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) { if (\"suspendedStart\" === state) throw state = \"completed\", context.arg; context.dispatchException(context.arg); } else \"return\" === context.method && context.abrupt(\"return\", context.arg); state = \"executing\"; var record = tryCatch(innerFn, self, context); if (\"normal\" === record.type) { if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator.return && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = \"normal\", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: \"root\" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if (\"function\" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) { var ctor = \"function\" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, \"toString\", function () { return \"[object Generator]\"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if (\"throw\" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if (\"root\" === entry.tryLoc) return handle(\"end\"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, \"catchLoc\"), hasFinally = hasOwn.call(entry, \"finallyLoc\"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error(\"try statement without catch or finally\"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if (\"throw\" === record.type) throw record.arg; return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if (\"throw\" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar Camera;\nvar webViewCamera = navigator.camera || Camera;\n\n// canvas.toBlob polyfill.\n\nvar htmlCanvasElement;\nif (typeof window !== 'undefined') {\n htmlCanvasElement = window.HTMLCanvasElement;\n} else if (typeof __webpack_require__.g !== 'undefined') {\n htmlCanvasElement = __webpack_require__.g.HTMLCanvasElement;\n}\nif (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {\n Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {\n value: function value(callback, type, quality) {\n var canvas = this;\n setTimeout(function () {\n var binStr = atob(canvas.toDataURL(type, quality).split(',')[1]),\n len = binStr.length,\n arr = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n arr[i] = binStr.charCodeAt(i);\n }\n callback(new Blob([arr], {\n type: type || 'image/png'\n }));\n });\n }\n });\n}\nvar FileComponent = /*#__PURE__*/function (_Field) {\n _inherits(FileComponent, _Field);\n var _super = _createSuper(FileComponent);\n function FileComponent() {\n _classCallCheck(this, FileComponent);\n return _super.apply(this, arguments);\n }\n _createClass(FileComponent, [{\n key: \"init\",\n value: function init() {\n _get(_getPrototypeOf(FileComponent.prototype), \"init\", this).call(this);\n webViewCamera = navigator.camera || Camera;\n var fileReaderSupported = typeof FileReader !== 'undefined';\n var formDataSupported = typeof window !== 'undefined' ? Boolean(window.FormData) : false;\n var progressSupported = typeof window !== 'undefined' && window.XMLHttpRequest ? 'upload' in new XMLHttpRequest() : false;\n this.support = {\n filereader: fileReaderSupported,\n formdata: formDataSupported,\n hasWarning: !fileReaderSupported || !formDataSupported || !progressSupported,\n progress: progressSupported\n };\n this.cameraMode = false;\n this.statuses = [];\n this.fileDropHidden = false;\n }\n }, {\n key: \"dataReady\",\n get: function get() {\n return this.filesReady || _nativePromiseOnly.default.resolve();\n }\n }, {\n key: \"defaultSchema\",\n get: function get() {\n return FileComponent.schema();\n }\n }, {\n key: \"loadImage\",\n value: function loadImage(fileInfo) {\n if (this.component.privateDownload) {\n fileInfo.private = true;\n }\n return this.fileService.downloadFile(fileInfo).then(function (result) {\n return result.url;\n });\n }\n }, {\n key: \"emptyValue\",\n get: function get() {\n return [];\n }\n }, {\n key: \"getValueAsString\",\n value: function getValueAsString(value) {\n if (_lodash.default.isArray(value)) {\n return _lodash.default.map(value, 'fileName').join(', ');\n }\n return _lodash.default.get(value, 'fileName', '');\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.dataValue;\n }\n }, {\n key: \"defaultValue\",\n get: function get() {\n var value = _get(_getPrototypeOf(FileComponent.prototype), \"defaultValue\", this);\n return Array.isArray(value) ? value : [];\n }\n }, {\n key: \"hasTypes\",\n get: function get() {\n return this.component.fileTypes && Array.isArray(this.component.fileTypes) && this.component.fileTypes.length !== 0 && (this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '');\n }\n }, {\n key: \"fileDropHidden\",\n get: function get() {\n return this._fileBrowseHidden;\n },\n set: function set(value) {\n if (typeof value !== 'boolean' || this.component.multiple) {\n return;\n }\n this._fileBrowseHidden = value;\n }\n }, {\n key: \"render\",\n value: function render() {\n return _get(_getPrototypeOf(FileComponent.prototype), \"render\", this).call(this, this.renderTemplate('fileUDS', {\n fileSize: this.fileSize,\n files: this.dataValue || [],\n statuses: this.statuses,\n disabled: this.disabled,\n support: this.support,\n fileDropHidden: this.fileDropHidden\n }));\n }\n }, {\n key: \"getVideoStream\",\n value: function getVideoStream(constraints) {\n return navigator.mediaDevices.getUserMedia({\n video: _objectSpread({\n width: {\n min: 640,\n ideal: 1920\n },\n height: {\n min: 360,\n ideal: 1080\n },\n aspectRatio: {\n ideal: 16 / 9\n }\n }, constraints),\n audio: false\n });\n }\n }, {\n key: \"stopVideoStream\",\n value: function stopVideoStream(videoStream) {\n videoStream.getVideoTracks().forEach(function (track) {\n return track.stop();\n });\n }\n }, {\n key: \"getFrame\",\n value: function getFrame(videoPlayer) {\n return new _nativePromiseOnly.default(function (resolve) {\n var canvas = document.createElement('canvas');\n canvas.height = videoPlayer.videoHeight;\n canvas.width = videoPlayer.videoWidth;\n var context = canvas.getContext('2d');\n context.drawImage(videoPlayer, 0, 0);\n canvas.toBlob(resolve);\n });\n }\n }, {\n key: \"startVideo\",\n value: function startVideo() {\n var _this = this;\n this.getVideoStream().then(function (stream) {\n _this.videoStream = stream;\n var videoPlayer = _this.refs.videoPlayer;\n if (!videoPlayer) {\n console.warn('Video player not found in template.');\n _this.cameraMode = false;\n _this.redraw();\n return;\n }\n videoPlayer.srcObject = stream;\n var width = parseInt(_this.component.webcamSize) || 320;\n videoPlayer.setAttribute('width', width);\n videoPlayer.play();\n }).catch(function (err) {\n console.error(err);\n _this.cameraMode = false;\n _this.redraw();\n });\n }\n }, {\n key: \"stopVideo\",\n value: function stopVideo() {\n if (this.videoStream) {\n this.stopVideoStream(this.videoStream);\n this.videoStream = null;\n }\n }\n }, {\n key: \"takePicture\",\n value: function takePicture() {\n var _this2 = this;\n var videoPlayer = this.refs.videoPlayer;\n if (!videoPlayer) {\n console.warn('Video player not found in template.');\n this.cameraMode = false;\n this.redraw();\n return;\n }\n this.getFrame(videoPlayer).then(function (frame) {\n frame.name = \"photo-\".concat(Date.now(), \".png\");\n _this2.upload([frame]);\n _this2.cameraMode = false;\n _this2.redraw();\n });\n }\n }, {\n key: \"browseFiles\",\n value: function browseFiles() {\n var _this3 = this;\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _nativePromiseOnly.default(function (resolve) {\n var fileInput = _this3.ce('input', _objectSpread({\n type: 'file',\n style: 'height: 0; width: 0; visibility: hidden;',\n tabindex: '-1'\n }, attrs));\n document.body.appendChild(fileInput);\n fileInput.addEventListener('change', function () {\n resolve(fileInput.files);\n document.body.removeChild(fileInput);\n }, true);\n\n // There is no direct way to trigger a file dialog. To work around this, create an input of type file and trigger\n // a click event on it.\n if (typeof fileInput.trigger === 'function') {\n fileInput.trigger('click');\n } else {\n fileInput.click();\n }\n });\n }\n }, {\n key: \"cameraMode\",\n get: function get() {\n return this._cameraMode;\n },\n set: function set(value) {\n this._cameraMode = value;\n if (value) {\n this.startVideo();\n } else {\n this.stopVideo();\n }\n }\n }, {\n key: \"useWebViewCamera\",\n get: function get() {\n return this.imageUpload && webViewCamera;\n }\n }, {\n key: \"imageUpload\",\n get: function get() {\n return Boolean(this.component.image);\n }\n }, {\n key: \"browseOptions\",\n get: function get() {\n var options = {};\n if (this.component.multiple) {\n options.multiple = true;\n }\n //use \"accept\" attribute only for desktop devices because of its limited support by mobile browsers\n if (!this.isMobile.any) {\n var filePattern = this.component.filePattern.trim() || '';\n var imagesPattern = 'image/*';\n if (this.imageUpload && (!filePattern || filePattern === '*')) {\n options.accept = imagesPattern;\n } else if (this.imageUpload && !filePattern.includes(imagesPattern)) {\n options.accept = \"\".concat(imagesPattern, \",\").concat(filePattern);\n } else {\n options.accept = filePattern;\n }\n }\n return options;\n }\n }, {\n key: \"deleteFile\",\n value: function deleteFile(fileInfo) {\n var _this$component$optio = this.component.options,\n options = _this$component$optio === void 0 ? {} : _this$component$optio;\n if (fileInfo && ['url', 'indexeddb'].includes(this.component.storage)) {\n var fileService = this.fileService;\n if (fileService && typeof fileService.deleteFile === 'function') {\n fileService.deleteFile(fileInfo, options);\n } else {\n var formio = this.options.formio || this.root && this.root.formio;\n if (formio) {\n formio.makeRequest('', fileInfo.url, 'delete');\n }\n }\n }\n }\n }, {\n key: \"readCookie\",\n value: function readCookie() {\n var cookies = document.cookie.split('; ');\n var cookieData = {};\n for (var i = 0; i < cookies.length; i++) {\n if (cookies[i]) {\n var parts = cookies[i].split('=');\n var name = decodeURIComponent(parts[0]);\n var value = decodeURIComponent(parts[1]);\n cookieData[name] = value;\n }\n }\n return cookieData;\n }\n }, {\n key: \"attach\",\n value: function attach(element) {\n var _this4 = this;\n this.loadRefs(element, {\n fileDrop: 'single',\n fileBrowse: 'single',\n galleryButton: 'single',\n cameraButton: 'single',\n takePictureButton: 'single',\n toggleCameraMode: 'single',\n videoPlayer: 'single',\n fileLink: 'multiple',\n removeLink: 'multiple',\n fileStatusRemove: 'multiple',\n fileImage: 'multiple',\n fileType: 'multiple',\n fileProcessingLoader: 'single'\n });\n // Ensure we have an empty input refs. We need this for the setValue method to redraw the control when it is set.\n this.refs.input = [];\n var superAttach = _get(_getPrototypeOf(FileComponent.prototype), \"attach\", this).call(this, element);\n if (this.refs.fileDrop) {\n if (!this.statuses.length) {\n this.refs.fileDrop.removeAttribute('hidden');\n }\n var _element = this;\n this.addEventListener(this.refs.fileDrop, 'dragover', function (event) {\n this.className = 'fileSelector fileDragOver';\n event.preventDefault();\n });\n this.addEventListener(this.refs.fileDrop, 'dragleave', function (event) {\n this.className = 'fileSelector';\n event.preventDefault();\n });\n this.addEventListener(this.refs.fileDrop, 'drop', function (event) {\n this.className = 'fileSelector';\n event.preventDefault();\n _element.upload(event.dataTransfer.files);\n });\n }\n if (this.refs.fileBrowse) {\n this.addEventListener(this.refs.fileBrowse, 'click', function (event) {\n event.preventDefault();\n _this4.browseFiles(_this4.browseOptions).then(function (files) {\n _this4.upload(files);\n });\n });\n }\n this.refs.fileLink.forEach(function (fileLink, index) {\n _this4.addEventListener(fileLink, 'click', function (event) {\n event.preventDefault();\n // this.getFile(this.dataValue[index]);\n });\n });\n\n this.refs.removeLink.forEach(function (removeLink, index) {\n _this4.addEventListener(removeLink, 'click', function (event) {\n var fileInfo = _this4.dataValue[index];\n _this4.deleteFile(fileInfo);\n event.preventDefault();\n _this4.splice(index);\n _this4.redraw();\n });\n });\n this.refs.fileStatusRemove.forEach(function (fileStatusRemove, index) {\n _this4.addEventListener(fileStatusRemove, 'click', function (event) {\n event.preventDefault();\n if (_this4.abortUpload) {\n _this4.abortUpload();\n }\n _this4.statuses.splice(index, 1);\n _this4.redraw();\n });\n });\n if (this.refs.galleryButton && webViewCamera) {\n this.addEventListener(this.refs.galleryButton, 'click', function (event) {\n event.preventDefault();\n webViewCamera.getPicture(function (success) {\n window.resolveLocalFileSystemURL(success, function (fileEntry) {\n fileEntry.file(function (file) {\n var reader = new FileReader();\n reader.onloadend = function (evt) {\n var blob = new Blob([new Uint8Array(evt.target.result)], {\n type: file.type\n });\n blob.name = file.name;\n _this4.upload([blob]);\n };\n reader.readAsArrayBuffer(file);\n });\n });\n }, function (err) {\n console.error(err);\n }, {\n sourceType: webViewCamera.PictureSourceType.PHOTOLIBRARY\n });\n });\n }\n if (this.refs.cameraButton && webViewCamera) {\n this.addEventListener(this.refs.cameraButton, 'click', function (event) {\n event.preventDefault();\n webViewCamera.getPicture(function (success) {\n window.resolveLocalFileSystemURL(success, function (fileEntry) {\n fileEntry.file(function (file) {\n var reader = new FileReader();\n reader.onloadend = function (evt) {\n var blob = new Blob([new Uint8Array(evt.target.result)], {\n type: file.type\n });\n blob.name = file.name;\n _this4.upload([blob]);\n };\n reader.readAsArrayBuffer(file);\n });\n });\n }, function (err) {\n console.error(err);\n }, {\n sourceType: webViewCamera.PictureSourceType.CAMERA,\n encodingType: webViewCamera.EncodingType.PNG,\n mediaType: webViewCamera.MediaType.PICTURE,\n saveToPhotoAlbum: true,\n correctOrientation: false\n });\n });\n }\n if (this.refs.takePictureButton) {\n this.addEventListener(this.refs.takePictureButton, 'click', function (event) {\n event.preventDefault();\n _this4.takePicture();\n });\n }\n if (this.refs.toggleCameraMode) {\n this.addEventListener(this.refs.toggleCameraMode, 'click', function (event) {\n event.preventDefault();\n _this4.cameraMode = !_this4.cameraMode;\n _this4.redraw();\n });\n }\n this.refs.fileType.forEach(function (fileType, index) {\n _this4.dataValue[index].fileType = _this4.dataValue[index].fileType || _this4.component.fileTypes[0].label;\n _this4.addEventListener(fileType, 'change', function (event) {\n event.preventDefault();\n var fileType = _this4.component.fileTypes.find(function (typeObj) {\n return typeObj.value === event.target.value;\n });\n _this4.dataValue[index].fileType = fileType.label;\n });\n });\n var fileService = this.fileService;\n if (fileService) {\n var loadingImages = [];\n this.filesReady = new _nativePromiseOnly.default(function (resolve, reject) {\n _this4.filesReadyResolve = resolve;\n _this4.filesReadyReject = reject;\n });\n this.refs.fileImage.forEach(function (image, index) {\n loadingImages.push(_this4.loadImage(_this4.dataValue[index]).then(function (url) {\n return image.src = url;\n }));\n });\n if (loadingImages.length) {\n _nativePromiseOnly.default.all(loadingImages).then(function () {\n _this4.filesReadyResolve();\n }).catch(function () {\n return _this4.filesReadyReject();\n });\n } else {\n this.filesReadyResolve();\n }\n }\n return superAttach;\n }\n\n /* eslint-disable max-len */\n }, {\n key: \"fileSize\",\n value: function fileSize(a, b, c, d, e) {\n if (!a && !b && !c && !d && !e) {\n return '--';\n }\n return \"\".concat((b = Math, c = b.log, d = 1024, e = c(a) / c(d) | 0, a / b.pow(d, e)).toFixed(2), \" \").concat(e ? \"\".concat('kMGTPEZY'[--e], \"B\") : 'Bytes');\n }\n\n /* eslint-enable max-len */\n\n /* eslint-disable max-depth */\n }, {\n key: \"globStringToRegex\",\n value: function globStringToRegex(str) {\n str = str.replace(/\\s/g, '');\n var regexp = '',\n excludes = [];\n if (str.length > 2 && str[0] === '/' && str[str.length - 1] === '/') {\n regexp = str.substring(1, str.length - 1);\n } else {\n var split = str.split(',');\n if (split.length > 1) {\n for (var i = 0; i < split.length; i++) {\n var r = this.globStringToRegex(split[i]);\n if (r.regexp) {\n regexp += \"(\".concat(r.regexp, \")\");\n if (i < split.length - 1) {\n regexp += '|';\n }\n } else {\n excludes = excludes.concat(r.excludes);\n }\n }\n } else {\n if (str.startsWith('!')) {\n excludes.push(\"^((?!\".concat(this.globStringToRegex(str.substring(1)).regexp, \").)*$\"));\n } else {\n if (str.startsWith('.')) {\n str = \"*\".concat(str);\n }\n regexp = \"^\".concat(str.replace(new RegExp('[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\-]', 'g'), '\\\\$&'), \"$\");\n regexp = regexp.replace(/\\\\\\*/g, '.*').replace(/\\\\\\?/g, '.');\n }\n }\n }\n return {\n regexp: regexp,\n excludes: excludes\n };\n }\n\n /* eslint-enable max-depth */\n }, {\n key: \"translateScalars\",\n value: function translateScalars(str) {\n if (typeof str === 'string') {\n if (str.search(/kb/i) === str.length - 2) {\n return parseFloat(str.substring(0, str.length - 2) * 1024);\n }\n if (str.search(/mb/i) === str.length - 2) {\n return parseFloat(str.substring(0, str.length - 2) * 1024 * 1024);\n }\n if (str.search(/gb/i) === str.length - 2) {\n return parseFloat(str.substring(0, str.length - 2) * 1024 * 1024 * 1024);\n }\n if (str.search(/b/i) === str.length - 1) {\n return parseFloat(str.substring(0, str.length - 1));\n }\n if (str.search(/s/i) === str.length - 1) {\n return parseFloat(str.substring(0, str.length - 1));\n }\n if (str.search(/m/i) === str.length - 1) {\n return parseFloat(str.substring(0, str.length - 1) * 60);\n }\n if (str.search(/h/i) === str.length - 1) {\n return parseFloat(str.substring(0, str.length - 1) * 3600);\n }\n }\n return str;\n }\n }, {\n key: \"validatePattern\",\n value: function validatePattern(file, val) {\n if (!val) {\n return true;\n }\n var pattern = this.globStringToRegex(val);\n var valid = true;\n if (pattern.regexp && pattern.regexp.length) {\n var regexp = new RegExp(pattern.regexp, 'i');\n valid = !_lodash.default.isNil(file.type) && regexp.test(file.type) || !_lodash.default.isNil(file.name) && regexp.test(file.name);\n }\n valid = pattern.excludes.reduce(function (result, excludePattern) {\n var exclude = new RegExp(excludePattern, 'i');\n return result && (_lodash.default.isNil(file.type) || !exclude.test(file.type)) && (_lodash.default.isNil(file.name) || !exclude.test(file.name));\n }, valid);\n return valid;\n }\n }, {\n key: \"validateMinSize\",\n value: function validateMinSize(file, val) {\n return file.size + 0.1 >= this.translateScalars(val);\n }\n }, {\n key: \"validateMaxSize\",\n value: function validateMaxSize(file, val) {\n return file.size - 0.1 <= this.translateScalars(val);\n }\n }, {\n key: \"parseTpl\",\n value: function parseTpl(template, map) {\n return template.replace(/\\$\\{.+?}/g, function (match) {\n var _$get;\n var path = match.substr(2, match.length - 3).trim();\n return (_$get = _lodash.default.get(map, path)) !== null && _$get !== void 0 ? _$get : '--';\n });\n }\n }, {\n key: \"upload\",\n value: function upload(files) {\n var _this5 = this;\n // Only allow one upload if not multiple.\n if (!this.component.multiple) {\n if (this.statuses.length) {\n this.statuses = [];\n }\n files = Array.prototype.slice.call(files, 0, 1);\n }\n if (this.component.storage && files && files.length) {\n this.fileDropHidden = true;\n\n // files is not really an array and does not have a forEach method, so fake it.\n /* eslint-disable max-statements */\n Array.prototype.forEach.call(files, /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {\n var bmf, hash, fileName, escapedFileName, fileUpload, fileWithSameNameUploaded, fileWithSameNameUploadedWithError, dir, fileService, storage, _this5$component$opti, options, cookies, token, url, groupKey, groupPermissions, fileKey, groupResourceId, processedFile, fileProcessorHandler, filePromise;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n bmf = new _browserMd5File.default();\n _context.next = 3;\n return new Promise(function (resolve, reject) {\n bmf.md5(file, function (err, md5) {\n if (err) {\n return reject(err);\n }\n return resolve(md5);\n });\n });\n case 3:\n hash = _context.sent;\n fileName = (0, _utils.uniqueName)(file.name, _this5.component.fileNameTemplate, _this5.evalContext());\n escapedFileName = file.name ? file.name.replaceAll('<', '&lt;').replaceAll('>', '&gt;') : file.name;\n fileUpload = {\n fileName: escapedFileName,\n name: fileName,\n size: file.size,\n status: 'info',\n message: _this5.t('Processing file. Please wait...'),\n hash: hash\n }; // Check if file with the same name is being uploaded\n fileWithSameNameUploaded = _this5.dataValue.some(function (fileStatus) {\n return fileStatus.fileName === file.name;\n });\n fileWithSameNameUploadedWithError = _this5.statuses.findIndex(function (fileStatus) {\n return fileStatus.fileName === file.name && fileStatus.status === 'error';\n });\n if (fileWithSameNameUploaded) {\n fileUpload.status = 'error';\n fileUpload.message = _this5.t('File with the same name is already uploaded');\n }\n if (fileWithSameNameUploadedWithError !== -1) {\n _this5.statuses.splice(fileWithSameNameUploadedWithError, 1);\n _this5.redraw();\n }\n\n // Check file pattern\n if (_this5.component.filePattern && !_this5.validatePattern(file, _this5.component.filePattern)) {\n fileUpload.status = 'error';\n fileUpload.message = _this5.t('File is the wrong type; it must be {{ pattern }}', {\n pattern: _this5.component.filePattern\n });\n }\n\n // Check file minimum size\n if (_this5.component.fileMinSize && !_this5.validateMinSize(file, _this5.component.fileMinSize)) {\n fileUpload.status = 'error';\n fileUpload.message = _this5.t('File is too small; it must be at least {{ size }}', {\n size: _this5.component.fileMinSize\n });\n }\n\n // Check file maximum size\n if (_this5.component.fileMaxSize && !_this5.validateMaxSize(file, _this5.component.fileMaxSize)) {\n fileUpload.status = 'error';\n fileUpload.message = _this5.t('File is too big; it must be at most {{ size }}', {\n size: _this5.component.fileMaxSize\n });\n }\n\n // Get a unique name for this file to keep file collisions from occurring.\n dir = _this5.interpolate(_this5.component.dir || '');\n fileService = _this5.fileService;\n if (!fileService) {\n fileUpload.status = 'error';\n fileUpload.message = _this5.t('File Service not provided.');\n }\n _this5.statuses.push(fileUpload);\n _this5.redraw();\n if (!(fileUpload.status !== 'error')) {\n _context.next = 57;\n break;\n }\n if (_this5.component.privateDownload) {\n file.private = true;\n }\n storage = _this5.component.storage;\n _this5$component$opti = _this5.component.options, options = _this5$component$opti === void 0 ? {} : _this5$component$opti;\n try {\n options = JSON.parse(_this5.parseTpl(options, {\n data: _this5.rootValue\n }));\n } catch (e) {\n console.log(e);\n options = {};\n }\n // 设置headers\n cookies = _this5.readCookie();\n token = cookies['eorion_basicToken'];\n if (!token || token.length === 0 || token === 'undefined' || token === 'null') {\n token = localStorage.getItem('eorion_poc-token');\n }\n if (options.headers) {\n if (!options.headers.authorization && !options.headers.Authorization) {\n options.headers.authorization = token;\n }\n } else {\n options.headers = {\n authorization: token\n };\n }\n url = _this5.interpolate(_this5.component.url, {\n file: fileUpload\n });\n groupKey = null;\n groupPermissions = null; //Iterate through form components to find group resource if one exists\n _this5.root.everyComponent(function (element) {\n var _element$component, _element$component2;\n if ((_element$component = element.component) !== null && _element$component !== void 0 && _element$component.submissionAccess || (_element$component2 = element.component) !== null && _element$component2 !== void 0 && _element$component2.defaultPermission) {\n groupPermissions = !element.component.submissionAccess ? [{\n type: element.component.defaultPermission,\n roles: []\n }] : element.component.submissionAccess;\n groupPermissions.forEach(function (permission) {\n groupKey = ['admin', 'write', 'create'].includes(permission.type) ? element.component.key : null;\n });\n }\n });\n fileKey = _this5.component.fileKey || 'file';\n groupResourceId = groupKey ? _this5.currentForm.submission.data[groupKey]._id : null;\n processedFile = null;\n if (!_this5.root.options.fileProcessor) {\n _context.next = 54;\n break;\n }\n _context.prev = 36;\n if (_this5.refs.fileProcessingLoader) {\n _this5.refs.fileProcessingLoader.style.display = 'block';\n }\n fileProcessorHandler = (0, _fileProcessor.default)(_this5.fileService, _this5.root.options.fileProcessor);\n _context.next = 41;\n return fileProcessorHandler(file, _this5.component.properties);\n case 41:\n processedFile = _context.sent;\n _context.next = 51;\n break;\n case 44:\n _context.prev = 44;\n _context.t0 = _context[\"catch\"](36);\n fileUpload.status = 'error';\n fileUpload.message = _this5.t('File processing has been failed.');\n _this5.fileDropHidden = false;\n _this5.redraw();\n return _context.abrupt(\"return\");\n case 51:\n _context.prev = 51;\n if (_this5.refs.fileProcessingLoader) {\n _this5.refs.fileProcessingLoader.style.display = 'none';\n }\n return _context.finish(51);\n case 54:\n fileUpload.message = _this5.t('Starting upload.');\n _this5.redraw();\n filePromise = fileService.uploadFile(storage, processedFile || file, fileName, dir,\n // Progress callback\n function (evt) {\n fileUpload.status = 'progress';\n fileUpload.progress = parseInt(100.0 * evt.loaded / evt.total);\n delete fileUpload.message;\n _this5.redraw();\n }, url, options, fileKey, groupPermissions, groupResourceId,\n // Upload start callback\n function () {\n _this5.emit('fileUploadingStart', filePromise);\n },\n // Abort upload callback\n function (abort) {\n return _this5.abortUpload = abort;\n }).then(function (fileInfo) {\n var index = _this5.statuses.indexOf(fileUpload);\n if (index !== -1) {\n _this5.statuses.splice(index, 1);\n }\n fileInfo.fileName = escapedFileName;\n fileInfo.hash = fileUpload.hash;\n if (!_this5.hasValue()) {\n _this5.dataValue = [];\n }\n _this5.dataValue.push({\n documentId: fileInfo.data.documentId,\n versionId: fileInfo.data.versionId,\n fileName: fileInfo.data.fileName\n });\n _this5.fileDropHidden = false;\n _this5.redraw();\n _this5.triggerChange();\n _this5.emit('fileUploadingEnd', filePromise);\n }).catch(function (response) {\n fileUpload.status = 'error';\n fileUpload.message = typeof response === 'string' ? response : response.toString();\n delete fileUpload.progress;\n _this5.fileDropHidden = false;\n _this5.redraw();\n _this5.emit('fileUploadingEnd', filePromise);\n });\n case 57:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[36, 44, 51, 54]]);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n }\n }\n }, {\n key: \"getFile\",\n value: function getFile(fileInfo) {\n var _this$component$optio2 = this.component.options,\n options = _this$component$optio2 === void 0 ? {} : _this$component$optio2;\n var fileService = this.fileService;\n if (!fileService) {\n return alert('File Service not provided');\n }\n if (this.component.privateDownload) {\n fileInfo.private = true;\n }\n fileService.downloadFile(fileInfo, options).then(function (file) {\n if (file) {\n if (['base64', 'indexeddb'].includes(file.storage)) {\n (0, _downloadjs.default)(file.url, file.fileName || file.name, file.type);\n } else {\n window.open(file.url, '_blank');\n }\n }\n }).catch(function (response) {\n // Is alert the best way to do this?\n // User is expecting an immediate notification due to attempting to download a file.\n alert(response);\n });\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if ('beforeFocus' in this.parent) {\n this.parent.beforeFocus(this);\n }\n if (this.refs.fileBrowse) {\n this.refs.fileBrowse.focus();\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopVideo();\n _get(_getPrototypeOf(FileComponent.prototype), \"destroy\", this).call(this);\n }\n }], [{\n key: \"schema\",\n value: function schema() {\n for (var _len = arguments.length, extend = new Array(_len), _key = 0; _key < _len; _key++) {\n extend[_key] = arguments[_key];\n }\n return _Field2.default.schema.apply(_Field2.default, [{\n type: 'fileUds',\n label: '文件上传(UDS)',\n key: 'fileUds',\n image: false,\n privateDownload: false,\n imageSize: '200',\n filePattern: '*',\n fileMinSize: '0KB',\n fileMaxSize: '1GB',\n uploadOnly: false\n }].concat(extend));\n }\n }, {\n key: \"builderInfo\",\n get: function get() {\n return {\n title: '文件上传(UDS)',\n group: 'advanced',\n icon: 'file',\n documentation: '/userguide/forms/premium-components#file',\n weight: 100,\n schema: FileComponent.schema()\n };\n }\n }]);\n return FileComponent;\n}(_Field2.default);\nexports[\"default\"] = FileComponent;\n\n//# sourceURL=webpack://Formio/./lib/components/file_china_grid/File.js?");
2206
+
2207
+ /***/ }),
2208
+
2209
+ /***/ "./lib/components/file_china_grid/editForm/File.edit.data.js":
2210
+ /*!*******************************************************************!*\
2211
+ !*** ./lib/components/file_china_grid/editForm/File.edit.data.js ***!
2212
+ \*******************************************************************/
2213
+ /***/ (function(__unused_webpack_module, exports) {
2214
+
2215
+ "use strict";
2216
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _default = [{\n key: 'defaultValue',\n ignore: true\n}];\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/file_china_grid/editForm/File.edit.data.js?");
2217
+
2218
+ /***/ }),
2219
+
2220
+ /***/ "./lib/components/file_china_grid/editForm/File.edit.display.js":
2221
+ /*!**********************************************************************!*\
2222
+ !*** ./lib/components/file_china_grid/editForm/File.edit.display.js ***!
2223
+ \**********************************************************************/
2224
+ /***/ (function(__unused_webpack_module, exports) {
2225
+
2226
+ "use strict";
2227
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _default = [{\n key: 'placeholder',\n ignore: true\n}];\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/file_china_grid/editForm/File.edit.display.js?");
2228
+
2229
+ /***/ }),
2230
+
2231
+ /***/ "./lib/components/file_china_grid/editForm/File.edit.file.js":
2232
+ /*!*******************************************************************!*\
2233
+ !*** ./lib/components/file_china_grid/editForm/File.edit.file.js ***!
2234
+ \*******************************************************************/
2235
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2236
+
2237
+ "use strict";
2238
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/core-js/modules/es.array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");\nvar _Formio = __webpack_require__(/*! ../../../Formio */ \"./lib/Formio.js\");\nvar _lodash = _interopRequireDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = [{\n type: 'select',\n input: true,\n key: 'storage',\n label: 'Storage',\n defaultValue: 'url',\n placeholder: 'Select your file storage provider',\n weight: 0,\n tooltip: 'Which storage to save the files in.',\n valueProperty: 'value',\n dataSrc: 'custom',\n data: {\n custom: function custom() {\n return _lodash.default.map(_Formio.GlobalFormio.Providers.getProviders('storage'), function (storage, key) {\n return {\n label: storage.title,\n value: key\n };\n }).filter(function (provider) {\n return provider.value === 'url';\n });\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'url',\n label: 'Url',\n weight: 10,\n placeholder: 'Enter the url to post the files to.',\n tooltip: \"See <a href='https://github.com/danialfarid/ng-file-upload#server-side' target='_blank'>https://github.com/danialfarid/ng-file-upload#server-side</a> for how to set up the server.\",\n conditional: {\n json: {\n '===': [{\n var: 'data.storage'\n }, 'url']\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'options.indexeddb',\n label: 'Database',\n weight: 10,\n placeholder: 'Enter the indexeddb database name',\n conditional: {\n json: {\n in: [{\n var: 'data.storage'\n }, ['indexeddb']]\n }\n }\n}, {\n type: 'textfield',\n input: true,\n label: 'Table',\n key: 'options.indexeddbTable',\n weight: 10,\n placeholder: 'Enter the name for indexeddb table',\n conditional: {\n json: {\n in: [{\n var: 'data.storage'\n }, ['indexeddb']]\n }\n }\n}, {\n type: 'textarea',\n key: 'options',\n label: 'Custom request options',\n tooltip: 'Pass your custom xhr options(optional)',\n rows: 5,\n editor: 'ace',\n input: true,\n weight: 15,\n placeholder: \"{\\n \\\"withCredentials\\\": true\\n}\",\n conditional: {\n json: {\n '===': [{\n var: 'data.storage'\n }, 'url']\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'fileKey',\n label: 'File form-data key',\n weight: 17,\n placeholder: 'Enter the key name of a file for form data.',\n tooltip: 'Key name that you would like to modify for the file while calling API request.',\n conditional: {\n json: {\n '===': [{\n var: 'data.storage'\n }, 'url']\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'dir',\n label: 'Directory',\n placeholder: '(optional) Enter a directory for the files',\n tooltip: 'This will place all the files uploaded in this field in the directory',\n weight: 20,\n conditional: {\n json: {\n '!==': [{\n var: 'data.storage'\n }, 'googledrive']\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'dir',\n label: 'Folder ID',\n placeholder: '(optional) Enter an ID of the folder for the files',\n tooltip: 'This will place all the files uploaded in this field in the folder',\n weight: 20,\n conditional: {\n json: {\n '===': [{\n var: 'data.storage'\n }, 'googledrive']\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'fileNameTemplate',\n label: 'File Name Template',\n placeholder: '(optional) { {name} }-{ {guid} }\"',\n tooltip: 'Specify template for name of uploaded file(s). Regular template variables are available (`data`, `component`, `user`, `value`, `moment` etc.), also `fileName`, `guid` variables are available. `guid` part must be present, if not found in template, will be added at the end.',\n weight: 25\n}, {\n type: 'checkbox',\n input: true,\n key: 'image',\n label: 'Display as image(s)',\n tooltip: 'Instead of a list of linked files, images will be rendered in the view.',\n weight: 30\n}, {\n type: 'checkbox',\n input: true,\n key: 'uploadOnly',\n label: 'Upload Only',\n tooltip: 'When this is checked, will only allow you to upload file(s) and consequently the download, in this component, will be unavailable.',\n weight: 33\n}, {\n type: 'checkbox',\n input: true,\n key: 'privateDownload',\n label: 'Private Download',\n tooltip: 'When this is checked, the file download will send a POST request to the download URL with the x-jwt-token header. This will allow your endpoint to create a Private download system.',\n weight: 31,\n conditional: {\n json: {\n '===': [{\n var: 'data.storage'\n }, 'url']\n }\n }\n}, {\n type: 'textfield',\n input: true,\n key: 'imageSize',\n label: 'Image Size',\n placeholder: '100',\n tooltip: 'The image size for previewing images.',\n weight: 40,\n conditional: {\n json: {\n '==': [{\n var: 'data.image'\n }, true]\n }\n }\n}, {\n type: 'checkbox',\n input: true,\n key: 'webcam',\n label: 'Enable web camera',\n tooltip: 'This will allow using an attached camera to directly take a picture instead of uploading an existing file.',\n weight: 32\n}, {\n type: 'textfield',\n input: true,\n key: 'webcamSize',\n label: 'Webcam Width',\n placeholder: '320',\n tooltip: 'The webcam size for taking pictures.',\n weight: 38,\n conditional: {\n json: {\n '==': [{\n var: 'data.webcam'\n }, true]\n }\n }\n}, {\n type: 'datagrid',\n input: true,\n label: 'File Types',\n key: 'fileTypes',\n tooltip: 'Specify file types to classify the uploads. This is useful if you allow multiple types of uploads but want to allow the user to specify which type of file each is.',\n weight: 11,\n components: [{\n label: 'Label',\n key: 'label',\n input: true,\n type: 'textfield'\n }, {\n label: 'Value',\n key: 'value',\n input: true,\n type: 'textfield'\n }]\n}, {\n type: 'textfield',\n input: true,\n key: 'filePattern',\n label: 'File Pattern',\n placeholder: '.jpg,video/*,application/pdf',\n tooltip: 'See <a href=\\'https://github.com/danialfarid/ng-file-upload#full-reference\\' target=\\'_blank\\'>https://github.com/danialfarid/ng-file-upload#full-reference</a> for how to specify file patterns.',\n weight: 50\n}, {\n type: 'textfield',\n input: true,\n key: 'fileMinSize',\n label: 'File Minimum Size',\n placeholder: '1MB',\n tooltip: 'See <a href=\\'https://github.com/danialfarid/ng-file-upload#full-reference\\' target=\\'_blank\\'>https://github.com/danialfarid/ng-file-upload#full-reference</a> for how to specify file sizes.',\n weight: 60\n}, {\n type: 'textfield',\n input: true,\n key: 'fileMaxSize',\n label: 'File Maximum Size',\n placeholder: '10MB',\n tooltip: 'See <a href=\\'https://github.com/danialfarid/ng-file-upload#full-reference\\' target=\\'_blank\\'>https://github.com/danialfarid/ng-file-upload#full-reference</a> for how to specify file sizes.',\n weight: 70\n}];\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/file_china_grid/editForm/File.edit.file.js?");
2239
+
2240
+ /***/ }),
2241
+
2242
+ /***/ "./lib/components/file_china_grid/editForm/File.edit.validation.js":
2243
+ /*!*************************************************************************!*\
2244
+ !*** ./lib/components/file_china_grid/editForm/File.edit.validation.js ***!
2245
+ \*************************************************************************/
2246
+ /***/ (function(__unused_webpack_module, exports) {
2247
+
2248
+ "use strict";
2249
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _default = [{\n key: 'unique',\n ignore: true\n}, {\n key: 'validateOn',\n ignore: true\n}];\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/file_china_grid/editForm/File.edit.validation.js?");
2250
+
2251
+ /***/ }),
2252
+
2187
2253
  /***/ "./lib/components/form/Form.form.js":
2188
2254
  /*!******************************************!*\
2189
2255
  !*** ./lib/components/form/Form.form.js ***!
@@ -2367,7 +2433,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
2367
2433
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2368
2434
 
2369
2435
  "use strict";
2370
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _Address = _interopRequireDefault(__webpack_require__(/*! ./address/Address */ \"./lib/components/address/Address.js\"));\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ./button/Button */ \"./lib/components/button/Button.js\"));\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ./checkbox/Checkbox */ \"./lib/components/checkbox/Checkbox.js\"));\nvar _Columns = _interopRequireDefault(__webpack_require__(/*! ./columns/Columns */ \"./lib/components/columns/Columns.js\"));\nvar _Component = _interopRequireDefault(__webpack_require__(/*! ./_classes/component/Component */ \"./lib/components/_classes/component/Component.js\"));\nvar _ComponentModal = _interopRequireDefault(__webpack_require__(/*! ./_classes/componentModal/ComponentModal */ \"./lib/components/_classes/componentModal/ComponentModal.js\"));\nvar _Container = _interopRequireDefault(__webpack_require__(/*! ./container/Container */ \"./lib/components/container/Container.js\"));\nvar _Content = _interopRequireDefault(__webpack_require__(/*! ./content/Content */ \"./lib/components/content/Content.js\"));\nvar _Currency = _interopRequireDefault(__webpack_require__(/*! ./currency/Currency */ \"./lib/components/currency/Currency.js\"));\nvar _DataGrid = _interopRequireDefault(__webpack_require__(/*! ./datagrid/DataGrid */ \"./lib/components/datagrid/DataGrid.js\"));\nvar _DataMap = _interopRequireDefault(__webpack_require__(/*! ./datamap/DataMap */ \"./lib/components/datamap/DataMap.js\"));\nvar _DateTime = _interopRequireDefault(__webpack_require__(/*! ./datetime/DateTime */ \"./lib/components/datetime/DateTime.js\"));\nvar _Day = _interopRequireDefault(__webpack_require__(/*! ./day/Day */ \"./lib/components/day/Day.js\"));\nvar _EditGrid = _interopRequireDefault(__webpack_require__(/*! ./editgrid/EditGrid */ \"./lib/components/editgrid/EditGrid.js\"));\nvar _Email = _interopRequireDefault(__webpack_require__(/*! ./email/Email */ \"./lib/components/email/Email.js\"));\nvar _Fieldset = _interopRequireDefault(__webpack_require__(/*! ./fieldset/Fieldset */ \"./lib/components/fieldset/Fieldset.js\"));\nvar _File = _interopRequireDefault(__webpack_require__(/*! ./file/File */ \"./lib/components/file/File.js\"));\nvar _Form = _interopRequireDefault(__webpack_require__(/*! ./form/Form */ \"./lib/components/form/Form.js\"));\nvar _Hidden = _interopRequireDefault(__webpack_require__(/*! ./hidden/Hidden */ \"./lib/components/hidden/Hidden.js\"));\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ./_classes/input/Input */ \"./lib/components/_classes/input/Input.js\"));\nvar _Multivalue = _interopRequireDefault(__webpack_require__(/*! ./_classes/multivalue/Multivalue */ \"./lib/components/_classes/multivalue/Multivalue.js\"));\nvar _Field = _interopRequireDefault(__webpack_require__(/*! ./_classes/field/Field */ \"./lib/components/_classes/field/Field.js\"));\nvar _ListComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/list/ListComponent */ \"./lib/components/_classes/list/ListComponent.js\"));\nvar _HTML = _interopRequireDefault(__webpack_require__(/*! ./html/HTML */ \"./lib/components/html/HTML.js\"));\nvar _NestedComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nested/NestedComponent */ \"./lib/components/_classes/nested/NestedComponent.js\"));\nvar _NestedDataComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nesteddata/NestedDataComponent */ \"./lib/components/_classes/nesteddata/NestedDataComponent.js\"));\nvar _NestedArrayComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nestedarray/NestedArrayComponent */ \"./lib/components/_classes/nestedarray/NestedArrayComponent.js\"));\nvar _Number = _interopRequireDefault(__webpack_require__(/*! ./number/Number */ \"./lib/components/number/Number.js\"));\nvar _Panel = _interopRequireDefault(__webpack_require__(/*! ./panel/Panel */ \"./lib/components/panel/Panel.js\"));\nvar _Password = _interopRequireDefault(__webpack_require__(/*! ./password/Password */ \"./lib/components/password/Password.js\"));\nvar _PhoneNumber = _interopRequireDefault(__webpack_require__(/*! ./phonenumber/PhoneNumber */ \"./lib/components/phonenumber/PhoneNumber.js\"));\nvar _Radio = _interopRequireDefault(__webpack_require__(/*! ./radio/Radio */ \"./lib/components/radio/Radio.js\"));\nvar _ReCaptcha = _interopRequireDefault(__webpack_require__(/*! ./recaptcha/ReCaptcha */ \"./lib/components/recaptcha/ReCaptcha.js\"));\nvar _Resource = _interopRequireDefault(__webpack_require__(/*! ./resource/Resource */ \"./lib/components/resource/Resource.js\"));\nvar _SelectBoxes = _interopRequireDefault(__webpack_require__(/*! ./selectboxes/SelectBoxes */ \"./lib/components/selectboxes/SelectBoxes.js\"));\nvar _Select = _interopRequireDefault(__webpack_require__(/*! ./select/Select */ \"./lib/components/select/Select.js\"));\nvar _Signature = _interopRequireDefault(__webpack_require__(/*! ./signature/Signature */ \"./lib/components/signature/Signature.js\"));\nvar _Survey = _interopRequireDefault(__webpack_require__(/*! ./survey/Survey */ \"./lib/components/survey/Survey.js\"));\nvar _Table = _interopRequireDefault(__webpack_require__(/*! ./table/Table */ \"./lib/components/table/Table.js\"));\nvar _Tabs = _interopRequireDefault(__webpack_require__(/*! ./tabs/Tabs */ \"./lib/components/tabs/Tabs.js\"));\nvar _Tags = _interopRequireDefault(__webpack_require__(/*! ./tags/Tags */ \"./lib/components/tags/Tags.js\"));\nvar _TextArea = _interopRequireDefault(__webpack_require__(/*! ./textarea/TextArea */ \"./lib/components/textarea/TextArea.js\"));\nvar _TextField = _interopRequireDefault(__webpack_require__(/*! ./textfield/TextField */ \"./lib/components/textfield/TextField.js\"));\nvar _Time = _interopRequireDefault(__webpack_require__(/*! ./time/Time */ \"./lib/components/time/Time.js\"));\nvar _Tree = _interopRequireDefault(__webpack_require__(/*! ./tree/Tree */ \"./lib/components/tree/Tree.js\"));\nvar _Unknown = _interopRequireDefault(__webpack_require__(/*! ./unknown/Unknown */ \"./lib/components/unknown/Unknown.js\"));\nvar _Url = _interopRequireDefault(__webpack_require__(/*! ./url/Url */ \"./lib/components/url/Url.js\"));\nvar _Well = _interopRequireDefault(__webpack_require__(/*! ./well/Well */ \"./lib/components/well/Well.js\"));\nvar _Data = _interopRequireDefault(__webpack_require__(/*! ./Data/Data */ \"./lib/components/Data/Data.js\"));\nvar _Chart = _interopRequireDefault(__webpack_require__(/*! ./Chart/Chart */ \"./lib/components/Chart/Chart.js\"));\nvar _EditTable = _interopRequireDefault(__webpack_require__(/*! ./EditTable/EditTable */ \"./lib/components/EditTable/EditTable.js\"));\nvar _CustomCheckBox = _interopRequireDefault(__webpack_require__(/*! ./CustomCheckBox/CustomCheckBox */ \"./lib/components/CustomCheckBox/CustomCheckBox.js\"));\nvar _CustomDateTime = _interopRequireDefault(__webpack_require__(/*! ./CustomDateTime/CustomDateTime */ \"./lib/components/CustomDateTime/CustomDateTime.js\"));\nvar _CustomFile = _interopRequireDefault(__webpack_require__(/*! ./CustomFile/CustomFile */ \"./lib/components/CustomFile/CustomFile.js\"));\nvar _CustomUrl = _interopRequireDefault(__webpack_require__(/*! ./CustomUrl/CustomUrl */ \"./lib/components/CustomUrl/CustomUrl.js\"));\nvar _CustomRadio = _interopRequireDefault(__webpack_require__(/*! ./CustomRadio/CustomRadio */ \"./lib/components/CustomRadio/CustomRadio.js\"));\nvar _CustomSelect = _interopRequireDefault(__webpack_require__(/*! ./CustomSelect/CustomSelect */ \"./lib/components/CustomSelect/CustomSelect.js\"));\nvar _CustomTextArea = _interopRequireDefault(__webpack_require__(/*! ./CustomTextArea/CustomTextArea */ \"./lib/components/CustomTextArea/CustomTextArea.js\"));\nvar _CustomTextField = _interopRequireDefault(__webpack_require__(/*! ./CustomTextField/CustomTextField */ \"./lib/components/CustomTextField/CustomTextField.js\"));\nvar _ProcessTable = _interopRequireDefault(__webpack_require__(/*! ./ProcessTable/ProcessTable */ \"./lib/components/ProcessTable/ProcessTable.js\"));\nvar _Department = _interopRequireDefault(__webpack_require__(/*! ./Department/Department */ \"./lib/components/Department/Department.js\"));\nvar _Flex = _interopRequireDefault(__webpack_require__(/*! ./Flex/Flex */ \"./lib/components/Flex/Flex.js\"));\nvar _NewsData = _interopRequireDefault(__webpack_require__(/*! ./NewsData/NewsData */ \"./lib/components/NewsData/NewsData.js\"));\nvar _QrCode = _interopRequireDefault(__webpack_require__(/*! ./QrCode/QrCode */ \"./lib/components/QrCode/QrCode.js\"));\nvar _ScanInputTextField = _interopRequireDefault(__webpack_require__(/*! ./ScanInputTextField/ScanInputTextField */ \"./lib/components/ScanInputTextField/ScanInputTextField.js\"));\nvar _ActionButton = _interopRequireDefault(__webpack_require__(/*! ./ActionButton/ActionButton */ \"./lib/components/ActionButton/ActionButton.js\"));\nvar _HtmlEditor = _interopRequireDefault(__webpack_require__(/*! ./wysiwyg/HtmlEditor */ \"./lib/components/wysiwyg/HtmlEditor.js\"));\nvar _FileDownload = _interopRequireDefault(__webpack_require__(/*! ./FileDownload/FileDownload */ \"./lib/components/FileDownload/FileDownload.js\"));\nvar _TaskCalendar = _interopRequireDefault(__webpack_require__(/*! ./TaskCalendar/TaskCalendar */ \"./lib/components/TaskCalendar/TaskCalendar.js\"));\nvar _DataSource = _interopRequireDefault(__webpack_require__(/*! ./DataSource/DataSource */ \"./lib/components/DataSource/DataSource.js\"));\nvar _LocationInputTextField = _interopRequireDefault(__webpack_require__(/*! ./LocationInputTextField/LocationInputTextField */ \"./lib/components/LocationInputTextField/LocationInputTextField.js\"));\nvar _Map = _interopRequireDefault(__webpack_require__(/*! ./map/Map */ \"./lib/components/map/Map.js\"));\nvar _NocodbFile = _interopRequireDefault(__webpack_require__(/*! ./NocodbFile/NocodbFile */ \"./lib/components/NocodbFile/NocodbFile.js\"));\nvar _Data2 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGrid/Data */ \"./lib/components/DataChinaGrid/Data.js\"));\nvar _Data3 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGridRow/Data */ \"./lib/components/DataChinaGridRow/Data.js\"));\nvar _Tabs2 = _interopRequireDefault(__webpack_require__(/*! ./CustomTabs/Tabs */ \"./lib/components/CustomTabs/Tabs.js\"));\nvar _Progress = _interopRequireDefault(__webpack_require__(/*! ./progress/Progress */ \"./lib/components/progress/Progress.js\"));\nvar _ECharts = _interopRequireDefault(__webpack_require__(/*! ./echarts/ECharts */ \"./lib/components/echarts/ECharts.js\"));\nvar _IconButton = _interopRequireDefault(__webpack_require__(/*! ./iconButton/IconButton */ \"./lib/components/iconButton/IconButton.js\"));\nvar _ButtonGroups = _interopRequireDefault(__webpack_require__(/*! ./buttonGroups/ButtonGroups */ \"./lib/components/buttonGroups/ButtonGroups.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n map: _Map.default,\n locationInputTextField: _LocationInputTextField.default,\n taskCalendar: _TaskCalendar.default,\n fileDownload: _FileDownload.default,\n htmlEditor: _HtmlEditor.default,\n scanInputTextField: _ScanInputTextField.default,\n qrCode: _QrCode.default,\n newsData: _NewsData.default,\n flex: _Flex.default,\n data: _Data.default,\n chart: _Chart.default,\n edittable: _EditTable.default,\n customCheckBox: _CustomCheckBox.default,\n customDateTime: _CustomDateTime.default,\n customFile: _CustomFile.default,\n customUrl: _CustomUrl.default,\n customRadio: _CustomRadio.default,\n customSelect: _CustomSelect.default,\n customTextArea: _CustomTextArea.default,\n customTextField: _CustomTextField.default,\n processTable: _ProcessTable.default,\n department: _Department.default,\n address: _Address.default,\n base: _Component.default,\n component: _Component.default,\n componentmodal: _ComponentModal.default,\n button: _Button.default,\n checkbox: _Checkbox.default,\n columns: _Columns.default,\n container: _Container.default,\n content: _Content.default,\n currency: _Currency.default,\n datagrid: _DataGrid.default,\n datamap: _DataMap.default,\n datetime: _DateTime.default,\n day: _Day.default,\n editgrid: _EditGrid.default,\n email: _Email.default,\n input: _Input.default,\n field: _Field.default,\n multivalue: _Multivalue.default,\n list: _ListComponent.default,\n fieldset: _Fieldset.default,\n file: _File.default,\n form: _Form.default,\n hidden: _Hidden.default,\n htmlelement: _HTML.default,\n nested: _NestedComponent.default,\n nesteddata: _NestedDataComponent.default,\n nestedarray: _NestedArrayComponent.default,\n number: _Number.default,\n panel: _Panel.default,\n password: _Password.default,\n phoneNumber: _PhoneNumber.default,\n radio: _Radio.default,\n recaptcha: _ReCaptcha.default,\n resource: _Resource.default,\n select: _Select.default,\n selectboxes: _SelectBoxes.default,\n signature: _Signature.default,\n survey: _Survey.default,\n table: _Table.default,\n tabs: _Tabs.default,\n tags: _Tags.default,\n textarea: _TextArea.default,\n textfield: _TextField.default,\n time: _Time.default,\n tree: _Tree.default,\n unknown: _Unknown.default,\n url: _Url.default,\n well: _Well.default,\n actionButton: _ActionButton.default,\n dataSource: _DataSource.default,\n nocodbFile: _NocodbFile.default,\n data_china_grid: _Data2.default,\n data_china_grid_row: _Data3.default,\n customTabs: _Tabs2.default,\n echarts: _ECharts.default,\n progress: _Progress.default,\n iconButton: _IconButton.default,\n buttonGroups: _ButtonGroups.default\n};\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/index.js?");
2436
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _Address = _interopRequireDefault(__webpack_require__(/*! ./address/Address */ \"./lib/components/address/Address.js\"));\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ./button/Button */ \"./lib/components/button/Button.js\"));\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ./checkbox/Checkbox */ \"./lib/components/checkbox/Checkbox.js\"));\nvar _Columns = _interopRequireDefault(__webpack_require__(/*! ./columns/Columns */ \"./lib/components/columns/Columns.js\"));\nvar _Component = _interopRequireDefault(__webpack_require__(/*! ./_classes/component/Component */ \"./lib/components/_classes/component/Component.js\"));\nvar _ComponentModal = _interopRequireDefault(__webpack_require__(/*! ./_classes/componentModal/ComponentModal */ \"./lib/components/_classes/componentModal/ComponentModal.js\"));\nvar _Container = _interopRequireDefault(__webpack_require__(/*! ./container/Container */ \"./lib/components/container/Container.js\"));\nvar _Content = _interopRequireDefault(__webpack_require__(/*! ./content/Content */ \"./lib/components/content/Content.js\"));\nvar _Currency = _interopRequireDefault(__webpack_require__(/*! ./currency/Currency */ \"./lib/components/currency/Currency.js\"));\nvar _DataGrid = _interopRequireDefault(__webpack_require__(/*! ./datagrid/DataGrid */ \"./lib/components/datagrid/DataGrid.js\"));\nvar _DataMap = _interopRequireDefault(__webpack_require__(/*! ./datamap/DataMap */ \"./lib/components/datamap/DataMap.js\"));\nvar _DateTime = _interopRequireDefault(__webpack_require__(/*! ./datetime/DateTime */ \"./lib/components/datetime/DateTime.js\"));\nvar _Day = _interopRequireDefault(__webpack_require__(/*! ./day/Day */ \"./lib/components/day/Day.js\"));\nvar _EditGrid = _interopRequireDefault(__webpack_require__(/*! ./editgrid/EditGrid */ \"./lib/components/editgrid/EditGrid.js\"));\nvar _Email = _interopRequireDefault(__webpack_require__(/*! ./email/Email */ \"./lib/components/email/Email.js\"));\nvar _Fieldset = _interopRequireDefault(__webpack_require__(/*! ./fieldset/Fieldset */ \"./lib/components/fieldset/Fieldset.js\"));\nvar _File = _interopRequireDefault(__webpack_require__(/*! ./file/File */ \"./lib/components/file/File.js\"));\nvar _Form = _interopRequireDefault(__webpack_require__(/*! ./form/Form */ \"./lib/components/form/Form.js\"));\nvar _Hidden = _interopRequireDefault(__webpack_require__(/*! ./hidden/Hidden */ \"./lib/components/hidden/Hidden.js\"));\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ./_classes/input/Input */ \"./lib/components/_classes/input/Input.js\"));\nvar _Multivalue = _interopRequireDefault(__webpack_require__(/*! ./_classes/multivalue/Multivalue */ \"./lib/components/_classes/multivalue/Multivalue.js\"));\nvar _Field = _interopRequireDefault(__webpack_require__(/*! ./_classes/field/Field */ \"./lib/components/_classes/field/Field.js\"));\nvar _ListComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/list/ListComponent */ \"./lib/components/_classes/list/ListComponent.js\"));\nvar _HTML = _interopRequireDefault(__webpack_require__(/*! ./html/HTML */ \"./lib/components/html/HTML.js\"));\nvar _NestedComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nested/NestedComponent */ \"./lib/components/_classes/nested/NestedComponent.js\"));\nvar _NestedDataComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nesteddata/NestedDataComponent */ \"./lib/components/_classes/nesteddata/NestedDataComponent.js\"));\nvar _NestedArrayComponent = _interopRequireDefault(__webpack_require__(/*! ./_classes/nestedarray/NestedArrayComponent */ \"./lib/components/_classes/nestedarray/NestedArrayComponent.js\"));\nvar _Number = _interopRequireDefault(__webpack_require__(/*! ./number/Number */ \"./lib/components/number/Number.js\"));\nvar _Panel = _interopRequireDefault(__webpack_require__(/*! ./panel/Panel */ \"./lib/components/panel/Panel.js\"));\nvar _Password = _interopRequireDefault(__webpack_require__(/*! ./password/Password */ \"./lib/components/password/Password.js\"));\nvar _PhoneNumber = _interopRequireDefault(__webpack_require__(/*! ./phonenumber/PhoneNumber */ \"./lib/components/phonenumber/PhoneNumber.js\"));\nvar _Radio = _interopRequireDefault(__webpack_require__(/*! ./radio/Radio */ \"./lib/components/radio/Radio.js\"));\nvar _ReCaptcha = _interopRequireDefault(__webpack_require__(/*! ./recaptcha/ReCaptcha */ \"./lib/components/recaptcha/ReCaptcha.js\"));\nvar _Resource = _interopRequireDefault(__webpack_require__(/*! ./resource/Resource */ \"./lib/components/resource/Resource.js\"));\nvar _SelectBoxes = _interopRequireDefault(__webpack_require__(/*! ./selectboxes/SelectBoxes */ \"./lib/components/selectboxes/SelectBoxes.js\"));\nvar _Select = _interopRequireDefault(__webpack_require__(/*! ./select/Select */ \"./lib/components/select/Select.js\"));\nvar _Signature = _interopRequireDefault(__webpack_require__(/*! ./signature/Signature */ \"./lib/components/signature/Signature.js\"));\nvar _Survey = _interopRequireDefault(__webpack_require__(/*! ./survey/Survey */ \"./lib/components/survey/Survey.js\"));\nvar _Table = _interopRequireDefault(__webpack_require__(/*! ./table/Table */ \"./lib/components/table/Table.js\"));\nvar _Tabs = _interopRequireDefault(__webpack_require__(/*! ./tabs/Tabs */ \"./lib/components/tabs/Tabs.js\"));\nvar _Tags = _interopRequireDefault(__webpack_require__(/*! ./tags/Tags */ \"./lib/components/tags/Tags.js\"));\nvar _TextArea = _interopRequireDefault(__webpack_require__(/*! ./textarea/TextArea */ \"./lib/components/textarea/TextArea.js\"));\nvar _TextField = _interopRequireDefault(__webpack_require__(/*! ./textfield/TextField */ \"./lib/components/textfield/TextField.js\"));\nvar _Time = _interopRequireDefault(__webpack_require__(/*! ./time/Time */ \"./lib/components/time/Time.js\"));\nvar _Tree = _interopRequireDefault(__webpack_require__(/*! ./tree/Tree */ \"./lib/components/tree/Tree.js\"));\nvar _Unknown = _interopRequireDefault(__webpack_require__(/*! ./unknown/Unknown */ \"./lib/components/unknown/Unknown.js\"));\nvar _Url = _interopRequireDefault(__webpack_require__(/*! ./url/Url */ \"./lib/components/url/Url.js\"));\nvar _Well = _interopRequireDefault(__webpack_require__(/*! ./well/Well */ \"./lib/components/well/Well.js\"));\nvar _Data = _interopRequireDefault(__webpack_require__(/*! ./Data/Data */ \"./lib/components/Data/Data.js\"));\nvar _Chart = _interopRequireDefault(__webpack_require__(/*! ./Chart/Chart */ \"./lib/components/Chart/Chart.js\"));\nvar _EditTable = _interopRequireDefault(__webpack_require__(/*! ./EditTable/EditTable */ \"./lib/components/EditTable/EditTable.js\"));\nvar _CustomCheckBox = _interopRequireDefault(__webpack_require__(/*! ./CustomCheckBox/CustomCheckBox */ \"./lib/components/CustomCheckBox/CustomCheckBox.js\"));\nvar _CustomDateTime = _interopRequireDefault(__webpack_require__(/*! ./CustomDateTime/CustomDateTime */ \"./lib/components/CustomDateTime/CustomDateTime.js\"));\nvar _CustomFile = _interopRequireDefault(__webpack_require__(/*! ./CustomFile/CustomFile */ \"./lib/components/CustomFile/CustomFile.js\"));\nvar _CustomUrl = _interopRequireDefault(__webpack_require__(/*! ./CustomUrl/CustomUrl */ \"./lib/components/CustomUrl/CustomUrl.js\"));\nvar _CustomRadio = _interopRequireDefault(__webpack_require__(/*! ./CustomRadio/CustomRadio */ \"./lib/components/CustomRadio/CustomRadio.js\"));\nvar _CustomSelect = _interopRequireDefault(__webpack_require__(/*! ./CustomSelect/CustomSelect */ \"./lib/components/CustomSelect/CustomSelect.js\"));\nvar _CustomTextArea = _interopRequireDefault(__webpack_require__(/*! ./CustomTextArea/CustomTextArea */ \"./lib/components/CustomTextArea/CustomTextArea.js\"));\nvar _CustomTextField = _interopRequireDefault(__webpack_require__(/*! ./CustomTextField/CustomTextField */ \"./lib/components/CustomTextField/CustomTextField.js\"));\nvar _ProcessTable = _interopRequireDefault(__webpack_require__(/*! ./ProcessTable/ProcessTable */ \"./lib/components/ProcessTable/ProcessTable.js\"));\nvar _Department = _interopRequireDefault(__webpack_require__(/*! ./Department/Department */ \"./lib/components/Department/Department.js\"));\nvar _Flex = _interopRequireDefault(__webpack_require__(/*! ./Flex/Flex */ \"./lib/components/Flex/Flex.js\"));\nvar _NewsData = _interopRequireDefault(__webpack_require__(/*! ./NewsData/NewsData */ \"./lib/components/NewsData/NewsData.js\"));\nvar _QrCode = _interopRequireDefault(__webpack_require__(/*! ./QrCode/QrCode */ \"./lib/components/QrCode/QrCode.js\"));\nvar _ScanInputTextField = _interopRequireDefault(__webpack_require__(/*! ./ScanInputTextField/ScanInputTextField */ \"./lib/components/ScanInputTextField/ScanInputTextField.js\"));\nvar _ActionButton = _interopRequireDefault(__webpack_require__(/*! ./ActionButton/ActionButton */ \"./lib/components/ActionButton/ActionButton.js\"));\nvar _HtmlEditor = _interopRequireDefault(__webpack_require__(/*! ./wysiwyg/HtmlEditor */ \"./lib/components/wysiwyg/HtmlEditor.js\"));\nvar _FileDownload = _interopRequireDefault(__webpack_require__(/*! ./FileDownload/FileDownload */ \"./lib/components/FileDownload/FileDownload.js\"));\nvar _TaskCalendar = _interopRequireDefault(__webpack_require__(/*! ./TaskCalendar/TaskCalendar */ \"./lib/components/TaskCalendar/TaskCalendar.js\"));\nvar _DataSource = _interopRequireDefault(__webpack_require__(/*! ./DataSource/DataSource */ \"./lib/components/DataSource/DataSource.js\"));\nvar _LocationInputTextField = _interopRequireDefault(__webpack_require__(/*! ./LocationInputTextField/LocationInputTextField */ \"./lib/components/LocationInputTextField/LocationInputTextField.js\"));\nvar _Map = _interopRequireDefault(__webpack_require__(/*! ./map/Map */ \"./lib/components/map/Map.js\"));\nvar _NocodbFile = _interopRequireDefault(__webpack_require__(/*! ./NocodbFile/NocodbFile */ \"./lib/components/NocodbFile/NocodbFile.js\"));\nvar _Data2 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGrid/Data */ \"./lib/components/DataChinaGrid/Data.js\"));\nvar _Data3 = _interopRequireDefault(__webpack_require__(/*! ./DataChinaGridRow/Data */ \"./lib/components/DataChinaGridRow/Data.js\"));\nvar _Tabs2 = _interopRequireDefault(__webpack_require__(/*! ./CustomTabs/Tabs */ \"./lib/components/CustomTabs/Tabs.js\"));\nvar _Progress = _interopRequireDefault(__webpack_require__(/*! ./progress/Progress */ \"./lib/components/progress/Progress.js\"));\nvar _ECharts = _interopRequireDefault(__webpack_require__(/*! ./echarts/ECharts */ \"./lib/components/echarts/ECharts.js\"));\nvar _IconButton = _interopRequireDefault(__webpack_require__(/*! ./iconButton/IconButton */ \"./lib/components/iconButton/IconButton.js\"));\nvar _ButtonGroups = _interopRequireDefault(__webpack_require__(/*! ./buttonGroups/ButtonGroups */ \"./lib/components/buttonGroups/ButtonGroups.js\"));\nvar _File2 = _interopRequireDefault(__webpack_require__(/*! ./file_china_grid/File */ \"./lib/components/file_china_grid/File.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n fileUds: _File2.default,\n map: _Map.default,\n locationInputTextField: _LocationInputTextField.default,\n taskCalendar: _TaskCalendar.default,\n fileDownload: _FileDownload.default,\n htmlEditor: _HtmlEditor.default,\n scanInputTextField: _ScanInputTextField.default,\n qrCode: _QrCode.default,\n newsData: _NewsData.default,\n flex: _Flex.default,\n data: _Data.default,\n chart: _Chart.default,\n edittable: _EditTable.default,\n customCheckBox: _CustomCheckBox.default,\n customDateTime: _CustomDateTime.default,\n customFile: _CustomFile.default,\n customUrl: _CustomUrl.default,\n customRadio: _CustomRadio.default,\n customSelect: _CustomSelect.default,\n customTextArea: _CustomTextArea.default,\n customTextField: _CustomTextField.default,\n processTable: _ProcessTable.default,\n department: _Department.default,\n address: _Address.default,\n base: _Component.default,\n component: _Component.default,\n componentmodal: _ComponentModal.default,\n button: _Button.default,\n checkbox: _Checkbox.default,\n columns: _Columns.default,\n container: _Container.default,\n content: _Content.default,\n currency: _Currency.default,\n datagrid: _DataGrid.default,\n datamap: _DataMap.default,\n datetime: _DateTime.default,\n day: _Day.default,\n editgrid: _EditGrid.default,\n email: _Email.default,\n input: _Input.default,\n field: _Field.default,\n multivalue: _Multivalue.default,\n list: _ListComponent.default,\n fieldset: _Fieldset.default,\n file: _File.default,\n form: _Form.default,\n hidden: _Hidden.default,\n htmlelement: _HTML.default,\n nested: _NestedComponent.default,\n nesteddata: _NestedDataComponent.default,\n nestedarray: _NestedArrayComponent.default,\n number: _Number.default,\n panel: _Panel.default,\n password: _Password.default,\n phoneNumber: _PhoneNumber.default,\n radio: _Radio.default,\n recaptcha: _ReCaptcha.default,\n resource: _Resource.default,\n select: _Select.default,\n selectboxes: _SelectBoxes.default,\n signature: _Signature.default,\n survey: _Survey.default,\n table: _Table.default,\n tabs: _Tabs.default,\n tags: _Tags.default,\n textarea: _TextArea.default,\n textfield: _TextField.default,\n time: _Time.default,\n tree: _Tree.default,\n unknown: _Unknown.default,\n url: _Url.default,\n well: _Well.default,\n actionButton: _ActionButton.default,\n dataSource: _DataSource.default,\n nocodbFile: _NocodbFile.default,\n data_china_grid: _Data2.default,\n data_china_grid_row: _Data3.default,\n customTabs: _Tabs2.default,\n echarts: _ECharts.default,\n progress: _Progress.default,\n iconButton: _IconButton.default,\n buttonGroups: _ButtonGroups.default\n};\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/components/index.js?");
2371
2437
 
2372
2438
  /***/ }),
2373
2439
 
@@ -4580,6 +4646,27 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
4580
4646
 
4581
4647
  /***/ }),
4582
4648
 
4649
+ /***/ "./lib/templates/bootstrap/fileUDS/form.ejs.js":
4650
+ /*!*****************************************************!*\
4651
+ !*** ./lib/templates/bootstrap/fileUDS/form.ejs.js ***!
4652
+ \*****************************************************/
4653
+ /***/ (function(__unused_webpack_module, exports) {
4654
+
4655
+ eval("Object.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"]=function(ctx) {\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n\n if (ctx.options.vpat) { ;\n__p += '\\n <span tabindex=\"-1\" class=\"sr-only\" id=\"invisible-' +\n((__t = (ctx.instance.id)) == null ? '' : __t) +\n'-' +\n((__t = (ctx.component.key)) == null ? '' : __t) +\n'\"></span>\\n';\n } ;\n__p += '\\n';\n if (!ctx.self.imageUpload) { ;\n__p += '\\n ';\n if (ctx.options.vpat) { ;\n__p += '\\n <div>' +\n((__t = ((!ctx.component.filePattern || ctx.component.filePattern === '*') ? 'Any file types are allowed' : ctx.t('Allowed file types: ') + ctx.component.filePattern)) == null ? '' : __t) +\n'</div>\\n ';\n } ;\n__p += '\\n <ul class=\"list-group list-group-striped\">\\n <li class=\"list-group-item list-group-header hidden-xs hidden-sm\">\\n <div class=\"row\">\\n ';\n if (!ctx.disabled) { ;\n__p += '\\n <div class=\"col-md-1\"></div>\\n ';\n } ;\n__p += '\\n <div class=\"col-md-';\n if (ctx.self.hasTypes) { ;\n__p += '7';\n } else { ;\n__p += '9';\n } ;\n__p += '\"><strong>' +\n((__t = (ctx.t('File Name'))) == null ? '' : __t) +\n'</strong></div>\\n <div class=\"col-md-2\"><strong>' +\n((__t = (ctx.t('Size'))) == null ? '' : __t) +\n'</strong></div>\\n ';\n if (ctx.self.hasTypes) { ;\n__p += '\\n <div class=\"col-md-2\"><strong>' +\n((__t = (ctx.t('Type'))) == null ? '' : __t) +\n'</strong></div>\\n ';\n } ;\n__p += '\\n </div>\\n </li>\\n ';\n ctx.files.forEach(function(file) { ;\n__p += '\\n <li class=\"list-group-item\">\\n <div class=\"row\">\\n ';\n if (!ctx.disabled) { ;\n__p += '\\n <div class=\"col-md-1\"><i tabindex=\"0\" class=\"' +\n((__t = (ctx.iconClass('remove'))) == null ? '' : __t) +\n'\" ref=\"removeLink\"></i></div>\\n ';\n } ;\n__p += '\\n <div class=\"col-md-';\n if (ctx.self.hasTypes) { ;\n__p += '7';\n } else { ;\n__p += '9';\n } ;\n__p += '\">\\n ';\n if (ctx.component.uploadOnly) { ;\n__p += '\\n ' +\n((__t = (file.fileName)) == null ? '' : __t) +\n'\\n ';\n } else { ;\n__p += '\\n ';\n if (ctx.component.type==='fileUds'&&ctx.component.storage==='url') { ;\n__p += '\\n <a target=\"_blank\" ref=\"fileLinkDiv\">\\n <span class=\"sr-only\">' +\n((__t = (ctx.t('Press to open '))) == null ? '' : __t) +\n'</span>' +\n((__t = (file.fileName || file.name)) == null ? '' : __t) +\n'\\n </a>\\n ';\n } ;\n__p += '\\n ';\n } ;\n__p += '\\n </div>\\n <div class=\"col-md-2\">' +\n((__t = (ctx.fileSize(file.size))) == null ? '' : __t) +\n'</div>\\n ';\n if (ctx.self.hasTypes && !ctx.disabled) { ;\n__p += '\\n <div class=\"col-md-2\">\\n <select class=\"file-type\" ref=\"fileType\">\\n ';\n ctx.component.fileTypes.map(function(type) { ;\n__p += '\\n <option class=\"test\" value=\"' +\n((__t = ( type.value )) == null ? '' : __t) +\n'\" ';\n if (type.label === file.fileType) { ;\n__p += 'selected=\"selected\"';\n } ;\n__p += '>' +\n((__t = (ctx.t(type.label))) == null ? '' : __t) +\n'</option>\\n ';\n }); ;\n__p += '\\n </select>\\n </div>\\n ';\n } ;\n__p += '\\n ';\n if (ctx.self.hasTypes && ctx.disabled) { ;\n__p += '\\n <div class=\"col-md-2\">' +\n((__t = (file.fileType)) == null ? '' : __t) +\n'</div>\\n ';\n } ;\n__p += '\\n </div>\\n </li>\\n ';\n }) ;\n__p += '\\n </ul>\\n';\n } else { ;\n__p += '\\n <div>\\n ';\n ctx.files.forEach(function(file) { ;\n__p += '\\n <div>\\n <span>\\n <img ref=\"fileImage\" src=\"\" alt=\"' +\n((__t = (file.fileName || file.name)) == null ? '' : __t) +\n'\" style=\"width:' +\n((__t = (ctx.component.imageSize)) == null ? '' : __t) +\n'px\">\\n ';\n if (!ctx.disabled) { ;\n__p += '\\n <i tabindex=\"0\" class=\"' +\n((__t = (ctx.iconClass('remove'))) == null ? '' : __t) +\n'\" ref=\"removeLink\"></i>\\n ';\n } ;\n__p += '\\n </span>\\n </div>\\n ';\n }) ;\n__p += '\\n </div>\\n';\n } ;\n__p += '\\n';\n if (!ctx.disabled && (ctx.component.multiple || !ctx.files.length)) { ;\n__p += '\\n ';\n if (ctx.self.useWebViewCamera) { ;\n__p += '\\n <div class=\"fileSelector\">\\n <button class=\"btn btn-primary\" ref=\"galleryButton\"><i class=\"fa fa-book\"></i> ' +\n((__t = (ctx.t('Gallery'))) == null ? '' : __t) +\n'</button>\\n <button class=\"btn btn-primary\" ref=\"cameraButton\"><i class=\"fa fa-camera\"></i> ' +\n((__t = (ctx.t('Camera'))) == null ? '' : __t) +\n'</button>\\n </div>\\n ';\n } else if (!ctx.self.cameraMode) { ;\n__p += '\\n <div class=\"fileSelector\" ref=\"fileDrop\" ' +\n((__t = (ctx.fileDropHidden ?'hidden' : '')) == null ? '' : __t) +\n'>\\n <i class=\"' +\n((__t = (ctx.iconClass('cloud-upload'))) == null ? '' : __t) +\n'\"></i> ' +\n((__t = (ctx.t('Drop files to attach,'))) == null ? '' : __t) +\n'\\n ';\n if (ctx.self.imageUpload && ctx.component.webcam) { ;\n__p += '\\n <a href=\"#\" ref=\"toggleCameraMode\"><i class=\"fa fa-camera\"></i> ' +\n((__t = (ctx.t('use camera'))) == null ? '' : __t) +\n'</a>\\n ';\n } ;\n__p += '\\n ' +\n((__t = (ctx.t('or'))) == null ? '' : __t) +\n'\\n <a href=\"#\" ref=\"fileBrowse\" class=\"browse\">\\n ' +\n((__t = (ctx.t('browse'))) == null ? '' : __t) +\n'\\n <span class=\"sr-only\">\\n ' +\n((__t = (ctx.t('Browse to attach file for ' + ctx.component.label + '. ' +\n (ctx.component.description ? ctx.component.description + '. ' : '') +\n ((!ctx.component.filePattern || ctx.component.filePattern === '*') ? 'Any file types are allowed' : ctx.t('Allowed file types: ') + ctx.component.filePattern)))) == null ? '' : __t) +\n'\\n </span>\\n </a>\\n <div ref=\"fileProcessingLoader\" class=\"loader-wrapper\">\\n <div class=\"loader text-center\"></div>\\n </div>\\n </div>\\n ';\n } else { ;\n__p += '\\n <div class=\"video-container\">\\n <video class=\"video\" autoplay=\"true\" ref=\"videoPlayer\" tabindex=\"-1\"></video>\\n </div>\\n <button class=\"btn btn-primary\" ref=\"takePictureButton\"><i class=\"fa fa-camera\"></i> ' +\n((__t = (ctx.t('Take Picture'))) == null ? '' : __t) +\n'</button>\\n <button class=\"btn btn-primary\" ref=\"toggleCameraMode\">' +\n((__t = (ctx.t('Switch to file upload'))) == null ? '' : __t) +\n'</button>\\n ';\n } ;\n__p += '\\n';\n } ;\n__p += '\\n';\n ctx.statuses.forEach(function(status) { ;\n__p += '\\n <div class=\"file ' +\n((__t = (ctx.statuses.status === 'error' ? ' has-error' : '')) == null ? '' : __t) +\n'\">\\n <div class=\"row\">\\n <div class=\"fileName col-form-label col-sm-10\">' +\n((__t = (status.fileName)) == null ? '' : __t) +\n'\\n <i class=\"' +\n((__t = (ctx.iconClass('remove'))) == null ? '' : __t) +\n'\" ref=\"fileStatusRemove\">\\n <span class=\"sr-only\">' +\n((__t = (ctx.t('Remove button. Press to remove ' + status.fileName || 0))) == null ? '' : __t) +\n'</span>\\n <span class=\"sr-only\">' +\n((__t = (status.message ? status.message.replace(';', '.') : '')) == null ? '' : __t) +\n'</span>\\n </i>\\n </div>\\n <div class=\"fileSize col-form-label col-sm-2 text-right\">' +\n((__t = (ctx.fileSize(status.size))) == null ? '' : __t) +\n'</div>\\n </div>\\n <div class=\"row\">\\n <div class=\"col-sm-12\">\\n ';\n if (status.status === 'progress') { ;\n__p += '\\n <div class=\"progress\">\\n <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"' +\n((__t = (status.progress)) == null ? '' : __t) +\n'\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: ' +\n((__t = (status.progress)) == null ? '' : __t) +\n'%\">\\n <span class=\"sr-only\">' +\n((__t = (status.progress)) == null ? '' : __t) +\n'% ' +\n((__t = (ctx.t('Complete'))) == null ? '' : __t) +\n'</span>\\n </div>\\n </div>\\n ';\n } else if (status.status === 'error') { ;\n__p += '\\n <div class=\"alert alert-danger bg-' +\n((__t = (status.status)) == null ? '' : __t) +\n'\">' +\n((__t = (ctx.t(status.message))) == null ? '' : __t) +\n'</div>\\n ';\n } else { ;\n__p += '\\n <div class=\"bg-' +\n((__t = (status.status)) == null ? '' : __t) +\n'\">' +\n((__t = (ctx.t(status.message))) == null ? '' : __t) +\n'</div>\\n ';\n } ;\n__p += '\\n </div>\\n </div>\\n </div>\\n';\n }) ;\n__p += '\\n';\n if (!ctx.component.storage || ctx.support.hasWarning) { ;\n__p += '\\n <div class=\"alert alert-warning\">\\n ';\n if (!ctx.component.storage) { ;\n__p += '\\n <p>' +\n((__t = (ctx.t('No storage has been set for this field. File uploads are disabled until storage is set up.'))) == null ? '' : __t) +\n'</p>\\n ';\n } ;\n__p += '\\n ';\n if (!ctx.support.filereader) { ;\n__p += '\\n <p>' +\n((__t = (ctx.t('File API & FileReader API not supported.'))) == null ? '' : __t) +\n'</p>\\n ';\n } ;\n__p += '\\n ';\n if (!ctx.support.formdata) { ;\n__p += '\\n <p>' +\n((__t = (ctx.t(\"XHR2's FormData is not supported.\"))) == null ? '' : __t) +\n'</p>\\n ';\n } ;\n__p += '\\n ';\n if (!ctx.support.progress) { ;\n__p += '\\n <p>' +\n((__t = (ctx.t(\"XHR2's upload progress isn't supported.\"))) == null ? '' : __t) +\n'</p>\\n ';\n } ;\n__p += '\\n </div>\\n';\n } ;\n__p += '\\n';\nreturn __p\n}\n\n//# sourceURL=webpack://Formio/./lib/templates/bootstrap/fileUDS/form.ejs.js?");
4656
+
4657
+ /***/ }),
4658
+
4659
+ /***/ "./lib/templates/bootstrap/fileUDS/index.js":
4660
+ /*!**************************************************!*\
4661
+ !*** ./lib/templates/bootstrap/fileUDS/index.js ***!
4662
+ \**************************************************/
4663
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4664
+
4665
+ "use strict";
4666
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _form = _interopRequireDefault(__webpack_require__(/*! ./form.ejs */ \"./lib/templates/bootstrap/fileUDS/form.ejs.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n form: _form.default\n};\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/templates/bootstrap/fileUDS/index.js?");
4667
+
4668
+ /***/ }),
4669
+
4583
4670
  /***/ "./lib/templates/bootstrap/flex/form.ejs.js":
4584
4671
  /*!**************************************************!*\
4585
4672
  !*** ./lib/templates/bootstrap/flex/form.ejs.js ***!
@@ -4682,7 +4769,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
4682
4769
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4683
4770
 
4684
4771
  "use strict";
4685
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\nvar _address = _interopRequireDefault(__webpack_require__(/*! ./address */ \"./lib/templates/bootstrap/address/index.js\"));\nvar _builder = _interopRequireDefault(__webpack_require__(/*! ./builder */ \"./lib/templates/bootstrap/builder/index.js\"));\nvar _builderComponent = _interopRequireDefault(__webpack_require__(/*! ./builderComponent */ \"./lib/templates/bootstrap/builderComponent/index.js\"));\nvar _builderComponents = _interopRequireDefault(__webpack_require__(/*! ./builderComponents */ \"./lib/templates/bootstrap/builderComponents/index.js\"));\nvar _builderEditForm = _interopRequireDefault(__webpack_require__(/*! ./builderEditForm */ \"./lib/templates/bootstrap/builderEditForm/index.js\"));\nvar _builderPlaceholder = _interopRequireDefault(__webpack_require__(/*! ./builderPlaceholder */ \"./lib/templates/bootstrap/builderPlaceholder/index.js\"));\nvar _builderSidebar = _interopRequireDefault(__webpack_require__(/*! ./builderSidebar */ \"./lib/templates/bootstrap/builderSidebar/index.js\"));\nvar _builderSidebarGroup = _interopRequireDefault(__webpack_require__(/*! ./builderSidebarGroup */ \"./lib/templates/bootstrap/builderSidebarGroup/index.js\"));\nvar _builderWizard = _interopRequireDefault(__webpack_require__(/*! ./builderWizard */ \"./lib/templates/bootstrap/builderWizard/index.js\"));\nvar _button = _interopRequireDefault(__webpack_require__(/*! ./button */ \"./lib/templates/bootstrap/button/index.js\"));\nvar _checkbox = _interopRequireDefault(__webpack_require__(/*! ./checkbox */ \"./lib/templates/bootstrap/checkbox/index.js\"));\nvar _columns = _interopRequireDefault(__webpack_require__(/*! ./columns */ \"./lib/templates/bootstrap/columns/index.js\"));\nvar _component = _interopRequireDefault(__webpack_require__(/*! ./component */ \"./lib/templates/bootstrap/component/index.js\"));\nvar _componentModal = _interopRequireDefault(__webpack_require__(/*! ./componentModal */ \"./lib/templates/bootstrap/componentModal/index.js\"));\nvar _components = _interopRequireDefault(__webpack_require__(/*! ./components */ \"./lib/templates/bootstrap/components/index.js\"));\nvar _tableComponents = _interopRequireDefault(__webpack_require__(/*! ./tableComponents */ \"./lib/templates/bootstrap/tableComponents/index.js\"));\nvar _container = _interopRequireDefault(__webpack_require__(/*! ./container */ \"./lib/templates/bootstrap/container/index.js\"));\nvar _datagrid = _interopRequireDefault(__webpack_require__(/*! ./datagrid */ \"./lib/templates/bootstrap/datagrid/index.js\"));\nvar _day = _interopRequireDefault(__webpack_require__(/*! ./day */ \"./lib/templates/bootstrap/day/index.js\"));\nvar _dialog = _interopRequireDefault(__webpack_require__(/*! ./dialog */ \"./lib/templates/bootstrap/dialog/index.js\"));\nvar _editgrid = _interopRequireDefault(__webpack_require__(/*! ./editgrid */ \"./lib/templates/bootstrap/editgrid/index.js\"));\nvar _editgridTable = _interopRequireDefault(__webpack_require__(/*! ./editgridTable */ \"./lib/templates/bootstrap/editgridTable/index.js\"));\nvar _field = _interopRequireDefault(__webpack_require__(/*! ./field */ \"./lib/templates/bootstrap/field/index.js\"));\nvar _fieldset = _interopRequireDefault(__webpack_require__(/*! ./fieldset */ \"./lib/templates/bootstrap/fieldset/index.js\"));\nvar _file = _interopRequireDefault(__webpack_require__(/*! ./file */ \"./lib/templates/bootstrap/file/index.js\"));\nvar _html = _interopRequireDefault(__webpack_require__(/*! ./html */ \"./lib/templates/bootstrap/html/index.js\"));\nvar _icon = _interopRequireDefault(__webpack_require__(/*! ./icon */ \"./lib/templates/bootstrap/icon/index.js\"));\nvar _iconClass = _interopRequireDefault(__webpack_require__(/*! ./iconClass */ \"./lib/templates/bootstrap/iconClass.js\"));\nvar _input = _interopRequireDefault(__webpack_require__(/*! ./input */ \"./lib/templates/bootstrap/input/index.js\"));\nvar _label = _interopRequireDefault(__webpack_require__(/*! ./label */ \"./lib/templates/bootstrap/label/index.js\"));\nvar _loader = _interopRequireDefault(__webpack_require__(/*! ./loader */ \"./lib/templates/bootstrap/loader/index.js\"));\nvar _loading = _interopRequireDefault(__webpack_require__(/*! ./loading */ \"./lib/templates/bootstrap/loading/index.js\"));\nvar _map = _interopRequireDefault(__webpack_require__(/*! ./map */ \"./lib/templates/bootstrap/map/index.js\"));\nvar _message = _interopRequireDefault(__webpack_require__(/*! ./message */ \"./lib/templates/bootstrap/message/index.js\"));\nvar _modaldialog = _interopRequireDefault(__webpack_require__(/*! ./modaldialog */ \"./lib/templates/bootstrap/modaldialog/index.js\"));\nvar _modaledit = _interopRequireDefault(__webpack_require__(/*! ./modaledit */ \"./lib/templates/bootstrap/modaledit/index.js\"));\nvar _modalPreview = _interopRequireDefault(__webpack_require__(/*! ./modalPreview */ \"./lib/templates/bootstrap/modalPreview/index.js\"));\nvar _multipleMasksInput = _interopRequireDefault(__webpack_require__(/*! ./multipleMasksInput */ \"./lib/templates/bootstrap/multipleMasksInput/index.js\"));\nvar _multiValueRow = _interopRequireDefault(__webpack_require__(/*! ./multiValueRow */ \"./lib/templates/bootstrap/multiValueRow/index.js\"));\nvar _multiValueTable = _interopRequireDefault(__webpack_require__(/*! ./multiValueTable */ \"./lib/templates/bootstrap/multiValueTable/index.js\"));\nvar _panel = _interopRequireDefault(__webpack_require__(/*! ./panel */ \"./lib/templates/bootstrap/panel/index.js\"));\nvar _pdf = _interopRequireDefault(__webpack_require__(/*! ./pdf */ \"./lib/templates/bootstrap/pdf/index.js\"));\nvar _pdfBuilder = _interopRequireDefault(__webpack_require__(/*! ./pdfBuilder */ \"./lib/templates/bootstrap/pdfBuilder/index.js\"));\nvar _pdfBuilderUpload = _interopRequireDefault(__webpack_require__(/*! ./pdfBuilderUpload */ \"./lib/templates/bootstrap/pdfBuilderUpload/index.js\"));\nvar _radio = _interopRequireDefault(__webpack_require__(/*! ./radio */ \"./lib/templates/bootstrap/radio/index.js\"));\nvar _resourceAdd = _interopRequireDefault(__webpack_require__(/*! ./resourceAdd */ \"./lib/templates/bootstrap/resourceAdd/index.js\"));\nvar _select = _interopRequireDefault(__webpack_require__(/*! ./select */ \"./lib/templates/bootstrap/select/index.js\"));\nvar _selectOption = _interopRequireDefault(__webpack_require__(/*! ./selectOption */ \"./lib/templates/bootstrap/selectOption/index.js\"));\nvar _signature = _interopRequireDefault(__webpack_require__(/*! ./signature */ \"./lib/templates/bootstrap/signature/index.js\"));\nvar _survey = _interopRequireDefault(__webpack_require__(/*! ./survey */ \"./lib/templates/bootstrap/survey/index.js\"));\nvar _tab = _interopRequireDefault(__webpack_require__(/*! ./tab */ \"./lib/templates/bootstrap/tab/index.js\"));\nvar _table = _interopRequireDefault(__webpack_require__(/*! ./table */ \"./lib/templates/bootstrap/table/index.js\"));\nvar _webform = _interopRequireDefault(__webpack_require__(/*! ./webform */ \"./lib/templates/bootstrap/webform/index.js\"));\nvar _well = _interopRequireDefault(__webpack_require__(/*! ./well */ \"./lib/templates/bootstrap/well/index.js\"));\nvar _wizard = _interopRequireDefault(__webpack_require__(/*! ./wizard */ \"./lib/templates/bootstrap/wizard/index.js\"));\nvar _wizardHeader = _interopRequireDefault(__webpack_require__(/*! ./wizardHeader */ \"./lib/templates/bootstrap/wizardHeader/index.js\"));\nvar _wizardHeaderClassic = _interopRequireDefault(__webpack_require__(/*! ./wizardHeaderClassic */ \"./lib/templates/bootstrap/wizardHeaderClassic/index.js\"));\nvar _wizardHeaderVertical = _interopRequireDefault(__webpack_require__(/*! ./wizardHeaderVertical */ \"./lib/templates/bootstrap/wizardHeaderVertical/index.js\"));\nvar _wizardNav = _interopRequireDefault(__webpack_require__(/*! ./wizardNav */ \"./lib/templates/bootstrap/wizardNav/index.js\"));\nvar _cssClasses = _interopRequireDefault(__webpack_require__(/*! ./cssClasses */ \"./lib/templates/bootstrap/cssClasses.js\"));\nvar _errorsList = _interopRequireDefault(__webpack_require__(/*! ./errorsList */ \"./lib/templates/bootstrap/errorsList/index.js\"));\nvar _alert = _interopRequireDefault(__webpack_require__(/*! ./alert */ \"./lib/templates/bootstrap/alert/index.js\"));\nvar _data = _interopRequireDefault(__webpack_require__(/*! ./data */ \"./lib/templates/bootstrap/data/index.js\"));\nvar _chart = _interopRequireDefault(__webpack_require__(/*! ./chart */ \"./lib/templates/bootstrap/chart/index.js\"));\nvar _customUrl = _interopRequireDefault(__webpack_require__(/*! ./customUrl */ \"./lib/templates/bootstrap/customUrl/index.js\"));\nvar _department = _interopRequireDefault(__webpack_require__(/*! ./department */ \"./lib/templates/bootstrap/department/index.js\"));\nvar _processTable = _interopRequireDefault(__webpack_require__(/*! ./processTable */ \"./lib/templates/bootstrap/processTable/index.js\"));\nvar _tree = _interopRequireDefault(__webpack_require__(/*! ./tree */ \"./lib/templates/bootstrap/tree/index.js\"));\nvar _flex = _interopRequireDefault(__webpack_require__(/*! ./flex */ \"./lib/templates/bootstrap/flex/index.js\"));\nvar _newsData = _interopRequireDefault(__webpack_require__(/*! ./newsData */ \"./lib/templates/bootstrap/newsData/index.js\"));\nvar _qrCode = _interopRequireDefault(__webpack_require__(/*! ./qrCode */ \"./lib/templates/bootstrap/qrCode/index.js\"));\nvar _fileDownload = _interopRequireDefault(__webpack_require__(/*! ./fileDownload */ \"./lib/templates/bootstrap/fileDownload/index.js\"));\nvar _customMap = _interopRequireDefault(__webpack_require__(/*! ./customMap */ \"./lib/templates/bootstrap/customMap/index.js\"));\nvar _dataChinaGrid = _interopRequireDefault(__webpack_require__(/*! ./dataChinaGrid */ \"./lib/templates/bootstrap/dataChinaGrid/index.js\"));\nvar _dataChinaGridRow = _interopRequireDefault(__webpack_require__(/*! ./dataChinaGridRow */ \"./lib/templates/bootstrap/dataChinaGridRow/index.js\"));\nvar _customTab = _interopRequireDefault(__webpack_require__(/*! ./customTab */ \"./lib/templates/bootstrap/customTab/index.js\"));\nvar _progress = _interopRequireDefault(__webpack_require__(/*! ./progress */ \"./lib/templates/bootstrap/progress/index.js\"));\nvar _echarts = _interopRequireDefault(__webpack_require__(/*! ./echarts */ \"./lib/templates/bootstrap/echarts/index.js\"));\nvar _iconButton = _interopRequireDefault(__webpack_require__(/*! ./iconButton */ \"./lib/templates/bootstrap/iconButton/index.js\"));\nvar _dataSource = _interopRequireDefault(__webpack_require__(/*! ./dataSource */ \"./lib/templates/bootstrap/dataSource/index.js\"));\nvar _buttonGroups = _interopRequireDefault(__webpack_require__(/*! ./buttonGroups */ \"./lib/templates/bootstrap/buttonGroups/index.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n transform: function transform(type, text) {\n if (!text) {\n return text;\n }\n switch (type) {\n case 'class':\n return this.cssClasses.hasOwnProperty(text.toString()) ? this.cssClasses[text.toString()] : text;\n }\n return text;\n },\n defaultIconset: 'fa',\n iconClass: _iconClass.default,\n cssClasses: _cssClasses.default,\n address: _address.default,\n builder: _builder.default,\n builderComponent: _builderComponent.default,\n builderComponents: _builderComponents.default,\n builderEditForm: _builderEditForm.default,\n builderPlaceholder: _builderPlaceholder.default,\n builderSidebar: _builderSidebar.default,\n builderSidebarGroup: _builderSidebarGroup.default,\n builderWizard: _builderWizard.default,\n button: _button.default,\n checkbox: _checkbox.default,\n columns: _columns.default,\n component: _component.default,\n componentModal: _componentModal.default,\n components: _components.default,\n tableComponents: _tableComponents.default,\n container: _container.default,\n datagrid: _datagrid.default,\n day: _day.default,\n dialog: _dialog.default,\n editgrid: _editgrid.default,\n editgridTable: _editgridTable.default,\n field: _field.default,\n fieldset: _fieldset.default,\n file: _file.default,\n html: _html.default,\n icon: _icon.default,\n input: _input.default,\n label: _label.default,\n loader: _loader.default,\n loading: _loading.default,\n map: _map.default,\n message: _message.default,\n modaledit: _modaledit.default,\n modaldialog: _modaldialog.default,\n modalPreview: _modalPreview.default,\n multipleMasksInput: _multipleMasksInput.default,\n multiValueRow: _multiValueRow.default,\n multiValueTable: _multiValueTable.default,\n panel: _panel.default,\n pdf: _pdf.default,\n pdfBuilder: _pdfBuilder.default,\n pdfBuilderUpload: _pdfBuilderUpload.default,\n radio: _radio.default,\n resourceAdd: _resourceAdd.default,\n select: _select.default,\n selectOption: _selectOption.default,\n signature: _signature.default,\n survey: _survey.default,\n tab: _tab.default,\n table: _table.default,\n webform: _webform.default,\n well: _well.default,\n wizard: _wizard.default,\n wizardHeader: _wizardHeader.default,\n wizardHeaderClassic: _wizardHeaderClassic.default,\n wizardHeaderVertical: _wizardHeaderVertical.default,\n wizardNav: _wizardNav.default,\n errorsList: _errorsList.default,\n alert: _alert.default,\n data: _data.default,\n chart: _chart.default,\n customUrl: _customUrl.default,\n department: _department.default,\n processTable: _processTable.default,\n tree: _tree.default,\n flex: _flex.default,\n newsData: _newsData.default,\n qrCode: _qrCode.default,\n actionButton: _button.default,\n fileDownload: _fileDownload.default,\n customMap: _customMap.default,\n dataChinaGrid: _dataChinaGrid.default,\n dataChinaGridRow: _dataChinaGridRow.default,\n customTab: _customTab.default,\n progress: _progress.default,\n echarts: _echarts.default,\n iconButton: _iconButton.default,\n dataSource: _dataSource.default,\n buttonGroups: _buttonGroups.default\n};\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/templates/bootstrap/index.js?");
4772
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/core-js/modules/es.regexp.to-string.js\");\nvar _address = _interopRequireDefault(__webpack_require__(/*! ./address */ \"./lib/templates/bootstrap/address/index.js\"));\nvar _builder = _interopRequireDefault(__webpack_require__(/*! ./builder */ \"./lib/templates/bootstrap/builder/index.js\"));\nvar _builderComponent = _interopRequireDefault(__webpack_require__(/*! ./builderComponent */ \"./lib/templates/bootstrap/builderComponent/index.js\"));\nvar _builderComponents = _interopRequireDefault(__webpack_require__(/*! ./builderComponents */ \"./lib/templates/bootstrap/builderComponents/index.js\"));\nvar _builderEditForm = _interopRequireDefault(__webpack_require__(/*! ./builderEditForm */ \"./lib/templates/bootstrap/builderEditForm/index.js\"));\nvar _builderPlaceholder = _interopRequireDefault(__webpack_require__(/*! ./builderPlaceholder */ \"./lib/templates/bootstrap/builderPlaceholder/index.js\"));\nvar _builderSidebar = _interopRequireDefault(__webpack_require__(/*! ./builderSidebar */ \"./lib/templates/bootstrap/builderSidebar/index.js\"));\nvar _builderSidebarGroup = _interopRequireDefault(__webpack_require__(/*! ./builderSidebarGroup */ \"./lib/templates/bootstrap/builderSidebarGroup/index.js\"));\nvar _builderWizard = _interopRequireDefault(__webpack_require__(/*! ./builderWizard */ \"./lib/templates/bootstrap/builderWizard/index.js\"));\nvar _button = _interopRequireDefault(__webpack_require__(/*! ./button */ \"./lib/templates/bootstrap/button/index.js\"));\nvar _checkbox = _interopRequireDefault(__webpack_require__(/*! ./checkbox */ \"./lib/templates/bootstrap/checkbox/index.js\"));\nvar _columns = _interopRequireDefault(__webpack_require__(/*! ./columns */ \"./lib/templates/bootstrap/columns/index.js\"));\nvar _component = _interopRequireDefault(__webpack_require__(/*! ./component */ \"./lib/templates/bootstrap/component/index.js\"));\nvar _componentModal = _interopRequireDefault(__webpack_require__(/*! ./componentModal */ \"./lib/templates/bootstrap/componentModal/index.js\"));\nvar _components = _interopRequireDefault(__webpack_require__(/*! ./components */ \"./lib/templates/bootstrap/components/index.js\"));\nvar _tableComponents = _interopRequireDefault(__webpack_require__(/*! ./tableComponents */ \"./lib/templates/bootstrap/tableComponents/index.js\"));\nvar _container = _interopRequireDefault(__webpack_require__(/*! ./container */ \"./lib/templates/bootstrap/container/index.js\"));\nvar _datagrid = _interopRequireDefault(__webpack_require__(/*! ./datagrid */ \"./lib/templates/bootstrap/datagrid/index.js\"));\nvar _day = _interopRequireDefault(__webpack_require__(/*! ./day */ \"./lib/templates/bootstrap/day/index.js\"));\nvar _dialog = _interopRequireDefault(__webpack_require__(/*! ./dialog */ \"./lib/templates/bootstrap/dialog/index.js\"));\nvar _editgrid = _interopRequireDefault(__webpack_require__(/*! ./editgrid */ \"./lib/templates/bootstrap/editgrid/index.js\"));\nvar _editgridTable = _interopRequireDefault(__webpack_require__(/*! ./editgridTable */ \"./lib/templates/bootstrap/editgridTable/index.js\"));\nvar _field = _interopRequireDefault(__webpack_require__(/*! ./field */ \"./lib/templates/bootstrap/field/index.js\"));\nvar _fieldset = _interopRequireDefault(__webpack_require__(/*! ./fieldset */ \"./lib/templates/bootstrap/fieldset/index.js\"));\nvar _file = _interopRequireDefault(__webpack_require__(/*! ./file */ \"./lib/templates/bootstrap/file/index.js\"));\nvar _html = _interopRequireDefault(__webpack_require__(/*! ./html */ \"./lib/templates/bootstrap/html/index.js\"));\nvar _icon = _interopRequireDefault(__webpack_require__(/*! ./icon */ \"./lib/templates/bootstrap/icon/index.js\"));\nvar _iconClass = _interopRequireDefault(__webpack_require__(/*! ./iconClass */ \"./lib/templates/bootstrap/iconClass.js\"));\nvar _input = _interopRequireDefault(__webpack_require__(/*! ./input */ \"./lib/templates/bootstrap/input/index.js\"));\nvar _label = _interopRequireDefault(__webpack_require__(/*! ./label */ \"./lib/templates/bootstrap/label/index.js\"));\nvar _loader = _interopRequireDefault(__webpack_require__(/*! ./loader */ \"./lib/templates/bootstrap/loader/index.js\"));\nvar _loading = _interopRequireDefault(__webpack_require__(/*! ./loading */ \"./lib/templates/bootstrap/loading/index.js\"));\nvar _map = _interopRequireDefault(__webpack_require__(/*! ./map */ \"./lib/templates/bootstrap/map/index.js\"));\nvar _message = _interopRequireDefault(__webpack_require__(/*! ./message */ \"./lib/templates/bootstrap/message/index.js\"));\nvar _modaldialog = _interopRequireDefault(__webpack_require__(/*! ./modaldialog */ \"./lib/templates/bootstrap/modaldialog/index.js\"));\nvar _modaledit = _interopRequireDefault(__webpack_require__(/*! ./modaledit */ \"./lib/templates/bootstrap/modaledit/index.js\"));\nvar _modalPreview = _interopRequireDefault(__webpack_require__(/*! ./modalPreview */ \"./lib/templates/bootstrap/modalPreview/index.js\"));\nvar _multipleMasksInput = _interopRequireDefault(__webpack_require__(/*! ./multipleMasksInput */ \"./lib/templates/bootstrap/multipleMasksInput/index.js\"));\nvar _multiValueRow = _interopRequireDefault(__webpack_require__(/*! ./multiValueRow */ \"./lib/templates/bootstrap/multiValueRow/index.js\"));\nvar _multiValueTable = _interopRequireDefault(__webpack_require__(/*! ./multiValueTable */ \"./lib/templates/bootstrap/multiValueTable/index.js\"));\nvar _panel = _interopRequireDefault(__webpack_require__(/*! ./panel */ \"./lib/templates/bootstrap/panel/index.js\"));\nvar _pdf = _interopRequireDefault(__webpack_require__(/*! ./pdf */ \"./lib/templates/bootstrap/pdf/index.js\"));\nvar _pdfBuilder = _interopRequireDefault(__webpack_require__(/*! ./pdfBuilder */ \"./lib/templates/bootstrap/pdfBuilder/index.js\"));\nvar _pdfBuilderUpload = _interopRequireDefault(__webpack_require__(/*! ./pdfBuilderUpload */ \"./lib/templates/bootstrap/pdfBuilderUpload/index.js\"));\nvar _radio = _interopRequireDefault(__webpack_require__(/*! ./radio */ \"./lib/templates/bootstrap/radio/index.js\"));\nvar _resourceAdd = _interopRequireDefault(__webpack_require__(/*! ./resourceAdd */ \"./lib/templates/bootstrap/resourceAdd/index.js\"));\nvar _select = _interopRequireDefault(__webpack_require__(/*! ./select */ \"./lib/templates/bootstrap/select/index.js\"));\nvar _selectOption = _interopRequireDefault(__webpack_require__(/*! ./selectOption */ \"./lib/templates/bootstrap/selectOption/index.js\"));\nvar _signature = _interopRequireDefault(__webpack_require__(/*! ./signature */ \"./lib/templates/bootstrap/signature/index.js\"));\nvar _survey = _interopRequireDefault(__webpack_require__(/*! ./survey */ \"./lib/templates/bootstrap/survey/index.js\"));\nvar _tab = _interopRequireDefault(__webpack_require__(/*! ./tab */ \"./lib/templates/bootstrap/tab/index.js\"));\nvar _table = _interopRequireDefault(__webpack_require__(/*! ./table */ \"./lib/templates/bootstrap/table/index.js\"));\nvar _webform = _interopRequireDefault(__webpack_require__(/*! ./webform */ \"./lib/templates/bootstrap/webform/index.js\"));\nvar _well = _interopRequireDefault(__webpack_require__(/*! ./well */ \"./lib/templates/bootstrap/well/index.js\"));\nvar _wizard = _interopRequireDefault(__webpack_require__(/*! ./wizard */ \"./lib/templates/bootstrap/wizard/index.js\"));\nvar _wizardHeader = _interopRequireDefault(__webpack_require__(/*! ./wizardHeader */ \"./lib/templates/bootstrap/wizardHeader/index.js\"));\nvar _wizardHeaderClassic = _interopRequireDefault(__webpack_require__(/*! ./wizardHeaderClassic */ \"./lib/templates/bootstrap/wizardHeaderClassic/index.js\"));\nvar _wizardHeaderVertical = _interopRequireDefault(__webpack_require__(/*! ./wizardHeaderVertical */ \"./lib/templates/bootstrap/wizardHeaderVertical/index.js\"));\nvar _wizardNav = _interopRequireDefault(__webpack_require__(/*! ./wizardNav */ \"./lib/templates/bootstrap/wizardNav/index.js\"));\nvar _cssClasses = _interopRequireDefault(__webpack_require__(/*! ./cssClasses */ \"./lib/templates/bootstrap/cssClasses.js\"));\nvar _errorsList = _interopRequireDefault(__webpack_require__(/*! ./errorsList */ \"./lib/templates/bootstrap/errorsList/index.js\"));\nvar _alert = _interopRequireDefault(__webpack_require__(/*! ./alert */ \"./lib/templates/bootstrap/alert/index.js\"));\nvar _data = _interopRequireDefault(__webpack_require__(/*! ./data */ \"./lib/templates/bootstrap/data/index.js\"));\nvar _chart = _interopRequireDefault(__webpack_require__(/*! ./chart */ \"./lib/templates/bootstrap/chart/index.js\"));\nvar _customUrl = _interopRequireDefault(__webpack_require__(/*! ./customUrl */ \"./lib/templates/bootstrap/customUrl/index.js\"));\nvar _department = _interopRequireDefault(__webpack_require__(/*! ./department */ \"./lib/templates/bootstrap/department/index.js\"));\nvar _processTable = _interopRequireDefault(__webpack_require__(/*! ./processTable */ \"./lib/templates/bootstrap/processTable/index.js\"));\nvar _tree = _interopRequireDefault(__webpack_require__(/*! ./tree */ \"./lib/templates/bootstrap/tree/index.js\"));\nvar _flex = _interopRequireDefault(__webpack_require__(/*! ./flex */ \"./lib/templates/bootstrap/flex/index.js\"));\nvar _newsData = _interopRequireDefault(__webpack_require__(/*! ./newsData */ \"./lib/templates/bootstrap/newsData/index.js\"));\nvar _qrCode = _interopRequireDefault(__webpack_require__(/*! ./qrCode */ \"./lib/templates/bootstrap/qrCode/index.js\"));\nvar _fileDownload = _interopRequireDefault(__webpack_require__(/*! ./fileDownload */ \"./lib/templates/bootstrap/fileDownload/index.js\"));\nvar _customMap = _interopRequireDefault(__webpack_require__(/*! ./customMap */ \"./lib/templates/bootstrap/customMap/index.js\"));\nvar _dataChinaGrid = _interopRequireDefault(__webpack_require__(/*! ./dataChinaGrid */ \"./lib/templates/bootstrap/dataChinaGrid/index.js\"));\nvar _dataChinaGridRow = _interopRequireDefault(__webpack_require__(/*! ./dataChinaGridRow */ \"./lib/templates/bootstrap/dataChinaGridRow/index.js\"));\nvar _customTab = _interopRequireDefault(__webpack_require__(/*! ./customTab */ \"./lib/templates/bootstrap/customTab/index.js\"));\nvar _progress = _interopRequireDefault(__webpack_require__(/*! ./progress */ \"./lib/templates/bootstrap/progress/index.js\"));\nvar _echarts = _interopRequireDefault(__webpack_require__(/*! ./echarts */ \"./lib/templates/bootstrap/echarts/index.js\"));\nvar _iconButton = _interopRequireDefault(__webpack_require__(/*! ./iconButton */ \"./lib/templates/bootstrap/iconButton/index.js\"));\nvar _dataSource = _interopRequireDefault(__webpack_require__(/*! ./dataSource */ \"./lib/templates/bootstrap/dataSource/index.js\"));\nvar _buttonGroups = _interopRequireDefault(__webpack_require__(/*! ./buttonGroups */ \"./lib/templates/bootstrap/buttonGroups/index.js\"));\nvar _fileUDS = _interopRequireDefault(__webpack_require__(/*! ./fileUDS */ \"./lib/templates/bootstrap/fileUDS/index.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar _default = {\n transform: function transform(type, text) {\n if (!text) {\n return text;\n }\n switch (type) {\n case 'class':\n return this.cssClasses.hasOwnProperty(text.toString()) ? this.cssClasses[text.toString()] : text;\n }\n return text;\n },\n defaultIconset: 'fa',\n iconClass: _iconClass.default,\n cssClasses: _cssClasses.default,\n address: _address.default,\n builder: _builder.default,\n builderComponent: _builderComponent.default,\n builderComponents: _builderComponents.default,\n builderEditForm: _builderEditForm.default,\n builderPlaceholder: _builderPlaceholder.default,\n builderSidebar: _builderSidebar.default,\n builderSidebarGroup: _builderSidebarGroup.default,\n builderWizard: _builderWizard.default,\n button: _button.default,\n checkbox: _checkbox.default,\n columns: _columns.default,\n component: _component.default,\n componentModal: _componentModal.default,\n components: _components.default,\n tableComponents: _tableComponents.default,\n container: _container.default,\n datagrid: _datagrid.default,\n day: _day.default,\n dialog: _dialog.default,\n editgrid: _editgrid.default,\n editgridTable: _editgridTable.default,\n field: _field.default,\n fieldset: _fieldset.default,\n file: _file.default,\n html: _html.default,\n icon: _icon.default,\n input: _input.default,\n label: _label.default,\n loader: _loader.default,\n loading: _loading.default,\n map: _map.default,\n message: _message.default,\n modaledit: _modaledit.default,\n modaldialog: _modaldialog.default,\n modalPreview: _modalPreview.default,\n multipleMasksInput: _multipleMasksInput.default,\n multiValueRow: _multiValueRow.default,\n multiValueTable: _multiValueTable.default,\n panel: _panel.default,\n pdf: _pdf.default,\n pdfBuilder: _pdfBuilder.default,\n pdfBuilderUpload: _pdfBuilderUpload.default,\n radio: _radio.default,\n resourceAdd: _resourceAdd.default,\n select: _select.default,\n selectOption: _selectOption.default,\n signature: _signature.default,\n survey: _survey.default,\n tab: _tab.default,\n table: _table.default,\n webform: _webform.default,\n well: _well.default,\n wizard: _wizard.default,\n wizardHeader: _wizardHeader.default,\n wizardHeaderClassic: _wizardHeaderClassic.default,\n wizardHeaderVertical: _wizardHeaderVertical.default,\n wizardNav: _wizardNav.default,\n errorsList: _errorsList.default,\n alert: _alert.default,\n data: _data.default,\n chart: _chart.default,\n customUrl: _customUrl.default,\n department: _department.default,\n processTable: _processTable.default,\n tree: _tree.default,\n flex: _flex.default,\n newsData: _newsData.default,\n qrCode: _qrCode.default,\n actionButton: _button.default,\n fileDownload: _fileDownload.default,\n customMap: _customMap.default,\n dataChinaGrid: _dataChinaGrid.default,\n dataChinaGridRow: _dataChinaGridRow.default,\n customTab: _customTab.default,\n progress: _progress.default,\n echarts: _echarts.default,\n iconButton: _iconButton.default,\n dataSource: _dataSource.default,\n buttonGroups: _buttonGroups.default,\n fileUDS: _fileUDS.default\n};\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://Formio/./lib/templates/bootstrap/index.js?");
4686
4773
 
4687
4774
  /***/ }),
4688
4775