@shwfed/config 3.0.19 → 3.0.20
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/module.json +1 -1
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.d.vue.ts +2 -2
- package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/config.vue.d.ts +2 -2
- package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +29 -14
- package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +29 -14
- package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.vue +29 -14
- package/dist/runtime/components/form/index.vue +8 -8
- package/dist/runtime/components/form/utils/state.d.ts +18 -1
- package/dist/runtime/components/form/utils/state.js +5 -1
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
- package/package.json +1 -1
package/dist/module.json
CHANGED
|
@@ -39,6 +39,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
39
39
|
readonly mode: "formula" | "prefill";
|
|
40
40
|
readonly expression: string;
|
|
41
41
|
} | undefined;
|
|
42
|
+
readonly maxLength?: number | undefined;
|
|
42
43
|
readonly validations?: readonly {
|
|
43
44
|
readonly message: readonly [{
|
|
44
45
|
readonly locale: "zh";
|
|
@@ -50,7 +51,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
50
51
|
readonly warning?: boolean | undefined;
|
|
51
52
|
readonly when: string;
|
|
52
53
|
}[] | undefined;
|
|
53
|
-
readonly maxLength?: number | undefined;
|
|
54
54
|
}) => any;
|
|
55
55
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
56
56
|
"onUpdate:modelValue"?: ((value: {
|
|
@@ -89,6 +89,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
89
89
|
readonly mode: "formula" | "prefill";
|
|
90
90
|
readonly expression: string;
|
|
91
91
|
} | undefined;
|
|
92
|
+
readonly maxLength?: number | undefined;
|
|
92
93
|
readonly validations?: readonly {
|
|
93
94
|
readonly message: readonly [{
|
|
94
95
|
readonly locale: "zh";
|
|
@@ -100,7 +101,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
100
101
|
readonly warning?: boolean | undefined;
|
|
101
102
|
readonly when: string;
|
|
102
103
|
}[] | undefined;
|
|
103
|
-
readonly maxLength?: number | undefined;
|
|
104
104
|
}) => any) | undefined;
|
|
105
105
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
106
106
|
declare const _default: typeof __VLS_export;
|
|
@@ -39,6 +39,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
39
39
|
readonly mode: "formula" | "prefill";
|
|
40
40
|
readonly expression: string;
|
|
41
41
|
} | undefined;
|
|
42
|
+
readonly maxLength?: number | undefined;
|
|
42
43
|
readonly validations?: readonly {
|
|
43
44
|
readonly message: readonly [{
|
|
44
45
|
readonly locale: "zh";
|
|
@@ -50,7 +51,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
50
51
|
readonly warning?: boolean | undefined;
|
|
51
52
|
readonly when: string;
|
|
52
53
|
}[] | undefined;
|
|
53
|
-
readonly maxLength?: number | undefined;
|
|
54
54
|
}) => any;
|
|
55
55
|
}, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
|
|
56
56
|
"onUpdate:modelValue"?: ((value: {
|
|
@@ -89,6 +89,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
89
89
|
readonly mode: "formula" | "prefill";
|
|
90
90
|
readonly expression: string;
|
|
91
91
|
} | undefined;
|
|
92
|
+
readonly maxLength?: number | undefined;
|
|
92
93
|
readonly validations?: readonly {
|
|
93
94
|
readonly message: readonly [{
|
|
94
95
|
readonly locale: "zh";
|
|
@@ -100,7 +101,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
100
101
|
readonly warning?: boolean | undefined;
|
|
101
102
|
readonly when: string;
|
|
102
103
|
}[] | undefined;
|
|
103
|
-
readonly maxLength?: number | undefined;
|
|
104
104
|
}) => any) | undefined;
|
|
105
105
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
106
106
|
declare const _default: typeof __VLS_export;
|
|
@@ -3,7 +3,7 @@ import { Icon } from "@iconify/vue";
|
|
|
3
3
|
import { watchDebounced } from "@vueuse/core";
|
|
4
4
|
import { Effect, Option } from "effect";
|
|
5
5
|
import { Fetch } from "fx-fetch";
|
|
6
|
-
import { computed, nextTick, ref } from "vue";
|
|
6
|
+
import { computed, nextTick, onScopeDispose, ref } from "vue";
|
|
7
7
|
import { useI18n } from "vue-i18n";
|
|
8
8
|
import { asRequest, fetchJsonOption } from "../../../../../share/request";
|
|
9
9
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
@@ -23,6 +23,7 @@ import { InputGroup, InputGroupAddon, InputGroupButton } from "../../../../ui/in
|
|
|
23
23
|
import { Markdown } from "../../../../ui/markdown";
|
|
24
24
|
import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
|
|
25
25
|
import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
|
|
26
|
+
import { useDerivedQuiescence } from "../../../utils/derived";
|
|
26
27
|
import { useFieldValidation } from "../../../utils/validation";
|
|
27
28
|
import { useFormReadonly } from "../../../utils/readonly";
|
|
28
29
|
import { useFormScope, useFormState } from "../../../utils/state";
|
|
@@ -51,7 +52,7 @@ const { locale, t } = useI18n({
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
});
|
|
54
|
-
const { getAt, setAt, setAtSilent } = useFormState();
|
|
55
|
+
const { getAt, setAt, setAtSilent, seeded } = useFormState();
|
|
55
56
|
const formScope = useFormScope();
|
|
56
57
|
const inherited = injectCELContext();
|
|
57
58
|
const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
|
|
@@ -163,20 +164,34 @@ const model = computed({
|
|
|
163
164
|
setAt(path, next);
|
|
164
165
|
}
|
|
165
166
|
});
|
|
167
|
+
let seedSettled = false;
|
|
166
168
|
let lastRequestSignature;
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
()
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
169
|
+
let lastFetchedSignature;
|
|
170
|
+
function reactToRequest() {
|
|
171
|
+
if (!seedSettled) return;
|
|
172
|
+
if (lastRequestSignature != null && requestSignature.value !== lastRequestSignature) {
|
|
173
|
+
const path = props.config.binding;
|
|
174
|
+
if (path == null) uncontrolled.value = void 0;
|
|
175
|
+
else setAtSilent(path, void 0);
|
|
176
|
+
}
|
|
177
|
+
lastRequestSignature = requestSignature.value;
|
|
178
|
+
if (requestSignature.value !== lastFetchedSignature) {
|
|
179
|
+
lastFetchedSignature = requestSignature.value;
|
|
176
180
|
void fetchOptions();
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
watchDebounced(requestSignature, reactToRequest, { debounce: 200, immediate: true });
|
|
184
|
+
const quiescence = useDerivedQuiescence();
|
|
185
|
+
let disposed = false;
|
|
186
|
+
onScopeDispose(() => {
|
|
187
|
+
disposed = true;
|
|
188
|
+
});
|
|
189
|
+
function establishBaseline() {
|
|
190
|
+
if (disposed) return;
|
|
191
|
+
seedSettled = true;
|
|
192
|
+
reactToRequest();
|
|
193
|
+
}
|
|
194
|
+
seeded.then(() => quiescence.settled(), () => quiescence.settled()).then(establishBaseline);
|
|
180
195
|
function isEqual(a, b) {
|
|
181
196
|
if (a === b) return true;
|
|
182
197
|
if (a == null || b == null) return false;
|
|
@@ -3,7 +3,7 @@ import { Icon } from "@iconify/vue";
|
|
|
3
3
|
import { watchDebounced } from "@vueuse/core";
|
|
4
4
|
import { Effect, Option } from "effect";
|
|
5
5
|
import { Fetch } from "fx-fetch";
|
|
6
|
-
import { computed, nextTick, ref, watch } from "vue";
|
|
6
|
+
import { computed, nextTick, onScopeDispose, ref, watch } from "vue";
|
|
7
7
|
import { useI18n } from "vue-i18n";
|
|
8
8
|
import { asRequest, fetchJsonOption } from "../../../../../share/request";
|
|
9
9
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
@@ -24,6 +24,7 @@ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "
|
|
|
24
24
|
import { Markdown } from "../../../../ui/markdown";
|
|
25
25
|
import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
|
|
26
26
|
import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
|
|
27
|
+
import { useDerivedQuiescence } from "../../../utils/derived";
|
|
27
28
|
import { useFormReadonly } from "../../../utils/readonly";
|
|
28
29
|
import { useFormScope, useFormState } from "../../../utils/state";
|
|
29
30
|
import { useFieldValidation } from "../../../utils/validation";
|
|
@@ -55,7 +56,7 @@ const { locale, t } = useI18n({
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
});
|
|
58
|
-
const { getAt, setAt, setAtSilent } = useFormState();
|
|
59
|
+
const { getAt, setAt, setAtSilent, seeded } = useFormState();
|
|
59
60
|
const formScope = useFormScope();
|
|
60
61
|
const inherited = injectCELContext();
|
|
61
62
|
const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
|
|
@@ -220,20 +221,34 @@ const model = computed({
|
|
|
220
221
|
setAt(path, next);
|
|
221
222
|
}
|
|
222
223
|
});
|
|
224
|
+
let seedSettled = false;
|
|
223
225
|
let lastRequestSignature;
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
()
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
226
|
+
let lastFetchedSignature;
|
|
227
|
+
function reactToRequest() {
|
|
228
|
+
if (!seedSettled) return;
|
|
229
|
+
if (lastRequestSignature != null && requestSignature.value !== lastRequestSignature) {
|
|
230
|
+
const path = props.config.binding;
|
|
231
|
+
if (path == null) uncontrolled.value = void 0;
|
|
232
|
+
else setAtSilent(path, void 0);
|
|
233
|
+
}
|
|
234
|
+
lastRequestSignature = requestSignature.value;
|
|
235
|
+
if (requestSignature.value !== lastFetchedSignature) {
|
|
236
|
+
lastFetchedSignature = requestSignature.value;
|
|
233
237
|
void fetchOptions();
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
watchDebounced(requestSignature, reactToRequest, { debounce: 200, immediate: true });
|
|
241
|
+
const quiescence = useDerivedQuiescence();
|
|
242
|
+
let disposed = false;
|
|
243
|
+
onScopeDispose(() => {
|
|
244
|
+
disposed = true;
|
|
245
|
+
});
|
|
246
|
+
function establishBaseline() {
|
|
247
|
+
if (disposed) return;
|
|
248
|
+
seedSettled = true;
|
|
249
|
+
reactToRequest();
|
|
250
|
+
}
|
|
251
|
+
seeded.then(() => quiescence.settled(), () => quiescence.settled()).then(establishBaseline);
|
|
237
252
|
function isEqual(a, b) {
|
|
238
253
|
if (a === b) return true;
|
|
239
254
|
if (a == null || b == null) return false;
|
|
@@ -3,7 +3,7 @@ import { Icon } from "@iconify/vue";
|
|
|
3
3
|
import { watchDebounced } from "@vueuse/core";
|
|
4
4
|
import { Effect, Option } from "effect";
|
|
5
5
|
import { Fetch } from "fx-fetch";
|
|
6
|
-
import { computed, nextTick, ref, watch } from "vue";
|
|
6
|
+
import { computed, nextTick, onScopeDispose, ref, watch } from "vue";
|
|
7
7
|
import { useI18n } from "vue-i18n";
|
|
8
8
|
import { asRequest, fetchJsonOption } from "../../../../../share/request";
|
|
9
9
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
@@ -24,6 +24,7 @@ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "
|
|
|
24
24
|
import { Markdown } from "../../../../ui/markdown";
|
|
25
25
|
import { Popover, PopoverAnchor, PopoverContent, PopoverTrigger } from "../../../../ui/popover";
|
|
26
26
|
import { DEFAULT_FIELD_ORIENTATION } from "../../../utils/common";
|
|
27
|
+
import { useDerivedQuiescence } from "../../../utils/derived";
|
|
27
28
|
import { useFormReadonly } from "../../../utils/readonly";
|
|
28
29
|
import { useFormScope, useFormState } from "../../../utils/state";
|
|
29
30
|
import { useFieldValidation } from "../../../utils/validation";
|
|
@@ -55,7 +56,7 @@ const { locale, t } = useI18n({
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
});
|
|
58
|
-
const { getAt, setAt, setAtSilent } = useFormState();
|
|
59
|
+
const { getAt, setAt, setAtSilent, seeded } = useFormState();
|
|
59
60
|
const formScope = useFormScope();
|
|
60
61
|
const inherited = injectCELContext();
|
|
61
62
|
const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
|
|
@@ -223,20 +224,34 @@ const model = computed({
|
|
|
223
224
|
setAt(path, next);
|
|
224
225
|
}
|
|
225
226
|
});
|
|
227
|
+
let seedSettled = false;
|
|
226
228
|
let lastRequestSignature;
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
()
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
229
|
+
let lastFetchedSignature;
|
|
230
|
+
function reactToRequest() {
|
|
231
|
+
if (!seedSettled) return;
|
|
232
|
+
if (lastRequestSignature != null && requestSignature.value !== lastRequestSignature) {
|
|
233
|
+
const path = props.config.binding;
|
|
234
|
+
if (path == null) uncontrolled.value = void 0;
|
|
235
|
+
else setAtSilent(path, void 0);
|
|
236
|
+
}
|
|
237
|
+
lastRequestSignature = requestSignature.value;
|
|
238
|
+
if (requestSignature.value !== lastFetchedSignature) {
|
|
239
|
+
lastFetchedSignature = requestSignature.value;
|
|
236
240
|
void fetchOptions();
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
watchDebounced(requestSignature, reactToRequest, { debounce: 200, immediate: true });
|
|
244
|
+
const quiescence = useDerivedQuiescence();
|
|
245
|
+
let disposed = false;
|
|
246
|
+
onScopeDispose(() => {
|
|
247
|
+
disposed = true;
|
|
248
|
+
});
|
|
249
|
+
function establishBaseline() {
|
|
250
|
+
if (disposed) return;
|
|
251
|
+
seedSettled = true;
|
|
252
|
+
reactToRequest();
|
|
253
|
+
}
|
|
254
|
+
seeded.then(() => quiescence.settled(), () => quiescence.settled()).then(establishBaseline);
|
|
240
255
|
function isEqual(a, b) {
|
|
241
256
|
if (a === b) return true;
|
|
242
257
|
if (a == null || b == null) return false;
|
|
@@ -53,7 +53,14 @@ if (config.value.id) {
|
|
|
53
53
|
}
|
|
54
54
|
const inherited = injectCELContext();
|
|
55
55
|
const $cel = (expression, context) => _rawCel(expression, { ...celBindings(inherited), ...context });
|
|
56
|
-
const
|
|
56
|
+
const seeded = (() => {
|
|
57
|
+
const current = state.value ?? {};
|
|
58
|
+
if (!config.value.initial || Object.keys(current).length > 0) return Promise.resolve();
|
|
59
|
+
return computeSeed(current).then((seed) => {
|
|
60
|
+
if (seed) state.value = { ...current, ...seed };
|
|
61
|
+
});
|
|
62
|
+
})();
|
|
63
|
+
const formState = provideFormState(state, "form", seeded);
|
|
57
64
|
const commitBus = provideCommitBus();
|
|
58
65
|
const quiescence = provideDerivedQuiescence();
|
|
59
66
|
const formReadonly = computed(() => {
|
|
@@ -79,13 +86,6 @@ async function computeSeed(base) {
|
|
|
79
86
|
return null;
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
|
-
const seeded = (() => {
|
|
83
|
-
const current = state.value ?? {};
|
|
84
|
-
if (!config.value.initial || Object.keys(current).length > 0) return Promise.resolve();
|
|
85
|
-
return computeSeed(current).then((seed) => {
|
|
86
|
-
if (seed) state.value = { ...current, ...seed };
|
|
87
|
-
});
|
|
88
|
-
})();
|
|
89
89
|
async function reseed() {
|
|
90
90
|
const seed = await computeSeed({});
|
|
91
91
|
state.value = seed ? { ...seed } : {};
|
|
@@ -33,6 +33,23 @@ export type FormStateBag = {
|
|
|
33
33
|
* through the bags themselves.
|
|
34
34
|
*/
|
|
35
35
|
parent: FormStateBag | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Resolves once the form's `initial` seed has landed in `state` (or
|
|
38
|
+
* immediately when there is no seed). The top-level form host passes its
|
|
39
|
+
* own seed promise; nested bags (list/table rows) inherit the enclosing
|
|
40
|
+
* form's, and a host-less fallback bag gets an already-resolved one.
|
|
41
|
+
*
|
|
42
|
+
* A field runtime awaits this before it establishes any request/watch
|
|
43
|
+
* baseline: while the seed is in flight `state` is empty, so a request
|
|
44
|
+
* expression that reads `form.?dep` builds a param-less-but-non-`null`
|
|
45
|
+
* request. Establishing a baseline against that pre-seed request would make
|
|
46
|
+
* the post-seed signature look like a "change away" and wrongly clear the
|
|
47
|
+
* seeded selection. Keying the first baseline off THIS boundary (not off a
|
|
48
|
+
* `null` signature, which `.query`'s drop-missing-param semantics defeats)
|
|
49
|
+
* is the correct edge. May reject when the seed itself failed — consumers
|
|
50
|
+
* must still start on rejection (mirror `useDerived`'s `ready` handling).
|
|
51
|
+
*/
|
|
52
|
+
seeded: Promise<void>;
|
|
36
53
|
state: Ref<unknown>;
|
|
37
54
|
getAt: (path: string) => unknown;
|
|
38
55
|
/**
|
|
@@ -83,7 +100,7 @@ export type FormStateBag = {
|
|
|
83
100
|
coerce: (path: string, value: unknown) => unknown;
|
|
84
101
|
};
|
|
85
102
|
export declare const FORM_STATE_KEY: InjectionKey<FormStateBag>;
|
|
86
|
-
export declare function provideFormState(state: Ref<unknown>, kind?: FormStateBagKind): FormStateBag;
|
|
103
|
+
export declare function provideFormState(state: Ref<unknown>, kind?: FormStateBagKind, seeded?: Promise<void>): FormStateBag;
|
|
87
104
|
export declare function useFormState(): FormStateBag;
|
|
88
105
|
/**
|
|
89
106
|
* The nearest `'form'`-kind bag enclosing the current field — what the CEL
|
|
@@ -2,7 +2,7 @@ import { getProperty, setProperty } from "dot-prop";
|
|
|
2
2
|
import { inject, provide, ref } from "vue";
|
|
3
3
|
export const SELF_BINDING = ".";
|
|
4
4
|
export const FORM_STATE_KEY = Symbol("shwfed-form-state");
|
|
5
|
-
export function provideFormState(state, kind = "form") {
|
|
5
|
+
export function provideFormState(state, kind = "form", seeded) {
|
|
6
6
|
const parent = inject(FORM_STATE_KEY, void 0);
|
|
7
7
|
const dirty = ref(/* @__PURE__ */ new Set());
|
|
8
8
|
const coercions = /* @__PURE__ */ new Map();
|
|
@@ -27,6 +27,10 @@ export function provideFormState(state, kind = "form") {
|
|
|
27
27
|
const bag = {
|
|
28
28
|
kind,
|
|
29
29
|
parent,
|
|
30
|
+
// Explicit seed promise when given (the top-level form host), else inherit
|
|
31
|
+
// the enclosing form's (list/table rows), else an already-resolved one (a
|
|
32
|
+
// host-less fallback bag — the standalone table, a test harness).
|
|
33
|
+
seeded: seeded ?? parent?.seeded ?? Promise.resolve(),
|
|
30
34
|
state,
|
|
31
35
|
getAt: (path) => path === SELF_BINDING ? state.value : getProperty(state.value, path),
|
|
32
36
|
setAt: (path, value) => {
|
|
@@ -44,6 +44,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
44
44
|
readonly mode: "formula" | "prefill";
|
|
45
45
|
readonly expression: string;
|
|
46
46
|
} | undefined;
|
|
47
|
+
readonly enableSorting?: boolean | undefined;
|
|
47
48
|
readonly nodeKey: string;
|
|
48
49
|
readonly nodeChildren: string;
|
|
49
50
|
readonly nodeLabel: readonly [{
|
|
@@ -53,7 +54,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
53
54
|
readonly locale: "en" | "ja" | "ko";
|
|
54
55
|
readonly message: string;
|
|
55
56
|
}[]];
|
|
56
|
-
readonly enableSorting?: boolean | undefined;
|
|
57
57
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
58
58
|
readonly nodeTooltip?: readonly [{
|
|
59
59
|
readonly locale: "zh";
|
|
@@ -108,6 +108,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
108
108
|
readonly mode: "formula" | "prefill";
|
|
109
109
|
readonly expression: string;
|
|
110
110
|
} | undefined;
|
|
111
|
+
readonly enableSorting?: boolean | undefined;
|
|
111
112
|
readonly nodeKey: string;
|
|
112
113
|
readonly nodeChildren: string;
|
|
113
114
|
readonly nodeLabel: readonly [{
|
|
@@ -117,7 +118,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
117
118
|
readonly locale: "en" | "ja" | "ko";
|
|
118
119
|
readonly message: string;
|
|
119
120
|
}[]];
|
|
120
|
-
readonly enableSorting?: boolean | undefined;
|
|
121
121
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
122
122
|
readonly nodeTooltip?: readonly [{
|
|
123
123
|
readonly locale: "zh";
|
|
@@ -44,6 +44,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
44
44
|
readonly mode: "formula" | "prefill";
|
|
45
45
|
readonly expression: string;
|
|
46
46
|
} | undefined;
|
|
47
|
+
readonly enableSorting?: boolean | undefined;
|
|
47
48
|
readonly nodeKey: string;
|
|
48
49
|
readonly nodeChildren: string;
|
|
49
50
|
readonly nodeLabel: readonly [{
|
|
@@ -53,7 +54,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
53
54
|
readonly locale: "en" | "ja" | "ko";
|
|
54
55
|
readonly message: string;
|
|
55
56
|
}[]];
|
|
56
|
-
readonly enableSorting?: boolean | undefined;
|
|
57
57
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
58
58
|
readonly nodeTooltip?: readonly [{
|
|
59
59
|
readonly locale: "zh";
|
|
@@ -108,6 +108,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
108
108
|
readonly mode: "formula" | "prefill";
|
|
109
109
|
readonly expression: string;
|
|
110
110
|
} | undefined;
|
|
111
|
+
readonly enableSorting?: boolean | undefined;
|
|
111
112
|
readonly nodeKey: string;
|
|
112
113
|
readonly nodeChildren: string;
|
|
113
114
|
readonly nodeLabel: readonly [{
|
|
@@ -117,7 +118,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
117
118
|
readonly locale: "en" | "ja" | "ko";
|
|
118
119
|
readonly message: string;
|
|
119
120
|
}[]];
|
|
120
|
-
readonly enableSorting?: boolean | undefined;
|
|
121
121
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
122
122
|
readonly nodeTooltip?: readonly [{
|
|
123
123
|
readonly locale: "zh";
|
|
@@ -44,6 +44,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
44
44
|
readonly mode: "formula" | "prefill";
|
|
45
45
|
readonly expression: string;
|
|
46
46
|
} | undefined;
|
|
47
|
+
readonly enableSorting?: boolean | undefined;
|
|
47
48
|
readonly nodeKey: string;
|
|
48
49
|
readonly nodeChildren: string;
|
|
49
50
|
readonly nodeLabel: readonly [{
|
|
@@ -53,7 +54,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
53
54
|
readonly locale: "en" | "ja" | "ko";
|
|
54
55
|
readonly message: string;
|
|
55
56
|
}[]];
|
|
56
|
-
readonly enableSorting?: boolean | undefined;
|
|
57
57
|
readonly nodeTooltip?: readonly [{
|
|
58
58
|
readonly locale: "zh";
|
|
59
59
|
readonly message: string;
|
|
@@ -107,6 +107,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
107
107
|
readonly mode: "formula" | "prefill";
|
|
108
108
|
readonly expression: string;
|
|
109
109
|
} | undefined;
|
|
110
|
+
readonly enableSorting?: boolean | undefined;
|
|
110
111
|
readonly nodeKey: string;
|
|
111
112
|
readonly nodeChildren: string;
|
|
112
113
|
readonly nodeLabel: readonly [{
|
|
@@ -116,7 +117,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
116
117
|
readonly locale: "en" | "ja" | "ko";
|
|
117
118
|
readonly message: string;
|
|
118
119
|
}[]];
|
|
119
|
-
readonly enableSorting?: boolean | undefined;
|
|
120
120
|
readonly nodeTooltip?: readonly [{
|
|
121
121
|
readonly locale: "zh";
|
|
122
122
|
readonly message: string;
|
|
@@ -44,6 +44,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
44
44
|
readonly mode: "formula" | "prefill";
|
|
45
45
|
readonly expression: string;
|
|
46
46
|
} | undefined;
|
|
47
|
+
readonly enableSorting?: boolean | undefined;
|
|
47
48
|
readonly nodeKey: string;
|
|
48
49
|
readonly nodeChildren: string;
|
|
49
50
|
readonly nodeLabel: readonly [{
|
|
@@ -53,7 +54,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
53
54
|
readonly locale: "en" | "ja" | "ko";
|
|
54
55
|
readonly message: string;
|
|
55
56
|
}[]];
|
|
56
|
-
readonly enableSorting?: boolean | undefined;
|
|
57
57
|
readonly nodeTooltip?: readonly [{
|
|
58
58
|
readonly locale: "zh";
|
|
59
59
|
readonly message: string;
|
|
@@ -107,6 +107,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
107
107
|
readonly mode: "formula" | "prefill";
|
|
108
108
|
readonly expression: string;
|
|
109
109
|
} | undefined;
|
|
110
|
+
readonly enableSorting?: boolean | undefined;
|
|
110
111
|
readonly nodeKey: string;
|
|
111
112
|
readonly nodeChildren: string;
|
|
112
113
|
readonly nodeLabel: readonly [{
|
|
@@ -116,7 +117,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
116
117
|
readonly locale: "en" | "ja" | "ko";
|
|
117
118
|
readonly message: string;
|
|
118
119
|
}[]];
|
|
119
|
-
readonly enableSorting?: boolean | undefined;
|
|
120
120
|
readonly nodeTooltip?: readonly [{
|
|
121
121
|
readonly locale: "zh";
|
|
122
122
|
readonly message: string;
|
|
@@ -45,6 +45,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
45
45
|
readonly mode: "formula" | "prefill";
|
|
46
46
|
readonly expression: string;
|
|
47
47
|
} | undefined;
|
|
48
|
+
readonly enableSorting?: boolean | undefined;
|
|
48
49
|
readonly nodeKey: string;
|
|
49
50
|
readonly nodeChildren: string;
|
|
50
51
|
readonly nodeLabel: readonly [{
|
|
@@ -54,7 +55,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
54
55
|
readonly locale: "en" | "ja" | "ko";
|
|
55
56
|
readonly message: string;
|
|
56
57
|
}[]];
|
|
57
|
-
readonly enableSorting?: boolean | undefined;
|
|
58
58
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
59
59
|
readonly nodeTooltip?: readonly [{
|
|
60
60
|
readonly locale: "zh";
|
|
@@ -110,6 +110,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
110
110
|
readonly mode: "formula" | "prefill";
|
|
111
111
|
readonly expression: string;
|
|
112
112
|
} | undefined;
|
|
113
|
+
readonly enableSorting?: boolean | undefined;
|
|
113
114
|
readonly nodeKey: string;
|
|
114
115
|
readonly nodeChildren: string;
|
|
115
116
|
readonly nodeLabel: readonly [{
|
|
@@ -119,7 +120,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
119
120
|
readonly locale: "en" | "ja" | "ko";
|
|
120
121
|
readonly message: string;
|
|
121
122
|
}[]];
|
|
122
|
-
readonly enableSorting?: boolean | undefined;
|
|
123
123
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
124
124
|
readonly nodeTooltip?: readonly [{
|
|
125
125
|
readonly locale: "zh";
|
|
@@ -45,6 +45,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
45
45
|
readonly mode: "formula" | "prefill";
|
|
46
46
|
readonly expression: string;
|
|
47
47
|
} | undefined;
|
|
48
|
+
readonly enableSorting?: boolean | undefined;
|
|
48
49
|
readonly nodeKey: string;
|
|
49
50
|
readonly nodeChildren: string;
|
|
50
51
|
readonly nodeLabel: readonly [{
|
|
@@ -54,7 +55,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
54
55
|
readonly locale: "en" | "ja" | "ko";
|
|
55
56
|
readonly message: string;
|
|
56
57
|
}[]];
|
|
57
|
-
readonly enableSorting?: boolean | undefined;
|
|
58
58
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
59
59
|
readonly nodeTooltip?: readonly [{
|
|
60
60
|
readonly locale: "zh";
|
|
@@ -110,6 +110,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
110
110
|
readonly mode: "formula" | "prefill";
|
|
111
111
|
readonly expression: string;
|
|
112
112
|
} | undefined;
|
|
113
|
+
readonly enableSorting?: boolean | undefined;
|
|
113
114
|
readonly nodeKey: string;
|
|
114
115
|
readonly nodeChildren: string;
|
|
115
116
|
readonly nodeLabel: readonly [{
|
|
@@ -119,7 +120,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
119
120
|
readonly locale: "en" | "ja" | "ko";
|
|
120
121
|
readonly message: string;
|
|
121
122
|
}[]];
|
|
122
|
-
readonly enableSorting?: boolean | undefined;
|
|
123
123
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
124
124
|
readonly nodeTooltip?: readonly [{
|
|
125
125
|
readonly locale: "zh";
|
|
@@ -45,6 +45,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
45
45
|
readonly mode: "formula" | "prefill";
|
|
46
46
|
readonly expression: string;
|
|
47
47
|
} | undefined;
|
|
48
|
+
readonly enableSorting?: boolean | undefined;
|
|
48
49
|
readonly nodeKey: string;
|
|
49
50
|
readonly nodeChildren: string;
|
|
50
51
|
readonly nodeLabel: readonly [{
|
|
@@ -54,7 +55,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
54
55
|
readonly locale: "en" | "ja" | "ko";
|
|
55
56
|
readonly message: string;
|
|
56
57
|
}[]];
|
|
57
|
-
readonly enableSorting?: boolean | undefined;
|
|
58
58
|
readonly nodeTooltip?: readonly [{
|
|
59
59
|
readonly locale: "zh";
|
|
60
60
|
readonly message: string;
|
|
@@ -109,6 +109,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
109
109
|
readonly mode: "formula" | "prefill";
|
|
110
110
|
readonly expression: string;
|
|
111
111
|
} | undefined;
|
|
112
|
+
readonly enableSorting?: boolean | undefined;
|
|
112
113
|
readonly nodeKey: string;
|
|
113
114
|
readonly nodeChildren: string;
|
|
114
115
|
readonly nodeLabel: readonly [{
|
|
@@ -118,7 +119,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
118
119
|
readonly locale: "en" | "ja" | "ko";
|
|
119
120
|
readonly message: string;
|
|
120
121
|
}[]];
|
|
121
|
-
readonly enableSorting?: boolean | undefined;
|
|
122
122
|
readonly nodeTooltip?: readonly [{
|
|
123
123
|
readonly locale: "zh";
|
|
124
124
|
readonly message: string;
|
|
@@ -45,6 +45,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
45
45
|
readonly mode: "formula" | "prefill";
|
|
46
46
|
readonly expression: string;
|
|
47
47
|
} | undefined;
|
|
48
|
+
readonly enableSorting?: boolean | undefined;
|
|
48
49
|
readonly nodeKey: string;
|
|
49
50
|
readonly nodeChildren: string;
|
|
50
51
|
readonly nodeLabel: readonly [{
|
|
@@ -54,7 +55,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
54
55
|
readonly locale: "en" | "ja" | "ko";
|
|
55
56
|
readonly message: string;
|
|
56
57
|
}[]];
|
|
57
|
-
readonly enableSorting?: boolean | undefined;
|
|
58
58
|
readonly nodeTooltip?: readonly [{
|
|
59
59
|
readonly locale: "zh";
|
|
60
60
|
readonly message: string;
|
|
@@ -109,6 +109,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
109
109
|
readonly mode: "formula" | "prefill";
|
|
110
110
|
readonly expression: string;
|
|
111
111
|
} | undefined;
|
|
112
|
+
readonly enableSorting?: boolean | undefined;
|
|
112
113
|
readonly nodeKey: string;
|
|
113
114
|
readonly nodeChildren: string;
|
|
114
115
|
readonly nodeLabel: readonly [{
|
|
@@ -118,7 +119,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
118
119
|
readonly locale: "en" | "ja" | "ko";
|
|
119
120
|
readonly message: string;
|
|
120
121
|
}[]];
|
|
121
|
-
readonly enableSorting?: boolean | undefined;
|
|
122
122
|
readonly nodeTooltip?: readonly [{
|
|
123
123
|
readonly locale: "zh";
|
|
124
124
|
readonly message: string;
|
|
@@ -46,10 +46,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
46
46
|
readonly mode: "formula" | "prefill";
|
|
47
47
|
readonly expression: string;
|
|
48
48
|
} | undefined;
|
|
49
|
+
readonly enableSorting?: boolean | undefined;
|
|
49
50
|
readonly nodeKey: string;
|
|
50
51
|
readonly nodeChildren: string;
|
|
51
52
|
readonly nodeLabel: string;
|
|
52
|
-
readonly enableSorting?: boolean | undefined;
|
|
53
53
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
54
54
|
readonly nodeTooltip?: readonly [{
|
|
55
55
|
readonly locale: "zh";
|
|
@@ -106,10 +106,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
106
106
|
readonly mode: "formula" | "prefill";
|
|
107
107
|
readonly expression: string;
|
|
108
108
|
} | undefined;
|
|
109
|
+
readonly enableSorting?: boolean | undefined;
|
|
109
110
|
readonly nodeKey: string;
|
|
110
111
|
readonly nodeChildren: string;
|
|
111
112
|
readonly nodeLabel: string;
|
|
112
|
-
readonly enableSorting?: boolean | undefined;
|
|
113
113
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
114
114
|
readonly nodeTooltip?: readonly [{
|
|
115
115
|
readonly locale: "zh";
|
|
@@ -46,10 +46,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
46
46
|
readonly mode: "formula" | "prefill";
|
|
47
47
|
readonly expression: string;
|
|
48
48
|
} | undefined;
|
|
49
|
+
readonly enableSorting?: boolean | undefined;
|
|
49
50
|
readonly nodeKey: string;
|
|
50
51
|
readonly nodeChildren: string;
|
|
51
52
|
readonly nodeLabel: string;
|
|
52
|
-
readonly enableSorting?: boolean | undefined;
|
|
53
53
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
54
54
|
readonly nodeTooltip?: readonly [{
|
|
55
55
|
readonly locale: "zh";
|
|
@@ -106,10 +106,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
106
106
|
readonly mode: "formula" | "prefill";
|
|
107
107
|
readonly expression: string;
|
|
108
108
|
} | undefined;
|
|
109
|
+
readonly enableSorting?: boolean | undefined;
|
|
109
110
|
readonly nodeKey: string;
|
|
110
111
|
readonly nodeChildren: string;
|
|
111
112
|
readonly nodeLabel: string;
|
|
112
|
-
readonly enableSorting?: boolean | undefined;
|
|
113
113
|
readonly cascade: "independent" | "cascade-down" | "cascade-both";
|
|
114
114
|
readonly nodeTooltip?: readonly [{
|
|
115
115
|
readonly locale: "zh";
|
|
@@ -46,10 +46,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
46
46
|
readonly mode: "formula" | "prefill";
|
|
47
47
|
readonly expression: string;
|
|
48
48
|
} | undefined;
|
|
49
|
+
readonly enableSorting?: boolean | undefined;
|
|
49
50
|
readonly nodeKey: string;
|
|
50
51
|
readonly nodeChildren: string;
|
|
51
52
|
readonly nodeLabel: string;
|
|
52
|
-
readonly enableSorting?: boolean | undefined;
|
|
53
53
|
readonly nodeTooltip?: readonly [{
|
|
54
54
|
readonly locale: "zh";
|
|
55
55
|
readonly message: string;
|
|
@@ -105,10 +105,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
105
105
|
readonly mode: "formula" | "prefill";
|
|
106
106
|
readonly expression: string;
|
|
107
107
|
} | undefined;
|
|
108
|
+
readonly enableSorting?: boolean | undefined;
|
|
108
109
|
readonly nodeKey: string;
|
|
109
110
|
readonly nodeChildren: string;
|
|
110
111
|
readonly nodeLabel: string;
|
|
111
|
-
readonly enableSorting?: boolean | undefined;
|
|
112
112
|
readonly nodeTooltip?: readonly [{
|
|
113
113
|
readonly locale: "zh";
|
|
114
114
|
readonly message: string;
|
|
@@ -46,10 +46,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
46
46
|
readonly mode: "formula" | "prefill";
|
|
47
47
|
readonly expression: string;
|
|
48
48
|
} | undefined;
|
|
49
|
+
readonly enableSorting?: boolean | undefined;
|
|
49
50
|
readonly nodeKey: string;
|
|
50
51
|
readonly nodeChildren: string;
|
|
51
52
|
readonly nodeLabel: string;
|
|
52
|
-
readonly enableSorting?: boolean | undefined;
|
|
53
53
|
readonly nodeTooltip?: readonly [{
|
|
54
54
|
readonly locale: "zh";
|
|
55
55
|
readonly message: string;
|
|
@@ -105,10 +105,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
|
|
|
105
105
|
readonly mode: "formula" | "prefill";
|
|
106
106
|
readonly expression: string;
|
|
107
107
|
} | undefined;
|
|
108
|
+
readonly enableSorting?: boolean | undefined;
|
|
108
109
|
readonly nodeKey: string;
|
|
109
110
|
readonly nodeChildren: string;
|
|
110
111
|
readonly nodeLabel: string;
|
|
111
|
-
readonly enableSorting?: boolean | undefined;
|
|
112
112
|
readonly nodeTooltip?: readonly [{
|
|
113
113
|
readonly locale: "zh";
|
|
114
114
|
readonly message: string;
|