remix-validated-form 4.2.0 → 4.4.0
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/.turbo/turbo-build.log +15 -9
- package/README.md +1 -0
- package/browser/ValidatedForm.js +16 -26
- package/browser/hooks.d.ts +2 -0
- package/browser/hooks.js +20 -9
- package/browser/internal/MultiValueMap.d.ts +2 -0
- package/browser/internal/MultiValueMap.js +4 -0
- package/browser/internal/getInputProps.js +2 -1
- package/browser/internal/hooks.d.ts +20 -9
- package/browser/internal/hooks.js +32 -23
- package/browser/internal/logic/getRadioChecked.js +10 -0
- package/browser/internal/reset.d.ts +28 -0
- package/browser/internal/reset.js +13 -0
- package/browser/internal/state/cleanup.d.ts +2 -0
- package/browser/internal/state/cleanup.js +6 -0
- package/browser/internal/state/controlledFieldStore.d.ts +24 -0
- package/browser/internal/state/controlledFieldStore.js +57 -0
- package/browser/internal/state/controlledFields.d.ts +6 -62
- package/browser/internal/state/controlledFields.js +36 -63
- package/browser/internal/state/createFormStore.d.ts +40 -0
- package/browser/internal/state/createFormStore.js +83 -0
- package/browser/internal/state/storeFamily.d.ts +9 -0
- package/browser/internal/state/storeFamily.js +18 -0
- package/browser/internal/state/storeHooks.d.ts +5 -0
- package/browser/internal/state/storeHooks.js +10 -0
- package/browser/internal/state.d.ts +0 -27
- package/browser/internal/state.js +0 -5
- package/browser/unreleased/formStateHooks.d.ts +15 -0
- package/browser/unreleased/formStateHooks.js +23 -14
- package/browser/userFacingFormContext.d.ts +8 -0
- package/browser/userFacingFormContext.js +5 -4
- package/dist/remix-validated-form.cjs.js +17 -0
- package/dist/remix-validated-form.es.js +2844 -0
- package/dist/remix-validated-form.umd.js +17 -0
- package/{build → dist/types}/ValidatedForm.d.ts +0 -0
- package/{build → dist/types}/hooks.d.ts +2 -0
- package/{build → dist/types}/index.d.ts +0 -0
- package/{build → dist/types}/internal/MultiValueMap.d.ts +2 -0
- package/{build → dist/types}/internal/constants.d.ts +0 -0
- package/{build → dist/types}/internal/flatten.d.ts +0 -0
- package/{build → dist/types}/internal/formContext.d.ts +0 -0
- package/{build → dist/types}/internal/getInputProps.d.ts +0 -0
- package/dist/types/internal/hooks.d.ts +32 -0
- package/{build → dist/types}/internal/hydratable.d.ts +0 -0
- package/{build → dist/types}/internal/logic/getCheckboxChecked.d.ts +0 -0
- package/{build → dist/types}/internal/logic/getRadioChecked.d.ts +0 -0
- package/dist/types/internal/state/cleanup.d.ts +2 -0
- package/dist/types/internal/state/controlledFieldStore.d.ts +24 -0
- package/dist/types/internal/state/controlledFields.d.ts +6 -0
- package/dist/types/internal/state/createFormStore.d.ts +40 -0
- package/dist/types/internal/state/storeFamily.d.ts +9 -0
- package/dist/types/internal/state/storeHooks.d.ts +5 -0
- package/{build → dist/types}/internal/submissionCallbacks.d.ts +0 -0
- package/{build → dist/types}/internal/util.d.ts +0 -0
- package/{build → dist/types}/server.d.ts +0 -0
- package/{build → dist/types}/unreleased/formStateHooks.d.ts +15 -0
- package/{build → dist/types}/userFacingFormContext.d.ts +8 -0
- package/{build → dist/types}/validation/createValidator.d.ts +0 -0
- package/{build → dist/types}/validation/types.d.ts +0 -0
- package/package.json +11 -9
- package/src/ValidatedForm.tsx +25 -43
- package/src/hooks.ts +29 -17
- package/src/internal/MultiValueMap.ts +6 -0
- package/src/internal/getInputProps.test.ts +251 -0
- package/src/internal/getInputProps.ts +2 -1
- package/src/internal/hooks.ts +69 -45
- package/src/internal/logic/getRadioChecked.ts +11 -0
- package/src/internal/state/cleanup.ts +8 -0
- package/src/internal/state/controlledFieldStore.ts +91 -0
- package/src/internal/state/controlledFields.ts +78 -0
- package/src/internal/state/createFormStore.ts +152 -0
- package/src/internal/state/storeFamily.ts +24 -0
- package/src/internal/state/storeHooks.ts +22 -0
- package/src/unreleased/formStateHooks.ts +50 -27
- package/src/userFacingFormContext.ts +17 -5
- package/src/validation/validation.test.ts +304 -0
- package/tsconfig.json +4 -1
- package/vite.config.ts +7 -0
- package/.turbo/turbo-test.log +0 -11
- package/browser/components.d.ts +0 -7
- package/browser/components.js +0 -10
- package/browser/internal/SingleTypeMultiValueMap.d.ts +0 -9
- package/browser/internal/SingleTypeMultiValueMap.js +0 -41
- package/browser/internal/customState.d.ts +0 -105
- package/browser/internal/customState.js +0 -46
- package/browser/internal/hooks-valtio.d.ts +0 -18
- package/browser/internal/hooks-valtio.js +0 -110
- package/browser/internal/hooks-zustand.d.ts +0 -16
- package/browser/internal/hooks-zustand.js +0 -100
- package/browser/internal/immerMiddleware.d.ts +0 -6
- package/browser/internal/immerMiddleware.js +0 -7
- package/browser/internal/logic/elementUtils.d.ts +0 -3
- package/browser/internal/logic/elementUtils.js +0 -3
- package/browser/internal/logic/getCheckboxChecked copy.d.ts +0 -1
- package/browser/internal/logic/getCheckboxChecked copy.js +0 -9
- package/browser/internal/logic/setFieldValue.d.ts +0 -1
- package/browser/internal/logic/setFieldValue.js +0 -40
- package/browser/internal/logic/setInputValueInForm.d.ts +0 -1
- package/browser/internal/logic/setInputValueInForm.js +0 -77
- package/browser/internal/setFieldValue.d.ts +0 -20
- package/browser/internal/setFieldValue.js +0 -83
- package/browser/internal/setFormValues.d.ts +0 -2
- package/browser/internal/setFormValues.js +0 -26
- package/browser/internal/state/setFieldValue.d.ts +0 -0
- package/browser/internal/state/setFieldValue.js +0 -1
- package/browser/internal/state-valtio.d.ts +0 -62
- package/browser/internal/state-valtio.js +0 -69
- package/browser/internal/state-zustand.d.ts +0 -47
- package/browser/internal/state-zustand.js +0 -85
- package/browser/internal/test.d.ts +0 -0
- package/browser/internal/test.js +0 -15
- package/browser/internal/useMultiValueMap.d.ts +0 -1
- package/browser/internal/useMultiValueMap.js +0 -11
- package/browser/internal/watch.d.ts +0 -18
- package/browser/internal/watch.js +0 -122
- package/browser/lowLevelHooks.d.ts +0 -0
- package/browser/lowLevelHooks.js +0 -1
- package/browser/test-data/testFormData.d.ts +0 -15
- package/browser/test-data/testFormData.js +0 -46
- package/browser/types.d.ts +0 -1
- package/browser/types.js +0 -1
- package/browser/validation/validation.test.d.ts +0 -1
- package/browser/validation/validation.test.js +0 -274
- package/browser/validation/withYup.d.ts +0 -6
- package/browser/validation/withYup.js +0 -40
- package/browser/validation/withZod.d.ts +0 -6
- package/browser/validation/withZod.js +0 -50
- package/build/ValidatedForm.js +0 -257
- package/build/hooks.js +0 -79
- package/build/index.js +0 -18
- package/build/internal/MultiValueMap.js +0 -44
- package/build/internal/SingleTypeMultiValueMap.d.ts +0 -8
- package/build/internal/SingleTypeMultiValueMap.js +0 -45
- package/build/internal/constants.js +0 -7
- package/build/internal/flatten.js +0 -14
- package/build/internal/formContext.js +0 -5
- package/build/internal/getInputProps.js +0 -57
- package/build/internal/hooks-valtio.d.ts +0 -18
- package/build/internal/hooks-valtio.js +0 -128
- package/build/internal/hooks-zustand.d.ts +0 -16
- package/build/internal/hooks-zustand.js +0 -117
- package/build/internal/hooks.d.ts +0 -21
- package/build/internal/hooks.js +0 -128
- package/build/internal/hydratable.js +0 -17
- package/build/internal/immerMiddleware.d.ts +0 -6
- package/build/internal/immerMiddleware.js +0 -14
- package/build/internal/logic/elementUtils.d.ts +0 -3
- package/build/internal/logic/elementUtils.js +0 -9
- package/build/internal/logic/getCheckboxChecked.js +0 -13
- package/build/internal/logic/getRadioChecked.js +0 -9
- package/build/internal/logic/setFieldValue.d.ts +0 -1
- package/build/internal/logic/setFieldValue.js +0 -47
- package/build/internal/logic/setInputValueInForm.d.ts +0 -1
- package/build/internal/logic/setInputValueInForm.js +0 -84
- package/build/internal/setFormValues.d.ts +0 -2
- package/build/internal/setFormValues.js +0 -33
- package/build/internal/state/atomUtils.d.ts +0 -38
- package/build/internal/state/atomUtils.js +0 -13
- package/build/internal/state/controlledFields.d.ts +0 -62
- package/build/internal/state/controlledFields.js +0 -85
- package/build/internal/state-valtio.d.ts +0 -62
- package/build/internal/state-valtio.js +0 -83
- package/build/internal/state-zustand.d.ts +0 -47
- package/build/internal/state-zustand.js +0 -91
- package/build/internal/state.d.ts +0 -370
- package/build/internal/state.js +0 -76
- package/build/internal/submissionCallbacks.js +0 -17
- package/build/internal/test.d.ts +0 -1
- package/build/internal/test.js +0 -12
- package/build/internal/util.js +0 -41
- package/build/internal/watch.d.ts +0 -20
- package/build/internal/watch.js +0 -126
- package/build/server.js +0 -32
- package/build/types.d.ts +0 -1
- package/build/types.js +0 -2
- package/build/unreleased/formStateHooks.js +0 -59
- package/build/userFacingFormContext.js +0 -30
- package/build/validation/createValidator.js +0 -45
- package/build/validation/types.js +0 -2
- package/src/internal/state/atomUtils.ts +0 -13
- package/src/internal/state.ts +0 -132
@@ -0,0 +1,2844 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __defProps = Object.defineProperties;
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
8
|
+
var __spreadValues = (a2, b2) => {
|
9
|
+
for (var prop in b2 || (b2 = {}))
|
10
|
+
if (__hasOwnProp.call(b2, prop))
|
11
|
+
__defNormalProp(a2, prop, b2[prop]);
|
12
|
+
if (__getOwnPropSymbols)
|
13
|
+
for (var prop of __getOwnPropSymbols(b2)) {
|
14
|
+
if (__propIsEnum.call(b2, prop))
|
15
|
+
__defNormalProp(a2, prop, b2[prop]);
|
16
|
+
}
|
17
|
+
return a2;
|
18
|
+
};
|
19
|
+
var __spreadProps = (a2, b2) => __defProps(a2, __getOwnPropDescs(b2));
|
20
|
+
var __objRest = (source, exclude) => {
|
21
|
+
var target = {};
|
22
|
+
for (var prop in source)
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
24
|
+
target[prop] = source[prop];
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
28
|
+
target[prop] = source[prop];
|
29
|
+
}
|
30
|
+
return target;
|
31
|
+
};
|
32
|
+
import React, { createContext, useDebugValue, useContext, useCallback, useEffect, useMemo, useRef, useLayoutEffect, useState } from "react";
|
33
|
+
import { useActionData, useMatches, useTransition, Form, useSubmit } from "@remix-run/react";
|
34
|
+
import { json } from "@remix-run/server-runtime";
|
35
|
+
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
36
|
+
function listCacheClear$1() {
|
37
|
+
this.__data__ = [];
|
38
|
+
this.size = 0;
|
39
|
+
}
|
40
|
+
var _listCacheClear = listCacheClear$1;
|
41
|
+
function eq$3(value, other) {
|
42
|
+
return value === other || value !== value && other !== other;
|
43
|
+
}
|
44
|
+
var eq_1 = eq$3;
|
45
|
+
var eq$2 = eq_1;
|
46
|
+
function assocIndexOf$4(array, key) {
|
47
|
+
var length = array.length;
|
48
|
+
while (length--) {
|
49
|
+
if (eq$2(array[length][0], key)) {
|
50
|
+
return length;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
return -1;
|
54
|
+
}
|
55
|
+
var _assocIndexOf = assocIndexOf$4;
|
56
|
+
var assocIndexOf$3 = _assocIndexOf;
|
57
|
+
var arrayProto = Array.prototype;
|
58
|
+
var splice = arrayProto.splice;
|
59
|
+
function listCacheDelete$1(key) {
|
60
|
+
var data = this.__data__, index = assocIndexOf$3(data, key);
|
61
|
+
if (index < 0) {
|
62
|
+
return false;
|
63
|
+
}
|
64
|
+
var lastIndex = data.length - 1;
|
65
|
+
if (index == lastIndex) {
|
66
|
+
data.pop();
|
67
|
+
} else {
|
68
|
+
splice.call(data, index, 1);
|
69
|
+
}
|
70
|
+
--this.size;
|
71
|
+
return true;
|
72
|
+
}
|
73
|
+
var _listCacheDelete = listCacheDelete$1;
|
74
|
+
var assocIndexOf$2 = _assocIndexOf;
|
75
|
+
function listCacheGet$1(key) {
|
76
|
+
var data = this.__data__, index = assocIndexOf$2(data, key);
|
77
|
+
return index < 0 ? void 0 : data[index][1];
|
78
|
+
}
|
79
|
+
var _listCacheGet = listCacheGet$1;
|
80
|
+
var assocIndexOf$1 = _assocIndexOf;
|
81
|
+
function listCacheHas$1(key) {
|
82
|
+
return assocIndexOf$1(this.__data__, key) > -1;
|
83
|
+
}
|
84
|
+
var _listCacheHas = listCacheHas$1;
|
85
|
+
var assocIndexOf = _assocIndexOf;
|
86
|
+
function listCacheSet$1(key, value) {
|
87
|
+
var data = this.__data__, index = assocIndexOf(data, key);
|
88
|
+
if (index < 0) {
|
89
|
+
++this.size;
|
90
|
+
data.push([key, value]);
|
91
|
+
} else {
|
92
|
+
data[index][1] = value;
|
93
|
+
}
|
94
|
+
return this;
|
95
|
+
}
|
96
|
+
var _listCacheSet = listCacheSet$1;
|
97
|
+
var listCacheClear = _listCacheClear, listCacheDelete = _listCacheDelete, listCacheGet = _listCacheGet, listCacheHas = _listCacheHas, listCacheSet = _listCacheSet;
|
98
|
+
function ListCache$4(entries) {
|
99
|
+
var index = -1, length = entries == null ? 0 : entries.length;
|
100
|
+
this.clear();
|
101
|
+
while (++index < length) {
|
102
|
+
var entry = entries[index];
|
103
|
+
this.set(entry[0], entry[1]);
|
104
|
+
}
|
105
|
+
}
|
106
|
+
ListCache$4.prototype.clear = listCacheClear;
|
107
|
+
ListCache$4.prototype["delete"] = listCacheDelete;
|
108
|
+
ListCache$4.prototype.get = listCacheGet;
|
109
|
+
ListCache$4.prototype.has = listCacheHas;
|
110
|
+
ListCache$4.prototype.set = listCacheSet;
|
111
|
+
var _ListCache = ListCache$4;
|
112
|
+
var ListCache$3 = _ListCache;
|
113
|
+
function stackClear$1() {
|
114
|
+
this.__data__ = new ListCache$3();
|
115
|
+
this.size = 0;
|
116
|
+
}
|
117
|
+
var _stackClear = stackClear$1;
|
118
|
+
function stackDelete$1(key) {
|
119
|
+
var data = this.__data__, result = data["delete"](key);
|
120
|
+
this.size = data.size;
|
121
|
+
return result;
|
122
|
+
}
|
123
|
+
var _stackDelete = stackDelete$1;
|
124
|
+
function stackGet$1(key) {
|
125
|
+
return this.__data__.get(key);
|
126
|
+
}
|
127
|
+
var _stackGet = stackGet$1;
|
128
|
+
function stackHas$1(key) {
|
129
|
+
return this.__data__.has(key);
|
130
|
+
}
|
131
|
+
var _stackHas = stackHas$1;
|
132
|
+
var freeGlobal$1 = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
133
|
+
var _freeGlobal = freeGlobal$1;
|
134
|
+
var freeGlobal = _freeGlobal;
|
135
|
+
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
136
|
+
var root$8 = freeGlobal || freeSelf || Function("return this")();
|
137
|
+
var _root = root$8;
|
138
|
+
var root$7 = _root;
|
139
|
+
var Symbol$5 = root$7.Symbol;
|
140
|
+
var _Symbol = Symbol$5;
|
141
|
+
var Symbol$4 = _Symbol;
|
142
|
+
var objectProto$d = Object.prototype;
|
143
|
+
var hasOwnProperty$a = objectProto$d.hasOwnProperty;
|
144
|
+
var nativeObjectToString$1 = objectProto$d.toString;
|
145
|
+
var symToStringTag$1 = Symbol$4 ? Symbol$4.toStringTag : void 0;
|
146
|
+
function getRawTag$1(value) {
|
147
|
+
var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), tag = value[symToStringTag$1];
|
148
|
+
try {
|
149
|
+
value[symToStringTag$1] = void 0;
|
150
|
+
var unmasked = true;
|
151
|
+
} catch (e2) {
|
152
|
+
}
|
153
|
+
var result = nativeObjectToString$1.call(value);
|
154
|
+
if (unmasked) {
|
155
|
+
if (isOwn) {
|
156
|
+
value[symToStringTag$1] = tag;
|
157
|
+
} else {
|
158
|
+
delete value[symToStringTag$1];
|
159
|
+
}
|
160
|
+
}
|
161
|
+
return result;
|
162
|
+
}
|
163
|
+
var _getRawTag = getRawTag$1;
|
164
|
+
var objectProto$c = Object.prototype;
|
165
|
+
var nativeObjectToString = objectProto$c.toString;
|
166
|
+
function objectToString$1(value) {
|
167
|
+
return nativeObjectToString.call(value);
|
168
|
+
}
|
169
|
+
var _objectToString = objectToString$1;
|
170
|
+
var Symbol$3 = _Symbol, getRawTag = _getRawTag, objectToString = _objectToString;
|
171
|
+
var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
|
172
|
+
var symToStringTag = Symbol$3 ? Symbol$3.toStringTag : void 0;
|
173
|
+
function baseGetTag$5(value) {
|
174
|
+
if (value == null) {
|
175
|
+
return value === void 0 ? undefinedTag : nullTag;
|
176
|
+
}
|
177
|
+
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
|
178
|
+
}
|
179
|
+
var _baseGetTag = baseGetTag$5;
|
180
|
+
function isObject$5(value) {
|
181
|
+
var type = typeof value;
|
182
|
+
return value != null && (type == "object" || type == "function");
|
183
|
+
}
|
184
|
+
var isObject_1 = isObject$5;
|
185
|
+
var baseGetTag$4 = _baseGetTag, isObject$4 = isObject_1;
|
186
|
+
var asyncTag = "[object AsyncFunction]", funcTag$1 = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
|
187
|
+
function isFunction$2(value) {
|
188
|
+
if (!isObject$4(value)) {
|
189
|
+
return false;
|
190
|
+
}
|
191
|
+
var tag = baseGetTag$4(value);
|
192
|
+
return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
|
193
|
+
}
|
194
|
+
var isFunction_1 = isFunction$2;
|
195
|
+
var root$6 = _root;
|
196
|
+
var coreJsData$1 = root$6["__core-js_shared__"];
|
197
|
+
var _coreJsData = coreJsData$1;
|
198
|
+
var coreJsData = _coreJsData;
|
199
|
+
var maskSrcKey = function() {
|
200
|
+
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
|
201
|
+
return uid ? "Symbol(src)_1." + uid : "";
|
202
|
+
}();
|
203
|
+
function isMasked$1(func) {
|
204
|
+
return !!maskSrcKey && maskSrcKey in func;
|
205
|
+
}
|
206
|
+
var _isMasked = isMasked$1;
|
207
|
+
var funcProto$1 = Function.prototype;
|
208
|
+
var funcToString$1 = funcProto$1.toString;
|
209
|
+
function toSource$2(func) {
|
210
|
+
if (func != null) {
|
211
|
+
try {
|
212
|
+
return funcToString$1.call(func);
|
213
|
+
} catch (e2) {
|
214
|
+
}
|
215
|
+
try {
|
216
|
+
return func + "";
|
217
|
+
} catch (e2) {
|
218
|
+
}
|
219
|
+
}
|
220
|
+
return "";
|
221
|
+
}
|
222
|
+
var _toSource = toSource$2;
|
223
|
+
var isFunction$1 = isFunction_1, isMasked = _isMasked, isObject$3 = isObject_1, toSource$1 = _toSource;
|
224
|
+
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
225
|
+
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
226
|
+
var funcProto = Function.prototype, objectProto$b = Object.prototype;
|
227
|
+
var funcToString = funcProto.toString;
|
228
|
+
var hasOwnProperty$9 = objectProto$b.hasOwnProperty;
|
229
|
+
var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty$9).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
|
230
|
+
function baseIsNative$1(value) {
|
231
|
+
if (!isObject$3(value) || isMasked(value)) {
|
232
|
+
return false;
|
233
|
+
}
|
234
|
+
var pattern = isFunction$1(value) ? reIsNative : reIsHostCtor;
|
235
|
+
return pattern.test(toSource$1(value));
|
236
|
+
}
|
237
|
+
var _baseIsNative = baseIsNative$1;
|
238
|
+
function getValue$1(object, key) {
|
239
|
+
return object == null ? void 0 : object[key];
|
240
|
+
}
|
241
|
+
var _getValue = getValue$1;
|
242
|
+
var baseIsNative = _baseIsNative, getValue = _getValue;
|
243
|
+
function getNative$7(object, key) {
|
244
|
+
var value = getValue(object, key);
|
245
|
+
return baseIsNative(value) ? value : void 0;
|
246
|
+
}
|
247
|
+
var _getNative = getNative$7;
|
248
|
+
var getNative$6 = _getNative, root$5 = _root;
|
249
|
+
var Map$4 = getNative$6(root$5, "Map");
|
250
|
+
var _Map = Map$4;
|
251
|
+
var getNative$5 = _getNative;
|
252
|
+
var nativeCreate$4 = getNative$5(Object, "create");
|
253
|
+
var _nativeCreate = nativeCreate$4;
|
254
|
+
var nativeCreate$3 = _nativeCreate;
|
255
|
+
function hashClear$1() {
|
256
|
+
this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
|
257
|
+
this.size = 0;
|
258
|
+
}
|
259
|
+
var _hashClear = hashClear$1;
|
260
|
+
function hashDelete$1(key) {
|
261
|
+
var result = this.has(key) && delete this.__data__[key];
|
262
|
+
this.size -= result ? 1 : 0;
|
263
|
+
return result;
|
264
|
+
}
|
265
|
+
var _hashDelete = hashDelete$1;
|
266
|
+
var nativeCreate$2 = _nativeCreate;
|
267
|
+
var HASH_UNDEFINED$2 = "__lodash_hash_undefined__";
|
268
|
+
var objectProto$a = Object.prototype;
|
269
|
+
var hasOwnProperty$8 = objectProto$a.hasOwnProperty;
|
270
|
+
function hashGet$1(key) {
|
271
|
+
var data = this.__data__;
|
272
|
+
if (nativeCreate$2) {
|
273
|
+
var result = data[key];
|
274
|
+
return result === HASH_UNDEFINED$2 ? void 0 : result;
|
275
|
+
}
|
276
|
+
return hasOwnProperty$8.call(data, key) ? data[key] : void 0;
|
277
|
+
}
|
278
|
+
var _hashGet = hashGet$1;
|
279
|
+
var nativeCreate$1 = _nativeCreate;
|
280
|
+
var objectProto$9 = Object.prototype;
|
281
|
+
var hasOwnProperty$7 = objectProto$9.hasOwnProperty;
|
282
|
+
function hashHas$1(key) {
|
283
|
+
var data = this.__data__;
|
284
|
+
return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$7.call(data, key);
|
285
|
+
}
|
286
|
+
var _hashHas = hashHas$1;
|
287
|
+
var nativeCreate = _nativeCreate;
|
288
|
+
var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
|
289
|
+
function hashSet$1(key, value) {
|
290
|
+
var data = this.__data__;
|
291
|
+
this.size += this.has(key) ? 0 : 1;
|
292
|
+
data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED$1 : value;
|
293
|
+
return this;
|
294
|
+
}
|
295
|
+
var _hashSet = hashSet$1;
|
296
|
+
var hashClear = _hashClear, hashDelete = _hashDelete, hashGet = _hashGet, hashHas = _hashHas, hashSet = _hashSet;
|
297
|
+
function Hash$1(entries) {
|
298
|
+
var index = -1, length = entries == null ? 0 : entries.length;
|
299
|
+
this.clear();
|
300
|
+
while (++index < length) {
|
301
|
+
var entry = entries[index];
|
302
|
+
this.set(entry[0], entry[1]);
|
303
|
+
}
|
304
|
+
}
|
305
|
+
Hash$1.prototype.clear = hashClear;
|
306
|
+
Hash$1.prototype["delete"] = hashDelete;
|
307
|
+
Hash$1.prototype.get = hashGet;
|
308
|
+
Hash$1.prototype.has = hashHas;
|
309
|
+
Hash$1.prototype.set = hashSet;
|
310
|
+
var _Hash = Hash$1;
|
311
|
+
var Hash = _Hash, ListCache$2 = _ListCache, Map$3 = _Map;
|
312
|
+
function mapCacheClear$1() {
|
313
|
+
this.size = 0;
|
314
|
+
this.__data__ = {
|
315
|
+
"hash": new Hash(),
|
316
|
+
"map": new (Map$3 || ListCache$2)(),
|
317
|
+
"string": new Hash()
|
318
|
+
};
|
319
|
+
}
|
320
|
+
var _mapCacheClear = mapCacheClear$1;
|
321
|
+
function isKeyable$1(value) {
|
322
|
+
var type = typeof value;
|
323
|
+
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
|
324
|
+
}
|
325
|
+
var _isKeyable = isKeyable$1;
|
326
|
+
var isKeyable = _isKeyable;
|
327
|
+
function getMapData$4(map, key) {
|
328
|
+
var data = map.__data__;
|
329
|
+
return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
|
330
|
+
}
|
331
|
+
var _getMapData = getMapData$4;
|
332
|
+
var getMapData$3 = _getMapData;
|
333
|
+
function mapCacheDelete$1(key) {
|
334
|
+
var result = getMapData$3(this, key)["delete"](key);
|
335
|
+
this.size -= result ? 1 : 0;
|
336
|
+
return result;
|
337
|
+
}
|
338
|
+
var _mapCacheDelete = mapCacheDelete$1;
|
339
|
+
var getMapData$2 = _getMapData;
|
340
|
+
function mapCacheGet$1(key) {
|
341
|
+
return getMapData$2(this, key).get(key);
|
342
|
+
}
|
343
|
+
var _mapCacheGet = mapCacheGet$1;
|
344
|
+
var getMapData$1 = _getMapData;
|
345
|
+
function mapCacheHas$1(key) {
|
346
|
+
return getMapData$1(this, key).has(key);
|
347
|
+
}
|
348
|
+
var _mapCacheHas = mapCacheHas$1;
|
349
|
+
var getMapData = _getMapData;
|
350
|
+
function mapCacheSet$1(key, value) {
|
351
|
+
var data = getMapData(this, key), size = data.size;
|
352
|
+
data.set(key, value);
|
353
|
+
this.size += data.size == size ? 0 : 1;
|
354
|
+
return this;
|
355
|
+
}
|
356
|
+
var _mapCacheSet = mapCacheSet$1;
|
357
|
+
var mapCacheClear = _mapCacheClear, mapCacheDelete = _mapCacheDelete, mapCacheGet = _mapCacheGet, mapCacheHas = _mapCacheHas, mapCacheSet = _mapCacheSet;
|
358
|
+
function MapCache$3(entries) {
|
359
|
+
var index = -1, length = entries == null ? 0 : entries.length;
|
360
|
+
this.clear();
|
361
|
+
while (++index < length) {
|
362
|
+
var entry = entries[index];
|
363
|
+
this.set(entry[0], entry[1]);
|
364
|
+
}
|
365
|
+
}
|
366
|
+
MapCache$3.prototype.clear = mapCacheClear;
|
367
|
+
MapCache$3.prototype["delete"] = mapCacheDelete;
|
368
|
+
MapCache$3.prototype.get = mapCacheGet;
|
369
|
+
MapCache$3.prototype.has = mapCacheHas;
|
370
|
+
MapCache$3.prototype.set = mapCacheSet;
|
371
|
+
var _MapCache = MapCache$3;
|
372
|
+
var ListCache$1 = _ListCache, Map$2 = _Map, MapCache$2 = _MapCache;
|
373
|
+
var LARGE_ARRAY_SIZE$1 = 200;
|
374
|
+
function stackSet$1(key, value) {
|
375
|
+
var data = this.__data__;
|
376
|
+
if (data instanceof ListCache$1) {
|
377
|
+
var pairs = data.__data__;
|
378
|
+
if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE$1 - 1) {
|
379
|
+
pairs.push([key, value]);
|
380
|
+
this.size = ++data.size;
|
381
|
+
return this;
|
382
|
+
}
|
383
|
+
data = this.__data__ = new MapCache$2(pairs);
|
384
|
+
}
|
385
|
+
data.set(key, value);
|
386
|
+
this.size = data.size;
|
387
|
+
return this;
|
388
|
+
}
|
389
|
+
var _stackSet = stackSet$1;
|
390
|
+
var ListCache = _ListCache, stackClear = _stackClear, stackDelete = _stackDelete, stackGet = _stackGet, stackHas = _stackHas, stackSet = _stackSet;
|
391
|
+
function Stack$2(entries) {
|
392
|
+
var data = this.__data__ = new ListCache(entries);
|
393
|
+
this.size = data.size;
|
394
|
+
}
|
395
|
+
Stack$2.prototype.clear = stackClear;
|
396
|
+
Stack$2.prototype["delete"] = stackDelete;
|
397
|
+
Stack$2.prototype.get = stackGet;
|
398
|
+
Stack$2.prototype.has = stackHas;
|
399
|
+
Stack$2.prototype.set = stackSet;
|
400
|
+
var _Stack = Stack$2;
|
401
|
+
var HASH_UNDEFINED = "__lodash_hash_undefined__";
|
402
|
+
function setCacheAdd$1(value) {
|
403
|
+
this.__data__.set(value, HASH_UNDEFINED);
|
404
|
+
return this;
|
405
|
+
}
|
406
|
+
var _setCacheAdd = setCacheAdd$1;
|
407
|
+
function setCacheHas$1(value) {
|
408
|
+
return this.__data__.has(value);
|
409
|
+
}
|
410
|
+
var _setCacheHas = setCacheHas$1;
|
411
|
+
var MapCache$1 = _MapCache, setCacheAdd = _setCacheAdd, setCacheHas = _setCacheHas;
|
412
|
+
function SetCache$2(values) {
|
413
|
+
var index = -1, length = values == null ? 0 : values.length;
|
414
|
+
this.__data__ = new MapCache$1();
|
415
|
+
while (++index < length) {
|
416
|
+
this.add(values[index]);
|
417
|
+
}
|
418
|
+
}
|
419
|
+
SetCache$2.prototype.add = SetCache$2.prototype.push = setCacheAdd;
|
420
|
+
SetCache$2.prototype.has = setCacheHas;
|
421
|
+
var _SetCache = SetCache$2;
|
422
|
+
function arraySome$1(array, predicate) {
|
423
|
+
var index = -1, length = array == null ? 0 : array.length;
|
424
|
+
while (++index < length) {
|
425
|
+
if (predicate(array[index], index, array)) {
|
426
|
+
return true;
|
427
|
+
}
|
428
|
+
}
|
429
|
+
return false;
|
430
|
+
}
|
431
|
+
var _arraySome = arraySome$1;
|
432
|
+
function cacheHas$2(cache, key) {
|
433
|
+
return cache.has(key);
|
434
|
+
}
|
435
|
+
var _cacheHas = cacheHas$2;
|
436
|
+
var SetCache$1 = _SetCache, arraySome = _arraySome, cacheHas$1 = _cacheHas;
|
437
|
+
var COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2;
|
438
|
+
function equalArrays$2(array, other, bitmask, customizer, equalFunc, stack) {
|
439
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length;
|
440
|
+
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
441
|
+
return false;
|
442
|
+
}
|
443
|
+
var arrStacked = stack.get(array);
|
444
|
+
var othStacked = stack.get(other);
|
445
|
+
if (arrStacked && othStacked) {
|
446
|
+
return arrStacked == other && othStacked == array;
|
447
|
+
}
|
448
|
+
var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache$1() : void 0;
|
449
|
+
stack.set(array, other);
|
450
|
+
stack.set(other, array);
|
451
|
+
while (++index < arrLength) {
|
452
|
+
var arrValue = array[index], othValue = other[index];
|
453
|
+
if (customizer) {
|
454
|
+
var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
|
455
|
+
}
|
456
|
+
if (compared !== void 0) {
|
457
|
+
if (compared) {
|
458
|
+
continue;
|
459
|
+
}
|
460
|
+
result = false;
|
461
|
+
break;
|
462
|
+
}
|
463
|
+
if (seen) {
|
464
|
+
if (!arraySome(other, function(othValue2, othIndex) {
|
465
|
+
if (!cacheHas$1(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
|
466
|
+
return seen.push(othIndex);
|
467
|
+
}
|
468
|
+
})) {
|
469
|
+
result = false;
|
470
|
+
break;
|
471
|
+
}
|
472
|
+
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
473
|
+
result = false;
|
474
|
+
break;
|
475
|
+
}
|
476
|
+
}
|
477
|
+
stack["delete"](array);
|
478
|
+
stack["delete"](other);
|
479
|
+
return result;
|
480
|
+
}
|
481
|
+
var _equalArrays = equalArrays$2;
|
482
|
+
var root$4 = _root;
|
483
|
+
var Uint8Array$1 = root$4.Uint8Array;
|
484
|
+
var _Uint8Array = Uint8Array$1;
|
485
|
+
function mapToArray$1(map) {
|
486
|
+
var index = -1, result = Array(map.size);
|
487
|
+
map.forEach(function(value, key) {
|
488
|
+
result[++index] = [key, value];
|
489
|
+
});
|
490
|
+
return result;
|
491
|
+
}
|
492
|
+
var _mapToArray = mapToArray$1;
|
493
|
+
function setToArray$3(set2) {
|
494
|
+
var index = -1, result = Array(set2.size);
|
495
|
+
set2.forEach(function(value) {
|
496
|
+
result[++index] = value;
|
497
|
+
});
|
498
|
+
return result;
|
499
|
+
}
|
500
|
+
var _setToArray = setToArray$3;
|
501
|
+
var Symbol$2 = _Symbol, Uint8Array2 = _Uint8Array, eq$1 = eq_1, equalArrays$1 = _equalArrays, mapToArray = _mapToArray, setToArray$2 = _setToArray;
|
502
|
+
var COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2;
|
503
|
+
var boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]";
|
504
|
+
var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]";
|
505
|
+
var symbolProto$1 = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : void 0;
|
506
|
+
function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
507
|
+
switch (tag) {
|
508
|
+
case dataViewTag$2:
|
509
|
+
if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
|
510
|
+
return false;
|
511
|
+
}
|
512
|
+
object = object.buffer;
|
513
|
+
other = other.buffer;
|
514
|
+
case arrayBufferTag$1:
|
515
|
+
if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
|
516
|
+
return false;
|
517
|
+
}
|
518
|
+
return true;
|
519
|
+
case boolTag$1:
|
520
|
+
case dateTag$1:
|
521
|
+
case numberTag$1:
|
522
|
+
return eq$1(+object, +other);
|
523
|
+
case errorTag$1:
|
524
|
+
return object.name == other.name && object.message == other.message;
|
525
|
+
case regexpTag$1:
|
526
|
+
case stringTag$1:
|
527
|
+
return object == other + "";
|
528
|
+
case mapTag$2:
|
529
|
+
var convert = mapToArray;
|
530
|
+
case setTag$2:
|
531
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;
|
532
|
+
convert || (convert = setToArray$2);
|
533
|
+
if (object.size != other.size && !isPartial) {
|
534
|
+
return false;
|
535
|
+
}
|
536
|
+
var stacked = stack.get(object);
|
537
|
+
if (stacked) {
|
538
|
+
return stacked == other;
|
539
|
+
}
|
540
|
+
bitmask |= COMPARE_UNORDERED_FLAG$2;
|
541
|
+
stack.set(object, other);
|
542
|
+
var result = equalArrays$1(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
|
543
|
+
stack["delete"](object);
|
544
|
+
return result;
|
545
|
+
case symbolTag$1:
|
546
|
+
if (symbolValueOf) {
|
547
|
+
return symbolValueOf.call(object) == symbolValueOf.call(other);
|
548
|
+
}
|
549
|
+
}
|
550
|
+
return false;
|
551
|
+
}
|
552
|
+
var _equalByTag = equalByTag$1;
|
553
|
+
function arrayPush$2(array, values) {
|
554
|
+
var index = -1, length = values.length, offset = array.length;
|
555
|
+
while (++index < length) {
|
556
|
+
array[offset + index] = values[index];
|
557
|
+
}
|
558
|
+
return array;
|
559
|
+
}
|
560
|
+
var _arrayPush = arrayPush$2;
|
561
|
+
var isArray$8 = Array.isArray;
|
562
|
+
var isArray_1 = isArray$8;
|
563
|
+
var arrayPush$1 = _arrayPush, isArray$7 = isArray_1;
|
564
|
+
function baseGetAllKeys$2(object, keysFunc, symbolsFunc) {
|
565
|
+
var result = keysFunc(object);
|
566
|
+
return isArray$7(object) ? result : arrayPush$1(result, symbolsFunc(object));
|
567
|
+
}
|
568
|
+
var _baseGetAllKeys = baseGetAllKeys$2;
|
569
|
+
function arrayFilter$1(array, predicate) {
|
570
|
+
var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
|
571
|
+
while (++index < length) {
|
572
|
+
var value = array[index];
|
573
|
+
if (predicate(value, index, array)) {
|
574
|
+
result[resIndex++] = value;
|
575
|
+
}
|
576
|
+
}
|
577
|
+
return result;
|
578
|
+
}
|
579
|
+
var _arrayFilter = arrayFilter$1;
|
580
|
+
function stubArray$2() {
|
581
|
+
return [];
|
582
|
+
}
|
583
|
+
var stubArray_1 = stubArray$2;
|
584
|
+
var arrayFilter = _arrayFilter, stubArray$1 = stubArray_1;
|
585
|
+
var objectProto$8 = Object.prototype;
|
586
|
+
var propertyIsEnumerable$1 = objectProto$8.propertyIsEnumerable;
|
587
|
+
var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
|
588
|
+
var getSymbols$2 = !nativeGetSymbols$1 ? stubArray$1 : function(object) {
|
589
|
+
if (object == null) {
|
590
|
+
return [];
|
591
|
+
}
|
592
|
+
object = Object(object);
|
593
|
+
return arrayFilter(nativeGetSymbols$1(object), function(symbol) {
|
594
|
+
return propertyIsEnumerable$1.call(object, symbol);
|
595
|
+
});
|
596
|
+
};
|
597
|
+
var _getSymbols = getSymbols$2;
|
598
|
+
function baseTimes$1(n2, iteratee) {
|
599
|
+
var index = -1, result = Array(n2);
|
600
|
+
while (++index < n2) {
|
601
|
+
result[index] = iteratee(index);
|
602
|
+
}
|
603
|
+
return result;
|
604
|
+
}
|
605
|
+
var _baseTimes = baseTimes$1;
|
606
|
+
function isObjectLike$5(value) {
|
607
|
+
return value != null && typeof value == "object";
|
608
|
+
}
|
609
|
+
var isObjectLike_1 = isObjectLike$5;
|
610
|
+
var baseGetTag$3 = _baseGetTag, isObjectLike$4 = isObjectLike_1;
|
611
|
+
var argsTag$2 = "[object Arguments]";
|
612
|
+
function baseIsArguments$1(value) {
|
613
|
+
return isObjectLike$4(value) && baseGetTag$3(value) == argsTag$2;
|
614
|
+
}
|
615
|
+
var _baseIsArguments = baseIsArguments$1;
|
616
|
+
var baseIsArguments = _baseIsArguments, isObjectLike$3 = isObjectLike_1;
|
617
|
+
var objectProto$7 = Object.prototype;
|
618
|
+
var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
|
619
|
+
var propertyIsEnumerable = objectProto$7.propertyIsEnumerable;
|
620
|
+
var isArguments$2 = baseIsArguments(function() {
|
621
|
+
return arguments;
|
622
|
+
}()) ? baseIsArguments : function(value) {
|
623
|
+
return isObjectLike$3(value) && hasOwnProperty$6.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
|
624
|
+
};
|
625
|
+
var isArguments_1 = isArguments$2;
|
626
|
+
var isBuffer$2 = { exports: {} };
|
627
|
+
function stubFalse() {
|
628
|
+
return false;
|
629
|
+
}
|
630
|
+
var stubFalse_1 = stubFalse;
|
631
|
+
(function(module, exports) {
|
632
|
+
var root2 = _root, stubFalse2 = stubFalse_1;
|
633
|
+
var freeExports = exports && !exports.nodeType && exports;
|
634
|
+
var freeModule = freeExports && true && module && !module.nodeType && module;
|
635
|
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
636
|
+
var Buffer2 = moduleExports ? root2.Buffer : void 0;
|
637
|
+
var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
|
638
|
+
var isBuffer2 = nativeIsBuffer || stubFalse2;
|
639
|
+
module.exports = isBuffer2;
|
640
|
+
})(isBuffer$2, isBuffer$2.exports);
|
641
|
+
var MAX_SAFE_INTEGER$1 = 9007199254740991;
|
642
|
+
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
643
|
+
function isIndex$3(value, length) {
|
644
|
+
var type = typeof value;
|
645
|
+
length = length == null ? MAX_SAFE_INTEGER$1 : length;
|
646
|
+
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
647
|
+
}
|
648
|
+
var _isIndex = isIndex$3;
|
649
|
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
650
|
+
function isLength$3(value) {
|
651
|
+
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
652
|
+
}
|
653
|
+
var isLength_1 = isLength$3;
|
654
|
+
var baseGetTag$2 = _baseGetTag, isLength$2 = isLength_1, isObjectLike$2 = isObjectLike_1;
|
655
|
+
var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", mapTag$1 = "[object Map]", numberTag = "[object Number]", objectTag$2 = "[object Object]", regexpTag = "[object RegExp]", setTag$1 = "[object Set]", stringTag = "[object String]", weakMapTag$1 = "[object WeakMap]";
|
656
|
+
var arrayBufferTag = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
|
657
|
+
var typedArrayTags = {};
|
658
|
+
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
|
659
|
+
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag$1] = typedArrayTags[numberTag] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag] = typedArrayTags[setTag$1] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag$1] = false;
|
660
|
+
function baseIsTypedArray$1(value) {
|
661
|
+
return isObjectLike$2(value) && isLength$2(value.length) && !!typedArrayTags[baseGetTag$2(value)];
|
662
|
+
}
|
663
|
+
var _baseIsTypedArray = baseIsTypedArray$1;
|
664
|
+
function baseUnary$1(func) {
|
665
|
+
return function(value) {
|
666
|
+
return func(value);
|
667
|
+
};
|
668
|
+
}
|
669
|
+
var _baseUnary = baseUnary$1;
|
670
|
+
var _nodeUtil = { exports: {} };
|
671
|
+
(function(module, exports) {
|
672
|
+
var freeGlobal2 = _freeGlobal;
|
673
|
+
var freeExports = exports && !exports.nodeType && exports;
|
674
|
+
var freeModule = freeExports && true && module && !module.nodeType && module;
|
675
|
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
676
|
+
var freeProcess = moduleExports && freeGlobal2.process;
|
677
|
+
var nodeUtil2 = function() {
|
678
|
+
try {
|
679
|
+
var types = freeModule && freeModule.require && freeModule.require("util").types;
|
680
|
+
if (types) {
|
681
|
+
return types;
|
682
|
+
}
|
683
|
+
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
684
|
+
} catch (e2) {
|
685
|
+
}
|
686
|
+
}();
|
687
|
+
module.exports = nodeUtil2;
|
688
|
+
})(_nodeUtil, _nodeUtil.exports);
|
689
|
+
var baseIsTypedArray = _baseIsTypedArray, baseUnary = _baseUnary, nodeUtil = _nodeUtil.exports;
|
690
|
+
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
691
|
+
var isTypedArray$2 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
|
692
|
+
var isTypedArray_1 = isTypedArray$2;
|
693
|
+
var baseTimes = _baseTimes, isArguments$1 = isArguments_1, isArray$6 = isArray_1, isBuffer$1 = isBuffer$2.exports, isIndex$2 = _isIndex, isTypedArray$1 = isTypedArray_1;
|
694
|
+
var objectProto$6 = Object.prototype;
|
695
|
+
var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
|
696
|
+
function arrayLikeKeys$2(value, inherited) {
|
697
|
+
var isArr = isArray$6(value), isArg = !isArr && isArguments$1(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
|
698
|
+
for (var key in value) {
|
699
|
+
if ((inherited || hasOwnProperty$5.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex$2(key, length)))) {
|
700
|
+
result.push(key);
|
701
|
+
}
|
702
|
+
}
|
703
|
+
return result;
|
704
|
+
}
|
705
|
+
var _arrayLikeKeys = arrayLikeKeys$2;
|
706
|
+
var objectProto$5 = Object.prototype;
|
707
|
+
function isPrototype$2(value) {
|
708
|
+
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$5;
|
709
|
+
return value === proto;
|
710
|
+
}
|
711
|
+
var _isPrototype = isPrototype$2;
|
712
|
+
function overArg$2(func, transform) {
|
713
|
+
return function(arg) {
|
714
|
+
return func(transform(arg));
|
715
|
+
};
|
716
|
+
}
|
717
|
+
var _overArg = overArg$2;
|
718
|
+
var overArg$1 = _overArg;
|
719
|
+
var nativeKeys$1 = overArg$1(Object.keys, Object);
|
720
|
+
var _nativeKeys = nativeKeys$1;
|
721
|
+
var isPrototype$1 = _isPrototype, nativeKeys = _nativeKeys;
|
722
|
+
var objectProto$4 = Object.prototype;
|
723
|
+
var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
|
724
|
+
function baseKeys$1(object) {
|
725
|
+
if (!isPrototype$1(object)) {
|
726
|
+
return nativeKeys(object);
|
727
|
+
}
|
728
|
+
var result = [];
|
729
|
+
for (var key in Object(object)) {
|
730
|
+
if (hasOwnProperty$4.call(object, key) && key != "constructor") {
|
731
|
+
result.push(key);
|
732
|
+
}
|
733
|
+
}
|
734
|
+
return result;
|
735
|
+
}
|
736
|
+
var _baseKeys = baseKeys$1;
|
737
|
+
var isFunction = isFunction_1, isLength$1 = isLength_1;
|
738
|
+
function isArrayLike$2(value) {
|
739
|
+
return value != null && isLength$1(value.length) && !isFunction(value);
|
740
|
+
}
|
741
|
+
var isArrayLike_1 = isArrayLike$2;
|
742
|
+
var arrayLikeKeys$1 = _arrayLikeKeys, baseKeys = _baseKeys, isArrayLike$1 = isArrayLike_1;
|
743
|
+
function keys$2(object) {
|
744
|
+
return isArrayLike$1(object) ? arrayLikeKeys$1(object) : baseKeys(object);
|
745
|
+
}
|
746
|
+
var keys_1 = keys$2;
|
747
|
+
var baseGetAllKeys$1 = _baseGetAllKeys, getSymbols$1 = _getSymbols, keys$1 = keys_1;
|
748
|
+
function getAllKeys$1(object) {
|
749
|
+
return baseGetAllKeys$1(object, keys$1, getSymbols$1);
|
750
|
+
}
|
751
|
+
var _getAllKeys = getAllKeys$1;
|
752
|
+
var getAllKeys = _getAllKeys;
|
753
|
+
var COMPARE_PARTIAL_FLAG$3 = 1;
|
754
|
+
var objectProto$3 = Object.prototype;
|
755
|
+
var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
|
756
|
+
function equalObjects$1(object, other, bitmask, customizer, equalFunc, stack) {
|
757
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
|
758
|
+
if (objLength != othLength && !isPartial) {
|
759
|
+
return false;
|
760
|
+
}
|
761
|
+
var index = objLength;
|
762
|
+
while (index--) {
|
763
|
+
var key = objProps[index];
|
764
|
+
if (!(isPartial ? key in other : hasOwnProperty$3.call(other, key))) {
|
765
|
+
return false;
|
766
|
+
}
|
767
|
+
}
|
768
|
+
var objStacked = stack.get(object);
|
769
|
+
var othStacked = stack.get(other);
|
770
|
+
if (objStacked && othStacked) {
|
771
|
+
return objStacked == other && othStacked == object;
|
772
|
+
}
|
773
|
+
var result = true;
|
774
|
+
stack.set(object, other);
|
775
|
+
stack.set(other, object);
|
776
|
+
var skipCtor = isPartial;
|
777
|
+
while (++index < objLength) {
|
778
|
+
key = objProps[index];
|
779
|
+
var objValue = object[key], othValue = other[key];
|
780
|
+
if (customizer) {
|
781
|
+
var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
|
782
|
+
}
|
783
|
+
if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
|
784
|
+
result = false;
|
785
|
+
break;
|
786
|
+
}
|
787
|
+
skipCtor || (skipCtor = key == "constructor");
|
788
|
+
}
|
789
|
+
if (result && !skipCtor) {
|
790
|
+
var objCtor = object.constructor, othCtor = other.constructor;
|
791
|
+
if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
|
792
|
+
result = false;
|
793
|
+
}
|
794
|
+
}
|
795
|
+
stack["delete"](object);
|
796
|
+
stack["delete"](other);
|
797
|
+
return result;
|
798
|
+
}
|
799
|
+
var _equalObjects = equalObjects$1;
|
800
|
+
var getNative$4 = _getNative, root$3 = _root;
|
801
|
+
var DataView$1 = getNative$4(root$3, "DataView");
|
802
|
+
var _DataView = DataView$1;
|
803
|
+
var getNative$3 = _getNative, root$2 = _root;
|
804
|
+
var Promise$2 = getNative$3(root$2, "Promise");
|
805
|
+
var _Promise = Promise$2;
|
806
|
+
var getNative$2 = _getNative, root$1 = _root;
|
807
|
+
var Set$3 = getNative$2(root$1, "Set");
|
808
|
+
var _Set = Set$3;
|
809
|
+
var getNative$1 = _getNative, root = _root;
|
810
|
+
var WeakMap$1 = getNative$1(root, "WeakMap");
|
811
|
+
var _WeakMap = WeakMap$1;
|
812
|
+
var DataView = _DataView, Map$1 = _Map, Promise$1 = _Promise, Set$2 = _Set, WeakMap = _WeakMap, baseGetTag$1 = _baseGetTag, toSource = _toSource;
|
813
|
+
var mapTag = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]";
|
814
|
+
var dataViewTag = "[object DataView]";
|
815
|
+
var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap);
|
816
|
+
var getTag$1 = baseGetTag$1;
|
817
|
+
if (DataView && getTag$1(new DataView(new ArrayBuffer(1))) != dataViewTag || Map$1 && getTag$1(new Map$1()) != mapTag || Promise$1 && getTag$1(Promise$1.resolve()) != promiseTag || Set$2 && getTag$1(new Set$2()) != setTag || WeakMap && getTag$1(new WeakMap()) != weakMapTag) {
|
818
|
+
getTag$1 = function(value) {
|
819
|
+
var result = baseGetTag$1(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
|
820
|
+
if (ctorString) {
|
821
|
+
switch (ctorString) {
|
822
|
+
case dataViewCtorString:
|
823
|
+
return dataViewTag;
|
824
|
+
case mapCtorString:
|
825
|
+
return mapTag;
|
826
|
+
case promiseCtorString:
|
827
|
+
return promiseTag;
|
828
|
+
case setCtorString:
|
829
|
+
return setTag;
|
830
|
+
case weakMapCtorString:
|
831
|
+
return weakMapTag;
|
832
|
+
}
|
833
|
+
}
|
834
|
+
return result;
|
835
|
+
};
|
836
|
+
}
|
837
|
+
var _getTag = getTag$1;
|
838
|
+
var Stack$1 = _Stack, equalArrays = _equalArrays, equalByTag = _equalByTag, equalObjects = _equalObjects, getTag = _getTag, isArray$5 = isArray_1, isBuffer = isBuffer$2.exports, isTypedArray = isTypedArray_1;
|
839
|
+
var COMPARE_PARTIAL_FLAG$2 = 1;
|
840
|
+
var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]";
|
841
|
+
var objectProto$2 = Object.prototype;
|
842
|
+
var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
|
843
|
+
function baseIsEqualDeep$1(object, other, bitmask, customizer, equalFunc, stack) {
|
844
|
+
var objIsArr = isArray$5(object), othIsArr = isArray$5(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
|
845
|
+
objTag = objTag == argsTag ? objectTag : objTag;
|
846
|
+
othTag = othTag == argsTag ? objectTag : othTag;
|
847
|
+
var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
|
848
|
+
if (isSameTag && isBuffer(object)) {
|
849
|
+
if (!isBuffer(other)) {
|
850
|
+
return false;
|
851
|
+
}
|
852
|
+
objIsArr = true;
|
853
|
+
objIsObj = false;
|
854
|
+
}
|
855
|
+
if (isSameTag && !objIsObj) {
|
856
|
+
stack || (stack = new Stack$1());
|
857
|
+
return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
858
|
+
}
|
859
|
+
if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {
|
860
|
+
var objIsWrapped = objIsObj && hasOwnProperty$2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$2.call(other, "__wrapped__");
|
861
|
+
if (objIsWrapped || othIsWrapped) {
|
862
|
+
var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
|
863
|
+
stack || (stack = new Stack$1());
|
864
|
+
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
|
865
|
+
}
|
866
|
+
}
|
867
|
+
if (!isSameTag) {
|
868
|
+
return false;
|
869
|
+
}
|
870
|
+
stack || (stack = new Stack$1());
|
871
|
+
return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
|
872
|
+
}
|
873
|
+
var _baseIsEqualDeep = baseIsEqualDeep$1;
|
874
|
+
var baseIsEqualDeep = _baseIsEqualDeep, isObjectLike$1 = isObjectLike_1;
|
875
|
+
function baseIsEqual$3(value, other, bitmask, customizer, stack) {
|
876
|
+
if (value === other) {
|
877
|
+
return true;
|
878
|
+
}
|
879
|
+
if (value == null || other == null || !isObjectLike$1(value) && !isObjectLike$1(other)) {
|
880
|
+
return value !== value && other !== other;
|
881
|
+
}
|
882
|
+
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual$3, stack);
|
883
|
+
}
|
884
|
+
var _baseIsEqual = baseIsEqual$3;
|
885
|
+
var Stack = _Stack, baseIsEqual$2 = _baseIsEqual;
|
886
|
+
var COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2;
|
887
|
+
function baseIsMatch$1(object, source, matchData, customizer) {
|
888
|
+
var index = matchData.length, length = index, noCustomizer = !customizer;
|
889
|
+
if (object == null) {
|
890
|
+
return !length;
|
891
|
+
}
|
892
|
+
object = Object(object);
|
893
|
+
while (index--) {
|
894
|
+
var data = matchData[index];
|
895
|
+
if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
|
896
|
+
return false;
|
897
|
+
}
|
898
|
+
}
|
899
|
+
while (++index < length) {
|
900
|
+
data = matchData[index];
|
901
|
+
var key = data[0], objValue = object[key], srcValue = data[1];
|
902
|
+
if (noCustomizer && data[2]) {
|
903
|
+
if (objValue === void 0 && !(key in object)) {
|
904
|
+
return false;
|
905
|
+
}
|
906
|
+
} else {
|
907
|
+
var stack = new Stack();
|
908
|
+
if (customizer) {
|
909
|
+
var result = customizer(objValue, srcValue, key, object, source, stack);
|
910
|
+
}
|
911
|
+
if (!(result === void 0 ? baseIsEqual$2(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) {
|
912
|
+
return false;
|
913
|
+
}
|
914
|
+
}
|
915
|
+
}
|
916
|
+
return true;
|
917
|
+
}
|
918
|
+
var _baseIsMatch = baseIsMatch$1;
|
919
|
+
var isObject$2 = isObject_1;
|
920
|
+
function isStrictComparable$2(value) {
|
921
|
+
return value === value && !isObject$2(value);
|
922
|
+
}
|
923
|
+
var _isStrictComparable = isStrictComparable$2;
|
924
|
+
var isStrictComparable$1 = _isStrictComparable, keys = keys_1;
|
925
|
+
function getMatchData$1(object) {
|
926
|
+
var result = keys(object), length = result.length;
|
927
|
+
while (length--) {
|
928
|
+
var key = result[length], value = object[key];
|
929
|
+
result[length] = [key, value, isStrictComparable$1(value)];
|
930
|
+
}
|
931
|
+
return result;
|
932
|
+
}
|
933
|
+
var _getMatchData = getMatchData$1;
|
934
|
+
function matchesStrictComparable$2(key, srcValue) {
|
935
|
+
return function(object) {
|
936
|
+
if (object == null) {
|
937
|
+
return false;
|
938
|
+
}
|
939
|
+
return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
|
940
|
+
};
|
941
|
+
}
|
942
|
+
var _matchesStrictComparable = matchesStrictComparable$2;
|
943
|
+
var baseIsMatch = _baseIsMatch, getMatchData = _getMatchData, matchesStrictComparable$1 = _matchesStrictComparable;
|
944
|
+
function baseMatches$1(source) {
|
945
|
+
var matchData = getMatchData(source);
|
946
|
+
if (matchData.length == 1 && matchData[0][2]) {
|
947
|
+
return matchesStrictComparable$1(matchData[0][0], matchData[0][1]);
|
948
|
+
}
|
949
|
+
return function(object) {
|
950
|
+
return object === source || baseIsMatch(object, source, matchData);
|
951
|
+
};
|
952
|
+
}
|
953
|
+
var _baseMatches = baseMatches$1;
|
954
|
+
var baseGetTag = _baseGetTag, isObjectLike = isObjectLike_1;
|
955
|
+
var symbolTag = "[object Symbol]";
|
956
|
+
function isSymbol$3(value) {
|
957
|
+
return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
|
958
|
+
}
|
959
|
+
var isSymbol_1 = isSymbol$3;
|
960
|
+
var isArray$4 = isArray_1, isSymbol$2 = isSymbol_1;
|
961
|
+
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
|
962
|
+
function isKey$3(value, object) {
|
963
|
+
if (isArray$4(value)) {
|
964
|
+
return false;
|
965
|
+
}
|
966
|
+
var type = typeof value;
|
967
|
+
if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol$2(value)) {
|
968
|
+
return true;
|
969
|
+
}
|
970
|
+
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
|
971
|
+
}
|
972
|
+
var _isKey = isKey$3;
|
973
|
+
var MapCache = _MapCache;
|
974
|
+
var FUNC_ERROR_TEXT$1 = "Expected a function";
|
975
|
+
function memoize$1(func, resolver) {
|
976
|
+
if (typeof func != "function" || resolver != null && typeof resolver != "function") {
|
977
|
+
throw new TypeError(FUNC_ERROR_TEXT$1);
|
978
|
+
}
|
979
|
+
var memoized = function() {
|
980
|
+
var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
|
981
|
+
if (cache.has(key)) {
|
982
|
+
return cache.get(key);
|
983
|
+
}
|
984
|
+
var result = func.apply(this, args);
|
985
|
+
memoized.cache = cache.set(key, result) || cache;
|
986
|
+
return result;
|
987
|
+
};
|
988
|
+
memoized.cache = new (memoize$1.Cache || MapCache)();
|
989
|
+
return memoized;
|
990
|
+
}
|
991
|
+
memoize$1.Cache = MapCache;
|
992
|
+
var memoize_1 = memoize$1;
|
993
|
+
var memoize = memoize_1;
|
994
|
+
var MAX_MEMOIZE_SIZE = 500;
|
995
|
+
function memoizeCapped$1(func) {
|
996
|
+
var result = memoize(func, function(key) {
|
997
|
+
if (cache.size === MAX_MEMOIZE_SIZE) {
|
998
|
+
cache.clear();
|
999
|
+
}
|
1000
|
+
return key;
|
1001
|
+
});
|
1002
|
+
var cache = result.cache;
|
1003
|
+
return result;
|
1004
|
+
}
|
1005
|
+
var _memoizeCapped = memoizeCapped$1;
|
1006
|
+
var memoizeCapped = _memoizeCapped;
|
1007
|
+
var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
|
1008
|
+
var reEscapeChar = /\\(\\)?/g;
|
1009
|
+
var stringToPath$1 = memoizeCapped(function(string) {
|
1010
|
+
var result = [];
|
1011
|
+
if (string.charCodeAt(0) === 46) {
|
1012
|
+
result.push("");
|
1013
|
+
}
|
1014
|
+
string.replace(rePropName, function(match, number, quote, subString) {
|
1015
|
+
result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
|
1016
|
+
});
|
1017
|
+
return result;
|
1018
|
+
});
|
1019
|
+
var _stringToPath = stringToPath$1;
|
1020
|
+
function arrayMap$2(array, iteratee) {
|
1021
|
+
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
1022
|
+
while (++index < length) {
|
1023
|
+
result[index] = iteratee(array[index], index, array);
|
1024
|
+
}
|
1025
|
+
return result;
|
1026
|
+
}
|
1027
|
+
var _arrayMap = arrayMap$2;
|
1028
|
+
var Symbol$1 = _Symbol, arrayMap$1 = _arrayMap, isArray$3 = isArray_1, isSymbol$1 = isSymbol_1;
|
1029
|
+
var INFINITY$2 = 1 / 0;
|
1030
|
+
var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
|
1031
|
+
function baseToString$1(value) {
|
1032
|
+
if (typeof value == "string") {
|
1033
|
+
return value;
|
1034
|
+
}
|
1035
|
+
if (isArray$3(value)) {
|
1036
|
+
return arrayMap$1(value, baseToString$1) + "";
|
1037
|
+
}
|
1038
|
+
if (isSymbol$1(value)) {
|
1039
|
+
return symbolToString ? symbolToString.call(value) : "";
|
1040
|
+
}
|
1041
|
+
var result = value + "";
|
1042
|
+
return result == "0" && 1 / value == -INFINITY$2 ? "-0" : result;
|
1043
|
+
}
|
1044
|
+
var _baseToString = baseToString$1;
|
1045
|
+
var baseToString = _baseToString;
|
1046
|
+
function toString$1(value) {
|
1047
|
+
return value == null ? "" : baseToString(value);
|
1048
|
+
}
|
1049
|
+
var toString_1 = toString$1;
|
1050
|
+
var isArray$2 = isArray_1, isKey$2 = _isKey, stringToPath = _stringToPath, toString = toString_1;
|
1051
|
+
function castPath$4(value, object) {
|
1052
|
+
if (isArray$2(value)) {
|
1053
|
+
return value;
|
1054
|
+
}
|
1055
|
+
return isKey$2(value, object) ? [value] : stringToPath(toString(value));
|
1056
|
+
}
|
1057
|
+
var _castPath = castPath$4;
|
1058
|
+
var isSymbol = isSymbol_1;
|
1059
|
+
var INFINITY$1 = 1 / 0;
|
1060
|
+
function toKey$5(value) {
|
1061
|
+
if (typeof value == "string" || isSymbol(value)) {
|
1062
|
+
return value;
|
1063
|
+
}
|
1064
|
+
var result = value + "";
|
1065
|
+
return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
|
1066
|
+
}
|
1067
|
+
var _toKey = toKey$5;
|
1068
|
+
var castPath$3 = _castPath, toKey$4 = _toKey;
|
1069
|
+
function baseGet$3(object, path) {
|
1070
|
+
path = castPath$3(path, object);
|
1071
|
+
var index = 0, length = path.length;
|
1072
|
+
while (object != null && index < length) {
|
1073
|
+
object = object[toKey$4(path[index++])];
|
1074
|
+
}
|
1075
|
+
return index && index == length ? object : void 0;
|
1076
|
+
}
|
1077
|
+
var _baseGet = baseGet$3;
|
1078
|
+
var baseGet$2 = _baseGet;
|
1079
|
+
function get$1(object, path, defaultValue) {
|
1080
|
+
var result = object == null ? void 0 : baseGet$2(object, path);
|
1081
|
+
return result === void 0 ? defaultValue : result;
|
1082
|
+
}
|
1083
|
+
var get_1 = get$1;
|
1084
|
+
function baseHasIn$1(object, key) {
|
1085
|
+
return object != null && key in Object(object);
|
1086
|
+
}
|
1087
|
+
var _baseHasIn = baseHasIn$1;
|
1088
|
+
var castPath$2 = _castPath, isArguments = isArguments_1, isArray$1 = isArray_1, isIndex$1 = _isIndex, isLength = isLength_1, toKey$3 = _toKey;
|
1089
|
+
function hasPath$1(object, path, hasFunc) {
|
1090
|
+
path = castPath$2(path, object);
|
1091
|
+
var index = -1, length = path.length, result = false;
|
1092
|
+
while (++index < length) {
|
1093
|
+
var key = toKey$3(path[index]);
|
1094
|
+
if (!(result = object != null && hasFunc(object, key))) {
|
1095
|
+
break;
|
1096
|
+
}
|
1097
|
+
object = object[key];
|
1098
|
+
}
|
1099
|
+
if (result || ++index != length) {
|
1100
|
+
return result;
|
1101
|
+
}
|
1102
|
+
length = object == null ? 0 : object.length;
|
1103
|
+
return !!length && isLength(length) && isIndex$1(key, length) && (isArray$1(object) || isArguments(object));
|
1104
|
+
}
|
1105
|
+
var _hasPath = hasPath$1;
|
1106
|
+
var baseHasIn = _baseHasIn, hasPath = _hasPath;
|
1107
|
+
function hasIn$1(object, path) {
|
1108
|
+
return object != null && hasPath(object, path, baseHasIn);
|
1109
|
+
}
|
1110
|
+
var hasIn_1 = hasIn$1;
|
1111
|
+
var baseIsEqual$1 = _baseIsEqual, get = get_1, hasIn = hasIn_1, isKey$1 = _isKey, isStrictComparable = _isStrictComparable, matchesStrictComparable = _matchesStrictComparable, toKey$2 = _toKey;
|
1112
|
+
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
|
1113
|
+
function baseMatchesProperty$1(path, srcValue) {
|
1114
|
+
if (isKey$1(path) && isStrictComparable(srcValue)) {
|
1115
|
+
return matchesStrictComparable(toKey$2(path), srcValue);
|
1116
|
+
}
|
1117
|
+
return function(object) {
|
1118
|
+
var objValue = get(object, path);
|
1119
|
+
return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual$1(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
|
1120
|
+
};
|
1121
|
+
}
|
1122
|
+
var _baseMatchesProperty = baseMatchesProperty$1;
|
1123
|
+
function identity$1(value) {
|
1124
|
+
return value;
|
1125
|
+
}
|
1126
|
+
var identity_1 = identity$1;
|
1127
|
+
function baseProperty$1(key) {
|
1128
|
+
return function(object) {
|
1129
|
+
return object == null ? void 0 : object[key];
|
1130
|
+
};
|
1131
|
+
}
|
1132
|
+
var _baseProperty = baseProperty$1;
|
1133
|
+
var baseGet$1 = _baseGet;
|
1134
|
+
function basePropertyDeep$1(path) {
|
1135
|
+
return function(object) {
|
1136
|
+
return baseGet$1(object, path);
|
1137
|
+
};
|
1138
|
+
}
|
1139
|
+
var _basePropertyDeep = basePropertyDeep$1;
|
1140
|
+
var baseProperty = _baseProperty, basePropertyDeep = _basePropertyDeep, isKey = _isKey, toKey$1 = _toKey;
|
1141
|
+
function property$1(path) {
|
1142
|
+
return isKey(path) ? baseProperty(toKey$1(path)) : basePropertyDeep(path);
|
1143
|
+
}
|
1144
|
+
var property_1 = property$1;
|
1145
|
+
var baseMatches = _baseMatches, baseMatchesProperty = _baseMatchesProperty, identity = identity_1, isArray = isArray_1, property = property_1;
|
1146
|
+
function baseIteratee$2(value) {
|
1147
|
+
if (typeof value == "function") {
|
1148
|
+
return value;
|
1149
|
+
}
|
1150
|
+
if (value == null) {
|
1151
|
+
return identity;
|
1152
|
+
}
|
1153
|
+
if (typeof value == "object") {
|
1154
|
+
return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
|
1155
|
+
}
|
1156
|
+
return property(value);
|
1157
|
+
}
|
1158
|
+
var _baseIteratee = baseIteratee$2;
|
1159
|
+
var FUNC_ERROR_TEXT = "Expected a function";
|
1160
|
+
function negate$1(predicate) {
|
1161
|
+
if (typeof predicate != "function") {
|
1162
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
1163
|
+
}
|
1164
|
+
return function() {
|
1165
|
+
var args = arguments;
|
1166
|
+
switch (args.length) {
|
1167
|
+
case 0:
|
1168
|
+
return !predicate.call(this);
|
1169
|
+
case 1:
|
1170
|
+
return !predicate.call(this, args[0]);
|
1171
|
+
case 2:
|
1172
|
+
return !predicate.call(this, args[0], args[1]);
|
1173
|
+
case 3:
|
1174
|
+
return !predicate.call(this, args[0], args[1], args[2]);
|
1175
|
+
}
|
1176
|
+
return !predicate.apply(this, args);
|
1177
|
+
};
|
1178
|
+
}
|
1179
|
+
var negate_1 = negate$1;
|
1180
|
+
var getNative = _getNative;
|
1181
|
+
var defineProperty$1 = function() {
|
1182
|
+
try {
|
1183
|
+
var func = getNative(Object, "defineProperty");
|
1184
|
+
func({}, "", {});
|
1185
|
+
return func;
|
1186
|
+
} catch (e2) {
|
1187
|
+
}
|
1188
|
+
}();
|
1189
|
+
var _defineProperty = defineProperty$1;
|
1190
|
+
var defineProperty = _defineProperty;
|
1191
|
+
function baseAssignValue$1(object, key, value) {
|
1192
|
+
if (key == "__proto__" && defineProperty) {
|
1193
|
+
defineProperty(object, key, {
|
1194
|
+
"configurable": true,
|
1195
|
+
"enumerable": true,
|
1196
|
+
"value": value,
|
1197
|
+
"writable": true
|
1198
|
+
});
|
1199
|
+
} else {
|
1200
|
+
object[key] = value;
|
1201
|
+
}
|
1202
|
+
}
|
1203
|
+
var _baseAssignValue = baseAssignValue$1;
|
1204
|
+
var baseAssignValue = _baseAssignValue, eq = eq_1;
|
1205
|
+
var objectProto$1 = Object.prototype;
|
1206
|
+
var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
|
1207
|
+
function assignValue$1(object, key, value) {
|
1208
|
+
var objValue = object[key];
|
1209
|
+
if (!(hasOwnProperty$1.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
|
1210
|
+
baseAssignValue(object, key, value);
|
1211
|
+
}
|
1212
|
+
}
|
1213
|
+
var _assignValue = assignValue$1;
|
1214
|
+
var assignValue = _assignValue, castPath$1 = _castPath, isIndex = _isIndex, isObject$1 = isObject_1, toKey = _toKey;
|
1215
|
+
function baseSet$2(object, path, value, customizer) {
|
1216
|
+
if (!isObject$1(object)) {
|
1217
|
+
return object;
|
1218
|
+
}
|
1219
|
+
path = castPath$1(path, object);
|
1220
|
+
var index = -1, length = path.length, lastIndex = length - 1, nested = object;
|
1221
|
+
while (nested != null && ++index < length) {
|
1222
|
+
var key = toKey(path[index]), newValue = value;
|
1223
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
1224
|
+
return object;
|
1225
|
+
}
|
1226
|
+
if (index != lastIndex) {
|
1227
|
+
var objValue = nested[key];
|
1228
|
+
newValue = customizer ? customizer(objValue, key, nested) : void 0;
|
1229
|
+
if (newValue === void 0) {
|
1230
|
+
newValue = isObject$1(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
|
1231
|
+
}
|
1232
|
+
}
|
1233
|
+
assignValue(nested, key, newValue);
|
1234
|
+
nested = nested[key];
|
1235
|
+
}
|
1236
|
+
return object;
|
1237
|
+
}
|
1238
|
+
var _baseSet = baseSet$2;
|
1239
|
+
var baseGet = _baseGet, baseSet$1 = _baseSet, castPath = _castPath;
|
1240
|
+
function basePickBy$1(object, paths, predicate) {
|
1241
|
+
var index = -1, length = paths.length, result = {};
|
1242
|
+
while (++index < length) {
|
1243
|
+
var path = paths[index], value = baseGet(object, path);
|
1244
|
+
if (predicate(value, path)) {
|
1245
|
+
baseSet$1(result, castPath(path, object), value);
|
1246
|
+
}
|
1247
|
+
}
|
1248
|
+
return result;
|
1249
|
+
}
|
1250
|
+
var _basePickBy = basePickBy$1;
|
1251
|
+
var overArg = _overArg;
|
1252
|
+
var getPrototype$1 = overArg(Object.getPrototypeOf, Object);
|
1253
|
+
var _getPrototype = getPrototype$1;
|
1254
|
+
var arrayPush = _arrayPush, getPrototype = _getPrototype, getSymbols = _getSymbols, stubArray = stubArray_1;
|
1255
|
+
var nativeGetSymbols = Object.getOwnPropertySymbols;
|
1256
|
+
var getSymbolsIn$1 = !nativeGetSymbols ? stubArray : function(object) {
|
1257
|
+
var result = [];
|
1258
|
+
while (object) {
|
1259
|
+
arrayPush(result, getSymbols(object));
|
1260
|
+
object = getPrototype(object);
|
1261
|
+
}
|
1262
|
+
return result;
|
1263
|
+
};
|
1264
|
+
var _getSymbolsIn = getSymbolsIn$1;
|
1265
|
+
function nativeKeysIn$1(object) {
|
1266
|
+
var result = [];
|
1267
|
+
if (object != null) {
|
1268
|
+
for (var key in Object(object)) {
|
1269
|
+
result.push(key);
|
1270
|
+
}
|
1271
|
+
}
|
1272
|
+
return result;
|
1273
|
+
}
|
1274
|
+
var _nativeKeysIn = nativeKeysIn$1;
|
1275
|
+
var isObject = isObject_1, isPrototype = _isPrototype, nativeKeysIn = _nativeKeysIn;
|
1276
|
+
var objectProto = Object.prototype;
|
1277
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
1278
|
+
function baseKeysIn$1(object) {
|
1279
|
+
if (!isObject(object)) {
|
1280
|
+
return nativeKeysIn(object);
|
1281
|
+
}
|
1282
|
+
var isProto = isPrototype(object), result = [];
|
1283
|
+
for (var key in object) {
|
1284
|
+
if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
|
1285
|
+
result.push(key);
|
1286
|
+
}
|
1287
|
+
}
|
1288
|
+
return result;
|
1289
|
+
}
|
1290
|
+
var _baseKeysIn = baseKeysIn$1;
|
1291
|
+
var arrayLikeKeys = _arrayLikeKeys, baseKeysIn = _baseKeysIn, isArrayLike = isArrayLike_1;
|
1292
|
+
function keysIn$1(object) {
|
1293
|
+
return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
|
1294
|
+
}
|
1295
|
+
var keysIn_1 = keysIn$1;
|
1296
|
+
var baseGetAllKeys = _baseGetAllKeys, getSymbolsIn = _getSymbolsIn, keysIn = keysIn_1;
|
1297
|
+
function getAllKeysIn$1(object) {
|
1298
|
+
return baseGetAllKeys(object, keysIn, getSymbolsIn);
|
1299
|
+
}
|
1300
|
+
var _getAllKeysIn = getAllKeysIn$1;
|
1301
|
+
var arrayMap = _arrayMap, baseIteratee$1 = _baseIteratee, basePickBy = _basePickBy, getAllKeysIn = _getAllKeysIn;
|
1302
|
+
function pickBy$1(object, predicate) {
|
1303
|
+
if (object == null) {
|
1304
|
+
return {};
|
1305
|
+
}
|
1306
|
+
var props = arrayMap(getAllKeysIn(object), function(prop) {
|
1307
|
+
return [prop];
|
1308
|
+
});
|
1309
|
+
predicate = baseIteratee$1(predicate);
|
1310
|
+
return basePickBy(object, props, function(value, path) {
|
1311
|
+
return predicate(value, path[0]);
|
1312
|
+
});
|
1313
|
+
}
|
1314
|
+
var pickBy_1 = pickBy$1;
|
1315
|
+
var baseIteratee = _baseIteratee, negate = negate_1, pickBy = pickBy_1;
|
1316
|
+
function omitBy(object, predicate) {
|
1317
|
+
return pickBy(object, negate(baseIteratee(predicate)));
|
1318
|
+
}
|
1319
|
+
var omitBy_1 = omitBy;
|
1320
|
+
const getCheckboxChecked = (checkboxValue = "on", newValue) => {
|
1321
|
+
if (Array.isArray(newValue))
|
1322
|
+
return newValue.some((val) => val === true || val === checkboxValue);
|
1323
|
+
if (typeof newValue === "boolean")
|
1324
|
+
return newValue;
|
1325
|
+
if (typeof newValue === "string")
|
1326
|
+
return newValue === checkboxValue;
|
1327
|
+
return void 0;
|
1328
|
+
};
|
1329
|
+
const getRadioChecked = (radioValue = "on", newValue) => {
|
1330
|
+
if (typeof newValue === "string")
|
1331
|
+
return newValue === radioValue;
|
1332
|
+
return void 0;
|
1333
|
+
};
|
1334
|
+
const defaultValidationBehavior = {
|
1335
|
+
initial: "onBlur",
|
1336
|
+
whenTouched: "onChange",
|
1337
|
+
whenSubmitted: "onChange"
|
1338
|
+
};
|
1339
|
+
const createGetInputProps = ({
|
1340
|
+
clearError,
|
1341
|
+
validate,
|
1342
|
+
defaultValue,
|
1343
|
+
touched,
|
1344
|
+
setTouched,
|
1345
|
+
hasBeenSubmitted,
|
1346
|
+
validationBehavior,
|
1347
|
+
name
|
1348
|
+
}) => {
|
1349
|
+
const validationBehaviors = __spreadValues(__spreadValues({}, defaultValidationBehavior), validationBehavior);
|
1350
|
+
return (props = {}) => {
|
1351
|
+
const behavior = hasBeenSubmitted ? validationBehaviors.whenSubmitted : touched ? validationBehaviors.whenTouched : validationBehaviors.initial;
|
1352
|
+
const inputProps = __spreadProps(__spreadValues({}, props), {
|
1353
|
+
onChange: (...args) => {
|
1354
|
+
var _a;
|
1355
|
+
if (behavior === "onChange")
|
1356
|
+
validate();
|
1357
|
+
else
|
1358
|
+
clearError();
|
1359
|
+
return (_a = props == null ? void 0 : props.onChange) == null ? void 0 : _a.call(props, ...args);
|
1360
|
+
},
|
1361
|
+
onBlur: (...args) => {
|
1362
|
+
var _a;
|
1363
|
+
if (behavior === "onBlur")
|
1364
|
+
validate();
|
1365
|
+
setTouched(true);
|
1366
|
+
return (_a = props == null ? void 0 : props.onBlur) == null ? void 0 : _a.call(props, ...args);
|
1367
|
+
},
|
1368
|
+
name
|
1369
|
+
});
|
1370
|
+
if (props.type === "checkbox") {
|
1371
|
+
inputProps.defaultChecked = getCheckboxChecked(props.value, defaultValue);
|
1372
|
+
} else if (props.type === "radio") {
|
1373
|
+
inputProps.defaultChecked = getRadioChecked(props.value, defaultValue);
|
1374
|
+
} else if (props.value === void 0) {
|
1375
|
+
inputProps.defaultValue = defaultValue;
|
1376
|
+
}
|
1377
|
+
return omitBy_1(inputProps, (value) => value === void 0);
|
1378
|
+
};
|
1379
|
+
};
|
1380
|
+
var prefix = "Invariant failed";
|
1381
|
+
function invariant(condition, message) {
|
1382
|
+
if (condition) {
|
1383
|
+
return;
|
1384
|
+
}
|
1385
|
+
{
|
1386
|
+
throw new Error(prefix);
|
1387
|
+
}
|
1388
|
+
}
|
1389
|
+
const FORM_ID_FIELD = "__rvfInternalFormId";
|
1390
|
+
const FORM_DEFAULTS_FIELD = "__rvfInternalFormDefaults";
|
1391
|
+
const formDefaultValuesKey = (formId) => `${FORM_DEFAULTS_FIELD}_${formId}`;
|
1392
|
+
const InternalFormContext = createContext(null);
|
1393
|
+
const serverData = (data) => ({
|
1394
|
+
hydrateTo: () => data,
|
1395
|
+
map: (fn2) => serverData(fn2(data))
|
1396
|
+
});
|
1397
|
+
const hydratedData = () => ({
|
1398
|
+
hydrateTo: (hydratedData2) => hydratedData2,
|
1399
|
+
map: () => hydratedData()
|
1400
|
+
});
|
1401
|
+
const from = (data, hydrated) => hydrated ? hydratedData() : serverData(data);
|
1402
|
+
const hydratable = {
|
1403
|
+
serverData,
|
1404
|
+
hydratedData,
|
1405
|
+
from
|
1406
|
+
};
|
1407
|
+
const createStoreImpl = (createState) => {
|
1408
|
+
let state;
|
1409
|
+
const listeners = /* @__PURE__ */ new Set();
|
1410
|
+
const setState = (partial, replace) => {
|
1411
|
+
const nextState = typeof partial === "function" ? partial(state) : partial;
|
1412
|
+
if (nextState !== state) {
|
1413
|
+
const previousState = state;
|
1414
|
+
state = replace ? nextState : Object.assign({}, state, nextState);
|
1415
|
+
listeners.forEach((listener) => listener(state, previousState));
|
1416
|
+
}
|
1417
|
+
};
|
1418
|
+
const getState = () => state;
|
1419
|
+
const subscribe = (listener) => {
|
1420
|
+
listeners.add(listener);
|
1421
|
+
return () => listeners.delete(listener);
|
1422
|
+
};
|
1423
|
+
const destroy = () => listeners.clear();
|
1424
|
+
const api = { setState, getState, subscribe, destroy };
|
1425
|
+
state = createState(setState, getState, api);
|
1426
|
+
return api;
|
1427
|
+
};
|
1428
|
+
const createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
|
1429
|
+
var withSelector = { exports: {} };
|
1430
|
+
var withSelector_production_min = {};
|
1431
|
+
var shim = { exports: {} };
|
1432
|
+
var useSyncExternalStoreShim_production_min = {};
|
1433
|
+
/**
|
1434
|
+
* @license React
|
1435
|
+
* use-sync-external-store-shim.production.min.js
|
1436
|
+
*
|
1437
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
1438
|
+
*
|
1439
|
+
* This source code is licensed under the MIT license found in the
|
1440
|
+
* LICENSE file in the root directory of this source tree.
|
1441
|
+
*/
|
1442
|
+
var e = React;
|
1443
|
+
function h$2(a2, b2) {
|
1444
|
+
return a2 === b2 && (a2 !== 0 || 1 / a2 === 1 / b2) || a2 !== a2 && b2 !== b2;
|
1445
|
+
}
|
1446
|
+
var k$1 = typeof Object.is === "function" ? Object.is : h$2, l$1 = e.useState, m = e.useEffect, n$2 = e.useLayoutEffect, p$2 = e.useDebugValue;
|
1447
|
+
function q$2(a2, b2) {
|
1448
|
+
var d2 = b2(), f2 = l$1({ inst: { value: d2, getSnapshot: b2 } }), c2 = f2[0].inst, g2 = f2[1];
|
1449
|
+
n$2(function() {
|
1450
|
+
c2.value = d2;
|
1451
|
+
c2.getSnapshot = b2;
|
1452
|
+
r$2(c2) && g2({ inst: c2 });
|
1453
|
+
}, [a2, d2, b2]);
|
1454
|
+
m(function() {
|
1455
|
+
r$2(c2) && g2({ inst: c2 });
|
1456
|
+
return a2(function() {
|
1457
|
+
r$2(c2) && g2({ inst: c2 });
|
1458
|
+
});
|
1459
|
+
}, [a2]);
|
1460
|
+
p$2(d2);
|
1461
|
+
return d2;
|
1462
|
+
}
|
1463
|
+
function r$2(a2) {
|
1464
|
+
var b2 = a2.getSnapshot;
|
1465
|
+
a2 = a2.value;
|
1466
|
+
try {
|
1467
|
+
var d2 = b2();
|
1468
|
+
return !k$1(a2, d2);
|
1469
|
+
} catch (f2) {
|
1470
|
+
return true;
|
1471
|
+
}
|
1472
|
+
}
|
1473
|
+
function t$2(a2, b2) {
|
1474
|
+
return b2();
|
1475
|
+
}
|
1476
|
+
var u$2 = typeof window === "undefined" || typeof window.document === "undefined" || typeof window.document.createElement === "undefined" ? t$2 : q$2;
|
1477
|
+
useSyncExternalStoreShim_production_min.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : u$2;
|
1478
|
+
{
|
1479
|
+
shim.exports = useSyncExternalStoreShim_production_min;
|
1480
|
+
}
|
1481
|
+
/**
|
1482
|
+
* @license React
|
1483
|
+
* use-sync-external-store-shim/with-selector.production.min.js
|
1484
|
+
*
|
1485
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
1486
|
+
*
|
1487
|
+
* This source code is licensed under the MIT license found in the
|
1488
|
+
* LICENSE file in the root directory of this source tree.
|
1489
|
+
*/
|
1490
|
+
var h$1 = React, n$1 = shim.exports;
|
1491
|
+
function p$1(a2, b2) {
|
1492
|
+
return a2 === b2 && (a2 !== 0 || 1 / a2 === 1 / b2) || a2 !== a2 && b2 !== b2;
|
1493
|
+
}
|
1494
|
+
var q$1 = typeof Object.is === "function" ? Object.is : p$1, r$1 = n$1.useSyncExternalStore, t$1 = h$1.useRef, u$1 = h$1.useEffect, v$1 = h$1.useMemo, w$1 = h$1.useDebugValue;
|
1495
|
+
withSelector_production_min.useSyncExternalStoreWithSelector = function(a2, b2, e2, l2, g2) {
|
1496
|
+
var c2 = t$1(null);
|
1497
|
+
if (c2.current === null) {
|
1498
|
+
var f2 = { hasValue: false, value: null };
|
1499
|
+
c2.current = f2;
|
1500
|
+
} else
|
1501
|
+
f2 = c2.current;
|
1502
|
+
c2 = v$1(function() {
|
1503
|
+
function a3(a4) {
|
1504
|
+
if (!c3) {
|
1505
|
+
c3 = true;
|
1506
|
+
d3 = a4;
|
1507
|
+
a4 = l2(a4);
|
1508
|
+
if (g2 !== void 0 && f2.hasValue) {
|
1509
|
+
var b3 = f2.value;
|
1510
|
+
if (g2(b3, a4))
|
1511
|
+
return k2 = b3;
|
1512
|
+
}
|
1513
|
+
return k2 = a4;
|
1514
|
+
}
|
1515
|
+
b3 = k2;
|
1516
|
+
if (q$1(d3, a4))
|
1517
|
+
return b3;
|
1518
|
+
var e3 = l2(a4);
|
1519
|
+
if (g2 !== void 0 && g2(b3, e3))
|
1520
|
+
return b3;
|
1521
|
+
d3 = a4;
|
1522
|
+
return k2 = e3;
|
1523
|
+
}
|
1524
|
+
var c3 = false, d3, k2, m2 = e2 === void 0 ? null : e2;
|
1525
|
+
return [function() {
|
1526
|
+
return a3(b2());
|
1527
|
+
}, m2 === null ? void 0 : function() {
|
1528
|
+
return a3(m2());
|
1529
|
+
}];
|
1530
|
+
}, [b2, e2, l2, g2]);
|
1531
|
+
var d2 = r$1(a2, c2[0], c2[1]);
|
1532
|
+
u$1(function() {
|
1533
|
+
f2.hasValue = true;
|
1534
|
+
f2.value = d2;
|
1535
|
+
}, [d2]);
|
1536
|
+
w$1(d2);
|
1537
|
+
return d2;
|
1538
|
+
};
|
1539
|
+
{
|
1540
|
+
withSelector.exports = withSelector_production_min;
|
1541
|
+
}
|
1542
|
+
function useStore(api, selector = api.getState, equalityFn) {
|
1543
|
+
const slice = withSelector.exports.useSyncExternalStoreWithSelector(api.subscribe, api.getState, api.getServerState || api.getState, selector, equalityFn);
|
1544
|
+
useDebugValue(slice);
|
1545
|
+
return slice;
|
1546
|
+
}
|
1547
|
+
const createImpl = (createState) => {
|
1548
|
+
const api = typeof createState === "function" ? createStore(createState) : createState;
|
1549
|
+
const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);
|
1550
|
+
Object.assign(useBoundStore, api);
|
1551
|
+
return useBoundStore;
|
1552
|
+
};
|
1553
|
+
const create = (createState) => createState ? createImpl(createState) : createImpl;
|
1554
|
+
var create$1 = create;
|
1555
|
+
function n(n2) {
|
1556
|
+
for (var r2 = arguments.length, t2 = Array(r2 > 1 ? r2 - 1 : 0), e2 = 1; e2 < r2; e2++)
|
1557
|
+
t2[e2 - 1] = arguments[e2];
|
1558
|
+
throw Error("[Immer] minified error nr: " + n2 + (t2.length ? " " + t2.map(function(n3) {
|
1559
|
+
return "'" + n3 + "'";
|
1560
|
+
}).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf");
|
1561
|
+
}
|
1562
|
+
function r(n2) {
|
1563
|
+
return !!n2 && !!n2[Q];
|
1564
|
+
}
|
1565
|
+
function t(n2) {
|
1566
|
+
return !!n2 && (function(n3) {
|
1567
|
+
if (!n3 || typeof n3 != "object")
|
1568
|
+
return false;
|
1569
|
+
var r2 = Object.getPrototypeOf(n3);
|
1570
|
+
if (r2 === null)
|
1571
|
+
return true;
|
1572
|
+
var t2 = Object.hasOwnProperty.call(r2, "constructor") && r2.constructor;
|
1573
|
+
return t2 === Object || typeof t2 == "function" && Function.toString.call(t2) === Z;
|
1574
|
+
}(n2) || Array.isArray(n2) || !!n2[L] || !!n2.constructor[L] || s(n2) || v(n2));
|
1575
|
+
}
|
1576
|
+
function i(n2, r2, t2) {
|
1577
|
+
t2 === void 0 && (t2 = false), o(n2) === 0 ? (t2 ? Object.keys : nn)(n2).forEach(function(e2) {
|
1578
|
+
t2 && typeof e2 == "symbol" || r2(e2, n2[e2], n2);
|
1579
|
+
}) : n2.forEach(function(t3, e2) {
|
1580
|
+
return r2(e2, t3, n2);
|
1581
|
+
});
|
1582
|
+
}
|
1583
|
+
function o(n2) {
|
1584
|
+
var r2 = n2[Q];
|
1585
|
+
return r2 ? r2.i > 3 ? r2.i - 4 : r2.i : Array.isArray(n2) ? 1 : s(n2) ? 2 : v(n2) ? 3 : 0;
|
1586
|
+
}
|
1587
|
+
function u(n2, r2) {
|
1588
|
+
return o(n2) === 2 ? n2.has(r2) : Object.prototype.hasOwnProperty.call(n2, r2);
|
1589
|
+
}
|
1590
|
+
function a(n2, r2) {
|
1591
|
+
return o(n2) === 2 ? n2.get(r2) : n2[r2];
|
1592
|
+
}
|
1593
|
+
function f(n2, r2, t2) {
|
1594
|
+
var e2 = o(n2);
|
1595
|
+
e2 === 2 ? n2.set(r2, t2) : e2 === 3 ? (n2.delete(r2), n2.add(t2)) : n2[r2] = t2;
|
1596
|
+
}
|
1597
|
+
function c(n2, r2) {
|
1598
|
+
return n2 === r2 ? n2 !== 0 || 1 / n2 == 1 / r2 : n2 != n2 && r2 != r2;
|
1599
|
+
}
|
1600
|
+
function s(n2) {
|
1601
|
+
return X && n2 instanceof Map;
|
1602
|
+
}
|
1603
|
+
function v(n2) {
|
1604
|
+
return q && n2 instanceof Set;
|
1605
|
+
}
|
1606
|
+
function p(n2) {
|
1607
|
+
return n2.o || n2.t;
|
1608
|
+
}
|
1609
|
+
function l(n2) {
|
1610
|
+
if (Array.isArray(n2))
|
1611
|
+
return Array.prototype.slice.call(n2);
|
1612
|
+
var r2 = rn(n2);
|
1613
|
+
delete r2[Q];
|
1614
|
+
for (var t2 = nn(r2), e2 = 0; e2 < t2.length; e2++) {
|
1615
|
+
var i2 = t2[e2], o2 = r2[i2];
|
1616
|
+
o2.writable === false && (o2.writable = true, o2.configurable = true), (o2.get || o2.set) && (r2[i2] = { configurable: true, writable: true, enumerable: o2.enumerable, value: n2[i2] });
|
1617
|
+
}
|
1618
|
+
return Object.create(Object.getPrototypeOf(n2), r2);
|
1619
|
+
}
|
1620
|
+
function d(n2, e2) {
|
1621
|
+
return e2 === void 0 && (e2 = false), y(n2) || r(n2) || !t(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e2 && i(n2, function(n3, r2) {
|
1622
|
+
return d(r2, true);
|
1623
|
+
}, true), n2);
|
1624
|
+
}
|
1625
|
+
function h() {
|
1626
|
+
n(2);
|
1627
|
+
}
|
1628
|
+
function y(n2) {
|
1629
|
+
return n2 == null || typeof n2 != "object" || Object.isFrozen(n2);
|
1630
|
+
}
|
1631
|
+
function b(r2) {
|
1632
|
+
var t2 = tn[r2];
|
1633
|
+
return t2 || n(18, r2), t2;
|
1634
|
+
}
|
1635
|
+
function _() {
|
1636
|
+
return U;
|
1637
|
+
}
|
1638
|
+
function j(n2, r2) {
|
1639
|
+
r2 && (b("Patches"), n2.u = [], n2.s = [], n2.v = r2);
|
1640
|
+
}
|
1641
|
+
function O(n2) {
|
1642
|
+
g(n2), n2.p.forEach(S), n2.p = null;
|
1643
|
+
}
|
1644
|
+
function g(n2) {
|
1645
|
+
n2 === U && (U = n2.l);
|
1646
|
+
}
|
1647
|
+
function w(n2) {
|
1648
|
+
return U = { p: [], l: U, h: n2, m: true, _: 0 };
|
1649
|
+
}
|
1650
|
+
function S(n2) {
|
1651
|
+
var r2 = n2[Q];
|
1652
|
+
r2.i === 0 || r2.i === 1 ? r2.j() : r2.O = true;
|
1653
|
+
}
|
1654
|
+
function P(r2, e2) {
|
1655
|
+
e2._ = e2.p.length;
|
1656
|
+
var i2 = e2.p[0], o2 = r2 !== void 0 && r2 !== i2;
|
1657
|
+
return e2.h.g || b("ES5").S(e2, r2, o2), o2 ? (i2[Q].P && (O(e2), n(4)), t(r2) && (r2 = M(e2, r2), e2.l || x(e2, r2)), e2.u && b("Patches").M(i2[Q].t, r2, e2.u, e2.s)) : r2 = M(e2, i2, []), O(e2), e2.u && e2.v(e2.u, e2.s), r2 !== H ? r2 : void 0;
|
1658
|
+
}
|
1659
|
+
function M(n2, r2, t2) {
|
1660
|
+
if (y(r2))
|
1661
|
+
return r2;
|
1662
|
+
var e2 = r2[Q];
|
1663
|
+
if (!e2)
|
1664
|
+
return i(r2, function(i2, o3) {
|
1665
|
+
return A(n2, e2, r2, i2, o3, t2);
|
1666
|
+
}, true), r2;
|
1667
|
+
if (e2.A !== n2)
|
1668
|
+
return r2;
|
1669
|
+
if (!e2.P)
|
1670
|
+
return x(n2, e2.t, true), e2.t;
|
1671
|
+
if (!e2.I) {
|
1672
|
+
e2.I = true, e2.A._--;
|
1673
|
+
var o2 = e2.i === 4 || e2.i === 5 ? e2.o = l(e2.k) : e2.o;
|
1674
|
+
i(e2.i === 3 ? new Set(o2) : o2, function(r3, i2) {
|
1675
|
+
return A(n2, e2, o2, r3, i2, t2);
|
1676
|
+
}), x(n2, o2, false), t2 && n2.u && b("Patches").R(e2, t2, n2.u, n2.s);
|
1677
|
+
}
|
1678
|
+
return e2.o;
|
1679
|
+
}
|
1680
|
+
function A(e2, i2, o2, a2, c2, s2) {
|
1681
|
+
if (r(c2)) {
|
1682
|
+
var v2 = M(e2, c2, s2 && i2 && i2.i !== 3 && !u(i2.D, a2) ? s2.concat(a2) : void 0);
|
1683
|
+
if (f(o2, a2, v2), !r(v2))
|
1684
|
+
return;
|
1685
|
+
e2.m = false;
|
1686
|
+
}
|
1687
|
+
if (t(c2) && !y(c2)) {
|
1688
|
+
if (!e2.h.F && e2._ < 1)
|
1689
|
+
return;
|
1690
|
+
M(e2, c2), i2 && i2.A.l || x(e2, c2);
|
1691
|
+
}
|
1692
|
+
}
|
1693
|
+
function x(n2, r2, t2) {
|
1694
|
+
t2 === void 0 && (t2 = false), n2.h.F && n2.m && d(r2, t2);
|
1695
|
+
}
|
1696
|
+
function z(n2, r2) {
|
1697
|
+
var t2 = n2[Q];
|
1698
|
+
return (t2 ? p(t2) : n2)[r2];
|
1699
|
+
}
|
1700
|
+
function I(n2, r2) {
|
1701
|
+
if (r2 in n2)
|
1702
|
+
for (var t2 = Object.getPrototypeOf(n2); t2; ) {
|
1703
|
+
var e2 = Object.getOwnPropertyDescriptor(t2, r2);
|
1704
|
+
if (e2)
|
1705
|
+
return e2;
|
1706
|
+
t2 = Object.getPrototypeOf(t2);
|
1707
|
+
}
|
1708
|
+
}
|
1709
|
+
function k(n2) {
|
1710
|
+
n2.P || (n2.P = true, n2.l && k(n2.l));
|
1711
|
+
}
|
1712
|
+
function E(n2) {
|
1713
|
+
n2.o || (n2.o = l(n2.t));
|
1714
|
+
}
|
1715
|
+
function R(n2, r2, t2) {
|
1716
|
+
var e2 = s(r2) ? b("MapSet").N(r2, t2) : v(r2) ? b("MapSet").T(r2, t2) : n2.g ? function(n3, r3) {
|
1717
|
+
var t3 = Array.isArray(n3), e3 = { i: t3 ? 1 : 0, A: r3 ? r3.A : _(), P: false, I: false, D: {}, l: r3, t: n3, k: null, o: null, j: null, C: false }, i2 = e3, o2 = en;
|
1718
|
+
t3 && (i2 = [e3], o2 = on);
|
1719
|
+
var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy;
|
1720
|
+
return e3.k = f2, e3.j = a2, f2;
|
1721
|
+
}(r2, t2) : b("ES5").J(r2, t2);
|
1722
|
+
return (t2 ? t2.A : _()).p.push(e2), e2;
|
1723
|
+
}
|
1724
|
+
function D(e2) {
|
1725
|
+
return r(e2) || n(22, e2), function n2(r2) {
|
1726
|
+
if (!t(r2))
|
1727
|
+
return r2;
|
1728
|
+
var e3, u2 = r2[Q], c2 = o(r2);
|
1729
|
+
if (u2) {
|
1730
|
+
if (!u2.P && (u2.i < 4 || !b("ES5").K(u2)))
|
1731
|
+
return u2.t;
|
1732
|
+
u2.I = true, e3 = F(r2, c2), u2.I = false;
|
1733
|
+
} else
|
1734
|
+
e3 = F(r2, c2);
|
1735
|
+
return i(e3, function(r3, t2) {
|
1736
|
+
u2 && a(u2.t, r3) === t2 || f(e3, r3, n2(t2));
|
1737
|
+
}), c2 === 3 ? new Set(e3) : e3;
|
1738
|
+
}(e2);
|
1739
|
+
}
|
1740
|
+
function F(n2, r2) {
|
1741
|
+
switch (r2) {
|
1742
|
+
case 2:
|
1743
|
+
return new Map(n2);
|
1744
|
+
case 3:
|
1745
|
+
return Array.from(n2);
|
1746
|
+
}
|
1747
|
+
return l(n2);
|
1748
|
+
}
|
1749
|
+
var G, U, W = typeof Symbol != "undefined" && typeof Symbol("x") == "symbol", X = typeof Map != "undefined", q = typeof Set != "undefined", B = typeof Proxy != "undefined" && Proxy.revocable !== void 0 && typeof Reflect != "undefined", H = W ? Symbol.for("immer-nothing") : ((G = {})["immer-nothing"] = true, G), L = W ? Symbol.for("immer-draftable") : "__$immer_draftable", Q = W ? Symbol.for("immer-state") : "__$immer_state", Z = "" + Object.prototype.constructor, nn = typeof Reflect != "undefined" && Reflect.ownKeys ? Reflect.ownKeys : Object.getOwnPropertySymbols !== void 0 ? function(n2) {
|
1750
|
+
return Object.getOwnPropertyNames(n2).concat(Object.getOwnPropertySymbols(n2));
|
1751
|
+
} : Object.getOwnPropertyNames, rn = Object.getOwnPropertyDescriptors || function(n2) {
|
1752
|
+
var r2 = {};
|
1753
|
+
return nn(n2).forEach(function(t2) {
|
1754
|
+
r2[t2] = Object.getOwnPropertyDescriptor(n2, t2);
|
1755
|
+
}), r2;
|
1756
|
+
}, tn = {}, en = { get: function(n2, r2) {
|
1757
|
+
if (r2 === Q)
|
1758
|
+
return n2;
|
1759
|
+
var e2 = p(n2);
|
1760
|
+
if (!u(e2, r2))
|
1761
|
+
return function(n3, r3, t2) {
|
1762
|
+
var e3, i3 = I(r3, t2);
|
1763
|
+
return i3 ? "value" in i3 ? i3.value : (e3 = i3.get) === null || e3 === void 0 ? void 0 : e3.call(n3.k) : void 0;
|
1764
|
+
}(n2, e2, r2);
|
1765
|
+
var i2 = e2[r2];
|
1766
|
+
return n2.I || !t(i2) ? i2 : i2 === z(n2.t, r2) ? (E(n2), n2.o[r2] = R(n2.A.h, i2, n2)) : i2;
|
1767
|
+
}, has: function(n2, r2) {
|
1768
|
+
return r2 in p(n2);
|
1769
|
+
}, ownKeys: function(n2) {
|
1770
|
+
return Reflect.ownKeys(p(n2));
|
1771
|
+
}, set: function(n2, r2, t2) {
|
1772
|
+
var e2 = I(p(n2), r2);
|
1773
|
+
if (e2 == null ? void 0 : e2.set)
|
1774
|
+
return e2.set.call(n2.k, t2), true;
|
1775
|
+
if (!n2.P) {
|
1776
|
+
var i2 = z(p(n2), r2), o2 = i2 == null ? void 0 : i2[Q];
|
1777
|
+
if (o2 && o2.t === t2)
|
1778
|
+
return n2.o[r2] = t2, n2.D[r2] = false, true;
|
1779
|
+
if (c(t2, i2) && (t2 !== void 0 || u(n2.t, r2)))
|
1780
|
+
return true;
|
1781
|
+
E(n2), k(n2);
|
1782
|
+
}
|
1783
|
+
return n2.o[r2] === t2 && typeof t2 != "number" && (t2 !== void 0 || r2 in n2.o) || (n2.o[r2] = t2, n2.D[r2] = true, true);
|
1784
|
+
}, deleteProperty: function(n2, r2) {
|
1785
|
+
return z(n2.t, r2) !== void 0 || r2 in n2.t ? (n2.D[r2] = false, E(n2), k(n2)) : delete n2.D[r2], n2.o && delete n2.o[r2], true;
|
1786
|
+
}, getOwnPropertyDescriptor: function(n2, r2) {
|
1787
|
+
var t2 = p(n2), e2 = Reflect.getOwnPropertyDescriptor(t2, r2);
|
1788
|
+
return e2 ? { writable: true, configurable: n2.i !== 1 || r2 !== "length", enumerable: e2.enumerable, value: t2[r2] } : e2;
|
1789
|
+
}, defineProperty: function() {
|
1790
|
+
n(11);
|
1791
|
+
}, getPrototypeOf: function(n2) {
|
1792
|
+
return Object.getPrototypeOf(n2.t);
|
1793
|
+
}, setPrototypeOf: function() {
|
1794
|
+
n(12);
|
1795
|
+
} }, on = {};
|
1796
|
+
i(en, function(n2, r2) {
|
1797
|
+
on[n2] = function() {
|
1798
|
+
return arguments[0] = arguments[0][0], r2.apply(this, arguments);
|
1799
|
+
};
|
1800
|
+
}), on.deleteProperty = function(r2, t2) {
|
1801
|
+
return on.set.call(this, r2, t2, void 0);
|
1802
|
+
}, on.set = function(r2, t2, e2) {
|
1803
|
+
return en.set.call(this, r2[0], t2, e2, r2[0]);
|
1804
|
+
};
|
1805
|
+
var un = function() {
|
1806
|
+
function e2(r2) {
|
1807
|
+
var e3 = this;
|
1808
|
+
this.g = B, this.F = true, this.produce = function(r3, i3, o2) {
|
1809
|
+
if (typeof r3 == "function" && typeof i3 != "function") {
|
1810
|
+
var u2 = i3;
|
1811
|
+
i3 = r3;
|
1812
|
+
var a2 = e3;
|
1813
|
+
return function(n2) {
|
1814
|
+
var r4 = this;
|
1815
|
+
n2 === void 0 && (n2 = u2);
|
1816
|
+
for (var t2 = arguments.length, e4 = Array(t2 > 1 ? t2 - 1 : 0), o3 = 1; o3 < t2; o3++)
|
1817
|
+
e4[o3 - 1] = arguments[o3];
|
1818
|
+
return a2.produce(n2, function(n3) {
|
1819
|
+
var t3;
|
1820
|
+
return (t3 = i3).call.apply(t3, [r4, n3].concat(e4));
|
1821
|
+
});
|
1822
|
+
};
|
1823
|
+
}
|
1824
|
+
var f2;
|
1825
|
+
if (typeof i3 != "function" && n(6), o2 !== void 0 && typeof o2 != "function" && n(7), t(r3)) {
|
1826
|
+
var c2 = w(e3), s2 = R(e3, r3, void 0), v2 = true;
|
1827
|
+
try {
|
1828
|
+
f2 = i3(s2), v2 = false;
|
1829
|
+
} finally {
|
1830
|
+
v2 ? O(c2) : g(c2);
|
1831
|
+
}
|
1832
|
+
return typeof Promise != "undefined" && f2 instanceof Promise ? f2.then(function(n2) {
|
1833
|
+
return j(c2, o2), P(n2, c2);
|
1834
|
+
}, function(n2) {
|
1835
|
+
throw O(c2), n2;
|
1836
|
+
}) : (j(c2, o2), P(f2, c2));
|
1837
|
+
}
|
1838
|
+
if (!r3 || typeof r3 != "object") {
|
1839
|
+
if ((f2 = i3(r3)) === void 0 && (f2 = r3), f2 === H && (f2 = void 0), e3.F && d(f2, true), o2) {
|
1840
|
+
var p2 = [], l2 = [];
|
1841
|
+
b("Patches").M(r3, f2, p2, l2), o2(p2, l2);
|
1842
|
+
}
|
1843
|
+
return f2;
|
1844
|
+
}
|
1845
|
+
n(21, r3);
|
1846
|
+
}, this.produceWithPatches = function(n2, r3) {
|
1847
|
+
if (typeof n2 == "function")
|
1848
|
+
return function(r4) {
|
1849
|
+
for (var t3 = arguments.length, i4 = Array(t3 > 1 ? t3 - 1 : 0), o3 = 1; o3 < t3; o3++)
|
1850
|
+
i4[o3 - 1] = arguments[o3];
|
1851
|
+
return e3.produceWithPatches(r4, function(r5) {
|
1852
|
+
return n2.apply(void 0, [r5].concat(i4));
|
1853
|
+
});
|
1854
|
+
};
|
1855
|
+
var t2, i3, o2 = e3.produce(n2, r3, function(n3, r4) {
|
1856
|
+
t2 = n3, i3 = r4;
|
1857
|
+
});
|
1858
|
+
return typeof Promise != "undefined" && o2 instanceof Promise ? o2.then(function(n3) {
|
1859
|
+
return [n3, t2, i3];
|
1860
|
+
}) : [o2, t2, i3];
|
1861
|
+
}, typeof (r2 == null ? void 0 : r2.useProxies) == "boolean" && this.setUseProxies(r2.useProxies), typeof (r2 == null ? void 0 : r2.autoFreeze) == "boolean" && this.setAutoFreeze(r2.autoFreeze);
|
1862
|
+
}
|
1863
|
+
var i2 = e2.prototype;
|
1864
|
+
return i2.createDraft = function(e3) {
|
1865
|
+
t(e3) || n(8), r(e3) && (e3 = D(e3));
|
1866
|
+
var i3 = w(this), o2 = R(this, e3, void 0);
|
1867
|
+
return o2[Q].C = true, g(i3), o2;
|
1868
|
+
}, i2.finishDraft = function(r2, t2) {
|
1869
|
+
var e3 = r2 && r2[Q];
|
1870
|
+
var i3 = e3.A;
|
1871
|
+
return j(i3, t2), P(void 0, i3);
|
1872
|
+
}, i2.setAutoFreeze = function(n2) {
|
1873
|
+
this.F = n2;
|
1874
|
+
}, i2.setUseProxies = function(r2) {
|
1875
|
+
r2 && !B && n(20), this.g = r2;
|
1876
|
+
}, i2.applyPatches = function(n2, t2) {
|
1877
|
+
var e3;
|
1878
|
+
for (e3 = t2.length - 1; e3 >= 0; e3--) {
|
1879
|
+
var i3 = t2[e3];
|
1880
|
+
if (i3.path.length === 0 && i3.op === "replace") {
|
1881
|
+
n2 = i3.value;
|
1882
|
+
break;
|
1883
|
+
}
|
1884
|
+
}
|
1885
|
+
e3 > -1 && (t2 = t2.slice(e3 + 1));
|
1886
|
+
var o2 = b("Patches").$;
|
1887
|
+
return r(n2) ? o2(n2, t2) : this.produce(n2, function(n3) {
|
1888
|
+
return o2(n3, t2);
|
1889
|
+
});
|
1890
|
+
}, e2;
|
1891
|
+
}(), an = new un(), fn = an.produce;
|
1892
|
+
an.produceWithPatches.bind(an);
|
1893
|
+
an.setAutoFreeze.bind(an);
|
1894
|
+
an.setUseProxies.bind(an);
|
1895
|
+
an.applyPatches.bind(an);
|
1896
|
+
an.createDraft.bind(an);
|
1897
|
+
an.finishDraft.bind(an);
|
1898
|
+
const immerImpl = (initializer) => (set2, get2, store) => {
|
1899
|
+
store.setState = (updater, replace, ...a2) => {
|
1900
|
+
const nextState = typeof updater === "function" ? fn(updater) : updater;
|
1901
|
+
return set2(nextState, replace, ...a2);
|
1902
|
+
};
|
1903
|
+
return initializer(store.setState, get2, store);
|
1904
|
+
};
|
1905
|
+
const immer = immerImpl;
|
1906
|
+
const storeFamily = (create2) => {
|
1907
|
+
const stores = /* @__PURE__ */ new Map();
|
1908
|
+
const family = (formId) => {
|
1909
|
+
if (stores.has(formId))
|
1910
|
+
return stores.get(formId);
|
1911
|
+
const store = create2(formId);
|
1912
|
+
stores.set(formId, store);
|
1913
|
+
return store;
|
1914
|
+
};
|
1915
|
+
family.remove = (formId) => {
|
1916
|
+
stores.delete(formId);
|
1917
|
+
};
|
1918
|
+
return family;
|
1919
|
+
};
|
1920
|
+
const controlledFieldStore = storeFamily(() => create$1()(immer((set2, get2, api) => ({
|
1921
|
+
fields: {},
|
1922
|
+
register: (field) => set2((state) => {
|
1923
|
+
if (state.fields[field]) {
|
1924
|
+
state.fields[field].refCount++;
|
1925
|
+
} else {
|
1926
|
+
state.fields[field] = {
|
1927
|
+
refCount: 1,
|
1928
|
+
value: void 0,
|
1929
|
+
hydrated: false,
|
1930
|
+
valueUpdatePromise: void 0,
|
1931
|
+
resolveValueUpdate: void 0
|
1932
|
+
};
|
1933
|
+
}
|
1934
|
+
}),
|
1935
|
+
unregister: (field) => set2((state) => {
|
1936
|
+
const fieldState = state.fields[field];
|
1937
|
+
if (!fieldState)
|
1938
|
+
return;
|
1939
|
+
fieldState.refCount--;
|
1940
|
+
if (fieldState.refCount === 0)
|
1941
|
+
delete state.fields[field];
|
1942
|
+
}),
|
1943
|
+
setValue: (field, value) => set2((state) => {
|
1944
|
+
const fieldState = state.fields[field];
|
1945
|
+
if (!fieldState)
|
1946
|
+
return;
|
1947
|
+
fieldState.value = value;
|
1948
|
+
const promise = new Promise((resolve) => {
|
1949
|
+
fieldState.resolveValueUpdate = resolve;
|
1950
|
+
});
|
1951
|
+
fieldState.valueUpdatePromise = promise;
|
1952
|
+
}),
|
1953
|
+
hydrateWithDefault: (field, defaultValue) => set2((state) => {
|
1954
|
+
const fieldState = state.fields[field];
|
1955
|
+
if (!fieldState)
|
1956
|
+
return;
|
1957
|
+
fieldState.value = defaultValue;
|
1958
|
+
fieldState.defaultValue = defaultValue;
|
1959
|
+
fieldState.hydrated = true;
|
1960
|
+
}),
|
1961
|
+
awaitValueUpdate: async (field) => {
|
1962
|
+
var _a;
|
1963
|
+
await ((_a = get2().fields[field]) == null ? void 0 : _a.valueUpdatePromise);
|
1964
|
+
},
|
1965
|
+
reset: () => set2((state) => {
|
1966
|
+
Object.values(state.fields).forEach((field) => {
|
1967
|
+
if (!field)
|
1968
|
+
return;
|
1969
|
+
field.value = field.defaultValue;
|
1970
|
+
});
|
1971
|
+
})
|
1972
|
+
}))));
|
1973
|
+
const formStore = storeFamily((formId) => create$1()(immer((set2, get2, api) => ({
|
1974
|
+
isHydrated: false,
|
1975
|
+
isSubmitting: false,
|
1976
|
+
hasBeenSubmitted: false,
|
1977
|
+
touchedFields: {},
|
1978
|
+
fieldErrors: {},
|
1979
|
+
formElement: null,
|
1980
|
+
isValid: () => Object.keys(get2().fieldErrors).length === 0,
|
1981
|
+
startSubmit: () => set2((state) => {
|
1982
|
+
state.isSubmitting = true;
|
1983
|
+
state.hasBeenSubmitted = true;
|
1984
|
+
}),
|
1985
|
+
endSubmit: () => set2((state) => {
|
1986
|
+
state.isSubmitting = false;
|
1987
|
+
}),
|
1988
|
+
setTouched: (fieldName, touched) => set2((state) => {
|
1989
|
+
state.touchedFields[fieldName] = touched;
|
1990
|
+
}),
|
1991
|
+
setFieldError: (fieldName, error) => set2((state) => {
|
1992
|
+
state.fieldErrors[fieldName] = error;
|
1993
|
+
}),
|
1994
|
+
setFieldErrors: (errors) => set2((state) => {
|
1995
|
+
state.fieldErrors = errors;
|
1996
|
+
}),
|
1997
|
+
clearFieldError: (fieldName) => set2((state) => {
|
1998
|
+
delete state.fieldErrors[fieldName];
|
1999
|
+
}),
|
2000
|
+
reset: () => set2((state) => {
|
2001
|
+
state.fieldErrors = {};
|
2002
|
+
state.touchedFields = {};
|
2003
|
+
state.hasBeenSubmitted = false;
|
2004
|
+
}),
|
2005
|
+
syncFormProps: (props) => set2((state) => {
|
2006
|
+
state.formProps = props;
|
2007
|
+
}),
|
2008
|
+
setHydrated: () => set2((state) => {
|
2009
|
+
state.isHydrated = true;
|
2010
|
+
}),
|
2011
|
+
setFormElement: (formElement) => {
|
2012
|
+
if (get2().formElement === formElement)
|
2013
|
+
return;
|
2014
|
+
set2((state) => {
|
2015
|
+
state.formElement = formElement;
|
2016
|
+
});
|
2017
|
+
},
|
2018
|
+
validateField: async (field) => {
|
2019
|
+
var _a, _b, _c;
|
2020
|
+
const formElement = get2().formElement;
|
2021
|
+
invariant(formElement);
|
2022
|
+
const validator = (_a = get2().formProps) == null ? void 0 : _a.validator;
|
2023
|
+
invariant(validator);
|
2024
|
+
await ((_c = (_b = controlledFieldStore(formId).getState()).awaitValueUpdate) == null ? void 0 : _c.call(_b, field));
|
2025
|
+
const { error } = await validator.validateField(new FormData(formElement), field);
|
2026
|
+
if (error) {
|
2027
|
+
get2().setFieldError(field, error);
|
2028
|
+
return error;
|
2029
|
+
} else {
|
2030
|
+
get2().clearFieldError(field);
|
2031
|
+
return null;
|
2032
|
+
}
|
2033
|
+
},
|
2034
|
+
validate: async () => {
|
2035
|
+
var _a;
|
2036
|
+
const formElement = get2().formElement;
|
2037
|
+
invariant(formElement);
|
2038
|
+
const validator = (_a = get2().formProps) == null ? void 0 : _a.validator;
|
2039
|
+
invariant(validator);
|
2040
|
+
const { error } = await validator.validate(new FormData(formElement));
|
2041
|
+
if (error)
|
2042
|
+
get2().setFieldErrors(error.fieldErrors);
|
2043
|
+
},
|
2044
|
+
resetFormElement: () => {
|
2045
|
+
var _a;
|
2046
|
+
return (_a = get2().formElement) == null ? void 0 : _a.reset();
|
2047
|
+
}
|
2048
|
+
}))));
|
2049
|
+
const useFormStore = (formId, selector) => {
|
2050
|
+
const useStore2 = formStore(formId);
|
2051
|
+
return useStore2(selector);
|
2052
|
+
};
|
2053
|
+
const useControlledFieldStore = (formId, selector) => {
|
2054
|
+
const useStore2 = controlledFieldStore(formId);
|
2055
|
+
return useStore2(selector);
|
2056
|
+
};
|
2057
|
+
const useInternalFormContext = (formId, hookName) => {
|
2058
|
+
const formContext = useContext(InternalFormContext);
|
2059
|
+
if (formId)
|
2060
|
+
return { formId };
|
2061
|
+
if (formContext)
|
2062
|
+
return formContext;
|
2063
|
+
throw new Error(`Unable to determine form for ${hookName}. Please use it inside a ValidatedForm or pass a 'formId'.`);
|
2064
|
+
};
|
2065
|
+
function useErrorResponseForForm({
|
2066
|
+
fetcher,
|
2067
|
+
subaction,
|
2068
|
+
formId
|
2069
|
+
}) {
|
2070
|
+
var _a;
|
2071
|
+
const actionData = useActionData();
|
2072
|
+
if (fetcher) {
|
2073
|
+
if ((_a = fetcher.data) == null ? void 0 : _a.fieldErrors)
|
2074
|
+
return fetcher.data;
|
2075
|
+
return null;
|
2076
|
+
}
|
2077
|
+
if (!(actionData == null ? void 0 : actionData.fieldErrors))
|
2078
|
+
return null;
|
2079
|
+
if (typeof formId === "string" && actionData.formId)
|
2080
|
+
return actionData.formId === formId ? actionData : null;
|
2081
|
+
if (!subaction && !actionData.subaction || actionData.subaction === subaction)
|
2082
|
+
return actionData;
|
2083
|
+
return null;
|
2084
|
+
}
|
2085
|
+
const useFieldErrorsForForm = (context) => {
|
2086
|
+
const response = useErrorResponseForForm(context);
|
2087
|
+
const hydrated = useFormStore(context.formId, (state) => state.isHydrated);
|
2088
|
+
return hydratable.from(response == null ? void 0 : response.fieldErrors, hydrated);
|
2089
|
+
};
|
2090
|
+
const useDefaultValuesFromLoader = ({
|
2091
|
+
formId
|
2092
|
+
}) => {
|
2093
|
+
const matches = useMatches();
|
2094
|
+
if (typeof formId === "string") {
|
2095
|
+
const dataKey = formDefaultValuesKey(formId);
|
2096
|
+
const match = matches.reverse().find((match2) => match2.data && dataKey in match2.data);
|
2097
|
+
return match == null ? void 0 : match.data[dataKey];
|
2098
|
+
}
|
2099
|
+
return null;
|
2100
|
+
};
|
2101
|
+
const useDefaultValuesForForm = (context) => {
|
2102
|
+
const { formId, defaultValuesProp } = context;
|
2103
|
+
const hydrated = useFormStore(formId, (state) => state.isHydrated);
|
2104
|
+
const errorResponse = useErrorResponseForForm(context);
|
2105
|
+
const defaultValuesFromLoader = useDefaultValuesFromLoader(context);
|
2106
|
+
if (hydrated)
|
2107
|
+
return hydratable.hydratedData();
|
2108
|
+
if (errorResponse == null ? void 0 : errorResponse.repopulateFields) {
|
2109
|
+
invariant(typeof errorResponse.repopulateFields === "object");
|
2110
|
+
return hydratable.serverData(errorResponse.repopulateFields);
|
2111
|
+
}
|
2112
|
+
if (defaultValuesProp)
|
2113
|
+
return hydratable.serverData(defaultValuesProp);
|
2114
|
+
return hydratable.serverData(defaultValuesFromLoader);
|
2115
|
+
};
|
2116
|
+
const useHasActiveFormSubmit = ({
|
2117
|
+
fetcher
|
2118
|
+
}) => {
|
2119
|
+
const transition = useTransition();
|
2120
|
+
const hasActiveSubmission = fetcher ? fetcher.state === "submitting" : !!transition.submission;
|
2121
|
+
return hasActiveSubmission;
|
2122
|
+
};
|
2123
|
+
const useFieldTouched = (field, { formId }) => {
|
2124
|
+
const touched = useFormStore(formId, (state) => state.touchedFields[field]);
|
2125
|
+
const setFieldTouched = useFormStore(formId, (state) => state.setTouched);
|
2126
|
+
const setTouched = useCallback((touched2) => setFieldTouched(field, touched2), [field, setFieldTouched]);
|
2127
|
+
return [touched, setTouched];
|
2128
|
+
};
|
2129
|
+
const useFieldError = (name, context) => {
|
2130
|
+
const fieldErrors = useFieldErrorsForForm(context);
|
2131
|
+
const state = useFormStore(context.formId, (state2) => state2.fieldErrors[name]);
|
2132
|
+
return fieldErrors.map((fieldErrors2) => fieldErrors2 == null ? void 0 : fieldErrors2[name]).hydrateTo(state);
|
2133
|
+
};
|
2134
|
+
const useClearError = (context) => {
|
2135
|
+
const { formId } = context;
|
2136
|
+
return useFormStore(formId, (state) => state.clearFieldError);
|
2137
|
+
};
|
2138
|
+
const useFieldDefaultValue = (name, context) => {
|
2139
|
+
const defaultValues = useDefaultValuesForForm(context);
|
2140
|
+
const state = useSyncedDefaultValues(context.formId);
|
2141
|
+
return defaultValues.map((val) => get_1(val, name)).hydrateTo(get_1(state, name));
|
2142
|
+
};
|
2143
|
+
const useInternalIsSubmitting = (formId) => useFormStore(formId, (state) => state.isSubmitting);
|
2144
|
+
const useInternalIsValid = (formId) => useFormStore(formId, (state) => state.isValid());
|
2145
|
+
const useInternalHasBeenSubmitted = (formId) => useFormStore(formId, (state) => state.hasBeenSubmitted);
|
2146
|
+
const useValidateField = (formId) => useFormStore(formId, (state) => state.validateField);
|
2147
|
+
const useValidate = (formId) => useFormStore(formId, (state) => state.validate);
|
2148
|
+
const noOpReceiver = () => () => {
|
2149
|
+
};
|
2150
|
+
const useRegisterReceiveFocus = (formId) => useFormStore(formId, (state) => {
|
2151
|
+
var _a, _b;
|
2152
|
+
return (_b = (_a = state.formProps) == null ? void 0 : _a.registerReceiveFocus) != null ? _b : noOpReceiver;
|
2153
|
+
});
|
2154
|
+
const defaultDefaultValues = {};
|
2155
|
+
const useSyncedDefaultValues = (formId) => useFormStore(formId, (state) => {
|
2156
|
+
var _a, _b;
|
2157
|
+
return (_b = (_a = state.formProps) == null ? void 0 : _a.defaultValues) != null ? _b : defaultDefaultValues;
|
2158
|
+
});
|
2159
|
+
const useSetTouched = ({ formId }) => useFormStore(formId, (state) => state.setTouched);
|
2160
|
+
const useTouchedFields = (formId) => useFormStore(formId, (state) => state.touchedFields);
|
2161
|
+
const useFieldErrors = (formId) => useFormStore(formId, (state) => state.fieldErrors);
|
2162
|
+
const useSetFieldErrors = (formId) => useFormStore(formId, (state) => state.setFieldErrors);
|
2163
|
+
const useResetFormElement = (formId) => useFormStore(formId, (state) => state.resetFormElement);
|
2164
|
+
const useFormActionProp = (formId) => useFormStore(formId, (state) => {
|
2165
|
+
var _a;
|
2166
|
+
return (_a = state.formProps) == null ? void 0 : _a.action;
|
2167
|
+
});
|
2168
|
+
const useFormSubactionProp = (formId) => useFormStore(formId, (state) => {
|
2169
|
+
var _a;
|
2170
|
+
return (_a = state.formProps) == null ? void 0 : _a.subaction;
|
2171
|
+
});
|
2172
|
+
const useControlledFieldValue = (context, field) => {
|
2173
|
+
const useValueStore = controlledFieldStore(context.formId);
|
2174
|
+
const value = useValueStore((state) => {
|
2175
|
+
var _a;
|
2176
|
+
return (_a = state.fields[field]) == null ? void 0 : _a.value;
|
2177
|
+
});
|
2178
|
+
const useFormStore2 = formStore(context.formId);
|
2179
|
+
const isFormHydrated = useFormStore2((state) => state.isHydrated);
|
2180
|
+
const defaultValue = useFieldDefaultValue(field, context);
|
2181
|
+
const isFieldHydrated = useValueStore((state) => {
|
2182
|
+
var _a, _b;
|
2183
|
+
return (_b = (_a = state.fields[field]) == null ? void 0 : _a.hydrated) != null ? _b : false;
|
2184
|
+
});
|
2185
|
+
const hydrateWithDefault = useValueStore((state) => state.hydrateWithDefault);
|
2186
|
+
useEffect(() => {
|
2187
|
+
if (isFormHydrated && !isFieldHydrated) {
|
2188
|
+
hydrateWithDefault(field, defaultValue);
|
2189
|
+
}
|
2190
|
+
}, [
|
2191
|
+
defaultValue,
|
2192
|
+
field,
|
2193
|
+
hydrateWithDefault,
|
2194
|
+
isFieldHydrated,
|
2195
|
+
isFormHydrated
|
2196
|
+
]);
|
2197
|
+
return isFieldHydrated ? value : defaultValue;
|
2198
|
+
};
|
2199
|
+
const useControllableValue = (context, field) => {
|
2200
|
+
const useValueStore = controlledFieldStore(context.formId);
|
2201
|
+
const resolveUpdate = useValueStore((state) => {
|
2202
|
+
var _a;
|
2203
|
+
return (_a = state.fields[field]) == null ? void 0 : _a.resolveValueUpdate;
|
2204
|
+
});
|
2205
|
+
useEffect(() => {
|
2206
|
+
resolveUpdate == null ? void 0 : resolveUpdate();
|
2207
|
+
}, [resolveUpdate]);
|
2208
|
+
const register = useValueStore((state) => state.register);
|
2209
|
+
const unregister = useValueStore((state) => state.unregister);
|
2210
|
+
useEffect(() => {
|
2211
|
+
register(field);
|
2212
|
+
return () => unregister(field);
|
2213
|
+
}, [context.formId, field, register, unregister]);
|
2214
|
+
const setControlledFieldValue = useValueStore((state) => state.setValue);
|
2215
|
+
const setValue = useCallback((value2) => setControlledFieldValue(field, value2), [field, setControlledFieldValue]);
|
2216
|
+
const value = useControlledFieldValue(context, field);
|
2217
|
+
return [value, setValue];
|
2218
|
+
};
|
2219
|
+
const useUpdateControllableValue = (formId) => {
|
2220
|
+
const useValueStore = controlledFieldStore(formId);
|
2221
|
+
return useValueStore((state) => state.setValue);
|
2222
|
+
};
|
2223
|
+
const useIsSubmitting = (formId) => {
|
2224
|
+
const formContext = useInternalFormContext(formId, "useIsSubmitting");
|
2225
|
+
return useInternalIsSubmitting(formContext.formId);
|
2226
|
+
};
|
2227
|
+
const useIsValid = (formId) => {
|
2228
|
+
const formContext = useInternalFormContext(formId, "useIsValid");
|
2229
|
+
return useInternalIsValid(formContext.formId);
|
2230
|
+
};
|
2231
|
+
const useField = (name, options) => {
|
2232
|
+
const { formId: providedFormId, handleReceiveFocus } = options != null ? options : {};
|
2233
|
+
const formContext = useInternalFormContext(providedFormId, "useField");
|
2234
|
+
const defaultValue = useFieldDefaultValue(name, formContext);
|
2235
|
+
const [touched, setTouched] = useFieldTouched(name, formContext);
|
2236
|
+
const error = useFieldError(name, formContext);
|
2237
|
+
const clearError = useClearError(formContext);
|
2238
|
+
const hasBeenSubmitted = useInternalHasBeenSubmitted(formContext.formId);
|
2239
|
+
const validateField = useValidateField(formContext.formId);
|
2240
|
+
const registerReceiveFocus = useRegisterReceiveFocus(formContext.formId);
|
2241
|
+
useEffect(() => {
|
2242
|
+
if (handleReceiveFocus)
|
2243
|
+
return registerReceiveFocus(name, handleReceiveFocus);
|
2244
|
+
}, [handleReceiveFocus, name, registerReceiveFocus]);
|
2245
|
+
const field = useMemo(() => {
|
2246
|
+
const helpers = {
|
2247
|
+
error,
|
2248
|
+
clearError: () => clearError(name),
|
2249
|
+
validate: () => {
|
2250
|
+
validateField(name);
|
2251
|
+
},
|
2252
|
+
defaultValue,
|
2253
|
+
touched,
|
2254
|
+
setTouched
|
2255
|
+
};
|
2256
|
+
const getInputProps = createGetInputProps(__spreadProps(__spreadValues({}, helpers), {
|
2257
|
+
name,
|
2258
|
+
hasBeenSubmitted,
|
2259
|
+
validationBehavior: options == null ? void 0 : options.validationBehavior
|
2260
|
+
}));
|
2261
|
+
return __spreadProps(__spreadValues({}, helpers), {
|
2262
|
+
getInputProps
|
2263
|
+
});
|
2264
|
+
}, [
|
2265
|
+
error,
|
2266
|
+
clearError,
|
2267
|
+
defaultValue,
|
2268
|
+
touched,
|
2269
|
+
setTouched,
|
2270
|
+
name,
|
2271
|
+
hasBeenSubmitted,
|
2272
|
+
options == null ? void 0 : options.validationBehavior,
|
2273
|
+
validateField
|
2274
|
+
]);
|
2275
|
+
return field;
|
2276
|
+
};
|
2277
|
+
const useControlField = (name, formId) => {
|
2278
|
+
const context = useInternalFormContext(formId, "useControlField");
|
2279
|
+
const [value, setValue] = useControllableValue(context, name);
|
2280
|
+
return [value, setValue];
|
2281
|
+
};
|
2282
|
+
const useUpdateControlledField = (formId) => {
|
2283
|
+
const context = useInternalFormContext(formId, "useControlField");
|
2284
|
+
return useUpdateControllableValue(context.formId);
|
2285
|
+
};
|
2286
|
+
function validationError(error, repopulateFields, init) {
|
2287
|
+
return json({
|
2288
|
+
fieldErrors: error.fieldErrors,
|
2289
|
+
subaction: error.subaction,
|
2290
|
+
repopulateFields,
|
2291
|
+
formId: error.formId
|
2292
|
+
}, __spreadValues({ status: 422 }, init));
|
2293
|
+
}
|
2294
|
+
const setFormDefaults = (formId, defaultValues) => ({
|
2295
|
+
[formDefaultValuesKey(formId)]: defaultValues
|
2296
|
+
});
|
2297
|
+
function baseFindIndex$1(array, predicate, fromIndex, fromRight) {
|
2298
|
+
var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
|
2299
|
+
while (fromRight ? index-- : ++index < length) {
|
2300
|
+
if (predicate(array[index], index, array)) {
|
2301
|
+
return index;
|
2302
|
+
}
|
2303
|
+
}
|
2304
|
+
return -1;
|
2305
|
+
}
|
2306
|
+
var _baseFindIndex = baseFindIndex$1;
|
2307
|
+
function baseIsNaN$1(value) {
|
2308
|
+
return value !== value;
|
2309
|
+
}
|
2310
|
+
var _baseIsNaN = baseIsNaN$1;
|
2311
|
+
function strictIndexOf$1(array, value, fromIndex) {
|
2312
|
+
var index = fromIndex - 1, length = array.length;
|
2313
|
+
while (++index < length) {
|
2314
|
+
if (array[index] === value) {
|
2315
|
+
return index;
|
2316
|
+
}
|
2317
|
+
}
|
2318
|
+
return -1;
|
2319
|
+
}
|
2320
|
+
var _strictIndexOf = strictIndexOf$1;
|
2321
|
+
var baseFindIndex = _baseFindIndex, baseIsNaN = _baseIsNaN, strictIndexOf = _strictIndexOf;
|
2322
|
+
function baseIndexOf$1(array, value, fromIndex) {
|
2323
|
+
return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
|
2324
|
+
}
|
2325
|
+
var _baseIndexOf = baseIndexOf$1;
|
2326
|
+
var baseIndexOf = _baseIndexOf;
|
2327
|
+
function arrayIncludes$1(array, value) {
|
2328
|
+
var length = array == null ? 0 : array.length;
|
2329
|
+
return !!length && baseIndexOf(array, value, 0) > -1;
|
2330
|
+
}
|
2331
|
+
var _arrayIncludes = arrayIncludes$1;
|
2332
|
+
function arrayIncludesWith$1(array, value, comparator) {
|
2333
|
+
var index = -1, length = array == null ? 0 : array.length;
|
2334
|
+
while (++index < length) {
|
2335
|
+
if (comparator(value, array[index])) {
|
2336
|
+
return true;
|
2337
|
+
}
|
2338
|
+
}
|
2339
|
+
return false;
|
2340
|
+
}
|
2341
|
+
var _arrayIncludesWith = arrayIncludesWith$1;
|
2342
|
+
function noop$1() {
|
2343
|
+
}
|
2344
|
+
var noop_1 = noop$1;
|
2345
|
+
var Set$1 = _Set, noop = noop_1, setToArray$1 = _setToArray;
|
2346
|
+
var INFINITY = 1 / 0;
|
2347
|
+
var createSet$1 = !(Set$1 && 1 / setToArray$1(new Set$1([, -0]))[1] == INFINITY) ? noop : function(values) {
|
2348
|
+
return new Set$1(values);
|
2349
|
+
};
|
2350
|
+
var _createSet = createSet$1;
|
2351
|
+
var SetCache = _SetCache, arrayIncludes = _arrayIncludes, arrayIncludesWith = _arrayIncludesWith, cacheHas = _cacheHas, createSet = _createSet, setToArray = _setToArray;
|
2352
|
+
var LARGE_ARRAY_SIZE = 200;
|
2353
|
+
function baseUniq$1(array, iteratee, comparator) {
|
2354
|
+
var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
|
2355
|
+
if (comparator) {
|
2356
|
+
isCommon = false;
|
2357
|
+
includes = arrayIncludesWith;
|
2358
|
+
} else if (length >= LARGE_ARRAY_SIZE) {
|
2359
|
+
var set2 = iteratee ? null : createSet(array);
|
2360
|
+
if (set2) {
|
2361
|
+
return setToArray(set2);
|
2362
|
+
}
|
2363
|
+
isCommon = false;
|
2364
|
+
includes = cacheHas;
|
2365
|
+
seen = new SetCache();
|
2366
|
+
} else {
|
2367
|
+
seen = iteratee ? [] : result;
|
2368
|
+
}
|
2369
|
+
outer:
|
2370
|
+
while (++index < length) {
|
2371
|
+
var value = array[index], computed = iteratee ? iteratee(value) : value;
|
2372
|
+
value = comparator || value !== 0 ? value : 0;
|
2373
|
+
if (isCommon && computed === computed) {
|
2374
|
+
var seenIndex = seen.length;
|
2375
|
+
while (seenIndex--) {
|
2376
|
+
if (seen[seenIndex] === computed) {
|
2377
|
+
continue outer;
|
2378
|
+
}
|
2379
|
+
}
|
2380
|
+
if (iteratee) {
|
2381
|
+
seen.push(computed);
|
2382
|
+
}
|
2383
|
+
result.push(value);
|
2384
|
+
} else if (!includes(seen, computed, comparator)) {
|
2385
|
+
if (seen !== result) {
|
2386
|
+
seen.push(computed);
|
2387
|
+
}
|
2388
|
+
result.push(value);
|
2389
|
+
}
|
2390
|
+
}
|
2391
|
+
return result;
|
2392
|
+
}
|
2393
|
+
var _baseUniq = baseUniq$1;
|
2394
|
+
var baseUniq = _baseUniq;
|
2395
|
+
function uniq(array) {
|
2396
|
+
return array && array.length ? baseUniq(array) : [];
|
2397
|
+
}
|
2398
|
+
var uniq_1 = uniq;
|
2399
|
+
class MultiValueMap {
|
2400
|
+
constructor() {
|
2401
|
+
this.dict = /* @__PURE__ */ new Map();
|
2402
|
+
this.add = (key, value) => {
|
2403
|
+
if (this.dict.has(key)) {
|
2404
|
+
this.dict.get(key).push(value);
|
2405
|
+
} else {
|
2406
|
+
this.dict.set(key, [value]);
|
2407
|
+
}
|
2408
|
+
};
|
2409
|
+
this.delete = (key) => {
|
2410
|
+
this.dict.delete(key);
|
2411
|
+
};
|
2412
|
+
this.remove = (key, value) => {
|
2413
|
+
if (!this.dict.has(key))
|
2414
|
+
return;
|
2415
|
+
const array = this.dict.get(key);
|
2416
|
+
const index = array.indexOf(value);
|
2417
|
+
if (index !== -1)
|
2418
|
+
array.splice(index, 1);
|
2419
|
+
if (array.length === 0)
|
2420
|
+
this.dict.delete(key);
|
2421
|
+
};
|
2422
|
+
this.getAll = (key) => {
|
2423
|
+
var _a;
|
2424
|
+
return (_a = this.dict.get(key)) != null ? _a : [];
|
2425
|
+
};
|
2426
|
+
this.entries = () => this.dict.entries();
|
2427
|
+
this.values = () => this.dict.values();
|
2428
|
+
this.has = (key) => this.dict.has(key);
|
2429
|
+
}
|
2430
|
+
}
|
2431
|
+
const useMultiValueMap = () => {
|
2432
|
+
const ref = useRef(null);
|
2433
|
+
return useCallback(() => {
|
2434
|
+
if (ref.current)
|
2435
|
+
return ref.current;
|
2436
|
+
ref.current = new MultiValueMap();
|
2437
|
+
return ref.current;
|
2438
|
+
}, []);
|
2439
|
+
};
|
2440
|
+
const cleanupFormState = (formId) => {
|
2441
|
+
formStore.remove(formId);
|
2442
|
+
controlledFieldStore.remove(formId);
|
2443
|
+
};
|
2444
|
+
function useSubmitComplete(isSubmitting, callback) {
|
2445
|
+
const isPending = useRef(false);
|
2446
|
+
useEffect(() => {
|
2447
|
+
if (isSubmitting) {
|
2448
|
+
isPending.current = true;
|
2449
|
+
}
|
2450
|
+
if (!isSubmitting && isPending.current) {
|
2451
|
+
isPending.current = false;
|
2452
|
+
callback();
|
2453
|
+
}
|
2454
|
+
});
|
2455
|
+
}
|
2456
|
+
var baseIsEqual = _baseIsEqual;
|
2457
|
+
function isEqual(value, other) {
|
2458
|
+
return baseIsEqual(value, other);
|
2459
|
+
}
|
2460
|
+
var isEqual_1 = isEqual;
|
2461
|
+
const mergeRefs = (refs) => {
|
2462
|
+
return (value) => {
|
2463
|
+
refs.filter(Boolean).forEach((ref) => {
|
2464
|
+
if (typeof ref === "function") {
|
2465
|
+
ref(value);
|
2466
|
+
} else if (ref != null) {
|
2467
|
+
ref.current = value;
|
2468
|
+
}
|
2469
|
+
});
|
2470
|
+
};
|
2471
|
+
};
|
2472
|
+
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
2473
|
+
const useDeepEqualsMemo = (item) => {
|
2474
|
+
const ref = useRef(item);
|
2475
|
+
const areEqual = ref.current === item || isEqual_1(ref.current, item);
|
2476
|
+
useEffect(() => {
|
2477
|
+
if (!areEqual) {
|
2478
|
+
ref.current = item;
|
2479
|
+
}
|
2480
|
+
});
|
2481
|
+
return areEqual ? ref.current : item;
|
2482
|
+
};
|
2483
|
+
const getDataFromForm = (el) => new FormData(el);
|
2484
|
+
function nonNull(value) {
|
2485
|
+
return value !== null;
|
2486
|
+
}
|
2487
|
+
const focusFirstInvalidInput = (fieldErrors, customFocusHandlers, formElement) => {
|
2488
|
+
var _a;
|
2489
|
+
const namesInOrder = [...formElement.elements].map((el) => {
|
2490
|
+
const input = el instanceof RadioNodeList ? el[0] : el;
|
2491
|
+
if (input instanceof HTMLInputElement)
|
2492
|
+
return input.name;
|
2493
|
+
return null;
|
2494
|
+
}).filter(nonNull).filter((name) => name in fieldErrors);
|
2495
|
+
const uniqueNamesInOrder = uniq_1(namesInOrder);
|
2496
|
+
for (const fieldName of uniqueNamesInOrder) {
|
2497
|
+
if (customFocusHandlers.has(fieldName)) {
|
2498
|
+
customFocusHandlers.getAll(fieldName).forEach((handler) => {
|
2499
|
+
handler();
|
2500
|
+
});
|
2501
|
+
break;
|
2502
|
+
}
|
2503
|
+
const elem = formElement.elements.namedItem(fieldName);
|
2504
|
+
if (!elem)
|
2505
|
+
continue;
|
2506
|
+
if (elem instanceof RadioNodeList) {
|
2507
|
+
const selectedRadio = (_a = [...elem].filter((item) => item instanceof HTMLInputElement).find((item) => item.value === elem.value)) != null ? _a : elem[0];
|
2508
|
+
if (selectedRadio && selectedRadio instanceof HTMLInputElement) {
|
2509
|
+
selectedRadio.focus();
|
2510
|
+
break;
|
2511
|
+
}
|
2512
|
+
}
|
2513
|
+
if (elem instanceof HTMLInputElement) {
|
2514
|
+
if (elem.type === "hidden") {
|
2515
|
+
continue;
|
2516
|
+
}
|
2517
|
+
elem.focus();
|
2518
|
+
break;
|
2519
|
+
}
|
2520
|
+
}
|
2521
|
+
};
|
2522
|
+
const useFormId = (providedId) => {
|
2523
|
+
const [symbolId] = useState(() => Symbol("remix-validated-form-id"));
|
2524
|
+
return providedId != null ? providedId : symbolId;
|
2525
|
+
};
|
2526
|
+
const FormResetter = ({
|
2527
|
+
resetAfterSubmit,
|
2528
|
+
formRef
|
2529
|
+
}) => {
|
2530
|
+
const isSubmitting = useIsSubmitting();
|
2531
|
+
const isValid = useIsValid();
|
2532
|
+
useSubmitComplete(isSubmitting, () => {
|
2533
|
+
var _a;
|
2534
|
+
if (isValid && resetAfterSubmit) {
|
2535
|
+
(_a = formRef.current) == null ? void 0 : _a.reset();
|
2536
|
+
}
|
2537
|
+
});
|
2538
|
+
return null;
|
2539
|
+
};
|
2540
|
+
function formEventProxy(event) {
|
2541
|
+
let defaultPrevented = false;
|
2542
|
+
return new Proxy(event, {
|
2543
|
+
get: (target, prop) => {
|
2544
|
+
if (prop === "preventDefault") {
|
2545
|
+
return () => {
|
2546
|
+
defaultPrevented = true;
|
2547
|
+
};
|
2548
|
+
}
|
2549
|
+
if (prop === "defaultPrevented") {
|
2550
|
+
return defaultPrevented;
|
2551
|
+
}
|
2552
|
+
return target[prop];
|
2553
|
+
}
|
2554
|
+
});
|
2555
|
+
}
|
2556
|
+
function ValidatedForm(_a) {
|
2557
|
+
var _b = _a, {
|
2558
|
+
validator,
|
2559
|
+
onSubmit,
|
2560
|
+
children,
|
2561
|
+
fetcher,
|
2562
|
+
action,
|
2563
|
+
defaultValues: unMemoizedDefaults,
|
2564
|
+
formRef: formRefProp,
|
2565
|
+
onReset,
|
2566
|
+
subaction,
|
2567
|
+
resetAfterSubmit = false,
|
2568
|
+
disableFocusOnError,
|
2569
|
+
method,
|
2570
|
+
replace,
|
2571
|
+
id
|
2572
|
+
} = _b, rest = __objRest(_b, [
|
2573
|
+
"validator",
|
2574
|
+
"onSubmit",
|
2575
|
+
"children",
|
2576
|
+
"fetcher",
|
2577
|
+
"action",
|
2578
|
+
"defaultValues",
|
2579
|
+
"formRef",
|
2580
|
+
"onReset",
|
2581
|
+
"subaction",
|
2582
|
+
"resetAfterSubmit",
|
2583
|
+
"disableFocusOnError",
|
2584
|
+
"method",
|
2585
|
+
"replace",
|
2586
|
+
"id"
|
2587
|
+
]);
|
2588
|
+
var _a2;
|
2589
|
+
const formId = useFormId(id);
|
2590
|
+
const providedDefaultValues = useDeepEqualsMemo(unMemoizedDefaults);
|
2591
|
+
const contextValue = useMemo(() => ({
|
2592
|
+
formId,
|
2593
|
+
action,
|
2594
|
+
subaction,
|
2595
|
+
defaultValuesProp: providedDefaultValues,
|
2596
|
+
fetcher
|
2597
|
+
}), [action, fetcher, formId, providedDefaultValues, subaction]);
|
2598
|
+
const backendError = useErrorResponseForForm(contextValue);
|
2599
|
+
const backendDefaultValues = useDefaultValuesFromLoader(contextValue);
|
2600
|
+
const hasActiveSubmission = useHasActiveFormSubmit(contextValue);
|
2601
|
+
const formRef = useRef(null);
|
2602
|
+
const Form$1 = (_a2 = fetcher == null ? void 0 : fetcher.Form) != null ? _a2 : Form;
|
2603
|
+
const submit = useSubmit();
|
2604
|
+
const setFieldErrors = useSetFieldErrors(formId);
|
2605
|
+
const setFieldError = useFormStore(formId, (state) => state.setFieldError);
|
2606
|
+
const reset = useFormStore(formId, (state) => state.reset);
|
2607
|
+
const resetControlledFields = useControlledFieldStore(formId, (state) => state.reset);
|
2608
|
+
const startSubmit = useFormStore(formId, (state) => state.startSubmit);
|
2609
|
+
const endSubmit = useFormStore(formId, (state) => state.endSubmit);
|
2610
|
+
const syncFormProps = useFormStore(formId, (state) => state.syncFormProps);
|
2611
|
+
const setHydrated = useFormStore(formId, (state) => state.setHydrated);
|
2612
|
+
const setFormElementInState = useFormStore(formId, (state) => state.setFormElement);
|
2613
|
+
useEffect(() => {
|
2614
|
+
setHydrated();
|
2615
|
+
return () => cleanupFormState(formId);
|
2616
|
+
}, [formId, setHydrated]);
|
2617
|
+
const customFocusHandlers = useMultiValueMap();
|
2618
|
+
const registerReceiveFocus = useCallback((fieldName, handler) => {
|
2619
|
+
customFocusHandlers().add(fieldName, handler);
|
2620
|
+
return () => {
|
2621
|
+
customFocusHandlers().remove(fieldName, handler);
|
2622
|
+
};
|
2623
|
+
}, [customFocusHandlers]);
|
2624
|
+
useIsomorphicLayoutEffect(() => {
|
2625
|
+
var _a3;
|
2626
|
+
syncFormProps({
|
2627
|
+
action,
|
2628
|
+
defaultValues: (_a3 = providedDefaultValues != null ? providedDefaultValues : backendDefaultValues) != null ? _a3 : {},
|
2629
|
+
subaction,
|
2630
|
+
registerReceiveFocus,
|
2631
|
+
validator
|
2632
|
+
});
|
2633
|
+
}, [
|
2634
|
+
action,
|
2635
|
+
providedDefaultValues,
|
2636
|
+
registerReceiveFocus,
|
2637
|
+
subaction,
|
2638
|
+
syncFormProps,
|
2639
|
+
backendDefaultValues,
|
2640
|
+
validator
|
2641
|
+
]);
|
2642
|
+
useEffect(() => {
|
2643
|
+
var _a3;
|
2644
|
+
setFieldErrors((_a3 = backendError == null ? void 0 : backendError.fieldErrors) != null ? _a3 : {});
|
2645
|
+
}, [backendError == null ? void 0 : backendError.fieldErrors, setFieldErrors, setFieldError]);
|
2646
|
+
useSubmitComplete(hasActiveSubmission, () => {
|
2647
|
+
endSubmit();
|
2648
|
+
});
|
2649
|
+
let clickedButtonRef = React.useRef();
|
2650
|
+
useEffect(() => {
|
2651
|
+
let form = formRef.current;
|
2652
|
+
if (!form)
|
2653
|
+
return;
|
2654
|
+
function handleClick(event) {
|
2655
|
+
if (!(event.target instanceof HTMLElement))
|
2656
|
+
return;
|
2657
|
+
let submitButton = event.target.closest("button,input[type=submit]");
|
2658
|
+
if (submitButton && submitButton.form === form && submitButton.type === "submit") {
|
2659
|
+
clickedButtonRef.current = submitButton;
|
2660
|
+
}
|
2661
|
+
}
|
2662
|
+
window.addEventListener("click", handleClick, { capture: true });
|
2663
|
+
return () => {
|
2664
|
+
window.removeEventListener("click", handleClick, { capture: true });
|
2665
|
+
};
|
2666
|
+
}, []);
|
2667
|
+
const handleSubmit = async (e2) => {
|
2668
|
+
startSubmit();
|
2669
|
+
const result = await validator.validate(getDataFromForm(e2.currentTarget));
|
2670
|
+
if (result.error) {
|
2671
|
+
endSubmit();
|
2672
|
+
setFieldErrors(result.error.fieldErrors);
|
2673
|
+
if (!disableFocusOnError) {
|
2674
|
+
focusFirstInvalidInput(result.error.fieldErrors, customFocusHandlers(), formRef.current);
|
2675
|
+
}
|
2676
|
+
} else {
|
2677
|
+
const eventProxy = formEventProxy(e2);
|
2678
|
+
await (onSubmit == null ? void 0 : onSubmit(result.data, eventProxy));
|
2679
|
+
if (eventProxy.defaultPrevented) {
|
2680
|
+
endSubmit();
|
2681
|
+
return;
|
2682
|
+
}
|
2683
|
+
if (fetcher)
|
2684
|
+
fetcher.submit(clickedButtonRef.current || formRef.current);
|
2685
|
+
else
|
2686
|
+
submit(clickedButtonRef.current || formRef.current, {
|
2687
|
+
method,
|
2688
|
+
replace
|
2689
|
+
});
|
2690
|
+
clickedButtonRef.current = null;
|
2691
|
+
}
|
2692
|
+
};
|
2693
|
+
return /* @__PURE__ */ React.createElement(Form$1, __spreadProps(__spreadValues({
|
2694
|
+
ref: mergeRefs([formRef, formRefProp, setFormElementInState])
|
2695
|
+
}, rest), {
|
2696
|
+
id,
|
2697
|
+
action,
|
2698
|
+
method,
|
2699
|
+
replace,
|
2700
|
+
onSubmit: (e2) => {
|
2701
|
+
e2.preventDefault();
|
2702
|
+
handleSubmit(e2);
|
2703
|
+
},
|
2704
|
+
onReset: (event) => {
|
2705
|
+
onReset == null ? void 0 : onReset(event);
|
2706
|
+
if (event.defaultPrevented)
|
2707
|
+
return;
|
2708
|
+
reset();
|
2709
|
+
resetControlledFields();
|
2710
|
+
}
|
2711
|
+
}), /* @__PURE__ */ React.createElement(InternalFormContext.Provider, {
|
2712
|
+
value: contextValue
|
2713
|
+
}, /* @__PURE__ */ React.createElement(FormResetter, {
|
2714
|
+
formRef,
|
2715
|
+
resetAfterSubmit
|
2716
|
+
}), subaction && /* @__PURE__ */ React.createElement("input", {
|
2717
|
+
type: "hidden",
|
2718
|
+
value: subaction,
|
2719
|
+
name: "subaction"
|
2720
|
+
}), id && /* @__PURE__ */ React.createElement("input", {
|
2721
|
+
type: "hidden",
|
2722
|
+
value: id,
|
2723
|
+
name: FORM_ID_FIELD
|
2724
|
+
}), children));
|
2725
|
+
}
|
2726
|
+
var baseSet = _baseSet;
|
2727
|
+
function set(object, path, value) {
|
2728
|
+
return object == null ? object : baseSet(object, path, value);
|
2729
|
+
}
|
2730
|
+
var set_1 = set;
|
2731
|
+
const objectFromPathEntries = (entries) => {
|
2732
|
+
const map = new MultiValueMap();
|
2733
|
+
entries.forEach(([key, value]) => map.add(key, value));
|
2734
|
+
return [...map.entries()].reduce((acc, [key, value]) => set_1(acc, key, value.length === 1 ? value[0] : value), {});
|
2735
|
+
};
|
2736
|
+
const preprocessFormData = (data) => {
|
2737
|
+
if ("entries" in data && typeof data.entries === "function")
|
2738
|
+
return objectFromPathEntries([...data.entries()]);
|
2739
|
+
return objectFromPathEntries(Object.entries(data));
|
2740
|
+
};
|
2741
|
+
function createValidator(validator) {
|
2742
|
+
return {
|
2743
|
+
validate: async (value) => {
|
2744
|
+
const data = preprocessFormData(value);
|
2745
|
+
const result = await validator.validate(data);
|
2746
|
+
if (result.error) {
|
2747
|
+
return {
|
2748
|
+
data: void 0,
|
2749
|
+
error: {
|
2750
|
+
fieldErrors: result.error,
|
2751
|
+
subaction: data.subaction,
|
2752
|
+
formId: data[FORM_ID_FIELD]
|
2753
|
+
},
|
2754
|
+
submittedData: data,
|
2755
|
+
formId: data[FORM_ID_FIELD]
|
2756
|
+
};
|
2757
|
+
}
|
2758
|
+
return {
|
2759
|
+
data: result.data,
|
2760
|
+
error: void 0,
|
2761
|
+
submittedData: data,
|
2762
|
+
formId: data[FORM_ID_FIELD]
|
2763
|
+
};
|
2764
|
+
},
|
2765
|
+
validateField: (data, field) => validator.validateField(preprocessFormData(data), field)
|
2766
|
+
};
|
2767
|
+
}
|
2768
|
+
const useFormState = (formId) => {
|
2769
|
+
const formContext = useInternalFormContext(formId, "useFormState");
|
2770
|
+
const isSubmitting = useInternalIsSubmitting(formContext.formId);
|
2771
|
+
const hasBeenSubmitted = useInternalHasBeenSubmitted(formContext.formId);
|
2772
|
+
const touchedFields = useTouchedFields(formContext.formId);
|
2773
|
+
const isValid = useInternalIsValid(formContext.formId);
|
2774
|
+
const action = useFormActionProp(formContext.formId);
|
2775
|
+
const subaction = useFormSubactionProp(formContext.formId);
|
2776
|
+
const syncedDefaultValues = useSyncedDefaultValues(formContext.formId);
|
2777
|
+
const defaultValuesToUse = useDefaultValuesForForm(formContext);
|
2778
|
+
const hydratedDefaultValues = defaultValuesToUse.hydrateTo(syncedDefaultValues);
|
2779
|
+
const fieldErrorsFromState = useFieldErrors(formContext.formId);
|
2780
|
+
const fieldErrorsToUse = useFieldErrorsForForm(formContext);
|
2781
|
+
const hydratedFieldErrors = fieldErrorsToUse.hydrateTo(fieldErrorsFromState);
|
2782
|
+
return useMemo(() => ({
|
2783
|
+
action,
|
2784
|
+
subaction,
|
2785
|
+
defaultValues: hydratedDefaultValues,
|
2786
|
+
fieldErrors: hydratedFieldErrors != null ? hydratedFieldErrors : {},
|
2787
|
+
hasBeenSubmitted,
|
2788
|
+
isSubmitting,
|
2789
|
+
touchedFields,
|
2790
|
+
isValid
|
2791
|
+
}), [
|
2792
|
+
action,
|
2793
|
+
hasBeenSubmitted,
|
2794
|
+
hydratedDefaultValues,
|
2795
|
+
hydratedFieldErrors,
|
2796
|
+
isSubmitting,
|
2797
|
+
isValid,
|
2798
|
+
subaction,
|
2799
|
+
touchedFields
|
2800
|
+
]);
|
2801
|
+
};
|
2802
|
+
const useFormHelpers = (formId) => {
|
2803
|
+
const formContext = useInternalFormContext(formId, "useFormHelpers");
|
2804
|
+
const setTouched = useSetTouched(formContext);
|
2805
|
+
const validateField = useValidateField(formContext.formId);
|
2806
|
+
const validate = useValidate(formContext.formId);
|
2807
|
+
const clearError = useClearError(formContext);
|
2808
|
+
const setFieldErrors = useSetFieldErrors(formContext.formId);
|
2809
|
+
const reset = useResetFormElement(formContext.formId);
|
2810
|
+
return useMemo(() => ({
|
2811
|
+
setTouched,
|
2812
|
+
validateField,
|
2813
|
+
clearError,
|
2814
|
+
validate,
|
2815
|
+
clearAllErrors: () => setFieldErrors({}),
|
2816
|
+
reset
|
2817
|
+
}), [clearError, reset, setFieldErrors, setTouched, validate, validateField]);
|
2818
|
+
};
|
2819
|
+
const useFormContext = (formId) => {
|
2820
|
+
const context = useInternalFormContext(formId, "useFormContext");
|
2821
|
+
const state = useFormState(formId);
|
2822
|
+
const {
|
2823
|
+
clearError: internalClearError,
|
2824
|
+
setTouched,
|
2825
|
+
validateField,
|
2826
|
+
clearAllErrors,
|
2827
|
+
validate
|
2828
|
+
} = useFormHelpers(formId);
|
2829
|
+
const registerReceiveFocus = useRegisterReceiveFocus(context.formId);
|
2830
|
+
const clearError = useCallback((...names) => {
|
2831
|
+
names.forEach((name) => {
|
2832
|
+
internalClearError(name);
|
2833
|
+
});
|
2834
|
+
}, [internalClearError]);
|
2835
|
+
return __spreadProps(__spreadValues({}, state), {
|
2836
|
+
setFieldTouched: setTouched,
|
2837
|
+
validateField,
|
2838
|
+
clearError,
|
2839
|
+
registerReceiveFocus,
|
2840
|
+
clearAllErrors,
|
2841
|
+
validate
|
2842
|
+
});
|
2843
|
+
};
|
2844
|
+
export { ValidatedForm, createValidator, setFormDefaults, useControlField, useField, useFormContext, useIsSubmitting, useIsValid, useUpdateControlledField, validationError };
|