@storyblok/schema 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +74 -0
  3. package/dist/generated/capi/_internal.gen.d.cts +120 -0
  4. package/dist/generated/capi/_internal.gen.d.mts +120 -0
  5. package/dist/generated/capi/types.gen.d.cts +181 -0
  6. package/dist/generated/capi/types.gen.d.mts +181 -0
  7. package/dist/generated/mapi/_internal.gen.d.cts +683 -0
  8. package/dist/generated/mapi/_internal.gen.d.mts +683 -0
  9. package/dist/generated/mapi/types.gen.d.cts +1272 -0
  10. package/dist/generated/mapi/types.gen.d.mts +1272 -0
  11. package/dist/generated/overlay/_internal.gen.d.cts +850 -0
  12. package/dist/generated/overlay/_internal.gen.d.mts +850 -0
  13. package/dist/generated/types/_utils.d.cts +7 -0
  14. package/dist/generated/types/_utils.d.mts +7 -0
  15. package/dist/generated/types/block.d.cts +46 -0
  16. package/dist/generated/types/block.d.mts +46 -0
  17. package/dist/generated/types/field.d.cts +74 -0
  18. package/dist/generated/types/field.d.mts +74 -0
  19. package/dist/generated/types/mapi-story.d.cts +29 -0
  20. package/dist/generated/types/mapi-story.d.mts +29 -0
  21. package/dist/generated/types/story.d.cts +19 -0
  22. package/dist/generated/types/story.d.mts +19 -0
  23. package/dist/helpers/create-story-helpers.cjs +42 -0
  24. package/dist/helpers/create-story-helpers.cjs.map +1 -0
  25. package/dist/helpers/create-story-helpers.d.cts +50 -0
  26. package/dist/helpers/create-story-helpers.d.mts +50 -0
  27. package/dist/helpers/create-story-helpers.mjs +42 -0
  28. package/dist/helpers/create-story-helpers.mjs.map +1 -0
  29. package/dist/helpers/define-asset-folder.cjs +46 -0
  30. package/dist/helpers/define-asset-folder.cjs.map +1 -0
  31. package/dist/helpers/define-asset-folder.d.cts +33 -0
  32. package/dist/helpers/define-asset-folder.d.mts +33 -0
  33. package/dist/helpers/define-asset-folder.mjs +43 -0
  34. package/dist/helpers/define-asset-folder.mjs.map +1 -0
  35. package/dist/helpers/define-asset.cjs +60 -0
  36. package/dist/helpers/define-asset.cjs.map +1 -0
  37. package/dist/helpers/define-asset.d.cts +32 -0
  38. package/dist/helpers/define-asset.d.mts +32 -0
  39. package/dist/helpers/define-asset.mjs +57 -0
  40. package/dist/helpers/define-asset.mjs.map +1 -0
  41. package/dist/helpers/define-block-folder.cjs +44 -0
  42. package/dist/helpers/define-block-folder.cjs.map +1 -0
  43. package/dist/helpers/define-block-folder.d.cts +34 -0
  44. package/dist/helpers/define-block-folder.d.mts +34 -0
  45. package/dist/helpers/define-block-folder.mjs +41 -0
  46. package/dist/helpers/define-block-folder.mjs.map +1 -0
  47. package/dist/helpers/define-block.cjs +51 -0
  48. package/dist/helpers/define-block.cjs.map +1 -0
  49. package/dist/helpers/define-block.d.cts +62 -0
  50. package/dist/helpers/define-block.d.mts +62 -0
  51. package/dist/helpers/define-block.mjs +48 -0
  52. package/dist/helpers/define-block.mjs.map +1 -0
  53. package/dist/helpers/define-datasource-entry.cjs +47 -0
  54. package/dist/helpers/define-datasource-entry.cjs.map +1 -0
  55. package/dist/helpers/define-datasource-entry.d.cts +49 -0
  56. package/dist/helpers/define-datasource-entry.d.mts +49 -0
  57. package/dist/helpers/define-datasource-entry.mjs +43 -0
  58. package/dist/helpers/define-datasource-entry.mjs.map +1 -0
  59. package/dist/helpers/define-datasource.cjs +34 -0
  60. package/dist/helpers/define-datasource.cjs.map +1 -0
  61. package/dist/helpers/define-datasource.d.cts +42 -0
  62. package/dist/helpers/define-datasource.d.mts +42 -0
  63. package/dist/helpers/define-datasource.mjs +31 -0
  64. package/dist/helpers/define-datasource.mjs.map +1 -0
  65. package/dist/helpers/define-field.cjs +17 -0
  66. package/dist/helpers/define-field.cjs.map +1 -0
  67. package/dist/helpers/define-field.d.cts +99 -0
  68. package/dist/helpers/define-field.d.mts +99 -0
  69. package/dist/helpers/define-field.mjs +16 -0
  70. package/dist/helpers/define-field.mjs.map +1 -0
  71. package/dist/helpers/define-internal-tag.cjs +41 -0
  72. package/dist/helpers/define-internal-tag.cjs.map +1 -0
  73. package/dist/helpers/define-internal-tag.d.cts +34 -0
  74. package/dist/helpers/define-internal-tag.d.mts +34 -0
  75. package/dist/helpers/define-internal-tag.mjs +38 -0
  76. package/dist/helpers/define-internal-tag.mjs.map +1 -0
  77. package/dist/helpers/define-link.cjs +23 -0
  78. package/dist/helpers/define-link.cjs.map +1 -0
  79. package/dist/helpers/define-link.d.cts +32 -0
  80. package/dist/helpers/define-link.d.mts +32 -0
  81. package/dist/helpers/define-link.mjs +22 -0
  82. package/dist/helpers/define-link.mjs.map +1 -0
  83. package/dist/helpers/define-preset.cjs +44 -0
  84. package/dist/helpers/define-preset.cjs.map +1 -0
  85. package/dist/helpers/define-preset.d.cts +35 -0
  86. package/dist/helpers/define-preset.d.mts +35 -0
  87. package/dist/helpers/define-preset.mjs +41 -0
  88. package/dist/helpers/define-preset.mjs.map +1 -0
  89. package/dist/helpers/define-space.cjs +47 -0
  90. package/dist/helpers/define-space.cjs.map +1 -0
  91. package/dist/helpers/define-space.d.cts +31 -0
  92. package/dist/helpers/define-space.d.mts +31 -0
  93. package/dist/helpers/define-space.mjs +44 -0
  94. package/dist/helpers/define-space.mjs.map +1 -0
  95. package/dist/helpers/define-story.cjs +122 -0
  96. package/dist/helpers/define-story.cjs.map +1 -0
  97. package/dist/helpers/define-story.d.cts +135 -0
  98. package/dist/helpers/define-story.d.mts +135 -0
  99. package/dist/helpers/define-story.mjs +118 -0
  100. package/dist/helpers/define-story.mjs.map +1 -0
  101. package/dist/helpers/define-tag.cjs +13 -0
  102. package/dist/helpers/define-tag.cjs.map +1 -0
  103. package/dist/helpers/define-tag.d.cts +23 -0
  104. package/dist/helpers/define-tag.d.mts +23 -0
  105. package/dist/helpers/define-tag.mjs +12 -0
  106. package/dist/helpers/define-tag.mjs.map +1 -0
  107. package/dist/helpers/define-user.cjs +50 -0
  108. package/dist/helpers/define-user.cjs.map +1 -0
  109. package/dist/helpers/define-user.d.cts +26 -0
  110. package/dist/helpers/define-user.d.mts +26 -0
  111. package/dist/helpers/define-user.mjs +48 -0
  112. package/dist/helpers/define-user.mjs.map +1 -0
  113. package/dist/helpers/schema-type.d.cts +40 -0
  114. package/dist/helpers/schema-type.d.mts +40 -0
  115. package/dist/index.cjs +55 -0
  116. package/dist/index.d.cts +23 -0
  117. package/dist/index.d.mts +23 -0
  118. package/dist/index.mjs +17 -0
  119. package/dist/utils/prettify.d.cts +9 -0
  120. package/dist/utils/prettify.d.mts +9 -0
  121. package/package.json +78 -0
