@effect-app/vue-components 3.0.7 → 3.1.0

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 (39) hide show
  1. package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +2 -1
  2. package/dist/vue-components.es12.js +119 -143
  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 +191 -41
  9. package/dist/vue-components.es32.js +42 -2
  10. package/dist/vue-components.es33.js +2 -111
  11. package/dist/vue-components.es34.js +4 -0
  12. package/dist/vue-components.es35.js +111 -7
  13. package/dist/vue-components.es37.js +9 -0
  14. package/dist/vue-components.es38.js +27 -187
  15. package/dist/vue-components.es40.js +4 -23
  16. package/dist/vue-components.es41.js +23 -5
  17. package/dist/vue-components.es42.js +5 -21
  18. package/dist/vue-components.es43.js +16 -25
  19. package/dist/vue-components.es44.js +23 -15
  20. package/dist/vue-components.es45.js +17 -7
  21. package/dist/vue-components.es46.js +12 -5
  22. package/dist/vue-components.es47.js +5 -19
  23. package/dist/vue-components.es48.js +19 -9
  24. package/dist/vue-components.es49.js +9 -31
  25. package/dist/vue-components.es50.js +25 -42
  26. package/dist/vue-components.es51.js +38 -16
  27. package/dist/vue-components.es52.js +26 -11
  28. package/dist/vue-components.es53.js +11 -4
  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 +3 -3
  34. package/package.json +3 -3
  35. package/src/components/OmegaForm/OmegaFormStuff.ts +23 -59
  36. package/src/components/OmegaForm/OmegaInputVuetify.vue +2 -2
  37. package/src/components/OmegaForm/OmegaInternalInput.vue +2 -2
  38. package/dist/vue-components.es31.js +0 -4
  39. package/dist/vue-components.es36.js +0 -34
@@ -1,28 +1,50 @@
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 = (
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 = (
7
25
  /** @class */
8
26
  (function() {
9
27
  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
28
  }
12
29
  return t.getInstance = function() {
13
30
  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);
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) || _;
21
43
  }, t.prototype.disable = function() {
22
- s(n, o.instance()), this._proxyTracerProvider = new i();
44
+ this._getContextManager().disable(), g(l, u.instance());
23
45
  }, t;
24
46
  })()
25
47
  );
26
48
  export {
27
- y as TraceAPI
49
+ A as ContextAPI
28
50
  };
@@ -1,13 +1,28 @@
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
+ 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
+ );
11
26
  export {
12
- c as getOmegaStore
27
+ y as TraceAPI
13
28
  };
@@ -1,6 +1,13 @@
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
-
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
+ }
4
11
  export {
5
- o as default
12
+ c as getOmegaStore
6
13
  };
@@ -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.es41.js";
3
+ import { DiagLogLevel as d } from "./vue-components.es42.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.es41.js";
1
+ import { DiagLogLevel as r } from "./vue-components.es42.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.es40.js";
2
- import { NonRecordingSpan as a } from "./vue-components.es49.js";
3
- import { ContextAPI as u } from "./vue-components.es50.js";
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";
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.es40.js";
1
+ import { ROOT_CONTEXT as l } from "./vue-components.es41.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,7 +1,7 @@
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
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
3
  import { useStore as f } from "@tanstack/vue-form";
4
- import T from "./vue-components.es38.js";
4
+ import T from "./vue-components.es30.js";
5
5
 
