@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
@@ -6830,7 +6830,7 @@ var SimpleCache = class {
6830
6830
  };
6831
6831
 
6832
6832
  // src/version.ts
6833
- var SDK_VERSION = "0.70.3";
6833
+ var SDK_VERSION = "0.70.4";
6834
6834
 
6835
6835
  // src/client/error.ts
6836
6836
  var RiverbankApiError = class _RiverbankApiError extends Error {
@@ -8387,6 +8387,28 @@ function resolveRepeaterGridColumnFieldId(options) {
8387
8387
 
8388
8388
  // ../blocks/src/system/manifest/schema.ts
8389
8389
  var visibilityLevels = ["admin", "designer", "author"];
8390
+ var MEDIA_KINDS = [
8391
+ "image",
8392
+ "video",
8393
+ "audio",
8394
+ "document",
8395
+ "spreadsheet",
8396
+ "archive"
8397
+ ];
8398
+ var DISPLAY_MEDIA_KINDS = [
8399
+ "image",
8400
+ "video",
8401
+ "audio"
8402
+ ];
8403
+ var PUBLIC_FILE_FIELD_KINDS = [
8404
+ "document",
8405
+ "spreadsheet",
8406
+ "archive",
8407
+ "audio"
8408
+ ];
8409
+ function isDisplayMediaKind(kind) {
8410
+ return DISPLAY_MEDIA_KINDS.includes(kind);
8411
+ }
8390
8412
  var siteOptionSources = [
8391
8413
  "eventCategories",
8392
8414
  "venues",
@@ -8550,11 +8572,19 @@ var richTextFieldSchema = baseFieldSchema.extend({
8550
8572
  });
8551
8573
  var mediaFieldSchema = baseFieldSchema.extend({
8552
8574
  type: z4.literal("media"),
8553
- mediaKinds: z4.array(
8554
- z4.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
8555
- ).default(["image"]),
8575
+ // Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
8576
+ // New authoring surfaces should use `file.fileKinds` for document/archive
8577
+ // style assets, but old saved schemas must not fail to open.
8578
+ mediaKinds: z4.array(z4.enum(MEDIA_KINDS)).default(["image"]).transform((kinds) => {
8579
+ const displayKinds = kinds.filter(isDisplayMediaKind);
8580
+ return displayKinds.length > 0 ? displayKinds : ["image"];
8581
+ }),
8556
8582
  aspectRatio: z4.string().optional()
8557
8583
  });
8584
+ var fileFieldSchema = baseFieldSchema.extend({
8585
+ type: z4.literal("file"),
8586
+ fileKinds: z4.array(z4.enum(PUBLIC_FILE_FIELD_KINDS)).default([...PUBLIC_FILE_FIELD_KINDS])
8587
+ });
8558
8588
  var booleanFieldSchema = baseFieldSchema.extend({
8559
8589
  type: z4.literal("boolean")
8560
8590
  });
@@ -8860,6 +8890,7 @@ function getFieldSchemaInternal() {
8860
8890
  textFieldSchema,
8861
8891
  richTextFieldSchema,
8862
8892
  mediaFieldSchema,
8893
+ fileFieldSchema,
8863
8894
  booleanFieldSchema,
8864
8895
  numberFieldSchema,
8865
8896
  dateFieldSchema,
@@ -15996,13 +16027,18 @@ var fragmentDataSchema = z27.object({
15996
16027
  loader: dataLoaderSchema.optional()
15997
16028
  });
15998
16029
  var fragmentConfigSchema = z27.object({
15999
- id: z27.string().min(1, "Fragment id is required").regex(FRAGMENT_ID_PATTERN, "Fragment id must be alphanumeric with optional . _ - separators"),
16030
+ id: z27.string().min(1, "Fragment id is required").regex(
16031
+ FRAGMENT_ID_PATTERN,
16032
+ "Fragment id must be alphanumeric with optional . _ - separators"
16033
+ ),
16000
16034
  title: z27.string().optional(),
16001
16035
  description: z27.string().optional(),
16002
16036
  category: z27.enum(["content", "media", "interactive", "layout"]).optional(),
16003
16037
  icon: z27.string().optional(),
16004
16038
  fields: fieldSchema.array().default([]),
16005
- layout: z27.union([NodeSchema, NodeSchema.array()]).transform((value) => Array.isArray(value) ? value : [value]),
16039
+ layout: z27.union([NodeSchema, NodeSchema.array()]).transform(
16040
+ (value) => Array.isArray(value) ? value : [value]
16041
+ ),
16006
16042
  data: fragmentDataSchema.optional()
16007
16043
  });
16008
16044
  var FragmentConfigError = class extends Error {
@@ -16024,13 +16060,19 @@ function defineFragment(config) {
16024
16060
  function scopeFragmentFields(fragment, scope) {
16025
16061
  const normalizedScope = scope.trim();
16026
16062
  if (!normalizedScope) {
16027
- return fragment.fields.map((field) => cloneFieldDefinition2(field));
16063
+ return fragment.fields.map(
16064
+ (field) => cloneFieldDefinition2(field)
16065
+ );
16028
16066
  }
16029
- return fragment.fields.map((field) => prefixFieldId(field, normalizedScope));
16067
+ return fragment.fields.map(
16068
+ (field) => prefixFieldId(field, normalizedScope)
16069
+ );
16030
16070
  }
16031
16071
  function scopeFragmentLayout(fragment, scope) {
16032
16072
  const normalizedScope = scope.trim();
16033
- return fragment.layout.map((node) => cloneAndScopeNode(node, normalizedScope));
16073
+ return fragment.layout.map(
16074
+ (node) => cloneAndScopeNode(node, normalizedScope)
16075
+ );
16034
16076
  }
16035
16077
  function validateFieldDefinitions(fields3, fragmentId) {
16036
16078
  const seen = /* @__PURE__ */ new Set();
@@ -16112,7 +16154,9 @@ function cloneAndScopeNode(node, scope) {
16112
16154
  ...node
16113
16155
  };
16114
16156
  if (node.children) {
16115
- cloned.children = node.children.map((child) => cloneAndScopeNode(child, scope));
16157
+ cloned.children = node.children.map(
16158
+ (child) => cloneAndScopeNode(child, scope)
16159
+ );
16116
16160
  }
16117
16161
  if (node.props) {
16118
16162
  cloned.props = scopePropBindings(node.props, scope);
@@ -16138,7 +16182,9 @@ function scopeBinding(binding, scope) {
16138
16182
  const cloned = {
16139
16183
  ...binding,
16140
16184
  transforms: binding.transforms?.map(
16141
- (step) => ({ ...step })
16185
+ (step) => ({
16186
+ ...step
16187
+ })
16142
16188
  ) ?? []
16143
16189
  };
16144
16190
  cloned.from = scopeContentPath(binding.from, scope);
@@ -16182,7 +16228,9 @@ function scopePropValue(value, scope) {
16182
16228
  };
16183
16229
  }
16184
16230
  const result = {};
16185
- for (const [key, entry] of Object.entries(value)) {
16231
+ for (const [key, entry] of Object.entries(
16232
+ value
16233
+ )) {
16186
16234
  result[key] = scopePropValue(entry, scope);
16187
16235
  }
16188
16236
  return result;
@@ -16631,28 +16679,29 @@ var ctaRowFragment = defineFragment({
16631
16679
  });
16632
16680
 
16633
16681
  // ../blocks/src/system/fragments/library/heroCtaRow.ts
16682
+ var heroCtaFields = [
16683
+ createCtasRepeater({
16684
+ label: "Calls to action",
16685
+ itemLabel: "CTA",
16686
+ maxItems: 3,
16687
+ button: {
16688
+ variants: [
16689
+ { value: "default", label: "Default" },
16690
+ { value: "primary", label: "Primary" },
16691
+ { value: "secondary", label: "Secondary" },
16692
+ { value: "outline", label: "Outline" }
16693
+ ],
16694
+ defaultVariant: "default",
16695
+ includeSize: true,
16696
+ defaultSize: "lg"
16697
+ }
16698
+ })
16699
+ ];
16634
16700
  var heroCtaRowFragment = defineFragment({
16635
16701
  id: "heroCtaRow",
16636
16702
  title: "Hero CTAs",
16637
16703
  description: "Repeatable hero calls to action rendered inline.",
16638
- fields: [
16639
- createCtasRepeater({
16640
- label: "Calls to action",
16641
- itemLabel: "CTA",
16642
- maxItems: 3,
16643
- button: {
16644
- variants: [
16645
- { value: "default", label: "Default" },
16646
- { value: "primary", label: "Primary" },
16647
- { value: "secondary", label: "Secondary" },
16648
- { value: "outline", label: "Outline" }
16649
- ],
16650
- defaultVariant: "default",
16651
- includeSize: true,
16652
- defaultSize: "lg"
16653
- }
16654
- })
16655
- ],
16704
+ fields: heroCtaFields,
16656
16705
  layout: [
16657
16706
  ctaRow({
16658
16707
  collectionPath: "content.ctas",
@@ -22512,8 +22561,7 @@ var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
22512
22561
  "document",
22513
22562
  "spreadsheet",
22514
22563
  "archive",
22515
- "audio",
22516
- "video"
22564
+ "audio"
22517
22565
  ];
22518
22566
  var hotspotSchema2 = z38.object({
22519
22567
  x: z38.number().min(0).max(1),
@@ -24088,104 +24136,107 @@ var courseDetailsBlockDefinition = {
24088
24136
  };
24089
24137
 
24090
24138
  // ../blocks/src/system/blocks/events/event-spotlight.ts
24091
- var eventSpotlightManifest = createBlockManifest({
24139
+ var eventSpotlightFields = [
24140
+ ...sectionHeaderFields("Upcoming Events"),
24141
+ {
24142
+ id: "maxEvents",
24143
+ type: "select",
24144
+ label: "Events to display",
24145
+ description: "Number of events to show",
24146
+ required: false,
24147
+ multiple: false,
24148
+ defaultValue: "3",
24149
+ options: [
24150
+ { value: "1", label: "1 event" },
24151
+ { value: "2", label: "2 events" },
24152
+ { value: "3", label: "3 events" },
24153
+ { value: "4", label: "4 events" },
24154
+ { value: "5", label: "5 events" },
24155
+ { value: "6", label: "6 events" }
24156
+ ],
24157
+ ui: { intent: "display" }
24158
+ },
24159
+ {
24160
+ id: "ctaLabel",
24161
+ type: "text",
24162
+ label: "Section button text",
24163
+ description: "Optional button shown below the spotlight cards",
24164
+ required: false,
24165
+ multiline: false,
24166
+ maxLength: 40,
24167
+ ui: { intent: "content" }
24168
+ },
24169
+ {
24170
+ id: "ctaUrl",
24171
+ type: "link",
24172
+ label: "Section button destination",
24173
+ required: false,
24174
+ ui: { intent: "display" }
24175
+ },
24176
+ layoutField,
24177
+ columnsField(["2", "3"]),
24178
+ ...cardStylingFields,
24179
+ ...eventDisplayFields,
24180
+ emptyStateField,
24181
+ sectionStylesField({
24182
+ id: "_sectionStyles",
24183
+ label: "Section styles"
24184
+ })
24185
+ ];
24186
+ var eventSpotlightLayout = [
24187
+ styledSection({
24188
+ children: sectionContainer([
24189
+ // Optional heading
24190
+ text(
24191
+ { as: "h2" },
24192
+ bind("content.heading"),
24193
+ when("content.heading")
24194
+ ),
24195
+ // Optional description
24196
+ richText(
24197
+ { className: "rb-prose rb-max-w-none" },
24198
+ bind("content.description"),
24199
+ when("content.description")
24200
+ ),
24201
+ // Event spotlight component
24202
+ el("event-spotlight", {
24203
+ events: { $bind: { from: "data.events" } },
24204
+ layout: { $bind: { from: "content.layout", fallback: "grid" } },
24205
+ columns: { $bind: { from: "content.columns", fallback: "3" } },
24206
+ cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
24207
+ buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
24208
+ buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
24209
+ ctaLabel: { $bind: { from: "content.ctaLabel" } },
24210
+ ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
24211
+ showVenue: { $bind: { from: "content.showVenue" } },
24212
+ showMap: { $bind: { from: "content.showMap" } },
24213
+ showCapacity: { $bind: { from: "content.showCapacity" } },
24214
+ emptyMessage: { $bind: { from: "content.emptyMessage" } }
24215
+ })
24216
+ ], {
24217
+ gap: "lg"
24218
+ }),
24219
+ // sectionContainer (rb-container) already provides horizontal padding
24220
+ baseClass: "",
24221
+ spacing: "comfortable"
24222
+ })
24223
+ ];
24224
+ var eventSpotlightConfig = {
24092
24225
  id: "block.event-spotlight",
24093
24226
  version: "1.1.0",
24094
24227
  title: "Event Spotlight",
24095
24228
  titleSource: "heading",
24096
24229
  description: "Feature a few upcoming events on your homepage",
24097
24230
  skipSectionStyles: true,
24098
- additionalFields: [
24099
- ...sectionHeaderFields("Upcoming Events"),
24100
- {
24101
- id: "maxEvents",
24102
- type: "select",
24103
- label: "Events to display",
24104
- description: "Number of events to show",
24105
- required: false,
24106
- multiple: false,
24107
- defaultValue: "3",
24108
- options: [
24109
- { value: "1", label: "1 event" },
24110
- { value: "2", label: "2 events" },
24111
- { value: "3", label: "3 events" },
24112
- { value: "4", label: "4 events" },
24113
- { value: "5", label: "5 events" },
24114
- { value: "6", label: "6 events" }
24115
- ],
24116
- ui: { intent: "display" }
24117
- },
24118
- {
24119
- id: "ctaLabel",
24120
- type: "text",
24121
- label: "Section button text",
24122
- description: "Optional button shown below the spotlight cards",
24123
- required: false,
24124
- multiline: false,
24125
- maxLength: 40,
24126
- ui: { intent: "content" }
24127
- },
24128
- {
24129
- id: "ctaUrl",
24130
- type: "link",
24131
- label: "Section button destination",
24132
- required: false,
24133
- ui: { intent: "display" }
24134
- },
24135
- layoutField,
24136
- columnsField(["2", "3"]),
24137
- ...cardStylingFields,
24138
- ...eventDisplayFields,
24139
- emptyStateField,
24140
- sectionStylesField({
24141
- id: "_sectionStyles",
24142
- label: "Section styles"
24143
- })
24144
- ],
24231
+ additionalFields: eventSpotlightFields,
24145
24232
  styleTokens: { background: "surface", typography: "body", spacing: "md" },
24146
24233
  behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: false },
24147
24234
  category: "content",
24148
24235
  tags: ["events", "featured", "homepage", "spotlight", "upcoming"],
24149
24236
  icon: "Star",
24150
- layout: [
24151
- styledSection({
24152
- children: sectionContainer([
24153
- // Optional heading
24154
- text(
24155
- { as: "h2" },
24156
- bind("content.heading"),
24157
- when("content.heading")
24158
- ),
24159
- // Optional description
24160
- richText(
24161
- { className: "rb-prose rb-max-w-none" },
24162
- bind("content.description"),
24163
- when("content.description")
24164
- ),
24165
- // Event spotlight component
24166
- el("event-spotlight", {
24167
- events: { $bind: { from: "data.events" } },
24168
- layout: { $bind: { from: "content.layout", fallback: "grid" } },
24169
- columns: { $bind: { from: "content.columns", fallback: "3" } },
24170
- cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
24171
- buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
24172
- buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
24173
- ctaLabel: { $bind: { from: "content.ctaLabel" } },
24174
- ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
24175
- showVenue: { $bind: { from: "content.showVenue" } },
24176
- showMap: { $bind: { from: "content.showMap" } },
24177
- showCapacity: { $bind: { from: "content.showCapacity" } },
24178
- emptyMessage: { $bind: { from: "content.emptyMessage" } }
24179
- })
24180
- ], {
24181
- gap: "lg"
24182
- }),
24183
- // sectionContainer (rb-container) already provides horizontal padding
24184
- baseClass: "",
24185
- spacing: "comfortable"
24186
- })
24187
- ]
24188
- });
24237
+ layout: eventSpotlightLayout
24238
+ };
24239
+ var eventSpotlightManifest = createBlockManifest(eventSpotlightConfig);
24189
24240
  var eventSpotlightBlockDefinition = {
24190
24241
  manifest: eventSpotlightManifest,
24191
24242
  dataSchemas: {
@@ -26875,18 +26926,18 @@ var fileDownloadManifest = createBlockManifest({
26875
26926
  title: "File Download",
26876
26927
  titleSource: ["title", "file.filename"],
26877
26928
  category: "media",
26878
- description: "Add a simple public download link for a document, ZIP, audio, or video file.",
26929
+ description: "Add a simple public download link for a document, ZIP, or audio file.",
26879
26930
  tags: ["file", "download", "document", "zip", "media"],
26880
26931
  icon: "Download",
26881
26932
  includeContainerStyles: true,
26882
26933
  additionalFields: [
26883
26934
  {
26884
26935
  id: "file",
26885
- type: "media",
26936
+ type: "file",
26886
26937
  label: "Download file",
26887
26938
  description: "Choose the file visitors can download.",
26888
26939
  required: false,
26889
- mediaKinds: [...PUBLIC_DOWNLOAD_MEDIA_TYPES],
26940
+ fileKinds: [...PUBLIC_DOWNLOAD_MEDIA_TYPES],
26890
26941
  ui: { intent: "content" }
26891
26942
  },
26892
26943
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.70.3",
3
+ "version": "0.70.4",
4
4
  "description": "Riverbank CMS SDK for headless content consumption",
5
5
  "main": "./dist/server/index.mjs",
6
6
  "module": "./dist/server/index.mjs",
@@ -226,6 +226,7 @@
226
226
  "test:edge-smoke": "sh -c \"cd src/next/__fixtures__/edge-theme-smoke && mkdir -p node_modules/@riverbankcms && ln -sfn ../../../../../.. node_modules/@riverbankcms/sdk && NEXT_TELEMETRY_DISABLED=1 next build\"",
227
227
  "test:lazy-overrides-smoke": "node scripts/lazy-overrides-smoke.mjs",
228
228
  "test:layout-page-hydration-smoke": "node scripts/layout-page-hydration-smoke.mjs",
229
+ "test:preview-client-smoke": "node scripts/preview-client-next-build-smoke.mjs",
229
230
  "verify": "./verify.sh",
230
231
  "cli": "tsx src/cli/index.ts"
231
232
  },