@riverbankcms/sdk 0.70.3 → 0.71.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 (82) 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/sdk/SdkPreviewMode.d.ts +1 -0
  46. package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -1
  47. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  48. package/dist/_dts/sdk/src/config/field-definitions.d.ts +6 -2
  49. package/dist/_dts/sdk/src/config/typed-entries.d.ts +4 -2
  50. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -1
  51. package/dist/_dts/sdk/src/manifest/prompt/examples/cta.d.ts +5 -5
  52. package/dist/_dts/sdk/src/manifest/prompt/examples/features-grid.d.ts +2 -2
  53. package/dist/_dts/sdk/src/manifest/prompt/examples/hero.d.ts +2 -2
  54. package/dist/_dts/sdk/src/manifest/prompt/examples/pricing.d.ts +10 -10
  55. package/dist/_dts/sdk/src/manifest/prompt/examples/testimonials.d.ts +4 -4
  56. package/dist/_dts/sdk/src/manifest/validation/output-schema.d.ts +11 -1
  57. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +19 -1
  58. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  59. package/dist/_dts/sdk/src/version.d.ts +1 -1
  60. package/dist/cli/index.mjs +395 -190
  61. package/dist/cli/init-docs/content/workflow-preview-mode.md +167 -0
  62. package/dist/client/client.mjs +243 -203
  63. package/dist/client/hooks.mjs +172 -121
  64. package/dist/client/rendering/client.mjs +148 -112
  65. package/dist/client/rendering/islands.mjs +80 -31
  66. package/dist/client/rendering.mjs +242 -202
  67. package/dist/preview-next/client/index.mjs +60 -10
  68. package/dist/preview-next/client/runtime.mjs +408 -1141
  69. package/dist/server/components.mjs +219 -171
  70. package/dist/server/config-template-validation.mjs +31 -1
  71. package/dist/server/config-validation.mjs +172 -121
  72. package/dist/server/config.mjs +172 -121
  73. package/dist/server/data.mjs +172 -121
  74. package/dist/server/index.mjs +1 -1
  75. package/dist/server/next.mjs +220 -172
  76. package/dist/server/page-converter.mjs +379 -185
  77. package/dist/server/prebuild.mjs +1 -1
  78. package/dist/server/rendering/server.mjs +219 -171
  79. package/dist/server/rendering.mjs +219 -171
  80. package/dist/server/routing.mjs +175 -124
  81. package/dist/server/server.mjs +173 -122
  82. package/package.json +6 -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";
@@ -1,2 +1,20 @@
1
+ import { type ReactNode } from "react";
2
+ import type { PreviewShellLayoutProps, PreviewShellProps, SdkPreviewModeProps } from "../../../../preview-next/src/client/index";
1
3
  export type { SdkPreviewModeContent, SdkPreviewModeProps, PreviewShellProps, PreviewShellLayoutProps, } from '../../../../preview-next/src/client/index';
2
- export { SdkPreviewMode, PreviewQueryProvider, createPreviewQueryClient, PreviewShell, PreviewShellLayout, PreviewLayoutProvider, usePreviewLayout, useOptionalPreviewLayout, } from './runtime';
4
+ type PreviewQueryProviderProps = Readonly<{
5
+ children: ReactNode;
6
+ }>;
7
+ type PreviewLayoutProviderProps = Readonly<{
8
+ headerNode: ReactNode;
9
+ bannerNode?: ReactNode;
10
+ footerNode: ReactNode;
11
+ children: ReactNode;
12
+ }>;
13
+ export declare function SdkPreviewMode(props: SdkPreviewModeProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function PreviewQueryProvider({ children }: PreviewQueryProviderProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function PreviewShell(props: PreviewShellProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function PreviewShellLayout(props: PreviewShellLayoutProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function PreviewLayoutProvider({ headerNode, bannerNode, footerNode, children, }: PreviewLayoutProviderProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function usePreviewLayout(): never;
19
+ export declare function useOptionalPreviewLayout(): never;
20
+ export declare function createPreviewQueryClient(): never;
@@ -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.71.0";