nextjs-cms 0.5.9 → 0.5.11

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 (258) hide show
  1. package/dist/api/axios/axiosInstance.d.ts +1 -1
  2. package/dist/api/axios/axiosInstance.js +8 -8
  3. package/dist/api/index.d.ts +855 -855
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/index.js +12 -12
  6. package/dist/api/lib/serverActions.d.ts +239 -239
  7. package/dist/api/lib/serverActions.d.ts.map +1 -1
  8. package/dist/api/lib/serverActions.js +834 -834
  9. package/dist/api/root.d.ts +828 -828
  10. package/dist/api/root.js +30 -30
  11. package/dist/api/routers/accountSettings.d.ts +60 -60
  12. package/dist/api/routers/accountSettings.js +108 -108
  13. package/dist/api/routers/admins.d.ts +105 -105
  14. package/dist/api/routers/admins.js +219 -219
  15. package/dist/api/routers/auth.d.ts +47 -47
  16. package/dist/api/routers/auth.js +25 -25
  17. package/dist/api/routers/categorySection.d.ts +103 -103
  18. package/dist/api/routers/categorySection.js +38 -38
  19. package/dist/api/routers/cmsSettings.d.ts +48 -48
  20. package/dist/api/routers/cmsSettings.js +51 -51
  21. package/dist/api/routers/cpanel.d.ts +83 -83
  22. package/dist/api/routers/cpanel.js +216 -216
  23. package/dist/api/routers/files.d.ts +47 -47
  24. package/dist/api/routers/files.js +23 -23
  25. package/dist/api/routers/gallery.d.ts +35 -35
  26. package/dist/api/routers/gallery.js +62 -62
  27. package/dist/api/routers/googleAnalytics.d.ts +30 -30
  28. package/dist/api/routers/googleAnalytics.js +7 -7
  29. package/dist/api/routers/hasItemsSection.d.ts +139 -139
  30. package/dist/api/routers/hasItemsSection.js +34 -34
  31. package/dist/api/routers/navigation.d.ts +51 -51
  32. package/dist/api/routers/navigation.js +11 -11
  33. package/dist/api/routers/simpleSection.d.ts +57 -57
  34. package/dist/api/routers/simpleSection.js +12 -12
  35. package/dist/api/trpc.d.ts +106 -106
  36. package/dist/api/trpc.js +72 -72
  37. package/dist/auth/axios/axiosInstance.d.ts +1 -1
  38. package/dist/auth/axios/axiosInstance.js +8 -8
  39. package/dist/auth/csrf.d.ts +29 -29
  40. package/dist/auth/csrf.js +76 -76
  41. package/dist/auth/hooks/index.d.ts +3 -3
  42. package/dist/auth/hooks/index.d.ts.map +1 -1
  43. package/dist/auth/hooks/index.js +3 -3
  44. package/dist/auth/hooks/useAxiosPrivate.d.ts +4 -4
  45. package/dist/auth/hooks/useAxiosPrivate.js +74 -74
  46. package/dist/auth/hooks/useRefreshToken.d.ts +6 -6
  47. package/dist/auth/hooks/useRefreshToken.js +79 -79
  48. package/dist/auth/index.d.ts +22 -22
  49. package/dist/auth/index.js +44 -44
  50. package/dist/auth/jwt.d.ts +5 -5
  51. package/dist/auth/jwt.js +25 -25
  52. package/dist/auth/lib/actions.d.ts +32 -32
  53. package/dist/auth/lib/actions.d.ts.map +1 -1
  54. package/dist/auth/lib/actions.js +209 -209
  55. package/dist/auth/lib/client.d.ts +3 -3
  56. package/dist/auth/lib/client.js +46 -46
  57. package/dist/auth/lib/index.d.ts +2 -2
  58. package/dist/auth/lib/index.d.ts.map +1 -1
  59. package/dist/auth/lib/index.js +2 -2
  60. package/dist/auth/react.d.ts +105 -105
  61. package/dist/auth/react.d.ts.map +1 -1
  62. package/dist/auth/react.js +347 -347
  63. package/dist/auth/trpc.d.ts +5 -5
  64. package/dist/auth/trpc.d.ts.map +1 -1
  65. package/dist/auth/trpc.js +81 -81
  66. package/dist/core/config/config-loader.d.ts +91 -91
  67. package/dist/core/config/config-loader.js +230 -230
  68. package/dist/core/config/index.d.ts +2 -2
  69. package/dist/core/config/index.d.ts.map +1 -1
  70. package/dist/core/config/index.js +1 -1
  71. package/dist/core/config/loader.d.ts +1 -1
  72. package/dist/core/config/loader.js +42 -42
  73. package/dist/core/db/index.d.ts +1 -1
  74. package/dist/core/db/index.d.ts.map +1 -1
  75. package/dist/core/db/index.js +1 -1
  76. package/dist/core/db/table-checker/DbTable.d.ts +5 -5
  77. package/dist/core/db/table-checker/DbTable.js +5 -5
  78. package/dist/core/db/table-checker/MysqlTable.d.ts +33 -33
  79. package/dist/core/db/table-checker/MysqlTable.d.ts.map +1 -1
  80. package/dist/core/db/table-checker/MysqlTable.js +94 -94
  81. package/dist/core/db/table-checker/index.d.ts +1 -1
  82. package/dist/core/db/table-checker/index.d.ts.map +1 -1
  83. package/dist/core/db/table-checker/index.js +1 -1
  84. package/dist/core/factories/FieldFactory.d.ts +123 -123
  85. package/dist/core/factories/FieldFactory.d.ts.map +1 -1
  86. package/dist/core/factories/FieldFactory.js +411 -411
  87. package/dist/core/factories/SectionFactory.d.ts +109 -109
  88. package/dist/core/factories/SectionFactory.d.ts.map +1 -1
  89. package/dist/core/factories/SectionFactory.js +415 -415
  90. package/dist/core/factories/index.d.ts +2 -2
  91. package/dist/core/factories/index.d.ts.map +1 -1
  92. package/dist/core/factories/index.js +2 -2
  93. package/dist/core/fields/checkbox.d.ts +62 -62
  94. package/dist/core/fields/checkbox.d.ts.map +1 -1
  95. package/dist/core/fields/checkbox.js +62 -62
  96. package/dist/core/fields/color.d.ts +83 -83
  97. package/dist/core/fields/color.d.ts.map +1 -1
  98. package/dist/core/fields/color.js +91 -91
  99. package/dist/core/fields/date.d.ts +99 -99
  100. package/dist/core/fields/date.d.ts.map +1 -1
  101. package/dist/core/fields/date.js +108 -108
  102. package/dist/core/fields/document.d.ts +179 -179
  103. package/dist/core/fields/document.d.ts.map +1 -1
  104. package/dist/core/fields/document.js +277 -277
  105. package/dist/core/fields/field-group.d.ts +17 -17
  106. package/dist/core/fields/field-group.d.ts.map +1 -1
  107. package/dist/core/fields/field-group.js +6 -6
  108. package/dist/core/fields/field.d.ts +125 -125
  109. package/dist/core/fields/field.d.ts.map +1 -1
  110. package/dist/core/fields/field.js +148 -148
  111. package/dist/core/fields/fileField.d.ts +14 -14
  112. package/dist/core/fields/fileField.d.ts.map +1 -1
  113. package/dist/core/fields/fileField.js +5 -5
  114. package/dist/core/fields/index.d.ts +64 -64
  115. package/dist/core/fields/index.d.ts.map +1 -1
  116. package/dist/core/fields/index.js +18 -18
  117. package/dist/core/fields/map.d.ts +166 -166
  118. package/dist/core/fields/map.d.ts.map +1 -1
  119. package/dist/core/fields/map.js +152 -152
  120. package/dist/core/fields/number.d.ts +185 -185
  121. package/dist/core/fields/number.d.ts.map +1 -1
  122. package/dist/core/fields/number.js +241 -241
  123. package/dist/core/fields/password.d.ts +108 -108
  124. package/dist/core/fields/password.d.ts.map +1 -1
  125. package/dist/core/fields/password.js +133 -133
  126. package/dist/core/fields/photo.d.ts +288 -288
  127. package/dist/core/fields/photo.d.ts.map +1 -1
  128. package/dist/core/fields/photo.js +410 -410
  129. package/dist/core/fields/richText.d.ts +294 -294
  130. package/dist/core/fields/richText.d.ts.map +1 -1
  131. package/dist/core/fields/richText.js +338 -338
  132. package/dist/core/fields/select.d.ts +365 -365
  133. package/dist/core/fields/select.d.ts.map +1 -1
  134. package/dist/core/fields/select.js +499 -499
  135. package/dist/core/fields/selectMultiple.d.ts +235 -235
  136. package/dist/core/fields/selectMultiple.d.ts.map +1 -1
  137. package/dist/core/fields/selectMultiple.js +417 -417
  138. package/dist/core/fields/tags.d.ts +130 -130
  139. package/dist/core/fields/tags.d.ts.map +1 -1
  140. package/dist/core/fields/tags.js +105 -105
  141. package/dist/core/fields/text.d.ts +135 -135
  142. package/dist/core/fields/text.d.ts.map +1 -1
  143. package/dist/core/fields/text.js +157 -157
  144. package/dist/core/fields/textArea.d.ts +106 -106
  145. package/dist/core/fields/textArea.d.ts.map +1 -1
  146. package/dist/core/fields/textArea.js +126 -126
  147. package/dist/core/fields/video.d.ts +147 -147
  148. package/dist/core/fields/video.d.ts.map +1 -1
  149. package/dist/core/fields/video.js +248 -248
  150. package/dist/core/helpers/entity.d.ts +7 -7
  151. package/dist/core/helpers/entity.js +27 -27
  152. package/dist/core/helpers/index.d.ts +4 -4
  153. package/dist/core/helpers/index.d.ts.map +1 -1
  154. package/dist/core/helpers/index.js +3 -3
  155. package/dist/core/index.d.ts +7 -7
  156. package/dist/core/index.d.ts.map +1 -1
  157. package/dist/core/index.js +7 -7
  158. package/dist/core/sections/category.d.ts +282 -282
  159. package/dist/core/sections/category.d.ts.map +1 -1
  160. package/dist/core/sections/category.js +147 -147
  161. package/dist/core/sections/hasItems.d.ts +631 -631
  162. package/dist/core/sections/hasItems.d.ts.map +1 -1
  163. package/dist/core/sections/hasItems.js +144 -144
  164. package/dist/core/sections/index.d.ts +4 -4
  165. package/dist/core/sections/index.d.ts.map +1 -1
  166. package/dist/core/sections/index.js +4 -4
  167. package/dist/core/sections/section.d.ts +225 -225
  168. package/dist/core/sections/section.d.ts.map +1 -1
  169. package/dist/core/sections/section.js +341 -341
  170. package/dist/core/sections/simple.d.ts +98 -98
  171. package/dist/core/sections/simple.d.ts.map +1 -1
  172. package/dist/core/sections/simple.js +95 -95
  173. package/dist/core/security/dom.d.ts +10 -10
  174. package/dist/core/security/dom.js +92 -92
  175. package/dist/core/submit/ItemEditSubmit.d.ts +75 -75
  176. package/dist/core/submit/ItemEditSubmit.js +186 -186
  177. package/dist/core/submit/NewItemSubmit.d.ts +13 -13
  178. package/dist/core/submit/NewItemSubmit.js +93 -93
  179. package/dist/core/submit/SimpleSectionSubmit.d.ts +12 -12
  180. package/dist/core/submit/SimpleSectionSubmit.js +93 -93
  181. package/dist/core/submit/index.d.ts +4 -4
  182. package/dist/core/submit/index.js +4 -4
  183. package/dist/core/submit/submit.d.ts +115 -115
  184. package/dist/core/submit/submit.js +479 -479
  185. package/dist/core/types/index.d.ts +279 -279
  186. package/dist/core/types/index.d.ts.map +1 -1
  187. package/dist/core/types/index.js +1 -1
  188. package/dist/db/client.d.ts +8 -8
  189. package/dist/db/client.d.ts.map +1 -1
  190. package/dist/db/client.js +19 -19
  191. package/dist/db/config.d.ts +5 -5
  192. package/dist/db/config.js +22 -22
  193. package/dist/db/drizzle.config.d.ts +5 -5
  194. package/dist/db/drizzle.config.js +18 -18
  195. package/dist/db/index.d.ts +2 -2
  196. package/dist/db/index.js +3 -3
  197. package/dist/db/schema.d.ts +638 -638
  198. package/dist/db/schema.js +73 -73
  199. package/dist/index.d.ts +7 -7
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +7 -7
  202. package/dist/translations/index.d.ts +2 -2
  203. package/dist/translations/index.js +15 -15
  204. package/dist/utils/CpanelApi.d.ts +24 -24
  205. package/dist/utils/CpanelApi.js +64 -64
  206. package/dist/utils/constants.d.ts +13 -13
  207. package/dist/utils/constants.js +61 -61
  208. package/dist/utils/index.d.ts +4 -4
  209. package/dist/utils/index.d.ts.map +1 -1
  210. package/dist/utils/index.js +4 -4
  211. package/dist/utils/utils.d.ts +59 -59
  212. package/dist/utils/utils.js +132 -132
  213. package/dist/validators/checkbox.d.ts +3 -3
  214. package/dist/validators/checkbox.d.ts.map +1 -1
  215. package/dist/validators/checkbox.js +12 -12
  216. package/dist/validators/color.d.ts +3 -3
  217. package/dist/validators/color.d.ts.map +1 -1
  218. package/dist/validators/color.js +7 -7
  219. package/dist/validators/date.d.ts +3 -3
  220. package/dist/validators/date.d.ts.map +1 -1
  221. package/dist/validators/date.js +5 -5
  222. package/dist/validators/document.d.ts +3 -3
  223. package/dist/validators/document.d.ts.map +1 -1
  224. package/dist/validators/document.js +57 -57
  225. package/dist/validators/index.d.ts +14 -14
  226. package/dist/validators/index.d.ts.map +1 -1
  227. package/dist/validators/index.js +14 -14
  228. package/dist/validators/map.d.ts +3 -3
  229. package/dist/validators/map.d.ts.map +1 -1
  230. package/dist/validators/map.js +5 -5
  231. package/dist/validators/number.d.ts +3 -3
  232. package/dist/validators/number.d.ts.map +1 -1
  233. package/dist/validators/number.js +20 -20
  234. package/dist/validators/password.d.ts +3 -3
  235. package/dist/validators/password.d.ts.map +1 -1
  236. package/dist/validators/password.js +11 -11
  237. package/dist/validators/photo.d.ts +3 -3
  238. package/dist/validators/photo.d.ts.map +1 -1
  239. package/dist/validators/photo.js +100 -100
  240. package/dist/validators/richText.d.ts +3 -3
  241. package/dist/validators/richText.d.ts.map +1 -1
  242. package/dist/validators/richText.js +8 -8
  243. package/dist/validators/select-multiple.d.ts +9 -9
  244. package/dist/validators/select-multiple.d.ts.map +1 -1
  245. package/dist/validators/select-multiple.js +20 -20
  246. package/dist/validators/select.d.ts +3 -3
  247. package/dist/validators/select.d.ts.map +1 -1
  248. package/dist/validators/select.js +5 -5
  249. package/dist/validators/text.d.ts +3 -3
  250. package/dist/validators/text.d.ts.map +1 -1
  251. package/dist/validators/text.js +7 -7
  252. package/dist/validators/textarea.d.ts +3 -3
  253. package/dist/validators/textarea.d.ts.map +1 -1
  254. package/dist/validators/textarea.js +7 -7
  255. package/dist/validators/video.d.ts +3 -3
  256. package/dist/validators/video.d.ts.map +1 -1
  257. package/dist/validators/video.js +57 -57
  258. package/package.json +4 -5
