Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-form-with-constraints

Package Overview
Dependencies
Maintainers
1
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-form-with-constraints - npm Package Compare versions

Comparing version 0.10.0-beta.1 to 0.10.0-beta.2

29

CHANGELOG.md

@@ -1,2 +0,2 @@

## 0.10.0 (2018/09/13)
## v0.10.0 (2018/09/18)

@@ -6,2 +6,3 @@ ### Features

- `resetFields()`
- `validateFieldsWithoutFeedback()`

@@ -12,7 +13,12 @@ ### Breaking Changes

## 0.9.3 (2018/09/12)
### Fixes
- Ignore HTML elements without `ValidityState` instead of `type`
## v0.9.3 (2018/09/12)
### Features
- Use PropTypes.instanceOf() instead of PropTypes.object
- Use `PropTypes.instanceOf()` instead of `PropTypes.object`
- Improve typings

@@ -22,6 +28,7 @@

- Ignore HTML elements without type
- Ignore HTML elements without `type`
## 0.9.2 (2018/07/13)
## v0.9.2 (2018/07/13)
### Features

@@ -32,4 +39,5 @@

## 0.9.1 (2018/07/06)
## v0.9.1 (2018/07/06)
### Features

@@ -48,4 +56,5 @@

## 0.8.0 (2018/04/26)
## v0.8.0 (2018/04/26)
### Features

@@ -70,4 +79,5 @@

## 0.7.1 (2017/11/27)
## v0.7.1 (2017/11/27)
### Fixes

@@ -78,6 +88,7 @@

## 0.7.0 (2017/11/26)
## v0.7.0 (2017/11/26)
### Features
- React Native support

