@rakun-kit/core 1.1.0 → 1.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 (216) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/api/routes/manager/media/finalizeUpload.js +42 -0
  3. package/dist/cjs/api/routes/manager/media/finalizeUpload.js.map +1 -1
  4. package/dist/cjs/api/routes/manager/media/prepareUpload.js +26 -1
  5. package/dist/cjs/api/routes/manager/media/prepareUpload.js.map +1 -1
  6. package/dist/cjs/api/routes/manager/media/uploadBinary.js +40 -0
  7. package/dist/cjs/api/routes/manager/media/uploadBinary.js.map +1 -1
  8. package/dist/cjs/bootstrapState.js.map +1 -1
  9. package/dist/cjs/client.js +3 -2
  10. package/dist/cjs/client.js.map +1 -1
  11. package/dist/cjs/index.js +0 -14
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/lib/ContentType.js +106 -74
  14. package/dist/cjs/lib/ContentType.js.map +1 -1
  15. package/dist/cjs/lib/Logger.js +56 -0
  16. package/dist/cjs/lib/Logger.js.map +1 -1
  17. package/dist/cjs/lib/Registry.js +35 -22
  18. package/dist/cjs/lib/Registry.js.map +1 -1
  19. package/dist/cjs/lib/fields/Boolean.js +14 -9
  20. package/dist/cjs/lib/fields/Boolean.js.map +1 -1
  21. package/dist/cjs/lib/fields/ContentReference.js +29 -17
  22. package/dist/cjs/lib/fields/ContentReference.js.map +1 -1
  23. package/dist/cjs/lib/fields/Date.js +26 -22
  24. package/dist/cjs/lib/fields/Date.js.map +1 -1
  25. package/dist/cjs/lib/fields/Field.js +79 -59
  26. package/dist/cjs/lib/fields/Field.js.map +1 -1
  27. package/dist/cjs/lib/fields/Fields.js +32 -0
  28. package/dist/cjs/lib/fields/Fields.js.map +1 -0
  29. package/dist/cjs/lib/fields/File.js +60 -85
  30. package/dist/cjs/lib/fields/File.js.map +1 -1
  31. package/dist/cjs/lib/fields/Iterator.js +8 -10
  32. package/dist/cjs/lib/fields/Iterator.js.map +1 -1
  33. package/dist/cjs/lib/fields/Link.js +20 -15
  34. package/dist/cjs/lib/fields/Link.js.map +1 -1
  35. package/dist/cjs/lib/fields/List.js +47 -16
  36. package/dist/cjs/lib/fields/List.js.map +1 -1
  37. package/dist/cjs/lib/fields/Number.js +35 -17
  38. package/dist/cjs/lib/fields/Number.js.map +1 -1
  39. package/dist/cjs/lib/fields/Relation.js +73 -66
  40. package/dist/cjs/lib/fields/Relation.js.map +1 -1
  41. package/dist/cjs/lib/fields/Select.js +28 -17
  42. package/dist/cjs/lib/fields/Select.js.map +1 -1
  43. package/dist/cjs/lib/fields/SelfRelation.js +30 -21
  44. package/dist/cjs/lib/fields/SelfRelation.js.map +1 -1
  45. package/dist/cjs/lib/fields/SimpleList.js +38 -21
  46. package/dist/cjs/lib/fields/SimpleList.js.map +1 -1
  47. package/dist/cjs/lib/fields/String.js +54 -40
  48. package/dist/cjs/lib/fields/String.js.map +1 -1
  49. package/dist/cjs/lib/fields/index.js +29 -37
  50. package/dist/cjs/lib/fields/index.js.map +1 -1
  51. package/dist/cjs/orm/operations/findDependencies.js +4 -2
  52. package/dist/cjs/orm/operations/findDependencies.js.map +1 -1
  53. package/dist/esm/api/operations/index.d.ts +15 -16
  54. package/dist/esm/api/operations/index.d.ts.map +1 -1
  55. package/dist/esm/api/operations/manager-contract.d.ts +7 -6
  56. package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
  57. package/dist/esm/api/operations/manager.d.ts +7 -6
  58. package/dist/esm/api/operations/manager.d.ts.map +1 -1
  59. package/dist/esm/api/operations/web-contract.d.ts +8 -10
  60. package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
  61. package/dist/esm/api/operations/web.d.ts +8 -10
  62. package/dist/esm/api/operations/web.d.ts.map +1 -1
  63. package/dist/esm/api/proxies/index.d.ts +7 -3
  64. package/dist/esm/api/proxies/index.d.ts.map +1 -1
  65. package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts.map +1 -1
  66. package/dist/esm/api/routes/manager/media/finalizeUpload.js +42 -0
  67. package/dist/esm/api/routes/manager/media/finalizeUpload.js.map +1 -1
  68. package/dist/esm/api/routes/manager/media/prepareUpload.d.ts.map +1 -1
  69. package/dist/esm/api/routes/manager/media/prepareUpload.js +26 -1
  70. package/dist/esm/api/routes/manager/media/prepareUpload.js.map +1 -1
  71. package/dist/esm/api/routes/manager/media/uploadBinary.d.ts.map +1 -1
  72. package/dist/esm/api/routes/manager/media/uploadBinary.js +40 -0
  73. package/dist/esm/api/routes/manager/media/uploadBinary.js.map +1 -1
  74. package/dist/esm/api/utils/getLanguages.d.ts +2 -6
  75. package/dist/esm/api/utils/getLanguages.d.ts.map +1 -1
  76. package/dist/esm/api/utils/getUser.d.ts +6 -2
  77. package/dist/esm/api/utils/getUser.d.ts.map +1 -1
  78. package/dist/esm/bootstrapState.d.ts +3 -2
  79. package/dist/esm/bootstrapState.d.ts.map +1 -1
  80. package/dist/esm/bootstrapState.js.map +1 -1
  81. package/dist/esm/client.d.ts +1 -1
  82. package/dist/esm/client.d.ts.map +1 -1
  83. package/dist/esm/client.js +1 -1
  84. package/dist/esm/client.js.map +1 -1
  85. package/dist/esm/index.d.ts +0 -14
  86. package/dist/esm/index.d.ts.map +1 -1
  87. package/dist/esm/index.js +0 -14
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/internal-content-types/HelloWorld.d.ts +53 -1
  90. package/dist/esm/internal-content-types/HelloWorld.d.ts.map +1 -1
  91. package/dist/esm/internal-content-types/Language.d.ts +68 -4
  92. package/dist/esm/internal-content-types/Language.d.ts.map +1 -1
  93. package/dist/esm/internal-content-types/LiteralTranslation.d.ts +107 -3
  94. package/dist/esm/internal-content-types/LiteralTranslation.d.ts.map +1 -1
  95. package/dist/esm/internal-content-types/ManagerRole.d.ts +54 -2
  96. package/dist/esm/internal-content-types/ManagerRole.d.ts.map +1 -1
  97. package/dist/esm/internal-content-types/ManagerUser.d.ts +348 -19
  98. package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
  99. package/dist/esm/internal-content-types/Media.d.ts +469 -52
  100. package/dist/esm/internal-content-types/Media.d.ts.map +1 -1
  101. package/dist/esm/internal-content-types/MediaFolder.d.ts +161 -5
  102. package/dist/esm/internal-content-types/MediaFolder.d.ts.map +1 -1
  103. package/dist/esm/internal-content-types/MfaChallenge.d.ts +961 -53
  104. package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
  105. package/dist/esm/internal-content-types/Page.d.ts +242 -26
  106. package/dist/esm/internal-content-types/Page.d.ts.map +1 -1
  107. package/dist/esm/internal-content-types/Redirect.d.ts +270 -12
  108. package/dist/esm/internal-content-types/Redirect.d.ts.map +1 -1
  109. package/dist/esm/internal-content-types/Route.d.ts +280 -9
  110. package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
  111. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +306 -7
  112. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
  113. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +266 -6
  114. package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts.map +1 -1
  115. package/dist/esm/internal-content-types/RouteMap.d.ts +265 -5
  116. package/dist/esm/internal-content-types/RouteMap.d.ts.map +1 -1
  117. package/dist/esm/internal-content-types/RouteSettings.d.ts +296 -76
  118. package/dist/esm/internal-content-types/RouteSettings.d.ts.map +1 -1
  119. package/dist/esm/internal-content-types/Seo.d.ts +54 -2
  120. package/dist/esm/internal-content-types/Seo.d.ts.map +1 -1
  121. package/dist/esm/internal-content-types/Session.d.ts +892 -49
  122. package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
  123. package/dist/esm/internal-content-types/UserMfa.d.ts +829 -52
  124. package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
  125. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +1064 -52
  126. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
  127. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +946 -51
  128. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
  129. package/dist/esm/lib/ContentType.d.ts +87 -49
  130. package/dist/esm/lib/ContentType.d.ts.map +1 -1
  131. package/dist/esm/lib/ContentType.js +93 -64
  132. package/dist/esm/lib/ContentType.js.map +1 -1
  133. package/dist/esm/lib/Logger.d.ts.map +1 -1
  134. package/dist/esm/lib/Logger.js +56 -0
  135. package/dist/esm/lib/Logger.js.map +1 -1
  136. package/dist/esm/lib/Registry.d.ts +28 -6
  137. package/dist/esm/lib/Registry.d.ts.map +1 -1
  138. package/dist/esm/lib/Registry.js +35 -22
  139. package/dist/esm/lib/Registry.js.map +1 -1
  140. package/dist/esm/lib/fields/Boolean.d.ts +8 -10
  141. package/dist/esm/lib/fields/Boolean.d.ts.map +1 -1
  142. package/dist/esm/lib/fields/Boolean.js +14 -8
  143. package/dist/esm/lib/fields/Boolean.js.map +1 -1
  144. package/dist/esm/lib/fields/ContentReference.d.ts +14 -14
  145. package/dist/esm/lib/fields/ContentReference.d.ts.map +1 -1
  146. package/dist/esm/lib/fields/ContentReference.js +29 -16
  147. package/dist/esm/lib/fields/ContentReference.js.map +1 -1
  148. package/dist/esm/lib/fields/Date.d.ts +14 -17
  149. package/dist/esm/lib/fields/Date.d.ts.map +1 -1
  150. package/dist/esm/lib/fields/Date.js +25 -21
  151. package/dist/esm/lib/fields/Date.js.map +1 -1
  152. package/dist/esm/lib/fields/Field.d.ts +122 -59
  153. package/dist/esm/lib/fields/Field.d.ts.map +1 -1
  154. package/dist/esm/lib/fields/Field.js +70 -55
  155. package/dist/esm/lib/fields/Field.js.map +1 -1
  156. package/dist/esm/lib/fields/Fields.d.ts +29 -0
  157. package/dist/esm/lib/fields/Fields.d.ts.map +1 -0
  158. package/dist/esm/lib/fields/Fields.js +29 -0
  159. package/dist/esm/lib/fields/Fields.js.map +1 -0
  160. package/dist/esm/lib/fields/File.d.ts +26 -51
  161. package/dist/esm/lib/fields/File.d.ts.map +1 -1
  162. package/dist/esm/lib/fields/File.js +59 -84
  163. package/dist/esm/lib/fields/File.js.map +1 -1
  164. package/dist/esm/lib/fields/Iterator.d.ts +13 -25
  165. package/dist/esm/lib/fields/Iterator.d.ts.map +1 -1
  166. package/dist/esm/lib/fields/Iterator.js +9 -10
  167. package/dist/esm/lib/fields/Iterator.js.map +1 -1
  168. package/dist/esm/lib/fields/Link.d.ts +13 -15
  169. package/dist/esm/lib/fields/Link.d.ts.map +1 -1
  170. package/dist/esm/lib/fields/Link.js +20 -14
  171. package/dist/esm/lib/fields/Link.js.map +1 -1
  172. package/dist/esm/lib/fields/List.d.ts +34 -34
  173. package/dist/esm/lib/fields/List.d.ts.map +1 -1
  174. package/dist/esm/lib/fields/List.js +46 -15
  175. package/dist/esm/lib/fields/List.js.map +1 -1
  176. package/dist/esm/lib/fields/Number.d.ts +12 -12
  177. package/dist/esm/lib/fields/Number.d.ts.map +1 -1
  178. package/dist/esm/lib/fields/Number.js +35 -16
  179. package/dist/esm/lib/fields/Number.js.map +1 -1
  180. package/dist/esm/lib/fields/Relation.d.ts +44 -38
  181. package/dist/esm/lib/fields/Relation.d.ts.map +1 -1
  182. package/dist/esm/lib/fields/Relation.js +74 -66
  183. package/dist/esm/lib/fields/Relation.js.map +1 -1
  184. package/dist/esm/lib/fields/Select.d.ts +14 -13
  185. package/dist/esm/lib/fields/Select.d.ts.map +1 -1
  186. package/dist/esm/lib/fields/Select.js +28 -16
  187. package/dist/esm/lib/fields/Select.js.map +1 -1
  188. package/dist/esm/lib/fields/SelfRelation.d.ts +19 -18
  189. package/dist/esm/lib/fields/SelfRelation.d.ts.map +1 -1
  190. package/dist/esm/lib/fields/SelfRelation.js +30 -20
  191. package/dist/esm/lib/fields/SelfRelation.js.map +1 -1
  192. package/dist/esm/lib/fields/SimpleList.d.ts +16 -20
  193. package/dist/esm/lib/fields/SimpleList.d.ts.map +1 -1
  194. package/dist/esm/lib/fields/SimpleList.js +38 -20
  195. package/dist/esm/lib/fields/SimpleList.js.map +1 -1
  196. package/dist/esm/lib/fields/String.d.ts +18 -25
  197. package/dist/esm/lib/fields/String.d.ts.map +1 -1
  198. package/dist/esm/lib/fields/String.js +53 -39
  199. package/dist/esm/lib/fields/String.js.map +1 -1
  200. package/dist/esm/lib/fields/index.d.ts +15 -83
  201. package/dist/esm/lib/fields/index.d.ts.map +1 -1
  202. package/dist/esm/lib/fields/index.js +15 -36
  203. package/dist/esm/lib/fields/index.js.map +1 -1
  204. package/dist/esm/lib/types/index.d.ts +6 -2
  205. package/dist/esm/lib/types/index.d.ts.map +1 -1
  206. package/dist/esm/manager.d.ts +28 -24
  207. package/dist/esm/manager.d.ts.map +1 -1
  208. package/dist/esm/orm/operations/findDependencies.d.ts.map +1 -1
  209. package/dist/esm/orm/operations/findDependencies.js +4 -2
  210. package/dist/esm/orm/operations/findDependencies.js.map +1 -1
  211. package/dist/esm/orm/utils/parseId.d.ts +1 -1
  212. package/dist/esm/orm/utils/parseId.d.ts.map +1 -1
  213. package/dist/esm/schemas/web/page.d.ts +66 -18
  214. package/dist/esm/schemas/web/page.d.ts.map +1 -1
  215. package/dist/tsconfig.build.tsbuildinfo +1 -1
  216. package/package.json +4 -3
