@riverbankcms/sdk 0.70.3 → 0.70.4

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 (79) hide show
  1. package/dist/_dts/api/src/contentTypes.d.ts +2 -1
  2. package/dist/_dts/block-form/src/client/index.d.ts +1 -1
  3. package/dist/_dts/block-form/src/fields/types.d.ts +14 -2
  4. package/dist/_dts/block-form/src/registry/schemas.d.ts +2 -0
  5. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +2 -2
  6. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +2 -2
  7. package/dist/_dts/blocks/src/lib/media.d.ts +1 -1
  8. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1829 -149
  9. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1829 -149
  10. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1829 -149
  11. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1829 -149
  12. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1829 -149
  13. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -30727
  14. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +11 -30827
  15. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1829 -149
  16. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -3
  17. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1829 -149
  18. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +106 -1
  19. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1829 -149
  20. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1829 -149
  21. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1829 -149
  22. package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -3
  23. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +2 -30793
  24. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +2 -30727
  25. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +2 -30779
  26. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +33 -30743
  27. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +2 -30770
  28. package/dist/_dts/blocks/src/system/fragments/types.d.ts +8 -7
  29. package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +7 -5
  30. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +192 -3
  32. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +1 -1
  33. package/dist/_dts/content-model/src/content-types/schema.d.ts +7 -0
  34. package/dist/_dts/content-model/src/contentManifest.d.ts +4 -1
  35. package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
  36. package/dist/_dts/core/src/index.d.ts +1 -1
  37. package/dist/_dts/core/src/planner.d.ts +4 -0
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +53 -20
  39. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  40. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -5
  41. package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +0 -1
  42. package/dist/_dts/media-editor/src/context.d.ts +4 -1
  43. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +8 -1
  44. package/dist/_dts/media-react/src/index.d.ts +1 -5
  45. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -1
  46. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  47. package/dist/_dts/sdk/src/config/field-definitions.d.ts +6 -2
  48. package/dist/_dts/sdk/src/config/typed-entries.d.ts +4 -2
  49. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -1
  50. package/dist/_dts/sdk/src/manifest/prompt/examples/cta.d.ts +5 -5
  51. package/dist/_dts/sdk/src/manifest/prompt/examples/features-grid.d.ts +2 -2
  52. package/dist/_dts/sdk/src/manifest/prompt/examples/hero.d.ts +2 -2
  53. package/dist/_dts/sdk/src/manifest/prompt/examples/pricing.d.ts +10 -10
  54. package/dist/_dts/sdk/src/manifest/prompt/examples/testimonials.d.ts +4 -4
  55. package/dist/_dts/sdk/src/manifest/validation/output-schema.d.ts +11 -1
  56. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  57. package/dist/_dts/sdk/src/version.d.ts +1 -1
  58. package/dist/cli/index.mjs +395 -190
  59. package/dist/cli/init-docs/content/workflow-preview-mode.md +167 -0
  60. package/dist/client/client.mjs +243 -203
  61. package/dist/client/hooks.mjs +172 -121
  62. package/dist/client/rendering/client.mjs +148 -112
  63. package/dist/client/rendering/islands.mjs +80 -31
  64. package/dist/client/rendering.mjs +242 -202
  65. package/dist/preview-next/client/runtime.mjs +386 -1135
  66. package/dist/server/components.mjs +219 -171
  67. package/dist/server/config-template-validation.mjs +31 -1
  68. package/dist/server/config-validation.mjs +172 -121
  69. package/dist/server/config.mjs +172 -121
  70. package/dist/server/data.mjs +172 -121
  71. package/dist/server/index.mjs +1 -1
  72. package/dist/server/next.mjs +220 -172
  73. package/dist/server/page-converter.mjs +379 -185
  74. package/dist/server/prebuild.mjs +1 -1
  75. package/dist/server/rendering/server.mjs +219 -171
  76. package/dist/server/rendering.mjs +219 -171
  77. package/dist/server/routing.mjs +175 -124
  78. package/dist/server/server.mjs +173 -122
  79. package/package.json +2 -1
@@ -104,9 +104,13 @@ export type RichTextFieldDefinition = FieldBase & {
104
104
  };
105
105
  export type MediaFieldDefinition = FieldBase & {
106
106
  type: 'media';
107
- mediaKinds?: Array<'image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive'>;
107
+ mediaKinds?: Array<'image' | 'video' | 'audio'>;
108
108
  aspectRatio?: string;
109
109
  };