@@ -462,5 +462,5 @@ (function (global, factory) {

FormWithConstraints.prototype.validateForm = function () {
return this.validateFields_lazy();
return this.validateFieldsWithoutFeedback();
};
FormWithConstraints.prototype.validateFields_lazy = function () {
FormWithConstraints.prototype.validateFieldsWithoutFeedback = function () {
var inputsOrNames = [];

@@ -553,3 +553,3 @@ for (var _i = 0; _i < arguments.length; _i++) {

inputs = __spread(this.form.querySelectorAll('[name]'));
inputs = inputs.filter(function (input) { return input.type; });
inputs = inputs.filter(function (input) { return input.validity !== undefined; });
inputs

@@ -569,2 +569,5 @@ .filter(function (input) { return input.type !== 'checkbox' && input.type !== 'radio'; })

var elements = __spread(_this.form.querySelectorAll(query));
if (elements.filter(function (el) { return el.validity === undefined; }).length > 0) {
throw new Error("'" + query + "' should match an <input>, <select> or <textarea>");
}
if (elements.filter(function (el) { return el.type !== 'checkbox' && el.type !== 'radio'; }).length > 1) {

@@ -571,0 +574,0 @@ throw new Error("Multiple elements matching '" + query + "' inside the form");

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","react","prop-types"],t):t(e.ReactFormWithConstraints={},e.React,e.PropTypes)}(this,function(s,f,i){"use strict";f=f&&f.hasOwnProperty("default")?f.default:f,i=i&&i.hasOwnProperty("default")?i.default:i;var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var p=function(){return(p=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function h(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&(i[n[r]]=e[n[r]])}return i}function l(a,o,s,l){return new(s||(s=Promise))(function(e,t){function i(e){try{r(l.next(e))}catch(e){t(e)}}function n(e){try{r(l.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new s(function(e){e(t.value)}).then(i,n)}r((l=l.apply(a,o||[])).next())})}function v(i,n){var r,a,o,e,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,a&&(o=2&t[0]?a.return:t[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,t[1])).done)return o;switch(a=0,o&&(t=[2&t[0],o.value]),t[0]){case 0:case 1:o=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,a=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(o=0<(o=s.trys).length&&o[o.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]<o[3])){s.label=t[1];break}if(6===t[0]&&s.label<o[1]){s.label=o[1],o=t;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(t);break}o[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(i,s)}catch(e){t=[6,e],a=0}finally{r=o=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function y(e){var t="function"==typeof Symbol&&e[Symbol.iterator],i=0;return t?t.call(e):{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}}}function a(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,a=i.call(e),o=[];try{for(;(void 0===t||0<t--)&&!(n=a.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(a(arguments[t]));return e}var e,t,o=function(){function e(){this.listeners=new Map}return e.prototype.emit=function(c){for(var f=[],e=1;e<arguments.length;e++)f[e-1]=arguments[e];return l(this,void 0,void 0,function(){var t,i,n,r,a,o,s,l,d,u;return v(this,function(e){switch(e.label){case 0:if(n=this.listeners.get(c),r=new Array,void 0===n)return[3,8];console.assert(0<n.length,"No listener for event '"+c+"'"),e.label=1;case 1:e.trys.push([1,6,7,8]),a=y(n),o=a.next(),e.label=2;case 2:return o.done?[3,5]:(s=o.value,d=(l=r).push,[4,s.apply(void 0,m(f))]);case 3:d.apply(l,[e.sent()]),e.label=4;case 4:return o=a.next(),[3,2];case 5:return[3,8];case 6:return u=e.sent(),t={error:u},[3,8];case 7:try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}return[7];case 8:return[2,r]}})})},e.prototype.addListener=function(e,t){this.listeners.has(e)||this.listeners.set(e,[]);var i=this.listeners.get(e);console.assert(-1===i.indexOf(t),"Listener already added for event '"+e+"'"),i.push(t)},e.prototype.removeListener=function(e,t){var i=this.listeners.get(e);console.assert(void 0!==i,"Unknown event '"+e+"'");var n=i.lastIndexOf(t);console.assert(-1<n,"Listener not found for event '"+e+"'"),i.splice(n,1),0===i.length&&this.listeners.delete(e)},e}(),d="VALIDATE_FIELD_EVENT",u=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.validateFieldEventEmitter=new o,e}return r(e,t),e.prototype.emitValidateFieldEvent=function(e){return this.validateFieldEventEmitter.emit(d,e)},e.prototype.addValidateFieldEventListener=function(e){this.validateFieldEventEmitter.addListener(d,e)},e.prototype.removeValidateFieldEventListener=function(e){this.validateFieldEventEmitter.removeListener(d,e)},e}(e)},c="FIELD_WILL_VALIDATE_EVENT",F=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fieldWillValidateEventEmitter=new o,e}return r(e,t),e.prototype.emitFieldWillValidateEvent=function(e){return this.fieldWillValidateEventEmitter.emit(c,e)},e.prototype.addFieldWillValidateEventListener=function(e){this.fieldWillValidateEventEmitter.addListener(c,e)},e.prototype.removeFieldWillValidateEventListener=function(e){this.fieldWillValidateEventEmitter.removeListener(c,e)},e}(e)},E="FIELD_DID_VALIDATE_EVENT",b=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fieldDidValidateEventEmitter=new o,e}return r(e,t),e.prototype.emitFieldDidValidateEvent=function(e){return this.fieldDidValidateEventEmitter.emit(E,e)},e.prototype.addFieldDidValidateEventListener=function(e){this.fieldDidValidateEventEmitter.addListener(E,e)},e.prototype.removeFieldDidValidateEventListener=function(e){this.fieldDidValidateEventEmitter.removeListener(E,e)},e}(e)},w="FIELD_DID_RESET_EVENT",g=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fieldDidResetEventEmitter=new o,e}return r(e,t),e.prototype.emitFieldDidResetEvent=function(e){return this.fieldDidResetEventEmitter.emit(w,e)},e.prototype.addFieldDidResetEventListener=function(e){this.fieldDidResetEventEmitter.addListener(w,e)},e.prototype.removeFieldDidResetEventListener=function(e){this.fieldDidResetEventEmitter.removeListener(w,e)},e}(e)},V=function(e){void 0===e.props?(e=e,this.name=e.name,this.type=e.type,this.value=e.value,this.validity=new k(e.validity),this.validationMessage=e.validationMessage):(e=e,this.name=e.props.name,this.type=void 0,this.value=e.props.value,this.validity=void 0,this.validationMessage=void 0)},k=function(e){this.badInput=e.badInput,this.customError=e.customError,this.patternMismatch=e.patternMismatch,this.rangeOverflow=e.rangeOverflow,this.rangeUnderflow=e.rangeUnderflow,this.stepMismatch=e.stepMismatch,this.tooLong=e.tooLong,this.tooShort=e.tooShort,this.typeMismatch=e.typeMismatch,this.valid=e.valid,this.valueMissing=e.valueMissing};(t=e||(e={})).Error="error",t.Warning="warning",t.Info="info",t.WhenValid="whenValid";var D,x=e,L=function(){function e(e){this.name=e,this.validations=[]}return e.prototype.addOrReplaceValidation=function(t){var e=this.validations.findIndex(function(e){return e.key===t.key});-1<e?this.validations[e]=t:this.validations.push(t)},e.prototype.clearValidations=function(){!function(e){for(;e.length;)e.pop()}(this.validations)},e.prototype.hasFeedbacksOfType=function(t,i){return this.validations.some(function(e){return(void 0===i||e.key.startsWith(i+"."))&&e.type===t&&!0===e.show})},e.prototype.hasErrors=function(e){return this.hasFeedbacksOfType(x.Error,e)},e.prototype.hasWarnings=function(e){return this.hasFeedbacksOfType(x.Warning,e)},e.prototype.hasInfos=function(e){return this.hasFeedbacksOfType(x.Info,e)},e.prototype.hasFeedbacks=function(e){return this.hasErrors(e)||this.hasWarnings(e)||this.hasInfos(e)},e.prototype.isValid=function(){return!this.hasErrors()},e}();(D=s.FieldEvent||(s.FieldEvent={})).Added="FIELD_ADDED",D.Removed="FIELD_REMOVED";var S,R=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fields=new Array,e}return r(e,t),e.prototype.getField=function(t){var e=this.fields.filter(function(e){return e.name===t});return 1===e.length?e[0]:void 0},e.prototype.addField=function(t){var e=this.fields.filter(function(e){return e.name===t});if(console.assert(0===e.length||1===e.length,"Cannot have more than 1 field matching '"+t+"'"),0===e.length){var i=new L(t);this.fields.push(i),this.emit(s.FieldEvent.Added,i)}},e.prototype.removeField=function(t){var e=this.fields.filter(function(e){return e.name===t}),i=this.fields.indexOf(e[0]);-1<i&&(this.fields.splice(i,1),this.emit(s.FieldEvent.Removed,t))},e.prototype.isValid=function(){return this.fields.every(function(e){return e.isValid()})},e.prototype.hasFeedbacks=function(){return this.fields.some(function(e){return e.hasFeedbacks()})},e}(o),W=function(e){return e.reduce(function(e,t){return e.concat(Array.isArray(t)?W(t):t)},[])},O=function(e){return void 0!==e},I=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.form=null,e.fieldsStore=new R,e.fieldFeedbacksKeyCounter=0,e}return r(e,t),e.prototype.getChildContext=function(){return{form:this}},e.prototype.computeFieldFeedbacksKey=function(){return""+this.fieldFeedbacksKeyCounter++},e.prototype.validateFields=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._validateFields.apply(this,m([!0],e))},e.prototype.validateForm=function(){return this.validateFields_lazy()},e.prototype.validateFields_lazy=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._validateFields.apply(this,m([!1],e))},e.prototype._validateFields=function(u){for(var c=[],e=1;e<arguments.length;e++)c[e-1]=arguments[e];return l(this,void 0,void 0,function(){var t,i,n,r,a,o,s,l,d;return v(this,function(e){switch(e.label){case 0:n=new Array,r=this.normalizeInputs.apply(this,m(c)),e.label=1;case 1:e.trys.push([1,6,7,8]),a=y(r),o=a.next(),e.label=2;case 2:return o.done?[3,5]:(s=o.value,[4,this.validateField(u,new V(s))]);case 3:void 0!==(l=e.sent())&&n.push(l),e.label=4;case 4:return o=a.next(),[3,2];case 5:return[3,8];case 6:return d=e.sent(),t={error:d},[3,8];case 7:try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}return[7];case 8:return[2,n]}})})},e.prototype.validateField=function(r,a){return l(this,void 0,void 0,function(){var t,i,n;return v(this,function(e){switch(e.label){case 0:return t=a.name,void 0!==(i=this.fieldsStore.getField(t))?[3,1]:[3,3];case 1:return!r&&i.hasFeedbacks()?[3,3]:(i.clearValidations(),this.emitFieldWillValidateEvent(t),[4,this.emitValidateFieldEvent(a)]);case 2:n=e.sent(),console.assert(JSON.stringify(W(n).filter(O))===JSON.stringify(i.validations),"FieldsStore does not match emitValidateFieldEvent() result, did the user changed the input rapidly?"),this.emitFieldDidValidateEvent(i),e.label=3;case 3:return[2,i]}})})},e.prototype.normalizeInputs=function(){for(var e,r=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 0===t.length?(e=(e=m(this.form.querySelectorAll("[name]"))).filter(function(e){return e.type})).filter(function(e){return"checkbox"!==e.type&&"radio"!==e.type}).map(function(e){return e.name}).forEach(function(e,t,i){if(i.indexOf(e)!==t)throw new Error("Multiple elements matching '[name=\""+e+"\"]' inside the form")}):e=t.map(function(e){if("string"!=typeof e)return e;var t='[name="'+e+'"]',i=m(r.form.querySelectorAll(t));if(1<i.filter(function(e){return"checkbox"!==e.type&&"radio"!==e.type}).length)throw new Error("Multiple elements matching '"+t+"' inside the form");var n=i[0];if(void 0===n)throw new Error("Could not find field '"+t+"' inside the form");return n}),e},e.prototype.isValid=function(){return this.fieldsStore.isValid()},e.prototype.hasFeedbacks=function(){return this.fieldsStore.hasFeedbacks()},e.prototype.resetFields=function(){for(var u=[],e=0;e<arguments.length;e++)u[e]=arguments[e];return l(this,void 0,void 0,function(){var t,i,n,r,a,o,s,l,d;return v(this,function(e){switch(e.label){case 0:n=new Array,r=this.normalizeInputs.apply(this,m(u)),e.label=1;case 1:e.trys.push([1,6,7,8]),a=y(r),o=a.next(),e.label=2;case 2:return o.done?[3,5]:(s=o.value,[4,this.resetField(new V(s))]);case 3:void 0!==(l=e.sent())&&n.push(l),e.label=4;case 4:return o=a.next(),[3,2];case 5:return[3,8];case 6:return d=e.sent(),t={error:d},[3,8];case 7:try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}return[7];case 8:return[2,n]}})})},e.prototype.resetField=function(n){return l(this,void 0,void 0,function(){var t,i;return v(this,function(e){switch(e.label){case 0:return t=n.name,void 0!==(i=this.fieldsStore.getField(t))?[3,1]:[3,3];case 1:return i.clearValidations(),[4,this.emitFieldDidResetEvent(i)];case 2:e.sent(),e.label=3;case 3:return[2,i]}})})},e.prototype.render=function(){var t=this;return f.createElement("form",p({ref:function(e){return t.form=e}},this.props))},e.childContextTypes={form:i.instanceOf(e).isRequired},e}(g(F(b(u(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(f.Component)))))),M=function(a){function e(e,t){var i=a.call(this,e,t)||this;i.fieldFeedbackKeyCounter=0,i.validate=function(o){return l(i,void 0,void 0,function(){var t,i,n,r,a;return v(this,function(e){switch(e.label){case 0:return t=this.context,i=t.form,n=t.fieldFeedbacks,o.name!==this.fieldName?[3,3]:(a=i.fieldsStore.getField(this.fieldName),n&&("first"===n.props.stop&&a.hasFeedbacks(n.key)||"first-error"===n.props.stop&&a.hasErrors(n.key)||"first-warning"===n.props.stop&&a.hasWarnings(n.key)||"first-info"===n.props.stop&&a.hasInfos(n.key))?[3,3]:[3,1]);case 1:return[4,this._validate(o)];case 2:r=e.sent(),e.label=3;case 3:return[2,r]}})})};var n=t.form,r=t.fieldFeedbacks;if(i.key=r?r.computeFieldFeedbackKey():n.computeFieldFeedbacksKey(),r){if(i.fieldName=r.fieldName,void 0!==e.for)throw new Error("FieldFeedbacks cannot have a parent and a 'for' prop")}else{if(void 0===e.for)throw new Error("FieldFeedbacks cannot be without parent and without 'for' prop");i.fieldName=e.for}return i}return r(e,a),e.prototype.getChildContext=function(){return{fieldFeedbacks:this}},e.prototype.computeFieldFeedbackKey=function(){return this.key+"."+this.fieldFeedbackKeyCounter++},e.prototype.addFieldFeedback=function(){return this.computeFieldFeedbackKey()},e.prototype.componentWillMount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks;t.fieldsStore.addField(this.fieldName),(i||t).addValidateFieldEventListener(this.validate)},e.prototype.componentWillUnmount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks;t.fieldsStore.removeField(this.fieldName),(i||t).removeValidateFieldEventListener(this.validate)},e.prototype._validate=function(i){return l(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:return[4,this.emitValidateFieldEvent(i)];case 1:return t=e.sent(),[2,W(t)]}})})},e.prototype.render=function(){var e=this.props.children;return void 0!==e?e:null},e.defaultProps={stop:"first-error"},e.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(e)},e.childContextTypes={fieldFeedbacks:i.instanceOf(e).isRequired},e}(u(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(f.Component)));(S=s.Status||(s.Status={}))[S.None=0]="None",S[S.Pending=1]="Pending",S[S.Rejected=2]="Rejected",S[S.Resolved=3]="Resolved";var _=function(e){function t(){var o=null!==e&&e.apply(this,arguments)||this;return o.state={status:s.Status.None},o.validate=function(e){var t,i=o.context,n=i.form,r=i.fieldFeedbacks,a=n.fieldsStore.getField(e.name);return"first"===r.props.stop&&a.hasFeedbacks(r.key)||"first-error"===r.props.stop&&a.hasErrors(r.key)||"first-warning"===r.props.stop&&a.hasWarnings(r.key)||"first-info"===r.props.stop&&a.hasInfos(r.key)?o.setState({status:s.Status.None}):t=o._validate(e),t},o}return r(t,e),t.prototype.getChildContext=function(){return{async:this}},t.prototype.componentWillMount=function(){this.context.fieldFeedbacks.addValidateFieldEventListener(this.validate)},t.prototype.componentWillUnmount=function(){this.context.fieldFeedbacks.removeValidateFieldEventListener(this.validate)},t.prototype._validate=function(n){return l(this,void 0,void 0,function(){var t,i;return v(this,function(e){switch(e.label){case 0:this.setState({status:s.Status.Pending}),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this.props.promise(n.value)];case 2:return t=e.sent(),this.setState({status:s.Status.Resolved,value:t}),[3,4];case 3:return i=e.sent(),this.setState({status:s.Status.Rejected,value:i}),[3,4];case 4:return[2,this.emitValidateFieldEvent(n)]}})})},t.prototype.render=function(){var e=this.props,t=this.state,i=null;switch(t.status){case s.Status.None:break;case s.Status.Pending:e.pending&&(i=e.pending);break;case s.Status.Resolved:e.then&&(i=e.then(t.value));break;case s.Status.Rejected:e.catch&&(i=e.catch(t.value))}return i},t.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(M).isRequired},t.childContextTypes={async:i.instanceOf(t).isRequired},t}(u(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(f.Component))),N=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={fieldIsValid:void 0},t.fieldWillValidate=function(e){e===t.context.fieldFeedbacks.fieldName&&t.setState({fieldIsValid:void 0})},t.fieldDidValidate=function(e){e.name===t.context.fieldFeedbacks.fieldName&&t.setState({fieldIsValid:e.isValid()})},t.fieldDidReset=function(e){e.name===t.context.fieldFeedbacks.fieldName&&t.setState({fieldIsValid:void 0})},t}return r(t,e),t.prototype.componentWillMount=function(){var e=this.context.form;e.addFieldWillValidateEventListener(this.fieldWillValidate),e.addFieldDidValidateEventListener(this.fieldDidValidate),e.addFieldDidResetEventListener(this.fieldDidReset)},t.prototype.componentWillUnmount=function(){var e=this.context.form;e.removeFieldWillValidateEventListener(this.fieldWillValidate),e.removeFieldDidValidateEventListener(this.fieldDidValidate),e.removeFieldDidResetEventListener(this.fieldDidReset)},t.prototype.render=function(){var e=this.props,t=e.style,i=h(e,["style"]);return this.state.fieldIsValid?f.createElement("span",p({},i,{style:p({display:"block"},t)})):null},t.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(M).isRequired},t}(f.Component),C=function(s){function e(e,t){var l=s.call(this,e,t)||this;l.validate=function(e){var t=l.props.when,i=l.context,n=i.form,r=i.fieldFeedbacks,a=n.fieldsStore.getField(e.name),o=p({},l.state.validation);if("first"===r.props.stop&&a.hasFeedbacks(r.key)||"first-error"===r.props.stop&&a.hasErrors(r.key)||"first-warning"===r.props.stop&&a.hasWarnings(r.key)||"first-info"===r.props.stop&&a.hasInfos(r.key))o.show=void 0;else if(o.show=!1,"function"==typeof t)o.show=t(e.value);else{if("string"!=typeof t)throw new TypeError("Invalid FieldFeedback 'when' type: "+typeof t);if("valid"===t)o.show=void 0;else{var s=e.validity;s.valid||("*"===t?o.show=!0:(s.badInput&&"badInput"===t||s.patternMismatch&&"patternMismatch"===t||s.rangeOverflow&&"rangeOverflow"===t||s.rangeUnderflow&&"rangeUnderflow"===t||s.stepMismatch&&"stepMismatch"===t||s.tooLong&&"tooLong"===t||s.tooShort&&"tooShort"===t||s.typeMismatch&&"typeMismatch"===t||s.valueMissing&&"valueMissing"===t)&&(o.show=!0))}}return a.addOrReplaceValidation(o),l.setState({validation:o,validationMessage:e.validationMessage}),o},l.fieldDidReset=function(e){e.name===l.context.fieldFeedbacks.fieldName&&l.setState(function(e){return{validation:p({},e.validation,{show:void 0}),validationMessage:""}})},l.key=t.fieldFeedbacks.addFieldFeedback();var i=e.error,n=e.warning,r=e.info,a=e.when,o=x.Error;if("valid"===a?o=x.WhenValid:n?o=x.Warning:r&&(o=x.Info),o===x.WhenValid&&(i||n||r))throw new Error('Cannot have an attribute (error, warning...) with FieldFeedback when="valid"');return l.state={validation:{key:l.key,type:o,show:void 0},validationMessage:""},l}return r(e,s),e.prototype.componentWillMount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks,n=e.async;n?n.addValidateFieldEventListener(this.validate):i.addValidateFieldEventListener(this.validate),t.addFieldDidResetEventListener(this.fieldDidReset)},e.prototype.componentWillUnmount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks,n=e.async;n?n.removeValidateFieldEventListener(this.validate):i.removeValidateFieldEventListener(this.validate),t.removeFieldDidResetEventListener(this.fieldDidReset)},e.prototype.render=function(){var e=this.props,t=(e.when,e.error,e.warning,e.info,e.className),i=e.classes,n=e.style,r=e.children,a=h(e,["when","error","warning","info","className","classes","style","children"]),o=this.state,s=o.validation,l=o.validationMessage,d=i[s.type],u=void 0!==t?t+" "+d:d;if(s.type===x.WhenValid)return f.createElement(N,p({"data-feedback":this.key,style:n,className:u},a),r);if(s.show){var c=void 0!==r?r:l;return f.createElement("span",p({"data-feedback":this.key,className:u,style:p({display:"block"},n)},a),c)}return null},e.defaultProps={when:function(){return!0},classes:{error:"error",warning:"warning",info:"info",whenValid:"when-valid"}},e.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(M).isRequired,async:i.instanceOf(_)},e}(f.Component),T=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={field:void 0},t.fieldWillValidate=function(e){e===t.props.name&&t.setState({field:void 0})},t.fieldDidValidate=function(e){e.name===t.props.name&&t.setState({field:e})},t.fieldDidReset=function(e){e.name===t.props.name&&t.setState({field:void 0})},t}return r(t,e),t.prototype.componentWillMount=function(){this.context.form.addFieldWillValidateEventListener(this.fieldWillValidate),this.context.form.addFieldDidValidateEventListener(this.fieldDidValidate),this.context.form.addFieldDidResetEventListener(this.fieldDidReset)},t.prototype.componentWillUnmount=function(){this.context.form.removeFieldWillValidateEventListener(this.fieldWillValidate),this.context.form.removeFieldDidValidateEventListener(this.fieldDidValidate),this.context.form.removeFieldDidResetEventListener(this.fieldDidReset)},t.prototype.fieldValidationStates=function(){var e=this.state.field,t=[];return void 0!==e&&(e.hasErrors()&&t.push("hasErrors"),e.hasWarnings()&&t.push("hasWarnings"),e.hasInfos()&&t.push("hasInfos"),e.isValid()&&t.push("isValid")),t},t.prototype.render=function(){var e=this.props,t=e.innerRef,i=e.className,n=e.classes,r=h(e,["innerRef","className","classes"]),a=this.fieldValidationStates(),o=i;return a.forEach(function(e){var t=n[e];void 0!==t&&(void 0!==o?o+=" "+t:o=t)}),f.createElement("input",p({ref:t},r,{className:o}))},t.contextTypes={form:i.instanceOf(I).isRequired},t.defaultProps={classes:{hasErrors:"has-errors",hasWarnings:"has-warnings",hasInfos:"has-infos",isValid:"is-valid"}},t}(f.Component),A=function(e,i){f.Children.forEach(e,function(e){var t=e;t.props&&t.props.children&&"object"==typeof t.props.children&&A(t.props.children,i),i(t)})};s.FieldFeedbackType=x,s.Field=L,s.EventEmitter=o,s.deepForEach=A,s.FormWithConstraints=I,s.FieldFeedbacks=M,s.FieldFeedback=C,s.FieldFeedbackWhenValid=N,s.Async=_,s.FieldsStore=R,s.ValidateFieldEvent=d,s.withValidateFieldEventEmitter=u,s.FieldWillValidateEvent=c,s.withFieldWillValidateEventEmitter=F,s.FieldDidValidateEvent=E,s.withFieldDidValidateEventEmitter=b,s.FieldDidResetEvent=w,s.withFieldDidResetEventEmitter=g,s.InputElement=V,s.IValidityState=k,s.Input=T,Object.defineProperty(s,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","react","prop-types"],t):t(e.ReactFormWithConstraints={},e.React,e.PropTypes)}(this,function(s,f,i){"use strict";f=f&&f.hasOwnProperty("default")?f.default:f,i=i&&i.hasOwnProperty("default")?i.default:i;var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var p=function(){return(p=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function h(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&(i[n[r]]=e[n[r]])}return i}function l(a,o,s,l){return new(s||(s=Promise))(function(e,t){function i(e){try{r(l.next(e))}catch(e){t(e)}}function n(e){try{r(l.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new s(function(e){e(t.value)}).then(i,n)}r((l=l.apply(a,o||[])).next())})}function v(i,n){var r,a,o,e,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,a&&(o=2&t[0]?a.return:t[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,t[1])).done)return o;switch(a=0,o&&(t=[2&t[0],o.value]),t[0]){case 0:case 1:o=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,a=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(o=0<(o=s.trys).length&&o[o.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!o||t[1]>o[0]&&t[1]<o[3])){s.label=t[1];break}if(6===t[0]&&s.label<o[1]){s.label=o[1],o=t;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(t);break}o[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(i,s)}catch(e){t=[6,e],a=0}finally{r=o=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function y(e){var t="function"==typeof Symbol&&e[Symbol.iterator],i=0;return t?t.call(e):{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}}}function a(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,a=i.call(e),o=[];try{for(;(void 0===t||0<t--)&&!(n=a.next()).done;)o.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return o}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(a(arguments[t]));return e}var e,t,o=function(){function e(){this.listeners=new Map}return e.prototype.emit=function(c){for(var f=[],e=1;e<arguments.length;e++)f[e-1]=arguments[e];return l(this,void 0,void 0,function(){var t,i,n,r,a,o,s,l,d,u;return v(this,function(e){switch(e.label){case 0:if(n=this.listeners.get(c),r=new Array,void 0===n)return[3,8];console.assert(0<n.length,"No listener for event '"+c+"'"),e.label=1;case 1:e.trys.push([1,6,7,8]),a=y(n),o=a.next(),e.label=2;case 2:return o.done?[3,5]:(s=o.value,d=(l=r).push,[4,s.apply(void 0,m(f))]);case 3:d.apply(l,[e.sent()]),e.label=4;case 4:return o=a.next(),[3,2];case 5:return[3,8];case 6:return u=e.sent(),t={error:u},[3,8];case 7:try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}return[7];case 8:return[2,r]}})})},e.prototype.addListener=function(e,t){this.listeners.has(e)||this.listeners.set(e,[]);var i=this.listeners.get(e);console.assert(-1===i.indexOf(t),"Listener already added for event '"+e+"'"),i.push(t)},e.prototype.removeListener=function(e,t){var i=this.listeners.get(e);console.assert(void 0!==i,"Unknown event '"+e+"'");var n=i.lastIndexOf(t);console.assert(-1<n,"Listener not found for event '"+e+"'"),i.splice(n,1),0===i.length&&this.listeners.delete(e)},e}(),d="VALIDATE_FIELD_EVENT",u=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.validateFieldEventEmitter=new o,e}return r(e,t),e.prototype.emitValidateFieldEvent=function(e){return this.validateFieldEventEmitter.emit(d,e)},e.prototype.addValidateFieldEventListener=function(e){this.validateFieldEventEmitter.addListener(d,e)},e.prototype.removeValidateFieldEventListener=function(e){this.validateFieldEventEmitter.removeListener(d,e)},e}(e)},c="FIELD_WILL_VALIDATE_EVENT",F=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fieldWillValidateEventEmitter=new o,e}return r(e,t),e.prototype.emitFieldWillValidateEvent=function(e){return this.fieldWillValidateEventEmitter.emit(c,e)},e.prototype.addFieldWillValidateEventListener=function(e){this.fieldWillValidateEventEmitter.addListener(c,e)},e.prototype.removeFieldWillValidateEventListener=function(e){this.fieldWillValidateEventEmitter.removeListener(c,e)},e}(e)},E="FIELD_DID_VALIDATE_EVENT",b=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fieldDidValidateEventEmitter=new o,e}return r(e,t),e.prototype.emitFieldDidValidateEvent=function(e){return this.fieldDidValidateEventEmitter.emit(E,e)},e.prototype.addFieldDidValidateEventListener=function(e){this.fieldDidValidateEventEmitter.addListener(E,e)},e.prototype.removeFieldDidValidateEventListener=function(e){this.fieldDidValidateEventEmitter.removeListener(E,e)},e}(e)},w="FIELD_DID_RESET_EVENT",g=function(e){return function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fieldDidResetEventEmitter=new o,e}return r(e,t),e.prototype.emitFieldDidResetEvent=function(e){return this.fieldDidResetEventEmitter.emit(w,e)},e.prototype.addFieldDidResetEventListener=function(e){this.fieldDidResetEventEmitter.addListener(w,e)},e.prototype.removeFieldDidResetEventListener=function(e){this.fieldDidResetEventEmitter.removeListener(w,e)},e}(e)},V=function(e){void 0===e.props?(e=e,this.name=e.name,this.type=e.type,this.value=e.value,this.validity=new k(e.validity),this.validationMessage=e.validationMessage):(e=e,this.name=e.props.name,this.type=void 0,this.value=e.props.value,this.validity=void 0,this.validationMessage=void 0)},k=function(e){this.badInput=e.badInput,this.customError=e.customError,this.patternMismatch=e.patternMismatch,this.rangeOverflow=e.rangeOverflow,this.rangeUnderflow=e.rangeUnderflow,this.stepMismatch=e.stepMismatch,this.tooLong=e.tooLong,this.tooShort=e.tooShort,this.typeMismatch=e.typeMismatch,this.valid=e.valid,this.valueMissing=e.valueMissing};(t=e||(e={})).Error="error",t.Warning="warning",t.Info="info",t.WhenValid="whenValid";var D,x=e,L=function(){function e(e){this.name=e,this.validations=[]}return e.prototype.addOrReplaceValidation=function(t){var e=this.validations.findIndex(function(e){return e.key===t.key});-1<e?this.validations[e]=t:this.validations.push(t)},e.prototype.clearValidations=function(){!function(e){for(;e.length;)e.pop()}(this.validations)},e.prototype.hasFeedbacksOfType=function(t,i){return this.validations.some(function(e){return(void 0===i||e.key.startsWith(i+"."))&&e.type===t&&!0===e.show})},e.prototype.hasErrors=function(e){return this.hasFeedbacksOfType(x.Error,e)},e.prototype.hasWarnings=function(e){return this.hasFeedbacksOfType(x.Warning,e)},e.prototype.hasInfos=function(e){return this.hasFeedbacksOfType(x.Info,e)},e.prototype.hasFeedbacks=function(e){return this.hasErrors(e)||this.hasWarnings(e)||this.hasInfos(e)},e.prototype.isValid=function(){return!this.hasErrors()},e}();(D=s.FieldEvent||(s.FieldEvent={})).Added="FIELD_ADDED",D.Removed="FIELD_REMOVED";var S,R=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fields=new Array,e}return r(e,t),e.prototype.getField=function(t){var e=this.fields.filter(function(e){return e.name===t});return 1===e.length?e[0]:void 0},e.prototype.addField=function(t){var e=this.fields.filter(function(e){return e.name===t});if(console.assert(0===e.length||1===e.length,"Cannot have more than 1 field matching '"+t+"'"),0===e.length){var i=new L(t);this.fields.push(i),this.emit(s.FieldEvent.Added,i)}},e.prototype.removeField=function(t){var e=this.fields.filter(function(e){return e.name===t}),i=this.fields.indexOf(e[0]);-1<i&&(this.fields.splice(i,1),this.emit(s.FieldEvent.Removed,t))},e.prototype.isValid=function(){return this.fields.every(function(e){return e.isValid()})},e.prototype.hasFeedbacks=function(){return this.fields.some(function(e){return e.hasFeedbacks()})},e}(o),W=function(e){return e.reduce(function(e,t){return e.concat(Array.isArray(t)?W(t):t)},[])},O=function(e){return void 0!==e},I=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.form=null,e.fieldsStore=new R,e.fieldFeedbacksKeyCounter=0,e}return r(e,t),e.prototype.getChildContext=function(){return{form:this}},e.prototype.computeFieldFeedbacksKey=function(){return""+this.fieldFeedbacksKeyCounter++},e.prototype.validateFields=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._validateFields.apply(this,m([!0],e))},e.prototype.validateForm=function(){return this.validateFieldsWithoutFeedback()},e.prototype.validateFieldsWithoutFeedback=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._validateFields.apply(this,m([!1],e))},e.prototype._validateFields=function(u){for(var c=[],e=1;e<arguments.length;e++)c[e-1]=arguments[e];return l(this,void 0,void 0,function(){var t,i,n,r,a,o,s,l,d;return v(this,function(e){switch(e.label){case 0:n=new Array,r=this.normalizeInputs.apply(this,m(c)),e.label=1;case 1:e.trys.push([1,6,7,8]),a=y(r),o=a.next(),e.label=2;case 2:return o.done?[3,5]:(s=o.value,[4,this.validateField(u,new V(s))]);case 3:void 0!==(l=e.sent())&&n.push(l),e.label=4;case 4:return o=a.next(),[3,2];case 5:return[3,8];case 6:return d=e.sent(),t={error:d},[3,8];case 7:try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}return[7];case 8:return[2,n]}})})},e.prototype.validateField=function(r,a){return l(this,void 0,void 0,function(){var t,i,n;return v(this,function(e){switch(e.label){case 0:return t=a.name,void 0!==(i=this.fieldsStore.getField(t))?[3,1]:[3,3];case 1:return!r&&i.hasFeedbacks()?[3,3]:(i.clearValidations(),this.emitFieldWillValidateEvent(t),[4,this.emitValidateFieldEvent(a)]);case 2:n=e.sent(),console.assert(JSON.stringify(W(n).filter(O))===JSON.stringify(i.validations),"FieldsStore does not match emitValidateFieldEvent() result, did the user changed the input rapidly?"),this.emitFieldDidValidateEvent(i),e.label=3;case 3:return[2,i]}})})},e.prototype.normalizeInputs=function(){for(var e,r=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return 0===t.length?(e=(e=m(this.form.querySelectorAll("[name]"))).filter(function(e){return void 0!==e.validity})).filter(function(e){return"checkbox"!==e.type&&"radio"!==e.type}).map(function(e){return e.name}).forEach(function(e,t,i){if(i.indexOf(e)!==t)throw new Error("Multiple elements matching '[name=\""+e+"\"]' inside the form")}):e=t.map(function(e){if("string"!=typeof e)return e;var t='[name="'+e+'"]',i=m(r.form.querySelectorAll(t));if(0<i.filter(function(e){return void 0===e.validity}).length)throw new Error("'"+t+"' should match an <input>, <select> or <textarea>");if(1<i.filter(function(e){return"checkbox"!==e.type&&"radio"!==e.type}).length)throw new Error("Multiple elements matching '"+t+"' inside the form");var n=i[0];if(void 0===n)throw new Error("Could not find field '"+t+"' inside the form");return n}),e},e.prototype.isValid=function(){return this.fieldsStore.isValid()},e.prototype.hasFeedbacks=function(){return this.fieldsStore.hasFeedbacks()},e.prototype.resetFields=function(){for(var u=[],e=0;e<arguments.length;e++)u[e]=arguments[e];return l(this,void 0,void 0,function(){var t,i,n,r,a,o,s,l,d;return v(this,function(e){switch(e.label){case 0:n=new Array,r=this.normalizeInputs.apply(this,m(u)),e.label=1;case 1:e.trys.push([1,6,7,8]),a=y(r),o=a.next(),e.label=2;case 2:return o.done?[3,5]:(s=o.value,[4,this.resetField(new V(s))]);case 3:void 0!==(l=e.sent())&&n.push(l),e.label=4;case 4:return o=a.next(),[3,2];case 5:return[3,8];case 6:return d=e.sent(),t={error:d},[3,8];case 7:try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(t)throw t.error}return[7];case 8:return[2,n]}})})},e.prototype.resetField=function(n){return l(this,void 0,void 0,function(){var t,i;return v(this,function(e){switch(e.label){case 0:return t=n.name,void 0!==(i=this.fieldsStore.getField(t))?[3,1]:[3,3];case 1:return i.clearValidations(),[4,this.emitFieldDidResetEvent(i)];case 2:e.sent(),e.label=3;case 3:return[2,i]}})})},e.prototype.render=function(){var t=this;return f.createElement("form",p({ref:function(e){return t.form=e}},this.props))},e.childContextTypes={form:i.instanceOf(e).isRequired},e}(g(F(b(u(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(f.Component)))))),M=function(a){function e(e,t){var i=a.call(this,e,t)||this;i.fieldFeedbackKeyCounter=0,i.validate=function(o){return l(i,void 0,void 0,function(){var t,i,n,r,a;return v(this,function(e){switch(e.label){case 0:return t=this.context,i=t.form,n=t.fieldFeedbacks,o.name!==this.fieldName?[3,3]:(a=i.fieldsStore.getField(this.fieldName),n&&("first"===n.props.stop&&a.hasFeedbacks(n.key)||"first-error"===n.props.stop&&a.hasErrors(n.key)||"first-warning"===n.props.stop&&a.hasWarnings(n.key)||"first-info"===n.props.stop&&a.hasInfos(n.key))?[3,3]:[3,1]);case 1:return[4,this._validate(o)];case 2:r=e.sent(),e.label=3;case 3:return[2,r]}})})};var n=t.form,r=t.fieldFeedbacks;if(i.key=r?r.computeFieldFeedbackKey():n.computeFieldFeedbacksKey(),r){if(i.fieldName=r.fieldName,void 0!==e.for)throw new Error("FieldFeedbacks cannot have a parent and a 'for' prop")}else{if(void 0===e.for)throw new Error("FieldFeedbacks cannot be without parent and without 'for' prop");i.fieldName=e.for}return i}return r(e,a),e.prototype.getChildContext=function(){return{fieldFeedbacks:this}},e.prototype.computeFieldFeedbackKey=function(){return this.key+"."+this.fieldFeedbackKeyCounter++},e.prototype.addFieldFeedback=function(){return this.computeFieldFeedbackKey()},e.prototype.componentWillMount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks;t.fieldsStore.addField(this.fieldName),(i||t).addValidateFieldEventListener(this.validate)},e.prototype.componentWillUnmount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks;t.fieldsStore.removeField(this.fieldName),(i||t).removeValidateFieldEventListener(this.validate)},e.prototype._validate=function(i){return l(this,void 0,void 0,function(){var t;return v(this,function(e){switch(e.label){case 0:return[4,this.emitValidateFieldEvent(i)];case 1:return t=e.sent(),[2,W(t)]}})})},e.prototype.render=function(){var e=this.props.children;return void 0!==e?e:null},e.defaultProps={stop:"first-error"},e.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(e)},e.childContextTypes={fieldFeedbacks:i.instanceOf(e).isRequired},e}(u(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(f.Component)));(S=s.Status||(s.Status={}))[S.None=0]="None",S[S.Pending=1]="Pending",S[S.Rejected=2]="Rejected",S[S.Resolved=3]="Resolved";var N=function(e){function t(){var o=null!==e&&e.apply(this,arguments)||this;return o.state={status:s.Status.None},o.validate=function(e){var t,i=o.context,n=i.form,r=i.fieldFeedbacks,a=n.fieldsStore.getField(e.name);return"first"===r.props.stop&&a.hasFeedbacks(r.key)||"first-error"===r.props.stop&&a.hasErrors(r.key)||"first-warning"===r.props.stop&&a.hasWarnings(r.key)||"first-info"===r.props.stop&&a.hasInfos(r.key)?o.setState({status:s.Status.None}):t=o._validate(e),t},o}return r(t,e),t.prototype.getChildContext=function(){return{async:this}},t.prototype.componentWillMount=function(){this.context.fieldFeedbacks.addValidateFieldEventListener(this.validate)},t.prototype.componentWillUnmount=function(){this.context.fieldFeedbacks.removeValidateFieldEventListener(this.validate)},t.prototype._validate=function(n){return l(this,void 0,void 0,function(){var t,i;return v(this,function(e){switch(e.label){case 0:this.setState({status:s.Status.Pending}),e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this.props.promise(n.value)];case 2:return t=e.sent(),this.setState({status:s.Status.Resolved,value:t}),[3,4];case 3:return i=e.sent(),this.setState({status:s.Status.Rejected,value:i}),[3,4];case 4:return[2,this.emitValidateFieldEvent(n)]}})})},t.prototype.render=function(){var e=this.props,t=this.state,i=null;switch(t.status){case s.Status.None:break;case s.Status.Pending:e.pending&&(i=e.pending);break;case s.Status.Resolved:e.then&&(i=e.then(t.value));break;case s.Status.Rejected:e.catch&&(i=e.catch(t.value))}return i},t.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(M).isRequired},t.childContextTypes={async:i.instanceOf(t).isRequired},t}(u(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(f.Component))),_=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={fieldIsValid:void 0},t.fieldWillValidate=function(e){e===t.context.fieldFeedbacks.fieldName&&t.setState({fieldIsValid:void 0})},t.fieldDidValidate=function(e){e.name===t.context.fieldFeedbacks.fieldName&&t.setState({fieldIsValid:e.isValid()})},t.fieldDidReset=function(e){e.name===t.context.fieldFeedbacks.fieldName&&t.setState({fieldIsValid:void 0})},t}return r(t,e),t.prototype.componentWillMount=function(){var e=this.context.form;e.addFieldWillValidateEventListener(this.fieldWillValidate),e.addFieldDidValidateEventListener(this.fieldDidValidate),e.addFieldDidResetEventListener(this.fieldDidReset)},t.prototype.componentWillUnmount=function(){var e=this.context.form;e.removeFieldWillValidateEventListener(this.fieldWillValidate),e.removeFieldDidValidateEventListener(this.fieldDidValidate),e.removeFieldDidResetEventListener(this.fieldDidReset)},t.prototype.render=function(){var e=this.props,t=e.style,i=h(e,["style"]);return this.state.fieldIsValid?f.createElement("span",p({},i,{style:p({display:"block"},t)})):null},t.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(M).isRequired},t}(f.Component),C=function(s){function e(e,t){var l=s.call(this,e,t)||this;l.validate=function(e){var t=l.props.when,i=l.context,n=i.form,r=i.fieldFeedbacks,a=n.fieldsStore.getField(e.name),o=p({},l.state.validation);if("first"===r.props.stop&&a.hasFeedbacks(r.key)||"first-error"===r.props.stop&&a.hasErrors(r.key)||"first-warning"===r.props.stop&&a.hasWarnings(r.key)||"first-info"===r.props.stop&&a.hasInfos(r.key))o.show=void 0;else if(o.show=!1,"function"==typeof t)o.show=t(e.value);else{if("string"!=typeof t)throw new TypeError("Invalid FieldFeedback 'when' type: "+typeof t);if("valid"===t)o.show=void 0;else{var s=e.validity;s.valid||("*"===t?o.show=!0:(s.badInput&&"badInput"===t||s.patternMismatch&&"patternMismatch"===t||s.rangeOverflow&&"rangeOverflow"===t||s.rangeUnderflow&&"rangeUnderflow"===t||s.stepMismatch&&"stepMismatch"===t||s.tooLong&&"tooLong"===t||s.tooShort&&"tooShort"===t||s.typeMismatch&&"typeMismatch"===t||s.valueMissing&&"valueMissing"===t)&&(o.show=!0))}}return a.addOrReplaceValidation(o),l.setState({validation:o,validationMessage:e.validationMessage}),o},l.fieldDidReset=function(e){e.name===l.context.fieldFeedbacks.fieldName&&l.setState(function(e){return{validation:p({},e.validation,{show:void 0}),validationMessage:""}})},l.key=t.fieldFeedbacks.addFieldFeedback();var i=e.error,n=e.warning,r=e.info,a=e.when,o=x.Error;if("valid"===a?o=x.WhenValid:n?o=x.Warning:r&&(o=x.Info),o===x.WhenValid&&(i||n||r))throw new Error('Cannot have an attribute (error, warning...) with FieldFeedback when="valid"');return l.state={validation:{key:l.key,type:o,show:void 0},validationMessage:""},l}return r(e,s),e.prototype.componentWillMount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks,n=e.async;n?n.addValidateFieldEventListener(this.validate):i.addValidateFieldEventListener(this.validate),t.addFieldDidResetEventListener(this.fieldDidReset)},e.prototype.componentWillUnmount=function(){var e=this.context,t=e.form,i=e.fieldFeedbacks,n=e.async;n?n.removeValidateFieldEventListener(this.validate):i.removeValidateFieldEventListener(this.validate),t.removeFieldDidResetEventListener(this.fieldDidReset)},e.prototype.render=function(){var e=this.props,t=(e.when,e.error,e.warning,e.info,e.className),i=e.classes,n=e.style,r=e.children,a=h(e,["when","error","warning","info","className","classes","style","children"]),o=this.state,s=o.validation,l=o.validationMessage,d=i[s.type],u=void 0!==t?t+" "+d:d;if(s.type===x.WhenValid)return f.createElement(_,p({"data-feedback":this.key,style:n,className:u},a),r);if(s.show){var c=void 0!==r?r:l;return f.createElement("span",p({"data-feedback":this.key,className:u,style:p({display:"block"},n)},a),c)}return null},e.defaultProps={when:function(){return!0},classes:{error:"error",warning:"warning",info:"info",whenValid:"when-valid"}},e.contextTypes={form:i.instanceOf(I).isRequired,fieldFeedbacks:i.instanceOf(M).isRequired,async:i.instanceOf(N)},e}(f.Component),T=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={field:void 0},t.fieldWillValidate=function(e){e===t.props.name&&t.setState({field:void 0})},t.fieldDidValidate=function(e){e.name===t.props.name&&t.setState({field:e})},t.fieldDidReset=function(e){e.name===t.props.name&&t.setState({field:void 0})},t}return r(t,e),t.prototype.componentWillMount=function(){this.context.form.addFieldWillValidateEventListener(this.fieldWillValidate),this.context.form.addFieldDidValidateEventListener(this.fieldDidValidate),this.context.form.addFieldDidResetEventListener(this.fieldDidReset)},t.prototype.componentWillUnmount=function(){this.context.form.removeFieldWillValidateEventListener(this.fieldWillValidate),this.context.form.removeFieldDidValidateEventListener(this.fieldDidValidate),this.context.form.removeFieldDidResetEventListener(this.fieldDidReset)},t.prototype.fieldValidationStates=function(){var e=this.state.field,t=[];return void 0!==e&&(e.hasErrors()&&t.push("hasErrors"),e.hasWarnings()&&t.push("hasWarnings"),e.hasInfos()&&t.push("hasInfos"),e.isValid()&&t.push("isValid")),t},t.prototype.render=function(){var e=this.props,t=e.innerRef,i=e.className,n=e.classes,r=h(e,["innerRef","className","classes"]),a=this.fieldValidationStates(),o=i;return a.forEach(function(e){var t=n[e];void 0!==t&&(void 0!==o?o+=" "+t:o=t)}),f.createElement("input",p({ref:t},r,{className:o}))},t.contextTypes={form:i.instanceOf(I).isRequired},t.defaultProps={classes:{hasErrors:"has-errors",hasWarnings:"has-warnings",hasInfos:"has-infos",isValid:"is-valid"}},t}(f.Component),A=function(e,i){f.Children.forEach(e,function(e){var t=e;t.props&&t.props.children&&"object"==typeof t.props.children&&A(t.props.children,i),i(t)})};s.FieldFeedbackType=x,s.Field=L,s.EventEmitter=o,s.deepForEach=A,s.FormWithConstraints=I,s.FieldFeedbacks=M,s.FieldFeedback=C,s.FieldFeedbackWhenValid=_,s.Async=N,s.FieldsStore=R,s.ValidateFieldEvent=d,s.withValidateFieldEventEmitter=u,s.FieldWillValidateEvent=c,s.withFieldWillValidateEventEmitter=F,s.FieldDidValidateEvent=E,s.withFieldDidValidateEventEmitter=b,s.FieldDidResetEvent=w,s.withFieldDidResetEventEmitter=g,s.InputElement=V,s.IValidityState=k,s.Input=T,Object.defineProperty(s,"__esModule",{value:!0})});
//# sourceMappingURL=react-form-with-constraints.production.min.js.map

