@effect-app/vue-components 2.6.0 → 2.6.2

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 (38) hide show
  1. package/dist/vue-components.es10.js +158 -136
  2. package/dist/vue-components.es16.js +1 -1
  3. package/dist/vue-components.es17.js +1 -1
  4. package/dist/vue-components.es20.js +2 -2
  5. package/dist/vue-components.es21.js +2 -2
  6. package/dist/vue-components.es22.js +1 -1
  7. package/dist/vue-components.es23.js +1 -1
  8. package/dist/vue-components.es30.js +41 -191
  9. package/dist/vue-components.es31.js +4 -0
  10. package/dist/vue-components.es32.js +2 -42
  11. package/dist/vue-components.es33.js +89 -2
  12. package/dist/vue-components.es35.js +7 -89
  13. package/dist/vue-components.es36.js +34 -0
  14. package/dist/vue-components.es38.js +187 -27
  15. package/dist/vue-components.es40.js +23 -4
  16. package/dist/vue-components.es41.js +5 -23
  17. package/dist/vue-components.es42.js +21 -5
  18. package/dist/vue-components.es43.js +25 -16
  19. package/dist/vue-components.es44.js +15 -23
  20. package/dist/vue-components.es45.js +7 -17
  21. package/dist/vue-components.es46.js +5 -12
  22. package/dist/vue-components.es47.js +19 -5
  23. package/dist/vue-components.es48.js +9 -19
  24. package/dist/vue-components.es49.js +31 -9
  25. package/dist/vue-components.es50.js +42 -25
  26. package/dist/vue-components.es51.js +16 -38
  27. package/dist/vue-components.es52.js +11 -26
  28. package/dist/vue-components.es53.js +4 -11
  29. package/dist/vue-components.es54.js +1 -1
  30. package/dist/vue-components.es56.js +1 -1
  31. package/dist/vue-components.es58.js +3 -3
  32. package/dist/vue-components.es59.js +1 -1
  33. package/dist/vue-components.es7.js +18 -18
  34. package/package.json +1 -1
  35. package/src/components/OmegaForm/OmegaInternalInput.vue +6 -2
  36. package/src/components/OmegaForm/useOmegaForm.ts +53 -3
  37. package/dist/vue-components.es34.js +0 -4
  38. package/dist/vue-components.es37.js +0 -9
