@danderson00/react-forms 0.0.15 → 0.0.16
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/ErrorMessage.js +1 -1
- package/dist/fields.js +1 -1
- package/dist/index.js +2 -1
- package/dist/input.js +29 -1
- package/package.json +2 -2
- package/src/input.js +21 -2
package/dist/ErrorMessage.js
CHANGED
package/dist/fields.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.Text = exports.RadioButton = exports.Radio = exports.Checkbox = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
package/dist/index.js
CHANGED
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.Form = void 0;
|
|
6
7
|
Object.defineProperty(exports, "FormProvider", {
|
|
7
8
|
enumerable: true,
|
|
8
9
|
get: function get() {
|
|
9
10
|
return _Form["default"];
|
|
10
11
|
}
|
|
11
12
|
});
|
|
12
|
-
exports.
|
|
13
|
+
exports.wrapSubmit = exports.wrapInput = exports.useFormValues = exports.createRawConsumer = exports.context = exports.Textarea = exports.Submit = exports.Select = exports.Input = void 0;
|
|
13
14
|
|
|
14
15
|
var _react = require("react");
|
|
15
16
|
|
package/dist/input.js
CHANGED
|
@@ -15,7 +15,7 @@ var _inputTypes = _interopRequireDefault(require("./inputTypes"));
|
|
|
15
15
|
|
|
16
16
|
var _throttle2 = _interopRequireDefault(require("./throttle"));
|
|
17
17
|
|
|
18
|
-
var _excluded = ["type", "name", "value", "checked", "defaultValue", "numeric", "onSubmit", "registerFieldValidator", "setFieldValue", "getFieldValue", "getFieldValues", "submitOnChange", "submitOnBlur", "throttle"];
|
|
18
|
+
var _excluded = ["type", "name", "value", "checked", "defaultValue", "numeric", "onSubmit", "registerFieldValidator", "setFieldValue", "getFieldValue", "getFieldValues", "submitOnChange", "submitOnBlur", "selectOnFocus", "throttle"];
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
21
|
|
|
@@ -170,6 +170,32 @@ var _default = function _default(render) {
|
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
172
|
|
|
173
|
+
var onFocus = function onFocus() {
|
|
174
|
+
var selectOnFocus = props.selectOnFocus,
|
|
175
|
+
onFocus = props.onFocus;
|
|
176
|
+
|
|
177
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
178
|
+
args[_key3] = arguments[_key3];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
var event = args[0];
|
|
182
|
+
var element = event.target;
|
|
183
|
+
|
|
184
|
+
var selectText = function selectText() {
|
|
185
|
+
element.selectionStart = 0;
|
|
186
|
+
element.selectionEnd = element.value.length;
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
if (selectOnFocus) {
|
|
190
|
+
selectText();
|
|
191
|
+
setTimeout(selectText);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (onFocus) {
|
|
195
|
+
onFocus.apply(element, args);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
|
|
173
199
|
var updateValidationState = function updateValidationState() {
|
|
174
200
|
setFieldValidated(true); // this is a little hacky, but the simplest way I could think of to determine the
|
|
175
201
|
// validity of the actual input element. :invalid is also not supported by enzyme
|
|
@@ -198,6 +224,7 @@ var _default = function _default(render) {
|
|
|
198
224
|
getFieldValues = props.getFieldValues,
|
|
199
225
|
submitOnChange = props.submitOnChange,
|
|
200
226
|
submitOnBlur = props.submitOnBlur,
|
|
227
|
+
selectOnFocus = props.selectOnFocus,
|
|
201
228
|
_throttle = props.throttle,
|
|
202
229
|
passThroughProps = _objectWithoutProperties(props, _excluded);
|
|
203
230
|
|
|
@@ -218,6 +245,7 @@ var _default = function _default(render) {
|
|
|
218
245
|
className: className
|
|
219
246
|
}, passThroughProps), valueProps), typeProps), errorProps), {}, {
|
|
220
247
|
onChange: onChange,
|
|
248
|
+
onFocus: onFocus,
|
|
221
249
|
onBlur: onBlur
|
|
222
250
|
});
|
|
223
251
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danderson00/react-forms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"description": "Ultra simple, stateless, validated forms for use in React function components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"\\.css$": "<rootDir>/test/setup/styleMock.js"
|
|
33
33
|
},
|
|
34
34
|
"setupFilesAfterEnv": [
|
|
35
|
-
"<rootDir>test/setup/
|
|
35
|
+
"<rootDir>test/setup/enzyme.js"
|
|
36
36
|
]
|
|
37
37
|
},
|
|
38
38
|
"babel": {
|
package/src/input.js
CHANGED
|
@@ -91,6 +91,25 @@ export default (render, options = {}) => function Input(props) {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
const onFocus = (...args) => {
|
|
95
|
+
const { selectOnFocus, onFocus } = props
|
|
96
|
+
const [event] = args
|
|
97
|
+
const element = event.target
|
|
98
|
+
|
|
99
|
+
const selectText = () => {
|
|
100
|
+
element.selectionStart = 0
|
|
101
|
+
element.selectionEnd = element.value.length
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if(selectOnFocus) {
|
|
105
|
+
selectText()
|
|
106
|
+
setTimeout(selectText)
|
|
107
|
+
}
|
|
108
|
+
if(onFocus) {
|
|
109
|
+
onFocus.apply(element, args)
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
94
113
|
const updateValidationState = () => {
|
|
95
114
|
setFieldValidated(true)
|
|
96
115
|
// this is a little hacky, but the simplest way I could think of to determine the
|
|
@@ -105,7 +124,7 @@ export default (render, options = {}) => function Input(props) {
|
|
|
105
124
|
const {
|
|
106
125
|
type, name, value, checked, defaultValue, numeric,
|
|
107
126
|
onSubmit, registerFieldValidator, setFieldValue, getFieldValue, getFieldValues,
|
|
108
|
-
submitOnChange, submitOnBlur, throttle,
|
|
127
|
+
submitOnChange, submitOnBlur, selectOnFocus, throttle,
|
|
109
128
|
...passThroughProps
|
|
110
129
|
} = props
|
|
111
130
|
const valueProps = getValueProps({ currentValue: getFieldValue(name) })
|
|
@@ -116,7 +135,7 @@ export default (render, options = {}) => function Input(props) {
|
|
|
116
135
|
const finalProps = {
|
|
117
136
|
id, name, className,
|
|
118
137
|
...passThroughProps, ...valueProps, ...typeProps, ...errorProps,
|
|
119
|
-
onChange, onBlur
|
|
138
|
+
onChange, onFocus, onBlur
|
|
120
139
|
}
|
|
121
140
|
|
|
122
141
|
return render(finalProps)
|