@effect-app/vue-components 4.0.0-beta.233 → 4.0.0-beta.235
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/types/components/OmegaForm/InputProps.d.ts +1 -1
- package/dist/vue-components22.es.js +5 -5
- package/dist/vue-components35.es.js +2 -2
- package/package.json +5 -5
- package/src/components/OmegaForm/InputProps.ts +1 -1
- package/src/components/OmegaForm/OmegaArray.vue +6 -5
- package/src/components/OmegaForm/OmegaInput.vue +8 -2
|
@@ -16,7 +16,7 @@ export type InputProps<From extends Record<PropertyKey, any>, TName extends Deep
|
|
|
16
16
|
inputClass: string | undefined | null;
|
|
17
17
|
};
|
|
18
18
|
field: OmegaFieldInternalApi<From, TName>;
|
|
19
|
-
/**
|
|
19
|
+
/** reactive field state, sourced from `field.state` (the Field slot's own `state` prop is a stale snapshot since @tanstack/vue-form 1.32) */
|
|
20
20
|
state: OmegaFieldInternalApi<From, TName>["state"];
|
|
21
21
|
};
|
|
22
22
|
export type MergedInputProps<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = InputProps<From, TName>["inputProps"] & Pick<InputProps<From, TName>, "field" | "state">;
|
|
@@ -25,18 +25,18 @@ var h = /* @__PURE__ */ i({
|
|
|
25
25
|
let t = e.replace(/\[\d+\]/g, "");
|
|
26
26
|
return h.form.meta[t];
|
|
27
27
|
})), (t, c) => (l(), n(p(i.form.Field), { name: i.name }, {
|
|
28
|
-
default: m(({ field: c
|
|
28
|
+
default: m(({ field: c }) => [
|
|
29
29
|
f(t.$slots, "pre-array", s(a({
|
|
30
30
|
field: c,
|
|
31
|
-
state:
|
|
31
|
+
state: c.state
|
|
32
32
|
}))),
|
|
33
33
|
(l(!0), r(e, null, d(_.value, (e, r) => (l(), n(p(i.form.Field), {
|
|
34
34
|
key: `${i.name}[${Number(r)}]`,
|
|
35
35
|
name: `${i.name}[${Number(r)}]`
|
|
36
36
|
}, {
|
|
37
|
-
default: m(({ field: e
|
|
37
|
+
default: m(({ field: e }) => [f(t.$slots, "default", o({ ref_for: !0 }, {
|
|
38
38
|
subField: e,
|
|
39
|
-
subState:
|
|
39
|
+
subState: e.state,
|
|
40
40
|
index: Number(r),
|
|
41
41
|
field: c
|
|
42
42
|
}))]),
|
|
@@ -44,7 +44,7 @@ var h = /* @__PURE__ */ i({
|
|
|
44
44
|
}, 1032, ["name"]))), 128)),
|
|
45
45
|
f(t.$slots, "post-array", s(a({
|
|
46
46
|
field: c,
|
|
47
|
-
state:
|
|
47
|
+
state: c.state
|
|
48
48
|
}))),
|
|
49
49
|
f(t.$slots, "field", s(a({ field: c })))
|
|
50
50
|
]),
|
|
@@ -20,13 +20,13 @@ var _ = /* @__PURE__ */ o({
|
|
|
20
20
|
name: o.name,
|
|
21
21
|
validators: o.validators
|
|
22
22
|
}, {
|
|
23
|
-
default: g(({ field: n
|
|
23
|
+
default: g(({ field: n }) => [S.value ? (d(), r(t, l({ key: 0 }, {
|
|
24
24
|
...e.$attrs,
|
|
25
25
|
...e.$props,
|
|
26
26
|
inputClass: b.value
|
|
27
27
|
}, {
|
|
28
28
|
field: n,
|
|
29
|
-
state:
|
|
29
|
+
state: n.state,
|
|
30
30
|
register: o.form.registerField,
|
|
31
31
|
label: o.label ?? m(C)(v.value),
|
|
32
32
|
meta: S.value
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue-components",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.235",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@mdi/js": "^7.4.47",
|
|
6
|
-
"effect": "^4.0.0-beta.
|
|
6
|
+
"effect": "^4.0.0-beta.68",
|
|
7
7
|
"intl-messageformat": "^11.2.4",
|
|
8
8
|
"mdi-js": "^1.0.1",
|
|
9
9
|
"primeflex": "^4.0.0",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"vue-toastification": "^2.0.0-rc.5",
|
|
34
34
|
"vue-tsc": "^3.2.8",
|
|
35
35
|
"vuetify": "^4.0.6",
|
|
36
|
-
"@effect-app/eslint-shared-config": "0.6.0-beta.
|
|
36
|
+
"@effect-app/eslint-shared-config": "0.6.0-beta.26"
|
|
37
37
|
},
|
|
38
38
|
"files": [
|
|
39
39
|
"src",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"highlight.js": "^11.11.1",
|
|
58
58
|
"mitt": "^3.0.1",
|
|
59
59
|
"vue3-highlightjs": "^1.0.5",
|
|
60
|
-
"@effect-app/vue": "4.0.0-beta.
|
|
61
|
-
"effect-app": "4.0.0-beta.
|
|
60
|
+
"@effect-app/vue": "4.0.0-beta.235",
|
|
61
|
+
"effect-app": "4.0.0-beta.235"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"check": "vue-tsc",
|
|
@@ -43,7 +43,7 @@ export type InputProps<From extends Record<PropertyKey, any>, TName extends Deep
|
|
|
43
43
|
inputClass: string | undefined | null
|
|
44
44
|
}
|
|
45
45
|
field: OmegaFieldInternalApi<From, TName>
|
|
46
|
-
/**
|
|
46
|
+
/** reactive field state, sourced from `field.state` (the Field slot's own `state` prop is a stale snapshot since @tanstack/vue-form 1.32) */
|
|
47
47
|
state: OmegaFieldInternalApi<From, TName>["state"]
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
:is="form.Field"
|
|
4
4
|
:name="name"
|
|
5
5
|
>
|
|
6
|
-
|
|
6
|
+
<!-- `field.state` is reactive; the Field slot's `state` prop is a stale snapshot since @tanstack/vue-form 1.32 -->
|
|
7
|
+
<template #default="{ field }">
|
|
7
8
|
<slot
|
|
8
9
|
name="pre-array"
|
|
9
|
-
v-bind="{ field, state }"
|
|
10
|
+
v-bind="{ field, state: field.state }"
|
|
10
11
|
/>
|
|
11
12
|
<component
|
|
12
13
|
:is="form.Field"
|
|
@@ -14,11 +15,11 @@
|
|
|
14
15
|
:key="`${name}[${Number(i)}]`"
|
|
15
16
|
:name="`${name}[${Number(i)}]` as DeepKeys<From>"
|
|
16
17
|
>
|
|
17
|
-
<template #default="{ field: subField
|
|
18
|
+
<template #default="{ field: subField }">
|
|
18
19
|
<slot
|
|
19
20
|
v-bind="{
|
|
20
21
|
subField,
|
|
21
|
-
subState,
|
|
22
|
+
subState: subField.state,
|
|
22
23
|
index: Number(i),
|
|
23
24
|
field
|
|
24
25
|
}"
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
</component>
|
|
28
29
|
<slot
|
|
29
30
|
name="post-array"
|
|
30
|
-
v-bind="{ field, state }"
|
|
31
|
+
v-bind="{ field, state: field.state }"
|
|
31
32
|
/>
|
|
32
33
|
<!-- TODO: legacy slot, remove this slot -->
|
|
33
34
|
<slot
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
:name="name"
|
|
5
5
|
:validators="validators"
|
|
6
6
|
>
|
|
7
|
-
|
|
7
|
+
<!--
|
|
8
|
+
Read `state` from `field.state`, not the Field slot's `state` prop.
|
|
9
|
+
Since @tanstack/vue-form 1.32 the slot `state` is a one-time snapshot
|
|
10
|
+
taken when the field mounts and never updates, whereas `field.state`
|
|
11
|
+
is a reactive getter backed by the field store.
|
|
12
|
+
-->
|
|
13
|
+
<template #default="{ field }">
|
|
8
14
|
<OmegaInternalInput
|
|
9
15
|
v-if="meta"
|
|
10
16
|
v-bind="{ ...$attrs, ...$props, inputClass: computedClass }"
|
|
11
17
|
:field="field as any"
|
|
12
|
-
:state="state"
|
|
18
|
+
:state="field.state"
|
|
13
19
|
:register="form.registerField"
|
|
14
20
|
:label="label ?? errori18n(propsName)"
|
|
15
21
|
:meta="meta"
|