@@ -0,0 +1,850 @@
1
+ //#region src/generated/overlay/_internal.gen.d.ts
2
+ /**
3
+ * A component schema field. Discriminated by the literal `type` enum on each variant.
4
+ */
5
+ type Field = TextFieldRoot | TextareaFieldRoot | RichtextFieldRoot | MarkdownFieldRoot | NumberFieldRoot | DatetimeFieldRoot | BooleanFieldRoot | OptionFieldRoot | OptionsFieldRoot | AssetFieldRoot | MultiassetFieldRoot | MultilinkFieldRoot | BloksFieldRoot | TableFieldRoot | SectionFieldRoot | TabFieldRoot | CustomFieldRoot;
6
+ type AssetFieldValue = AssetFieldValueRoot;
7
+ type BlockContentBase = BlockContentRoot;
8
+ type BlockContentInputBase = BlockContentInputRoot;
9
+ type MultilinkFieldValue = MultilinkFieldValueRoot;
10
+ type PluginFieldValue = PluginFieldValueRoot;
11
+ type RichtextFieldValue = RichtextFieldValueRoot;
12
+ type TableFieldValue = TableFieldValueRoot;
13
+ type TextFieldRoot = BaseFieldRoot & ValueFieldRoot & {
14
+ /**
15
+ * Field type discriminant
16
+ */
17
+ type: 'text';
18
+ /**
19
+ * Maximum length of the input string
20
+ */
21
+ max_length?: number;
22
+ /**
23
+ * Maximum length for text fields (legacy alias for max_length)
24
+ */
25
+ maxlength?: number;
26
+ /**
27
+ * Minimum length for text fields
28
+ */
29
+ minlength?: number;
30
+ /**
31
+ * Field size (small, medium, large)
32
+ */
33
+ size?: string;
34
+ /**
35
+ * Whether to enable right-to-left text direction
36
+ */
37
+ rtl?: boolean;
38
+ };
39
+ type TextareaFieldRoot = BaseFieldRoot & ValueFieldRoot & {
40
+ /**
41
+ * Field type discriminant
42
+ */
43
+ type: 'textarea';
44
+ /**
45
+ * Maximum length of the input string
46
+ */
47
+ max_length?: number;
48
+ /**
49
+ * Maximum length for text fields (legacy alias for max_length)
50
+ */
51
+ maxlength?: number;
52
+ /**
53
+ * Minimum length for text fields
54
+ */
55
+ minlength?: number;
56
+ /**
57
+ * Field size (small, medium, large)
58
+ */
59
+ size?: string;
60
+ /**
61
+ * Whether to enable right-to-left text direction
62
+ */
63
+ rtl?: boolean;
64
+ /**
65
+ * Whether rich text is enabled
66
+ */
67
+ rich_text?: boolean;
68
+ /**
69
+ * Whether markdown is enabled
70
+ */
71
+ markdown?: boolean;
72
+ };
73
+ type RichtextFieldRoot = BaseFieldRoot & ValueFieldRoot & {
74
+ /**
75
+ * Field type discriminant
76
+ */
77
+ type: 'richtext';
78
+ /**
79
+ * Whether to allow toolbar customization
80
+ */
81
+ customize_toolbar?: boolean;
82
+ /**
83
+ * Array of enabled toolbar elements
84
+ */
85
+ toolbar?: Array<'ai-complete' | 'ai-shorten' | 'ai-extend' | 'ai-rephrase' | 'ai-summarize' | 'ai-simplify' | 'ai-tone' | 'ai-emoji' | 'ai-translate' | 'ai-tldr' | 'ai-spelling' | 'blok' | 'ltr' | 'rtl' | 'export' | 'import' | 'bold' | 'list' | 'inlinecode' | 'code' | 'color' | 'copy' | 'cut' | 'emoji' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'highlight' | 'unset' | 'hrule' | 'image' | 'italic' | 'link' | 'anchor' | 'olist' | 'paragraph' | 'paste-action' | 'paste' | 'quote' | 'redo' | 'strike' | 'subscript' | 'superscript' | 'underline' | 'undo' | 'align-left' | 'align-center' | 'align-right' | 'align-justify'>;
86
+ /**
87
+ * Custom CSS styles for the richtext field
88
+ */
89
+ style_options?: Array<{
90
+ _uid?: string;
91
+ name?: string;
92
+ value?: string;
93
+ }>;
94
+ /**
95
+ * Restriction type for component selection (groups, tags, or empty for specific blocks)
96
+ */
97
+ restrict_type?: string;
98
+ /**
99
+ * Whether to restrict which components can be inserted
100
+ */
101
+ restrict_components?: boolean;
102
+ /**
103
+ * List of allowed component names
104
+ */
105
+ component_whitelist?: Array<string>;
106
+ /**
107
+ * List of denied component names
108
+ */
109
+ component_denylist?: Array<string>;
110
+ /**
111
+ * List of allowed tag IDs for component filtering
112
+ */
113
+ component_tag_whitelist?: Array<number>;
114
+ /**
115
+ * List of denied tag IDs for component filtering
116
+ */
117
+ component_tag_denylist?: Array<number>;
118
+ /**
119
+ * List of allowed component group UUIDs
120
+ */
121
+ component_group_whitelist?: Array<string>;
122
+ /**
123
+ * List of denied component group UUIDs
124
+ */
125
+ component_group_denylist?: Array<string>;
126
+ /**
127
+ * Whether to allow links to open in a new tab
128
+ */
129
+ allow_target_blank?: boolean;
130
+ /**
131
+ * Whether to allow custom link attributes
132
+ */
133
+ allow_custom_attributes?: boolean;
134
+ };
135
+ type MarkdownFieldRoot = BaseFieldRoot & ValueFieldRoot & {
136
+ /**
137
+ * Field type discriminant
138
+ */
139
+ type: 'markdown';
140
+ /**
141
+ * Whether to display markdown as rich text
142
+ */
143
+ rich_markdown?: boolean;
144
+ /**
145
+ * Whether to enable right-to-left text direction
146
+ */
147
+ rtl?: boolean;
148
+ /**
149
+ * Whether to enable a customized toolbar
150
+ */
151
+ customize_toolbar?: boolean;
152
+ /**
153
+ * Array of enabled toolbar elements
154
+ */
155
+ toolbar?: Array<'bold' | 'italic' | 'inlinecode' | 'code' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'list' | 'olist' | 'quote' | 'hrule' | 'link' | 'image' | 'paragraph' | 'help' | 'toggle-richtext' | 'auto' | 'ltr' | 'rtl'>;
156
+ /**
157
+ * Whether to allow empty paragraphs
158
+ */
159
+ allow_multiline?: boolean;
160
+ /**
161
+ * Maximum length of the input string
162
+ */
163
+ max_length?: number;
164
+ };
165
+ type NumberFieldRoot = BaseFieldRoot & ValueFieldRoot & {
166
+ /**
167
+ * Field type discriminant
168
+ */
169
+ type: 'number';
170
+ /**
171
+ * Minimum value allowed
172
+ */
173
+ min_value?: number;
174
+ /**
175
+ * Maximum value allowed
176
+ */
177
+ max_value?: number;
178
+ /**
179
+ * Number of decimal places
180
+ */
181
+ decimals?: number;
182
+ /**
183
+ * Step size for the number input
184
+ */
185
+ steps?: number;
186
+ };
187
+ type DatetimeFieldRoot = BaseFieldRoot & ValueFieldRoot & {
188
+ /**
189
+ * Field type discriminant
190
+ */
191
+ type: 'datetime';
192
+ /**
193
+ * Whether to disable time selection (date-only mode)
194
+ */
195
+ disable_time?: boolean;
196
+ };
197
+ type BooleanFieldRoot = BaseFieldRoot & ValueFieldRoot & {
198
+ /**
199
+ * Field type discriminant
200
+ */
201
+ type: 'boolean';
202
+ /**
203
+ * Whether to display the label next to the toggle
204
+ */
205
+ inline_label?: boolean;
206
+ };
207
+ type OptionFieldRoot = BaseFieldRoot & ValueFieldRoot & {
208
+ /**
209
+ * Field type discriminant
210
+ */
211
+ type: 'option';
212
+ /**
213
+ * Array of selectable options
214
+ */
215
+ options?: Array<{
216
+ _uid?: string;
217
+ name?: string;
218
+ value?: string;
219
+ }>;
220
+ /**
221
+ * Source of the options (undefined=self, internal_stories, internal_languages, external, internal)
222
+ */
223
+ source?: string;
224
+ /**
225
+ * Datasource slug when source is internal
226
+ */
227
+ datasource_slug?: string;
228
+ /**
229
+ * External datasource JSON URL when source is external
230
+ */
231
+ external_datasource?: string;
232
+ /**
233
+ * Path of allowed stories folder when source is internal_stories
234
+ */
235
+ folder_slug?: string;
236
+ /**
237
+ * Allowed content type blocks when source is internal_stories
238
+ */
239
+ filter_content_type?: Array<string>;
240
+ /**
241
+ * Whether to exclude the empty option
242
+ */
243
+ exclude_empty_option?: boolean;
244
+ /**
245
+ * Whether to include an empty option
246
+ */
247
+ include_empty_option?: boolean;
248
+ /**
249
+ * Whether to use UUID for the option value
250
+ */
251
+ use_uuid?: boolean;
252
+ /**
253
+ * Display appearance (link or card) when source is internal_stories
254
+ */
255
+ entry_appearance?: string;
256
+ /**
257
+ * Whether to allow advanced search in a modal when source is internal_stories
258
+ */
259
+ allow_advanced_search?: boolean;
260
+ /**
261
+ * Maximum number of selectable options
262
+ */
263
+ max_options?: string;
264
+ /**
265
+ * Minimum number of selectable options
266
+ */
267
+ min_options?: string;
268
+ /**
269
+ * Whether multiple values are allowed
270
+ */
271
+ multiple?: boolean;
272
+ };
273
+ type OptionsFieldRoot = BaseFieldRoot & ValueFieldRoot & {
274
+ /**
275
+ * Field type discriminant
276
+ */
277
+ type: 'options';
278
+ /**
279
+ * Array of selectable options
280
+ */
281
+ options?: Array<{
282
+ _uid?: string;
283
+ name?: string;
284
+ value?: string;
285
+ }>;
286
+ /**
287
+ * Source of the options (undefined=self, internal_stories, internal_languages, external, internal)
288
+ */
289
+ source?: string;
290
+ /**
291
+ * Datasource slug when source is internal
292
+ */
293
+ datasource_slug?: string;
294
+ /**
295
+ * External datasource JSON URL when source is external
296
+ */
297
+ external_datasource?: string;
298
+ /**
299
+ * Path of allowed stories folder when source is internal_stories
300
+ */
301
+ folder_slug?: string;
302
+ /**
303
+ * Allowed content type blocks when source is internal_stories
304
+ */
305
+ filter_content_type?: Array<string>;
306
+ /**
307
+ * Whether to use UUID for the option values
308
+ */
309
+ use_uuid?: boolean;
310
+ /**
311
+ * Whether this Multi-Options field is a References field
312
+ */
313
+ is_reference_type?: boolean;
314
+ /**
315
+ * Display appearance (link or card) when source is internal_stories
316
+ */
317
+ entry_appearance?: string;
318
+ /**
319
+ * Whether to allow advanced search in a modal when source is internal_stories
320
+ */
321
+ allow_advanced_search?: boolean;
322
+ /**
323
+ * Maximum number of selectable options
324
+ */
325
+ max_options?: string;
326
+ /**
327
+ * Minimum number of selectable options
328
+ */
329
+ min_options?: string;
330
+ /**
331
+ * Whether multiple values are allowed
332
+ */
333
+ multiple?: boolean;
334
+ };
335
+ type AssetFieldRoot = BaseFieldRoot & ValueFieldRoot & {
336
+ /**
337
+ * Field type discriminant
338
+ */
339
+ type: 'asset';
340
+ /**
341
+ * Allowed file types (images, videos, audios, texts)
342
+ */
343
+ filetypes?: Array<string>;
344
+ /**
345
+ * Numeric ID of the allowed asset folder
346
+ */
347
+ asset_folder_id?: number;
348
+ /**
349
+ * Whether to allow external URLs
350
+ */
351
+ allow_external_url?: boolean;
352
+ /**
353
+ * Field height in pixels
354
+ */
355
+ height?: number;
356
+ /**
357
+ * Field width in pixels
358
+ */
359
+ width?: number;
360
+ /**
361
+ * Whether to restrict assets
362
+ */
363
+ restrict_assets?: boolean;
364
+ /**
365
+ * List of allowed asset types
366
+ */
367
+ asset_whitelist?: Array<string>;
368
+ };
369
+ type MultiassetFieldRoot = BaseFieldRoot & ValueFieldRoot & {
370
+ /**
371
+ * Field type discriminant
372
+ */
373
+ type: 'multiasset';
374
+ /**
375
+ * Allowed file types (images, videos, audios, texts)
376
+ */
377
+ filetypes?: Array<string>;
378
+ /**
379
+ * Numeric ID of the allowed asset folder
380
+ */
381
+ asset_folder_id?: number;
382
+ /**
383
+ * Whether to allow external URLs
384
+ */
385
+ allow_external_url?: boolean;
386
+ /**
387
+ * Field height in pixels
388
+ */
389
+ height?: number;
390
+ /**
391
+ * Field width in pixels
392
+ */
393
+ width?: number;
394
+ /**
395
+ * Whether to restrict assets
396
+ */
397
+ restrict_assets?: boolean;
398
+ /**
399
+ * List of allowed asset types
400
+ */
401
+ asset_whitelist?: Array<string>;
402
+ /**
403
+ * Maximum number of entries
404
+ */
405
+ maximum_entries?: number;
406
+ /**
407
+ * Minimum number of entries
408
+ */
409
+ minimum_entries?: number;
410
+ };
411
+ type MultilinkFieldRoot = BaseFieldRoot & ValueFieldRoot & {
412
+ /**
413
+ * Field type discriminant
414
+ */
415
+ type: 'multilink';
416
+ /**
417
+ * Whether to restrict linkable content types
418
+ */
419
+ restrict_content_types?: boolean;
420
+ /**
421
+ * List of allowed content type blocks for internal links
422
+ */
423
+ component_whitelist?: Array<string>;
424
+ /**
425
+ * Whether to allow opening links in a new tab
426
+ */
427
+ allow_target_blank?: boolean;
428
+ /**
429
+ * Whether to allow setting custom link attributes
430
+ */
431
+ allow_custom_attributes?: boolean;
432
+ /**
433
+ * Whether to restrict to a specific folder
434
+ */
435
+ force_link_scope?: boolean;
436
+ /**
437
+ * Path of the allowed folder when force_link_scope is true
438
+ */
439
+ link_scope?: string;
440
+ /**
441
+ * Whether to allow defining an anchor ID for internal links
442
+ */
443
+ show_anchor?: boolean;
444
+ /**
445
+ * Whether to allow specifying an email address
446
+ */
447
+ email_link_type?: boolean;
448
+ /**
449
+ * Whether to allow specifying an asset URL
450
+ */
451
+ asset_link_type?: boolean;
452
+ };
453
+ type BloksFieldRoot = BaseFieldRoot & ValueFieldRoot & {
454
+ /**
455
+ * Field type discriminant
456
+ */
457
+ type: 'bloks';
458
+ /**
459
+ * Restriction type for component selection (groups, tags, or empty for specific blocks)
460
+ */
461
+ restrict_type?: string;
462
+ /**
463
+ * Whether to restrict which components can be inserted
464
+ */
465
+ restrict_components?: boolean;
466
+ /**
467
+ * List of allowed component names
468
+ */
469
+ component_whitelist?: Array<string>;
470
+ /**
471
+ * List of denied component names
472
+ */
473
+ component_denylist?: Array<string>;
474
+ /**
475
+ * List of allowed tag IDs for component filtering
476
+ */
477
+ component_tag_whitelist?: Array<number>;
478
+ /**
479
+ * List of denied tag IDs for component filtering
480
+ */
481
+ component_tag_denylist?: Array<number>;
482
+ /**
483
+ * List of allowed component group UUIDs
484
+ */
485
+ component_group_whitelist?: Array<string>;
486
+ /**
487
+ * List of denied component group UUIDs
488
+ */
489
+ component_group_denylist?: Array<string>;
490
+ /**
491
+ * Minimum number of bloks
492
+ */
493
+ minimum?: number;
494
+ /**
495
+ * Maximum number of bloks
496
+ */
497
+ maximum?: number;
498
+ /**
499
+ * Maximum number of entries
500
+ */
501
+ maximum_entries?: number;
502
+ /**
503
+ * Minimum number of entries
504
+ */
505
+ minimum_entries?: number;
506
+ };
507
+ type TableFieldRoot = BaseFieldRoot & ValueFieldRoot & {
508
+ /**
509
+ * Field type discriminant
510
+ */
511
+ type: 'table';
512
+ };
513
+ type SectionFieldRoot = BaseFieldRoot & {
514
+ /**
515
+ * Field type discriminant
516
+ */
517
+ type: 'section';
518
+ /**
519
+ * Field keys that belong to this section
520
+ */
521
+ keys?: Array<string>;
522
+ /**
523
+ * Fieldset configuration
524
+ */
525
+ fieldset?: {
526
+ /**
527
+ * Fieldset title
528
+ */
529
+ title?: string;
530
+ /**
531
+ * Fieldset description
532
+ */
533
+ description?: string;
534
+ /**
535
+ * Whether the fieldset is collapsible
536
+ */
537
+ collapsible?: boolean;
538
+ /**
539
+ * Whether the fieldset is collapsed by default
540
+ */
541
+ collapsed?: boolean;
542
+ };
543
+ };
544
+ type TabFieldRoot = BaseFieldRoot & {
545
+ /**
546
+ * Field type discriminant
547
+ */
548
+ type: 'tab';
549
+ /**
550
+ * Field keys that belong to this tab
551
+ */
552
+ keys?: Array<string>;
553
+ };
554
+ type CustomFieldRoot = BaseFieldRoot & ValueFieldRoot & {
555
+ /**
556
+ * Field type discriminant
557
+ */
558
+ type: 'custom';
559
+ /**
560
+ * Technical name of the field plugin
561
+ */
562
+ field_type?: string;
563
+ /**
564
+ * Plugin-specific options
565
+ */
566
+ options?: Array<{
567
+ name?: string;
568
+ value?: string;
569
+ }>;
570
+ /**
571
+ * Comma-separated list of required field names in the plugin
572
+ */
573
+ required_fields?: string;
574
+ /**
575
+ * Source for plugin-provided options (`self` or `internal` for datasource)
576
+ */
577
+ source?: 'self' | 'internal';
578
+ /**
579
+ * Slug of the internal datasource when `source` is `internal`
580
+ */
581
+ datasource_slug?: string;
582
+ /**
583
+ * URL to an external datasource when `source` is set accordingly
584
+ */
585
+ external_datasource?: string;
586
+ };
587
+ /**
588
+ * Asset field type - single asset (image, video, audio, or document)
589
+ */
590
+ type AssetFieldValueRoot = {
591
+ /**
592
+ * Identifies this as an asset field
593
+ */
594
+ fieldtype: 'asset';
595
+ /**
596
+ * Numeric ID of the asset
597
+ */
598
+ id: number | null;
599
+ /**
600
+ * Alternative text for the asset
601
+ */
602
+ alt: string | null;
603
+ /**
604
+ * Name of the asset
605
+ */
606
+ name?: string;
607
+ /**
608
+ * Focal point coordinates for cropping (format "123x456:789x1011")
609
+ */
610
+ focus?: string | null;
611
+ /**
612
+ * Title of the asset
613
+ */
614
+ title?: string | null;
615
+ /**
616
+ * Source attribution for the asset
617
+ */
618
+ source?: string | null;
619
+ /**
620
+ * URL to the asset file
621
+ */
622
+ filename: string;
623
+ /**
624
+ * Copyright information
625
+ */
626
+ copyright?: string | null;
627
+ /**
628
+ * Additional metadata for the asset
629
+ */
630
+ meta_data?: {
631
+ [key: string]: unknown;
632
+ };
633
+ /**
634
+ * Whether the asset is hosted externally
635
+ */
636
+ is_external_url?: boolean;
637
+ };
638
+ /**
639
+ * 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).
640
+ */
641
+ type BlockContentRoot = {
642
+ /**
643
+ * Unique identifier for this component instance
644
+ */
645
+ _uid: string;
646
+ /**
647
+ * Technical name of the component (content type or nestable block)
648
+ */
649
+ component: string;
650
+ /**
651
+ * Storyblok editor markup string for inline editing (present in draft/preview mode)
652
+ */
653
+ _editable?: string;
654
+ [key: string]: string | number | boolean | Array<string | AssetFieldValueRoot | BlockContentRoot> | AssetFieldValueRoot | MultilinkFieldValueRoot | TableFieldValueRoot | RichtextFieldValueRoot | PluginFieldValueRoot | string | undefined;
655
+ };
656
+ /**
657
+ * 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.
658
+ */
659
+ type BlockContentInputRoot = {
660
+ /**
661
+ * Unique identifier for this component instance (auto-generated when omitted)
662
+ */
663
+ _uid?: string;
664
+ /**
665
+ * Technical name of the component (content type or nestable block)
666
+ */
667
+ component: string;
668
+ /**
669
+ * Storyblok editor markup string for inline editing (present in draft/preview mode)
670
+ */
671
+ _editable?: string;
672
+ [key: string]: null | string | number | boolean | Array<string | AssetFieldValueRoot | BlockContentInputRoot> | AssetFieldValueRoot | MultilinkFieldValueRoot | TableFieldValueRoot | RichtextFieldValueRoot | PluginFieldValueRoot | string | undefined;
673
+ };
674
+ /**
675
+ * Multilink field type - link to internal stories, external URLs, emails, etc.
676
+ */
677
+ type MultilinkFieldValueRoot = {
678
+ /**
679
+ * Identifies this as a multilink field
680
+ */
681
+ fieldtype: 'multilink';
682
+ /**
683
+ * UUID of the linked story (for internal links)
684
+ */
685
+ id: string;
686
+ /**
687
+ * URL for external links or email addresses
688
+ */
689
+ url: string;
690
+ /**
691
+ * Type of link
692
+ */
693
+ linktype: 'story' | 'url' | 'email' | 'asset';
694
+ /**
695
+ * Cached URL path for the linked story
696
+ */
697
+ cached_url: string;
698
+ /**
699
+ * Anchor/fragment identifier for the link
700
+ */
701
+ anchor?: string | null;
702
+ /**
703
+ * Link target attribute
704
+ */
705
+ target?: '_self' | '_blank' | null;
706
+ };
707
+ /**
708
+ * Plugin/Custom field type - field plugin with custom structure
709
+ */
710
+ type PluginFieldValueRoot = {
711
+ /**
712
+ * Technical name of the field plugin
713
+ */
714
+ plugin: string;
715
+ /**
716
+ * Unique identifier for this plugin field instance
717
+ */
718
+ _uid?: string;
719
+ [key: string]: unknown | string | undefined;
720
+ };
721
+ /**
722
+ * Richtext field type - structured rich text document (ProseMirror format)
723
+ */
724
+ type RichtextFieldValueRoot = {
725
+ /**
726
+ * Root node type for richtext documents
727
+ */
728
+ type: 'doc';
729
+ /**
730
+ * Array of richtext nodes (paragraphs, headings, lists, bloks, etc.)
731
+ */
732
+ content?: Array<{
733
+ [key: string]: unknown;
734
+ }>;
735
+ };
736
+ /**
737
+ * Table field type - structured table data
738
+ */
739
+ type TableFieldValueRoot = {
740
+ /**
741
+ * Table header cells
742
+ */
743
+ thead: Array<{
744
+ _uid: string;
745
+ component: '_table_head';
746
+ /**
747
+ * Header cell content
748
+ */
749
+ value?: string;
750
+ }>;
751
+ /**
752
+ * Table body rows
753
+ */
754
+ tbody: Array<{
755
+ _uid: string;
756
+ component: '_table_row';
757
+ /**
758
+ * Cells in this row
759
+ */
760
+ body?: Array<{
761
+ _uid: string;
762
+ component: '_table_col';
763
+ /**
764
+ * Cell content
765
+ */
766
+ value?: string;
767
+ }>;
768
+ }>;
769
+ };
770
+ /**
771
+ * Universal identity and display properties shared by every field type
772
+ */
773
+ type BaseFieldRoot = {
774
+ /**
775
+ * Field type discriminant
776
+ */
777
+ type?: string;
778
+ /**
779
+ * The ID of the field
780
+ */
781
+ id?: string;
782
+ /**
783
+ * Human-readable display name
784
+ */
785
+ display_name?: string;
786
+ /**
787
+ * Field description displayed in the editor
788
+ */
789
+ description?: string;
790
+ /**
791
+ * Whether to display the description as a tooltip
792
+ */
793
+ tooltip?: boolean;
794
+ /**
795
+ * Position of the field within the block
796
+ */
797
+ pos?: number;
798
+ /**
799
+ * Conditions set on the field for conditional visibility
800
+ */
801
+ conditional_settings?: Array<{
802
+ [key: string]: unknown;
803
+ }>;
804
+ };
805
+ /**
806
+ * Properties shared by content-bearing fields (i.e. fields that hold a value).
807
+ * Layout-only field types like `section` and `tab` do not include these.
808
+ *
809
+ */
810
+ type ValueFieldRoot = {
811
+ /**
812
+ * Whether the field is required
813
+ */
814
+ required?: boolean;
815
+ /**
816
+ * Regular expression for validation
817
+ */
818
+ regex?: string;
819
+ /**
820
+ * Default value for the field (can be escaped JSON)
821
+ */
822
+ default_value?: string;
823
+ /**
824
+ * Whether the field is translatable
825
+ */
826
+ translatable?: boolean;
827
+ /**
828
+ * Exclude the field from translation exports
829
+ */
830
+ no_translate?: boolean;
831
+ /**
832
+ * Exclude the field from AI translations
833
+ */
834
+ exclude_from_ai_translation?: boolean;
835
+ /**
836
+ * Exclude the field when merging (Dimensions App)
837
+ */
838
+ exclude_from_merge?: boolean;
839
+ /**
840
+ * Exclude the field when overwriting (Dimensions App)
841
+ */
842
+ exclude_from_overwrite?: boolean;
843
+ /**
844
+ * Overwrite the field when merging (Dimensions App)
845
+ */
846
+ force_merge?: boolean;
847
+ };
848
+ //#endregion
849
+ export { AssetFieldValue, BlockContentBase, BlockContentInputBase, Field, MultilinkFieldValue, PluginFieldValue, RichtextFieldValue, TableFieldValue };
850
+ //# sourceMappingURL=_internal.gen.d.cts.map