@effect-app/vue-components 3.0.7 → 3.2.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 (64) hide show
  1. package/dist/types/components/CommandButton.vue.d.ts +12 -8
  2. package/dist/types/components/OmegaForm/OmegaArray.vue.d.ts +8 -4
  3. package/dist/types/components/OmegaForm/OmegaAutoGen.vue.d.ts +9 -5
  4. package/dist/types/components/OmegaForm/OmegaErrorsInternal.vue.d.ts +4 -4
  5. package/dist/types/components/OmegaForm/OmegaFormInput.vue.d.ts +8 -4
  6. package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +2 -1
  7. package/dist/types/components/OmegaForm/OmegaInput.vue.d.ts +8 -4
  8. package/dist/types/components/OmegaForm/OmegaInputVuetify.vue.d.ts +9 -5
  9. package/dist/types/components/OmegaForm/OmegaInternalInput.vue.d.ts +9 -5
  10. package/dist/types/components/OmegaForm/OmegaTaggedUnion.vue.d.ts +9 -9
  11. package/dist/types/components/OmegaForm/OmegaTaggedUnionInternal.vue.d.ts +9 -5
  12. package/dist/types/components/OmegaForm/OmegaWrapper.vue.d.ts +9 -5
  13. package/dist/vue-components.es10.js +7 -7
  14. package/dist/vue-components.es11.js +3 -3
  15. package/dist/vue-components.es12.js +120 -144
  16. package/dist/vue-components.es16.js +11 -4
  17. package/dist/vue-components.es17.js +4 -10
  18. package/dist/vue-components.es18.js +10 -55
  19. package/dist/vue-components.es19.js +50 -63
  20. package/dist/vue-components.es20.js +68 -6
  21. package/dist/vue-components.es21.js +5 -5
  22. package/dist/vue-components.es22.js +6 -3
  23. package/dist/vue-components.es23.js +3 -3
  24. package/dist/vue-components.es24.js +3 -2
  25. package/dist/vue-components.es25.js +1 -1
  26. package/dist/vue-components.es26.js +1 -1
  27. package/dist/vue-components.es27.js +1 -1
  28. package/dist/vue-components.es28.js +2 -17
  29. package/dist/vue-components.es29.js +16 -10
  30. package/dist/vue-components.es3.js +1 -1
  31. package/dist/vue-components.es30.js +191 -41
  32. package/dist/vue-components.es32.js +42 -2
  33. package/dist/vue-components.es33.js +2 -111
  34. package/dist/vue-components.es34.js +4 -0
  35. package/dist/vue-components.es35.js +111 -7
  36. package/dist/vue-components.es37.js +9 -0
  37. package/dist/vue-components.es38.js +27 -187
  38. package/dist/vue-components.es40.js +4 -23
  39. package/dist/vue-components.es41.js +23 -5
  40. package/dist/vue-components.es42.js +5 -21
  41. package/dist/vue-components.es43.js +16 -25
  42. package/dist/vue-components.es44.js +23 -15
  43. package/dist/vue-components.es45.js +17 -7
  44. package/dist/vue-components.es46.js +12 -5
  45. package/dist/vue-components.es47.js +5 -19
  46. package/dist/vue-components.es48.js +19 -9
  47. package/dist/vue-components.es49.js +9 -31
  48. package/dist/vue-components.es5.js +1 -1
  49. package/dist/vue-components.es50.js +25 -42
  50. package/dist/vue-components.es51.js +38 -16
  51. package/dist/vue-components.es52.js +26 -11
  52. package/dist/vue-components.es53.js +11 -4
  53. package/dist/vue-components.es54.js +1 -1
  54. package/dist/vue-components.es56.js +1 -1
  55. package/dist/vue-components.es57.js +1 -1
  56. package/dist/vue-components.es58.js +3 -3
  57. package/dist/vue-components.es59.js +1 -1
  58. package/dist/vue-components.es7.js +3 -3
  59. package/package.json +24 -24
  60. package/src/components/OmegaForm/OmegaFormStuff.ts +23 -59
  61. package/src/components/OmegaForm/OmegaInputVuetify.vue +2 -2
  62. package/src/components/OmegaForm/OmegaInternalInput.vue +2 -2
  63. package/dist/vue-components.es31.js +0 -4
  64. package/dist/vue-components.es36.js +0 -34
@@ -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
- };