@@ -1,7 +1,3 @@
1
- import { ContentReferenceField } from "./fields/ContentReference";
2
- import { ListField } from "./fields/List";
3
- import { RelationField } from "./fields/Relation";
4
- import { SimpleListField } from "./fields/SimpleList";
5
1
  const registry = {};
6
2
  const internalRegistry = {};
7
3
  export function registerContentType(ct) {
@@ -29,43 +25,60 @@ const removeSchemaFromCT = (ct) => {
29
25
  };
30
26
  };
31
27
  const removeSchemaFromField = (field) => {
32
- if (field instanceof RelationField) {
28
+ const base = {
29
+ ...field.meta,
30
+ schema: undefined,
31
+ config: field.getConfig(),
32
+ isRequired: field.getIsRequired(),
33
+ isTranslatable: field.getIsTranslatable(),
34
+ visibility: field.getVisibility(),
35
+ };
36
+ if (field.meta.ui === "ContentType" && "contentType" in field) {
33
37
  return {
34
- ...field,
35
- schema: undefined,
38
+ ...base,
36
39
  contentType: removeSchemaFromCT(field.contentType),
37
40
  };
38
41
  }
39
- if (field instanceof ContentReferenceField) {
40
- const target = getContentTypeByName(field.contentType);
42
+ if ((field.meta.ui === "ContentTypeSelect" ||
43
+ field.meta.ui === "ContentTypeMultiSelect") &&
44
+ "contentType" in field.meta &&
45
+ typeof field.meta.contentType === "string") {
46
+ const target = getContentTypeByName(field.meta.contentType);
41
47
  return {
42
- ...field,
43
- schema: undefined,
48
+ ...base,
44
49
  contentType: {
45
- name: target?.name || field.contentType,
50
+ name: target?.name || field.meta.contentType,
46
51
  listFields: target?.listFields,
47
52
  },
48
53
  };
49
54
  }
50
- if (field instanceof ListField) {
55
+ if ((field.meta.ui === "List" || field.meta.ui === "Iterator") &&
56
+ "fields" in field &&
57
+ Array.isArray(field.fields)) {
51
58
  return {
52
- ...field,
53
- schema: undefined,
54
- fields: field.fields.map((f) => ({
55
- name: f.name,
56
- field: removeSchemaFromField(f.field),
59
+ ...base,
60
+ fields: field.fields.map((entry) => ({
61
+ name: entry.name,
62
+ field: removeSchemaFromField(entry.field),
57
63
  })),
58
64
  };
59
65
  }
60
- if (field instanceof SimpleListField) {
66
+ if (field.meta.ui === "SimpleList" &&
67
+ "field" in field &&
68
+ isField(field.field)) {
61
69
  return {
62
- ...field,
63
- schema: undefined,
70
+ ...base,
64
71
  field: removeSchemaFromField(field.field),
65
72
  };
66
73
  }
67
- return { ...field, schema: undefined };
74
+ return base;
68
75
  };
76
+ function isField(value) {
77
+ return (!!value &&
78
+ typeof value === "object" &&
79
+ "kind" in value &&
80
+ value.kind === "field");
81
+ }
69
82
  export function getContentTypesForManager() {
70
83
  return getContentTypes()
71
84
  .map((ct) => removeSchemaFromCT(ct))
@@ -1 +1 @@
1
- {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../src/lib/Registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../src/lib/Registry.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,11 @@
1
- import z from "zod";
2
- import type { EncodedField } from "./Field";
3
- import { Field } from "./Field";
4
- import type { FieldHKT } from "../types";
5
- interface BooleanFieldHKT extends FieldHKT {
6
- type: BooleanField<this["args"][1], this["args"][2], this["args"][3]>;
7
- }
8
- export declare class BooleanField<TRequired extends boolean = false, TTranslatable extends boolean = false, TVisibility extends "api" | "manager" | "all" = "all"> extends Field<BooleanFieldHKT, z.ZodBoolean, z.ZodBoolean, TRequired, TTranslatable, TVisibility> {
9
- constructor();
10
- }
1
+ import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldWithModifiers } from "./Field";
2
+ export type BooleanMeta = {
3
+ type: "Boolean";
4
+ ui: "Boolean";
5
+ };
6
+ export type BooleanField<State extends FieldState = DefaultFieldState> = FieldWithModifiers<BooleanFieldCore<State>>;
7
+ type BooleanFieldCore<State extends FieldState> = FieldLike<boolean, boolean, boolean, BooleanMeta, State>;
8
+ export declare function booleanField(): BooleanField;
11
9
  export type EncodedBooleanField = EncodedField;
12
10
  export {};
13
11
  //# sourceMappingURL=Boolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Boolean.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Boolean.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU,eAAgB,SAAQ,QAAQ;IACxC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE;AAED,qBAAa,YAAY,CACvB,SAAS,SAAS,OAAO,GAAG,KAAK,EACjC,aAAa,SAAS,OAAO,GAAG,KAAK,EACrC,WAAW,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,CACrD,SAAQ,KAAK,CACb,eAAe,EACf,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,UAAU,EACZ,SAAS,EACT,aAAa,EACb,WAAW,CACZ;;CAOA;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"Boolean.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Boolean.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,kBAAkB,EAGxB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,CACtB,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAC1C,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhD,KAAK,gBAAgB,CAAC,KAAK,SAAS,UAAU,IAAI,SAAS,CACzD,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,KAAK,CACN,CAAC;AAEF,wBAAgB,YAAY,IAAI,YAAY,CAE3C;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC"}
@@ -1,11 +1,17 @@
1
1
  import z from "zod";
2
- import { Field } from "./Field";
3
- export class BooleanField extends Field {
4
- constructor() {
5
- super({
6
- config: { ui: "Boolean", type: "Boolean" },
7
- schema: z.boolean(),
8
- });
9
- }
2
+ import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from "./Field";
3
+ export function booleanField() {
4
+ return makeBooleanField(defaultFieldState);
5
+ }
6
+ function makeBooleanField(state) {
7
+ const field = createField({
8
+ meta: { type: "Boolean", ui: "Boolean" },
9
+ state,
10
+ schemas: sameSchemas(() => z.boolean()),
11
+ });
12
+ return withFieldModifiers({
13
+ field,
14
+ rebuild: (nextState) => makeBooleanField(nextState),
15
+ });
10
16
  }
11
17
  //# sourceMappingURL=Boolean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Boolean.js","sourceRoot":"","sources":["../../../../src/lib/fields/Boolean.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOhC,MAAM,OAAO,YAIX,SAAQ,KAOT;IACC;QACE,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"Boolean.js","sourceRoot":"","sources":["../../../../src/lib/fields/Boolean.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,WAAW,EAMX,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAmBjB,MAAM,UAAU,YAAY;IAC1B,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAID,SAAS,gBAAgB,CACvB,KAAY;IAEZ,MAAM,KAAK,GAA4B,WAAW,CAAC;QACjD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;QACxC,KAAK;QACL,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KACxC,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,gBAAgB,CAAC,SAAS,CAGzB;KACJ,CAAC,CAAC;AACL,CAAC"}
@@ -1,21 +1,21 @@
1
- import z from "zod";
2
- import type { EncodedField } from "./Field";
3
- import { Field } from "./Field";
4
- import { Id } from "../utils/id";
5
- import type { If, FieldHKT, Visibility } from "../types";
1
+ import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers } from "./Field";
6
2
  import type { EncodedContentType } from "../ContentType";
7
- interface ContentReferenceFieldHKT<N extends string, M extends boolean> extends FieldHKT {
8
- type: ContentReferenceField<N, M, If<M, z.ZodArray<typeof Id>, typeof Id>, this["args"][1], this["args"][2], this["args"][3]>;
9
- }
10
- export declare class ContentReferenceField<N extends string = string, M extends boolean = false, S extends If<M, z.ZodArray<typeof Id>, typeof Id> = If<M, z.ZodArray<typeof Id>, typeof Id>, TRequired extends boolean = false, TTranslatable extends boolean = false, TVisibility extends Visibility = "all"> extends Field<ContentReferenceFieldHKT<N, M>, S, S, TRequired, TTranslatable, TVisibility> {
11
- contentType: N;
12
- isMultiple: M;
13
- constructor(contentType: N);
14
- multiple(): ContentReferenceField<N, true, z.ZodArray<typeof Id>, TRequired, TTranslatable, TVisibility>;
15
- }
3
+ type ContentReferenceValue<Multiple extends boolean> = Multiple extends true ? string[] : string;
4
+ export type ContentReferenceMeta<Name extends string = string, Multiple extends boolean = boolean> = {
5
+ type: "ContentReference";
6
+ ui: Multiple extends true ? "ContentTypeMultiSelect" : "ContentTypeSelect";
7
+ contentType: Name;
8
+ isMultiple: Multiple;
9
+ };
16
10
  export type EncodedContentReferenceField = EncodedField & {
17
11
  contentType: Pick<EncodedContentType, "name" | "listFields">;
18
12
  isMultiple: boolean;
19
13
  };
14
+ export type ContentReferenceField<Name extends string = string, Multiple extends boolean = false, State extends FieldState = DefaultFieldState> = FieldWithModifiers<ContentReferenceFieldCore<Name, Multiple, State>>;
15
+ type ContentReferenceFieldCore<Name extends string, Multiple extends boolean, State extends FieldState> = ContentReferenceFieldBase<Name, Multiple, State> & {
16
+ multiple: <TThis extends ContentReferenceFieldBase<Name, Multiple, FieldState>>(this: TThis) => ContentReferenceField<Name, true, FieldStateOf<TThis>>;
17
+ };
18
+ type ContentReferenceFieldBase<Name extends string, Multiple extends boolean, State extends FieldState> = FieldLike<ContentReferenceValue<Multiple>, ContentReferenceValue<Multiple>, ContentReferenceValue<Multiple>, ContentReferenceMeta<Name, Multiple>, State>;
19
+ export declare function contentReferenceField<const Name extends string>(contentType: Name): ContentReferenceField<Name>;
20
20
  export {};
21
21
  //# sourceMappingURL=ContentReference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentReference.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/ContentReference.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,UAAU,wBAAwB,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,CACjB,SAAQ,QAAQ;IAChB,IAAI,EAAE,qBAAqB,CACzB,CAAC,EACD,CAAC,EACD,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChB,CAAC;CACH;AAED,qBAAa,qBAAqB,CAChC,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,OAAO,GAAG,KAAK,EACzB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CACpD,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EACrB,OAAO,EAAE,CACV,EACD,SAAS,SAAS,OAAO,GAAG,KAAK,EACjC,aAAa,SAAS,OAAO,GAAG,KAAK,EACrC,WAAW,SAAS,UAAU,GAAG,KAAK,CACtC,SAAQ,KAAK,CACb,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9B,CAAC,EACD,CAAC,EACD,SAAS,EACT,aAAa,EACb,WAAW,CACZ;IACC,WAAW,EAAE,CAAC,CAAC;IACf,UAAU,EAAE,CAAC,CAAc;gBAEf,WAAW,EAAE,CAAC;IAQ1B,QAAQ,IAKS,qBAAqB,CAClC,CAAC,EACD,IAAI,EACJ,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EACrB,SAAS,EACT,aAAa,EACb,WAAW,CACZ;CAEJ;AAED,MAAM,MAAM,4BAA4B,GAAG,YAAY,GAAG;IACxD,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"ContentReference.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/ContentReference.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAGxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,KAAK,qBAAqB,CAAC,QAAQ,SAAS,OAAO,IAAI,QAAQ,SAAS,IAAI,GACxE,MAAM,EAAE,GACR,MAAM,CAAC;AAEX,MAAM,MAAM,oBAAoB,CAC9B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,QAAQ,SAAS,OAAO,GAAG,OAAO,IAChC;IACF,IAAI,EAAE,kBAAkB,CAAC;IACzB,EAAE,EAAE,QAAQ,SAAS,IAAI,GAAG,wBAAwB,GAAG,mBAAmB,CAAC;IAC3E,WAAW,EAAE,IAAI,CAAC;IAClB,UAAU,EAAE,QAAQ,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,YAAY,GAAG;IACxD,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAUF,MAAM,MAAM,qBAAqB,CAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,QAAQ,SAAS,OAAO,GAAG,KAAK,EAChC,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAC1C,kBAAkB,CACpB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CACjD,CAAC;AAEF,KAAK,yBAAyB,CAC5B,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,OAAO,EACxB,KAAK,SAAS,UAAU,IACtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG;IACrD,QAAQ,EAAE,CACR,KAAK,SAAS,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAEnE,IAAI,EAAE,KAAK,KACR,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;CAC7D,CAAC;AAEF,KAAK,yBAAyB,CAC5B,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,OAAO,EACxB,KAAK,SAAS,UAAU,IACtB,SAAS,CACX,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,EACpC,KAAK,CACN,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAC7D,WAAW,EAAE,IAAI,GAChB,qBAAqB,CAAC,IAAI,CAAC,CAK7B"}
@@ -1,20 +1,33 @@
1
1
  import z from "zod";
2
- import { Field } from "./Field";
2
+ import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from "./Field";
3
3
  import { Id } from "../utils/id";
4
- export class ContentReferenceField extends Field {
5
- constructor(contentType) {
6
- super({
7
- config: { ui: "ContentTypeSelect", type: "ContentReference" },
8
- schema: Id,
9
- });
10
- this.isMultiple = false;
11
- this.contentType = contentType;
12
- }
13
- multiple() {
14
- this.schema = z.array(Id);
15
- this.config.ui = "ContentTypeMultiSelect";
16
- this.isMultiple = true;
17
- return this;
18
- }
4
+ export function contentReferenceField(contentType) {
5
+ return makeContentReferenceField({ contentType, multiple: false }, defaultFieldState);
6
+ }
7
+ function makeContentReferenceField(options, state) {
8
+ const field = {
9
+ ...createField({
10
+ meta: {
11
+ type: "ContentReference",
12
+ ui: (options.multiple
13
+ ? "ContentTypeMultiSelect"
14
+ : "ContentTypeSelect"),
15
+ contentType: options.contentType,
16
+ isMultiple: options.multiple,
17
+ },
18
+ state,
19
+ schemas: sameSchemas(() => buildContentReferenceSchema(options.multiple)),
20
+ }),
21
+ multiple: function () {
22
+ return makeContentReferenceField({ ...options, multiple: true }, this.state);
23
+ },
24
+ };
25
+ return withFieldModifiers({
26
+ field,
27
+ rebuild: (nextState) => makeContentReferenceField(options, nextState),
28
+ });
29
+ }
30
+ function buildContentReferenceSchema(multiple) {
31
+ return (multiple ? z.array(Id) : Id);
19
32
  }
20
33
  //# sourceMappingURL=ContentReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentReference.js","sourceRoot":"","sources":["../../../../src/lib/fields/ContentReference.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAkBjC,MAAM,OAAO,qBAWX,SAAQ,KAOT;IAIC,YAAY,WAAc;QACxB,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC7D,MAAM,EAAE,EAAO;SAChB,CAAC,CAAC;QANL,eAAU,GAAM,KAAU,CAAC;QAOzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAM,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,wBAAwB,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAS,CAAC;QAE5B,OAAO,IAON,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ContentReference.js","sourceRoot":"","sources":["../../../../src/lib/fields/ContentReference.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,WAAW,EAOX,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AA6DjC,MAAM,UAAU,qBAAqB,CACnC,WAAiB;IAEjB,OAAO,yBAAyB,CAC9B,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,EAChC,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAKhC,OAAgD,EAChD,KAAY;IAEZ,MAAM,KAAK,GAAqD;QAC9D,GAAG,WAAW,CAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ;oBACnB,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,mBAAmB,CAGhB;gBACP,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,UAAU,EAAE,OAAO,CAAC,QAAQ;aAC7B;YACD,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC1E,CAAC;QACF,QAAQ,EAAE;YAGR,OAAO,yBAAyB,CAC9B,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC9B,IAAI,CAAC,KAA4B,CAClC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAG3C;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAkB;IAElB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAElC,CAAC;AACJ,CAAC"}
@@ -1,20 +1,17 @@
1
- import z from "zod";
2
- import type { EncodedField } from "./Field";
3
- import { Field } from "./Field";
4
- import type { FieldHKT } from "../types";
5
- export declare const DateUI: z.ZodEnum<{
6
- Date: "Date";
7
- DateTime: "DateTime";
8
- Time: "Time";
9
- }>;
10
- export type DateUI = z.infer<typeof DateUI>;
11
- interface DateFieldHKT<T extends DateUI> extends FieldHKT {
12
- type: DateField<T, this["args"][1], this["args"][2], this["args"][3]>;
13
- }
14
- export declare class DateField<TType extends DateUI = "Date", TRequired extends boolean = false, TTranslatable extends boolean = false, TVisibility extends "api" | "manager" | "all" = "all"> extends Field<DateFieldHKT<TType>, TType extends "Time" ? z.ZodStringFormat : z.ZodDate, TType extends "Time" ? z.ZodStringFormat : z.ZodDate, TRequired, TTranslatable, TVisibility> {
15
- constructor();
16
- type<T extends DateUI>(ui: T): this;
17
- }
1
+ import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers } from "./Field";
2
+ export declare const dateUis: readonly ["Date", "DateTime", "Time"];
3
+ export type DateUI = (typeof dateUis)[number];
4
+ type DateValue<Ui extends DateUI> = Ui extends "Time" ? string : Date;
5
+ export type DateMeta<Ui extends DateUI = DateUI> = {
6
+ type: "Date";
7
+ ui: Ui;
8
+ };
9
+ export type DateField<Ui extends DateUI = "Date", State extends FieldState = DefaultFieldState> = FieldWithModifiers<DateFieldCore<Ui, State>>;
10
+ type DateFieldCore<Ui extends DateUI, State extends FieldState> = DateFieldBase<Ui, State> & {
11
+ type: <TThis extends DateFieldBase<Ui, FieldState>, NextUi extends DateUI>(this: TThis, ui: NextUi) => DateField<NextUi, FieldStateOf<TThis>>;
12
+ };
13
+ type DateFieldBase<Ui extends DateUI, State extends FieldState> = FieldLike<DateValue<Ui>, DateValue<Ui>, DateValue<Ui>, DateMeta<Ui>, State>;
14
+ export declare function dateField(): DateField;
18
15
  export type EncodedDateField = EncodedField;
19
16
  export {};
20
17
  //# sourceMappingURL=Date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Date.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Date.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,MAAM;;;;EAAuC,CAAC;AAE3D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C,UAAU,YAAY,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,QAAQ;IACvD,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE;AAED,qBAAa,SAAS,CACpB,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,SAAS,SAAS,OAAO,GAAG,KAAK,EACjC,aAAa,SAAS,OAAO,GAAG,KAAK,EACrC,WAAW,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,CACrD,SAAQ,KAAK,CACb,YAAY,CAAC,KAAK,CAAC,EACnB,KAAK,SAAS,MAAM,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,EACpD,KAAK,SAAS,MAAM,GAAG,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,EACpD,SAAS,EACT,aAAa,EACb,WAAW,CACZ;;IAQC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC;CAuB7B;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"Date.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Date.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAGxB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,OAAO,uCAAwC,CAAC;AAE7D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,KAAK,SAAS,CAAC,EAAE,SAAS,MAAM,IAAI,EAAE,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEtE,MAAM,MAAM,QAAQ,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,EAAE,CAAC;CACR,CAAC;AAMF,MAAM,MAAM,SAAS,CACnB,EAAE,SAAS,MAAM,GAAG,MAAM,EAC1B,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAC1C,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjD,KAAK,aAAa,CAChB,EAAE,SAAS,MAAM,EACjB,KAAK,SAAS,UAAU,IACtB,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG;IAC7B,IAAI,EAAE,CACJ,KAAK,SAAS,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,EAC3C,MAAM,SAAS,MAAM,EAErB,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,MAAM,KACP,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF,KAAK,aAAa,CAChB,EAAE,SAAS,MAAM,EACjB,KAAK,SAAS,UAAU,IACtB,SAAS,CACX,SAAS,CAAC,EAAE,CAAC,EACb,SAAS,CAAC,EAAE,CAAC,EACb,SAAS,CAAC,EAAE,CAAC,EACb,QAAQ,CAAC,EAAE,CAAC,EACZ,KAAK,CACN,CAAC;AAEF,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC"}
@@ -1,25 +1,29 @@
1
1
  import z from "zod";
2
- import { Field } from "./Field";
3
- export const DateUI = z.enum(["Date", "DateTime", "Time"]);
4
- export class DateField extends Field {
5
- constructor() {
6
- super({
7
- config: { ui: "Date", type: "Date" },
8
- schema: z.date(),
9
- });
10
- }
11
- type(ui) {
12
- this.config.ui = ui;
13
- if (ui === "DateTime") {
14
- this.schema = z.date();
15
- }
16
- if (ui === "Date") {
17
- this.schema = z.date();
18
- }
19
- if (ui === "Time") {
20
- this.schema = z.iso.time();
21
- }
22
- return this;
2
+ import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from "./Field";
3
+ export const dateUis = ["Date", "DateTime", "Time"];
4
+ export function dateField() {
5
+ return makeDateField({ ui: "Date" }, defaultFieldState);
6
+ }
7
+ function makeDateField(options, state) {
8
+ const field = {
9
+ ...createField({
10
+ meta: { type: "Date", ui: options.ui },
11
+ state,
12
+ schemas: sameSchemas(() => buildDateSchema(options.ui)),
13
+ }),
14
+ type: function (ui) {
15
+ return makeDateField({ ui }, this.state);
16
+ },
17
+ };
18
+ return withFieldModifiers({
19
+ field,
20
+ rebuild: (nextState) => makeDateField(options, nextState),
21
+ });
22
+ }
23
+ function buildDateSchema(ui) {
24
+ if (ui === "Time") {
25
+ return z.iso.time();
23
26
  }
27
+ return z.date();
24
28
  }
25
29
  //# sourceMappingURL=Date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Date.js","sourceRoot":"","sources":["../../../../src/lib/fields/Date.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAQ3D,MAAM,OAAO,SAKX,SAAQ,KAOT;IACC;QACE,KAAK,CAAC;YACJ,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;YACpC,MAAM,EAAE,CAAC,CAAC,IAAI,EAA0D;SACzE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAmB,EAAK;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEpB,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAEP,CAAC;QAChB,CAAC;QAED,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAEP,CAAC;QAChB,CAAC;QAED,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAEX,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"Date.js","sourceRoot":"","sources":["../../../../src/lib/fields/Date.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,WAAW,EAOX,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AA4C7D,MAAM,UAAU,SAAS;IACvB,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC1D,CAAC;AAID,SAAS,aAAa,CACpB,OAAwB,EACxB,KAAY;IAEZ,MAAM,KAAK,GAA6B;QACtC,GAAG,WAAW,CAAC;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE;YACtC,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACxD,CAAC;QACF,IAAI,EAAE,UAGS,EAAU;YACvB,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAA4B,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;IAEF,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,aAAa,CAAC,OAAO,EAAE,SAAS,CAG/B;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAoB,EAAM;IAChD,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,EAAyC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,CAAC,IAAI,EAAyC,CAAC;AACzD,CAAC"}