@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.
- 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/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/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/runtime.mjs +386 -1135
- 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 +2 -1
|
@@ -745,6 +745,28 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
745
745
|
|
|
746
746
|
// ../blocks/src/system/manifest/schema.ts
|
|
747
747
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
748
|
+
var MEDIA_KINDS = [
|
|
749
|
+
"image",
|
|
750
|
+
"video",
|
|
751
|
+
"audio",
|
|
752
|
+
"document",
|
|
753
|
+
"spreadsheet",
|
|
754
|
+
"archive"
|
|
755
|
+
];
|
|
756
|
+
var DISPLAY_MEDIA_KINDS = [
|
|
757
|
+
"image",
|
|
758
|
+
"video",
|
|
759
|
+
"audio"
|
|
760
|
+
];
|
|
761
|
+
var PUBLIC_FILE_FIELD_KINDS = [
|
|
762
|
+
"document",
|
|
763
|
+
"spreadsheet",
|
|
764
|
+
"archive",
|
|
765
|
+
"audio"
|
|
766
|
+
];
|
|
767
|
+
function isDisplayMediaKind(kind) {
|
|
768
|
+
return DISPLAY_MEDIA_KINDS.includes(kind);
|
|
769
|
+
}
|
|
748
770
|
var siteOptionSources = [
|
|
749
771
|
"eventCategories",
|
|
750
772
|
"venues",
|
|
@@ -908,11 +930,19 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
908
930
|
});
|
|
909
931
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
910
932
|
type: z3.literal("media"),
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
933
|
+
// Keep full MEDIA_KINDS parse compatibility for pre-file-field manifests.
|
|
934
|
+
// New authoring surfaces should use `file.fileKinds` for document/archive
|
|
935
|
+
// style assets, but old saved schemas must not fail to open.
|
|
936
|
+
mediaKinds: z3.array(z3.enum(MEDIA_KINDS)).default(["image"]).transform((kinds) => {
|
|
937
|
+
const displayKinds = kinds.filter(isDisplayMediaKind);
|
|
938
|
+
return displayKinds.length > 0 ? displayKinds : ["image"];
|
|
939
|
+
}),
|
|
914
940
|
aspectRatio: z3.string().optional()
|
|
915
941
|
});
|
|
942
|
+
var fileFieldSchema = baseFieldSchema.extend({
|
|
943
|
+
type: z3.literal("file"),
|
|
944
|
+
fileKinds: z3.array(z3.enum(PUBLIC_FILE_FIELD_KINDS)).default([...PUBLIC_FILE_FIELD_KINDS])
|
|
945
|
+
});
|
|
916
946
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
917
947
|
type: z3.literal("boolean")
|
|
918
948
|
});
|
|
@@ -1218,6 +1248,7 @@ function getFieldSchemaInternal() {
|
|
|
1218
1248
|
textFieldSchema,
|
|
1219
1249
|
richTextFieldSchema,
|
|
1220
1250
|
mediaFieldSchema,
|
|
1251
|
+
fileFieldSchema,
|
|
1221
1252
|
booleanFieldSchema,
|
|
1222
1253
|
numberFieldSchema,
|
|
1223
1254
|
dateFieldSchema,
|
|
@@ -1496,6 +1527,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
1496
1527
|
case "richText":
|
|
1497
1528
|
return makePlan("richText", "object", field, path, required, commonConstraints(required, { kind: "richTextDoc" }));
|
|
1498
1529
|
case "media":
|
|
1530
|
+
case "file":
|
|
1499
1531
|
return makePlan("media", "object", field, path, required, commonConstraints(required, { kind: "mediaObject" }));
|
|
1500
1532
|
case "link":
|
|
1501
1533
|
return makePlan("link", "object", field, path, required, commonConstraints(required, { kind: "linkObject" }));
|
|
@@ -11387,13 +11419,18 @@ var fragmentDataSchema = z28.object({
|
|
|
11387
11419
|
loader: dataLoaderSchema.optional()
|
|
11388
11420
|
});
|
|
11389
11421
|
var fragmentConfigSchema = z28.object({
|
|
11390
|
-
id: z28.string().min(1, "Fragment id is required").regex(
|
|
11422
|
+
id: z28.string().min(1, "Fragment id is required").regex(
|
|
11423
|
+
FRAGMENT_ID_PATTERN,
|
|
11424
|
+
"Fragment id must be alphanumeric with optional . _ - separators"
|
|
11425
|
+
),
|
|
11391
11426
|
title: z28.string().optional(),
|
|
11392
11427
|
description: z28.string().optional(),
|
|
11393
11428
|
category: z28.enum(["content", "media", "interactive", "layout"]).optional(),
|
|
11394
11429
|
icon: z28.string().optional(),
|
|
11395
11430
|
fields: fieldSchema.array().default([]),
|
|
11396
|
-
layout: z28.union([NodeSchema, NodeSchema.array()]).transform(
|
|
11431
|
+
layout: z28.union([NodeSchema, NodeSchema.array()]).transform(
|
|
11432
|
+
(value) => Array.isArray(value) ? value : [value]
|
|
11433
|
+
),
|
|
11397
11434
|
data: fragmentDataSchema.optional()
|
|
11398
11435
|
});
|
|
11399
11436
|
var FragmentConfigError = class extends Error {
|
|
@@ -11415,13 +11452,19 @@ function defineFragment(config) {
|
|
|
11415
11452
|
function scopeFragmentFields(fragment, scope) {
|
|
11416
11453
|
const normalizedScope = scope.trim();
|
|
11417
11454
|
if (!normalizedScope) {
|
|
11418
|
-
return fragment.fields.map(
|
|
11455
|
+
return fragment.fields.map(
|
|
11456
|
+
(field) => cloneFieldDefinition2(field)
|
|
11457
|
+
);
|
|
11419
11458
|
}
|
|
11420
|
-
return fragment.fields.map(
|
|
11459
|
+
return fragment.fields.map(
|
|
11460
|
+
(field) => prefixFieldId(field, normalizedScope)
|
|
11461
|
+
);
|
|
11421
11462
|
}
|
|
11422
11463
|
function scopeFragmentLayout(fragment, scope) {
|
|
11423
11464
|
const normalizedScope = scope.trim();
|
|
11424
|
-
return fragment.layout.map(
|
|
11465
|
+
return fragment.layout.map(
|
|
11466
|
+
(node) => cloneAndScopeNode(node, normalizedScope)
|
|
11467
|
+
);
|
|
11425
11468
|
}
|
|
11426
11469
|
function validateFieldDefinitions(fields3, fragmentId) {
|
|
11427
11470
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -11503,7 +11546,9 @@ function cloneAndScopeNode(node, scope) {
|
|
|
11503
11546
|
...node
|
|
11504
11547
|
};
|
|
11505
11548
|
if (node.children) {
|
|
11506
|
-
cloned.children = node.children.map(
|
|
11549
|
+
cloned.children = node.children.map(
|
|
11550
|
+
(child) => cloneAndScopeNode(child, scope)
|
|
11551
|
+
);
|
|
11507
11552
|
}
|
|
11508
11553
|
if (node.props) {
|
|
11509
11554
|
cloned.props = scopePropBindings(node.props, scope);
|
|
@@ -11529,7 +11574,9 @@ function scopeBinding(binding, scope) {
|
|
|
11529
11574
|
const cloned = {
|
|
11530
11575
|
...binding,
|
|
11531
11576
|
transforms: binding.transforms?.map(
|
|
11532
|
-
(step) => ({
|
|
11577
|
+
(step) => ({
|
|
11578
|
+
...step
|
|
11579
|
+
})
|
|
11533
11580
|
) ?? []
|
|
11534
11581
|
};
|
|
11535
11582
|
cloned.from = scopeContentPath(binding.from, scope);
|
|
@@ -11573,7 +11620,9 @@ function scopePropValue(value, scope) {
|
|
|
11573
11620
|
};
|
|
11574
11621
|
}
|
|
11575
11622
|
const result = {};
|
|
11576
|
-
for (const [key, entry] of Object.entries(
|
|
11623
|
+
for (const [key, entry] of Object.entries(
|
|
11624
|
+
value
|
|
11625
|
+
)) {
|
|
11577
11626
|
result[key] = scopePropValue(entry, scope);
|
|
11578
11627
|
}
|
|
11579
11628
|
return result;
|
|
@@ -12022,28 +12071,29 @@ var ctaRowFragment = defineFragment({
|
|
|
12022
12071
|
});
|
|
12023
12072
|
|
|
12024
12073
|
// ../blocks/src/system/fragments/library/heroCtaRow.ts
|
|
12074
|
+
var heroCtaFields = [
|
|
12075
|
+
createCtasRepeater({
|
|
12076
|
+
label: "Calls to action",
|
|
12077
|
+
itemLabel: "CTA",
|
|
12078
|
+
maxItems: 3,
|
|
12079
|
+
button: {
|
|
12080
|
+
variants: [
|
|
12081
|
+
{ value: "default", label: "Default" },
|
|
12082
|
+
{ value: "primary", label: "Primary" },
|
|
12083
|
+
{ value: "secondary", label: "Secondary" },
|
|
12084
|
+
{ value: "outline", label: "Outline" }
|
|
12085
|
+
],
|
|
12086
|
+
defaultVariant: "default",
|
|
12087
|
+
includeSize: true,
|
|
12088
|
+
defaultSize: "lg"
|
|
12089
|
+
}
|
|
12090
|
+
})
|
|
12091
|
+
];
|
|
12025
12092
|
var heroCtaRowFragment = defineFragment({
|
|
12026
12093
|
id: "heroCtaRow",
|
|
12027
12094
|
title: "Hero CTAs",
|
|
12028
12095
|
description: "Repeatable hero calls to action rendered inline.",
|
|
12029
|
-
fields:
|
|
12030
|
-
createCtasRepeater({
|
|
12031
|
-
label: "Calls to action",
|
|
12032
|
-
itemLabel: "CTA",
|
|
12033
|
-
maxItems: 3,
|
|
12034
|
-
button: {
|
|
12035
|
-
variants: [
|
|
12036
|
-
{ value: "default", label: "Default" },
|
|
12037
|
-
{ value: "primary", label: "Primary" },
|
|
12038
|
-
{ value: "secondary", label: "Secondary" },
|
|
12039
|
-
{ value: "outline", label: "Outline" }
|
|
12040
|
-
],
|
|
12041
|
-
defaultVariant: "default",
|
|
12042
|
-
includeSize: true,
|
|
12043
|
-
defaultSize: "lg"
|
|
12044
|
-
}
|
|
12045
|
-
})
|
|
12046
|
-
],
|
|
12096
|
+
fields: heroCtaFields,
|
|
12047
12097
|
layout: [
|
|
12048
12098
|
ctaRow({
|
|
12049
12099
|
collectionPath: "content.ctas",
|
|
@@ -18048,8 +18098,7 @@ var PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
|
18048
18098
|
"document",
|
|
18049
18099
|
"spreadsheet",
|
|
18050
18100
|
"archive",
|
|
18051
|
-
"audio"
|
|
18052
|
-
"video"
|
|
18101
|
+
"audio"
|
|
18053
18102
|
];
|
|
18054
18103
|
var hotspotSchema2 = z39.object({
|
|
18055
18104
|
x: z39.number().min(0).max(1),
|
|
@@ -19785,104 +19834,107 @@ var courseDetailsBlockDefinition = {
|
|
|
19785
19834
|
};
|
|
19786
19835
|
|
|
19787
19836
|
// ../blocks/src/system/blocks/events/event-spotlight.ts
|
|
19788
|
-
var
|
|
19837
|
+
var eventSpotlightFields = [
|
|
19838
|
+
...sectionHeaderFields("Upcoming Events"),
|
|
19839
|
+
{
|
|
19840
|
+
id: "maxEvents",
|
|
19841
|
+
type: "select",
|
|
19842
|
+
label: "Events to display",
|
|
19843
|
+
description: "Number of events to show",
|
|
19844
|
+
required: false,
|
|
19845
|
+
multiple: false,
|
|
19846
|
+
defaultValue: "3",
|
|
19847
|
+
options: [
|
|
19848
|
+
{ value: "1", label: "1 event" },
|
|
19849
|
+
{ value: "2", label: "2 events" },
|
|
19850
|
+
{ value: "3", label: "3 events" },
|
|
19851
|
+
{ value: "4", label: "4 events" },
|
|
19852
|
+
{ value: "5", label: "5 events" },
|
|
19853
|
+
{ value: "6", label: "6 events" }
|
|
19854
|
+
],
|
|
19855
|
+
ui: { intent: "display" }
|
|
19856
|
+
},
|
|
19857
|
+
{
|
|
19858
|
+
id: "ctaLabel",
|
|
19859
|
+
type: "text",
|
|
19860
|
+
label: "Section button text",
|
|
19861
|
+
description: "Optional button shown below the spotlight cards",
|
|
19862
|
+
required: false,
|
|
19863
|
+
multiline: false,
|
|
19864
|
+
maxLength: 40,
|
|
19865
|
+
ui: { intent: "content" }
|
|
19866
|
+
},
|
|
19867
|
+
{
|
|
19868
|
+
id: "ctaUrl",
|
|
19869
|
+
type: "link",
|
|
19870
|
+
label: "Section button destination",
|
|
19871
|
+
required: false,
|
|
19872
|
+
ui: { intent: "display" }
|
|
19873
|
+
},
|
|
19874
|
+
layoutField,
|
|
19875
|
+
columnsField(["2", "3"]),
|
|
19876
|
+
...cardStylingFields,
|
|
19877
|
+
...eventDisplayFields,
|
|
19878
|
+
emptyStateField,
|
|
19879
|
+
sectionStylesField({
|
|
19880
|
+
id: "_sectionStyles",
|
|
19881
|
+
label: "Section styles"
|
|
19882
|
+
})
|
|
19883
|
+
];
|
|
19884
|
+
var eventSpotlightLayout = [
|
|
19885
|
+
styledSection({
|
|
19886
|
+
children: sectionContainer([
|
|
19887
|
+
// Optional heading
|
|
19888
|
+
text(
|
|
19889
|
+
{ as: "h2" },
|
|
19890
|
+
bind("content.heading"),
|
|
19891
|
+
when("content.heading")
|
|
19892
|
+
),
|
|
19893
|
+
// Optional description
|
|
19894
|
+
richText(
|
|
19895
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
19896
|
+
bind("content.description"),
|
|
19897
|
+
when("content.description")
|
|
19898
|
+
),
|
|
19899
|
+
// Event spotlight component
|
|
19900
|
+
el("event-spotlight", {
|
|
19901
|
+
events: { $bind: { from: "data.events" } },
|
|
19902
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
19903
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
19904
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
19905
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
19906
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
19907
|
+
ctaLabel: { $bind: { from: "content.ctaLabel" } },
|
|
19908
|
+
ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
|
|
19909
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
19910
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
19911
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
19912
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
19913
|
+
})
|
|
19914
|
+
], {
|
|
19915
|
+
gap: "lg"
|
|
19916
|
+
}),
|
|
19917
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
19918
|
+
baseClass: "",
|
|
19919
|
+
spacing: "comfortable"
|
|
19920
|
+
})
|
|
19921
|
+
];
|
|
19922
|
+
var eventSpotlightConfig = {
|
|
19789
19923
|
id: "block.event-spotlight",
|
|
19790
19924
|
version: "1.1.0",
|
|
19791
19925
|
title: "Event Spotlight",
|
|
19792
19926
|
titleSource: "heading",
|
|
19793
19927
|
description: "Feature a few upcoming events on your homepage",
|
|
19794
19928
|
skipSectionStyles: true,
|
|
19795
|
-
additionalFields:
|
|
19796
|
-
...sectionHeaderFields("Upcoming Events"),
|
|
19797
|
-
{
|
|
19798
|
-
id: "maxEvents",
|
|
19799
|
-
type: "select",
|
|
19800
|
-
label: "Events to display",
|
|
19801
|
-
description: "Number of events to show",
|
|
19802
|
-
required: false,
|
|
19803
|
-
multiple: false,
|
|
19804
|
-
defaultValue: "3",
|
|
19805
|
-
options: [
|
|
19806
|
-
{ value: "1", label: "1 event" },
|
|
19807
|
-
{ value: "2", label: "2 events" },
|
|
19808
|
-
{ value: "3", label: "3 events" },
|
|
19809
|
-
{ value: "4", label: "4 events" },
|
|
19810
|
-
{ value: "5", label: "5 events" },
|
|
19811
|
-
{ value: "6", label: "6 events" }
|
|
19812
|
-
],
|
|
19813
|
-
ui: { intent: "display" }
|
|
19814
|
-
},
|
|
19815
|
-
{
|
|
19816
|
-
id: "ctaLabel",
|
|
19817
|
-
type: "text",
|
|
19818
|
-
label: "Section button text",
|
|
19819
|
-
description: "Optional button shown below the spotlight cards",
|
|
19820
|
-
required: false,
|
|
19821
|
-
multiline: false,
|
|
19822
|
-
maxLength: 40,
|
|
19823
|
-
ui: { intent: "content" }
|
|
19824
|
-
},
|
|
19825
|
-
{
|
|
19826
|
-
id: "ctaUrl",
|
|
19827
|
-
type: "link",
|
|
19828
|
-
label: "Section button destination",
|
|
19829
|
-
required: false,
|
|
19830
|
-
ui: { intent: "display" }
|
|
19831
|
-
},
|
|
19832
|
-
layoutField,
|
|
19833
|
-
columnsField(["2", "3"]),
|
|
19834
|
-
...cardStylingFields,
|
|
19835
|
-
...eventDisplayFields,
|
|
19836
|
-
emptyStateField,
|
|
19837
|
-
sectionStylesField({
|
|
19838
|
-
id: "_sectionStyles",
|
|
19839
|
-
label: "Section styles"
|
|
19840
|
-
})
|
|
19841
|
-
],
|
|
19929
|
+
additionalFields: eventSpotlightFields,
|
|
19842
19930
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
19843
19931
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: false },
|
|
19844
19932
|
category: "content",
|
|
19845
19933
|
tags: ["events", "featured", "homepage", "spotlight", "upcoming"],
|
|
19846
19934
|
icon: "Star",
|
|
19847
|
-
layout:
|
|
19848
|
-
|
|
19849
|
-
|
|
19850
|
-
// Optional heading
|
|
19851
|
-
text(
|
|
19852
|
-
{ as: "h2" },
|
|
19853
|
-
bind("content.heading"),
|
|
19854
|
-
when("content.heading")
|
|
19855
|
-
),
|
|
19856
|
-
// Optional description
|
|
19857
|
-
richText(
|
|
19858
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
19859
|
-
bind("content.description"),
|
|
19860
|
-
when("content.description")
|
|
19861
|
-
),
|
|
19862
|
-
// Event spotlight component
|
|
19863
|
-
el("event-spotlight", {
|
|
19864
|
-
events: { $bind: { from: "data.events" } },
|
|
19865
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
19866
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
19867
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
19868
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
19869
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
19870
|
-
ctaLabel: { $bind: { from: "content.ctaLabel" } },
|
|
19871
|
-
ctaUrl: { $bind: { from: "content.ctaUrl", transforms: [{ id: "links.resolve" }] } },
|
|
19872
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
19873
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
19874
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
19875
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
19876
|
-
})
|
|
19877
|
-
], {
|
|
19878
|
-
gap: "lg"
|
|
19879
|
-
}),
|
|
19880
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
19881
|
-
baseClass: "",
|
|
19882
|
-
spacing: "comfortable"
|
|
19883
|
-
})
|
|
19884
|
-
]
|
|
19885
|
-
});
|
|
19935
|
+
layout: eventSpotlightLayout
|
|
19936
|
+
};
|
|
19937
|
+
var eventSpotlightManifest = createBlockManifest(eventSpotlightConfig);
|
|
19886
19938
|
var eventSpotlightBlockDefinition = {
|
|
19887
19939
|
manifest: eventSpotlightManifest,
|
|
19888
19940
|
dataSchemas: {
|
|
@@ -24610,18 +24662,18 @@ var fileDownloadManifest = createBlockManifest({
|
|
|
24610
24662
|
title: "File Download",
|
|
24611
24663
|
titleSource: ["title", "file.filename"],
|
|
24612
24664
|
category: "media",
|
|
24613
|
-
description: "Add a simple public download link for a document, ZIP,
|
|
24665
|
+
description: "Add a simple public download link for a document, ZIP, or audio file.",
|
|
24614
24666
|
tags: ["file", "download", "document", "zip", "media"],
|
|
24615
24667
|
icon: "Download",
|
|
24616
24668
|
includeContainerStyles: true,
|
|
24617
24669
|
additionalFields: [
|
|
24618
24670
|
{
|
|
24619
24671
|
id: "file",
|
|
24620
|
-
type: "
|
|
24672
|
+
type: "file",
|
|
24621
24673
|
label: "Download file",
|
|
24622
24674
|
description: "Choose the file visitors can download.",
|
|
24623
24675
|
required: false,
|
|
24624
|
-
|
|
24676
|
+
fileKinds: [...PUBLIC_DOWNLOAD_MEDIA_TYPES],
|
|
24625
24677
|
ui: { intent: "content" }
|
|
24626
24678
|
},
|
|
24627
24679
|
{
|
|
@@ -29133,28 +29185,8 @@ var __iconNode15 = [
|
|
|
29133
29185
|
];
|
|
29134
29186
|
var FileHeadphone = createLucideIcon("file-headphone", __iconNode15);
|
|
29135
29187
|
|
|
29136
|
-
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-play.js
|
|
29137
|
-
var __iconNode16 = [
|
|
29138
|
-
[
|
|
29139
|
-
"path",
|
|
29140
|
-
{
|
|
29141
|
-
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
29142
|
-
key: "1oefj6"
|
|
29143
|
-
}
|
|
29144
|
-
],
|
|
29145
|
-
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }],
|
|
29146
|
-
[
|
|
29147
|
-
"path",
|
|
29148
|
-
{
|
|
29149
|
-
d: "M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z",
|
|
29150
|
-
key: "1tzo1f"
|
|
29151
|
-
}
|
|
29152
|
-
]
|
|
29153
|
-
];
|
|
29154
|
-
var FilePlay = createLucideIcon("file-play", __iconNode16);
|
|
29155
|
-
|
|
29156
29188
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js
|
|
29157
|
-
var
|
|
29189
|
+
var __iconNode16 = [
|
|
29158
29190
|
[
|
|
29159
29191
|
"path",
|
|
29160
29192
|
{
|
|
@@ -29168,10 +29200,10 @@ var __iconNode17 = [
|
|
|
29168
29200
|
["path", { d: "M8 17h2", key: "2yhykz" }],
|
|
29169
29201
|
["path", { d: "M14 17h2", key: "10kma7" }]
|
|
29170
29202
|
];
|
|
29171
|
-
var FileSpreadsheet = createLucideIcon("file-spreadsheet",
|
|
29203
|
+
var FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode16);
|
|
29172
29204
|
|
|
29173
29205
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-text.js
|
|
29174
|
-
var
|
|
29206
|
+
var __iconNode17 = [
|
|
29175
29207
|
[
|
|
29176
29208
|
"path",
|
|
29177
29209
|
{
|
|
@@ -29184,25 +29216,25 @@ var __iconNode18 = [
|
|
|
29184
29216
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
29185
29217
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
29186
29218
|
];
|
|
29187
|
-
var FileText = createLucideIcon("file-text",
|
|
29219
|
+
var FileText = createLucideIcon("file-text", __iconNode17);
|
|
29188
29220
|
|
|
29189
29221
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/info.js
|
|
29190
|
-
var
|
|
29222
|
+
var __iconNode18 = [
|
|
29191
29223
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
29192
29224
|
["path", { d: "M12 16v-4", key: "1dtifu" }],
|
|
29193
29225
|
["path", { d: "M12 8h.01", key: "e9boi3" }]
|
|
29194
29226
|
];
|
|
29195
|
-
var Info = createLucideIcon("info",
|
|
29227
|
+
var Info = createLucideIcon("info", __iconNode18);
|
|
29196
29228
|
|
|
29197
29229
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/mail.js
|
|
29198
|
-
var
|
|
29230
|
+
var __iconNode19 = [
|
|
29199
29231
|
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
29200
29232
|
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
29201
29233
|
];
|
|
29202
|
-
var Mail = createLucideIcon("mail",
|
|
29234
|
+
var Mail = createLucideIcon("mail", __iconNode19);
|
|
29203
29235
|
|
|
29204
29236
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/map-pin.js
|
|
29205
|
-
var
|
|
29237
|
+
var __iconNode20 = [
|
|
29206
29238
|
[
|
|
29207
29239
|
"path",
|
|
29208
29240
|
{
|
|
@@ -29212,14 +29244,14 @@ var __iconNode21 = [
|
|
|
29212
29244
|
],
|
|
29213
29245
|
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
|
|
29214
29246
|
];
|
|
29215
|
-
var MapPin = createLucideIcon("map-pin",
|
|
29247
|
+
var MapPin = createLucideIcon("map-pin", __iconNode20);
|
|
29216
29248
|
|
|
29217
29249
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/minus.js
|
|
29218
|
-
var
|
|
29219
|
-
var Minus = createLucideIcon("minus",
|
|
29250
|
+
var __iconNode21 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
|
|
29251
|
+
var Minus = createLucideIcon("minus", __iconNode21);
|
|
29220
29252
|
|
|
29221
29253
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/phone.js
|
|
29222
|
-
var
|
|
29254
|
+
var __iconNode22 = [
|
|
29223
29255
|
[
|
|
29224
29256
|
"path",
|
|
29225
29257
|
{
|
|
@@ -29228,10 +29260,10 @@ var __iconNode23 = [
|
|
|
29228
29260
|
}
|
|
29229
29261
|
]
|
|
29230
29262
|
];
|
|
29231
|
-
var Phone = createLucideIcon("phone",
|
|
29263
|
+
var Phone = createLucideIcon("phone", __iconNode22);
|
|
29232
29264
|
|
|
29233
29265
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/play.js
|
|
29234
|
-
var
|
|
29266
|
+
var __iconNode23 = [
|
|
29235
29267
|
[
|
|
29236
29268
|
"path",
|
|
29237
29269
|
{
|
|
@@ -29240,17 +29272,17 @@ var __iconNode24 = [
|
|
|
29240
29272
|
}
|
|
29241
29273
|
]
|
|
29242
29274
|
];
|
|
29243
|
-
var Play = createLucideIcon("play",
|
|
29275
|
+
var Play = createLucideIcon("play", __iconNode23);
|
|
29244
29276
|
|
|
29245
29277
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/plus.js
|
|
29246
|
-
var
|
|
29278
|
+
var __iconNode24 = [
|
|
29247
29279
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
29248
29280
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
29249
29281
|
];
|
|
29250
|
-
var Plus = createLucideIcon("plus",
|
|
29282
|
+
var Plus = createLucideIcon("plus", __iconNode24);
|
|
29251
29283
|
|
|
29252
29284
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shopping-cart.js
|
|
29253
|
-
var
|
|
29285
|
+
var __iconNode25 = [
|
|
29254
29286
|
["circle", { cx: "8", cy: "21", r: "1", key: "jimo8o" }],
|
|
29255
29287
|
["circle", { cx: "19", cy: "21", r: "1", key: "13723u" }],
|
|
29256
29288
|
[
|
|
@@ -29261,22 +29293,22 @@ var __iconNode26 = [
|
|
|
29261
29293
|
}
|
|
29262
29294
|
]
|
|
29263
29295
|
];
|
|
29264
|
-
var ShoppingCart = createLucideIcon("shopping-cart",
|
|
29296
|
+
var ShoppingCart = createLucideIcon("shopping-cart", __iconNode25);
|
|
29265
29297
|
|
|
29266
29298
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/upload.js
|
|
29267
|
-
var
|
|
29299
|
+
var __iconNode26 = [
|
|
29268
29300
|
["path", { d: "M12 3v12", key: "1x0j5s" }],
|
|
29269
29301
|
["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
|
|
29270
29302
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
|
|
29271
29303
|
];
|
|
29272
|
-
var Upload = createLucideIcon("upload",
|
|
29304
|
+
var Upload = createLucideIcon("upload", __iconNode26);
|
|
29273
29305
|
|
|
29274
29306
|
// ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/x.js
|
|
29275
|
-
var
|
|
29307
|
+
var __iconNode27 = [
|
|
29276
29308
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
29277
29309
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
29278
29310
|
];
|
|
29279
|
-
var X = createLucideIcon("x",
|
|
29311
|
+
var X = createLucideIcon("x", __iconNode27);
|
|
29280
29312
|
|
|
29281
29313
|
// ../blocks/src/system/icons/cta.ts
|
|
29282
29314
|
var CTA_ICON_NAMES = [
|
|
@@ -29368,7 +29400,12 @@ var IconNode = ({
|
|
|
29368
29400
|
|
|
29369
29401
|
// ../blocks/src/system/runtime/nodes/file-download.tsx
|
|
29370
29402
|
import { jsx as jsx17, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
29371
|
-
var FILE_DOWNLOAD_BUTTON_VARIANTS = [
|
|
29403
|
+
var FILE_DOWNLOAD_BUTTON_VARIANTS = [
|
|
29404
|
+
"primary",
|
|
29405
|
+
"secondary",
|
|
29406
|
+
"outline",
|
|
29407
|
+
"link"
|
|
29408
|
+
];
|
|
29372
29409
|
function isDownloadableMediaType(type) {
|
|
29373
29410
|
return typeof type === "string" && PUBLIC_DOWNLOAD_MEDIA_TYPES.includes(type);
|
|
29374
29411
|
}
|
|
@@ -29383,8 +29420,6 @@ function iconForMediaType(type) {
|
|
|
29383
29420
|
switch (type) {
|
|
29384
29421
|
case "audio":
|
|
29385
29422
|
return /* @__PURE__ */ jsx17(FileHeadphone, { "aria-hidden": "true" });
|
|
29386
|
-
case "video":
|
|
29387
|
-
return /* @__PURE__ */ jsx17(FilePlay, { "aria-hidden": "true" });
|
|
29388
29423
|
case "document":
|
|
29389
29424
|
return /* @__PURE__ */ jsx17(FileText, { "aria-hidden": "true" });
|
|
29390
29425
|
case "spreadsheet":
|
|
@@ -29423,8 +29458,22 @@ function FileDownloadNode({
|
|
|
29423
29458
|
}
|
|
29424
29459
|
),
|
|
29425
29460
|
/* @__PURE__ */ jsxs6("div", { className: "rb-min-w-0 rb-space-y-1", children: [
|
|
29426
|
-
/* @__PURE__ */ jsx17(
|
|
29427
|
-
|
|
29461
|
+
/* @__PURE__ */ jsx17(
|
|
29462
|
+
"h2",
|
|
29463
|
+
{
|
|
29464
|
+
className: "rb-m-0 rb-text-lg rb-font-semibold",
|
|
29465
|
+
style: textColorStyle("heading"),
|
|
29466
|
+
children: heading
|
|
29467
|
+
}
|
|
29468
|
+
),
|
|
29469
|
+
body ? /* @__PURE__ */ jsx17(
|
|
29470
|
+
"p",
|
|
29471
|
+
{
|
|
29472
|
+
className: "rb-m-0 rb-text-sm",
|
|
29473
|
+
style: textColorStyle("mutedText"),
|
|
29474
|
+
children: body
|
|
29475
|
+
}
|
|
29476
|
+
) : null,
|
|
29428
29477
|
/* @__PURE__ */ jsx17(
|
|
29429
29478
|
"p",
|
|
29430
29479
|
{
|
|
@@ -57663,7 +57712,6 @@ lucide-react/dist/esm/icons/download.js:
|
|
|
57663
57712
|
lucide-react/dist/esm/icons/external-link.js:
|
|
57664
57713
|
lucide-react/dist/esm/icons/file-archive.js:
|
|
57665
57714
|
lucide-react/dist/esm/icons/file-headphone.js:
|
|
57666
|
-
lucide-react/dist/esm/icons/file-play.js:
|
|
57667
57715
|
lucide-react/dist/esm/icons/file-spreadsheet.js:
|
|
57668
57716
|
lucide-react/dist/esm/icons/file-text.js:
|
|
57669
57717
|
lucide-react/dist/esm/icons/info.js:
|