110
+ export type FileFieldDefinition = FieldBase & {
111
+ type: 'file';
112
+ fileKinds?: Array<'document' | 'spreadsheet' | 'archive' | 'audio'>;
113
+ };
110
114
  export type BooleanFieldDefinition = FieldBase & {
111
115
  type: 'boolean';
112
116
  };
@@ -221,5 +225,5 @@ export type EntryPickerFieldDefinition = FieldBase & {
221
225
  /** Which entry field to store as the value: 'id' (UUID), 'identifier', or 'slug'. */
222
226
  valueFrom?: 'id' | 'identifier' | 'slug';
223
227
  };
224
- export type FieldDefinition = TextFieldDefinition | RichTextFieldDefinition | MediaFieldDefinition | BooleanFieldDefinition | NumberFieldDefinition | DateFieldDefinition | TimeFieldDefinition | DateTimeFieldDefinition | SlugFieldDefinition | UrlFieldDefinition | LinkFieldDefinition | SelectFieldDefinition | ReferenceFieldDefinition | RepeaterFieldDefinition | GroupFieldDefinition | ModalFieldDefinition | TabGroupFieldDefinition | PresetOrCustomFieldDefinition | ContentTypeSelectFieldDefinition | EntryPickerFieldDefinition;
228
+ export type FieldDefinition = TextFieldDefinition | RichTextFieldDefinition | MediaFieldDefinition | FileFieldDefinition | BooleanFieldDefinition | NumberFieldDefinition | DateFieldDefinition | TimeFieldDefinition | DateTimeFieldDefinition | SlugFieldDefinition | UrlFieldDefinition | LinkFieldDefinition | SelectFieldDefinition | ReferenceFieldDefinition | RepeaterFieldDefinition | GroupFieldDefinition | ModalFieldDefinition | TabGroupFieldDefinition | PresetOrCustomFieldDefinition | ContentTypeSelectFieldDefinition | EntryPickerFieldDefinition;
225
229
  export type { TipTapNode, Media, LinkValue };
@@ -30,7 +30,7 @@
30
30
  * });
