@regle/core 0.0.12 → 0.0.14
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 +66 -368
- package/dist/index.d.ts +66 -368
- package/dist/index.js +35 -1279
- package/package.json +22 -20
package/dist/index.js
CHANGED
|
@@ -1,1279 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
import { isRef, toRef, unref } from "vue";
|
|
3
|
-
function unwrapRuleParameters(params) {
|
|
4
|
-
|
|
5
|
-
|
|
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 fi=Object.create;var Tn=Object.defineProperty;var pi=Object.getOwnPropertyDescriptor;var di=Object.getOwnPropertyNames;var hi=Object.getPrototypeOf,gi=Object.prototype.hasOwnProperty;var je=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var mi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of di(t))!gi.call(e,s)&&s!==r&&Tn(e,s,{get:()=>t[s],enumerable:!(n=pi(t,s))||n.enumerable});return e};var Ri=(e,t,r)=>(r=e!=null?fi(hi(e)):{},mi(t||!e||!e.__esModule?Tn(r,"default",{value:e,enumerable:!0}):r,e));var Gn=je(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});function re(e,t){let r=new Set(e.split(","));return t?n=>r.has(n.toLowerCase()):n=>r.has(n)}var Ti={},$i=[],xi=()=>{},wi=()=>!1,Ai=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ci=e=>e.startsWith("onUpdate:"),Oi=Object.assign,Di=(e,t)=>{let r=e.indexOf(t);r>-1&&e.splice(r,1)},Ii=Object.prototype.hasOwnProperty,Pi=(e,t)=>Ii.call(e,t),we=Array.isArray,Ln=e=>Ae(e)==="[object Map]",Fn=e=>Ae(e)==="[object Set]",Rr=e=>Ae(e)==="[object Date]",Mi=e=>Ae(e)==="[object RegExp]",rt=e=>typeof e=="function",ae=e=>typeof e=="string",nt=e=>typeof e=="symbol",Re=e=>e!==null&&typeof e=="object",Ni=e=>(Re(e)||rt(e))&&rt(e.then)&&rt(e.catch),yr=Object.prototype.toString,Ae=e=>yr.call(e),Li=e=>Ae(e).slice(8,-1),kn=e=>Ae(e)==="[object Object]",Fi=e=>ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ki=re(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ji=re("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),yt=e=>{let t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Vi=/-(\w)/g,Hi=yt(e=>e.replace(Vi,(t,r)=>r?r.toUpperCase():"")),Ui=/\B([A-Z])/g,jn=yt(e=>e.replace(Ui,"-$1").toLowerCase()),Vn=yt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Bi=yt(e=>e?`on${Vn(e)}`:""),Ki=(e,t)=>!Object.is(e,t),zi=(e,...t)=>{for(let r=0;r<e.length;r++)e[r](...t)},Yi=(e,t,r,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:r})},Wi=e=>{let t=parseFloat(e);return isNaN(t)?e:t},Gi=e=>{let t=ae(e)?Number(e):NaN;return isNaN(t)?e:t},Mn,qi=()=>Mn||(Mn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),Xi=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function Ji(e){return Xi.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}var Zi={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",CACHED:-1,"-1":"CACHED",BAIL:-2,"-2":"BAIL"},Qi={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"},eo={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"},ro={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},no="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,Symbol",Hn=re(no),so=Hn,Nn=2;function io(e,t=0,r=e.length){if(t=Math.max(0,Math.min(t,e.length)),r=Math.max(0,Math.min(r,e.length)),t>r)return"";let n=e.split(/(\r?\n)/),s=n.filter((l,a)=>a%2===1);n=n.filter((l,a)=>a%2===0);let i=0,o=[];for(let l=0;l<n.length;l++)if(i+=n[l].length+(s[l]&&s[l].length||0),i>=t){for(let a=l-Nn;a<=l+Nn||r>i;a++){if(a<0||a>=n.length)continue;let d=a+1;o.push(`${d}${" ".repeat(Math.max(3-String(d).length,0))}| ${n[a]}`);let u=n[a].length,c=s[a]&&s[a].length||0;if(a===l){let f=t-(i-(u+c)),S=Math.max(1,r>i?u-f:r-t);o.push(" | "+" ".repeat(f)+"^".repeat(S))}else if(a>l){if(r>i){let f=Math.max(Math.min(r-i,u),1);o.push(" | "+"^".repeat(f))}i+=u+c}}break}return o.join(`
|
|
2
|
+
`)}function vr(e){if(we(e)){let t={};for(let r=0;r<e.length;r++){let n=e[r],s=ae(n)?Un(n):vr(n);if(s)for(let i in s)t[i]=s[i]}return t}else if(ae(e)||Re(e))return e}var oo=/;(?![^(]*\))/g,ao=/:([^]+)/,lo=/\/\*[^]*?\*\//g;function Un(e){let t={};return e.replace(lo,"").split(oo).forEach(r=>{if(r){let n=r.split(ao);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function co(e){let t="";if(!e||ae(e))return t;for(let r in e){let n=e[r];if(ae(n)||typeof n=="number"){let s=r.startsWith("--")?r:jn(r);t+=`${s}:${n};`}}return t}function Sr(e){let t="";if(ae(e))t=e;else if(we(e))for(let r=0;r<e.length;r++){let n=Sr(e[r]);n&&(t+=n+" ")}else if(Re(e))for(let r in e)e[r]&&(t+=r+" ");return t.trim()}function uo(e){if(!e)return null;let{class:t,style:r}=e;return t&&!ae(t)&&(e.class=Sr(t)),r&&(e.style=vr(r)),e}var fo="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",po="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",ho="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",go="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",mo=re(fo),Ro=re(po),yo=re(ho),vo=re(go),Bn="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",So=re(Bn),_o=re(Bn+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function bo(e){return!!e||e===""}var Eo=/[>/="'\u0009\u000a\u000c\u0020]/,gr={};function To(e){if(gr.hasOwnProperty(e))return gr[e];let t=Eo.test(e);return t&&console.error(`unsafe attribute name: ${e}`),gr[e]=!t}var $o={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},xo=re("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"),wo=re("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 Ao(e){if(e==null)return!1;let t=typeof e;return t==="string"||t==="number"||t==="boolean"}var Co=/["'&<>]/;function Oo(e){let t=""+e,r=Co.exec(t);if(!r)return t;let n="",s,i,o=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:s=""";break;case 38:s="&";break;case 39:s="'";break;case 60:s="<";break;case 62:s=">";break;default:continue}o!==i&&(n+=t.slice(o,i)),o=i+1,n+=s}return o!==i?n+t.slice(o,i):n}var Do=/^-?>|<!--|-->|--!>|<!-$/g;function Io(e){return e.replace(Do,"")}var Kn=/[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;function Po(e,t){return e.replace(Kn,r=>t?r==='"'?'\\\\\\"':`\\\\${r}`:`\\${r}`)}function Mo(e,t){if(e.length!==t.length)return!1;let r=!0;for(let n=0;r&&n<e.length;n++)r=vt(e[n],t[n]);return r}function vt(e,t){if(e===t)return!0;let r=Rr(e),n=Rr(t);if(r||n)return r&&n?e.getTime()===t.getTime():!1;if(r=nt(e),n=nt(t),r||n)return e===t;if(r=we(e),n=we(t),r||n)return r&&n?Mo(e,t):!1;if(r=Re(e),n=Re(t),r||n){if(!r||!n)return!1;let s=Object.keys(e).length,i=Object.keys(t).length;if(s!==i)return!1;for(let o in e){let l=e.hasOwnProperty(o),a=t.hasOwnProperty(o);if(l&&!a||!l&&a||!vt(e[o],t[o]))return!1}}return String(e)===String(t)}function No(e,t){return e.findIndex(r=>vt(r,t))}var zn=e=>!!(e&&e.__v_isRef===!0),Yn=e=>ae(e)?e:e==null?"":we(e)||Re(e)&&(e.toString===yr||!rt(e.toString))?zn(e)?Yn(e.value):JSON.stringify(e,Wn,2):String(e),Wn=(e,t)=>zn(t)?Wn(e,t.value):Ln(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,s],i)=>(r[mr(n,i)+" =>"]=s,r),{})}:Fn(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>mr(r))}:nt(t)?mr(t):Re(t)&&!we(t)&&!kn(t)?String(t):t,mr=(e,t="")=>{var r;return nt(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};g.EMPTY_ARR=$i;g.EMPTY_OBJ=Ti;g.NO=wi;g.NOOP=xi;g.PatchFlagNames=Qi;g.PatchFlags=Zi;g.ShapeFlags=eo;g.SlotFlags=to;g.camelize=Hi;g.capitalize=Vn;g.cssVarNameEscapeSymbolsRE=Kn;g.def=Yi;g.escapeHtml=Oo;g.escapeHtmlComment=Io;g.extend=Oi;g.genPropsAccessExp=Ji;g.generateCodeFrame=io;g.getEscapedCssVarName=Po;g.getGlobalThis=qi;g.hasChanged=Ki;g.hasOwn=Pi;g.hyphenate=jn;g.includeBooleanAttr=bo;g.invokeArrayFns=zi;g.isArray=we;g.isBooleanAttr=_o;g.isBuiltInDirective=ji;g.isDate=Rr;g.isFunction=rt;g.isGloballyAllowed=Hn;g.isGloballyWhitelisted=so;g.isHTMLTag=mo;g.isIntegerKey=Fi;g.isKnownHtmlAttr=xo;g.isKnownSvgAttr=wo;g.isMap=Ln;g.isMathMLTag=yo;g.isModelListener=Ci;g.isObject=Re;g.isOn=Ai;g.isPlainObject=kn;g.isPromise=Ni;g.isRegExp=Mi;g.isRenderableAttrValue=Ao;g.isReservedProp=ki;g.isSSRSafeAttrName=To;g.isSVGTag=Ro;g.isSet=Fn;g.isSpecialBooleanAttr=So;g.isString=ae;g.isSymbol=nt;g.isVoidTag=vo;g.looseEqual=vt;g.looseIndexOf=No;g.looseToNumber=Wi;g.makeMap=re;g.normalizeClass=Sr;g.normalizeProps=uo;g.normalizeStyle=vr;g.objectToString=yr;g.parseStringStyle=Un;g.propsToAttrMap=$o;g.remove=Di;g.slotFlagsText=ro;g.stringifyStyle=co;g.toDisplayString=Yn;g.toHandlerKey=Bi;g.toNumber=Gi;g.toRawType=Li;g.toTypeString=Ae});var cs=je(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});function ne(e,t){let r=new Set(e.split(","));return t?n=>r.has(n.toLowerCase()):n=>r.has(n)}var Lo=Object.freeze({}),Fo=Object.freeze([]),ko=()=>{},jo=()=>!1,Vo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ho=e=>e.startsWith("onUpdate:"),Uo=Object.assign,Bo=(e,t)=>{let r=e.indexOf(t);r>-1&&e.splice(r,1)},Ko=Object.prototype.hasOwnProperty,zo=(e,t)=>Ko.call(e,t),Ce=Array.isArray,Jn=e=>Oe(e)==="[object Map]",Zn=e=>Oe(e)==="[object Set]",Er=e=>Oe(e)==="[object Date]",Yo=e=>Oe(e)==="[object RegExp]",st=e=>typeof e=="function",le=e=>typeof e=="string",it=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",Wo=e=>(ye(e)||st(e))&&st(e.then)&&st(e.catch),Tr=Object.prototype.toString,Oe=e=>Tr.call(e),Go=e=>Oe(e).slice(8,-1),Qn=e=>Oe(e)==="[object Object]",qo=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Xo=ne(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jo=ne("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),St=e=>{let t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Zo=/-(\w)/g,Qo=St(e=>e.replace(Zo,(t,r)=>r?r.toUpperCase():"")),ea=/\B([A-Z])/g,es=St(e=>e.replace(ea,"-$1").toLowerCase()),ts=St(e=>e.charAt(0).toUpperCase()+e.slice(1)),ta=St(e=>e?`on${ts(e)}`:""),ra=(e,t)=>!Object.is(e,t),na=(e,...t)=>{for(let r=0;r<e.length;r++)e[r](...t)},sa=(e,t,r,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:r})},ia=e=>{let t=parseFloat(e);return isNaN(t)?e:t},oa=e=>{let t=le(e)?Number(e):NaN;return isNaN(t)?e:t},qn,aa=()=>qn||(qn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),la=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function ca(e){return la.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}var ua={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",CACHED:-1,"-1":"CACHED",BAIL:-2,"-2":"BAIL"},fa={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"},pa={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"},da={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},ha={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},ga="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,Symbol",rs=ne(ga),ma=rs,Xn=2;function Ra(e,t=0,r=e.length){if(t=Math.max(0,Math.min(t,e.length)),r=Math.max(0,Math.min(r,e.length)),t>r)return"";let n=e.split(/(\r?\n)/),s=n.filter((l,a)=>a%2===1);n=n.filter((l,a)=>a%2===0);let i=0,o=[];for(let l=0;l<n.length;l++)if(i+=n[l].length+(s[l]&&s[l].length||0),i>=t){for(let a=l-Xn;a<=l+Xn||r>i;a++){if(a<0||a>=n.length)continue;let d=a+1;o.push(`${d}${" ".repeat(Math.max(3-String(d).length,0))}| ${n[a]}`);let u=n[a].length,c=s[a]&&s[a].length||0;if(a===l){let f=t-(i-(u+c)),S=Math.max(1,r>i?u-f:r-t);o.push(" | "+" ".repeat(f)+"^".repeat(S))}else if(a>l){if(r>i){let f=Math.max(Math.min(r-i,u),1);o.push(" | "+"^".repeat(f))}i+=u+c}}break}return o.join(`
|
|
3
|
+
`)}function $r(e){if(Ce(e)){let t={};for(let r=0;r<e.length;r++){let n=e[r],s=le(n)?ns(n):$r(n);if(s)for(let i in s)t[i]=s[i]}return t}else if(le(e)||ye(e))return e}var ya=/;(?![^(]*\))/g,va=/:([^]+)/,Sa=/\/\*[^]*?\*\//g;function ns(e){let t={};return e.replace(Sa,"").split(ya).forEach(r=>{if(r){let n=r.split(va);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function _a(e){let t="";if(!e||le(e))return t;for(let r in e){let n=e[r];if(le(n)||typeof n=="number"){let s=r.startsWith("--")?r:es(r);t+=`${s}:${n};`}}return t}function xr(e){let t="";if(le(e))t=e;else if(Ce(e))for(let r=0;r<e.length;r++){let n=xr(e[r]);n&&(t+=n+" ")}else if(ye(e))for(let r in e)e[r]&&(t+=r+" ");return t.trim()}function ba(e){if(!e)return null;let{class:t,style:r}=e;return t&&!le(t)&&(e.class=xr(t)),r&&(e.style=$r(r)),e}var Ea="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",Ta="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",$a="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",xa="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",wa=ne(Ea),Aa=ne(Ta),Ca=ne($a),Oa=ne(xa),ss="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Da=ne(ss),Ia=ne(ss+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function Pa(e){return!!e||e===""}var Ma=/[>/="'\u0009\u000a\u000c\u0020]/,_r={};function Na(e){if(_r.hasOwnProperty(e))return _r[e];let t=Ma.test(e);return t&&console.error(`unsafe attribute name: ${e}`),_r[e]=!t}var La={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},Fa=ne("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"),ka=ne("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 ja(e){if(e==null)return!1;let t=typeof e;return t==="string"||t==="number"||t==="boolean"}var Va=/["'&<>]/;function Ha(e){let t=""+e,r=Va.exec(t);if(!r)return t;let n="",s,i,o=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:s=""";break;case 38:s="&";break;case 39:s="'";break;case 60:s="<";break;case 62:s=">";break;default:continue}o!==i&&(n+=t.slice(o,i)),o=i+1,n+=s}return o!==i?n+t.slice(o,i):n}var Ua=/^-?>|<!--|-->|--!>|<!-$/g;function Ba(e){return e.replace(Ua,"")}var is=/[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;function Ka(e,t){return e.replace(is,r=>t?r==='"'?'\\\\\\"':`\\\\${r}`:`\\${r}`)}function za(e,t){if(e.length!==t.length)return!1;let r=!0;for(let n=0;r&&n<e.length;n++)r=_t(e[n],t[n]);return r}function _t(e,t){if(e===t)return!0;let r=Er(e),n=Er(t);if(r||n)return r&&n?e.getTime()===t.getTime():!1;if(r=it(e),n=it(t),r||n)return e===t;if(r=Ce(e),n=Ce(t),r||n)return r&&n?za(e,t):!1;if(r=ye(e),n=ye(t),r||n){if(!r||!n)return!1;let s=Object.keys(e).length,i=Object.keys(t).length;if(s!==i)return!1;for(let o in e){let l=e.hasOwnProperty(o),a=t.hasOwnProperty(o);if(l&&!a||!l&&a||!_t(e[o],t[o]))return!1}}return String(e)===String(t)}function Ya(e,t){return e.findIndex(r=>_t(r,t))}var os=e=>!!(e&&e.__v_isRef===!0),as=e=>le(e)?e:e==null?"":Ce(e)||ye(e)&&(e.toString===Tr||!st(e.toString))?os(e)?as(e.value):JSON.stringify(e,ls,2):String(e),ls=(e,t)=>os(t)?ls(e,t.value):Jn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[n,s],i)=>(r[br(n,i)+" =>"]=s,r),{})}:Zn(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>br(r))}:it(t)?br(t):ye(t)&&!Ce(t)&&!Qn(t)?String(t):t,br=(e,t="")=>{var r;return it(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};m.EMPTY_ARR=Fo;m.EMPTY_OBJ=Lo;m.NO=jo;m.NOOP=ko;m.PatchFlagNames=fa;m.PatchFlags=ua;m.ShapeFlags=pa;m.SlotFlags=da;m.camelize=Qo;m.capitalize=ts;m.cssVarNameEscapeSymbolsRE=is;m.def=sa;m.escapeHtml=Ha;m.escapeHtmlComment=Ba;m.extend=Uo;m.genPropsAccessExp=ca;m.generateCodeFrame=Ra;m.getEscapedCssVarName=Ka;m.getGlobalThis=aa;m.hasChanged=ra;m.hasOwn=zo;m.hyphenate=es;m.includeBooleanAttr=Pa;m.invokeArrayFns=na;m.isArray=Ce;m.isBooleanAttr=Ia;m.isBuiltInDirective=Jo;m.isDate=Er;m.isFunction=st;m.isGloballyAllowed=rs;m.isGloballyWhitelisted=ma;m.isHTMLTag=wa;m.isIntegerKey=qo;m.isKnownHtmlAttr=Fa;m.isKnownSvgAttr=ka;m.isMap=Jn;m.isMathMLTag=Ca;m.isModelListener=Ho;m.isObject=ye;m.isOn=Vo;m.isPlainObject=Qn;m.isPromise=Wo;m.isRegExp=Yo;m.isRenderableAttrValue=ja;m.isReservedProp=Xo;m.isSSRSafeAttrName=Na;m.isSVGTag=Aa;m.isSet=Zn;m.isSpecialBooleanAttr=Da;m.isString=le;m.isSymbol=it;m.isVoidTag=Oa;m.looseEqual=_t;m.looseIndexOf=Ya;m.looseToNumber=ia;m.makeMap=ne;m.normalizeClass=xr;m.normalizeProps=ba;m.normalizeStyle=$r;m.objectToString=Tr;m.parseStringStyle=ns;m.propsToAttrMap=La;m.remove=Bo;m.slotFlagsText=ha;m.stringifyStyle=_a;m.toDisplayString=as;m.toHandlerKey=ta;m.toNumber=oa;m.toRawType=Go;m.toTypeString=Oe});var Ar=je((Yu,wr)=>{"use strict";process.env.NODE_ENV==="production"?wr.exports=Gn():wr.exports=cs()});var Is=je(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});var E=Ar(),z,At=class{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=z,!t&&z&&(this.index=(z.scopes||(z.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t<r;t++)this.scopes[t].pause();for(t=0,r=this.effects.length;t<r;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t<r;t++)this.scopes[t].resume();for(t=0,r=this.effects.length;t<r;t++)this.effects[t].resume()}}run(t){if(this._active){let r=z;try{return z=this,t()}finally{z=r}}}on(){z=this}off(){z=this.parent}stop(t){if(this._active){let r,n;for(r=0,n=this.effects.length;r<n;r++)this.effects[r].stop();for(r=0,n=this.cleanups.length;r<n;r++)this.cleanups[r]();if(this.scopes)for(r=0,n=this.scopes.length;r<n;r++)this.scopes[r].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 Wa(e){return new At(e)}function ms(){return z}function Ga(e,t=!1){z&&z.cleanups.push(e)}var M,qa={ACTIVE:1,1:"ACTIVE",RUNNING:2,2:"RUNNING",TRACKING:4,4:"TRACKING",NOTIFIED:8,8:"NOTIFIED",DIRTY:16,16:"DIRTY",ALLOW_RECURSE:32,32:"ALLOW_RECURSE",PAUSED:64,64:"PAUSED"},Cr=new WeakSet,Ie=class{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.nextEffect=void 0,this.cleanup=void 0,this.scheduler=void 0,z&&z.active&&z.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Cr.has(this)&&(Cr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||(this.flags|=8,this.nextEffect=at,at=this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,us(this),ys(this);let t=M,r=Z;M=this,Z=!0;try{return this.fn()}finally{vs(this),M=t,Z=r,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Vr(t);this.deps=this.depsTail=void 0,us(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Cr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ir(this)&&this.run()}get dirty(){return Ir(this)}},Rs=0,at;function kr(){Rs++}function jr(){if(--Rs>0)return;let e;for(;at;){let t=at;for(at=void 0;t;){let r=t.nextEffect;if(t.nextEffect=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=r}}if(e)throw e}function ys(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vs(e){let t,r=e.depsTail;for(let n=r;n;n=n.prevDep)n.version===-1?(n===r&&(r=n.prevDep),Vr(n),Xa(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0;e.deps=t,e.depsTail=r}function Ir(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&Ss(t.dep.computed)===!1||t.dep.version!==t.version)return!0;return!!e._dirty}function Ss(e){if(e.flags&2)return!1;if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===lt))return;e.globalVersion=lt;let t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&!Ir(e)){e.flags&=-3;return}let r=M,n=Z;M=e,Z=!0;try{ys(e);let s=e.fn();(t.version===0||E.hasChanged(s,e._value))&&(e._value=s,t.version++)}catch(s){throw t.version++,s}finally{M=r,Z=n,vs(e),e.flags&=-3}}function Vr(e){let{dep:t,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),t.subs===e&&(t.subs=r),!t.subs&&t.computed){t.computed.flags&=-5;for(let s=t.computed.deps;s;s=s.nextDep)Vr(s)}}function Xa(e){let{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}function Ja(e,t){e.effect instanceof Ie&&(e=e.effect.fn);let r=new Ie(e);t&&E.extend(r,t);try{r.run()}catch(s){throw r.stop(),s}let n=r.run.bind(r);return n.effect=r,n}function Za(e){e.effect.stop()}var Z=!0,Hr=[];function Ur(){Hr.push(Z),Z=!1}function Qa(){Hr.push(Z),Z=!0}function Br(){let e=Hr.pop();Z=e===void 0?!0:e}function el(e,t=!1){M instanceof Ie&&(M.cleanup=e)}function us(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let r=M;M=void 0;try{t()}finally{M=r}}}var lt=0,Be=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0}track(t){if(!M||!Z)return;let r=this.activeLink;if(r===void 0||r.sub!==M)r=this.activeLink={dep:this,sub:M,version:this.version,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0,prevActiveLink:void 0},M.deps?(r.prevDep=M.depsTail,M.depsTail.nextDep=r,M.depsTail=r):M.deps=M.depsTail=r,M.flags&4&&_s(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){let n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=M.depsTail,r.nextDep=void 0,M.depsTail.nextDep=r,M.depsTail=r,M.deps===r&&(M.deps=n)}return r}trigger(t){this.version++,lt++,this.notify(t)}notify(t){kr();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()}finally{jr()}}};function _s(e){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)_s(n)}let r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}var Ct=new WeakMap,_e=Symbol(""),Ot=Symbol(""),Ke=Symbol("");function W(e,t,r){if(Z&&M){let n=Ct.get(e);n||Ct.set(e,n=new Map);let s=n.get(r);s||n.set(r,s=new Be),s.track()}}function fe(e,t,r,n,s,i){let o=Ct.get(e);if(!o){lt++;return}let l=[];if(t==="clear")l=[...o.values()];else{let a=E.isArray(e),d=a&&E.isIntegerKey(r);if(a&&r==="length"){let u=Number(n);o.forEach((c,f)=>{(f==="length"||f===Ke||!E.isSymbol(f)&&f>=u)&&l.push(c)})}else{let u=c=>c&&l.push(c);switch(r!==void 0&&u(o.get(r)),d&&u(o.get(Ke)),t){case"add":a?d&&u(o.get("length")):(u(o.get(_e)),E.isMap(e)&&u(o.get(Ot)));break;case"delete":a||(u(o.get(_e)),E.isMap(e)&&u(o.get(Ot)));break;case"set":E.isMap(e)&&u(o.get(_e));break}}}kr();for(let a of l)a.trigger();jr()}function tl(e,t){var r;return(r=Ct.get(e))==null?void 0:r.get(t)}function De(e){let t=P(e);return t===e?t:(W(t,"iterate",Ke),se(e)?t:t.map(B))}function Nt(e){return W(e=P(e),"iterate",Ke),e}var rl={__proto__:null,[Symbol.iterator](){return Or(this,Symbol.iterator,B)},concat(...e){return De(this).concat(...e.map(t=>De(t)))},entries(){return Or(this,"entries",e=>(e[1]=B(e[1]),e))},every(e,t){return ce(this,"every",e,t,void 0,arguments)},filter(e,t){return ce(this,"filter",e,t,r=>r.map(B),arguments)},find(e,t){return ce(this,"find",e,t,B,arguments)},findIndex(e,t){return ce(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ce(this,"findLast",e,t,B,arguments)},findLastIndex(e,t){return ce(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ce(this,"forEach",e,t,void 0,arguments)},includes(...e){return Dr(this,"includes",e)},indexOf(...e){return Dr(this,"indexOf",e)},join(e){return De(this).join(e)},lastIndexOf(...e){return Dr(this,"lastIndexOf",e)},map(e,t){return ce(this,"map",e,t,void 0,arguments)},pop(){return ot(this,"pop")},push(...e){return ot(this,"push",e)},reduce(e,...t){return fs(this,"reduce",e,t)},reduceRight(e,...t){return fs(this,"reduceRight",e,t)},shift(){return ot(this,"shift")},some(e,t){return ce(this,"some",e,t,void 0,arguments)},splice(...e){return ot(this,"splice",e)},toReversed(){return De(this).toReversed()},toSorted(e){return De(this).toSorted(e)},toSpliced(...e){return De(this).toSpliced(...e)},unshift(...e){return ot(this,"unshift",e)},values(){return Or(this,"values",B)}};function Or(e,t,r){let n=Nt(e),s=n[t]();return n!==e&&!se(e)&&(s._next=s.next,s.next=()=>{let i=s._next();return i.value&&(i.value=r(i.value)),i}),s}var nl=Array.prototype;function ce(e,t,r,n,s,i){let o=Nt(e),l=o!==e&&!se(e),a=o[t];if(a!==nl[t]){let c=a.apply(e,i);return l?B(c):c}let d=r;o!==e&&(l?d=function(c,f){return r.call(this,B(c),f,e)}:r.length>2&&(d=function(c,f){return r.call(this,c,f,e)}));let u=a.call(o,d,n);return l&&s?s(u):u}function fs(e,t,r,n){let s=Nt(e),i=r;return s!==e&&(se(e)?r.length>3&&(i=function(o,l,a){return r.call(this,o,l,a,e)}):i=function(o,l,a){return r.call(this,o,B(l),a,e)}),s[t](i,...n)}function Dr(e,t,r){let n=P(e);W(n,"iterate",Ke);let s=n[t](...r);return(s===-1||s===!1)&&ws(r[0])?(r[0]=P(r[0]),n[t](...r)):s}function ot(e,t,r=[]){Ur(),kr();let n=P(e)[t].apply(e,r);return jr(),Br(),n}var sl=E.makeMap("__proto__,__v_isRef,__isVue"),bs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(E.isSymbol));function il(e){E.isSymbol(e)||(e=String(e));let t=P(this);return W(t,"has",e),t.hasOwnProperty(e)}var Dt=class{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,n){let s=this._isReadonly,i=this._isShallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return i;if(r==="__v_raw")return n===(s?i?xs:$s:i?Ts:Es).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;let o=E.isArray(t);if(!s){let a;if(o&&(a=rl[r]))return a;if(r==="hasOwnProperty")return il}let l=Reflect.get(t,r,Y(t)?t:n);return(E.isSymbol(r)?bs.has(r):sl(r))||(s||W(t,"get",r),i)?l:Y(l)?o&&E.isIntegerKey(r)?l:l.value:E.isObject(l)?s?Yr(l):zr(l):l}},It=class extends Dt{constructor(t=!1){super(!1,t)}set(t,r,n,s){let i=t[r];if(!this._isShallow){let a=be(i);if(!se(n)&&!be(n)&&(i=P(i),n=P(n)),!E.isArray(t)&&Y(i)&&!Y(n))return a?!1:(i.value=n,!0)}let o=E.isArray(t)&&E.isIntegerKey(r)?Number(r)<t.length:E.hasOwn(t,r),l=Reflect.set(t,r,n,Y(t)?t:s);return t===P(s)&&(o?E.hasChanged(n,i)&&fe(t,"set",r,n):fe(t,"add",r,n)),l}deleteProperty(t,r){let n=E.hasOwn(t,r);t[r];let s=Reflect.deleteProperty(t,r);return s&&n&&fe(t,"delete",r,void 0),s}has(t,r){let n=Reflect.has(t,r);return(!E.isSymbol(r)||!bs.has(r))&&W(t,"has",r),n}ownKeys(t){return W(t,"iterate",E.isArray(t)?"length":_e),Reflect.ownKeys(t)}},Pt=class extends Dt{constructor(t=!1){super(!0,t)}set(t,r){return!0}deleteProperty(t,r){return!0}},ol=new It,al=new Pt,ll=new It(!0),cl=new Pt(!0),Kr=e=>e,Lt=e=>Reflect.getPrototypeOf(e);function bt(e,t,r=!1,n=!1){e=e.__v_raw;let s=P(e),i=P(t);r||(E.hasChanged(t,i)&&W(s,"get",t),W(s,"get",i));let{has:o}=Lt(s),l=n?Kr:r?jt:B;if(o.call(s,t))return l(e.get(t));if(o.call(s,i))return l(e.get(i));e!==s&&e.get(t)}function Et(e,t=!1){let r=this.__v_raw,n=P(r),s=P(e);return t||(E.hasChanged(e,s)&&W(n,"has",e),W(n,"has",s)),e===s?r.has(e):r.has(e)||r.has(s)}function Tt(e,t=!1){return e=e.__v_raw,!t&&W(P(e),"iterate",_e),Reflect.get(e,"size",e)}function ps(e,t=!1){!t&&!se(e)&&!be(e)&&(e=P(e));let r=P(this);return Lt(r).has.call(r,e)||(r.add(e),fe(r,"add",e,e)),this}function ds(e,t,r=!1){!r&&!se(t)&&!be(t)&&(t=P(t));let n=P(this),{has:s,get:i}=Lt(n),o=s.call(n,e);o||(e=P(e),o=s.call(n,e));let l=i.call(n,e);return n.set(e,t),o?E.hasChanged(t,l)&&fe(n,"set",e,t):fe(n,"add",e,t),this}function hs(e){let t=P(this),{has:r,get:n}=Lt(t),s=r.call(t,e);s||(e=P(e),s=r.call(t,e)),n&&n.call(t,e);let i=t.delete(e);return s&&fe(t,"delete",e,void 0),i}function gs(){let e=P(this),t=e.size!==0,r=e.clear();return t&&fe(e,"clear",void 0,void 0),r}function $t(e,t){return function(n,s){let i=this,o=i.__v_raw,l=P(o),a=t?Kr:e?jt:B;return!e&&W(l,"iterate",_e),o.forEach((d,u)=>n.call(s,a(d),a(u),i))}}function xt(e,t,r){return function(...n){let s=this.__v_raw,i=P(s),o=E.isMap(i),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,d=s[e](...n),u=r?Kr:t?jt:B;return!t&&W(i,"iterate",a?Ot:_e),{next(){let{value:c,done:f}=d.next();return f?{value:c,done:f}:{value:l?[u(c[0]),u(c[1])]:u(c),done:f}},[Symbol.iterator](){return this}}}}function ve(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ul(){let e={get(i){return bt(this,i)},get size(){return Tt(this)},has:Et,add:ps,set:ds,delete:hs,clear:gs,forEach:$t(!1,!1)},t={get(i){return bt(this,i,!1,!0)},get size(){return Tt(this)},has:Et,add(i){return ps.call(this,i,!0)},set(i,o){return ds.call(this,i,o,!0)},delete:hs,clear:gs,forEach:$t(!1,!0)},r={get(i){return bt(this,i,!0)},get size(){return Tt(this,!0)},has(i){return Et.call(this,i,!0)},add:ve("add"),set:ve("set"),delete:ve("delete"),clear:ve("clear"),forEach:$t(!0,!1)},n={get(i){return bt(this,i,!0,!0)},get size(){return Tt(this,!0)},has(i){return Et.call(this,i,!0)},add:ve("add"),set:ve("set"),delete:ve("delete"),clear:ve("clear"),forEach:$t(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=xt(i,!1,!1),r[i]=xt(i,!0,!1),t[i]=xt(i,!1,!0),n[i]=xt(i,!0,!0)}),[e,r,t,n]}var[fl,pl,dl,hl]=ul();function Ft(e,t){let r=t?e?hl:dl:e?pl:fl;return(n,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(E.hasOwn(r,s)&&s in n?r:n,s,i)}var gl={get:Ft(!1,!1)},ml={get:Ft(!1,!0)},Rl={get:Ft(!0,!1)},yl={get:Ft(!0,!0)},Es=new WeakMap,Ts=new WeakMap,$s=new WeakMap,xs=new WeakMap;function vl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Sl(e){return e.__v_skip||!Object.isExtensible(e)?0:vl(E.toRawType(e))}function zr(e){return be(e)?e:kt(e,!1,ol,gl,Es)}function _l(e){return kt(e,!1,ll,ml,Ts)}function Yr(e){return kt(e,!0,al,Rl,$s)}function bl(e){return kt(e,!0,cl,yl,xs)}function kt(e,t,r,n,s){if(!E.isObject(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let i=s.get(e);if(i)return i;let o=Sl(e);if(o===0)return e;let l=new Proxy(e,o===2?n:r);return s.set(e,l),l}function Ue(e){return be(e)?Ue(e.__v_raw):!!(e&&e.__v_isReactive)}function be(e){return!!(e&&e.__v_isReadonly)}function se(e){return!!(e&&e.__v_isShallow)}function ws(e){return e?!!e.__v_raw:!1}function P(e){let t=e&&e.__v_raw;return t?P(t):e}function El(e){return Object.isExtensible(e)&&E.def(e,"__v_skip",!0),e}var B=e=>E.isObject(e)?zr(e):e,jt=e=>E.isObject(e)?Yr(e):e;function Y(e){return e?e.__v_isRef===!0:!1}function As(e){return Cs(e,!1)}function Tl(e){return Cs(e,!0)}function Cs(e,t){return Y(e)?e:new Pr(e,t)}var Pr=class{constructor(t,r){this.dep=new Be,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?t:P(t),this._value=r?t:B(t),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(t){let r=this._rawValue,n=this.__v_isShallow||se(t)||be(t);t=n?t:P(t),E.hasChanged(t,r)&&(this._rawValue=t,this._value=n?t:B(t),this.dep.trigger())}};function $l(e){e.dep.trigger()}function Wr(e){return Y(e)?e.value:e}function xl(e){return E.isFunction(e)?e():Wr(e)}var wl={get:(e,t,r)=>Wr(Reflect.get(e,t,r)),set:(e,t,r,n)=>{let s=e[t];return Y(s)&&!Y(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function Al(e){return Ue(e)?e:new Proxy(e,wl)}var Mr=class{constructor(t){this.__v_isRef=!0,this._value=void 0;let r=this.dep=new Be,{get:n,set:s}=t(r.track.bind(r),r.trigger.bind(r));this._get=n,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}};function Cl(e){return new Mr(e)}function Ol(e){let t=E.isArray(e)?new Array(e.length):{};for(let r in e)t[r]=Os(e,r);return t}var Nr=class{constructor(t,r,n){this._object=t,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){let t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return tl(P(this._object),this._key)}},Lr=class{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function Dl(e,t,r){return Y(e)?e:E.isFunction(e)?new Lr(e):E.isObject(e)&&arguments.length>1?Os(e,t,r):As(e)}function Os(e,t,r){let n=e[t];return Y(n)?n:new Nr(e,t,r)}var Fr=class{constructor(t,r,n){this.fn=t,this.setter=r,this._value=void 0,this.dep=new Be(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=lt-1,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){M!==this&&(this.flags|=16,this.dep.notify())}get value(){let t=this.dep.track();return Ss(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}};function Il(e,t,r=!1){let n,s;return E.isFunction(e)?n=e:(n=e.get,s=e.set),new Fr(n,s,r)}var Pl={GET:"get",HAS:"has",ITERATE:"iterate"},Ml={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},Nl={SKIP:"__v_skip",IS_REACTIVE:"__v_isReactive",IS_READONLY:"__v_isReadonly",IS_SHALLOW:"__v_isShallow",RAW:"__v_raw",IS_REF:"__v_isRef"},Ll={WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP"},wt={},Mt=new WeakMap,Se;function Fl(){return Se}function Ds(e,t=!1,r=Se){if(r){let n=Mt.get(r);n||Mt.set(r,n=[]),n.push(e)}}function kl(e,t,r=E.EMPTY_OBJ){let{immediate:n,deep:s,once:i,scheduler:o,augmentJob:l,call:a}=r,d=p=>s?p:se(p)||s===!1||s===0?ue(p,1):ue(p),u,c,f,S,O=!1,k=!1;if(Y(e)?(c=()=>e.value,O=se(e)):Ue(e)?(c=()=>d(e),O=!0):E.isArray(e)?(k=!0,O=e.some(p=>Ue(p)||se(p)),c=()=>e.map(p=>{if(Y(p))return p.value;if(Ue(p))return d(p);if(E.isFunction(p))return a?a(p,2):p()})):E.isFunction(e)?t?c=a?()=>a(e,2):e:c=()=>{if(f){Ur();try{f()}finally{Br()}}let p=Se;Se=u;try{return a?a(e,3,[S]):e(S)}finally{Se=p}}:c=E.NOOP,t&&s){let p=c,h=s===!0?1/0:s;c=()=>ue(p(),h)}let F=ms(),b=()=>{u.stop(),F&&E.remove(F.effects,u)};if(i)if(t){let p=t;t=(...h)=>{p(...h),b()}}else{let p=c;c=()=>{p(),b()}}let _=k?new Array(e.length).fill(wt):wt,y=p=>{if(!(!(u.flags&1)||!u.dirty&&!p))if(t){let h=u.run();if(s||O||(k?h.some((R,x)=>E.hasChanged(R,_[x])):E.hasChanged(h,_))){f&&f();let R=Se;Se=u;try{let x=[h,_===wt?void 0:k&&_[0]===wt?[]:_,S];a?a(t,3,x):t(...x),_=h}finally{Se=R}}}else u.run()};return l&&l(y),u=new Ie(c),u.scheduler=o?()=>o(y,!1):y,S=p=>Ds(p,!1,u),f=u.onStop=()=>{let p=Mt.get(u);if(p){if(a)a(p,4);else for(let h of p)h();Mt.delete(u)}},t?n?y(!0):_=u.run():o?o(y.bind(null,!0),!0):u.run(),b.pause=u.pause.bind(u),b.resume=u.resume.bind(u),b.stop=b,b}function ue(e,t=1/0,r){if(t<=0||!E.isObject(e)||e.__v_skip||(r=r||new Set,r.has(e)))return e;if(r.add(e),t--,Y(e))ue(e.value,t,r);else if(E.isArray(e))for(let n=0;n<e.length;n++)ue(e[n],t,r);else if(E.isSet(e)||E.isMap(e))e.forEach(n=>{ue(n,t,r)});else if(E.isPlainObject(e)){for(let n in e)ue(e[n],t,r);for(let n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ue(e[n],t,r)}return e}T.ARRAY_ITERATE_KEY=Ke;T.EffectFlags=qa;T.EffectScope=At;T.ITERATE_KEY=_e;T.MAP_KEY_ITERATE_KEY=Ot;T.ReactiveEffect=Ie;T.ReactiveFlags=Nl;T.TrackOpTypes=Pl;T.TriggerOpTypes=Ml;T.WatchErrorCodes=Ll;T.computed=Il;T.customRef=Cl;T.effect=Ja;T.effectScope=Wa;T.enableTracking=Qa;T.getCurrentScope=ms;T.getCurrentWatcher=Fl;T.isProxy=ws;T.isReactive=Ue;T.isReadonly=be;T.isRef=Y;T.isShallow=se;T.markRaw=El;T.onEffectCleanup=el;T.onScopeDispose=Ga;T.onWatcherCleanup=Ds;T.pauseTracking=Ur;T.proxyRefs=Al;T.reactive=zr;T.reactiveReadArray=De;T.readonly=Yr;T.ref=As;T.resetTracking=Br;T.shallowReactive=_l;T.shallowReadArray=Nt;T.shallowReadonly=bl;T.shallowRef=Tl;T.stop=Za;T.toRaw=P;T.toReactive=B;T.toReadonly=jt;T.toRef=Dl;T.toRefs=Ol;T.toValue=xl;T.track=W;T.traverse=ue;T.trigger=fe;T.triggerRef=$l;T.unref=Wr;T.watch=kl});var ti=je($=>{"use strict";Object.defineProperty($,"__esModule",{value:!0});var v=Ar();function ee(e,...t){console.warn(`[Vue warn] ${e}`,...t)}var G,Yt=class{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=G,!t&&G&&(this.index=(G.scopes||(G.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t<r;t++)this.scopes[t].pause();for(t=0,r=this.effects.length;t<r;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,r;if(this.scopes)for(t=0,r=this.scopes.length;t<r;t++)this.scopes[t].resume();for(t=0,r=this.effects.length;t<r;t++)this.effects[t].resume()}}run(t){if(this._active){let r=G;try{return G=this,t()}finally{G=r}}else ee("cannot run an inactive effect scope.")}on(){G=this}off(){G=this.parent}stop(t){if(this._active){let r,n;for(r=0,n=this.effects.length;r<n;r++)this.effects[r].stop();for(r=0,n=this.cleanups.length;r<n;r++)this.cleanups[r]();if(this.scopes)for(r=0,n=this.scopes.length;r<n;r++)this.scopes[r].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 jl(e){return new Yt(e)}function js(){return G}function Vl(e,t=!1){G?G.cleanups.push(e):t||ee("onScopeDispose() is called when there is no active effect scope to be associated with.")}var A,Hl={ACTIVE:1,1:"ACTIVE",RUNNING:2,2:"RUNNING",TRACKING:4,4:"TRACKING",NOTIFIED:8,8:"NOTIFIED",DIRTY:16,16:"DIRTY",ALLOW_RECURSE:32,32:"ALLOW_RECURSE",PAUSED:64,64:"PAUSED"},Gr=new WeakSet,Me=class{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.nextEffect=void 0,this.cleanup=void 0,this.scheduler=void 0,G&&G.active&&G.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Gr.has(this)&&(Gr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||(this.flags|=8,this.nextEffect=ut,ut=this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ps(this),Hs(this);let t=A,r=Q;A=this,Q=!0;try{return this.fn()}finally{A!==this&&ee("Active effect was not restored correctly - this is likely a Vue internal bug."),Us(this),A=t,Q=r,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)on(t);this.deps=this.depsTail=void 0,Ps(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Gr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Jr(this)&&this.run()}get dirty(){return Jr(this)}},Vs=0,ut;function nn(){Vs++}function sn(){if(--Vs>0)return;let e;for(;ut;){let t=ut;for(ut=void 0;t;){let r=t.nextEffect;if(t.nextEffect=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=r}}if(e)throw e}function Hs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Us(e){let t,r=e.depsTail;for(let n=r;n;n=n.prevDep)n.version===-1?(n===r&&(r=n.prevDep),on(n),Ul(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0;e.deps=t,e.depsTail=r}function Jr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&Bs(t.dep.computed)===!1||t.dep.version!==t.version)return!0;return!!e._dirty}function Bs(e){if(e.flags&2)return!1;if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ft))return;e.globalVersion=ft;let t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&!Jr(e)){e.flags&=-3;return}let r=A,n=Q;A=e,Q=!0;try{Hs(e);let s=e.fn();(t.version===0||v.hasChanged(s,e._value))&&(e._value=s,t.version++)}catch(s){throw t.version++,s}finally{A=r,Q=n,Us(e),e.flags&=-3}}function on(e){let{dep:t,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),t.subs===e&&(t.subs=r),!t.subs&&t.computed){t.computed.flags&=-5;for(let s=t.computed.deps;s;s=s.nextDep)on(s)}}function Ul(e){let{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}function Bl(e,t){e.effect instanceof Me&&(e=e.effect.fn);let r=new Me(e);t&&v.extend(r,t);try{r.run()}catch(s){throw r.stop(),s}let n=r.run.bind(r);return n.effect=r,n}function Kl(e){e.effect.stop()}var Q=!0,an=[];function ln(){an.push(Q),Q=!1}function zl(){an.push(Q),Q=!0}function cn(){let e=an.pop();Q=e===void 0?!0:e}function Yl(e,t=!1){A instanceof Me?A.cleanup=e:t||ee("onEffectCleanup() was called when there was no active effect to associate with.")}function Ps(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let r=A;A=void 0;try{t()}finally{A=r}}}var ft=0,Ye=class{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.subsHead=void 0}track(t){if(!A||!Q)return;let r=this.activeLink;if(r===void 0||r.sub!==A)r=this.activeLink={dep:this,sub:A,version:this.version,nextDep:void 0,prevDep:void 0,nextSub:void 0,prevSub:void 0,prevActiveLink:void 0},A.deps?(r.prevDep=A.depsTail,A.depsTail.nextDep=r,A.depsTail=r):A.deps=A.depsTail=r,A.flags&4&&Ks(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){let n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=A.depsTail,r.nextDep=void 0,A.depsTail.nextDep=r,A.depsTail=r,A.deps===r&&(A.deps=n)}return A.onTrack&&A.onTrack(v.extend({effect:A},t)),r}trigger(t){this.version++,ft++,this.notify(t)}notify(t){nn();try{for(let r=this.subsHead;r;r=r.nextSub)r.sub.onTrigger&&!(r.sub.flags&8)&&r.sub.onTrigger(v.extend({effect:r.sub},t));for(let r=this.subs;r;r=r.prevSub)r.sub.notify()}finally{sn()}}};function Ks(e){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ks(n)}let r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}var Wt=new WeakMap,$e=Symbol("Object iterate"),Gt=Symbol("Map keys iterate"),We=Symbol("Array iterate");function X(e,t,r){if(Q&&A){let n=Wt.get(e);n||Wt.set(e,n=new Map);let s=n.get(r);s||n.set(r,s=new Ye),s.track({target:e,type:t,key:r})}}function he(e,t,r,n,s,i){let o=Wt.get(e);if(!o){ft++;return}let l=[];if(t==="clear")l=[...o.values()];else{let a=v.isArray(e),d=a&&v.isIntegerKey(r);if(a&&r==="length"){let u=Number(n);o.forEach((c,f)=>{(f==="length"||f===We||!v.isSymbol(f)&&f>=u)&&l.push(c)})}else{let u=c=>c&&l.push(c);switch(r!==void 0&&u(o.get(r)),d&&u(o.get(We)),t){case"add":a?d&&u(o.get("length")):(u(o.get($e)),v.isMap(e)&&u(o.get(Gt)));break;case"delete":a||(u(o.get($e)),v.isMap(e)&&u(o.get(Gt)));break;case"set":v.isMap(e)&&u(o.get($e));break}}}nn();for(let a of l)a.trigger({target:e,type:t,key:r,newValue:n,oldValue:s,oldTarget:i});sn()}function Wl(e,t){var r;return(r=Wt.get(e))==null?void 0:r.get(t)}function Pe(e){let t=C(e);return t===e?t:(X(t,"iterate",We),ie(e)?t:t.map(K))}function Qt(e){return X(e=C(e),"iterate",We),e}var Gl={__proto__:null,[Symbol.iterator](){return qr(this,Symbol.iterator,K)},concat(...e){return Pe(this).concat(...e.map(t=>Pe(t)))},entries(){return qr(this,"entries",e=>(e[1]=K(e[1]),e))},every(e,t){return pe(this,"every",e,t,void 0,arguments)},filter(e,t){return pe(this,"filter",e,t,r=>r.map(K),arguments)},find(e,t){return pe(this,"find",e,t,K,arguments)},findIndex(e,t){return pe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return pe(this,"findLast",e,t,K,arguments)},findLastIndex(e,t){return pe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return pe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Xr(this,"includes",e)},indexOf(...e){return Xr(this,"indexOf",e)},join(e){return Pe(this).join(e)},lastIndexOf(...e){return Xr(this,"lastIndexOf",e)},map(e,t){return pe(this,"map",e,t,void 0,arguments)},pop(){return ct(this,"pop")},push(...e){return ct(this,"push",e)},reduce(e,...t){return Ms(this,"reduce",e,t)},reduceRight(e,...t){return Ms(this,"reduceRight",e,t)},shift(){return ct(this,"shift")},some(e,t){return pe(this,"some",e,t,void 0,arguments)},splice(...e){return ct(this,"splice",e)},toReversed(){return Pe(this).toReversed()},toSorted(e){return Pe(this).toSorted(e)},toSpliced(...e){return Pe(this).toSpliced(...e)},unshift(...e){return ct(this,"unshift",e)},values(){return qr(this,"values",K)}};function qr(e,t,r){let n=Qt(e),s=n[t]();return n!==e&&!ie(e)&&(s._next=s.next,s.next=()=>{let i=s._next();return i.value&&(i.value=r(i.value)),i}),s}var ql=Array.prototype;function pe(e,t,r,n,s,i){let o=Qt(e),l=o!==e&&!ie(e),a=o[t];if(a!==ql[t]){let c=a.apply(e,i);return l?K(c):c}let d=r;o!==e&&(l?d=function(c,f){return r.call(this,K(c),f,e)}:r.length>2&&(d=function(c,f){return r.call(this,c,f,e)}));let u=a.call(o,d,n);return l&&s?s(u):u}function Ms(e,t,r,n){let s=Qt(e),i=r;return s!==e&&(ie(e)?r.length>3&&(i=function(o,l,a){return r.call(this,o,l,a,e)}):i=function(o,l,a){return r.call(this,o,K(l),a,e)}),s[t](i,...n)}function Xr(e,t,r){let n=C(e);X(n,"iterate",We);let s=n[t](...r);return(s===-1||s===!1)&&dn(r[0])?(r[0]=C(r[0]),n[t](...r)):s}function ct(e,t,r=[]){ln(),nn();let n=C(e)[t].apply(e,r);return sn(),cn(),n}var Xl=v.makeMap("__proto__,__v_isRef,__isVue"),zs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(v.isSymbol));function Jl(e){v.isSymbol(e)||(e=String(e));let t=C(this);return X(t,"has",e),t.hasOwnProperty(e)}var qt=class{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,n){let s=this._isReadonly,i=this._isShallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return i;if(r==="__v_raw")return n===(s?i?Xs:qs:i?Gs:Ws).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;let o=v.isArray(t);if(!s){let a;if(o&&(a=Gl[r]))return a;if(r==="hasOwnProperty")return Jl}let l=Reflect.get(t,r,q(t)?t:n);return(v.isSymbol(r)?zs.has(r):Xl(r))||(s||X(t,"get",r),i)?l:q(l)?o&&v.isIntegerKey(r)?l:l.value:v.isObject(l)?s?pn(l):fn(l):l}},Xt=class extends qt{constructor(t=!1){super(!1,t)}set(t,r,n,s){let i=t[r];if(!this._isShallow){let a=xe(i);if(!ie(n)&&!xe(n)&&(i=C(i),n=C(n)),!v.isArray(t)&&q(i)&&!q(n))return a?!1:(i.value=n,!0)}let o=v.isArray(t)&&v.isIntegerKey(r)?Number(r)<t.length:v.hasOwn(t,r),l=Reflect.set(t,r,n,q(t)?t:s);return t===C(s)&&(o?v.hasChanged(n,i)&&he(t,"set",r,n,i):he(t,"add",r,n)),l}deleteProperty(t,r){let n=v.hasOwn(t,r),s=t[r],i=Reflect.deleteProperty(t,r);return i&&n&&he(t,"delete",r,void 0,s),i}has(t,r){let n=Reflect.has(t,r);return(!v.isSymbol(r)||!zs.has(r))&&X(t,"has",r),n}ownKeys(t){return X(t,"iterate",v.isArray(t)?"length":$e),Reflect.ownKeys(t)}},Jt=class extends qt{constructor(t=!1){super(!0,t)}set(t,r){return ee(`Set operation on key "${String(r)}" failed: target is readonly.`,t),!0}deleteProperty(t,r){return ee(`Delete operation on key "${String(r)}" failed: target is readonly.`,t),!0}},Zl=new Xt,Ql=new Jt,ec=new Xt(!0),tc=new Jt(!0),un=e=>e,er=e=>Reflect.getPrototypeOf(e);function Vt(e,t,r=!1,n=!1){e=e.__v_raw;let s=C(e),i=C(t);r||(v.hasChanged(t,i)&&X(s,"get",t),X(s,"get",i));let{has:o}=er(s),l=n?un:r?nr:K;if(o.call(s,t))return l(e.get(t));if(o.call(s,i))return l(e.get(i));e!==s&&e.get(t)}function Ht(e,t=!1){let r=this.__v_raw,n=C(r),s=C(e);return t||(v.hasChanged(e,s)&&X(n,"has",e),X(n,"has",s)),e===s?r.has(e):r.has(e)||r.has(s)}function Ut(e,t=!1){return e=e.__v_raw,!t&&X(C(e),"iterate",$e),Reflect.get(e,"size",e)}function Ns(e,t=!1){!t&&!ie(e)&&!xe(e)&&(e=C(e));let r=C(this);return er(r).has.call(r,e)||(r.add(e),he(r,"add",e,e)),this}function Ls(e,t,r=!1){!r&&!ie(t)&&!xe(t)&&(t=C(t));let n=C(this),{has:s,get:i}=er(n),o=s.call(n,e);o?Ys(n,s,e):(e=C(e),o=s.call(n,e));let l=i.call(n,e);return n.set(e,t),o?v.hasChanged(t,l)&&he(n,"set",e,t,l):he(n,"add",e,t),this}function Fs(e){let t=C(this),{has:r,get:n}=er(t),s=r.call(t,e);s?Ys(t,r,e):(e=C(e),s=r.call(t,e));let i=n?n.call(t,e):void 0,o=t.delete(e);return s&&he(t,"delete",e,void 0,i),o}function ks(){let e=C(this),t=e.size!==0,r=v.isMap(e)?new Map(e):new Set(e),n=e.clear();return t&&he(e,"clear",void 0,void 0,r),n}function Bt(e,t){return function(n,s){let i=this,o=i.__v_raw,l=C(o),a=t?un:e?nr:K;return!e&&X(l,"iterate",$e),o.forEach((d,u)=>n.call(s,a(d),a(u),i))}}function Kt(e,t,r){return function(...n){let s=this.__v_raw,i=C(s),o=v.isMap(i),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,d=s[e](...n),u=r?un:t?nr:K;return!t&&X(i,"iterate",a?Gt:$e),{next(){let{value:c,done:f}=d.next();return f?{value:c,done:f}:{value:l?[u(c[0]),u(c[1])]:u(c),done:f}},[Symbol.iterator](){return this}}}}function Ee(e){return function(...t){{let r=t[0]?`on key "${t[0]}" `:"";ee(`${v.capitalize(e)} operation ${r}failed: target is readonly.`,C(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function rc(){let e={get(i){return Vt(this,i)},get size(){return Ut(this)},has:Ht,add:Ns,set:Ls,delete:Fs,clear:ks,forEach:Bt(!1,!1)},t={get(i){return Vt(this,i,!1,!0)},get size(){return Ut(this)},has:Ht,add(i){return Ns.call(this,i,!0)},set(i,o){return Ls.call(this,i,o,!0)},delete:Fs,clear:ks,forEach:Bt(!1,!0)},r={get(i){return Vt(this,i,!0)},get size(){return Ut(this,!0)},has(i){return Ht.call(this,i,!0)},add:Ee("add"),set:Ee("set"),delete:Ee("delete"),clear:Ee("clear"),forEach:Bt(!0,!1)},n={get(i){return Vt(this,i,!0,!0)},get size(){return Ut(this,!0)},has(i){return Ht.call(this,i,!0)},add:Ee("add"),set:Ee("set"),delete:Ee("delete"),clear:Ee("clear"),forEach:Bt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Kt(i,!1,!1),r[i]=Kt(i,!0,!1),t[i]=Kt(i,!1,!0),n[i]=Kt(i,!0,!0)}),[e,r,t,n]}var[nc,sc,ic,oc]=rc();function tr(e,t){let r=t?e?oc:ic:e?sc:nc;return(n,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(v.hasOwn(r,s)&&s in n?r:n,s,i)}var ac={get:tr(!1,!1)},lc={get:tr(!1,!0)},cc={get:tr(!0,!1)},uc={get:tr(!0,!0)};function Ys(e,t,r){let n=C(r);if(n!==r&&t.call(e,n)){let s=v.toRawType(e);ee(`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 Ws=new WeakMap,Gs=new WeakMap,qs=new WeakMap,Xs=new WeakMap;function fc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pc(e){return e.__v_skip||!Object.isExtensible(e)?0:fc(v.toRawType(e))}function fn(e){return xe(e)?e:rr(e,!1,Zl,ac,Ws)}function dc(e){return rr(e,!1,ec,lc,Gs)}function pn(e){return rr(e,!0,Ql,cc,qs)}function hc(e){return rr(e,!0,tc,uc,Xs)}function rr(e,t,r,n,s){if(!v.isObject(e))return ee(`value cannot be made ${t?"readonly":"reactive"}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;let i=s.get(e);if(i)return i;let o=pc(e);if(o===0)return e;let l=new Proxy(e,o===2?n:r);return s.set(e,l),l}function ze(e){return xe(e)?ze(e.__v_raw):!!(e&&e.__v_isReactive)}function xe(e){return!!(e&&e.__v_isReadonly)}function ie(e){return!!(e&&e.__v_isShallow)}function dn(e){return e?!!e.__v_raw:!1}function C(e){let t=e&&e.__v_raw;return t?C(t):e}function gc(e){return Object.isExtensible(e)&&v.def(e,"__v_skip",!0),e}var K=e=>v.isObject(e)?fn(e):e,nr=e=>v.isObject(e)?pn(e):e;function q(e){return e?e.__v_isRef===!0:!1}function Js(e){return Zs(e,!1)}function mc(e){return Zs(e,!0)}function Zs(e,t){return q(e)?e:new Zr(e,t)}var Zr=class{constructor(t,r){this.dep=new Ye,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?t:C(t),this._value=r?t:K(t),this.__v_isShallow=r}get value(){return this.dep.track({target:this,type:"get",key:"value"}),this._value}set value(t){let r=this._rawValue,n=this.__v_isShallow||ie(t)||xe(t);t=n?t:C(t),v.hasChanged(t,r)&&(this._rawValue=t,this._value=n?t:K(t),this.dep.trigger({target:this,type:"set",key:"value",newValue:t,oldValue:r}))}};function Rc(e){e.dep.trigger({target:e,type:"set",key:"value",newValue:e._value})}function hn(e){return q(e)?e.value:e}function yc(e){return v.isFunction(e)?e():hn(e)}var vc={get:(e,t,r)=>hn(Reflect.get(e,t,r)),set:(e,t,r,n)=>{let s=e[t];return q(s)&&!q(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function Sc(e){return ze(e)?e:new Proxy(e,vc)}var Qr=class{constructor(t){this.__v_isRef=!0,this._value=void 0;let r=this.dep=new Ye,{get:n,set:s}=t(r.track.bind(r),r.trigger.bind(r));this._get=n,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}};function _c(e){return new Qr(e)}function bc(e){dn(e)||ee("toRefs() expects a reactive object but received a plain one.");let t=v.isArray(e)?new Array(e.length):{};for(let r in e)t[r]=Qs(e,r);return t}var en=class{constructor(t,r,n){this._object=t,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){let t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Wl(C(this._object),this._key)}},tn=class{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function Ec(e,t,r){return q(e)?e:v.isFunction(e)?new tn(e):v.isObject(e)&&arguments.length>1?Qs(e,t,r):Js(e)}function Qs(e,t,r){let n=e[t];return q(n)?n:new en(e,t,r)}var rn=class{constructor(t,r,n){this.fn=t,this.setter=r,this._value=void 0,this.dep=new Ye(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ft-1,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){A!==this&&(this.flags|=16,this.dep.notify())}get value(){let t=this.dep.track({target:this,type:"get",key:"value"});return Bs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter?this.setter(t):ee("Write operation failed: computed value is readonly")}};function Tc(e,t,r=!1){let n,s;v.isFunction(e)?n=e:(n=e.get,s=e.set);let i=new rn(n,s,r);return t&&!r&&(i.onTrack=t.onTrack,i.onTrigger=t.onTrigger),i}var $c={GET:"get",HAS:"has",ITERATE:"iterate"},xc={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},wc={SKIP:"__v_skip",IS_REACTIVE:"__v_isReactive",IS_READONLY:"__v_isReadonly",IS_SHALLOW:"__v_isShallow",RAW:"__v_raw",IS_REF:"__v_isRef"},Ac={WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP"},zt={},Zt=new WeakMap,Te;function Cc(){return Te}function ei(e,t=!1,r=Te){if(r){let n=Zt.get(r);n||Zt.set(r,n=[]),n.push(e)}else t||ee("onWatcherCleanup() was called when there was no active watcher to associate with.")}function Oc(e,t,r=v.EMPTY_OBJ){let{immediate:n,deep:s,once:i,scheduler:o,augmentJob:l,call:a}=r,d=h=>{(r.onWarn||ee)("Invalid watch source: ",h,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},u=h=>s?h:ie(h)||s===!1||s===0?de(h,1):de(h),c,f,S,O,k=!1,F=!1;if(q(e)?(f=()=>e.value,k=ie(e)):ze(e)?(f=()=>u(e),k=!0):v.isArray(e)?(F=!0,k=e.some(h=>ze(h)||ie(h)),f=()=>e.map(h=>{if(q(h))return h.value;if(ze(h))return u(h);if(v.isFunction(h))return a?a(h,2):h();d(h)})):v.isFunction(e)?t?f=a?()=>a(e,2):e:f=()=>{if(S){ln();try{S()}finally{cn()}}let h=Te;Te=c;try{return a?a(e,3,[O]):e(O)}finally{Te=h}}:(f=v.NOOP,d(e)),t&&s){let h=f,R=s===!0?1/0:s;f=()=>de(h(),R)}let b=js(),_=()=>{c.stop(),b&&v.remove(b.effects,c)};if(i)if(t){let h=t;t=(...R)=>{h(...R),_()}}else{let h=f;f=()=>{h(),_()}}let y=F?new Array(e.length).fill(zt):zt,p=h=>{if(!(!(c.flags&1)||!c.dirty&&!h))if(t){let R=c.run();if(s||k||(F?R.some((x,N)=>v.hasChanged(x,y[N])):v.hasChanged(R,y))){S&&S();let x=Te;Te=c;try{let N=[R,y===zt?void 0:F&&y[0]===zt?[]:y,O];a?a(t,3,N):t(...N),y=R}finally{Te=x}}}else c.run()};return l&&l(p),c=new Me(f),c.scheduler=o?()=>o(p,!1):p,O=h=>ei(h,!1,c),S=c.onStop=()=>{let h=Zt.get(c);if(h){if(a)a(h,4);else for(let R of h)R();Zt.delete(c)}},c.onTrack=r.onTrack,c.onTrigger=r.onTrigger,t?n?p(!0):y=c.run():o?o(p.bind(null,!0),!0):c.run(),_.pause=c.pause.bind(c),_.resume=c.resume.bind(c),_.stop=_,_}function de(e,t=1/0,r){if(t<=0||!v.isObject(e)||e.__v_skip||(r=r||new Set,r.has(e)))return e;if(r.add(e),t--,q(e))de(e.value,t,r);else if(v.isArray(e))for(let n=0;n<e.length;n++)de(e[n],t,r);else if(v.isSet(e)||v.isMap(e))e.forEach(n=>{de(n,t,r)});else if(v.isPlainObject(e)){for(let n in e)de(e[n],t,r);for(let n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&de(e[n],t,r)}return e}$.ARRAY_ITERATE_KEY=We;$.EffectFlags=Hl;$.EffectScope=Yt;$.ITERATE_KEY=$e;$.MAP_KEY_ITERATE_KEY=Gt;$.ReactiveEffect=Me;$.ReactiveFlags=wc;$.TrackOpTypes=$c;$.TriggerOpTypes=xc;$.WatchErrorCodes=Ac;$.computed=Tc;$.customRef=_c;$.effect=Bl;$.effectScope=jl;$.enableTracking=zl;$.getCurrentScope=js;$.getCurrentWatcher=Cc;$.isProxy=dn;$.isReactive=ze;$.isReadonly=xe;$.isRef=q;$.isShallow=ie;$.markRaw=gc;$.onEffectCleanup=Yl;$.onScopeDispose=Vl;$.onWatcherCleanup=ei;$.pauseTracking=ln;$.proxyRefs=Sc;$.reactive=fn;$.reactiveReadArray=Pe;$.readonly=pn;$.ref=Js;$.resetTracking=cn;$.shallowReactive=dc;$.shallowReadArray=Qt;$.shallowReadonly=hc;$.shallowRef=mc;$.stop=Kl;$.toRaw=C;$.toReactive=K;$.toReadonly=nr;$.toRef=Ec;$.toRefs=bc;$.toValue=yc;$.track=X;$.traverse=de;$.trigger=he;$.triggerRef=Rc;$.unref=hn;$.watch=Oc});var ri=je((qu,gn)=>{"use strict";process.env.NODE_ENV==="production"?gn.exports=Is():gn.exports=ti()});import{isRef as yi,toRef as vi,unref as Si}from"vue";function J(e){return e.map(t=>t instanceof Function?t():Si(t))}function $n(e){return e.map(t=>t instanceof Function||yi(t)?t:vi(()=>t))}function xn(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 ar(e,...t){let{message:r,validator:n,active:s,...i}=e,o=n.constructor.name==="AsyncFunction";return{...{validator(d,...u){return e.validator(d,...J(u.length?u:t))},message(d,u){return typeof e.message=="function"?e.message(d,{...u,$params:J(u.$params?.length?u.$params:t)}):e.message},active(d,u){return typeof e.active=="function"?e.active(d,{...u,$params:J(u.$params?.length?u.$params:t)}):e.active??!0},exec(d){let u=e.validator(d,...J(t)),c;return u instanceof Promise?u.then(f=>(c=f,typeof c=="object"&&"$valid"in c?c.$valid:typeof c=="boolean"?c:!1)):(c=u,typeof c=="object"&&"$valid"in c?c.$valid:typeof c=="boolean"?c:!1)}},...i,_validator:e.validator,_message:e.message,_active:e.active,_type:e.type,_patched:!1,_async:o,_params:$n(t)}}function lr(e){if(typeof e.validator=="function"){let r=ar(e,...[]),n=e.validator.constructor.name==="AsyncFunction";if(xn(e.validator)>1){let s=function(...i){return ar(e,...i)};return s.validator=r.validator,s.message=r.message,s.active=r.active,s.type=r.type,s.exec=r.exec,s._validator=r.validator,s._message=r.message,s._active=r.active,s._type=e.type,s._patched=!1,s._async=n,s}else return r}throw new Error("Validator must be a function")}function cr(e){return e}import{computed as li,isRef as Xe,ref as Xc,toRaw as Jc}from"vue";function te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wn(e){return te(e.value)}function An(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 pu,getCurrentScope as du,onScopeDispose as hu}from"vue";function ur(e,t,r){let n,s=(...i)=>new Promise(o=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,r||Promise.resolve(e.apply(this,[...i])).then(o)},t),r&&!n&&Promise.resolve(e.apply(this,[...i])).then(o)});return s.cancel=()=>{clearTimeout(n),n=void 0},s.doImmediately=(...i)=>new Promise(o=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...i])).then(o)},0)}),s}import{computed as Wc,reactive as Gc,unref as qc}from"vue";import{onScopeDispose as _i,ref as Ve,shallowRef as He}from"vue";function fr(){let e=He(new Map),t=He(new Map),r=He(new Map),n=He(new Map),s=He(new Map),i=He(new Map);function o(b){let _=t.value.get(b);if(_)return _;{let y=Ve({});return t.value.set(b,y),y}}function l(b){let _=r.value.get(b);if(_)return _;{let y=Ve([]);return r.value.set(b,y),y}}function a(b,_,y){i.value.set(`${b}-${_}`,y)}function d(b,_){return i.value.get(`${b}-${_}`)}function u(b,_){b&&_!=null&&i.value.delete(`${b}-${_}`)}function c(b,_){n.value.set(b,_)}function f(b){return n.value.get(b)??!1}function S(b,_){e.value.set(b,_)}function O(b,_){let y=e.value.get(b);return y?k(_,y)?{valid:!0}:{valid:!1}:void 0}function k(b,_){let y=Object.keys(_),p=Object.keys(b);return p.length!==y.length||!p.every(R=>y.includes(R))?!1:p.every(R=>{let x=b[R],N=_[R];return!N||!x||typeof x=="function"||typeof N=="function"||typeof x=="number"||typeof x=="boolean"?!1:x._params?x._params?.every((j,D)=>{if(typeof N=="number"||typeof N=="boolean")return!0;{let I=J(N._params),oe=J(x._params);return I?.[D]===oe?.[D]}}):!0})}function F(b){let _=s.value.get(b);if(_)return _;{let y=Ve(!1),p=Ve(!0),h=Ve({}),R=Ve(!1);return s.value.set(b,{$pending:y,$valid:p,$metadata:h,$validating:R}),{$pending:y,$valid:p,$metadata:h,$validating:R}}}return _i(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),s.value.clear(),i.value.clear()}),{addRuleDeclEntry:S,setDirtyEntry:c,checkRuleDeclEntry:O,getDirtyState:f,trySetRuleStatusRef:F,getFieldsEntry:o,getCollectionsEntry:l,getArrayStatus:d,addArrayStatus:a,deleteArrayStatus:u,arrayStatusStorage:i}}import{computed as bi}from"vue";function Cn(e,t){return te(e.value)&&te(t.value)&&!Object.entries(t.value).some(r=>pr(r))}function On(e){return!!e.value&&"$each"in e.value}function Dn(e){return!!e.value&&te(e.value)}function pr(e){return te(e)&&"_validator"in e}function Ze(e){return typeof e.value!="function"}function Qe(e){return te(e)&&"$fields"in e}function et(e){return!!e&&"$each"in e}function tt(e){return!!e&&"$rules"in e}function dr(e){return"$each"in e||"$errors"in e}function Rt(e,t){return Object.entries(e).map(([r,n])=>n.$valid?null:n.$message).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(t??[])}function In(e){return Qe(e)?hr(e.$fields):et(e)?{$errors:e.$rules?Rt(e.$rules):[],$each:e.$each.map(In)}:tt(e)?e.$error?Rt(e.$rules,e.$externalErrors):e.$externalErrors??[]:[]}function Ei(e){return e.$each.map(In)}function hr(e){return Object.fromEntries(Object.entries(e).map(([t,r])=>Qe(r)?[t,hr(r.$fields)]:et(r)?[t,{...r.$rules&&{$errors:Rt(r.$rules)},$each:Ei(r)}]:tt(r)?r.$error?[t,Rt(r.$rules,r.$externalErrors)]:[t,r.$externalErrors??[]]:[t,[]]))}function Pn(e){return bi(()=>hr(e.$fields))}import{effectScope as Hc,reactive as Uc,toRef as gt,triggerRef as Bc,watch as Kc,computed as qe,unref as zc,ref as Yc}from"vue";var Ge=Ri(ri(),1);import{computed as Le,effectScope as Lc,reactive as Fc,ref as yn,toRaw as kc,toRef as Fe,toRefs as oi,watch as jc}from"vue";function Dc(){return Math.floor(Math.random()*Date.now()).toString()}function mn(){return typeof window>"u"?Dc():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(8)}import{computed as ge,effectScope as ii,reactive as Mc,ref as pt,toRef as Nc,unref as Rn,watch as dt}from"vue";import{computed as Ne,effectScope as ni,reactive as Ic,watch as Pc}from"vue";var sr=(r=>(r.Inline="__inline",r.Async="__async",r))(sr||{});function si({$dirty:e,customMessages:t,rule:r,ruleKey:n,state:s,path:i,storage:o,options:l}){let a=ni(),d,u,{$pending:c,$valid:f,$metadata:S,$validating:O}=o.trySetRuleStatusRef(`${i}.${n}`);function k(){d=a.run(()=>{let y=Ne(()=>({$invalid:!f.value,$params:N.value,...S.value})),p=Ne(()=>Ze(r)?typeof r.value.active=="function"?r.value.active(s.value,y.value):r.value.active:!0),h=Ne(()=>{let D="";if(e.value&&!O.value){let I=t?t[n]?.message:void 0;I&&(typeof I=="function"?D=I(s.value,y.value):D=I),Ze(r)&&(I&&!r.value._patched||(typeof r.value.message=="function"?D=r.value.message(s.value,y.value):D=r.value.message)),An(D)&&(D="Error",console.warn(`No error message defined for ${i}.${n}`))}return D}),R=Ne(()=>Ze(r)&&r.value.type?Object.values(sr).includes(r.value.type)?n:r.value.type:n),x=Ne(()=>Ze(r)?r.value.validator:r.value),N=Ne(()=>typeof r.value=="function"?[]:J(r.value._params??[])),j=Ne(()=>`${i}.${R.value}`);return{$active:p,$message:h,$type:R,$validator:x,$params:N,$path:j}}),u=Pc(d.$params,F,{deep:!0})}k();async function F(){O.value=!0;let y=d.$validator.value,p=!1,h=y(s.value,...d.$params.value);if(h instanceof Promise){if(!c.value)try{f.value=!0,e.value&&(c.value=!0);let R=await h;if(typeof R=="boolean")p=R;else{let{$valid:x,...N}=R;p=x,S.value=N}}catch{p=!1}finally{c.value=!1}}else if(h!=null)if(typeof h=="boolean")p=h;else{let{$valid:R,...x}=h;p=R,S.value=x}return f.value=p,l.$externalErrors,O.value=!1,p}function b(){f.value=!0,S.value={},c.value=!1,O.value=!1,k()}function _(){u(),a.stop(),a=ni()}return Ic({...d,$pending:c,$valid:f,$validate:F,$unwatch:_,$watch:k,$reset:b})}function ir({state:e,rulesDef:t,customMessages:r,path:n,storage:s,options:i,externalErrors:o}){let l=ii(),a,d=pt(!1),u=pt(!1),c=pt([]),f,S,O,k,F=()=>{};function b(){c.value=o.value??[]}b();function _(){let U=t.value,L=s.checkRuleDeclEntry(n,U);x.value=Object.fromEntries(Object.entries(U).filter(([w])=>w.startsWith("$"))),R.value=Object.fromEntries(Object.entries(t.value).filter(([w])=>!w.startsWith("$")).map(([w,H])=>{if(H){let V=Nc(()=>H);return[w,si({$dirty:d,customMessages:r,rule:V,ruleKey:w,state:e,path:n,storage:s,options:i})]}return[]}).filter(w=>!!w.length)),p(),F=a.$debounce.value?ur(h,a.$debounce.value??0):h,L?.valid!=null&&(d.value=s.getDirtyState(n),d.value&&F()),s.addRuleDeclEntry(n,U)}function y(){R.value&&Object.entries(R.value).forEach(([U,L])=>{L.$unwatch()}),k(),d.value&&s.setDirtyEntry(n,d.value),f(),S(),O(),l.stop(),l=ii()}function p(){R.value&&Object.entries(R.value).forEach(([U,L])=>{L.$watch()}),a=l.run(()=>{let U=ge(()=>d.value),L=ge(()=>x.value.$debounce),w=ge(()=>x.value.$lazy?x.value.$lazy:Rn(i.lazy)),H=ge(()=>x.value.$rewardEarly?x.value.$rewardEarly:Rn(i.rewardEarly)),V=ge(()=>x.value.$autoDirty?x.value.$autoDirty:Rn(i.autoDirty)),me=ge(()=>ke.value&&!or.value&&d.value),or=ge(()=>u.value||!H.value?Object.entries(R.value).some(([mt,Je])=>Je.$pending):!1),ke=ge(()=>c.value?.length?!0:!H.value||H.value&&u.value?Object.entries(R.value).some(([mt,Je])=>!Je.$valid):!1),En=ge(()=>c.value?.length?!1:H.value?Object.entries(R.value).every(([mt,Je])=>Je.$valid):!ke.value);return dt(En,mt=>{mt&&(u.value=!1)}),{$error:me,$pending:or,$invalid:ke,$valid:En,$debounce:L,$lazy:w,$rewardEarly:H,$autoDirty:V,$anyDirty:U}}),O=dt(o,b),f=dt(e,()=>{a.$autoDirty.value&&(d.value||(d.value=!0)),a.$lazy.value||(F(),a.$rewardEarly.value)}),k=dt(d,()=>{s.setDirtyEntry(n,d.value),D()}),S=dt(a.$valid,U=>{a.$rewardEarly.value&&U&&(u.value=!1)})}function h(){Object.entries(R.value).forEach(([U,L])=>{L.$validate()})}let R=pt(),x=pt();_();function N(){d.value=!1,c.value=[],Object.entries(R.value).forEach(([U,L])=>{L.$reset()})}function j(){d.value=!0,a.$lazy.value||a.$rewardEarly.value}let D=a.$debounce.value?ur(I,a.$debounce.value??0):I;async function I(){try{if(u.value=!0,!a.$lazy.value&&a.$anyDirty.value&&!a.$pending)return!a.$error.value;{let U=Object.entries(R.value).map(([w,H])=>H.$validate());return(await Promise.allSettled(U)).every(w=>w.status==="fulfilled"?w.value:!1)}}catch{return!1}}function oe(){c.value=[]}return Mc({$dirty:d,$anyDirty:a.$anyDirty,$invalid:a.$invalid,$error:a.$error,$pending:a.$pending,$valid:a.$valid,$externalErrors:c,$value:e,$rules:R,$reset:N,$touch:j,$validate:D,$unwatch:y,$watch:p,$clearExternalErrors:oe})}function vn({$id:e,path:t,index:r,options:n,storage:s,value:i,customMessages:o,rules:l,externalErrors:a}){let d=mn(),u=`${t}.${d}`;typeof i[r]=="object"&&i[r]!=null&&(i[r].$id||Object.defineProperties(i[r],{$id:{value:d,enumerable:!1,configurable:!1,writable:!1}}));let c=oi(i),f=Fe(()=>a.value?.[r]),S=ht({state:c[r],rulesDef:Fe(()=>l),customMessages:o,path:u,storage:s,options:n,externalErrors:f});if(S){let O=i[r]?.$id;S.$id=O??d,s.addArrayStatus(e,r,S)}return S}function Vc({path:e,index:t,options:r,storage:n,value:s,customMessages:i,rules:o,externalErrors:l}){let a=oi(s),d=Fe(()=>l.value?.[t]);return ht({state:a[t],rulesDef:Fe(()=>o),customMessages:i,path:e,storage:n,options:r,externalErrors:d})}function ai({state:e,rulesDef:t,customMessages:r,path:n,storage:s,options:i,externalErrors:o}){let l=Lc(),a;if(Array.isArray(e.value)&&!t.value.$each)return null;let d=yn(),u=yn(e.value),c=null,f=yn({}),S=s.getCollectionsEntry(n);F(),O();function O(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(d.value=mn(),Object.defineProperties(e.value,{$id:{value:d.value,enumerable:!1,configurable:!1,writable:!1}})):d.value=e.value?.$id);let{$each:p,$debounce:h,$autoDirty:R,$lazy:x,$rewardEarly:N,...j}=t.value,D=Fe(()=>{if(o.value&&dr(o.value))return o.value.$errors}),I=Fe(()=>{if(o.value&&dr(o.value))return o.value.$each});if(Array.isArray(e.value)){let oe={};["pop","shift","unshift","splice"].forEach(L=>{oe[L]=function(...w){(0,Ge.pauseTracking)(),S.value.forEach(V=>{V.$unwatch(),s.deleteArrayStatus(d.value,V.$id)}),S.value[L](...w);let H=Object.assign([],this)[L].apply(this,w);return S.value=S.value.map((V,me)=>te(V)&&(tt(V)||et(V)||Qe(V))&&V.$id!=null?Vc({$id:d.value,path:`${n}.${V.$id}`,rules:p,value:e.value,index:me,options:i,storage:s,externalErrors:I}):vn({$id:d.value,path:n,rules:p,value:e.value,index:me,options:i,storage:s,externalErrors:I})).filter(V=>!!V),(0,Ge.resetTracking)(),H}});let U=new Proxy(kc(e.value),{get(L,w,H){let V=Reflect.get(L,w,H);return typeof w=="symbol"?V:Array.isArray(L)&&Object.hasOwn(oe,w)?Reflect.get(oe,w,H):V},deleteProperty(L,w){let H=Reflect.deleteProperty(L,w);return typeof w=="symbol"?!0:(isNaN(parseInt(w))||(S.value.splice(parseInt(w),1),s.deleteArrayStatus(d.value,parseInt(w))),H)},set(L,w,H){let V=Reflect.set(L,w,H);if(typeof w=="symbol")return!0;if(!isNaN(parseInt(w))){let me=parseInt(w);if(!S.value[me]&&t.value.$each){let ke=vn({$id:d.value,value:e.value,rules:t.value.$each,customMessages:r,path:n,storage:s,options:i,index:me,externalErrors:I});ke&&(S.value[me]=ke)}}return V}});(0,Ge.pauseTracking)(),e.value=U,(0,Ge.resetTracking)()}if(f.value=ir({state:e,rulesDef:Fe(()=>j),customMessages:r,path:n,storage:s,options:i,externalErrors:D}),u.value=f.value.$value,Array.isArray(e.value)&&p)for(let[oe,U]of e.value.entries()){let L=vn({$id:d.value,path:n,rules:p,value:e.value,index:oe,options:i,storage:s,externalErrors:I});L&&(S.value[oe]=L)}else S.value=[]}function k(){c&&c(),f.value&&f.value.$unwatch(),S.value&&S.value.forEach(p=>{"$dirty"in p&&p.$unwatch()})}function F(){c=jc(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")&&O()}),a=l.run(()=>{let p=Le(()=>Array.isArray(e.value)&&e.value.length?e.value.some(I=>typeof I!="object"):t.value.$each?Object.values(t.value.$each).every(I=>pr(I)):!1),h=Le(()=>f.value.$dirty&&S.value.every(I=>I.$dirty)),R=Le(()=>f.value.$anyDirty||S.value.some(I=>I.$dirty)),x=Le(()=>f.value.$invalid||S.value.some(I=>I.$invalid)),N=Le(()=>!x.value),j=Le(()=>f.value.$error||S.value.some(I=>I.$error)),D=Le(()=>f.value.$pending||S.value.some(I=>I.$pending));return{isPrimitiveArray:p,$dirty:h,$anyDirty:R,$invalid:x,$valid:N,$error:j,$pending:D}})}function b(){f.value.$touch(),S.value.forEach(p=>{"$dirty"in p&&p.$touch()})}function _(){f.value.$reset(),S.value.forEach(p=>{"$dirty"in p&&p.$reset()}),f.value.$watch()}async function y(){try{return(await Promise.all([f.value.$validate(),...S.value.map(h=>{if("$dirty"in h)return h.$validate()})])).every(h=>!!h)}catch{return!1}}return Fc({...f.value,$value:u,...a,$each:S,$validate:y,$unwatch:k,$watch:F,$touch:b,$reset:_})}function Sn({scopeRules:e,state:t,customMessages:r,path:n="",rootRules:s,storage:i,options:o,externalErrors:l}){let a,d,u;function c(y=!0){f.value=null,Bc(f);let p=Object.fromEntries(Object.entries(e.value).map(([R,x])=>{if(x){let N=gt(t.value,R),j=gt(()=>x),D=gt(()=>l.value?.[R]);return[R,ht({state:N,rulesDef:j,customMessages:r,path:n?`${n}.${R}`:R,storage:i,options:o,externalErrors:D})]}return[]}).filter(R=>!!R.length&&R[1]!=null)),h=Object.fromEntries(Object.entries(zc(l)??{}).filter(([R])=>!(R in e.value)).map(([R,x])=>{if(x){let N=gt(()=>({})),j=gt(()=>x);return[R,ht({state:Yc(void 0),rulesDef:N,customMessages:r,path:n?`${n}.${R}`:R,storage:i,options:o,externalErrors:j})]}return[]}));f.value={...p,...h},y&&F()}let f=i.getFieldsEntry(n);c();function S(){c(!1),Object.entries(f.value).forEach(([y,p])=>{p.$reset()}),F()}function O(){Object.entries(f.value).forEach(([y,p])=>{p.$touch()})}async function k(){try{return(await Promise.allSettled(Object.entries(f.value).map(([p,h])=>h.$validate()))).every(p=>p.status==="fulfilled"?p.value:!1)}catch{return!1}}function F(){s&&(u=Kc(s,()=>{b(),c()},{deep:!0,flush:"post"})),a=Hc(),d=a.run(()=>{let y=qe(()=>Object.entries(f.value).every(([j,D])=>D.$dirty)),p=qe(()=>Object.entries(f.value).some(([j,D])=>D.$dirty)),h=qe(()=>Object.entries(f.value).some(([j,D])=>D.$invalid)),R=qe(()=>!h.value),x=qe(()=>Object.entries(f.value).some(([j,D])=>D.$error)),N=qe(()=>Object.entries(f.value).some(([j,D])=>D.$pending));return{$dirty:y,$anyDirty:p,$invalid:h,$valid:R,$error:x,$pending:N}})}function b(){f.value&&Object.entries(f.value).forEach(([y,p])=>{p.$unwatch()}),u&&u()}function _(){Object.entries(f.value).forEach(([y,p])=>{p.$clearExternalErrors()})}return Uc({...d,$fields:f,$value:t,$reset:S,$touch:O,$validate:k,$unwatch:b,$watch:F,$clearExternalErrors:_})}function ht({state:e,rulesDef:t,customMessages:r,path:n,storage:s,options:i,externalErrors:o}){return On(t)?ai({state:e,rulesDef:t,customMessages:r,path:n,storage:s,options:i,externalErrors:o}):Cn(e,t)&&wn(e)?Sn({scopeRules:t,state:e,customMessages:r,path:n,storage:s,options:i,externalErrors:o}):Dn(t)?ir({state:e,rulesDef:t,customMessages:r,path:n,storage:s,options:i,externalErrors:o}):null}function _n(e,t,r,n){let s=fr(),i=Wc(()=>qc(r.$externalErrors)),o=Gc(Sn({rootRules:e,scopeRules:e,state:t,customMessages:n?.(),storage:s,options:r,externalErrors:i})),l=Pn(o);return{regle:o,errors:l}}function bn(e,t){let r={autoDirty:t?.autoDirty??!0,lazy:t?.lazy??!1,rewardEarly:t?.rewardEarly??!1};function n(s,i,o){let l=Xe(i)?i:li(typeof i=="function"?i:()=>i),a={...r,...o},d=Xe(s)?s:Xc(s),u=structuredClone(Jc(d.value)),{regle:c,errors:f}=_n(l,d,a,e);function S(){c.$unwatch(),O(s,u),c.$reset(),c.$validate()}function O(b,_){Object.entries(_).forEach(([y,p])=>{let h=Xe(b)?b.value:b,R=Xe(h[y])?h[y].value:h[y],x=Xe(_[y])?_[y]._value:_[y];Array.isArray(x)&&Array.isArray(R)?x.forEach((N,j)=>{O(R[j],x[j])}):te(x)?O(R,x):Xe(h[y])?h[y].value=x:h[y]=x})}let k=li(()=>c.$invalid||c.$pending);async function F(){return c.$touch(),await c.$validate()?d.value:!1}return c.$validate(),{regle:c,errors:f,resetForm:S,validateForm:F,invalid:k}}return n}var ci=bn();function ui({rules:e,options:t}){return bn(e,t)}export{sr as InternalRuleType,lr as createRule,ui as defineRegleConfig,cr as defineType,J as unwrapRuleParameters,ci as useRegle};
|
|
4
|
+
/*! Bundled license information:
|
|
5
|
+
|
|
6
|
+
@vue/shared/dist/shared.cjs.prod.js:
|
|
7
|
+
(**
|
|
8
|
+
* @vue/shared v3.5.0
|
|
9
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
10
|
+
* @license MIT
|
|
11
|
+
**)
|
|
12
|
+
(*! #__NO_SIDE_EFFECTS__ *)
|
|
13
|
+
|
|
14
|
+
@vue/shared/dist/shared.cjs.js:
|
|
15
|
+
(**
|
|
16
|
+
* @vue/shared v3.5.0
|
|
17
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
18
|
+
* @license MIT
|
|
19
|
+
**)
|
|
20
|
+
(*! #__NO_SIDE_EFFECTS__ *)
|
|
21
|
+
|
|
22
|
+
@vue/reactivity/dist/reactivity.cjs.prod.js:
|
|
23
|
+
(**
|
|
24
|
+
* @vue/reactivity v3.5.0
|
|
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.5.0
|
|
32
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
33
|
+
* @license MIT
|
|
34
|
+
**)
|
|
35
|
+
*/
|