UNPKG

3.68 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports["default"] = void 0;
7
8var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var processProps = function processProps(type, props, _value, deepEqual) {
13 var value = props.value;
14
15 if (type === 'checkbox') {
16 return (0, _extends2["default"])({}, props, {
17 checked: !!value
18 });
19 }
20
21 if (type === 'radio') {
22 return (0, _extends2["default"])({}, props, {
23 checked: deepEqual(value, _value),
24 value: _value
25 });
26 }
27
28 if (type === 'select-multiple') {
29 return (0, _extends2["default"])({}, props, {
30 value: value || []
31 });
32 }
33
34 if (type === 'file') {
35 return (0, _extends2["default"])({}, props, {
36 value: value || undefined
37 });
38 }
39
40 return props;
41};
42
43var createFieldProps = function createFieldProps(_ref2, name, _ref) {
44 var getIn = _ref2.getIn,
45 toJS = _ref2.toJS,
46 deepEqual = _ref2.deepEqual;
47 var asyncError = _ref.asyncError,
48 asyncValidating = _ref.asyncValidating,
49 onBlur = _ref.onBlur,
50 onChange = _ref.onChange,
51 onDrop = _ref.onDrop,
52 onDragStart = _ref.onDragStart,
53 dirty = _ref.dirty,
54 dispatch = _ref.dispatch,
55 onFocus = _ref.onFocus,
56 form = _ref.form,
57 format = _ref.format,
58 initial = _ref.initial,
59 parse = _ref.parse,
60 pristine = _ref.pristine,
61 props = _ref.props,
62 state = _ref.state,
63 submitError = _ref.submitError,
64 submitFailed = _ref.submitFailed,
65 submitting = _ref.submitting,
66 syncError = _ref.syncError,
67 syncWarning = _ref.syncWarning,
68 validate = _ref.validate,
69 value = _ref.value,
70 _value = _ref._value,
71 warn = _ref.warn,
72 custom = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["asyncError", "asyncValidating", "onBlur", "onChange", "onDrop", "onDragStart", "dirty", "dispatch", "onFocus", "form", "format", "initial", "parse", "pristine", "props", "state", "submitError", "submitFailed", "submitting", "syncError", "syncWarning", "validate", "value", "_value", "warn"]);
73 var error = syncError || asyncError || submitError;
74 var warning = syncWarning;
75
76 var formatFieldValue = function formatFieldValue(value, format) {
77 if (format === null) {
78 return value;
79 }
80
81 var defaultFormattedValue = value == null ? '' : value;
82 return format ? format(value, name) : defaultFormattedValue;
83 };
84
85 var formattedFieldValue = formatFieldValue(value, format);
86 return {
87 input: processProps(custom.type, {
88 name: name,
89 onBlur: onBlur,
90 onChange: onChange,
91 onDragStart: onDragStart,
92 onDrop: onDrop,
93 onFocus: onFocus,
94 value: formattedFieldValue
95 }, _value, deepEqual),
96 meta: (0, _extends2["default"])({}, toJS(state), {
97 active: !!(state && getIn(state, 'active')),
98 asyncValidating: asyncValidating,
99 autofilled: !!(state && getIn(state, 'autofilled')),
100 dirty: dirty,
101 dispatch: dispatch,
102 error: error,
103 form: form,
104 initial: initial,
105 warning: warning,
106 invalid: !!error,
107 pristine: pristine,
108 submitting: !!submitting,
109 submitFailed: !!submitFailed,
110 touched: !!(state && getIn(state, 'touched')),
111 valid: !error,
112 visited: !!(state && getIn(state, 'visited'))
113 }),
114 custom: (0, _extends2["default"])({}, custom, {}, props)
115 };
116};
117
118var _default = createFieldProps;
119exports["default"] = _default;
\No newline at end of file