@@ -1,3 +1,3 @@
1
- export { FieldFactory } from "./FieldFactory.js";
2
- export { SectionFactory } from "./SectionFactory.js";
1
+ export { FieldFactory } from './FieldFactory.js';
2
+ export { SectionFactory } from './SectionFactory.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/factories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/factories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,2 +1,2 @@
1
- export { FieldFactory } from "./FieldFactory.js";
2
- export { SectionFactory } from "./SectionFactory.js";
1
+ export { FieldFactory } from './FieldFactory.js';
2
+ export { SectionFactory } from './SectionFactory.js';
@@ -1,63 +1,63 @@
1
- import type { BaseFieldConfig } from "./field.js";
2
- import { Field } from "./field.js";
3
- import { entityKind } from "../helpers.js";
4
- import * as z from 'zod';
5
- declare const configSchema: z.ZodObject<{
6
- defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodInt]>>;
7
- }, z.core.$strict>;
8
- type Config = z.infer<typeof configSchema>;
9
- export declare class CheckboxField extends Field<'checkbox', Config> {
10
- static readonly [entityKind]: string;
11
- constructor(config: BaseFieldConfig<Config>);
12
- /**
13
- * Get the value of the field
14
- */
15
- getValue(): boolean;
16
- checkRequired(): void;
17
- prepareForSubmission(): Promise<void>;
18
- exportForClient(): {
19
- type: "checkbox";
20
- name: string;
21
- label: string;
22
- required: boolean;
23
- conditionalFields: import("../types.js").ConditionalField[];
24
- readonly: boolean;
25
- defaultValue: any;
26
- value: any;
27
- };
28
- }
29
- export type CheckboxFieldClientConfig = ReturnType<CheckboxField['exportForClient']>;
30
- declare const optionsSchema: z.ZodObject<{
31
- defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodInt]>>;
32
- name: z.ZodString;
33
- label: z.ZodOptional<z.ZodString>;
34
- required: z.ZodOptional<z.ZodBoolean>;
35
- order: z.ZodOptional<z.ZodNumber>;
36
- conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
37
- adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
38
- }, z.core.$strict>;
39
- declare const checkboxFieldConfigSchema: z.ZodObject<{
40
- type: z.ZodLiteral<"checkbox">;
41
- build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<CheckboxField, CheckboxField>>;
42
- defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodInt]>>;
43
- name: z.ZodString;
44
- label: z.ZodOptional<z.ZodString>;
45
- required: z.ZodOptional<z.ZodBoolean>;
46
- order: z.ZodOptional<z.ZodNumber>;
47
- conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
48
- adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
49
- }, z.core.$strict>;
50
- /**
51
- * Checkbox field configuration type
52
- * This is a plain object that can be serialized and used anywhere
53
- * The build() method allows creating a CheckboxField instance when needed
54
- */
55
- export type CheckboxFieldConfig = z.infer<typeof checkboxFieldConfigSchema>;
56
- /**
57
- * Helper function to create a checkbox field configuration
58
- * Returns a config object with a build() method that can be serialized and used anywhere
59
- * @param field
60
- */
61
- export declare function checkboxField(field: z.infer<typeof optionsSchema>): CheckboxFieldConfig;
62
- export {};
1
+ import type { BaseFieldConfig } from './field.js';
2
+ import { Field } from './field.js';
3
+ import { entityKind } from '../helpers/index.js';
4
+ import * as z from 'zod';
5
+ declare const configSchema: z.ZodObject<{
6
+ defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodInt]>>;
7
+ }, z.core.$strict>;
8
+ type Config = z.infer<typeof configSchema>;
9
+ export declare class CheckboxField extends Field<'checkbox', Config> {
10
+ static readonly [entityKind]: string;
11
+ constructor(config: BaseFieldConfig<Config>);
12
+ /**
13
+ * Get the value of the field
14
+ */
15
+ getValue(): boolean;
16
+ checkRequired(): void;
17
+ prepareForSubmission(): Promise<void>;
18
+ exportForClient(): {
19
+ type: "checkbox";
20
+ name: string;
21
+ label: string;
22
+ required: boolean;
23
+ conditionalFields: import("../types/index.js").ConditionalField[];
24
+ readonly: boolean;
25
+ defaultValue: any;
26
+ value: any;
27
+ };
28
+ }
29
+ export type CheckboxFieldClientConfig = ReturnType<CheckboxField['exportForClient']>;
30
+ declare const optionsSchema: z.ZodObject<{
31
+ defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodInt]>>;
32
+ name: z.ZodString;
33
+ label: z.ZodOptional<z.ZodString>;
34
+ required: z.ZodOptional<z.ZodBoolean>;
35
+ order: z.ZodOptional<z.ZodNumber>;
36
+ conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
37
+ adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
38
+ }, z.core.$strict>;
39
+ declare const checkboxFieldConfigSchema: z.ZodObject<{
40
+ type: z.ZodLiteral<"checkbox">;
41
+ build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<CheckboxField, CheckboxField>>;
42
+ defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodInt]>>;
43
+ name: z.ZodString;
44
+ label: z.ZodOptional<z.ZodString>;
45
+ required: z.ZodOptional<z.ZodBoolean>;
46
+ order: z.ZodOptional<z.ZodNumber>;
47
+ conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
48
+ adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
49
+ }, z.core.$strict>;
50
+ /**
51
+ * Checkbox field configuration type
52
+ * This is a plain object that can be serialized and used anywhere
53
+ * The build() method allows creating a CheckboxField instance when needed
54
+ */
55
+ export type CheckboxFieldConfig = z.infer<typeof checkboxFieldConfigSchema>;
56
+ /**
57
+ * Helper function to create a checkbox field configuration
58
+ * Returns a config object with a build() method that can be serialized and used anywhere
59
+ * @param field
60
+ */
61
+ export declare function checkboxField(field: z.infer<typeof optionsSchema>): CheckboxFieldConfig;
62
+ export {};
63
63
  //# sourceMappingURL=checkbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/core/fields/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAyB,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;;kBAEhB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;IACxD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;gBACnD,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAI3C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAMnB,aAAa;IAEb,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,eAAe;;;;;;;;;;CAK3B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;;;;;;;;kBAGjB,CAAA;AAEF,QAAA,MAAM,yBAAyB;;;;;;;;;;kBAI7B,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/core/fields/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;;kBAEhB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,aAAc,SAAQ,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;IACxD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAkB;gBACnD,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAI3C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAMnB,aAAa;IAEb,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,eAAe;;;;;;;;;;CAK3B;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEpF,QAAA,MAAM,aAAa;;;;;;;;kBAGjB,CAAA;AAEF,QAAA,MAAM,yBAAyB;;;;;;;;;;kBAI7B,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,mBAAmB,CAmBvF"}
