@effect-app/vue-components 1.8.4 → 1.8.5

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.
@@ -1,12 +1,13 @@
1
- import { Exit as c, Runtime as s } from "effect";
2
- import { dual as n, isFunction as m } from "./vue-components.es26.js";
3
- const i = Symbol.for("clone-trait"), u = n(2, (e, t) => i in e ? e[i](t) : Object.setPrototypeOf(t, Object.getPrototypeOf(e)));
4
- n(2, (e, t) => u(e, { ...e, ...m(t) ? t(e) : t }));
5
- const b = (e) => new Promise((t, r) => e.addObserver((o) => {
6
- c.isSuccess(o) ? t(o.value) : r(s.makeFiberFailure(o.cause));
7
- }));
1
+ import { onMounted as e, onUnmounted as u } from "vue";
2
+ function p(t) {
3
+ let n;
4
+ e(() => {
5
+ const o = t();
6
+ o && (n = o);
7
+ }), u(() => {
8
+ n && n();
9
+ });
10
+ }
8
11
  export {
9
- u as clone,
10
- i as cloneTrait,
11
- b as runtimeFiberAsPromise
12
+ p as onMountedWithCleanup
12
13
  };
@@ -1,7 +1,12 @@
1
- import { isFunction as c } from "./vue-components.es26.js";
2
- const s = c, t = (o) => typeof o == "object" && o !== null, i = (o) => t(o) || s(o);
1
+ import { Exit as c, Runtime as s } from "effect";
2
+ import { dual as n, isFunction as m } from "./vue-components.es26.js";
3
+ const i = Symbol.for("clone-trait"), u = n(2, (e, t) => i in e ? e[i](t) : Object.setPrototypeOf(t, Object.getPrototypeOf(e)));
4
+ n(2, (e, t) => u(e, { ...e, ...m(t) ? t(e) : t }));
5
+ const b = (e) => new Promise((t, r) => e.addObserver((o) => {
6
+ c.isSuccess(o) ? t(o.value) : r(s.makeFiberFailure(o.cause));
7
+ }));
3
8
  export {
4
- s as isFunction,
5
- i as isObject,
6
- t as isRecordOrArray
9
+ u as clone,
10
+ i as cloneTrait,
11
+ b as runtimeFiberAsPromise
7
12
  };
@@ -1,56 +1,7 @@
1
- import { defineComponent as F, computed as i, onMounted as M, provide as P, createBlock as c, openBlock as s, resolveDynamicComponent as p, withCtx as g, renderSlot as o, createElementBlock as k, normalizeProps as l, guardReactiveProps as u, Fragment as A, renderList as b, mergeProps as B } from "vue";
2
- const N = /* @__PURE__ */ F({
3
- inheritAttrs: !1,
4
- __name: "OmegaArray",
5
- props: {
6
- form: {},
7
- name: {},
8
- defaultItems: {},
9
- items: {}
10
- },
11
- setup(n) {
12
- const a = n, y = a.form.useStore((e) => e.values), d = i(() => {
13
- const e = a.name.replace(/\[/g, ".").replace(/\]/g, "");
14
- try {
15
- return e.split(".").reduce((r, t) => r && r[t], y.value);
16
- } catch (r) {
17
- return console.error(r), [];
18
- }
19
- });
20
- M(async () => {
21
- a.defaultItems && !d.value && a.form.setFieldValue(a.name, a.defaultItems);
22
- });
23
- const $ = i(() => (r) => {
24
- const t = r.replace(/\[\d+\]/g, "");
25
- return a.form.meta[t];
26
- });
27
- return P("getMetaFromArray", $), (e, r) => (s(), c(p(n.form.Field), { name: n.name }, {
28
- default: g(({ field: t, state: f }) => [
29
- o(e.$slots, "pre-array", l(u({ field: t, state: f }))),
30
- (s(!0), k(A, null, b(d.value, (C, m) => (s(), c(p(n.form.Field), {
31
- key: `${n.name}[${Number(m)}]`,
32
- name: (
33
- // eslint-disable-next-line
34
- `${n.name}[${Number(m)}]`
35
- )
36
- }, {
37
- default: g(({ field: v, state: h }) => [
38
- o(e.$slots, "default", B({ ref_for: !0 }, {
39
- subField: v,
40
- subState: h,
41
- index: Number(m),
42
- field: t
43
- }))
44
- ]),
45
- _: 2
46
- }, 1032, ["name"]))), 128)),
47
- o(e.$slots, "post-array", l(u({ field: t, state: f }))),
48
- o(e.$slots, "field", l(u({ field: t })))
49
- ]),
50
- _: 3
51
- }, 8, ["name"]));
52
- }
53
- });
1
+ import { isFunction as c } from "./vue-components.es26.js";
2
+ const s = c, t = (o) => typeof o == "object" && o !== null, i = (o) => t(o) || s(o);
54
3
  export {
55
- N as default
4
+ s as isFunction,
5
+ i as isObject,
6
+ t as isRecordOrArray
56
7
  };