6
6
  const H = /* @__PURE__ */ N({
7
7
  inheritAttrs: !1,
@@ -48,8 +48,8 @@ const H = /* @__PURE__ */ N({
48
48
  required: l.value,
49
49
  minLength: e.meta?.type === "string" && e.meta?.minLength,
50
50
  maxLength: e.meta?.type === "string" && e.meta?.maxLength,
51
- max: (e.meta?.type === "number" || e.meta?.type === "int") && (e.meta?.maximum ?? (typeof e.meta?.exclusiveMaximum == "number" && e.meta.exclusiveMaximum - 1)),
52
- min: (e.meta?.type === "number" || e.meta?.type === "int") && (e.meta?.minimum ?? (typeof e.meta?.exclusiveMinimum == "number" && e.meta.exclusiveMinimum + 1)),
51
+ max: e.meta?.type === "number" && (e.meta?.maximum ?? (typeof e.meta?.exclusiveMaximum == "number" && e.meta.exclusiveMaximum - 1)),
52
+ min: e.meta?.type === "number" && (e.meta?.minimum ?? (typeof e.meta?.exclusiveMinimum == "number" && e.meta.exclusiveMinimum + 1)),
53
53
  errorMessages: m.value,
54
54
  error: !!m.value.length,
55
55
  type: C.value,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue-components",
3
- "version": "3.0.7",
3
+ "version": "3.1.0",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
6
  "effect": "^3.19.3",
@@ -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": "3.15.1",
57
- "@effect-app/vue": "2.93.8"
56
+ "@effect-app/vue": "2.93.8",
57
+ "effect-app": "3.15.1"
58
58
  },
59
59
  "scripts": {
60
60
  "build": "pnpm build:run",
@@ -246,11 +246,12 @@ export type StringFieldMeta = BaseFieldMeta & {
246
246
  }
247
247
 
248
248
  export type NumberFieldMeta = BaseFieldMeta & {
249
- type: "number" | "int"
249
+ type: "number"
250
250
  minimum?: number
251
251
  maximum?: number
252
252
  exclusiveMinimum?: number
253
253
  exclusiveMaximum?: number
254
+ refinement?: "int"
254
255
  }
255
256
 
256
257
  export type SelectFieldMeta = BaseFieldMeta & {
@@ -682,7 +683,8 @@ export const createMeta = <T = any>(
682
683
  // if this is S.Int (a refinement), set the type and skip following "from"
683
684
  // otherwise we'd lose the "Int" information and get "number" instead
684
685
  if (titleType === "Int" || titleType === "int") {
685
- meta["type"] = "int"
686
+ meta["type"] = "number"
687
+ meta["refinement"] = "int"
686
688
  // don't follow "from" for Int refinements
687
689
  } else if ("from" in property) {
688
690
  return createMeta<T>({
@@ -888,66 +890,28 @@ export const generateInputStandardSchemaFromFieldMeta = (
888
890
  }
889
891
  break
890
892
 
891
- case "int": {
892
- // create a custom integer schema with translations
893
- // S.Number with empty message, then S.int with integer message
894
- schema = S
895
- .Number
896
- .annotations({
897
- message: () => trans("validation.empty")
898
- })
899
- .pipe(
900
- S.int({ message: (issue) => trans("validation.integer.expected", { actualValue: String(issue.actual) }) })
901
- )
902
- if (typeof meta.minimum === "number") {
903
- schema = schema.pipe(S.greaterThanOrEqualTo(meta.minimum)).annotations({
904
- message: () =>
905
- trans(meta.minimum === 0 ? "validation.number.positive" : "validation.number.min", {
906
- minimum: meta.minimum,
907
- isExclusive: true
908
- })
909
- })
910
- }
911
- if (typeof meta.maximum === "number") {
912
- schema = schema.pipe(S.lessThanOrEqualTo(meta.maximum)).annotations({
913
- message: () =>
914
- trans("validation.number.max", {
915
- maximum: meta.maximum,
916
- isExclusive: true
917
- })
918
- })
919
- }
920
- if (typeof meta.exclusiveMinimum === "number") {
921
- schema = schema.pipe(S.greaterThan(meta.exclusiveMinimum)).annotations({
922
- message: () =>
923
- trans(meta.exclusiveMinimum === 0 ? "validation.number.positive" : "validation.number.min", {
924
- minimum: meta.exclusiveMinimum,
925
- isExclusive: false
926
- })
927
- })
928
- }
929
- if (typeof meta.exclusiveMaximum === "number") {
930
- schema = schema.pipe(S.lessThan(meta.exclusiveMaximum)).annotations({
931
- message: () =>
932
- trans("validation.number.max", {
933
- maximum: meta.exclusiveMaximum,
934
- isExclusive: false
935
- })
936
- })
937
- }
938
- break
939
- }
940
-
941
893
  case "number":
942
- schema = S.Number.annotations({
943
- message: () => trans("validation.number.expected", { actualValue: "NaN" })
944
- })
945
-
946
- if (meta.required) {
947
- schema.annotations({
948
- message: () => trans("validation.empty")
894
+ if (meta.refinement === "int") {
895
+ schema = S
896
+ .Number
897
+ .annotations({
898
+ message: () => trans("validation.empty")
899
+ })
900
+ .pipe(
901
+ S.int({ message: (issue) => trans("validation.integer.expected", { actualValue: String(issue.actual) }) })
902
+ )
903
+ } else {
904
+ schema = S.Number.annotations({
905
+ message: () => trans("validation.number.expected", { actualValue: "NaN" })
949
906
  })
907
+
908
+ if (meta.required) {
909
+ schema.annotations({
910
+ message: () => trans("validation.empty")
911
+ })
912
+ }
950
913
  }
914
+
951
915
  if (typeof meta.minimum === "number") {
952
916
  schema = schema.pipe(S.greaterThanOrEqualTo(meta.minimum)).annotations({
953
917
  message: () =>
@@ -81,12 +81,12 @@
81
81
  </v-textarea>
82
82
  <component
83
83
  :is="inputProps.type === 'range' ? 'v-slider' : 'v-text-field'"
84
- v-if="inputProps.type === 'number' || inputProps.type === 'int' || inputProps.type === 'range'"
84
+ v-if="inputProps.type === 'number' || inputProps.type === 'range'"
85
85
  :id="inputProps.id"
86
86
  :required="inputProps.required"
87
87
  :min="inputProps.min"
88
88
  :max="inputProps.max"
89
- :type="inputProps.type === 'int' ? 'number' : inputProps.type"
89
+ :type="inputProps.type"
90
90
  :name="field.name"
91
91
  :label="inputProps.label"
92
92
  :error-messages="inputProps.errorMessages"
@@ -162,10 +162,10 @@ const inputProps: ComputedRef<InputProps<From, Name>> = computed(() => ({
162
162
  required: isRequired.value,
163
163
  minLength: props.meta?.type === "string" && props.meta?.minLength,
164
164
  maxLength: props.meta?.type === "string" && props.meta?.maxLength,
165
- max: (props.meta?.type === "number" || props.meta?.type === "int")
165
+ max: (props.meta?.type === "number")
166
166
  && (props.meta?.maximum
167
167
  ?? (typeof props.meta?.exclusiveMaximum === "number" && props.meta.exclusiveMaximum - 1)),
168
- min: (props.meta?.type === "number" || props.meta?.type === "int")
168
+ min: (props.meta?.type === "number")
169
169
  && (props.meta?.minimum
170
170
  ?? (typeof props.meta?.exclusiveMinimum === "number" && props.meta.exclusiveMinimum + 1)),
171
171
  errorMessages: errors.value,
@@ -1,4 +0,0 @@
1
- import f from "./vue-components.es18.js";
2
- export {
3
- f as default
4
- };
@@ -1,34 +0,0 @@
1
- import { defineComponent as m, createElementBlock as d, openBlock as u, withModifiers as f, createElementVNode as l, unref as s, renderSlot as a } from "vue";
2
- import { useStore as b } from "@tanstack/vue-form";
3
- import { usePreventClose as p } from "./vue-components.es11.js";
4
- import { getOmegaStore as c } from "./vue-components.es52.js";
5
- const S = ["disabled"], V = /* @__PURE__ */ m({
6
- __name: "OmegaWrapper",
7
- props: {
8
- form: {},
9
- disabled: { type: Boolean },
10
- subscribe: {}
11
- },
12
- setup(o) {
13
- const e = o, i = b(
14
- e.form.store,
15
- (t) => t.isSubmitting
16
- ), n = c(
17
- e.form,
18
- e.subscribe
19
- );
20
- return e.form.ignorePreventCloseEvents || p(() => e.form.useStore((t) => t.isDirty)), (t, r) => (u(), d("form", {
21
- novalidate: "",
22
- onSubmit: r[0] || (r[0] = f((v) => o.form.handleSubmit(), ["prevent", "stop"]))
23
- }, [
24
- l("fieldset", {
25
- disabled: s(i) || o.disabled
26
- }, [
27
- a(t.$slots, "default", { subscribedValues: s(n) }, void 0, !0)
28
- ], 8, S)
29
- ], 32));
30
- }
31
- });
32
- export {
33
- V as default
34
- };