@@ -49,2 +49,2 @@ "use strict";

exports.default = Field;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwwRUFBb0Q7QUFDcEQsNERBQXNDO0FBR3RDO0lBR0UsZUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELHNDQUFzQixHQUF0QixVQUF1QixVQUFtQztRQUV4RCxJQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFBLFdBQVcsSUFBSSxPQUFBLFdBQVcsQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLEdBQUcsRUFBbEMsQ0FBa0MsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDOztZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsZ0NBQWdCLEdBQWhCO1FBQ0Usb0JBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGtDQUFrQixHQUFsQixVQUFtQixJQUF1QixFQUFFLGlCQUEwQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQUEsYUFBYTtZQUN4QyxPQUFBLENBQUMsaUJBQWlCLEtBQUssU0FBUyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFJLGlCQUFpQixNQUFHLENBQUMsQ0FBQztnQkFDMUYsYUFBYSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxJQUFJO1FBRDFELENBQzBELENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQseUJBQVMsR0FBVCxVQUFVLGlCQUEwQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBaUIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsMkJBQVcsR0FBWCxVQUFZLGlCQUEwQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBaUIsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsd0JBQVEsR0FBUixVQUFTLGlCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBaUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsNEJBQVksR0FBWixVQUFhLGlCQUEwQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELHVCQUFPLEdBQVA7UUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQTlDRCxJQThDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbiBmcm9tICcuL0ZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uJztcbmltcG9ydCBGaWVsZEZlZWRiYWNrVHlwZSBmcm9tICcuL0ZpZWxkRmVlZGJhY2tUeXBlJztcbmltcG9ydCBjbGVhckFycmF5IGZyb20gJy4vY2xlYXJBcnJheSc7XG5cbi8vIEZpZWxkIGlzIGEgYmV0dGVyIG5hbWUgdGhhbiBJbnB1dCwgc2VlIERqYW5nbyBGb3JtIGZpZWxkcyBodHRwczovL2RvY3MuZGphbmdvcHJvamVjdC5jb20vZW4vMS4xMS9yZWYvZm9ybXMvZmllbGRzL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmllbGQge1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsaWRhdGlvbnM6IEZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsaWRhdGlvbnMgPSBbXTtcbiAgfVxuXG4gIGFkZE9yUmVwbGFjZVZhbGlkYXRpb24odmFsaWRhdGlvbjogRmllbGRGZWVkYmFja1ZhbGlkYXRpb24pIHtcbiAgICAvLyBTZWUgVXBkYXRlIGlmIGV4aXN0cyBvciBhZGQgbmV3IGVsZW1lbnQgdG8gYXJyYXkgb2Ygb2JqZWN0cyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDkzNzU0NjUvOTkwMzU2XG4gICAgY29uc3QgaSA9IHRoaXMudmFsaWRhdGlvbnMuZmluZEluZGV4KF92YWxpZGF0aW9uID0+IF92YWxpZGF0aW9uLmtleSA9PT0gdmFsaWRhdGlvbi5rZXkpO1xuICAgIGlmIChpID4gLTEpIHRoaXMudmFsaWRhdGlvbnNbaV0gPSB2YWxpZGF0aW9uO1xuICAgIGVsc2UgdGhpcy52YWxpZGF0aW9ucy5wdXNoKHZhbGlkYXRpb24pO1xuICB9XG5cbiAgY2xlYXJWYWxpZGF0aW9ucygpIHtcbiAgICBjbGVhckFycmF5KHRoaXMudmFsaWRhdGlvbnMpO1xuICB9XG5cbiAgaGFzRmVlZGJhY2tzT2ZUeXBlKHR5cGU6IEZpZWxkRmVlZGJhY2tUeXBlLCBmaWVsZEZlZWRiYWNrc0tleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25zLnNvbWUoZmllbGRGZWVkYmFjayA9PlxuICAgICAgKGZpZWxkRmVlZGJhY2tzS2V5ID09PSB1bmRlZmluZWQgfHwgZmllbGRGZWVkYmFjay5rZXkuc3RhcnRzV2l0aChgJHtmaWVsZEZlZWRiYWNrc0tleX0uYCkpICYmXG4gICAgICBmaWVsZEZlZWRiYWNrLnR5cGUgPT09IHR5cGUgJiYgZmllbGRGZWVkYmFjay5zaG93ID09PSB0cnVlXG4gICAgKTtcbiAgfVxuXG4gIGhhc0Vycm9ycyhmaWVsZEZlZWRiYWNrc0tleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmhhc0ZlZWRiYWNrc09mVHlwZShGaWVsZEZlZWRiYWNrVHlwZS5FcnJvciwgZmllbGRGZWVkYmFja3NLZXkpO1xuICB9XG5cbiAgaGFzV2FybmluZ3MoZmllbGRGZWVkYmFja3NLZXk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNGZWVkYmFja3NPZlR5cGUoRmllbGRGZWVkYmFja1R5cGUuV2FybmluZywgZmllbGRGZWVkYmFja3NLZXkpO1xuICB9XG5cbiAgaGFzSW5mb3MoZmllbGRGZWVkYmFja3NLZXk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNGZWVkYmFja3NPZlR5cGUoRmllbGRGZWVkYmFja1R5cGUuSW5mbywgZmllbGRGZWVkYmFja3NLZXkpO1xuICB9XG5cbiAgaGFzRmVlZGJhY2tzKGZpZWxkRmVlZGJhY2tzS2V5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzRXJyb3JzKGZpZWxkRmVlZGJhY2tzS2V5KSB8fFxuICAgICAgICAgICB0aGlzLmhhc1dhcm5pbmdzKGZpZWxkRmVlZGJhY2tzS2V5KSB8fFxuICAgICAgICAgICB0aGlzLmhhc0luZm9zKGZpZWxkRmVlZGJhY2tzS2V5KTtcbiAgfVxuXG4gIGlzVmFsaWQoKSB7XG4gICAgcmV0dXJuICF0aGlzLmhhc0Vycm9ycygpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvRmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwwRUFBb0Q7QUFDcEQsNERBQXNDO0FBR3RDO0lBR0UsZUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFGeEIsZ0JBQVcsR0FBOEIsRUFBRSxDQUFDO0lBRWpCLENBQUM7SUFFNUMsc0NBQXNCLEdBQXRCLFVBQXVCLFVBQW1DO1FBRXhELElBQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFVBQUEsV0FBVyxJQUFJLE9BQUEsV0FBVyxDQUFDLEdBQUcsS0FBSyxVQUFVLENBQUMsR0FBRyxFQUFsQyxDQUFrQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7O1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxnQ0FBZ0IsR0FBaEI7UUFDRSxvQkFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsa0NBQWtCLEdBQWxCLFVBQW1CLElBQXVCLEVBQUUsaUJBQTBCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBQSxhQUFhO1lBQ3hDLE9BQUEsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUksaUJBQWlCLE1BQUcsQ0FBQyxDQUFDO2dCQUMxRixhQUFhLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxLQUFLLElBQUk7UUFEMUQsQ0FDMEQsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBUyxHQUFULFVBQVUsaUJBQTBCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUFpQixDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCwyQkFBVyxHQUFYLFVBQVksaUJBQTBCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUFpQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCx3QkFBUSxHQUFSLFVBQVMsaUJBQTBCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUFpQixDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCw0QkFBWSxHQUFaLFVBQWEsaUJBQTBCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsdUJBQU8sR0FBUDtRQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBNUNELElBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uIGZyb20gJy4vRmllbGRGZWVkYmFja1ZhbGlkYXRpb24nO1xuaW1wb3J0IEZpZWxkRmVlZGJhY2tUeXBlIGZyb20gJy4vRmllbGRGZWVkYmFja1R5cGUnO1xuaW1wb3J0IGNsZWFyQXJyYXkgZnJvbSAnLi9jbGVhckFycmF5JztcblxuLy8gRmllbGQgaXMgYSBiZXR0ZXIgbmFtZSB0aGFuIElucHV0LCBzZWUgRGphbmdvIEZvcm0gZmllbGRzIGh0dHBzOi8vZG9jcy5kamFuZ29wcm9qZWN0LmNvbS9lbi8xLjExL3JlZi9mb3Jtcy9maWVsZHMvXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWVsZCB7XG4gIHB1YmxpYyByZWFkb25seSB2YWxpZGF0aW9uczogRmllbGRGZWVkYmFja1ZhbGlkYXRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcpIHt9XG5cbiAgYWRkT3JSZXBsYWNlVmFsaWRhdGlvbih2YWxpZGF0aW9uOiBGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbikge1xuICAgIC8vIFNlZSBVcGRhdGUgaWYgZXhpc3RzIG9yIGFkZCBuZXcgZWxlbWVudCB0byBhcnJheSBvZiBvYmplY3RzIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80OTM3NTQ2NS85OTAzNTZcbiAgICBjb25zdCBpID0gdGhpcy52YWxpZGF0aW9ucy5maW5kSW5kZXgoX3ZhbGlkYXRpb24gPT4gX3ZhbGlkYXRpb24ua2V5ID09PSB2YWxpZGF0aW9uLmtleSk7XG4gICAgaWYgKGkgPiAtMSkgdGhpcy52YWxpZGF0aW9uc1tpXSA9IHZhbGlkYXRpb247XG4gICAgZWxzZSB0aGlzLnZhbGlkYXRpb25zLnB1c2godmFsaWRhdGlvbik7XG4gIH1cblxuICBjbGVhclZhbGlkYXRpb25zKCkge1xuICAgIGNsZWFyQXJyYXkodGhpcy52YWxpZGF0aW9ucyk7XG4gIH1cblxuICBoYXNGZWVkYmFja3NPZlR5cGUodHlwZTogRmllbGRGZWVkYmFja1R5cGUsIGZpZWxkRmVlZGJhY2tzS2V5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbnMuc29tZShmaWVsZEZlZWRiYWNrID0+XG4gICAgICAoZmllbGRGZWVkYmFja3NLZXkgPT09IHVuZGVmaW5lZCB8fCBmaWVsZEZlZWRiYWNrLmtleS5zdGFydHNXaXRoKGAke2ZpZWxkRmVlZGJhY2tzS2V5fS5gKSkgJiZcbiAgICAgIGZpZWxkRmVlZGJhY2sudHlwZSA9PT0gdHlwZSAmJiBmaWVsZEZlZWRiYWNrLnNob3cgPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgaGFzRXJyb3JzKGZpZWxkRmVlZGJhY2tzS2V5Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzRmVlZGJhY2tzT2ZUeXBlKEZpZWxkRmVlZGJhY2tUeXBlLkVycm9yLCBmaWVsZEZlZWRiYWNrc0tleSk7XG4gIH1cblxuICBoYXNXYXJuaW5ncyhmaWVsZEZlZWRiYWNrc0tleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmhhc0ZlZWRiYWNrc09mVHlwZShGaWVsZEZlZWRiYWNrVHlwZS5XYXJuaW5nLCBmaWVsZEZlZWRiYWNrc0tleSk7XG4gIH1cblxuICBoYXNJbmZvcyhmaWVsZEZlZWRiYWNrc0tleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmhhc0ZlZWRiYWNrc09mVHlwZShGaWVsZEZlZWRiYWNrVHlwZS5JbmZvLCBmaWVsZEZlZWRiYWNrc0tleSk7XG4gIH1cblxuICBoYXNGZWVkYmFja3MoZmllbGRGZWVkYmFja3NLZXk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5oYXNFcnJvcnMoZmllbGRGZWVkYmFja3NLZXkpIHx8XG4gICAgICAgICAgIHRoaXMuaGFzV2FybmluZ3MoZmllbGRGZWVkYmFja3NLZXkpIHx8XG4gICAgICAgICAgIHRoaXMuaGFzSW5mb3MoZmllbGRGZWVkYmFja3NLZXkpO1xuICB9XG5cbiAgaXNWYWxpZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaGFzRXJyb3JzKCk7XG4gIH1cbn1cbiJdfQ==