@@ -1,70 +1,56 @@
1
- import { defineComponent as O, computed as j, createElementBlock as M, openBlock as _, Fragment as E, renderList as A, renderSlot as F, createVNode as g, unref as h, mergeProps as k } from "vue";
2
- import { Order as l, pipe as v, Array as u } from "effect-app";
3
- const I = /* @__PURE__ */ O({
4
- __name: "OmegaAutoGen",
1
+ import { defineComponent as F, computed as i, onMounted as M, provide as P, createBlock as c, openBlock as s, resolveDynamicComponent as p, withCtx as g, renderSlot as o, createElementBlock as k, normalizeProps as l, guardReactiveProps as u, Fragment as A, renderList as b, mergeProps as B } from "vue";
2
+ const N = /* @__PURE__ */ F({
3
+ inheritAttrs: !1,
4
+ __name: "OmegaArray",
5
5
  props: {
6
6
  form: {},
7
- pick: {},
8
- omit: {},
9
- labelMap: { type: Function },
10
- filterMap: { type: Function },
11
- order: {},
12
- sort: {}
7
+ name: {},
8
+ defaultItems: {},
9
+ items: {}
13
10
  },
14
- setup(i) {
15
- const p = (e) => (r) => Object.fromEntries(
16
- Object.entries(r).map(([t, o]) => [t, e(o, t)])
17
- ), a = (e) => (r) => Object.fromEntries(
18
- Object.entries(r).filter(([t, o]) => e(o, t))
19
- ), m = (e) => (r) => Object.entries(r).reduce(
20
- (t, [o, c]) => {
21
- const s = e(c, o);
22
- return s !== !1 && (t[o] = s), t;
23
- },
24
- {}
25
- ), n = i, f = (e, r) => {
26
- const t = r?.indexOf(e) ?? -1;
27
- return t === -1 ? Number.MAX_SAFE_INTEGER : t;
28
- }, d = l.mapInput(
29
- l.number,
30
- (e) => f(e.name, n.order || [])
31
- ), b = j(
32
- () => v(
33
- n.form.meta,
34
- // include / exclude
35
- a(
36
- (e, r) => n.pick ? n.pick.includes(r) && !n.omit?.includes(r) : !n.omit?.includes(r)
37
- ),
38
- (e) => e,
39
- // labelMap and adding name
40
- p((e, r) => ({
41
- name: r,
42
- label: n.labelMap?.(r) || r,
43
- ...e
44
- })),
45
- // filterMap
46
- n.filterMap ? m((e) => {
47
- const r = n.filterMap?.(e.name, e);
48
- return r === void 0 || r === !0 ? e : r;
49
- }) : (e) => e,
50
- // transform to array
51
- (e) => Object.values(e),
52
- // order
53
- u.sort(d),
54
- // sort
55
- n.sort ? u.sort(n.sort) : (e) => e
56
- )
57
- );
58
- return (e, r) => (_(!0), M(E, null, A(b.value, ({ name: t, label: o, ...c }) => F(e.$slots, "default", {
59
- child: { name: t, label: o, ...c }
60
- }, () => [
61
- g(h(i.form).Input, k({
62
- name: t,
63
- label: o
64
- }, { ref_for: !0 }, c), null, 16, ["name", "label"])
65
- ])), 256));
11
+ setup(n) {
12
+ const a = n, y = a.form.useStore((e) => e.values), d = i(() => {
13
+ const e = a.name.replace(/\[/g, ".").replace(/\]/g, "");
14
+ try {
15
+ return e.split(".").reduce((r, t) => r && r[t], y.value);
16
+ } catch (r) {
17
+ return console.error(r), [];
18
+ }
19
+ });
20
+ M(async () => {
21
+ a.defaultItems && !d.value && a.form.setFieldValue(a.name, a.defaultItems);
22
+ });
23
+ const $ = i(() => (r) => {
24
+ const t = r.replace(/\[\d+\]/g, "");
25
+ return a.form.meta[t];
26
+ });
27
+ return P("getMetaFromArray", $), (e, r) => (s(), c(p(n.form.Field), { name: n.name }, {
28
+ default: g(({ field: t, state: f }) => [
29
+ o(e.$slots, "pre-array", l(u({ field: t, state: f }))),
30
+ (s(!0), k(A, null, b(d.value, (C, m) => (s(), c(p(n.form.Field), {
31
+ key: `${n.name}[${Number(m)}]`,
32
+ name: (
33
+ // eslint-disable-next-line
34
+ `${n.name}[${Number(m)}]`
35
+ )
36
+ }, {
37
+ default: g(({ field: v, state: h }) => [
38
+ o(e.$slots, "default", B({ ref_for: !0 }, {
39
+ subField: v,
40
+ subState: h,
41
+ index: Number(m),
42
+ field: t
43
+ }))
44
+ ]),
45
+ _: 2
46
+ }, 1032, ["name"]))), 128)),
47
+ o(e.$slots, "post-array", l(u({ field: t, state: f }))),
48
+ o(e.$slots, "field", l(u({ field: t })))
49
+ ]),
50
+ _: 3
51
+ }, 8, ["name"]));
66
52
  }
67
53
  });
68
54
  export {
69
- I as default
55
+ N as default
70
56
  };
@@ -1,8 +1,70 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");if(a.appendChild(document.createTextNode(".v-enter-from[data-v-4f889c81],.v-leave-to[data-v-4f889c81]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-4f889c81],.v-leave-active[data-v-4f889c81]{display:grid;transition:all .15s}.v-enter-to[data-v-4f889c81],.v-leave-from[data-v-4f889c81]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-4f889c81]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-4f889c81]{min-height:0}.error-list[data-v-4f889c81]{list-style-position:inside}div.error-list[data-v-4f889c81]{container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;gap:1.5em;align-items:start}@container (max-width: 27.125rem){div.error-list[data-v-4f889c81]{grid-template-columns:auto 1fr}.error-link[data-v-4f889c81]{grid-column:1 / -1;justify-self:end}}@container (max-width: 17.75rem){div.error-list[data-v-4f889c81]{grid-template-columns:1fr}.error-message[data-v-4f889c81]{grid-column:1 / -1}}.error-item[data-v-4f889c81]{display:contents}a[data-v-4f889c81]{min-width:min-content}.error-link[data-v-4f889c81]{align-items:center;color:inherit;display:inline-flex;flex-wrap:wrap;gap:.25em;padding-bottom:1em;text-decoration:none}")),document.head.appendChild(a),window.customElements){const e=window.customElements.define;window.customElements.define=function(n,t){const i=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(i&&i.call(this),this.shadowRoot){const r=document.createElement("style");r.appendChild(document.createTextNode(".v-enter-from[data-v-4f889c81],.v-leave-to[data-v-4f889c81]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-4f889c81],.v-leave-active[data-v-4f889c81]{display:grid;transition:all .15s}.v-enter-to[data-v-4f889c81],.v-leave-from[data-v-4f889c81]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-4f889c81]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-4f889c81]{min-height:0}.error-list[data-v-4f889c81]{list-style-position:inside}div.error-list[data-v-4f889c81]{container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;gap:1.5em;align-items:start}@container (max-width: 27.125rem){div.error-list[data-v-4f889c81]{grid-template-columns:auto 1fr}.error-link[data-v-4f889c81]{grid-column:1 / -1;justify-self:end}}@container (max-width: 17.75rem){div.error-list[data-v-4f889c81]{grid-template-columns:1fr}.error-message[data-v-4f889c81]{grid-column:1 / -1}}.error-item[data-v-4f889c81]{display:contents}a[data-v-4f889c81]{min-width:min-content}.error-link[data-v-4f889c81]{align-items:center;color:inherit;display:inline-flex;flex-wrap:wrap;gap:.25em;padding-bottom:1em;text-decoration:none}")),this.shadowRoot.appendChild(r)}},e.call(window.customElements,n,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- import r from "./vue-components.es29.js";
3
-
4
- import o from "./vue-components.es31.js";
5
- const e = /* @__PURE__ */ o(r, [["__scopeId", "data-v-4f889c81"]]);
1
+ import { defineComponent as O, computed as j, createElementBlock as M, openBlock as _, Fragment as E, renderList as A, renderSlot as F, createVNode as g, unref as h, mergeProps as k } from "vue";
2
+ import { Order as l, pipe as v, Array as u } from "effect-app";
3
+ const I = /* @__PURE__ */ O({
4
+ __name: "OmegaAutoGen",
5
+ props: {
6
+ form: {},
7
+ pick: {},
8
+ omit: {},
9
+ labelMap: { type: Function },
10
+ filterMap: { type: Function },
11
+ order: {},
12
+ sort: {}
13
+ },
14
+ setup(i) {
15
+ const p = (e) => (r) => Object.fromEntries(
16
+ Object.entries(r).map(([t, o]) => [t, e(o, t)])
17
+ ), a = (e) => (r) => Object.fromEntries(
18
+ Object.entries(r).filter(([t, o]) => e(o, t))
19
+ ), m = (e) => (r) => Object.entries(r).reduce(
20
+ (t, [o, c]) => {
21
+ const s = e(c, o);
22
+ return s !== !1 && (t[o] = s), t;
23
+ },
24
+ {}
25
+ ), n = i, f = (e, r) => {
26
+ const t = r?.indexOf(e) ?? -1;
27
+ return t === -1 ? Number.MAX_SAFE_INTEGER : t;
28
+ }, d = l.mapInput(
29
+ l.number,
30
+ (e) => f(e.name, n.order || [])
31
+ ), b = j(
32
+ () => v(
33
+ n.form.meta,
34
+ // include / exclude
35
+ a(
36
+ (e, r) => n.pick ? n.pick.includes(r) && !n.omit?.includes(r) : !n.omit?.includes(r)
37
+ ),
38
+ (e) => e,
39
+ // labelMap and adding name
40
+ p((e, r) => ({
41
+ name: r,
42
+ label: n.labelMap?.(r) || r,
43
+ ...e
44
+ })),
45
+ // filterMap
46
+ n.filterMap ? m((e) => {
47
+ const r = n.filterMap?.(e.name, e);
48
+ return r === void 0 || r === !0 ? e : r;
49
+ }) : (e) => e,
50
+ // transform to array
51
+ (e) => Object.values(e),
52
+ // order
53
+ u.sort(d),
54
+ // sort
55
+ n.sort ? u.sort(n.sort) : (e) => e
56
+ )
57
+ );
58
+ return (e, r) => (_(!0), M(E, null, A(b.value, ({ name: t, label: o, ...c }) => F(e.$slots, "default", {
59
+ child: { name: t, label: o, ...c }
60
+ }, () => [
61
+ g(h(i.form).Input, k({
62
+ name: t,
63
+ label: o
64
+ }, { ref_for: !0 }, c), null, 16, ["name", "label"])
65
+ ])), 256));
66
+ }
67
+ });
6
68
  export {
7
- e as default
69
+ I as default
8
70
  };
