{"ast":null,"code":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.FormContext = undefined;\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\nvar _createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _promisePolyfill = require('promise-polyfill');\n\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\n\nvar _createReactContext = require('create-react-context');\n\nvar _createReactContext2 = _interopRequireDefault(_createReactContext);\n\nvar _ValidationRules = require('./ValidationRules');\n\nvar _ValidationRules2 = _interopRequireDefault(_ValidationRules);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    default: obj\n  };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n  var target = {};\n\n  for (var i in obj) {\n    if (keys.indexOf(i) >= 0) continue;\n    if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n    target[i] = obj[i];\n  }\n\n  return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable */\n\n/* eslint-enable */\n\n\nvar FormContext = (0, _createReactContext2.default)('form');\nexports.FormContext = FormContext;\n\nvar ValidatorForm = function (_React$Component) {\n  _inherits(ValidatorForm, _React$Component);\n\n  function ValidatorForm() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, ValidatorForm);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ValidatorForm.__proto__ || Object.getPrototypeOf(ValidatorForm)).call.apply(_ref, [this].concat(args))), _this), _this.getFormHelpers = function () {\n      return {\n        form: {\n          attachToForm: _this.attachToForm,\n          detachFromForm: _this.detachFromForm,\n          instantValidate: _this.instantValidate,\n          debounceTime: _this.debounceTime\n        }\n      };\n    }, _this.instantValidate = _this.props.instantValidate !== undefined ? _this.props.instantValidate : true, _this.debounceTime = _this.props.debounceTime, _this.childs = [], _this.errors = [], _this.attachToForm = function (component) {\n      if (_this.childs.indexOf(component) === -1) {\n        _this.childs.push(component);\n      }\n    }, _this.detachFromForm = function (component) {\n      var componentPos = _this.childs.indexOf(component);\n\n      if (componentPos !== -1) {\n        _this.childs = _this.childs.slice(0, componentPos).concat(_this.childs.slice(componentPos + 1));\n      }\n    }, _this.submit = function (event) {\n      if (event) {\n        event.preventDefault();\n        event.persist();\n      }\n\n      _this.errors = [];\n\n      _this.walk(_this.childs).then(function (result) {\n        if (_this.errors.length) {\n          _this.props.onError(_this.errors);\n        }\n\n        if (result) {\n          _this.props.onSubmit(event);\n        }\n\n        return result;\n      });\n    }, _this.walk = function (children, dryRun) {\n      var self = _this;\n      return new _promisePolyfill2.default(function (resolve) {\n        var result = true;\n\n        if (Array.isArray(children)) {\n          _promisePolyfill2.default.all(children.map(function (input) {\n            return self.checkInput(input, dryRun);\n          })).then(function (data) {\n            data.forEach(function (item) {\n              if (!item) {\n                result = false;\n              }\n            });\n            resolve(result);\n          });\n        } else {\n          self.walk([children], dryRun).then(function (result) {\n            return resolve(result);\n          });\n        }\n      });\n    }, _this.checkInput = function (input, dryRun) {\n      return new _promisePolyfill2.default(function (resolve) {\n        var result = true;\n        var validators = input.props.validators;\n\n        if (validators) {\n          _this.validate(input, true, dryRun).then(function (data) {\n            if (!data) {\n              result = false;\n            }\n\n            resolve(result);\n          });\n        } else {\n          resolve(result);\n        }\n      });\n    }, _this.validate = function (input, includeRequired, dryRun) {\n      return new _promisePolyfill2.default(function (resolve) {\n        var value = input.props.value;\n        input.validate(value, includeRequired, dryRun).then(function (valid) {\n          if (!valid) {\n            _this.errors.push(input);\n          }\n\n          resolve(valid);\n        });\n      });\n    }, _this.find = function (collection, fn) {\n      for (var i = 0, l = collection.length; i < l; i++) {\n        var item = collection[i];\n\n        if (fn(item)) {\n          return item;\n        }\n      }\n\n      return null;\n    }, _this.resetValidations = function () {\n      _this.childs.forEach(function (child) {\n        child.validateDebounced.cancel();\n        child.setState({\n          isValid: true\n        });\n      });\n    }, _this.isFormValid = function () {\n      var dryRun = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n      return _this.walk(_this.childs, dryRun);\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n\n  _createClass(ValidatorForm, [{\n    key: 'render',\n    value: function render() {\n      // eslint-disable-next-line\n      var _props = this.props,\n          onSubmit = _props.onSubmit,\n          instantValidate = _props.instantValidate,\n          onError = _props.onError,\n          debounceTime = _props.debounceTime,\n          children = _props.children,\n          rest = _objectWithoutProperties(_props, ['onSubmit', 'instantValidate', 'onError', 'debounceTime', 'children']);\n\n      return _react2.default.createElement(FormContext.Provider, {\n        value: this.getFormHelpers()\n      }, _react2.default.createElement('form', _extends({}, rest, {\n        onSubmit: this.submit\n      }), children));\n    }\n  }]);\n\n  return ValidatorForm;\n}(_react2.default.Component);\n\nValidatorForm.getValidator = function (validator, value, includeRequired) {\n  var result = true;\n  var name = validator;\n\n  if (name !== 'required' || includeRequired) {\n    var extra = void 0;\n    var splitIdx = validator.indexOf(':');\n\n    if (splitIdx !== -1) {\n      name = validator.substring(0, splitIdx);\n      extra = validator.substring(splitIdx + 1);\n    }\n\n    result = _ValidationRules2.default[name](value, extra);\n  }\n\n  return result;\n};\n\nValidatorForm.addValidationRule = function (name, callback) {\n  _ValidationRules2.default[name] = callback;\n};\n\nValidatorForm.getValidationRule = function (name) {\n  return _ValidationRules2.default[name];\n};\n\nValidatorForm.hasValidationRule = function (name) {\n  return _ValidationRules2.default[name] && typeof _ValidationRules2.default[name] === 'function';\n};\n\nValidatorForm.removeValidationRule = function (name) {\n  delete _ValidationRules2.default[name];\n};\n\nValidatorForm.propTypes = {\n  onSubmit: _propTypes2.default.func.isRequired,\n  instantValidate: _propTypes2.default.bool,\n  children: _propTypes2.default.node,\n  onError: _propTypes2.default.func,\n  debounceTime: _propTypes2.default.number\n};\nValidatorForm.defaultProps = {\n  onError: function onError() {},\n  debounceTime: 0\n};\nexports.default = ValidatorForm;","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/react-form-validator-core/lib/ValidatorForm.js"],"names":["Object","defineProperty","exports","value","FormContext","undefined","_extends","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react","require","_react2","_interopRequireDefault","_propTypes","_propTypes2","_promisePolyfill","_promisePolyfill2","_createReactContext","_createReactContext2","_ValidationRules","_ValidationRules2","obj","__esModule","default","_objectWithoutProperties","keys","indexOf","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","ValidatorForm","_React$Component","_ref","_temp","_this","_ret","_len","args","Array","_key","getPrototypeOf","apply","concat","getFormHelpers","form","attachToForm","detachFromForm","instantValidate","debounceTime","childs","errors","component","push","componentPos","slice","submit","event","preventDefault","persist","walk","then","result","onError","onSubmit","children","dryRun","resolve","isArray","all","map","input","checkInput","data","forEach","item","validators","validate","includeRequired","valid","find","collection","fn","l","resetValidations","child","validateDebounced","cancel","setState","isValid","isFormValid","render","_props","rest","createElement","Provider","Component","getValidator","validator","name","extra","splitIdx","substring","addValidationRule","callback","getValidationRule","hasValidationRule","removeValidationRule","propTypes","func","isRequired","bool","node","number","defaultProps"],"mappings":"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","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nexports.FormContext = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _promisePolyfill = require('promise-polyfill');\n\nvar _promisePolyfill2 = _interopRequireDefault(_promisePolyfill);\n\nvar _createReactContext = require('create-react-context');\n\nvar _createReactContext2 = _interopRequireDefault(_createReactContext);\n\nvar _ValidationRules = require('./ValidationRules');\n\nvar _ValidationRules2 = _interopRequireDefault(_ValidationRules);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable */\n\n/* eslint-enable */\n\n\nvar FormContext = (0, _createReactContext2.default)('form');\n\nexports.FormContext = FormContext;\n\nvar ValidatorForm = function (_React$Component) {\n    _inherits(ValidatorForm, _React$Component);\n\n    function ValidatorForm() {\n        var _ref;\n\n        var _temp, _this, _ret;\n\n        _classCallCheck(this, ValidatorForm);\n\n        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n            args[_key] = arguments[_key];\n        }\n\n        return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ValidatorForm.__proto__ || Object.getPrototypeOf(ValidatorForm)).call.apply(_ref, [this].concat(args))), _this), _this.getFormHelpers = function () {\n            return {\n                form: {\n                    attachToForm: _this.attachToForm,\n                    detachFromForm: _this.detachFromForm,\n                    instantValidate: _this.instantValidate,\n                    debounceTime: _this.debounceTime\n                }\n            };\n        }, _this.instantValidate = _this.props.instantValidate !== undefined ? _this.props.instantValidate : true, _this.debounceTime = _this.props.debounceTime, _this.childs = [], _this.errors = [], _this.attachToForm = function (component) {\n            if (_this.childs.indexOf(component) === -1) {\n                _this.childs.push(component);\n            }\n        }, _this.detachFromForm = function (component) {\n            var componentPos = _this.childs.indexOf(component);\n            if (componentPos !== -1) {\n                _this.childs = _this.childs.slice(0, componentPos).concat(_this.childs.slice(componentPos + 1));\n            }\n        }, _this.submit = function (event) {\n            if (event) {\n                event.preventDefault();\n                event.persist();\n            }\n            _this.errors = [];\n            _this.walk(_this.childs).then(function (result) {\n                if (_this.errors.length) {\n                    _this.props.onError(_this.errors);\n                }\n                if (result) {\n                    _this.props.onSubmit(event);\n                }\n                return result;\n            });\n        }, _this.walk = function (children, dryRun) {\n            var self = _this;\n            return new _promisePolyfill2.default(function (resolve) {\n                var result = true;\n                if (Array.isArray(children)) {\n                    _promisePolyfill2.default.all(children.map(function (input) {\n                        return self.checkInput(input, dryRun);\n                    })).then(function (data) {\n                        data.forEach(function (item) {\n                            if (!item) {\n                                result = false;\n                            }\n                        });\n                        resolve(result);\n                    });\n                } else {\n                    self.walk([children], dryRun).then(function (result) {\n                        return resolve(result);\n                    });\n                }\n            });\n        }, _this.checkInput = function (input, dryRun) {\n            return new _promisePolyfill2.default(function (resolve) {\n                var result = true;\n                var validators = input.props.validators;\n                if (validators) {\n                    _this.validate(input, true, dryRun).then(function (data) {\n                        if (!data) {\n                            result = false;\n                        }\n                        resolve(result);\n                    });\n                } else {\n                    resolve(result);\n                }\n            });\n        }, _this.validate = function (input, includeRequired, dryRun) {\n            return new _promisePolyfill2.default(function (resolve) {\n                var value = input.props.value;\n\n                input.validate(value, includeRequired, dryRun).then(function (valid) {\n                    if (!valid) {\n                        _this.errors.push(input);\n                    }\n                    resolve(valid);\n                });\n            });\n        }, _this.find = function (collection, fn) {\n            for (var i = 0, l = collection.length; i < l; i++) {\n                var item = collection[i];\n                if (fn(item)) {\n                    return item;\n                }\n            }\n            return null;\n        }, _this.resetValidations = function () {\n            _this.childs.forEach(function (child) {\n                child.validateDebounced.cancel();\n                child.setState({ isValid: true });\n            });\n        }, _this.isFormValid = function () {\n            var dryRun = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n            return _this.walk(_this.childs, dryRun);\n        }, _temp), _possibleConstructorReturn(_this, _ret);\n    }\n\n    _createClass(ValidatorForm, [{\n        key: 'render',\n        value: function render() {\n            // eslint-disable-next-line\n            var _props = this.props,\n                onSubmit = _props.onSubmit,\n                instantValidate = _props.instantValidate,\n                onError = _props.onError,\n                debounceTime = _props.debounceTime,\n                children = _props.children,\n                rest = _objectWithoutProperties(_props, ['onSubmit', 'instantValidate', 'onError', 'debounceTime', 'children']);\n\n            return _react2.default.createElement(\n                FormContext.Provider,\n                { value: this.getFormHelpers() },\n                _react2.default.createElement(\n                    'form',\n                    _extends({}, rest, { onSubmit: this.submit }),\n                    children\n                )\n            );\n        }\n    }]);\n\n    return ValidatorForm;\n}(_react2.default.Component);\n\nValidatorForm.getValidator = function (validator, value, includeRequired) {\n    var result = true;\n    var name = validator;\n    if (name !== 'required' || includeRequired) {\n        var extra = void 0;\n        var splitIdx = validator.indexOf(':');\n        if (splitIdx !== -1) {\n            name = validator.substring(0, splitIdx);\n            extra = validator.substring(splitIdx + 1);\n        }\n        result = _ValidationRules2.default[name](value, extra);\n    }\n    return result;\n};\n\nValidatorForm.addValidationRule = function (name, callback) {\n    _ValidationRules2.default[name] = callback;\n};\n\nValidatorForm.getValidationRule = function (name) {\n    return _ValidationRules2.default[name];\n};\n\nValidatorForm.hasValidationRule = function (name) {\n    return _ValidationRules2.default[name] && typeof _ValidationRules2.default[name] === 'function';\n};\n\nValidatorForm.removeValidationRule = function (name) {\n    delete _ValidationRules2.default[name];\n};\n\nValidatorForm.propTypes = {\n    onSubmit: _propTypes2.default.func.isRequired,\n    instantValidate: _propTypes2.default.bool,\n    children: _propTypes2.default.node,\n    onError: _propTypes2.default.func,\n    debounceTime: _propTypes2.default.number\n};\n\nValidatorForm.defaultProps = {\n    onError: function onError() {},\n    debounceTime: 0\n};\n\nexports.default = ValidatorForm;"]},"metadata":{},"sourceType":"script"}