@@ -51,3 +51,3 @@ import React from 'react';

validateForm(): Promise<Readonly<Field>[]>;
validateFields_lazy(...inputsOrNames: Array<InputElement | string>): Promise<Readonly<Field>[]>;
validateFieldsWithoutFeedback(...inputsOrNames: Array<InputElement | string>): Promise<Readonly<Field>[]>;
private _validateFields;

@@ -54,0 +54,0 @@ private validateField;

@@ -131,5 +131,5 @@ "use strict";

FormWithConstraints.prototype.validateForm = function () {
return this.validateFields_lazy();
return this.validateFieldsWithoutFeedback();
};
FormWithConstraints.prototype.validateFields_lazy = function () {
FormWithConstraints.prototype.validateFieldsWithoutFeedback = function () {
var inputsOrNames = [];

@@ -222,3 +222,3 @@ for (var _i = 0; _i < arguments.length; _i++) {

inputs = __spread(this.form.querySelectorAll('[name]'));
inputs = inputs.filter(function (input) { return input.type; });
inputs = inputs.filter(function (input) { return input.validity !== undefined; });
inputs

@@ -238,2 +238,5 @@ .filter(function (input) { return input.type !== 'checkbox' && input.type !== 'radio'; })

var elements = __spread(_this.form.querySelectorAll(query));
if (elements.filter(function (el) { return el.validity === undefined; }).length > 0) {
throw new Error("'" + query + "' should match an <input>, <select> or <textarea>");
}
if (elements.filter(function (el) { return el.type !== 'checkbox' && el.type !== 'radio'; }).length > 1) {

@@ -337,2 +340,2 @@ throw new Error("Multiple elements matching '" + query + "' inside the form");

exports.FormWithConstraints = FormWithConstraints;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVdpdGhDb25zdHJhaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Gb3JtV2l0aENvbnN0cmFpbnRzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQTBCO0FBQzFCLDBEQUFtQztBQUVuQyxpRkFBZ0Y7QUFDaEYseUZBQXdGO0FBQ3hGLHVGQUFzRjtBQUN0RixpRkFBZ0Y7QUFFaEYsK0NBQThDO0FBQzlDLDZDQUE0QztBQUU1Qyw4REFBd0M7QUFDeEMsZ0VBQTBDO0FBUzFDO0lBQTJDLGdEQUF5QztJQUFwRjs7SUFBc0YsQ0FBQztJQUFELG1DQUFDO0FBQUQsQ0FBQyxBQUF2RixDQUEyQyxlQUFLLENBQUMsU0FBUyxHQUE2QjtBQUN2RjtJQUVJLHVDQWNDO0lBaEJMO1FBQUEscUVBOExDO1FBaktTLFVBQUksR0FBMkIsSUFBSSxDQUFDO1FBRTVDLGlCQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFFeEIsOEJBQXdCLEdBQUcsQ0FBQyxDQUFDOztJQTZKdkMsQ0FBQztJQXhLQyw2Q0FBZSxHQUFmO1FBQ0UsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFRRCxzREFBd0IsR0FBeEI7UUFDRSxPQUFPLEtBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFJLENBQUM7SUFDOUMsQ0FBQztJQU1ELDRDQUFjLEdBQWQ7UUFBZSx1QkFBOEM7YUFBOUMsVUFBOEMsRUFBOUMscUJBQThDLEVBQTlDLElBQThDO1lBQTlDLGtDQUE4Qzs7UUFDM0QsT0FBTyxJQUFJLENBQUMsZUFBZSxPQUFwQixJQUFJLFlBQTJDLElBQUksR0FBSyxhQUFhLEdBQUU7SUFDaEYsQ0FBQztJQUVELDBDQUFZLEdBQVo7UUFDRSxPQUFPLElBQUks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QUFNLEdBQUcsRUFBRSxVQUFBLElBQUksSUFBSSxPQUFBLEtBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFoQixDQUFnQixJQUFNLElBQUksQ0FBQyxLQUFLLEVBQUksQ0FBQztJQUNqRSxDQUFDO0lBMUtNLHFDQUFpQixHQUF5RDtRQUMvRSxJQUFJLEVBQUUsb0JBQVMsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxVQUFVO0tBQzNELENBQUM7SUF5S0osMEJBQUM7Q0FBQSxBQTlMRCxDQUVJLDZEQUE2QixDQUMzQixxRUFBaUMsQ0FDL0IsbUVBQWdDLENBQzlCLDZEQUE2QixDQU8zQiw0QkFBNEIsQ0FDN0IsQ0FDRixDQUNGLENBQ0YsR0E4S0o7QUE5TFksa0RBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhWYWxpZGF0ZUZpZWxkRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi93aXRoVmFsaWRhdGVGaWVsZEV2ZW50RW1pdHRlcic7XG5pbXBvcnQgeyB3aXRoRmllbGRXaWxsVmFsaWRhdGVFdmVudEVtaXR0ZXIgfSBmcm9tICcuL3dpdGhGaWVsZFdpbGxWYWxpZGF0ZUV2ZW50RW1pdHRlcic7XG5pbXBvcnQgeyB3aXRoRmllbGREaWRWYWxpZGF0ZUV2ZW50RW1pdHRlciB9IGZyb20gJy4vd2l0aEZpZWxkRGlkVmFsaWRhdGVFdmVudEVtaXR0ZXInO1xuaW1wb3J0IHsgd2l0aEZpZWxkRGlkUmVzZXRFdmVudEVtaXR0ZXIgfSBmcm9tICcuL3dpdGhGaWVsZERpZFJlc2V0RXZlbnRFbWl0dGVyJztcbmltcG9ydCBGaWVsZCBmcm9tICcuL0ZpZWxkJztcbmltcG9ydCB7IElucHV0RWxlbWVudCB9IGZyb20gJy4vSW5wdXRFbGVtZW50JztcbmltcG9ydCB7IEZpZWxkc1N0b3JlIH0gZnJvbSAnLi9GaWVsZHNTdG9yZSc7XG5pbXBvcnQgRmllbGRGZWVkYmFja1ZhbGlkYXRpb24gZnJvbSAnLi9GaWVsZEZlZWRiYWNrVmFsaWRhdGlvbic7XG5pbXBvcnQgZmxhdHRlbkRlZXAgZnJvbSAnLi9mbGF0dGVuRGVlcCc7XG5pbXBvcnQgbm90VW5kZWZpbmVkIGZyb20gJy4vbm90VW5kZWZpbmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtV2l0aENvbnN0cmFpbnRzQ2hpbGRDb250ZXh0IHtcbiAgZm9ybTogRm9ybVdpdGhDb25zdHJhaW50cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtV2l0aENvbnN0cmFpbnRzUHJvcHMgZXh0ZW5kcyBSZWFjdC5Gb3JtSFRNTEF0dHJpYnV0ZXM8SFRNTEZvcm1FbGVtZW50PiB7XG59XG5cbmNsYXNzIEZvcm1XaXRoQ29uc3RyYWludHNDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8Rm9ybVdpdGhDb25zdHJhaW50c1Byb3BzPiB7fVxuZXhwb3J0IGNsYXNzIEZvcm1XaXRoQ29uc3RyYWludHNcbiAgZXh0ZW5kc1xuICAgIHdpdGhGaWVsZERpZFJlc2V0RXZlbnRFbWl0dGVyKFxuICAgICAgd2l0aEZpZWxkV2lsbFZhbGlkYXRlRXZlbnRFbWl0dGVyKFxuICAgICAgICB3aXRoRmllbGREaWRWYWxpZGF0ZUV2ZW50RW1pdHRlcihcbiAgICAgICAgICB3aXRoVmFsaWRhdGVGaWVsZEV2ZW50RW1pdHRlcjxcbiAgICAgICAgICAgIC8vIEZpZWxkRmVlZGJhY2sgcmV0dXJucyBGaWVsZEZlZWRiYWNrVmFsaWRhdGlvblxuICAgICAgICAgICAgLy8gQXN5bmMgcmV0dXJucyBGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbltdIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICAvLyBGaWVsZEZlZWRiYWNrcyByZXR1cm5zIChGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbiB8IHVuZGVmaW5lZClbXSB8IHVuZGVmaW5lZFxuICAgICAgICAgICAgRmllbGRGZWVkYmFja1ZhbGlkYXRpb24gfCAoRmllbGRGZWVkYmFja1ZhbGlkYXRpb24gfCB1bmRlZmluZWQpW10gfCB1bmRlZmluZWQsXG4gICAgICAgICAgICB0eXBlb2YgRm9ybVdpdGhDb25zdHJhaW50c0NvbXBvbmVudFxuICAgICAgICAgID4oXG4gICAgICAgICAgICBGb3JtV2l0aENvbnN0cmFpbnRzQ29tcG9uZW50XG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICBpbXBsZW1lbnRzIFJlYWN0LkNoaWxkQ29udGV4dFByb3ZpZGVyPEZvcm1XaXRoQ29uc3RyYWludHNDaGlsZENvbnRleHQ+IHtcblxuICBzdGF0aWMgY2hpbGRDb250ZXh0VHlwZXM6IFJlYWN0LlZhbGlkYXRpb25NYXA8Rm9ybVdpdGhDb25zdHJhaW50c0NoaWxkQ29udGV4dD4gPSB7XG4gICAgZm9ybTogUHJvcFR5cGVzLmluc3RhbmNlT2YoRm9ybVdpdGhDb25zdHJhaW50cykuaXNSZXF1aXJlZFxuICB9O1xuICBnZXRDaGlsZENvbnRleHQoKTogRm9ybVdpdGhDb25zdHJhaW50c0NoaWxkQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm06IHRoaXNcbiAgICB9O1xuICB9XG5cbiAgLy8gQ291bGQgYmUgbmFtZWQgaW5uZXJSZWYgaW5zdGVhZCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzU0ODkjaXNzdWVjb21tZW50LTMzMjIwODY1MlxuICBwcml2YXRlIGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIGZpZWxkc1N0b3JlID0gbmV3IEZpZWxkc1N0b3JlKCk7XG5cbiAgcHJpdmF0ZSBmaWVsZEZlZWRiYWNrc0tleUNvdW50ZXIgPSAwO1xuICBjb21wdXRlRmllbGRGZWVkYmFja3NLZXkoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZmllbGRGZWVkYmFja3NLZXlDb3VudGVyKyt9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGdpdmVuIGZpZWxkcywgZWl0aGVyIEhUTUxJbnB1dEVsZW1lbnRzIG9yIGZpZWxkIG5hbWVzLlxuICAgKiBJZiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIHZhbGlkYXRlcyBhbGwgZmllbGRzICgkKCdbbmFtZV0nKSkuXG4gICAqL1xuICB2YWxpZGF0ZUZpZWxkcyguLi5pbnB1dHNPck5hbWVzOiBBcnJheTxJbnB1dEVsZW1lbnQgfCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRlRmllbGRzKC8qIGZvcmNlVmFsaWRhdGVGaWVsZHMgKi8gdHJ1ZSwgLi4uaW5wdXRzT3JOYW1lcyk7XG4gIH1cblxuICB2YWxpZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVGaWVsZHNfbGF6eSgpO1xuICB9XG5cbiAgLy8gVmFsaWRhdGVzIG9ubHkgd2hhdCdzIG5lY2Vzc2FyeSAoZS5nLiBub24tY2hlY2tlZCBmaWVsZHMpXG4gIHZhbGlkYXRlRmllbGRzX2xhenkoLi4uaW5wdXRzT3JOYW1lczogQXJyYXk8SW5wdXRFbGVtZW50IHwgc3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0ZUZpZWxkcygvKiBmb3JjZVZhbGlkYXRlRmllbGRzICovIGZhbHNlLCAuLi5pbnB1dHNPck5hbWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3ZhbGlkYXRlRmllbGRzKGZvcmNlVmFsaWRhdGVGaWVsZHM6IGJvb2xlYW4sIC4uLmlucHV0c09yTmFtZXM6IEFycmF5PElucHV0RWxlbWVudCB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBmaWVsZHMgPSBuZXcgQXJyYXk8UmVhZG9ubHk8RmllbGQ+PigpO1xuXG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5ub3JtYWxpemVJbnB1dHMoLi4uaW5wdXRzT3JOYW1lcyk7XG5cbiAgICBmb3IgKGNvbnN0IGlucHV0IG9mIGlucHV0cykge1xuICAgICAgY29uc3QgZmllbGQgPSBhd2FpdCB0aGlzLnZhbGlkYXRlRmllbGQoZm9yY2VWYWxpZGF0ZUZpZWxkcywgbmV3IElucHV0RWxlbWVudChpbnB1dCkpO1xuICAgICAgaWYgKGZpZWxkICE9PSB1bmRlZmluZWQpIGZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUZpZWxkKGZvcmNlVmFsaWRhdGVGaWVsZHM6IGJvb2xlYW4sIGlucHV0OiBJbnB1dEVsZW1lbnQpIHtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNTdG9yZS5nZXRGaWVsZChmaWVsZE5hbWUpO1xuXG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE1lYW5zIHRoZSBmaWVsZCAoPGlucHV0IG5hbWU9XCJ1c2VybmFtZVwiPikgZG9lcyBub3QgaGF2ZSBhIEZpZWxkRmVlZGJhY2tzXG4gICAgICAvLyBzbyBsZXQncyBpZ25vcmUgdGhpcyBmaWVsZFxuICAgIH1cblxuICAgIGVsc2UgaWYgKGZvcmNlVmFsaWRhdGVGaWVsZHMgfHwgIWZpZWxkLmhhc0ZlZWRiYWNrcygpKSB7XG4gICAgICBmaWVsZC5jbGVhclZhbGlkYXRpb25zKCk7XG5cbiAgICAgIHRoaXMuZW1pdEZpZWxkV2lsbFZhbGlkYXRlRXZlbnQoZmllbGROYW1lKTtcblxuICAgICAgY29uc3QgYXJyYXlPZkFycmF5cyA9IGF3YWl0IHRoaXMuZW1pdFZhbGlkYXRlRmllbGRFdmVudChpbnB1dCk7XG5cbiAgICAgIC8vIEludGVybmFsIGNoZWNrIHRoYXQgZXZlcnl0aGluZyBpcyBPS1xuICAgICAgLy8gQ2FuIGJlIHRlbXBvcmFyeSBvdXQgb2Ygc3luYyBpZiB0aGUgdXNlciByYXBpZGx5IGNoYW5nZSB0aGUgaW5wdXQsIGluIHRoaXMgY2FzZTpcbiAgICAgIC8vIGVtaXRGaWVsZFdpbGxWYWxpZGF0ZUV2ZW50KCkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBmaXJzdCBjaGFuZ2Ugd2hpbGUgdGhlIHN0b3JlIGFscmVhZHkgY29udGFpbnMgdGhlIGZpbmFsIHZhbGlkYXRpb25zXG4gICAgICBjb25zb2xlLmFzc2VydChcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoZmxhdHRlbkRlZXA8RmllbGRGZWVkYmFja1ZhbGlkYXRpb24gfCB1bmRlZmluZWQ+KGFycmF5T2ZBcnJheXMpLmZpbHRlcihub3RVbmRlZmluZWQpKSAvKiB2YWxpZGF0aW9uc0Zyb21FbWl0VmFsaWRhdGVGaWVsZEV2ZW50ICovXG4gICAgICAgID09PVxuICAgICAgICBKU09OLnN0cmluZ2lmeShmaWVsZC52YWxpZGF0aW9ucykgLyogdmFsaWRhdGlvbnNGcm9tU3RvcmUgKi9cbiAgICAgICAgLFxuICAgICAgICBgRmllbGRzU3RvcmUgZG9lcyBub3QgbWF0Y2ggZW1pdFZhbGlkYXRlRmllbGRFdmVudCgpIHJlc3VsdCwgZGlkIHRoZSB1c2VyIGNoYW5nZWQgdGhlIGlucHV0IHJhcGlkbHk/YFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbWl0RmllbGREaWRWYWxpZGF0ZUV2ZW50KGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICAvLyBJZiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIHJldHVybnMgYWxsIGZpZWxkcyAoJCgnW25hbWVdJykpXG4gIC8vIFJldHVybnMgdGhlIGlucHV0cyBpbiB0aGUgc2FtZSBvcmRlciB0aGV5IHdlcmUgZ2l2ZW5cbiAgcHJvdGVjdGVkIG5vcm1hbGl6ZUlucHV0cyguLi5pbnB1dHNPck5hbWVzOiBBcnJheTxJbnB1dEVsZW1lbnQgLyogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudC4uLiAqLyB8IHN0cmluZz4pIHtcbiAgICBsZXQgaW5wdXRzO1xuXG4gICAgaWYgKGlucHV0c09yTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBbbmFtZV0gbWF0Y2hlcyA8aW5wdXQgbmFtZT1cIi4uLlwiPiwgPHNlbGVjdCBuYW1lPVwiLi4uXCI+LCA8YnV0dG9uIG5hbWU9XCIuLi5cIj4sIC4uLlxuICAgICAgLy8gU2VlIENvbnZlcnQgSmF2YVNjcmlwdCBOb2RlTGlzdCB0byBBcnJheT8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzMzODIyNTI2Lzk5MDM1NlxuICAgICAgaW5wdXRzID0gWy4uLnRoaXMuZm9ybSEucXVlcnlTZWxlY3RvckFsbDxIVE1MSW5wdXRFbGVtZW50PignW25hbWVdJyldO1xuXG4gICAgICAvLyBSZW1vdmUgZWxlbWVudHMgdGhhdCBkb24ndCBoYXZlIGEgdHlwZSwgZXhhbXBsZTpcbiAgICAgIC8vIDxpZnJhbWUgc3JjPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9yZWNhcHRjaGEuLi5cIiBuYW1lPVwiYS00OWVraXBxZm13c3ZcIj5cbiAgICAgIGlucHV0cyA9IGlucHV0cy5maWx0ZXIoaW5wdXQgPT4gaW5wdXQudHlwZSk7XG5cbiAgICAgIC8vIENoZWNrIHdlIGhhdmUgdW5pcXVlIG5hbWVzXG4gICAgICBpbnB1dHNcbiAgICAgICAgLmZpbHRlcihpbnB1dCA9PiBpbnB1dC50eXBlICE9PSAnY2hlY2tib3gnICYmIGlucHV0LnR5cGUgIT09ICdyYWRpbycpXG4gICAgICAgIC5tYXAoaW5wdXQgPT4gaW5wdXQubmFtZSlcbiAgICAgICAgLmZvckVhY2goKG5hbWUsIGluZGV4LCBzZWxmKSA9PiB7XG4gICAgICAgICAgaWYgKHNlbGYuaW5kZXhPZihuYW1lKSAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTXVsdGlwbGUgZWxlbWVudHMgbWF0Y2hpbmcgJ1tuYW1lPVwiJHtuYW1lfVwiXScgaW5zaWRlIHRoZSBmb3JtYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXRzID0gaW5wdXRzT3JOYW1lcy5tYXAoaW5wdXQgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gYFtuYW1lPVwiJHtpbnB1dH1cIl1gO1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gWy4uLnRoaXMuZm9ybSEucXVlcnlTZWxlY3RvckFsbDxIVE1MSW5wdXRFbGVtZW50PihxdWVyeSldO1xuXG4gICAgICAgICAgLy8gQ2hlY2tzXG5cbiAgICAgICAgICBpZiAoZWxlbWVudHMuZmlsdGVyKGVsID0+IGVsLnR5cGUgIT09ICdjaGVja2JveCcgJiYgZWwudHlwZSAhPT0gJ3JhZGlvJykubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSBlbGVtZW50cyBtYXRjaGluZyAnJHtxdWVyeX0nIGluc2lkZSB0aGUgZm9ybWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbMF07XG4gICAgICAgICAgaWYgKGVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBmaWVsZCAnJHtxdWVyeX0nIGluc2lkZSB0aGUgZm9ybWApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBpbnB1dDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0cztcbiAgfVxuXG4gIC8vIE1vcmUgbGlrZSBzZWVtc1RvQmVWYWxpZCgpOiByZXR1cm4gdHJ1ZSBpZiBmaWVsZHMgYXJlIHVudG91Y2hlZFxuICBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkc1N0b3JlLmlzVmFsaWQoKTtcbiAgfVxuXG4gIGhhc0ZlZWRiYWNrcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHNTdG9yZS5oYXNGZWVkYmFja3MoKTtcbiAgfVxuXG4gIGFzeW5jIHJlc2V0RmllbGRzKC4uLmlucHV0c09yTmFtZXM6IEFycmF5PElucHV0RWxlbWVudCB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBmaWVsZHMgPSBuZXcgQXJyYXk8UmVhZG9ubHk8RmllbGQ+PigpO1xuXG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5ub3JtYWxpemVJbnB1dHMoLi4uaW5wdXRzT3JOYW1lcyk7XG5cbiAgICBmb3IgKGNvbnN0IGlucHV0IG9mIGlucHV0cykge1xuICAgICAgY29uc3QgZmllbGQgPSBhd2FpdCB0aGlzLnJlc2V0RmllbGQobmV3IElucHV0RWxlbWVudChpbnB1dCkpO1xuICAgICAgaWYgKGZpZWxkICE9PSB1bmRlZmluZWQpIGZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldEZpZWxkKGlucHV0OiBJbnB1dEVsZW1lbnQpIHtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNTdG9yZS5nZXRGaWVsZChmaWVsZE5hbWUpO1xuXG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE1lYW5zIHRoZSBmaWVsZCAoPGlucHV0IG5hbWU9XCJ1c2VybmFtZVwiPikgZG9lcyBub3QgaGF2ZSBhIEZpZWxkRmVlZGJhY2tzXG4gICAgICAvLyBzbyBsZXQncyBpZ25vcmUgdGhpcyBmaWVsZFxuICAgIH0gZWxzZSB7XG4gICAgICBmaWVsZC5jbGVhclZhbGlkYXRpb25zKCk7XG4gICAgICBhd2FpdCB0aGlzLmVtaXRGaWVsZERpZFJlc2V0RXZlbnQoZmllbGQpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gPGZvcm0gcmVmPXtmb3JtID0+IHRoaXMuZm9ybSA9IGZvcm19IHsuLi50aGlzLnByb3BzfSAvPjtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVdpdGhDb25zdHJhaW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Gb3JtV2l0aENvbnN0cmFpbnRzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQTBCO0FBQzFCLDBEQUFtQztBQUVuQyxpRkFBZ0Y7QUFDaEYseUZBQXdGO0FBQ3hGLHVGQUFzRjtBQUN0RixpRkFBZ0Y7QUFFaEYsK0NBQThDO0FBQzlDLDZDQUE0QztBQUU1Qyw4REFBd0M7QUFDeEMsZ0VBQTBDO0FBUzFDO0lBQTJDLGdEQUF5QztJQUFwRjs7SUFBc0YsQ0FBQztJQUFELG1DQUFDO0FBQUQsQ0FBQyxBQUF2RixDQUEyQyxlQUFLLENBQUMsU0FBUyxHQUE2QjtBQUN2RjtJQUVJLHVDQWNDO0lBaEJMO1FBQUEscUVBNE1DO1FBL0tTLFVBQUksR0FBMkIsSUFBSSxDQUFDO1FBRTVDLGlCQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFFeEIsOEJBQXdCLEdBQUcsQ0FBQyxDQUFDOztJQTJLdkMsQ0FBQztJQXRMQyw2Q0FBZSxHQUFmO1FBQ0UsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFRRCxzREFBd0IsR0FBeEI7UUFDRSxPQUFPLEtBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFJLENBQUM7SUFDOUMsQ0FBQztJQU1ELDRDQUFjLEdBQWQ7UUFBZSx1QkFBOEM7YUFBOUMsVUFBOEMsRUFBOUMscUJBQThDLEVBQTlDLElBQThDO1lBQTlDLGtDQUE4Qzs7UUFDM0QsT0FBTyxJQUFJLENBQUMsZUFBZSxPQUFwQixJQUFJLFlBQTJDLElBQUksR0FBSyxhQUFhLEdBQUU7SUFDaEYsQ0FBQztJQUVELDBDQUFZLEdBQVo7UUFDRSxPQUFPLElBQUks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Q0FBQSxFQUFuQixjQUFtQjs7O3dCQUlyQixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDekIsV0FBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEVBQUE7O3dCQUF4QyxTQUF3QyxDQUFDOzs0QkFHM0MsV0FBTyxLQUFLLEVBQUM7Ozs7S0FDZDtJQUVELG9DQUFNLEdBQU47UUFBQSxpQkFFQztRQURDLE9BQU8saURBQU0sR0FBRyxFQUFFLFVBQUEsSUFBSSxJQUFJLE9BQUEsS0FBSSxDQUFDLElBQUksR0FBRyxJQUFJLEVBQWhCLENBQWdCLElBQU0sSUFBSSxDQUFDLEtBQUssRUFBSSxDQUFDO0lBQ2pFLENBQUM7SUF4TE0scUNBQWlCLEdBQXlEO1FBQy9FLElBQUksRUFBRSxvQkFBUyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFVBQVU7S0FDM0QsQ0FBQztJQXVMSiwwQkFBQztDQUFBLEFBNU1ELENBRUksNkRBQTZCLENBQzNCLHFFQUFpQyxDQUMvQixtRUFBZ0MsQ0FDOUIsNkRBQTZCLENBTzNCLDRCQUE0QixDQUM3QixDQUNGLENBQ0YsQ0FDRixHQTRMSjtBQTVNWSxrREFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFZhbGlkYXRlRmllbGRFdmVudEVtaXR0ZXIgfSBmcm9tICcuL3dpdGhWYWxpZGF0ZUZpZWxkRXZlbnRFbWl0dGVyJztcbmltcG9ydCB7IHdpdGhGaWVsZFdpbGxWYWxpZGF0ZUV2ZW50RW1pdHRlciB9IGZyb20gJy4vd2l0aEZpZWxkV2lsbFZhbGlkYXRlRXZlbnRFbWl0dGVyJztcbmltcG9ydCB7IHdpdGhGaWVsZERpZFZhbGlkYXRlRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi93aXRoRmllbGREaWRWYWxpZGF0ZUV2ZW50RW1pdHRlcic7XG5pbXBvcnQgeyB3aXRoRmllbGREaWRSZXNldEV2ZW50RW1pdHRlciB9IGZyb20gJy4vd2l0aEZpZWxkRGlkUmVzZXRFdmVudEVtaXR0ZXInO1xuaW1wb3J0IEZpZWxkIGZyb20gJy4vRmllbGQnO1xuaW1wb3J0IHsgSW5wdXRFbGVtZW50IH0gZnJvbSAnLi9JbnB1dEVsZW1lbnQnO1xuaW1wb3J0IHsgRmllbGRzU3RvcmUgfSBmcm9tICcuL0ZpZWxkc1N0b3JlJztcbmltcG9ydCBGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbiBmcm9tICcuL0ZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uJztcbmltcG9ydCBmbGF0dGVuRGVlcCBmcm9tICcuL2ZsYXR0ZW5EZWVwJztcbmltcG9ydCBub3RVbmRlZmluZWQgZnJvbSAnLi9ub3RVbmRlZmluZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1XaXRoQ29uc3RyYWludHNDaGlsZENvbnRleHQge1xuICBmb3JtOiBGb3JtV2l0aENvbnN0cmFpbnRzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1XaXRoQ29uc3RyYWludHNQcm9wcyBleHRlbmRzIFJlYWN0LkZvcm1IVE1MQXR0cmlidXRlczxIVE1MRm9ybUVsZW1lbnQ+IHtcbn1cblxuY2xhc3MgRm9ybVdpdGhDb25zdHJhaW50c0NvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxGb3JtV2l0aENvbnN0cmFpbnRzUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgRm9ybVdpdGhDb25zdHJhaW50c1xuICBleHRlbmRzXG4gICAgd2l0aEZpZWxkRGlkUmVzZXRFdmVudEVtaXR0ZXIoXG4gICAgICB3aXRoRmllbGRXaWxsVmFsaWRhdGVFdmVudEVtaXR0ZXIoXG4gICAgICAgIHdpdGhGaWVsZERpZFZhbGlkYXRlRXZlbnRFbWl0dGVyKFxuICAgICAgICAgIHdpdGhWYWxpZGF0ZUZpZWxkRXZlbnRFbWl0dGVyPFxuICAgICAgICAgICAgLy8gRmllbGRGZWVkYmFjayByZXR1cm5zIEZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uXG4gICAgICAgICAgICAvLyBBc3luYyByZXR1cm5zIEZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uW10gfCB1bmRlZmluZWRcbiAgICAgICAgICAgIC8vIEZpZWxkRmVlZGJhY2tzIHJldHVybnMgKEZpZWxkRmVlZGJhY2tWYWxpZGF0aW9uIHwgdW5kZWZpbmVkKVtdIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICBGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbiB8IChGaWVsZEZlZWRiYWNrVmFsaWRhdGlvbiB8IHVuZGVmaW5lZClbXSB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHR5cGVvZiBGb3JtV2l0aENvbnN0cmFpbnRzQ29tcG9uZW50XG4gICAgICAgICAgPihcbiAgICAgICAgICAgIEZvcm1XaXRoQ29uc3RyYWludHNDb21wb25lbnRcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIGltcGxlbWVudHMgUmVhY3QuQ2hpbGRDb250ZXh0UHJvdmlkZXI8Rm9ybVdpdGhDb25zdHJhaW50c0NoaWxkQ29udGV4dD4ge1xuXG4gIHN0YXRpYyBjaGlsZENvbnRleHRUeXBlczogUmVhY3QuVmFsaWRhdGlvbk1hcDxGb3JtV2l0aENvbnN0cmFpbnRzQ2hpbGRDb250ZXh0PiA9IHtcbiAgICBmb3JtOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihGb3JtV2l0aENvbnN0cmFpbnRzKS5pc1JlcXVpcmVkXG4gIH07XG4gIGdldENoaWxkQ29udGV4dCgpOiBGb3JtV2l0aENvbnN0cmFpbnRzQ2hpbGRDb250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9ybTogdGhpc1xuICAgIH07XG4gIH1cblxuICAvLyBDb3VsZCBiZSBuYW1lZCBpbm5lclJlZiBpbnN0ZWFkLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvNTQ4OSNpc3N1ZWNvbW1lbnQtMzMyMjA4NjUyXG4gIHByaXZhdGUgZm9ybTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgZmllbGRzU3RvcmUgPSBuZXcgRmllbGRzU3RvcmUoKTtcblxuICBwcml2YXRlIGZpZWxkRmVlZGJhY2tzS2V5Q291bnRlciA9IDA7XG4gIGNvbXB1dGVGaWVsZEZlZWRiYWNrc0tleSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5maWVsZEZlZWRiYWNrc0tleUNvdW50ZXIrK31gO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgZ2l2ZW4gZmllbGRzLCBlaXRoZXIgSFRNTElucHV0RWxlbWVudHMgb3IgZmllbGQgbmFtZXMuXG4gICAqIElmIGNhbGxlZCB3aXRob3V0IGFyZ3VtZW50cywgdmFsaWRhdGVzIGFsbCBmaWVsZHMgKCQoJ1tuYW1lXScpKS5cbiAgICovXG4gIHZhbGlkYXRlRmllbGRzKC4uLmlucHV0c09yTmFtZXM6IEFycmF5PElucHV0RWxlbWVudCB8IHN0cmluZz4pIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGVGaWVsZHMoLyogZm9yY2VWYWxpZGF0ZUZpZWxkcyAqLyB0cnVlLCAuLi5pbnB1dHNPck5hbWVzKTtcbiAgfVxuXG4gIHZhbGlkYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZpZWxkc1dpdGhvdXRGZWVkYmFjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBmaWVsZHMgd2l0aG91dCBmZWVkYmFjayBvbmx5LlxuICAgKi9cbiAgdmFsaWRhdGVGaWVsZHNXaXRob3V0RmVlZGJhY2soLi4uaW5wdXRzT3JOYW1lczogQXJyYXk8SW5wdXRFbGVtZW50IHwgc3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0ZUZpZWxkcygvKiBmb3JjZVZhbGlkYXRlRmllbGRzICovIGZhbHNlLCAuLi5pbnB1dHNPck5hbWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3ZhbGlkYXRlRmllbGRzKGZvcmNlVmFsaWRhdGVGaWVsZHM6IGJvb2xlYW4sIC4uLmlucHV0c09yTmFtZXM6IEFycmF5PElucHV0RWxlbWVudCB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBmaWVsZHMgPSBuZXcgQXJyYXk8UmVhZG9ubHk8RmllbGQ+PigpO1xuXG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5ub3JtYWxpemVJbnB1dHMoLi4uaW5wdXRzT3JOYW1lcyk7XG5cbiAgICBmb3IgKGNvbnN0IGlucHV0IG9mIGlucHV0cykge1xuICAgICAgY29uc3QgZmllbGQgPSBhd2FpdCB0aGlzLnZhbGlkYXRlRmllbGQoZm9yY2VWYWxpZGF0ZUZpZWxkcywgbmV3IElucHV0RWxlbWVudChpbnB1dCkpO1xuICAgICAgaWYgKGZpZWxkICE9PSB1bmRlZmluZWQpIGZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUZpZWxkKGZvcmNlVmFsaWRhdGVGaWVsZHM6IGJvb2xlYW4sIGlucHV0OiBJbnB1dEVsZW1lbnQpIHtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNTdG9yZS5nZXRGaWVsZChmaWVsZE5hbWUpO1xuXG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE1lYW5zIHRoZSBmaWVsZCAoPGlucHV0IG5hbWU9XCJ1c2VybmFtZVwiPikgZG9lcyBub3QgaGF2ZSBhIEZpZWxkRmVlZGJhY2tzXG4gICAgICAvLyBzbyBsZXQncyBpZ25vcmUgdGhpcyBmaWVsZFxuICAgIH1cblxuICAgIGVsc2UgaWYgKGZvcmNlVmFsaWRhdGVGaWVsZHMgfHwgIWZpZWxkLmhhc0ZlZWRiYWNrcygpKSB7XG4gICAgICBmaWVsZC5jbGVhclZhbGlkYXRpb25zKCk7XG5cbiAgICAgIHRoaXMuZW1pdEZpZWxkV2lsbFZhbGlkYXRlRXZlbnQoZmllbGROYW1lKTtcblxuICAgICAgY29uc3QgYXJyYXlPZkFycmF5cyA9IGF3YWl0IHRoaXMuZW1pdFZhbGlkYXRlRmllbGRFdmVudChpbnB1dCk7XG5cbiAgICAgIC8vIEludGVybmFsIGNoZWNrIHRoYXQgZXZlcnl0aGluZyBpcyBPS1xuICAgICAgLy8gQ2FuIGJlIHRlbXBvcmFyeSBvdXQgb2Ygc3luYyBpZiB0aGUgdXNlciByYXBpZGx5IGNoYW5nZSB0aGUgaW5wdXQsIGluIHRoaXMgY2FzZTpcbiAgICAgIC8vIGVtaXRGaWVsZFdpbGxWYWxpZGF0ZUV2ZW50KCkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBmaXJzdCBjaGFuZ2Ugd2hpbGUgdGhlIHN0b3JlIGFscmVhZHkgY29udGFpbnMgdGhlIGZpbmFsIHZhbGlkYXRpb25zXG4gICAgICBjb25zb2xlLmFzc2VydChcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoZmxhdHRlbkRlZXA8RmllbGRGZWVkYmFja1ZhbGlkYXRpb24gfCB1bmRlZmluZWQ+KGFycmF5T2ZBcnJheXMpLmZpbHRlcihub3RVbmRlZmluZWQpKSAvKiB2YWxpZGF0aW9uc0Zyb21FbWl0VmFsaWRhdGVGaWVsZEV2ZW50ICovXG4gICAgICAgID09PVxuICAgICAgICBKU09OLnN0cmluZ2lmeShmaWVsZC52YWxpZGF0aW9ucykgLyogdmFsaWRhdGlvbnNGcm9tU3RvcmUgKi9cbiAgICAgICAgLFxuICAgICAgICBgRmllbGRzU3RvcmUgZG9lcyBub3QgbWF0Y2ggZW1pdFZhbGlkYXRlRmllbGRFdmVudCgpIHJlc3VsdCwgZGlkIHRoZSB1c2VyIGNoYW5nZWQgdGhlIGlucHV0IHJhcGlkbHk/YFxuICAgICAgKTtcblxuICAgICAgdGhpcy5lbWl0RmllbGREaWRWYWxpZGF0ZUV2ZW50KGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICAvLyBJZiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIHJldHVybnMgYWxsIGZpZWxkcyAoJCgnW25hbWVdJykpXG4gIC8vIFJldHVybnMgdGhlIGlucHV0cyBpbiB0aGUgc2FtZSBvcmRlciB0aGV5IHdlcmUgZ2l2ZW5cbiAgcHJvdGVjdGVkIG5vcm1hbGl6ZUlucHV0cyguLi5pbnB1dHNPck5hbWVzOiBBcnJheTxJbnB1dEVsZW1lbnQgLyogSFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudC4uLiAqLyB8IHN0cmluZz4pIHtcbiAgICBsZXQgaW5wdXRzO1xuXG4gICAgaWYgKGlucHV0c09yTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBbbmFtZV0gbWF0Y2hlcyA8aW5wdXQgbmFtZT1cIi4uLlwiPiwgPHNlbGVjdCBuYW1lPVwiLi4uXCI+LCA8YnV0dG9uIG5hbWU9XCIuLi5cIj4sIC4uLlxuICAgICAgLy8gU2VlIENvbnZlcnQgSmF2YVNjcmlwdCBOb2RlTGlzdCB0byBBcnJheT8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzMzODIyNTI2Lzk5MDM1NlxuICAgICAgaW5wdXRzID0gWy4uLnRoaXMuZm9ybSEucXVlcnlTZWxlY3RvckFsbDxIVE1MSW5wdXRFbGVtZW50PignW25hbWVdJyldO1xuXG4gICAgICAvLyBSZW1vdmUgZWxlbWVudHMgd2l0aG91dCBWYWxpZGl0eVN0YXRlLCBleGFtcGxlOlxuICAgICAgLy8gPGlmcmFtZSBzcmM9XCJodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS4uLlwiIG5hbWU9XCJhLTQ5ZWtpcHFmbXdzdlwiPlxuICAgICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrLCBwb3NzaWJsZSBjcmFzaCBpbnNpZGUgSW5wdXRFbGVtZW50IGlzIFwiVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0eSAnYmFkSW5wdXQnIG9mIHVuZGVmaW5lZFwiXG4gICAgICAvL1xuICAgICAgLy8gVmFsaWRpdHlTdGF0ZSBpcyBhdmFpbGFibGUgZm9yIChsaWIuZG9tLmQudHMpOlxuICAgICAgLy8gSFRNTEJ1dHRvbkVsZW1lbnQsIEhUTUxGaWVsZFNldEVsZW1lbnQsIEhUTUxJbnB1dEVsZW1lbnQsIEhUTUxPYmplY3RFbGVtZW50LFxuICAgICAgLy8gSFRNTE91dHB1dEVsZW1lbnQsIEhUTUxTZWxlY3RFbGVtZW50LCBIVE1MVGV4dEFyZWFFbGVtZW50XG4gICAgICAvL1xuICAgICAgLy8gVmFsaWRpdHlTdGF0ZSBpcyBzdXBwb3J0ZWQgYnkgSUUgPj0gMTBcbiAgICAgIGlucHV0cyA9IGlucHV0cy5maWx0ZXIoaW5wdXQgPT4gaW5wdXQudmFsaWRpdHkgIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgIC8vIENoZWNrIHdlIGhhdmUgdW5pcXVlIG5hbWVzXG4gICAgICBpbnB1dHNcbiAgICAgICAgLmZpbHRlcihpbnB1dCA9PiBpbnB1dC50eXBlICE9PSAnY2hlY2tib3gnICYmIGlucHV0LnR5cGUgIT09ICdyYWRpbycpXG4gICAgICAgIC5tYXAoaW5wdXQgPT4gaW5wdXQubmFtZSlcbiAgICAgICAgLmZvckVhY2goKG5hbWUsIGluZGV4LCBzZWxmKSA9PiB7XG4gICAgICAgICAgaWYgKHNlbGYuaW5kZXhPZihuYW1lKSAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTXVsdGlwbGUgZWxlbWVudHMgbWF0Y2hpbmcgJ1tuYW1lPVwiJHtuYW1lfVwiXScgaW5zaWRlIHRoZSBmb3JtYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXRzID0gaW5wdXRzT3JOYW1lcy5tYXAoaW5wdXQgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gYFtuYW1lPVwiJHtpbnB1dH1cIl1gO1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gWy4uLnRoaXMuZm9ybSEucXVlcnlTZWxlY3RvckFsbDxIVE1MSW5wdXRFbGVtZW50PihxdWVyeSldO1xuXG4gICAgICAgICAgLy8gQ2hlY2tzXG5cbiAgICAgICAgICBpZiAoZWxlbWVudHMuZmlsdGVyKGVsID0+IGVsLnZhbGlkaXR5ID09PSB1bmRlZmluZWQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIFNob3VsZCBub3QgbWF0Y2ggc29tZXRoaW5nIGxpa2VcbiAgICAgICAgICAgIC8vIDxpZnJhbWUgc3JjPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9yZWNhcHRjaGEuLi5cIiBuYW1lPVwiYS00OWVraXBxZm13c3ZcIj5cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7cXVlcnl9JyBzaG91bGQgbWF0Y2ggYW4gPGlucHV0PiwgPHNlbGVjdD4gb3IgPHRleHRhcmVhPmApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZWxlbWVudHMuZmlsdGVyKGVsID0+IGVsLnR5cGUgIT09ICdjaGVja2JveCcgJiYgZWwudHlwZSAhPT0gJ3JhZGlvJykubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSBlbGVtZW50cyBtYXRjaGluZyAnJHtxdWVyeX0nIGluc2lkZSB0aGUgZm9ybWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbMF07XG4gICAgICAgICAgaWYgKGVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBmaWVsZCAnJHtxdWVyeX0nIGluc2lkZSB0aGUgZm9ybWApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBpbnB1dDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0cztcbiAgfVxuXG4gIC8vIE1vcmUgbGlrZSBzZWVtc1RvQmVWYWxpZCgpOiByZXR1cm4gdHJ1ZSBpZiBmaWVsZHMgYXJlIHVudG91Y2hlZFxuICBpc1ZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkc1N0b3JlLmlzVmFsaWQoKTtcbiAgfVxuXG4gIGhhc0ZlZWRiYWNrcygpIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHNTdG9yZS5oYXNGZWVkYmFja3MoKTtcbiAgfVxuXG4gIGFzeW5jIHJlc2V0RmllbGRzKC4uLmlucHV0c09yTmFtZXM6IEFycmF5PElucHV0RWxlbWVudCB8IHN0cmluZz4pIHtcbiAgICBjb25zdCBmaWVsZHMgPSBuZXcgQXJyYXk8UmVhZG9ubHk8RmllbGQ+PigpO1xuXG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5ub3JtYWxpemVJbnB1dHMoLi4uaW5wdXRzT3JOYW1lcyk7XG5cbiAgICBmb3IgKGNvbnN0IGlucHV0IG9mIGlucHV0cykge1xuICAgICAgY29uc3QgZmllbGQgPSBhd2FpdCB0aGlzLnJlc2V0RmllbGQobmV3IElucHV0RWxlbWVudChpbnB1dCkpO1xuICAgICAgaWYgKGZpZWxkICE9PSB1bmRlZmluZWQpIGZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNldEZpZWxkKGlucHV0OiBJbnB1dEVsZW1lbnQpIHtcbiAgICBjb25zdCBmaWVsZE5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNTdG9yZS5nZXRGaWVsZChmaWVsZE5hbWUpO1xuXG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIE1lYW5zIHRoZSBmaWVsZCAoPGlucHV0IG5hbWU9XCJ1c2VybmFtZVwiPikgZG9lcyBub3QgaGF2ZSBhIEZpZWxkRmVlZGJhY2tzXG4gICAgICAvLyBzbyBsZXQncyBpZ25vcmUgdGhpcyBmaWVsZFxuICAgIH0gZWxzZSB7XG4gICAgICBmaWVsZC5jbGVhclZhbGlkYXRpb25zKCk7XG4gICAgICBhd2FpdCB0aGlzLmVtaXRGaWVsZERpZFJlc2V0RXZlbnQoZmllbGQpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gPGZvcm0gcmVmPXtmb3JtID0+IHRoaXMuZm9ybSA9IGZvcm19IHsuLi50aGlzLnByb3BzfSAvPjtcbiAgfVxufVxuIl19

@@ -42,2 +42,2 @@ "use strict";

exports.IValidityState = IValidityState;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRFbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0lucHV0RWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBO0lBU0Usc0JBQVksS0FBb0Q7UUFDOUQsSUFBSyxLQUFhLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN0QyxLQUFLLEdBQUcsS0FBcUIsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQVN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUF5QixDQUFDLENBQUM7WUFFcEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztTQUNsRDthQUFNO1lBQ0wsS0FBSyxHQUFHLEtBQWtCLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBTSxDQUFDLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQWdCLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBTSxDQUFDLEtBQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQWdCLENBQUM7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQWdCLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBbkNELElBbUNDO0FBbkNZLG9DQUFZO0FBd0N6QjtJQWFFLHdCQUFZLFFBQXVCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQTFCRCxJQTBCQztBQTFCWSx3Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNlZSBSZWFjdCBOYXRpdmUgVGV4dElucHV0IGh0dHBzOi8vZmFjZWJvb2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS9kb2NzL3RleHRpbnB1dC5odG1sXG4vLyBIZXJlIHNvIHdlIGRvbid0IGhhdmUgdG8gXCJpbXBvcnQgeyBUZXh0SW5wdXQgfSBmcm9tICdyZWFjdC1uYXRpdmUnXCIgYW5kIGRlcGVuZCBvbiBSZWFjdCBOYXRpdmVcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dElucHV0IHtcbiAgLy92YWx1ZT86IHN0cmluZzsgLy8gQWx3YXlzIHVuZGVmaW5lZCwgdXNlIGluc3RlYWQgcHJvcHMudmFsdWVcbiAgcHJvcHM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBJbnB1dEVsZW1lbnQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZzsgLy8gTm90IG5lZWRlZCBpbnRlcm5hbGx5LCBjYW4gYmUgdGV4dCwgcmFkaW8uLi5cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsaWRpdHk6IElWYWxpZGl0eVN0YXRlO1xuICByZWFkb25seSB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nO1xuXG4gIC8vIE5lZWQgdG8gZHVwbGljYXRlIHRoZSBpbnB1dCB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgcmFwaWRseSB0aGUgaW5wdXRcbiAgLy8gb3RoZXJ3aXNlIHdlIHdpbGwgdHJlYXQgb25seSB0aGUgbGFzdCBpbnB1dCB2YWx1ZSBpbnN0ZWFkIG9mIGV2ZXJ5IGlucHV0IHZhbHVlIGNoYW5nZVxuICBjb25zdHJ1Y3RvcihpbnB1dDogLypIVE1MSW5wdXRFbGVtZW50Ki8gSW5wdXRFbGVtZW50IHwgVGV4dElucHV0KSB7XG4gICAgaWYgKChpbnB1dCBhcyBhbnkpLnByb3BzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQgYXMgSW5wdXRFbGVtZW50O1xuICAgICAgdGhpcy5uYW1lID0gaW5wdXQubmFtZTtcbiAgICAgIHRoaXMudHlwZSA9IGlucHV0LnR5cGU7XG4gICAgICB0aGlzLnZhbHVlID0gaW5wdXQudmFsdWU7XG5cbiAgICAgIC8vIFNvbHV0aW9uIDE6IG5vIGNsb25lLCB0aGVuIC5tb2NrLmNhbGxzIG5ldmVyIGVuZHMgd2l0aCBWYWxpZGl0eVN0YXRlIGluc2lkZSBGb3JtV2l0aENvbnN0cmFpbnRzLnRlc3QudHN4IGluIHYwLjhcbiAgICAgIC8vdGhpcy52YWxpZGl0eSA9IGlucHV0LnZhbGlkaXR5O1xuXG4gICAgICAvLyBTb2x1dGlvbiAyOiBKU09OIGRvZXMgbm90IHdvcmsgdG8gY2xvbmUgVmFsaWRpdHlTdGF0ZSAocmVzdWx0cyBpbiBhbiBlbXB0eSBvYmplY3QpXG4gICAgICAvL3RoaXMudmFsaWRpdHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGlucHV0LnZhbGlkaXR5KSk7XG5cbiAgICAgIC8vIFNvbHV0aW9uIDM6IG1hbnVhbGx5IGNsb25lIFZhbGlkaXR5U3RhdGVcbiAgICAgIHRoaXMudmFsaWRpdHkgPSBuZXcgSVZhbGlkaXR5U3RhdGUoaW5wdXQudmFsaWRpdHkgYXMgVmFsaWRpdHlTdGF0ZSk7XG5cbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSBpbnB1dC52YWxpZGF0aW9uTWVzc2FnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXQgPSBpbnB1dCBhcyBUZXh0SW5wdXQ7XG4gICAgICB0aGlzLm5hbWUgPSBpbnB1dC5wcm9wcyEubmFtZTtcbiAgICAgIHRoaXMudHlwZSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB0aGlzLnZhbHVlID0gaW5wdXQucHJvcHMhLnZhbHVlITsgLy8gVGVzdGVkOiBUZXh0SW5wdXQgcHJvcHMudmFsdWUgaXMgYWx3YXlzIGEgc3RyaW5nIGFuZCBuZXZlciB1bmRlZmluZWQgKGVtcHR5IHN0cmluZyBpbnN0ZWFkKVxuICAgICAgdGhpcy52YWxpZGl0eSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2Fubm90IGNsb25lIFZhbGlkaXR5U3RhdGUgdXNpbmcgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbnB1dC52YWxpZGl0eSkpLFxuLy8gcmVzdWx0cyBpbiBhbiBlbXB0eSBvYmplY3QgKHt9KSB1bmRlciBDaHJvbWUgNjYsIEZpcmVmb3ggNjAgYW5kIFNhZmFyaSAxMC4xLjJcbi8vIHNvIGxldCdzIG1hbnVhbGx5IGNsb25lIGl0LlxuZXhwb3J0IGNsYXNzIElWYWxpZGl0eVN0YXRlIGltcGxlbWVudHMgVmFsaWRpdHlTdGF0ZSB7XG4gIHJlYWRvbmx5IGJhZElucHV0OiBib29sZWFuO1xuICByZWFkb25seSBjdXN0b21FcnJvcjogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcGF0dGVybk1pc21hdGNoOiBib29sZWFuO1xuICByZWFkb25seSByYW5nZU92ZXJmbG93OiBib29sZWFuO1xuICByZWFkb25seSByYW5nZVVuZGVyZmxvdzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc3RlcE1pc21hdGNoOiBib29sZWFuO1xuICByZWFkb25seSB0b29Mb25nOiBib29sZWFuO1xuICByZWFkb25seSB0b29TaG9ydDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdHlwZU1pc21hdGNoOiBib29sZWFuO1xuICByZWFkb25seSB2YWxpZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdmFsdWVNaXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHZhbGlkaXR5OiBWYWxpZGl0eVN0YXRlKSB7XG4gICAgdGhpcy5iYWRJbnB1dCA9IHZhbGlkaXR5LmJhZElucHV0O1xuICAgIHRoaXMuY3VzdG9tRXJyb3IgPSB2YWxpZGl0eS5jdXN0b21FcnJvcjtcbiAgICB0aGlzLnBhdHRlcm5NaXNtYXRjaCA9IHZhbGlkaXR5LnBhdHRlcm5NaXNtYXRjaDtcbiAgICB0aGlzLnJhbmdlT3ZlcmZsb3cgPSB2YWxpZGl0eS5yYW5nZU92ZXJmbG93O1xuICAgIHRoaXMucmFuZ2VVbmRlcmZsb3cgPSB2YWxpZGl0eS5yYW5nZVVuZGVyZmxvdztcbiAgICB0aGlzLnN0ZXBNaXNtYXRjaCA9IHZhbGlkaXR5LnN0ZXBNaXNtYXRjaDtcbiAgICB0aGlzLnRvb0xvbmcgPSB2YWxpZGl0eS50b29Mb25nO1xuICAgIHRoaXMudG9vU2hvcnQgPSB2YWxpZGl0eS50b29TaG9ydDtcbiAgICB0aGlzLnR5cGVNaXNtYXRjaCA9IHZhbGlkaXR5LnR5cGVNaXNtYXRjaDtcbiAgICB0aGlzLnZhbGlkID0gdmFsaWRpdHkudmFsaWQ7XG4gICAgdGhpcy52YWx1ZU1pc3NpbmcgPSB2YWxpZGl0eS52YWx1ZU1pc3Npbmc7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5wdXRFbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0lucHV0RWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBO0lBY0Usc0JBQVksS0FBOEY7UUFDeEcsSUFBSyxLQUFhLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN0QyxLQUFLLEdBQUcsS0FBcUIsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQVN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxRQUF5QixDQUFDLENBQUM7WUFFcEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztTQUNsRDthQUFNO1lBQ0wsS0FBSyxHQUFHLEtBQWtCLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBTSxDQUFDLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQWdCLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBTSxDQUFDLEtBQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQWdCLENBQUM7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQWdCLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBeENELElBd0NDO0FBeENZLG9DQUFZO0FBNkN6QjtJQWFFLHdCQUFZLFFBQXVCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQTFCRCxJQTBCQztBQTFCWSx3Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNlZSBSZWFjdCBOYXRpdmUgVGV4dElucHV0IGh0dHBzOi8vZmFjZWJvb2suZ2l0aHViLmlvL3JlYWN0LW5hdGl2ZS9kb2NzL3RleHRpbnB1dC5odG1sXG4vLyBIZXJlIHNvIHdlIGRvbid0IGhhdmUgdG8gXCJpbXBvcnQgeyBUZXh0SW5wdXQgfSBmcm9tICdyZWFjdC1uYXRpdmUnXCIgYW5kIGRlcGVuZCBvbiBSZWFjdCBOYXRpdmVcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dElucHV0IHtcbiAgLy92YWx1ZT86IHN0cmluZzsgLy8gQWx3YXlzIHVuZGVmaW5lZCwgdXNlIGluc3RlYWQgcHJvcHMudmFsdWVcbiAgcHJvcHM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBJbnB1dEVsZW1lbnQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZzsgLy8gTm90IG5lZWRlZCBpbnRlcm5hbGx5LCBjYW4gYmUgdGV4dCwgcmFkaW8uLi5cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcblxuICAvLyB2YWxpZGl0eSBhbmQgdmFsaWRhdGlvbk1lc3NhZ2UgYXZhaWxhYmxlIGZvciAobGliLmRvbS5kLnRzKTpcbiAgLy8gSFRNTEJ1dHRvbkVsZW1lbnQsIEhUTUxGaWVsZFNldEVsZW1lbnQsIEhUTUxJbnB1dEVsZW1lbnQsIEhUTUxPYmplY3RFbGVtZW50LFxuICAvLyBIVE1MT3V0cHV0RWxlbWVudCwgSFRNTFNlbGVjdEVsZW1lbnQsIEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgLy8gVmFsaWRpdHlTdGF0ZSBpcyBzdXBwb3J0ZWQgYnkgSUUgPj0gMTBcbiAgcmVhZG9ubHkgdmFsaWRpdHk6IElWYWxpZGl0eVN0YXRlO1xuICByZWFkb25seSB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nO1xuXG4gIC8vIE5lZWQgdG8gZHVwbGljYXRlIHRoZSBpbnB1dCB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgcmFwaWRseSB0aGUgaW5wdXRcbiAgLy8gb3RoZXJ3aXNlIHdlIHdpbGwgdHJlYXQgb25seSB0aGUgbGFzdCBpbnB1dCB2YWx1ZSBpbnN0ZWFkIG9mIGV2ZXJ5IGlucHV0IHZhbHVlIGNoYW5nZVxuICBjb25zdHJ1Y3RvcihpbnB1dDogLypIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50Ki8gSW5wdXRFbGVtZW50IHwgVGV4dElucHV0KSB7XG4gICAgaWYgKChpbnB1dCBhcyBhbnkpLnByb3BzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQgYXMgSW5wdXRFbGVtZW50O1xuICAgICAgdGhpcy5uYW1lID0gaW5wdXQubmFtZTtcbiAgICAgIHRoaXMudHlwZSA9IGlucHV0LnR5cGU7XG4gICAgICB0aGlzLnZhbHVlID0gaW5wdXQudmFsdWU7XG5cbiAgICAgIC8vIFNvbHV0aW9uIDE6IG5vIGNsb25lLCB0aGVuIC5tb2NrLmNhbGxzIG5ldmVyIGVuZHMgd2l0aCBWYWxpZGl0eVN0YXRlIGluc2lkZSBGb3JtV2l0aENvbnN0cmFpbnRzLnRlc3QudHN4IGluIHYwLjhcbiAgICAgIC8vdGhpcy52YWxpZGl0eSA9IGlucHV0LnZhbGlkaXR5O1xuXG4gICAgICAvLyBTb2x1dGlvbiAyOiBKU09OIGRvZXMgbm90IHdvcmsgdG8gY2xvbmUgVmFsaWRpdHlTdGF0ZSAocmVzdWx0cyBpbiBhbiBlbXB0eSBvYmplY3QpXG4gICAgICAvL3RoaXMudmFsaWRpdHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGlucHV0LnZhbGlkaXR5KSk7XG5cbiAgICAgIC8vIFNvbHV0aW9uIDM6IG1hbnVhbGx5IGNsb25lIFZhbGlkaXR5U3RhdGVcbiAgICAgIHRoaXMudmFsaWRpdHkgPSBuZXcgSVZhbGlkaXR5U3RhdGUoaW5wdXQudmFsaWRpdHkgYXMgVmFsaWRpdHlTdGF0ZSk7XG5cbiAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2UgPSBpbnB1dC52YWxpZGF0aW9uTWVzc2FnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5wdXQgPSBpbnB1dCBhcyBUZXh0SW5wdXQ7XG4gICAgICB0aGlzLm5hbWUgPSBpbnB1dC5wcm9wcyEubmFtZTtcbiAgICAgIHRoaXMudHlwZSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB0aGlzLnZhbHVlID0gaW5wdXQucHJvcHMhLnZhbHVlITsgLy8gVGVzdGVkOiBUZXh0SW5wdXQgcHJvcHMudmFsdWUgaXMgYWx3YXlzIGEgc3RyaW5nIGFuZCBuZXZlciB1bmRlZmluZWQgKGVtcHR5IHN0cmluZyBpbnN0ZWFkKVxuICAgICAgdGhpcy52YWxpZGl0eSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlID0gdW5kZWZpbmVkIGFzIGFueTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ2Fubm90IGNsb25lIFZhbGlkaXR5U3RhdGUgdXNpbmcgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpbnB1dC52YWxpZGl0eSkpLFxuLy8gcmVzdWx0cyBpbiBhbiBlbXB0eSBvYmplY3QgKHt9KSB1bmRlciBDaHJvbWUgNjYsIEZpcmVmb3ggNjAgYW5kIFNhZmFyaSAxMC4xLjJcbi8vIHNvIGxldCdzIG1hbnVhbGx5IGNsb25lIGl0LlxuZXhwb3J0IGNsYXNzIElWYWxpZGl0eVN0YXRlIGltcGxlbWVudHMgVmFsaWRpdHlTdGF0ZSB7XG4gIHJlYWRvbmx5IGJhZElucHV0OiBib29sZWFuO1xuICByZWFkb25seSBjdXN0b21FcnJvcjogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcGF0dGVybk1pc21hdGNoOiBib29sZWFuO1xuICByZWFkb25seSByYW5nZU92ZXJmbG93OiBib29sZWFuO1xuICByZWFkb25seSByYW5nZVVuZGVyZmxvdzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc3RlcE1pc21hdGNoOiBib29sZWFuO1xuICByZWFkb25seSB0b29Mb25nOiBib29sZWFuO1xuICByZWFkb25seSB0b29TaG9ydDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdHlwZU1pc21hdGNoOiBib29sZWFuO1xuICByZWFkb25seSB2YWxpZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdmFsdWVNaXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHZhbGlkaXR5OiBWYWxpZGl0eVN0YXRlKSB7XG4gICAgdGhpcy5iYWRJbnB1dCA9IHZhbGlkaXR5LmJhZElucHV0O1xuICAgIHRoaXMuY3VzdG9tRXJyb3IgPSB2YWxpZGl0eS5jdXN0b21FcnJvcjtcbiAgICB0aGlzLnBhdHRlcm5NaXNtYXRjaCA9IHZhbGlkaXR5LnBhdHRlcm5NaXNtYXRjaDtcbiAgICB0aGlzLnJhbmdlT3ZlcmZsb3cgPSB2YWxpZGl0eS5yYW5nZU92ZXJmbG93O1xuICAgIHRoaXMucmFuZ2VVbmRlcmZsb3cgPSB2YWxpZGl0eS5yYW5nZVVuZGVyZmxvdztcbiAgICB0aGlzLnN0ZXBNaXNtYXRjaCA9IHZhbGlkaXR5LnN0ZXBNaXNtYXRjaDtcbiAgICB0aGlzLnRvb0xvbmcgPSB2YWxpZGl0eS50b29Mb25nO1xuICAgIHRoaXMudG9vU2hvcnQgPSB2YWxpZGl0eS50b29TaG9ydDtcbiAgICB0aGlzLnR5cGVNaXNtYXRjaCA9IHZhbGlkaXR5LnR5cGVNaXNtYXRjaDtcbiAgICB0aGlzLnZhbGlkID0gdmFsaWRpdHkudmFsaWQ7XG4gICAgdGhpcy52YWx1ZU1pc3NpbmcgPSB2YWxpZGl0eS52YWx1ZU1pc3Npbmc7XG4gIH1cbn1cbiJdfQ==
{
"name": "react-form-with-constraints",
"version": "0.10.0-beta.1",
"version": "0.10.0-beta.2",
"repository": {

@@ -60,3 +60,3 @@ "type": "git",

"rollup-plugin-filesize": "latest",
"rollup-plugin-gzip": "^1.4.0",
"rollup-plugin-gzip": "latest",
"rollup-plugin-strip": "latest",

@@ -69,3 +69,3 @@ "rollup-plugin-typescript2": "latest",

},
"gitHead": "04800789b7d84c9acb6f1bf2c0da7a6620ec14be"
"gitHead": "3b9e2ec58e3a9a4c2e4be47ea1a0209ba1f36eba"
}

@@ -41,3 +41,3 @@ # react-form-with-constraints

- Unobtrusive: easy to adapt regular [React code](https://reactjs.org/docs/forms.html)
- Control HTML5 error messages: `<FieldFeedback when="valueMissing">My custom error message</FieldFeedback>`
- HTML5 error messages personalization: `<FieldFeedback when="valueMissing">My custom error message</FieldFeedback>`
- Custom constraints: `<FieldFeedback when={value => ...}>`

@@ -49,5 +49,5 @@ - Warnings and infos: `<FieldFeedback ... warning>`, `<FieldFeedback ... info>`

- Easily extendable
- Support for [React Native](examples/ReactNative) with npm package `react-form-with-constraints-native`
- [Bootstrap 4](examples/Bootstrap4) styling with npm package `react-form-with-constraints-bootstrap4`
- [Material-UI](examples/MaterialUI) integration with npm package `react-form-with-constraints-material-ui`
- Support for [React Native](examples/ReactNative) with npm package `react-form-with-constraints-native`
- ...

@@ -111,3 +111,3 @@

react-form-with-constraints [works similarly](packages/react-form-with-constraints/src/FieldsStore.ts).
It uses [React context](https://github.com/reactjs/reactjs.org/blob/d59c4f9116138e419812e44b0fdb56644c498d3e/content/docs/context.md) to share the [`FieldsStore`](packages/react-form-with-constraints/src/FieldsStore.ts) object across [`FieldFeedbacks`](packages/react-form-with-constraints/src/FieldFeedbacks.tsx) and [`FieldFeedback`](packages/react-form-with-constraints/src/FieldFeedback.tsx).
It uses [React context](https://reactjs.org/docs/legacy-context.html) to share the [`FieldsStore`](packages/react-form-with-constraints/src/FieldsStore.ts) object across [`FieldFeedbacks`](packages/react-form-with-constraints/src/FieldFeedbacks.tsx) and [`FieldFeedback`](packages/react-form-with-constraints/src/FieldFeedback.tsx).

@@ -168,3 +168,3 @@ ## API

// or simply this.form.isValid();
// or simply use this.form.isValid()
const formIsValid = fields.every(field => field.isValid());

@@ -243,3 +243,3 @@

- [`Async<T>`](packages/react-form-with-constraints/src/Async.tsx) => Async version of `FieldFeedback`, similar API as [react-promise](https://github.com/capaj/react-promise)
- [`Async<T>`](packages/react-form-with-constraints/src/Async.tsx) => Async version of `FieldFeedback` (similar API as [react-promise](https://github.com/capaj/react-promise))
- `promise: (value: string) => Promise<T>` => a promise you want to wait for

@@ -256,7 +256,11 @@ - `pending?: React.ReactNode` => runs when promise is pending

- `validateFieldsWithoutFeedback(...inputsOrNames: Array<Input | string>): Promise<Field[]>` =>
Validates only all non-dirty fields (won't re-validate fields that have been already validated with `validateFields()`),
If you want to force re-validate all fields, use `validateFields()`.
- `validateForm(): Promise<Field[]>` =>
Should be called before to submit the `form`. Validates only all non-dirty fields (won't re-validate fields that have been already validated with `validateFields(...)`),
If you want to force re-validate all fields, use `validateFields()` without arguments.
Other name for `validateFieldsWithoutFeedback()`, typically called before to submit the `form`.
Might be removed in the future?
- `isValid(): boolean` => should be called after `validateForm()` or `validateFields()`, tells if the fields are valid
- `isValid(): boolean` => should be called after `validateFields()`, `validateFieldsWithoutFeedback()` or `validateForm()`, tells if the fields are valid

@@ -292,4 +296,7 @@ - `hasFeedbacks(): boolean` => tells if the fields have any kind of feedback

You can use HTML5 attributes like `type="email"`, `required`, `pattern`..., in this case a [recent browser](http://caniuse.com/#feat=forms) is needed,...
react-form-with-constraints needs [`ValidityState`](https://developer.mozilla.org/en-US/docs/Web/API/ValidityState) which is supported by all modern browsers and IE >= 10.
It also needs a polyfill such as [core-js](https://github.com/zloirock/core-js) or [@babel/polyfill](https://babeljs.io/docs/usage/polyfill/) to support IE <= 11, see [React JavaScript Environment Requirements](https://reactjs.org/docs/javascript-environment-requirements.html).
You can use HTML5 attributes like `type="email"`, `required`, [`minlength`](https://caniuse.com/#feat=input-minlength)...
```JSX

@@ -305,3 +312,3 @@ <label htmlFor="username">Username</label>

...or ignore them and rely on `when` functions:
...and/or rely on `when` functions:

@@ -320,7 +327,5 @@ ```JSX

react-form-with-constraints needs a polyfill such as [core-js](https://github.com/zloirock/core-js) or [babel-polyfill](https://babeljs.io/docs/usage/polyfill/) to support IE 11 and lower. See also [React JavaScript Environment Requirements](https://reactjs.org/docs/javascript-environment-requirements.html).
## Notes
- A [`readonly`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly) or `disabled` input won't trigger any HTML5 form constraint like [`required`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-required).
- A [`type="hidden"`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/hidden#Validation), [`readonly`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly) or [`disabled`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-disabled) input won't trigger any HTML5 form constraint validation like [`required`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-required), see https://codepen.io/tkrotoff/pen/gdjVNv
- With `<input type="number">` it's better to use `onInput` instead of `onChange`, see https://github.com/facebook/react/issues/11142

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc