@effect-app/vue-components 4.0.0-beta.27 → 4.0.0-beta.271

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 (198) hide show
  1. package/README.md +13 -9
  2. package/dist/reset.css +39 -38
  3. package/dist/types/components/CommandButton.vue.d.ts +24 -5
  4. package/dist/types/components/OmegaForm/InputProps.d.ts +1 -1
  5. package/dist/types/components/OmegaForm/OmegaArray.vue.d.ts +1 -1
  6. package/dist/types/components/OmegaForm/OmegaAutoGen.vue.d.ts +2 -2
  7. package/dist/types/components/OmegaForm/OmegaErrorsInternal.vue.d.ts +1 -1
  8. package/dist/types/components/OmegaForm/OmegaFormInput.vue.d.ts +1 -1
  9. package/dist/types/components/OmegaForm/OmegaInput.vue.d.ts +1 -1
  10. package/dist/types/components/OmegaForm/OmegaInternalInput.vue.d.ts +2 -1
  11. package/dist/types/components/OmegaForm/OmegaTaggedUnion.vue.d.ts +2 -2
  12. package/dist/types/components/OmegaForm/OmegaTaggedUnionInternal.vue.d.ts +3 -3
  13. package/dist/types/components/OmegaForm/OmegaWrapper.vue.d.ts +1 -1
  14. package/dist/types/components/OmegaForm/createUseFormWithCustomInput.d.ts +2 -2
  15. package/dist/types/components/OmegaForm/errors.d.ts +33 -0
  16. package/dist/types/components/OmegaForm/getOmegaStore.d.ts +1 -1
  17. package/dist/types/components/OmegaForm/hocs.d.ts +3 -0
  18. package/dist/types/components/OmegaForm/index.d.ts +13 -3
  19. package/dist/types/components/OmegaForm/inputs.d.ts +4 -0
  20. package/dist/types/components/OmegaForm/meta/checks.d.ts +4 -0
  21. package/dist/types/components/OmegaForm/meta/createMeta.d.ts +33 -0
  22. package/dist/types/components/OmegaForm/meta/defaults.d.ts +21 -0
  23. package/dist/types/components/OmegaForm/meta/redacted.d.ts +2 -0
  24. package/dist/types/components/OmegaForm/meta/types.d.ts +56 -0
  25. package/dist/types/components/OmegaForm/meta/walker.d.ts +18 -0
  26. package/dist/types/components/OmegaForm/persistency.d.ts +58 -0
  27. package/dist/types/components/OmegaForm/submit.d.ts +60 -0
  28. package/dist/types/components/OmegaForm/types.d.ts +289 -0
  29. package/dist/types/components/OmegaForm/useOmegaForm.d.ts +7 -213
  30. package/dist/types/components/OmegaForm/validation/localized.d.ts +10 -0
  31. package/dist/types/index.d.ts +0 -1
  32. package/dist/types/utils/index.d.ts +8 -8
  33. package/dist/vue-components.es.js +29 -44
  34. package/dist/vue-components10.es.js +5 -0
  35. package/dist/vue-components11.es.js +20 -0
  36. package/dist/vue-components12.es.js +49 -0
  37. package/dist/vue-components13.es.js +128 -0
  38. package/dist/vue-components14.es.js +65 -0
  39. package/dist/vue-components15.es.js +114 -0
  40. package/dist/vue-components16.es.js +22 -0
  41. package/dist/vue-components17.es.js +5 -0
  42. package/dist/vue-components18.es.js +80 -0
  43. package/dist/vue-components19.es.js +93 -0
  44. package/dist/vue-components2.es.js +11 -0
  45. package/dist/vue-components20.es.js +73 -0
  46. package/dist/vue-components21.es.js +12 -0
  47. package/dist/vue-components22.es.js +56 -0
  48. package/dist/vue-components23.es.js +5 -0
  49. package/dist/vue-components24.es.js +44 -0
  50. package/dist/vue-components25.es.js +5 -0
  51. package/dist/vue-components26.es.js +84 -0
  52. package/dist/vue-components28.es.js +8 -0
  53. package/dist/vue-components29.es.js +9 -0
  54. package/dist/vue-components3.es.js +98 -0
  55. package/dist/vue-components30.es.js +269 -0
  56. package/dist/vue-components32.es.js +8 -0
  57. package/dist/vue-components33.es.js +73 -0
  58. package/dist/vue-components34.es.js +5 -0
  59. package/dist/vue-components35.es.js +52 -0
  60. package/dist/vue-components36.es.js +5 -0
  61. package/dist/vue-components37.es.js +24 -0
  62. package/dist/vue-components38.es.js +5 -0
  63. package/dist/vue-components39.es.js +59 -0
  64. package/dist/vue-components4.es.js +5 -0
  65. package/dist/vue-components40.es.js +5 -0
  66. package/dist/vue-components41.es.js +12 -0
  67. package/dist/vue-components42.es.js +22 -0
  68. package/dist/vue-components44.es.js +9 -0
  69. package/dist/vue-components45.es.js +4 -0
  70. package/dist/vue-components46.es.js +38 -0
  71. package/dist/vue-components47.es.js +27 -0
  72. package/dist/vue-components48.es.js +28 -0
  73. package/dist/vue-components49.es.js +7 -0
  74. package/dist/vue-components5.es.js +24 -0
  75. package/dist/vue-components50.es.js +18 -0
  76. package/dist/vue-components51.es.js +36 -0
  77. package/dist/vue-components52.es.js +18 -0
  78. package/dist/vue-components53.es.js +21 -0
  79. package/dist/vue-components54.es.js +30 -0
  80. package/dist/vue-components55.es.js +7 -0
  81. package/dist/vue-components56.es.js +9 -0
  82. package/dist/vue-components57.es.js +38 -0
  83. package/dist/vue-components58.es.js +25 -0
  84. package/dist/vue-components59.es.js +128 -0
  85. package/dist/vue-components6.es.js +13 -0
  86. package/dist/vue-components60.es.js +24 -0
  87. package/dist/vue-components61.es.js +21 -0
  88. package/dist/vue-components62.es.js +9 -0
  89. package/dist/vue-components63.es.js +19 -0
  90. package/dist/vue-components64.es.js +5 -0
  91. package/dist/vue-components65.es.js +29 -0
  92. package/dist/vue-components66.es.js +5 -0
  93. package/dist/vue-components67.es.js +43 -0
  94. package/dist/vue-components68.es.js +100 -0
  95. package/dist/vue-components69.es.js +33 -0
  96. package/dist/vue-components7.es.js +13 -0
  97. package/dist/vue-components70.es.js +19 -0
  98. package/dist/vue-components71.es.js +48 -0
  99. package/dist/vue-components8.es.js +35 -0
  100. package/dist/vue-components9.es.js +47 -0
  101. package/package.json +30 -30
  102. package/src/components/CommandButton.vue +96 -16
  103. package/src/components/OmegaForm/InputProps.ts +1 -1
  104. package/src/components/OmegaForm/OmegaArray.vue +8 -9
  105. package/src/components/OmegaForm/OmegaAutoGen.vue +3 -2
  106. package/src/components/OmegaForm/OmegaErrorsInternal.vue +1 -1
  107. package/src/components/OmegaForm/OmegaFormInput.vue +1 -1
  108. package/src/components/OmegaForm/OmegaInput.vue +15 -38
  109. package/src/components/OmegaForm/OmegaInputVuetify.vue +5 -2
  110. package/src/components/OmegaForm/OmegaInternalInput.vue +17 -5
  111. package/src/components/OmegaForm/OmegaTaggedUnion.vue +10 -3
  112. package/src/components/OmegaForm/OmegaTaggedUnionInternal.vue +6 -6
  113. package/src/components/OmegaForm/OmegaWrapper.vue +1 -1
  114. package/src/components/OmegaForm/blockDialog.ts +18 -6
  115. package/src/components/OmegaForm/createUseFormWithCustomInput.ts +2 -1
  116. package/src/components/OmegaForm/errors.ts +136 -0
  117. package/src/components/OmegaForm/getOmegaStore.ts +1 -1
  118. package/src/components/OmegaForm/hocs.ts +19 -0
  119. package/src/components/OmegaForm/index.ts +16 -4
  120. package/src/components/OmegaForm/inputs.ts +22 -0
  121. package/src/components/OmegaForm/meta/checks.ts +82 -0
  122. package/src/components/OmegaForm/meta/createMeta.ts +140 -0
  123. package/src/components/OmegaForm/meta/defaults.ts +261 -0
  124. package/src/components/OmegaForm/meta/redacted.ts +66 -0
  125. package/src/components/OmegaForm/meta/types.ts +78 -0
  126. package/src/components/OmegaForm/meta/walker.ts +248 -0
  127. package/src/components/OmegaForm/persistency.ts +247 -0
  128. package/src/components/OmegaForm/submit.ts +131 -0
  129. package/src/components/OmegaForm/types.ts +759 -0
  130. package/src/components/OmegaForm/useOmegaForm.ts +99 -893
  131. package/src/components/OmegaForm/useRegisterField.ts +1 -1
  132. package/src/components/OmegaForm/validation/localized.ts +203 -0
  133. package/src/index.ts +0 -1
  134. package/src/reset.css +39 -38
  135. package/src/utils/index.ts +11 -8
  136. package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +0 -159
  137. package/dist/types/constants/index.d.ts +0 -1
  138. package/dist/vue-components.es10.js +0 -239
  139. package/dist/vue-components.es11.js +0 -32
  140. package/dist/vue-components.es12.js +0 -503
  141. package/dist/vue-components.es13.js +0 -49
  142. package/dist/vue-components.es14.js +0 -4
  143. package/dist/vue-components.es15.js +0 -4
  144. package/dist/vue-components.es16.js +0 -13
  145. package/dist/vue-components.es17.js +0 -6
  146. package/dist/vue-components.es18.js +0 -13
  147. package/dist/vue-components.es19.js +0 -57
  148. package/dist/vue-components.es2.js +0 -30
  149. package/dist/vue-components.es20.js +0 -56
  150. package/dist/vue-components.es21.js +0 -8
  151. package/dist/vue-components.es22.js +0 -8
  152. package/dist/vue-components.es23.js +0 -5
  153. package/dist/vue-components.es24.js +0 -5
  154. package/dist/vue-components.es25.js +0 -4
  155. package/dist/vue-components.es26.js +0 -4
  156. package/dist/vue-components.es27.js +0 -4
  157. package/dist/vue-components.es28.js +0 -4
  158. package/dist/vue-components.es29.js +0 -19
  159. package/dist/vue-components.es3.js +0 -17
  160. package/dist/vue-components.es30.js +0 -194
  161. package/dist/vue-components.es32.js +0 -31
  162. package/dist/vue-components.es33.js +0 -6
  163. package/dist/vue-components.es34.js +0 -4
  164. package/dist/vue-components.es35.js +0 -4
  165. package/dist/vue-components.es36.js +0 -113
  166. package/dist/vue-components.es38.js +0 -9
  167. package/dist/vue-components.es39.js +0 -34
  168. package/dist/vue-components.es4.js +0 -52
  169. package/dist/vue-components.es41.js +0 -6
  170. package/dist/vue-components.es42.js +0 -25
  171. package/dist/vue-components.es43.js +0 -7
  172. package/dist/vue-components.es44.js +0 -23
  173. package/dist/vue-components.es45.js +0 -32
  174. package/dist/vue-components.es46.js +0 -24
  175. package/dist/vue-components.es47.js +0 -14
  176. package/dist/vue-components.es48.js +0 -7
  177. package/dist/vue-components.es49.js +0 -21
  178. package/dist/vue-components.es5.js +0 -52
  179. package/dist/vue-components.es50.js +0 -11
  180. package/dist/vue-components.es51.js +0 -33
  181. package/dist/vue-components.es52.js +0 -50
  182. package/dist/vue-components.es53.js +0 -28
  183. package/dist/vue-components.es54.js +0 -13
  184. package/dist/vue-components.es55.js +0 -31
  185. package/dist/vue-components.es56.js +0 -67
  186. package/dist/vue-components.es57.js +0 -58
  187. package/dist/vue-components.es58.js +0 -19
  188. package/dist/vue-components.es59.js +0 -35
  189. package/dist/vue-components.es6.js +0 -69
  190. package/dist/vue-components.es60.js +0 -44
  191. package/dist/vue-components.es61.js +0 -4
  192. package/dist/vue-components.es62.js +0 -46
  193. package/dist/vue-components.es63.js +0 -4
  194. package/dist/vue-components.es7.js +0 -83
  195. package/dist/vue-components.es8.js +0 -63
  196. package/dist/vue-components.es9.js +0 -21
  197. package/src/components/OmegaForm/OmegaFormStuff.ts +0 -1276
  198. package/src/constants/index.ts +0 -1
@@ -1,19 +1,19 @@
1
- import { type makeIntl } from "@effect-app/vue";
2
- import { S } from "effect-app";
1
+ import { type makeIntl } from "@effect-app/vue/makeIntl";
2
+ import type * as S from "effect-app/Schema";
3
3
  import { type InjectionKey } from "vue";
4
4
  export declare const useIntlKey: InjectionKey<ReturnType<typeof makeIntl>["useIntl"]>;
5
5
  export declare const useIntl: () => {
6
6
  locale: import("vue").Ref<string, string>;
7
7
  trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>) => string;
8
8
  readonly formatMessage: (descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>, opts?: import("intl-messageformat").Options) => string;
9
- readonly intl: import("@effect-app/vue").IntlShape<string>;
9
+ readonly intl: import("@effect-app/vue/makeIntl").IntlShape<Locale>;
10
10
  };
11
11
  export declare const provideIntl: (intl: ReturnType<typeof makeIntl>["useIntl"]) => void;
12
12
  /**
13
- * Recursively extracts the source AST from a transformation chain.
14
- * If the provided AST is a transformation, it follows the chain to find the original source AST.
15
- *
16
- * @param ast - The AST node to extract the transformation source from
17
- * @returns The source AST at the end of the transformation chain
13
+ * Walks the encoding chain of the given AST node to its source (encoded)
14
+ * side. Shallow does not recurse into children, so inner prop-level
15
+ * transformations (e.g. `FiniteFromString`) keep their decoded shape
16
+ * while struct-level `decodeTo` transformations are unwrapped to their
17
+ * input side (e.g. `NonNegativeInt` rather than the decoded `PositiveInt`).
18
18
  */
