@effect-app/vue-components 4.0.0-beta.10 → 4.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/types/components/OmegaForm/OmegaAutoGen.vue.d.ts +1 -1
  2. package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +11 -11
  3. package/dist/types/components/OmegaForm/useOmegaForm.d.ts +2 -4
  4. package/dist/types/utils/index.d.ts +3 -4
  5. package/dist/vue-components.es.js +14 -13
  6. package/dist/vue-components.es10.js +131 -129
  7. package/dist/vue-components.es11.js +2 -2
  8. package/dist/vue-components.es12.js +382 -340
  9. package/dist/vue-components.es16.js +4 -723
  10. package/dist/vue-components.es17.js +10 -140
  11. package/dist/vue-components.es18.js +55 -4
  12. package/dist/vue-components.es19.js +54 -11
  13. package/dist/vue-components.es2.js +18 -17
  14. package/dist/vue-components.es20.js +6 -3
  15. package/dist/vue-components.es21.js +6 -24
  16. package/dist/vue-components.es22.js +3 -4
  17. package/dist/vue-components.es23.js +3 -8
  18. package/dist/vue-components.es24.js +2 -55
  19. package/dist/vue-components.es25.js +2 -69
  20. package/dist/vue-components.es26.js +2 -6
  21. package/dist/vue-components.es27.js +2 -6
  22. package/dist/vue-components.es28.js +17 -3
  23. package/dist/vue-components.es29.js +11 -3
  24. package/dist/vue-components.es3.js +11 -10
  25. package/dist/vue-components.es30.js +29 -2
  26. package/dist/vue-components.es31.js +4 -2
  27. package/dist/vue-components.es32.js +1 -1
  28. package/dist/vue-components.es33.js +1 -1
  29. package/dist/vue-components.es34.js +111 -17
  30. package/dist/vue-components.es36.js +7 -38
  31. package/dist/vue-components.es37.js +32 -4
  32. package/dist/vue-components.es39.js +190 -50
  33. package/dist/vue-components.es41.js +4 -41
  34. package/dist/vue-components.es42.js +22 -26
  35. package/dist/vue-components.es43.js +5 -5
  36. package/dist/vue-components.es44.js +21 -40
  37. package/dist/vue-components.es45.js +27 -311
  38. package/dist/vue-components.es46.js +22 -31
  39. package/dist/vue-components.es47.js +12 -4
  40. package/dist/vue-components.es48.js +5 -24
  41. package/dist/vue-components.es49.js +17 -73
  42. package/dist/vue-components.es5.js +1 -1
  43. package/dist/vue-components.es50.js +9 -99
  44. package/dist/vue-components.es51.js +31 -2
  45. package/dist/vue-components.es52.js +45 -315
  46. package/dist/vue-components.es53.js +26 -64
  47. package/dist/vue-components.es54.js +11 -2
  48. package/dist/vue-components.es55.js +65 -2
  49. package/dist/vue-components.es56.js +55 -110
  50. package/dist/{vue-components.es94.js → vue-components.es57.js} +1 -1
  51. package/dist/vue-components.es58.js +33 -7
  52. package/dist/vue-components.es59.js +29 -32
  53. package/dist/{vue-components.es97.js → vue-components.es60.js} +1 -1
  54. package/dist/vue-components.es61.js +2 -192
  55. package/dist/{vue-components.es99.js → vue-components.es62.js} +1 -1
  56. package/dist/vue-components.es63.js +2 -101
  57. package/dist/vue-components.es7.js +35 -35
  58. package/package.json +4 -4
  59. package/src/components/OmegaForm/OmegaAutoGen.vue +25 -30
  60. package/src/components/OmegaForm/OmegaErrorsInternal.vue +2 -3
  61. package/src/components/OmegaForm/OmegaFormStuff.ts +307 -301
  62. package/src/components/OmegaForm/OmegaInternalInput.vue +3 -1
  63. package/src/components/OmegaForm/useOmegaForm.ts +30 -32
  64. package/src/utils/index.ts +4 -8
  65. package/dist/vue-components.es100.js +0 -4
  66. package/dist/vue-components.es35.js +0 -13
  67. package/dist/vue-components.es38.js +0 -85
  68. package/dist/vue-components.es40.js +0 -563
  69. package/dist/vue-components.es64.js +0 -4
  70. package/dist/vue-components.es65.js +0 -23
  71. package/dist/vue-components.es66.js +0 -84
  72. package/dist/vue-components.es67.js +0 -14
  73. package/dist/vue-components.es68.js +0 -115
  74. package/dist/vue-components.es69.js +0 -5
  75. package/dist/vue-components.es70.js +0 -34
  76. package/dist/vue-components.es71.js +0 -4
  77. package/dist/vue-components.es72.js +0 -4
  78. package/dist/vue-components.es73.js +0 -17
  79. package/dist/vue-components.es74.js +0 -72
  80. package/dist/vue-components.es75.js +0 -6
  81. package/dist/vue-components.es76.js +0 -18
  82. package/dist/vue-components.es77.js +0 -17
  83. package/dist/vue-components.es78.js +0 -10
  84. package/dist/vue-components.es79.js +0 -25
  85. package/dist/vue-components.es80.js +0 -7
  86. package/dist/vue-components.es81.js +0 -23
  87. package/dist/vue-components.es82.js +0 -32
  88. package/dist/vue-components.es83.js +0 -24
  89. package/dist/vue-components.es84.js +0 -14
  90. package/dist/vue-components.es85.js +0 -7
  91. package/dist/vue-components.es86.js +0 -21
  92. package/dist/vue-components.es87.js +0 -11
  93. package/dist/vue-components.es88.js +0 -33
  94. package/dist/vue-components.es89.js +0 -50
  95. package/dist/vue-components.es90.js +0 -28
  96. package/dist/vue-components.es91.js +0 -13
  97. package/dist/vue-components.es92.js +0 -67
  98. package/dist/vue-components.es93.js +0 -58
  99. package/dist/vue-components.es95.js +0 -35
  100. package/dist/vue-components.es96.js +0 -31
  101. package/dist/vue-components.es98.js +0 -4
@@ -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 N, computed as n, getCurrentInstance as k, useAttrs as q, useSlots as B, useId as S, renderSlot as d, normalizeProps as s, guardReactiveProps as p, createElementVNode as w, normalizeClass as F, createBlock as I, createCommentVNode as L, unref as A, openBlock as O, mergeProps as R, createSlots as V, withCtx as z } from "vue";
3
- import { useStore as f } from "@tanstack/vue-form";
4
- import T from "./vue-components.es61.js";
2
+ import { defineComponent as k, computed as a, getCurrentInstance as q, useAttrs as B, useSlots as S, useId as w, renderSlot as p, normalizeProps as s, guardReactiveProps as f, createElementVNode as F, normalizeClass as I, createBlock as L, createCommentVNode as A, unref as O, openBlock as R, mergeProps as V, createSlots as z, withCtx as T } from "vue";
3
+ import { useStore as c } from "@tanstack/vue-form";
4
+ import U from "./vue-components.es39.js";
5
5
 
6
- const H = /* @__PURE__ */ N({
6
+ const J = /* @__PURE__ */ k({
7
7
  inheritAttrs: !1,
8
8
  __name: "OmegaInternalInput",
9
9
  props: {
@@ -18,31 +18,31 @@ const H = /* @__PURE__ */ N({
18
18
  register: {},
19
19
  options: { default: void 0 }
20
20
  },
21
- setup(c) {
22
- const e = c, l = n(() => e.required ?? e?.meta?.required), g = k()?.appContext.components.VTextField, v = q(), y = B(), h = n(() => {
23
- const { class: t, ...a } = v;
24
- return a;
25
- }), i = S(), o = e.field;
26
- f(o.store, (t) => t);
27
- const b = f(o.form.store, (t) => t.fieldMeta), C = n(() => e.type ? e.type : e.meta?.type === "string" ? e.meta.format === "email" ? "email" : "string" : e.meta?.type || "unknown");
28
- e.register(n(() => ({ name: e.field.name, label: e.label, id: i })));
29
- const x = n(() => b.value[e.field.name]?.errors ?? []), m = n(
21
+ setup(g) {
22
+ const e = g, l = a(() => e.required ?? e?.meta?.required), v = q()?.appContext.components.VTextField, o = B(), y = S(), h = a(() => {
23
+ const { class: t, ...n } = o;
24
+ return n;
25
+ }), b = a(() => o.class), i = w(), m = e.field;
26
+ c(m.store, (t) => t);
27
+ const C = c(m.form.store, (t) => t.fieldMeta), x = a(() => e.type ? e.type : e.meta?.type === "string" ? e.meta.format === "email" ? "email" : "string" : e.meta?.type || "unknown");
28
+ e.register(a(() => ({ name: e.field.name, label: e.label, id: i })));
29
+ const M = a(() => C.value[e.field.name]?.errors ?? []), u = a(
30
30
  () => (
31
31
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
- x.value.map((t) => t?.message).filter(Boolean)
32
+ M.value.map((t) => t?.message).filter(Boolean)
33
33
  )
34
- ), M = (t) => t == null || t === !1 || t === "" || Number.isNaN(t), _ = (t) => {
35
- M(t) && e.meta?.type !== "boolean" && e.meta?.nullableOrUndefined ? e.field.handleChange(
34
+ ), _ = (t) => t == null || t === !1 || t === "" || Number.isNaN(t), P = (t) => {
35
+ _(t) && e.meta?.type !== "boolean" && e.meta?.nullableOrUndefined ? e.field.handleChange(
36
36
  e.meta.nullableOrUndefined === "undefined" ? void 0 : null
37
- ) : e.field.handleChange(t), e.field.setMeta((a) => ({ ...a, errorMap: { ...a.errorMap, onSubmit: void 0 } }));
38
- }, P = (t) => {
39
- const a = {
40
- get(E, $, W) {
41
- return $ === "handleChange" ? _ : Reflect.get(...arguments);
37
+ ) : e.field.handleChange(t), e.field.setMeta((n) => ({ ...n, errorMap: { ...n.errorMap, onSubmit: void 0 } }));
38
+ }, N = (t) => {
39
+ const n = {
40
+ get(W, $, Z) {
41
+ return $ === "handleChange" ? P : Reflect.get(...arguments);
42
42
  }
43
43
  };
44
- return new Proxy(t, a);
45
- }, r = n(() => ({
44
+ return new Proxy(t, n);
45
+ }, r = a(() => ({
46
46
  inputProps: {
47
47
  id: i,
48
48
  required: l.value,
@@ -50,34 +50,34 @@ const H = /* @__PURE__ */ N({
50
50
  maxLength: e.meta?.type === "string" && e.meta?.maxLength,
51
51
  max: e.meta?.type === "number" && (e.meta?.maximum ?? (typeof e.meta?.exclusiveMaximum == "number" && e.meta.exclusiveMaximum - 1)),
52
52
  min: e.meta?.type === "number" && (e.meta?.minimum ?? (typeof e.meta?.exclusiveMinimum == "number" && e.meta.exclusiveMinimum + 1)),
53
- errorMessages: m.value,
54
- error: !!m.value.length,
55
- type: C.value,
53
+ errorMessages: u.value,
54
+ error: !!u.value.length,
55
+ type: x.value,
56
56
  // Only add asterisk if label slot is not provided (slot has full control)
57
57
  label: y.label ? e.label : `${e.label}${l.value ? " *" : ""}`,
58
58
  options: e.options,
59
59
  inputClass: e.inputClass
60
60
  },
61
61
  state: e.state,
62
- field: P(e.field)
62
+ field: N(e.field)
63
63
  }));
64
- return (t, a) => d(t.$slots, "default", s(p({ ...r.value.inputProps, field: r.value.field, state: r.value.state })), () => [
65
- w("div", {
66
- class: F(t.$attrs.class)
64
+ return (t, n) => p(t.$slots, "default", s(f({ ...r.value.inputProps, field: r.value.field, state: r.value.state })), () => [
65
+ F("div", {
66
+ class: I(b.value)
67
67
  }, [
68
- A(g) ? (O(), I(T, s(R({ key: 0 }, { ...h.value, ...r.value, class: e.inputClass })), V({ _: 2 }, [
68
+ O(v) ? (R(), L(U, s(V({ key: 0 }, { ...h.value, ...r.value, class: e.inputClass })), z({ _: 2 }, [
69
69
  t.$slots.label ? {
70
70
  name: "label",
71
- fn: z((u) => [
72
- d(t.$slots, "label", s(p(u)))
71
+ fn: T((d) => [
72
+ p(t.$slots, "label", s(f(d)))
73
73
  ]),
74
74
  key: "0"
75
75
  } : void 0
76
- ]), 1040)) : L("", !0)
76
+ ]), 1040)) : A("", !0)
77
77
  ], 2)
78
78
  ]);
79
79
  }
80
80
  });
81
81
  export {
82
- H as default
82
+ J as default
83
83
  };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@effect-app/vue-components",
3
- "version": "4.0.0-beta.10",
3
+ "version": "4.0.0-beta.13",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
- "effect": "^4.0.0-beta.27",
6
+ "effect": "^4.0.0-beta.31",
7
7
  "intl-messageformat": "^11.1.2",
8
8
  "mdi-js": "^1.0.1",
9
9
  "primeflex": "^4.0.0",
@@ -53,8 +53,8 @@
53
53
  "highlight.js": "^11.11.1",
54
54
  "mitt": "^3.0.1",
55
55
  "vue3-highlightjs": "^1.0.5",
56
- "@effect-app/vue": "4.0.0-beta.10",
57
- "effect-app": "4.0.0-beta.10"
56
+ "@effect-app/vue": "4.0.0-beta.13",
57
+ "effect-app": "4.0.0-beta.13"
58
58
  },
59
59
  "scripts": {
60
60
  "check": "vue-tsc",
@@ -20,8 +20,7 @@
20
20
  Name extends DeepKeys<From>"
21
21
  >
22
22
  import { type DeepKeys } from "@tanstack/vue-form"
23
- import { pipe } from "effect/Function"
24
- import * as Order from "effect/Order"
23
+ import { Order } from "effect-app"
25
24
  import { computed } from "vue"
26
25
  import { type FieldMeta, type FieldPath, type OmegaAutoGenMeta, type OmegaInputProps } from "./OmegaFormStuff"
27
26
 
@@ -71,37 +70,33 @@ const orderBy: Order.Order<NewMeta> = Order.mapInput(
71
70
  (x: NewMeta) => namePosition(x.name, props.order || [])
72
71
  )
73
72
 
74
- const children = computed<NewMeta[]>(() =>
75
- pipe(
76
- props.form.meta as Record<DeepKeys<From>, FieldMeta | undefined>,
77
- // include / exclude
78
- filterRecord((_, metaKey) =>
73
+ const children = computed<NewMeta[]>(() => {
74
+ const included = filterRecord((value, metaKey) =>
75
+ Boolean(value)
76
+ && (
79
77
  props.pick
80
78
  ? props.pick.includes(metaKey) && !props.omit?.includes(metaKey)
81
79
  : !props.omit?.includes(metaKey)
82
- ),
83
- (x: Record<DeepKeys<From>, FieldMeta | undefined>) => x,
84
- // labelMap and adding name
85
- mapObject((metaValue, metaKey) => ({
86
- name: metaKey as Name,
87
- label: props.labelMap?.(metaKey) || metaKey,
88
- ...(metaValue ?? {})
89
- })),
90
- // filterMap
91
- props.filterMap
92
- ? filterMapRecord((m: NewMeta) => {
93
- const result = props.filterMap?.(m.name!, m as NewMeta)
94
- return result === undefined || result === true ? m : result
95
- })
96
- : (x: Record<DeepKeys<From>, NewMeta>) => x,
97
- // transform to array
98
- (obj: Record<DeepKeys<From>, NewMeta>) => Object.values(obj) as NewMeta[],
99
- // order
100
- (items: NewMeta[]) => [...items].sort((a, b) => orderBy(a, b)),
101
- // sort
102
- props.sort ? (items: NewMeta[]) => [...items].sort((a, b) => props.sort!(a, b)) : (x: NewMeta[]) => x
103
- )
104
- )
80
+ )
81
+ )(props.form.meta as Record<DeepKeys<From>, FieldMeta | undefined>) as Record<DeepKeys<From>, FieldMeta>
82
+
83
+ const withLabels = mapObject((metaValue: FieldMeta, metaKey) => ({
84
+ name: metaKey,
85
+ label: props.labelMap?.(metaKey) || metaKey,
86
+ ...metaValue
87
+ }))(included) as unknown as Record<DeepKeys<From>, NewMeta>
88
+
89
+ const filtered = props.filterMap
90
+ ? filterMapRecord((m: NewMeta) => {
91
+ const result = props.filterMap?.(m.name, m)
92
+ return result === undefined || result === true ? m : result
93
+ })(withLabels) as Record<DeepKeys<From>, NewMeta>
94
+ : withLabels
95
+
96
+ const sorted = [...Object.values(filtered) as NewMeta[]].sort(orderBy)
97
+
98
+ return props.sort ? sorted.sort(props.sort) : sorted
99
+ })
105
100
 
106
101
  defineSlots<{
107
102
  default(props: { child: NewMeta }): void
@@ -130,10 +130,9 @@ const showedGeneralErrors = computed(() => {
130
130
  .flatMap((issues) =>
131
131
  issues
132
132
  .filter(
133
- (issue): issue is StandardSchemaV1Issue & { message: string } =>
134
- typeof (issue as { message?: unknown })?.message === "string"
133
+ (issue): issue is StandardSchemaV1Issue & { message: string } => Boolean(issue?.message)
135
134
  )
136
- .map((issue) => (issue as StandardSchemaV1Issue & { message: string }).message)
135
+ .map((issue) => issue.message)
137
136
  )
138
137
  )
139
138
  })