UNPKG

react-bootstrap-validation

Version:
1,697 lines (1,359 loc) 91.3 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("react-bootstrap")); else if(typeof define === 'function' && define.amd) define(["react", "react-bootstrap"], factory); else if(typeof exports === 'object') exports["ReactBootstrapValidation"] = factory(require("react"), require("react-bootstrap")); else root["ReactBootstrapValidation"] = factory(root["React"], root["ReactBootstrap"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_67__, __WEBPACK_EXTERNAL_MODULE_70__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _interopRequireDefault = __webpack_require__(1)['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _Form = __webpack_require__(2); var _Form2 = _interopRequireDefault(_Form); var _ValidatedInput = __webpack_require__(69); var _ValidatedInput2 = _interopRequireDefault(_ValidatedInput); var _Radio = __webpack_require__(72); var _Radio2 = _interopRequireDefault(_Radio); var _RadioGroup = __webpack_require__(71); var _RadioGroup2 = _interopRequireDefault(_RadioGroup); var _Validator = __webpack_require__(74); var _Validator2 = _interopRequireDefault(_Validator); var _FileValidator = __webpack_require__(76); var _FileValidator2 = _interopRequireDefault(_FileValidator); exports.Form = _Form2['default']; exports.ValidatedInput = _ValidatedInput2['default']; exports.Radio = _Radio2['default']; exports.RadioGroup = _RadioGroup2['default']; exports.Validator = _Validator2['default']; exports.FileValidator = _FileValidator2['default']; /***/ }, /* 1 */ /***/ function(module, exports) { "use strict"; exports["default"] = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; }; exports.__esModule = true; /***/ }, /* 2 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _get = __webpack_require__(3)['default']; var _inherits = __webpack_require__(17)['default']; var _createClass = __webpack_require__(28)['default']; var _classCallCheck = __webpack_require__(31)['default']; var _defineProperty = __webpack_require__(32)['default']; var _toConsumableArray = __webpack_require__(33)['default']; var _Object$keys = __webpack_require__(60)['default']; var _Object$assign2 = __webpack_require__(63)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _react = __webpack_require__(67); var _react2 = _interopRequireDefault(_react); var _InputContainer2 = __webpack_require__(68); var _InputContainer3 = _interopRequireDefault(_InputContainer2); var _ValidatedInput = __webpack_require__(69); var _ValidatedInput2 = _interopRequireDefault(_ValidatedInput); var _RadioGroup = __webpack_require__(71); var _RadioGroup2 = _interopRequireDefault(_RadioGroup); var _Validator = __webpack_require__(74); var _Validator2 = _interopRequireDefault(_Validator); var _FileValidator = __webpack_require__(76); var _FileValidator2 = _interopRequireDefault(_FileValidator); function getInputErrorMessage(input, ruleName) { var errorHelp = input.props.errorHelp; if (typeof errorHelp === 'object') { return errorHelp[ruleName]; } else { return errorHelp; } } var Form = (function (_InputContainer) { _inherits(Form, _InputContainer); function Form(props) { _classCallCheck(this, Form); _get(Object.getPrototypeOf(Form.prototype), 'constructor', this).call(this, props); this.state = { isValid: true, invalidInputs: {} }; } _createClass(Form, [{ key: 'componentWillMount', value: function componentWillMount() { _get(Object.getPrototypeOf(Form.prototype), 'componentWillMount', this).call(this); this._validators = {}; } }, { key: 'registerInput', value: function registerInput(input) { _get(Object.getPrototypeOf(Form.prototype), 'registerInput', this).call(this, input); if (typeof input.props.validate === 'string') { this._validators[input.props.name] = this._compileValidationRules(input, input.props.validate); } } }, { key: 'unregisterInput', value: function unregisterInput(input) { _get(Object.getPrototypeOf(Form.prototype), 'unregisterInput', this).call(this, input); delete this._validators[input.props.name]; } }, { key: 'render', value: function render() { return _react2['default'].createElement( 'form', { ref: "form", onSubmit: this._handleSubmit.bind(this), action: "#", className: this.props.className }, this._renderChildren(this.props.children) ); } }, { key: 'getValues', value: function getValues() { var _this = this; return _Object$keys(this._inputs).reduce(function (values, name) { values[name] = _this._getValue(name); return values; }, {}); } }, { key: 'submit', value: function submit() { this._handleSubmit(); } }, { key: '_renderChildren', value: function _renderChildren(children) { var _this2 = this; if (typeof children !== 'object' || children === null) { return children; } var childrenCount = _react2['default'].Children.count(children); if (childrenCount > 1) { return _react2['default'].Children.map(children, function (child) { return _this2._renderChild(child); }); } else if (childrenCount === 1) { return this._renderChild(Array.isArray(children) ? children[0] : children); } } }, { key: '_renderChild', value: function _renderChild(child) { var _this3 = this; if (typeof child !== 'object' || child === null) { return child; } var model = this.props.model || {}; if (child.type === _ValidatedInput2['default'] || child.type === _RadioGroup2['default'] || child.type && child.type.prototype !== null && (child.type.prototype instanceof _ValidatedInput2['default'] || child.type.prototype instanceof _RadioGroup2['default'])) { var _ret = (function () { var name = child.props && child.props.name; if (!name) { throw new Error('Can not add input without "name" attribute'); } var newProps = { _registerInput: _this3.registerInput.bind(_this3), _unregisterInput: _this3.unregisterInput.bind(_this3) }; var evtName = child.props.validationEvent ? child.props.validationEvent : _this3.props.validationEvent; var origCallback = child.props[evtName]; newProps[evtName] = function (e) { _this3._validateInput(name); return origCallback && origCallback(e); }; if (name in model) { if (child.props.type === 'checkbox') { newProps.defaultChecked = model[name]; } else { newProps.defaultValue = model[name]; } } var error = _this3._hasError(name); if (error) { newProps.bsStyle = 'error'; if (typeof error === 'string') { newProps.help = error; } else if (child.props.errorHelp) { newProps.help = child.props.errorHelp; } } return { v: _react2['default'].cloneElement(child, newProps) }; })(); if (typeof _ret === 'object') return _ret.v; } else { return _react2['default'].cloneElement(child, {}, this._renderChildren(child.props && child.props.children)); } } }, { key: '_validateInput', value: function _validateInput(name) { this._validateOne(name, this.getValues()); } }, { key: '_hasError', value: function _hasError(iptName) { return this.state.invalidInputs[iptName]; } }, { key: '_setError', value: function _setError(iptName, isError, errText) { if (isError && errText && typeof errText !== 'string' && typeof errText !== 'boolean') { errText = errText + ''; } // set value to either bool or error description string this.setState({ invalidInputs: _Object$assign2(this.state.invalidInputs, _defineProperty({}, iptName, isError ? errText || true : false)) }); } }, { key: '_validateOne', value: function _validateOne(iptName, context) { var input = this._inputs[iptName]; if (Array.isArray(input)) { console.warn('Multiple inputs use the same name "' + iptName + '"'); return false; } var value = context[iptName]; var isValid = true; var validate = input.props.validate; var result = undefined, error = undefined; if (typeof this.props.validateOne === 'function') { result = this.props.validateOne(iptName, value, context); } else if (typeof validate === 'function') { result = validate(value, context); } else if (typeof validate === 'string') { result = this._validators[iptName](value); } else { result = true; } // if result is !== true, it is considered an error // it can be either bool or string error if (result !== true) { isValid = false; if (typeof result === 'string') { error = result; } } this._setError(iptName, !isValid, error); return isValid; } }, { key: '_validateAll', value: function _validateAll(context) { var _this4 = this; var isValid = true; var errors = []; if (typeof this.props.validateAll === 'function') { (function () { var result = _this4.props.validateAll(context); if (result !== true) { isValid = false; _Object$keys(result).forEach(function (iptName) { errors.push(iptName); _this4._setError(iptName, true, result[iptName]); }); } })(); } else { _Object$keys(this._inputs).forEach(function (iptName) { if (!_this4._validateOne(iptName, context)) { isValid = false; errors.push(iptName); } }); } return { isValid: isValid, errors: errors }; } }, { key: '_compileValidationRules', value: function _compileValidationRules(input, ruleProp) { var _this5 = this; var rules = ruleProp.split(',').map(function (rule) { var params = rule.split(':'); var name = params.shift(); var inverse = name[0] === '!'; if (inverse) { name = name.substr(1); } return { name: name, inverse: inverse, params: params }; }); var validator = (input.props && input.props.type) === 'file' ? _FileValidator2['default'] : _Validator2['default']; return function (val) { var result = true; rules.forEach(function (rule) { if (typeof validator[rule.name] !== 'function') { throw new Error('Invalid input validation rule "' + rule.name + '"'); } var ruleResult = validator[rule.name].apply(validator, [val].concat(_toConsumableArray(rule.params))); if (rule.inverse) { ruleResult = !ruleResult; } if (result === true && ruleResult !== true) { result = getInputErrorMessage(input, rule.name) || getInputErrorMessage(_this5, rule.name) || false; } }); return result; }; } }, { key: '_getValue', value: function _getValue(iptName) { var input = this._inputs[iptName]; if (Array.isArray(input)) { console.warn('Multiple inputs use the same name "' + iptName + '"'); return false; } var value = undefined; if (input.props.type === 'checkbox') { value = input.getChecked(); } else if (input.props.type === 'file') { value = input.getInputDOMNode().files; } else { value = input.getValue(); } return value; } }, { key: '_handleSubmit', value: function _handleSubmit(e) { if (e) { e.preventDefault(); } var values = this.getValues(); var _validateAll2 = this._validateAll(values); var isValid = _validateAll2.isValid; var errors = _validateAll2.errors; if (isValid) { this.props.onValidSubmit(values); } else { this.props.onInvalidSubmit(errors, values); } } }]); return Form; })(_InputContainer3['default']); exports['default'] = Form; Form.propTypes = { className: _react2['default'].PropTypes.string, model: _react2['default'].PropTypes.object, onValidSubmit: _react2['default'].PropTypes.func.isRequired, onInvalidSubmit: _react2['default'].PropTypes.func, validateOne: _react2['default'].PropTypes.func, validateAll: _react2['default'].PropTypes.func, validationEvent: _react2['default'].PropTypes.oneOf(['onChange', 'onBlur', 'onFocus']), errorHelp: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.object]) }; Form.defaultProps = { model: {}, validationEvent: 'onChange', onInvalidSubmit: function onInvalidSubmit() {} }; module.exports = exports['default']; /***/ }, /* 3 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Object$getOwnPropertyDescriptor = __webpack_require__(4)["default"]; exports["default"] = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = _Object$getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } }; exports.__esModule = true; /***/ }, /* 4 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(5), __esModule: true }; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { var $ = __webpack_require__(6); __webpack_require__(7); module.exports = function getOwnPropertyDescriptor(it, key){ return $.getDesc(it, key); }; /***/ }, /* 6 */ /***/ function(module, exports) { var $Object = Object; module.exports = { create: $Object.create, getProto: $Object.getPrototypeOf, isEnum: {}.propertyIsEnumerable, getDesc: $Object.getOwnPropertyDescriptor, setDesc: $Object.defineProperty, setDescs: $Object.defineProperties, getKeys: $Object.keys, getNames: $Object.getOwnPropertyNames, getSymbols: $Object.getOwnPropertySymbols, each: [].forEach }; /***/ }, /* 7 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) var toIObject = __webpack_require__(8); __webpack_require__(12)('getOwnPropertyDescriptor', function($getOwnPropertyDescriptor){ return function getOwnPropertyDescriptor(it, key){ return $getOwnPropertyDescriptor(toIObject(it), key); }; }); /***/ }, /* 8 */ /***/ function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(9) , defined = __webpack_require__(11); module.exports = function(it){ return IObject(defined(it)); }; /***/ }, /* 9 */ /***/ function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = __webpack_require__(10); module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }, /* 10 */ /***/ function(module, exports) { var toString = {}.toString; module.exports = function(it){ return toString.call(it).slice(8, -1); }; /***/ }, /* 11 */ /***/ function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) module.exports = function(it){ if(it == undefined)throw TypeError("Can't call method on " + it); return it; }; /***/ }, /* 12 */ /***/ function(module, exports, __webpack_require__) { // most Object methods by ES6 should accept primitives var $def = __webpack_require__(13) , core = __webpack_require__(15) , fails = __webpack_require__(16); module.exports = function(KEY, exec){ var $def = __webpack_require__(13) , fn = (core.Object || {})[KEY] || Object[KEY] , exp = {}; exp[KEY] = exec(fn); $def($def.S + $def.F * fails(function(){ fn(1); }), 'Object', exp); }; /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { var global = __webpack_require__(14) , core = __webpack_require__(15) , PROTOTYPE = 'prototype'; var ctx = function(fn, that){ return function(){ return fn.apply(that, arguments); }; }; var $def = function(type, name, source){ var key, own, out, exp , isGlobal = type & $def.G , isProto = type & $def.P , target = isGlobal ? global : type & $def.S ? global[name] : (global[name] || {})[PROTOTYPE] , exports = isGlobal ? core : core[name] || (core[name] = {}); if(isGlobal)source = name; for(key in source){ // contains in native own = !(type & $def.F) && target && key in target; if(own && key in exports)continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces if(isGlobal && typeof target[key] != 'function')exp = source[key]; // bind timers to global for call from export context else if(type & $def.B && own)exp = ctx(out, global); // wrap global constructors for prevent change them in library else if(type & $def.W && target[key] == out)!function(C){ exp = function(param){ return this instanceof C ? new C(param) : C(param); }; exp[PROTOTYPE] = C[PROTOTYPE]; }(out); else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out; // export exports[key] = exp; if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out; } }; // type bitmap $def.F = 1; // forced $def.G = 2; // global $def.S = 4; // static $def.P = 8; // proto $def.B = 16; // bind $def.W = 32; // wrap module.exports = $def; /***/ }, /* 14 */ /***/ function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef /***/ }, /* 15 */ /***/ function(module, exports) { var core = module.exports = {version: '1.2.5'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef /***/ }, /* 16 */ /***/ function(module, exports) { module.exports = function(exec){ try { return !!exec(); } catch(e){ return true; } }; /***/ }, /* 17 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Object$create = __webpack_require__(18)["default"]; var _Object$setPrototypeOf = __webpack_require__(20)["default"]; exports["default"] = function (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; }; exports.__esModule = true; /***/ }, /* 18 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(19), __esModule: true }; /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { var $ = __webpack_require__(6); module.exports = function create(P, D){ return $.create(P, D); }; /***/ }, /* 20 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(21), __esModule: true }; /***/ }, /* 21 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(22); module.exports = __webpack_require__(15).Object.setPrototypeOf; /***/ }, /* 22 */ /***/ function(module, exports, __webpack_require__) { // 19.1.3.19 Object.setPrototypeOf(O, proto) var $def = __webpack_require__(13); $def($def.S, 'Object', {setPrototypeOf: __webpack_require__(23).set}); /***/ }, /* 23 */ /***/ function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var getDesc = __webpack_require__(6).getDesc , isObject = __webpack_require__(24) , anObject = __webpack_require__(25); var check = function(O, proto){ anObject(O); if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function(test, buggy, set){ try { set = __webpack_require__(26)(Function.call, getDesc(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch(e){ buggy = true; } return function setPrototypeOf(O, proto){ check(O, proto); if(buggy)O.__proto__ = proto; else set(O, proto); return O; }; }({}, false) : undefined), check: check }; /***/ }, /* 24 */ /***/ function(module, exports) { module.exports = function(it){ return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }, /* 25 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(24); module.exports = function(it){ if(!isObject(it))throw TypeError(it + ' is not an object!'); return it; }; /***/ }, /* 26 */ /***/ function(module, exports, __webpack_require__) { // optional / simple context binding var aFunction = __webpack_require__(27); module.exports = function(fn, that, length){ aFunction(fn); if(that === undefined)return fn; switch(length){ case 1: return function(a){ return fn.call(that, a); }; case 2: return function(a, b){ return fn.call(that, a, b); }; case 3: return function(a, b, c){ return fn.call(that, a, b, c); }; } return function(/* ...args */){ return fn.apply(that, arguments); }; }; /***/ }, /* 27 */ /***/ function(module, exports) { module.exports = function(it){ if(typeof it != 'function')throw TypeError(it + ' is not a function!'); return it; }; /***/ }, /* 28 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Object$defineProperty = __webpack_require__(29)["default"]; exports["default"] = (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; }; })(); exports.__esModule = true; /***/ }, /* 29 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(30), __esModule: true }; /***/ }, /* 30 */ /***/ function(module, exports, __webpack_require__) { var $ = __webpack_require__(6); module.exports = function defineProperty(it, key, desc){ return $.setDesc(it, key, desc); }; /***/ }, /* 31 */ /***/ function(module, exports) { "use strict"; exports["default"] = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; exports.__esModule = true; /***/ }, /* 32 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Object$defineProperty = __webpack_require__(29)["default"]; exports["default"] = function (obj, key, value) { if (key in obj) { _Object$defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }; exports.__esModule = true; /***/ }, /* 33 */ /***/ function(module, exports, __webpack_require__) { "use strict"; var _Array$from = __webpack_require__(34)["default"]; exports["default"] = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return _Array$from(arr); } }; exports.__esModule = true; /***/ }, /* 34 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(35), __esModule: true }; /***/ }, /* 35 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(36); __webpack_require__(52); module.exports = __webpack_require__(15).Array.from; /***/ }, /* 36 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var $at = __webpack_require__(37)(true); // 21.1.3.27 String.prototype[@@iterator]() __webpack_require__(39)(String, 'String', function(iterated){ this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() }, function(){ var O = this._t , index = this._i , point; if(index >= O.length)return {value: undefined, done: true}; point = $at(O, index); this._i += point.length; return {value: point, done: false}; }); /***/ }, /* 37 */ /***/ function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(38) , defined = __webpack_require__(11); // true -> String#at // false -> String#codePointAt module.exports = function(TO_STRING){ return function(that, pos){ var s = String(defined(that)) , i = toInteger(pos) , l = s.length , a, b; if(i < 0 || i >= l)return TO_STRING ? '' : undefined; a = s.charCodeAt(i); return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; /***/ }, /* 38 */ /***/ function(module, exports) { // 7.1.4 ToInteger var ceil = Math.ceil , floor = Math.floor; module.exports = function(it){ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; /***/ }, /* 39 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var LIBRARY = __webpack_require__(43) , $def = __webpack_require__(13) , $redef = __webpack_require__(44) , hide = __webpack_require__(45) , has = __webpack_require__(48) , SYMBOL_ITERATOR = __webpack_require__(40)('iterator') , Iterators = __webpack_require__(49) , $iterCreate = __webpack_require__(50) , setToStringTag = __webpack_require__(51) , getProto = __webpack_require__(6).getProto , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` , FF_ITERATOR = '@@iterator' , KEYS = 'keys' , VALUES = 'values'; var returnThis = function(){ return this; }; module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){ $iterCreate(Constructor, NAME, next); var getMethod = function(kind){ if(!BUGGY && kind in proto)return proto[kind]; switch(kind){ case KEYS: return function keys(){ return new Constructor(this, kind); }; case VALUES: return function values(){ return new Constructor(this, kind); }; } return function entries(){ return new Constructor(this, kind); }; }; var TAG = NAME + ' Iterator' , proto = Base.prototype , _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] , _default = _native || getMethod(DEFAULT) , methods, key; // Fix native if(_native){ var IteratorPrototype = getProto(_default.call(new Base)); // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // FF fix if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, SYMBOL_ITERATOR, returnThis); } // Define iterator if((!LIBRARY || FORCE) && (BUGGY || !(SYMBOL_ITERATOR in proto))){ hide(proto, SYMBOL_ITERATOR, _default); } // Plug for library Iterators[NAME] = _default; Iterators[TAG] = returnThis; if(DEFAULT){ methods = { values: DEFAULT == VALUES ? _default : getMethod(VALUES), keys: IS_SET ? _default : getMethod(KEYS), entries: DEFAULT != VALUES ? _default : getMethod('entries') }; if(FORCE)for(key in methods){ if(!(key in proto))$redef(proto, key, methods[key]); } else $def($def.P + $def.F * BUGGY, NAME, methods); } return methods; }; /***/ }, /* 40 */ /***/ function(module, exports, __webpack_require__) { var store = __webpack_require__(41)('wks') , uid = __webpack_require__(42) , Symbol = __webpack_require__(14).Symbol; module.exports = function(name){ return store[name] || (store[name] = Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name)); }; /***/ }, /* 41 */ /***/ function(module, exports, __webpack_require__) { var global = __webpack_require__(14) , SHARED = '__core-js_shared__' , store = global[SHARED] || (global[SHARED] = {}); module.exports = function(key){ return store[key] || (store[key] = {}); }; /***/ }, /* 42 */ /***/ function(module, exports) { var id = 0 , px = Math.random(); module.exports = function(key){ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; /***/ }, /* 43 */ /***/ function(module, exports) { module.exports = true; /***/ }, /* 44 */ /***/ function(module, exports, __webpack_require__) { module.exports = __webpack_require__(45); /***/ }, /* 45 */ /***/ function(module, exports, __webpack_require__) { var $ = __webpack_require__(6) , createDesc = __webpack_require__(46); module.exports = __webpack_require__(47) ? function(object, key, value){ return $.setDesc(object, key, createDesc(1, value)); } : function(object, key, value){ object[key] = value; return object; }; /***/ }, /* 46 */ /***/ function(module, exports) { module.exports = function(bitmap, value){ return { enumerable : !(bitmap & 1), configurable: !(bitmap & 2), writable : !(bitmap & 4), value : value }; }; /***/ }, /* 47 */ /***/ function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty module.exports = !__webpack_require__(16)(function(){ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; }); /***/ }, /* 48 */ /***/ function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function(it, key){ return hasOwnProperty.call(it, key); }; /***/ }, /* 49 */ /***/ function(module, exports) { module.exports = {}; /***/ }, /* 50 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var $ = __webpack_require__(6) , descriptor = __webpack_require__(46) , setToStringTag = __webpack_require__(51) , IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() __webpack_require__(45)(IteratorPrototype, __webpack_require__(40)('iterator'), function(){ return this; }); module.exports = function(Constructor, NAME, next){ Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)}); setToStringTag(Constructor, NAME + ' Iterator'); }; /***/ }, /* 51 */ /***/ function(module, exports, __webpack_require__) { var def = __webpack_require__(6).setDesc , has = __webpack_require__(48) , TAG = __webpack_require__(40)('toStringTag'); module.exports = function(it, tag, stat){ if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); }; /***/ }, /* 52 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var ctx = __webpack_require__(26) , $def = __webpack_require__(13) , toObject = __webpack_require__(54) , call = __webpack_require__(55) , isArrayIter = __webpack_require__(53) , toLength = __webpack_require__(56) , getIterFn = __webpack_require__(57); $def($def.S + $def.F * !__webpack_require__(59)(function(iter){ Array.from(iter); }), 'Array', { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ var O = toObject(arrayLike) , C = typeof this == 'function' ? this : Array , $$ = arguments , $$len = $$.length , mapfn = $$len > 1 ? $$[1] : undefined , mapping = mapfn !== undefined , index = 0 , iterFn = getIterFn(O) , length, result, step, iterator; if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2); // if object isn't iterable or it's array with default iterator - use simple case if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value; } } else { length = toLength(O.length); for(result = new C(length); length > index; index++){ result[index] = mapping ? mapfn(O[index], index) : O[index]; } } result.length = index; return result; } }); /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { // check on default Array iterator var Iterators = __webpack_require__(49) , ITERATOR = __webpack_require__(40)('iterator') , ArrayProto = Array.prototype; module.exports = function(it){ return (Iterators.Array || ArrayProto[ITERATOR]) === it; }; /***/ }, /* 54 */ /***/ function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) var defined = __webpack_require__(11); module.exports = function(it){ return Object(defined(it)); }; /***/ }, /* 55 */ /***/ function(module, exports, __webpack_require__) { // call something on iterator step with safe closing on error var anObject = __webpack_require__(25); module.exports = function(iterator, fn, value, entries){ try { return entries ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion) } catch(e){ var ret = iterator['return']; if(ret !== undefined)anObject(ret.call(iterator)); throw e; } }; /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { // 7.1.15 ToLength var toInteger = __webpack_require__(38) , min = Math.min; module.exports = function(it){ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; /***/ }, /* 57 */ /***/ function(module, exports, __webpack_require__) { var classof = __webpack_require__(58) , ITERATOR = __webpack_require__(40)('iterator') , Iterators = __webpack_require__(49); module.exports = __webpack_require__(15).getIteratorMethod = function(it){ if(it != undefined)return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; }; /***/ }, /* 58 */ /***/ function(module, exports, __webpack_require__) { // getting tag from 19.1.3.6 Object.prototype.toString() var cof = __webpack_require__(10) , TAG = __webpack_require__(40)('toStringTag') // ES3 wrong here , ARG = cof(function(){ return arguments; }()) == 'Arguments'; module.exports = function(it){ var O, T, B; return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case : typeof (T = (O = Object(it))[TAG]) == 'string' ? T // builtinTag case : ARG ? cof(O) // ES3 arguments fallback : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; }; /***/ }, /* 59 */ /***/ function(module, exports, __webpack_require__) { var ITERATOR = __webpack_require__(40)('iterator') , SAFE_CLOSING = false; try { var riter = [7][ITERATOR](); riter['return'] = function(){ SAFE_CLOSING = true; }; Array.from(riter, function(){ throw 2; }); } catch(e){ /* empty */ } module.exports = function(exec, skipClosing){ if(!skipClosing && !SAFE_CLOSING)return false; var safe = false; try { var arr = [7] , iter = arr[ITERATOR](); iter.next = function(){ safe = true; }; arr[ITERATOR] = function(){ return iter; }; exec(arr); } catch(e){ /* empty */ } return safe; }; /***/ }, /* 60 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(61), __esModule: true }; /***/ }, /* 61 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(62); module.exports = __webpack_require__(15).Object.keys; /***/ }, /* 62 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.14 Object.keys(O) var toObject = __webpack_require__(54); __webpack_require__(12)('keys', function($keys){ return function keys(it){ return $keys(toObject(it)); }; }); /***/ }, /* 63 */ /***/ function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(64), __esModule: true }; /***/ }, /* 64 */ /***/ function(module, exports, __webpack_require__) { __webpack_require__(65); module.exports = __webpack_require__(15).Object.assign; /***/ }, /* 65 */ /***/ function(module, exports, __webpack_require__) { // 19.1.3.1 Object.assign(target, source) var $def = __webpack_require__(13); $def($def.S + $def.F, 'Object', {assign: __webpack_require__(66)}); /***/ }, /* 66 */ /***/ function(module, exports, __webpack_require__) { // 19.1.2.1 Object.assign(target, source, ...) var $ = __webpack_require__(6) , toObject = __webpack_require__(54) , IObject = __webpack_require__(9); // should work with symbols and should have deterministic property order (V8 bug) module.exports = __webpack_require__(16)(function(){ var a = Object.assign , A = {} , B = {} , S = Symbol() , K = 'abcdefghijklmnopqrst'; A[S] = 7; K.split('').forEach(function(k){ B[k] = k; }); return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K; }) ? function assign(target, source){ // eslint-disable-line no-unused-vars var T = toObject(target) , $$ = arguments , $$len = $$.length , index = 1 , getKeys = $.getKeys , getSymbols = $.getSymbols , isEnum = $.isEnum; while($$len > index){ var S = IObject($$[index++]) , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) , length = keys.length , j = 0 , key; while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; } return T; } : Object.assign; /***/ }, /* 67 */ /***/ function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_67__; /***/ }, /* 68 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _get = __webpack_require__(3)['default']; var _inherits = __webpack_require__(17)['default']; var _createClass = __webpack_require__(28)['default']; var _classCallCheck = __webpack_require__(31)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _react = __webpack_require__(67); var _react2 = _interopRequireDefault(_react); var InputContainer = (function (_React$Component) { _inherits(InputContainer, _React$Component); function InputContainer() { _classCallCheck(this, InputContainer); _get(Object.getPrototypeOf(InputContainer.prototype), 'constructor', this).apply(this, arguments); } _createClass(InputContainer, [{ key: 'componentWillMount', value: function componentWillMount() { this._inputs = {}; } }, { key: 'componentWillUnmount', value: function componentWillUnmount() {} }, { key: 'registerInput', value: function registerInput(input) { var type = input.props.type; var name = input.props.name; if (!name) { throw new Error('Input ' + input + ' has no "name" prop'); } if (type === 'radio') { this._inputs[name] = this._inputs[name] || []; this._inputs[name].push(input); } else { this._inputs[name] = input; } } }, { key: 'unregisterInput', value: function unregisterInput(input) { var type = input.props.type; var name = input.props.name; if (!name) { throw new Error('Input ' + input + ' has no "name" prop'); } if (type === 'radio') { this._inputs[name] = this._inputs[name].filter(function (ipt) { return ipt !== input; }); } else { delete this._inputs[input.props.name]; } } }]); return InputContainer; })(_react2['default'].Component); exports['default'] = InputContainer; module.exports = exports['default']; /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _get = __webpack_require__(3)['default']; var _inherits = __webpack_require__(17)['default']; var _createClass = __webpack_require__(28)['default']; var _classCallCheck = __webpack_require__(31)['default']; var _Object$assign = __webpack_require__(63)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _react = __webpack_require__(67); var _react2 = _interopRequireDefault(_react); var _reactBootstrap = __webpack_require__(70); var ValidatedInput = (function (_Input) { _inherits(ValidatedInput, _Input); function ValidatedInput(props) { _classCallCheck(this, ValidatedInput); _get(Object.getPrototypeOf(ValidatedInput.prototype), 'constructor', this).call(this, props); if (!props._registerInput || !props._unregisterInput) { throw new Error('Input must be placed inside the Form component'); } } _createClass(ValidatedInput, [{ key: 'componentWillMount', value: function componentWillMount() { if (_reactBootstrap.Input.prototype.componentWillMount) { _get(Object.getPrototypeOf(ValidatedInput.prototype), 'componentWillMount', this).call(this); } this.props._registerInput(this); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { if (_reactBootstrap.Input.prototype.componentWillUnmount) { _get(Object.getPrototypeOf(ValidatedInput.prototype), 'componentWillUnmount', this).call(this); } this.props._unregisterInput(this); } }]); return ValidatedInput; })(_reactBootstrap.Input); exports['default'] = ValidatedInput; ValidatedInput.propTypes = _Object$assign({}, _reactBootstrap.Input.propTypes, { name: _react2['default'].PropTypes.string.isRequired, validationEvent: _react2['default'].PropTypes.oneOf(['', 'onChange', 'onBlur', 'onFocus']), validate: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.func, _react2['default'].PropTypes.string]), errorHelp: _react2['default'].PropTypes.oneOfType([_react2['default'].PropTypes.string, _react2['default'].PropTypes.object]) }); ValidatedInput.defaultProps = _Object$assign({}, _reactBootstrap.Input.defaultProps, { validationEvent: '' }); module.exports = exports['default']; /***/ }, /* 70 */ /***/ function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_70__; /***/ }, /* 71 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; var _get = __webpack_require__(3)['default']; var _inherits = __webpack_require__(17)['default']; var _createClass = __webpack_require__(28)['default']; var _classCallCheck = __webpack_require__(31)['default']; var _interopRequireDefault = __webpack_require__(1)['default']; Object.defineProperty(exports, '__e