@effect-app/vue-components 0.18.21 → 0.19.1

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 (36) hide show
  1. package/dist/types/components/OmegaForm/OmegaWrapper.vue.d.ts +6 -2
  2. package/dist/vue-components.es12.js +2 -2
  3. package/dist/vue-components.es20.js +35 -35
  4. package/dist/vue-components.es24.js +1 -1
  5. package/dist/vue-components.es25.js +1 -1
  6. package/dist/vue-components.es27.js +90 -11
  7. package/dist/vue-components.es28.js +11 -90
  8. package/dist/vue-components.es29.js +23 -2
  9. package/dist/vue-components.es30.js +5 -23
  10. package/dist/vue-components.es31.js +21 -5
  11. package/dist/vue-components.es32.js +25 -16
  12. package/dist/vue-components.es33.js +15 -23
  13. package/dist/vue-components.es34.js +7 -17
  14. package/dist/vue-components.es35.js +5 -12
  15. package/dist/vue-components.es36.js +19 -5
  16. package/dist/vue-components.es37.js +9 -19
  17. package/dist/vue-components.es38.js +31 -9
  18. package/dist/vue-components.es39.js +42 -25
  19. package/dist/vue-components.es40.js +16 -38
  20. package/dist/vue-components.es41.js +2 -26
  21. package/dist/vue-components.es42.js +1 -1
  22. package/dist/vue-components.es44.js +1 -1
  23. package/dist/vue-components.es45.js +3 -3
  24. package/dist/vue-components.es46.js +29 -115
  25. package/dist/vue-components.es47.js +44 -0
  26. package/dist/vue-components.es48.js +2 -29
  27. package/dist/vue-components.es49.js +43 -41
  28. package/dist/vue-components.es50.js +2 -4
  29. package/dist/vue-components.es51.js +115 -2
  30. package/dist/vue-components.es53.js +4 -2
  31. package/dist/vue-components.es7.js +1 -1
  32. package/dist/vue-components.es9.js +3 -3
  33. package/package.json +2 -2
  34. package/src/components/OmegaForm/OmegaWrapper.vue +9 -3
  35. package/src/components/OmegaForm/useOmegaForm.ts +1 -1
  36. package/dist/vue-components.es52.js +0 -46
@@ -1,4 +1,117 @@
1
- var r = "1.9.0";
1
+ import { defineComponent as P, resolveComponent as s, createElementBlock as g, openBlock as o, createBlock as n, createCommentVNode as l, resolveDynamicComponent as u, mergeProps as i } from "vue";
2
+ const b = /* @__PURE__ */ P({
3
+ inheritAttrs: !1,
4
+ __name: "OmegaInputVuetify",
5
+ props: {
6
+ inputProps: {},
7
+ vuetifyValue: {}
8
+ },
9
+ emits: ["focus", "blur"],
10
+ setup(y) {
11
+ return (e, r) => {
12
+ const a = s("v-text-field"), t = s("v-textarea"), m = s("v-select"), d = s("v-autocomplete");
13
+ return o(), g("div", {
14
+ class: "omega-input",
15
+ onFocusout: r[4] || (r[4] = (p) => e.$emit("blur", p)),
16
+ onFocusin: r[5] || (r[5] = (p) => e.$emit("focus", p))
17
+ }, [
18
+ e.inputProps.type === "boolean" || e.inputProps.type === "switch" ? (o(), n(u(e.inputProps.type === "boolean" ? "v-checkbox" : "v-switch"), i({
19
+ key: 0,
20
+ id: e.inputProps.id,
21
+ name: e.inputProps.name,
22
+ label: e.inputProps.label,
23
+ "error-messages": e.inputProps.errorMessages,
24
+ error: e.inputProps.error,
25
+ ripple: ""
26
+ }, e.$attrs, {
27
+ "model-value": e.vuetifyValue,
28
+ onChange: r[0] || (r[0] = (p) => e.inputProps.field.handleChange(p.target.checked))
29
+ }), null, 16, ["id", "name", "label", "error-messages", "error", "model-value"])) : l("", !0),
30
+ e.inputProps.type === "email" || e.inputProps.type === "string" ? (o(), n(a, i({
31
+ key: 1,
32
+ id: e.inputProps.id,
33
+ required: e.inputProps.required,
34
+ "min-length": e.inputProps.minLength,
35
+ "max-length": e.inputProps.maxLength,
36
+ type: e.inputProps.type,
37
+ name: e.inputProps.name,
38
+ label: e.inputProps.label,
39
+ "error-messages": e.inputProps.errorMessages,
40
+ error: e.inputProps.error
41
+ }, e.$attrs, {
42
+ "model-value": e.vuetifyValue,
43
+ "onUpdate:modelValue": e.inputProps.field.handleChange
44
+ }), null, 16, ["id", "required", "min-length", "max-length", "type", "name", "label", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : l("", !0),
45
+ e.inputProps.type === "text" ? (o(), n(t, i({
46
+ key: 2,
47
+ id: e.inputProps.id,
48
+ required: e.inputProps.required,
49
+ "min-length": e.inputProps.minLength,
50
+ "max-length": e.inputProps.maxLength,
51
+ type: e.inputProps.type,
52
+ name: e.inputProps.name,
53
+ label: e.inputProps.label,
54
+ "error-messages": e.inputProps.errorMessages,
55
+ error: e.inputProps.error
56
+ }, e.$attrs, {
57
+ "model-value": e.vuetifyValue,
58
+ "onUpdate:modelValue": e.inputProps.field.handleChange
59
+ }), null, 16, ["id", "required", "min-length", "max-length", "type", "name", "label", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : l("", !0),
60
+ e.inputProps.type === "number" || e.inputProps.type === "range" ? (o(), n(u(e.inputProps.type === "range" ? "v-slider" : "v-text-field"), i({
61
+ key: 3,
62
+ id: e.inputProps.id,
63
+ required: e.inputProps.required,
64
+ min: e.inputProps.min,
65
+ max: e.inputProps.max,
66
+ type: e.inputProps.type,
67
+ name: e.inputProps.name,
68
+ label: e.inputProps.label,
69
+ "error-messages": e.inputProps.errorMessages,
70
+ error: e.inputProps.error
71
+ }, e.$attrs, {
72
+ "model-value": e.vuetifyValue,
73
+ "onUpdate:modelValue": r[1] || (r[1] = (p) => {
74
+ p || p === 0 ? e.inputProps.field.handleChange(Number(p)) : e.inputProps.field.handleChange(void 0);
75
+ })
76
+ }), null, 16, ["id", "required", "min", "max", "type", "name", "label", "error-messages", "error", "model-value"])) : l("", !0),
77
+ e.inputProps.type === "select" || e.inputProps.type === "multiple" ? (o(), n(m, i({
78
+ key: 4,
79
+ id: e.inputProps.id,
80
+ clearable: e.inputProps.type === "select",
81
+ required: e.inputProps.required,
82
+ multiple: e.inputProps.type === "multiple",
83
+ chips: e.inputProps.type === "multiple",
84
+ name: e.inputProps.name,
85
+ label: e.inputProps.label,
86
+ items: e.inputProps.options,
87
+ "error-messages": e.inputProps.errorMessages,
88
+ error: e.inputProps.error
89
+ }, e.$attrs, {
90
+ "model-value": e.vuetifyValue,
91
+ onClear: r[2] || (r[2] = (p) => e.inputProps.field.handleChange(void 0)),
92
+ "onUpdate:modelValue": e.inputProps.field.handleChange
93
+ }), null, 16, ["id", "clearable", "required", "multiple", "chips", "name", "label", "items", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : l("", !0),
94
+ e.inputProps.type === "autocomplete" || e.inputProps.type === "autocompletemultiple" ? (o(), n(d, i({
95
+ key: 5,
96
+ id: e.inputProps.id,
97
+ clearable: e.inputProps.type === "autocomplete",
98
+ multiple: e.inputProps.type === "autocompletemultiple",
99
+ required: e.inputProps.required,
100
+ name: e.inputProps.name,
101
+ label: e.inputProps.label,
102
+ items: e.inputProps.options,
103
+ "error-messages": e.inputProps.errorMessages,
104
+ error: e.inputProps.error,
105
+ chips: e.inputProps.type === "autocompletemultiple"
106
+ }, e.$attrs, {
107
+ "model-value": e.vuetifyValue,
108
+ onClear: r[3] || (r[3] = (p) => e.inputProps.field.handleChange(void 0)),
109
+ "onUpdate:modelValue": e.inputProps.field.handleChange
110
+ }), null, 16, ["id", "clearable", "multiple", "required", "name", "label", "items", "error-messages", "error", "chips", "model-value", "onUpdate:modelValue"])) : l("", !0)
111
+ ], 32);
112
+ };
113
+ }
114
+ });
2
115
  export {
3
- r as VERSION
116
+ b as default
4
117
  };
@@ -1,4 +1,6 @@
1
- var o = typeof globalThis == "object" ? globalThis : typeof self == "object" ? self : typeof window == "object" ? window : typeof global == "object" ? global : {};
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 o from "./vue-components.es51.js";
3
+
2
4
  export {
3
- o as _globalThis
5
+ o as default
4
6
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as d, inject as f, computed as r, createBlock as n, openBlock as m, resolveDynamicComponent as c, withCtx as l, createCommentVNode as v, mergeProps as y, renderSlot as g, normalizeProps as h, guardReactiveProps as b } from "vue";
2
2
  import { generateInputStandardSchemaFromFieldMeta as C } from "./vue-components.es10.js";
3
- import F from "./vue-components.es28.js";
3
+ import F from "./vue-components.es27.js";
4
4
  const P = /* @__PURE__ */ d({
5
5
  inheritAttrs: !1,
6
6
  __name: "OmegaInput",
@@ -124,9 +124,9 @@ const $ = Symbol("OmegaForm"), Y = (d, i, n) => {
124
124
  meta: c,
125
125
  filterItems: E,
126
126
  clear: F,
127
- handleSubmit: () => {
128
- const e = V.getSpan(w.active());
129
- return O({ currentSpan: e, ...c });
127
+ handleSubmit: (e) => {
128
+ const r = V.getSpan(w.active());
129
+ return O({ currentSpan: r, ...e });
130
130
  }
131
131
  // /** @experimental */
132
132
  // handleSubmitEffect: (meta?: Record<string, any>) =>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue-components",
3
- "version": "0.18.21",
3
+ "version": "0.19.1",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
6
  "@tanstack/vue-form": "1.2.4",
@@ -54,7 +54,7 @@
54
54
  "@opentelemetry/api": "^1.9.0",
55
55
  "highlight.js": "^11.11.1",
56
56
  "vue3-highlightjs": "^1.0.5",
57
- "@effect-app/vue": "2.55.10",
57
+ "@effect-app/vue": "2.56.0",
58
58
  "effect-app": "3.3.4"
59
59
  },
60
60
  "scripts": {
@@ -93,7 +93,11 @@ type OmegaWrapperProps =
93
93
  & (
94
94
  | {
95
95
  isLoading: boolean
96
- onSubmit: (data: To) => void
96
+ onSubmit: (data: {
97
+ formApi: OmegaFormApi<From, To>
98
+ meta: any
99
+ value: To
100
+ }) => void
97
101
  }
98
102
  | {
99
103
  isLoading?: undefined
@@ -110,9 +114,11 @@ const instance = getCurrentInstance()
110
114
  // we prefer to use the standard abstraction in Vue which separates props (going down) and event emits (going back up)
111
115
  // so if isLoading + @submit are provided, we wrap them into a Promise, so that TanStack Form can properly track the submitting state.
112
116
  // we use this approach because it means we can keep relying on the built-in beaviour of TanStack Form, and we dont have to re-implement/keep in sync/break any internals.
113
- const eventOnSubmit: FormProps<From, To>["onSubmit"] = ({ value }) =>
117
+ const eventOnSubmit: FormProps<From, To>["onSubmit"] = (
118
+ { formApi, meta, value }
119
+ ) =>
114
120
  new Promise<void>((resolve) => {
115
- instance!.emit("submit", value)
121
+ instance!.emit("submit", { formApi, meta, value })
116
122
  // even if the emit would be immediately handled, prop changes are not published/received immediately.
117
123
  // so we have to wait for the prop to change to true, and back to false again.
118
124
  const handle = watch(() => props.isLoading, (v) => {
@@ -331,7 +331,7 @@ export const useOmegaForm = <
331
331
  meta,
332
332
  filterItems,
333
333
  clear,
334
- handleSubmit: () => {
334
+ handleSubmit: (meta?: Record<string, any>) => {
335
335
  const span = api.trace.getSpan(api.context.active())
336
336
  return handleSubmit({ currentSpan: span, ...meta })
337
337
  }
@@ -1,46 +0,0 @@
1
- import { VERSION as d } from "./vue-components.es51.js";
2
- var h = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;
3
- function s(c) {
4
- var m = /* @__PURE__ */ new Set([c]), f = /* @__PURE__ */ new Set(), t = c.match(h);
5
- if (!t)
6
- return function() {
7
- return !1;
8
- };
9
- var e = {
10
- major: +t[1],
11
- minor: +t[2],
12
- patch: +t[3],
13
- prerelease: t[4]
14
- };
15
- if (e.prerelease != null)
16
- return function(r) {
17
- return r === c;
18
- };
19
- function a(n) {
20
- return f.add(n), !1;
21
- }
22
- function p(n) {
23
- return m.add(n), !0;
24
- }
25
- return function(r) {
26
- if (m.has(r))
27
- return !0;
28
- if (f.has(r))
29
- return !1;
30
- var i = r.match(h);
31
- if (!i)
32
- return a(r);
33
- var u = {
34
- major: +i[1],
35
- minor: +i[2],
36
- patch: +i[3],
37
- prerelease: i[4]
38
- };
39
- return u.prerelease != null || e.major !== u.major ? a(r) : e.major === 0 ? e.minor === u.minor && e.patch <= u.patch ? p(r) : a(r) : e.minor <= u.minor ? p(r) : a(r);
40
- };
41
- }
42
- var v = s(d);
43
- export {
44
- s as _makeCompatibilityCheck,
45
- v as isCompatible
46
- };