@storyblok/schema 0.1.0-alpha.0 → 0.1.0-alpha.2

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 (170) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  2. package/dist/field-plugins/index.cjs +4 -0
  3. package/dist/field-plugins/index.d.cts +2 -0
  4. package/dist/field-plugins/index.d.mts +2 -0
  5. package/dist/field-plugins/index.mjs +3 -0
  6. package/dist/field-plugins/storyblok-color-field.cjs +32 -0
  7. package/dist/field-plugins/storyblok-color-field.cjs.map +1 -0
  8. package/dist/field-plugins/storyblok-color-field.d.cts +16 -0
  9. package/dist/field-plugins/storyblok-color-field.d.mts +16 -0
  10. package/dist/field-plugins/storyblok-color-field.mjs +32 -0
  11. package/dist/field-plugins/storyblok-color-field.mjs.map +1 -0
  12. package/dist/generated/capi/types.gen.d.cts +1 -126
  13. package/dist/generated/capi/types.gen.d.mts +1 -126
  14. package/dist/generated/mapi/_internal.gen.d.cts +1 -171
  15. package/dist/generated/mapi/_internal.gen.d.mts +1 -171
  16. package/dist/generated/overlay/zod.gen.cjs +407 -0
  17. package/dist/generated/overlay/zod.gen.cjs.map +1 -0
  18. package/dist/generated/overlay/zod.gen.mjs +402 -0
  19. package/dist/generated/overlay/zod.gen.mjs.map +1 -0
  20. package/dist/generated/types/block.d.cts +27 -14
  21. package/dist/generated/types/block.d.mts +27 -14
  22. package/dist/generated/types/field.d.cts +48 -17
  23. package/dist/generated/types/field.d.mts +48 -17
  24. package/dist/generated/types/mapi-story.d.cts +6 -10
  25. package/dist/generated/types/mapi-story.d.mts +6 -10
  26. package/dist/generated/types/story.d.cts +3 -3
  27. package/dist/generated/types/story.d.mts +3 -3
  28. package/dist/helpers/define-block.cjs +10 -28
  29. package/dist/helpers/define-block.cjs.map +1 -1
  30. package/dist/helpers/define-block.d.cts +14 -31
  31. package/dist/helpers/define-block.d.mts +14 -31
  32. package/dist/helpers/define-block.mjs +11 -27
  33. package/dist/helpers/define-block.mjs.map +1 -1
  34. package/dist/helpers/define-datasource.cjs +0 -16
  35. package/dist/helpers/define-datasource.cjs.map +1 -1
  36. package/dist/helpers/define-datasource.d.cts +14 -23
  37. package/dist/helpers/define-datasource.d.mts +14 -23
  38. package/dist/helpers/define-datasource.mjs +1 -15
  39. package/dist/helpers/define-datasource.mjs.map +1 -1
  40. package/dist/helpers/define-field-plugin.cjs +21 -0
  41. package/dist/helpers/define-field-plugin.cjs.map +1 -0
  42. package/dist/helpers/define-field-plugin.d.cts +33 -0
  43. package/dist/helpers/define-field-plugin.d.mts +33 -0
  44. package/dist/helpers/define-field-plugin.mjs +20 -0
  45. package/dist/helpers/define-field-plugin.mjs.map +1 -0
  46. package/dist/helpers/define-field.cjs +11 -11
  47. package/dist/helpers/define-field.cjs.map +1 -1
  48. package/dist/helpers/define-field.d.cts +46 -85
  49. package/dist/helpers/define-field.d.mts +46 -85
  50. package/dist/helpers/define-field.mjs +12 -11
  51. package/dist/helpers/define-field.mjs.map +1 -1
  52. package/dist/helpers/define-schema.cjs +22 -0
  53. package/dist/helpers/define-schema.cjs.map +1 -0
  54. package/dist/helpers/define-schema.d.cts +28 -0
  55. package/dist/helpers/define-schema.d.mts +28 -0
  56. package/dist/helpers/define-schema.mjs +21 -0
  57. package/dist/helpers/define-schema.mjs.map +1 -0
  58. package/dist/helpers/schema-type.d.cts +21 -17
  59. package/dist/helpers/schema-type.d.mts +21 -17
  60. package/dist/index.cjs +10 -47
  61. package/dist/index.d.cts +13 -20
  62. package/dist/index.d.mts +13 -20
  63. package/dist/index.mjs +8 -15
  64. package/dist/utils/is-record.cjs +10 -0
  65. package/dist/utils/is-record.cjs.map +1 -0
  66. package/dist/utils/is-record.mjs +9 -0
  67. package/dist/utils/is-record.mjs.map +1 -0
  68. package/dist/validators/create-story-validator.cjs +37 -0
  69. package/dist/validators/create-story-validator.cjs.map +1 -0
  70. package/dist/validators/create-story-validator.d.cts +18 -0
  71. package/dist/validators/create-story-validator.d.mts +18 -0
  72. package/dist/validators/create-story-validator.mjs +37 -0
  73. package/dist/validators/create-story-validator.mjs.map +1 -0
  74. package/dist/validators/internal-schemas.cjs +1 -0
  75. package/dist/validators/internal-schemas.mjs +3 -0
  76. package/dist/validators/shapes.cjs +12 -0
  77. package/dist/validators/shapes.cjs.map +1 -0
  78. package/dist/validators/shapes.d.cts +71 -0
  79. package/dist/validators/shapes.d.mts +71 -0
  80. package/dist/validators/shapes.mjs +12 -0
  81. package/dist/validators/shapes.mjs.map +1 -0
  82. package/dist/validators/types.d.cts +25 -0
  83. package/dist/validators/types.d.mts +25 -0
  84. package/dist/validators/validate-schema.cjs +145 -0
  85. package/dist/validators/validate-schema.cjs.map +1 -0
  86. package/dist/validators/validate-schema.d.cts +19 -0
  87. package/dist/validators/validate-schema.d.mts +19 -0
  88. package/dist/validators/validate-schema.mjs +145 -0
  89. package/dist/validators/validate-schema.mjs.map +1 -0
  90. package/dist/validators/validate-story.cjs +285 -0
  91. package/dist/validators/validate-story.cjs.map +1 -0
  92. package/dist/validators/validate-story.d.cts +17 -0
  93. package/dist/validators/validate-story.d.mts +17 -0
  94. package/dist/validators/validate-story.mjs +284 -0
  95. package/dist/validators/validate-story.mjs.map +1 -0
  96. package/package.json +17 -2
  97. package/dist/generated/mapi/types.gen.d.cts +0 -1272
  98. package/dist/generated/mapi/types.gen.d.mts +0 -1272
  99. package/dist/helpers/create-story-helpers.cjs +0 -42
  100. package/dist/helpers/create-story-helpers.cjs.map +0 -1
  101. package/dist/helpers/create-story-helpers.d.cts +0 -50
  102. package/dist/helpers/create-story-helpers.d.mts +0 -50
  103. package/dist/helpers/create-story-helpers.mjs +0 -42
  104. package/dist/helpers/create-story-helpers.mjs.map +0 -1
  105. package/dist/helpers/define-asset-folder.cjs +0 -46
  106. package/dist/helpers/define-asset-folder.cjs.map +0 -1
  107. package/dist/helpers/define-asset-folder.d.cts +0 -33
  108. package/dist/helpers/define-asset-folder.d.mts +0 -33
  109. package/dist/helpers/define-asset-folder.mjs +0 -43
  110. package/dist/helpers/define-asset-folder.mjs.map +0 -1
  111. package/dist/helpers/define-asset.cjs +0 -60
  112. package/dist/helpers/define-asset.cjs.map +0 -1
  113. package/dist/helpers/define-asset.d.cts +0 -32
  114. package/dist/helpers/define-asset.d.mts +0 -32
  115. package/dist/helpers/define-asset.mjs +0 -57
  116. package/dist/helpers/define-asset.mjs.map +0 -1
  117. package/dist/helpers/define-block-folder.cjs +0 -44
  118. package/dist/helpers/define-block-folder.cjs.map +0 -1
  119. package/dist/helpers/define-block-folder.d.cts +0 -34
  120. package/dist/helpers/define-block-folder.d.mts +0 -34
  121. package/dist/helpers/define-block-folder.mjs +0 -41
  122. package/dist/helpers/define-block-folder.mjs.map +0 -1
  123. package/dist/helpers/define-datasource-entry.cjs +0 -47
  124. package/dist/helpers/define-datasource-entry.cjs.map +0 -1
  125. package/dist/helpers/define-datasource-entry.d.cts +0 -49
  126. package/dist/helpers/define-datasource-entry.d.mts +0 -49
  127. package/dist/helpers/define-datasource-entry.mjs +0 -43
  128. package/dist/helpers/define-datasource-entry.mjs.map +0 -1
  129. package/dist/helpers/define-internal-tag.cjs +0 -41
  130. package/dist/helpers/define-internal-tag.cjs.map +0 -1
  131. package/dist/helpers/define-internal-tag.d.cts +0 -34
  132. package/dist/helpers/define-internal-tag.d.mts +0 -34
  133. package/dist/helpers/define-internal-tag.mjs +0 -38
  134. package/dist/helpers/define-internal-tag.mjs.map +0 -1
  135. package/dist/helpers/define-link.cjs +0 -23
  136. package/dist/helpers/define-link.cjs.map +0 -1
  137. package/dist/helpers/define-link.d.cts +0 -32
  138. package/dist/helpers/define-link.d.mts +0 -32
  139. package/dist/helpers/define-link.mjs +0 -22
  140. package/dist/helpers/define-link.mjs.map +0 -1
  141. package/dist/helpers/define-preset.cjs +0 -44
  142. package/dist/helpers/define-preset.cjs.map +0 -1
  143. package/dist/helpers/define-preset.d.cts +0 -35
  144. package/dist/helpers/define-preset.d.mts +0 -35
  145. package/dist/helpers/define-preset.mjs +0 -41
  146. package/dist/helpers/define-preset.mjs.map +0 -1
  147. package/dist/helpers/define-space.cjs +0 -47
  148. package/dist/helpers/define-space.cjs.map +0 -1
  149. package/dist/helpers/define-space.d.cts +0 -31
  150. package/dist/helpers/define-space.d.mts +0 -31
  151. package/dist/helpers/define-space.mjs +0 -44
  152. package/dist/helpers/define-space.mjs.map +0 -1
  153. package/dist/helpers/define-story.cjs +0 -122
  154. package/dist/helpers/define-story.cjs.map +0 -1
  155. package/dist/helpers/define-story.d.cts +0 -135
  156. package/dist/helpers/define-story.d.mts +0 -135
  157. package/dist/helpers/define-story.mjs +0 -118
  158. package/dist/helpers/define-story.mjs.map +0 -1
  159. package/dist/helpers/define-tag.cjs +0 -13
  160. package/dist/helpers/define-tag.cjs.map +0 -1
  161. package/dist/helpers/define-tag.d.cts +0 -23
  162. package/dist/helpers/define-tag.d.mts +0 -23
  163. package/dist/helpers/define-tag.mjs +0 -12
  164. package/dist/helpers/define-tag.mjs.map +0 -1
  165. package/dist/helpers/define-user.cjs +0 -50
  166. package/dist/helpers/define-user.cjs.map +0 -1
  167. package/dist/helpers/define-user.d.cts +0 -26
  168. package/dist/helpers/define-user.d.mts +0 -26
  169. package/dist/helpers/define-user.mjs +0 -48
  170. package/dist/helpers/define-user.mjs.map +0 -1
