@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/config.mjs
CHANGED
|
@@ -6743,6 +6743,28 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
6743
6743
|
|
|
6744
6744
|
// ../blocks/src/system/manifest/schema.ts
|
|
6745
6745
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
6746
|
+
var MEDIA_KINDS = [
|
|
6747
|
+
"image",
|
|
6748
|
+
"video",
|
|
6749
|
+
"audio",
|
|
6750
|
+
"document",
|
|
6751
|
+
"spreadsheet",
|
|
6752
|
+
"archive"
|
|
6753
|
+
];
|
|
6754
|
+
var DISPLAY_MEDIA_KINDS = [
|
|
6755
|
+
"image",
|
|
6756
|
+
"video",
|
|
6757
|
+
"audio"
|
|
6758
|
+
];
|
|
6759
|
+
var PUBLIC_FILE_FIELD_KINDS = [
|
|
6760
|
+
"document",
|
|
6761
|
+
"spreadsheet",
|
|
6762
|
+
"archive",
|
|
6763
|
+
"audio"
|
|
6764
|
+
];
|
|
6765
|
+
function isDisplayMediaKind(kind) {
|
|
6766
|
+
return DISPLAY_MEDIA_KINDS.includes(kind);
|
|
6767
|
+
}
|
|
6746
6768
|
var siteOptionSources = [
|
|
6747
6769
|
"eventCategories",
|
|
6748
6770
|
"venues",
|
|
@@ -6906,11 +6928,19 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
6906
6928
|
});
|
|
6907
6929
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
6908
6930
|
type: z4.literal("media"),
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6931
|
+
// Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
|
|
6932
|
+
// New authoring surfaces should use `file.fileKinds` for document/archive
|
|
6933
|
+
// style assets, but old saved schemas must not fail to open.
|
|
6934
|
+
mediaKinds: z4.array(z4.enum(MEDIA_KINDS)).default(["image"]).transform((kinds) => {
|
|
6935
|
+
const displayKinds = kinds.filter(isDisplayMediaKind);
|
|
6936
|
+
return displayKinds.length > 0 ? displayKinds : ["image"];
|
|
6937
|
+
}),
|
|
6912
6938
|
aspectRatio: z4.string().optional()
|
|
6913
6939
|
});
|
|
6940
|
+
var fileFieldSchema = baseFieldSchema.extend({
|
|
6941
|
+
type: z4.literal("file"),
|
|
6942
|
+
fileKinds: z4.array(z4.enum(PUBLIC_FILE_FIELD_KINDS)).default([...PUBLIC_FILE_FIELD_KINDS])
|
|
6943
|
+
});
|
|
6914
6944
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
6915
6945
|
type: z4.literal("boolean")
|
|
6916
6946
|
});
|
|
@@ -7216,6 +7246,7 @@ function getFieldSchemaInternal() {
|
|
|
7216
7246
|
textFieldSchema,
|
|
7217
7247
|
richTextFieldSchema,
|
|
7218
7248
|
mediaFieldSchema,
|
|
7249
|
+
fileFieldSchema,
|
|
7219
7250
|
booleanFieldSchema,
|
|
7220
7251
|
numberFieldSchema,
|
|
7221
7252
|
dateFieldSchema,
|
|
@@ -14341,13 +14372,18 @@ var fragmentDataSchema = z27.object({
|
|
|
14341
14372
|
loader: dataLoaderSchema.optional()
|
|
14342
14373
|
});
|
|
14343
14374
|
var fragmentConfigSchema = z27.object({
|
|
14344
|
-
id: z27.string().min(1, "Fragment id is required").regex(
|
|
14375
|
+
id: z27.string().min(1, "Fragment id is required").regex(
|
|
14376
|
+
FRAGMENT_ID_PATTERN,
|
|
14377
|
+
"Fragment id must be alphanumeric with optional . _ - separators"
|
|
14378
|
+
),
|
|
14345
14379
|
title: z27.string().optional(),
|
|
14346
14380
|
description: z27.string().optional(),
|
|
14347
14381
|
category: z27.enum(["content", "media", "interactive", "layout"]).optional(),
|
|
14348
14382
|
icon: z27.string().optional(),
|
|
14349
14383
|
fields: fieldSchema.array().default([]),
|
|
14350
|
-
layout: z27.union([NodeSchema, NodeSchema.array()]).transform(
|
|
14384
|
+
layout: z27.union([NodeSchema, NodeSchema.array()]).transform(
|
|
14385
|
+
(value) => Array.isArray(value) ? value : [value]
|
|
14386
|
+
),
|
|
14351
14387
|
data: fragmentDataSchema.optional()
|
|
14352
14388
|
});
|
|
14353
14389
|
var FragmentConfigError = class extends Error {
|
|
@@ -14369,13 +14405,19 @@ function defineFragment(config) {
|
|
|
14369
14405
|
function scopeFragmentFields(fragment, scope) {
|
|
14370
14406
|
const normalizedScope = scope.trim();
|
|
14371
14407
|
if (!normalizedScope) {
|
|
14372
|
-
return fragment.fields.map(
|
|
14408
|
+
return fragment.fields.map(
|
|
14409
|
+
(field) => cloneFieldDefinition2(field)
|
|
14410
|
+
);
|
|
14373
14411
|
}
|
|
14374
|
-
return fragment.fields.map(
|
|
14412
|
+
return fragment.fields.map(
|
|
14413
|
+
(field) => prefixFieldId(field, normalizedScope)
|
|
14414
|
+
);
|
|
14375
14415
|
}
|
|
14376
14416
|
function scopeFragmentLayout(fragment, scope) {
|
|
14377
14417
|
const normalizedScope = scope.trim();
|
|
14378
|
-
return fragment.layout.map(
|
|
14418
|
+
return fragment.layout.map(
|
|
14419
|
+
(node) => cloneAndScopeNode(node, normalizedScope)
|
|
14420
|
+
);
|
|
14379
14421
|
}
|
|
14380
14422
|
function validateFieldDefinitions(fields3, fragmentId) {
|
|
14381
14423
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -14457,7 +14499,9 @@ function cloneAndScopeNode(node, scope) {
|
|
|
14457
14499
|
...node
|
|
14458
14500
|
};
|
|
14459
14501
|
if (node.children) {
|
|
14460
|
-
cloned.children = node.children.map(
|
|
14502
|
+
cloned.children = node.children.map(
|
|
14503
|
+
(child) => cloneAndScopeNode(child, scope)
|
|
14504
|
+
);
|
|
14461
14505
|
}
|
|
14462
14506
|
if (node.props) {
|
|
14463
14507
|
cloned.props = scopePropBindings(node.props, scope);
|
|
@@ -14483,7 +14527,9 @@ function scopeBinding(binding, scope) {
|
|
|
14483
14527
|
const cloned = {
|
|
14484
14528
|
...binding,
|
|
14485
14529
|
transforms: binding.transforms?.map(
|
|
14486
|
-
(step) => ({
|
|
14530
|
+
(step) => ({
|
|
14531
|
+
...step
|
|
14532
|
+
})
|
|
14487
14533
|
) ?? []
|
|
14488
14534
|
};
|
|
14489
14535
|
cloned.from = scopeContentPath(binding.from, scope);
|
|
@@ -14527,7 +14573,9 @@ function scopePropValue(value, scope) {
|
|
|
14527
14573
|
};
|
|
14528
14574
|
}
|
|
14529
14575
|
const result = {};
|
|
14530
|
-
for (const [key, entry] of Object.entries(
|
|
14576
|
+
for (const [key, entry] of Object.entries(
|
|
14577
|
+
value
|
|
14578
|
+
)) {
|
|
14531
14579
|
result[key] = scopePropValue(entry, scope);
|
|
14532
14580
|
}
|
|
14533
14581
|
return result;
|
|
@@ -14976,28 +15024,29 @@ var ctaRowFragment = defineFragment({
|
|
|
14976
15024
|
});
|
|
14977
15025
|
|
|
14978
15026
|
// ../blocks/src/system/fragments/library/heroCtaRow.ts
|
|
15027
|
+
var heroCtaFields = [
|
|
15028
|
+
createCtasRepeater({
|
|
15029
|
+
label: "Calls to action",
|
|
15030
|
+
itemLabel: "CTA",
|
|
15031
|
+
maxItems: 3,
|
|
15032
|
+
button: {
|
|
15033
|
+
variants: [
|
|
15034
|
+
{ value: "default", label: "Default" },
|
|
15035
|
+
{ value: "primary", label: "Primary" },
|
|
15036
|
+
{ value: "secondary", label: "Secondary" },
|
|
15037
|
+
{ value: "outline", label: "Outline" }
|
|
15038
|
+
],
|
|
15039
|
+
defaultVariant: "default",
|
|
15040
|
+
includeSize: true,
|
|
15041
|
+
defaultSize: "lg"
|
|
15042
|
+
}
|
|
15043
|
+
})
|
|
15044
|
+
];
|
|
14979
15045
|
var heroCtaRowFragment = defineFragment({
|
|
14980
15046
|
id: "heroCtaRow",
|
|
14981
15047
|
title: "Hero CTAs",
|
|
14982
15048
|
description: "Repeatable hero calls to action rendered inline.",
|
|
14983
|
-
fields:
|
|
14984
|
-
createCtasRepeater({
|
|
14985
|
-
label: "Calls to action",
|
|
14986
|
-
itemLabel: "CTA",
|
|
14987
|
-
maxItems: 3,
|
|
14988
|
-
button: {
|
|
14989
|
-
variants: [
|
|
14990
|
-
{ value: "default", label: "Default" },
|
|
14991
|
-
{ value: "primary", label: "Primary" },
|
|
14992
|
-
{ value: "secondary", label: "Secondary" },
|
|
14993
|
-
{ value: "outline", label: "Outline" }
|
|
14994
|
-
],
|
|
14995
|
-
defaultVariant: "default",
|
|
14996
|
-
includeSize: true,
|
|
14997
|
-
defaultSize: "lg"
|
|
14998
|
-
}
|
|
14999
|
-
})
|
|
15000
|
-
],
|
|
15049
|
+
fields: heroCtaFields,
|
|
15001
15050
|
layout: [
|
|
15002
15051
|
ctaRow({
|
|
15003
15052
|
collectionPath: "content.ctas",
|
|
@@ -20854,8 +20903,7 @@ var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
|
20854
20903
|
"document",
|
|
20855
20904
|
"spreadsheet",
|
|
20856
20905
|
"archive",
|
|
20857
|
-
"audio"
|
|
20858
|
-
"video"
|
|
20906
|
+
"audio"
|
|
20859
20907
|
];
|
|
20860
20908
|
var hotspotSchema2 = z38.object({
|
|
20861
20909
|
x: z38.number().min(0).max(1),
|
|
@@ -22430,104 +22478,107 @@ var courseDetailsBlockDefinition = {
|
|
|
22430
22478
|
};
|
|
22431
22479
|
|
|
22432
22480
|
// ../blocks/src/system/blocks/events/event-spotlight.ts
|
|
22433
|
-
var
|
|
22481
|
+
var eventSpotlightFields = [
|
|
22482
|
+
...sectionHeaderFields("Upcoming Events"),
|
|
22483
|
+
{
|
|
22484
|
+
id: "maxEvents",
|
|
22485
|
+
type: "select",
|
|
22486
|
+
label: "Events to display",
|
|
22487
|
+
description: "Number of events to show",
|
|
22488
|
+
required: false,
|
|
22489
|
+
multiple: false,
|
|
22490
|
+
defaultValue: "3",
|
|
22491
|
+
options: [
|
|
22492
|
+
{ value: "1", label: "1 event" },
|
|
22493
|
+
{ value: "2", label: "2 events" },
|
|
22494
|
+
{ value: "3", label: "3 events" },
|
|
22495
|
+
{ value: "4", label: "4 events" },
|
|
22496
|
+
{ value: "5", label: "5 events" },
|
|
22497
|
+
{ value: "6", label: "6 events" }
|
|
22498
|
+
],
|
|
22499
|
+
ui: { intent: "display" }
|
|
22500
|
+
},
|
|
22501
|
+
{
|
|
22502
|
+
id: "ctaLabel",
|
|
22503
|
+
type: "text",
|
|
22504
|
+
label: "Section button text",
|
|
22505
|
+
description: "Optional button shown below the spotlight cards",
|
|
22506
|
+
required: false,
|
|
22507
|
+
multiline: false,
|
|
22508
|
+
maxLength: 40,
|
|
22509
|
+
ui: { intent: "content" }
|
|
22510
|
+
},
|
|
22511
|
+
{
|
|
22512
|
+
id: "ctaUrl",
|
|
22513
|
+
type: "link",
|
|
22514
|
+
label: "Section button destination",
|
|
22515
|
+
required: false,
|
|
22516
|
+
ui: { intent: "display" }
|
|
22517
|
+
},
|
|
22518
|
+
layoutField,
|
|
22519
|
+
columnsField(["2", "3"]),
|
|
22520
|
+
...cardStylingFields,
|
|
22521
|
+
...eventDisplayFields,
|
|
22522
|
+
emptyStateField,
|
|
22523
|
+
sectionStylesField({
|
|
22524
|
+
id: "_sectionStyles",
|
|
22525
|
+
label: "Section styles"
|
|
22526
|
+
})
|
|
22527
|
+
];
|
|
22528
|
+
var eventSpotlightLayout = [
|
|
22529
|
+
styledSection({
|
|
22530
|
+
children: sectionContainer([
|
|
22531
|
+
// Optional heading
|
|
22532
|
+
text(
|
|
22533
|
+
{ as: "h2" },
|
|
22534
|
+
bind("content.heading"),
|
|
22535
|
+
when("content.heading")
|
|
22536
|
+
),
|
|
22537
|
+
// Optional description
|
|
22538
|
+
richText(
|
|
22539
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
22540
|
+
bind("content.description"),
|
|
22541
|
+
when("content.description")
|
|
22542
|
+
),
|
|
22543
|
+
// Event spotlight component
|
|
22544
|
+
el("event-spotlight", {
|
|
22545
|
+
events: { $bind: { from: "data.events" } },
|
|
22546
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
22547
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
22548
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
22549
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
22550
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
22551
|
+
ctaLabel: { $bind: { from: "content.ctaLabel" } },
|
|
22552
|
+
ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
|
|
22553
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22554
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
22555
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22556
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22557
|
+
})
|
|
22558
|
+
], {
|
|
22559
|
+
gap: "lg"
|
|
22560
|
+
}),
|
|
22561
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
22562
|
+
baseClass: "",
|
|
22563
|
+
spacing: "comfortable"
|
|
22564
|
+
})
|
|
22565
|
+
];
|
|
22566
|
+
var eventSpotlightConfig = {
|
|
22434
22567
|
id: "block.event-spotlight",
|
|
22435
22568
|
version: "1.1.0",
|
|
22436
22569
|
title: "Event Spotlight",
|
|
22437
22570
|
titleSource: "heading",
|
|
22438
22571
|
description: "Feature a few upcoming events on your homepage",
|
|
22439
22572
|
skipSectionStyles: true,
|
|
22440
|
-
additionalFields:
|
|
22441
|
-
...sectionHeaderFields("Upcoming Events"),
|
|
22442
|
-
{
|
|
22443
|
-
id: "maxEvents",
|
|
22444
|
-
type: "select",
|
|
22445
|
-
label: "Events to display",
|
|
22446
|
-
description: "Number of events to show",
|
|
22447
|
-
required: false,
|
|
22448
|
-
multiple: false,
|
|
22449
|
-
defaultValue: "3",
|
|
22450
|
-
options: [
|
|
22451
|
-
{ value: "1", label: "1 event" },
|
|
22452
|
-
{ value: "2", label: "2 events" },
|
|
22453
|
-
{ value: "3", label: "3 events" },
|
|
22454
|
-
{ value: "4", label: "4 events" },
|
|
22455
|
-
{ value: "5", label: "5 events" },
|
|
22456
|
-
{ value: "6", label: "6 events" }
|
|
22457
|
-
],
|
|
22458
|
-
ui: { intent: "display" }
|
|
22459
|
-
},
|
|
22460
|
-
{
|
|
22461
|
-
id: "ctaLabel",
|
|
22462
|
-
type: "text",
|
|
22463
|
-
label: "Section button text",
|
|
22464
|
-
description: "Optional button shown below the spotlight cards",
|
|
22465
|
-
required: false,
|
|
22466
|
-
multiline: false,
|
|
22467
|
-
maxLength: 40,
|
|
22468
|
-
ui: { intent: "content" }
|
|
22469
|
-
},
|
|
22470
|
-
{
|
|
22471
|
-
id: "ctaUrl",
|
|
22472
|
-
type: "link",
|
|
22473
|
-
label: "Section button destination",
|
|
22474
|
-
required: false,
|
|
22475
|
-
ui: { intent: "display" }
|
|
22476
|
-
},
|
|
22477
|
-
layoutField,
|
|
22478
|
-
columnsField(["2", "3"]),
|
|
22479
|
-
...cardStylingFields,
|
|
22480
|
-
...eventDisplayFields,
|
|
22481
|
-
emptyStateField,
|
|
22482
|
-
sectionStylesField({
|
|
22483
|
-
id: "_sectionStyles",
|
|
22484
|
-
label: "Section styles"
|
|
22485
|
-
})
|
|
22486
|
-
],
|
|
22573
|
+
additionalFields: eventSpotlightFields,
|
|
22487
22574
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
22488
22575
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: false },
|
|
22489
22576
|
category: "content",
|
|
22490
22577
|
tags: ["events", "featured", "homepage", "spotlight", "upcoming"],
|
|
22491
22578
|
icon: "Star",
|
|
22492
|
-
layout:
|
|
22493
|
-
|
|
22494
|
-
|
|
22495
|
-
// Optional heading
|
|
22496
|
-
text(
|
|
22497
|
-
{ as: "h2" },
|
|
22498
|
-
bind("content.heading"),
|
|
22499
|
-
when("content.heading")
|
|
22500
|
-
),
|
|
22501
|
-
// Optional description
|
|
22502
|
-
richText(
|
|
22503
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
22504
|
-
bind("content.description"),
|
|
22505
|
-
when("content.description")
|
|
22506
|
-
),
|
|
22507
|
-
// Event spotlight component
|
|
22508
|
-
el("event-spotlight", {
|
|
22509
|
-
events: { $bind: { from: "data.events" } },
|
|
22510
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
22511
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
22512
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
22513
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
22514
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
22515
|
-
ctaLabel: { $bind: { from: "content.ctaLabel" } },
|
|
22516
|
-
ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
|
|
22517
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22518
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
22519
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22520
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22521
|
-
})
|
|
22522
|
-
], {
|
|
22523
|
-
gap: "lg"
|
|
22524
|
-
}),
|
|
22525
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
22526
|
-
baseClass: "",
|
|
22527
|
-
spacing: "comfortable"
|
|
22528
|
-
})
|
|
22529
|
-
]
|
|
22530
|
-
});
|
|
22579
|
+
layout: eventSpotlightLayout
|
|
22580
|
+
};
|
|
22581
|
+
var eventSpotlightManifest = createBlockManifest(eventSpotlightConfig);
|
|
22531
22582
|
var eventSpotlightBlockDefinition = {
|
|
22532
22583
|
manifest: eventSpotlightManifest,
|
|
22533
22584
|
dataSchemas: {
|
|
@@ -25217,18 +25268,18 @@ var fileDownloadManifest = createBlockManifest({
|
|
|
25217
25268
|
title: "File Download",
|
|
25218
25269
|
titleSource: ["title", "file.filename"],
|
|
25219
25270
|
category: "media",
|
|
25220
|
-
description: "Add a simple public download link for a document, ZIP,
|
|
25271
|
+
description: "Add a simple public download link for a document, ZIP, or audio file.",
|
|
25221
25272
|
tags: ["file", "download", "document", "zip", "media"],
|
|
25222
25273
|
icon: "Download",
|
|
25223
25274
|
includeContainerStyles: true,
|
|
25224
25275
|
additionalFields: [
|
|
25225
25276
|
{
|
|
25226
25277
|
id: "file",
|
|
25227
|
-
type: "
|
|
25278
|
+
type: "file",
|
|
25228
25279
|
label: "Download file",
|
|
25229
25280
|
description: "Choose the file visitors can download.",
|
|
25230
25281
|
required: false,
|
|
25231
|
-
|
|
25282
|
+
fileKinds: [...PUBLIC_DOWNLOAD_MEDIA_TYPES],
|
|
25232
25283
|
ui: { intent: "content" }
|
|
25233
25284
|
},
|
|
25234
25285
|
{
|