@@ -1,8 +1,8 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var n=document.createElement("style");if(n.appendChild(document.createTextNode("fieldset[data-v-8fe92df3]{display:contents}fieldset[disabled][data-v-8fe92df3]>*{pointer-events:none}")),document.head.appendChild(n),window.customElements){const e=window.customElements.define;window.customElements.define=function(i,t){const d=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(d&&d.call(this),this.shadowRoot){const o=document.createElement("style");o.appendChild(document.createTextNode("fieldset[data-v-8fe92df3]{display:contents}fieldset[disabled][data-v-8fe92df3]>*{pointer-events:none}")),this.shadowRoot.appendChild(o)}},e.call(window.customElements,i,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- import o from "./vue-components.es32.js";
1
+ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");if(a.appendChild(document.createTextNode(".v-enter-from[data-v-4f889c81],.v-leave-to[data-v-4f889c81]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-4f889c81],.v-leave-active[data-v-4f889c81]{display:grid;transition:all .15s}.v-enter-to[data-v-4f889c81],.v-leave-from[data-v-4f889c81]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-4f889c81]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-4f889c81]{min-height:0}.error-list[data-v-4f889c81]{list-style-position:inside}div.error-list[data-v-4f889c81]{container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;gap:1.5em;align-items:start}@container (max-width: 27.125rem){div.error-list[data-v-4f889c81]{grid-template-columns:auto 1fr}.error-link[data-v-4f889c81]{grid-column:1 / -1;justify-self:end}}@container (max-width: 17.75rem){div.error-list[data-v-4f889c81]{grid-template-columns:1fr}.error-message[data-v-4f889c81]{grid-column:1 / -1}}.error-item[data-v-4f889c81]{display:contents}a[data-v-4f889c81]{min-width:min-content}.error-link[data-v-4f889c81]{align-items:center;color:inherit;display:inline-flex;flex-wrap:wrap;gap:.25em;padding-bottom:1em;text-decoration:none}")),document.head.appendChild(a),window.customElements){const e=window.customElements.define;window.customElements.define=function(n,t){const i=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(i&&i.call(this),this.shadowRoot){const r=document.createElement("style");r.appendChild(document.createTextNode(".v-enter-from[data-v-4f889c81],.v-leave-to[data-v-4f889c81]{max-height:0px;grid-template-rows:0fr;opacity:0}.v-enter-active[data-v-4f889c81],.v-leave-active[data-v-4f889c81]{display:grid;transition:all .15s}.v-enter-to[data-v-4f889c81],.v-leave-from[data-v-4f889c81]{grid-template-rows:1fr;max-height:50vh;opacity:1}.error-alert[data-v-4f889c81]{transition-behavior:allow-discrete;display:grid;overflow:hidden;min-height:0}.error-alert>*[data-v-4f889c81]{min-height:0}.error-list[data-v-4f889c81]{list-style-position:inside}div.error-list[data-v-4f889c81]{container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;gap:1.5em;align-items:start}@container (max-width: 27.125rem){div.error-list[data-v-4f889c81]{grid-template-columns:auto 1fr}.error-link[data-v-4f889c81]{grid-column:1 / -1;justify-self:end}}@container (max-width: 17.75rem){div.error-list[data-v-4f889c81]{grid-template-columns:1fr}.error-message[data-v-4f889c81]{grid-column:1 / -1}}.error-item[data-v-4f889c81]{display:contents}a[data-v-4f889c81]{min-width:min-content}.error-link[data-v-4f889c81]{align-items:center;color:inherit;display:inline-flex;flex-wrap:wrap;gap:.25em;padding-bottom:1em;text-decoration:none}")),this.shadowRoot.appendChild(r)}},e.call(window.customElements,n,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ import r from "./vue-components.es29.js";
3
3
 
