@regle/core 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +35 -1311
- package/dist/index.d.cts +54 -360
- package/dist/index.d.ts +54 -360
- package/dist/index.js +35 -1279
- package/package.json +21 -19
package/dist/index.js
CHANGED
|
@@ -1,1279 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
import { isRef, toRef, unref } from "vue";
|
|
3
|
-
function unwrapRuleParameters(params) {
|
|
4
|
-
|
|
5
|
-
if (param instanceof Function) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
message(value, metadata) {
|
|
37
|
-
if (typeof definition.message === "function") {
|
|
38
|
-
return definition.message(value, {
|
|
39
|
-
...metadata,
|
|
40
|
-
$params: unwrapRuleParameters(metadata.$params?.length ? metadata.$params : params)
|
|
41
|
-
});
|
|
42
|
-
} else {
|
|
43
|
-
return definition.message;
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
active(value, metadata) {
|
|
47
|
-
if (typeof definition.active === "function") {
|
|
48
|
-
return definition.active(value, {
|
|
49
|
-
...metadata,
|
|
50
|
-
$params: unwrapRuleParameters(metadata.$params?.length ? metadata.$params : params)
|
|
51
|
-
});
|
|
52
|
-
} else {
|
|
53
|
-
return definition.active ?? true;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
exec(value) {
|
|
57
|
-
return definition.validator(value, ...unwrapRuleParameters(params));
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const processors = {
|
|
61
|
-
...defaultProcessors,
|
|
62
|
-
...properties,
|
|
63
|
-
...{
|
|
64
|
-
_validator: definition.validator,
|
|
65
|
-
_message: definition.message,
|
|
66
|
-
_active: definition.active,
|
|
67
|
-
_type: definition.type,
|
|
68
|
-
_patched: false,
|
|
69
|
-
_async: isAsync,
|
|
70
|
-
_params: createReactiveParams(params)
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
return processors;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// src/core/createRule/createRule.ts
|
|
77
|
-
function createRule(definition) {
|
|
78
|
-
if (typeof definition.validator === "function") {
|
|
79
|
-
let fakeParams = [];
|
|
80
|
-
const staticProcessors = defineRuleProcessors(definition, ...fakeParams);
|
|
81
|
-
const isAsync = definition.validator.constructor.name === "AsyncFunction";
|
|
82
|
-
if (getFunctionParametersLength(definition.validator) > 1) {
|
|
83
|
-
const ruleFactory = function(...params) {
|
|
84
|
-
return defineRuleProcessors(definition, ...params);
|
|
85
|
-
};
|
|
86
|
-
ruleFactory.validator = staticProcessors.validator;
|
|
87
|
-
ruleFactory.message = staticProcessors.message;
|
|
88
|
-
ruleFactory.active = staticProcessors.active;
|
|
89
|
-
ruleFactory.type = staticProcessors.type;
|
|
90
|
-
ruleFactory.exec = staticProcessors.exec;
|
|
91
|
-
ruleFactory._validator = staticProcessors.validator;
|
|
92
|
-
ruleFactory._message = staticProcessors.message;
|
|
93
|
-
ruleFactory._active = staticProcessors.active;
|
|
94
|
-
ruleFactory._type = definition.type;
|
|
95
|
-
ruleFactory._patched = false;
|
|
96
|
-
ruleFactory._async = isAsync;
|
|
97
|
-
return ruleFactory;
|
|
98
|
-
} else {
|
|
99
|
-
return staticProcessors;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
throw new Error("Validator must be a function");
|
|
103
|
-
}
|
|
104
|
-
function defineType(ruleName) {
|
|
105
|
-
return ruleName;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// src/core/useRegle/useRegle.ts
|
|
109
|
-
import { computed as computed6, isRef as isRef2, ref as ref4, shallowRef as shallowRef2, toRaw } from "vue";
|
|
110
|
-
|
|
111
|
-
// src/core/useRegle/useStateProperties/useStateProperties.ts
|
|
112
|
-
import { computed as computed5, reactive as reactive5, unref as unref3 } from "vue";
|
|
113
|
-
|
|
114
|
-
// src/core/useStorage/useStorage.ts
|
|
115
|
-
import { onScopeDispose, ref, shallowRef } from "vue";
|
|
116
|
-
function useStorage() {
|
|
117
|
-
const ruleDeclStorage = shallowRef(/* @__PURE__ */ new Map());
|
|
118
|
-
const fieldsStorage = shallowRef(
|
|
119
|
-
/* @__PURE__ */ new Map()
|
|
120
|
-
);
|
|
121
|
-
const collectionsStorage = shallowRef(/* @__PURE__ */ new Map());
|
|
122
|
-
const dirtyStorage = shallowRef(/* @__PURE__ */ new Map());
|
|
123
|
-
const ruleStatusStorage = shallowRef(/* @__PURE__ */ new Map());
|
|
124
|
-
const arrayStatusStorage = shallowRef(/* @__PURE__ */ new Map());
|
|
125
|
-
function getFieldsEntry($path) {
|
|
126
|
-
const existingFields = fieldsStorage.value.get($path);
|
|
127
|
-
if (existingFields) {
|
|
128
|
-
return existingFields;
|
|
129
|
-
} else {
|
|
130
|
-
const $fields = ref({});
|
|
131
|
-
fieldsStorage.value.set($path, $fields);
|
|
132
|
-
return $fields;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
function getCollectionsEntry($path) {
|
|
136
|
-
const existingEach = collectionsStorage.value.get($path);
|
|
137
|
-
if (existingEach) {
|
|
138
|
-
return existingEach;
|
|
139
|
-
} else {
|
|
140
|
-
const $each = ref([]);
|
|
141
|
-
collectionsStorage.value.set($path, $each);
|
|
142
|
-
return $each;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
function addArrayStatus($id, value) {
|
|
146
|
-
arrayStatusStorage.value.set($id, value);
|
|
147
|
-
}
|
|
148
|
-
function getArrayStatus($id) {
|
|
149
|
-
return arrayStatusStorage.value.get($id);
|
|
150
|
-
}
|
|
151
|
-
function deleteArrayStatus($id) {
|
|
152
|
-
if ($id) {
|
|
153
|
-
arrayStatusStorage.value.delete($id);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
function setDirtyEntry($path, dirty) {
|
|
157
|
-
dirtyStorage.value.set($path, dirty);
|
|
158
|
-
}
|
|
159
|
-
function getDirtyState(path) {
|
|
160
|
-
return dirtyStorage.value.get(path) ?? false;
|
|
161
|
-
}
|
|
162
|
-
function addRuleDeclEntry($path, options) {
|
|
163
|
-
ruleDeclStorage.value.set($path, options);
|
|
164
|
-
}
|
|
165
|
-
function checkRuleDeclEntry($path, newRules) {
|
|
166
|
-
const storedRulesDefs = ruleDeclStorage.value.get($path);
|
|
167
|
-
if (!storedRulesDefs)
|
|
168
|
-
return void 0;
|
|
169
|
-
const storedRules = storedRulesDefs;
|
|
170
|
-
const isValidCache = areRulesChanged(newRules, storedRules);
|
|
171
|
-
if (!isValidCache)
|
|
172
|
-
return { valid: false };
|
|
173
|
-
return { valid: true };
|
|
174
|
-
}
|
|
175
|
-
function areRulesChanged(newRules, storedRules) {
|
|
176
|
-
const storedRulesKeys = Object.keys(storedRules);
|
|
177
|
-
const newRulesKeys = Object.keys(newRules);
|
|
178
|
-
if (newRulesKeys.length !== storedRulesKeys.length)
|
|
179
|
-
return false;
|
|
180
|
-
const hasAllValidators = newRulesKeys.every((ruleKey) => storedRulesKeys.includes(ruleKey));
|
|
181
|
-
if (!hasAllValidators)
|
|
182
|
-
return false;
|
|
183
|
-
return newRulesKeys.every((ruleKey) => {
|
|
184
|
-
const newRuleElement = newRules[ruleKey];
|
|
185
|
-
const storedRuleElement = storedRules[ruleKey];
|
|
186
|
-
if (!storedRuleElement || !newRuleElement || typeof newRuleElement === "function" || typeof storedRuleElement === "function")
|
|
187
|
-
return false;
|
|
188
|
-
if (!newRuleElement._params)
|
|
189
|
-
return true;
|
|
190
|
-
return newRuleElement._params?.every((paramKey, index) => {
|
|
191
|
-
const storedParams = unwrapRuleParameters(storedRuleElement._params);
|
|
192
|
-
const newParams = unwrapRuleParameters(newRuleElement._params);
|
|
193
|
-
return storedParams?.[index] === newParams?.[index];
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
function trySetRuleStatusRef(path) {
|
|
198
|
-
const ruleStatus = ruleStatusStorage.value.get(path);
|
|
199
|
-
if (ruleStatus) {
|
|
200
|
-
return ruleStatus;
|
|
201
|
-
} else {
|
|
202
|
-
const $pending = ref(false);
|
|
203
|
-
const $valid = ref(true);
|
|
204
|
-
const $metadata = ref({});
|
|
205
|
-
const $validating = ref(false);
|
|
206
|
-
ruleStatusStorage.value.set(path, { $pending, $valid, $metadata, $validating });
|
|
207
|
-
return { $pending, $valid, $metadata, $validating };
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
onScopeDispose(() => {
|
|
211
|
-
ruleDeclStorage.value.clear();
|
|
212
|
-
fieldsStorage.value.clear();
|
|
213
|
-
collectionsStorage.value.clear();
|
|
214
|
-
dirtyStorage.value.clear();
|
|
215
|
-
ruleStatusStorage.value.clear();
|
|
216
|
-
arrayStatusStorage.value.clear();
|
|
217
|
-
});
|
|
218
|
-
return {
|
|
219
|
-
addRuleDeclEntry,
|
|
220
|
-
setDirtyEntry,
|
|
221
|
-
checkRuleDeclEntry,
|
|
222
|
-
getDirtyState,
|
|
223
|
-
trySetRuleStatusRef,
|
|
224
|
-
getFieldsEntry,
|
|
225
|
-
getCollectionsEntry,
|
|
226
|
-
getArrayStatus,
|
|
227
|
-
addArrayStatus,
|
|
228
|
-
deleteArrayStatus
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// src/core/useRegle/useErrors.ts
|
|
233
|
-
import { computed } from "vue";
|
|
234
|
-
|
|
235
|
-
// src/utils/object.utils.ts
|
|
236
|
-
function isObject(obj) {
|
|
237
|
-
return typeof obj === "object" && obj !== null && !Array.isArray(obj);
|
|
238
|
-
}
|
|
239
|
-
function isRefObject(obj) {
|
|
240
|
-
return isObject(obj.value);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// src/utils/isEmpty.ts
|
|
244
|
-
function isEmpty(value) {
|
|
245
|
-
if (value === void 0 || value === null) {
|
|
246
|
-
return true;
|
|
247
|
-
}
|
|
248
|
-
if (value === false) {
|
|
249
|
-
return false;
|
|
250
|
-
}
|
|
251
|
-
if (value instanceof Date) {
|
|
252
|
-
return isNaN(value.getTime());
|
|
253
|
-
}
|
|
254
|
-
if (Array.isArray(value)) {
|
|
255
|
-
return value.length === 0;
|
|
256
|
-
}
|
|
257
|
-
if (typeof value === "object" && value != null) {
|
|
258
|
-
return Object.keys(value).length === 0;
|
|
259
|
-
}
|
|
260
|
-
if (typeof value === "number") {
|
|
261
|
-
return isNaN(value);
|
|
262
|
-
}
|
|
263
|
-
return !String(value).trim().length;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
// src/utils/composables.ts
|
|
267
|
-
import { effectScope, getCurrentScope, onScopeDispose as onScopeDispose2 } from "vue";
|
|
268
|
-
|
|
269
|
-
// src/utils/debounce.ts
|
|
270
|
-
function debounce(func, wait, immediate) {
|
|
271
|
-
let timeout;
|
|
272
|
-
const debouncedFn = (...args) => new Promise((resolve) => {
|
|
273
|
-
clearTimeout(timeout);
|
|
274
|
-
timeout = setTimeout(() => {
|
|
275
|
-
timeout = void 0;
|
|
276
|
-
if (!immediate) {
|
|
277
|
-
void Promise.resolve(func.apply(this, [...args])).then(resolve);
|
|
278
|
-
}
|
|
279
|
-
}, wait);
|
|
280
|
-
if (immediate && !timeout) {
|
|
281
|
-
void Promise.resolve(func.apply(this, [...args])).then(resolve);
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
debouncedFn.cancel = () => {
|
|
285
|
-
clearTimeout(timeout);
|
|
286
|
-
timeout = void 0;
|
|
287
|
-
};
|
|
288
|
-
debouncedFn.doImmediately = (...args) => new Promise((resolve) => {
|
|
289
|
-
clearTimeout(timeout);
|
|
290
|
-
timeout = setTimeout(() => {
|
|
291
|
-
timeout = void 0;
|
|
292
|
-
void Promise.resolve(func.apply(this, [...args])).then(resolve);
|
|
293
|
-
}, 0);
|
|
294
|
-
});
|
|
295
|
-
return debouncedFn;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
// src/core/useRegle/guards/ruleDef.guards.ts
|
|
299
|
-
function isNestedRulesDef(state, rule) {
|
|
300
|
-
return isObject(state.value) && isObject(rule.value) && !Object.entries(rule.value).some((rule2) => isRuleDef(rule2));
|
|
301
|
-
}
|
|
302
|
-
function isCollectionRulesDef(rule) {
|
|
303
|
-
return !!rule.value && "$each" in rule.value;
|
|
304
|
-
}
|
|
305
|
-
function isValidatorRulesDef(rule) {
|
|
306
|
-
return !!rule.value && isObject(rule.value);
|
|
307
|
-
}
|
|
308
|
-
function isRuleDef(rule) {
|
|
309
|
-
return isObject(rule) && "_validator" in rule;
|
|
310
|
-
}
|
|
311
|
-
function isFormRuleDefinition(rule) {
|
|
312
|
-
return !(typeof rule.value === "function");
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
// src/core/useRegle/guards/rule.status.guards.ts
|
|
316
|
-
function isNestedRulesStatus(rule) {
|
|
317
|
-
return isObject(rule) && "$fields" in rule;
|
|
318
|
-
}
|
|
319
|
-
function isCollectionRulesStatus(rule) {
|
|
320
|
-
return !!rule && "$each" in rule;
|
|
321
|
-
}
|
|
322
|
-
function isFieldStatus(rule) {
|
|
323
|
-
return !!rule && "$rules" in rule;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
// src/core/useRegle/guards/rule.errors.guards.ts
|
|
327
|
-
function isExternalErrorCollection(value) {
|
|
328
|
-
return "$each" in value || "$errors" in value;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
// src/core/useRegle/useErrors.ts
|
|
332
|
-
function extractRulesErrors(rules, externalErrors) {
|
|
333
|
-
return Object.entries(rules).map(([ruleKey, rule]) => {
|
|
334
|
-
if (!rule.$valid) {
|
|
335
|
-
return rule.$message;
|
|
336
|
-
}
|
|
337
|
-
return null;
|
|
338
|
-
}).filter((msg) => !!msg).reduce((acc, value) => {
|
|
339
|
-
if (typeof value === "string") {
|
|
340
|
-
return acc?.concat([value]);
|
|
341
|
-
} else {
|
|
342
|
-
return acc?.concat(value);
|
|
343
|
-
}
|
|
344
|
-
}, []).concat(externalErrors ?? []);
|
|
345
|
-
}
|
|
346
|
-
function processFieldErrors(fieldStatus) {
|
|
347
|
-
if (isNestedRulesStatus(fieldStatus)) {
|
|
348
|
-
return extractNestedErrors(fieldStatus.$fields);
|
|
349
|
-
} else if (isCollectionRulesStatus(fieldStatus)) {
|
|
350
|
-
return {
|
|
351
|
-
$errors: fieldStatus.$rules ? extractRulesErrors(fieldStatus.$rules) : [],
|
|
352
|
-
$each: fieldStatus.$each.map(processFieldErrors)
|
|
353
|
-
};
|
|
354
|
-
} else if (isFieldStatus(fieldStatus)) {
|
|
355
|
-
if (fieldStatus.$error) {
|
|
356
|
-
return extractRulesErrors(fieldStatus.$rules, fieldStatus.$externalErrors);
|
|
357
|
-
} else {
|
|
358
|
-
return fieldStatus.$externalErrors ?? [];
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
return [];
|
|
362
|
-
}
|
|
363
|
-
function extractCollectionError(field) {
|
|
364
|
-
return field.$each.map(processFieldErrors);
|
|
365
|
-
}
|
|
366
|
-
function extractNestedErrors(fields) {
|
|
367
|
-
return Object.fromEntries(
|
|
368
|
-
Object.entries(fields).map(([fieldKey, fieldStatus]) => {
|
|
369
|
-
if (isNestedRulesStatus(fieldStatus)) {
|
|
370
|
-
return [fieldKey, extractNestedErrors(fieldStatus.$fields)];
|
|
371
|
-
} else if (isCollectionRulesStatus(fieldStatus)) {
|
|
372
|
-
return [
|
|
373
|
-
fieldKey,
|
|
374
|
-
{
|
|
375
|
-
...fieldStatus.$rules && { $errors: extractRulesErrors(fieldStatus.$rules) },
|
|
376
|
-
$each: extractCollectionError(fieldStatus)
|
|
377
|
-
}
|
|
378
|
-
];
|
|
379
|
-
} else if (isFieldStatus(fieldStatus)) {
|
|
380
|
-
if (fieldStatus.$error) {
|
|
381
|
-
return [fieldKey, extractRulesErrors(fieldStatus.$rules, fieldStatus.$externalErrors)];
|
|
382
|
-
} else {
|
|
383
|
-
return [fieldKey, fieldStatus.$externalErrors ?? []];
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
return [fieldKey, []];
|
|
387
|
-
})
|
|
388
|
-
);
|
|
389
|
-
}
|
|
390
|
-
function useErrors($regle) {
|
|
391
|
-
const errors = computed(() => {
|
|
392
|
-
return extractNestedErrors($regle.$fields);
|
|
393
|
-
});
|
|
394
|
-
return errors;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
// src/core/useRegle/useStateProperties/createReactiveNestedStatus.ts
|
|
398
|
-
import { computed as computed4, effectScope as effectScope4, reactive as reactive4, toRef as toRef4, watch as watch4 } from "vue";
|
|
399
|
-
|
|
400
|
-
// src/core/useRegle/useStateProperties/createReactiveCollectionStatus.ts
|
|
401
|
-
import { nextTick, reactive as reactive3, ref as ref3, toRef as toRef3, toRefs, watch as watch3 } from "vue";
|
|
402
|
-
|
|
403
|
-
// src/utils/randomId.ts
|
|
404
|
-
function uniqueIDNuxt() {
|
|
405
|
-
return Math.floor(Math.random() * Date.now()).toString();
|
|
406
|
-
}
|
|
407
|
-
function randomId() {
|
|
408
|
-
if (typeof window === "undefined") {
|
|
409
|
-
return uniqueIDNuxt();
|
|
410
|
-
} else {
|
|
411
|
-
const uint32 = window.crypto.getRandomValues(new Uint32Array(1))[0];
|
|
412
|
-
return uint32.toString(8);
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
// src/core/useRegle/useStateProperties/createReactiveFieldStatus.ts
|
|
417
|
-
import { computed as computed3, effectScope as effectScope3, reactive as reactive2, ref as ref2, toRef as toRef2, unref as unref2, watch as watch2 } from "vue";
|
|
418
|
-
|
|
419
|
-
// src/core/useRegle/useStateProperties/createReactiveRuleStatus.ts
|
|
420
|
-
import { computed as computed2, effectScope as effectScope2, reactive, watch } from "vue";
|
|
421
|
-
|
|
422
|
-
// src/types/rules/rule.internal.types.ts
|
|
423
|
-
var InternalRuleType = /* @__PURE__ */ ((InternalRuleType2) => {
|
|
424
|
-
InternalRuleType2["Inline"] = "__inline";
|
|
425
|
-
InternalRuleType2["Async"] = "__async";
|
|
426
|
-
return InternalRuleType2;
|
|
427
|
-
})(InternalRuleType || {});
|
|
428
|
-
|
|
429
|
-
// src/core/useRegle/useStateProperties/createReactiveRuleStatus.ts
|
|
430
|
-
function createReactiveRuleStatus({
|
|
431
|
-
$dirty,
|
|
432
|
-
customMessages,
|
|
433
|
-
rule,
|
|
434
|
-
ruleKey,
|
|
435
|
-
state,
|
|
436
|
-
path,
|
|
437
|
-
storage,
|
|
438
|
-
options
|
|
439
|
-
}) {
|
|
440
|
-
let scope = effectScope2();
|
|
441
|
-
let scopeState;
|
|
442
|
-
const { $pending, $valid, $metadata, $validating } = storage.trySetRuleStatusRef(
|
|
443
|
-
`${path}.${ruleKey}`
|
|
444
|
-
);
|
|
445
|
-
function $watch() {
|
|
446
|
-
scopeState = scope.run(() => {
|
|
447
|
-
const $defaultMetadata = computed2(() => ({
|
|
448
|
-
$invalid: !$valid.value,
|
|
449
|
-
$params: $params.value,
|
|
450
|
-
...$metadata.value
|
|
451
|
-
}));
|
|
452
|
-
const $active = computed2(() => {
|
|
453
|
-
if (isFormRuleDefinition(rule)) {
|
|
454
|
-
if (typeof rule.value.active === "function") {
|
|
455
|
-
return rule.value.active(state.value, $defaultMetadata.value);
|
|
456
|
-
} else {
|
|
457
|
-
return rule.value.active;
|
|
458
|
-
}
|
|
459
|
-
} else {
|
|
460
|
-
return true;
|
|
461
|
-
}
|
|
462
|
-
});
|
|
463
|
-
const $message = computed2(() => {
|
|
464
|
-
let message = "";
|
|
465
|
-
if ($dirty.value && !$validating.value) {
|
|
466
|
-
const customMessageRule = customMessages ? customMessages[ruleKey]?.message : void 0;
|
|
467
|
-
if (customMessageRule) {
|
|
468
|
-
if (typeof customMessageRule === "function") {
|
|
469
|
-
message = customMessageRule(state.value, $defaultMetadata.value);
|
|
470
|
-
} else {
|
|
471
|
-
message = customMessageRule;
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
if (isFormRuleDefinition(rule)) {
|
|
475
|
-
if (!(customMessageRule && !rule.value._patched)) {
|
|
476
|
-
if (typeof rule.value.message === "function") {
|
|
477
|
-
message = rule.value.message(state.value, $defaultMetadata.value);
|
|
478
|
-
} else {
|
|
479
|
-
message = rule.value.message;
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
if (isEmpty(message)) {
|
|
484
|
-
message = "Error";
|
|
485
|
-
console.warn(`No error message defined for ${ruleKey}`);
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
return message;
|
|
489
|
-
});
|
|
490
|
-
const $type = computed2(() => {
|
|
491
|
-
if (isFormRuleDefinition(rule) && rule.value.type) {
|
|
492
|
-
return Object.values(InternalRuleType).includes(rule.value.type) ? ruleKey : rule.value.type;
|
|
493
|
-
} else {
|
|
494
|
-
return ruleKey;
|
|
495
|
-
}
|
|
496
|
-
});
|
|
497
|
-
const $validator = computed2(() => {
|
|
498
|
-
if (isFormRuleDefinition(rule)) {
|
|
499
|
-
return rule.value.validator;
|
|
500
|
-
} else {
|
|
501
|
-
return rule.value;
|
|
502
|
-
}
|
|
503
|
-
});
|
|
504
|
-
const $params = computed2(() => {
|
|
505
|
-
if (typeof rule.value === "function") {
|
|
506
|
-
return [];
|
|
507
|
-
}
|
|
508
|
-
return unwrapRuleParameters(rule.value._params ?? []);
|
|
509
|
-
});
|
|
510
|
-
const $path = computed2(() => `${path}.${$type.value}`);
|
|
511
|
-
return {
|
|
512
|
-
$active,
|
|
513
|
-
$message,
|
|
514
|
-
$type,
|
|
515
|
-
$validator,
|
|
516
|
-
$params,
|
|
517
|
-
$path
|
|
518
|
-
};
|
|
519
|
-
});
|
|
520
|
-
}
|
|
521
|
-
$watch();
|
|
522
|
-
const $unwatchState = watch(scopeState.$params, $validate, {
|
|
523
|
-
deep: true
|
|
524
|
-
});
|
|
525
|
-
async function $validate() {
|
|
526
|
-
try {
|
|
527
|
-
$validating.value = true;
|
|
528
|
-
const validator = scopeState.$validator.value;
|
|
529
|
-
let ruleResult = false;
|
|
530
|
-
const resultOrPromise = validator(state.value, ...scopeState.$params.value);
|
|
531
|
-
if (resultOrPromise instanceof Promise) {
|
|
532
|
-
if ($dirty.value && !$pending.value) {
|
|
533
|
-
try {
|
|
534
|
-
$valid.value = true;
|
|
535
|
-
$pending.value = true;
|
|
536
|
-
const promiseResult = await resultOrPromise;
|
|
537
|
-
if (typeof promiseResult === "boolean") {
|
|
538
|
-
ruleResult = promiseResult;
|
|
539
|
-
} else {
|
|
540
|
-
const { $valid: $valid2, ...rest } = promiseResult;
|
|
541
|
-
ruleResult = $valid2;
|
|
542
|
-
$metadata.value = rest;
|
|
543
|
-
}
|
|
544
|
-
} catch (e) {
|
|
545
|
-
ruleResult = false;
|
|
546
|
-
} finally {
|
|
547
|
-
$pending.value = false;
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
} else {
|
|
551
|
-
if (resultOrPromise != null) {
|
|
552
|
-
if (typeof resultOrPromise === "boolean") {
|
|
553
|
-
ruleResult = resultOrPromise;
|
|
554
|
-
} else {
|
|
555
|
-
const { $valid: $valid2, ...rest } = resultOrPromise;
|
|
556
|
-
ruleResult = $valid2;
|
|
557
|
-
$metadata.value = rest;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
$valid.value = ruleResult;
|
|
562
|
-
if (options.$externalErrors) {
|
|
563
|
-
}
|
|
564
|
-
return ruleResult;
|
|
565
|
-
} finally {
|
|
566
|
-
$validating.value = false;
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
function $unwatch() {
|
|
570
|
-
$unwatchState();
|
|
571
|
-
scope.stop();
|
|
572
|
-
scope = effectScope2();
|
|
573
|
-
}
|
|
574
|
-
return reactive({
|
|
575
|
-
...scopeState,
|
|
576
|
-
$pending,
|
|
577
|
-
$valid,
|
|
578
|
-
$validate,
|
|
579
|
-
$unwatch,
|
|
580
|
-
$watch
|
|
581
|
-
});
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
// src/core/useRegle/useStateProperties/createReactiveFieldStatus.ts
|
|
585
|
-
function createReactiveFieldStatus({
|
|
586
|
-
state,
|
|
587
|
-
rulesDef,
|
|
588
|
-
customMessages,
|
|
589
|
-
path,
|
|
590
|
-
storage,
|
|
591
|
-
options,
|
|
592
|
-
externalErrors
|
|
593
|
-
}) {
|
|
594
|
-
let scope = effectScope3();
|
|
595
|
-
let scopeState;
|
|
596
|
-
const $dirty = ref2(false);
|
|
597
|
-
const $anyDirty = computed3(() => $dirty.value);
|
|
598
|
-
const triggerPunishment = ref2(false);
|
|
599
|
-
const $externalErrors = ref2([]);
|
|
600
|
-
function collectExternalErrors() {
|
|
601
|
-
if (externalErrors.value) {
|
|
602
|
-
$externalErrors.value = externalErrors.value;
|
|
603
|
-
}
|
|
604
|
-
}
|
|
605
|
-
collectExternalErrors();
|
|
606
|
-
const $unwatchExternalErrors = watch2(externalErrors, collectExternalErrors);
|
|
607
|
-
function createReactiveRulesResult() {
|
|
608
|
-
const declaredRules = rulesDef.value;
|
|
609
|
-
const storeResult = storage.checkRuleDeclEntry(path, declaredRules);
|
|
610
|
-
$localOptions.value = Object.fromEntries(
|
|
611
|
-
Object.entries(declaredRules).filter(([ruleKey]) => ruleKey.startsWith("$"))
|
|
612
|
-
);
|
|
613
|
-
$rules.value = Object.fromEntries(
|
|
614
|
-
Object.entries(declaredRules).filter(([ruleKey]) => !ruleKey.startsWith("$")).map(([ruleKey, rule]) => {
|
|
615
|
-
if (rule) {
|
|
616
|
-
const ruleRef = toRef2(() => rule);
|
|
617
|
-
return [
|
|
618
|
-
ruleKey,
|
|
619
|
-
createReactiveRuleStatus({
|
|
620
|
-
$dirty,
|
|
621
|
-
customMessages,
|
|
622
|
-
rule: ruleRef,
|
|
623
|
-
ruleKey,
|
|
624
|
-
state,
|
|
625
|
-
path,
|
|
626
|
-
storage,
|
|
627
|
-
options
|
|
628
|
-
})
|
|
629
|
-
];
|
|
630
|
-
}
|
|
631
|
-
return [];
|
|
632
|
-
}).filter((ruleDef) => !!ruleDef.length)
|
|
633
|
-
);
|
|
634
|
-
$watch();
|
|
635
|
-
if (storeResult?.valid != null) {
|
|
636
|
-
$dirty.value = storage.getDirtyState(path);
|
|
637
|
-
if ($dirty.value) {
|
|
638
|
-
$commit();
|
|
639
|
-
}
|
|
640
|
-
}
|
|
641
|
-
storage.addRuleDeclEntry(path, declaredRules);
|
|
642
|
-
}
|
|
643
|
-
const $unwatchDirty = watch2($dirty, () => {
|
|
644
|
-
storage.setDirtyEntry(path, $dirty.value);
|
|
645
|
-
});
|
|
646
|
-
const $unwatchState = watch2(state, () => {
|
|
647
|
-
if (scopeState.$autoDirty.value) {
|
|
648
|
-
if (!$dirty.value) {
|
|
649
|
-
$dirty.value = true;
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
if (!scopeState.$lazy.value) {
|
|
653
|
-
$commit();
|
|
654
|
-
if (!scopeState.$rewardEarly.value !== false) {
|
|
655
|
-
$clearExternalErrors();
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
});
|
|
659
|
-
function $unwatch() {
|
|
660
|
-
if ($rules.value) {
|
|
661
|
-
Object.entries($rules.value).forEach(([_, rule]) => {
|
|
662
|
-
rule.$unwatch();
|
|
663
|
-
});
|
|
664
|
-
}
|
|
665
|
-
$unwatchDirty();
|
|
666
|
-
if ($dirty.value) {
|
|
667
|
-
storage.setDirtyEntry(path, $dirty.value);
|
|
668
|
-
}
|
|
669
|
-
$unwatchState();
|
|
670
|
-
$unwatchValid();
|
|
671
|
-
$unwatchExternalErrors();
|
|
672
|
-
scope.stop();
|
|
673
|
-
scope = effectScope3();
|
|
674
|
-
}
|
|
675
|
-
function $watch() {
|
|
676
|
-
scopeState = scope.run(() => {
|
|
677
|
-
const $debounce = computed3(() => {
|
|
678
|
-
return $localOptions.value.$debounce;
|
|
679
|
-
});
|
|
680
|
-
const $lazy = computed3(() => {
|
|
681
|
-
if ($localOptions.value.$lazy) {
|
|
682
|
-
return $localOptions.value.$lazy;
|
|
683
|
-
}
|
|
684
|
-
return unref2(options.lazy);
|
|
685
|
-
});
|
|
686
|
-
const $rewardEarly = computed3(() => {
|
|
687
|
-
if ($localOptions.value.$rewardEarly) {
|
|
688
|
-
return $localOptions.value.$rewardEarly;
|
|
689
|
-
}
|
|
690
|
-
return unref2(options.rewardEarly);
|
|
691
|
-
});
|
|
692
|
-
const $autoDirty = computed3(() => {
|
|
693
|
-
if ($localOptions.value.$autoDirty) {
|
|
694
|
-
return $localOptions.value.$autoDirty;
|
|
695
|
-
}
|
|
696
|
-
return unref2(options.autoDirty);
|
|
697
|
-
});
|
|
698
|
-
const $error = computed3(() => {
|
|
699
|
-
return $invalid.value && !$pending.value && $dirty.value;
|
|
700
|
-
});
|
|
701
|
-
const $pending = computed3(() => {
|
|
702
|
-
if (triggerPunishment.value || !$rewardEarly.value) {
|
|
703
|
-
return Object.entries($rules.value).some(([key, ruleResult]) => {
|
|
704
|
-
return ruleResult.$pending;
|
|
705
|
-
});
|
|
706
|
-
}
|
|
707
|
-
return false;
|
|
708
|
-
});
|
|
709
|
-
const $invalid = computed3(() => {
|
|
710
|
-
if ($externalErrors.value?.length) {
|
|
711
|
-
return true;
|
|
712
|
-
} else if (triggerPunishment.value || !$rewardEarly.value) {
|
|
713
|
-
return Object.entries($rules.value).some(([key, ruleResult]) => {
|
|
714
|
-
return !ruleResult.$valid;
|
|
715
|
-
});
|
|
716
|
-
}
|
|
717
|
-
return false;
|
|
718
|
-
});
|
|
719
|
-
const $valid = computed3(() => {
|
|
720
|
-
if ($externalErrors.value?.length) {
|
|
721
|
-
return false;
|
|
722
|
-
} else if ($rewardEarly.value) {
|
|
723
|
-
return Object.entries($rules.value).every(([key, ruleResult]) => {
|
|
724
|
-
return ruleResult.$valid;
|
|
725
|
-
});
|
|
726
|
-
} else {
|
|
727
|
-
return !$invalid.value;
|
|
728
|
-
}
|
|
729
|
-
});
|
|
730
|
-
return {
|
|
731
|
-
$error,
|
|
732
|
-
$pending,
|
|
733
|
-
$invalid,
|
|
734
|
-
$valid,
|
|
735
|
-
$debounce,
|
|
736
|
-
$lazy,
|
|
737
|
-
$rewardEarly,
|
|
738
|
-
$autoDirty
|
|
739
|
-
};
|
|
740
|
-
});
|
|
741
|
-
}
|
|
742
|
-
const $rules = ref2();
|
|
743
|
-
const $localOptions = ref2();
|
|
744
|
-
createReactiveRulesResult();
|
|
745
|
-
const $unwatchValid = watch2(scopeState.$valid, (valid) => {
|
|
746
|
-
if (scopeState.$rewardEarly.value && valid) {
|
|
747
|
-
triggerPunishment.value = false;
|
|
748
|
-
}
|
|
749
|
-
});
|
|
750
|
-
function $reset() {
|
|
751
|
-
$dirty.value = false;
|
|
752
|
-
$externalErrors.value = [];
|
|
753
|
-
}
|
|
754
|
-
function $touch() {
|
|
755
|
-
$dirty.value = true;
|
|
756
|
-
}
|
|
757
|
-
const $commit = debounce($commitHandler, scopeState.$debounce.value ?? 0);
|
|
758
|
-
function $commitHandler() {
|
|
759
|
-
Object.entries($rules.value).map(([key, rule]) => {
|
|
760
|
-
return rule.$validate();
|
|
761
|
-
});
|
|
762
|
-
}
|
|
763
|
-
const $validate = debounce($validateHandler, scopeState.$debounce.value ?? 0);
|
|
764
|
-
async function $validateHandler() {
|
|
765
|
-
try {
|
|
766
|
-
$clearExternalErrors();
|
|
767
|
-
triggerPunishment.value = true;
|
|
768
|
-
const results = await Promise.allSettled(
|
|
769
|
-
Object.entries($rules.value).map(([key, rule]) => {
|
|
770
|
-
return rule.$validate();
|
|
771
|
-
})
|
|
772
|
-
);
|
|
773
|
-
return results.every((value) => !!value);
|
|
774
|
-
} catch (e) {
|
|
775
|
-
return false;
|
|
776
|
-
}
|
|
777
|
-
}
|
|
778
|
-
function $clearExternalErrors() {
|
|
779
|
-
$externalErrors.value = [];
|
|
780
|
-
}
|
|
781
|
-
return reactive2({
|
|
782
|
-
$dirty,
|
|
783
|
-
$anyDirty,
|
|
784
|
-
$invalid: scopeState.$invalid,
|
|
785
|
-
$error: scopeState.$error,
|
|
786
|
-
$pending: scopeState.$pending,
|
|
787
|
-
$valid: scopeState.$valid,
|
|
788
|
-
$externalErrors,
|
|
789
|
-
$value: state,
|
|
790
|
-
$rules,
|
|
791
|
-
$reset,
|
|
792
|
-
$touch,
|
|
793
|
-
$validate,
|
|
794
|
-
$unwatch,
|
|
795
|
-
$watch,
|
|
796
|
-
$clearExternalErrors
|
|
797
|
-
});
|
|
798
|
-
}
|
|
799
|
-
|
|
800
|
-
// src/core/useRegle/useStateProperties/createReactiveCollectionStatus.ts
|
|
801
|
-
function createCollectionElement({
|
|
802
|
-
path,
|
|
803
|
-
index,
|
|
804
|
-
options,
|
|
805
|
-
storage,
|
|
806
|
-
value,
|
|
807
|
-
customMessages,
|
|
808
|
-
rules,
|
|
809
|
-
externalErrors
|
|
810
|
-
}) {
|
|
811
|
-
const $id = randomId();
|
|
812
|
-
const $path = `${path}.${$id}`;
|
|
813
|
-
if (!value[index].$id) {
|
|
814
|
-
Object.defineProperties(value[index], {
|
|
815
|
-
$id: {
|
|
816
|
-
value: $id,
|
|
817
|
-
enumerable: false,
|
|
818
|
-
configurable: false,
|
|
819
|
-
writable: false
|
|
820
|
-
}
|
|
821
|
-
});
|
|
822
|
-
}
|
|
823
|
-
const $state = toRefs(value);
|
|
824
|
-
const $externalErrors = toRef3(() => externalErrors.value?.[index]);
|
|
825
|
-
const $status = createReactiveChildrenStatus({
|
|
826
|
-
state: $state[index],
|
|
827
|
-
rulesDef: toRef3(() => rules),
|
|
828
|
-
customMessages,
|
|
829
|
-
path: $path,
|
|
830
|
-
storage,
|
|
831
|
-
options,
|
|
832
|
-
externalErrors: $externalErrors
|
|
833
|
-
});
|
|
834
|
-
if ($status) {
|
|
835
|
-
$status.$id = value[index].$id ?? $id;
|
|
836
|
-
storage.addArrayStatus($status.$id, $status);
|
|
837
|
-
}
|
|
838
|
-
return $status;
|
|
839
|
-
}
|
|
840
|
-
function createReactiveCollectionStatus({
|
|
841
|
-
state,
|
|
842
|
-
rulesDef,
|
|
843
|
-
customMessages,
|
|
844
|
-
path,
|
|
845
|
-
storage,
|
|
846
|
-
options,
|
|
847
|
-
externalErrors
|
|
848
|
-
}) {
|
|
849
|
-
if (Array.isArray(state.value) && !rulesDef.value.$each) {
|
|
850
|
-
return null;
|
|
851
|
-
}
|
|
852
|
-
let $unwatchState = null;
|
|
853
|
-
const $fieldStatus = ref3({});
|
|
854
|
-
const $eachStatus = storage.getCollectionsEntry(path);
|
|
855
|
-
createStatus();
|
|
856
|
-
$watch();
|
|
857
|
-
function createStatus() {
|
|
858
|
-
const { $each, ...otherFields } = rulesDef.value;
|
|
859
|
-
const $externalErrorsField = toRef3(() => {
|
|
860
|
-
if (externalErrors.value) {
|
|
861
|
-
if (isExternalErrorCollection(externalErrors.value)) {
|
|
862
|
-
return externalErrors.value.$errors;
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
-
});
|
|
866
|
-
const $externalErrorsEach = toRef3(() => {
|
|
867
|
-
if (externalErrors.value) {
|
|
868
|
-
if (isExternalErrorCollection(externalErrors.value)) {
|
|
869
|
-
return externalErrors.value.$each;
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
});
|
|
873
|
-
$fieldStatus.value = createReactiveFieldStatus({
|
|
874
|
-
state,
|
|
875
|
-
rulesDef: toRef3(() => otherFields),
|
|
876
|
-
customMessages,
|
|
877
|
-
path,
|
|
878
|
-
storage,
|
|
879
|
-
options,
|
|
880
|
-
externalErrors: $externalErrorsField
|
|
881
|
-
});
|
|
882
|
-
if (Array.isArray(state.value) && $each) {
|
|
883
|
-
$eachStatus.value = state.value.map((value, index) => {
|
|
884
|
-
if (value.$id) {
|
|
885
|
-
const previousStatus = storage.getArrayStatus(value.$id);
|
|
886
|
-
if (previousStatus) {
|
|
887
|
-
return previousStatus;
|
|
888
|
-
}
|
|
889
|
-
} else {
|
|
890
|
-
return createCollectionElement({
|
|
891
|
-
path,
|
|
892
|
-
rules: $each,
|
|
893
|
-
value: state.value,
|
|
894
|
-
index,
|
|
895
|
-
options,
|
|
896
|
-
storage,
|
|
897
|
-
externalErrors: $externalErrorsEach
|
|
898
|
-
});
|
|
899
|
-
}
|
|
900
|
-
}).filter((f) => !!f);
|
|
901
|
-
} else {
|
|
902
|
-
$eachStatus.value = [];
|
|
903
|
-
}
|
|
904
|
-
}
|
|
905
|
-
async function updateChildrenStatus() {
|
|
906
|
-
const { $each } = rulesDef.value;
|
|
907
|
-
if (Array.isArray(state.value) && $eachStatus.value && $each) {
|
|
908
|
-
$unwatchState?.();
|
|
909
|
-
state.value.forEach((value, index) => {
|
|
910
|
-
if (value.$id) {
|
|
911
|
-
if (Array.isArray(state.value) && !state.value.find((val) => val.$id === $eachStatus.value[index].$id)) {
|
|
912
|
-
$eachStatus.value[index].$unwatch();
|
|
913
|
-
}
|
|
914
|
-
const previousStatus = storage.getArrayStatus(value.$id);
|
|
915
|
-
if (previousStatus) {
|
|
916
|
-
$eachStatus.value[index] = previousStatus;
|
|
917
|
-
} else {
|
|
918
|
-
$eachStatus.value[index].$unwatch();
|
|
919
|
-
}
|
|
920
|
-
} else {
|
|
921
|
-
const $externalErrorsEach = toRef3(() => {
|
|
922
|
-
if (externalErrors.value) {
|
|
923
|
-
if ("$each" in externalErrors.value) {
|
|
924
|
-
return externalErrors.value.$each;
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
});
|
|
928
|
-
const newElement = createCollectionElement({
|
|
929
|
-
value: state.value,
|
|
930
|
-
rules: $each,
|
|
931
|
-
customMessages,
|
|
932
|
-
path,
|
|
933
|
-
storage,
|
|
934
|
-
options,
|
|
935
|
-
index,
|
|
936
|
-
externalErrors: $externalErrorsEach
|
|
937
|
-
});
|
|
938
|
-
if (newElement) {
|
|
939
|
-
$eachStatus.value[index] = newElement;
|
|
940
|
-
}
|
|
941
|
-
}
|
|
942
|
-
});
|
|
943
|
-
const deletedItems = $eachStatus.value.filter(($each2) => {
|
|
944
|
-
return Array.isArray(state.value) && !state.value.find((val) => val.$id === $each2.$id);
|
|
945
|
-
});
|
|
946
|
-
deletedItems.forEach((item) => {
|
|
947
|
-
storage.deleteArrayStatus(item.$id);
|
|
948
|
-
item.$unwatch();
|
|
949
|
-
});
|
|
950
|
-
$eachStatus.value.length = state.value.length;
|
|
951
|
-
nextTick($watch);
|
|
952
|
-
}
|
|
953
|
-
}
|
|
954
|
-
function $unwatch() {
|
|
955
|
-
if ($unwatchState) {
|
|
956
|
-
$unwatchState();
|
|
957
|
-
}
|
|
958
|
-
if ($fieldStatus.value) {
|
|
959
|
-
$fieldStatus.value.$unwatch();
|
|
960
|
-
}
|
|
961
|
-
if ($eachStatus.value) {
|
|
962
|
-
$eachStatus.value.forEach((element) => {
|
|
963
|
-
element.$unwatch();
|
|
964
|
-
});
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
function $watch() {
|
|
968
|
-
$unwatchState = watch3(() => state.value.length, updateChildrenStatus, {
|
|
969
|
-
flush: "sync"
|
|
970
|
-
});
|
|
971
|
-
}
|
|
972
|
-
function $touch() {
|
|
973
|
-
$fieldStatus.value.$touch();
|
|
974
|
-
$eachStatus.value.forEach(($each) => {
|
|
975
|
-
$each.$touch();
|
|
976
|
-
});
|
|
977
|
-
}
|
|
978
|
-
function $reset() {
|
|
979
|
-
$fieldStatus.value.$reset();
|
|
980
|
-
$eachStatus.value.forEach(($each) => {
|
|
981
|
-
$each.$reset();
|
|
982
|
-
});
|
|
983
|
-
}
|
|
984
|
-
async function $validate() {
|
|
985
|
-
try {
|
|
986
|
-
const results = await Promise.all(
|
|
987
|
-
$eachStatus.value.map((rule) => {
|
|
988
|
-
return rule.$validate();
|
|
989
|
-
})
|
|
990
|
-
);
|
|
991
|
-
return results.every((value) => !!value);
|
|
992
|
-
} catch (e) {
|
|
993
|
-
return false;
|
|
994
|
-
}
|
|
995
|
-
}
|
|
996
|
-
return reactive3({
|
|
997
|
-
...$fieldStatus.value,
|
|
998
|
-
$each: $eachStatus,
|
|
999
|
-
$validate,
|
|
1000
|
-
$unwatch,
|
|
1001
|
-
$watch,
|
|
1002
|
-
$touch,
|
|
1003
|
-
$reset
|
|
1004
|
-
});
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
// src/core/useRegle/useStateProperties/createReactiveNestedStatus.ts
|
|
1008
|
-
function createReactiveNestedStatus({
|
|
1009
|
-
scopeRules,
|
|
1010
|
-
state,
|
|
1011
|
-
customMessages,
|
|
1012
|
-
path = "",
|
|
1013
|
-
rootRules,
|
|
1014
|
-
storage,
|
|
1015
|
-
options,
|
|
1016
|
-
externalErrors
|
|
1017
|
-
}) {
|
|
1018
|
-
let scope = effectScope4();
|
|
1019
|
-
let scopeState;
|
|
1020
|
-
let $unwatchFields;
|
|
1021
|
-
function createReactiveFieldsStatus() {
|
|
1022
|
-
$fields.value = Object.fromEntries(
|
|
1023
|
-
Object.entries(scopeRules.value).map(([statePropKey, statePropRules]) => {
|
|
1024
|
-
if (statePropRules) {
|
|
1025
|
-
const stateRef = toRef4(state.value, statePropKey);
|
|
1026
|
-
const statePropRulesRef = toRef4(() => statePropRules);
|
|
1027
|
-
const $externalErrors = toRef4(() => externalErrors.value?.[statePropKey]);
|
|
1028
|
-
return [
|
|
1029
|
-
statePropKey,
|
|
1030
|
-
createReactiveChildrenStatus({
|
|
1031
|
-
state: stateRef,
|
|
1032
|
-
rulesDef: statePropRulesRef,
|
|
1033
|
-
customMessages,
|
|
1034
|
-
path: path ? `${path}.${statePropKey}` : statePropKey,
|
|
1035
|
-
storage,
|
|
1036
|
-
options,
|
|
1037
|
-
externalErrors: $externalErrors
|
|
1038
|
-
})
|
|
1039
|
-
];
|
|
1040
|
-
}
|
|
1041
|
-
return [];
|
|
1042
|
-
}).filter(
|
|
1043
|
-
(rule) => !!rule.length && rule[1] != null
|
|
1044
|
-
)
|
|
1045
|
-
);
|
|
1046
|
-
$watch();
|
|
1047
|
-
}
|
|
1048
|
-
const $fields = storage.getFieldsEntry(path);
|
|
1049
|
-
createReactiveFieldsStatus();
|
|
1050
|
-
function $reset() {
|
|
1051
|
-
Object.entries($fields.value).forEach(([_, statusOrField]) => {
|
|
1052
|
-
statusOrField.$reset();
|
|
1053
|
-
});
|
|
1054
|
-
}
|
|
1055
|
-
function $touch() {
|
|
1056
|
-
Object.entries($fields.value).forEach(([_, statusOrField]) => {
|
|
1057
|
-
statusOrField.$touch();
|
|
1058
|
-
});
|
|
1059
|
-
}
|
|
1060
|
-
async function $validate() {
|
|
1061
|
-
try {
|
|
1062
|
-
const results = await Promise.all(
|
|
1063
|
-
Object.entries($fields.value).map(([_, statusOrField]) => {
|
|
1064
|
-
return statusOrField.$validate();
|
|
1065
|
-
})
|
|
1066
|
-
);
|
|
1067
|
-
return results.every((value) => !!value);
|
|
1068
|
-
} catch (e) {
|
|
1069
|
-
return false;
|
|
1070
|
-
}
|
|
1071
|
-
}
|
|
1072
|
-
function $watch() {
|
|
1073
|
-
if (rootRules) {
|
|
1074
|
-
$unwatchFields = watch4(
|
|
1075
|
-
rootRules,
|
|
1076
|
-
() => {
|
|
1077
|
-
$unwatch();
|
|
1078
|
-
createReactiveFieldsStatus();
|
|
1079
|
-
},
|
|
1080
|
-
{ deep: true, flush: "post" }
|
|
1081
|
-
);
|
|
1082
|
-
}
|
|
1083
|
-
scopeState = scope.run(() => {
|
|
1084
|
-
const $dirty = computed4(() => {
|
|
1085
|
-
return Object.entries($fields.value).every(([key, statusOrField]) => {
|
|
1086
|
-
return statusOrField.$dirty;
|
|
1087
|
-
});
|
|
1088
|
-
});
|
|
1089
|
-
const $anyDirty = computed4(() => {
|
|
1090
|
-
return Object.entries($fields.value).some(([key, statusOrField]) => {
|
|
1091
|
-
return statusOrField.$dirty;
|
|
1092
|
-
});
|
|
1093
|
-
});
|
|
1094
|
-
const $invalid = computed4(() => {
|
|
1095
|
-
return Object.entries($fields.value).some(([key, statusOrField]) => {
|
|
1096
|
-
return statusOrField.$invalid;
|
|
1097
|
-
});
|
|
1098
|
-
});
|
|
1099
|
-
const $valid = computed4(() => !$invalid.value);
|
|
1100
|
-
const $error = computed4(() => {
|
|
1101
|
-
return Object.entries($fields.value).some(([key, statusOrField]) => {
|
|
1102
|
-
return statusOrField.$error;
|
|
1103
|
-
});
|
|
1104
|
-
});
|
|
1105
|
-
const $pending = computed4(() => {
|
|
1106
|
-
return Object.entries($fields.value).some(([key, statusOrField]) => {
|
|
1107
|
-
return statusOrField.$pending;
|
|
1108
|
-
});
|
|
1109
|
-
});
|
|
1110
|
-
return {
|
|
1111
|
-
$dirty,
|
|
1112
|
-
$anyDirty,
|
|
1113
|
-
$invalid,
|
|
1114
|
-
$valid,
|
|
1115
|
-
$error,
|
|
1116
|
-
$pending
|
|
1117
|
-
};
|
|
1118
|
-
});
|
|
1119
|
-
}
|
|
1120
|
-
function $unwatch() {
|
|
1121
|
-
if ($fields.value) {
|
|
1122
|
-
Object.entries($fields.value).forEach(([_, field]) => {
|
|
1123
|
-
field.$unwatch();
|
|
1124
|
-
});
|
|
1125
|
-
}
|
|
1126
|
-
if ($unwatchFields) {
|
|
1127
|
-
$unwatchFields();
|
|
1128
|
-
}
|
|
1129
|
-
scope.stop();
|
|
1130
|
-
scope = effectScope4();
|
|
1131
|
-
}
|
|
1132
|
-
function $clearExternalErrors() {
|
|
1133
|
-
Object.entries($fields.value).forEach(([_, field]) => {
|
|
1134
|
-
field.$clearExternalErrors();
|
|
1135
|
-
});
|
|
1136
|
-
}
|
|
1137
|
-
return reactive4({
|
|
1138
|
-
...scopeState,
|
|
1139
|
-
$fields,
|
|
1140
|
-
$value: state,
|
|
1141
|
-
$reset,
|
|
1142
|
-
$touch,
|
|
1143
|
-
$validate,
|
|
1144
|
-
$unwatch,
|
|
1145
|
-
$watch,
|
|
1146
|
-
$clearExternalErrors
|
|
1147
|
-
});
|
|
1148
|
-
}
|
|
1149
|
-
function createReactiveChildrenStatus({
|
|
1150
|
-
state,
|
|
1151
|
-
rulesDef,
|
|
1152
|
-
customMessages,
|
|
1153
|
-
path,
|
|
1154
|
-
storage,
|
|
1155
|
-
options,
|
|
1156
|
-
externalErrors
|
|
1157
|
-
}) {
|
|
1158
|
-
if (isCollectionRulesDef(rulesDef)) {
|
|
1159
|
-
return createReactiveCollectionStatus({
|
|
1160
|
-
state,
|
|
1161
|
-
rulesDef,
|
|
1162
|
-
customMessages,
|
|
1163
|
-
path,
|
|
1164
|
-
storage,
|
|
1165
|
-
options,
|
|
1166
|
-
externalErrors
|
|
1167
|
-
});
|
|
1168
|
-
} else if (isNestedRulesDef(state, rulesDef) && isRefObject(state)) {
|
|
1169
|
-
return createReactiveNestedStatus({
|
|
1170
|
-
scopeRules: rulesDef,
|
|
1171
|
-
state,
|
|
1172
|
-
customMessages,
|
|
1173
|
-
path,
|
|
1174
|
-
storage,
|
|
1175
|
-
options,
|
|
1176
|
-
externalErrors
|
|
1177
|
-
});
|
|
1178
|
-
} else if (isValidatorRulesDef(rulesDef)) {
|
|
1179
|
-
return createReactiveFieldStatus({
|
|
1180
|
-
state,
|
|
1181
|
-
rulesDef,
|
|
1182
|
-
customMessages,
|
|
1183
|
-
path,
|
|
1184
|
-
storage,
|
|
1185
|
-
options,
|
|
1186
|
-
externalErrors
|
|
1187
|
-
});
|
|
1188
|
-
}
|
|
1189
|
-
return null;
|
|
1190
|
-
}
|
|
1191
|
-
|
|
1192
|
-
// src/core/useRegle/useStateProperties/useStateProperties.ts
|
|
1193
|
-
function useStateProperties(scopeRules, state, options, customRules) {
|
|
1194
|
-
const storage = useStorage();
|
|
1195
|
-
const externalErrors = computed5(() => unref3(options.$externalErrors));
|
|
1196
|
-
const $regle = reactive5(
|
|
1197
|
-
createReactiveNestedStatus({
|
|
1198
|
-
rootRules: scopeRules,
|
|
1199
|
-
scopeRules,
|
|
1200
|
-
state,
|
|
1201
|
-
customMessages: customRules?.(),
|
|
1202
|
-
storage,
|
|
1203
|
-
options,
|
|
1204
|
-
externalErrors
|
|
1205
|
-
})
|
|
1206
|
-
);
|
|
1207
|
-
const errors = useErrors($regle);
|
|
1208
|
-
return { $regle, errors };
|
|
1209
|
-
}
|
|
1210
|
-
|
|
1211
|
-
// src/core/useRegle/useRegle.ts
|
|
1212
|
-
function createUseRegleComposable(customRules, options) {
|
|
1213
|
-
const globalOptions = {
|
|
1214
|
-
autoDirty: options?.autoDirty ?? true,
|
|
1215
|
-
lazy: options?.lazy ?? false,
|
|
1216
|
-
rewardEarly: options?.rewardEarly ?? false
|
|
1217
|
-
};
|
|
1218
|
-
function useRegle2(state, rulesFactory, options2) {
|
|
1219
|
-
const scopeRules = isRef2(rulesFactory) ? rulesFactory : computed6(rulesFactory);
|
|
1220
|
-
const resolvedOptions = {
|
|
1221
|
-
...globalOptions,
|
|
1222
|
-
...options2
|
|
1223
|
-
};
|
|
1224
|
-
const processedState = ref4(state);
|
|
1225
|
-
const initialState = shallowRef2(structuredClone(toRaw(processedState.value)));
|
|
1226
|
-
const { $regle, errors } = useStateProperties(
|
|
1227
|
-
scopeRules,
|
|
1228
|
-
processedState,
|
|
1229
|
-
resolvedOptions,
|
|
1230
|
-
customRules
|
|
1231
|
-
);
|
|
1232
|
-
function resetForm() {
|
|
1233
|
-
state.value = toRaw(initialState.value);
|
|
1234
|
-
$regle.$reset();
|
|
1235
|
-
}
|
|
1236
|
-
const $valid = computed6(() => {
|
|
1237
|
-
return $regle.$valid && $regle.$dirty && !$regle.$pending;
|
|
1238
|
-
});
|
|
1239
|
-
const $invalid = computed6(() => {
|
|
1240
|
-
return $regle.$invalid && $regle.$dirty || $regle.$pending;
|
|
1241
|
-
});
|
|
1242
|
-
async function validateForm() {
|
|
1243
|
-
$regle.$touch();
|
|
1244
|
-
const result = await $regle.$validate();
|
|
1245
|
-
if (result) {
|
|
1246
|
-
return state.value;
|
|
1247
|
-
}
|
|
1248
|
-
return false;
|
|
1249
|
-
}
|
|
1250
|
-
return {
|
|
1251
|
-
$state: state,
|
|
1252
|
-
$regle,
|
|
1253
|
-
$errors: errors,
|
|
1254
|
-
resetForm,
|
|
1255
|
-
validateForm,
|
|
1256
|
-
$valid,
|
|
1257
|
-
$invalid
|
|
1258
|
-
};
|
|
1259
|
-
}
|
|
1260
|
-
return useRegle2;
|
|
1261
|
-
}
|
|
1262
|
-
var useRegle = createUseRegleComposable();
|
|
1263
|
-
|
|
1264
|
-
// src/core/defineRegleConfig.ts
|
|
1265
|
-
function defineRegleConfig({
|
|
1266
|
-
rules,
|
|
1267
|
-
options
|
|
1268
|
-
}) {
|
|
1269
|
-
const useRegle2 = createUseRegleComposable(rules, options);
|
|
1270
|
-
return useRegle2;
|
|
1271
|
-
}
|
|
1272
|
-
export {
|
|
1273
|
-
InternalRuleType,
|
|
1274
|
-
createRule,
|
|
1275
|
-
defineRegleConfig,
|
|
1276
|
-
defineType,
|
|
1277
|
-
unwrapRuleParameters,
|
|
1278
|
-
useRegle
|
|
1279
|
-
};
|
|
1
|
+
var Is=Object.create;var Jn=Object.defineProperty;var Ds=Object.getOwnPropertyDescriptor;var Ms=Object.getOwnPropertyNames;var Ns=Object.getPrototypeOf,Ls=Object.prototype.hasOwnProperty;var we=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ms(t))!Ls.call(e,s)&&s!==n&&Jn(e,s,{get:()=>t[s],enumerable:!(r=Ds(t,s))||r.enumerable});return e};var ks=(e,t,n)=>(n=e!=null?Is(Ns(e)):{},Fs(t||!e||!e.__esModule?Jn(n,"default",{value:e,enumerable:!0}):n,e));var yr=we(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});function q(e,t){let n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}var Ks={},Gs=[],Ys=()=>{},qs=()=>!1,Ws=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Xs=e=>e.startsWith("onUpdate:"),Js=Object.assign,Zs=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},Qs=Object.prototype.hasOwnProperty,eo=(e,t)=>Qs.call(e,t),he=Array.isArray,cr=e=>ge(e)==="[object Map]",ur=e=>ge(e)==="[object Set]",qt=e=>ge(e)==="[object Date]",to=e=>ge(e)==="[object RegExp]",Ve=e=>typeof e=="function",J=e=>typeof e=="string",ze=e=>typeof e=="symbol",le=e=>e!==null&&typeof e=="object",no=e=>(le(e)||Ve(e))&&Ve(e.then)&&Ve(e.catch),Wt=Object.prototype.toString,ge=e=>Wt.call(e),ro=e=>ge(e).slice(8,-1),fr=e=>ge(e)==="[object Object]",so=e=>J(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,oo=q(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ao=q("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Xe=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},io=/-(\w)/g,lo=Xe(e=>e.replace(io,(t,n)=>n?n.toUpperCase():"")),co=/\B([A-Z])/g,dr=Xe(e=>e.replace(co,"-$1").toLowerCase()),pr=Xe(e=>e.charAt(0).toUpperCase()+e.slice(1)),uo=Xe(e=>e?`on${pr(e)}`:""),fo=(e,t)=>!Object.is(e,t),po=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},ho=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},go=e=>{let t=parseFloat(e);return isNaN(t)?e:t},mo=e=>{let t=J(e)?Number(e):NaN;return isNaN(t)?e:t},ir,Ro=()=>ir||(ir=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),yo=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function vo(e){return yo.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}var _o={TEXT:1,1:"TEXT",CLASS:2,2:"CLASS",STYLE:4,4:"STYLE",PROPS:8,8:"PROPS",FULL_PROPS:16,16:"FULL_PROPS",NEED_HYDRATION:32,32:"NEED_HYDRATION",STABLE_FRAGMENT:64,64:"STABLE_FRAGMENT",KEYED_FRAGMENT:128,128:"KEYED_FRAGMENT",UNKEYED_FRAGMENT:256,256:"UNKEYED_FRAGMENT",NEED_PATCH:512,512:"NEED_PATCH",DYNAMIC_SLOTS:1024,1024:"DYNAMIC_SLOTS",DEV_ROOT_FRAGMENT:2048,2048:"DEV_ROOT_FRAGMENT",HOISTED:-1,"-1":"HOISTED",BAIL:-2,"-2":"BAIL"},So={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},bo={ELEMENT:1,1:"ELEMENT",FUNCTIONAL_COMPONENT:2,2:"FUNCTIONAL_COMPONENT",STATEFUL_COMPONENT:4,4:"STATEFUL_COMPONENT",TEXT_CHILDREN:8,8:"TEXT_CHILDREN",ARRAY_CHILDREN:16,16:"ARRAY_CHILDREN",SLOTS_CHILDREN:32,32:"SLOTS_CHILDREN",TELEPORT:64,64:"TELEPORT",SUSPENSE:128,128:"SUSPENSE",COMPONENT_SHOULD_KEEP_ALIVE:256,256:"COMPONENT_SHOULD_KEEP_ALIVE",COMPONENT_KEPT_ALIVE:512,512:"COMPONENT_KEPT_ALIVE",COMPONENT:6,6:"COMPONENT"},To={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},Eo={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},$o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",hr=q($o),wo=hr,lr=2;function xo(e,t=0,n=e.length){let r=e.split(/(\r?\n)/),s=r.filter((i,l)=>l%2===1);r=r.filter((i,l)=>l%2===0);let o=0,a=[];for(let i=0;i<r.length;i++)if(o+=r[i].length+(s[i]&&s[i].length||0),o>=t){for(let l=i-lr;l<=i+lr||n>o;l++){if(l<0||l>=r.length)continue;let c=l+1;a.push(`${c}${" ".repeat(Math.max(3-String(c).length,0))}| ${r[l]}`);let d=r[l].length,h=s[l]&&s[l].length||0;if(l===i){let p=t-(o-(d+h)),y=Math.max(1,n>o?d-p:n-t);a.push(" | "+" ".repeat(p)+"^".repeat(y))}else if(l>i){if(n>o){let p=Math.max(Math.min(n-o,d),1);a.push(" | "+"^".repeat(p))}o+=d+h}}break}return a.join(`
|
|
2
|
+
`)}function Xt(e){if(he(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],s=J(r)?gr(r):Xt(r);if(s)for(let o in s)t[o]=s[o]}return t}else if(J(e)||le(e))return e}var Oo=/;(?![^(]*\))/g,Ao=/:([^]+)/,Co=/\/\*[^]*?\*\//g;function gr(e){let t={};return e.replace(Co,"").split(Oo).forEach(n=>{if(n){let r=n.split(Ao);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Po(e){let t="";if(!e||J(e))return t;for(let n in e){let r=e[n],s=n.startsWith("--")?n:dr(n);(J(r)||typeof r=="number")&&(t+=`${s}:${r};`)}return t}function Jt(e){let t="";if(J(e))t=e;else if(he(e))for(let n=0;n<e.length;n++){let r=Jt(e[n]);r&&(t+=r+" ")}else if(le(e))for(let n in e)e[n]&&(t+=n+" ");return t.trim()}function Io(e){if(!e)return null;let{class:t,style:n}=e;return t&&!J(t)&&(e.class=Jt(t)),n&&(e.style=Xt(n)),e}var Do="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",Mo="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",No="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",Lo="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",Fo=q(Do),ko=q(Mo),jo=q(No),Vo=q(Lo),mr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",zo=q(mr),Bo=q(mr+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function Uo(e){return!!e||e===""}var Ho=/[>/="'\u0009\u000a\u000c\u0020]/,Gt={};function Ko(e){if(Gt.hasOwnProperty(e))return Gt[e];let t=Ho.test(e);return t&&console.error(`unsafe attribute name: ${e}`),Gt[e]=!t}var Go={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},Yo=q("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),qo=q("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan");function Wo(e){if(e==null)return!1;let t=typeof e;return t==="string"||t==="number"||t==="boolean"}var Xo=/["'&<>]/;function Jo(e){let t=""+e,n=Xo.exec(t);if(!n)return t;let r="",s,o,a=0;for(o=n.index;o<t.length;o++){switch(t.charCodeAt(o)){case 34:s=""";break;case 38:s="&";break;case 39:s="'";break;case 60:s="<";break;case 62:s=">";break;default:continue}a!==o&&(r+=t.slice(a,o)),a=o+1,r+=s}return a!==o?r+t.slice(a,o):r}var Zo=/^-?>|<!--|-->|--!>|<!-$/g;function Qo(e){return e.replace(Zo,"")}function ea(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=Je(e[r],t[r]);return n}function Je(e,t){if(e===t)return!0;let n=qt(e),r=qt(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=ze(e),r=ze(t),n||r)return e===t;if(n=he(e),r=he(t),n||r)return n&&r?ea(e,t):!1;if(n=le(e),r=le(t),n||r){if(!n||!r)return!1;let s=Object.keys(e).length,o=Object.keys(t).length;if(s!==o)return!1;for(let a in e){let i=e.hasOwnProperty(a),l=t.hasOwnProperty(a);if(i&&!l||!i&&l||!Je(e[a],t[a]))return!1}}return String(e)===String(t)}function ta(e,t){return e.findIndex(n=>Je(n,t))}var na=e=>J(e)?e:e==null?"":he(e)||le(e)&&(e.toString===Wt||!Ve(e.toString))?JSON.stringify(e,Rr,2):String(e),Rr=(e,t)=>t&&t.__v_isRef?Rr(e,t.value):cr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Yt(r,o)+" =>"]=s,n),{})}:ur(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Yt(n))}:ze(t)?Yt(t):le(t)&&!he(t)&&!fr(t)?String(t):t,Yt=(e,t="")=>{var n;return ze(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};u.EMPTY_ARR=Gs;u.EMPTY_OBJ=Ks;u.NO=qs;u.NOOP=Ys;u.PatchFlagNames=So;u.PatchFlags=_o;u.ShapeFlags=bo;u.SlotFlags=To;u.camelize=lo;u.capitalize=pr;u.def=ho;u.escapeHtml=Jo;u.escapeHtmlComment=Qo;u.extend=Js;u.genPropsAccessExp=vo;u.generateCodeFrame=xo;u.getGlobalThis=Ro;u.hasChanged=fo;u.hasOwn=eo;u.hyphenate=dr;u.includeBooleanAttr=Uo;u.invokeArrayFns=po;u.isArray=he;u.isBooleanAttr=Bo;u.isBuiltInDirective=ao;u.isDate=qt;u.isFunction=Ve;u.isGloballyAllowed=hr;u.isGloballyWhitelisted=wo;u.isHTMLTag=Fo;u.isIntegerKey=so;u.isKnownHtmlAttr=Yo;u.isKnownSvgAttr=qo;u.isMap=cr;u.isMathMLTag=jo;u.isModelListener=Xs;u.isObject=le;u.isOn=Ws;u.isPlainObject=fr;u.isPromise=no;u.isRegExp=to;u.isRenderableAttrValue=Wo;u.isReservedProp=oo;u.isSSRSafeAttrName=Ko;u.isSVGTag=ko;u.isSet=ur;u.isSpecialBooleanAttr=zo;u.isString=J;u.isSymbol=ze;u.isVoidTag=Vo;u.looseEqual=Je;u.looseIndexOf=ta;u.looseToNumber=go;u.makeMap=q;u.normalizeClass=Jt;u.normalizeProps=Io;u.normalizeStyle=Xt;u.objectToString=Wt;u.parseStringStyle=gr;u.propsToAttrMap=Go;u.remove=Zs;u.slotFlagsText=Eo;u.stringifyStyle=Po;u.toDisplayString=na;u.toHandlerKey=uo;u.toNumber=mo;u.toRawType=ro;u.toTypeString=ge});var Cr=we(f=>{"use strict";Object.defineProperty(f,"__esModule",{value:!0});function W(e,t){let n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}var ra=Object.freeze({}),sa=Object.freeze([]),oa=()=>{},aa=()=>!1,ia=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),la=e=>e.startsWith("onUpdate:"),ca=Object.assign,ua=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},fa=Object.prototype.hasOwnProperty,da=(e,t)=>fa.call(e,t),me=Array.isArray,Sr=e=>Re(e)==="[object Map]",br=e=>Re(e)==="[object Set]",en=e=>Re(e)==="[object Date]",pa=e=>Re(e)==="[object RegExp]",Be=e=>typeof e=="function",Z=e=>typeof e=="string",Ue=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",ha=e=>(ce(e)||Be(e))&&Be(e.then)&&Be(e.catch),tn=Object.prototype.toString,Re=e=>tn.call(e),ga=e=>Re(e).slice(8,-1),Tr=e=>Re(e)==="[object Object]",ma=e=>Z(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ra=W(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ya=W("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),Ze=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},va=/-(\w)/g,_a=Ze(e=>e.replace(va,(t,n)=>n?n.toUpperCase():"")),Sa=/\B([A-Z])/g,Er=Ze(e=>e.replace(Sa,"-$1").toLowerCase()),$r=Ze(e=>e.charAt(0).toUpperCase()+e.slice(1)),ba=Ze(e=>e?`on${$r(e)}`:""),Ta=(e,t)=>!Object.is(e,t),Ea=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},$a=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},wa=e=>{let t=parseFloat(e);return isNaN(t)?e:t},xa=e=>{let t=Z(e)?Number(e):NaN;return isNaN(t)?e:t},vr,Oa=()=>vr||(vr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),Aa=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function Ca(e){return Aa.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}var Pa={TEXT:1,1:"TEXT",CLASS:2,2:"CLASS",STYLE:4,4:"STYLE",PROPS:8,8:"PROPS",FULL_PROPS:16,16:"FULL_PROPS",NEED_HYDRATION:32,32:"NEED_HYDRATION",STABLE_FRAGMENT:64,64:"STABLE_FRAGMENT",KEYED_FRAGMENT:128,128:"KEYED_FRAGMENT",UNKEYED_FRAGMENT:256,256:"UNKEYED_FRAGMENT",NEED_PATCH:512,512:"NEED_PATCH",DYNAMIC_SLOTS:1024,1024:"DYNAMIC_SLOTS",DEV_ROOT_FRAGMENT:2048,2048:"DEV_ROOT_FRAGMENT",HOISTED:-1,"-1":"HOISTED",BAIL:-2,"-2":"BAIL"},Ia={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"HOISTED",[-2]:"BAIL"},Da={ELEMENT:1,1:"ELEMENT",FUNCTIONAL_COMPONENT:2,2:"FUNCTIONAL_COMPONENT",STATEFUL_COMPONENT:4,4:"STATEFUL_COMPONENT",TEXT_CHILDREN:8,8:"TEXT_CHILDREN",ARRAY_CHILDREN:16,16:"ARRAY_CHILDREN",SLOTS_CHILDREN:32,32:"SLOTS_CHILDREN",TELEPORT:64,64:"TELEPORT",SUSPENSE:128,128:"SUSPENSE",COMPONENT_SHOULD_KEEP_ALIVE:256,256:"COMPONENT_SHOULD_KEEP_ALIVE",COMPONENT_KEPT_ALIVE:512,512:"COMPONENT_KEPT_ALIVE",COMPONENT:6,6:"COMPONENT"},Ma={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},Na={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},La="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",wr=W(La),Fa=wr,_r=2;function ka(e,t=0,n=e.length){let r=e.split(/(\r?\n)/),s=r.filter((i,l)=>l%2===1);r=r.filter((i,l)=>l%2===0);let o=0,a=[];for(let i=0;i<r.length;i++)if(o+=r[i].length+(s[i]&&s[i].length||0),o>=t){for(let l=i-_r;l<=i+_r||n>o;l++){if(l<0||l>=r.length)continue;let c=l+1;a.push(`${c}${" ".repeat(Math.max(3-String(c).length,0))}| ${r[l]}`);let d=r[l].length,h=s[l]&&s[l].length||0;if(l===i){let p=t-(o-(d+h)),y=Math.max(1,n>o?d-p:n-t);a.push(" | "+" ".repeat(p)+"^".repeat(y))}else if(l>i){if(n>o){let p=Math.max(Math.min(n-o,d),1);a.push(" | "+"^".repeat(p))}o+=d+h}}break}return a.join(`
|
|
3
|
+
`)}function nn(e){if(me(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],s=Z(r)?xr(r):nn(r);if(s)for(let o in s)t[o]=s[o]}return t}else if(Z(e)||ce(e))return e}var ja=/;(?![^(]*\))/g,Va=/:([^]+)/,za=/\/\*[^]*?\*\//g;function xr(e){let t={};return e.replace(za,"").split(ja).forEach(n=>{if(n){let r=n.split(Va);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ba(e){let t="";if(!e||Z(e))return t;for(let n in e){let r=e[n],s=n.startsWith("--")?n:Er(n);(Z(r)||typeof r=="number")&&(t+=`${s}:${r};`)}return t}function rn(e){let t="";if(Z(e))t=e;else if(me(e))for(let n=0;n<e.length;n++){let r=rn(e[n]);r&&(t+=r+" ")}else if(ce(e))for(let n in e)e[n]&&(t+=n+" ");return t.trim()}function Ua(e){if(!e)return null;let{class:t,style:n}=e;return t&&!Z(t)&&(e.class=rn(t)),n&&(e.style=nn(n)),e}var Ha="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",Ka="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",Ga="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",Ya="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",qa=W(Ha),Wa=W(Ka),Xa=W(Ga),Ja=W(Ya),Or="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Za=W(Or),Qa=W(Or+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function ei(e){return!!e||e===""}var ti=/[>/="'\u0009\u000a\u000c\u0020]/,Zt={};function ni(e){if(Zt.hasOwnProperty(e))return Zt[e];let t=ti.test(e);return t&&console.error(`unsafe attribute name: ${e}`),Zt[e]=!t}var ri={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},si=W("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),oi=W("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan");function ai(e){if(e==null)return!1;let t=typeof e;return t==="string"||t==="number"||t==="boolean"}var ii=/["'&<>]/;function li(e){let t=""+e,n=ii.exec(t);if(!n)return t;let r="",s,o,a=0;for(o=n.index;o<t.length;o++){switch(t.charCodeAt(o)){case 34:s=""";break;case 38:s="&";break;case 39:s="'";break;case 60:s="<";break;case 62:s=">";break;default:continue}a!==o&&(r+=t.slice(a,o)),a=o+1,r+=s}return a!==o?r+t.slice(a,o):r}var ci=/^-?>|<!--|-->|--!>|<!-$/g;function ui(e){return e.replace(ci,"")}function fi(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=Qe(e[r],t[r]);return n}function Qe(e,t){if(e===t)return!0;let n=en(e),r=en(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=Ue(e),r=Ue(t),n||r)return e===t;if(n=me(e),r=me(t),n||r)return n&&r?fi(e,t):!1;if(n=ce(e),r=ce(t),n||r){if(!n||!r)return!1;let s=Object.keys(e).length,o=Object.keys(t).length;if(s!==o)return!1;for(let a in e){let i=e.hasOwnProperty(a),l=t.hasOwnProperty(a);if(i&&!l||!i&&l||!Qe(e[a],t[a]))return!1}}return String(e)===String(t)}function di(e,t){return e.findIndex(n=>Qe(n,t))}var pi=e=>Z(e)?e:e==null?"":me(e)||ce(e)&&(e.toString===tn||!Be(e.toString))?JSON.stringify(e,Ar,2):String(e),Ar=(e,t)=>t&&t.__v_isRef?Ar(e,t.value):Sr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Qt(r,o)+" =>"]=s,n),{})}:br(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Qt(n))}:Ue(t)?Qt(t):ce(t)&&!me(t)&&!Tr(t)?String(t):t,Qt=(e,t="")=>{var n;return Ue(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};f.EMPTY_ARR=sa;f.EMPTY_OBJ=ra;f.NO=aa;f.NOOP=oa;f.PatchFlagNames=Ia;f.PatchFlags=Pa;f.ShapeFlags=Da;f.SlotFlags=Ma;f.camelize=_a;f.capitalize=$r;f.def=$a;f.escapeHtml=li;f.escapeHtmlComment=ui;f.extend=ca;f.genPropsAccessExp=Ca;f.generateCodeFrame=ka;f.getGlobalThis=Oa;f.hasChanged=Ta;f.hasOwn=da;f.hyphenate=Er;f.includeBooleanAttr=ei;f.invokeArrayFns=Ea;f.isArray=me;f.isBooleanAttr=Qa;f.isBuiltInDirective=ya;f.isDate=en;f.isFunction=Be;f.isGloballyAllowed=wr;f.isGloballyWhitelisted=Fa;f.isHTMLTag=qa;f.isIntegerKey=ma;f.isKnownHtmlAttr=si;f.isKnownSvgAttr=oi;f.isMap=Sr;f.isMathMLTag=Xa;f.isModelListener=la;f.isObject=ce;f.isOn=ia;f.isPlainObject=Tr;f.isPromise=ha;f.isRegExp=pa;f.isRenderableAttrValue=ai;f.isReservedProp=Ra;f.isSSRSafeAttrName=ni;f.isSVGTag=Wa;f.isSet=br;f.isSpecialBooleanAttr=Za;f.isString=Z;f.isSymbol=Ue;f.isVoidTag=Ja;f.looseEqual=Qe;f.looseIndexOf=di;f.looseToNumber=wa;f.makeMap=W;f.normalizeClass=rn;f.normalizeProps=Ua;f.normalizeStyle=nn;f.objectToString=tn;f.parseStringStyle=xr;f.propsToAttrMap=ri;f.remove=ua;f.slotFlagsText=Na;f.stringifyStyle=Ba;f.toDisplayString=pi;f.toHandlerKey=ba;f.toNumber=xa;f.toRawType=ga;f.toTypeString=Re});var on=we((eu,sn)=>{"use strict";process.env.NODE_ENV==="production"?sn.exports=yr():sn.exports=Cr()});var Zr=we(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});var v=on(),U,ot=class{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=U,!t&&U&&(this.index=(U.scopes||(U.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){let n=U;try{return U=this,t()}finally{U=n}}}on(){U=this}off(){U=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){let s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0,this._active=!1}}};function hi(e){return new ot(e)}function kr(e,t=U){t&&t.active&&t.effects.push(e)}function gi(){return U}function mi(e){U&&U.cleanups.push(e)}var ye,Ce=class{constructor(t,n,r,s){this.fn=t,this.trigger=n,this.scheduler=r,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,kr(this,s)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,gn();for(let t=0;t<this._depsLength;t++){let n=this.deps[t];if(n.computed&&(Ri(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),mn()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Q,n=ye;try{return Q=!0,ye=this,this._runnings++,Pr(this),this.fn()}finally{Ir(this),this._runnings--,ye=n,Q=t}}stop(){var t;this.active&&(Pr(this),Ir(this),(t=this.onStop)==null||t.call(this),this.active=!1)}};function Ri(e){return e.value}function Pr(e){e._trackId++,e._depsLength=0}function Ir(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)jr(e.deps[t],e);e.deps.length=e._depsLength}}function jr(e,t){let n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}function yi(e,t){e.effect instanceof Ce&&(e=e.effect.fn);let n=new Ce(e,v.NOOP,()=>{n.dirty&&n.run()});t&&(v.extend(n,t),t.scope&&kr(n,t.scope)),(!t||!t.lazy)&&n.run();let r=n.run.bind(n);return r.effect=n,r}function vi(e){e.effect.stop()}var Q=!0,an=0,hn=[];function gn(){hn.push(Q),Q=!1}function _i(){hn.push(Q),Q=!0}function mn(){let e=hn.pop();Q=e===void 0?!0:e}function ft(){an++}function dt(){for(an--;!an&&ln.length;)ln.shift()()}function Vr(e,t,n){if(t.get(e)!==e._trackId){t.set(e,e._trackId);let r=e.deps[e._depsLength];r!==t?(r&&jr(r,e),e.deps[e._depsLength++]=t):e._depsLength++}}var ln=[];function zr(e,t,n){ft();for(let r of e.keys()){let s;r._dirtyLevel<t&&(s??(s=e.get(r)===r._trackId))&&(r._shouldSchedule||(r._shouldSchedule=r._dirtyLevel===0),r._dirtyLevel=t),r._shouldSchedule&&(s??(s=e.get(r)===r._trackId))&&(r.trigger(),(!r._runnings||r.allowRecurse)&&r._dirtyLevel!==2&&(r._shouldSchedule=!1,r.scheduler&&ln.push(r.scheduler)))}dt()}var Br=(e,t)=>{let n=new Map;return n.cleanup=e,n.computed=t,n},at=new WeakMap,fe=Symbol(""),cn=Symbol("");function H(e,t,n){if(Q&&ye){let r=at.get(e);r||at.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=Br(()=>r.delete(n))),Vr(ye,s)}}function se(e,t,n,r,s,o){let a=at.get(e);if(!a)return;let i=[];if(t==="clear")i=[...a.values()];else if(n==="length"&&v.isArray(e)){let l=Number(r);a.forEach((c,d)=>{(d==="length"||!v.isSymbol(d)&&d>=l)&&i.push(c)})}else switch(n!==void 0&&i.push(a.get(n)),t){case"add":v.isArray(e)?v.isIntegerKey(n)&&i.push(a.get("length")):(i.push(a.get(fe)),v.isMap(e)&&i.push(a.get(cn)));break;case"delete":v.isArray(e)||(i.push(a.get(fe)),v.isMap(e)&&i.push(a.get(cn)));break;case"set":v.isMap(e)&&i.push(a.get(fe));break}ft();for(let l of i)l&&zr(l,4);dt()}function Si(e,t){var n;return(n=at.get(e))==null?void 0:n.get(t)}var bi=v.makeMap("__proto__,__v_isRef,__isVue"),Ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(v.isSymbol)),Dr=Ti();function Ti(){let e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let r=A(this);for(let o=0,a=this.length;o<a;o++)H(r,"get",o+"");let s=r[t](...n);return s===-1||s===!1?r[t](...n.map(A)):s}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){gn(),ft();let r=A(this)[t].apply(this,n);return dt(),mn(),r}}),e}function Ei(e){let t=A(this);return H(t,"has",e),t.hasOwnProperty(e)}var it=class{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){let s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Yr:Gr:o?Kr:Hr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;let a=v.isArray(t);if(!s){if(a&&v.hasOwn(Dr,n))return Reflect.get(Dr,n,r);if(n==="hasOwnProperty")return Ei}let i=Reflect.get(t,n,r);return(v.isSymbol(n)?Ur.has(n):bi(n))||(s||H(t,"get",n),o)?i:ee(i)?a&&v.isIntegerKey(n)?i:i.value:v.isObject(i)?s?vn(i):yn(i):i}},lt=class extends it{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){let l=ve(o);if(!_n(r)&&!ve(r)&&(o=A(o),r=A(r)),!v.isArray(t)&&ee(o)&&!ee(r))return l?!1:(o.value=r,!0)}let a=v.isArray(t)&&v.isIntegerKey(n)?Number(n)<t.length:v.hasOwn(t,n),i=Reflect.set(t,n,r,s);return t===A(s)&&(a?v.hasChanged(r,o)&&se(t,"set",n,r):se(t,"add",n,r)),i}deleteProperty(t,n){let r=v.hasOwn(t,n);t[n];let s=Reflect.deleteProperty(t,n);return s&&r&&se(t,"delete",n,void 0),s}has(t,n){let r=Reflect.has(t,n);return(!v.isSymbol(n)||!Ur.has(n))&&H(t,"has",n),r}ownKeys(t){return H(t,"iterate",v.isArray(t)?"length":fe),Reflect.ownKeys(t)}},ct=class extends it{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}},$i=new lt,wi=new ct,xi=new lt(!0),Oi=new ct(!0),Rn=e=>e,pt=e=>Reflect.getPrototypeOf(e);function et(e,t,n=!1,r=!1){e=e.__v_raw;let s=A(e),o=A(t);n||(v.hasChanged(t,o)&&H(s,"get",t),H(s,"get",o));let{has:a}=pt(s),i=r?Rn:n?Sn:He;if(a.call(s,t))return i(e.get(t));if(a.call(s,o))return i(e.get(o));e!==s&&e.get(t)}function tt(e,t=!1){let n=this.__v_raw,r=A(n),s=A(e);return t||(v.hasChanged(e,s)&&H(r,"has",e),H(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function nt(e,t=!1){return e=e.__v_raw,!t&&H(A(e),"iterate",fe),Reflect.get(e,"size",e)}function Mr(e){e=A(e);let t=A(this);return pt(t).has.call(t,e)||(t.add(e),se(t,"add",e,e)),this}function Nr(e,t){t=A(t);let n=A(this),{has:r,get:s}=pt(n),o=r.call(n,e);o||(e=A(e),o=r.call(n,e));let a=s.call(n,e);return n.set(e,t),o?v.hasChanged(t,a)&&se(n,"set",e,t):se(n,"add",e,t),this}function Lr(e){let t=A(this),{has:n,get:r}=pt(t),s=n.call(t,e);s||(e=A(e),s=n.call(t,e)),r&&r.call(t,e);let o=t.delete(e);return s&&se(t,"delete",e,void 0),o}function Fr(){let e=A(this),t=e.size!==0,n=e.clear();return t&&se(e,"clear",void 0,void 0),n}function rt(e,t){return function(r,s){let o=this,a=o.__v_raw,i=A(a),l=t?Rn:e?Sn:He;return!e&&H(i,"iterate",fe),a.forEach((c,d)=>r.call(s,l(c),l(d),o))}}function st(e,t,n){return function(...r){let s=this.__v_raw,o=A(s),a=v.isMap(o),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=s[e](...r),d=n?Rn:t?Sn:He;return!t&&H(o,"iterate",l?cn:fe),{next(){let{value:h,done:p}=c.next();return p?{value:h,done:p}:{value:i?[d(h[0]),d(h[1])]:d(h),done:p}},[Symbol.iterator](){return this}}}}function ue(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ai(){let e={get(o){return et(this,o)},get size(){return nt(this)},has:tt,add:Mr,set:Nr,delete:Lr,clear:Fr,forEach:rt(!1,!1)},t={get(o){return et(this,o,!1,!0)},get size(){return nt(this)},has:tt,add:Mr,set:Nr,delete:Lr,clear:Fr,forEach:rt(!1,!0)},n={get(o){return et(this,o,!0)},get size(){return nt(this,!0)},has(o){return tt.call(this,o,!0)},add:ue("add"),set:ue("set"),delete:ue("delete"),clear:ue("clear"),forEach:rt(!0,!1)},r={get(o){return et(this,o,!0,!0)},get size(){return nt(this,!0)},has(o){return tt.call(this,o,!0)},add:ue("add"),set:ue("set"),delete:ue("delete"),clear:ue("clear"),forEach:rt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=st(o,!1,!1),n[o]=st(o,!0,!1),t[o]=st(o,!1,!0),r[o]=st(o,!0,!0)}),[e,n,t,r]}var[Ci,Pi,Ii,Di]=Ai();function ht(e,t){let n=t?e?Di:Ii:e?Pi:Ci;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(v.hasOwn(n,s)&&s in r?n:r,s,o)}var Mi={get:ht(!1,!1)},Ni={get:ht(!1,!0)},Li={get:ht(!0,!1)},Fi={get:ht(!0,!0)},Hr=new WeakMap,Kr=new WeakMap,Gr=new WeakMap,Yr=new WeakMap;function ki(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ji(e){return e.__v_skip||!Object.isExtensible(e)?0:ki(v.toRawType(e))}function yn(e){return ve(e)?e:gt(e,!1,$i,Mi,Hr)}function Vi(e){return gt(e,!1,xi,Ni,Kr)}function vn(e){return gt(e,!0,wi,Li,Gr)}function zi(e){return gt(e,!0,Oi,Fi,Yr)}function gt(e,t,n,r,s){if(!v.isObject(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let o=s.get(e);if(o)return o;let a=ji(e);if(a===0)return e;let i=new Proxy(e,a===2?r:n);return s.set(e,i),i}function mt(e){return ve(e)?mt(e.__v_raw):!!(e&&e.__v_isReactive)}function ve(e){return!!(e&&e.__v_isReadonly)}function _n(e){return!!(e&&e.__v_isShallow)}function Bi(e){return mt(e)||ve(e)}function A(e){let t=e&&e.__v_raw;return t?A(t):e}function Ui(e){return Object.isExtensible(e)&&v.def(e,"__v_skip",!0),e}var He=e=>v.isObject(e)?yn(e):e,Sn=e=>v.isObject(e)?vn(e):e,ut=class{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ce(()=>t(this._value),()=>Ae(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){let t=A(this);return(!t._cacheable||t.effect.dirty)&&v.hasChanged(t._value,t._value=t.effect.run())&&Ae(t,4),bn(t),t.effect._dirtyLevel>=2&&Ae(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}};function qr(e,t,n=!1){let r,s,o=v.isFunction(e);return o?(r=e,s=v.NOOP):(r=e.get,s=e.set),new ut(r,s,o||!s,n)}function bn(e){var t;Q&&ye&&(e=A(e),Vr(ye,(t=e.dep)!=null?t:e.dep=Br(()=>e.dep=void 0,e instanceof ut?e:void 0)))}function Ae(e,t=4,n){e=A(e);let r=e.dep;r&&zr(r,t)}function ee(e){return!!(e&&e.__v_isRef===!0)}function Wr(e){return Xr(e,!1)}function Hi(e){return Xr(e,!0)}function Xr(e,t){return ee(e)?e:new un(e,t)}var un=class{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:A(t),this._value=n?t:He(t)}get value(){return bn(this),this._value}set value(t){let n=this.__v_isShallow||_n(t)||ve(t);t=n?t:A(t),v.hasChanged(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:He(t),Ae(this,4))}};function Ki(e){Ae(e,4)}function Tn(e){return ee(e)?e.value:e}function Gi(e){return v.isFunction(e)?e():Tn(e)}var Yi={get:(e,t,n)=>Tn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let s=e[t];return ee(s)&&!ee(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function qi(e){return mt(e)?e:new Proxy(e,Yi)}var fn=class{constructor(t){this.dep=void 0,this.__v_isRef=!0;let{get:n,set:r}=t(()=>bn(this),()=>Ae(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}};function Wi(e){return new fn(e)}function Xi(e){let t=v.isArray(e)?new Array(e.length):{};for(let n in e)t[n]=Jr(e,n);return t}var dn=class{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){let t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Si(A(this._object),this._key)}},pn=class{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}};function Ji(e,t,n){return ee(e)?e:v.isFunction(e)?new pn(e):v.isObject(e)&&arguments.length>1?Jr(e,t,n):Wr(e)}function Jr(e,t,n){let r=e[t];return ee(r)?r:new dn(e,t,n)}var Zi=qr,Qi={GET:"get",HAS:"has",ITERATE:"iterate"},el={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},tl={SKIP:"__v_skip",IS_REACTIVE:"__v_isReactive",IS_READONLY:"__v_isReadonly",IS_SHALLOW:"__v_isShallow",RAW:"__v_raw"};_.EffectScope=ot;_.ITERATE_KEY=fe;_.ReactiveEffect=Ce;_.ReactiveFlags=tl;_.TrackOpTypes=Qi;_.TriggerOpTypes=el;_.computed=qr;_.customRef=Wi;_.deferredComputed=Zi;_.effect=yi;_.effectScope=hi;_.enableTracking=_i;_.getCurrentScope=gi;_.isProxy=Bi;_.isReactive=mt;_.isReadonly=ve;_.isRef=ee;_.isShallow=_n;_.markRaw=Ui;_.onScopeDispose=mi;_.pauseScheduling=ft;_.pauseTracking=gn;_.proxyRefs=qi;_.reactive=yn;_.readonly=vn;_.ref=Wr;_.resetScheduling=dt;_.resetTracking=mn;_.shallowReactive=Vi;_.shallowReadonly=zi;_.shallowRef=Hi;_.stop=vi;_.toRaw=A;_.toRef=Ji;_.toRefs=Xi;_.toValue=Gi;_.track=H;_.trigger=se;_.triggerRef=Ki;_.unref=Tn});var bs=we(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});var m=on();function ne(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var K,bt=class{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=K,!t&&K&&(this.index=(K.scopes||(K.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){let n=K;try{return K=this,t()}finally{K=n}}else ne("cannot run an inactive effect scope.")}on(){K=this}off(){K=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){let s=this.parent.scopes.pop();s&&s!==this&&(this.parent.scopes[this.index]=s,s.index=this.index)}this.parent=void 0,this._active=!1}}};function nl(e){return new bt(e)}function as(e,t=K){t&&t.active&&t.effects.push(e)}function rl(){return K}function sl(e){K?K.cleanups.push(e):ne("onScopeDispose() is called when there is no active effect scope to be associated with.")}var _e,Ie=class{constructor(t,n,r,s){this.fn=t,this.trigger=n,this.scheduler=r,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,as(this,s)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,In();for(let t=0;t<this._depsLength;t++){let n=this.deps[t];if(n.computed&&(ol(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Dn()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=te,n=_e;try{return te=!0,_e=this,this._runnings++,Qr(this),this.fn()}finally{es(this),this._runnings--,_e=n,te=t}}stop(){var t;this.active&&(Qr(this),es(this),(t=this.onStop)==null||t.call(this),this.active=!1)}};function ol(e){return e.value}function Qr(e){e._trackId++,e._depsLength=0}function es(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)is(e.deps[t],e);e.deps.length=e._depsLength}}function is(e,t){let n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}function al(e,t){e.effect instanceof Ie&&(e=e.effect.fn);let n=new Ie(e,m.NOOP,()=>{n.dirty&&n.run()});t&&(m.extend(n,t),t.scope&&as(n,t.scope)),(!t||!t.lazy)&&n.run();let r=n.run.bind(n);return r.effect=n,r}function il(e){e.effect.stop()}var te=!0,En=0,Pn=[];function In(){Pn.push(te),te=!1}function ll(){Pn.push(te),te=!0}function Dn(){let e=Pn.pop();te=e===void 0?!0:e}function Ot(){En++}function At(){for(En--;!En&&$n.length;)$n.shift()()}function ls(e,t,n){var r;if(t.get(e)!==e._trackId){t.set(e,e._trackId);let s=e.deps[e._depsLength];s!==t?(s&&is(s,e),e.deps[e._depsLength++]=t):e._depsLength++,(r=e.onTrack)==null||r.call(e,m.extend({effect:e},n))}}var $n=[];function cs(e,t,n){var r;Ot();for(let s of e.keys()){let o;s._dirtyLevel<t&&(o??(o=e.get(s)===s._trackId))&&(s._shouldSchedule||(s._shouldSchedule=s._dirtyLevel===0),s._dirtyLevel=t),s._shouldSchedule&&(o??(o=e.get(s)===s._trackId))&&((r=s.onTrigger)==null||r.call(s,m.extend({effect:s},n)),s.trigger(),(!s._runnings||s.allowRecurse)&&s._dirtyLevel!==2&&(s._shouldSchedule=!1,s.scheduler&&$n.push(s.scheduler)))}At()}var us=(e,t)=>{let n=new Map;return n.cleanup=e,n.computed=t,n},Tt=new WeakMap,pe=Symbol("iterate"),wn=Symbol("Map key iterate");function G(e,t,n){if(te&&_e){let r=Tt.get(e);r||Tt.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=us(()=>r.delete(n))),ls(_e,s,{target:e,type:t,key:n})}}function oe(e,t,n,r,s,o){let a=Tt.get(e);if(!a)return;let i=[];if(t==="clear")i=[...a.values()];else if(n==="length"&&m.isArray(e)){let l=Number(r);a.forEach((c,d)=>{(d==="length"||!m.isSymbol(d)&&d>=l)&&i.push(c)})}else switch(n!==void 0&&i.push(a.get(n)),t){case"add":m.isArray(e)?m.isIntegerKey(n)&&i.push(a.get("length")):(i.push(a.get(pe)),m.isMap(e)&&i.push(a.get(wn)));break;case"delete":m.isArray(e)||(i.push(a.get(pe)),m.isMap(e)&&i.push(a.get(wn)));break;case"set":m.isMap(e)&&i.push(a.get(pe));break}Ot();for(let l of i)l&&cs(l,4,{target:e,type:t,key:n,newValue:r,oldValue:s,oldTarget:o});At()}function cl(e,t){var n;return(n=Tt.get(e))==null?void 0:n.get(t)}var ul=m.makeMap("__proto__,__v_isRef,__isVue"),fs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(m.isSymbol)),ts=fl();function fl(){let e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){let r=O(this);for(let o=0,a=this.length;o<a;o++)G(r,"get",o+"");let s=r[t](...n);return s===-1||s===!1?r[t](...n.map(O)):s}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){In(),Ot();let r=O(this)[t].apply(this,n);return At(),Dn(),r}}),e}function dl(e){let t=O(this);return G(t,"has",e),t.hasOwnProperty(e)}var Et=class{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){let s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?ms:gs:o?hs:ps).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;let a=m.isArray(t);if(!s){if(a&&m.hasOwn(ts,n))return Reflect.get(ts,n,r);if(n==="hasOwnProperty")return dl}let i=Reflect.get(t,n,r);return(m.isSymbol(n)?fs.has(n):ul(n))||(s||G(t,"get",n),o)?i:re(i)?a&&m.isIntegerKey(n)?i:i.value:m.isObject(i)?s?Ln(i):Nn(i):i}},$t=class extends Et{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._isShallow){let l=Se(o);if(!Fn(r)&&!Se(r)&&(o=O(o),r=O(r)),!m.isArray(t)&&re(o)&&!re(r))return l?!1:(o.value=r,!0)}let a=m.isArray(t)&&m.isIntegerKey(n)?Number(n)<t.length:m.hasOwn(t,n),i=Reflect.set(t,n,r,s);return t===O(s)&&(a?m.hasChanged(r,o)&&oe(t,"set",n,r,o):oe(t,"add",n,r)),i}deleteProperty(t,n){let r=m.hasOwn(t,n),s=t[n],o=Reflect.deleteProperty(t,n);return o&&r&&oe(t,"delete",n,void 0,s),o}has(t,n){let r=Reflect.has(t,n);return(!m.isSymbol(n)||!fs.has(n))&&G(t,"has",n),r}ownKeys(t){return G(t,"iterate",m.isArray(t)?"length":pe),Reflect.ownKeys(t)}},wt=class extends Et{constructor(t=!1){super(!0,t)}set(t,n){return ne(`Set operation on key "${String(n)}" failed: target is readonly.`,t),!0}deleteProperty(t,n){return ne(`Delete operation on key "${String(n)}" failed: target is readonly.`,t),!0}},pl=new $t,hl=new wt,gl=new $t(!0),ml=new wt(!0),Mn=e=>e,Ct=e=>Reflect.getPrototypeOf(e);function Rt(e,t,n=!1,r=!1){e=e.__v_raw;let s=O(e),o=O(t);n||(m.hasChanged(t,o)&&G(s,"get",t),G(s,"get",o));let{has:a}=Ct(s),i=r?Mn:n?kn:Ke;if(a.call(s,t))return i(e.get(t));if(a.call(s,o))return i(e.get(o));e!==s&&e.get(t)}function yt(e,t=!1){let n=this.__v_raw,r=O(n),s=O(e);return t||(m.hasChanged(e,s)&&G(r,"has",e),G(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function vt(e,t=!1){return e=e.__v_raw,!t&&G(O(e),"iterate",pe),Reflect.get(e,"size",e)}function ns(e){e=O(e);let t=O(this);return Ct(t).has.call(t,e)||(t.add(e),oe(t,"add",e,e)),this}function rs(e,t){t=O(t);let n=O(this),{has:r,get:s}=Ct(n),o=r.call(n,e);o?ds(n,r,e):(e=O(e),o=r.call(n,e));let a=s.call(n,e);return n.set(e,t),o?m.hasChanged(t,a)&&oe(n,"set",e,t,a):oe(n,"add",e,t),this}function ss(e){let t=O(this),{has:n,get:r}=Ct(t),s=n.call(t,e);s?ds(t,n,e):(e=O(e),s=n.call(t,e));let o=r?r.call(t,e):void 0,a=t.delete(e);return s&&oe(t,"delete",e,void 0,o),a}function os(){let e=O(this),t=e.size!==0,n=m.isMap(e)?new Map(e):new Set(e),r=e.clear();return t&&oe(e,"clear",void 0,void 0,n),r}function _t(e,t){return function(r,s){let o=this,a=o.__v_raw,i=O(a),l=t?Mn:e?kn:Ke;return!e&&G(i,"iterate",pe),a.forEach((c,d)=>r.call(s,l(c),l(d),o))}}function St(e,t,n){return function(...r){let s=this.__v_raw,o=O(s),a=m.isMap(o),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=s[e](...r),d=n?Mn:t?kn:Ke;return!t&&G(o,"iterate",l?wn:pe),{next(){let{value:h,done:p}=c.next();return p?{value:h,done:p}:{value:i?[d(h[0]),d(h[1])]:d(h),done:p}},[Symbol.iterator](){return this}}}}function de(e){return function(...t){{let n=t[0]?`on key "${t[0]}" `:"";ne(`${m.capitalize(e)} operation ${n}failed: target is readonly.`,O(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function Rl(){let e={get(o){return Rt(this,o)},get size(){return vt(this)},has:yt,add:ns,set:rs,delete:ss,clear:os,forEach:_t(!1,!1)},t={get(o){return Rt(this,o,!1,!0)},get size(){return vt(this)},has:yt,add:ns,set:rs,delete:ss,clear:os,forEach:_t(!1,!0)},n={get(o){return Rt(this,o,!0)},get size(){return vt(this,!0)},has(o){return yt.call(this,o,!0)},add:de("add"),set:de("set"),delete:de("delete"),clear:de("clear"),forEach:_t(!0,!1)},r={get(o){return Rt(this,o,!0,!0)},get size(){return vt(this,!0)},has(o){return yt.call(this,o,!0)},add:de("add"),set:de("set"),delete:de("delete"),clear:de("clear"),forEach:_t(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=St(o,!1,!1),n[o]=St(o,!0,!1),t[o]=St(o,!1,!0),r[o]=St(o,!0,!0)}),[e,n,t,r]}var[yl,vl,_l,Sl]=Rl();function Pt(e,t){let n=t?e?Sl:_l:e?vl:yl;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(m.hasOwn(n,s)&&s in r?n:r,s,o)}var bl={get:Pt(!1,!1)},Tl={get:Pt(!1,!0)},El={get:Pt(!0,!1)},$l={get:Pt(!0,!0)};function ds(e,t,n){let r=O(n);if(r!==n&&t.call(e,r)){let s=m.toRawType(e);ne(`Reactive ${s} contains both the raw and reactive versions of the same object${s==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}var ps=new WeakMap,hs=new WeakMap,gs=new WeakMap,ms=new WeakMap;function wl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function xl(e){return e.__v_skip||!Object.isExtensible(e)?0:wl(m.toRawType(e))}function Nn(e){return Se(e)?e:It(e,!1,pl,bl,ps)}function Ol(e){return It(e,!1,gl,Tl,hs)}function Ln(e){return It(e,!0,hl,El,gs)}function Al(e){return It(e,!0,ml,$l,ms)}function It(e,t,n,r,s){if(!m.isObject(e))return ne(`value cannot be made reactive: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;let o=s.get(e);if(o)return o;let a=xl(e);if(a===0)return e;let i=new Proxy(e,a===2?r:n);return s.set(e,i),i}function Dt(e){return Se(e)?Dt(e.__v_raw):!!(e&&e.__v_isReactive)}function Se(e){return!!(e&&e.__v_isReadonly)}function Fn(e){return!!(e&&e.__v_isShallow)}function Rs(e){return Dt(e)||Se(e)}function O(e){let t=e&&e.__v_raw;return t?O(t):e}function Cl(e){return Object.isExtensible(e)&&m.def(e,"__v_skip",!0),e}var Ke=e=>m.isObject(e)?Nn(e):e,kn=e=>m.isObject(e)?Ln(e):e,Pl="Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free",xt=class{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ie(()=>t(this._value),()=>Pe(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){let t=O(this);return(!t._cacheable||t.effect.dirty)&&m.hasChanged(t._value,t._value=t.effect.run())&&Pe(t,4),jn(t),t.effect._dirtyLevel>=2&&(this._warnRecursive&&ne(Pl,`
|
|
4
|
+
|
|
5
|
+
getter: `,this.getter),Pe(t,2)),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}};function ys(e,t,n=!1){let r,s,o=m.isFunction(e);o?(r=e,s=()=>{ne("Write operation failed: computed value is readonly")}):(r=e.get,s=e.set);let a=new xt(r,s,o||!s,n);return t&&!n&&(a.effect.onTrack=t.onTrack,a.effect.onTrigger=t.onTrigger),a}function jn(e){var t;te&&_e&&(e=O(e),ls(_e,(t=e.dep)!=null?t:e.dep=us(()=>e.dep=void 0,e instanceof xt?e:void 0),{target:e,type:"get",key:"value"}))}function Pe(e,t=4,n){e=O(e);let r=e.dep;r&&cs(r,t,{target:e,type:"set",key:"value",newValue:n})}function re(e){return!!(e&&e.__v_isRef===!0)}function vs(e){return _s(e,!1)}function Il(e){return _s(e,!0)}function _s(e,t){return re(e)?e:new xn(e,t)}var xn=class{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:O(t),this._value=n?t:Ke(t)}get value(){return jn(this),this._value}set value(t){let n=this.__v_isShallow||Fn(t)||Se(t);t=n?t:O(t),m.hasChanged(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ke(t),Pe(this,4,t))}};function Dl(e){Pe(e,4,e.value)}function Vn(e){return re(e)?e.value:e}function Ml(e){return m.isFunction(e)?e():Vn(e)}var Nl={get:(e,t,n)=>Vn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let s=e[t];return re(s)&&!re(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ll(e){return Dt(e)?e:new Proxy(e,Nl)}var On=class{constructor(t){this.dep=void 0,this.__v_isRef=!0;let{get:n,set:r}=t(()=>jn(this),()=>Pe(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}};function Fl(e){return new On(e)}function kl(e){Rs(e)||ne("toRefs() expects a reactive object but received a plain one.");let t=m.isArray(e)?new Array(e.length):{};for(let n in e)t[n]=Ss(e,n);return t}var An=class{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){let t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return cl(O(this._object),this._key)}},Cn=class{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}};function jl(e,t,n){return re(e)?e:m.isFunction(e)?new Cn(e):m.isObject(e)&&arguments.length>1?Ss(e,t,n):vs(e)}function Ss(e,t,n){let r=e[t];return re(r)?r:new An(e,t,n)}var Vl=ys,zl={GET:"get",HAS:"has",ITERATE:"iterate"},Bl={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},Ul={SKIP:"__v_skip",IS_REACTIVE:"__v_isReactive",IS_READONLY:"__v_isReadonly",IS_SHALLOW:"__v_isShallow",RAW:"__v_raw"};S.EffectScope=bt;S.ITERATE_KEY=pe;S.ReactiveEffect=Ie;S.ReactiveFlags=Ul;S.TrackOpTypes=zl;S.TriggerOpTypes=Bl;S.computed=ys;S.customRef=Fl;S.deferredComputed=Vl;S.effect=al;S.effectScope=nl;S.enableTracking=ll;S.getCurrentScope=rl;S.isProxy=Rs;S.isReactive=Dt;S.isReadonly=Se;S.isRef=re;S.isShallow=Fn;S.markRaw=Cl;S.onScopeDispose=sl;S.pauseScheduling=Ot;S.pauseTracking=In;S.proxyRefs=Ll;S.reactive=Nn;S.readonly=Ln;S.ref=vs;S.resetScheduling=At;S.resetTracking=Dn;S.shallowReactive=Ol;S.shallowReadonly=Al;S.shallowRef=Il;S.stop=il;S.toRaw=O;S.toRef=jl;S.toRefs=kl;S.toValue=Ml;S.track=G;S.trigger=oe;S.triggerRef=Dl;S.unref=Vn});var Ts=we((ru,zn)=>{"use strict";process.env.NODE_ENV==="production"?zn.exports=Zr():zn.exports=bs()});import{isRef as js,toRef as Vs,unref as zs}from"vue";function B(e){return e.map(t=>t instanceof Function?t():zs(t))}function Zn(e){return e.map(t=>t instanceof Function||js(t)?t:Vs(()=>t))}function Qn(e){let t=e.toString();return t.slice(t.indexOf("(")+1,t.indexOf(")")).split(",").map(s=>s.trim()).filter(s=>s.includes("=")).length+e.length}function kt(e,...t){let{message:n,validator:r,active:s,...o}=e,a=r.constructor.name==="AsyncFunction";return{...{validator(c,...d){return e.validator(c,...B(d.length?d:t))},message(c,d){return typeof e.message=="function"?e.message(c,{...d,$params:B(d.$params?.length?d.$params:t)}):e.message},active(c,d){return typeof e.active=="function"?e.active(c,{...d,$params:B(d.$params?.length?d.$params:t)}):e.active??!0},exec(c){let d=e.validator(c,...B(t)),h;return d instanceof Promise?d.then(p=>(h=p,typeof h=="object"&&"$valid"in h?h.$valid:typeof h=="boolean"?h:!1)):(h=d,typeof h=="object"&&"$valid"in h?h.$valid:typeof h=="boolean"?h:!1)}},...o,_validator:e.validator,_message:e.message,_active:e.active,_type:e.type,_patched:!1,_async:a,_params:Zn(t)}}function jt(e){if(typeof e.validator=="function"){let n=kt(e,...[]),r=e.validator.constructor.name==="AsyncFunction";if(Qn(e.validator)>1){let s=function(...o){return kt(e,...o)};return s.validator=n.validator,s.message=n.message,s.active=n.active,s.type=n.type,s.exec=n.exec,s._validator=n.validator,s._message=n.message,s._active=n.active,s._type=e.type,s._patched=!1,s._async=r,s}else return n}throw new Error("Validator must be a function")}function Vt(e){return e}import{computed as As,isRef as Me,ref as ic,toRaw as lc}from"vue";function Y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function er(e){return Y(e.value)}function tr(e){return e==null?!0:e===!1?!1:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?e.length===0:typeof e=="object"&&e!=null?Object.keys(e).length===0:typeof e=="number"?isNaN(e):!String(e).trim().length}import{effectScope as Tc,getCurrentScope as Ec,onScopeDispose as $c}from"vue";function zt(e,t,n){let r,s=(...o)=>new Promise(a=>{clearTimeout(r),r=setTimeout(()=>{r=void 0,n||Promise.resolve(e.apply(this,[...o])).then(a)},t),n&&!r&&Promise.resolve(e.apply(this,[...o])).then(a)});return s.cancel=()=>{clearTimeout(r),r=void 0},s.doImmediately=(...o)=>new Promise(a=>{clearTimeout(r),r=setTimeout(()=>{r=void 0,Promise.resolve(e.apply(this,[...o])).then(a)},0)}),s}import{computed as sc,reactive as oc,unref as ac}from"vue";import{onScopeDispose as Bs,ref as xe,shallowRef as Oe}from"vue";function Bt(){let e=Oe(new Map),t=Oe(new Map),n=Oe(new Map),r=Oe(new Map),s=Oe(new Map),o=Oe(new Map);function a(b){let w=t.value.get(b);if(w)return w;{let R=xe({});return t.value.set(b,R),R}}function i(b){let w=n.value.get(b);if(w)return w;{let R=xe([]);return n.value.set(b,R),R}}function l(b,w,R){o.value.set(`${b}-${w}`,R)}function c(b,w){return o.value.get(`${b}-${w}`)}function d(b,w){b&&w!=null&&o.value.delete(`${b}-${w}`)}function h(b,w){r.value.set(b,w)}function p(b){return r.value.get(b)??!1}function y(b,w){e.value.set(b,w)}function D(b,w){let R=e.value.get(b);return R?V(w,R)?{valid:!0}:{valid:!1}:void 0}function V(b,w){let R=Object.keys(w),g=Object.keys(b);return g.length!==R.length||!g.every(T=>R.includes(T))?!1:g.every(T=>{let $=b[T],M=w[T];return!M||!$||typeof $=="function"||typeof M=="function"||typeof $=="number"||typeof $=="boolean"?!1:$._params?$._params?.every((j,P)=>{if(typeof M=="number"||typeof M=="boolean")return!0;{let C=B(M._params),z=B($._params);return C?.[P]===z?.[P]}}):!0})}function F(b){let w=s.value.get(b);if(w)return w;{let R=xe(!1),g=xe(!0),E=xe({}),T=xe(!1);return s.value.set(b,{$pending:R,$valid:g,$metadata:E,$validating:T}),{$pending:R,$valid:g,$metadata:E,$validating:T}}}return Bs(()=>{e.value.clear(),t.value.clear(),n.value.clear(),r.value.clear(),s.value.clear(),o.value.clear()}),{addRuleDeclEntry:y,setDirtyEntry:h,checkRuleDeclEntry:D,getDirtyState:p,trySetRuleStatusRef:F,getFieldsEntry:a,getCollectionsEntry:i,getArrayStatus:c,addArrayStatus:l,deleteArrayStatus:d,arrayStatusStorage:o}}import{computed as Us}from"vue";function nr(e,t){return Y(e.value)&&Y(t.value)&&!Object.entries(t.value).some(n=>Ut(n))}function rr(e){return!!e.value&&"$each"in e.value}function sr(e){return!!e.value&&Y(e.value)}function Ut(e){return Y(e)&&"_validator"in e}function Le(e){return typeof e.value!="function"}function Fe(e){return Y(e)&&"$fields"in e}function ke(e){return!!e&&"$each"in e}function je(e){return!!e&&"$rules"in e}function Ht(e){return"$each"in e||"$errors"in e}function We(e,t){return Object.entries(e).map(([n,r])=>r.$valid?null:r.$message).filter(n=>!!n).reduce((n,r)=>typeof r=="string"?n?.concat([r]):n?.concat(r),[]).concat(t??[])}function or(e){return Fe(e)?Kt(e.$fields):ke(e)?{$errors:e.$rules?We(e.$rules):[],$each:e.$each.map(or)}:je(e)?e.$error?We(e.$rules,e.$externalErrors):e.$externalErrors??[]:[]}function Hs(e){return e.$each.map(or)}function Kt(e){return Object.fromEntries(Object.entries(e).map(([t,n])=>Fe(n)?[t,Kt(n.$fields)]:ke(n)?[t,{...n.$rules&&{$errors:We(n.$rules)},$each:Hs(n)}]:je(n)?n.$error?[t,We(n.$rules,n.$externalErrors)]:[t,n.$externalErrors??[]]:[t,[]]))}function ar(e){return Us(()=>Kt(e.$fields))}import{effectScope as ec,reactive as tc,toRef as Gn,triggerRef as nc,watch as rc,computed as De}from"vue";var X=ks(Ts(),1);import{computed as Te,effectScope as Wl,reactive as Xl,ref as Hn,toRaw as Jl,toRef as Ee,toRefs as xs,watch as Zl}from"vue";function Hl(){return Math.floor(Math.random()*Date.now()).toString()}function Bn(){return typeof window>"u"?Hl():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(8)}import{computed as ae,effectScope as ws,reactive as Yl,ref as Ge,toRef as ql,unref as Un,watch as Ye}from"vue";import{computed as be,effectScope as Es,reactive as Kl,watch as Gl}from"vue";var Mt=(n=>(n.Inline="__inline",n.Async="__async",n))(Mt||{});function $s({$dirty:e,customMessages:t,rule:n,ruleKey:r,state:s,path:o,storage:a,options:i}){let l=Es(),c,d,{$pending:h,$valid:p,$metadata:y,$validating:D}=a.trySetRuleStatusRef(`${o}.${r}`);function V(){c=l.run(()=>{let R=be(()=>({$invalid:!p.value,$params:M.value,...y.value})),g=be(()=>Le(n)?typeof n.value.active=="function"?n.value.active(s.value,R.value):n.value.active:!0),E=be(()=>{let P="";if(e.value&&!D.value){let C=t?t[r]?.message:void 0;C&&(typeof C=="function"?P=C(s.value,R.value):P=C),Le(n)&&(C&&!n.value._patched||(typeof n.value.message=="function"?P=n.value.message(s.value,R.value):P=n.value.message)),tr(P)&&(P="Error",console.warn(`No error message defined for ${o}.${r}`))}return P}),T=be(()=>Le(n)&&n.value.type?Object.values(Mt).includes(n.value.type)?r:n.value.type:r),$=be(()=>Le(n)?n.value.validator:n.value),M=be(()=>typeof n.value=="function"?[]:B(n.value._params??[])),j=be(()=>`${o}.${T.value}`);return{$active:g,$message:E,$type:T,$validator:$,$params:M,$path:j}}),d=Gl(c.$params,F,{deep:!0})}V();async function F(){D.value=!0;let R=c.$validator.value,g=!1,E=R(s.value,...c.$params.value);if(E instanceof Promise){if(!h.value)try{p.value=!0,e.value&&(h.value=!0);let T=await E;if(typeof T=="boolean")g=T;else{let{$valid:$,...M}=T;g=$,y.value=M}}catch{g=!1}finally{h.value=!1}}else if(E!=null)if(typeof E=="boolean")g=E;else{let{$valid:T,...$}=E;g=T,y.value=$}return p.value=g,i.$externalErrors,D.value=!1,g}function b(){p.value=!0,y.value={},h.value=!1,D.value=!1,V()}function w(){d(),l.stop(),l=Es()}return Kl({...c,$pending:h,$valid:p,$validate:F,$unwatch:w,$watch:V,$reset:b})}function Nt({state:e,rulesDef:t,customMessages:n,path:r,storage:s,options:o,externalErrors:a}){let i=ws(),l,c=Ge(!1),d=Ge(!1),h=Ge([]),p,y,D,V,F=()=>{};function b(){a.value&&(h.value=a.value)}b();function w(){let k=t.value,I=s.checkRuleDeclEntry(r,k);$.value=Object.fromEntries(Object.entries(k).filter(([x])=>x.startsWith("$"))),T.value=Object.fromEntries(Object.entries(t.value).filter(([x])=>!x.startsWith("$")).map(([x,L])=>{if(L){let N=ql(()=>L);return[x,$s({$dirty:c,customMessages:n,rule:N,ruleKey:x,state:e,path:r,storage:s,options:o})]}return[]}).filter(x=>!!x.length)),g(),F=l.$debounce.value?zt(E,l.$debounce.value??0):E,I?.valid!=null&&(c.value=s.getDirtyState(r),c.value&&F()),s.addRuleDeclEntry(r,k)}function R(){T.value&&Object.entries(T.value).forEach(([k,I])=>{I.$unwatch()}),V(),c.value&&s.setDirtyEntry(r,c.value),p(),y(),D(),i.stop(),i=ws()}function g(){T.value&&Object.entries(T.value).forEach(([k,I])=>{I.$watch()}),l=i.run(()=>{let k=ae(()=>c.value),I=ae(()=>$.value.$debounce),x=ae(()=>$.value.$lazy?$.value.$lazy:Un(o.lazy)),L=ae(()=>$.value.$rewardEarly?$.value.$rewardEarly:Un(o.rewardEarly)),N=ae(()=>$.value.$autoDirty?$.value.$autoDirty:Un(o.autoDirty)),ie=ae(()=>$e.value&&!Ft.value&&c.value),Ft=ae(()=>d.value||!L.value?Object.entries(T.value).some(([qe,Ne])=>Ne.$pending):!1),$e=ae(()=>h.value?.length?!0:!L.value||L.value&&d.value?Object.entries(T.value).some(([qe,Ne])=>!Ne.$valid):!1),Xn=ae(()=>h.value?.length?!1:L.value?Object.entries(T.value).every(([qe,Ne])=>Ne.$valid):!$e.value);return Ye(Xn,qe=>{qe&&(d.value=!1)}),{$error:ie,$pending:Ft,$invalid:$e,$valid:Xn,$debounce:I,$lazy:x,$rewardEarly:L,$autoDirty:N,$anyDirty:k}}),D=Ye(a,b),p=Ye(e,()=>{l.$autoDirty.value&&(c.value||(c.value=!0)),l.$lazy.value||(F(),l.$rewardEarly.value||z())}),V=Ye(c,()=>{s.setDirtyEntry(r,c.value),P()}),y=Ye(l.$valid,k=>{l.$rewardEarly.value&&k&&(d.value=!1)})}function E(){Object.entries(T.value).forEach(([k,I])=>{I.$validate()})}let T=Ge(),$=Ge();w();function M(){c.value=!1,h.value=[],Object.entries(T.value).forEach(([k,I])=>{I.$reset()})}function j(){c.value=!0,l.$lazy.value||l.$rewardEarly.value||z()}let P=l.$debounce.value?zt(C,l.$debounce.value??0):C;async function C(){try{if(z(),d.value=!0,!l.$lazy.value&&l.$anyDirty.value&&!l.$pending)return!l.$error.value;{let k=Object.entries(T.value).map(([x,L])=>L.$validate());return(await Promise.allSettled(k)).every(x=>x.status==="fulfilled"?x.value:!1)}}catch{return!1}}function z(){h.value=[]}return Yl({$dirty:c,$anyDirty:l.$anyDirty,$invalid:l.$invalid,$error:l.$error,$pending:l.$pending,$valid:l.$valid,$externalErrors:h,$value:e,$rules:T,$reset:M,$touch:j,$validate:P,$unwatch:R,$watch:g,$clearExternalErrors:z})}function Kn({$id:e,path:t,index:n,options:r,storage:s,value:o,customMessages:a,rules:i,externalErrors:l}){let c=Bn(),d=`${t}.${c}`;typeof o[n]=="object"&&o[n]!=null&&(o[n].$id||Object.defineProperties(o[n],{$id:{value:c,enumerable:!1,configurable:!1,writable:!1}}));let h=xs(o),p=Ee(()=>l.value?.[n]),y=Lt({state:h[n],rulesDef:Ee(()=>i),customMessages:a,path:d,storage:s,options:r,externalErrors:p});if(y){let D=o[n]?.$id;y.$id=D??c,s.addArrayStatus(e,n,y)}return y}function Ql({path:e,index:t,options:n,storage:r,value:s,customMessages:o,rules:a,externalErrors:i}){let l=xs(s),c=Ee(()=>i.value?.[t]);return Lt({state:l[t],rulesDef:Ee(()=>a),customMessages:o,path:e,storage:r,options:n,externalErrors:c})}function Os({state:e,rulesDef:t,customMessages:n,path:r,storage:s,options:o,externalErrors:a}){let i=Wl(),l;if(Array.isArray(e.value)&&!t.value.$each)return null;let c=Hn(),d=Hn(e.value),h=null,p=Hn({}),y=s.getCollectionsEntry(r);F(),D();function D(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(c.value=Bn(),Object.defineProperties(e.value,{$id:{value:c.value,enumerable:!1,configurable:!1,writable:!1}})):c.value=e.value?.$id);let{$each:g,$debounce:E,$autoDirty:T,$lazy:$,$rewardEarly:M,...j}=t.value,P=Ee(()=>{if(a.value&&Ht(a.value))return a.value.$errors}),C=Ee(()=>{if(a.value&&Ht(a.value))return a.value.$each});if(Array.isArray(e.value)){let z={};["pop","shift","unshift","splice"].forEach(I=>{z[I]=function(...x){(0,X.pauseTracking)(),(0,X.pauseScheduling)(),y.value.forEach(N=>{N.$unwatch(),s.deleteArrayStatus(c.value,N.$id)}),y.value[I](...x);let L=Object.assign([],this)[I].apply(this,x);return y.value=y.value.map((N,ie)=>Y(N)&&(je(N)||ke(N)||Fe(N))&&N.$id!=null?Ql({$id:c.value,path:`${r}.${N.$id}`,rules:g,value:e.value,index:ie,options:o,storage:s,externalErrors:C}):Kn({$id:c.value,path:r,rules:g,value:e.value,index:ie,options:o,storage:s,externalErrors:C})).filter(N=>!!N),(0,X.resetScheduling)(),(0,X.resetTracking)(),L}});let k=new Proxy(Jl(e.value),{get(I,x,L){let N=Reflect.get(I,x,L);return typeof x=="symbol"?N:Array.isArray(I)&&Object.hasOwn(z,x)?Reflect.get(z,x,L):N},deleteProperty(I,x){let L=Reflect.deleteProperty(I,x);return typeof x=="symbol"?!0:(isNaN(parseInt(x))||(y.value.splice(parseInt(x),1),s.deleteArrayStatus(c.value,parseInt(x))),L)},set(I,x,L){let N=Reflect.set(I,x,L);if(typeof x=="symbol")return!0;if(!isNaN(parseInt(x))){let ie=parseInt(x);if(!y.value[ie]&&t.value.$each){let $e=Kn({$id:c.value,value:e.value,rules:t.value.$each,customMessages:n,path:r,storage:s,options:o,index:ie,externalErrors:C});$e&&(y.value[ie]=$e)}}return N}});(0,X.pauseTracking)(),(0,X.pauseScheduling)(),e.value=k,(0,X.resetScheduling)(),(0,X.resetTracking)()}if(p.value=Nt({state:e,rulesDef:Ee(()=>j),customMessages:n,path:r,storage:s,options:o,externalErrors:P}),d.value=p.value.$value,Array.isArray(e.value)&&g)for(let[z,k]of e.value.entries()){let I=Kn({$id:c.value,path:r,rules:g,value:e.value,index:z,options:o,storage:s,externalErrors:C});I&&(y.value[z]=I)}else y.value=[]}function V(){h&&h(),p.value&&p.value.$unwatch(),y.value&&y.value.forEach(g=>{"$dirty"in g&&g.$unwatch()})}function F(){h=Zl(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")&&D()}),l=i.run(()=>{let g=Te(()=>Array.isArray(e.value)&&e.value.length?e.value.some(C=>typeof C!="object"):t.value.$each?Object.values(t.value.$each).every(C=>Ut(C)):!1),E=Te(()=>p.value.$dirty&&y.value.every(C=>C.$dirty)),T=Te(()=>p.value.$anyDirty||y.value.some(C=>C.$dirty)),$=Te(()=>p.value.$invalid||y.value.some(C=>C.$invalid)),M=Te(()=>!$.value),j=Te(()=>p.value.$error||y.value.some(C=>C.$error)),P=Te(()=>p.value.$pending||y.value.some(C=>C.$pending));return{isPrimitiveArray:g,$dirty:E,$anyDirty:T,$invalid:$,$valid:M,$error:j,$pending:P}})}function b(){p.value.$touch(),y.value.forEach(g=>{"$dirty"in g&&g.$touch()})}function w(){p.value.$reset(),y.value.forEach(g=>{"$dirty"in g&&g.$reset()}),p.value.$watch()}async function R(){try{return(await Promise.all([p.value.$validate(),...y.value.map(E=>{if("$dirty"in E)return E.$validate()})])).every(E=>!!E)}catch{return!1}}return Xl({...p.value,$value:d,...l,$each:y,$validate:R,$unwatch:V,$watch:F,$touch:b,$reset:w})}function Yn({scopeRules:e,state:t,customMessages:n,path:r="",rootRules:s,storage:o,options:a,externalErrors:i}){let l,c,d;function h(R=!0){p.value=null,nc(p),p.value=Object.fromEntries(Object.entries(e.value).map(([g,E])=>{if(E){let T=Gn(t.value,g),$=Gn(()=>E),M=Gn(()=>i.value?.[g]);return[g,Lt({state:T,rulesDef:$,customMessages:n,path:r?`${r}.${g}`:g,storage:o,options:a,externalErrors:M})]}return[]}).filter(g=>!!g.length&&g[1]!=null)),R&&F()}let p=o.getFieldsEntry(r);h();function y(){h(!1),Object.entries(p.value).forEach(([R,g])=>{g.$reset()}),F()}function D(){Object.entries(p.value).forEach(([R,g])=>{g.$touch()})}async function V(){try{return(await Promise.allSettled(Object.entries(p.value).map(([g,E])=>E.$validate()))).every(g=>g.status==="fulfilled"?g.value:!1)}catch{return!1}}function F(){s&&(d=rc(s,()=>{b(),h()},{deep:!0,flush:"post"})),l=ec(),c=l.run(()=>{let R=De(()=>Object.entries(p.value).every(([j,P])=>P.$dirty)),g=De(()=>Object.entries(p.value).some(([j,P])=>P.$dirty)),E=De(()=>Object.entries(p.value).some(([j,P])=>P.$invalid)),T=De(()=>!E.value),$=De(()=>Object.entries(p.value).some(([j,P])=>P.$error)),M=De(()=>Object.entries(p.value).some(([j,P])=>P.$pending));return{$dirty:R,$anyDirty:g,$invalid:E,$valid:T,$error:$,$pending:M}})}function b(){p.value&&Object.entries(p.value).forEach(([R,g])=>{g.$unwatch()}),d&&d()}function w(){Object.entries(p.value).forEach(([R,g])=>{g.$clearExternalErrors()})}return tc({...c,$fields:p,$value:t,$reset:y,$touch:D,$validate:V,$unwatch:b,$watch:F,$clearExternalErrors:w})}function Lt({state:e,rulesDef:t,customMessages:n,path:r,storage:s,options:o,externalErrors:a}){return rr(t)?Os({state:e,rulesDef:t,customMessages:n,path:r,storage:s,options:o,externalErrors:a}):nr(e,t)&&er(e)?Yn({scopeRules:t,state:e,customMessages:n,path:r,storage:s,options:o,externalErrors:a}):sr(t)?Nt({state:e,rulesDef:t,customMessages:n,path:r,storage:s,options:o,externalErrors:a}):null}function qn(e,t,n,r){let s=Bt(),o=sc(()=>ac(n.$externalErrors)),a=oc(Yn({rootRules:e,scopeRules:e,state:t,customMessages:r?.(),storage:s,options:n,externalErrors:o})),i=ar(a);return{regle:a,errors:i}}function Wn(e,t){let n={autoDirty:t?.autoDirty??!0,lazy:t?.lazy??!1,rewardEarly:t?.rewardEarly??!1};function r(s,o,a){let i=Me(o)?o:As(typeof o=="function"?o:()=>o),l={...n,...a},c=Me(s)?s:ic(s),d=structuredClone(lc(c.value)),{regle:h,errors:p}=qn(i,c,l,e);function y(){h.$unwatch(),D(s,d),h.$reset(),h.$validate()}function D(b,w){Object.entries(w).forEach(([R,g])=>{let E=Me(b)?b.value:b,T=Me(E[R])?E[R].value:E[R],$=Me(w[R])?w[R]._value:w[R];Array.isArray($)&&Array.isArray(T)?$.forEach((M,j)=>{D(T[j],$[j])}):Y($)?D(T,$):Me(E[R])?E[R].value=$:E[R]=$})}let V=As(()=>h.$invalid||h.$pending);async function F(){return h.$touch(),await h.$validate()?c.value:!1}return h.$validate(),{regle:h,errors:p,resetForm:y,validateForm:F,invalid:V}}return r}var Cs=Wn();function Ps({rules:e,options:t}){return Wn(e,t)}export{Mt as InternalRuleType,jt as createRule,Ps as defineRegleConfig,Vt as defineType,B as unwrapRuleParameters,Cs as useRegle};
|
|
6
|
+
/*! Bundled license information:
|
|
7
|
+
|
|
8
|
+
@vue/shared/dist/shared.cjs.prod.js:
|
|
9
|
+
(**
|
|
10
|
+
* @vue/shared v3.4.21
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**)
|
|
14
|
+
|
|
15
|
+
@vue/shared/dist/shared.cjs.js:
|
|
16
|
+
(**
|
|
17
|
+
* @vue/shared v3.4.21
|
|
18
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
19
|
+
* @license MIT
|
|
20
|
+
**)
|
|
21
|
+
|
|
22
|
+
@vue/reactivity/dist/reactivity.cjs.prod.js:
|
|
23
|
+
(**
|
|
24
|
+
* @vue/reactivity v3.4.21
|
|
25
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
26
|
+
* @license MIT
|
|
27
|
+
**)
|
|
28
|
+
|
|
29
|
+
@vue/reactivity/dist/reactivity.cjs.js:
|
|
30
|
+
(**
|
|
31
|
+
* @vue/reactivity v3.4.21
|
|
32
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
33
|
+
* @license MIT
|
|
34
|
+
**)
|
|
35
|
+
*/
|