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,136 +1,136 @@
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
- placeholder: z.ZodOptional<z.ZodString>;
7
- minLength: z.ZodOptional<z.ZodNumber>;
8
- maxLength: z.ZodOptional<z.ZodNumber>;
9
- /**
10
- * The default value of the field.
11
- * If set, the field will be pre-populated with this value when the form is loaded.
12
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
13
- */
14
- defaultValue: z.ZodOptional<z.ZodString>;
15
- /**
16
- * Whether to sanitize the value before saving it to the database.
17
- * If true, the value will be escaped to prevent XSS attacks.
18
- * If false, the value will be saved as is (raw input).
19
- * @default false
20
- */
21
- sanitize: z.ZodOptional<z.ZodBoolean>;
22
- }, z.core.$strict>;
23
- type Config = z.infer<typeof configSchema>;
24
- export declare class TextField extends Field<'text', Config> {
25
- static readonly [entityKind]: string;
26
- readonly maxLength: number | undefined;
27
- readonly minLength: number | undefined;
28
- readonly placeholder: string | undefined;
29
- private readonly _defaultValue;
30
- value: string | undefined;
31
- readonly sanitize: boolean;
32
- constructor(config: BaseFieldConfig<Config>);
33
- /**
34
- * Sanitize the value
35
- */
36
- private sanitizeValue;
37
- exportForClient(): {
38
- maxLength: number | undefined;
39
- minLength: number | undefined;
40
- placeholder: string | undefined;
41
- sanitize: boolean;
42
- type: "text";
43
- name: string;
44
- label: string;
45
- required: boolean;
46
- conditionalFields: import("../types.js").ConditionalField[];
47
- readonly: boolean;
48
- defaultValue: any;
49
- value: any;
50
- };
51
- /**
52
- * Get the value of the field
53
- */
54
- getValue(): string | undefined;
55
- checkRequired(): void;
56
- hasSqlNameAndValue(): boolean;
57
- /**
58
- * Prepare the field for submission
59
- */
60
- prepareForSubmission(): Promise<void>;
61
- }
62
- export type TextFieldClientConfig = ReturnType<TextField['exportForClient']>;
63
- declare const optionsSchema: z.ZodObject<{
64
- placeholder: z.ZodOptional<z.ZodString>;
65
- minLength: z.ZodOptional<z.ZodNumber>;
66
- maxLength: z.ZodOptional<z.ZodNumber>;
67
- /**
68
- * The default value of the field.
69
- * If set, the field will be pre-populated with this value when the form is loaded.
70
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
71
- */
72
- defaultValue: z.ZodOptional<z.ZodString>;
73
- /**
74
- * Whether to sanitize the value before saving it to the database.
75
- * If true, the value will be escaped to prevent XSS attacks.
76
- * If false, the value will be saved as is (raw input).
77
- * @default false
78
- */
79
- sanitize: z.ZodOptional<z.ZodBoolean>;
80
- name: z.ZodString;
81
- label: z.ZodOptional<z.ZodString>;
82
- required: z.ZodOptional<z.ZodBoolean>;
83
- order: z.ZodOptional<z.ZodNumber>;
84
- conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
85
- adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
86
- }, z.core.$strict>;
87
- declare const textFieldConfigSchema: z.ZodObject<{
88
- type: z.ZodLiteral<"text">;
89
- build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<TextField, TextField>>;
90
- placeholder: z.ZodOptional<z.ZodString>;
91
- minLength: z.ZodOptional<z.ZodNumber>;
92
- maxLength: z.ZodOptional<z.ZodNumber>;
93
- /**
94
- * The default value of the field.
95
- * If set, the field will be pre-populated with this value when the form is loaded.
96
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
97
- */
98
- defaultValue: z.ZodOptional<z.ZodString>;
99
- /**
100
- * Whether to sanitize the value before saving it to the database.
101
- * If true, the value will be escaped to prevent XSS attacks.
102
- * If false, the value will be saved as is (raw input).
103
- * @default false
104
- */
105
- sanitize: z.ZodOptional<z.ZodBoolean>;
106
- name: z.ZodString;
107
- label: z.ZodOptional<z.ZodString>;
108
- required: z.ZodOptional<z.ZodBoolean>;
109
- order: z.ZodOptional<z.ZodNumber>;
110
- conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types.js").ConditionalRule, import("../types.js").ConditionalRule>>>;
111
- adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
112
- }, z.core.$strict>;
113
- /**
114
- * Text field configuration type
115
- * This is a plain object that can be serialized and used anywhere
116
- * The build() method allows creating a TextField instance when needed
117
- */
118
- export type TextFieldConfig = z.infer<typeof textFieldConfigSchema>;
119
- /**
120
- * Helper function to create a text field configuration
121
- * Returns a config object with a build() method that can be serialized and used anywhere
122
- *
123
- * @example
124
- * ```typescript
125
- * const fieldConfig = textField({ name: 'title', label: 'Title', required: true, order: 1 })
126
- * // Use as config (serializable)
127
- * const config = JSON.stringify(fieldConfig) // methods are ignored during serialization
128
- * // Build instance when needed
129
- * const fieldInstance = fieldConfig.build()
130
- * ```
131
- *
132
- * @param field
133
- */
134
- export declare function textField(field: z.infer<typeof optionsSchema>): TextFieldConfig;
135
- 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
+ placeholder: z.ZodOptional<z.ZodString>;
7
+ minLength: z.ZodOptional<z.ZodNumber>;
8
+ maxLength: z.ZodOptional<z.ZodNumber>;
9
+ /**
10
+ * The default value of the field.
11
+ * If set, the field will be pre-populated with this value when the form is loaded.
12
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
13
+ */
14
+ defaultValue: z.ZodOptional<z.ZodString>;
15
+ /**
16
+ * Whether to sanitize the value before saving it to the database.
17
+ * If true, the value will be escaped to prevent XSS attacks.
18
+ * If false, the value will be saved as is (raw input).
19
+ * @default false
20
+ */
21
+ sanitize: z.ZodOptional<z.ZodBoolean>;
22
+ }, z.core.$strict>;
23
+ type Config = z.infer<typeof configSchema>;
24
+ export declare class TextField extends Field<'text', Config> {
25
+ static readonly [entityKind]: string;
26
+ readonly maxLength: number | undefined;
27
+ readonly minLength: number | undefined;
28
+ readonly placeholder: string | undefined;
29
+ private readonly _defaultValue;
30
+ value: string | undefined;
31
+ readonly sanitize: boolean;
32
+ constructor(config: BaseFieldConfig<Config>);
33
+ /**
34
+ * Sanitize the value
35
+ */
36
+ private sanitizeValue;
37
+ exportForClient(): {
38
+ maxLength: number | undefined;
39
+ minLength: number | undefined;
40
+ placeholder: string | undefined;
41
+ sanitize: boolean;
42
+ type: "text";
43
+ name: string;
44
+ label: string;
45
+ required: boolean;
46
+ conditionalFields: import("../types/index.js").ConditionalField[];
47
+ readonly: boolean;
48
+ defaultValue: any;
49
+ value: any;
50
+ };
51
+ /**
52
+ * Get the value of the field
53
+ */
54
+ getValue(): string | undefined;
55
+ checkRequired(): void;
56
+ hasSqlNameAndValue(): boolean;
57
+ /**
58
+ * Prepare the field for submission
59
+ */
60
+ prepareForSubmission(): Promise<void>;
61
+ }
62
+ export type TextFieldClientConfig = ReturnType<TextField['exportForClient']>;
63
+ declare const optionsSchema: z.ZodObject<{
64
+ placeholder: z.ZodOptional<z.ZodString>;
65
+ minLength: z.ZodOptional<z.ZodNumber>;
66
+ maxLength: z.ZodOptional<z.ZodNumber>;
67
+ /**
68
+ * The default value of the field.
69
+ * If set, the field will be pre-populated with this value when the form is loaded.
70
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
71
+ */
72
+ defaultValue: z.ZodOptional<z.ZodString>;
73
+ /**
74
+ * Whether to sanitize the value before saving it to the database.
75
+ * If true, the value will be escaped to prevent XSS attacks.
76
+ * If false, the value will be saved as is (raw input).
77
+ * @default false
78
+ */
79
+ sanitize: z.ZodOptional<z.ZodBoolean>;
80
+ name: z.ZodString;
81
+ label: z.ZodOptional<z.ZodString>;
82
+ required: z.ZodOptional<z.ZodBoolean>;
83
+ order: z.ZodOptional<z.ZodNumber>;
84
+ conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
85
+ adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
86
+ }, z.core.$strict>;
87
+ declare const textFieldConfigSchema: z.ZodObject<{
88
+ type: z.ZodLiteral<"text">;
89
+ build: z.ZodFunction<z.core.$ZodFunctionArgs, z.ZodCustom<TextField, TextField>>;
90
+ placeholder: z.ZodOptional<z.ZodString>;
91
+ minLength: z.ZodOptional<z.ZodNumber>;
92
+ maxLength: z.ZodOptional<z.ZodNumber>;
93
+ /**
94
+ * The default value of the field.
95
+ * If set, the field will be pre-populated with this value when the form is loaded.
96
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
97
+ */
98
+ defaultValue: z.ZodOptional<z.ZodString>;
99
+ /**
100
+ * Whether to sanitize the value before saving it to the database.
101
+ * If true, the value will be escaped to prevent XSS attacks.
102
+ * If false, the value will be saved as is (raw input).
103
+ * @default false
104
+ */
105
+ sanitize: z.ZodOptional<z.ZodBoolean>;
106
+ name: z.ZodString;
107
+ label: z.ZodOptional<z.ZodString>;
108
+ required: z.ZodOptional<z.ZodBoolean>;
109
+ order: z.ZodOptional<z.ZodNumber>;
110
+ conditionalRules: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../types/index.js").ConditionalRule, import("../types/index.js").ConditionalRule>>>;
111
+ adminGenerated: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<true>, z.ZodLiteral<false>, z.ZodLiteral<"readonly">]>>;
112
+ }, z.core.$strict>;
113
+ /**
114
+ * Text field configuration type
115
+ * This is a plain object that can be serialized and used anywhere
116
+ * The build() method allows creating a TextField instance when needed
117
+ */
118
+ export type TextFieldConfig = z.infer<typeof textFieldConfigSchema>;
119
+ /**
120
+ * Helper function to create a text field configuration
121
+ * Returns a config object with a build() method that can be serialized and used anywhere
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * const fieldConfig = textField({ name: 'title', label: 'Title', required: true, order: 1 })
126
+ * // Use as config (serializable)
127
+ * const config = JSON.stringify(fieldConfig) // methods are ignored during serialization
128
+ * // Build instance when needed
129
+ * const fieldInstance = fieldConfig.build()
130
+ * ```
131
+ *
132
+ * @param field
133
+ */
134
+ export declare function textField(field: z.infer<typeof optionsSchema>): TextFieldConfig;
135
+ export {};
136
136
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/core/fields/text.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;AAGxB,QAAA,MAAM,YAAY;;;;IAId;;;;OAIG;;IAEH;;;;;OAKG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,SAAU,SAAQ,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;IAChD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAc;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAEd,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAU3C;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBL,eAAe;;;;;;;;;;;;;;IAU/B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,aAAa;IAWJ,kBAAkB,IAAI,OAAO;IAOtC;;OAEG;IACG,oBAAoB;CAyB7B;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE5E,QAAA,MAAM,aAAa;;;;IA1Hf;;;;OAIG;;IAEH;;;;;OAKG;;;;;;;;kBAkHL,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;;;IA/HvB;;;;OAIG;;IAEH;;;;;OAKG;;;;;;;;kBAwHL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,eAAe,CAmB/E"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/core/fields/text.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;AAGxB,QAAA,MAAM,YAAY;;;;IAId;;;;OAIG;;IAEH;;;;;OAKG;;kBAEL,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,SAAU,SAAQ,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;IAChD,gBAAyB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAc;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAEd,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC;IAU3C;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBL,eAAe;;;;;;;;;;;;;;IAU/B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,aAAa;IAWJ,kBAAkB,IAAI,OAAO;IAOtC;;OAEG;IACG,oBAAoB;CAyB7B;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAE5E,QAAA,MAAM,aAAa;;;;IA1Hf;;;;OAIG;;IAEH;;;;;OAKG;;;;;;;;kBAkHL,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;;;IA/HvB;;;;OAIG;;IAEH;;;;;OAKG;;;;;;;;kBAwHL,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GAAG,eAAe,CAmB/E"}
@@ -1,157 +1,157 @@
1
- import { Field, baseFieldConfigSchema } from "./field.js";
2
- import { entityKind } from "../helpers.js";
3
- import * as z from 'zod';
4
- import { escapeHTML } from "../security/dom.js";
5
- const configSchema = z.strictObject({
6
- placeholder: z.string().optional().describe('The placeholder text for the field'),
7
- minLength: z.number().optional().describe('The minimum length of the field value'),
8
- maxLength: z.number().optional().describe('The maximum length of the field value'),
9
- /**
10
- * The default value of the field.
11
- * If set, the field will be pre-populated with this value when the form is loaded.
12
- * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
13
- */
14
- defaultValue: z.string().optional().describe('The default value of the field'),
15
- /**
16
- * Whether to sanitize the value before saving it to the database.
17
- * If true, the value will be escaped to prevent XSS attacks.
18
- * If false, the value will be saved as is (raw input).
19
- * @default false
20
- */
21
- sanitize: z.boolean().optional().describe('Sanitize the value before saving'),
22
- });
23
- export class TextField extends Field {
24
- static [entityKind] = 'TextField';
25
- maxLength;
26
- minLength;
27
- placeholder;
28
- _defaultValue;
29
- value;
30
- sanitize;
31
- constructor(config) {
32
- super(config, 'text');
33
- this.maxLength = config.maxLength;
34
- this.minLength = config.minLength;
35
- this.placeholder = config.placeholder;
36
- this.value = config.defaultValue;
37
- this._defaultValue = config.defaultValue;
38
- this.sanitize = config.sanitize ?? false;
39
- }
40
- /**
41
- * Sanitize the value
42
- */
43
- sanitizeValue() {
44
- /**
45
- * Check if the value is not undefined
46
- */
47
- if (this.value !== undefined && this.sanitize) {
48
- /**
49
- * Sanitize the value
50
- */
51
- this.value = escapeHTML(this.value);
52
- }
53
- }
54
- /*public override async postSubmit(): Promise<void> {
55
- return
56
- }*/
57
- exportForClient() {
58
- return {
59
- ...super.exportForClient(),
60
- maxLength: this.maxLength,
61
- minLength: this.minLength,
62
- placeholder: this.placeholder,
63
- sanitize: this.sanitize,
64
- };
65
- }
66
- /**
67
- * Get the value of the field
68
- */
69
- getValue() {
70
- return this.value;
71
- }
72
- checkRequired() {
73
- /**
74
- * Check if the field is required
75
- */
76
- if (this.required) {
77
- if (!this.value || this.value.trim().length === 0) {
78
- throw new Error(`Field ${this.label} is required`);
79
- }
80
- }
81
- }
82
- hasSqlNameAndValue() {
83
- /**
84
- * Include the field in the SQL if it is admin-generated, or not admin-generated but has a default value
85
- */
86
- return this.adminGenerated === true || this._defaultValue !== undefined;
87
- }
88
- /**
89
- * Prepare the field for submission
90
- */
91
- async prepareForSubmission() {
92
- /**
93
- * Sanitize the value
94
- */
95
- this.sanitizeValue();
96
- if (this.value) {
97
- /**
98
- * Check minimum length
99
- */
100
- if (this.minLength) {
101
- if (this.minLength > this.value.length) {
102
- throw new Error(`Field ${this.label} must be at least ${this.minLength} characters long`);
103
- }
104
- }
105
- /**
106
- * Check maximum length
107
- */
108
- if (this.maxLength) {
109
- if (this.maxLength < this.value.length) {
110
- throw new Error(`Field ${this.label} must be at most ${this.maxLength} characters long`);
111
- }
112
- }
113
- }
114
- }
115
- }
116
- const optionsSchema = z.strictObject({
117
- ...baseFieldConfigSchema.shape,
118
- ...configSchema.shape,
119
- });
120
- const textFieldConfigSchema = z.strictObject({
121
- ...optionsSchema.shape,
122
- type: z.literal('text').describe('The type of the field'),
123
- build: z.function().output(z.instanceof(TextField)).describe('Build a TextField instance from this config'),
124
- });
125
- /**
126
- * Helper function to create a text field configuration
127
- * Returns a config object with a build() method that can be serialized and used anywhere
128
- *
129
- * @example
130
- * ```typescript
131
- * const fieldConfig = textField({ name: 'title', label: 'Title', required: true, order: 1 })
132
- * // Use as config (serializable)
133
- * const config = JSON.stringify(fieldConfig) // methods are ignored during serialization
134
- * // Build instance when needed
135
- * const fieldInstance = fieldConfig.build()
136
- * ```
137
- *
138
- * @param field
139
- */
140
- export function textField(field) {
141
- /**
142
- * Validate the field config
143
- */
144
- const result = optionsSchema.safeParse(field);
145
- if (!result.success) {
146
- throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
147
- }
148
- const config = {
149
- ...field,
150
- type: 'text',
151
- build() {
152
- // Use the original field config directly (it doesn't have build() method)
153
- return new TextField(field);
154
- },
155
- };
156
- return config;
157
- }
1
+ import { Field, baseFieldConfigSchema } from './field.js';
2
+ import { entityKind } from '../helpers/index.js';
3
+ import * as z from 'zod';
4
+ import { escapeHTML } from '../security/dom.js';
5
+ const configSchema = z.strictObject({
6
+ placeholder: z.string().optional().describe('The placeholder text for the field'),
7
+ minLength: z.number().optional().describe('The minimum length of the field value'),
8
+ maxLength: z.number().optional().describe('The maximum length of the field value'),
9
+ /**
10
+ * The default value of the field.
11
+ * If set, the field will be pre-populated with this value when the form is loaded.
12
+ * If `adminGenerated` is not true, the field will be included when submitting the form with this value.
13
+ */
14
+ defaultValue: z.string().optional().describe('The default value of the field'),
15
+ /**
16
+ * Whether to sanitize the value before saving it to the database.
17
+ * If true, the value will be escaped to prevent XSS attacks.
18
+ * If false, the value will be saved as is (raw input).
19
+ * @default false
20
+ */
21
+ sanitize: z.boolean().optional().describe('Sanitize the value before saving'),
22
+ });
23
+ export class TextField extends Field {
24
+ static [entityKind] = 'TextField';
25
+ maxLength;
26
+ minLength;
27
+ placeholder;
28
+ _defaultValue;
29
+ value;
30
+ sanitize;
31
+ constructor(config) {
32
+ super(config, 'text');
33
+ this.maxLength = config.maxLength;
34
+ this.minLength = config.minLength;
35
+ this.placeholder = config.placeholder;
36
+ this.value = config.defaultValue;
37
+ this._defaultValue = config.defaultValue;
38
+ this.sanitize = config.sanitize ?? false;
39
+ }
40
+ /**
41
+ * Sanitize the value
42
+ */
43
+ sanitizeValue() {
44
+ /**
45
+ * Check if the value is not undefined
46
+ */
47
+ if (this.value !== undefined && this.sanitize) {
48
+ /**
49
+ * Sanitize the value
50
+ */
51
+ this.value = escapeHTML(this.value);
52
+ }
53
+ }
54
+ /*public override async postSubmit(): Promise<void> {
55
+ return
56
+ }*/
57
+ exportForClient() {
58
+ return {
59
+ ...super.exportForClient(),
60
+ maxLength: this.maxLength,
61
+ minLength: this.minLength,
62
+ placeholder: this.placeholder,
63
+ sanitize: this.sanitize,
64
+ };
65
+ }
66
+ /**
67
+ * Get the value of the field
68
+ */
69
+ getValue() {
70
+ return this.value;
71
+ }
72
+ checkRequired() {
73
+ /**
74
+ * Check if the field is required
75
+ */
76
+ if (this.required) {
77
+ if (!this.value || this.value.trim().length === 0) {
78
+ throw new Error(`Field ${this.label} is required`);
79
+ }
80
+ }
81
+ }
82
+ hasSqlNameAndValue() {
83
+ /**
84
+ * Include the field in the SQL if it is admin-generated, or not admin-generated but has a default value
85
+ */
86
+ return this.adminGenerated === true || this._defaultValue !== undefined;
87
+ }
88
+ /**
89
+ * Prepare the field for submission
90
+ */
91
+ async prepareForSubmission() {
92
+ /**
93
+ * Sanitize the value
94
+ */
95
+ this.sanitizeValue();
96
+ if (this.value) {
97
+ /**
98
+ * Check minimum length
99
+ */
100
+ if (this.minLength) {
101
+ if (this.minLength > this.value.length) {
102
+ throw new Error(`Field ${this.label} must be at least ${this.minLength} characters long`);
103
+ }
104
+ }
105
+ /**
106
+ * Check maximum length
107
+ */
108
+ if (this.maxLength) {
109
+ if (this.maxLength < this.value.length) {
110
+ throw new Error(`Field ${this.label} must be at most ${this.maxLength} characters long`);
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ const optionsSchema = z.strictObject({
117
+ ...baseFieldConfigSchema.shape,
118
+ ...configSchema.shape,
119
+ });
120
+ const textFieldConfigSchema = z.strictObject({
121
+ ...optionsSchema.shape,
122
+ type: z.literal('text').describe('The type of the field'),
123
+ build: z.function().output(z.instanceof(TextField)).describe('Build a TextField instance from this config'),
124
+ });
125
+ /**
126
+ * Helper function to create a text field configuration
127
+ * Returns a config object with a build() method that can be serialized and used anywhere
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const fieldConfig = textField({ name: 'title', label: 'Title', required: true, order: 1 })
132
+ * // Use as config (serializable)
133
+ * const config = JSON.stringify(fieldConfig) // methods are ignored during serialization
134
+ * // Build instance when needed
135
+ * const fieldInstance = fieldConfig.build()
136
+ * ```
137
+ *
138
+ * @param field
139
+ */
140
+ export function textField(field) {
141
+ /**
142
+ * Validate the field config
143
+ */
144
+ const result = optionsSchema.safeParse(field);
145
+ if (!result.success) {
146
+ throw new Error(`[Field: ${field.name}]: ${z.prettifyError(result.error)}`);
147
+ }
148
+ const config = {
149
+ ...field,
150
+ type: 'text',
151
+ build() {
152
+ // Use the original field config directly (it doesn't have build() method)
153
+ return new TextField(field);
154
+ },
155
+ };
156
+ return config;
157
+ }