@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.
- package/dist/_dts/api/src/contentTypes.d.ts +2 -1
- package/dist/_dts/block-form/src/client/index.d.ts +1 -1
- package/dist/_dts/block-form/src/fields/types.d.ts +14 -2
- package/dist/_dts/block-form/src/registry/schemas.d.ts +2 -0
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +2 -2
- package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +2 -2
- package/dist/_dts/blocks/src/lib/media.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -30727
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +11 -30827
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +106 -1
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1829 -149
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +3 -3
- package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +2 -30793
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +2 -30727
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +2 -30779
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +33 -30743
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +2 -30770
- package/dist/_dts/blocks/src/system/fragments/types.d.ts +8 -7
- package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +7 -5
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +192 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/schema.d.ts +7 -0
- package/dist/_dts/content-model/src/contentManifest.d.ts +4 -1
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +1 -1
- package/dist/_dts/core/src/index.d.ts +1 -1
- package/dist/_dts/core/src/planner.d.ts +4 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +53 -20
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +6 -5
- package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +0 -1
- package/dist/_dts/media-editor/src/context.d.ts +4 -1
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +8 -1
- package/dist/_dts/media-react/src/index.d.ts +1 -5
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/widgets/PreviewMediaField.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +6 -2
- package/dist/_dts/sdk/src/config/typed-entries.d.ts +4 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +2 -1
- package/dist/_dts/sdk/src/manifest/prompt/examples/cta.d.ts +5 -5
- package/dist/_dts/sdk/src/manifest/prompt/examples/features-grid.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/prompt/examples/hero.d.ts +2 -2
- package/dist/_dts/sdk/src/manifest/prompt/examples/pricing.d.ts +10 -10
- package/dist/_dts/sdk/src/manifest/prompt/examples/testimonials.d.ts +4 -4
- package/dist/_dts/sdk/src/manifest/validation/output-schema.d.ts +11 -1
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +19 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/cli/index.mjs +395 -190
- package/dist/cli/init-docs/content/workflow-preview-mode.md +167 -0
- package/dist/client/client.mjs +243 -203
- package/dist/client/hooks.mjs +172 -121
- package/dist/client/rendering/client.mjs +148 -112
- package/dist/client/rendering/islands.mjs +80 -31
- package/dist/client/rendering.mjs +242 -202
- package/dist/preview-next/client/index.mjs +60 -10
- package/dist/preview-next/client/runtime.mjs +408 -1141
- package/dist/server/components.mjs +219 -171
- package/dist/server/config-template-validation.mjs +31 -1
- package/dist/server/config-validation.mjs +172 -121
- package/dist/server/config.mjs +172 -121
- package/dist/server/data.mjs +172 -121
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +220 -172
- package/dist/server/page-converter.mjs +379 -185
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +219 -171
- package/dist/server/rendering.mjs +219 -171
- package/dist/server/routing.mjs +175 -124
- package/dist/server/server.mjs +173 -122
- package/package.json +6 -1
package/dist/server/server.mjs
CHANGED
|
@@ -6830,7 +6830,7 @@ var SimpleCache = class {
|
|
|
6830
6830
|
};
|
|
6831
6831
|
|
|
6832
6832
|
// src/version.ts
|
|
6833
|
-
var SDK_VERSION = "0.
|
|
6833
|
+
var SDK_VERSION = "0.71.0";
|
|
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
|
-
|
|
8554
|
-
|
|
8555
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
16063
|
+
return fragment.fields.map(
|
|
16064
|
+
(field) => cloneFieldDefinition2(field)
|
|
16065
|
+
);
|
|
16028
16066
|
}
|
|
16029
|
-
return fragment.fields.map(
|
|
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(
|
|
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(
|
|
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) => ({
|
|
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(
|
|
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
|
|
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
|
-
|
|
24152
|
-
|
|
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,
|
|
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: "
|
|
26936
|
+
type: "file",
|
|
26886
26937
|
label: "Download file",
|
|
26887
26938
|
description: "Choose the file visitors can download.",
|
|
26888
26939
|
required: false,
|
|
26889
|
-
|
|
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.
|
|
3
|
+
"version": "0.71.0",
|
|
4
4
|
"description": "Riverbank CMS SDK for headless content consumption",
|
|
5
5
|
"main": "./dist/server/index.mjs",
|
|
6
6
|
"module": "./dist/server/index.mjs",
|
|
@@ -206,6 +206,10 @@
|
|
|
206
206
|
"types": "./dist/_dts/sdk/src/preview-next/client/index.d.ts",
|
|
207
207
|
"import": "./dist/preview-next/client/index.mjs"
|
|
208
208
|
},
|
|
209
|
+
"./preview-next/client/runtime": {
|
|
210
|
+
"types": "./dist/_dts/sdk/src/preview-next/client/runtime.d.ts",
|
|
211
|
+
"import": "./dist/preview-next/client/runtime.mjs"
|
|
212
|
+
},
|
|
209
213
|
"./preview-next/chrome.css": "./dist/preview-next/chrome.css",
|
|
210
214
|
"./preview-next/tailwind-sources.css": "./dist/preview-next/tailwind-sources.css",
|
|
211
215
|
"./preview-next/styles.css": "./dist/preview-next/styles.css"
|
|
@@ -226,6 +230,7 @@
|
|
|
226
230
|
"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
231
|
"test:lazy-overrides-smoke": "node scripts/lazy-overrides-smoke.mjs",
|
|
228
232
|
"test:layout-page-hydration-smoke": "node scripts/layout-page-hydration-smoke.mjs",
|
|
233
|
+
"test:preview-client-smoke": "node scripts/preview-client-next-build-smoke.mjs",
|
|
229
234
|
"verify": "./verify.sh",
|
|
230
235
|
"cli": "tsx src/cli/index.ts"
|
|
231
236
|
},
|