31
31
  * ```
32
32
  */
33
- import type { BooleanFieldDefinition, ContentTypeSelectFieldDefinition, DateFieldDefinition, DateTimeFieldDefinition, EntryPickerFieldDefinition, FieldDefinition, GroupFieldDefinition, LinkFieldDefinition, MediaFieldDefinition, ModalFieldDefinition, NumberFieldDefinition, PresetOrCustomFieldDefinition, ReferenceFieldDefinition, RepeaterFieldDefinition, RichTextFieldDefinition, SelectFieldDefinition, SlugFieldDefinition, TabGroupFieldDefinition, TextFieldDefinition, TimeFieldDefinition, UrlFieldDefinition } from './field-definitions';
33
+ import type { BooleanFieldDefinition, ContentTypeSelectFieldDefinition, DateFieldDefinition, DateTimeFieldDefinition, EntryPickerFieldDefinition, FileFieldDefinition, FieldDefinition, GroupFieldDefinition, LinkFieldDefinition, MediaFieldDefinition, ModalFieldDefinition, NumberFieldDefinition, PresetOrCustomFieldDefinition, ReferenceFieldDefinition, RepeaterFieldDefinition, RichTextFieldDefinition, SelectFieldDefinition, SlugFieldDefinition, TabGroupFieldDefinition, TextFieldDefinition, TimeFieldDefinition, UrlFieldDefinition } from './field-definitions';
34
34
  import type { LinkValue, Media, TipTapNode } from '../contracts';
35
35
  import type { ContentTypeConfig, EntryConfig } from './content-types';
36
36
  export type { TipTapNode, Media, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, } from '../contracts';
@@ -66,6 +66,8 @@ export type FieldValueType<F extends FieldDefinition> = F extends {
66
66
  type: 'richText';
67
67
  } ? TipTapNode : F extends {
68
68
  type: 'media';
69
+ } ? Media | null : F extends {
70
+ type: 'file';
69
71
  } ? Media | null : F extends {
70
72
  type: 'link';
71
73
  } ? LinkValue | null : F extends {
@@ -91,7 +93,7 @@ export type FieldValueType<F extends FieldDefinition> = F extends {
91
93
  type: 'select';
92
94
  } ? string : F extends {
93
95
  type: 'entryPicker';
94
- } ? string | null : F extends TextFieldDefinition ? string : F extends BooleanFieldDefinition ? boolean : F extends NumberFieldDefinition ? number : F extends RichTextFieldDefinition ? TipTapNode : F extends MediaFieldDefinition ? Media | null : F extends LinkFieldDefinition ? LinkValue | null : F extends DateFieldDefinition ? string : F extends TimeFieldDefinition ? string : F extends DateTimeFieldDefinition ? string : F extends SlugFieldDefinition ? string : F extends UrlFieldDefinition ? string : F extends ReferenceFieldDefinition ? string : F extends PresetOrCustomFieldDefinition ? string : F extends ContentTypeSelectFieldDefinition ? string : F extends SelectFieldDefinition & {
96
+ } ? string | null : F extends TextFieldDefinition ? string : F extends BooleanFieldDefinition ? boolean : F extends NumberFieldDefinition ? number : F extends RichTextFieldDefinition ? TipTapNode : F extends MediaFieldDefinition ? Media | null : F extends FileFieldDefinition ? Media | null : F extends LinkFieldDefinition ? LinkValue | null : F extends DateFieldDefinition ? string : F extends TimeFieldDefinition ? string : F extends DateTimeFieldDefinition ? string : F extends SlugFieldDefinition ? string : F extends UrlFieldDefinition ? string : F extends ReferenceFieldDefinition ? string : F extends PresetOrCustomFieldDefinition ? string : F extends ContentTypeSelectFieldDefinition ? string : F extends SelectFieldDefinition & {
95
97
  multiple: true;
96
98
  } ? string[] : F extends SelectFieldDefinition ? string : F extends EntryPickerFieldDefinition ? string | null : F extends GroupFieldDefinition & {
97
99
  schema: {
@@ -521,13 +521,14 @@ export type AudioPlayerContent = {
521
521
  }) | null;
522
522
  };
523
523
  export type PublicDownloadMedia = Media & {
524
- type: 'document' | 'spreadsheet' | 'archive' | 'audio' | 'video';
524
+ type: 'document' | 'spreadsheet' | 'archive' | 'audio';
525
525
  };
526
526
  export type FileDownloadContent = {
527
527
  file?: PublicDownloadMedia | null;
528
528
  title?: string | null;
529
529
  description?: string | null;
530
530
  buttonLabel?: string | null;
531
+ buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
531
532
  };
532
533
  export type AppointmentBookingContent = {
533
534
  formId: string;
@@ -29,7 +29,7 @@ export declare const ctaExample: {
29
29
  label: string;
30
30
  required: boolean;
31
31
  multiline: boolean;
32
- readonly defaultValue?: undefined;
32
+ defaultValue?: undefined;
33
33
  schema?: undefined;
34
34
  } | {
35
35
  id: string;
@@ -49,12 +49,12 @@ export declare const ctaExample: {
49
49
  type: string;
50
50
  label: string;
51
51
  required: boolean;
52
- readonly multiline?: undefined;
53
- readonly defaultValue?: undefined;
52
+ multiline?: undefined;
53
+ defaultValue?: undefined;
54
54
  })[];
55
55
  };
56
- readonly multiline?: undefined;
57
- readonly defaultValue?: undefined;
56
+ multiline?: undefined;
57
+ defaultValue?: undefined;
58
58
  })[];
59
59
  layout: {
60
60
  type: string;
@@ -55,8 +55,8 @@ export declare const featuresGridExample: {
55
55
  ui?: undefined;
56
56
  })[];
57
57
  };
58
- readonly multiline?: undefined;
59
- readonly defaultValue?: undefined;
58
+ multiline?: undefined;
59
+ defaultValue?: undefined;
60
60
  })[];
61
61
  layout: {
62
62
  type: string;
@@ -27,8 +27,8 @@ export declare const heroExample: {
27
27
  type: string;
28
28
  label: string;
29
29
  required: boolean;
30
- readonly multiline?: undefined;
31
- readonly defaultValue?: undefined;
30
+ multiline?: undefined;
31
+ defaultValue?: undefined;
32
32
  })[];
33
33
  layout: {
34
34
  type: string;
@@ -34,7 +34,7 @@ export declare const pricingExample: {
34
34
  label: string;
35
35
  required: boolean;
36
36
  multiline: boolean;
37
- readonly defaultValue?: undefined;
37
+ defaultValue?: undefined;
38
38
  itemLabel?: undefined;
39
39
  itemLabelSource?: undefined;
40
40
  minItems?: undefined;
@@ -59,7 +59,7 @@ export declare const pricingExample: {
59
59
  required: boolean;
60
60
  multiline: boolean;
61
61
  ui?: undefined;
62
- readonly defaultValue?: undefined;
62
+ defaultValue?: undefined;
63
63
  itemLabel?: undefined;
64
64
  minItems?: undefined;
65
65
  allowConversion?: undefined;
@@ -73,7 +73,7 @@ export declare const pricingExample: {
73
73
  ui: {
74
74
  placeholder: string;
75
75
  };
76
- readonly defaultValue?: undefined;
76
+ defaultValue?: undefined;
77
77
  itemLabel?: undefined;
78
78
  minItems?: undefined;
79
79
  allowConversion?: undefined;
@@ -96,7 +96,7 @@ export declare const pricingExample: {
96
96
  label: string;
97
97
  required: boolean;
98
98
  defaultValue: boolean;
99
- readonly multiline?: undefined;
99
+ multiline?: undefined;
100
100
  ui?: undefined;
101
101
  itemLabel?: undefined;
102
102
  minItems?: undefined;
@@ -119,25 +119,25 @@ export declare const pricingExample: {
119
119
  multiline: boolean;
120
120
  }[];
121
121
  };
122
- readonly multiline?: undefined;
122
+ multiline?: undefined;
123
123
  ui?: undefined;
124
- readonly defaultValue?: undefined;
124
+ defaultValue?: undefined;
125
125
  } | {
126
126
  id: string;
127
127
  type: string;
128
128
  label: string;
129
129
  required: boolean;
130
- readonly multiline?: undefined;
130
+ multiline?: undefined;
131
131
  ui?: undefined;
132
- readonly defaultValue?: undefined;
132
+ defaultValue?: undefined;
133
133
  itemLabel?: undefined;
134
134
  minItems?: undefined;
135
135
  allowConversion?: undefined;
136
136
  schema?: undefined;
137
137
  })[];
138
138
  };
139
- readonly multiline?: undefined;
140
- readonly defaultValue?: undefined;
139
+ multiline?: undefined;
140
+ defaultValue?: undefined;
141
141
  })[];
142
142
  layout: {
143
143
  type: string;
@@ -34,7 +34,7 @@ export declare const testimonialsExample: {
34
34
  label: string;
35
35
  required: boolean;
36
36
  multiline: boolean;
37
- readonly defaultValue?: undefined;
37
+ defaultValue?: undefined;
38
38
  itemLabel?: undefined;
39
39
  itemLabelSource?: undefined;
40
40
  minItems?: undefined;
@@ -65,11 +65,11 @@ export declare const testimonialsExample: {
65
65
  label: string;
66
66
  required: boolean;
67
67
  mediaKinds: string[];
68
- readonly multiline?: undefined;
68
+ multiline?: undefined;
69
69
  })[];
70
70
  };
71
- readonly multiline?: undefined;
72
- readonly defaultValue?: undefined;
71
+ multiline?: undefined;
72
+ defaultValue?: undefined;
73
73
  })[];
74
74
  layout: {
75
75
  type: string;
@@ -132,7 +132,7 @@ export declare function normalizeLlmMediaAtRule(atRule: z.infer<typeof llmMediaA
132
132
  };
133
133
  /**
134
134
  * Combined field schema for LLM output.
135
- * Supports: text, richText, media, boolean, link, select, number, group, repeater.
135
+ * Supports: text, richText, media, file, boolean, link, select, number, group, repeater.
136
136
  */
137
137
  declare const llmFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
138
138
  id: z.ZodString;
@@ -161,6 +161,16 @@ declare const llmFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
161
161
  image: "image";
162
162
  video: "video";
163
163
  audio: "audio";
164
+ }>>>;
165
+ }, z.core.$strip>, z.ZodObject<{
166
+ id: z.ZodString;
167
+ label: z.ZodString;
168
+ description: z.ZodNullable<z.ZodString>;
169
+ required: z.ZodBoolean;
170
+ defaultValue: z.ZodNullable<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
171
+ type: z.ZodLiteral<"file">;
172
+ fileKinds: z.ZodNullable<z.ZodArray<z.ZodEnum<{
173
+ audio: "audio";
164
174
  document: "document";
165
175
  spreadsheet: "spreadsheet";
166
176
  archive: "archive";
@@ -438,7 +438,8 @@ export type ContentEntryListItem<TContent = Record<string, unknown>> = {
438
438
  export type PublicContentTypeFieldMeta = {
439
439
  id: string;
440
440
  type: string;
441
- mediaKinds: Array<"image" | "video" | "audio" | "document" | "spreadsheet" | "archive"> | null;
441
+ mediaKinds: Array<"image" | "video" | "audio"> | null;
442
+ fileKinds: Array<"document" | "spreadsheet" | "archive" | "audio"> | null;
442
443
  };
443
444
  export type PublicContentTypeMeta = {
444
445
  key: string;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.70.3";
11
+ export declare const SDK_VERSION = "0.70.4";