19
19
  export declare function getTransformationFrom(ast: S.AST.AST): S.AST.AST;
@@ -1,45 +1,30 @@
1
- import * as o from "./vue-components.es2.js";
2
- import { getTransformationFrom as p, provideIntl as l, useIntl as s, useIntlKey as u } from "./vue-components.es3.js";
3
- import { default as i } from "./vue-components.es4.js";
4
- import { default as g } from "./vue-components.es5.js";
5
- import { default as I } from "./vue-components.es6.js";
6
- import { default as y } from "./vue-components.es7.js";
7
- import { default as h } from "./vue-components.es8.js";
8
- import { default as C } from "./vue-components.es9.js";
9
- import { useOmegaForm as T } from "./vue-components.es10.js";
10
- import { useOnClose as b, usePreventClose as j } from "./vue-components.es11.js";
11
- import { createMeta as P, deepMerge as V, defaultsValueFromSchema as k, duplicateSchema as w, generateInputStandardSchemaFromFieldMeta as B, generateMetaFromSchema as D, getInputType as K, isNullableOrUndefined as N } from "./vue-components.es12.js";
12
- import { createUseFormWithCustomInput as $ } from "./vue-components.es13.js";
13
- function r(a) {
14
- for (const e in o)
15
- if (Object.prototype.hasOwnProperty.call(o, e)) {
16
- const t = o[e];
17
- t && typeof t == "object" && a.component(e, t);
18
- }
1
+ import e from "./vue-components4.es.js";
2
+ import { getTransformationFrom as t, provideIntl as n, useIntl as r, useIntlKey as i } from "./vue-components6.es.js";
3
+ import { useOnClose as a, usePreventClose as o } from "./vue-components8.es.js";
4
+ import s from "./vue-components10.es.js";
5
+ import { getInputType as c } from "./vue-components11.es.js";
6
+ import { createMeta as l, generateMetaFromSchema as u, isNullableOrUndefined as d, metadataFromAst as f } from "./vue-components14.es.js";
7
+ import { defaultsValueFromSchema as p } from "./vue-components15.es.js";
8
+ import { toFormSchema as m } from "./vue-components16.es.js";
9
+ import { deepMerge as h } from "./vue-components18.es.js";
10
+ import { makeStandardSchemaV1Hooks as g, toLocalizedStandardSchemaV1 as _ } from "./vue-components19.es.js";
11
+ import { useErrorLabel as v } from "./vue-components20.es.js";
12
+ import y from "./vue-components34.es.js";
13
+ import b from "./vue-components36.es.js";
14
+ import x from "./vue-components38.es.js";
15
+ import S from "./vue-components40.es.js";
16
+ import { FormErrors as C } from "./vue-components67.es.js";
17
+ import { OmegaFormKey as w, useOmegaForm as T } from "./vue-components68.es.js";
18
+ import { createUseFormWithCustomInput as E } from "./vue-components69.es.js";
19
+ import { duplicateSchema as D } from "./vue-components70.es.js";
20
+ import { components_exports as O } from "./vue-components71.es.js";
21
+ //#region src/index.ts
22
+ function k(e) {
23
+ for (let t in O) if (Object.prototype.hasOwnProperty.call(O, t)) {
24
+ let n = O[t];
25
+ n && typeof n == "object" && e.component(t, n);
26
+ }
19
27
  }
20
- const n = { install: r };
21
- export {
22
- i as CommandButton,
23
- g as Dialog,
24
- I as OmegaInput,
25
- h as OmegaTaggedUnion,
26
- C as OmegaTaggedUnionInternal,
27
- y as OmegaVuetifyInput,
28
- P as createMeta,
29
- $ as createUseFormWithCustomInput,
30
- V as deepMerge,
31
- n as default,
32
- k as defaultsValueFromSchema,
33
- w as duplicateSchema,
34
- B as generateInputStandardSchemaFromFieldMeta,
35
- D as generateMetaFromSchema,
36
- K as getInputType,
37
- p as getTransformationFrom,
38
- N as isNullableOrUndefined,
39
- l as provideIntl,
40
- s as useIntl,
41
- u as useIntlKey,
42
- T as useOmegaForm,
43
- b as useOnClose,
44
- j as usePreventClose
45
- };
28
+ var A = { install: k };
29
+ //#endregion
30
+ export { e as CommandButton, s as Dialog, C as FormErrors, w as OmegaFormKey, b as OmegaInput, S as OmegaTaggedUnion, x as OmegaTaggedUnionInternal, y as OmegaVuetifyInput, l as createMeta, E as createUseFormWithCustomInput, h as deepMerge, A as default, p as defaultsValueFromSchema, D as duplicateSchema, u as generateMetaFromSchema, c as getInputType, t as getTransformationFrom, d as isNullableOrUndefined, g as makeStandardSchemaV1Hooks, f as metadataFromAst, n as provideIntl, m as toFormSchema, _ as toLocalizedStandardSchemaV1, v as useErrorLabel, r as useIntl, i as useIntlKey, T as useOmegaForm, a as useOnClose, o as usePreventClose };
@@ -0,0 +1,5 @@
1
+ import e from "./vue-components9.es.js";
2
+ //#region src/components/Dialog.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,20 @@
1
+ //#region src/components/OmegaForm/inputs.ts
2
+ var e = [
3
+ "button",
4
+ "checkbox",
5
+ "color",
6
+ "date",
7
+ "email",
8
+ "number",
9
+ "password",
10
+ "radio",
11
+ "range",
12
+ "search",
13
+ "submit",
14
+ "tel",
15
+ "text",
16
+ "time",
17
+ "url"
18
+ ], t = (t) => e.includes(t) ? t : "text";
19
+ //#endregion
20
+ export { t as getInputType };
@@ -0,0 +1,49 @@
1
+ import * as e from "effect-app/Schema";
2
+ //#region src/components/OmegaForm/meta/checks.ts
3
+ var t = (e) => (e.checks ?? []).flatMap((e) => {
4
+ if (e._tag === "FilterGroup") return e.checks.flatMap((e) => {
5
+ let t = e.annotations?.meta;
6
+ return t && typeof t == "object" ? [t] : [];
7
+ });
8
+ let t = e.annotations?.meta;
9
+ return t && typeof t == "object" ? [t] : [];
10
+ }), n = (n) => {
11
+ let r = { description: e.AST.resolveDescription(n) }, i = t(n);
12
+ if (e.AST.isString(n)) {
13
+ r.type = "string";
14
+ for (let e of i) switch (e._tag) {
15
+ case "isMinLength":
16
+ r.minLength = e.minLength;
17
+ break;
18
+ case "isMaxLength":
19
+ r.maxLength = e.maxLength;
20
+ break;
21
+ }
22
+ n.annotations?.format === "email" && (r.format = "email");
23
+ } else if (e.AST.isNumber(n)) {
24
+ r.type = "number";
25
+ for (let e of i) switch (e._tag) {
26
+ case "isInt":
27
+ r.refinement = "int";
28
+ break;
29
+ case "isGreaterThanOrEqualTo":
30
+ r.minimum = e.minimum;
31
+ break;
32
+ case "isLessThanOrEqualTo":
33
+ r.maximum = e.maximum;
34
+ break;
35
+ case "isBetween":
36
+ r.minimum = e.minimum, r.maximum = e.maximum;
37
+ break;
38
+ case "isGreaterThan":
39
+ r.exclusiveMinimum = e.exclusiveMinimum;
40
+ break;
41
+ case "isLessThan":
42
+ r.exclusiveMaximum = e.exclusiveMaximum;
43
+ break;
44
+ }
45
+ } else e.AST.isBoolean(n) ? r.type = "boolean" : e.AST.isDeclaration(n) && n.annotations?.typeConstructor?._tag === "Date" ? r.type = "date" : r.type = "unknown";
46
+ return r;
47
+ };
48
+ //#endregion
49
+ export { n as getFieldMetadataFromAst };
@@ -0,0 +1,128 @@
1
+ import { getFieldMetadataFromAst as e } from "./vue-components12.es.js";
2
+ import { isNullableOrUndefined as t, unwrapDeclaration as n } from "./vue-components14.es.js";
3
+ import * as r from "effect-app/Schema";
4
+ //#region src/components/OmegaForm/meta/walker.ts
5
+ var i = (e) => r.AST.isUndefined(e) || r.AST.isNull(e), a = (e) => r.AST.isUnion(e) && e.types.length === 1 && r.AST.isLiteral(e.types[0]) ? e.types[0] : e, o = (e) => e.flatMap((e) => r.AST.isUnion(e) ? o(e.types) : [e]), s = (t, n) => {
6
+ let { nullableOrUndefined: i, required: a } = n;
7
+ return r.AST.isArrays(t) ? {
8
+ required: a,
9
+ nullableOrUndefined: i,
10
+ type: "multiple",
11
+ members: t.elements,
12
+ rest: t.rest
13
+ } : r.AST.isLiteral(t) ? {
14
+ required: a,
15
+ nullableOrUndefined: i,
16
+ type: "select",
17
+ members: [t.literal]
18
+ } : {
19
+ ...e(t),
20
+ required: a,
21
+ nullableOrUndefined: i
22
+ };
23
+ }, c = (e, n, r, i) => {
24
+ for (let a of e) {
25
+ let e = n ? `${n}.${a.name.toString()}` : a.name.toString(), o = t(a.type), s = a.type.context?.isOptional === !0, c;
26
+ c = r.isNullableDiscriminatedUnion && a.name.toString() === "_tag" ? !1 : r.required ? s ? !1 : !o : !1, u(a.type, e, {
27
+ required: c,
28
+ nullableOrUndefined: o,
29
+ isOptionalKey: s
30
+ }, i);
31
+ }
32
+ }, l = (e, t, l, d) => {
33
+ let { acc: f } = d, p = o(e.types).map(n), m = p.filter((e) => !i(e));
34
+ if (m.length === 1 && r.AST.isLiteral(m[0]) && typeof m[0].literal == "boolean") {
35
+ f[t] = s(m[0], l);
36
+ return;
37
+ }
38
+ if (m.some(r.AST.isObjects)) {
39
+ let e = !!l.nullableOrUndefined && m.length > 1;
40
+ if (!l.nullableOrUndefined && t) {
41
+ let e = m.find((e) => !r.AST.isObjects(e));
42
+ e && (f[t] = s(e, l));
43
+ }
44
+ let n = [], i = e ? {
45
+ required: !0,
46
+ nullableOrUndefined: !1,
47
+ isNullableDiscriminatedUnion: !0
48
+ } : {
49
+ required: !0,
50
+ nullableOrUndefined: !1
51
+ };
52
+ for (let e of m) {
53
+ if (!r.AST.isObjects(e)) continue;
54
+ let o = e.propertySignatures.find((e) => e.name.toString() === "_tag"), s = o ? a(o.type) : null, l = null;
55
+ s && r.AST.isLiteral(s) && (l = s.literal, n.includes(l) || n.push(l));
56
+ let u = {
57
+ acc: {},
58
+ unionMeta: d.unionMeta
59
+ };
60
+ if (c(e.propertySignatures, t, i, u), l) {
61
+ let e = d.unionMeta[l];
62
+ e ? Object.assign(e, u.acc) : d.unionMeta[l] = u.acc;
63
+ }
64
+ for (let [e, t] of Object.entries(u.acc)) {
65
+ let n = f[e];
66
+ n && n.type === "select" && t?.type === "select" ? n.members = [...n.members, ...t.members.filter((e) => !n.members.includes(e))] : f[e] = t;
67
+ }
68
+ }
69
+ if (n.length > 0) {
70
+ let r = t ? `${t}._tag` : "_tag", i = f[r];
71
+ if (i && i.type === "select") for (let e of n) i.members.includes(e) || i.members.push(e);
72
+ else f[r] = {
73
+ type: "select",
74
+ members: n,
75
+ required: !e
76
+ };
77
+ }
78
+ return;
79
+ }
80
+ let h = m.find(r.AST.isArrays);
81
+ if (h) {
82
+ u(h, t, l, d);
83
+ return;
84
+ }
85
+ let g = p.map(a);
86
+ if (g.every((e) => i(e) || r.AST.isLiteral(e))) {
87
+ let { isOptionalKey: e, nullableOrUndefined: n, required: i } = l, a = {
88
+ required: i,
89
+ nullableOrUndefined: n,
90
+ type: "select",
91
+ members: g.filter(r.AST.isLiteral).map((e) => e.literal)
92
+ };
93
+ e && (a.isOptionalKey = !0), f[t] = a;
94
+ return;
95
+ }
96
+ let _ = m[0];
97
+ _ && u(_, t, l, d);
98
+ }, u = (t, i, a, o) => {
99
+ t = n(t);
100
+ let { acc: u } = o;
101
+ if (r.AST.isObjects(t)) {
102
+ c(t.propertySignatures, i, a, o);
103
+ return;
104
+ }
105
+ if (r.AST.isUnion(t)) {
106
+ l(t, i, a, o);
107
+ return;
108
+ }
109
+ if (r.AST.isArrays(t)) {
110
+ let e = t.rest.length > 0 ? n(t.rest[0]) : null;
111
+ if (e && r.AST.isObjects(e)) {
112
+ c(e.propertySignatures, i, {
113
+ required: !0,
114
+ nullableOrUndefined: !1
115
+ }, o);
116
+ return;
117
+ }
118
+ u[i] = s(t, a);
119
+ return;
120
+ }
121
+ let { isOptionalKey: d, nullableOrUndefined: f, required: p } = a, m = {
122
+ required: p && (!r.AST.isString(t) || !!e(t).minLength),
123
+ nullableOrUndefined: f
124
+ }, h = s(t, m);
125
+ d && (h.isOptionalKey = !0), u[i] = h;
126
+ };
127
+ //#endregion
128
+ export { l as classifyAndWalkUnion, s as leafMetaForAst, c as walkStruct };
@@ -0,0 +1,65 @@
1
+ import { getTransformationFrom as e } from "./vue-components6.es.js";
2
+ import { classifyAndWalkUnion as t, leafMetaForAst as n, walkStruct as r } from "./vue-components13.es.js";
3
+ import * as i from "effect-app/Schema";
4
+ //#region src/components/OmegaForm/meta/createMeta.ts
5
+ var a = (t) => {
6
+ let n = e(t);
7
+ for (; i.AST.isDeclaration(n) && n.typeParameters.length > 0;) n = e(n.typeParameters[0]);
8
+ return n;
9
+ }, o = (e) => !e || !i.AST.isUnion(e) ? !1 : e.types.find((e) => i.AST.isUndefined(e)) ? "undefined" : e.types.find((e) => i.AST.isNull(e)) ? "null" : !1, s = ({ meta: e = {}, parent: s = "", property: c, propertySignatures: l }, u = {}) => {
10
+ let d = {
11
+ acc: u,
12
+ unionMeta: {}
13
+ };
14
+ if (l) return r(l, s, {
15
+ required: e.required !== !1,
16
+ nullableOrUndefined: e.nullableOrUndefined ?? !1
17
+ }, d), u;
18
+ if (c) {
19
+ let l = o(c), f = a(c), p = {
20
+ required: Object.hasOwnProperty.call(e, "required") ? e.required : !l,
21
+ nullableOrUndefined: e.nullableOrUndefined ?? l
22
+ };
23
+ if (i.AST.isObjects(f)) return r(f.propertySignatures, s, p, d), u;
24
+ if (i.AST.isUnion(f)) {
25
+ let e = {
26
+ acc: {},
27
+ unionMeta: {}
28
+ };
29
+ t(f, s, p, e);
30
+ let n = e.acc[s];
31
+ if (n) return n;
32
+ }
33
+ return n(f, p);
34
+ }
35
+ return u;
36
+ }, c = (e) => {
37
+ let n = a(e.ast), o = {}, s = {}, c = {}, l = {
38
+ acc: o,
39
+ unionMeta: c
40
+ };
41
+ return i.AST.isUnion(n) ? (t(n, "", {
42
+ required: !0,
43
+ nullableOrUndefined: !1
44
+ }, l), {
45
+ meta: o,
46
+ defaultValues: s,
47
+ unionMeta: c
48
+ }) : (i.AST.isObjects(n) && r(n.propertySignatures, "", {
49
+ required: !0,
50
+ nullableOrUndefined: !1
51
+ }, l), {
52
+ meta: o,
53
+ defaultValues: s,
54
+ unionMeta: c
55
+ });
56
+ }, l = (e) => {
57
+ let { meta: t, unionMeta: n } = c(e);
58
+ return {
59
+ schema: e,
60
+ meta: t,
61
+ unionMeta: n
62
+ };
63
+ };
64
+ //#endregion
65
+ export { s as createMeta, l as generateMetaFromSchema, o as isNullableOrUndefined, c as metadataFromAst, a as unwrapDeclaration };
@@ -0,0 +1,114 @@
1
+ import { isNullableOrUndefined as e, unwrapDeclaration as t } from "./vue-components14.es.js";
2
+ import * as n from "effect-app/Option";
3
+ import * as r from "effect-app/Schema";
4
+ import * as i from "effect-app/Effect";
5
+ //#region src/components/OmegaForm/meta/defaults.ts
6
+ var a = (e) => {
7
+ if (e?.transformation?.decode?.run) try {
8
+ let t = i.runSync(e.transformation.decode.run(n.none()));
9
+ return n.isSome(t) ? t.value : void 0;
10
+ } catch {
11
+ return;
12
+ }
13
+ }, o = (e) => {
14
+ let t = e.context?.defaultValue?.[0], n = a(t);
15
+ if (n !== void 0) return n;
16
+ let r = e.encoding?.[0];
17
+ if (r && e.context?.isOptional) return a(r);
18
+ };
19
+ function s(e) {
20
+ return e && "members" in e && Array.isArray(e.members);
21
+ }
22
+ var c = (e) => typeof e == "object" && !!e && !Array.isArray(e), l = (e) => r.AST.isNull(e) || r.AST.isUndefined(e), u = (e) => {
23
+ let n = t(e);
24
+ return r.AST.isUnion(n) ? n.types.flatMap(u) : [n];
25
+ }, d = (e) => {
26
+ let n = t(e);
27
+ if (r.AST.isLiteral(n)) return n.literal;
28
+ if (r.AST.isUnion(n) && n.types.length === 1) return d(n.types[0]);
29
+ }, f = (e, t) => {
30
+ if (!(!c(t) || t._tag === void 0)) return e.find((e) => {
31
+ let n = e.propertySignatures.find((e) => e.name.toString() === "_tag");
32
+ return n ? d(n.type) === t._tag : !1;
33
+ });
34
+ }, p = (n, i = {}) => {
35
+ let a = n.ast, c = o(a);
36
+ if (c !== void 0) return c;
37
+ if (e(n.ast) === "null") return null;
38
+ if (e(n.ast) === "undefined") return;
39
+ let l = r.AST.isObjects(a) ? a : r.AST.isDeclaration(a) ? t(a) : void 0;
40
+ if (l && r.AST.isObjects(l)) {
41
+ let t = {};
42
+ for (let n of l.propertySignatures) {
43
+ let a = n.name.toString(), s = n.type, c = o(s);
44
+ if (c !== void 0) {
45
+ t[a] = c;
46
+ continue;
47
+ }
48
+ let l = p(r.make(s), i[a] || {});
49
+ l === void 0 ? e(s) === "undefined" && (t[a] = void 0) : t[a] = l;
50
+ }
51
+ return {
52
+ ...t,
53
+ ...i
54
+ };
55
+ }
56
+ let u = r.AST.isUnion(a) ? a.types : s(n) ? n.members.map((e) => e.ast) : void 0;
57
+ if (u) {
58
+ let e = {};
59
+ for (let n of u) {
60
+ let i = t(n);
61
+ if (r.AST.isObjects(i)) for (let t of i.propertySignatures) {
62
+ let n = t.name.toString(), r = o(t.type), i = e[n] ? o(e[n].ast) : void 0;
63
+ (!e[n] || r !== void 0 && i === void 0) && (e[n] = { ast: t.type });
64
+ }
65
+ }
66
+ return Object.keys(e).length === 0 ? Object.keys(i).length > 0 ? i : void 0 : Object.entries(e).reduce((e, [t, { ast: n }]) => (e[t] = p(r.make(n), i[t] || {}), e), i);
67
+ }
68
+ if (Object.keys(i).length === 0) {
69
+ if (r.AST.isString(a)) return "";
70
+ if (r.AST.isBoolean(a)) return !1;
71
+ }
72
+ }, m = (n, i, a = !1) => {
73
+ let s = t(n);
74
+ switch (s._tag) {
75
+ case "Union": {
76
+ if (i == null) return i;
77
+ let e = u(s), t = e.filter(r.AST.isObjects);
78
+ if (t.length === 0) return i;
79
+ let n = e.some(l), o = f(t, i);
80
+ return o ? m(o, i, a || n) : n && t.length === 1 ? m(t[0], i, !0) : i;
81
+ }
82
+ case "Arrays": {
83
+ if (!Array.isArray(i)) return i;
84
+ let e = s.rest[0];
85
+ if (!e) return i;
86
+ let t = !1, n = i.map((n) => {
87
+ let r = m(e, n, a);
88
+ return r !== n && (t = !0), r;
89
+ });
90
+ return t ? n : i;
91
+ }
92
+ case "Objects": {
93
+ if (!c(i)) return i;
94
+ let t = i, n = !1, r = (e, r) => {
95
+ n ||= (t = { ...i }, !0), t[e] = r;
96
+ };
97
+ for (let t of s.propertySignatures) {
98
+ let n = t.name.toString(), s = i[n];
99
+ if (s !== void 0) {
100
+ let e = m(t.type, s, a);
101
+ e !== s && r(n, e);
102
+ continue;
103
+ }
104
+ if (!a || t.type.context?.isOptional === !0) continue;
105
+ let c = o(t.type);
106
+ c === void 0 ? e(t.type) === "null" && r(n, null) : r(n, c);
107
+ }
108
+ return t;
109
+ }
110
+ default: return i;
111
+ }
112
+ };
113
+ //#endregion
114
+ export { p as defaultsValueFromSchema, m as fillNestedDefaults };
@@ -0,0 +1,22 @@
1
+ import * as e from "effect-app/Schema";
2
+ //#region src/components/OmegaForm/meta/redacted.ts
3
+ var t = (t) => e.AST.isDeclaration(t) && t.annotations?.typeConstructor?._tag === "effect/Redacted" && !t.encoding, n = (n) => {
4
+ let r = n.ast, i = e.AST.isObjects(r) ? r : e.AST.isDeclaration(r) ? e.AST.toEncoded(r) : null;
5
+ if (!i || !("propertySignatures" in i)) return n;
6
+ let a = !1, o = {};
7
+ for (let n of i.propertySignatures) if (t(n.type)) {
8
+ a = !0;
9
+ let t = e.make(n.type.typeParameters[0]);
10
+ o[n.name] = e.RedactedFromValue(t);
11
+ } else if (e.AST.isUnion(n.type)) {
12
+ let r = n.type.types, i = r.find(t);
13
+ if (i) {
14
+ a = !0;
15
+ let t = e.make(i.typeParameters[0]), s = r.some(e.AST.isNull), c = r.some(e.AST.isUndefined), l = e.RedactedFromValue(t);
16
+ o[n.name] = s && c ? e.NullishOr(l) : s ? e.NullOr(l) : c ? e.UndefinedOr(l) : l;
17
+ } else o[n.name] = e.make(n.type);
18
+ } else o[n.name] = e.make(n.type);
19
+ return a ? e.Struct(o) : n;
20
+ };
21
+ //#endregion
22
+ export { n as toFormSchema };
@@ -0,0 +1,5 @@
1
+ import "vue";
2
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
3
+ var e = Object.prototype.toString, t = (t) => e.call(t) === "[object Object]";
4
+ //#endregion
5
+ export { t as isObject };
@@ -0,0 +1,80 @@
1
+ import { isObject as e } from "./vue-components17.es.js";
2
+ import { computed as t, onBeforeUnmount as n, onMounted as r, onUnmounted as i } from "vue";
3
+ //#region src/components/OmegaForm/persistency.ts
4
+ function a(t, n) {
5
+ let r = { ...t };
6
+ for (let t in n) Array.isArray(n[t]) ? r[t] = n[t] : n[t] && e(n[t]) ? r[t] = a(r[t], n[t]) : r[t] = n[t];
7
+ return r;
8
+ }
9
+ var o = (e, t) => e.includes(t), s = (e) => {
10
+ let { getForm: s, meta: c, persistency: l, preventWindowExit: u, schemaDefaultValues: d, tanstackDefaultValues: f } = e, p = t(() => l?.id ? l.id : `${window.location.pathname}-${Object.keys(c).join("-")}`), m = () => {
11
+ let e = new URLSearchParams(window.location.search);
12
+ e.delete(p.value);
13
+ let t = new URL(window.location.href);
14
+ t.search = e.toString(), window.history.replaceState({}, "", t.toString());
15
+ }, h = t(() => {
16
+ let t;
17
+ if (l?.policies && !t && (o(l.policies, "local") || o(l.policies, "session"))) {
18
+ let e = o(l.policies, "local") ? localStorage : sessionStorage;
19
+ if (e) try {
20
+ let n = JSON.parse(e.getItem(p.value) || "{}");
21
+ e.removeItem(p.value), t = n;
22
+ } catch (e) {
23
+ console.error(e);
24
+ }
25
+ }
26
+ if (l?.policies && o(l.policies, "querystring")) try {
27
+ let e = new URLSearchParams(window.location.search).get(p.value);
28
+ m(), e && (t = a(t || {}, JSON.parse(e)));
29
+ } catch (e) {
30
+ console.error(e);
31
+ }
32
+ t ??= {};
33
+ let n = {
34
+ tanstack: f || {},
35
+ persistency: t,
36
+ schema: d()
37
+ };
38
+ return [...e.defaultValuesPriority || [
39
+ "tanstack",
40
+ "persistency",
41
+ "schema"
42
+ ]].reverse().reduce((e, t) => Object.keys(e).length ? a(e, n[t]) : n[t], {});
43
+ }), g = (e) => e.reduce((e, t) => {
44
+ let n = t.split(".");
45
+ return n.reduce((e, r, i) => (i === n.length - 1 ? e[r] = s().getFieldValue(t) : e[r] = e[r] ?? {}, e[r]), e), e;
46
+ }, {}), _ = (e) => {
47
+ if (!e) return;
48
+ let { banKeys: t, keys: n } = e;
49
+ return Array.isArray(n) ? g(n) : Array.isArray(t) ? g(Object.keys(c).filter((e) => t.includes(e))) : s().store.state.values;
50
+ }, v = () => {
51
+ if (!(!l?.policies || l.policies.length === 0) && (o(l.policies, "local") || o(l.policies, "session"))) {
52
+ let e = o(l.policies, "local") ? localStorage : sessionStorage;
53
+ if (!e) return;
54
+ let t = _(l);
55
+ return e.setItem(p.value, JSON.stringify(t));
56
+ }
57
+ }, y = () => {
58
+ if (!(!l?.policies || l.policies.length === 0) && o(l.policies, "querystring")) {
59
+ let e = _(l), t = new URLSearchParams(window.location.search);
60
+ t.set(p.value, JSON.stringify(e));
61
+ let n = new URL(window.location.href);
62
+ n.search = t.toString(), window.history.replaceState({}, "", n.toString());
63
+ }
64
+ }, b = (e) => {
65
+ s().store.state.isDirty && e.preventDefault();
66
+ };
67
+ return i(v), r(() => {
68
+ window.addEventListener("beforeunload", v), window.addEventListener("blur", y), u && u !== "nope" && window.addEventListener("beforeunload", b);
69
+ }), n(() => {
70
+ window.removeEventListener("beforeunload", v), window.removeEventListener("blur", y), u && u !== "nope" && window.removeEventListener("beforeunload", b);
71
+ }), {
72
+ defaultValues: h,
73
+ persistencyKey: p,
74
+ persistData: v,
75
+ saveDataInUrl: y,
76
+ clearUrlParams: m
77
+ };
78
+ };
79
+ //#endregion
80
+ export { a as deepMerge, s as usePersistency };