@@ -1,62 +1,62 @@
1
- import { Field, baseFieldConfigSchema } from "./field.js";
2
- import { entityKind } from "../helpers.js";
3
- import * as z from 'zod';
4
- const configSchema = z.strictObject({
5
- defaultValue: z.union([z.boolean(), z.int().positive()]).optional().describe('The default value of the field'),
6
- });
7
- export class CheckboxField extends Field {
8
- static [entityKind] = 'CheckboxField';
9
- constructor(config) {
10
- super(config, 'checkbox');
11
- }
12
- /**
13
- * Get the value of the field
14
- */
15
- getValue() {
16
- /**
17
- * Convert the checkbox value to a boolean
18
- */
19
- return this.value === 'on';
20
- }
21
- checkRequired() { }
22
- prepareForSubmission() {
23
- return Promise.resolve();
24
- }
25
- exportForClient() {
26
- return {
27
- ...super.exportForClient(),
28
- };
29
- }
30
- }
31
- const optionsSchema = z.strictObject({
32
- ...baseFieldConfigSchema.shape,
33
- ...configSchema.shape,
34
- });
35
- const checkboxFieldConfigSchema = z.strictObject({
36
- ...optionsSchema.shape,
37
- type: z.literal('checkbox').describe('The type of the field'),
38
- build: z.function().output(z.instanceof(CheckboxField)).describe('Build a CheckboxField instance from this config'),
39
- });
40
- /**
41
- * Helper function to create a checkbox field configuration
42
- * Returns a config object with a build() method that can be serialized and used anywhere
43
- * @param field
44
- */
45
- export function checkboxField(field) {
46
- /**
47
- * Validate the field config
48
- */
49
- const result = optionsSchema.safeParse(field);
50
- if (!result.success) {
51
- throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
52
- }
53
- const config = {
54
- ...field,
55
- type: 'checkbox',
56
- build() {
57
- // Use the original field config directly (it doesn't have build() method)
58
- return new CheckboxField(field);
59
- },
60
- };
61
- return config;
62
- }
1
+ import { Field, baseFieldConfigSchema } from './field.js';
2
+ import { entityKind } from '../helpers/index.js';
3
+ import * as z from 'zod';
4
+ const configSchema = z.strictObject({
5
+ defaultValue: z.union([z.boolean(), z.int().positive()]).optional().describe('The default value of the field'),
6
+ });
7
+ export class CheckboxField extends Field {
8
+ static [entityKind] = 'CheckboxField';
9
+ constructor(config) {
10
+ super(config, 'checkbox');
11
+ }
12
+ /**
13
+ * Get the value of the field
14
+ */
15
+ getValue() {
16
+ /**
17
+ * Convert the checkbox value to a boolean
18
+ */
19
+ return this.value === 'on';
20
+ }
21
+ checkRequired() { }
22
+ prepareForSubmission() {
23
+ return Promise.resolve();
24
+ }
25
+ exportForClient() {
26
+ return {
27
+ ...super.exportForClient(),
28
+ };
29
+ }
30
+ }
31
+ const optionsSchema = z.strictObject({
32
+ ...baseFieldConfigSchema.shape,
33
+ ...configSchema.shape,
34
+ });
35
+ const checkboxFieldConfigSchema = z.strictObject({
36
+ ...optionsSchema.shape,
37
+ type: z.literal('checkbox').describe('The type of the field'),
38
+ build: z.function().output(z.instanceof(CheckboxField)).describe('Build a CheckboxField instance from this config'),
39
+ });
40
+ /**
41
+ * Helper function to create a checkbox field configuration
42
+ * Returns a config object with a build() method that can be serialized and used anywhere
43
+ * @param field
44
+ */
45
+ export function checkboxField(field) {
46
+ /**
47
+ * Validate the field config
48
+ */
49
+ const result = optionsSchema.safeParse(field);
50
+ if (!result.success) {
51
+ throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
52
+ }
53
+ const config = {
54
+ ...field,
55
+ type: 'checkbox',
56
+ build() {
57
+ // Use the original field config directly (it doesn't have build() method)
58
+ return new CheckboxField(field);
59
+ },
60
+ };
61
+ return config;
62
+ }
@@ -1,84 +1,84 @@
1
- import type { BaseFieldConfig } from "./field.js";
2
- import { Field } from "./field.js";
3
- import { entityKind } from "../helpers.js";
4
- import * as z from 'zod';
5
- declare const configSchema: z.ZodObject<{
6
- /**
7
- * The default value of the field.
8
- * If set, the field will be pre-populated with this value when the form is loaded.
9
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
10
- */
11
- defaultValue: z.ZodOptional<z.ZodString>;
12
- }, z.core.$strict>;
13
- type Config = z.infer<typeof configSchema>;
14
- export declare class ColorField extends Field<'color', Config> {
15
- static readonly [entityKind]: string;
16
- private readonly _defaultValue;
17
- value: string | undefined;
18
- constructor(config: BaseFieldConfig<Config>);
19
- /**
20
- * Get the value of the field
21
- */
22
- getValue(): string | undefined;
23
- exportForClient(): {
24
- type: "color";
25
- name: string;
26
- label: string;
27
- required: boolean;
28
- conditionalFields: import("../types.js").ConditionalField[];
29
- readonly: boolean;
30
- defaultValue: any;
31
- value: any;
32
- };
33
- checkRequired(): void;
34
- hasSqlNameAndValue(): boolean;
35
- /**
36
- * Prepare the field for submission
37
- */
38
- prepareForSubmission(): Promise<void>;
39
- }
40
- export type ColorFieldClientConfig = ReturnType<ColorField['exportForClient']>;
41
- declare const optionsSchema: z.ZodObject<{
42
- /**
43
- * The default value of the field.
44
- * If set, the field will be pre-populated with this value when the form is loaded.
45
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
46
- */
47
- defaultValue: z.ZodOptional<z.ZodString>;
48
- name: z.ZodString;
49
- label: z.ZodOptional<z.ZodString>;
50
- required: z.ZodOptional<z.ZodBoolean>;
51
- order: z.ZodOptional<z.ZodNumber>;
52
- conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
53
- adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
54
- }, z.core.$strict>;
55
- declare const colorFieldConfigSchema: z.ZodObject<{
56
- type: z.ZodLiteral<"color">;
57
- build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<ColorField, ColorField>>;
58
- /**
59
- * The default value of the field.
60
- * If set, the field will be pre-populated with this value when the form is loaded.
61
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
62
- */
63
- defaultValue: z.ZodOptional<z.ZodString>;
64
- name: z.ZodString;
65
- label: z.ZodOptional<z.ZodString>;
66
- required: z.ZodOptional<z.ZodBoolean>;
67
- order: z.ZodOptional<z.ZodNumber>;
68
- conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
69
- adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
70
- }, z.core.$strict>;
71
- /**
72
- * Color field configuration type
73
- * This is a plain object that can be serialized and used anywhere
74
- * The build() method allows creating a ColorField instance when needed
75
- */
76
- export type ColorFieldConfig = z.infer<typeof colorFieldConfigSchema>;
77
- /**
78
- * Helper function to create a color field configuration
79
- * Returns a config object with a build() method that can be serialized and used anywhere
80
- * @param field
81
- */
82
- export declare function colorField(field: z.infer<typeof optionsSchema>): ColorFieldConfig;
83
- export {};
1
+ import type { BaseFieldConfig } from './field.js';
2
+ import { Field } from './field.js';
3
+ import { entityKind } from '../helpers/index.js';
4
+ import * as z from 'zod';
5
+ declare const configSchema: z.ZodObject<{
6
+ /**
7
+ * The default value of the field.
8
+ * If set, the field will be pre-populated with this value when the form is loaded.
9
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
10
+ */
11
+ defaultValue: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strict>;
13
+ type Config = z.infer<typeof configSchema>;
14
+ export declare class ColorField extends Field<'color', Config> {
15
+ static readonly [entityKind]: string;
16
+ private readonly _defaultValue;
17
+ value: string | undefined;
18
+ constructor(config: BaseFieldConfig<Config>);
19
+ /**
20
+ * Get the value of the field
21
+ */
22
+ getValue(): string | undefined;
23
+ exportForClient(): {
24
+ type: "color";
25
+ name: string;
26
+ label: string;
27
+ required: boolean;
28
+ conditionalFields: import("../types/index.js").ConditionalField[];
29
+ readonly: boolean;
30
+ defaultValue: any;
31
+ value: any;
32
+ };
33
+ checkRequired(): void;
34
+ hasSqlNameAndValue(): boolean;
35
+ /**
36
+ * Prepare the field for submission
37
+ */
38
+ prepareForSubmission(): Promise<void>;
39
+ }
40
+ export type ColorFieldClientConfig = ReturnType<ColorField['exportForClient']>;
41
+ declare const optionsSchema: z.ZodObject<{
42
+ /**
43
+ * The default value of the field.
44
+ * If set, the field will be pre-populated with this value when the form is loaded.
45
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
46
+ */
47
+ defaultValue: z.ZodOptional<z.ZodString>;
48
+ name: z.ZodString;
49
+ label: z.ZodOptional<z.ZodString>;
50
+ required: z.ZodOptional<z.ZodBoolean>;
51
+ order: z.ZodOptional<z.ZodNumber>;
52
+ conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
53
+ adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
54
+ }, z.core.$strict>;
55
+ declare const colorFieldConfigSchema: z.ZodObject<{
56
+ type: z.ZodLiteral<"color">;
57
+ build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<ColorField, ColorField>>;
58
+ /**
59
+ * The default value of the field.
60
+ * If set, the field will be pre-populated with this value when the form is loaded.
61
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
62
+ */
63
+ defaultValue: z.ZodOptional<z.ZodString>;
64
+ name: z.ZodString;
65
+ label: z.ZodOptional<z.ZodString>;
66
+ required: z.ZodOptional<z.ZodBoolean>;
67
+ order: z.ZodOptional<z.ZodNumber>;
68
+ conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
69
+ adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
70
+ }, z.core.$strict>;
71
+ /**
72
+ * Color field configuration type
73
+ * This is a plain object that can be serialized and used anywhere
74
+ * The build() method allows creating a ColorField instance when needed
75
+ */
76
+ export type ColorFieldConfig = z.infer<typeof colorFieldConfigSchema>;
77
+ /**
78
+ * Helper function to create a color field configuration
79
+ * Returns a config object with a build() method that can be serialized and used anywhere
80
+ * @param field
81
+ */
82
+ export declare function colorField(field: z.infer<typeof optionsSchema>): ColorFieldConfig;
83
+ export {};
84
84
  //# sourceMappingURL=color.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/fields/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAyB,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;IACd;;;;OAIG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,UAAW,SAAQ,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;IAClD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;gBACtB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAO3C;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIrB,eAAe;;;;;;;;;;IAMxB,aAAa;IAWJ,kBAAkB,IAAI,OAAO;IAOtC;;OAEG;IACG,oBAAoB;CAQ7B;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9E,QAAA,MAAM,aAAa;IAnEf;;;;OAIG;;;;;;;;kBAkEL,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;IAxExB;;;;OAIG;;;;;;;;kBAwEL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,gBAAgB,CAmBjF"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/core/fields/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;IACd;;;;OAIG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,UAAW,SAAQ,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;IAClD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;gBACtB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAO3C;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIrB,eAAe;;;;;;;;;;IAMxB,aAAa;IAWJ,kBAAkB,IAAI,OAAO;IAOtC;;OAEG;IACG,oBAAoB;CAQ7B;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE9E,QAAA,MAAM,aAAa;IAnEf;;;;OAIG;;;;;;;;kBAkEL,CAAA;AAEF,QAAA,MAAM,sBAAsB;;;IAxExB;;;;OAIG;;;;;;;;kBAwEL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,gBAAgB,CAmBjF"}
@@ -1,91 +1,91 @@
1
- import { Field, baseFieldConfigSchema } from "./field.js";
2
- import { entityKind } from "../helpers.js";
3
- import * as z from 'zod';
4
- const configSchema = z.strictObject({
5
- /**
6
- * The default value of the field.
7
- * If set, the field will be pre-populated with this value when the form is loaded.
8
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
9
- */
10
- defaultValue: z.string().optional().describe('The default value of the field'),
11
- });
12
- export class ColorField extends Field {
13
- static [entityKind] = 'ColorField';
14
- _defaultValue;
15
- value;
16
- constructor(config) {
17
- super(config, 'color');
18
- this.value = config.defaultValue;
19
- this._defaultValue = config.defaultValue;
20
- }
21
- /**
22
- * Get the value of the field
23
- */
24
- getValue() {
25
- return this.value;
26
- }
27
- exportForClient() {
28
- return {
29
- ...super.exportForClient(),
30
- };
31
- }
32
- checkRequired() {
33
- /**
34
- * Check if the field is required
35
- */
36
- if (this.required) {
37
- if (!this.value || this.value.trim().length === 0) {
38
- throw new Error(`Field ${this.label} is required`);
39
- }
40
- }
41
- }
42
- hasSqlNameAndValue() {
43
- /**
44
- * Include the field in the SQL if it is admin-generated, or not admin-generated but has a default value
45
- */
46
- return this.adminGenerated === true || this._defaultValue !== undefined;
47
- }
48
- /**
49
- * Prepare the field for submission
50
- */
51
- async prepareForSubmission() {
52
- /**
53
- * Check if the value represents a color
54
- */
55
- if (this.value && !/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(this.value)) {
56
- throw new Error('Invalid color, please provide a valid hex color');
57
- }
58
- }
59
- }
60
- const optionsSchema = z.strictObject({
61
- ...baseFieldConfigSchema.shape,
62
- ...configSchema.shape,
63
- });
64
- const colorFieldConfigSchema = z.strictObject({
65
- ...optionsSchema.shape,
66
- type: z.literal('color').describe('The type of the field'),
67
- build: z.function().output(z.instanceof(ColorField)).describe('Build a ColorField instance from this config'),
68
- });
69
- /**
70
- * Helper function to create a color field configuration
71
- * Returns a config object with a build() method that can be serialized and used anywhere
72
- * @param field
73
- */
74
- export function colorField(field) {
75
- /**
76
- * Validate the field config
77
- */
78
- const result = optionsSchema.safeParse(field);
79
- if (!result.success) {
80
- throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
81
- }
82
- const config = {
83
- ...field,
84
- type: 'color',
85
- build() {
86
- // Use the original field config directly (it doesn't have build() method)
87
- return new ColorField(field);
88
- },
89
- };
90
- return config;
91
- }
1
+ import { Field, baseFieldConfigSchema } from './field.js';
2
+ import { entityKind } from '../helpers/index.js';
3
+ import * as z from 'zod';
4
+ const configSchema = z.strictObject({
5
+ /**
6
+ * The default value of the field.
7
+ * If set, the field will be pre-populated with this value when the form is loaded.
8
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
9
+ */
10
+ defaultValue: z.string().optional().describe('The default value of the field'),
11
+ });
12
+ export class ColorField extends Field {
13
+ static [entityKind] = 'ColorField';
14
+ _defaultValue;
15
+ value;
16
+ constructor(config) {
17
+ super(config, 'color');
18
+ this.value = config.defaultValue;
19
+ this._defaultValue = config.defaultValue;
20
+ }
21
+ /**
22
+ * Get the value of the field
23
+ */
24
+ getValue() {
25
+ return this.value;
26
+ }
27
+ exportForClient() {
28
+ return {
29
+ ...super.exportForClient(),
30
+ };
31
+ }
32
+ checkRequired() {
33
+ /**
34
+ * Check if the field is required
35
+ */
36
+ if (this.required) {
37
+ if (!this.value || this.value.trim().length === 0) {
38
+ throw new Error(`Field ${this.label} is required`);
39
+ }
40
+ }
41
+ }
42
+ hasSqlNameAndValue() {
43
+ /**
44
+ * Include the field in the SQL if it is admin-generated, or not admin-generated but has a default value
45
+ */
46
+ return this.adminGenerated === true || this._defaultValue !== undefined;
47
+ }
48
+ /**
49
+ * Prepare the field for submission
50
+ */
51
+ async prepareForSubmission() {
52
+ /**
53
+ * Check if the value represents a color
54
+ */
55
+ if (this.value && !/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(this.value)) {
56
+ throw new Error('Invalid color, please provide a valid hex color');
57
+ }
58
+ }
59
+ }
60
+ const optionsSchema = z.strictObject({
61
+ ...baseFieldConfigSchema.shape,
62
+ ...configSchema.shape,
63
+ });
64
+ const colorFieldConfigSchema = z.strictObject({
65
+ ...optionsSchema.shape,
66
+ type: z.literal('color').describe('The type of the field'),
67
+ build: z.function().output(z.instanceof(ColorField)).describe('Build a ColorField instance from this config'),
68
+ });
69
+ /**
70
+ * Helper function to create a color field configuration
71
+ * Returns a config object with a build() method that can be serialized and used anywhere
72
+ * @param field
73
+ */
74
+ export function colorField(field) {
75
+ /**
76
+ * Validate the field config
77
+ */
78
+ const result = optionsSchema.safeParse(field);
79
+ if (!result.success) {
80
+ throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
81
+ }
82
+ const config = {
83
+ ...field,
84
+ type: 'color',
85
+ build() {
86
+ // Use the original field config directly (it doesn't have build() method)
87
+ return new ColorField(field);
88
+ },
89
+ };
90
+ return config;
91
+ }