@@ -1,50 +1,28 @@
1
- import { NoopContextManager as f } from "./vue-components.es59.js";
2
- import { registerGlobal as s, getGlobal as p, unregisterGlobal as g } from "./vue-components.es57.js";
3
- import { DiagAPI as u } from "./vue-components.es54.js";
4
- var y = function(t, e) {
5
- var a = typeof Symbol == "function" && t[Symbol.iterator];
6
- if (!a) return t;
7
- var n = a.call(t), o, r = [], i;
8
- try {
9
- for (; (e === void 0 || e-- > 0) && !(o = n.next()).done; ) r.push(o.value);
10
- } catch (c) {
11
- i = { error: c };
12
- } finally {
13
- try {
14
- o && !o.done && (a = n.return) && a.call(n);
15
- } finally {
16
- if (i) throw i.error;
17
- }
18
- }
19
- return r;
20
- }, d = function(t, e, a) {
21
- if (a || arguments.length === 2) for (var n = 0, o = e.length, r; n < o; n++)
22
- (r || !(n in e)) && (r || (r = Array.prototype.slice.call(e, 0, n)), r[n] = e[n]);
23
- return t.concat(r || Array.prototype.slice.call(e));
24
- }, l = "context", _ = new f(), A = (
1
+ import { registerGlobal as a, getGlobal as p, unregisterGlobal as s } from "./vue-components.es57.js";
2
+ import { ProxyTracerProvider as i } from "./vue-components.es44.js";
3
+ import { wrapSpanContext as c, isSpanContextValid as h } from "./vue-components.es47.js";
4
+ import { deleteSpan as g, getSpan as S, getActiveSpan as x, getSpanContext as d, setSpan as f, setSpanContext as l } from "./vue-components.es58.js";
5
+ import { DiagAPI as o } from "./vue-components.es54.js";
6
+ var n = "trace", y = (
25
7
  /** @class */
26
8
  (function() {
27
9
  function t() {
10
+ this._proxyTracerProvider = new i(), this.wrapSpanContext = c, this.isSpanContextValid = h, this.deleteSpan = g, this.getSpan = S, this.getActiveSpan = x, this.getSpanContext = d, this.setSpan = f, this.setSpanContext = l;
28
11
  }
29
12
  return t.getInstance = function() {
30
13
  return this._instance || (this._instance = new t()), this._instance;
31
- }, t.prototype.setGlobalContextManager = function(e) {
32
- return s(l, e, u.instance());
33
- }, t.prototype.active = function() {
34
- return this._getContextManager().active();
35
- }, t.prototype.with = function(e, a, n) {
36
- for (var o, r = [], i = 3; i < arguments.length; i++)
37
- r[i - 3] = arguments[i];
38
- return (o = this._getContextManager()).with.apply(o, d([e, a, n], y(r), !1));
39
- }, t.prototype.bind = function(e, a) {
40
- return this._getContextManager().bind(e, a);
41
- }, t.prototype._getContextManager = function() {
42
- return p(l) || _;
14
+ }, t.prototype.setGlobalTracerProvider = function(r) {
15
+ var e = a(n, this._proxyTracerProvider, o.instance());
16
+ return e && this._proxyTracerProvider.setDelegate(r), e;
17
+ }, t.prototype.getTracerProvider = function() {
18
+ return p(n) || this._proxyTracerProvider;
19
+ }, t.prototype.getTracer = function(r, e) {
20
+ return this.getTracerProvider().getTracer(r, e);
43
21
  }, t.prototype.disable = function() {
44
- this._getContextManager().disable(), g(l, u.instance());
22
+ s(n, o.instance()), this._proxyTracerProvider = new i();
45
23
  }, t;
46
24
  })()
47
25
  );
48
26
  export {
49
- A as ContextAPI
27
+ y as TraceAPI
50
28
  };
@@ -1,28 +1,13 @@
1
- import { registerGlobal as a, getGlobal as p, unregisterGlobal as s } from "./vue-components.es57.js";
2
- import { ProxyTracerProvider as i } from "./vue-components.es45.js";
3
- import { wrapSpanContext as c, isSpanContextValid as h } from "./vue-components.es48.js";
4
- import { deleteSpan as g, getSpan as S, getActiveSpan as x, getSpanContext as d, setSpan as f, setSpanContext as l } from "./vue-components.es58.js";
5
- import { DiagAPI as o } from "./vue-components.es54.js";
6
- var n = "trace", y = (
7
- /** @class */
8
- (function() {
9
- function t() {
10
- this._proxyTracerProvider = new i(), this.wrapSpanContext = c, this.isSpanContextValid = h, this.deleteSpan = g, this.getSpan = S, this.getActiveSpan = x, this.getSpanContext = d, this.setSpan = f, this.setSpanContext = l;
11
- }
12
- return t.getInstance = function() {
13
- return this._instance || (this._instance = new t()), this._instance;
14
- }, t.prototype.setGlobalTracerProvider = function(r) {
15
- var e = a(n, this._proxyTracerProvider, o.instance());
16
- return e && this._proxyTracerProvider.setDelegate(r), e;
17
- }, t.prototype.getTracerProvider = function() {
18
- return p(n) || this._proxyTracerProvider;
19
- }, t.prototype.getTracer = function(r, e) {
20
- return this.getTracerProvider().getTracer(r, e);
21
- }, t.prototype.disable = function() {
22
- s(n, o.instance()), this._proxyTracerProvider = new i();
23
- }, t;
24
- })()
25
- );
1
+ import { useStore as u } from "@tanstack/vue-form";
2
+ import { computed as f } from "vue";
3
+ function c(o, t) {
4
+ return f(() => t ? u(o.store, (n) => {
5
+ const r = {};
6
+ for (const e of t)
7
+ r[e] = n[e];
8
+ return r;
9
+ }).value : {});
10
+ }
26
11
  export {
27
- y as TraceAPI
12
+ c as getOmegaStore
28
13
  };
@@ -1,13 +1,6 @@
1
- import { useStore as u } from "@tanstack/vue-form";
2
- import { computed as f } from "vue";
3
- function c(o, t) {
4
- return f(() => t ? u(o.store, (n) => {
5
- const r = {};
6
- for (const e of t)
7
- r[e] = n[e];
8
- return r;
9
- }).value : {});
10
- }
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.es38.js";
3
+
11
4
  export {
12
- c as getOmegaStore
5
+ o as default
13
6
  };
@@ -1,6 +1,6 @@
1
1
  import { DiagComponentLogger as m } from "./vue-components.es55.js";
2
2
  import { createLogLevelDiagLogger as y } from "./vue-components.es56.js";
3
- import { DiagLogLevel as d } from "./vue-components.es42.js";
3
+ import { DiagLogLevel as d } from "./vue-components.es41.js";
4
4
  import { unregisterGlobal as p, getGlobal as v, registerGlobal as w } from "./vue-components.es57.js";
5
5
  var b = function(i, n) {
6
6
  var r = typeof Symbol == "function" && i[Symbol.iterator];
@@ -1,4 +1,4 @@
1
- import { DiagLogLevel as r } from "./vue-components.es42.js";
1
+ import { DiagLogLevel as r } from "./vue-components.es41.js";
2
2
  function c(n, o) {
3
3
  n < r.NONE ? n = r.NONE : n > r.ALL && (n = r.ALL), o = o || {};
4
4
  function i(t, f) {
@@ -1,6 +1,6 @@
1
- import { createContextKey as o } from "./vue-components.es41.js";
2
- import { NonRecordingSpan as a } from "./vue-components.es50.js";
3
- import { ContextAPI as u } from "./vue-components.es51.js";
1
+ import { createContextKey as o } from "./vue-components.es40.js";
2
+ import { NonRecordingSpan as a } from "./vue-components.es49.js";
3
+ import { ContextAPI as u } from "./vue-components.es50.js";
4
4
  var n = o("OpenTelemetry Context Key SPAN");
5
5
  function r(e) {
6
6
  return e.getValue(n) || void 0;
@@ -1,4 +1,4 @@
1
- import { ROOT_CONTEXT as l } from "./vue-components.es41.js";
1
+ import { ROOT_CONTEXT as l } from "./vue-components.es40.js";
2
2
  var c = function(t, o) {
3
3
  var n = typeof Symbol == "function" && t[Symbol.iterator];
4
4
  if (!n) return t;
@@ -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 M, computed as n, getCurrentInstance as N, useAttrs as S, useSlots as k, useId as q, renderSlot as m, normalizeProps as s, guardReactiveProps as d, createElementVNode as B, normalizeClass as w, createBlock as I, createCommentVNode as L, unref as A, openBlock as F, mergeProps as O, createSlots as R, withCtx as V } from "vue";
2
+ import { defineComponent as $, computed as n, getCurrentInstance as N, useAttrs as S, useSlots as k, useId as q, renderSlot as u, normalizeProps as s, guardReactiveProps as d, createElementVNode as B, normalizeClass as w, createBlock as I, createCommentVNode as L, unref as A, openBlock as F, mergeProps as O, createSlots as R, withCtx as V } from "vue";
3
3
  import { useStore as z } from "@tanstack/vue-form";
4
- import T from "./vue-components.es30.js";
4
+ import T from "./vue-components.es38.js";
5
5
 
6
- const H = /* @__PURE__ */ M({
6
+ const H = /* @__PURE__ */ $({
7
7
  inheritAttrs: !1,
8
8
  __name: "OmegaInternalInput",
9
9
  props: {
@@ -22,9 +22,9 @@ const H = /* @__PURE__ */ M({
22
22
  const e = p, l = n(() => e.required ?? e?.meta?.required), f = N()?.appContext.components.VTextField, c = S(), g = k(), v = n(() => {
23
23
  const { class: t, ...a } = c;
24
24
  return a;
25
- }), o = q(), h = e.field, y = z(h.store, (t) => t), b = n(() => e.type ? e.type : e.meta?.type === "string" ? e.meta.format === "email" ? "email" : "string" : e.meta?.type || "unknown");
26
- e.register(n(() => ({ name: e.field.name, label: e.label, id: o })));
27
- const C = n(() => y.value.meta.errors ?? []), i = n(
25
+ }), i = q(), y = e.field, h = z(y.store, (t) => t), b = n(() => e.type ? e.type : e.meta?.type === "string" ? e.meta.format === "email" ? "email" : "string" : e.meta?.type || "unknown");
26
+ e.register(n(() => ({ name: e.field.name, label: e.label, id: i })));
27
+ const C = n(() => h.value.meta.errors ?? []), o = n(
28
28
  () => (
29
29
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
30
  C.value.map((t) => t?.message).filter(Boolean)
@@ -33,23 +33,23 @@ const H = /* @__PURE__ */ M({
33
33
  x(t) && e.meta?.type !== "boolean" && e.meta?.nullableOrUndefined ? e.field.handleChange(
34
34
  e.meta.nullableOrUndefined === "undefined" ? void 0 : null
35
35
  ) : e.field.handleChange(t), e.field.setMeta((a) => ({ ...a, errorMap: { ...a.errorMap, onSubmit: void 0 } }));
36
- }, P = (t) => {
36
+ }, M = (t) => {
37
37
  const a = {
38
- get(E, $, W) {
39
- return $ === "handleChange" ? _ : Reflect.get(...arguments);
38
+ get(E, P, W) {
39
+ return P === "handleChange" ? _ : Reflect.get(...arguments);
40
40
  }
41
41
  };
42
42
  return new Proxy(t, a);
43
43
  }, r = n(() => ({
44
44
  inputProps: {
45
- id: o,
45
+ id: i,
46
46
  required: l.value,
47
47
  minLength: e.meta?.type === "string" && e.meta?.minLength,
48
48
  maxLength: e.meta?.type === "string" && e.meta?.maxLength,
49
- max: e.meta?.type === "number" && (e.meta?.maximum || e.meta?.exclusiveMaximum),
50
- min: e.meta?.type === "number" && (e.meta?.minimum || e.meta?.exclusiveMinimum),
51
- errorMessages: i.value,
52
- error: !!i.value.length,
49
+ max: e.meta?.type === "number" && (e.meta?.maximum ?? (typeof e.meta?.exclusiveMaximum == "number" && e.meta.exclusiveMaximum - 1)),
50
+ min: e.meta?.type === "number" && (e.meta?.minimum ?? (typeof e.meta?.exclusiveMinimum == "number" && e.meta.exclusiveMinimum + 1)),
51
+ errorMessages: o.value,
52
+ error: !!o.value.length,
53
53
  type: b.value,
54
54
  // Only add asterisk if label slot is not provided (slot has full control)
55
55
  label: g.label ? e.label : `${e.label}${l.value ? " *" : ""}`,
@@ -57,17 +57,17 @@ const H = /* @__PURE__ */ M({
57
57
  inputClass: e.inputClass
58
58
  },
59
59
  state: e.state,
60
- field: P(e.field)
60
+ field: M(e.field)
61
61
  }));
62
- return (t, a) => m(t.$slots, "default", s(d({ ...r.value.inputProps, field: r.value.field, state: r.value.state })), () => [
62
+ return (t, a) => u(t.$slots, "default", s(d({ ...r.value.inputProps, field: r.value.field, state: r.value.state })), () => [
63
63
  B("div", {
64
64
  class: w(t.$attrs.class)
65
65
  }, [
66
66
  A(f) ? (F(), I(T, s(O({ key: 0 }, { ...v.value, ...r.value, class: e.inputClass })), R({ _: 2 }, [
67
67
  t.$slots.label ? {
68
68
  name: "label",
69
- fn: V((u) => [
70
- m(t.$slots, "label", s(d(u)))
69
+ fn: V((m) => [
70
+ u(t.$slots, "label", s(d(m)))
71
71
  ]),
72
72
  key: "0"
73
73
  } : void 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue-components",
3
- "version": "2.6.0",
3
+ "version": "2.6.2",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
6
  "effect": "^3.18.0",
@@ -154,8 +154,12 @@ const inputProps: ComputedRef<InputProps<From, Name>> = computed(() => ({
154
154
  required: isRequired.value,
155
155
  minLength: props.meta?.type === "string" && props.meta?.minLength,
156
156
  maxLength: props.meta?.type === "string" && props.meta?.maxLength,
157
- max: props.meta?.type === "number" && (props.meta?.maximum || props.meta?.exclusiveMaximum),
158
- min: props.meta?.type === "number" && (props.meta?.minimum || props.meta?.exclusiveMinimum),
157
+ max: props.meta?.type === "number"
158
+ && (props.meta?.maximum
159
+ ?? (typeof props.meta?.exclusiveMaximum === "number" && props.meta.exclusiveMaximum - 1)),
160
+ min: props.meta?.type === "number"
161
+ && (props.meta?.minimum
162
+ ?? (typeof props.meta?.exclusiveMinimum === "number" && props.meta.exclusiveMinimum + 1)),
159
163
  errorMessages: errors.value,
160
164
  error: !!errors.value.length,
161
165
  type: fieldType.value,
@@ -706,16 +706,66 @@ export const useOmegaForm = <
706
706
  return normalized
707
707
  }
708
708
 
709
+ // Helper function to recursively extract default values from schema AST
710
+ const extractDefaultsFromAST = (schemaObj: any): any => {
711
+ const result: Record<string, any> = {}
712
+
713
+ // Check if this schema has fields (struct)
714
+ if (schemaObj?.fields && typeof schemaObj.fields === "object") {
715
+ for (const [key, fieldSchema] of Object.entries(schemaObj.fields)) {
716
+ // Check if this field has a default value in its AST
717
+ if ((fieldSchema as any)?.ast?.defaultValue) {
718
+ try {
719
+ const defaultValue = (fieldSchema as any).ast.defaultValue()
720
+ if (defaultValue !== undefined) {
721
+ result[key] = defaultValue
722
+ }
723
+ } catch {
724
+ // Silently ignore if defaultValue() throws
725
+ }
726
+ }
727
+
728
+ // Recursively check nested fields for structs
729
+ const nestedDefaults = extractDefaultsFromAST(fieldSchema as any)
730
+ if (Object.keys(nestedDefaults).length > 0) {
731
+ // If we already have a default value for this key, merge with nested
732
+ if (result[key] && typeof result[key] === "object") {
733
+ Object.assign(result[key], nestedDefaults)
734
+ } else if (!result[key]) {
735
+ // Only set nested defaults if we don't have a default value
736
+ result[key] = nestedDefaults
737
+ }
738
+ }
739
+ }
740
+ }
741
+
742
+ return result
743
+ }
744
+
709
745
  // Extract default values from schema constructors (e.g., withDefaultConstructor)
710
746
  const extractSchemaDefaults = (defaultValues: Partial<From> = {}) => {
711
747
  try {
748
+ // First try to use schema.make() if available
712
749
  // Note: Partial schemas don't have .make() method yet (https://github.com/Effect-TS/effect/issues/4222)
713
750
  if ("make" in schema && typeof (schema as any).make === "function") {
714
- return (schema as any).make(defaultValues, { disableValidation: true })
751
+ const decoded = (schema as any).make(defaultValues)
752
+ return S.encodeSync(schema.pipe(S.partial))(decoded)
715
753
  }
716
754
  } catch (error) {
717
- console.warn("Could not extract schema constructor defaults:", error)
718
- return {}
755
+ // If make() fails, try to extract defaults from AST
756
+ if (window.location.hostname === "localhost") {
757
+ console.warn("schema.make() failed, extracting defaults from AST:", error)
758
+ }
759
+ try {
760
+ const astDefaults = extractDefaultsFromAST(schema)
761
+
762
+ return S.encodeSync(schema.pipe(S.partial))(astDefaults)
763
+ } catch (astError) {
764
+ if (window.location.hostname === "localhost") {
765
+ console.warn("Could not extract defaults from AST:", astError)
766
+ }
767
+ return {}
768
+ }
719
769
  }
720
770
  }
721
771
 
@@ -1,4 +0,0 @@
1
- import f from "./vue-components.es19.js";
2
- export {
3
- f as default
4
- };
@@ -1,9 +0,0 @@
1
- const s = (t, e) => {
2
- const o = t.__vccOpts || t;
3
- for (const [r, c] of e)
4
- o[r] = c;
5
- return o;
6
- };
7
- export {
8
- s as default
9
- };