@danderson00/react-forms 0.0.50 → 0.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Form.js +1 -6
- package/dist/Form.js.map +1 -1
- package/dist/fields.js +55 -0
- package/dist/submit.js +1 -0
- package/dist/submit.js.map +1 -1
- package/package.json +1 -1
- package/src/Form.js +2 -8
- package/src/submit.js +1 -0
package/dist/Form.js
CHANGED
|
@@ -52,12 +52,7 @@ var Form = function Form(ContextProvider) {
|
|
|
52
52
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
53
53
|
valid = _useState6[0],
|
|
54
54
|
setValid = _useState6[1];
|
|
55
|
-
var form =
|
|
56
|
-
(0, _react.useEffect)(function () {
|
|
57
|
-
if (form.current) {
|
|
58
|
-
setValid(form.current.checkValidity());
|
|
59
|
-
}
|
|
60
|
-
}, [form.current]);
|
|
55
|
+
var form = (0, _react.useRef)();
|
|
61
56
|
var getFieldValue = (0, _react.useCallback)(function (path) {
|
|
62
57
|
return (0, _objectPathImmutable.get)(fieldValues, path);
|
|
63
58
|
}, [fieldValues]);
|
package/dist/Form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","names":["_react","require","_objectPathImmutable","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","n","l","u","f","next","done","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","Form","ContextProvider","additionalContext","undefined","ErrorMessage","_ref","resetOnSubmit","row","gap","values","props","_useState","useState","_useState2","fieldValues","setFieldValues","_useReducer","useReducer","validators","validator","concat","_useReducer2","fieldValidators","registerFieldValidator","_useState3","_useState4","error","setError","_useState5","_useState6","valid","setValid","form","createRef","useEffect","current","checkValidity","getFieldValue","useCallback","path","get","getFieldValues","mapFieldValues","target","reduce","set","setFieldValue","previousValues","onSubmit","_ref2","additionalValues","validate","setFieldValidated","interactiveElements","querySelectorAll","setFormDisabled","disabled","x","reset","checkResultForError","result","success","message","then","preventDefault","stopPropagation","classNames","className","mergedAdditionalContext","property","createElement","join","noValidate","ref","style","children","key","type","visibility","position","_default","exports"],"sources":["../src/Form.js"],"sourcesContent":["import { createElement, createRef, useCallback, useEffect, useReducer, useState } from 'react'\nimport { get, set } from 'object-path-immutable'\n\nconst Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (\n ({ resetOnSubmit, row, gap, values, ...props }) => {\n const [fieldValues, setFieldValues] = useState(values || {})\n const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])\n const [error, setError] = useState()\n const [valid, setValid] = useState()\n const form = createRef()\n\n useEffect(() => {\n if(form.current) {\n setValid(form.current.checkValidity())\n }\n }, [form.current])\n\n const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])\n const getFieldValues = useCallback(() => fieldValues, [fieldValues])\n const mapFieldValues = target => Object.keys(target).reduce(\n (values, name) => set(values, name, target[name]),\n {}\n )\n\n const setFieldValue = (path, value) => {\n setFieldValues(previousValues => set(previousValues, path, value))\n if(form.current) {\n setValid(form.current.checkValidity())\n }\n }\n\n const onSubmit = useCallback((e, { additionalValues, validate } = {}) => {\n if(validate !== false) {\n fieldValidators.forEach(setFieldValidated => setFieldValidated(undefined, fieldValues))\n }\n\n if((validate === false || form.current.checkValidity()) && props.onSubmit) {\n setError(undefined)\n\n const interactiveElements = form.current.querySelectorAll('input,button,textarea,select')\n const setFormDisabled = disabled => interactiveElements.forEach(x => x.disabled = disabled)\n\n const reset = () => {\n if(resetOnSubmit) {\n setFieldValues(values || {})\n }\n }\n\n try {\n const checkResultForError = result => {\n if(result && (result.success === false || result.error)) {\n setError(result.error || result.message || 'Form submission failed')\n } else {\n reset()\n }\n return result\n }\n\n const result = props.onSubmit(mapFieldValues({ ...fieldValues, ...additionalValues }))\n if(result && typeof result.then === 'function') {\n setFormDisabled(true)\n result\n .then(checkResultForError)\n .catch(setError)\n .finally(() => setFormDisabled(false))\n } else {\n reset()\n }\n } catch(error) {\n setError(error)\n }\n }\n\n e && e.preventDefault && e.preventDefault()\n e && e.stopPropagation && e.stopPropagation()\n }, [props.onSubmit, fieldValues])\n\n const classNames = ['react-forms', props.className]\n if(row) {\n classNames.push('react-forms-row')\n }\n\n const mergedAdditionalContext = Object.keys(additionalContext).reduce(\n (result, property) => ({ ...result, [property]: props[property] || additionalContext[property] }),\n {}\n )\n\n return (\n createElement('form', {\n ...props,\n className: classNames.join(' '),\n noValidate: true,\n onSubmit: onSubmit,\n ref: form,\n ...(gap && { style: { gap } }),\n children: [\n createElement(ContextProvider, {\n ...props,\n key: 'context',\n value: {\n registerFieldValidator,\n setFieldValue,\n getFieldValue,\n getFieldValues,\n onSubmit,\n valid,\n ...mergedAdditionalContext\n }\n }),\n error && createElement(ErrorMessage, { key: 'error', error }),\n createElement('input', {\n key: 'submit',\n type: 'submit',\n style: {\n visibility: 'hidden',\n position: 'absolute'\n }\n }),\n ]\n })\n )\n }\n)\nexport default Form"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Form.js","names":["_react","require","_objectPathImmutable","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","n","l","u","f","next","done","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","Form","ContextProvider","additionalContext","undefined","ErrorMessage","_ref","resetOnSubmit","row","gap","values","props","_useState","useState","_useState2","fieldValues","setFieldValues","_useReducer","useReducer","validators","validator","concat","_useReducer2","fieldValidators","registerFieldValidator","_useState3","_useState4","error","setError","_useState5","_useState6","valid","setValid","form","useRef","getFieldValue","useCallback","path","get","getFieldValues","mapFieldValues","target","reduce","set","setFieldValue","previousValues","current","checkValidity","onSubmit","_ref2","additionalValues","validate","setFieldValidated","interactiveElements","querySelectorAll","setFormDisabled","disabled","x","reset","checkResultForError","result","success","message","then","preventDefault","stopPropagation","classNames","className","mergedAdditionalContext","property","createElement","join","noValidate","ref","style","children","key","type","visibility","position","_default","exports"],"sources":["../src/Form.js"],"sourcesContent":["import { createElement, useCallback, useReducer, useRef, useState } from 'react'\nimport { get, set } from 'object-path-immutable'\n\nconst Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (\n ({ resetOnSubmit, row, gap, values, ...props }) => {\n const [fieldValues, setFieldValues] = useState(values || {})\n const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])\n const [error, setError] = useState()\n const [valid, setValid] = useState()\n const form = useRef()\n\n const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])\n const getFieldValues = useCallback(() => fieldValues, [fieldValues])\n const mapFieldValues = target => Object.keys(target).reduce(\n (values, name) => set(values, name, target[name]),\n {}\n )\n\n const setFieldValue = (path, value) => {\n setFieldValues(previousValues => set(previousValues, path, value))\n if(form.current) {\n setValid(form.current.checkValidity())\n }\n }\n\n const onSubmit = useCallback((e, { additionalValues, validate } = {}) => {\n if(validate !== false) {\n fieldValidators.forEach(setFieldValidated => setFieldValidated(undefined, fieldValues))\n }\n\n if((validate === false || form.current.checkValidity()) && props.onSubmit) {\n setError(undefined)\n\n const interactiveElements = form.current.querySelectorAll('input,button,textarea,select')\n const setFormDisabled = disabled => interactiveElements.forEach(x => x.disabled = disabled)\n\n const reset = () => {\n if(resetOnSubmit) {\n setFieldValues(values || {})\n }\n }\n\n try {\n const checkResultForError = result => {\n if(result && (result.success === false || result.error)) {\n setError(result.error || result.message || 'Form submission failed')\n } else {\n reset()\n }\n return result\n }\n\n const result = props.onSubmit(mapFieldValues({ ...fieldValues, ...additionalValues }))\n if(result && typeof result.then === 'function') {\n setFormDisabled(true)\n result\n .then(checkResultForError)\n .catch(setError)\n .finally(() => setFormDisabled(false))\n } else {\n reset()\n }\n } catch(error) {\n setError(error)\n }\n }\n\n e && e.preventDefault && e.preventDefault()\n e && e.stopPropagation && e.stopPropagation()\n }, [props.onSubmit, fieldValues])\n\n const classNames = ['react-forms', props.className]\n if(row) {\n classNames.push('react-forms-row')\n }\n\n const mergedAdditionalContext = Object.keys(additionalContext).reduce(\n (result, property) => ({ ...result, [property]: props[property] || additionalContext[property] }),\n {}\n )\n\n return (\n createElement('form', {\n ...props,\n className: classNames.join(' '),\n noValidate: true,\n onSubmit: onSubmit,\n ref: form,\n ...(gap && { style: { gap } }),\n children: [\n createElement(ContextProvider, {\n ...props,\n key: 'context',\n value: {\n registerFieldValidator,\n setFieldValue,\n getFieldValue,\n getFieldValues,\n onSubmit,\n valid,\n ...mergedAdditionalContext\n }\n }),\n error && createElement(ErrorMessage, { key: 'error', error }),\n createElement('input', {\n key: 'submit',\n type: 'submit',\n style: {\n visibility: 'hidden',\n position: 'absolute'\n }\n }),\n ]\n })\n )\n }\n)\nexport default Form"],"mappings":"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","ignoreList":[]}
|
package/dist/fields.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Text = exports.RadioButton = exports.Radio = exports.Checkbox = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _index = require("./index");
|
|
9
|
+
var _excluded = ["label", "className"],
|
|
10
|
+
_excluded2 = ["values", "labels"];
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
14
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
15
|
+
var base = function base(type, render) {
|
|
16
|
+
return function (_ref) {
|
|
17
|
+
var label = _ref.label,
|
|
18
|
+
className = _ref.className,
|
|
19
|
+
inputProps = _objectWithoutProperties(_ref, _excluded);
|
|
20
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
21
|
+
className: "".concat(type, " ").concat(className)
|
|
22
|
+
}, /*#__PURE__*/_react["default"].createElement("label", null, label), render(inputProps));
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
var Text = exports.Text = base('Text', function (props) {
|
|
26
|
+
return props.multiline ? /*#__PURE__*/_react["default"].createElement(_index.Textarea, props) : /*#__PURE__*/_react["default"].createElement(_index.Input, props);
|
|
27
|
+
});
|
|
28
|
+
var Checkbox = exports.Checkbox = base('Checkbox', function (props) {
|
|
29
|
+
return /*#__PURE__*/_react["default"].createElement(_index.Input, _extends({}, props, {
|
|
30
|
+
type: "checkbox"
|
|
31
|
+
}));
|
|
32
|
+
});
|
|
33
|
+
var RadioButton = exports.RadioButton = base('RadioButton', function (props) {
|
|
34
|
+
return /*#__PURE__*/_react["default"].createElement(_index.Input, _extends({}, props, {
|
|
35
|
+
type: "radio"
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
38
|
+
var Radio = exports.Radio = base('Radio', function (_ref2) {
|
|
39
|
+
var values = _ref2.values,
|
|
40
|
+
labels = _ref2.labels,
|
|
41
|
+
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
42
|
+
return values.map(function (value, index) {
|
|
43
|
+
return /*#__PURE__*/_react["default"].createElement(RadioButton, _extends({}, props, {
|
|
44
|
+
value: value,
|
|
45
|
+
label: labels && labels[index] || value
|
|
46
|
+
}));
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//
|
|
50
|
+
// export const Select = base('Select', ({ values, labels, ...props }) =>
|
|
51
|
+
// <Select {...props}>
|
|
52
|
+
// {values.map((value, index) => <option value={value}>{(labels && labels[index]) || value}</option>)}
|
|
53
|
+
// </Select>
|
|
54
|
+
// )
|
|
55
|
+
//
|
package/dist/submit.js
CHANGED
package/dist/submit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","names":["_react","_interopRequireWildcard","require","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_default","exports","render","Submit","props","onSubmit","Error","registerFieldValidator","setFieldValue","getFieldValue","getFieldValues","valid","validate","disableInvalid","values","propsToPass","_useState","useState","_useState2","executing","setExecuting","onClick","result","additionalValues","finalProps","disabled"],"sources":["../src/submit.js"],"sourcesContent":["import React, { useState } from 'react'\n\nexport default render => function Submit(props) {\n if(!props.onSubmit) throw new Error('Button components must be contained within a Form component')\n\n const {\n onSubmit, registerFieldValidator, setFieldValue, getFieldValue, getFieldValues,\n valid, validate, disableInvalid, values, ...propsToPass\n } = props\n\n // TODO: set executing when form is triggered by enter key\n const [executing, setExecuting] = useState(false)\n\n const onClick = e => {\n const result = onSubmit(e, { validate, additionalValues: values })\n if(result && result.finally && typeof result.finally === 'function') {\n setExecuting(true)\n result.finally(() => setExecuting(false))\n }\n }\n\n const finalProps = {\n ...propsToPass,\n onClick,\n disabled: props.disabled || executing || (disableInvalid && !valid)\n }\n\n return render(finalProps)\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"submit.js","names":["_react","_interopRequireWildcard","require","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_default","exports","render","Submit","props","onSubmit","Error","registerFieldValidator","setFieldValue","getFieldValue","getFieldValues","valid","validate","disableInvalid","values","propsToPass","_useState","useState","_useState2","executing","setExecuting","onClick","result","additionalValues","finalProps","disabled"],"sources":["../src/submit.js"],"sourcesContent":["import React, { useState } from 'react'\n\nexport default render => function Submit(props) {\n if(!props.onSubmit) throw new Error('Button components must be contained within a Form component')\n\n const {\n onSubmit, registerFieldValidator, setFieldValue, getFieldValue, getFieldValues,\n valid, validate, disableInvalid, values, ...propsToPass\n } = props\n\n // TODO: set executing when form is triggered by enter key\n const [executing, setExecuting] = useState(false)\n\n const onClick = e => {\n const result = onSubmit(e, { validate, additionalValues: values })\n if(result && result.finally && typeof result.finally === 'function') {\n setExecuting(true)\n result.finally(() => setExecuting(false))\n }\n return result\n }\n\n const finalProps = {\n ...propsToPass,\n onClick,\n disabled: props.disabled || executing || (disableInvalid && !valid)\n }\n\n return render(finalProps)\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Form.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement,
|
|
1
|
+
import { createElement, useCallback, useReducer, useRef, useState } from 'react'
|
|
2
2
|
import { get, set } from 'object-path-immutable'
|
|
3
3
|
|
|
4
4
|
const Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (
|
|
@@ -7,13 +7,7 @@ const Form = (ContextProvider, additionalContext = {}, ErrorMessage) => (
|
|
|
7
7
|
const [fieldValidators, registerFieldValidator] = useReducer((validators, validator) => [...validators, validator], [])
|
|
8
8
|
const [error, setError] = useState()
|
|
9
9
|
const [valid, setValid] = useState()
|
|
10
|
-
const form =
|
|
11
|
-
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
if(form.current) {
|
|
14
|
-
setValid(form.current.checkValidity())
|
|
15
|
-
}
|
|
16
|
-
}, [form.current])
|
|
10
|
+
const form = useRef()
|
|
17
11
|
|
|
18
12
|
const getFieldValue = useCallback(path => get(fieldValues, path), [fieldValues])
|
|
19
13
|
const getFieldValues = useCallback(() => fieldValues, [fieldValues])
|