diff --git a/CHANGELOG.md b/CHANGELOG.md index 23b794dc..22e195d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [v2.0.0-beta.8](https://github.com/formsy/formsy-react/compare/v2.0.0-beta.7...v2.0.0-beta.8) + +> 30 January 2020 + +- Edit types to parameterize value. Edit validations rules to apply to specific types [`#341`](https://github.com/formsy/formsy-react/pull/341) +- Rewrite isSame to not use circular imports, remove arraysDiffer, objectsDiffer, find [`#362`](https://github.com/formsy/formsy-react/pull/362) +- Dependabot Automatic Library Bumps [`#363`](https://github.com/formsy/formsy-react/pull/363) +- Edit validation function type to add string type (for error message) [`#339`](https://github.com/formsy/formsy-react/pull/339) +- Add cloneIfObject utility to reduce code duplication [`#337`](https://github.com/formsy/formsy-react/pull/337) +- Dependabot Automatic Library Bumps [`#338`](https://github.com/formsy/formsy-react/pull/338) +- bug-fix: Improve performance, prevent redundant exponential data copy [`#317`](https://github.com/formsy/formsy-react/pull/317) +- Fix deprecated lifecycle method usage in tests [`#318`](https://github.com/formsy/formsy-react/pull/318) +- Apply automatic code formatting [`9952dfe`](https://github.com/formsy/formsy-react/commit/9952dfe04eb0cdc749d7ef033fc53b73be08dd1c) + #### [v2.0.0-beta.7](https://github.com/formsy/formsy-react/compare/v2.0.0-beta.6...v2.0.0-beta.7) > 14 December 2019 diff --git a/dist/formsy-react.cjs.js b/dist/formsy-react.cjs.js index b09604e6..19f7deea 100644 --- a/dist/formsy-react.cjs.js +++ b/dist/formsy-react.cjs.js @@ -174,6 +174,48 @@ function _possibleConstructorReturn(self, call) { return _assertThisInitialized(self); } +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArrayLimit(arr, i) { + if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { + return; + } + + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } @@ -2072,16 +2114,6 @@ function (_React$Component) { _this.validateForm(); }; - _this.setValue = function (name, value, validate) { - var input = _this.inputs.find(function (component) { - return component.props.name === name; - }); - - if (input) { - input.setValue(value, validate); - } - }; - _this.runValidation = function (component) { var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : component.state.value; var validationErrors = _this.props.validationErrors; @@ -2178,7 +2210,11 @@ function (_React$Component) { _this.updateInputsWithError = function (errors, invalidate) { var preventExternalInvalidation = _this.props.preventExternalInvalidation; var isValid = _this.state.isValid; - Object.keys(errors).forEach(function (name) { + Object.entries(errors).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + name = _ref2[0], + error = _ref2[1]; + var component = _this.inputs.find(function (input) { return input.props.name === name; }); @@ -2189,7 +2225,7 @@ function (_React$Component) { var args = [{ isValid: preventExternalInvalidation, - externalError: typeof errors[name] === 'string' ? [errors[name]] : errors[name] + externalError: isString(error) ? [error] : error }]; component.setState.apply(component, args); }); @@ -2199,6 +2235,22 @@ function (_React$Component) { } }; + _this.updateInputsWithValue = function (values, validate) { + Object.entries(values).forEach(function (_ref3) { + var _ref4 = _slicedToArray(_ref3, 2), + name = _ref4[0], + value = _ref4[1]; + + var input = _this.inputs.find(function (component) { + return component.props.name === name; + }); + + if (input) { + input.setValue(value, validate); + } + }); + }; + _this.validate = function (component) { var onChange = _this.props.onChange; var canChange = _this.state.canChange; // Trigger onChange diff --git a/dist/formsy-react.cjs.js.map b/dist/formsy-react.cjs.js.map index 8959917a..25c1f255 100644 --- a/dist/formsy-react.cjs.js.map +++ b/dist/formsy-react.cjs.js.map @@ -1 +1 @@ -{"version":3,"file":"formsy-react.cjs.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/form-data-to-object/index.js","../src/utils.ts","../src/validationRules.ts","../src/Wrapper.ts","../src/index.ts"],"sourcesContent":["/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function toObj(source) {\n return Object.keys(source).reduce(function (output, key) {\n var parentKey = key.match(/[^\\[]*/i);\n var paths = key.match(/\\[.*?\\]/g) || [];\n paths = [parentKey[0]].concat(paths).map(function (key) {\n return key.replace(/\\[|\\]/g, '');\n });\n var currentPath = output;\n while (paths.length) {\n var pathKey = paths.shift();\n\n if (pathKey in currentPath) {\n currentPath = currentPath[pathKey];\n } else {\n currentPath[pathKey] = paths.length ? isNaN(paths[0]) ? {} : [] : source[key];\n currentPath = currentPath[pathKey];\n }\n }\n\n return output;\n }, {});\n}\n\nfunction fromObj(obj) {\n function recur(newObj, propName, currVal) {\n if (Array.isArray(currVal) || Object.prototype.toString.call(currVal) === '[object Object]') {\n Object.keys(currVal).forEach(function(v) {\n recur(newObj, propName + \"[\" + v + \"]\", currVal[v]);\n });\n return newObj;\n }\n\n newObj[propName] = currVal;\n return newObj;\n }\n\n var keys = Object.keys(obj);\n return keys.reduce(function(newObj, propName) {\n return recur(newObj, propName, obj[propName]);\n }, {});\n}\n\nmodule.exports = {\n fromObj: fromObj,\n toObj: toObj\n}","import { Validations, Values } from './interfaces';\n\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n\nexport function isTypeUndefined(value: unknown): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isFunction(value: unknown): value is Function {\n return value !== null && typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function isValueStringEmpty(value: string): boolean {\n return value === '';\n}\n\nexport function isValueNullOrUndefined(value: unknown): boolean {\n return value === null || value === undefined;\n}\n\nexport function isValueUndefined(value: unknown): boolean {\n return value === undefined;\n}\n\nexport function noop() {\n // do nothing.\n}\n\nexport function cloneIfObject(value: unknown) {\n // Clone objects to avoid accidental param reassignment\n return isObject(value) ? { ...value } : value;\n}\n\nexport function isSame(a: unknown, b: unknown) {\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isSame(item, b[index]));\n }\n\n if (isFunction(a) && isFunction(b)) {\n return a.toString() === b.toString();\n }\n\n if (isDate(a) && isDate(b)) {\n return a.toString() === b.toString();\n }\n\n if (isObject(a) && isObject(b)) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n\n return Object.keys(a).every(key => isSame(a[key], b[key]));\n }\n\n return a === b;\n}\n\nexport function runRules(\n value: V,\n currentValues: Values,\n validations: Validations,\n validationRules: Validations,\n) {\n const results: {\n errors: string[];\n failed: string[];\n success: string[];\n } = {\n errors: [],\n failed: [],\n success: [],\n };\n\n if (Object.keys(validations).length) {\n Object.keys(validations).forEach(validationMethod => {\n const validationsVal = validations[validationMethod];\n const validationRulesVal = validationRules[validationMethod];\n\n if (validationRulesVal && isFunction(validationsVal)) {\n throw new Error(`Formsy does not allow you to override default validations: ${validationMethod}`);\n }\n\n if (!validationRulesVal && !isFunction(validationsVal)) {\n throw new Error(`Formsy does not have the validation rule: ${validationMethod}`);\n }\n\n if (isFunction(validationsVal)) {\n const validation = validationsVal(currentValues, value);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n }\n\n return;\n }\n\n if (!isFunction(validationsVal) && isFunction(validationRulesVal)) {\n const validation = validationRulesVal(currentValues, value, validationsVal);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n } else {\n results.success.push(validationMethod);\n }\n return;\n }\n\n results.success.push(validationMethod);\n });\n }\n\n return results;\n}\n","import { ValidationFunction, Values } from './interfaces';\nimport {\n isString,\n isValueStringEmpty,\n isTypeUndefined,\n isValueNullOrUndefined,\n isNumber,\n isValueUndefined,\n} from './utils';\n\nconst isExisty = (value: V) => !isValueNullOrUndefined(value);\nconst isEmpty = (value: V) => {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n if (isTypeUndefined(value)) {\n return false;\n }\n return isValueUndefined(value);\n};\n\ninterface Validations {\n [key: string]: ValidationFunction;\n}\n\nconst validations: Validations = {\n isDefaultRequiredValue(_values: Values, value: V) {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n return isValueNullOrUndefined(value);\n },\n isExisty(_values: Values, value: V) {\n return isExisty(value);\n },\n matchRegexp(_values: Values, value: string, regexp: RegExp) {\n return !isExisty(value) || isEmpty(value) || regexp.test(value);\n },\n isUndefined(_values: Values, value: V) {\n return isValueUndefined(value);\n },\n isEmptyString(_values: Values, value: string) {\n return isEmpty(value);\n },\n isEmail(values: Values, value: string) {\n // Regex from http://emailregex.com/\n return validations.matchRegexp(\n values,\n value,\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i,\n );\n },\n isUrl(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/i);\n },\n isTrue(_values: Values, value: boolean | string) {\n return value === true;\n },\n isFalse(_values: Values, value: boolean | string) {\n return value === false;\n },\n isNumeric(values: Values, value: V) {\n if (isNumber(value)) {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][+-]?(?:\\d+))?$/);\n },\n isWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals(_values: Values, value: V, eql: V) {\n return !isExisty(value) || isEmpty(value) || value === eql;\n },\n equalsField(values: Values, value: V, field: string) {\n return value === values[field];\n },\n maxLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || value.length <= length;\n },\n minLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n};\n\nexport default validations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as utils from './utils';\nimport { RequiredValidation, Validations, WrappedComponentClass } from './interfaces';\n\n/* eslint-disable react/default-props-match-prop-types */\n\nconst convertValidationsToObject = (validations: false | Validations): Validations => {\n if (typeof validations === 'string') {\n return validations.split(/,(?![^{[]*[}\\]])/g).reduce((validationsAccumulator, validation) => {\n let args = validation.split(':');\n const validateMethod = args.shift();\n\n if (typeof validateMethod !== 'string') {\n throw new Error('Formsy encountered unexpected problem parsing validation string');\n }\n\n args = args.map(arg => {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg; // It is a string if it can not parse it\n }\n });\n\n if (args.length > 1) {\n throw new Error(\n 'Formsy does not support multiple args on string validations. Use object format of validations instead.',\n );\n }\n\n // Avoid parameter reassignment\n const validationsAccumulatorCopy: Validations = { ...validationsAccumulator };\n validationsAccumulatorCopy[validateMethod] = args.length ? args[0] : true;\n return validationsAccumulatorCopy;\n }, {});\n }\n\n return validations || {};\n};\n\nconst propTypes = {\n innerRef: PropTypes.func,\n name: PropTypes.string.isRequired,\n required: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string]),\n validations: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n};\n\nexport interface WrapperProps {\n innerRef?: (ref: any) => void;\n name: string;\n required?: RequiredValidation;\n validationError?: any;\n validationErrors?: any;\n validations?: Validations;\n value?: V;\n}\n\nexport interface WrapperState {\n [key: string]: unknown;\n externalError: null;\n formSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n pristineValue: any;\n validationError: any[];\n value: V;\n}\n\nexport interface InjectedProps {\n errorMessage: any;\n errorMessages: any;\n hasValue: boolean;\n isFormDisabled: boolean;\n isFormSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n isValidValue: (value: V) => boolean;\n ref?: any;\n resetValue: any;\n setValidations: any;\n setValue: (value: V) => void;\n showError: boolean;\n showRequired: boolean;\n}\n\nexport type PassDownProps = WrapperProps & InjectedProps;\n\nexport { propTypes };\n\nfunction getDisplayName(component: WrappedComponentClass) {\n return (\n (component as { displayName?: string }).displayName ||\n component.name ||\n (typeof component === 'string' ? component : 'Component')\n );\n}\n\nexport default function(\n WrappedComponent: React.ComponentType>,\n): React.ComponentType, keyof InjectedProps>> {\n return class extends React.Component, WrapperState> {\n public validations?: Validations;\n\n public requiredValidations?: Validations;\n\n public static displayName = `Formsy(${getDisplayName(WrappedComponent)})`;\n\n public static propTypes: any = propTypes;\n\n public static contextTypes = {\n formsy: PropTypes.object, // What about required?\n };\n\n public static defaultProps: any = {\n innerRef: null,\n required: false,\n validationError: '',\n validationErrors: {},\n validations: null,\n value: (WrappedComponent as any).defaultValue,\n };\n\n public constructor(props) {\n super(props);\n this.state = {\n externalError: null,\n formSubmitted: false,\n isPristine: true,\n isRequired: false,\n isValid: true,\n pristineValue: props.value,\n validationError: [],\n value: props.value,\n };\n }\n\n public componentDidMount() {\n const { validations, required, name } = this.props;\n const { formsy } = this.context;\n\n if (!name) {\n throw new Error('Form Input requires a name property when used');\n }\n\n this.setValidations(validations, required);\n\n // Pass a function instead?\n formsy.attachToForm(this);\n }\n\n public shouldComponentUpdate(nextProps, nextState, nextContext) {\n const {\n props,\n state,\n context: { formsy: formsyContext },\n } = this;\n const isPropsChanged = Object.keys(props).some(k => props[k] !== nextProps[k]);\n\n const isStateChanged = Object.keys(state).some(k => state[k] !== nextState[k]);\n\n const isFormsyContextChanged = Object.keys(formsyContext).some(k => formsyContext[k] !== nextContext.formsy[k]);\n\n return isPropsChanged || isStateChanged || isFormsyContextChanged;\n }\n\n public componentDidUpdate(prevProps) {\n const { value, validations, required } = this.props;\n const { formsy } = this.context;\n\n // If the value passed has changed, set it. If value is not passed it will\n // internally update, and this will never run\n if (!utils.isSame(value, prevProps.value)) {\n this.setValue(value);\n }\n\n // If validations or required is changed, run a new validation\n if (!utils.isSame(validations, prevProps.validations) || !utils.isSame(required, prevProps.required)) {\n this.setValidations(validations, required);\n formsy.validate(this);\n }\n }\n\n // Detach it when component unmounts\n // eslint-disable-next-line react/sort-comp\n public componentWillUnmount() {\n const { formsy } = this.context;\n formsy.detachFromForm(this);\n }\n\n public getErrorMessage = () => {\n const messages = this.getErrorMessages();\n return messages.length ? messages[0] : null;\n };\n\n public getErrorMessages = () => {\n const { externalError, validationError } = this.state;\n\n if (!this.isValid() || this.showRequired()) {\n return externalError || validationError || [];\n }\n return [];\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public getValue = () => this.state.value;\n\n public setValidations = (validations: Validations, required: RequiredValidation) => {\n // Add validations to the store itself as the props object can not be modified\n this.validations = convertValidationsToObject(validations) || {};\n this.requiredValidations =\n required === true ? { isDefaultRequiredValue: required } : convertValidationsToObject(required);\n };\n\n // By default, we validate after the value has been set.\n // A user can override this and pass a second parameter of `false` to skip validation.\n public setValue = (value, validate = true) => {\n const { formsy } = this.context;\n\n if (!validate) {\n this.setState({\n value,\n });\n } else {\n this.setState(\n {\n value,\n isPristine: false,\n },\n () => {\n formsy.validate(this);\n },\n );\n }\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public hasValue = () => {\n const { value } = this.state;\n if (typeof value === 'string') {\n return value !== '';\n }\n return value !== undefined;\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.context.formsy.isFormDisabled;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormSubmitted = () => this.state.formSubmitted;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isPristine = () => this.state.isPristine;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isRequired = () => !!this.props.required;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValid = () => this.state.isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValidValue = value => this.context.formsy.isValidValue.call(null, this, value);\n\n public resetValue = () => {\n const { pristineValue } = this.state;\n const { formsy } = this.context;\n\n this.setState(\n {\n value: pristineValue,\n isPristine: true,\n },\n () => {\n formsy.validate(this);\n },\n );\n };\n\n public showError = () => !this.showRequired() && !this.isValid();\n\n // eslint-disable-next-line react/destructuring-assignment\n public showRequired = () => this.state.isRequired;\n\n public render() {\n const { innerRef } = this.props;\n const propsForElement: PassDownProps = {\n ...this.props,\n errorMessage: this.getErrorMessage(),\n errorMessages: this.getErrorMessages(),\n hasValue: this.hasValue(),\n isFormDisabled: this.isFormDisabled(),\n isFormSubmitted: this.isFormSubmitted(),\n isPristine: this.isPristine(),\n isRequired: this.isRequired(),\n isValid: this.isValid(),\n isValidValue: this.isValidValue,\n resetValue: this.resetValue,\n setValidations: this.setValidations,\n setValue: this.setValue,\n showError: this.showError(),\n showRequired: this.showRequired(),\n value: this.getValue(),\n };\n\n if (innerRef) {\n propsForElement.ref = innerRef;\n }\n\n return React.createElement(WrappedComponent, propsForElement as any);\n }\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport formDataToObject from 'form-data-to-object';\n\nimport * as utils from './utils';\nimport validationRules from './validationRules';\nimport Wrapper, { propTypes } from './Wrapper';\n\nimport {\n IData,\n IModel,\n InputComponent,\n IResetModel,\n ISetInputValue,\n IUpdateInputsWithError,\n ValidationFunction,\n} from './interfaces';\n\ntype FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>;\n\n/* eslint-disable react/no-unused-state, react/default-props-match-prop-types */\nexport interface FormsyProps extends FormHTMLAttributesCleaned {\n disabled: boolean;\n getErrorMessage: any;\n getErrorMessages: any;\n getValue: any;\n hasValue: any;\n isFormDisabled: any;\n isFormSubmitted: any;\n isPristine: any;\n isRequired: any;\n isValid: any;\n isValidValue: any;\n mapping: null | ((model: IModel) => IModel);\n onChange: (model: IModel, isChanged: boolean) => void;\n onError: any;\n onInvalid: () => void;\n onInvalidSubmit: any;\n onReset?: () => void;\n onSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n onValid: () => void;\n onValidSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n preventExternalInvalidation?: boolean;\n resetValue: any;\n setValidations: any;\n setValue: any;\n showError: any;\n showRequired: any;\n validationErrors?: null | object;\n}\n\nexport interface FormsyState {\n canChange: boolean;\n formSubmitted?: boolean;\n isPristine?: boolean;\n isSubmitting: boolean;\n isValid: boolean;\n}\n\nclass Formsy extends React.Component {\n public inputs: any[];\n\n public emptyArray: any[];\n\n public prevInputNames: any[] | null = null;\n\n public static displayName = 'Formsy';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n getErrorMessage: PropTypes.func,\n getErrorMessages: PropTypes.func,\n getValue: PropTypes.func,\n hasValue: PropTypes.func,\n isFormDisabled: PropTypes.func,\n isFormSubmitted: PropTypes.func,\n isPristine: PropTypes.func,\n isRequired: PropTypes.func,\n isValid: PropTypes.func,\n isValidValue: PropTypes.func,\n mapping: PropTypes.func,\n onChange: PropTypes.func,\n onInvalid: PropTypes.func,\n onInvalidSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onValidSubmit: PropTypes.func,\n preventExternalInvalidation: PropTypes.bool,\n resetValue: PropTypes.func,\n setValidations: PropTypes.func,\n setValue: PropTypes.func,\n showError: PropTypes.func,\n showRequired: PropTypes.func,\n validationErrors: PropTypes.object, // eslint-disable-line\n };\n\n public static childContextTypes = {\n formsy: PropTypes.object,\n };\n\n public static defaultProps: Partial = {\n disabled: false,\n getErrorMessage: utils.noop,\n getErrorMessages: utils.noop,\n getValue: utils.noop,\n hasValue: utils.noop,\n isFormDisabled: utils.noop,\n isFormSubmitted: utils.noop,\n isPristine: utils.noop,\n isRequired: utils.noop,\n isValid: utils.noop,\n isValidValue: utils.noop,\n mapping: null,\n onChange: utils.noop,\n onError: utils.noop,\n onInvalid: utils.noop,\n onInvalidSubmit: utils.noop,\n onReset: utils.noop,\n onSubmit: utils.noop,\n onValid: utils.noop,\n onValidSubmit: utils.noop,\n preventExternalInvalidation: false,\n resetValue: utils.noop,\n setValidations: utils.noop,\n setValue: utils.noop,\n showError: utils.noop,\n showRequired: utils.noop,\n validationErrors: null,\n };\n\n public constructor(props: FormsyProps) {\n super(props);\n this.state = {\n canChange: false,\n isSubmitting: false,\n isValid: true,\n };\n this.inputs = [];\n this.emptyArray = [];\n }\n\n public getChildContext = () => ({\n formsy: {\n attachToForm: this.attachToForm,\n detachFromForm: this.detachFromForm,\n isFormDisabled: this.isFormDisabled(),\n isValidValue: this.isValidValue,\n validate: this.validate,\n },\n });\n\n public componentDidMount = () => {\n this.prevInputNames = this.inputs.map(component => component.props.name);\n this.validateForm();\n };\n\n public componentDidUpdate = () => {\n const { validationErrors } = this.props;\n\n if (validationErrors && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n this.setInputValidationErrors(validationErrors);\n }\n\n const newInputNames = this.inputs.map(component => component.props.name);\n if (this.prevInputNames && !utils.isSame(this.prevInputNames, newInputNames)) {\n this.prevInputNames = newInputNames;\n this.validateForm();\n }\n };\n\n public getCurrentValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name },\n state: { value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public getModel = () => {\n const currentValues = this.getCurrentValues();\n return this.mapModel(currentValues);\n };\n\n public getPristineValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name, value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public setFormPristine = (isPristine: boolean) => {\n this.setState({\n formSubmitted: !isPristine,\n });\n\n // Iterate through each component and set it as pristine\n // or \"dirty\".\n this.inputs.forEach(component => {\n component.setState({\n formSubmitted: !isPristine,\n isPristine,\n });\n });\n };\n\n public setInputValidationErrors = errors => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n this.inputs.forEach(component => {\n const { name } = component.props;\n const args = [\n {\n isValid: !(name in errors),\n validationError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (!preventExternalInvalidation && isValid) {\n this.setFormValidState(false);\n }\n };\n\n public setFormValidState = (allIsValid: boolean) => {\n const { onValid, onInvalid } = this.props;\n\n this.setState({\n isValid: allIsValid,\n });\n\n if (allIsValid) {\n onValid();\n } else {\n onInvalid();\n }\n };\n\n public isValidValue = (component, value) => this.runValidation(component, value).isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.props.disabled;\n\n public mapModel = (model: IModel) => {\n const { mapping } = this.props;\n\n if (mapping) {\n return mapping(model);\n }\n\n return formDataToObject.toObj(\n Object.keys(model).reduce((mappedModel, key) => {\n const keyArray = key.split('.');\n let base: IModel = mappedModel;\n while (keyArray.length) {\n const currentKey = keyArray.shift() as string;\n base[currentKey] = keyArray.length ? base[currentKey] || {} : model[key];\n base = base[currentKey];\n }\n return mappedModel;\n }, {}),\n );\n };\n\n public reset = (data?: IData) => {\n this.setFormPristine(true);\n this.resetModel(data);\n };\n\n public resetInternal = event => {\n const { onReset } = this.props;\n\n event.preventDefault();\n this.reset();\n if (onReset) {\n onReset();\n }\n };\n\n // Reset each key in the model to the original / initial / specified value\n public resetModel: IResetModel = data => {\n this.inputs.forEach(component => {\n const { name } = component.props;\n if (data && Object.prototype.hasOwnProperty.call(data, name)) {\n component.setValue(data[name]);\n } else {\n component.resetValue();\n }\n });\n this.validateForm();\n };\n\n // Set the value of one component\n public setValue: ISetInputValue = (name, value, validate) => {\n const input = this.inputs.find(component => component.props.name === name);\n if (input) {\n input.setValue(value, validate);\n }\n };\n\n // Checks validation on current value or a passed value\n public runValidation = (component: InputComponent, value = component.state.value) => {\n const { validationErrors } = this.props;\n const currentValues = this.getCurrentValues();\n const validationResults = utils.runRules(value, currentValues, component.validations, validationRules);\n const requiredResults = utils.runRules(value, currentValues, component.requiredValidations, validationRules);\n const isRequired = Object.keys(component.requiredValidations).length ? !!requiredResults.success.length : false;\n const isValid = !validationResults.failed.length && !(validationErrors && validationErrors[component.props.name]);\n\n return {\n isRequired,\n isValid: isRequired ? false : isValid,\n error: (() => {\n if (isValid && !isRequired) {\n return this.emptyArray;\n }\n\n if (validationResults.errors.length) {\n return validationResults.errors;\n }\n\n if (validationErrors && validationErrors[component.props.name]) {\n return typeof validationErrors[component.props.name] === 'string'\n ? [validationErrors[component.props.name]]\n : validationErrors[component.props.name];\n }\n\n if (isRequired) {\n const error = component.props.validationErrors[requiredResults.success[0]] || component.props.validationError;\n return error ? [error] : null;\n }\n\n if (validationResults.failed.length) {\n return validationResults.failed\n .map(failed =>\n component.props.validationErrors[failed]\n ? component.props.validationErrors[failed]\n : component.props.validationError,\n )\n .filter((x, pos, arr) => arr.indexOf(x) === pos); // remove duplicates\n }\n\n return undefined;\n })(),\n };\n };\n\n // Method put on each input component to register\n // itself to the form\n public attachToForm = component => {\n if (this.inputs.indexOf(component) === -1) {\n this.inputs.push(component);\n }\n\n this.validate(component);\n };\n\n // Method put on each input component to unregister\n // itself from the form\n public detachFromForm = (component: InputComponent) => {\n const componentPos = this.inputs.indexOf(component);\n\n if (componentPos !== -1) {\n this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));\n }\n\n this.validateForm();\n };\n\n // Checks if the values have changed from their initial value\n public isChanged = () => !utils.isSame(this.getPristineValues(), this.getCurrentValues());\n\n // Update model, submit to url prop and send the model\n public submit = event => {\n const { onSubmit, onValidSubmit, onInvalidSubmit } = this.props;\n const { isValid } = this.state;\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n // Trigger form as not pristine.\n // If any inputs have not been touched yet this will make them dirty\n // so validation becomes visible (if based on isPristine)\n this.setFormPristine(false);\n const model = this.getModel();\n onSubmit(model, this.resetModel, this.updateInputsWithError);\n if (isValid) {\n onValidSubmit(model, this.resetModel, this.updateInputsWithError);\n } else {\n onInvalidSubmit(model, this.resetModel, this.updateInputsWithError);\n }\n };\n\n // Go through errors from server and grab the components\n // stored in the inputs map. Change their state to invalid\n // and set the serverError message\n public updateInputsWithError: IUpdateInputsWithError = (errors, invalidate) => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n Object.keys(errors).forEach(name => {\n const component = this.inputs.find(input => input.props.name === name);\n if (!component) {\n throw new Error(\n `You are trying to update an input that does not exist. Verify errors object with input names. ${JSON.stringify(\n errors,\n )}`,\n );\n }\n const args = [\n {\n isValid: preventExternalInvalidation,\n externalError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (invalidate && isValid) {\n this.setFormValidState(false);\n }\n };\n\n // Use the binded values and the actual input value to\n // validate the input and set its state. Then check the\n // state of the form itself\n public validate = (component: InputComponent) => {\n const { onChange } = this.props;\n const { canChange } = this.state;\n\n // Trigger onChange\n if (canChange) {\n onChange(this.getModel(), this.isChanged());\n }\n\n const validation = this.runValidation(component);\n // Run through the validations, split them up and call\n // the validator IF there is a value or it is required\n component.setState(\n {\n externalError: null,\n isRequired: validation.isRequired,\n isValid: validation.isValid,\n validationError: validation.error,\n },\n this.validateForm,\n );\n };\n\n // Validate the form by going through all child input components\n // and check their state\n public validateForm = () => {\n // We need a callback as we are validating all inputs again. This will\n // run when the last component has set its state\n const onValidationComplete = () => {\n const allIsValid = this.inputs.every(component => component.state.isValid);\n\n this.setFormValidState(allIsValid);\n\n // Tell the form that it can start to trigger change events\n this.setState({\n canChange: true,\n });\n };\n\n // Run validation again in case affected by other inputs. The\n // last component validated will run the onValidationComplete callback\n this.inputs.forEach((component, index) => {\n const validation = this.runValidation(component);\n if (validation.isValid && component.state.externalError) {\n validation.isValid = false;\n }\n component.setState(\n {\n isValid: validation.isValid,\n isRequired: validation.isRequired,\n validationError: validation.error,\n externalError: !validation.isValid && component.state.externalError ? component.state.externalError : null,\n },\n index === this.inputs.length - 1 ? onValidationComplete : null,\n );\n });\n\n // If there are no inputs, set state where form is ready to trigger\n // change event. New inputs might be added later\n if (!this.inputs.length) {\n this.setState({\n canChange: true,\n });\n }\n };\n\n public render = () => {\n const {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n getErrorMessage,\n getErrorMessages,\n getValue,\n hasValue,\n isFormDisabled,\n isFormSubmitted,\n isPristine,\n isRequired,\n isValid,\n isValidValue,\n mapping,\n onChange,\n onInvalid,\n onInvalidSubmit,\n onReset,\n onSubmit,\n onValid,\n onValidSubmit,\n preventExternalInvalidation,\n resetValue,\n setValidations,\n setValue,\n showError,\n showRequired,\n validationErrors,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...nonFormsyProps\n } = this.props;\n\n return React.createElement(\n 'form',\n {\n onReset: this.resetInternal,\n onSubmit: this.submit,\n ...nonFormsyProps,\n disabled: false,\n },\n // eslint-disable-next-line react/destructuring-assignment\n this.props.children,\n );\n };\n}\n\nconst addValidationRule = (name: string, func: ValidationFunction) => {\n validationRules[name] = func;\n};\n\nexport { addValidationRule, propTypes, validationRules, Wrapper as withFormsy };\n\nexport default Formsy;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","isArray","value","Array","isObject","isTypeUndefined","isDate","Date","isFunction","isString","isNumber","isValueStringEmpty","isValueNullOrUndefined","undefined","isValueUndefined","noop","cloneIfObject","isSame","a","b","length","every","item","index","toString","Object","keys","key","runRules","currentValues","validations","validationRules","results","errors","failed","success","forEach","validationMethod","validationsVal","validationRulesVal","Error","validation","push","isExisty","isEmpty","isDefaultRequiredValue","_values","matchRegexp","regexp","test","isUndefined","isEmptyString","isEmail","values","isUrl","isTrue","isFalse","isNumeric","isAlpha","isAlphanumeric","isInt","isFloat","isWords","isSpecialWords","isLength","equals","eql","equalsField","field","maxLength","minLength","convertValidationsToObject","split","reduce","validationsAccumulator","args","validateMethod","shift","map","arg","JSON","parse","e","validationsAccumulatorCopy","propTypes","innerRef","PropTypes","func","name","string","isRequired","required","oneOfType","bool","object","any","getDisplayName","component","displayName","WrappedComponent","props","requiredValidations","getErrorMessage","messages","getErrorMessages","state","externalError","validationError","isValid","showRequired","getValue","setValidations","setValue","validate","formsy","context","setState","isPristine","hasValue","isFormDisabled","isFormSubmitted","formSubmitted","isValidValue","call","resetValue","pristineValue","showError","attachToForm","nextProps","nextState","nextContext","formsyContext","isPropsChanged","some","k","isStateChanged","isFormsyContextChanged","prevProps","utils","detachFromForm","propsForElement","errorMessage","errorMessages","ref","React","createElement","Component","contextTypes","defaultProps","validationErrors","defaultValue","Formsy","inputs","emptyArray","prevInputNames","getChildContext","componentDidMount","validateForm","componentDidUpdate","setInputValidationErrors","newInputNames","getCurrentValues","valueAccumulator","getModel","mapModel","getPristineValues","setFormPristine","preventExternalInvalidation","setFormValidState","allIsValid","onValid","onInvalid","runValidation","disabled","model","mapping","formDataToObject","toObj","mappedModel","keyArray","base","currentKey","reset","data","resetModel","resetInternal","event","onReset","preventDefault","prototype","hasOwnProperty","input","find","validationResults","requiredResults","error","filter","x","pos","arr","indexOf","componentPos","slice","concat","isChanged","submit","onSubmit","onValidSubmit","onInvalidSubmit","updateInputsWithError","invalidate","stringify","onChange","canChange","onValidationComplete","render","nonFormsyProps","children","isSubmitting","childContextTypes","onError","addValidationRule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"formsy-react.cjs.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/form-data-to-object/index.js","../src/utils.ts","../src/validationRules.ts","../src/Wrapper.ts","../src/index.ts"],"sourcesContent":["/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function toObj(source) {\n return Object.keys(source).reduce(function (output, key) {\n var parentKey = key.match(/[^\\[]*/i);\n var paths = key.match(/\\[.*?\\]/g) || [];\n paths = [parentKey[0]].concat(paths).map(function (key) {\n return key.replace(/\\[|\\]/g, '');\n });\n var currentPath = output;\n while (paths.length) {\n var pathKey = paths.shift();\n\n if (pathKey in currentPath) {\n currentPath = currentPath[pathKey];\n } else {\n currentPath[pathKey] = paths.length ? isNaN(paths[0]) ? {} : [] : source[key];\n currentPath = currentPath[pathKey];\n }\n }\n\n return output;\n }, {});\n}\n\nfunction fromObj(obj) {\n function recur(newObj, propName, currVal) {\n if (Array.isArray(currVal) || Object.prototype.toString.call(currVal) === '[object Object]') {\n Object.keys(currVal).forEach(function(v) {\n recur(newObj, propName + \"[\" + v + \"]\", currVal[v]);\n });\n return newObj;\n }\n\n newObj[propName] = currVal;\n return newObj;\n }\n\n var keys = Object.keys(obj);\n return keys.reduce(function(newObj, propName) {\n return recur(newObj, propName, obj[propName]);\n }, {});\n}\n\nmodule.exports = {\n fromObj: fromObj,\n toObj: toObj\n}","import { Validations, Values } from './interfaces';\n\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n\nexport function isTypeUndefined(value: unknown): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isFunction(value: unknown): value is Function {\n return value !== null && typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function isValueStringEmpty(value: string): boolean {\n return value === '';\n}\n\nexport function isValueNullOrUndefined(value: unknown): boolean {\n return value === null || value === undefined;\n}\n\nexport function isValueUndefined(value: unknown): boolean {\n return value === undefined;\n}\n\nexport function noop() {\n // do nothing.\n}\n\nexport function cloneIfObject(value: unknown) {\n // Clone objects to avoid accidental param reassignment\n return isObject(value) ? { ...value } : value;\n}\n\nexport function isSame(a: unknown, b: unknown) {\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isSame(item, b[index]));\n }\n\n if (isFunction(a) && isFunction(b)) {\n return a.toString() === b.toString();\n }\n\n if (isDate(a) && isDate(b)) {\n return a.toString() === b.toString();\n }\n\n if (isObject(a) && isObject(b)) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n\n return Object.keys(a).every(key => isSame(a[key], b[key]));\n }\n\n return a === b;\n}\n\nexport function runRules(\n value: V,\n currentValues: Values,\n validations: Validations,\n validationRules: Validations,\n) {\n const results: {\n errors: string[];\n failed: string[];\n success: string[];\n } = {\n errors: [],\n failed: [],\n success: [],\n };\n\n if (Object.keys(validations).length) {\n Object.keys(validations).forEach(validationMethod => {\n const validationsVal = validations[validationMethod];\n const validationRulesVal = validationRules[validationMethod];\n\n if (validationRulesVal && isFunction(validationsVal)) {\n throw new Error(`Formsy does not allow you to override default validations: ${validationMethod}`);\n }\n\n if (!validationRulesVal && !isFunction(validationsVal)) {\n throw new Error(`Formsy does not have the validation rule: ${validationMethod}`);\n }\n\n if (isFunction(validationsVal)) {\n const validation = validationsVal(currentValues, value);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n }\n\n return;\n }\n\n if (!isFunction(validationsVal) && isFunction(validationRulesVal)) {\n const validation = validationRulesVal(currentValues, value, validationsVal);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n } else {\n results.success.push(validationMethod);\n }\n return;\n }\n\n results.success.push(validationMethod);\n });\n }\n\n return results;\n}\n","import { ValidationFunction, Values } from './interfaces';\nimport {\n isString,\n isValueStringEmpty,\n isTypeUndefined,\n isValueNullOrUndefined,\n isNumber,\n isValueUndefined,\n} from './utils';\n\nconst isExisty = (value: V) => !isValueNullOrUndefined(value);\nconst isEmpty = (value: V) => {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n if (isTypeUndefined(value)) {\n return false;\n }\n return isValueUndefined(value);\n};\n\ninterface Validations {\n [key: string]: ValidationFunction;\n}\n\nconst validations: Validations = {\n isDefaultRequiredValue(_values: Values, value: V) {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n return isValueNullOrUndefined(value);\n },\n isExisty(_values: Values, value: V) {\n return isExisty(value);\n },\n matchRegexp(_values: Values, value: string, regexp: RegExp) {\n return !isExisty(value) || isEmpty(value) || regexp.test(value);\n },\n isUndefined(_values: Values, value: V) {\n return isValueUndefined(value);\n },\n isEmptyString(_values: Values, value: string) {\n return isEmpty(value);\n },\n isEmail(values: Values, value: string) {\n // Regex from http://emailregex.com/\n return validations.matchRegexp(\n values,\n value,\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i,\n );\n },\n isUrl(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/i);\n },\n isTrue(_values: Values, value: boolean | string) {\n return value === true;\n },\n isFalse(_values: Values, value: boolean | string) {\n return value === false;\n },\n isNumeric(values: Values, value: V) {\n if (isNumber(value)) {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][+-]?(?:\\d+))?$/);\n },\n isWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals(_values: Values, value: V, eql: V) {\n return !isExisty(value) || isEmpty(value) || value === eql;\n },\n equalsField(values: Values, value: V, field: string) {\n return value === values[field];\n },\n maxLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || value.length <= length;\n },\n minLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n};\n\nexport default validations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as utils from './utils';\nimport { RequiredValidation, Validations, WrappedComponentClass } from './interfaces';\n\n/* eslint-disable react/default-props-match-prop-types */\n\nconst convertValidationsToObject = (validations: false | Validations): Validations => {\n if (typeof validations === 'string') {\n return validations.split(/,(?![^{[]*[}\\]])/g).reduce((validationsAccumulator, validation) => {\n let args = validation.split(':');\n const validateMethod = args.shift();\n\n if (typeof validateMethod !== 'string') {\n throw new Error('Formsy encountered unexpected problem parsing validation string');\n }\n\n args = args.map(arg => {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg; // It is a string if it can not parse it\n }\n });\n\n if (args.length > 1) {\n throw new Error(\n 'Formsy does not support multiple args on string validations. Use object format of validations instead.',\n );\n }\n\n // Avoid parameter reassignment\n const validationsAccumulatorCopy: Validations = { ...validationsAccumulator };\n validationsAccumulatorCopy[validateMethod] = args.length ? args[0] : true;\n return validationsAccumulatorCopy;\n }, {});\n }\n\n return validations || {};\n};\n\nconst propTypes = {\n innerRef: PropTypes.func,\n name: PropTypes.string.isRequired,\n required: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string]),\n validations: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n};\n\nexport interface WrapperProps {\n innerRef?: (ref: any) => void;\n name: string;\n required?: RequiredValidation;\n validationError?: any;\n validationErrors?: any;\n validations?: Validations;\n value?: V;\n}\n\nexport interface WrapperState {\n [key: string]: unknown;\n externalError: null;\n formSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n pristineValue: any;\n validationError: any[];\n value: V;\n}\n\nexport interface InjectedProps {\n errorMessage: any;\n errorMessages: any;\n hasValue: boolean;\n isFormDisabled: boolean;\n isFormSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n isValidValue: (value: V) => boolean;\n ref?: any;\n resetValue: any;\n setValidations: any;\n setValue: (value: V) => void;\n showError: boolean;\n showRequired: boolean;\n}\n\nexport type PassDownProps = WrapperProps & InjectedProps;\n\nexport { propTypes };\n\nfunction getDisplayName(component: WrappedComponentClass) {\n return (\n (component as { displayName?: string }).displayName ||\n component.name ||\n (typeof component === 'string' ? component : 'Component')\n );\n}\n\nexport default function(\n WrappedComponent: React.ComponentType>,\n): React.ComponentType, keyof InjectedProps>> {\n return class extends React.Component, WrapperState> {\n public validations?: Validations;\n\n public requiredValidations?: Validations;\n\n public static displayName = `Formsy(${getDisplayName(WrappedComponent)})`;\n\n public static propTypes: any = propTypes;\n\n public static contextTypes = {\n formsy: PropTypes.object, // What about required?\n };\n\n public static defaultProps: any = {\n innerRef: null,\n required: false,\n validationError: '',\n validationErrors: {},\n validations: null,\n value: (WrappedComponent as any).defaultValue,\n };\n\n public constructor(props) {\n super(props);\n this.state = {\n externalError: null,\n formSubmitted: false,\n isPristine: true,\n isRequired: false,\n isValid: true,\n pristineValue: props.value,\n validationError: [],\n value: props.value,\n };\n }\n\n public componentDidMount() {\n const { validations, required, name } = this.props;\n const { formsy } = this.context;\n\n if (!name) {\n throw new Error('Form Input requires a name property when used');\n }\n\n this.setValidations(validations, required);\n\n // Pass a function instead?\n formsy.attachToForm(this);\n }\n\n public shouldComponentUpdate(nextProps, nextState, nextContext) {\n const {\n props,\n state,\n context: { formsy: formsyContext },\n } = this;\n const isPropsChanged = Object.keys(props).some(k => props[k] !== nextProps[k]);\n\n const isStateChanged = Object.keys(state).some(k => state[k] !== nextState[k]);\n\n const isFormsyContextChanged = Object.keys(formsyContext).some(k => formsyContext[k] !== nextContext.formsy[k]);\n\n return isPropsChanged || isStateChanged || isFormsyContextChanged;\n }\n\n public componentDidUpdate(prevProps) {\n const { value, validations, required } = this.props;\n const { formsy } = this.context;\n\n // If the value passed has changed, set it. If value is not passed it will\n // internally update, and this will never run\n if (!utils.isSame(value, prevProps.value)) {\n this.setValue(value);\n }\n\n // If validations or required is changed, run a new validation\n if (!utils.isSame(validations, prevProps.validations) || !utils.isSame(required, prevProps.required)) {\n this.setValidations(validations, required);\n formsy.validate(this);\n }\n }\n\n // Detach it when component unmounts\n // eslint-disable-next-line react/sort-comp\n public componentWillUnmount() {\n const { formsy } = this.context;\n formsy.detachFromForm(this);\n }\n\n public getErrorMessage = () => {\n const messages = this.getErrorMessages();\n return messages.length ? messages[0] : null;\n };\n\n public getErrorMessages = () => {\n const { externalError, validationError } = this.state;\n\n if (!this.isValid() || this.showRequired()) {\n return externalError || validationError || [];\n }\n return [];\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public getValue = () => this.state.value;\n\n public setValidations = (validations: Validations, required: RequiredValidation) => {\n // Add validations to the store itself as the props object can not be modified\n this.validations = convertValidationsToObject(validations) || {};\n this.requiredValidations =\n required === true ? { isDefaultRequiredValue: required } : convertValidationsToObject(required);\n };\n\n // By default, we validate after the value has been set.\n // A user can override this and pass a second parameter of `false` to skip validation.\n public setValue = (value, validate = true) => {\n const { formsy } = this.context;\n\n if (!validate) {\n this.setState({\n value,\n });\n } else {\n this.setState(\n {\n value,\n isPristine: false,\n },\n () => {\n formsy.validate(this);\n },\n );\n }\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public hasValue = () => {\n const { value } = this.state;\n if (typeof value === 'string') {\n return value !== '';\n }\n return value !== undefined;\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.context.formsy.isFormDisabled;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormSubmitted = () => this.state.formSubmitted;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isPristine = () => this.state.isPristine;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isRequired = () => !!this.props.required;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValid = () => this.state.isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValidValue = value => this.context.formsy.isValidValue.call(null, this, value);\n\n public resetValue = () => {\n const { pristineValue } = this.state;\n const { formsy } = this.context;\n\n this.setState(\n {\n value: pristineValue,\n isPristine: true,\n },\n () => {\n formsy.validate(this);\n },\n );\n };\n\n public showError = () => !this.showRequired() && !this.isValid();\n\n // eslint-disable-next-line react/destructuring-assignment\n public showRequired = () => this.state.isRequired;\n\n public render() {\n const { innerRef } = this.props;\n const propsForElement: PassDownProps = {\n ...this.props,\n errorMessage: this.getErrorMessage(),\n errorMessages: this.getErrorMessages(),\n hasValue: this.hasValue(),\n isFormDisabled: this.isFormDisabled(),\n isFormSubmitted: this.isFormSubmitted(),\n isPristine: this.isPristine(),\n isRequired: this.isRequired(),\n isValid: this.isValid(),\n isValidValue: this.isValidValue,\n resetValue: this.resetValue,\n setValidations: this.setValidations,\n setValue: this.setValue,\n showError: this.showError(),\n showRequired: this.showRequired(),\n value: this.getValue(),\n };\n\n if (innerRef) {\n propsForElement.ref = innerRef;\n }\n\n return React.createElement(WrappedComponent, propsForElement as any);\n }\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport formDataToObject from 'form-data-to-object';\n\nimport * as utils from './utils';\nimport validationRules from './validationRules';\nimport Wrapper, { propTypes } from './Wrapper';\n\nimport {\n IData,\n IModel,\n InputComponent,\n IResetModel,\n IUpdateInputsWithValue,\n IUpdateInputsWithError,\n ValidationFunction,\n} from './interfaces';\n\ntype FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>;\n\n/* eslint-disable react/no-unused-state, react/default-props-match-prop-types */\nexport interface FormsyProps extends FormHTMLAttributesCleaned {\n disabled: boolean;\n getErrorMessage: any;\n getErrorMessages: any;\n getValue: any;\n hasValue: any;\n isFormDisabled: any;\n isFormSubmitted: any;\n isPristine: any;\n isRequired: any;\n isValid: any;\n isValidValue: any;\n mapping: null | ((model: IModel) => IModel);\n onChange: (model: IModel, isChanged: boolean) => void;\n onError: any;\n onInvalid: () => void;\n onInvalidSubmit: any;\n onReset?: () => void;\n onSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n onValid: () => void;\n onValidSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n preventExternalInvalidation?: boolean;\n resetValue: any;\n setValidations: any;\n setValue: any;\n showError: any;\n showRequired: any;\n validationErrors?: null | object;\n}\n\nexport interface FormsyState {\n canChange: boolean;\n formSubmitted?: boolean;\n isPristine?: boolean;\n isSubmitting: boolean;\n isValid: boolean;\n}\n\nclass Formsy extends React.Component {\n public inputs: any[];\n\n public emptyArray: any[];\n\n public prevInputNames: any[] | null = null;\n\n public static displayName = 'Formsy';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n getErrorMessage: PropTypes.func,\n getErrorMessages: PropTypes.func,\n getValue: PropTypes.func,\n hasValue: PropTypes.func,\n isFormDisabled: PropTypes.func,\n isFormSubmitted: PropTypes.func,\n isPristine: PropTypes.func,\n isRequired: PropTypes.func,\n isValid: PropTypes.func,\n isValidValue: PropTypes.func,\n mapping: PropTypes.func,\n onChange: PropTypes.func,\n onInvalid: PropTypes.func,\n onInvalidSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onValidSubmit: PropTypes.func,\n preventExternalInvalidation: PropTypes.bool,\n resetValue: PropTypes.func,\n setValidations: PropTypes.func,\n setValue: PropTypes.func,\n showError: PropTypes.func,\n showRequired: PropTypes.func,\n validationErrors: PropTypes.object, // eslint-disable-line\n };\n\n public static childContextTypes = {\n formsy: PropTypes.object,\n };\n\n public static defaultProps: Partial = {\n disabled: false,\n getErrorMessage: utils.noop,\n getErrorMessages: utils.noop,\n getValue: utils.noop,\n hasValue: utils.noop,\n isFormDisabled: utils.noop,\n isFormSubmitted: utils.noop,\n isPristine: utils.noop,\n isRequired: utils.noop,\n isValid: utils.noop,\n isValidValue: utils.noop,\n mapping: null,\n onChange: utils.noop,\n onError: utils.noop,\n onInvalid: utils.noop,\n onInvalidSubmit: utils.noop,\n onReset: utils.noop,\n onSubmit: utils.noop,\n onValid: utils.noop,\n onValidSubmit: utils.noop,\n preventExternalInvalidation: false,\n resetValue: utils.noop,\n setValidations: utils.noop,\n setValue: utils.noop,\n showError: utils.noop,\n showRequired: utils.noop,\n validationErrors: null,\n };\n\n public constructor(props: FormsyProps) {\n super(props);\n this.state = {\n canChange: false,\n isSubmitting: false,\n isValid: true,\n };\n this.inputs = [];\n this.emptyArray = [];\n }\n\n public getChildContext = () => ({\n formsy: {\n attachToForm: this.attachToForm,\n detachFromForm: this.detachFromForm,\n isFormDisabled: this.isFormDisabled(),\n isValidValue: this.isValidValue,\n validate: this.validate,\n },\n });\n\n public componentDidMount = () => {\n this.prevInputNames = this.inputs.map(component => component.props.name);\n this.validateForm();\n };\n\n public componentDidUpdate = () => {\n const { validationErrors } = this.props;\n\n if (validationErrors && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n this.setInputValidationErrors(validationErrors);\n }\n\n const newInputNames = this.inputs.map(component => component.props.name);\n if (this.prevInputNames && !utils.isSame(this.prevInputNames, newInputNames)) {\n this.prevInputNames = newInputNames;\n this.validateForm();\n }\n };\n\n public getCurrentValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name },\n state: { value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public getModel = () => {\n const currentValues = this.getCurrentValues();\n return this.mapModel(currentValues);\n };\n\n public getPristineValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name, value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public setFormPristine = (isPristine: boolean) => {\n this.setState({\n formSubmitted: !isPristine,\n });\n\n // Iterate through each component and set it as pristine\n // or \"dirty\".\n this.inputs.forEach(component => {\n component.setState({\n formSubmitted: !isPristine,\n isPristine,\n });\n });\n };\n\n public setInputValidationErrors = errors => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n this.inputs.forEach(component => {\n const { name } = component.props;\n const args = [\n {\n isValid: !(name in errors),\n validationError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (!preventExternalInvalidation && isValid) {\n this.setFormValidState(false);\n }\n };\n\n public setFormValidState = (allIsValid: boolean) => {\n const { onValid, onInvalid } = this.props;\n\n this.setState({\n isValid: allIsValid,\n });\n\n if (allIsValid) {\n onValid();\n } else {\n onInvalid();\n }\n };\n\n public isValidValue = (component, value) => this.runValidation(component, value).isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.props.disabled;\n\n public mapModel = (model: IModel) => {\n const { mapping } = this.props;\n\n if (mapping) {\n return mapping(model);\n }\n\n return formDataToObject.toObj(\n Object.keys(model).reduce((mappedModel, key) => {\n const keyArray = key.split('.');\n let base: IModel = mappedModel;\n while (keyArray.length) {\n const currentKey = keyArray.shift() as string;\n base[currentKey] = keyArray.length ? base[currentKey] || {} : model[key];\n base = base[currentKey];\n }\n return mappedModel;\n }, {}),\n );\n };\n\n public reset = (data?: IData) => {\n this.setFormPristine(true);\n this.resetModel(data);\n };\n\n public resetInternal = event => {\n const { onReset } = this.props;\n\n event.preventDefault();\n this.reset();\n if (onReset) {\n onReset();\n }\n };\n\n // Reset each key in the model to the original / initial / specified value\n public resetModel: IResetModel = data => {\n this.inputs.forEach(component => {\n const { name } = component.props;\n if (data && Object.prototype.hasOwnProperty.call(data, name)) {\n component.setValue(data[name]);\n } else {\n component.resetValue();\n }\n });\n this.validateForm();\n };\n\n // Checks validation on current value or a passed value\n public runValidation = (component: InputComponent, value = component.state.value) => {\n const { validationErrors } = this.props;\n const currentValues = this.getCurrentValues();\n const validationResults = utils.runRules(value, currentValues, component.validations, validationRules);\n const requiredResults = utils.runRules(value, currentValues, component.requiredValidations, validationRules);\n const isRequired = Object.keys(component.requiredValidations).length ? !!requiredResults.success.length : false;\n const isValid = !validationResults.failed.length && !(validationErrors && validationErrors[component.props.name]);\n\n return {\n isRequired,\n isValid: isRequired ? false : isValid,\n error: (() => {\n if (isValid && !isRequired) {\n return this.emptyArray;\n }\n\n if (validationResults.errors.length) {\n return validationResults.errors;\n }\n\n if (validationErrors && validationErrors[component.props.name]) {\n return typeof validationErrors[component.props.name] === 'string'\n ? [validationErrors[component.props.name]]\n : validationErrors[component.props.name];\n }\n\n if (isRequired) {\n const error = component.props.validationErrors[requiredResults.success[0]] || component.props.validationError;\n return error ? [error] : null;\n }\n\n if (validationResults.failed.length) {\n return validationResults.failed\n .map(failed =>\n component.props.validationErrors[failed]\n ? component.props.validationErrors[failed]\n : component.props.validationError,\n )\n .filter((x, pos, arr) => arr.indexOf(x) === pos); // remove duplicates\n }\n\n return undefined;\n })(),\n };\n };\n\n // Method put on each input component to register\n // itself to the form\n public attachToForm = component => {\n if (this.inputs.indexOf(component) === -1) {\n this.inputs.push(component);\n }\n\n this.validate(component);\n };\n\n // Method put on each input component to unregister\n // itself from the form\n public detachFromForm = (component: InputComponent) => {\n const componentPos = this.inputs.indexOf(component);\n\n if (componentPos !== -1) {\n this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));\n }\n\n this.validateForm();\n };\n\n // Checks if the values have changed from their initial value\n public isChanged = () => !utils.isSame(this.getPristineValues(), this.getCurrentValues());\n\n // Update model, submit to url prop and send the model\n public submit = event => {\n const { onSubmit, onValidSubmit, onInvalidSubmit } = this.props;\n const { isValid } = this.state;\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n // Trigger form as not pristine.\n // If any inputs have not been touched yet this will make them dirty\n // so validation becomes visible (if based on isPristine)\n this.setFormPristine(false);\n const model = this.getModel();\n onSubmit(model, this.resetModel, this.updateInputsWithError);\n if (isValid) {\n onValidSubmit(model, this.resetModel, this.updateInputsWithError);\n } else {\n onInvalidSubmit(model, this.resetModel, this.updateInputsWithError);\n }\n };\n\n // Go through errors from server and grab the components\n // stored in the inputs map. Change their state to invalid\n // and set the serverError message\n public updateInputsWithError: IUpdateInputsWithError = (errors, invalidate) => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n Object.entries(errors).forEach(([name, error]) => {\n const component = this.inputs.find(input => input.props.name === name);\n if (!component) {\n throw new Error(\n `You are trying to update an input that does not exist. Verify errors object with input names. ${JSON.stringify(\n errors,\n )}`,\n );\n }\n const args = [\n {\n isValid: preventExternalInvalidation,\n externalError: utils.isString(error) ? [error] : error,\n },\n ];\n component.setState(...args);\n });\n if (invalidate && isValid) {\n this.setFormValidState(false);\n }\n };\n\n // Set the value of components\n public updateInputsWithValue: IUpdateInputsWithValue = (values, validate) => {\n Object.entries(values).forEach(([name, value]) => {\n const input = this.inputs.find(component => component.props.name === name);\n\n if (input) {\n input.setValue(value, validate);\n }\n });\n };\n\n // Use the binded values and the actual input value to\n // validate the input and set its state. Then check the\n // state of the form itself\n public validate = (component: InputComponent) => {\n const { onChange } = this.props;\n const { canChange } = this.state;\n\n // Trigger onChange\n if (canChange) {\n onChange(this.getModel(), this.isChanged());\n }\n\n const validation = this.runValidation(component);\n // Run through the validations, split them up and call\n // the validator IF there is a value or it is required\n component.setState(\n {\n externalError: null,\n isRequired: validation.isRequired,\n isValid: validation.isValid,\n validationError: validation.error,\n },\n this.validateForm,\n );\n };\n\n // Validate the form by going through all child input components\n // and check their state\n public validateForm = () => {\n // We need a callback as we are validating all inputs again. This will\n // run when the last component has set its state\n const onValidationComplete = () => {\n const allIsValid = this.inputs.every(component => component.state.isValid);\n\n this.setFormValidState(allIsValid);\n\n // Tell the form that it can start to trigger change events\n this.setState({\n canChange: true,\n });\n };\n\n // Run validation again in case affected by other inputs. The\n // last component validated will run the onValidationComplete callback\n this.inputs.forEach((component, index) => {\n const validation = this.runValidation(component);\n if (validation.isValid && component.state.externalError) {\n validation.isValid = false;\n }\n component.setState(\n {\n isValid: validation.isValid,\n isRequired: validation.isRequired,\n validationError: validation.error,\n externalError: !validation.isValid && component.state.externalError ? component.state.externalError : null,\n },\n index === this.inputs.length - 1 ? onValidationComplete : null,\n );\n });\n\n // If there are no inputs, set state where form is ready to trigger\n // change event. New inputs might be added later\n if (!this.inputs.length) {\n this.setState({\n canChange: true,\n });\n }\n };\n\n public render = () => {\n const {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n getErrorMessage,\n getErrorMessages,\n getValue,\n hasValue,\n isFormDisabled,\n isFormSubmitted,\n isPristine,\n isRequired,\n isValid,\n isValidValue,\n mapping,\n onChange,\n onInvalid,\n onInvalidSubmit,\n onReset,\n onSubmit,\n onValid,\n onValidSubmit,\n preventExternalInvalidation,\n resetValue,\n setValidations,\n setValue,\n showError,\n showRequired,\n validationErrors,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...nonFormsyProps\n } = this.props;\n\n return React.createElement(\n 'form',\n {\n onReset: this.resetInternal,\n onSubmit: this.submit,\n ...nonFormsyProps,\n disabled: false,\n },\n // eslint-disable-next-line react/destructuring-assignment\n this.props.children,\n );\n };\n}\n\nconst addValidationRule = (name: string, func: ValidationFunction) => {\n validationRules[name] = func;\n};\n\nexport { addValidationRule, propTypes, validationRules, Wrapper as withFormsy };\n\nexport default Formsy;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","isArray","value","Array","isObject","isTypeUndefined","isDate","Date","isFunction","isString","isNumber","isValueStringEmpty","isValueNullOrUndefined","undefined","isValueUndefined","noop","cloneIfObject","isSame","a","b","length","every","item","index","toString","Object","keys","key","runRules","currentValues","validations","validationRules","results","errors","failed","success","forEach","validationMethod","validationsVal","validationRulesVal","Error","validation","push","isExisty","isEmpty","isDefaultRequiredValue","_values","matchRegexp","regexp","test","isUndefined","isEmptyString","isEmail","values","isUrl","isTrue","isFalse","isNumeric","isAlpha","isAlphanumeric","isInt","isFloat","isWords","isSpecialWords","isLength","equals","eql","equalsField","field","maxLength","minLength","convertValidationsToObject","split","reduce","validationsAccumulator","args","validateMethod","shift","map","arg","JSON","parse","e","validationsAccumulatorCopy","propTypes","innerRef","PropTypes","func","name","string","isRequired","required","oneOfType","bool","object","any","getDisplayName","component","displayName","WrappedComponent","props","requiredValidations","getErrorMessage","messages","getErrorMessages","state","externalError","validationError","isValid","showRequired","getValue","setValidations","setValue","validate","formsy","context","setState","isPristine","hasValue","isFormDisabled","isFormSubmitted","formSubmitted","isValidValue","call","resetValue","pristineValue","showError","attachToForm","nextProps","nextState","nextContext","formsyContext","isPropsChanged","some","k","isStateChanged","isFormsyContextChanged","prevProps","utils","detachFromForm","propsForElement","errorMessage","errorMessages","ref","React","createElement","Component","contextTypes","defaultProps","validationErrors","defaultValue","Formsy","inputs","emptyArray","prevInputNames","getChildContext","componentDidMount","validateForm","componentDidUpdate","setInputValidationErrors","newInputNames","getCurrentValues","valueAccumulator","getModel","mapModel","getPristineValues","setFormPristine","preventExternalInvalidation","setFormValidState","allIsValid","onValid","onInvalid","runValidation","disabled","model","mapping","formDataToObject","toObj","mappedModel","keyArray","base","currentKey","reset","data","resetModel","resetInternal","event","onReset","preventDefault","prototype","hasOwnProperty","validationResults","requiredResults","error","filter","x","pos","arr","indexOf","componentPos","slice","concat","isChanged","submit","onSubmit","onValidSubmit","onInvalidSubmit","updateInputsWithError","invalidate","entries","find","input","stringify","updateInputsWithValue","onChange","canChange","onValidationComplete","render","nonFormsyProps","children","isSubmitting","childContextTypes","onError","addValidationRule"],"mappings":"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"} \ No newline at end of file diff --git a/dist/formsy-react.esm.js b/dist/formsy-react.esm.js index c14c04db..1deece3d 100644 --- a/dist/formsy-react.esm.js +++ b/dist/formsy-react.esm.js @@ -168,6 +168,48 @@ function _possibleConstructorReturn(self, call) { return _assertThisInitialized(self); } +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArrayLimit(arr, i) { + if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { + return; + } + + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } @@ -2066,16 +2108,6 @@ function (_React$Component) { _this.validateForm(); }; - _this.setValue = function (name, value, validate) { - var input = _this.inputs.find(function (component) { - return component.props.name === name; - }); - - if (input) { - input.setValue(value, validate); - } - }; - _this.runValidation = function (component) { var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : component.state.value; var validationErrors = _this.props.validationErrors; @@ -2172,7 +2204,11 @@ function (_React$Component) { _this.updateInputsWithError = function (errors, invalidate) { var preventExternalInvalidation = _this.props.preventExternalInvalidation; var isValid = _this.state.isValid; - Object.keys(errors).forEach(function (name) { + Object.entries(errors).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + name = _ref2[0], + error = _ref2[1]; + var component = _this.inputs.find(function (input) { return input.props.name === name; }); @@ -2183,7 +2219,7 @@ function (_React$Component) { var args = [{ isValid: preventExternalInvalidation, - externalError: typeof errors[name] === 'string' ? [errors[name]] : errors[name] + externalError: isString(error) ? [error] : error }]; component.setState.apply(component, args); }); @@ -2193,6 +2229,22 @@ function (_React$Component) { } }; + _this.updateInputsWithValue = function (values, validate) { + Object.entries(values).forEach(function (_ref3) { + var _ref4 = _slicedToArray(_ref3, 2), + name = _ref4[0], + value = _ref4[1]; + + var input = _this.inputs.find(function (component) { + return component.props.name === name; + }); + + if (input) { + input.setValue(value, validate); + } + }); + }; + _this.validate = function (component) { var onChange = _this.props.onChange; var canChange = _this.state.canChange; // Trigger onChange diff --git a/dist/formsy-react.esm.js.map b/dist/formsy-react.esm.js.map index d1b5a6cd..cd08aa49 100644 --- a/dist/formsy-react.esm.js.map +++ b/dist/formsy-react.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"formsy-react.esm.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/form-data-to-object/index.js","../src/utils.ts","../src/validationRules.ts","../src/Wrapper.ts","../src/index.ts"],"sourcesContent":["/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function toObj(source) {\n return Object.keys(source).reduce(function (output, key) {\n var parentKey = key.match(/[^\\[]*/i);\n var paths = key.match(/\\[.*?\\]/g) || [];\n paths = [parentKey[0]].concat(paths).map(function (key) {\n return key.replace(/\\[|\\]/g, '');\n });\n var currentPath = output;\n while (paths.length) {\n var pathKey = paths.shift();\n\n if (pathKey in currentPath) {\n currentPath = currentPath[pathKey];\n } else {\n currentPath[pathKey] = paths.length ? isNaN(paths[0]) ? {} : [] : source[key];\n currentPath = currentPath[pathKey];\n }\n }\n\n return output;\n }, {});\n}\n\nfunction fromObj(obj) {\n function recur(newObj, propName, currVal) {\n if (Array.isArray(currVal) || Object.prototype.toString.call(currVal) === '[object Object]') {\n Object.keys(currVal).forEach(function(v) {\n recur(newObj, propName + \"[\" + v + \"]\", currVal[v]);\n });\n return newObj;\n }\n\n newObj[propName] = currVal;\n return newObj;\n }\n\n var keys = Object.keys(obj);\n return keys.reduce(function(newObj, propName) {\n return recur(newObj, propName, obj[propName]);\n }, {});\n}\n\nmodule.exports = {\n fromObj: fromObj,\n toObj: toObj\n}","import { Validations, Values } from './interfaces';\n\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n\nexport function isTypeUndefined(value: unknown): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isFunction(value: unknown): value is Function {\n return value !== null && typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function isValueStringEmpty(value: string): boolean {\n return value === '';\n}\n\nexport function isValueNullOrUndefined(value: unknown): boolean {\n return value === null || value === undefined;\n}\n\nexport function isValueUndefined(value: unknown): boolean {\n return value === undefined;\n}\n\nexport function noop() {\n // do nothing.\n}\n\nexport function cloneIfObject(value: unknown) {\n // Clone objects to avoid accidental param reassignment\n return isObject(value) ? { ...value } : value;\n}\n\nexport function isSame(a: unknown, b: unknown) {\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isSame(item, b[index]));\n }\n\n if (isFunction(a) && isFunction(b)) {\n return a.toString() === b.toString();\n }\n\n if (isDate(a) && isDate(b)) {\n return a.toString() === b.toString();\n }\n\n if (isObject(a) && isObject(b)) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n\n return Object.keys(a).every(key => isSame(a[key], b[key]));\n }\n\n return a === b;\n}\n\nexport function runRules(\n value: V,\n currentValues: Values,\n validations: Validations,\n validationRules: Validations,\n) {\n const results: {\n errors: string[];\n failed: string[];\n success: string[];\n } = {\n errors: [],\n failed: [],\n success: [],\n };\n\n if (Object.keys(validations).length) {\n Object.keys(validations).forEach(validationMethod => {\n const validationsVal = validations[validationMethod];\n const validationRulesVal = validationRules[validationMethod];\n\n if (validationRulesVal && isFunction(validationsVal)) {\n throw new Error(`Formsy does not allow you to override default validations: ${validationMethod}`);\n }\n\n if (!validationRulesVal && !isFunction(validationsVal)) {\n throw new Error(`Formsy does not have the validation rule: ${validationMethod}`);\n }\n\n if (isFunction(validationsVal)) {\n const validation = validationsVal(currentValues, value);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n }\n\n return;\n }\n\n if (!isFunction(validationsVal) && isFunction(validationRulesVal)) {\n const validation = validationRulesVal(currentValues, value, validationsVal);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n } else {\n results.success.push(validationMethod);\n }\n return;\n }\n\n results.success.push(validationMethod);\n });\n }\n\n return results;\n}\n","import { ValidationFunction, Values } from './interfaces';\nimport {\n isString,\n isValueStringEmpty,\n isTypeUndefined,\n isValueNullOrUndefined,\n isNumber,\n isValueUndefined,\n} from './utils';\n\nconst isExisty = (value: V) => !isValueNullOrUndefined(value);\nconst isEmpty = (value: V) => {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n if (isTypeUndefined(value)) {\n return false;\n }\n return isValueUndefined(value);\n};\n\ninterface Validations {\n [key: string]: ValidationFunction;\n}\n\nconst validations: Validations = {\n isDefaultRequiredValue(_values: Values, value: V) {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n return isValueNullOrUndefined(value);\n },\n isExisty(_values: Values, value: V) {\n return isExisty(value);\n },\n matchRegexp(_values: Values, value: string, regexp: RegExp) {\n return !isExisty(value) || isEmpty(value) || regexp.test(value);\n },\n isUndefined(_values: Values, value: V) {\n return isValueUndefined(value);\n },\n isEmptyString(_values: Values, value: string) {\n return isEmpty(value);\n },\n isEmail(values: Values, value: string) {\n // Regex from http://emailregex.com/\n return validations.matchRegexp(\n values,\n value,\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i,\n );\n },\n isUrl(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/i);\n },\n isTrue(_values: Values, value: boolean | string) {\n return value === true;\n },\n isFalse(_values: Values, value: boolean | string) {\n return value === false;\n },\n isNumeric(values: Values, value: V) {\n if (isNumber(value)) {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][+-]?(?:\\d+))?$/);\n },\n isWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals(_values: Values, value: V, eql: V) {\n return !isExisty(value) || isEmpty(value) || value === eql;\n },\n equalsField(values: Values, value: V, field: string) {\n return value === values[field];\n },\n maxLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || value.length <= length;\n },\n minLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n};\n\nexport default validations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as utils from './utils';\nimport { RequiredValidation, Validations, WrappedComponentClass } from './interfaces';\n\n/* eslint-disable react/default-props-match-prop-types */\n\nconst convertValidationsToObject = (validations: false | Validations): Validations => {\n if (typeof validations === 'string') {\n return validations.split(/,(?![^{[]*[}\\]])/g).reduce((validationsAccumulator, validation) => {\n let args = validation.split(':');\n const validateMethod = args.shift();\n\n if (typeof validateMethod !== 'string') {\n throw new Error('Formsy encountered unexpected problem parsing validation string');\n }\n\n args = args.map(arg => {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg; // It is a string if it can not parse it\n }\n });\n\n if (args.length > 1) {\n throw new Error(\n 'Formsy does not support multiple args on string validations. Use object format of validations instead.',\n );\n }\n\n // Avoid parameter reassignment\n const validationsAccumulatorCopy: Validations = { ...validationsAccumulator };\n validationsAccumulatorCopy[validateMethod] = args.length ? args[0] : true;\n return validationsAccumulatorCopy;\n }, {});\n }\n\n return validations || {};\n};\n\nconst propTypes = {\n innerRef: PropTypes.func,\n name: PropTypes.string.isRequired,\n required: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string]),\n validations: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n};\n\nexport interface WrapperProps {\n innerRef?: (ref: any) => void;\n name: string;\n required?: RequiredValidation;\n validationError?: any;\n validationErrors?: any;\n validations?: Validations;\n value?: V;\n}\n\nexport interface WrapperState {\n [key: string]: unknown;\n externalError: null;\n formSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n pristineValue: any;\n validationError: any[];\n value: V;\n}\n\nexport interface InjectedProps {\n errorMessage: any;\n errorMessages: any;\n hasValue: boolean;\n isFormDisabled: boolean;\n isFormSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n isValidValue: (value: V) => boolean;\n ref?: any;\n resetValue: any;\n setValidations: any;\n setValue: (value: V) => void;\n showError: boolean;\n showRequired: boolean;\n}\n\nexport type PassDownProps = WrapperProps & InjectedProps;\n\nexport { propTypes };\n\nfunction getDisplayName(component: WrappedComponentClass) {\n return (\n (component as { displayName?: string }).displayName ||\n component.name ||\n (typeof component === 'string' ? component : 'Component')\n );\n}\n\nexport default function(\n WrappedComponent: React.ComponentType>,\n): React.ComponentType, keyof InjectedProps>> {\n return class extends React.Component, WrapperState> {\n public validations?: Validations;\n\n public requiredValidations?: Validations;\n\n public static displayName = `Formsy(${getDisplayName(WrappedComponent)})`;\n\n public static propTypes: any = propTypes;\n\n public static contextTypes = {\n formsy: PropTypes.object, // What about required?\n };\n\n public static defaultProps: any = {\n innerRef: null,\n required: false,\n validationError: '',\n validationErrors: {},\n validations: null,\n value: (WrappedComponent as any).defaultValue,\n };\n\n public constructor(props) {\n super(props);\n this.state = {\n externalError: null,\n formSubmitted: false,\n isPristine: true,\n isRequired: false,\n isValid: true,\n pristineValue: props.value,\n validationError: [],\n value: props.value,\n };\n }\n\n public componentDidMount() {\n const { validations, required, name } = this.props;\n const { formsy } = this.context;\n\n if (!name) {\n throw new Error('Form Input requires a name property when used');\n }\n\n this.setValidations(validations, required);\n\n // Pass a function instead?\n formsy.attachToForm(this);\n }\n\n public shouldComponentUpdate(nextProps, nextState, nextContext) {\n const {\n props,\n state,\n context: { formsy: formsyContext },\n } = this;\n const isPropsChanged = Object.keys(props).some(k => props[k] !== nextProps[k]);\n\n const isStateChanged = Object.keys(state).some(k => state[k] !== nextState[k]);\n\n const isFormsyContextChanged = Object.keys(formsyContext).some(k => formsyContext[k] !== nextContext.formsy[k]);\n\n return isPropsChanged || isStateChanged || isFormsyContextChanged;\n }\n\n public componentDidUpdate(prevProps) {\n const { value, validations, required } = this.props;\n const { formsy } = this.context;\n\n // If the value passed has changed, set it. If value is not passed it will\n // internally update, and this will never run\n if (!utils.isSame(value, prevProps.value)) {\n this.setValue(value);\n }\n\n // If validations or required is changed, run a new validation\n if (!utils.isSame(validations, prevProps.validations) || !utils.isSame(required, prevProps.required)) {\n this.setValidations(validations, required);\n formsy.validate(this);\n }\n }\n\n // Detach it when component unmounts\n // eslint-disable-next-line react/sort-comp\n public componentWillUnmount() {\n const { formsy } = this.context;\n formsy.detachFromForm(this);\n }\n\n public getErrorMessage = () => {\n const messages = this.getErrorMessages();\n return messages.length ? messages[0] : null;\n };\n\n public getErrorMessages = () => {\n const { externalError, validationError } = this.state;\n\n if (!this.isValid() || this.showRequired()) {\n return externalError || validationError || [];\n }\n return [];\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public getValue = () => this.state.value;\n\n public setValidations = (validations: Validations, required: RequiredValidation) => {\n // Add validations to the store itself as the props object can not be modified\n this.validations = convertValidationsToObject(validations) || {};\n this.requiredValidations =\n required === true ? { isDefaultRequiredValue: required } : convertValidationsToObject(required);\n };\n\n // By default, we validate after the value has been set.\n // A user can override this and pass a second parameter of `false` to skip validation.\n public setValue = (value, validate = true) => {\n const { formsy } = this.context;\n\n if (!validate) {\n this.setState({\n value,\n });\n } else {\n this.setState(\n {\n value,\n isPristine: false,\n },\n () => {\n formsy.validate(this);\n },\n );\n }\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public hasValue = () => {\n const { value } = this.state;\n if (typeof value === 'string') {\n return value !== '';\n }\n return value !== undefined;\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.context.formsy.isFormDisabled;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormSubmitted = () => this.state.formSubmitted;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isPristine = () => this.state.isPristine;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isRequired = () => !!this.props.required;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValid = () => this.state.isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValidValue = value => this.context.formsy.isValidValue.call(null, this, value);\n\n public resetValue = () => {\n const { pristineValue } = this.state;\n const { formsy } = this.context;\n\n this.setState(\n {\n value: pristineValue,\n isPristine: true,\n },\n () => {\n formsy.validate(this);\n },\n );\n };\n\n public showError = () => !this.showRequired() && !this.isValid();\n\n // eslint-disable-next-line react/destructuring-assignment\n public showRequired = () => this.state.isRequired;\n\n public render() {\n const { innerRef } = this.props;\n const propsForElement: PassDownProps = {\n ...this.props,\n errorMessage: this.getErrorMessage(),\n errorMessages: this.getErrorMessages(),\n hasValue: this.hasValue(),\n isFormDisabled: this.isFormDisabled(),\n isFormSubmitted: this.isFormSubmitted(),\n isPristine: this.isPristine(),\n isRequired: this.isRequired(),\n isValid: this.isValid(),\n isValidValue: this.isValidValue,\n resetValue: this.resetValue,\n setValidations: this.setValidations,\n setValue: this.setValue,\n showError: this.showError(),\n showRequired: this.showRequired(),\n value: this.getValue(),\n };\n\n if (innerRef) {\n propsForElement.ref = innerRef;\n }\n\n return React.createElement(WrappedComponent, propsForElement as any);\n }\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport formDataToObject from 'form-data-to-object';\n\nimport * as utils from './utils';\nimport validationRules from './validationRules';\nimport Wrapper, { propTypes } from './Wrapper';\n\nimport {\n IData,\n IModel,\n InputComponent,\n IResetModel,\n ISetInputValue,\n IUpdateInputsWithError,\n ValidationFunction,\n} from './interfaces';\n\ntype FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>;\n\n/* eslint-disable react/no-unused-state, react/default-props-match-prop-types */\nexport interface FormsyProps extends FormHTMLAttributesCleaned {\n disabled: boolean;\n getErrorMessage: any;\n getErrorMessages: any;\n getValue: any;\n hasValue: any;\n isFormDisabled: any;\n isFormSubmitted: any;\n isPristine: any;\n isRequired: any;\n isValid: any;\n isValidValue: any;\n mapping: null | ((model: IModel) => IModel);\n onChange: (model: IModel, isChanged: boolean) => void;\n onError: any;\n onInvalid: () => void;\n onInvalidSubmit: any;\n onReset?: () => void;\n onSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n onValid: () => void;\n onValidSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n preventExternalInvalidation?: boolean;\n resetValue: any;\n setValidations: any;\n setValue: any;\n showError: any;\n showRequired: any;\n validationErrors?: null | object;\n}\n\nexport interface FormsyState {\n canChange: boolean;\n formSubmitted?: boolean;\n isPristine?: boolean;\n isSubmitting: boolean;\n isValid: boolean;\n}\n\nclass Formsy extends React.Component {\n public inputs: any[];\n\n public emptyArray: any[];\n\n public prevInputNames: any[] | null = null;\n\n public static displayName = 'Formsy';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n getErrorMessage: PropTypes.func,\n getErrorMessages: PropTypes.func,\n getValue: PropTypes.func,\n hasValue: PropTypes.func,\n isFormDisabled: PropTypes.func,\n isFormSubmitted: PropTypes.func,\n isPristine: PropTypes.func,\n isRequired: PropTypes.func,\n isValid: PropTypes.func,\n isValidValue: PropTypes.func,\n mapping: PropTypes.func,\n onChange: PropTypes.func,\n onInvalid: PropTypes.func,\n onInvalidSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onValidSubmit: PropTypes.func,\n preventExternalInvalidation: PropTypes.bool,\n resetValue: PropTypes.func,\n setValidations: PropTypes.func,\n setValue: PropTypes.func,\n showError: PropTypes.func,\n showRequired: PropTypes.func,\n validationErrors: PropTypes.object, // eslint-disable-line\n };\n\n public static childContextTypes = {\n formsy: PropTypes.object,\n };\n\n public static defaultProps: Partial = {\n disabled: false,\n getErrorMessage: utils.noop,\n getErrorMessages: utils.noop,\n getValue: utils.noop,\n hasValue: utils.noop,\n isFormDisabled: utils.noop,\n isFormSubmitted: utils.noop,\n isPristine: utils.noop,\n isRequired: utils.noop,\n isValid: utils.noop,\n isValidValue: utils.noop,\n mapping: null,\n onChange: utils.noop,\n onError: utils.noop,\n onInvalid: utils.noop,\n onInvalidSubmit: utils.noop,\n onReset: utils.noop,\n onSubmit: utils.noop,\n onValid: utils.noop,\n onValidSubmit: utils.noop,\n preventExternalInvalidation: false,\n resetValue: utils.noop,\n setValidations: utils.noop,\n setValue: utils.noop,\n showError: utils.noop,\n showRequired: utils.noop,\n validationErrors: null,\n };\n\n public constructor(props: FormsyProps) {\n super(props);\n this.state = {\n canChange: false,\n isSubmitting: false,\n isValid: true,\n };\n this.inputs = [];\n this.emptyArray = [];\n }\n\n public getChildContext = () => ({\n formsy: {\n attachToForm: this.attachToForm,\n detachFromForm: this.detachFromForm,\n isFormDisabled: this.isFormDisabled(),\n isValidValue: this.isValidValue,\n validate: this.validate,\n },\n });\n\n public componentDidMount = () => {\n this.prevInputNames = this.inputs.map(component => component.props.name);\n this.validateForm();\n };\n\n public componentDidUpdate = () => {\n const { validationErrors } = this.props;\n\n if (validationErrors && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n this.setInputValidationErrors(validationErrors);\n }\n\n const newInputNames = this.inputs.map(component => component.props.name);\n if (this.prevInputNames && !utils.isSame(this.prevInputNames, newInputNames)) {\n this.prevInputNames = newInputNames;\n this.validateForm();\n }\n };\n\n public getCurrentValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name },\n state: { value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public getModel = () => {\n const currentValues = this.getCurrentValues();\n return this.mapModel(currentValues);\n };\n\n public getPristineValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name, value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public setFormPristine = (isPristine: boolean) => {\n this.setState({\n formSubmitted: !isPristine,\n });\n\n // Iterate through each component and set it as pristine\n // or \"dirty\".\n this.inputs.forEach(component => {\n component.setState({\n formSubmitted: !isPristine,\n isPristine,\n });\n });\n };\n\n public setInputValidationErrors = errors => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n this.inputs.forEach(component => {\n const { name } = component.props;\n const args = [\n {\n isValid: !(name in errors),\n validationError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (!preventExternalInvalidation && isValid) {\n this.setFormValidState(false);\n }\n };\n\n public setFormValidState = (allIsValid: boolean) => {\n const { onValid, onInvalid } = this.props;\n\n this.setState({\n isValid: allIsValid,\n });\n\n if (allIsValid) {\n onValid();\n } else {\n onInvalid();\n }\n };\n\n public isValidValue = (component, value) => this.runValidation(component, value).isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.props.disabled;\n\n public mapModel = (model: IModel) => {\n const { mapping } = this.props;\n\n if (mapping) {\n return mapping(model);\n }\n\n return formDataToObject.toObj(\n Object.keys(model).reduce((mappedModel, key) => {\n const keyArray = key.split('.');\n let base: IModel = mappedModel;\n while (keyArray.length) {\n const currentKey = keyArray.shift() as string;\n base[currentKey] = keyArray.length ? base[currentKey] || {} : model[key];\n base = base[currentKey];\n }\n return mappedModel;\n }, {}),\n );\n };\n\n public reset = (data?: IData) => {\n this.setFormPristine(true);\n this.resetModel(data);\n };\n\n public resetInternal = event => {\n const { onReset } = this.props;\n\n event.preventDefault();\n this.reset();\n if (onReset) {\n onReset();\n }\n };\n\n // Reset each key in the model to the original / initial / specified value\n public resetModel: IResetModel = data => {\n this.inputs.forEach(component => {\n const { name } = component.props;\n if (data && Object.prototype.hasOwnProperty.call(data, name)) {\n component.setValue(data[name]);\n } else {\n component.resetValue();\n }\n });\n this.validateForm();\n };\n\n // Set the value of one component\n public setValue: ISetInputValue = (name, value, validate) => {\n const input = this.inputs.find(component => component.props.name === name);\n if (input) {\n input.setValue(value, validate);\n }\n };\n\n // Checks validation on current value or a passed value\n public runValidation = (component: InputComponent, value = component.state.value) => {\n const { validationErrors } = this.props;\n const currentValues = this.getCurrentValues();\n const validationResults = utils.runRules(value, currentValues, component.validations, validationRules);\n const requiredResults = utils.runRules(value, currentValues, component.requiredValidations, validationRules);\n const isRequired = Object.keys(component.requiredValidations).length ? !!requiredResults.success.length : false;\n const isValid = !validationResults.failed.length && !(validationErrors && validationErrors[component.props.name]);\n\n return {\n isRequired,\n isValid: isRequired ? false : isValid,\n error: (() => {\n if (isValid && !isRequired) {\n return this.emptyArray;\n }\n\n if (validationResults.errors.length) {\n return validationResults.errors;\n }\n\n if (validationErrors && validationErrors[component.props.name]) {\n return typeof validationErrors[component.props.name] === 'string'\n ? [validationErrors[component.props.name]]\n : validationErrors[component.props.name];\n }\n\n if (isRequired) {\n const error = component.props.validationErrors[requiredResults.success[0]] || component.props.validationError;\n return error ? [error] : null;\n }\n\n if (validationResults.failed.length) {\n return validationResults.failed\n .map(failed =>\n component.props.validationErrors[failed]\n ? component.props.validationErrors[failed]\n : component.props.validationError,\n )\n .filter((x, pos, arr) => arr.indexOf(x) === pos); // remove duplicates\n }\n\n return undefined;\n })(),\n };\n };\n\n // Method put on each input component to register\n // itself to the form\n public attachToForm = component => {\n if (this.inputs.indexOf(component) === -1) {\n this.inputs.push(component);\n }\n\n this.validate(component);\n };\n\n // Method put on each input component to unregister\n // itself from the form\n public detachFromForm = (component: InputComponent) => {\n const componentPos = this.inputs.indexOf(component);\n\n if (componentPos !== -1) {\n this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));\n }\n\n this.validateForm();\n };\n\n // Checks if the values have changed from their initial value\n public isChanged = () => !utils.isSame(this.getPristineValues(), this.getCurrentValues());\n\n // Update model, submit to url prop and send the model\n public submit = event => {\n const { onSubmit, onValidSubmit, onInvalidSubmit } = this.props;\n const { isValid } = this.state;\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n // Trigger form as not pristine.\n // If any inputs have not been touched yet this will make them dirty\n // so validation becomes visible (if based on isPristine)\n this.setFormPristine(false);\n const model = this.getModel();\n onSubmit(model, this.resetModel, this.updateInputsWithError);\n if (isValid) {\n onValidSubmit(model, this.resetModel, this.updateInputsWithError);\n } else {\n onInvalidSubmit(model, this.resetModel, this.updateInputsWithError);\n }\n };\n\n // Go through errors from server and grab the components\n // stored in the inputs map. Change their state to invalid\n // and set the serverError message\n public updateInputsWithError: IUpdateInputsWithError = (errors, invalidate) => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n Object.keys(errors).forEach(name => {\n const component = this.inputs.find(input => input.props.name === name);\n if (!component) {\n throw new Error(\n `You are trying to update an input that does not exist. Verify errors object with input names. ${JSON.stringify(\n errors,\n )}`,\n );\n }\n const args = [\n {\n isValid: preventExternalInvalidation,\n externalError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (invalidate && isValid) {\n this.setFormValidState(false);\n }\n };\n\n // Use the binded values and the actual input value to\n // validate the input and set its state. Then check the\n // state of the form itself\n public validate = (component: InputComponent) => {\n const { onChange } = this.props;\n const { canChange } = this.state;\n\n // Trigger onChange\n if (canChange) {\n onChange(this.getModel(), this.isChanged());\n }\n\n const validation = this.runValidation(component);\n // Run through the validations, split them up and call\n // the validator IF there is a value or it is required\n component.setState(\n {\n externalError: null,\n isRequired: validation.isRequired,\n isValid: validation.isValid,\n validationError: validation.error,\n },\n this.validateForm,\n );\n };\n\n // Validate the form by going through all child input components\n // and check their state\n public validateForm = () => {\n // We need a callback as we are validating all inputs again. This will\n // run when the last component has set its state\n const onValidationComplete = () => {\n const allIsValid = this.inputs.every(component => component.state.isValid);\n\n this.setFormValidState(allIsValid);\n\n // Tell the form that it can start to trigger change events\n this.setState({\n canChange: true,\n });\n };\n\n // Run validation again in case affected by other inputs. The\n // last component validated will run the onValidationComplete callback\n this.inputs.forEach((component, index) => {\n const validation = this.runValidation(component);\n if (validation.isValid && component.state.externalError) {\n validation.isValid = false;\n }\n component.setState(\n {\n isValid: validation.isValid,\n isRequired: validation.isRequired,\n validationError: validation.error,\n externalError: !validation.isValid && component.state.externalError ? component.state.externalError : null,\n },\n index === this.inputs.length - 1 ? onValidationComplete : null,\n );\n });\n\n // If there are no inputs, set state where form is ready to trigger\n // change event. New inputs might be added later\n if (!this.inputs.length) {\n this.setState({\n canChange: true,\n });\n }\n };\n\n public render = () => {\n const {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n getErrorMessage,\n getErrorMessages,\n getValue,\n hasValue,\n isFormDisabled,\n isFormSubmitted,\n isPristine,\n isRequired,\n isValid,\n isValidValue,\n mapping,\n onChange,\n onInvalid,\n onInvalidSubmit,\n onReset,\n onSubmit,\n onValid,\n onValidSubmit,\n preventExternalInvalidation,\n resetValue,\n setValidations,\n setValue,\n showError,\n showRequired,\n validationErrors,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...nonFormsyProps\n } = this.props;\n\n return React.createElement(\n 'form',\n {\n onReset: this.resetInternal,\n onSubmit: this.submit,\n ...nonFormsyProps,\n disabled: false,\n },\n // eslint-disable-next-line react/destructuring-assignment\n this.props.children,\n );\n };\n}\n\nconst addValidationRule = (name: string, func: ValidationFunction) => {\n validationRules[name] = func;\n};\n\nexport { addValidationRule, propTypes, validationRules, Wrapper as withFormsy };\n\nexport default Formsy;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","isArray","value","Array","isObject","isTypeUndefined","isDate","Date","isFunction","isString","isNumber","isValueStringEmpty","isValueNullOrUndefined","undefined","isValueUndefined","noop","cloneIfObject","isSame","a","b","length","every","item","index","toString","Object","keys","key","runRules","currentValues","validations","validationRules","results","errors","failed","success","forEach","validationMethod","validationsVal","validationRulesVal","Error","validation","push","isExisty","isEmpty","isDefaultRequiredValue","_values","matchRegexp","regexp","test","isUndefined","isEmptyString","isEmail","values","isUrl","isTrue","isFalse","isNumeric","isAlpha","isAlphanumeric","isInt","isFloat","isWords","isSpecialWords","isLength","equals","eql","equalsField","field","maxLength","minLength","convertValidationsToObject","split","reduce","validationsAccumulator","args","validateMethod","shift","map","arg","JSON","parse","e","validationsAccumulatorCopy","propTypes","innerRef","PropTypes","func","name","string","isRequired","required","oneOfType","bool","object","any","getDisplayName","component","displayName","WrappedComponent","props","requiredValidations","getErrorMessage","messages","getErrorMessages","state","externalError","validationError","isValid","showRequired","getValue","setValidations","setValue","validate","formsy","context","setState","isPristine","hasValue","isFormDisabled","isFormSubmitted","formSubmitted","isValidValue","call","resetValue","pristineValue","showError","attachToForm","nextProps","nextState","nextContext","formsyContext","isPropsChanged","some","k","isStateChanged","isFormsyContextChanged","prevProps","utils","detachFromForm","propsForElement","errorMessage","errorMessages","ref","React","createElement","Component","contextTypes","defaultProps","validationErrors","defaultValue","Formsy","inputs","emptyArray","prevInputNames","getChildContext","componentDidMount","validateForm","componentDidUpdate","setInputValidationErrors","newInputNames","getCurrentValues","valueAccumulator","getModel","mapModel","getPristineValues","setFormPristine","preventExternalInvalidation","setFormValidState","allIsValid","onValid","onInvalid","runValidation","disabled","model","mapping","formDataToObject","toObj","mappedModel","keyArray","base","currentKey","reset","data","resetModel","resetInternal","event","onReset","preventDefault","prototype","hasOwnProperty","input","find","validationResults","requiredResults","error","filter","x","pos","arr","indexOf","componentPos","slice","concat","isChanged","submit","onSubmit","onValidSubmit","onInvalidSubmit","updateInputsWithError","invalidate","stringify","onChange","canChange","onValidationComplete","render","nonFormsyProps","children","isSubmitting","childContextTypes","onError","addValidationRule"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"formsy-react.esm.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/form-data-to-object/index.js","../src/utils.ts","../src/validationRules.ts","../src/Wrapper.ts","../src/index.ts"],"sourcesContent":["/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function toObj(source) {\n return Object.keys(source).reduce(function (output, key) {\n var parentKey = key.match(/[^\\[]*/i);\n var paths = key.match(/\\[.*?\\]/g) || [];\n paths = [parentKey[0]].concat(paths).map(function (key) {\n return key.replace(/\\[|\\]/g, '');\n });\n var currentPath = output;\n while (paths.length) {\n var pathKey = paths.shift();\n\n if (pathKey in currentPath) {\n currentPath = currentPath[pathKey];\n } else {\n currentPath[pathKey] = paths.length ? isNaN(paths[0]) ? {} : [] : source[key];\n currentPath = currentPath[pathKey];\n }\n }\n\n return output;\n }, {});\n}\n\nfunction fromObj(obj) {\n function recur(newObj, propName, currVal) {\n if (Array.isArray(currVal) || Object.prototype.toString.call(currVal) === '[object Object]') {\n Object.keys(currVal).forEach(function(v) {\n recur(newObj, propName + \"[\" + v + \"]\", currVal[v]);\n });\n return newObj;\n }\n\n newObj[propName] = currVal;\n return newObj;\n }\n\n var keys = Object.keys(obj);\n return keys.reduce(function(newObj, propName) {\n return recur(newObj, propName, obj[propName]);\n }, {});\n}\n\nmodule.exports = {\n fromObj: fromObj,\n toObj: toObj\n}","import { Validations, Values } from './interfaces';\n\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n\nexport function isTypeUndefined(value: unknown): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isFunction(value: unknown): value is Function {\n return value !== null && typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function isValueStringEmpty(value: string): boolean {\n return value === '';\n}\n\nexport function isValueNullOrUndefined(value: unknown): boolean {\n return value === null || value === undefined;\n}\n\nexport function isValueUndefined(value: unknown): boolean {\n return value === undefined;\n}\n\nexport function noop() {\n // do nothing.\n}\n\nexport function cloneIfObject(value: unknown) {\n // Clone objects to avoid accidental param reassignment\n return isObject(value) ? { ...value } : value;\n}\n\nexport function isSame(a: unknown, b: unknown) {\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isSame(item, b[index]));\n }\n\n if (isFunction(a) && isFunction(b)) {\n return a.toString() === b.toString();\n }\n\n if (isDate(a) && isDate(b)) {\n return a.toString() === b.toString();\n }\n\n if (isObject(a) && isObject(b)) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n\n return Object.keys(a).every(key => isSame(a[key], b[key]));\n }\n\n return a === b;\n}\n\nexport function runRules(\n value: V,\n currentValues: Values,\n validations: Validations,\n validationRules: Validations,\n) {\n const results: {\n errors: string[];\n failed: string[];\n success: string[];\n } = {\n errors: [],\n failed: [],\n success: [],\n };\n\n if (Object.keys(validations).length) {\n Object.keys(validations).forEach(validationMethod => {\n const validationsVal = validations[validationMethod];\n const validationRulesVal = validationRules[validationMethod];\n\n if (validationRulesVal && isFunction(validationsVal)) {\n throw new Error(`Formsy does not allow you to override default validations: ${validationMethod}`);\n }\n\n if (!validationRulesVal && !isFunction(validationsVal)) {\n throw new Error(`Formsy does not have the validation rule: ${validationMethod}`);\n }\n\n if (isFunction(validationsVal)) {\n const validation = validationsVal(currentValues, value);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n }\n\n return;\n }\n\n if (!isFunction(validationsVal) && isFunction(validationRulesVal)) {\n const validation = validationRulesVal(currentValues, value, validationsVal);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n } else {\n results.success.push(validationMethod);\n }\n return;\n }\n\n results.success.push(validationMethod);\n });\n }\n\n return results;\n}\n","import { ValidationFunction, Values } from './interfaces';\nimport {\n isString,\n isValueStringEmpty,\n isTypeUndefined,\n isValueNullOrUndefined,\n isNumber,\n isValueUndefined,\n} from './utils';\n\nconst isExisty = (value: V) => !isValueNullOrUndefined(value);\nconst isEmpty = (value: V) => {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n if (isTypeUndefined(value)) {\n return false;\n }\n return isValueUndefined(value);\n};\n\ninterface Validations {\n [key: string]: ValidationFunction;\n}\n\nconst validations: Validations = {\n isDefaultRequiredValue(_values: Values, value: V) {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n return isValueNullOrUndefined(value);\n },\n isExisty(_values: Values, value: V) {\n return isExisty(value);\n },\n matchRegexp(_values: Values, value: string, regexp: RegExp) {\n return !isExisty(value) || isEmpty(value) || regexp.test(value);\n },\n isUndefined(_values: Values, value: V) {\n return isValueUndefined(value);\n },\n isEmptyString(_values: Values, value: string) {\n return isEmpty(value);\n },\n isEmail(values: Values, value: string) {\n // Regex from http://emailregex.com/\n return validations.matchRegexp(\n values,\n value,\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i,\n );\n },\n isUrl(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/i);\n },\n isTrue(_values: Values, value: boolean | string) {\n return value === true;\n },\n isFalse(_values: Values, value: boolean | string) {\n return value === false;\n },\n isNumeric(values: Values, value: V) {\n if (isNumber(value)) {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][+-]?(?:\\d+))?$/);\n },\n isWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals(_values: Values, value: V, eql: V) {\n return !isExisty(value) || isEmpty(value) || value === eql;\n },\n equalsField(values: Values, value: V, field: string) {\n return value === values[field];\n },\n maxLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || value.length <= length;\n },\n minLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n};\n\nexport default validations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as utils from './utils';\nimport { RequiredValidation, Validations, WrappedComponentClass } from './interfaces';\n\n/* eslint-disable react/default-props-match-prop-types */\n\nconst convertValidationsToObject = (validations: false | Validations): Validations => {\n if (typeof validations === 'string') {\n return validations.split(/,(?![^{[]*[}\\]])/g).reduce((validationsAccumulator, validation) => {\n let args = validation.split(':');\n const validateMethod = args.shift();\n\n if (typeof validateMethod !== 'string') {\n throw new Error('Formsy encountered unexpected problem parsing validation string');\n }\n\n args = args.map(arg => {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg; // It is a string if it can not parse it\n }\n });\n\n if (args.length > 1) {\n throw new Error(\n 'Formsy does not support multiple args on string validations. Use object format of validations instead.',\n );\n }\n\n // Avoid parameter reassignment\n const validationsAccumulatorCopy: Validations = { ...validationsAccumulator };\n validationsAccumulatorCopy[validateMethod] = args.length ? args[0] : true;\n return validationsAccumulatorCopy;\n }, {});\n }\n\n return validations || {};\n};\n\nconst propTypes = {\n innerRef: PropTypes.func,\n name: PropTypes.string.isRequired,\n required: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string]),\n validations: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n};\n\nexport interface WrapperProps {\n innerRef?: (ref: any) => void;\n name: string;\n required?: RequiredValidation;\n validationError?: any;\n validationErrors?: any;\n validations?: Validations;\n value?: V;\n}\n\nexport interface WrapperState {\n [key: string]: unknown;\n externalError: null;\n formSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n pristineValue: any;\n validationError: any[];\n value: V;\n}\n\nexport interface InjectedProps {\n errorMessage: any;\n errorMessages: any;\n hasValue: boolean;\n isFormDisabled: boolean;\n isFormSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n isValidValue: (value: V) => boolean;\n ref?: any;\n resetValue: any;\n setValidations: any;\n setValue: (value: V) => void;\n showError: boolean;\n showRequired: boolean;\n}\n\nexport type PassDownProps = WrapperProps & InjectedProps;\n\nexport { propTypes };\n\nfunction getDisplayName(component: WrappedComponentClass) {\n return (\n (component as { displayName?: string }).displayName ||\n component.name ||\n (typeof component === 'string' ? component : 'Component')\n );\n}\n\nexport default function(\n WrappedComponent: React.ComponentType>,\n): React.ComponentType, keyof InjectedProps>> {\n return class extends React.Component, WrapperState> {\n public validations?: Validations;\n\n public requiredValidations?: Validations;\n\n public static displayName = `Formsy(${getDisplayName(WrappedComponent)})`;\n\n public static propTypes: any = propTypes;\n\n public static contextTypes = {\n formsy: PropTypes.object, // What about required?\n };\n\n public static defaultProps: any = {\n innerRef: null,\n required: false,\n validationError: '',\n validationErrors: {},\n validations: null,\n value: (WrappedComponent as any).defaultValue,\n };\n\n public constructor(props) {\n super(props);\n this.state = {\n externalError: null,\n formSubmitted: false,\n isPristine: true,\n isRequired: false,\n isValid: true,\n pristineValue: props.value,\n validationError: [],\n value: props.value,\n };\n }\n\n public componentDidMount() {\n const { validations, required, name } = this.props;\n const { formsy } = this.context;\n\n if (!name) {\n throw new Error('Form Input requires a name property when used');\n }\n\n this.setValidations(validations, required);\n\n // Pass a function instead?\n formsy.attachToForm(this);\n }\n\n public shouldComponentUpdate(nextProps, nextState, nextContext) {\n const {\n props,\n state,\n context: { formsy: formsyContext },\n } = this;\n const isPropsChanged = Object.keys(props).some(k => props[k] !== nextProps[k]);\n\n const isStateChanged = Object.keys(state).some(k => state[k] !== nextState[k]);\n\n const isFormsyContextChanged = Object.keys(formsyContext).some(k => formsyContext[k] !== nextContext.formsy[k]);\n\n return isPropsChanged || isStateChanged || isFormsyContextChanged;\n }\n\n public componentDidUpdate(prevProps) {\n const { value, validations, required } = this.props;\n const { formsy } = this.context;\n\n // If the value passed has changed, set it. If value is not passed it will\n // internally update, and this will never run\n if (!utils.isSame(value, prevProps.value)) {\n this.setValue(value);\n }\n\n // If validations or required is changed, run a new validation\n if (!utils.isSame(validations, prevProps.validations) || !utils.isSame(required, prevProps.required)) {\n this.setValidations(validations, required);\n formsy.validate(this);\n }\n }\n\n // Detach it when component unmounts\n // eslint-disable-next-line react/sort-comp\n public componentWillUnmount() {\n const { formsy } = this.context;\n formsy.detachFromForm(this);\n }\n\n public getErrorMessage = () => {\n const messages = this.getErrorMessages();\n return messages.length ? messages[0] : null;\n };\n\n public getErrorMessages = () => {\n const { externalError, validationError } = this.state;\n\n if (!this.isValid() || this.showRequired()) {\n return externalError || validationError || [];\n }\n return [];\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public getValue = () => this.state.value;\n\n public setValidations = (validations: Validations, required: RequiredValidation) => {\n // Add validations to the store itself as the props object can not be modified\n this.validations = convertValidationsToObject(validations) || {};\n this.requiredValidations =\n required === true ? { isDefaultRequiredValue: required } : convertValidationsToObject(required);\n };\n\n // By default, we validate after the value has been set.\n // A user can override this and pass a second parameter of `false` to skip validation.\n public setValue = (value, validate = true) => {\n const { formsy } = this.context;\n\n if (!validate) {\n this.setState({\n value,\n });\n } else {\n this.setState(\n {\n value,\n isPristine: false,\n },\n () => {\n formsy.validate(this);\n },\n );\n }\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public hasValue = () => {\n const { value } = this.state;\n if (typeof value === 'string') {\n return value !== '';\n }\n return value !== undefined;\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.context.formsy.isFormDisabled;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormSubmitted = () => this.state.formSubmitted;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isPristine = () => this.state.isPristine;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isRequired = () => !!this.props.required;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValid = () => this.state.isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValidValue = value => this.context.formsy.isValidValue.call(null, this, value);\n\n public resetValue = () => {\n const { pristineValue } = this.state;\n const { formsy } = this.context;\n\n this.setState(\n {\n value: pristineValue,\n isPristine: true,\n },\n () => {\n formsy.validate(this);\n },\n );\n };\n\n public showError = () => !this.showRequired() && !this.isValid();\n\n // eslint-disable-next-line react/destructuring-assignment\n public showRequired = () => this.state.isRequired;\n\n public render() {\n const { innerRef } = this.props;\n const propsForElement: PassDownProps = {\n ...this.props,\n errorMessage: this.getErrorMessage(),\n errorMessages: this.getErrorMessages(),\n hasValue: this.hasValue(),\n isFormDisabled: this.isFormDisabled(),\n isFormSubmitted: this.isFormSubmitted(),\n isPristine: this.isPristine(),\n isRequired: this.isRequired(),\n isValid: this.isValid(),\n isValidValue: this.isValidValue,\n resetValue: this.resetValue,\n setValidations: this.setValidations,\n setValue: this.setValue,\n showError: this.showError(),\n showRequired: this.showRequired(),\n value: this.getValue(),\n };\n\n if (innerRef) {\n propsForElement.ref = innerRef;\n }\n\n return React.createElement(WrappedComponent, propsForElement as any);\n }\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport formDataToObject from 'form-data-to-object';\n\nimport * as utils from './utils';\nimport validationRules from './validationRules';\nimport Wrapper, { propTypes } from './Wrapper';\n\nimport {\n IData,\n IModel,\n InputComponent,\n IResetModel,\n IUpdateInputsWithValue,\n IUpdateInputsWithError,\n ValidationFunction,\n} from './interfaces';\n\ntype FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>;\n\n/* eslint-disable react/no-unused-state, react/default-props-match-prop-types */\nexport interface FormsyProps extends FormHTMLAttributesCleaned {\n disabled: boolean;\n getErrorMessage: any;\n getErrorMessages: any;\n getValue: any;\n hasValue: any;\n isFormDisabled: any;\n isFormSubmitted: any;\n isPristine: any;\n isRequired: any;\n isValid: any;\n isValidValue: any;\n mapping: null | ((model: IModel) => IModel);\n onChange: (model: IModel, isChanged: boolean) => void;\n onError: any;\n onInvalid: () => void;\n onInvalidSubmit: any;\n onReset?: () => void;\n onSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n onValid: () => void;\n onValidSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n preventExternalInvalidation?: boolean;\n resetValue: any;\n setValidations: any;\n setValue: any;\n showError: any;\n showRequired: any;\n validationErrors?: null | object;\n}\n\nexport interface FormsyState {\n canChange: boolean;\n formSubmitted?: boolean;\n isPristine?: boolean;\n isSubmitting: boolean;\n isValid: boolean;\n}\n\nclass Formsy extends React.Component {\n public inputs: any[];\n\n public emptyArray: any[];\n\n public prevInputNames: any[] | null = null;\n\n public static displayName = 'Formsy';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n getErrorMessage: PropTypes.func,\n getErrorMessages: PropTypes.func,\n getValue: PropTypes.func,\n hasValue: PropTypes.func,\n isFormDisabled: PropTypes.func,\n isFormSubmitted: PropTypes.func,\n isPristine: PropTypes.func,\n isRequired: PropTypes.func,\n isValid: PropTypes.func,\n isValidValue: PropTypes.func,\n mapping: PropTypes.func,\n onChange: PropTypes.func,\n onInvalid: PropTypes.func,\n onInvalidSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onValidSubmit: PropTypes.func,\n preventExternalInvalidation: PropTypes.bool,\n resetValue: PropTypes.func,\n setValidations: PropTypes.func,\n setValue: PropTypes.func,\n showError: PropTypes.func,\n showRequired: PropTypes.func,\n validationErrors: PropTypes.object, // eslint-disable-line\n };\n\n public static childContextTypes = {\n formsy: PropTypes.object,\n };\n\n public static defaultProps: Partial = {\n disabled: false,\n getErrorMessage: utils.noop,\n getErrorMessages: utils.noop,\n getValue: utils.noop,\n hasValue: utils.noop,\n isFormDisabled: utils.noop,\n isFormSubmitted: utils.noop,\n isPristine: utils.noop,\n isRequired: utils.noop,\n isValid: utils.noop,\n isValidValue: utils.noop,\n mapping: null,\n onChange: utils.noop,\n onError: utils.noop,\n onInvalid: utils.noop,\n onInvalidSubmit: utils.noop,\n onReset: utils.noop,\n onSubmit: utils.noop,\n onValid: utils.noop,\n onValidSubmit: utils.noop,\n preventExternalInvalidation: false,\n resetValue: utils.noop,\n setValidations: utils.noop,\n setValue: utils.noop,\n showError: utils.noop,\n showRequired: utils.noop,\n validationErrors: null,\n };\n\n public constructor(props: FormsyProps) {\n super(props);\n this.state = {\n canChange: false,\n isSubmitting: false,\n isValid: true,\n };\n this.inputs = [];\n this.emptyArray = [];\n }\n\n public getChildContext = () => ({\n formsy: {\n attachToForm: this.attachToForm,\n detachFromForm: this.detachFromForm,\n isFormDisabled: this.isFormDisabled(),\n isValidValue: this.isValidValue,\n validate: this.validate,\n },\n });\n\n public componentDidMount = () => {\n this.prevInputNames = this.inputs.map(component => component.props.name);\n this.validateForm();\n };\n\n public componentDidUpdate = () => {\n const { validationErrors } = this.props;\n\n if (validationErrors && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n this.setInputValidationErrors(validationErrors);\n }\n\n const newInputNames = this.inputs.map(component => component.props.name);\n if (this.prevInputNames && !utils.isSame(this.prevInputNames, newInputNames)) {\n this.prevInputNames = newInputNames;\n this.validateForm();\n }\n };\n\n public getCurrentValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name },\n state: { value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public getModel = () => {\n const currentValues = this.getCurrentValues();\n return this.mapModel(currentValues);\n };\n\n public getPristineValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name, value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public setFormPristine = (isPristine: boolean) => {\n this.setState({\n formSubmitted: !isPristine,\n });\n\n // Iterate through each component and set it as pristine\n // or \"dirty\".\n this.inputs.forEach(component => {\n component.setState({\n formSubmitted: !isPristine,\n isPristine,\n });\n });\n };\n\n public setInputValidationErrors = errors => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n this.inputs.forEach(component => {\n const { name } = component.props;\n const args = [\n {\n isValid: !(name in errors),\n validationError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (!preventExternalInvalidation && isValid) {\n this.setFormValidState(false);\n }\n };\n\n public setFormValidState = (allIsValid: boolean) => {\n const { onValid, onInvalid } = this.props;\n\n this.setState({\n isValid: allIsValid,\n });\n\n if (allIsValid) {\n onValid();\n } else {\n onInvalid();\n }\n };\n\n public isValidValue = (component, value) => this.runValidation(component, value).isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.props.disabled;\n\n public mapModel = (model: IModel) => {\n const { mapping } = this.props;\n\n if (mapping) {\n return mapping(model);\n }\n\n return formDataToObject.toObj(\n Object.keys(model).reduce((mappedModel, key) => {\n const keyArray = key.split('.');\n let base: IModel = mappedModel;\n while (keyArray.length) {\n const currentKey = keyArray.shift() as string;\n base[currentKey] = keyArray.length ? base[currentKey] || {} : model[key];\n base = base[currentKey];\n }\n return mappedModel;\n }, {}),\n );\n };\n\n public reset = (data?: IData) => {\n this.setFormPristine(true);\n this.resetModel(data);\n };\n\n public resetInternal = event => {\n const { onReset } = this.props;\n\n event.preventDefault();\n this.reset();\n if (onReset) {\n onReset();\n }\n };\n\n // Reset each key in the model to the original / initial / specified value\n public resetModel: IResetModel = data => {\n this.inputs.forEach(component => {\n const { name } = component.props;\n if (data && Object.prototype.hasOwnProperty.call(data, name)) {\n component.setValue(data[name]);\n } else {\n component.resetValue();\n }\n });\n this.validateForm();\n };\n\n // Checks validation on current value or a passed value\n public runValidation = (component: InputComponent, value = component.state.value) => {\n const { validationErrors } = this.props;\n const currentValues = this.getCurrentValues();\n const validationResults = utils.runRules(value, currentValues, component.validations, validationRules);\n const requiredResults = utils.runRules(value, currentValues, component.requiredValidations, validationRules);\n const isRequired = Object.keys(component.requiredValidations).length ? !!requiredResults.success.length : false;\n const isValid = !validationResults.failed.length && !(validationErrors && validationErrors[component.props.name]);\n\n return {\n isRequired,\n isValid: isRequired ? false : isValid,\n error: (() => {\n if (isValid && !isRequired) {\n return this.emptyArray;\n }\n\n if (validationResults.errors.length) {\n return validationResults.errors;\n }\n\n if (validationErrors && validationErrors[component.props.name]) {\n return typeof validationErrors[component.props.name] === 'string'\n ? [validationErrors[component.props.name]]\n : validationErrors[component.props.name];\n }\n\n if (isRequired) {\n const error = component.props.validationErrors[requiredResults.success[0]] || component.props.validationError;\n return error ? [error] : null;\n }\n\n if (validationResults.failed.length) {\n return validationResults.failed\n .map(failed =>\n component.props.validationErrors[failed]\n ? component.props.validationErrors[failed]\n : component.props.validationError,\n )\n .filter((x, pos, arr) => arr.indexOf(x) === pos); // remove duplicates\n }\n\n return undefined;\n })(),\n };\n };\n\n // Method put on each input component to register\n // itself to the form\n public attachToForm = component => {\n if (this.inputs.indexOf(component) === -1) {\n this.inputs.push(component);\n }\n\n this.validate(component);\n };\n\n // Method put on each input component to unregister\n // itself from the form\n public detachFromForm = (component: InputComponent) => {\n const componentPos = this.inputs.indexOf(component);\n\n if (componentPos !== -1) {\n this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));\n }\n\n this.validateForm();\n };\n\n // Checks if the values have changed from their initial value\n public isChanged = () => !utils.isSame(this.getPristineValues(), this.getCurrentValues());\n\n // Update model, submit to url prop and send the model\n public submit = event => {\n const { onSubmit, onValidSubmit, onInvalidSubmit } = this.props;\n const { isValid } = this.state;\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n // Trigger form as not pristine.\n // If any inputs have not been touched yet this will make them dirty\n // so validation becomes visible (if based on isPristine)\n this.setFormPristine(false);\n const model = this.getModel();\n onSubmit(model, this.resetModel, this.updateInputsWithError);\n if (isValid) {\n onValidSubmit(model, this.resetModel, this.updateInputsWithError);\n } else {\n onInvalidSubmit(model, this.resetModel, this.updateInputsWithError);\n }\n };\n\n // Go through errors from server and grab the components\n // stored in the inputs map. Change their state to invalid\n // and set the serverError message\n public updateInputsWithError: IUpdateInputsWithError = (errors, invalidate) => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n Object.entries(errors).forEach(([name, error]) => {\n const component = this.inputs.find(input => input.props.name === name);\n if (!component) {\n throw new Error(\n `You are trying to update an input that does not exist. Verify errors object with input names. ${JSON.stringify(\n errors,\n )}`,\n );\n }\n const args = [\n {\n isValid: preventExternalInvalidation,\n externalError: utils.isString(error) ? [error] : error,\n },\n ];\n component.setState(...args);\n });\n if (invalidate && isValid) {\n this.setFormValidState(false);\n }\n };\n\n // Set the value of components\n public updateInputsWithValue: IUpdateInputsWithValue = (values, validate) => {\n Object.entries(values).forEach(([name, value]) => {\n const input = this.inputs.find(component => component.props.name === name);\n\n if (input) {\n input.setValue(value, validate);\n }\n });\n };\n\n // Use the binded values and the actual input value to\n // validate the input and set its state. Then check the\n // state of the form itself\n public validate = (component: InputComponent) => {\n const { onChange } = this.props;\n const { canChange } = this.state;\n\n // Trigger onChange\n if (canChange) {\n onChange(this.getModel(), this.isChanged());\n }\n\n const validation = this.runValidation(component);\n // Run through the validations, split them up and call\n // the validator IF there is a value or it is required\n component.setState(\n {\n externalError: null,\n isRequired: validation.isRequired,\n isValid: validation.isValid,\n validationError: validation.error,\n },\n this.validateForm,\n );\n };\n\n // Validate the form by going through all child input components\n // and check their state\n public validateForm = () => {\n // We need a callback as we are validating all inputs again. This will\n // run when the last component has set its state\n const onValidationComplete = () => {\n const allIsValid = this.inputs.every(component => component.state.isValid);\n\n this.setFormValidState(allIsValid);\n\n // Tell the form that it can start to trigger change events\n this.setState({\n canChange: true,\n });\n };\n\n // Run validation again in case affected by other inputs. The\n // last component validated will run the onValidationComplete callback\n this.inputs.forEach((component, index) => {\n const validation = this.runValidation(component);\n if (validation.isValid && component.state.externalError) {\n validation.isValid = false;\n }\n component.setState(\n {\n isValid: validation.isValid,\n isRequired: validation.isRequired,\n validationError: validation.error,\n externalError: !validation.isValid && component.state.externalError ? component.state.externalError : null,\n },\n index === this.inputs.length - 1 ? onValidationComplete : null,\n );\n });\n\n // If there are no inputs, set state where form is ready to trigger\n // change event. New inputs might be added later\n if (!this.inputs.length) {\n this.setState({\n canChange: true,\n });\n }\n };\n\n public render = () => {\n const {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n getErrorMessage,\n getErrorMessages,\n getValue,\n hasValue,\n isFormDisabled,\n isFormSubmitted,\n isPristine,\n isRequired,\n isValid,\n isValidValue,\n mapping,\n onChange,\n onInvalid,\n onInvalidSubmit,\n onReset,\n onSubmit,\n onValid,\n onValidSubmit,\n preventExternalInvalidation,\n resetValue,\n setValidations,\n setValue,\n showError,\n showRequired,\n validationErrors,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...nonFormsyProps\n } = this.props;\n\n return React.createElement(\n 'form',\n {\n onReset: this.resetInternal,\n onSubmit: this.submit,\n ...nonFormsyProps,\n disabled: false,\n },\n // eslint-disable-next-line react/destructuring-assignment\n this.props.children,\n );\n };\n}\n\nconst addValidationRule = (name: string, func: ValidationFunction) => {\n validationRules[name] = func;\n};\n\nexport { addValidationRule, propTypes, validationRules, Wrapper as withFormsy };\n\nexport default Formsy;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","isArray","value","Array","isObject","isTypeUndefined","isDate","Date","isFunction","isString","isNumber","isValueStringEmpty","isValueNullOrUndefined","undefined","isValueUndefined","noop","cloneIfObject","isSame","a","b","length","every","item","index","toString","Object","keys","key","runRules","currentValues","validations","validationRules","results","errors","failed","success","forEach","validationMethod","validationsVal","validationRulesVal","Error","validation","push","isExisty","isEmpty","isDefaultRequiredValue","_values","matchRegexp","regexp","test","isUndefined","isEmptyString","isEmail","values","isUrl","isTrue","isFalse","isNumeric","isAlpha","isAlphanumeric","isInt","isFloat","isWords","isSpecialWords","isLength","equals","eql","equalsField","field","maxLength","minLength","convertValidationsToObject","split","reduce","validationsAccumulator","args","validateMethod","shift","map","arg","JSON","parse","e","validationsAccumulatorCopy","propTypes","innerRef","PropTypes","func","name","string","isRequired","required","oneOfType","bool","object","any","getDisplayName","component","displayName","WrappedComponent","props","requiredValidations","getErrorMessage","messages","getErrorMessages","state","externalError","validationError","isValid","showRequired","getValue","setValidations","setValue","validate","formsy","context","setState","isPristine","hasValue","isFormDisabled","isFormSubmitted","formSubmitted","isValidValue","call","resetValue","pristineValue","showError","attachToForm","nextProps","nextState","nextContext","formsyContext","isPropsChanged","some","k","isStateChanged","isFormsyContextChanged","prevProps","utils","detachFromForm","propsForElement","errorMessage","errorMessages","ref","React","createElement","Component","contextTypes","defaultProps","validationErrors","defaultValue","Formsy","inputs","emptyArray","prevInputNames","getChildContext","componentDidMount","validateForm","componentDidUpdate","setInputValidationErrors","newInputNames","getCurrentValues","valueAccumulator","getModel","mapModel","getPristineValues","setFormPristine","preventExternalInvalidation","setFormValidState","allIsValid","onValid","onInvalid","runValidation","disabled","model","mapping","formDataToObject","toObj","mappedModel","keyArray","base","currentKey","reset","data","resetModel","resetInternal","event","onReset","preventDefault","prototype","hasOwnProperty","validationResults","requiredResults","error","filter","x","pos","arr","indexOf","componentPos","slice","concat","isChanged","submit","onSubmit","onValidSubmit","onInvalidSubmit","updateInputsWithError","invalidate","entries","find","input","stringify","updateInputsWithValue","onChange","canChange","onValidationComplete","render","nonFormsyProps","children","isSubmitting","childContextTypes","onError","addValidationRule"],"mappings":"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"} \ No newline at end of file diff --git a/dist/formsy-react.umd.js b/dist/formsy-react.umd.js index bd7b093b..148719c6 100644 --- a/dist/formsy-react.umd.js +++ b/dist/formsy-react.umd.js @@ -174,6 +174,48 @@ return _assertThisInitialized(self); } + function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); + } + + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; + } + + function _iterableToArrayLimit(arr, i) { + if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { + return; + } + + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; + } + + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); + } + function unwrapExports (x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } @@ -2072,16 +2114,6 @@ _this.validateForm(); }; - _this.setValue = function (name, value, validate) { - var input = _this.inputs.find(function (component) { - return component.props.name === name; - }); - - if (input) { - input.setValue(value, validate); - } - }; - _this.runValidation = function (component) { var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : component.state.value; var validationErrors = _this.props.validationErrors; @@ -2178,7 +2210,11 @@ _this.updateInputsWithError = function (errors, invalidate) { var preventExternalInvalidation = _this.props.preventExternalInvalidation; var isValid = _this.state.isValid; - Object.keys(errors).forEach(function (name) { + Object.entries(errors).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + name = _ref2[0], + error = _ref2[1]; + var component = _this.inputs.find(function (input) { return input.props.name === name; }); @@ -2189,7 +2225,7 @@ var args = [{ isValid: preventExternalInvalidation, - externalError: typeof errors[name] === 'string' ? [errors[name]] : errors[name] + externalError: isString(error) ? [error] : error }]; component.setState.apply(component, args); }); @@ -2199,6 +2235,22 @@ } }; + _this.updateInputsWithValue = function (values, validate) { + Object.entries(values).forEach(function (_ref3) { + var _ref4 = _slicedToArray(_ref3, 2), + name = _ref4[0], + value = _ref4[1]; + + var input = _this.inputs.find(function (component) { + return component.props.name === name; + }); + + if (input) { + input.setValue(value, validate); + } + }); + }; + _this.validate = function (component) { var onChange = _this.props.onChange; var canChange = _this.state.canChange; // Trigger onChange diff --git a/dist/formsy-react.umd.js.map b/dist/formsy-react.umd.js.map index ed04013c..ef6f2f7b 100644 --- a/dist/formsy-react.umd.js.map +++ b/dist/formsy-react.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"formsy-react.umd.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/form-data-to-object/index.js","../src/utils.ts","../src/validationRules.ts","../src/Wrapper.ts","../src/index.ts"],"sourcesContent":["/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function toObj(source) {\n return Object.keys(source).reduce(function (output, key) {\n var parentKey = key.match(/[^\\[]*/i);\n var paths = key.match(/\\[.*?\\]/g) || [];\n paths = [parentKey[0]].concat(paths).map(function (key) {\n return key.replace(/\\[|\\]/g, '');\n });\n var currentPath = output;\n while (paths.length) {\n var pathKey = paths.shift();\n\n if (pathKey in currentPath) {\n currentPath = currentPath[pathKey];\n } else {\n currentPath[pathKey] = paths.length ? isNaN(paths[0]) ? {} : [] : source[key];\n currentPath = currentPath[pathKey];\n }\n }\n\n return output;\n }, {});\n}\n\nfunction fromObj(obj) {\n function recur(newObj, propName, currVal) {\n if (Array.isArray(currVal) || Object.prototype.toString.call(currVal) === '[object Object]') {\n Object.keys(currVal).forEach(function(v) {\n recur(newObj, propName + \"[\" + v + \"]\", currVal[v]);\n });\n return newObj;\n }\n\n newObj[propName] = currVal;\n return newObj;\n }\n\n var keys = Object.keys(obj);\n return keys.reduce(function(newObj, propName) {\n return recur(newObj, propName, obj[propName]);\n }, {});\n}\n\nmodule.exports = {\n fromObj: fromObj,\n toObj: toObj\n}","import { Validations, Values } from './interfaces';\n\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n\nexport function isTypeUndefined(value: unknown): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isFunction(value: unknown): value is Function {\n return value !== null && typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function isValueStringEmpty(value: string): boolean {\n return value === '';\n}\n\nexport function isValueNullOrUndefined(value: unknown): boolean {\n return value === null || value === undefined;\n}\n\nexport function isValueUndefined(value: unknown): boolean {\n return value === undefined;\n}\n\nexport function noop() {\n // do nothing.\n}\n\nexport function cloneIfObject(value: unknown) {\n // Clone objects to avoid accidental param reassignment\n return isObject(value) ? { ...value } : value;\n}\n\nexport function isSame(a: unknown, b: unknown) {\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isSame(item, b[index]));\n }\n\n if (isFunction(a) && isFunction(b)) {\n return a.toString() === b.toString();\n }\n\n if (isDate(a) && isDate(b)) {\n return a.toString() === b.toString();\n }\n\n if (isObject(a) && isObject(b)) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n\n return Object.keys(a).every(key => isSame(a[key], b[key]));\n }\n\n return a === b;\n}\n\nexport function runRules(\n value: V,\n currentValues: Values,\n validations: Validations,\n validationRules: Validations,\n) {\n const results: {\n errors: string[];\n failed: string[];\n success: string[];\n } = {\n errors: [],\n failed: [],\n success: [],\n };\n\n if (Object.keys(validations).length) {\n Object.keys(validations).forEach(validationMethod => {\n const validationsVal = validations[validationMethod];\n const validationRulesVal = validationRules[validationMethod];\n\n if (validationRulesVal && isFunction(validationsVal)) {\n throw new Error(`Formsy does not allow you to override default validations: ${validationMethod}`);\n }\n\n if (!validationRulesVal && !isFunction(validationsVal)) {\n throw new Error(`Formsy does not have the validation rule: ${validationMethod}`);\n }\n\n if (isFunction(validationsVal)) {\n const validation = validationsVal(currentValues, value);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n }\n\n return;\n }\n\n if (!isFunction(validationsVal) && isFunction(validationRulesVal)) {\n const validation = validationRulesVal(currentValues, value, validationsVal);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n } else {\n results.success.push(validationMethod);\n }\n return;\n }\n\n results.success.push(validationMethod);\n });\n }\n\n return results;\n}\n","import { ValidationFunction, Values } from './interfaces';\nimport {\n isString,\n isValueStringEmpty,\n isTypeUndefined,\n isValueNullOrUndefined,\n isNumber,\n isValueUndefined,\n} from './utils';\n\nconst isExisty = (value: V) => !isValueNullOrUndefined(value);\nconst isEmpty = (value: V) => {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n if (isTypeUndefined(value)) {\n return false;\n }\n return isValueUndefined(value);\n};\n\ninterface Validations {\n [key: string]: ValidationFunction;\n}\n\nconst validations: Validations = {\n isDefaultRequiredValue(_values: Values, value: V) {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n return isValueNullOrUndefined(value);\n },\n isExisty(_values: Values, value: V) {\n return isExisty(value);\n },\n matchRegexp(_values: Values, value: string, regexp: RegExp) {\n return !isExisty(value) || isEmpty(value) || regexp.test(value);\n },\n isUndefined(_values: Values, value: V) {\n return isValueUndefined(value);\n },\n isEmptyString(_values: Values, value: string) {\n return isEmpty(value);\n },\n isEmail(values: Values, value: string) {\n // Regex from http://emailregex.com/\n return validations.matchRegexp(\n values,\n value,\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i,\n );\n },\n isUrl(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/i);\n },\n isTrue(_values: Values, value: boolean | string) {\n return value === true;\n },\n isFalse(_values: Values, value: boolean | string) {\n return value === false;\n },\n isNumeric(values: Values, value: V) {\n if (isNumber(value)) {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][+-]?(?:\\d+))?$/);\n },\n isWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals(_values: Values, value: V, eql: V) {\n return !isExisty(value) || isEmpty(value) || value === eql;\n },\n equalsField(values: Values, value: V, field: string) {\n return value === values[field];\n },\n maxLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || value.length <= length;\n },\n minLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n};\n\nexport default validations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as utils from './utils';\nimport { RequiredValidation, Validations, WrappedComponentClass } from './interfaces';\n\n/* eslint-disable react/default-props-match-prop-types */\n\nconst convertValidationsToObject = (validations: false | Validations): Validations => {\n if (typeof validations === 'string') {\n return validations.split(/,(?![^{[]*[}\\]])/g).reduce((validationsAccumulator, validation) => {\n let args = validation.split(':');\n const validateMethod = args.shift();\n\n if (typeof validateMethod !== 'string') {\n throw new Error('Formsy encountered unexpected problem parsing validation string');\n }\n\n args = args.map(arg => {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg; // It is a string if it can not parse it\n }\n });\n\n if (args.length > 1) {\n throw new Error(\n 'Formsy does not support multiple args on string validations. Use object format of validations instead.',\n );\n }\n\n // Avoid parameter reassignment\n const validationsAccumulatorCopy: Validations = { ...validationsAccumulator };\n validationsAccumulatorCopy[validateMethod] = args.length ? args[0] : true;\n return validationsAccumulatorCopy;\n }, {});\n }\n\n return validations || {};\n};\n\nconst propTypes = {\n innerRef: PropTypes.func,\n name: PropTypes.string.isRequired,\n required: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string]),\n validations: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n};\n\nexport interface WrapperProps {\n innerRef?: (ref: any) => void;\n name: string;\n required?: RequiredValidation;\n validationError?: any;\n validationErrors?: any;\n validations?: Validations;\n value?: V;\n}\n\nexport interface WrapperState {\n [key: string]: unknown;\n externalError: null;\n formSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n pristineValue: any;\n validationError: any[];\n value: V;\n}\n\nexport interface InjectedProps {\n errorMessage: any;\n errorMessages: any;\n hasValue: boolean;\n isFormDisabled: boolean;\n isFormSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n isValidValue: (value: V) => boolean;\n ref?: any;\n resetValue: any;\n setValidations: any;\n setValue: (value: V) => void;\n showError: boolean;\n showRequired: boolean;\n}\n\nexport type PassDownProps = WrapperProps & InjectedProps;\n\nexport { propTypes };\n\nfunction getDisplayName(component: WrappedComponentClass) {\n return (\n (component as { displayName?: string }).displayName ||\n component.name ||\n (typeof component === 'string' ? component : 'Component')\n );\n}\n\nexport default function(\n WrappedComponent: React.ComponentType>,\n): React.ComponentType, keyof InjectedProps>> {\n return class extends React.Component, WrapperState> {\n public validations?: Validations;\n\n public requiredValidations?: Validations;\n\n public static displayName = `Formsy(${getDisplayName(WrappedComponent)})`;\n\n public static propTypes: any = propTypes;\n\n public static contextTypes = {\n formsy: PropTypes.object, // What about required?\n };\n\n public static defaultProps: any = {\n innerRef: null,\n required: false,\n validationError: '',\n validationErrors: {},\n validations: null,\n value: (WrappedComponent as any).defaultValue,\n };\n\n public constructor(props) {\n super(props);\n this.state = {\n externalError: null,\n formSubmitted: false,\n isPristine: true,\n isRequired: false,\n isValid: true,\n pristineValue: props.value,\n validationError: [],\n value: props.value,\n };\n }\n\n public componentDidMount() {\n const { validations, required, name } = this.props;\n const { formsy } = this.context;\n\n if (!name) {\n throw new Error('Form Input requires a name property when used');\n }\n\n this.setValidations(validations, required);\n\n // Pass a function instead?\n formsy.attachToForm(this);\n }\n\n public shouldComponentUpdate(nextProps, nextState, nextContext) {\n const {\n props,\n state,\n context: { formsy: formsyContext },\n } = this;\n const isPropsChanged = Object.keys(props).some(k => props[k] !== nextProps[k]);\n\n const isStateChanged = Object.keys(state).some(k => state[k] !== nextState[k]);\n\n const isFormsyContextChanged = Object.keys(formsyContext).some(k => formsyContext[k] !== nextContext.formsy[k]);\n\n return isPropsChanged || isStateChanged || isFormsyContextChanged;\n }\n\n public componentDidUpdate(prevProps) {\n const { value, validations, required } = this.props;\n const { formsy } = this.context;\n\n // If the value passed has changed, set it. If value is not passed it will\n // internally update, and this will never run\n if (!utils.isSame(value, prevProps.value)) {\n this.setValue(value);\n }\n\n // If validations or required is changed, run a new validation\n if (!utils.isSame(validations, prevProps.validations) || !utils.isSame(required, prevProps.required)) {\n this.setValidations(validations, required);\n formsy.validate(this);\n }\n }\n\n // Detach it when component unmounts\n // eslint-disable-next-line react/sort-comp\n public componentWillUnmount() {\n const { formsy } = this.context;\n formsy.detachFromForm(this);\n }\n\n public getErrorMessage = () => {\n const messages = this.getErrorMessages();\n return messages.length ? messages[0] : null;\n };\n\n public getErrorMessages = () => {\n const { externalError, validationError } = this.state;\n\n if (!this.isValid() || this.showRequired()) {\n return externalError || validationError || [];\n }\n return [];\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public getValue = () => this.state.value;\n\n public setValidations = (validations: Validations, required: RequiredValidation) => {\n // Add validations to the store itself as the props object can not be modified\n this.validations = convertValidationsToObject(validations) || {};\n this.requiredValidations =\n required === true ? { isDefaultRequiredValue: required } : convertValidationsToObject(required);\n };\n\n // By default, we validate after the value has been set.\n // A user can override this and pass a second parameter of `false` to skip validation.\n public setValue = (value, validate = true) => {\n const { formsy } = this.context;\n\n if (!validate) {\n this.setState({\n value,\n });\n } else {\n this.setState(\n {\n value,\n isPristine: false,\n },\n () => {\n formsy.validate(this);\n },\n );\n }\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public hasValue = () => {\n const { value } = this.state;\n if (typeof value === 'string') {\n return value !== '';\n }\n return value !== undefined;\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.context.formsy.isFormDisabled;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormSubmitted = () => this.state.formSubmitted;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isPristine = () => this.state.isPristine;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isRequired = () => !!this.props.required;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValid = () => this.state.isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValidValue = value => this.context.formsy.isValidValue.call(null, this, value);\n\n public resetValue = () => {\n const { pristineValue } = this.state;\n const { formsy } = this.context;\n\n this.setState(\n {\n value: pristineValue,\n isPristine: true,\n },\n () => {\n formsy.validate(this);\n },\n );\n };\n\n public showError = () => !this.showRequired() && !this.isValid();\n\n // eslint-disable-next-line react/destructuring-assignment\n public showRequired = () => this.state.isRequired;\n\n public render() {\n const { innerRef } = this.props;\n const propsForElement: PassDownProps = {\n ...this.props,\n errorMessage: this.getErrorMessage(),\n errorMessages: this.getErrorMessages(),\n hasValue: this.hasValue(),\n isFormDisabled: this.isFormDisabled(),\n isFormSubmitted: this.isFormSubmitted(),\n isPristine: this.isPristine(),\n isRequired: this.isRequired(),\n isValid: this.isValid(),\n isValidValue: this.isValidValue,\n resetValue: this.resetValue,\n setValidations: this.setValidations,\n setValue: this.setValue,\n showError: this.showError(),\n showRequired: this.showRequired(),\n value: this.getValue(),\n };\n\n if (innerRef) {\n propsForElement.ref = innerRef;\n }\n\n return React.createElement(WrappedComponent, propsForElement as any);\n }\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport formDataToObject from 'form-data-to-object';\n\nimport * as utils from './utils';\nimport validationRules from './validationRules';\nimport Wrapper, { propTypes } from './Wrapper';\n\nimport {\n IData,\n IModel,\n InputComponent,\n IResetModel,\n ISetInputValue,\n IUpdateInputsWithError,\n ValidationFunction,\n} from './interfaces';\n\ntype FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>;\n\n/* eslint-disable react/no-unused-state, react/default-props-match-prop-types */\nexport interface FormsyProps extends FormHTMLAttributesCleaned {\n disabled: boolean;\n getErrorMessage: any;\n getErrorMessages: any;\n getValue: any;\n hasValue: any;\n isFormDisabled: any;\n isFormSubmitted: any;\n isPristine: any;\n isRequired: any;\n isValid: any;\n isValidValue: any;\n mapping: null | ((model: IModel) => IModel);\n onChange: (model: IModel, isChanged: boolean) => void;\n onError: any;\n onInvalid: () => void;\n onInvalidSubmit: any;\n onReset?: () => void;\n onSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n onValid: () => void;\n onValidSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n preventExternalInvalidation?: boolean;\n resetValue: any;\n setValidations: any;\n setValue: any;\n showError: any;\n showRequired: any;\n validationErrors?: null | object;\n}\n\nexport interface FormsyState {\n canChange: boolean;\n formSubmitted?: boolean;\n isPristine?: boolean;\n isSubmitting: boolean;\n isValid: boolean;\n}\n\nclass Formsy extends React.Component {\n public inputs: any[];\n\n public emptyArray: any[];\n\n public prevInputNames: any[] | null = null;\n\n public static displayName = 'Formsy';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n getErrorMessage: PropTypes.func,\n getErrorMessages: PropTypes.func,\n getValue: PropTypes.func,\n hasValue: PropTypes.func,\n isFormDisabled: PropTypes.func,\n isFormSubmitted: PropTypes.func,\n isPristine: PropTypes.func,\n isRequired: PropTypes.func,\n isValid: PropTypes.func,\n isValidValue: PropTypes.func,\n mapping: PropTypes.func,\n onChange: PropTypes.func,\n onInvalid: PropTypes.func,\n onInvalidSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onValidSubmit: PropTypes.func,\n preventExternalInvalidation: PropTypes.bool,\n resetValue: PropTypes.func,\n setValidations: PropTypes.func,\n setValue: PropTypes.func,\n showError: PropTypes.func,\n showRequired: PropTypes.func,\n validationErrors: PropTypes.object, // eslint-disable-line\n };\n\n public static childContextTypes = {\n formsy: PropTypes.object,\n };\n\n public static defaultProps: Partial = {\n disabled: false,\n getErrorMessage: utils.noop,\n getErrorMessages: utils.noop,\n getValue: utils.noop,\n hasValue: utils.noop,\n isFormDisabled: utils.noop,\n isFormSubmitted: utils.noop,\n isPristine: utils.noop,\n isRequired: utils.noop,\n isValid: utils.noop,\n isValidValue: utils.noop,\n mapping: null,\n onChange: utils.noop,\n onError: utils.noop,\n onInvalid: utils.noop,\n onInvalidSubmit: utils.noop,\n onReset: utils.noop,\n onSubmit: utils.noop,\n onValid: utils.noop,\n onValidSubmit: utils.noop,\n preventExternalInvalidation: false,\n resetValue: utils.noop,\n setValidations: utils.noop,\n setValue: utils.noop,\n showError: utils.noop,\n showRequired: utils.noop,\n validationErrors: null,\n };\n\n public constructor(props: FormsyProps) {\n super(props);\n this.state = {\n canChange: false,\n isSubmitting: false,\n isValid: true,\n };\n this.inputs = [];\n this.emptyArray = [];\n }\n\n public getChildContext = () => ({\n formsy: {\n attachToForm: this.attachToForm,\n detachFromForm: this.detachFromForm,\n isFormDisabled: this.isFormDisabled(),\n isValidValue: this.isValidValue,\n validate: this.validate,\n },\n });\n\n public componentDidMount = () => {\n this.prevInputNames = this.inputs.map(component => component.props.name);\n this.validateForm();\n };\n\n public componentDidUpdate = () => {\n const { validationErrors } = this.props;\n\n if (validationErrors && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n this.setInputValidationErrors(validationErrors);\n }\n\n const newInputNames = this.inputs.map(component => component.props.name);\n if (this.prevInputNames && !utils.isSame(this.prevInputNames, newInputNames)) {\n this.prevInputNames = newInputNames;\n this.validateForm();\n }\n };\n\n public getCurrentValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name },\n state: { value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public getModel = () => {\n const currentValues = this.getCurrentValues();\n return this.mapModel(currentValues);\n };\n\n public getPristineValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name, value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public setFormPristine = (isPristine: boolean) => {\n this.setState({\n formSubmitted: !isPristine,\n });\n\n // Iterate through each component and set it as pristine\n // or \"dirty\".\n this.inputs.forEach(component => {\n component.setState({\n formSubmitted: !isPristine,\n isPristine,\n });\n });\n };\n\n public setInputValidationErrors = errors => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n this.inputs.forEach(component => {\n const { name } = component.props;\n const args = [\n {\n isValid: !(name in errors),\n validationError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (!preventExternalInvalidation && isValid) {\n this.setFormValidState(false);\n }\n };\n\n public setFormValidState = (allIsValid: boolean) => {\n const { onValid, onInvalid } = this.props;\n\n this.setState({\n isValid: allIsValid,\n });\n\n if (allIsValid) {\n onValid();\n } else {\n onInvalid();\n }\n };\n\n public isValidValue = (component, value) => this.runValidation(component, value).isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.props.disabled;\n\n public mapModel = (model: IModel) => {\n const { mapping } = this.props;\n\n if (mapping) {\n return mapping(model);\n }\n\n return formDataToObject.toObj(\n Object.keys(model).reduce((mappedModel, key) => {\n const keyArray = key.split('.');\n let base: IModel = mappedModel;\n while (keyArray.length) {\n const currentKey = keyArray.shift() as string;\n base[currentKey] = keyArray.length ? base[currentKey] || {} : model[key];\n base = base[currentKey];\n }\n return mappedModel;\n }, {}),\n );\n };\n\n public reset = (data?: IData) => {\n this.setFormPristine(true);\n this.resetModel(data);\n };\n\n public resetInternal = event => {\n const { onReset } = this.props;\n\n event.preventDefault();\n this.reset();\n if (onReset) {\n onReset();\n }\n };\n\n // Reset each key in the model to the original / initial / specified value\n public resetModel: IResetModel = data => {\n this.inputs.forEach(component => {\n const { name } = component.props;\n if (data && Object.prototype.hasOwnProperty.call(data, name)) {\n component.setValue(data[name]);\n } else {\n component.resetValue();\n }\n });\n this.validateForm();\n };\n\n // Set the value of one component\n public setValue: ISetInputValue = (name, value, validate) => {\n const input = this.inputs.find(component => component.props.name === name);\n if (input) {\n input.setValue(value, validate);\n }\n };\n\n // Checks validation on current value or a passed value\n public runValidation = (component: InputComponent, value = component.state.value) => {\n const { validationErrors } = this.props;\n const currentValues = this.getCurrentValues();\n const validationResults = utils.runRules(value, currentValues, component.validations, validationRules);\n const requiredResults = utils.runRules(value, currentValues, component.requiredValidations, validationRules);\n const isRequired = Object.keys(component.requiredValidations).length ? !!requiredResults.success.length : false;\n const isValid = !validationResults.failed.length && !(validationErrors && validationErrors[component.props.name]);\n\n return {\n isRequired,\n isValid: isRequired ? false : isValid,\n error: (() => {\n if (isValid && !isRequired) {\n return this.emptyArray;\n }\n\n if (validationResults.errors.length) {\n return validationResults.errors;\n }\n\n if (validationErrors && validationErrors[component.props.name]) {\n return typeof validationErrors[component.props.name] === 'string'\n ? [validationErrors[component.props.name]]\n : validationErrors[component.props.name];\n }\n\n if (isRequired) {\n const error = component.props.validationErrors[requiredResults.success[0]] || component.props.validationError;\n return error ? [error] : null;\n }\n\n if (validationResults.failed.length) {\n return validationResults.failed\n .map(failed =>\n component.props.validationErrors[failed]\n ? component.props.validationErrors[failed]\n : component.props.validationError,\n )\n .filter((x, pos, arr) => arr.indexOf(x) === pos); // remove duplicates\n }\n\n return undefined;\n })(),\n };\n };\n\n // Method put on each input component to register\n // itself to the form\n public attachToForm = component => {\n if (this.inputs.indexOf(component) === -1) {\n this.inputs.push(component);\n }\n\n this.validate(component);\n };\n\n // Method put on each input component to unregister\n // itself from the form\n public detachFromForm = (component: InputComponent) => {\n const componentPos = this.inputs.indexOf(component);\n\n if (componentPos !== -1) {\n this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));\n }\n\n this.validateForm();\n };\n\n // Checks if the values have changed from their initial value\n public isChanged = () => !utils.isSame(this.getPristineValues(), this.getCurrentValues());\n\n // Update model, submit to url prop and send the model\n public submit = event => {\n const { onSubmit, onValidSubmit, onInvalidSubmit } = this.props;\n const { isValid } = this.state;\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n // Trigger form as not pristine.\n // If any inputs have not been touched yet this will make them dirty\n // so validation becomes visible (if based on isPristine)\n this.setFormPristine(false);\n const model = this.getModel();\n onSubmit(model, this.resetModel, this.updateInputsWithError);\n if (isValid) {\n onValidSubmit(model, this.resetModel, this.updateInputsWithError);\n } else {\n onInvalidSubmit(model, this.resetModel, this.updateInputsWithError);\n }\n };\n\n // Go through errors from server and grab the components\n // stored in the inputs map. Change their state to invalid\n // and set the serverError message\n public updateInputsWithError: IUpdateInputsWithError = (errors, invalidate) => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n Object.keys(errors).forEach(name => {\n const component = this.inputs.find(input => input.props.name === name);\n if (!component) {\n throw new Error(\n `You are trying to update an input that does not exist. Verify errors object with input names. ${JSON.stringify(\n errors,\n )}`,\n );\n }\n const args = [\n {\n isValid: preventExternalInvalidation,\n externalError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (invalidate && isValid) {\n this.setFormValidState(false);\n }\n };\n\n // Use the binded values and the actual input value to\n // validate the input and set its state. Then check the\n // state of the form itself\n public validate = (component: InputComponent) => {\n const { onChange } = this.props;\n const { canChange } = this.state;\n\n // Trigger onChange\n if (canChange) {\n onChange(this.getModel(), this.isChanged());\n }\n\n const validation = this.runValidation(component);\n // Run through the validations, split them up and call\n // the validator IF there is a value or it is required\n component.setState(\n {\n externalError: null,\n isRequired: validation.isRequired,\n isValid: validation.isValid,\n validationError: validation.error,\n },\n this.validateForm,\n );\n };\n\n // Validate the form by going through all child input components\n // and check their state\n public validateForm = () => {\n // We need a callback as we are validating all inputs again. This will\n // run when the last component has set its state\n const onValidationComplete = () => {\n const allIsValid = this.inputs.every(component => component.state.isValid);\n\n this.setFormValidState(allIsValid);\n\n // Tell the form that it can start to trigger change events\n this.setState({\n canChange: true,\n });\n };\n\n // Run validation again in case affected by other inputs. The\n // last component validated will run the onValidationComplete callback\n this.inputs.forEach((component, index) => {\n const validation = this.runValidation(component);\n if (validation.isValid && component.state.externalError) {\n validation.isValid = false;\n }\n component.setState(\n {\n isValid: validation.isValid,\n isRequired: validation.isRequired,\n validationError: validation.error,\n externalError: !validation.isValid && component.state.externalError ? component.state.externalError : null,\n },\n index === this.inputs.length - 1 ? onValidationComplete : null,\n );\n });\n\n // If there are no inputs, set state where form is ready to trigger\n // change event. New inputs might be added later\n if (!this.inputs.length) {\n this.setState({\n canChange: true,\n });\n }\n };\n\n public render = () => {\n const {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n getErrorMessage,\n getErrorMessages,\n getValue,\n hasValue,\n isFormDisabled,\n isFormSubmitted,\n isPristine,\n isRequired,\n isValid,\n isValidValue,\n mapping,\n onChange,\n onInvalid,\n onInvalidSubmit,\n onReset,\n onSubmit,\n onValid,\n onValidSubmit,\n preventExternalInvalidation,\n resetValue,\n setValidations,\n setValue,\n showError,\n showRequired,\n validationErrors,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...nonFormsyProps\n } = this.props;\n\n return React.createElement(\n 'form',\n {\n onReset: this.resetInternal,\n onSubmit: this.submit,\n ...nonFormsyProps,\n disabled: false,\n },\n // eslint-disable-next-line react/destructuring-assignment\n this.props.children,\n );\n };\n}\n\nconst addValidationRule = (name: string, func: ValidationFunction) => {\n validationRules[name] = func;\n};\n\nexport { addValidationRule, propTypes, validationRules, Wrapper as withFormsy };\n\nexport default Formsy;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","isArray","value","Array","isObject","isTypeUndefined","isDate","Date","isFunction","isString","isNumber","isValueStringEmpty","isValueNullOrUndefined","undefined","isValueUndefined","noop","cloneIfObject","isSame","a","b","length","every","item","index","toString","Object","keys","key","runRules","currentValues","validations","validationRules","results","errors","failed","success","forEach","validationMethod","validationsVal","validationRulesVal","Error","validation","push","isExisty","isEmpty","isDefaultRequiredValue","_values","matchRegexp","regexp","test","isUndefined","isEmptyString","isEmail","values","isUrl","isTrue","isFalse","isNumeric","isAlpha","isAlphanumeric","isInt","isFloat","isWords","isSpecialWords","isLength","equals","eql","equalsField","field","maxLength","minLength","convertValidationsToObject","split","reduce","validationsAccumulator","args","validateMethod","shift","map","arg","JSON","parse","e","validationsAccumulatorCopy","propTypes","innerRef","PropTypes","func","name","string","isRequired","required","oneOfType","bool","object","any","getDisplayName","component","displayName","WrappedComponent","props","requiredValidations","getErrorMessage","messages","getErrorMessages","state","externalError","validationError","isValid","showRequired","getValue","setValidations","setValue","validate","formsy","context","setState","isPristine","hasValue","isFormDisabled","isFormSubmitted","formSubmitted","isValidValue","call","resetValue","pristineValue","showError","attachToForm","nextProps","nextState","nextContext","formsyContext","isPropsChanged","some","k","isStateChanged","isFormsyContextChanged","prevProps","utils","detachFromForm","propsForElement","errorMessage","errorMessages","ref","React","createElement","Component","contextTypes","defaultProps","validationErrors","defaultValue","Formsy","inputs","emptyArray","prevInputNames","getChildContext","componentDidMount","validateForm","componentDidUpdate","setInputValidationErrors","newInputNames","getCurrentValues","valueAccumulator","getModel","mapModel","getPristineValues","setFormPristine","preventExternalInvalidation","setFormValidState","allIsValid","onValid","onInvalid","runValidation","disabled","model","mapping","formDataToObject","toObj","mappedModel","keyArray","base","currentKey","reset","data","resetModel","resetInternal","event","onReset","preventDefault","prototype","hasOwnProperty","input","find","validationResults","requiredResults","error","filter","x","pos","arr","indexOf","componentPos","slice","concat","isChanged","submit","onSubmit","onValidSubmit","onInvalidSubmit","updateInputsWithError","invalidate","stringify","onChange","canChange","onValidationComplete","render","nonFormsyProps","children","isSubmitting","childContextTypes","onError","addValidationRule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASa,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACpE,IAAI,CAAC,CAAC,UAAU,GAAG,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;EAC1gB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EAC1e,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;EACtR,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;EACpe,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACd5c,AAUA;AACA;AACA;EACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC3C,EAAE,CAAC,WAAW;AACd,AACA;EACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D;EACA;EACA;EACA,IAAI,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC;EAC3D,IAAI,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;EAC1E,IAAI,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;EACxE,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;EAC5E,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;EAClF,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;EAC5E,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;EAC5E,IAAI,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;EAC1E;AACA;EACA,IAAI,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;EAChF,IAAI,0BAA0B,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC;EAC1F,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;EAClF,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;EAC5E,IAAI,wBAAwB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC;EACtF,IAAI,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;EACpE,IAAI,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;EACpE,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;EAClF,IAAI,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;EAC9E,IAAI,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;AACtE;EACA,SAAS,kBAAkB,CAAC,IAAI,EAAE;EAClC,EAAE,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,UAAU;EAC/D,EAAE,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,0BAA0B,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,wBAAwB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,IAAI,IAAI,CAAC,QAAQ,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC;EAChkB,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,8BAA8B,GAAG,YAAY,EAAE,CAAC;AACpD;EACA;EACA,EAAE,IAAI,YAAY,GAAG,UAAU,MAAM,EAAE;EACvC,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;EAChH,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;EACvC,KAAK;AACL;EACA,IAAI,IAAI,QAAQ,GAAG,CAAC,CAAC;EACrB,IAAI,IAAI,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY;EAClE,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;EAC9B,KAAK,CAAC,CAAC;AACP;EACA,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;EACxC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC5B,KAAK;AACL;EACA,IAAI,IAAI;EACR;EACA;EACA;EACA,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC/B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;EAClB,GAAG,CAAC;AACJ;EACA,EAAE,8BAA8B,GAAG,UAAU,SAAS,EAAE,MAAM,EAAE;EAChE,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;EAC9B,MAAM,MAAM,IAAI,KAAK,CAAC,kFAAkF,GAAG,kBAAkB,CAAC,CAAC;EAC/H,KAAK;AACL;EACA,IAAI,IAAI,CAAC,SAAS,EAAE;EACpB,MAAM,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;EACzH,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;EAC3C,OAAO;AACP;EACA,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;EACxD,KAAK;EACL,GAAG,CAAC;EACJ,CAAC;AACD;EACA,IAAI,gCAAgC,GAAG,8BAA8B,CAAC;AACtE;EACA,SAAS,MAAM,CAAC,MAAM,EAAE;EACxB,EAAE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;EACrD,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACnC;EACA,IAAI,QAAQ,QAAQ;EACpB,MAAM,KAAK,kBAAkB;EAC7B,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B;EACA,QAAQ,QAAQ,IAAI;EACpB,UAAU,KAAK,qBAAqB,CAAC;EACrC,UAAU,KAAK,0BAA0B,CAAC;EAC1C,UAAU,KAAK,mBAAmB,CAAC;EACnC,UAAU,KAAK,mBAAmB,CAAC;EACnC,UAAU,KAAK,sBAAsB,CAAC;EACtC,UAAU,KAAK,mBAAmB;EAClC,YAAY,OAAO,IAAI,CAAC;AACxB;EACA,UAAU;EACV,YAAY,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AACrD;EACA,YAAY,QAAQ,YAAY;EAChC,cAAc,KAAK,kBAAkB,CAAC;EACtC,cAAc,KAAK,sBAAsB,CAAC;EAC1C,cAAc,KAAK,eAAe,CAAC;EACnC,cAAc,KAAK,eAAe,CAAC;EACnC,cAAc,KAAK,mBAAmB;EACtC,gBAAgB,OAAO,YAAY,CAAC;AACpC;EACA,cAAc;EACd,gBAAgB,OAAO,QAAQ,CAAC;EAChC,aAAa;AACb;EACA,SAAS;AACT;EACA,MAAM,KAAK,iBAAiB;EAC5B,QAAQ,OAAO,QAAQ,CAAC;EACxB,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,SAAS,CAAC;EACnB,CAAC;AACD;EACA,IAAI,SAAS,GAAG,qBAAqB,CAAC;EACtC,IAAI,cAAc,GAAG,0BAA0B,CAAC;EAChD,IAAI,eAAe,GAAG,kBAAkB,CAAC;EACzC,IAAI,eAAe,GAAG,mBAAmB,CAAC;EAC1C,IAAI,OAAO,GAAG,kBAAkB,CAAC;EACjC,IAAI,UAAU,GAAG,sBAAsB,CAAC;EACxC,IAAI,QAAQ,GAAG,mBAAmB,CAAC;EACnC,IAAI,IAAI,GAAG,eAAe,CAAC;EAC3B,IAAI,IAAI,GAAG,eAAe,CAAC;EAC3B,IAAI,MAAM,GAAG,iBAAiB,CAAC;EAC/B,IAAI,QAAQ,GAAG,mBAAmB,CAAC;EACnC,IAAI,UAAU,GAAG,sBAAsB,CAAC;EACxC,IAAI,QAAQ,GAAG,mBAAmB,CAAC;EACnC,IAAI,mCAAmC,GAAG,KAAK,CAAC;AAChD;EACA,SAAS,WAAW,CAAC,MAAM,EAAE;EAC7B,EAAE;EACF,IAAI,IAAI,CAAC,mCAAmC,EAAE;EAC9C,MAAM,mCAAmC,GAAG,IAAI,CAAC;EACjD,MAAM,gCAAgC,CAAC,KAAK,EAAE,uDAAuD,GAAG,4DAA4D,GAAG,gEAAgE,CAAC,CAAC;EACzO,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAC;EAC9E,CAAC;EACD,SAAS,gBAAgB,CAAC,MAAM,EAAE;EAClC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,0BAA0B,CAAC;EACvD,CAAC;EACD,SAAS,iBAAiB,CAAC,MAAM,EAAE;EACnC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC;EAC/C,CAAC;EACD,SAAS,iBAAiB,CAAC,MAAM,EAAE;EACnC,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;EAChD,CAAC;EACD,SAAS,SAAS,CAAC,MAAM,EAAE;EAC3B,EAAE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC;EACjG,CAAC;EACD,SAAS,YAAY,CAAC,MAAM,EAAE;EAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC;EACnD,CAAC;EACD,SAAS,UAAU,CAAC,MAAM,EAAE;EAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;EAChD,CAAC;EACD,SAAS,MAAM,CAAC,MAAM,EAAE;EACxB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC;EAC5C,CAAC;EACD,SAAS,MAAM,CAAC,MAAM,EAAE;EACxB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC;EAC5C,CAAC;EACD,SAAS,QAAQ,CAAC,MAAM,EAAE;EAC1B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC;EAC9C,CAAC;EACD,SAAS,UAAU,CAAC,MAAM,EAAE;EAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;EAChD,CAAC;EACD,SAAS,YAAY,CAAC,MAAM,EAAE;EAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC;EACnD,CAAC;EACD,SAAS,UAAU,CAAC,MAAM,EAAE;EAC5B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC;EAChD,CAAC;AACD;EACA,cAAc,GAAG,MAAM,CAAC;EACxB,iBAAiB,GAAG,SAAS,CAAC;EAC9B,sBAAsB,GAAG,cAAc,CAAC;EACxC,uBAAuB,GAAG,eAAe,CAAC;EAC1C,uBAAuB,GAAG,eAAe,CAAC;EAC1C,eAAe,GAAG,OAAO,CAAC;EAC1B,kBAAkB,GAAG,UAAU,CAAC;EAChC,gBAAgB,GAAG,QAAQ,CAAC;EAC5B,YAAY,GAAG,IAAI,CAAC;EACpB,YAAY,GAAG,IAAI,CAAC;EACpB,cAAc,GAAG,MAAM,CAAC;EACxB,gBAAgB,GAAG,QAAQ,CAAC;EAC5B,kBAAkB,GAAG,UAAU,CAAC;EAChC,gBAAgB,GAAG,QAAQ,CAAC;EAC5B,0BAA0B,GAAG,kBAAkB,CAAC;EAChD,mBAAmB,GAAG,WAAW,CAAC;EAClC,wBAAwB,GAAG,gBAAgB,CAAC;EAC5C,yBAAyB,GAAG,iBAAiB,CAAC;EAC9C,yBAAyB,GAAG,iBAAiB,CAAC;EAC9C,iBAAiB,GAAG,SAAS,CAAC;EAC9B,oBAAoB,GAAG,YAAY,CAAC;EACpC,kBAAkB,GAAG,UAAU,CAAC;EAChC,cAAc,GAAG,MAAM,CAAC;EACxB,cAAc,GAAG,MAAM,CAAC;EACxB,gBAAgB,GAAG,QAAQ,CAAC;EAC5B,kBAAkB,GAAG,UAAU,CAAC;EAChC,oBAAoB,GAAG,YAAY,CAAC;EACpC,kBAAkB,GAAG,UAAU,CAAC;EAChC,GAAG,GAAG,CAAC;EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3OA,AACA;EACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC3C,EAAE,cAAc,GAAGA,sBAA2C,CAAC;EAC/D,CAAC,MAAM;EACP,EAAE,cAAc,GAAGC,mBAAwC,CAAC;EAC5D;;;ECNA;EACA;EACA;EACA;EACA;AACA,EAEA;EACA,IAAI,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;EACzD,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;EACrD,IAAI,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AAC7D;EACA,SAAS,QAAQ,CAAC,GAAG,EAAE;EACvB,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;EACxC,EAAE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;EAC/E,EAAE;AACF;EACA,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;EACpB,CAAC;AACD;EACA,SAAS,eAAe,GAAG;EAC3B,CAAC,IAAI;EACL,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;EACtB,GAAG,OAAO,KAAK,CAAC;EAChB,GAAG;AACH;EACA;AACA;EACA;EACA,EAAE,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;EAChC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;EAClB,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;EACpD,GAAG,OAAO,KAAK,CAAC;EAChB,GAAG;AACH;EACA;EACA,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;EACjB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;EAC/B,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EAC3C,GAAG;EACH,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;EAClE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;EACnB,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE;EACxC,GAAG,OAAO,KAAK,CAAC;EAChB,GAAG;AACH;EACA;EACA,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;EACjB,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE;EAC7D,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;EAC1B,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;EACpD,IAAI,sBAAsB,EAAE;EAC5B,GAAG,OAAO,KAAK,CAAC;EAChB,GAAG;AACH;EACA,EAAE,OAAO,IAAI,CAAC;EACd,EAAE,CAAC,OAAO,GAAG,EAAE;EACf;EACA,EAAE,OAAO,KAAK,CAAC;EACf,EAAE;EACF,CAAC;AACD;EACA,gBAAc,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,MAAM,EAAE,MAAM,EAAE;EAC/E,CAAC,IAAI,IAAI,CAAC;EACV,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC3B,CAAC,IAAI,OAAO,CAAC;AACb;EACA,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC5C,EAAE,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B;EACA,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;EACxB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;EACvC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;EACxB,IAAI;EACJ,GAAG;AACH;EACA,EAAE,IAAI,qBAAqB,EAAE;EAC7B,GAAG,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;EACzC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC5C,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;EACjD,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACvC,KAAK;EACL,IAAI;EACJ,GAAG;EACH,EAAE;AACF;EACA,CAAC,OAAO,EAAE,CAAC;EACX,CAAC;;ECzFD;EACA;EACA;EACA;EACA;EACA;AACA,AAEA;EACA,IAAI,oBAAoB,GAAG,8CAA8C,CAAC;AAC1E;EACA,0BAAc,GAAG,oBAAoB;;ECFrC,IAAI,YAAY,GAAG,WAAW,EAAE,CAAC;AACjC;EACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC3C,EAAE,IAAIC,sBAAoB,GAAGF,sBAAqC,CAAC;EACnE,EAAE,IAAI,kBAAkB,GAAG,EAAE,CAAC;EAC9B,EAAE,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAChE;EACA,EAAE,YAAY,GAAG,SAAS,IAAI,EAAE;EAChC,IAAI,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;EACrC,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;EACxC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAC7B,KAAK;EACL,IAAI,IAAI;EACR;EACA;EACA;EACA,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC/B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;EAClB,GAAG,CAAC;EACJ,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;EAC9E,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC7C,IAAI,KAAK,IAAI,YAAY,IAAI,SAAS,EAAE;EACxC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;EACxC,QAAQ,IAAI,KAAK,CAAC;EAClB;EACA;EACA;EACA,QAAQ,IAAI;EACZ;EACA;EACA,UAAU,IAAI,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE;EAC7D,YAAY,IAAI,GAAG,GAAG,KAAK;EAC3B,cAAc,CAAC,aAAa,IAAI,aAAa,IAAI,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,gBAAgB;EAC9G,cAAc,8EAA8E,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI;EACpI,aAAa,CAAC;EACd,YAAY,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;EAC7C,YAAY,MAAM,GAAG,CAAC;EACtB,WAAW;EACX,UAAU,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAEE,sBAAoB,CAAC,CAAC;EACrH,SAAS,CAAC,OAAO,EAAE,EAAE;EACrB,UAAU,KAAK,GAAG,EAAE,CAAC;EACrB,SAAS;EACT,QAAQ,IAAI,KAAK,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE;EAChD,UAAU,YAAY;EACtB,YAAY,CAAC,aAAa,IAAI,aAAa,IAAI,0BAA0B;EACzE,YAAY,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,iCAAiC;EAC9E,YAAY,2DAA2D,GAAG,OAAO,KAAK,GAAG,IAAI;EAC7F,YAAY,iEAAiE;EAC7E,YAAY,gEAAgE;EAC5E,YAAY,iCAAiC;EAC7C,WAAW,CAAC;EACZ,SAAS;EACT,QAAQ,IAAI,KAAK,YAAY,KAAK,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,EAAE;EAC9E;EACA;EACA,UAAU,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AACnD;EACA,UAAU,IAAI,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC;AACjD;EACA,UAAU,YAAY;EACtB,YAAY,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;EAC3F,WAAW,CAAC;EACZ,SAAS;EACT,OAAO;EACP,KAAK;EACL,GAAG;EACH,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA,cAAc,CAAC,iBAAiB,GAAG,WAAW;EAC9C,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC7C,IAAI,kBAAkB,GAAG,EAAE,CAAC;EAC5B,GAAG;EACH,EAAC;AACD;EACA,oBAAc,GAAG,cAAc;;ECtF/B,IAAIC,KAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;EAC9D,IAAIC,cAAY,GAAG,WAAW,EAAE,CAAC;AACjC;EACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC3C,EAAEA,cAAY,GAAG,SAAS,IAAI,EAAE;EAChC,IAAI,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;EACrC,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;EACxC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAC7B,KAAK;EACL,IAAI,IAAI;EACR;EACA;EACA;EACA,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC/B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE;EAClB,GAAG,CAAC;EACJ,CAAC;AACD;EACA,SAAS,4BAA4B,GAAG;EACxC,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;AACD;EACA,2BAAc,GAAG,SAAS,cAAc,EAAE,mBAAmB,EAAE;EAC/D;EACA,EAAE,IAAI,eAAe,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC;EACxE,EAAE,IAAI,oBAAoB,GAAG,YAAY,CAAC;AAC1C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,aAAa,CAAC,aAAa,EAAE;EACxC,IAAI,IAAI,UAAU,GAAG,aAAa,KAAK,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;EACjI,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;EAC1C,MAAM,OAAO,UAAU,CAAC;EACxB,KAAK;EACL,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,EAAE,IAAI,SAAS,GAAG,eAAe,CAAC;AAClC;EACA;EACA;EACA,EAAE,IAAI,cAAc,GAAG;EACvB,IAAI,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;EAC9C,IAAI,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC;EAC/C,IAAI,IAAI,EAAE,0BAA0B,CAAC,UAAU,CAAC;EAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;EAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;EAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;EAChD,IAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;AAChD;EACA,IAAI,GAAG,EAAE,oBAAoB,EAAE;EAC/B,IAAI,OAAO,EAAE,wBAAwB;EACrC,IAAI,OAAO,EAAE,wBAAwB,EAAE;EACvC,IAAI,WAAW,EAAE,4BAA4B,EAAE;EAC/C,IAAI,UAAU,EAAE,yBAAyB;EACzC,IAAI,IAAI,EAAE,iBAAiB,EAAE;EAC7B,IAAI,QAAQ,EAAE,yBAAyB;EACvC,IAAI,KAAK,EAAE,qBAAqB;EAChC,IAAI,SAAS,EAAE,sBAAsB;EACrC,IAAI,KAAK,EAAE,sBAAsB;EACjC,IAAI,KAAK,EAAE,4BAA4B;EACvC,GAAG,CAAC;AACJ;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;EACpB;EACA,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;EACjB;EACA;EACA,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;EACxC,KAAK,MAAM;EACX;EACA,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAChC,KAAK;EACL,GAAG;EACH;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,aAAa,CAAC,OAAO,EAAE;EAClC,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;EAC3B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;EACpB,GAAG;EACH;EACA,EAAE,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAC5C;EACA,EAAE,SAAS,0BAA0B,CAAC,QAAQ,EAAE;EAChD,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC/C,MAAM,IAAI,uBAAuB,GAAG,EAAE,CAAC;EACvC,MAAM,IAAI,0BAA0B,GAAG,CAAC,CAAC;EACzC,KAAK;EACL,IAAI,SAAS,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;EACnG,MAAM,aAAa,GAAG,aAAa,IAAI,SAAS,CAAC;EACjD,MAAM,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC;AAC9C;EACA,MAAM,IAAI,MAAM,KAAKF,sBAAoB,EAAE;EAC3C,QAAQ,IAAI,mBAAmB,EAAE;EACjC;EACA,UAAU,IAAI,GAAG,GAAG,IAAI,KAAK;EAC7B,YAAY,sFAAsF;EAClG,YAAY,iDAAiD;EAC7D,YAAY,gDAAgD;EAC5D,WAAW,CAAC;EACZ,UAAU,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;EAC3C,UAAU,MAAM,GAAG,CAAC;EACpB,SAAS,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;EAC5F;EACA,UAAU,IAAI,QAAQ,GAAG,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC;EACxD,UAAU;EACV,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC;EAC9C;EACA,YAAY,0BAA0B,GAAG,CAAC;EAC1C,YAAY;EACZ,YAAYE,cAAY;EACxB,cAAc,wDAAwD;EACtE,cAAc,oBAAoB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,IAAI,wBAAwB;EAC7G,cAAc,yDAAyD;EACvE,cAAc,gEAAgE;EAC9E,cAAc,+DAA+D,GAAG,cAAc;EAC9F,aAAa,CAAC;EACd,YAAY,uBAAuB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;EACrD,YAAY,0BAA0B,EAAE,CAAC;EACzC,WAAW;EACX,SAAS;EACT,OAAO;EACP,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;EACnC,QAAQ,IAAI,UAAU,EAAE;EACxB,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;EACxC,YAAY,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,0BAA0B,IAAI,MAAM,GAAG,aAAa,GAAG,6BAA6B,CAAC,CAAC,CAAC;EACtK,WAAW;EACX,UAAU,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,6BAA6B,IAAI,GAAG,GAAG,aAAa,GAAG,kCAAkC,CAAC,CAAC,CAAC;EACzK,SAAS;EACT,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO,MAAM;EACb,QAAQ,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;EAChF,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;EACvD,IAAI,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7D;EACA,IAAI,OAAO,gBAAgB,CAAC;EAC5B,GAAG;AACH;EACA,EAAE,SAAS,0BAA0B,CAAC,YAAY,EAAE;EACpD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;EACtF,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC5C,MAAM,IAAI,QAAQ,KAAK,YAAY,EAAE;EACrC;EACA;EACA;EACA,QAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD;EACA,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC,IAAI,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;EACtM,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,oBAAoB,GAAG;EAClC,IAAI,OAAO,0BAA0B,CAAC,4BAA4B,CAAC,CAAC;EACpE,GAAG;AACH;EACA,EAAE,SAAS,wBAAwB,CAAC,WAAW,EAAE;EACjD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;EAC7C,QAAQ,OAAO,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,iDAAiD,CAAC,CAAC;EACvJ,OAAO;EACP,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;EACrC,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC9C,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC;EAC9K,OAAO;EACP,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACjD,QAAQ,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAEF,sBAAoB,CAAC,CAAC;EAC3H,QAAQ,IAAI,KAAK,YAAY,KAAK,EAAE;EACpC,UAAU,OAAO,KAAK,CAAC;EACvB,SAAS;EACT,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,wBAAwB,GAAG;EACtC,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;EACtC,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC9C,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,oCAAoC,CAAC,CAAC,CAAC;EAC3L,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,4BAA4B,GAAG;EAC1C,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,CAACG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;EAClD,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC9C,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,yCAAyC,CAAC,CAAC,CAAC;EAChM,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,yBAAyB,CAAC,aAAa,EAAE;EACpD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,aAAa,CAAC,EAAE;EACvD,QAAQ,IAAI,iBAAiB,GAAG,aAAa,CAAC,IAAI,IAAI,SAAS,CAAC;EAChE,QAAQ,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;EAC5D,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,eAAe,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC,IAAI,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;EAC3N,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,qBAAqB,CAAC,cAAc,EAAE;EACjD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;EACxC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EACjD,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;EAClC,UAAUD,cAAY;EACtB,YAAY,8DAA8D,GAAG,SAAS,CAAC,MAAM,GAAG,cAAc;EAC9G,YAAY,0EAA0E;EACtF,WAAW,CAAC;EACZ,SAAS,MAAM;EACf,UAAUA,cAAY,CAAC,wDAAwD,CAAC,CAAC;EACjF,SAAS;EACT,OAAO;EACP,MAAM,OAAO,4BAA4B,CAAC;EAC1C,KAAK;AACL;EACA,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACtD,QAAQ,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;EAC9C,UAAU,OAAO,IAAI,CAAC;EACtB,SAAS;EACT,OAAO;AACP;EACA,MAAM,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE;EACtF,QAAQ,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;EACzC,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;EAC/B,UAAU,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;EAC/B,SAAS;EACT,QAAQ,OAAO,KAAK,CAAC;EACrB,OAAO,CAAC,CAAC;EACT,MAAM,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,qBAAqB,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;EACzM,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,yBAAyB,CAAC,WAAW,EAAE;EAClD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;EAC7C,QAAQ,OAAO,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,kDAAkD,CAAC,CAAC;EACxJ,OAAO;EACP,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC5C,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;EACjC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,wBAAwB,CAAC,CAAC,CAAC;EAC/K,OAAO;EACP,MAAM,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;EACjC,QAAQ,IAAID,KAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;EACjC,UAAU,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAED,sBAAoB,CAAC,CAAC;EAC3H,UAAU,IAAI,KAAK,YAAY,KAAK,EAAE;EACtC,YAAY,OAAO,KAAK,CAAC;EACzB,WAAW;EACX,SAAS;EACT,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,sBAAsB,CAAC,mBAAmB,EAAE;EACvD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;EAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAGE,cAAY,CAAC,wEAAwE,CAAC,GAAG,KAAK,CAAC,CAAC;EAC9I,MAAM,OAAO,4BAA4B,CAAC;EAC1C,KAAK;AACL;EACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACzD,MAAM,IAAI,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;EAC3C,MAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;EACzC,QAAQA,cAAY;EACpB,UAAU,oFAAoF;EAC9F,UAAU,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,GAAG;EAClF,SAAS,CAAC;EACV,QAAQ,OAAO,4BAA4B,CAAC;EAC5C,OAAO;EACP,KAAK;AACL;EACA,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC3D,QAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;EAC7C,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAEF,sBAAoB,CAAC,IAAI,IAAI,EAAE;EAC3G,UAAU,OAAO,IAAI,CAAC;EACtB,SAAS;EACT,OAAO;AACP;EACA,MAAM,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;EAC9H,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,iBAAiB,GAAG;EAC/B,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;EACpC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,GAAG,0BAA0B,CAAC,CAAC,CAAC;EACtJ,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,sBAAsB,CAAC,UAAU,EAAE;EAC9C,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC5C,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;EACjC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC;EAC9K,OAAO;EACP,MAAM,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;EAClC,QAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;EACtC,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,SAAS;EACnB,SAAS;EACT,QAAQ,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAEA,sBAAoB,CAAC,CAAC;EACrH,QAAQ,IAAI,KAAK,EAAE;EACnB,UAAU,OAAO,KAAK,CAAC;EACvB,SAAS;EACT,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,4BAA4B,CAAC,UAAU,EAAE;EACpD,IAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;EAC9E,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;EACtC,MAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC5C,MAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;EACjC,QAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC,CAAC;EAC9K,OAAO;EACP;EACA;EACA,MAAM,IAAI,OAAO,GAAGI,YAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;EAC5D,MAAM,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;EAC/B,QAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;EACtC,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,OAAO,IAAI,aAAa;EAClC,YAAY,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,GAAG,GAAG,iBAAiB,GAAG,aAAa,GAAG,IAAI;EACpH,YAAY,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;EAC1E,YAAY,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;EACnF,WAAW,CAAC;EACZ,SAAS;EACT,QAAQ,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAEJ,sBAAoB,CAAC,CAAC;EACrH,QAAQ,IAAI,KAAK,EAAE;EACnB,UAAU,OAAO,KAAK,CAAC;EACvB,SAAS;EACT,OAAO;EACP,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;AACL;EACA,IAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE;EAC7B,IAAI,QAAQ,OAAO,SAAS;EAC5B,MAAM,KAAK,QAAQ,CAAC;EACpB,MAAM,KAAK,QAAQ,CAAC;EACpB,MAAM,KAAK,WAAW;EACtB,QAAQ,OAAO,IAAI,CAAC;EACpB,MAAM,KAAK,SAAS;EACpB,QAAQ,OAAO,CAAC,SAAS,CAAC;EAC1B,MAAM,KAAK,QAAQ;EACnB,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;EACtC,UAAU,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACzC,SAAS;EACT,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE;EAC7D,UAAU,OAAO,IAAI,CAAC;EACtB,SAAS;AACT;EACA,QAAQ,IAAI,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;EAClD,QAAQ,IAAI,UAAU,EAAE;EACxB,UAAU,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EACpD,UAAU,IAAI,IAAI,CAAC;EACnB,UAAU,IAAI,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE;EAChD,YAAY,OAAO,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;EACnD,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;EACvC,gBAAgB,OAAO,KAAK,CAAC;EAC7B,eAAe;EACf,aAAa;EACb,WAAW,MAAM;EACjB;EACA,YAAY,OAAO,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;EACnD,cAAc,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;EACrC,cAAc,IAAI,KAAK,EAAE;EACzB,gBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;EACvC,kBAAkB,OAAO,KAAK,CAAC;EAC/B,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,WAAW;EACX,SAAS,MAAM;EACf,UAAU,OAAO,KAAK,CAAC;EACvB,SAAS;AACT;EACA,QAAQ,OAAO,IAAI,CAAC;EACpB,MAAM;EACN,QAAQ,OAAO,KAAK,CAAC;EACrB,KAAK;EACL,GAAG;AACH;EACA,EAAE,SAAS,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;EACzC;EACA,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;EAC/B,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,SAAS,EAAE;EACpB,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK;AACL;EACA;EACA,IAAI,IAAI,SAAS,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE;EACjD,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;AACL;EACA;EACA,IAAI,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,SAAS,YAAY,MAAM,EAAE;EACrE,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;AACL;EACA,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA;EACA,EAAE,SAAS,WAAW,CAAC,SAAS,EAAE;EAClC,IAAI,IAAI,QAAQ,GAAG,OAAO,SAAS,CAAC;EACpC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;EAClC,MAAM,OAAO,OAAO,CAAC;EACrB,KAAK;EACL,IAAI,IAAI,SAAS,YAAY,MAAM,EAAE;EACrC;EACA;EACA;EACA,MAAM,OAAO,QAAQ,CAAC;EACtB,KAAK;EACL,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;EACvC,MAAM,OAAO,QAAQ,CAAC;EACtB,KAAK;EACL,IAAI,OAAO,QAAQ,CAAC;EACpB,GAAG;AACH;EACA;EACA;EACA,EAAE,SAAS,cAAc,CAAC,SAAS,EAAE;EACrC,IAAI,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,IAAI,EAAE;EAChE,MAAM,OAAO,EAAE,GAAG,SAAS,CAAC;EAC5B,KAAK;EACL,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;EAC1C,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;EAC/B,MAAM,IAAI,SAAS,YAAY,IAAI,EAAE;EACrC,QAAQ,OAAO,MAAM,CAAC;EACtB,OAAO,MAAM,IAAI,SAAS,YAAY,MAAM,EAAE;EAC9C,QAAQ,OAAO,QAAQ,CAAC;EACxB,OAAO;EACP,KAAK;EACL,IAAI,OAAO,QAAQ,CAAC;EACpB,GAAG;AACH;EACA;EACA;EACA,EAAE,SAAS,wBAAwB,CAAC,KAAK,EAAE;EAC3C,IAAI,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;EACrC,IAAI,QAAQ,IAAI;EAChB,MAAM,KAAK,OAAO,CAAC;EACnB,MAAM,KAAK,QAAQ;EACnB,QAAQ,OAAO,KAAK,GAAG,IAAI,CAAC;EAC5B,MAAM,KAAK,SAAS,CAAC;EACrB,MAAM,KAAK,MAAM,CAAC;EAClB,MAAM,KAAK,QAAQ;EACnB,QAAQ,OAAO,IAAI,GAAG,IAAI,CAAC;EAC3B,MAAM;EACN,QAAQ,OAAO,IAAI,CAAC;EACpB,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,SAAS,YAAY,CAAC,SAAS,EAAE;EACnC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;EAC/D,MAAM,OAAO,SAAS,CAAC;EACvB,KAAK;EACL,IAAI,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;EACtC,GAAG;AACH;EACA,EAAE,cAAc,CAAC,cAAc,GAAGK,gBAAc,CAAC;EACjD,EAAE,cAAc,CAAC,iBAAiB,GAAGA,gBAAc,CAAC,iBAAiB,CAAC;EACtE,EAAE,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC;AAC5C;EACA,EAAE,OAAO,cAAc,CAAC;EACxB,CAAC;;ECnkBD,SAAS,aAAa,GAAG,EAAE;EAC3B,SAAS,sBAAsB,GAAG,EAAE;EACpC,sBAAsB,CAAC,iBAAiB,GAAG,aAAa,CAAC;AACzD;EACA,4BAAc,GAAG,WAAW;EAC5B,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;EAChF,IAAI,IAAI,MAAM,KAAKL,sBAAoB,EAAE;EACzC;EACA,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,GAAG,GAAG,IAAI,KAAK;EACvB,MAAM,sFAAsF;EAC5F,MAAM,+CAA+C;EACrD,MAAM,gDAAgD;EACtD,KAAK,CAAC;EACN,IAAI,GAAG,CAAC,IAAI,GAAG,qBAAqB,CAAC;EACrC,IAAI,MAAM,GAAG,CAAC;EACd,GAAG,AACH,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;EACzB,EAAE,SAAS,OAAO,GAAG;EACrB,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG,AACH;EACA;EACA,EAAE,IAAI,cAAc,GAAG;EACvB,IAAI,KAAK,EAAE,IAAI;EACf,IAAI,IAAI,EAAE,IAAI;EACd,IAAI,IAAI,EAAE,IAAI;EACd,IAAI,MAAM,EAAE,IAAI;EAChB,IAAI,MAAM,EAAE,IAAI;EAChB,IAAI,MAAM,EAAE,IAAI;EAChB,IAAI,MAAM,EAAE,IAAI;AAChB;EACA,IAAI,GAAG,EAAE,IAAI;EACb,IAAI,OAAO,EAAE,OAAO;EACpB,IAAI,OAAO,EAAE,IAAI;EACjB,IAAI,WAAW,EAAE,IAAI;EACrB,IAAI,UAAU,EAAE,OAAO;EACvB,IAAI,IAAI,EAAE,IAAI;EACd,IAAI,QAAQ,EAAE,OAAO;EACrB,IAAI,KAAK,EAAE,OAAO;EAClB,IAAI,SAAS,EAAE,OAAO;EACtB,IAAI,KAAK,EAAE,OAAO;EAClB,IAAI,KAAK,EAAE,OAAO;AAClB;EACA,IAAI,cAAc,EAAE,sBAAsB;EAC1C,IAAI,iBAAiB,EAAE,aAAa;EACpC,GAAG,CAAC;AACJ;EACA,EAAE,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC;AAC5C;EACA,EAAE,OAAO,cAAc,CAAC;EACxB,CAAC;;;EC/DD;EACA;EACA;EACA;EACA;EACA;AACA;EACA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;EAC3C,EAAE,IAAI,OAAO,GAAGF,OAAmB,CAAC;AACpC;EACA;EACA;EACA,EAAE,IAAI,mBAAmB,GAAG,IAAI,CAAC;EACjC,EAAE,cAAc,GAAGC,uBAAoC,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;EAChG,CAAC,MAAM;EACP;EACA;EACA,EAAE,cAAc,GAAGO,wBAAqC,EAAE,CAAC;EAC3D;;;EClBA,SAAS,KAAK,CAAC,MAAM,EAAE;EACvB,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE;EAC3D,IAAI,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EACzC,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;EAC5C,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;EAC5D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;EACvC,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,WAAW,GAAG,MAAM,CAAC;EAC7B,IAAI,OAAO,KAAK,CAAC,MAAM,EAAE;EACzB,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAClC;EACA,MAAM,IAAI,OAAO,IAAI,WAAW,EAAE;EAClC,QAAQ,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;EAC3C,OAAO,MAAM;EACb,QAAQ,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;EACtF,QAAQ,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;EAC3C,OAAO;EACP,KAAK;AACL;EACA,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,EAAE,EAAE,CAAC,CAAC;EACT,CAAC;AACD;EACA,SAAS,OAAO,CAAC,GAAG,EAAE;EACtB,EAAE,SAAS,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;EAC5C,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,EAAE;EACjG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;EAC/C,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5D,OAAO,CAAC,CAAC;EACT,MAAM,OAAO,MAAM,CAAC;EACpB,KAAK;AACL;EACA,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;EAC/B,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;AACH;EACA,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC9B,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE;EAChD,IAAI,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;EAClD,GAAG,EAAE,EAAE,CAAC,CAAC;EACT,CAAC;AACD;EACA,oBAAc,GAAG;EACjB,EAAE,OAAO,EAAE,OAAO;EAClB,EAAE,KAAK,EAAE,KAAK;EACd;;EC3CO,SAASC,OAAT,CAAiBC,KAAjB,EAAqD;EAC1D,SAAOC,KAAK,CAACF,OAAN,CAAcC,KAAd,CAAP;EACD;AAED,EAAO,SAASE,QAAT,CAAkBF,KAAlB,EAAmD;EACxD,SAAOA,KAAK,KAAK,IAAV,IAAkB,QAAOA,KAAP,MAAiB,QAA1C;EACD;AAED,EAAO,SAASG,eAAT,CAAyBH,KAAzB,EAA6D;EAClE,SAAO,OAAOA,KAAP,KAAiB,WAAxB;EACD;AAED,EAAO,SAASI,MAAT,CAAgBJ,KAAhB,EAA+C;EACpD,SAAOA,KAAK,YAAYK,IAAxB;EACD;AAED,EAAO,SAASC,UAAT,CAAoBN,KAApB,EAAuD;EAC5D,SAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,UAA1C;EACD;AAED,EAAO,SAASO,QAAT,CAAkBP,KAAlB,EAAmD;EACxD,SAAO,OAAOA,KAAP,KAAiB,QAAxB;EACD;AAED,EAAO,SAASQ,QAAT,CAAkBR,KAAlB,EAAmD;EACxD,SAAO,OAAOA,KAAP,KAAiB,QAAxB;EACD;AAED,EAAO,SAASS,kBAAT,CAA4BT,KAA5B,EAAoD;EACzD,SAAOA,KAAK,KAAK,EAAjB;EACD;AAED,EAAO,SAASU,sBAAT,CAAgCV,KAAhC,EAAyD;EAC9D,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKW,SAAnC;EACD;AAED,EAAO,SAASC,gBAAT,CAA0BZ,KAA1B,EAAmD;EACxD,SAAOA,KAAK,KAAKW,SAAjB;EACD;AAED,EAAO,SAASE,IAAT,GAAgB;EAEtB;AAED,EAAO,SAASC,aAAT,CAAuBd,KAAvB,EAAuC;EAC5C;EACA,SAAOE,QAAQ,CAACF,KAAD,CAAR,sBAAuBA,KAAvB,IAAiCA,KAAxC;EACD;AAED,EAAO,SAASe,MAAT,CAAgBC,CAAhB,EAA4BC,CAA5B,EAAwC;EAC7C,MAAI,QAAOD,CAAP,cAAoBC,CAApB,CAAJ,EAA2B;EACzB,WAAO,KAAP;EACD;;EAED,MAAIlB,OAAO,CAACiB,CAAD,CAAP,IAAcjB,OAAO,CAACkB,CAAD,CAAzB,EAA8B;EAC5B,QAAID,CAAC,CAACE,MAAF,KAAaD,CAAC,CAACC,MAAnB,EAA2B;EACzB,aAAO,KAAP;EACD;;EAED,WAAOF,CAAC,CAACG,KAAF,CAAQ,UAACC,IAAD,EAAOC,KAAP;EAAA,aAAiBN,MAAM,CAACK,IAAD,EAAOH,CAAC,CAACI,KAAD,CAAR,CAAvB;EAAA,KAAR,CAAP;EACD;;EAED,MAAIf,UAAU,CAACU,CAAD,CAAV,IAAiBV,UAAU,CAACW,CAAD,CAA/B,EAAoC;EAClC,WAAOD,CAAC,CAACM,QAAF,OAAiBL,CAAC,CAACK,QAAF,EAAxB;EACD;;EAED,MAAIlB,MAAM,CAACY,CAAD,CAAN,IAAaZ,MAAM,CAACa,CAAD,CAAvB,EAA4B;EAC1B,WAAOD,CAAC,CAACM,QAAF,OAAiBL,CAAC,CAACK,QAAF,EAAxB;EACD;;EAED,MAAIpB,QAAQ,CAACc,CAAD,CAAR,IAAed,QAAQ,CAACe,CAAD,CAA3B,EAAgC;EAC9B,QAAIM,MAAM,CAACC,IAAP,CAAYR,CAAZ,EAAeE,MAAf,KAA0BK,MAAM,CAACC,IAAP,CAAYP,CAAZ,EAAeC,MAA7C,EAAqD;EACnD,aAAO,KAAP;EACD;;EAED,WAAOK,MAAM,CAACC,IAAP,CAAYR,CAAZ,EAAeG,KAAf,CAAqB,UAAAM,GAAG;EAAA,aAAIV,MAAM,CAACC,CAAC,CAACS,GAAD,CAAF,EAASR,CAAC,CAACQ,GAAD,CAAV,CAAV;EAAA,KAAxB,CAAP;EACD;;EAED,SAAOT,CAAC,KAAKC,CAAb;EACD;AAED,EAAO,SAASS,QAAT,CACL1B,KADK,EAEL2B,aAFK,EAGLC,WAHK,EAILC,eAJK,EAKL;EACA,MAAMC,OAIL,GAAG;EACFC,IAAAA,MAAM,EAAE,EADN;EAEFC,IAAAA,MAAM,EAAE,EAFN;EAGFC,IAAAA,OAAO,EAAE;EAHP,GAJJ;;EAUA,MAAIV,MAAM,CAACC,IAAP,CAAYI,WAAZ,EAAyBV,MAA7B,EAAqC;EACnCK,IAAAA,MAAM,CAACC,IAAP,CAAYI,WAAZ,EAAyBM,OAAzB,CAAiC,UAAAC,gBAAgB,EAAI;EACnD,UAAMC,cAAc,GAAGR,WAAW,CAACO,gBAAD,CAAlC;EACA,UAAME,kBAAkB,GAAGR,eAAe,CAACM,gBAAD,CAA1C;;EAEA,UAAIE,kBAAkB,IAAI/B,UAAU,CAAC8B,cAAD,CAApC,EAAsD;EACpD,cAAM,IAAIE,KAAJ,sEAAwEH,gBAAxE,EAAN;EACD;;EAED,UAAI,CAACE,kBAAD,IAAuB,CAAC/B,UAAU,CAAC8B,cAAD,CAAtC,EAAwD;EACtD,cAAM,IAAIE,KAAJ,qDAAuDH,gBAAvD,EAAN;EACD;;EAED,UAAI7B,UAAU,CAAC8B,cAAD,CAAd,EAAgC;EAC9B,YAAMG,UAAU,GAAGH,cAAc,CAACT,aAAD,EAAgB3B,KAAhB,CAAjC;;EAEA,YAAIO,QAAQ,CAACgC,UAAD,CAAZ,EAA0B;EACxBT,UAAAA,OAAO,CAACC,MAAR,CAAeS,IAAf,CAAoBD,UAApB;EACAT,UAAAA,OAAO,CAACE,MAAR,CAAeQ,IAAf,CAAoBL,gBAApB;EACD,SAHD,MAGO,IAAI,CAACI,UAAL,EAAiB;EACtBT,UAAAA,OAAO,CAACE,MAAR,CAAeQ,IAAf,CAAoBL,gBAApB;EACD;;EAED;EACD;;EAED,UAAI,CAAC7B,UAAU,CAAC8B,cAAD,CAAX,IAA+B9B,UAAU,CAAC+B,kBAAD,CAA7C,EAAmE;EACjE,YAAME,WAAU,GAAGF,kBAAkB,CAACV,aAAD,EAAgB3B,KAAhB,EAAuBoC,cAAvB,CAArC;;EAEA,YAAI7B,QAAQ,CAACgC,WAAD,CAAZ,EAA0B;EACxBT,UAAAA,OAAO,CAACC,MAAR,CAAeS,IAAf,CAAoBD,WAApB;EACAT,UAAAA,OAAO,CAACE,MAAR,CAAeQ,IAAf,CAAoBL,gBAApB;EACD,SAHD,MAGO,IAAI,CAACI,WAAL,EAAiB;EACtBT,UAAAA,OAAO,CAACE,MAAR,CAAeQ,IAAf,CAAoBL,gBAApB;EACD,SAFM,MAEA;EACLL,UAAAA,OAAO,CAACG,OAAR,CAAgBO,IAAhB,CAAqBL,gBAArB;EACD;;EACD;EACD;;EAEDL,MAAAA,OAAO,CAACG,OAAR,CAAgBO,IAAhB,CAAqBL,gBAArB;EACD,KAxCD;EAyCD;;EAED,SAAOL,OAAP;EACD;;ECtID,IAAMW,SAAQ,GAAG,SAAXA,QAAW,CAAIzC,KAAJ;EAAA,SAAiB,CAACU,sBAAsB,CAACV,KAAD,CAAxC;EAAA,CAAjB;;EACA,IAAM0C,OAAO,GAAG,SAAVA,OAAU,CAAI1C,KAAJ,EAAiB;EAC/B,MAAIO,QAAQ,CAACP,KAAD,CAAZ,EAAqB;EACnB,WAAOS,kBAAkB,CAACT,KAAD,CAAzB;EACD;;EACD,MAAIG,eAAe,CAACH,KAAD,CAAnB,EAA4B;EAC1B,WAAO,KAAP;EACD;;EACD,SAAOY,gBAAgB,CAACZ,KAAD,CAAvB;EACD,CARD;;EAcA,IAAM4B,WAA6B,GAAG;EACpCe,EAAAA,sBADoC,kCACVC,OADU,EACO5C,KADP,EACiB;EACnD,QAAIO,QAAQ,CAACP,KAAD,CAAZ,EAAqB;EACnB,aAAOS,kBAAkB,CAACT,KAAD,CAAzB;EACD;;EACD,WAAOU,sBAAsB,CAACV,KAAD,CAA7B;EACD,GANmC;EAOpCyC,EAAAA,QAPoC,oBAOxBG,OAPwB,EAOP5C,KAPO,EAOG;EACrC,WAAOyC,SAAQ,CAACzC,KAAD,CAAf;EACD,GATmC;EAUpC6C,EAAAA,WAVoC,uBAUxBD,OAVwB,EAUP5C,KAVO,EAUQ8C,MAVR,EAUwB;EAC1D,WAAO,CAACL,SAAQ,CAACzC,KAAD,CAAT,IAAoB0C,OAAO,CAAC1C,KAAD,CAA3B,IAAsC8C,MAAM,CAACC,IAAP,CAAY/C,KAAZ,CAA7C;EACD,GAZmC;EAapCgD,EAAAA,WAboC,uBAarBJ,OAbqB,EAaJ5C,KAbI,EAaM;EACxC,WAAOY,gBAAgB,CAACZ,KAAD,CAAvB;EACD,GAfmC;EAgBpCiD,EAAAA,aAhBoC,yBAgBtBL,OAhBsB,EAgBL5C,KAhBK,EAgBU;EAC5C,WAAO0C,OAAO,CAAC1C,KAAD,CAAd;EACD,GAlBmC;EAmBpCkD,EAAAA,OAnBoC,mBAmB5BC,MAnB4B,EAmBZnD,KAnBY,EAmBG;EACrC;EACA,WAAO4B,WAAW,CAACiB,WAAZ,CACLM,MADK,EAELnD,KAFK,EAGL,uJAHK,CAAP;EAKD,GA1BmC;EA2BpCoD,EAAAA,KA3BoC,iBA2B3BD,MA3B2B,EA2BXnD,KA3BW,EA2BD;EACjC,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,sDAAvC,CAAP;EACD,GA7BmC;EA8BpCqD,EAAAA,MA9BoC,kBA8B7BT,OA9B6B,EA8BZ5C,KA9BY,EA8Ba;EAC/C,WAAOA,KAAK,KAAK,IAAjB;EACD,GAhCmC;EAiCpCsD,EAAAA,OAjCoC,mBAiC5BV,OAjC4B,EAiCX5C,KAjCW,EAiCc;EAChD,WAAOA,KAAK,KAAK,KAAjB;EACD,GAnCmC;EAoCpCuD,EAAAA,SApCoC,qBAoCvBJ,MApCuB,EAoCPnD,KApCO,EAoCG;EACrC,QAAIQ,QAAQ,CAACR,KAAD,CAAZ,EAAqB;EACnB,aAAO,IAAP;EACD;;EACD,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,uBAAvC,CAAP;EACD,GAzCmC;EA0CpCwD,EAAAA,OA1CoC,mBA0CzBL,MA1CyB,EA0CTnD,KA1CS,EA0CC;EACnC,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,WAAvC,CAAP;EACD,GA5CmC;EA6CpCyD,EAAAA,cA7CoC,0BA6ClBN,MA7CkB,EA6CFnD,KA7CE,EA6CQ;EAC1C,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,cAAvC,CAAP;EACD,GA/CmC;EAgDpC0D,EAAAA,KAhDoC,iBAgD3BP,MAhD2B,EAgDXnD,KAhDW,EAgDD;EACjC,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,2BAAvC,CAAP;EACD,GAlDmC;EAmDpC2D,EAAAA,OAnDoC,mBAmDzBR,MAnDyB,EAmDTnD,KAnDS,EAmDC;EACnC,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,oDAAvC,CAAP;EACD,GArDmC;EAsDpC4D,EAAAA,OAtDoC,mBAsDzBT,MAtDyB,EAsDTnD,KAtDS,EAsDC;EACnC,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,aAAvC,CAAP;EACD,GAxDmC;EAyDpC6D,EAAAA,cAzDoC,0BAyDlBV,MAzDkB,EAyDFnD,KAzDE,EAyDQ;EAC1C,WAAO4B,WAAW,CAACiB,WAAZ,CAAwBM,MAAxB,EAAgCnD,KAAhC,EAAuC,0BAAvC,CAAP;EACD,GA3DmC;EA4DpC8D,EAAAA,QA5DoC,oBA4D3BlB,OA5D2B,EA4DV5C,KA5DU,EA4DKkB,MA5DL,EA4DqB;EACvD,WAAO,CAACuB,SAAQ,CAACzC,KAAD,CAAT,IAAoB0C,OAAO,CAAC1C,KAAD,CAA3B,IAAsCA,KAAK,CAACkB,MAAN,KAAiBA,MAA9D;EACD,GA9DmC;EA+DpC6C,EAAAA,MA/DoC,kBA+D1BnB,OA/D0B,EA+DT5C,KA/DS,EA+DCgE,GA/DD,EA+DS;EAC3C,WAAO,CAACvB,SAAQ,CAACzC,KAAD,CAAT,IAAoB0C,OAAO,CAAC1C,KAAD,CAA3B,IAAsCA,KAAK,KAAKgE,GAAvD;EACD,GAjEmC;EAkEpCC,EAAAA,WAlEoC,uBAkErBd,MAlEqB,EAkELnD,KAlEK,EAkEKkE,KAlEL,EAkEoB;EACtD,WAAOlE,KAAK,KAAKmD,MAAM,CAACe,KAAD,CAAvB;EACD,GApEmC;EAqEpCC,EAAAA,SArEoC,qBAqE1BvB,OArE0B,EAqET5C,KArES,EAqEMkB,MArEN,EAqEsB;EACxD,WAAO,CAACuB,SAAQ,CAACzC,KAAD,CAAT,IAAoBA,KAAK,CAACkB,MAAN,IAAgBA,MAA3C;EACD,GAvEmC;EAwEpCkD,EAAAA,SAxEoC,qBAwE1BxB,OAxE0B,EAwET5C,KAxES,EAwEMkB,MAxEN,EAwEsB;EACxD,WAAO,CAACuB,SAAQ,CAACzC,KAAD,CAAT,IAAoB0C,OAAO,CAAC1C,KAAD,CAA3B,IAAsCA,KAAK,CAACkB,MAAN,IAAgBA,MAA7D;EACD;EA1EmC,CAAtC;;ECnBA;EAEA,IAAMmD,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAIzC,WAAJ,EAA4D;EAC7F,MAAI,OAAOA,WAAP,KAAuB,QAA3B,EAAqC;EACnC,WAAOA,WAAW,CAAC0C,KAAZ,CAAkB,mBAAlB,EAAuCC,MAAvC,CAA8C,UAACC,sBAAD,EAAyBjC,UAAzB,EAAwC;EAC3F,UAAIkC,IAAI,GAAGlC,UAAU,CAAC+B,KAAX,CAAiB,GAAjB,CAAX;EACA,UAAMI,cAAc,GAAGD,IAAI,CAACE,KAAL,EAAvB;;EAEA,UAAI,OAAOD,cAAP,KAA0B,QAA9B,EAAwC;EACtC,cAAM,IAAIpC,KAAJ,CAAU,iEAAV,CAAN;EACD;;EAEDmC,MAAAA,IAAI,GAAGA,IAAI,CAACG,GAAL,CAAS,UAAAC,GAAG,EAAI;EACrB,YAAI;EACF,iBAAOC,IAAI,CAACC,KAAL,CAAWF,GAAX,CAAP;EACD,SAFD,CAEE,OAAOG,CAAP,EAAU;EACV,iBAAOH,GAAP,CADU;EAEX;EACF,OANM,CAAP;;EAQA,UAAIJ,IAAI,CAACvD,MAAL,GAAc,CAAlB,EAAqB;EACnB,cAAM,IAAIoB,KAAJ,CACJ,wGADI,CAAN;EAGD,OApB0F;;;EAuB3F,UAAM2C,0BAA0C,sBAAQT,sBAAR,CAAhD;;EACAS,MAAAA,0BAA0B,CAACP,cAAD,CAA1B,GAA6CD,IAAI,CAACvD,MAAL,GAAcuD,IAAI,CAAC,CAAD,CAAlB,GAAwB,IAArE;EACA,aAAOQ,0BAAP;EACD,KA1BM,EA0BJ,EA1BI,CAAP;EA2BD;;EAED,SAAOrD,WAAW,IAAI,EAAtB;EACD,CAhCD;;AAkCA,MAAMsD,WAAS,GAAG;EAChBC,EAAAA,QAAQ,EAAEC,SAAS,CAACC,IADJ;EAEhBC,EAAAA,IAAI,EAAEF,SAAS,CAACG,MAAV,CAAiBC,UAFP;EAGhBC,EAAAA,QAAQ,EAAEL,SAAS,CAACM,SAAV,CAAoB,CAACN,SAAS,CAACO,IAAX,EAAiBP,SAAS,CAACQ,MAA3B,EAAmCR,SAAS,CAACG,MAA7C,CAApB,CAHM;EAIhB3D,EAAAA,WAAW,EAAEwD,SAAS,CAACM,SAAV,CAAoB,CAACN,SAAS,CAACQ,MAAX,EAAmBR,SAAS,CAACG,MAA7B,CAApB,CAJG;EAKhBvF,EAAAA,KAAK,EAAEoF,SAAS,CAACS,GALD;;EAAA,CAAlB;AAkDA;EAEA,SAASC,cAAT,CAAwBC,SAAxB,EAA0D;EACxD,SACGA,SAAD,CAAwCC,WAAxC,IACAD,SAAS,CAACT,IADV,KAEC,OAAOS,SAAP,KAAqB,QAArB,GAAgCA,SAAhC,GAA4C,WAF7C,CADF;EAKD;;AAED,EAAe,kBACbE,gBADa,EAE2D;EAAA;;EACxE;EAAA;EAAA;EAAA;;EAsBE,oBAAmBC,KAAnB,EAA0B;EAAA;;EAAA;;EACxB,kFAAMA,KAAN;EADwB,YArBnBtE,WAqBmB;EAAA,YAnBnBuE,mBAmBmB;;EAAA,YAmEnBC,eAnEmB,GAmED,YAAM;EAC7B,YAAMC,QAAQ,GAAG,MAAKC,gBAAL,EAAjB;;EACA,eAAOD,QAAQ,CAACnF,MAAT,GAAkBmF,QAAQ,CAAC,CAAD,CAA1B,GAAgC,IAAvC;EACD,OAtEyB;;EAAA,YAwEnBC,gBAxEmB,GAwEA,YAAM;EAAA,0BACa,MAAKC,KADlB;EAAA,YACtBC,aADsB,eACtBA,aADsB;EAAA,YACPC,eADO,eACPA,eADO;;EAG9B,YAAI,CAAC,MAAKC,OAAL,EAAD,IAAmB,MAAKC,YAAL,EAAvB,EAA4C;EAC1C,iBAAOH,aAAa,IAAIC,eAAjB,IAAoC,EAA3C;EACD;;EACD,eAAO,EAAP;EACD,OA/EyB;;EAAA,YAkFnBG,QAlFmB,GAkFR;EAAA,eAAM,MAAKL,KAAL,CAAWvG,KAAjB;EAAA,OAlFQ;;EAAA,YAoFnB6G,cApFmB,GAoFF,UAACjF,WAAD,EAA8B6D,QAA9B,EAAkE;EACxF;EACA,cAAK7D,WAAL,GAAmByC,0BAA0B,CAACzC,WAAD,CAA1B,IAA2C,EAA9D;EACA,cAAKuE,mBAAL,GACEV,QAAQ,KAAK,IAAb,GAAoB;EAAE9C,UAAAA,sBAAsB,EAAE8C;EAA1B,SAApB,GAA2DpB,0BAA0B,CAACoB,QAAD,CADvF;EAED,OAzFyB;;EAAA,YA6FnBqB,QA7FmB,GA6FR,UAAC9G,KAAD,EAA4B;EAAA,YAApB+G,QAAoB,uEAAT,IAAS;EAAA,YACpCC,MADoC,GACzB,MAAKC,OADoB,CACpCD,MADoC;;EAG5C,YAAI,CAACD,QAAL,EAAe;EACb,gBAAKG,QAAL,CAAc;EACZlH,YAAAA,KAAK,EAALA;EADY,WAAd;EAGD,SAJD,MAIO;EACL,gBAAKkH,QAAL,CACE;EACElH,YAAAA,KAAK,EAALA,KADF;EAEEmH,YAAAA,UAAU,EAAE;EAFd,WADF,EAKE,YAAM;EACJH,YAAAA,MAAM,CAACD,QAAP;EACD,WAPH;EASD;EACF,OA/GyB;;EAAA,YAkHnBK,QAlHmB,GAkHR,YAAM;EAAA,YACdpH,KADc,GACJ,MAAKuG,KADD,CACdvG,KADc;;EAEtB,YAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;EAC7B,iBAAOA,KAAK,KAAK,EAAjB;EACD;;EACD,eAAOA,KAAK,KAAKW,SAAjB;EACD,OAxHyB;;EAAA,YA2HnB0G,cA3HmB,GA2HF;EAAA,eAAM,MAAKJ,OAAL,CAAaD,MAAb,CAAoBK,cAA1B;EAAA,OA3HE;;EAAA,YA8HnBC,eA9HmB,GA8HD;EAAA,eAAM,MAAKf,KAAL,CAAWgB,aAAjB;EAAA,OA9HC;;EAAA,YAiInBJ,UAjImB,GAiIN;EAAA,eAAM,MAAKZ,KAAL,CAAWY,UAAjB;EAAA,OAjIM;;EAAA,YAoInB3B,UApImB,GAoIN;EAAA,eAAM,CAAC,CAAC,MAAKU,KAAL,CAAWT,QAAnB;EAAA,OApIM;;EAAA,YAuInBiB,OAvImB,GAuIT;EAAA,eAAM,MAAKH,KAAL,CAAWG,OAAjB;EAAA,OAvIS;;EAAA,YA0InBc,YA1ImB,GA0IJ,UAAAxH,KAAK;EAAA,eAAI,MAAKiH,OAAL,CAAaD,MAAb,CAAoBQ,YAApB,CAAiCC,IAAjC,CAAsC,IAAtC,iCAAkDzH,KAAlD,CAAJ;EAAA,OA1ID;;EAAA,YA4InB0H,UA5ImB,GA4IN,YAAM;EAAA,YAChBC,aADgB,GACE,MAAKpB,KADP,CAChBoB,aADgB;EAAA,YAEhBX,MAFgB,GAEL,MAAKC,OAFA,CAEhBD,MAFgB;;EAIxB,cAAKE,QAAL,CACE;EACElH,UAAAA,KAAK,EAAE2H,aADT;EAEER,UAAAA,UAAU,EAAE;EAFd,SADF,EAKE,YAAM;EACJH,UAAAA,MAAM,CAACD,QAAP;EACD,SAPH;EASD,OAzJyB;;EAAA,YA2JnBa,SA3JmB,GA2JP;EAAA,eAAM,CAAC,MAAKjB,YAAL,EAAD,IAAwB,CAAC,MAAKD,OAAL,EAA/B;EAAA,OA3JO;;EAAA,YA8JnBC,YA9JmB,GA8JJ;EAAA,eAAM,MAAKJ,KAAL,CAAWf,UAAjB;EAAA,OA9JI;;EAExB,YAAKe,KAAL,GAAa;EACXC,QAAAA,aAAa,EAAE,IADJ;EAEXe,QAAAA,aAAa,EAAE,KAFJ;EAGXJ,QAAAA,UAAU,EAAE,IAHD;EAIX3B,QAAAA,UAAU,EAAE,KAJD;EAKXkB,QAAAA,OAAO,EAAE,IALE;EAMXiB,QAAAA,aAAa,EAAEzB,KAAK,CAAClG,KANV;EAOXyG,QAAAA,eAAe,EAAE,EAPN;EAQXzG,QAAAA,KAAK,EAAEkG,KAAK,CAAClG;EARF,OAAb;EAFwB;EAYzB;;EAlCH;EAAA;EAAA,0CAoC6B;EAAA,0BACe,KAAKkG,KADpB;EAAA,YACjBtE,WADiB,eACjBA,WADiB;EAAA,YACJ6D,QADI,eACJA,QADI;EAAA,YACMH,IADN,eACMA,IADN;EAAA,YAEjB0B,MAFiB,GAEN,KAAKC,OAFC,CAEjBD,MAFiB;;EAIzB,YAAI,CAAC1B,IAAL,EAAW;EACT,gBAAM,IAAIhD,KAAJ,CAAU,+CAAV,CAAN;EACD;;EAED,aAAKuE,cAAL,CAAoBjF,WAApB,EAAiC6D,QAAjC,EARyB;;EAWzBuB,QAAAA,MAAM,CAACa,YAAP,CAAoB,IAApB;EACD;EAhDH;EAAA;EAAA,4CAkD+BC,SAlD/B,EAkD0CC,SAlD1C,EAkDqDC,WAlDrD,EAkDkE;EAAA,YAE5D9B,KAF4D,GAK1D,IAL0D,CAE5DA,KAF4D;EAAA,YAG5DK,KAH4D,GAK1D,IAL0D,CAG5DA,KAH4D;EAAA,YAIzC0B,aAJyC,GAK1D,IAL0D,CAI5DhB,OAJ4D,CAIjDD,MAJiD;EAM9D,YAAMkB,cAAc,GAAG3G,MAAM,CAACC,IAAP,CAAY0E,KAAZ,EAAmBiC,IAAnB,CAAwB,UAAAC,CAAC;EAAA,iBAAIlC,KAAK,CAACkC,CAAD,CAAL,KAAaN,SAAS,CAACM,CAAD,CAA1B;EAAA,SAAzB,CAAvB;EAEA,YAAMC,cAAc,GAAG9G,MAAM,CAACC,IAAP,CAAY+E,KAAZ,EAAmB4B,IAAnB,CAAwB,UAAAC,CAAC;EAAA,iBAAI7B,KAAK,CAAC6B,CAAD,CAAL,KAAaL,SAAS,CAACK,CAAD,CAA1B;EAAA,SAAzB,CAAvB;EAEA,YAAME,sBAAsB,GAAG/G,MAAM,CAACC,IAAP,CAAYyG,aAAZ,EAA2BE,IAA3B,CAAgC,UAAAC,CAAC;EAAA,iBAAIH,aAAa,CAACG,CAAD,CAAb,KAAqBJ,WAAW,CAAChB,MAAZ,CAAmBoB,CAAnB,CAAzB;EAAA,SAAjC,CAA/B;EAEA,eAAOF,cAAc,IAAIG,cAAlB,IAAoCC,sBAA3C;EACD;EA/DH;EAAA;EAAA,yCAiE4BC,SAjE5B,EAiEuC;EAAA,2BACM,KAAKrC,KADX;EAAA,YAC3BlG,KAD2B,gBAC3BA,KAD2B;EAAA,YACpB4B,WADoB,gBACpBA,WADoB;EAAA,YACP6D,QADO,gBACPA,QADO;EAAA,YAE3BuB,MAF2B,GAEhB,KAAKC,OAFW,CAE3BD,MAF2B;EAKnC;;EACA,YAAI,CAACwB,MAAA,CAAaxI,KAAb,EAAoBuI,SAAS,CAACvI,KAA9B,CAAL,EAA2C;EACzC,eAAK8G,QAAL,CAAc9G,KAAd;EACD,SARkC;;;EAWnC,YAAI,CAACwI,MAAA,CAAa5G,WAAb,EAA0B2G,SAAS,CAAC3G,WAApC,CAAD,IAAqD,CAAC4G,MAAA,CAAa/C,QAAb,EAAuB8C,SAAS,CAAC9C,QAAjC,CAA1D,EAAsG;EACpG,eAAKoB,cAAL,CAAoBjF,WAApB,EAAiC6D,QAAjC;EACAuB,UAAAA,MAAM,CAACD,QAAP,CAAgB,IAAhB;EACD;EACF,OAhFH;EAmFE;;EAnFF;EAAA;EAAA,6CAoFgC;EAAA,YACpBC,MADoB,GACT,KAAKC,OADI,CACpBD,MADoB;EAE5BA,QAAAA,MAAM,CAACyB,cAAP,CAAsB,IAAtB;EACD;EAvFH;EAAA;EAAA,+BAsLkB;EAAA,YACNtD,QADM,GACO,KAAKe,KADZ,CACNf,QADM;;EAEd,YAAMuD,eAAiC,sBAClC,KAAKxC,KAD6B;EAErCyC,UAAAA,YAAY,EAAE,KAAKvC,eAAL,EAFuB;EAGrCwC,UAAAA,aAAa,EAAE,KAAKtC,gBAAL,EAHsB;EAIrCc,UAAAA,QAAQ,EAAE,KAAKA,QAAL,EAJ2B;EAKrCC,UAAAA,cAAc,EAAE,KAAKA,cAAL,EALqB;EAMrCC,UAAAA,eAAe,EAAE,KAAKA,eAAL,EANoB;EAOrCH,UAAAA,UAAU,EAAE,KAAKA,UAAL,EAPyB;EAQrC3B,UAAAA,UAAU,EAAE,KAAKA,UAAL,EARyB;EASrCkB,UAAAA,OAAO,EAAE,KAAKA,OAAL,EAT4B;EAUrCc,UAAAA,YAAY,EAAE,KAAKA,YAVkB;EAWrCE,UAAAA,UAAU,EAAE,KAAKA,UAXoB;EAYrCb,UAAAA,cAAc,EAAE,KAAKA,cAZgB;EAarCC,UAAAA,QAAQ,EAAE,KAAKA,QAbsB;EAcrCc,UAAAA,SAAS,EAAE,KAAKA,SAAL,EAd0B;EAerCjB,UAAAA,YAAY,EAAE,KAAKA,YAAL,EAfuB;EAgBrC3G,UAAAA,KAAK,EAAE,KAAK4G,QAAL;EAhB8B,UAAvC;;EAmBA,YAAIzB,QAAJ,EAAc;EACZuD,UAAAA,eAAe,CAACG,GAAhB,GAAsB1D,QAAtB;EACD;;EAED,eAAO2D,KAAK,CAACC,aAAN,CAAoB9C,gBAApB,EAAsCyC,eAAtC,CAAP;EACD;EAhNH;;EAAA;EAAA,IAAqBI,KAAK,CAACE,SAA3B,UAKgBhD,WALhB,oBAKwCF,cAAc,CAACG,gBAAD,CALtD,eAOgBf,SAPhB,GAOiCA,WAPjC,SASgB+D,YAThB,GAS+B;EAC3BjC,IAAAA,MAAM,EAAE5B,SAAS,CAACQ,MADS;;EAAA,GAT/B,SAagBsD,YAbhB,GAaoC;EAChC/D,IAAAA,QAAQ,EAAE,IADsB;EAEhCM,IAAAA,QAAQ,EAAE,KAFsB;EAGhCgB,IAAAA,eAAe,EAAE,EAHe;EAIhC0C,IAAAA,gBAAgB,EAAE,EAJc;EAKhCvH,IAAAA,WAAW,EAAE,IALmB;EAMhC5B,IAAAA,KAAK,EAAGiG,gBAAD,CAA0BmD;EAND,GAbpC;EAkND;;MChQKC;;;;;EAwEJ,kBAAmBnD,KAAnB,EAAuC;EAAA;;EAAA;;EACrC,gFAAMA,KAAN;EADqC,UAvEhCoD,MAuEgC;EAAA,UArEhCC,UAqEgC;EAAA,UAnEhCC,cAmEgC,GAnED,IAmEC;;EAAA,UAWhCC,eAXgC,GAWd;EAAA,aAAO;EAC9BzC,QAAAA,MAAM,EAAE;EACNa,UAAAA,YAAY,EAAE,MAAKA,YADb;EAENY,UAAAA,cAAc,EAAE,MAAKA,cAFf;EAGNpB,UAAAA,cAAc,EAAE,MAAKA,cAAL,EAHV;EAING,UAAAA,YAAY,EAAE,MAAKA,YAJb;EAKNT,UAAAA,QAAQ,EAAE,MAAKA;EALT;EADsB,OAAP;EAAA,KAXc;;EAAA,UAqBhC2C,iBArBgC,GAqBZ,YAAM;EAC/B,YAAKF,cAAL,GAAsB,MAAKF,MAAL,CAAY1E,GAAZ,CAAgB,UAAAmB,SAAS;EAAA,eAAIA,SAAS,CAACG,KAAV,CAAgBZ,IAApB;EAAA,OAAzB,CAAtB;;EACA,YAAKqE,YAAL;EACD,KAxBsC;;EAAA,UA0BhCC,kBA1BgC,GA0BX,YAAM;EAAA,UACxBT,gBADwB,GACH,MAAKjD,KADF,CACxBiD,gBADwB;;EAGhC,UAAIA,gBAAgB,IAAI,QAAOA,gBAAP,MAA4B,QAAhD,IAA4D5H,MAAM,CAACC,IAAP,CAAY2H,gBAAZ,EAA8BjI,MAA9B,GAAuC,CAAvG,EAA0G;EACxG,cAAK2I,wBAAL,CAA8BV,gBAA9B;EACD;;EAED,UAAMW,aAAa,GAAG,MAAKR,MAAL,CAAY1E,GAAZ,CAAgB,UAAAmB,SAAS;EAAA,eAAIA,SAAS,CAACG,KAAV,CAAgBZ,IAApB;EAAA,OAAzB,CAAtB;;EACA,UAAI,MAAKkE,cAAL,IAAuB,CAAChB,MAAA,CAAa,MAAKgB,cAAlB,EAAkCM,aAAlC,CAA5B,EAA8E;EAC5E,cAAKN,cAAL,GAAsBM,aAAtB;;EACA,cAAKH,YAAL;EACD;EACF,KAtCsC;;EAAA,UAwChCI,gBAxCgC,GAwCb;EAAA,aACxB,MAAKT,MAAL,CAAY/E,MAAZ,CAAmB,UAACyF,gBAAD,EAAmBjE,SAAnB,EAAiC;EAAA,YAEvCT,IAFuC,GAI9CS,SAJ8C,CAEhDG,KAFgD,CAEvCZ,IAFuC;EAAA,YAGvCtF,KAHuC,GAI9C+F,SAJ8C,CAGhDQ,KAHgD,CAGvCvG,KAHuC;;EAMlDgK,QAAAA,gBAAgB,CAAC1E,IAAD,CAAhB,GAAyBkD,aAAA,CAAoBxI,KAApB,CAAzB;EACA,eAAOgK,gBAAP;EACD,OARD,EAQG,EARH,CADwB;EAAA,KAxCa;;EAAA,UAmDhCC,QAnDgC,GAmDrB,YAAM;EACtB,UAAMtI,aAAa,GAAG,MAAKoI,gBAAL,EAAtB;;EACA,aAAO,MAAKG,QAAL,CAAcvI,aAAd,CAAP;EACD,KAtDsC;;EAAA,UAwDhCwI,iBAxDgC,GAwDZ;EAAA,aACzB,MAAKb,MAAL,CAAY/E,MAAZ,CAAmB,UAACyF,gBAAD,EAAmBjE,SAAnB,EAAiC;EAAA,+BAG9CA,SAH8C,CAEhDG,KAFgD;EAAA,YAEvCZ,IAFuC,oBAEvCA,IAFuC;EAAA,YAEjCtF,KAFiC,oBAEjCA,KAFiC;;EAKlDgK,QAAAA,gBAAgB,CAAC1E,IAAD,CAAhB,GAAyBkD,aAAA,CAAoBxI,KAApB,CAAzB;EACA,eAAOgK,gBAAP;EACD,OAPD,EAOG,EAPH,CADyB;EAAA,KAxDY;;EAAA,UAkEhCI,eAlEgC,GAkEd,UAACjD,UAAD,EAAyB;EAChD,YAAKD,QAAL,CAAc;EACZK,QAAAA,aAAa,EAAE,CAACJ;EADJ,OAAd,EADgD;EAMhD;;;EACA,YAAKmC,MAAL,CAAYpH,OAAZ,CAAoB,UAAA6D,SAAS,EAAI;EAC/BA,QAAAA,SAAS,CAACmB,QAAV,CAAmB;EACjBK,UAAAA,aAAa,EAAE,CAACJ,UADC;EAEjBA,UAAAA,UAAU,EAAVA;EAFiB,SAAnB;EAID,OALD;EAMD,KA/EsC;;EAAA,UAiFhC0C,wBAjFgC,GAiFL,UAAA9H,MAAM,EAAI;EAAA,UAClCsI,2BADkC,GACF,MAAKnE,KADH,CAClCmE,2BADkC;EAAA,UAElC3D,OAFkC,GAEtB,MAAKH,KAFiB,CAElCG,OAFkC;;EAI1C,YAAK4C,MAAL,CAAYpH,OAAZ,CAAoB,UAAA6D,SAAS,EAAI;EAAA,YACvBT,IADuB,GACdS,SAAS,CAACG,KADI,CACvBZ,IADuB;EAE/B,YAAMb,IAAI,GAAG,CACX;EACEiC,UAAAA,OAAO,EAAE,EAAEpB,IAAI,IAAIvD,MAAV,CADX;EAEE0E,UAAAA,eAAe,EAAE,OAAO1E,MAAM,CAACuD,IAAD,CAAb,KAAwB,QAAxB,GAAmC,CAACvD,MAAM,CAACuD,IAAD,CAAP,CAAnC,GAAoDvD,MAAM,CAACuD,IAAD;EAF7E,SADW,CAAb;EAMAS,QAAAA,SAAS,CAACmB,QAAV,OAAAnB,SAAS,EAAatB,IAAb,CAAT;EACD,OATD;;EAUA,UAAI,CAAC4F,2BAAD,IAAgC3D,OAApC,EAA6C;EAC3C,cAAK4D,iBAAL,CAAuB,KAAvB;EACD;EACF,KAlGsC;;EAAA,UAoGhCA,iBApGgC,GAoGZ,UAACC,UAAD,EAAyB;EAAA,wBACnB,MAAKrE,KADc;EAAA,UAC1CsE,OAD0C,eAC1CA,OAD0C;EAAA,UACjCC,SADiC,eACjCA,SADiC;;EAGlD,YAAKvD,QAAL,CAAc;EACZR,QAAAA,OAAO,EAAE6D;EADG,OAAd;;EAIA,UAAIA,UAAJ,EAAgB;EACdC,QAAAA,OAAO;EACR,OAFD,MAEO;EACLC,QAAAA,SAAS;EACV;EACF,KAhHsC;;EAAA,UAkHhCjD,YAlHgC,GAkHjB,UAACzB,SAAD,EAAY/F,KAAZ;EAAA,aAAsB,MAAK0K,aAAL,CAAmB3E,SAAnB,EAA8B/F,KAA9B,EAAqC0G,OAA3D;EAAA,KAlHiB;;EAAA,UAqHhCW,cArHgC,GAqHf;EAAA,aAAM,MAAKnB,KAAL,CAAWyE,QAAjB;EAAA,KArHe;;EAAA,UAuHhCT,QAvHgC,GAuHrB,UAACU,KAAD,EAAmB;EAAA,UAC3BC,OAD2B,GACf,MAAK3E,KADU,CAC3B2E,OAD2B;;EAGnC,UAAIA,OAAJ,EAAa;EACX,eAAOA,OAAO,CAACD,KAAD,CAAd;EACD;;EAED,aAAOE,gBAAgB,CAACC,KAAjB,CACLxJ,MAAM,CAACC,IAAP,CAAYoJ,KAAZ,EAAmBrG,MAAnB,CAA0B,UAACyG,WAAD,EAAcvJ,GAAd,EAAsB;EAC9C,YAAMwJ,QAAQ,GAAGxJ,GAAG,CAAC6C,KAAJ,CAAU,GAAV,CAAjB;EACA,YAAI4G,IAAY,GAAGF,WAAnB;;EACA,eAAOC,QAAQ,CAAC/J,MAAhB,EAAwB;EACtB,cAAMiK,UAAU,GAAGF,QAAQ,CAACtG,KAAT,EAAnB;EACAuG,UAAAA,IAAI,CAACC,UAAD,CAAJ,GAAmBF,QAAQ,CAAC/J,MAAT,GAAkBgK,IAAI,CAACC,UAAD,CAAJ,IAAoB,EAAtC,GAA2CP,KAAK,CAACnJ,GAAD,CAAnE;EACAyJ,UAAAA,IAAI,GAAGA,IAAI,CAACC,UAAD,CAAX;EACD;;EACD,eAAOH,WAAP;EACD,OATD,EASG,EATH,CADK,CAAP;EAYD,KA1IsC;;EAAA,UA4IhCI,KA5IgC,GA4IxB,UAACC,IAAD,EAAkB;EAC/B,YAAKjB,eAAL,CAAqB,IAArB;;EACA,YAAKkB,UAAL,CAAgBD,IAAhB;EACD,KA/IsC;;EAAA,UAiJhCE,aAjJgC,GAiJhB,UAAAC,KAAK,EAAI;EAAA,UACtBC,OADsB,GACV,MAAKvF,KADK,CACtBuF,OADsB;EAG9BD,MAAAA,KAAK,CAACE,cAAN;;EACA,YAAKN,KAAL;;EACA,UAAIK,OAAJ,EAAa;EACXA,QAAAA,OAAO;EACR;EACF,KAzJsC;;EAAA,UA4JhCH,UA5JgC,GA4JN,UAAAD,IAAI,EAAI;EACvC,YAAK/B,MAAL,CAAYpH,OAAZ,CAAoB,UAAA6D,SAAS,EAAI;EAAA,YACvBT,IADuB,GACdS,SAAS,CAACG,KADI,CACvBZ,IADuB;;EAE/B,YAAI+F,IAAI,IAAI9J,MAAM,CAACoK,SAAP,CAAiBC,cAAjB,CAAgCnE,IAAhC,CAAqC4D,IAArC,EAA2C/F,IAA3C,CAAZ,EAA8D;EAC5DS,UAAAA,SAAS,CAACe,QAAV,CAAmBuE,IAAI,CAAC/F,IAAD,CAAvB;EACD,SAFD,MAEO;EACLS,UAAAA,SAAS,CAAC2B,UAAV;EACD;EACF,OAPD;;EAQA,YAAKiC,YAAL;EACD,KAtKsC;;EAAA,UAyKhC7C,QAzKgC,GAyKA,UAACxB,IAAD,EAAOtF,KAAP,EAAc+G,QAAd,EAA2B;EAChE,UAAM8E,KAAK,GAAG,MAAKvC,MAAL,CAAYwC,IAAZ,CAAiB,UAAA/F,SAAS;EAAA,eAAIA,SAAS,CAACG,KAAV,CAAgBZ,IAAhB,KAAyBA,IAA7B;EAAA,OAA1B,CAAd;;EACA,UAAIuG,KAAJ,EAAW;EACTA,QAAAA,KAAK,CAAC/E,QAAN,CAAe9G,KAAf,EAAsB+G,QAAtB;EACD;EACF,KA9KsC;;EAAA,UAiLhC2D,aAjLgC,GAiLhB,UAAI3E,SAAJ,EAAoE;EAAA,UAAlC/F,KAAkC,uEAA1B+F,SAAS,CAACQ,KAAV,CAAgBvG,KAAU;EAAA,UACjFmJ,gBADiF,GAC5D,MAAKjD,KADuD,CACjFiD,gBADiF;;EAEzF,UAAMxH,aAAa,GAAG,MAAKoI,gBAAL,EAAtB;;EACA,UAAMgC,iBAAiB,GAAGvD,QAAA,CAAexI,KAAf,EAAsB2B,aAAtB,EAAqCoE,SAAS,CAACnE,WAA/C,EAA4DC,WAA5D,CAA1B;EACA,UAAMmK,eAAe,GAAGxD,QAAA,CAAexI,KAAf,EAAsB2B,aAAtB,EAAqCoE,SAAS,CAACI,mBAA/C,EAAoEtE,WAApE,CAAxB;EACA,UAAM2D,UAAU,GAAGjE,MAAM,CAACC,IAAP,CAAYuE,SAAS,CAACI,mBAAtB,EAA2CjF,MAA3C,GAAoD,CAAC,CAAC8K,eAAe,CAAC/J,OAAhB,CAAwBf,MAA9E,GAAuF,KAA1G;EACA,UAAMwF,OAAO,GAAG,CAACqF,iBAAiB,CAAC/J,MAAlB,CAAyBd,MAA1B,IAAoC,EAAEiI,gBAAgB,IAAIA,gBAAgB,CAACpD,SAAS,CAACG,KAAV,CAAgBZ,IAAjB,CAAtC,CAApD;EAEA,aAAO;EACLE,QAAAA,UAAU,EAAVA,UADK;EAELkB,QAAAA,OAAO,EAAElB,UAAU,GAAG,KAAH,GAAWkB,OAFzB;EAGLuF,QAAAA,KAAK,EAAG,YAAM;EACZ,cAAIvF,OAAO,IAAI,CAAClB,UAAhB,EAA4B;EAC1B,mBAAO,MAAK+D,UAAZ;EACD;;EAED,cAAIwC,iBAAiB,CAAChK,MAAlB,CAAyBb,MAA7B,EAAqC;EACnC,mBAAO6K,iBAAiB,CAAChK,MAAzB;EACD;;EAED,cAAIoH,gBAAgB,IAAIA,gBAAgB,CAACpD,SAAS,CAACG,KAAV,CAAgBZ,IAAjB,CAAxC,EAAgE;EAC9D,mBAAO,OAAO6D,gBAAgB,CAACpD,SAAS,CAACG,KAAV,CAAgBZ,IAAjB,CAAvB,KAAkD,QAAlD,GACH,CAAC6D,gBAAgB,CAACpD,SAAS,CAACG,KAAV,CAAgBZ,IAAjB,CAAjB,CADG,GAEH6D,gBAAgB,CAACpD,SAAS,CAACG,KAAV,CAAgBZ,IAAjB,CAFpB;EAGD;;EAED,cAAIE,UAAJ,EAAgB;EACd,gBAAMyG,KAAK,GAAGlG,SAAS,CAACG,KAAV,CAAgBiD,gBAAhB,CAAiC6C,eAAe,CAAC/J,OAAhB,CAAwB,CAAxB,CAAjC,KAAgE8D,SAAS,CAACG,KAAV,CAAgBO,eAA9F;EACA,mBAAOwF,KAAK,GAAG,CAACA,KAAD,CAAH,GAAa,IAAzB;EACD;;EAED,cAAIF,iBAAiB,CAAC/J,MAAlB,CAAyBd,MAA7B,EAAqC;EACnC,mBAAO6K,iBAAiB,CAAC/J,MAAlB,CACJ4C,GADI,CACA,UAAA5C,MAAM;EAAA,qBACT+D,SAAS,CAACG,KAAV,CAAgBiD,gBAAhB,CAAiCnH,MAAjC,IACI+D,SAAS,CAACG,KAAV,CAAgBiD,gBAAhB,CAAiCnH,MAAjC,CADJ,GAEI+D,SAAS,CAACG,KAAV,CAAgBO,eAHX;EAAA,aADN,EAMJyF,MANI,CAMG,UAACC,CAAD,EAAIC,GAAJ,EAASC,GAAT;EAAA,qBAAiBA,GAAG,CAACC,OAAJ,CAAYH,CAAZ,MAAmBC,GAApC;EAAA,aANH,CAAP,CADmC;EAQpC;;EAED,iBAAOzL,SAAP;EACD,SA/BM;EAHF,OAAP;EAoCD,KA7NsC;;EAAA,UAiOhCkH,YAjOgC,GAiOjB,UAAA9B,SAAS,EAAI;EACjC,UAAI,MAAKuD,MAAL,CAAYgD,OAAZ,CAAoBvG,SAApB,MAAmC,CAAC,CAAxC,EAA2C;EACzC,cAAKuD,MAAL,CAAY9G,IAAZ,CAAiBuD,SAAjB;EACD;;EAED,YAAKgB,QAAL,CAAchB,SAAd;EACD,KAvOsC;;EAAA,UA2OhC0C,cA3OgC,GA2Of,UAAI1C,SAAJ,EAAqC;EAC3D,UAAMwG,YAAY,GAAG,MAAKjD,MAAL,CAAYgD,OAAZ,CAAoBvG,SAApB,CAArB;;EAEA,UAAIwG,YAAY,KAAK,CAAC,CAAtB,EAAyB;EACvB,cAAKjD,MAAL,GAAc,MAAKA,MAAL,CAAYkD,KAAZ,CAAkB,CAAlB,EAAqBD,YAArB,EAAmCE,MAAnC,CAA0C,MAAKnD,MAAL,CAAYkD,KAAZ,CAAkBD,YAAY,GAAG,CAAjC,CAA1C,CAAd;EACD;;EAED,YAAK5C,YAAL;EACD,KAnPsC;;EAAA,UAsPhC+C,SAtPgC,GAsPpB;EAAA,aAAM,CAAClE,MAAA,CAAa,MAAK2B,iBAAL,EAAb,EAAuC,MAAKJ,gBAAL,EAAvC,CAAP;EAAA,KAtPoB;;EAAA,UAyPhC4C,MAzPgC,GAyPvB,UAAAnB,KAAK,EAAI;EAAA,yBAC8B,MAAKtF,KADnC;EAAA,UACf0G,QADe,gBACfA,QADe;EAAA,UACLC,aADK,gBACLA,aADK;EAAA,UACUC,eADV,gBACUA,eADV;EAAA,UAEfpG,OAFe,GAEH,MAAKH,KAFF,CAEfG,OAFe;;EAIvB,UAAI8E,KAAK,IAAIA,KAAK,CAACE,cAAnB,EAAmC;EACjCF,QAAAA,KAAK,CAACE,cAAN;EACD,OANsB;EASvB;EACA;;;EACA,YAAKtB,eAAL,CAAqB,KAArB;;EACA,UAAMQ,KAAK,GAAG,MAAKX,QAAL,EAAd;;EACA2C,MAAAA,QAAQ,CAAChC,KAAD,EAAQ,MAAKU,UAAb,EAAyB,MAAKyB,qBAA9B,CAAR;;EACA,UAAIrG,OAAJ,EAAa;EACXmG,QAAAA,aAAa,CAACjC,KAAD,EAAQ,MAAKU,UAAb,EAAyB,MAAKyB,qBAA9B,CAAb;EACD,OAFD,MAEO;EACLD,QAAAA,eAAe,CAAClC,KAAD,EAAQ,MAAKU,UAAb,EAAyB,MAAKyB,qBAA9B,CAAf;EACD;EACF,KA5QsC;;EAAA,UAiRhCA,qBAjRgC,GAiRgB,UAAChL,MAAD,EAASiL,UAAT,EAAwB;EAAA,UACrE3C,2BADqE,GACrC,MAAKnE,KADgC,CACrEmE,2BADqE;EAAA,UAErE3D,OAFqE,GAEzD,MAAKH,KAFoD,CAErEG,OAFqE;EAI7EnF,MAAAA,MAAM,CAACC,IAAP,CAAYO,MAAZ,EAAoBG,OAApB,CAA4B,UAAAoD,IAAI,EAAI;EAClC,YAAMS,SAAS,GAAG,MAAKuD,MAAL,CAAYwC,IAAZ,CAAiB,UAAAD,KAAK;EAAA,iBAAIA,KAAK,CAAC3F,KAAN,CAAYZ,IAAZ,KAAqBA,IAAzB;EAAA,SAAtB,CAAlB;;EACA,YAAI,CAACS,SAAL,EAAgB;EACd,gBAAM,IAAIzD,KAAJ,yGAC6FwC,IAAI,CAACmI,SAAL,CAC/FlL,MAD+F,CAD7F,EAAN;EAKD;;EACD,YAAM0C,IAAI,GAAG,CACX;EACEiC,UAAAA,OAAO,EAAE2D,2BADX;EAEE7D,UAAAA,aAAa,EAAE,OAAOzE,MAAM,CAACuD,IAAD,CAAb,KAAwB,QAAxB,GAAmC,CAACvD,MAAM,CAACuD,IAAD,CAAP,CAAnC,GAAoDvD,MAAM,CAACuD,IAAD;EAF3E,SADW,CAAb;EAMAS,QAAAA,SAAS,CAACmB,QAAV,OAAAnB,SAAS,EAAatB,IAAb,CAAT;EACD,OAhBD;;EAiBA,UAAIuI,UAAU,IAAItG,OAAlB,EAA2B;EACzB,cAAK4D,iBAAL,CAAuB,KAAvB;EACD;EACF,KAzSsC;;EAAA,UA8ShCvD,QA9SgC,GA8SrB,UAAIhB,SAAJ,EAAqC;EAAA,UAC7CmH,QAD6C,GAChC,MAAKhH,KAD2B,CAC7CgH,QAD6C;EAAA,UAE7CC,SAF6C,GAE/B,MAAK5G,KAF0B,CAE7C4G,SAF6C;;EAKrD,UAAIA,SAAJ,EAAe;EACbD,QAAAA,QAAQ,CAAC,MAAKjD,QAAL,EAAD,EAAkB,MAAKyC,SAAL,EAAlB,CAAR;EACD;;EAED,UAAMnK,UAAU,GAAG,MAAKmI,aAAL,CAAsB3E,SAAtB,CAAnB,CATqD;EAWrD;;;EACAA,MAAAA,SAAS,CAACmB,QAAV,CACE;EACEV,QAAAA,aAAa,EAAE,IADjB;EAEEhB,QAAAA,UAAU,EAAEjD,UAAU,CAACiD,UAFzB;EAGEkB,QAAAA,OAAO,EAAEnE,UAAU,CAACmE,OAHtB;EAIED,QAAAA,eAAe,EAAElE,UAAU,CAAC0J;EAJ9B,OADF,EAOE,MAAKtC,YAPP;EASD,KAnUsC;;EAAA,UAuUhCA,YAvUgC,GAuUjB,YAAM;EAC1B;EACA;EACA,UAAMyD,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;EACjC,YAAM7C,UAAU,GAAG,MAAKjB,MAAL,CAAYnI,KAAZ,CAAkB,UAAA4E,SAAS;EAAA,iBAAIA,SAAS,CAACQ,KAAV,CAAgBG,OAApB;EAAA,SAA3B,CAAnB;;EAEA,cAAK4D,iBAAL,CAAuBC,UAAvB,EAHiC;;;EAMjC,cAAKrD,QAAL,CAAc;EACZiG,UAAAA,SAAS,EAAE;EADC,SAAd;EAGD,OATD,CAH0B;EAe1B;;;EACA,YAAK7D,MAAL,CAAYpH,OAAZ,CAAoB,UAAC6D,SAAD,EAAY1E,KAAZ,EAAsB;EACxC,YAAMkB,UAAU,GAAG,MAAKmI,aAAL,CAAmB3E,SAAnB,CAAnB;;EACA,YAAIxD,UAAU,CAACmE,OAAX,IAAsBX,SAAS,CAACQ,KAAV,CAAgBC,aAA1C,EAAyD;EACvDjE,UAAAA,UAAU,CAACmE,OAAX,GAAqB,KAArB;EACD;;EACDX,QAAAA,SAAS,CAACmB,QAAV,CACE;EACER,UAAAA,OAAO,EAAEnE,UAAU,CAACmE,OADtB;EAEElB,UAAAA,UAAU,EAAEjD,UAAU,CAACiD,UAFzB;EAGEiB,UAAAA,eAAe,EAAElE,UAAU,CAAC0J,KAH9B;EAIEzF,UAAAA,aAAa,EAAE,CAACjE,UAAU,CAACmE,OAAZ,IAAuBX,SAAS,CAACQ,KAAV,CAAgBC,aAAvC,GAAuDT,SAAS,CAACQ,KAAV,CAAgBC,aAAvE,GAAuF;EAJxG,SADF,EAOEnF,KAAK,KAAK,MAAKiI,MAAL,CAAYpI,MAAZ,GAAqB,CAA/B,GAAmCkM,oBAAnC,GAA0D,IAP5D;EASD,OAdD,EAhB0B;EAiC1B;;;EACA,UAAI,CAAC,MAAK9D,MAAL,CAAYpI,MAAjB,EAAyB;EACvB,cAAKgG,QAAL,CAAc;EACZiG,UAAAA,SAAS,EAAE;EADC,SAAd;EAGD;EACF,KA9WsC;;EAAA,UAgXhCE,MAhXgC,GAgXvB,YAAM;EAAA,yBA8BhB,MAAKnH,KA9BW;EAAA,UAGlBE,eAHkB,gBAGlBA,eAHkB;EAAA,UAIlBE,gBAJkB,gBAIlBA,gBAJkB;EAAA,UAKlBM,QALkB,gBAKlBA,QALkB;EAAA,UAMlBQ,QANkB,gBAMlBA,QANkB;EAAA,UAOlBC,cAPkB,gBAOlBA,cAPkB;EAAA,UAQlBC,eARkB,gBAQlBA,eARkB;EAAA,UASlBH,UATkB,gBASlBA,UATkB;EAAA,UAUlB3B,UAVkB,gBAUlBA,UAVkB;EAAA,UAWlBkB,OAXkB,gBAWlBA,OAXkB;EAAA,UAYlBc,YAZkB,gBAYlBA,YAZkB;EAAA,UAalBqD,OAbkB,gBAalBA,OAbkB;EAAA,UAclBqC,QAdkB,gBAclBA,QAdkB;EAAA,UAelBzC,SAfkB,gBAelBA,SAfkB;EAAA,UAgBlBqC,eAhBkB,gBAgBlBA,eAhBkB;EAAA,UAiBlBrB,OAjBkB,gBAiBlBA,OAjBkB;EAAA,UAkBlBmB,QAlBkB,gBAkBlBA,QAlBkB;EAAA,UAmBlBpC,OAnBkB,gBAmBlBA,OAnBkB;EAAA,UAoBlBqC,aApBkB,gBAoBlBA,aApBkB;EAAA,UAqBlBxC,2BArBkB,gBAqBlBA,2BArBkB;EAAA,UAsBlB3C,UAtBkB,gBAsBlBA,UAtBkB;EAAA,UAuBlBb,cAvBkB,gBAuBlBA,cAvBkB;EAAA,UAwBlBC,QAxBkB,gBAwBlBA,QAxBkB;EAAA,UAyBlBc,SAzBkB,gBAyBlBA,SAzBkB;EAAA,UA0BlBjB,YA1BkB,gBA0BlBA,YA1BkB;EAAA,UA2BlBwC,gBA3BkB,gBA2BlBA,gBA3BkB;EAAA,UA6BfmE,cA7Be;;EAgCpB,aAAOxE,KAAK,CAACC,aAAN,CACL,MADK;EAGH0C,QAAAA,OAAO,EAAE,MAAKF,aAHX;EAIHqB,QAAAA,QAAQ,EAAE,MAAKD;EAJZ,SAKAW,cALA;EAMH3C,QAAAA,QAAQ,EAAE;EANP;EASL,YAAKzE,KAAL,CAAWqH,QATN,CAAP;EAWD,KA3ZsC;;EAErC,UAAKhH,KAAL,GAAa;EACX4G,MAAAA,SAAS,EAAE,KADA;EAEXK,MAAAA,YAAY,EAAE,KAFH;EAGX9G,MAAAA,OAAO,EAAE;EAHE,KAAb;EAKA,UAAK4C,MAAL,GAAc,EAAd;EACA,UAAKC,UAAL,GAAkB,EAAlB;EARqC;EAStC;;;IAjFkBT,KAAK,CAACE;;EAArBK,OAOUrD,cAAc;EAPxBqD,OASUnE,YAAY;EACxByF,EAAAA,QAAQ,EAAEvF,SAAS,CAACO,IADI;EAExBS,EAAAA,eAAe,EAAEhB,SAAS,CAACC,IAFH;EAGxBiB,EAAAA,gBAAgB,EAAElB,SAAS,CAACC,IAHJ;EAIxBuB,EAAAA,QAAQ,EAAExB,SAAS,CAACC,IAJI;EAKxB+B,EAAAA,QAAQ,EAAEhC,SAAS,CAACC,IALI;EAMxBgC,EAAAA,cAAc,EAAEjC,SAAS,CAACC,IANF;EAOxBiC,EAAAA,eAAe,EAAElC,SAAS,CAACC,IAPH;EAQxB8B,EAAAA,UAAU,EAAE/B,SAAS,CAACC,IARE;EASxBG,EAAAA,UAAU,EAAEJ,SAAS,CAACC,IATE;EAUxBqB,EAAAA,OAAO,EAAEtB,SAAS,CAACC,IAVK;EAWxBmC,EAAAA,YAAY,EAAEpC,SAAS,CAACC,IAXA;EAYxBwF,EAAAA,OAAO,EAAEzF,SAAS,CAACC,IAZK;EAaxB6H,EAAAA,QAAQ,EAAE9H,SAAS,CAACC,IAbI;EAcxBoF,EAAAA,SAAS,EAAErF,SAAS,CAACC,IAdG;EAexByH,EAAAA,eAAe,EAAE1H,SAAS,CAACC,IAfH;EAgBxBoG,EAAAA,OAAO,EAAErG,SAAS,CAACC,IAhBK;EAiBxBuH,EAAAA,QAAQ,EAAExH,SAAS,CAACC,IAjBI;EAkBxBmF,EAAAA,OAAO,EAAEpF,SAAS,CAACC,IAlBK;EAmBxBwH,EAAAA,aAAa,EAAEzH,SAAS,CAACC,IAnBD;EAoBxBgF,EAAAA,2BAA2B,EAAEjF,SAAS,CAACO,IApBf;EAqBxB+B,EAAAA,UAAU,EAAEtC,SAAS,CAACC,IArBE;EAsBxBwB,EAAAA,cAAc,EAAEzB,SAAS,CAACC,IAtBF;EAuBxByB,EAAAA,QAAQ,EAAE1B,SAAS,CAACC,IAvBI;EAwBxBuC,EAAAA,SAAS,EAAExC,SAAS,CAACC,IAxBG;EAyBxBsB,EAAAA,YAAY,EAAEvB,SAAS,CAACC,IAzBA;EA0BxB8D,EAAAA,gBAAgB,EAAE/D,SAAS,CAACQ,MA1BJ;;EAAA;EATtByD,OAsCUoE,oBAAoB;EAChCzG,EAAAA,MAAM,EAAE5B,SAAS,CAACQ;EADc;EAtC9ByD,OA0CUH,eAAqC;EACjDyB,EAAAA,QAAQ,EAAE,KADuC;EAEjDvE,EAAAA,eAAe,EAAEoC,IAFgC;EAGjDlC,EAAAA,gBAAgB,EAAEkC,IAH+B;EAIjD5B,EAAAA,QAAQ,EAAE4B,IAJuC;EAKjDpB,EAAAA,QAAQ,EAAEoB,IALuC;EAMjDnB,EAAAA,cAAc,EAAEmB,IANiC;EAOjDlB,EAAAA,eAAe,EAAEkB,IAPgC;EAQjDrB,EAAAA,UAAU,EAAEqB,IARqC;EASjDhD,EAAAA,UAAU,EAAEgD,IATqC;EAUjD9B,EAAAA,OAAO,EAAE8B,IAVwC;EAWjDhB,EAAAA,YAAY,EAAEgB,IAXmC;EAYjDqC,EAAAA,OAAO,EAAE,IAZwC;EAajDqC,EAAAA,QAAQ,EAAE1E,IAbuC;EAcjDkF,EAAAA,OAAO,EAAElF,IAdwC;EAejDiC,EAAAA,SAAS,EAAEjC,IAfsC;EAgBjDsE,EAAAA,eAAe,EAAEtE,IAhBgC;EAiBjDiD,EAAAA,OAAO,EAAEjD,IAjBwC;EAkBjDoE,EAAAA,QAAQ,EAAEpE,IAlBuC;EAmBjDgC,EAAAA,OAAO,EAAEhC,IAnBwC;EAoBjDqE,EAAAA,aAAa,EAAErE,IApBkC;EAqBjD6B,EAAAA,2BAA2B,EAAE,KArBoB;EAsBjD3C,EAAAA,UAAU,EAAEc,IAtBqC;EAuBjD3B,EAAAA,cAAc,EAAE2B,IAvBiC;EAwBjD1B,EAAAA,QAAQ,EAAE0B,IAxBuC;EAyBjDZ,EAAAA,SAAS,EAAEY,IAzBsC;EA0BjD7B,EAAAA,YAAY,EAAE6B,IA1BmC;EA2BjDW,EAAAA,gBAAgB,EAAE;EA3B+B;;AA4brD,MAAMwE,iBAAiB,GAAG,SAApBA,iBAAoB,CAAIrI,IAAJ,EAAkBD,IAAlB,EAAkD;EAC1ExD,EAAAA,WAAe,CAACyD,IAAD,CAAf,GAAwBD,IAAxB;EACD,CAFD;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"formsy-react.umd.js","sources":["../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/form-data-to-object/index.js","../src/utils.ts","../src/validationRules.ts","../src/Wrapper.ts","../src/index.ts"],"sourcesContent":["/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function toObj(source) {\n return Object.keys(source).reduce(function (output, key) {\n var parentKey = key.match(/[^\\[]*/i);\n var paths = key.match(/\\[.*?\\]/g) || [];\n paths = [parentKey[0]].concat(paths).map(function (key) {\n return key.replace(/\\[|\\]/g, '');\n });\n var currentPath = output;\n while (paths.length) {\n var pathKey = paths.shift();\n\n if (pathKey in currentPath) {\n currentPath = currentPath[pathKey];\n } else {\n currentPath[pathKey] = paths.length ? isNaN(paths[0]) ? {} : [] : source[key];\n currentPath = currentPath[pathKey];\n }\n }\n\n return output;\n }, {});\n}\n\nfunction fromObj(obj) {\n function recur(newObj, propName, currVal) {\n if (Array.isArray(currVal) || Object.prototype.toString.call(currVal) === '[object Object]') {\n Object.keys(currVal).forEach(function(v) {\n recur(newObj, propName + \"[\" + v + \"]\", currVal[v]);\n });\n return newObj;\n }\n\n newObj[propName] = currVal;\n return newObj;\n }\n\n var keys = Object.keys(obj);\n return keys.reduce(function(newObj, propName) {\n return recur(newObj, propName, obj[propName]);\n }, {});\n}\n\nmodule.exports = {\n fromObj: fromObj,\n toObj: toObj\n}","import { Validations, Values } from './interfaces';\n\nexport function isArray(value: unknown): value is unknown[] {\n return Array.isArray(value);\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n\nexport function isTypeUndefined(value: unknown): value is undefined {\n return typeof value === 'undefined';\n}\n\nexport function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n\nexport function isFunction(value: unknown): value is Function {\n return value !== null && typeof value === 'function';\n}\n\nexport function isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport function isValueStringEmpty(value: string): boolean {\n return value === '';\n}\n\nexport function isValueNullOrUndefined(value: unknown): boolean {\n return value === null || value === undefined;\n}\n\nexport function isValueUndefined(value: unknown): boolean {\n return value === undefined;\n}\n\nexport function noop() {\n // do nothing.\n}\n\nexport function cloneIfObject(value: unknown) {\n // Clone objects to avoid accidental param reassignment\n return isObject(value) ? { ...value } : value;\n}\n\nexport function isSame(a: unknown, b: unknown) {\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (isArray(a) && isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((item, index) => isSame(item, b[index]));\n }\n\n if (isFunction(a) && isFunction(b)) {\n return a.toString() === b.toString();\n }\n\n if (isDate(a) && isDate(b)) {\n return a.toString() === b.toString();\n }\n\n if (isObject(a) && isObject(b)) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n\n return Object.keys(a).every(key => isSame(a[key], b[key]));\n }\n\n return a === b;\n}\n\nexport function runRules(\n value: V,\n currentValues: Values,\n validations: Validations,\n validationRules: Validations,\n) {\n const results: {\n errors: string[];\n failed: string[];\n success: string[];\n } = {\n errors: [],\n failed: [],\n success: [],\n };\n\n if (Object.keys(validations).length) {\n Object.keys(validations).forEach(validationMethod => {\n const validationsVal = validations[validationMethod];\n const validationRulesVal = validationRules[validationMethod];\n\n if (validationRulesVal && isFunction(validationsVal)) {\n throw new Error(`Formsy does not allow you to override default validations: ${validationMethod}`);\n }\n\n if (!validationRulesVal && !isFunction(validationsVal)) {\n throw new Error(`Formsy does not have the validation rule: ${validationMethod}`);\n }\n\n if (isFunction(validationsVal)) {\n const validation = validationsVal(currentValues, value);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n }\n\n return;\n }\n\n if (!isFunction(validationsVal) && isFunction(validationRulesVal)) {\n const validation = validationRulesVal(currentValues, value, validationsVal);\n\n if (isString(validation)) {\n results.errors.push(validation);\n results.failed.push(validationMethod);\n } else if (!validation) {\n results.failed.push(validationMethod);\n } else {\n results.success.push(validationMethod);\n }\n return;\n }\n\n results.success.push(validationMethod);\n });\n }\n\n return results;\n}\n","import { ValidationFunction, Values } from './interfaces';\nimport {\n isString,\n isValueStringEmpty,\n isTypeUndefined,\n isValueNullOrUndefined,\n isNumber,\n isValueUndefined,\n} from './utils';\n\nconst isExisty = (value: V) => !isValueNullOrUndefined(value);\nconst isEmpty = (value: V) => {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n if (isTypeUndefined(value)) {\n return false;\n }\n return isValueUndefined(value);\n};\n\ninterface Validations {\n [key: string]: ValidationFunction;\n}\n\nconst validations: Validations = {\n isDefaultRequiredValue(_values: Values, value: V) {\n if (isString(value)) {\n return isValueStringEmpty(value);\n }\n return isValueNullOrUndefined(value);\n },\n isExisty(_values: Values, value: V) {\n return isExisty(value);\n },\n matchRegexp(_values: Values, value: string, regexp: RegExp) {\n return !isExisty(value) || isEmpty(value) || regexp.test(value);\n },\n isUndefined(_values: Values, value: V) {\n return isValueUndefined(value);\n },\n isEmptyString(_values: Values, value: string) {\n return isEmpty(value);\n },\n isEmail(values: Values, value: string) {\n // Regex from http://emailregex.com/\n return validations.matchRegexp(\n values,\n value,\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i,\n );\n },\n isUrl(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/i);\n },\n isTrue(_values: Values, value: boolean | string) {\n return value === true;\n },\n isFalse(_values: Values, value: boolean | string) {\n return value === false;\n },\n isNumeric(values: Values, value: V) {\n if (isNumber(value)) {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][+-]?(?:\\d+))?$/);\n },\n isWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords(values: Values, value: V) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals(_values: Values, value: V, eql: V) {\n return !isExisty(value) || isEmpty(value) || value === eql;\n },\n equalsField(values: Values, value: V, field: string) {\n return value === values[field];\n },\n maxLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || value.length <= length;\n },\n minLength(_values: Values, value: string, length: number) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n};\n\nexport default validations;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport * as utils from './utils';\nimport { RequiredValidation, Validations, WrappedComponentClass } from './interfaces';\n\n/* eslint-disable react/default-props-match-prop-types */\n\nconst convertValidationsToObject = (validations: false | Validations): Validations => {\n if (typeof validations === 'string') {\n return validations.split(/,(?![^{[]*[}\\]])/g).reduce((validationsAccumulator, validation) => {\n let args = validation.split(':');\n const validateMethod = args.shift();\n\n if (typeof validateMethod !== 'string') {\n throw new Error('Formsy encountered unexpected problem parsing validation string');\n }\n\n args = args.map(arg => {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg; // It is a string if it can not parse it\n }\n });\n\n if (args.length > 1) {\n throw new Error(\n 'Formsy does not support multiple args on string validations. Use object format of validations instead.',\n );\n }\n\n // Avoid parameter reassignment\n const validationsAccumulatorCopy: Validations = { ...validationsAccumulator };\n validationsAccumulatorCopy[validateMethod] = args.length ? args[0] : true;\n return validationsAccumulatorCopy;\n }, {});\n }\n\n return validations || {};\n};\n\nconst propTypes = {\n innerRef: PropTypes.func,\n name: PropTypes.string.isRequired,\n required: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string]),\n validations: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n value: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n};\n\nexport interface WrapperProps {\n innerRef?: (ref: any) => void;\n name: string;\n required?: RequiredValidation;\n validationError?: any;\n validationErrors?: any;\n validations?: Validations;\n value?: V;\n}\n\nexport interface WrapperState {\n [key: string]: unknown;\n externalError: null;\n formSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n pristineValue: any;\n validationError: any[];\n value: V;\n}\n\nexport interface InjectedProps {\n errorMessage: any;\n errorMessages: any;\n hasValue: boolean;\n isFormDisabled: boolean;\n isFormSubmitted: boolean;\n isPristine: boolean;\n isRequired: boolean;\n isValid: boolean;\n isValidValue: (value: V) => boolean;\n ref?: any;\n resetValue: any;\n setValidations: any;\n setValue: (value: V) => void;\n showError: boolean;\n showRequired: boolean;\n}\n\nexport type PassDownProps = WrapperProps & InjectedProps;\n\nexport { propTypes };\n\nfunction getDisplayName(component: WrappedComponentClass) {\n return (\n (component as { displayName?: string }).displayName ||\n component.name ||\n (typeof component === 'string' ? component : 'Component')\n );\n}\n\nexport default function(\n WrappedComponent: React.ComponentType>,\n): React.ComponentType, keyof InjectedProps>> {\n return class extends React.Component, WrapperState> {\n public validations?: Validations;\n\n public requiredValidations?: Validations;\n\n public static displayName = `Formsy(${getDisplayName(WrappedComponent)})`;\n\n public static propTypes: any = propTypes;\n\n public static contextTypes = {\n formsy: PropTypes.object, // What about required?\n };\n\n public static defaultProps: any = {\n innerRef: null,\n required: false,\n validationError: '',\n validationErrors: {},\n validations: null,\n value: (WrappedComponent as any).defaultValue,\n };\n\n public constructor(props) {\n super(props);\n this.state = {\n externalError: null,\n formSubmitted: false,\n isPristine: true,\n isRequired: false,\n isValid: true,\n pristineValue: props.value,\n validationError: [],\n value: props.value,\n };\n }\n\n public componentDidMount() {\n const { validations, required, name } = this.props;\n const { formsy } = this.context;\n\n if (!name) {\n throw new Error('Form Input requires a name property when used');\n }\n\n this.setValidations(validations, required);\n\n // Pass a function instead?\n formsy.attachToForm(this);\n }\n\n public shouldComponentUpdate(nextProps, nextState, nextContext) {\n const {\n props,\n state,\n context: { formsy: formsyContext },\n } = this;\n const isPropsChanged = Object.keys(props).some(k => props[k] !== nextProps[k]);\n\n const isStateChanged = Object.keys(state).some(k => state[k] !== nextState[k]);\n\n const isFormsyContextChanged = Object.keys(formsyContext).some(k => formsyContext[k] !== nextContext.formsy[k]);\n\n return isPropsChanged || isStateChanged || isFormsyContextChanged;\n }\n\n public componentDidUpdate(prevProps) {\n const { value, validations, required } = this.props;\n const { formsy } = this.context;\n\n // If the value passed has changed, set it. If value is not passed it will\n // internally update, and this will never run\n if (!utils.isSame(value, prevProps.value)) {\n this.setValue(value);\n }\n\n // If validations or required is changed, run a new validation\n if (!utils.isSame(validations, prevProps.validations) || !utils.isSame(required, prevProps.required)) {\n this.setValidations(validations, required);\n formsy.validate(this);\n }\n }\n\n // Detach it when component unmounts\n // eslint-disable-next-line react/sort-comp\n public componentWillUnmount() {\n const { formsy } = this.context;\n formsy.detachFromForm(this);\n }\n\n public getErrorMessage = () => {\n const messages = this.getErrorMessages();\n return messages.length ? messages[0] : null;\n };\n\n public getErrorMessages = () => {\n const { externalError, validationError } = this.state;\n\n if (!this.isValid() || this.showRequired()) {\n return externalError || validationError || [];\n }\n return [];\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public getValue = () => this.state.value;\n\n public setValidations = (validations: Validations, required: RequiredValidation) => {\n // Add validations to the store itself as the props object can not be modified\n this.validations = convertValidationsToObject(validations) || {};\n this.requiredValidations =\n required === true ? { isDefaultRequiredValue: required } : convertValidationsToObject(required);\n };\n\n // By default, we validate after the value has been set.\n // A user can override this and pass a second parameter of `false` to skip validation.\n public setValue = (value, validate = true) => {\n const { formsy } = this.context;\n\n if (!validate) {\n this.setState({\n value,\n });\n } else {\n this.setState(\n {\n value,\n isPristine: false,\n },\n () => {\n formsy.validate(this);\n },\n );\n }\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public hasValue = () => {\n const { value } = this.state;\n if (typeof value === 'string') {\n return value !== '';\n }\n return value !== undefined;\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.context.formsy.isFormDisabled;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormSubmitted = () => this.state.formSubmitted;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isPristine = () => this.state.isPristine;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isRequired = () => !!this.props.required;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValid = () => this.state.isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isValidValue = value => this.context.formsy.isValidValue.call(null, this, value);\n\n public resetValue = () => {\n const { pristineValue } = this.state;\n const { formsy } = this.context;\n\n this.setState(\n {\n value: pristineValue,\n isPristine: true,\n },\n () => {\n formsy.validate(this);\n },\n );\n };\n\n public showError = () => !this.showRequired() && !this.isValid();\n\n // eslint-disable-next-line react/destructuring-assignment\n public showRequired = () => this.state.isRequired;\n\n public render() {\n const { innerRef } = this.props;\n const propsForElement: PassDownProps = {\n ...this.props,\n errorMessage: this.getErrorMessage(),\n errorMessages: this.getErrorMessages(),\n hasValue: this.hasValue(),\n isFormDisabled: this.isFormDisabled(),\n isFormSubmitted: this.isFormSubmitted(),\n isPristine: this.isPristine(),\n isRequired: this.isRequired(),\n isValid: this.isValid(),\n isValidValue: this.isValidValue,\n resetValue: this.resetValue,\n setValidations: this.setValidations,\n setValue: this.setValue,\n showError: this.showError(),\n showRequired: this.showRequired(),\n value: this.getValue(),\n };\n\n if (innerRef) {\n propsForElement.ref = innerRef;\n }\n\n return React.createElement(WrappedComponent, propsForElement as any);\n }\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport formDataToObject from 'form-data-to-object';\n\nimport * as utils from './utils';\nimport validationRules from './validationRules';\nimport Wrapper, { propTypes } from './Wrapper';\n\nimport {\n IData,\n IModel,\n InputComponent,\n IResetModel,\n IUpdateInputsWithValue,\n IUpdateInputsWithError,\n ValidationFunction,\n} from './interfaces';\n\ntype FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>;\n\n/* eslint-disable react/no-unused-state, react/default-props-match-prop-types */\nexport interface FormsyProps extends FormHTMLAttributesCleaned {\n disabled: boolean;\n getErrorMessage: any;\n getErrorMessages: any;\n getValue: any;\n hasValue: any;\n isFormDisabled: any;\n isFormSubmitted: any;\n isPristine: any;\n isRequired: any;\n isValid: any;\n isValidValue: any;\n mapping: null | ((model: IModel) => IModel);\n onChange: (model: IModel, isChanged: boolean) => void;\n onError: any;\n onInvalid: () => void;\n onInvalidSubmit: any;\n onReset?: () => void;\n onSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n onValid: () => void;\n onValidSubmit?: (model: IModel, resetModel: IResetModel, updateInputsWithError: IUpdateInputsWithError) => void;\n preventExternalInvalidation?: boolean;\n resetValue: any;\n setValidations: any;\n setValue: any;\n showError: any;\n showRequired: any;\n validationErrors?: null | object;\n}\n\nexport interface FormsyState {\n canChange: boolean;\n formSubmitted?: boolean;\n isPristine?: boolean;\n isSubmitting: boolean;\n isValid: boolean;\n}\n\nclass Formsy extends React.Component {\n public inputs: any[];\n\n public emptyArray: any[];\n\n public prevInputNames: any[] | null = null;\n\n public static displayName = 'Formsy';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n getErrorMessage: PropTypes.func,\n getErrorMessages: PropTypes.func,\n getValue: PropTypes.func,\n hasValue: PropTypes.func,\n isFormDisabled: PropTypes.func,\n isFormSubmitted: PropTypes.func,\n isPristine: PropTypes.func,\n isRequired: PropTypes.func,\n isValid: PropTypes.func,\n isValidValue: PropTypes.func,\n mapping: PropTypes.func,\n onChange: PropTypes.func,\n onInvalid: PropTypes.func,\n onInvalidSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onValidSubmit: PropTypes.func,\n preventExternalInvalidation: PropTypes.bool,\n resetValue: PropTypes.func,\n setValidations: PropTypes.func,\n setValue: PropTypes.func,\n showError: PropTypes.func,\n showRequired: PropTypes.func,\n validationErrors: PropTypes.object, // eslint-disable-line\n };\n\n public static childContextTypes = {\n formsy: PropTypes.object,\n };\n\n public static defaultProps: Partial = {\n disabled: false,\n getErrorMessage: utils.noop,\n getErrorMessages: utils.noop,\n getValue: utils.noop,\n hasValue: utils.noop,\n isFormDisabled: utils.noop,\n isFormSubmitted: utils.noop,\n isPristine: utils.noop,\n isRequired: utils.noop,\n isValid: utils.noop,\n isValidValue: utils.noop,\n mapping: null,\n onChange: utils.noop,\n onError: utils.noop,\n onInvalid: utils.noop,\n onInvalidSubmit: utils.noop,\n onReset: utils.noop,\n onSubmit: utils.noop,\n onValid: utils.noop,\n onValidSubmit: utils.noop,\n preventExternalInvalidation: false,\n resetValue: utils.noop,\n setValidations: utils.noop,\n setValue: utils.noop,\n showError: utils.noop,\n showRequired: utils.noop,\n validationErrors: null,\n };\n\n public constructor(props: FormsyProps) {\n super(props);\n this.state = {\n canChange: false,\n isSubmitting: false,\n isValid: true,\n };\n this.inputs = [];\n this.emptyArray = [];\n }\n\n public getChildContext = () => ({\n formsy: {\n attachToForm: this.attachToForm,\n detachFromForm: this.detachFromForm,\n isFormDisabled: this.isFormDisabled(),\n isValidValue: this.isValidValue,\n validate: this.validate,\n },\n });\n\n public componentDidMount = () => {\n this.prevInputNames = this.inputs.map(component => component.props.name);\n this.validateForm();\n };\n\n public componentDidUpdate = () => {\n const { validationErrors } = this.props;\n\n if (validationErrors && typeof validationErrors === 'object' && Object.keys(validationErrors).length > 0) {\n this.setInputValidationErrors(validationErrors);\n }\n\n const newInputNames = this.inputs.map(component => component.props.name);\n if (this.prevInputNames && !utils.isSame(this.prevInputNames, newInputNames)) {\n this.prevInputNames = newInputNames;\n this.validateForm();\n }\n };\n\n public getCurrentValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name },\n state: { value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public getModel = () => {\n const currentValues = this.getCurrentValues();\n return this.mapModel(currentValues);\n };\n\n public getPristineValues = () =>\n this.inputs.reduce((valueAccumulator, component) => {\n const {\n props: { name, value },\n } = component;\n // eslint-disable-next-line no-param-reassign\n valueAccumulator[name] = utils.cloneIfObject(value);\n return valueAccumulator;\n }, {});\n\n public setFormPristine = (isPristine: boolean) => {\n this.setState({\n formSubmitted: !isPristine,\n });\n\n // Iterate through each component and set it as pristine\n // or \"dirty\".\n this.inputs.forEach(component => {\n component.setState({\n formSubmitted: !isPristine,\n isPristine,\n });\n });\n };\n\n public setInputValidationErrors = errors => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n this.inputs.forEach(component => {\n const { name } = component.props;\n const args = [\n {\n isValid: !(name in errors),\n validationError: typeof errors[name] === 'string' ? [errors[name]] : errors[name],\n },\n ];\n component.setState(...args);\n });\n if (!preventExternalInvalidation && isValid) {\n this.setFormValidState(false);\n }\n };\n\n public setFormValidState = (allIsValid: boolean) => {\n const { onValid, onInvalid } = this.props;\n\n this.setState({\n isValid: allIsValid,\n });\n\n if (allIsValid) {\n onValid();\n } else {\n onInvalid();\n }\n };\n\n public isValidValue = (component, value) => this.runValidation(component, value).isValid;\n\n // eslint-disable-next-line react/destructuring-assignment\n public isFormDisabled = () => this.props.disabled;\n\n public mapModel = (model: IModel) => {\n const { mapping } = this.props;\n\n if (mapping) {\n return mapping(model);\n }\n\n return formDataToObject.toObj(\n Object.keys(model).reduce((mappedModel, key) => {\n const keyArray = key.split('.');\n let base: IModel = mappedModel;\n while (keyArray.length) {\n const currentKey = keyArray.shift() as string;\n base[currentKey] = keyArray.length ? base[currentKey] || {} : model[key];\n base = base[currentKey];\n }\n return mappedModel;\n }, {}),\n );\n };\n\n public reset = (data?: IData) => {\n this.setFormPristine(true);\n this.resetModel(data);\n };\n\n public resetInternal = event => {\n const { onReset } = this.props;\n\n event.preventDefault();\n this.reset();\n if (onReset) {\n onReset();\n }\n };\n\n // Reset each key in the model to the original / initial / specified value\n public resetModel: IResetModel = data => {\n this.inputs.forEach(component => {\n const { name } = component.props;\n if (data && Object.prototype.hasOwnProperty.call(data, name)) {\n component.setValue(data[name]);\n } else {\n component.resetValue();\n }\n });\n this.validateForm();\n };\n\n // Checks validation on current value or a passed value\n public runValidation = (component: InputComponent, value = component.state.value) => {\n const { validationErrors } = this.props;\n const currentValues = this.getCurrentValues();\n const validationResults = utils.runRules(value, currentValues, component.validations, validationRules);\n const requiredResults = utils.runRules(value, currentValues, component.requiredValidations, validationRules);\n const isRequired = Object.keys(component.requiredValidations).length ? !!requiredResults.success.length : false;\n const isValid = !validationResults.failed.length && !(validationErrors && validationErrors[component.props.name]);\n\n return {\n isRequired,\n isValid: isRequired ? false : isValid,\n error: (() => {\n if (isValid && !isRequired) {\n return this.emptyArray;\n }\n\n if (validationResults.errors.length) {\n return validationResults.errors;\n }\n\n if (validationErrors && validationErrors[component.props.name]) {\n return typeof validationErrors[component.props.name] === 'string'\n ? [validationErrors[component.props.name]]\n : validationErrors[component.props.name];\n }\n\n if (isRequired) {\n const error = component.props.validationErrors[requiredResults.success[0]] || component.props.validationError;\n return error ? [error] : null;\n }\n\n if (validationResults.failed.length) {\n return validationResults.failed\n .map(failed =>\n component.props.validationErrors[failed]\n ? component.props.validationErrors[failed]\n : component.props.validationError,\n )\n .filter((x, pos, arr) => arr.indexOf(x) === pos); // remove duplicates\n }\n\n return undefined;\n })(),\n };\n };\n\n // Method put on each input component to register\n // itself to the form\n public attachToForm = component => {\n if (this.inputs.indexOf(component) === -1) {\n this.inputs.push(component);\n }\n\n this.validate(component);\n };\n\n // Method put on each input component to unregister\n // itself from the form\n public detachFromForm = (component: InputComponent) => {\n const componentPos = this.inputs.indexOf(component);\n\n if (componentPos !== -1) {\n this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));\n }\n\n this.validateForm();\n };\n\n // Checks if the values have changed from their initial value\n public isChanged = () => !utils.isSame(this.getPristineValues(), this.getCurrentValues());\n\n // Update model, submit to url prop and send the model\n public submit = event => {\n const { onSubmit, onValidSubmit, onInvalidSubmit } = this.props;\n const { isValid } = this.state;\n\n if (event && event.preventDefault) {\n event.preventDefault();\n }\n\n // Trigger form as not pristine.\n // If any inputs have not been touched yet this will make them dirty\n // so validation becomes visible (if based on isPristine)\n this.setFormPristine(false);\n const model = this.getModel();\n onSubmit(model, this.resetModel, this.updateInputsWithError);\n if (isValid) {\n onValidSubmit(model, this.resetModel, this.updateInputsWithError);\n } else {\n onInvalidSubmit(model, this.resetModel, this.updateInputsWithError);\n }\n };\n\n // Go through errors from server and grab the components\n // stored in the inputs map. Change their state to invalid\n // and set the serverError message\n public updateInputsWithError: IUpdateInputsWithError = (errors, invalidate) => {\n const { preventExternalInvalidation } = this.props;\n const { isValid } = this.state;\n\n Object.entries(errors).forEach(([name, error]) => {\n const component = this.inputs.find(input => input.props.name === name);\n if (!component) {\n throw new Error(\n `You are trying to update an input that does not exist. Verify errors object with input names. ${JSON.stringify(\n errors,\n )}`,\n );\n }\n const args = [\n {\n isValid: preventExternalInvalidation,\n externalError: utils.isString(error) ? [error] : error,\n },\n ];\n component.setState(...args);\n });\n if (invalidate && isValid) {\n this.setFormValidState(false);\n }\n };\n\n // Set the value of components\n public updateInputsWithValue: IUpdateInputsWithValue = (values, validate) => {\n Object.entries(values).forEach(([name, value]) => {\n const input = this.inputs.find(component => component.props.name === name);\n\n if (input) {\n input.setValue(value, validate);\n }\n });\n };\n\n // Use the binded values and the actual input value to\n // validate the input and set its state. Then check the\n // state of the form itself\n public validate = (component: InputComponent) => {\n const { onChange } = this.props;\n const { canChange } = this.state;\n\n // Trigger onChange\n if (canChange) {\n onChange(this.getModel(), this.isChanged());\n }\n\n const validation = this.runValidation(component);\n // Run through the validations, split them up and call\n // the validator IF there is a value or it is required\n component.setState(\n {\n externalError: null,\n isRequired: validation.isRequired,\n isValid: validation.isValid,\n validationError: validation.error,\n },\n this.validateForm,\n );\n };\n\n // Validate the form by going through all child input components\n // and check their state\n public validateForm = () => {\n // We need a callback as we are validating all inputs again. This will\n // run when the last component has set its state\n const onValidationComplete = () => {\n const allIsValid = this.inputs.every(component => component.state.isValid);\n\n this.setFormValidState(allIsValid);\n\n // Tell the form that it can start to trigger change events\n this.setState({\n canChange: true,\n });\n };\n\n // Run validation again in case affected by other inputs. The\n // last component validated will run the onValidationComplete callback\n this.inputs.forEach((component, index) => {\n const validation = this.runValidation(component);\n if (validation.isValid && component.state.externalError) {\n validation.isValid = false;\n }\n component.setState(\n {\n isValid: validation.isValid,\n isRequired: validation.isRequired,\n validationError: validation.error,\n externalError: !validation.isValid && component.state.externalError ? component.state.externalError : null,\n },\n index === this.inputs.length - 1 ? onValidationComplete : null,\n );\n });\n\n // If there are no inputs, set state where form is ready to trigger\n // change event. New inputs might be added later\n if (!this.inputs.length) {\n this.setState({\n canChange: true,\n });\n }\n };\n\n public render = () => {\n const {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n getErrorMessage,\n getErrorMessages,\n getValue,\n hasValue,\n isFormDisabled,\n isFormSubmitted,\n isPristine,\n isRequired,\n isValid,\n isValidValue,\n mapping,\n onChange,\n onInvalid,\n onInvalidSubmit,\n onReset,\n onSubmit,\n onValid,\n onValidSubmit,\n preventExternalInvalidation,\n resetValue,\n setValidations,\n setValue,\n showError,\n showRequired,\n validationErrors,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...nonFormsyProps\n } = this.props;\n\n return React.createElement(\n 'form',\n {\n onReset: this.resetInternal,\n onSubmit: this.submit,\n ...nonFormsyProps,\n disabled: false,\n },\n // eslint-disable-next-line react/destructuring-assignment\n this.props.children,\n );\n };\n}\n\nconst addValidationRule = (name: string, func: ValidationFunction) => {\n validationRules[name] = func;\n};\n\nexport { addValidationRule, propTypes, validationRules, Wrapper as withFormsy };\n\nexport default Formsy;\n"],"names":["require$$0","require$$1","ReactPropTypesSecret","has","printWarning","ReactIs","assign","checkPropTypes","require$$2","isArray","value","Array","isObject","isTypeUndefined","isDate","Date","isFunction","isString","isNumber","isValueStringEmpty","isValueNullOrUndefined","undefined","isValueUndefined","noop","cloneIfObject","isSame","a","b","length","every","item","index","toString","Object","keys","key","runRules","currentValues","validations","validationRules","results","errors","failed","success","forEach","validationMethod","validationsVal","validationRulesVal","Error","validation","push","isExisty","isEmpty","isDefaultRequiredValue","_values","matchRegexp","regexp","test","isUndefined","isEmptyString","isEmail","values","isUrl","isTrue","isFalse","isNumeric","isAlpha","isAlphanumeric","isInt","isFloat","isWords","isSpecialWords","isLength","equals","eql","equalsField","field","maxLength","minLength","convertValidationsToObject","split","reduce","validationsAccumulator","args","validateMethod","shift","map","arg","JSON","parse","e","validationsAccumulatorCopy","propTypes","innerRef","PropTypes","func","name","string","isRequired","required","oneOfType","bool","object","any","getDisplayName","component","displayName","WrappedComponent","props","requiredValidations","getErrorMessage","messages","getErrorMessages","state","externalError","validationError","isValid","showRequired","getValue","setValidations","setValue","validate","formsy","context","setState","isPristine","hasValue","isFormDisabled","isFormSubmitted","formSubmitted","isValidValue","call","resetValue","pristineValue","showError","attachToForm","nextProps","nextState","nextContext","formsyContext","isPropsChanged","some","k","isStateChanged","isFormsyContextChanged","prevProps","utils","detachFromForm","propsForElement","errorMessage","errorMessages","ref","React","createElement","Component","contextTypes","defaultProps","validationErrors","defaultValue","Formsy","inputs","emptyArray","prevInputNames","getChildContext","componentDidMount","validateForm","componentDidUpdate","setInputValidationErrors","newInputNames","getCurrentValues","valueAccumulator","getModel","mapModel","getPristineValues","setFormPristine","preventExternalInvalidation","setFormValidState","allIsValid","onValid","onInvalid","runValidation","disabled","model","mapping","formDataToObject","toObj","mappedModel","keyArray","base","currentKey","reset","data","resetModel","resetInternal","event","onReset","preventDefault","prototype","hasOwnProperty","validationResults","requiredResults","error","filter","x","pos","arr","indexOf","componentPos","slice","concat","isChanged","submit","onSubmit","onValidSubmit","onInvalidSubmit","updateInputsWithError","invalidate","entries","find","input","stringify","updateInputsWithValue","onChange","canChange","onValidationComplete","render","nonFormsyProps","children","isSubmitting","childContextTypes","onError","addValidationRule"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index dc118a7e..e553d374 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import validationRules from './validationRules'; import Wrapper, { propTypes } from './Wrapper'; -import { IModel, InputComponent, IResetModel, ISetInputValue, IUpdateInputsWithError, ValidationFunction } from './interfaces'; +import { IModel, InputComponent, IResetModel, IUpdateInputsWithValue, IUpdateInputsWithError, ValidationFunction } from './interfaces'; declare type FormHTMLAttributesCleaned = Omit, 'onChange' | 'onSubmit'>; export interface FormsyProps extends FormHTMLAttributesCleaned { disabled: boolean; @@ -101,7 +101,6 @@ declare class Formsy extends React.Component { reset: (data?: any) => void; resetInternal: (event: any) => void; resetModel: IResetModel; - setValue: ISetInputValue; runValidation: (component: InputComponent, value?: V) => { isRequired: boolean; isValid: boolean; @@ -112,6 +111,7 @@ declare class Formsy extends React.Component { isChanged: () => boolean; submit: (event: any) => void; updateInputsWithError: IUpdateInputsWithError; + updateInputsWithValue: IUpdateInputsWithValue; validate: (component: InputComponent) => void; validateForm: () => void; render: () => React.DetailedReactHTMLElement<{ diff --git a/dist/interfaces.d.ts b/dist/interfaces.d.ts index 1abb9285..e4be621b 100644 --- a/dist/interfaces.d.ts +++ b/dist/interfaces.d.ts @@ -6,7 +6,7 @@ export interface Values { export declare type IModel = any; export declare type IData = any; export declare type IResetModel = (model?: IModel) => void; -export declare type ISetInputValue = (name: string, value: V, validate?: boolean) => void; +export declare type IUpdateInputsWithValue = (values: any, validate?: boolean) => void; export declare type IUpdateInputsWithError = (errors: any, invalidate?: boolean) => void; export declare type ValidationFunction = (values: Values, value: V, extra?: any) => boolean | string; export declare type Validation = string | boolean | ValidationFunction; diff --git a/package.json b/package.json index 30e5ac0e..0045fcc0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formsy-react", - "version": "2.0.0-beta.8", + "version": "2.0.0", "description": "A form input builder and validator for React", "keywords": [ "form",