react-form-package
Version:
A declarative form component with inbuilt validation and state management
56 lines (49 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.initialState = void 0;
var _checkFormInput = require("../checkFormInput");
var initialState = function initialState(props, data) {
var text = props.type === 'text' || props.type === 'textarea';
var password = props.type === 'password';
var number = props.type === 'number';
var date = props.type === 'date';
var value = props.type === 'checkbox' ? props.checked || false : props.value || '';
var checked = props.type === 'checkbox' ? props.checked || false : undefined;
var max;
var min;
if (text || password) {
max = props.max && parseInt(props.max, 10);
min = props.min && parseInt(props.min, 10);
} else if (number) {
max = props.max && parseInt(props.max, 10);
min = props.min && parseInt(props.min, 10);
} else if (date) {
max = props.max; // eslint-disable-line
min = props.min; // eslint-disable-line
}
var rules = {
type: props.type,
min: min,
max: max,
required: props.required || false,
match: props.match,
sameAs: props.sameAs,
validate: props.validate
};
var valid = (0, _checkFormInput.checkFormInput)(rules, value, data);
return {
initialValue: value,
dirty: false,
pristine: true,
visited: false,
touched: false,
checked: checked,
value: value,
valid: valid,
invalid: !valid,
rules: rules
};
};
exports.initialState = initialState;