4
- import m from "./vue-components.es31.js";
5
- const a = /* @__PURE__ */ m(o, [["__scopeId", "data-v-8fe92df3"]]);
4
+ import o from "./vue-components.es31.js";
5
+ const e = /* @__PURE__ */ o(r, [["__scopeId", "data-v-4f889c81"]]);
6
6
  export {
7
- a as default
7
+ e as default
8
8
  };
@@ -1,5 +1,8 @@
1
- import { TraceAPI as r } from "./vue-components.es46.js";
2
- var t = r.getInstance();
1
+ (function(){"use strict";try{if(typeof document<"u"){var n=document.createElement("style");if(n.appendChild(document.createTextNode("fieldset[data-v-8fe92df3]{display:contents}fieldset[disabled][data-v-8fe92df3]>*{pointer-events:none}")),document.head.appendChild(n),window.customElements){const e=window.customElements.define;window.customElements.define=function(i,t){const d=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(d&&d.call(this),this.shadowRoot){const o=document.createElement("style");o.appendChild(document.createTextNode("fieldset[data-v-8fe92df3]{display:contents}fieldset[disabled][data-v-8fe92df3]>*{pointer-events:none}")),this.shadowRoot.appendChild(o)}},e.call(window.customElements,i,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ import o from "./vue-components.es32.js";
3
+
4
+ import m from "./vue-components.es31.js";
5
+ const a = /* @__PURE__ */ m(o, [["__scopeId", "data-v-8fe92df3"]]);
3
6
  export {
4
- t as trace
7
+ a as default
5
8
  };
@@ -1,5 +1,5 @@
1
- import { ContextAPI as t } from "./vue-components.es45.js";
2
- var o = t.getInstance();
1
+ import { TraceAPI as r } from "./vue-components.es46.js";
2
+ var t = r.getInstance();
3
3
  export {
4
- o as context
4
+ t as trace
5
5
  };
@@ -1,4 +1,5 @@
1
- import f from "./vue-components.es5.js";
1
+ import { ContextAPI as t } from "./vue-components.es45.js";
2
+ var o = t.getInstance();
2
3
  export {
3
- f as default
4
+ o as context
4
5
  };
@@ -1,4 +1,4 @@
1
- import f from "./vue-components.es6.js";
1
+ import f from "./vue-components.es5.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,19 +1,4 @@
1
- function c(t) {
2
- return { all: t = t || /* @__PURE__ */ new Map(), on: function(e, f) {
3
- var i = t.get(e);
4
- i ? i.push(f) : t.set(e, [f]);
5
- }, off: function(e, f) {
6
- var i = t.get(e);
7
- i && (f ? i.splice(i.indexOf(f) >>> 0, 1) : t.set(e, []));
8
- }, emit: function(e, f) {
9
- var i = t.get(e);
10
- i && i.slice().map(function(a) {
11
- a(f);
12
- }), (i = t.get("*")) && i.slice().map(function(a) {
13
- a(e, f);
14
- });
15
- } };
16
- }
1
+ import f from "./vue-components.es6.js";
17
2
  export {
18
- c as default
3
+ f as default
19
4
  };
@@ -1,13 +1,19 @@
1
- import { onMounted as e, onUnmounted as u } from "vue";
2
- function p(t) {
3
- let n;
4
- e(() => {
5
- const o = t();
6
- o && (n = o);
7
- }), u(() => {
8
- n && n();
9
- });
1
+ function c(t) {
2
+ return { all: t = t || /* @__PURE__ */ new Map(), on: function(e, f) {
3
+ var i = t.get(e);
4
+ i ? i.push(f) : t.set(e, [f]);
5
+ }, off: function(e, f) {
6
+ var i = t.get(e);
7
+ i && (f ? i.splice(i.indexOf(f) >>> 0, 1) : t.set(e, []));
8
+ }, emit: function(e, f) {
9
+ var i = t.get(e);
10
+ i && i.slice().map(function(a) {
11
+ a(f);
12
+ }), (i = t.get("*")) && i.slice().map(function(a) {
13
+ a(e, f);
14
+ });
15
+ } };
10
16
  }
11
17
  export {
12
- p as onMountedWithCleanup
18
+ c as default
13
19
  };
@@ -1,4 +1,4 @@
1
- import f from "./vue-components.es14.js";
1
+ import f from "./vue-components.es15.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import f from "./vue-components.es15.js";
1
+ import f from "./vue-components.es16.js";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as c, mergeModels as f, useModel as v, resolveComponent as C, createBlock as k, openBlock as V, unref as r, createSlots as g, withCtx as d, renderSlot as u, renderList as y, normalizeProps as B, guardReactiveProps as E } from "vue";
2
2
  import { useOnClose as M } from "./vue-components.es8.js";
3
- import { onMountedWithCleanup as _ } from "./vue-components.es23.js";
3
+ import { onMountedWithCleanup as _ } from "./vue-components.es12.js";
4
4
  const P = /* @__PURE__ */ c({
5
5
  __name: "Dialog",
6
6
  props: /* @__PURE__ */ f({
@@ -1,9 +1,9 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var i=document.createElement("style");if(i.appendChild(document.createTextNode(".omega-input .v-input__details:has(.v-messages:empty){grid-template-rows:0fr;transition:all .2s}.omega-input .v-messages:empty{min-height:0}.omega-input .v-input__details:has(.v-messages){transition:all .2s;overflow:hidden;min-height:0;display:grid;grid-template-rows:1fr}.omega-input .v-messages{transition:all .2s}.omega-input .v-messages>*{transition-duration:0s!important}.omega-input [role=alert]:has(.v-messages:empty){padding:0}.omega-input .v-btn{cursor:pointer;width:auto;appearance:none;box-shadow:none;display:block;min-width:auto;height:auto;padding:.5em .5em .5em 1em}")),document.head.appendChild(i),window.customElements){const e=window.customElements.define;window.customElements.define=function(s,t){const n=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(n&&n.call(this),this.shadowRoot){const a=document.createElement("style");a.appendChild(document.createTextNode(".omega-input .v-input__details:has(.v-messages:empty){grid-template-rows:0fr;transition:all .2s}.omega-input .v-messages:empty{min-height:0}.omega-input .v-input__details:has(.v-messages){transition:all .2s;overflow:hidden;min-height:0;display:grid;grid-template-rows:1fr}.omega-input .v-messages{transition:all .2s}.omega-input .v-messages>*{transition-duration:0s!important}.omega-input [role=alert]:has(.v-messages:empty){padding:0}.omega-input .v-btn{cursor:pointer;width:auto;appearance:none;box-shadow:none;display:block;min-width:auto;height:auto;padding:.5em .5em .5em 1em}")),this.shadowRoot.appendChild(a)}},e.call(window.customElements,s,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- import { defineComponent as C, getCurrentInstance as x, useId as P, computed as r, onMounted as _, renderSlot as $, normalizeProps as u, guardReactiveProps as N, createElementVNode as V, normalizeClass as k, createBlock as q, createCommentVNode as w, unref as B, openBlock as F, mergeProps as I } from "vue";
2
+ import { defineComponent as b, getCurrentInstance as C, useId as x, computed as n, onMounted as P, renderSlot as _, normalizeProps as m, guardReactiveProps as $, createElementVNode as N, normalizeClass as V, createBlock as k, createCommentVNode as q, unref as B, openBlock as F, mergeProps as I } from "vue";
3
3
  import { useStore as L } from "@tanstack/vue-form";
4
- import D from "./vue-components.es24.js";
4
+ import w from "./vue-components.es24.js";
5
5
 
6
- const U = /* @__PURE__ */ C({
6
+ const U = /* @__PURE__ */ b({
7
7
  inheritAttrs: !1,
8
8
  __name: "OmegaInternalInput",
9
9
  props: {
@@ -15,53 +15,53 @@ const U = /* @__PURE__ */ C({
15
15
  register: { type: Function },
16
16
  options: {}
17
17
  },
18
- setup(p) {
19
- const e = p, d = x()?.appContext.components.VTextField, o = P(), l = e.field, n = L(l.store, (t) => t), i = r(() => e.type ? e.type : e.meta?.type === "string" ? e.meta.format === "email" ? "email" : "string" : e.meta?.type || "unknown");
20
- e.register(r(() => ({ name: e.field.name, label: e.label, id: o })));
21
- const f = r(() => n.value.value), c = r(() => n.value.meta.errors ?? []), g = r(
18
+ setup(u) {
19
+ const e = u, p = C()?.appContext.components.VTextField, i = x(), a = e.field, l = L(a.store, (t) => t), d = n(() => e.type ? e.type : e.meta?.type === "string" ? e.meta.format === "email" ? "email" : "string" : e.meta?.type || "unknown");
20
+ e.register(n(() => ({ name: e.field.name, label: e.label, id: i })));
21
+ const f = n(() => l.value.value), c = n(() => l.value.meta.errors ?? []), s = n(
22
22
  () => (
23
23
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
24
  c.value.map((t) => t?.message).filter(Boolean)
25
25
  )
26
- ), y = (t) => t == null || t === !1 || t === "" || Number.isNaN(t), h = (t) => {
27
- y(t) && e.meta?.type !== "boolean" ? e.field.handleChange(
26
+ ), g = (t) => t == null || t === !1 || t === "" || Number.isNaN(t), y = (t) => {
27
+ g(t) && e.meta?.type !== "boolean" ? e.field.handleChange(
28
28
  e.meta?.nullableOrUndefined === "undefined" ? void 0 : null
29
29
  ) : e.field.handleChange(t);
30
30
  };
31
- _(() => {
31
+ P(() => {
32
32
  if (!f.value && !e.meta?.required && e.meta?.nullableOrUndefined === "null") {
33
- const t = n.value.meta.isDirty;
34
- l.setValue(null), l.setMeta((a) => ({ ...a, isDirty: t }));
33
+ const t = l.value.meta.isDirty;
34
+ a.setValue(null), a.setMeta((r) => ({ ...r, isDirty: t }));
35
35
  }
36
36
  });
37
- const m = r(() => !n.value.meta.isDirty && i.value !== "select" ? [] : g.value), v = (t) => {
38
- const a = {
39
- get(S, b, z) {
40
- return b === "handleChange" ? h : Reflect.get(...arguments);
37
+ const h = (t) => {
38
+ const r = {
39
+ get(S, v, z) {
40
+ return v === "handleChange" ? y : Reflect.get(...arguments);
41
41
  }
42
42
  };
43
- return new Proxy(t, a);
44
- }, s = r(() => ({
43
+ return new Proxy(t, r);
44
+ }, o = n(() => ({
45
45
  inputProps: {
46
- id: o,
46
+ id: i,
47
47
  required: e.meta?.required,
48
48
  minLength: e.meta?.type === "string" && e.meta?.minLength,
49
49
  maxLength: e.meta?.type === "string" && e.meta?.maxLength,
50
50
  max: e.meta?.type === "number" && e.meta?.maximum,
51
51
  min: e.meta?.type === "number" && e.meta?.minimum,
52
- errorMessages: m.value,
53
- error: !!m.value.length,
54
- type: i.value,
52
+ errorMessages: s.value,
53
+ error: !!s.value.length,
54
+ type: d.value,
55
55
  label: `${e.label}${e.meta?.required ? " *" : ""}`,
56
56
  options: e.options
57
57
  },
58
- field: v(e.field)
58
+ field: h(e.field)
59
59
  }));
60
- return (t, a) => $(t.$slots, "default", u(N({ ...t.$attrs, ...s.value.inputProps, field: s.value.field })), () => [
61
- V("div", {
62
- class: k(t.$attrs.class)
60
+ return (t, r) => _(t.$slots, "default", m($({ ...t.$attrs, ...o.value.inputProps, field: o.value.field })), () => [
61
+ N("div", {
62
+ class: V(t.$attrs.class)
63
63
  }, [
64
- B(d) ? (F(), q(D, u(I({ key: 0 }, { ...t.$attrs, ...s.value })), null, 16)) : w("", !0)
64
+ B(p) ? (F(), k(w, m(I({ key: 0 }, { ...t.$attrs, ...o.value })), null, 16)) : q("", !0)
65
65
  ], 2)
66
66
  ]);
67
67
  }
@@ -1,17 +1,17 @@
1
1
  import { useForm as T } from "@tanstack/vue-form";
2
2
  import { Data as W, S as U, Effect as l, Array as g, Option as E, Fiber as F } from "effect-app";
3
- import { runtimeFiberAsPromise as k } from "./vue-components.es12.js";
4
- import { isObject as z } from "./vue-components.es13.js";
3
+ import { runtimeFiberAsPromise as k } from "./vue-components.es13.js";
4
+ import { isObject as z } from "./vue-components.es14.js";
5
5
  import { computed as $, onUnmounted as A, onMounted as Q, onBeforeUnmount as X, watch as N, h as D } from "vue";
6
6
  import { usePreventClose as Y } from "./vue-components.es8.js";
7
- import Z from "./vue-components.es14.js";
8
- import C from "./vue-components.es15.js";
9
- import ee from "./vue-components.es16.js";
7
+ import Z from "./vue-components.es15.js";
8
+ import C from "./vue-components.es16.js";
9
+ import ee from "./vue-components.es17.js";
10
10
  import { generateMetaFromSchema as re } from "./vue-components.es9.js";
11
11
  import te from "./vue-components.es5.js";
12
- import se from "./vue-components.es17.js";
13
- import { trace as _ } from "./vue-components.es18.js";
14
- import { context as M } from "./vue-components.es19.js";
12
+ import se from "./vue-components.es18.js";
13
+ import { trace as _ } from "./vue-components.es19.js";
14
+ import { context as M } from "./vue-components.es20.js";
15
15
  class ne extends W.TaggedError("FormErrors") {
16
16
  }
17
17
  const h = (c) => function(o) {
@@ -1,6 +1,6 @@
1
- import r from "./vue-components.es22.js";
1
+ import r from "./vue-components.es23.js";
2
2
  import { inject as c, provide as l } from "vue";
3
- import { onMountedWithCleanup as u } from "./vue-components.es23.js";
3
+ import { onMountedWithCleanup as u } from "./vue-components.es12.js";
4
4
  const f = () => r(), i = Symbol("DialogBus"), p = () => c(i, null), g = () => {
5
5
  const e = f();
6
6
  return l(i, e), e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue-components",
3
- "version": "1.8.4",
3
+ "version": "1.8.5",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
6
  "effect": "^3.18.0",
@@ -104,12 +104,6 @@ onMounted(() => {
104
104
  }
105
105
  })
106
106
 
107
- const showedErrors = computed(() => {
108
- // single select field can be validated on change
109
- if (!fieldState.value.meta.isDirty && fieldType.value !== "select") return []
110
- return errors.value
111
- })
112
-
113
107
  const wrapField = (field: OmegaFieldInternalApi<From, Name>) => {
114
108
  const handler3 = {
115
109
  get(_target: any, prop: PropertyKey, _receiver: any) {
@@ -132,8 +126,8 @@ const inputProps: ComputedRef<InputProps<From, Name>> = computed(() => ({
132
126
  maxLength: props.meta?.type === "string" && props.meta?.maxLength,
133
127
  max: props.meta?.type === "number" && props.meta?.maximum,
134
128
  min: props.meta?.type === "number" && props.meta?.minimum,
135
- errorMessages: showedErrors.value,
136
- error: !!showedErrors.value.length,
129
+ errorMessages: errors.value,
130
+ error: !!errors.value.length,
137
131
  type: fieldType.value,
138
132
  label: `${props.label}${props.meta?.required ? " *" : ""}`,
139
133
  options: props.options