@@ -141,176 +141,6 @@ type Component = {
141
141
  [key: string]: unknown;
142
142
  } | null;
143
143
  };
144
- type ComponentCreate = {
145
- /**
146
- * Name of the component
147
- */
148
- name: string;
149
- /**
150
- * Human-readable display name
151
- */
152
- display_name?: string;
153
- /**
154
- * Component description
155
- */
156
- description?: string;
157
- /**
158
- * Preview template HTML
159
- */
160
- preview_tmpl?: string;
161
- /**
162
- * Component image URL
163
- */
164
- image?: string;
165
- /**
166
- * Field used for preview
167
- */
168
- preview_field?: string;
169
- /**
170
- * Whether this component can be used as a root component
171
- */
172
- is_root?: boolean;
173
- /**
174
- * Whether this component can be nested inside other components
175
- */
176
- is_nestable?: boolean;
177
- /**
178
- * Default preset ID
179
- */
180
- preset_id?: number;
181
- /**
182
- * UUID
183
- */
184
- component_group_uuid?: string;
185
- /**
186
- * Component color for UI display
187
- */
188
- color?: string;
189
- /**
190
- * Component icon name
191
- */
192
- icon?: string;
193
- /**
194
- * Asset preview URL for content type
195
- */
196
- content_type_asset_preview?: string;
197
- /**
198
- * List of internal tag IDs
199
- */
200
- internal_tag_ids?: Array<number>;
201
- /**
202
- * Component field schema definition
203
- */
204
- schema?: {
205
- [key: string]: {
206
- type?: 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group';
207
- /**
208
- * Human-readable field name
209
- */
210
- display_name?: string;
211
- /**
212
- * Whether this field is required
213
- */
214
- required?: boolean;
215
- /**
216
- * Whether this field is translatable
217
- */
218
- translatable?: boolean;
219
- [key: string]: unknown | 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group' | string | boolean | undefined;
220
- };
221
- };
222
- /**
223
- * Component metadata
224
- */
225
- metadata?: {
226
- [key: string]: unknown;
227
- };
228
- };
229
- type ComponentUpdate = {
230
- /**
231
- * Name of the component
232
- */
233
- name?: string;
234
- /**
235
- * Human-readable display name
236
- */
237
- display_name?: string;
238
- /**
239
- * Component description
240
- */
241
- description?: string;
242
- /**
243
- * Preview template HTML
244
- */
245
- preview_tmpl?: string;
246
- /**
247
- * Component image URL
248
- */
249
- image?: string;
250
- /**
251
- * Field used for preview
252
- */
253
- preview_field?: string;
254
- /**
255
- * Whether this component can be used as a root component
256
- */
257
- is_root?: boolean;
258
- /**
259
- * Whether this component can be nested inside other components
260
- */
261
- is_nestable?: boolean;
262
- /**
263
- * Default preset ID
264
- */
265
- preset_id?: number;
266
- /**
267
- * UUID
268
- */
269
- component_group_uuid?: string;
270
- /**
271
- * Component color for UI display
272
- */
273
- color?: string;
274
- /**
275
- * Component icon name
276
- */
277
- icon?: string;
278
- /**
279
- * Asset preview URL for content type
280
- */
281
- content_type_asset_preview?: string;
282
- /**
283
- * List of internal tag IDs
284
- */
285
- internal_tag_ids?: Array<number>;
286
- /**
287
- * Component field schema definition
288
- */
289
- schema?: {
290
- [key: string]: {
291
- type?: 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group';
292
- /**
293
- * Human-readable field name
294
- */
295
- display_name?: string;
296
- /**
297
- * Whether this field is required
298
- */
299
- required?: boolean;
300
- /**
301
- * Whether this field is translatable
302
- */
303
- translatable?: boolean;
304
- [key: string]: unknown | 'bloks' | 'text' | 'textarea' | 'richtext' | 'markdown' | 'number' | 'datetime' | 'boolean' | 'options' | 'option' | 'asset' | 'multiasset' | 'multilink' | 'table' | 'section' | 'commerce' | 'custom' | 'image' | 'file' | 'tab' | 'link' | 'group' | string | boolean | undefined;
305
- };
306
- };
307
- /**
308
- * Component metadata
309
- */
310
- metadata?: {
311
- [key: string]: unknown;
312
- };
313
- };
314
144
  type MapiStory = {
315
145
  name: string;
316
146
  /**
@@ -679,5 +509,5 @@ type Stage = {
679
509
  created_at: string;
680
510
  };
681
511
  //#endregion
682
- export { Component, ComponentCreate, ComponentUpdate, MapiStory, StoryCreate, StoryUpdate };
512
+ export { Component, MapiStory, StoryCreate, StoryUpdate };
683
513
  //# sourceMappingURL=_internal.gen.d.mts.map
@@ -0,0 +1,407 @@
1
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
2
+ let zod = require("zod");
3
+ zod = require_runtime.__toESM(zod);
4
+
5
+ //#region src/generated/overlay/zod.gen.ts
6
+ /**
7
+ * Universal identity and display properties shared by every field type
8
+ */
9
+ const zBaseFieldRoot = zod.object({
10
+ type: zod.optional(zod.string()),
11
+ id: zod.optional(zod.string()),
12
+ display_name: zod.optional(zod.string()),
13
+ description: zod.optional(zod.string()),
14
+ tooltip: zod.optional(zod.boolean()),
15
+ pos: zod.optional(zod.int()),
16
+ conditional_settings: zod.optional(zod.array(zod.record(zod.string(), zod.unknown())))
17
+ });
18
+ const zSectionFieldRoot = zBaseFieldRoot.and(zod.object({
19
+ type: zod.enum(["section"]),
20
+ keys: zod.optional(zod.array(zod.string())),
21
+ fieldset: zod.optional(zod.object({
22
+ title: zod.optional(zod.string()),
23
+ description: zod.optional(zod.string()),
24
+ collapsible: zod.optional(zod.boolean()),
25
+ collapsed: zod.optional(zod.boolean())
26
+ }))
27
+ }));
28
+ const zTabFieldRoot = zBaseFieldRoot.and(zod.object({
29
+ type: zod.enum(["tab"]),
30
+ keys: zod.optional(zod.array(zod.string()))
31
+ }));
32
+ /**
33
+ * Properties shared by content-bearing fields (i.e. fields that hold a value).
34
+ * Layout-only field types like `section` and `tab` do not include these.
35
+ *
36
+ */
37
+ const zValueFieldRoot = zod.object({
38
+ required: zod.optional(zod.boolean()),
39
+ regex: zod.optional(zod.string()),
40
+ default_value: zod.optional(zod.string()),
41
+ translatable: zod.optional(zod.boolean()),
42
+ no_translate: zod.optional(zod.boolean()),
43
+ exclude_from_ai_translation: zod.optional(zod.boolean()),
44
+ exclude_from_merge: zod.optional(zod.boolean()),
45
+ exclude_from_overwrite: zod.optional(zod.boolean()),
46
+ force_merge: zod.optional(zod.boolean())
47
+ });
48
+ const zAssetFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
49
+ type: zod.enum(["asset"]),
50
+ filetypes: zod.optional(zod.array(zod.string())),
51
+ asset_folder_id: zod.optional(zod.int()),
52
+ allow_external_url: zod.optional(zod.boolean()),
53
+ height: zod.optional(zod.int()),
54
+ width: zod.optional(zod.int()),
55
+ restrict_assets: zod.optional(zod.boolean()),
56
+ asset_whitelist: zod.optional(zod.array(zod.string()))
57
+ }));
58
+ const zBloksFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
59
+ type: zod.enum(["bloks"]),
60
+ restrict_type: zod.optional(zod.string()),
61
+ restrict_components: zod.optional(zod.boolean()),
62
+ component_whitelist: zod.optional(zod.array(zod.string())),
63
+ component_denylist: zod.optional(zod.array(zod.string())),
64
+ component_tag_whitelist: zod.optional(zod.array(zod.int())),
65
+ component_tag_denylist: zod.optional(zod.array(zod.int())),
66
+ component_group_whitelist: zod.optional(zod.array(zod.string())),
67
+ component_group_denylist: zod.optional(zod.array(zod.string())),
68
+ minimum: zod.optional(zod.int()),
69
+ maximum: zod.optional(zod.int()),
70
+ maximum_entries: zod.optional(zod.int()),
71
+ minimum_entries: zod.optional(zod.int())
72
+ }));
73
+ const zBooleanFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
74
+ type: zod.enum(["boolean"]),
75
+ inline_label: zod.optional(zod.boolean())
76
+ }));
77
+ const zCustomFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
78
+ type: zod.enum(["custom"]),
79
+ field_type: zod.optional(zod.string()),
80
+ options: zod.optional(zod.array(zod.object({
81
+ name: zod.optional(zod.string()),
82
+ value: zod.optional(zod.string())
83
+ }))),
84
+ required_fields: zod.optional(zod.string()),
85
+ source: zod.optional(zod.enum(["self", "internal"])),
86
+ datasource_slug: zod.optional(zod.string()),
87
+ external_datasource: zod.optional(zod.string())
88
+ }));
89
+ const zDatetimeFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
90
+ type: zod.enum(["datetime"]),
91
+ disable_time: zod.optional(zod.boolean())
92
+ }));
93
+ const zMarkdownFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
94
+ type: zod.enum(["markdown"]),
95
+ rich_markdown: zod.optional(zod.boolean()),
96
+ rtl: zod.optional(zod.boolean()),
97
+ customize_toolbar: zod.optional(zod.boolean()),
98
+ toolbar: zod.optional(zod.array(zod.enum([
99
+ "bold",
100
+ "italic",
101
+ "inlinecode",
102
+ "code",
103
+ "h1",
104
+ "h2",
105
+ "h3",
106
+ "h4",
107
+ "h5",
108
+ "h6",
109
+ "list",
110
+ "olist",
111
+ "quote",
112
+ "hrule",
113
+ "link",
114
+ "image",
115
+ "paragraph",
116
+ "help",
117
+ "toggle-richtext",
118
+ "auto",
119
+ "ltr",
120
+ "rtl"
121
+ ]))),
122
+ allow_multiline: zod.optional(zod.boolean()),
123
+ max_length: zod.optional(zod.int())
124
+ }));
125
+ const zMultiassetFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
126
+ type: zod.enum(["multiasset"]),
127
+ filetypes: zod.optional(zod.array(zod.string())),
128
+ asset_folder_id: zod.optional(zod.int()),
129
+ allow_external_url: zod.optional(zod.boolean()),
130
+ height: zod.optional(zod.int()),
131
+ width: zod.optional(zod.int()),
132
+ restrict_assets: zod.optional(zod.boolean()),
133
+ asset_whitelist: zod.optional(zod.array(zod.string())),
134
+ maximum_entries: zod.optional(zod.int()),
135
+ minimum_entries: zod.optional(zod.int())
136
+ }));
137
+ const zMultilinkFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
138
+ type: zod.enum(["multilink"]),
139
+ restrict_content_types: zod.optional(zod.boolean()),
140
+ component_whitelist: zod.optional(zod.array(zod.string())),
141
+ allow_target_blank: zod.optional(zod.boolean()),
142
+ allow_custom_attributes: zod.optional(zod.boolean()),
143
+ force_link_scope: zod.optional(zod.boolean()),
144
+ link_scope: zod.optional(zod.string()),
145
+ show_anchor: zod.optional(zod.boolean()),
146
+ email_link_type: zod.optional(zod.boolean()),
147
+ asset_link_type: zod.optional(zod.boolean())
148
+ }));
149
+ const zNumberFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
150
+ type: zod.enum(["number"]),
151
+ min_value: zod.optional(zod.number()),
152
+ max_value: zod.optional(zod.number()),
153
+ decimals: zod.optional(zod.int()),
154
+ steps: zod.optional(zod.number())
155
+ }));
156
+ const zOptionFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
157
+ type: zod.enum(["option"]),
158
+ options: zod.optional(zod.array(zod.object({
159
+ _uid: zod.optional(zod.string()),
160
+ name: zod.optional(zod.string()),
161
+ value: zod.optional(zod.string())
162
+ }))),
163
+ source: zod.optional(zod.string()),
164
+ datasource_slug: zod.optional(zod.string()),
165
+ external_datasource: zod.optional(zod.string()),
166
+ folder_slug: zod.optional(zod.string()),
167
+ filter_content_type: zod.optional(zod.array(zod.string())),
168
+ exclude_empty_option: zod.optional(zod.boolean()),
169
+ include_empty_option: zod.optional(zod.boolean()),
170
+ use_uuid: zod.optional(zod.boolean()),
171
+ entry_appearance: zod.optional(zod.string()),
172
+ allow_advanced_search: zod.optional(zod.boolean()),
173
+ max_options: zod.optional(zod.string()),
174
+ min_options: zod.optional(zod.string()),
175
+ multiple: zod.optional(zod.boolean())
176
+ }));
177
+ const zOptionsFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
178
+ type: zod.enum(["options"]),
179
+ options: zod.optional(zod.array(zod.object({
180
+ _uid: zod.optional(zod.string()),
181
+ name: zod.optional(zod.string()),
182
+ value: zod.optional(zod.string())
183
+ }))),
184
+ source: zod.optional(zod.string()),
185
+ datasource_slug: zod.optional(zod.string()),
186
+ external_datasource: zod.optional(zod.string()),
187
+ folder_slug: zod.optional(zod.string()),
188
+ filter_content_type: zod.optional(zod.array(zod.string())),
189
+ use_uuid: zod.optional(zod.boolean()),
190
+ is_reference_type: zod.optional(zod.boolean()),
191
+ entry_appearance: zod.optional(zod.string()),
192
+ allow_advanced_search: zod.optional(zod.boolean()),
193
+ max_options: zod.optional(zod.string()),
194
+ min_options: zod.optional(zod.string()),
195
+ multiple: zod.optional(zod.boolean())
196
+ }));
197
+ const zRichtextFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
198
+ type: zod.enum(["richtext"]),
199
+ customize_toolbar: zod.optional(zod.boolean()),
200
+ toolbar: zod.optional(zod.array(zod.enum([
201
+ "ai-complete",
202
+ "ai-shorten",
203
+ "ai-extend",
204
+ "ai-rephrase",
205
+ "ai-summarize",
206
+ "ai-simplify",
207
+ "ai-tone",
208
+ "ai-emoji",
209
+ "ai-translate",
210
+ "ai-tldr",
211
+ "ai-spelling",
212
+ "blok",
213
+ "ltr",
214
+ "rtl",
215
+ "export",
216
+ "import",
217
+ "bold",
218
+ "list",
219
+ "inlinecode",
220
+ "code",
221
+ "color",
222
+ "copy",
223
+ "cut",
224
+ "emoji",
225
+ "h1",
226
+ "h2",
227
+ "h3",
228
+ "h4",
229
+ "h5",
230
+ "h6",
231
+ "highlight",
232
+ "unset",
233
+ "hrule",
234
+ "image",
235
+ "italic",
236
+ "link",
237
+ "anchor",
238
+ "olist",
239
+ "paragraph",
240
+ "paste-action",
241
+ "paste",
242
+ "quote",
243
+ "redo",
244
+ "strike",
245
+ "subscript",
246
+ "superscript",
247
+ "underline",
248
+ "undo",
249
+ "align-left",
250
+ "align-center",
251
+ "align-right",
252
+ "align-justify"
253
+ ]))),
254
+ style_options: zod.optional(zod.array(zod.object({
255
+ _uid: zod.optional(zod.string()),
256
+ name: zod.optional(zod.string()),
257
+ value: zod.optional(zod.string())
258
+ }))),
259
+ restrict_type: zod.optional(zod.string()),
260
+ restrict_components: zod.optional(zod.boolean()),
261
+ component_whitelist: zod.optional(zod.array(zod.string())),
262
+ component_denylist: zod.optional(zod.array(zod.string())),
263
+ component_tag_whitelist: zod.optional(zod.array(zod.int())),
264
+ component_tag_denylist: zod.optional(zod.array(zod.int())),
265
+ component_group_whitelist: zod.optional(zod.array(zod.string())),
266
+ component_group_denylist: zod.optional(zod.array(zod.string())),
267
+ allow_target_blank: zod.optional(zod.boolean()),
268
+ allow_custom_attributes: zod.optional(zod.boolean())
269
+ }));
270
+ const zTableFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({ type: zod.enum(["table"]) }));
271
+ const zTextFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
272
+ type: zod.enum(["text"]),
273
+ max_length: zod.optional(zod.int()),
274
+ maxlength: zod.optional(zod.int()),
275
+ minlength: zod.optional(zod.int()),
276
+ size: zod.optional(zod.string()),
277
+ rtl: zod.optional(zod.boolean())
278
+ }));
279
+ const zTextareaFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(zod.object({
280
+ type: zod.enum(["textarea"]),
281
+ max_length: zod.optional(zod.int()),
282
+ maxlength: zod.optional(zod.int()),
283
+ minlength: zod.optional(zod.int()),
284
+ size: zod.optional(zod.string()),
285
+ rtl: zod.optional(zod.boolean()),
286
+ rich_text: zod.optional(zod.boolean()),
287
+ markdown: zod.optional(zod.boolean())
288
+ }));
289
+ /**
290
+ * A component schema field. Discriminated by the literal `type` enum on each variant.
291
+ */
292
+ const zComponentSchemaField = zod.union([
293
+ zTextFieldRoot,
294
+ zTextareaFieldRoot,
295
+ zRichtextFieldRoot,
296
+ zMarkdownFieldRoot,
297
+ zNumberFieldRoot,
298
+ zDatetimeFieldRoot,
299
+ zBooleanFieldRoot,
300
+ zOptionFieldRoot,
301
+ zOptionsFieldRoot,
302
+ zAssetFieldRoot,
303
+ zMultiassetFieldRoot,
304
+ zMultilinkFieldRoot,
305
+ zBloksFieldRoot,
306
+ zTableFieldRoot,
307
+ zSectionFieldRoot,
308
+ zTabFieldRoot,
309
+ zCustomFieldRoot
310
+ ]);
311
+ /**
312
+ * Asset field type - single asset (image, video, audio, or document)
313
+ */
314
+ const zAssetFieldValueRoot = zod.object({
315
+ fieldtype: zod.enum(["asset"]),
316
+ id: zod.union([zod.int(), zod.null()]),
317
+ alt: zod.union([zod.string(), zod.null()]),
318
+ name: zod.optional(zod.string()),
319
+ focus: zod.optional(zod.union([zod.string(), zod.null()])),
320
+ title: zod.optional(zod.union([zod.string(), zod.null()])),
321
+ source: zod.optional(zod.union([zod.string(), zod.null()])),
322
+ filename: zod.string(),
323
+ copyright: zod.optional(zod.union([zod.string(), zod.null()])),
324
+ meta_data: zod.optional(zod.record(zod.string(), zod.unknown())),
325
+ is_external_url: zod.optional(zod.boolean())
326
+ });
327
+ const zAssetFieldValue = zAssetFieldValueRoot;
328
+ /**
329
+ * Multilink field type - link to internal stories, external URLs, emails, etc.
330
+ */
331
+ const zMultilinkFieldValueRoot = zod.object({
332
+ fieldtype: zod.enum(["multilink"]),
333
+ id: zod.string(),
334
+ url: zod.string(),
335
+ linktype: zod.enum([
336
+ "story",
337
+ "url",
338
+ "email",
339
+ "asset"
340
+ ]),
341
+ cached_url: zod.string(),
342
+ anchor: zod.optional(zod.union([zod.string(), zod.null()])),
343
+ target: zod.optional(zod.union([
344
+ zod.literal("_self"),
345
+ zod.literal("_blank"),
346
+ zod.null()
347
+ ]))
348
+ });
349
+ const zMultilinkFieldValue = zMultilinkFieldValueRoot;
350
+ /**
351
+ * Plugin/Custom field type - field plugin with custom structure
352
+ */
353
+ const zPluginFieldValueRoot = zod.object({
354
+ plugin: zod.string(),
355
+ _uid: zod.optional(zod.uuid())
356
+ });
357
+ /**
358
+ * Richtext field type - structured rich text document (ProseMirror format)
359
+ */
360
+ const zRichtextFieldValueRoot = zod.object({
361
+ type: zod.enum(["doc"]),
362
+ content: zod.optional(zod.array(zod.record(zod.string(), zod.unknown())))
363
+ });
364
+ const zRichtextFieldValue = zRichtextFieldValueRoot;
365
+ /**
366
+ * Table field type - structured table data
367
+ */
368
+ const zTableFieldValueRoot = zod.object({
369
+ thead: zod.array(zod.object({
370
+ _uid: zod.string(),
371
+ component: zod.enum(["_table_head"]),
372
+ value: zod.optional(zod.string())
373
+ })),
374
+ tbody: zod.array(zod.object({
375
+ _uid: zod.string(),
376
+ component: zod.enum(["_table_row"]),
377
+ body: zod.optional(zod.array(zod.object({
378
+ _uid: zod.string(),
379
+ component: zod.enum(["_table_col"]),
380
+ value: zod.optional(zod.string())
381
+ })))
382
+ }))
383
+ });
384
+ const zTableFieldValue = zTableFieldValueRoot;
385
+ /**
386
+ * Content object for creating or updating a component instance. Contains a component technical name and dynamic fields whose values depend on the component's schema field types. The _uid is optional — Storyblok will auto-generate one if not provided.
387
+ */
388
+ const zBlockContentInputRoot = zod.object({
389
+ _uid: zod.optional(zod.string()),
390
+ component: zod.string(),
391
+ _editable: zod.optional(zod.string())
392
+ });
393
+ /**
394
+ * Content object representing a component instance. Contains a _uid, a component technical name, and dynamic fields whose values depend on the component's schema field types (text, textarea, richtext, markdown, number, datetime, boolean, option, options, asset, multiasset, multilink, bloks, table, section, custom/plugin).
395
+ */
396
+ const zBlockContentRoot = zod.object({
397
+ _uid: zod.string(),
398
+ component: zod.string(),
399
+ _editable: zod.optional(zod.string())
400
+ });
401
+
402
+ //#endregion
403
+ exports.zAssetFieldValue = zAssetFieldValue;
404
+ exports.zMultilinkFieldValue = zMultilinkFieldValue;
405
+ exports.zRichtextFieldValue = zRichtextFieldValue;
406
+ exports.zTableFieldValue = zTableFieldValue;
407
+ //# sourceMappingURL=zod.gen.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.gen.cjs","names":["z"],"sources":["../../../src/generated/overlay/zod.gen.ts"],"sourcesContent":["// Generated by @storyblok/openapi-codegen. Do not edit by hand.\n// Internal Zod v4 schemas — imported only by runtime validators, never by public types.\n\n// This file is auto-generated by @hey-api/openapi-ts\n\nimport * as z from 'zod';\n\n/**\n * Universal identity and display properties shared by every field type\n */\nexport const zBaseFieldRoot = z.object({\n type: z.optional(z.string()),\n id: z.optional(z.string()),\n display_name: z.optional(z.string()),\n description: z.optional(z.string()),\n tooltip: z.optional(z.boolean()),\n pos: z.optional(z.int()),\n conditional_settings: z.optional(z.array(z.record(z.string(), z.unknown())))\n});\n\nexport const zSectionFieldRoot = zBaseFieldRoot.and(z.object({\n type: z.enum(['section']),\n keys: z.optional(z.array(z.string())),\n fieldset: z.optional(z.object({\n title: z.optional(z.string()),\n description: z.optional(z.string()),\n collapsible: z.optional(z.boolean()),\n collapsed: z.optional(z.boolean())\n }))\n}));\n\nexport const zTabFieldRoot = zBaseFieldRoot.and(z.object({\n type: z.enum(['tab']),\n keys: z.optional(z.array(z.string()))\n}));\n\n/**\n * Properties shared by content-bearing fields (i.e. fields that hold a value).\n * Layout-only field types like `section` and `tab` do not include these.\n *\n */\nexport const zValueFieldRoot = z.object({\n required: z.optional(z.boolean()),\n regex: z.optional(z.string()),\n default_value: z.optional(z.string()),\n translatable: z.optional(z.boolean()),\n no_translate: z.optional(z.boolean()),\n exclude_from_ai_translation: z.optional(z.boolean()),\n exclude_from_merge: z.optional(z.boolean()),\n exclude_from_overwrite: z.optional(z.boolean()),\n force_merge: z.optional(z.boolean())\n});\n\nexport const zAssetFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['asset']),\n filetypes: z.optional(z.array(z.string())),\n asset_folder_id: z.optional(z.int()),\n allow_external_url: z.optional(z.boolean()),\n height: z.optional(z.int()),\n width: z.optional(z.int()),\n restrict_assets: z.optional(z.boolean()),\n asset_whitelist: z.optional(z.array(z.string()))\n}));\n\nexport const zBloksFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['bloks']),\n restrict_type: z.optional(z.string()),\n restrict_components: z.optional(z.boolean()),\n component_whitelist: z.optional(z.array(z.string())),\n component_denylist: z.optional(z.array(z.string())),\n component_tag_whitelist: z.optional(z.array(z.int())),\n component_tag_denylist: z.optional(z.array(z.int())),\n component_group_whitelist: z.optional(z.array(z.string())),\n component_group_denylist: z.optional(z.array(z.string())),\n minimum: z.optional(z.int()),\n maximum: z.optional(z.int()),\n maximum_entries: z.optional(z.int()),\n minimum_entries: z.optional(z.int())\n}));\n\nexport const zBooleanFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['boolean']),\n inline_label: z.optional(z.boolean())\n}));\n\nexport const zCustomFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['custom']),\n field_type: z.optional(z.string()),\n options: z.optional(z.array(z.object({\n name: z.optional(z.string()),\n value: z.optional(z.string())\n }))),\n required_fields: z.optional(z.string()),\n source: z.optional(z.enum(['self', 'internal'])),\n datasource_slug: z.optional(z.string()),\n external_datasource: z.optional(z.string())\n}));\n\nexport const zDatetimeFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['datetime']),\n disable_time: z.optional(z.boolean())\n}));\n\nexport const zMarkdownFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['markdown']),\n rich_markdown: z.optional(z.boolean()),\n rtl: z.optional(z.boolean()),\n customize_toolbar: z.optional(z.boolean()),\n toolbar: z.optional(z.array(z.enum([\n 'bold',\n 'italic',\n 'inlinecode',\n 'code',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'list',\n 'olist',\n 'quote',\n 'hrule',\n 'link',\n 'image',\n 'paragraph',\n 'help',\n 'toggle-richtext',\n 'auto',\n 'ltr',\n 'rtl'\n ]))),\n allow_multiline: z.optional(z.boolean()),\n max_length: z.optional(z.int())\n}));\n\nexport const zMultiassetFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['multiasset']),\n filetypes: z.optional(z.array(z.string())),\n asset_folder_id: z.optional(z.int()),\n allow_external_url: z.optional(z.boolean()),\n height: z.optional(z.int()),\n width: z.optional(z.int()),\n restrict_assets: z.optional(z.boolean()),\n asset_whitelist: z.optional(z.array(z.string())),\n maximum_entries: z.optional(z.int()),\n minimum_entries: z.optional(z.int())\n}));\n\nexport const zMultilinkFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['multilink']),\n restrict_content_types: z.optional(z.boolean()),\n component_whitelist: z.optional(z.array(z.string())),\n allow_target_blank: z.optional(z.boolean()),\n allow_custom_attributes: z.optional(z.boolean()),\n force_link_scope: z.optional(z.boolean()),\n link_scope: z.optional(z.string()),\n show_anchor: z.optional(z.boolean()),\n email_link_type: z.optional(z.boolean()),\n asset_link_type: z.optional(z.boolean())\n}));\n\nexport const zNumberFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['number']),\n min_value: z.optional(z.number()),\n max_value: z.optional(z.number()),\n decimals: z.optional(z.int()),\n steps: z.optional(z.number())\n}));\n\nexport const zOptionFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['option']),\n options: z.optional(z.array(z.object({\n _uid: z.optional(z.string()),\n name: z.optional(z.string()),\n value: z.optional(z.string())\n }))),\n source: z.optional(z.string()),\n datasource_slug: z.optional(z.string()),\n external_datasource: z.optional(z.string()),\n folder_slug: z.optional(z.string()),\n filter_content_type: z.optional(z.array(z.string())),\n exclude_empty_option: z.optional(z.boolean()),\n include_empty_option: z.optional(z.boolean()),\n use_uuid: z.optional(z.boolean()),\n entry_appearance: z.optional(z.string()),\n allow_advanced_search: z.optional(z.boolean()),\n max_options: z.optional(z.string()),\n min_options: z.optional(z.string()),\n multiple: z.optional(z.boolean())\n}));\n\nexport const zOptionsFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['options']),\n options: z.optional(z.array(z.object({\n _uid: z.optional(z.string()),\n name: z.optional(z.string()),\n value: z.optional(z.string())\n }))),\n source: z.optional(z.string()),\n datasource_slug: z.optional(z.string()),\n external_datasource: z.optional(z.string()),\n folder_slug: z.optional(z.string()),\n filter_content_type: z.optional(z.array(z.string())),\n use_uuid: z.optional(z.boolean()),\n is_reference_type: z.optional(z.boolean()),\n entry_appearance: z.optional(z.string()),\n allow_advanced_search: z.optional(z.boolean()),\n max_options: z.optional(z.string()),\n min_options: z.optional(z.string()),\n multiple: z.optional(z.boolean())\n}));\n\nexport const zRichtextFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['richtext']),\n customize_toolbar: z.optional(z.boolean()),\n toolbar: z.optional(z.array(z.enum([\n 'ai-complete',\n 'ai-shorten',\n 'ai-extend',\n 'ai-rephrase',\n 'ai-summarize',\n 'ai-simplify',\n 'ai-tone',\n 'ai-emoji',\n 'ai-translate',\n 'ai-tldr',\n 'ai-spelling',\n 'blok',\n 'ltr',\n 'rtl',\n 'export',\n 'import',\n 'bold',\n 'list',\n 'inlinecode',\n 'code',\n 'color',\n 'copy',\n 'cut',\n 'emoji',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'highlight',\n 'unset',\n 'hrule',\n 'image',\n 'italic',\n 'link',\n 'anchor',\n 'olist',\n 'paragraph',\n 'paste-action',\n 'paste',\n 'quote',\n 'redo',\n 'strike',\n 'subscript',\n 'superscript',\n 'underline',\n 'undo',\n 'align-left',\n 'align-center',\n 'align-right',\n 'align-justify'\n ]))),\n style_options: z.optional(z.array(z.object({\n _uid: z.optional(z.string()),\n name: z.optional(z.string()),\n value: z.optional(z.string())\n }))),\n restrict_type: z.optional(z.string()),\n restrict_components: z.optional(z.boolean()),\n component_whitelist: z.optional(z.array(z.string())),\n component_denylist: z.optional(z.array(z.string())),\n component_tag_whitelist: z.optional(z.array(z.int())),\n component_tag_denylist: z.optional(z.array(z.int())),\n component_group_whitelist: z.optional(z.array(z.string())),\n component_group_denylist: z.optional(z.array(z.string())),\n allow_target_blank: z.optional(z.boolean()),\n allow_custom_attributes: z.optional(z.boolean())\n}));\n\nexport const zTableFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['table'])\n}));\n\nexport const zTextFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['text']),\n max_length: z.optional(z.int()),\n maxlength: z.optional(z.int()),\n minlength: z.optional(z.int()),\n size: z.optional(z.string()),\n rtl: z.optional(z.boolean())\n}));\n\nexport const zTextareaFieldRoot = zBaseFieldRoot.and(zValueFieldRoot).and(z.object({\n type: z.enum(['textarea']),\n max_length: z.optional(z.int()),\n maxlength: z.optional(z.int()),\n minlength: z.optional(z.int()),\n size: z.optional(z.string()),\n rtl: z.optional(z.boolean()),\n rich_text: z.optional(z.boolean()),\n markdown: z.optional(z.boolean())\n}));\n\n/**\n * A component schema field. Discriminated by the literal `type` enum on each variant.\n */\nexport const zComponentSchemaField = z.union([\n zTextFieldRoot,\n zTextareaFieldRoot,\n zRichtextFieldRoot,\n zMarkdownFieldRoot,\n zNumberFieldRoot,\n zDatetimeFieldRoot,\n zBooleanFieldRoot,\n zOptionFieldRoot,\n zOptionsFieldRoot,\n zAssetFieldRoot,\n zMultiassetFieldRoot,\n zMultilinkFieldRoot,\n zBloksFieldRoot,\n zTableFieldRoot,\n zSectionFieldRoot,\n zTabFieldRoot,\n zCustomFieldRoot\n]);\n\n/**\n * Asset field type - single asset (image, video, audio, or document)\n */\nexport const zAssetFieldValueRoot = z.object({\n fieldtype: z.enum(['asset']),\n id: z.union([\n z.int(),\n z.null()\n ]),\n alt: z.union([\n z.string(),\n z.null()\n ]),\n name: z.optional(z.string()),\n focus: z.optional(z.union([\n z.string(),\n z.null()\n ])),\n title: z.optional(z.union([\n z.string(),\n z.null()\n ])),\n source: z.optional(z.union([\n z.string(),\n z.null()\n ])),\n filename: z.string(),\n copyright: z.optional(z.union([\n z.string(),\n z.null()\n ])),\n meta_data: z.optional(z.record(z.string(), z.unknown())),\n is_external_url: z.optional(z.boolean())\n});\n\nexport const zAssetFieldValue = zAssetFieldValueRoot;\n\n/**\n * Multilink field type - link to internal stories, external URLs, emails, etc.\n */\nexport const zMultilinkFieldValueRoot = z.object({\n fieldtype: z.enum(['multilink']),\n id: z.string(),\n url: z.string(),\n linktype: z.enum([\n 'story',\n 'url',\n 'email',\n 'asset'\n ]),\n cached_url: z.string(),\n anchor: z.optional(z.union([\n z.string(),\n z.null()\n ])),\n target: z.optional(z.union([\n z.literal('_self'),\n z.literal('_blank'),\n z.null()\n ]))\n});\n\nexport const zMultilinkFieldValue = zMultilinkFieldValueRoot;\n\n/**\n * Plugin/Custom field type - field plugin with custom structure\n */\nexport const zPluginFieldValueRoot = z.object({\n plugin: z.string(),\n _uid: z.optional(z.uuid())\n});\n\nexport const zPluginFieldValue = zPluginFieldValueRoot;\n\n/**\n * Richtext field type - structured rich text document (ProseMirror format)\n */\nexport const zRichtextFieldValueRoot = z.object({\n type: z.enum(['doc']),\n content: z.optional(z.array(z.record(z.string(), z.unknown())))\n});\n\nexport const zRichtextFieldValue = zRichtextFieldValueRoot;\n\n/**\n * Table field type - structured table data\n */\nexport const zTableFieldValueRoot = z.object({\n thead: z.array(z.object({\n _uid: z.string(),\n component: z.enum(['_table_head']),\n value: z.optional(z.string())\n })),\n tbody: z.array(z.object({\n _uid: z.string(),\n component: z.enum(['_table_row']),\n body: z.optional(z.array(z.object({\n _uid: z.string(),\n component: z.enum(['_table_col']),\n value: z.optional(z.string())\n })))\n }))\n});\n\nexport const zTableFieldValue = zTableFieldValueRoot;\n\n/**\n * Content object for creating or updating a component instance. Contains a component technical name and dynamic fields whose values depend on the component's schema field types. The _uid is optional — Storyblok will auto-generate one if not provided.\n */\nexport const zBlockContentInputRoot = z.object({\n _uid: z.optional(z.string()),\n component: z.string(),\n _editable: z.optional(z.string())\n});\n\nexport const zBlockContentInput = zBlockContentInputRoot;\n\n/**\n * Content object representing a component instance. Contains a _uid, a component technical name, and dynamic fields whose values depend on the component's schema field types (text, textarea, richtext, markdown, number, datetime, boolean, option, options, asset, multiasset, multilink, bloks, table, section, custom/plugin).\n */\nexport const zBlockContentRoot = z.object({\n _uid: z.string(),\n component: z.string(),\n _editable: z.optional(z.string())\n});\n\nexport const zBlockContent = zBlockContentRoot;\n"],"mappings":";;;;;;;;AAUA,MAAa,iBAAiBA,IAAE,OAAO;CACnC,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC5B,IAAIA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC1B,cAAcA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACpC,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,SAASA,IAAE,SAASA,IAAE,SAAS,CAAC;CAChC,KAAKA,IAAE,SAASA,IAAE,KAAK,CAAC;CACxB,sBAAsBA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAOA,IAAE,QAAQ,EAAEA,IAAE,SAAS,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF,MAAa,oBAAoB,eAAe,IAAIA,IAAE,OAAO;CACzD,MAAMA,IAAE,KAAK,CAAC,UAAU,CAAC;CACzB,MAAMA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACrC,UAAUA,IAAE,SAASA,IAAE,OAAO;EAC1B,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC7B,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;EACnC,aAAaA,IAAE,SAASA,IAAE,SAAS,CAAC;EACpC,WAAWA,IAAE,SAASA,IAAE,SAAS,CAAC;EACrC,CAAC,CAAC;CACN,CAAC,CAAC;AAEH,MAAa,gBAAgB,eAAe,IAAIA,IAAE,OAAO;CACrD,MAAMA,IAAE,KAAK,CAAC,MAAM,CAAC;CACrB,MAAMA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACxC,CAAC,CAAC;;;;;;AAOH,MAAa,kBAAkBA,IAAE,OAAO;CACpC,UAAUA,IAAE,SAASA,IAAE,SAAS,CAAC;CACjC,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC7B,eAAeA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACrC,cAAcA,IAAE,SAASA,IAAE,SAAS,CAAC;CACrC,cAAcA,IAAE,SAASA,IAAE,SAAS,CAAC;CACrC,6BAA6BA,IAAE,SAASA,IAAE,SAAS,CAAC;CACpD,oBAAoBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,wBAAwBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC/C,aAAaA,IAAE,SAASA,IAAE,SAAS,CAAC;CACvC,CAAC;AAEF,MAAa,kBAAkB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC5E,MAAMA,IAAE,KAAK,CAAC,QAAQ,CAAC;CACvB,WAAWA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CAC1C,iBAAiBA,IAAE,SAASA,IAAE,KAAK,CAAC;CACpC,oBAAoBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,QAAQA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC3B,OAAOA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC1B,iBAAiBA,IAAE,SAASA,IAAE,SAAS,CAAC;CACxC,iBAAiBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACnD,CAAC,CAAC;AAEH,MAAa,kBAAkB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC5E,MAAMA,IAAE,KAAK,CAAC,QAAQ,CAAC;CACvB,eAAeA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACrC,qBAAqBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC5C,qBAAqBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACpD,oBAAoBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACnD,yBAAyBA,IAAE,SAASA,IAAE,MAAMA,IAAE,KAAK,CAAC,CAAC;CACrD,wBAAwBA,IAAE,SAASA,IAAE,MAAMA,IAAE,KAAK,CAAC,CAAC;CACpD,2BAA2BA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CAC1D,0BAA0BA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACzD,SAASA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC5B,SAASA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC5B,iBAAiBA,IAAE,SAASA,IAAE,KAAK,CAAC;CACpC,iBAAiBA,IAAE,SAASA,IAAE,KAAK,CAAC;CACvC,CAAC,CAAC;AAEH,MAAa,oBAAoB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC9E,MAAMA,IAAE,KAAK,CAAC,UAAU,CAAC;CACzB,cAAcA,IAAE,SAASA,IAAE,SAAS,CAAC;CACxC,CAAC,CAAC;AAEH,MAAa,mBAAmB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC7E,MAAMA,IAAE,KAAK,CAAC,SAAS,CAAC;CACxB,YAAYA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAClC,SAASA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAO;EACjC,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAChC,CAAC,CAAC,CAAC;CACJ,iBAAiBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACvC,QAAQA,IAAE,SAASA,IAAE,KAAK,CAAC,QAAQ,WAAW,CAAC,CAAC;CAChD,iBAAiBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACvC,qBAAqBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAa,qBAAqB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC/E,MAAMA,IAAE,KAAK,CAAC,WAAW,CAAC;CAC1B,cAAcA,IAAE,SAASA,IAAE,SAAS,CAAC;CACxC,CAAC,CAAC;AAEH,MAAa,qBAAqB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC/E,MAAMA,IAAE,KAAK,CAAC,WAAW,CAAC;CAC1B,eAAeA,IAAE,SAASA,IAAE,SAAS,CAAC;CACtC,KAAKA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC5B,mBAAmBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC1C,SAASA,IAAE,SAASA,IAAE,MAAMA,IAAE,KAAK;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACH,CAAC,CAAC,CAAC;CACJ,iBAAiBA,IAAE,SAASA,IAAE,SAAS,CAAC;CACxC,YAAYA,IAAE,SAASA,IAAE,KAAK,CAAC;CAClC,CAAC,CAAC;AAEH,MAAa,uBAAuB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CACjF,MAAMA,IAAE,KAAK,CAAC,aAAa,CAAC;CAC5B,WAAWA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CAC1C,iBAAiBA,IAAE,SAASA,IAAE,KAAK,CAAC;CACpC,oBAAoBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,QAAQA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC3B,OAAOA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC1B,iBAAiBA,IAAE,SAASA,IAAE,SAAS,CAAC;CACxC,iBAAiBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CAChD,iBAAiBA,IAAE,SAASA,IAAE,KAAK,CAAC;CACpC,iBAAiBA,IAAE,SAASA,IAAE,KAAK,CAAC;CACvC,CAAC,CAAC;AAEH,MAAa,sBAAsB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAChF,MAAMA,IAAE,KAAK,CAAC,YAAY,CAAC;CAC3B,wBAAwBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC/C,qBAAqBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACpD,oBAAoBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,yBAAyBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAChD,kBAAkBA,IAAE,SAASA,IAAE,SAAS,CAAC;CACzC,YAAYA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAClC,aAAaA,IAAE,SAASA,IAAE,SAAS,CAAC;CACpC,iBAAiBA,IAAE,SAASA,IAAE,SAAS,CAAC;CACxC,iBAAiBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAa,mBAAmB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC7E,MAAMA,IAAE,KAAK,CAAC,SAAS,CAAC;CACxB,WAAWA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACjC,WAAWA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACjC,UAAUA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC7B,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAChC,CAAC,CAAC;AAEH,MAAa,mBAAmB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC7E,MAAMA,IAAE,KAAK,CAAC,SAAS,CAAC;CACxB,SAASA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAO;EACjC,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAChC,CAAC,CAAC,CAAC;CACJ,QAAQA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC9B,iBAAiBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACvC,qBAAqBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC3C,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,qBAAqBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACpD,sBAAsBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC7C,sBAAsBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC7C,UAAUA,IAAE,SAASA,IAAE,SAAS,CAAC;CACjC,kBAAkBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACxC,uBAAuBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC9C,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,UAAUA,IAAE,SAASA,IAAE,SAAS,CAAC;CACpC,CAAC,CAAC;AAEH,MAAa,oBAAoB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC9E,MAAMA,IAAE,KAAK,CAAC,UAAU,CAAC;CACzB,SAASA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAO;EACjC,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAChC,CAAC,CAAC,CAAC;CACJ,QAAQA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC9B,iBAAiBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACvC,qBAAqBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC3C,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,qBAAqBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACpD,UAAUA,IAAE,SAASA,IAAE,SAAS,CAAC;CACjC,mBAAmBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC1C,kBAAkBA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACxC,uBAAuBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC9C,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,aAAaA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACnC,UAAUA,IAAE,SAASA,IAAE,SAAS,CAAC;CACpC,CAAC,CAAC;AAEH,MAAa,qBAAqB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC/E,MAAMA,IAAE,KAAK,CAAC,WAAW,CAAC;CAC1B,mBAAmBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC1C,SAASA,IAAE,SAASA,IAAE,MAAMA,IAAE,KAAK;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACH,CAAC,CAAC,CAAC;CACJ,eAAeA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAO;EACvC,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAC5B,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAChC,CAAC,CAAC,CAAC;CACJ,eAAeA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACrC,qBAAqBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC5C,qBAAqBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACpD,oBAAoBA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACnD,yBAAyBA,IAAE,SAASA,IAAE,MAAMA,IAAE,KAAK,CAAC,CAAC;CACrD,wBAAwBA,IAAE,SAASA,IAAE,MAAMA,IAAE,KAAK,CAAC,CAAC;CACpD,2BAA2BA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CAC1D,0BAA0BA,IAAE,SAASA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACzD,oBAAoBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,yBAAyBA,IAAE,SAASA,IAAE,SAAS,CAAC;CACnD,CAAC,CAAC;AAEH,MAAa,kBAAkB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO,EAC5E,MAAMA,IAAE,KAAK,CAAC,QAAQ,CAAC,EAC1B,CAAC,CAAC;AAEH,MAAa,iBAAiB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC3E,MAAMA,IAAE,KAAK,CAAC,OAAO,CAAC;CACtB,YAAYA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC/B,WAAWA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC9B,WAAWA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC9B,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC5B,KAAKA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAa,qBAAqB,eAAe,IAAI,gBAAgB,CAAC,IAAIA,IAAE,OAAO;CAC/E,MAAMA,IAAE,KAAK,CAAC,WAAW,CAAC;CAC1B,YAAYA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC/B,WAAWA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC9B,WAAWA,IAAE,SAASA,IAAE,KAAK,CAAC;CAC9B,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC5B,KAAKA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC5B,WAAWA,IAAE,SAASA,IAAE,SAAS,CAAC;CAClC,UAAUA,IAAE,SAASA,IAAE,SAAS,CAAC;CACpC,CAAC,CAAC;;;;AAKH,MAAa,wBAAwBA,IAAE,MAAM;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACH,CAAC;;;;AAKF,MAAa,uBAAuBA,IAAE,OAAO;CACzC,WAAWA,IAAE,KAAK,CAAC,QAAQ,CAAC;CAC5B,IAAIA,IAAE,MAAM,CACRA,IAAE,KAAK,EACPA,IAAE,MAAM,CACX,CAAC;CACF,KAAKA,IAAE,MAAM,CACTA,IAAE,QAAQ,EACVA,IAAE,MAAM,CACX,CAAC;CACF,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC5B,OAAOA,IAAE,SAASA,IAAE,MAAM,CACtBA,IAAE,QAAQ,EACVA,IAAE,MAAM,CACX,CAAC,CAAC;CACH,OAAOA,IAAE,SAASA,IAAE,MAAM,CACtBA,IAAE,QAAQ,EACVA,IAAE,MAAM,CACX,CAAC,CAAC;CACH,QAAQA,IAAE,SAASA,IAAE,MAAM,CACvBA,IAAE,QAAQ,EACVA,IAAE,MAAM,CACX,CAAC,CAAC;CACH,UAAUA,IAAE,QAAQ;CACpB,WAAWA,IAAE,SAASA,IAAE,MAAM,CAC1BA,IAAE,QAAQ,EACVA,IAAE,MAAM,CACX,CAAC,CAAC;CACH,WAAWA,IAAE,SAASA,IAAE,OAAOA,IAAE,QAAQ,EAAEA,IAAE,SAAS,CAAC,CAAC;CACxD,iBAAiBA,IAAE,SAASA,IAAE,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAa,mBAAmB;;;;AAKhC,MAAa,2BAA2BA,IAAE,OAAO;CAC7C,WAAWA,IAAE,KAAK,CAAC,YAAY,CAAC;CAChC,IAAIA,IAAE,QAAQ;CACd,KAAKA,IAAE,QAAQ;CACf,UAAUA,IAAE,KAAK;EACb;EACA;EACA;EACA;EACH,CAAC;CACF,YAAYA,IAAE,QAAQ;CACtB,QAAQA,IAAE,SAASA,IAAE,MAAM,CACvBA,IAAE,QAAQ,EACVA,IAAE,MAAM,CACX,CAAC,CAAC;CACH,QAAQA,IAAE,SAASA,IAAE,MAAM;EACvBA,IAAE,QAAQ,QAAQ;EAClBA,IAAE,QAAQ,SAAS;EACnBA,IAAE,MAAM;EACX,CAAC,CAAC;CACN,CAAC;AAEF,MAAa,uBAAuB;;;;AAKpC,MAAa,wBAAwBA,IAAE,OAAO;CAC1C,QAAQA,IAAE,QAAQ;CAClB,MAAMA,IAAE,SAASA,IAAE,MAAM,CAAC;CAC7B,CAAC;;;;AAOF,MAAa,0BAA0BA,IAAE,OAAO;CAC5C,MAAMA,IAAE,KAAK,CAAC,MAAM,CAAC;CACrB,SAASA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAOA,IAAE,QAAQ,EAAEA,IAAE,SAAS,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAa,sBAAsB;;;;AAKnC,MAAa,uBAAuBA,IAAE,OAAO;CACzC,OAAOA,IAAE,MAAMA,IAAE,OAAO;EACpB,MAAMA,IAAE,QAAQ;EAChB,WAAWA,IAAE,KAAK,CAAC,cAAc,CAAC;EAClC,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;EAChC,CAAC,CAAC;CACH,OAAOA,IAAE,MAAMA,IAAE,OAAO;EACpB,MAAMA,IAAE,QAAQ;EAChB,WAAWA,IAAE,KAAK,CAAC,aAAa,CAAC;EACjC,MAAMA,IAAE,SAASA,IAAE,MAAMA,IAAE,OAAO;GAC9B,MAAMA,IAAE,QAAQ;GAChB,WAAWA,IAAE,KAAK,CAAC,aAAa,CAAC;GACjC,OAAOA,IAAE,SAASA,IAAE,QAAQ,CAAC;GAChC,CAAC,CAAC,CAAC;EACP,CAAC,CAAC;CACN,CAAC;AAEF,MAAa,mBAAmB;;;;AAKhC,MAAa,yBAAyBA,IAAE,OAAO;CAC3C,MAAMA,IAAE,SAASA,IAAE,QAAQ,CAAC;CAC5B,WAAWA,IAAE,QAAQ;CACrB,WAAWA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACpC,CAAC;;;;AAOF,MAAa,oBAAoBA,IAAE,OAAO;CACtC,MAAMA,IAAE,QAAQ;CAChB,WAAWA,IAAE,QAAQ;CACrB,WAAWA,IAAE,SAASA,IAAE,QAAQ,CAAC;CACpC,CAAC"}