@riverbankcms/sdk 0.78.0 → 0.78.2
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/README.md +45 -43
- package/dist/{PreviewEditorSidebar-RIKFQ72L.mjs → PreviewEditorSidebar-4DXLYX2V.mjs} +29 -21
- package/dist/{PreviewEditorUI-XO7TUWKK.mjs → PreviewEditorUI-CS5P4N3P.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +9 -0
- package/dist/_dts/api/src/index.d.ts +3 -3
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +7 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +15 -19
- package/dist/_dts/api/src/types.d.ts +11 -26
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -0
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +591 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +164 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/content-editor/src/index.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +14 -0
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +108 -85
- package/dist/_dts/core/src/csv-types.d.ts +2 -2
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +11 -0
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
- package/dist/_dts/sdk/src/client/types.d.ts +2 -2
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +2 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +3 -0
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-NIDXI46P.mjs → chunk-4QEGTLK6.mjs} +1 -1
- package/dist/{chunk-TXDES5P2.mjs → chunk-6HYXHRAI.mjs} +5 -5
- package/dist/{chunk-SVMMM2NA.mjs → chunk-CR5HKAGU.mjs} +24 -5
- package/dist/{chunk-OECWLDHN.mjs → chunk-MCRQMPET.mjs} +1030 -588
- package/dist/{chunk-SXOLGNMX.mjs → chunk-OKMBEAXY.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-F7RTCZYN.mjs → chunk-RGTOD4AJ.mjs} +20 -14
- package/dist/cli/index.mjs +681 -225
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-EVDEOUPR.mjs → accordion-PLYNJIIM.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-DIHBLC64.mjs → bookingForm-BXAP6AO7.mjs} +55 -48
- package/dist/client/bookings.mjs +62 -55
- package/dist/client/{carousel-FEBQHIWI.mjs → carousel-TRBXDHGF.mjs} +3 -3
- package/dist/client/{cart-7CKSXAE4.mjs → cart-Z7H3HJRS.mjs} +7 -7
- package/dist/client/{checkout-WKYCANLV.mjs → checkout-WAFCUBIX.mjs} +7 -7
- package/dist/client/{chunk-OFMSCGNY.mjs → chunk-75OUS5MT.mjs} +2 -2
- package/dist/client/{chunk-IVNCUVAV.mjs → chunk-AUJ5DBZJ.mjs} +18 -18
- package/dist/client/{chunk-36WJCERQ.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-RZDWX7QW.mjs → chunk-CWGTG37I.mjs} +1 -1
- package/dist/client/{chunk-YDSEG6GZ.mjs → chunk-DNRGY432.mjs} +2 -2
- package/dist/client/{chunk-RV6FX7UH.mjs → chunk-FUXW6VW2.mjs} +9 -9
- package/dist/client/{chunk-65F47D7Y.mjs → chunk-JGXPTEI2.mjs} +43 -36
- package/dist/client/{chunk-GUK2FPXQ.mjs → chunk-JRDUHZCT.mjs} +37 -15
- package/dist/client/{chunk-VPPMNXCF.mjs → chunk-UVQEJJTN.mjs} +2 -2
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/{chunk-PD6NBCEY.mjs → chunk-ZFHRN6W2.mjs} +1 -1
- package/dist/client/{chunk-2SAVKN2M.mjs → chunk-ZI3LLBPZ.mjs} +2 -2
- package/dist/client/client.mjs +249 -160
- package/dist/client/{courseRegistration-5QF2PHKM.mjs → courseRegistration-AHFQHWIJ.mjs} +10 -10
- package/dist/client/{eventCalendar-4ZOSETDU.mjs → eventCalendar-LDXTV5R7.mjs} +9 -9
- package/dist/client/{eventCombined-WQGU7JUX.mjs → eventCombined-A4JGTNJO.mjs} +9 -9
- package/dist/client/{eventDetails-AYWVUJ5Y.mjs → eventDetails-4YXTZ7EG.mjs} +9 -9
- package/dist/client/{eventListing-NT7C6UT5.mjs → eventListing-P72TPFFM.mjs} +9 -9
- package/dist/client/{eventRegistration-OH24F4ZJ.mjs → eventRegistration-LSYJHGMT.mjs} +9 -9
- package/dist/client/{form-7L42SRBB.mjs → form-AOPYOKOW.mjs} +6 -3
- package/dist/client/{headerSection-OZRZNZ52.mjs → headerSection-5TFYDFVQ.mjs} +3 -3
- package/dist/client/hooks.mjs +78 -48
- package/dist/client/{locationMap-ZBXRPQ7C.mjs → locationMap-QSZ3ZVAZ.mjs} +3 -3
- package/dist/client/{newsletterForm-SNAGFF2I.mjs → newsletterForm-KTRHZY52.mjs} +2 -2
- package/dist/client/{productDetail-I46BOFGV.mjs → productDetail-N4E775RG.mjs} +7 -7
- package/dist/client/{productList-BOYHTYI6.mjs → productList-UGUQ2S45.mjs} +7 -7
- package/dist/client/rendering/client.mjs +173 -131
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +230 -150
- package/dist/client/{shop-XTXPZTKR.mjs → shop-VHSZEEQ2.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +10 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/middleware.mjs +10 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-WHPJEF5G.mjs +8 -0
- package/dist/server/components.mjs +101 -54
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +76 -42
- package/dist/server/config.mjs +76 -42
- package/dist/server/data.mjs +77 -47
- package/dist/server/index.mjs +31 -10
- package/dist/server/next.mjs +133 -71
- package/dist/server/page-converter.mjs +60 -40
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +107 -60
- package/dist/server/rendering.mjs +111 -61
- package/dist/server/routing.mjs +93 -63
- package/dist/server/server.mjs +102 -57
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +0 -8
- package/dist/sdk-runtime-ZJLKC6DR.mjs +0 -8
|
@@ -116,9 +116,6 @@ var linkSchema = z.union([
|
|
|
116
116
|
// ../blocks/src/system/manifest/schema.ts
|
|
117
117
|
import { z as z3 } from "zod";
|
|
118
118
|
|
|
119
|
-
// ../core/src/branded.ts
|
|
120
|
-
var asMediaAssetId = (id) => id;
|
|
121
|
-
|
|
122
119
|
// ../core/src/result.ts
|
|
123
120
|
function ok(value) {
|
|
124
121
|
return { ok: true, value };
|
|
@@ -127,6 +124,9 @@ function err(error) {
|
|
|
127
124
|
return { ok: false, error };
|
|
128
125
|
}
|
|
129
126
|
|
|
127
|
+
// ../core/src/branded.ts
|
|
128
|
+
var unsafeAsMediaAssetId = (id) => id;
|
|
129
|
+
|
|
130
130
|
// ../core/src/booking-date-time.ts
|
|
131
131
|
var DEFAULT_LOCALE = "en-US";
|
|
132
132
|
var FALLBACK_TIMEZONE = "UTC";
|
|
@@ -626,14 +626,14 @@ function rotateNormalizedPoint(point, rotation) {
|
|
|
626
626
|
const x = point.x;
|
|
627
627
|
const y = point.y;
|
|
628
628
|
switch (rotation) {
|
|
629
|
+
case 0:
|
|
630
|
+
return { x, y };
|
|
629
631
|
case 90:
|
|
630
632
|
return { x: 1 - y, y: x };
|
|
631
633
|
case 180:
|
|
632
634
|
return { x: 1 - x, y: 1 - y };
|
|
633
635
|
case 270:
|
|
634
636
|
return { x: y, y: 1 - x };
|
|
635
|
-
default:
|
|
636
|
-
return { x, y };
|
|
637
637
|
}
|
|
638
638
|
}
|
|
639
639
|
|
|
@@ -826,6 +826,8 @@ var uiSchema = z3.object({
|
|
|
826
826
|
mediaPickerAutoOpen: z3.boolean().optional(),
|
|
827
827
|
showMediaPreview: z3.boolean().optional(),
|
|
828
828
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
829
|
+
mediaPreviewMaxWidth: z3.enum(["xs", "sm", "md", "none"]).optional(),
|
|
830
|
+
preventMediaPreviewUpscale: z3.boolean().optional(),
|
|
829
831
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
830
832
|
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
831
833
|
// Optional input hints for validators/widgets
|
|
@@ -1075,6 +1077,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1075
1077
|
type: z3.literal("repeater"),
|
|
1076
1078
|
itemLabel: z3.string().default("Item"),
|
|
1077
1079
|
itemLabelSource: z3.string().optional(),
|
|
1080
|
+
showSummary: z3.boolean().optional(),
|
|
1081
|
+
summaryFields: z3.string().array().optional(),
|
|
1082
|
+
summaryMaxChars: z3.number().int().positive().optional(),
|
|
1078
1083
|
minItems: z3.number().int().min(0).default(0),
|
|
1079
1084
|
maxItems: z3.number().int().positive().optional(),
|
|
1080
1085
|
// Monomorphic mode
|
|
@@ -1728,7 +1733,7 @@ function normalizeStoredObjectChildren(children, value, ctx) {
|
|
|
1728
1733
|
return normalized;
|
|
1729
1734
|
}
|
|
1730
1735
|
function normalizeStoredRepeaterItems(plan, value, ctx) {
|
|
1731
|
-
if (!
|
|
1736
|
+
if (!isUnknownArray(value)) {
|
|
1732
1737
|
return value;
|
|
1733
1738
|
}
|
|
1734
1739
|
return value.map((item) => {
|
|
@@ -1775,7 +1780,7 @@ function normalizeObjectChildren(children, value, ctx) {
|
|
|
1775
1780
|
return normalized;
|
|
1776
1781
|
}
|
|
1777
1782
|
function normalizeRepeaterItems(plan, value, ctx) {
|
|
1778
|
-
if (!
|
|
1783
|
+
if (!isUnknownArray(value)) return value;
|
|
1779
1784
|
return value.map((item) => {
|
|
1780
1785
|
if (!item || typeof item !== "object" || Array.isArray(item)) return item;
|
|
1781
1786
|
const itemRecord = item;
|
|
@@ -2162,6 +2167,9 @@ function isEmptyValue(value) {
|
|
|
2162
2167
|
function isPlainObject(value) {
|
|
2163
2168
|
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
2164
2169
|
}
|
|
2170
|
+
function isUnknownArray(value) {
|
|
2171
|
+
return Array.isArray(value);
|
|
2172
|
+
}
|
|
2165
2173
|
function isValidRichTextDoc(value) {
|
|
2166
2174
|
const doc = richTextDoc(value);
|
|
2167
2175
|
return Boolean(isPlainObject(doc) && doc.type === "doc");
|
|
@@ -5887,13 +5895,13 @@ function generateShadowValue(elevation, softness, position = "bottom") {
|
|
|
5887
5895
|
const xOffset = position === "bottom-right" ? config.offset : 0;
|
|
5888
5896
|
const yOffset = config.offset;
|
|
5889
5897
|
switch (softness) {
|
|
5898
|
+
case null:
|
|
5899
|
+
case "soft":
|
|
5900
|
+
return `${xOffset}px ${yOffset}px ${config.blur}px ${config.spread}px rgb(0 0 0 / 0.3)`;
|
|
5890
5901
|
case "hard":
|
|
5891
5902
|
return `${xOffset}px ${yOffset}px 0 0 rgb(0 0 0 / 1)`;
|
|
5892
5903
|
case "crisp":
|
|
5893
5904
|
return `${xOffset}px ${yOffset}px ${config.offset}px ${config.spread}px rgb(0 0 0 / 0.4)`;
|
|
5894
|
-
case "soft":
|
|
5895
|
-
default:
|
|
5896
|
-
return `${xOffset}px ${yOffset}px ${config.blur}px ${config.spread}px rgb(0 0 0 / 0.3)`;
|
|
5897
5905
|
}
|
|
5898
5906
|
}
|
|
5899
5907
|
var BORDER_WIDTH_MAP = {
|
|
@@ -13374,47 +13382,48 @@ function validateFieldDefinitions(fields3, fragmentId) {
|
|
|
13374
13382
|
function prefixFieldId(field, scope) {
|
|
13375
13383
|
const cloned = cloneFieldDefinition2(field);
|
|
13376
13384
|
cloned.id = `${scope}.${field.id}`;
|
|
13377
|
-
|
|
13385
|
+
const defaultValue = cloned.defaultValue;
|
|
13386
|
+
cloned.defaultValue = cloneUnknown(defaultValue);
|
|
13378
13387
|
cloned.visibleRoles = cloned.visibleRoles ? [...cloned.visibleRoles] : void 0;
|
|
13379
13388
|
cloned.ui = cloneUnknown(cloned.ui);
|
|
13380
13389
|
return cloned;
|
|
13381
13390
|
}
|
|
13382
13391
|
function cloneFieldDefinition2(field) {
|
|
13383
|
-
|
|
13384
|
-
|
|
13385
|
-
|
|
13386
|
-
|
|
13387
|
-
|
|
13388
|
-
|
|
13389
|
-
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
|
|
13395
|
-
|
|
13396
|
-
|
|
13397
|
-
|
|
13398
|
-
|
|
13399
|
-
|
|
13400
|
-
return {
|
|
13401
|
-
...field,
|
|
13402
|
-
schema: {
|
|
13403
|
-
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
13404
|
-
}
|
|
13405
|
-
};
|
|
13406
|
-
}
|
|
13407
|
-
return { ...field };
|
|
13408
|
-
case "group":
|
|
13392
|
+
if (field.type === "repeater") {
|
|
13393
|
+
if (field.polymorphic && field.itemTypes) {
|
|
13394
|
+
return {
|
|
13395
|
+
...field,
|
|
13396
|
+
polymorphic: true,
|
|
13397
|
+
itemTypes: Object.fromEntries(
|
|
13398
|
+
Object.entries(field.itemTypes).map(([key, itemType]) => [
|
|
13399
|
+
key,
|
|
13400
|
+
{
|
|
13401
|
+
...itemType,
|
|
13402
|
+
fields: itemType.fields.map(cloneFieldDefinition2)
|
|
13403
|
+
}
|
|
13404
|
+
])
|
|
13405
|
+
)
|
|
13406
|
+
};
|
|
13407
|
+
}
|
|
13408
|
+
if (field.schema) {
|
|
13409
13409
|
return {
|
|
13410
13410
|
...field,
|
|
13411
13411
|
schema: {
|
|
13412
13412
|
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
13413
13413
|
}
|
|
13414
13414
|
};
|
|
13415
|
-
|
|
13416
|
-
|
|
13415
|
+
}
|
|
13416
|
+
return { ...field };
|
|
13417
13417
|
}
|
|
13418
|
+
if (field.type === "group") {
|
|
13419
|
+
return {
|
|
13420
|
+
...field,
|
|
13421
|
+
schema: {
|
|
13422
|
+
fields: field.schema.fields.map(cloneFieldDefinition2)
|
|
13423
|
+
}
|
|
13424
|
+
};
|
|
13425
|
+
}
|
|
13426
|
+
return { ...field };
|
|
13418
13427
|
}
|
|
13419
13428
|
function cloneUnknown(value) {
|
|
13420
13429
|
if (value == null || typeof value !== "object") {
|
|
@@ -15849,7 +15858,8 @@ function createBlockManifestWithContentShape(config, _contentShape) {
|
|
|
15849
15858
|
return createBlockManifest(config);
|
|
15850
15859
|
}
|
|
15851
15860
|
function normalizeBlockLayout(layout) {
|
|
15852
|
-
|
|
15861
|
+
const rawLayout = layout;
|
|
15862
|
+
return Array.isArray(rawLayout) ? rawLayout : rawLayout;
|
|
15853
15863
|
}
|
|
15854
15864
|
function deriveComponentName(id) {
|
|
15855
15865
|
const base = id.replace(/^block\./, "");
|
|
@@ -17417,16 +17427,20 @@ var marqueeLoopTransform = {
|
|
|
17417
17427
|
summary: "Repeat an array to a minimum length, then duplicate it for seamless marquee looping",
|
|
17418
17428
|
schema: marqueeLoopOptionsSchema,
|
|
17419
17429
|
run: (value, options) => {
|
|
17420
|
-
|
|
17430
|
+
const items = toUnknownArray(value);
|
|
17431
|
+
if (items.length === 0) return [];
|
|
17421
17432
|
const minItems = options?.minItems ?? 10;
|
|
17422
17433
|
const base = [];
|
|
17423
17434
|
while (base.length < minItems) {
|
|
17424
|
-
base.push(...
|
|
17435
|
+
base.push(...items);
|
|
17425
17436
|
if (base.length > 1e3) break;
|
|
17426
17437
|
}
|
|
17427
17438
|
return [...base, ...base];
|
|
17428
17439
|
}
|
|
17429
17440
|
};
|
|
17441
|
+
function toUnknownArray(value) {
|
|
17442
|
+
return Array.isArray(value) ? value : [];
|
|
17443
|
+
}
|
|
17430
17444
|
var formattingTransforms = [
|
|
17431
17445
|
uppercaseTransform,
|
|
17432
17446
|
fallbackTransform,
|
|
@@ -21143,8 +21157,8 @@ var eventSurfaceScopeValues = [
|
|
|
21143
21157
|
"custom"
|
|
21144
21158
|
];
|
|
21145
21159
|
var eventScheduleScopeValues = ["any", "recurring", "oneOff"];
|
|
21146
|
-
var
|
|
21147
|
-
var
|
|
21160
|
+
var unsafeAsEventCategoryId = (value) => value;
|
|
21161
|
+
var unsafeAsVenueId = (value) => value;
|
|
21148
21162
|
function normalizeEventBlockKind(value) {
|
|
21149
21163
|
return value === "courses" || value === "events" ? value : "all";
|
|
21150
21164
|
}
|
|
@@ -21170,10 +21184,10 @@ function normalizeEventCategoryIds(value) {
|
|
|
21170
21184
|
if (Array.isArray(value)) {
|
|
21171
21185
|
return normalizeIdList(
|
|
21172
21186
|
value.filter((entry) => typeof entry === "string")
|
|
21173
|
-
).map(
|
|
21187
|
+
).map(unsafeAsEventCategoryId);
|
|
21174
21188
|
}
|
|
21175
21189
|
if (typeof value === "string") {
|
|
21176
|
-
return normalizeIdList(value.split(",")).map(
|
|
21190
|
+
return normalizeIdList(value.split(",")).map(unsafeAsEventCategoryId);
|
|
21177
21191
|
}
|
|
21178
21192
|
return [];
|
|
21179
21193
|
}
|
|
@@ -21186,7 +21200,7 @@ function normalizeEventVenueId(value) {
|
|
|
21186
21200
|
return null;
|
|
21187
21201
|
}
|
|
21188
21202
|
const trimmed = value.trim();
|
|
21189
|
-
return trimmed ?
|
|
21203
|
+
return trimmed ? unsafeAsVenueId(trimmed) : null;
|
|
21190
21204
|
}
|
|
21191
21205
|
function normalizeEventStaffMemberId(value) {
|
|
21192
21206
|
if (typeof value !== "string") {
|
|
@@ -23757,7 +23771,7 @@ function getProxyImageUrl(value, options, transformAspectRatio, resolved) {
|
|
|
23757
23771
|
if (!shouldUseExplicitRectProxy(value, options, resolvedTransform, sourceWidth, sourceHeight)) return void 0;
|
|
23758
23772
|
const params = buildProxyTransformParams(options, resolvedTransform);
|
|
23759
23773
|
const proxyBasePath = getImageProxyBasePath();
|
|
23760
|
-
const proxyUrl = getImageUrl({ id:
|
|
23774
|
+
const proxyUrl = getImageUrl({ id: unsafeAsMediaAssetId(value.assetId) }, params, proxyBasePath);
|
|
23761
23775
|
debugMediaNodeLog("resolve:proxy-img", { assetId: value.assetId, params, proxyBasePath, proxyUrl });
|
|
23762
23776
|
return proxyUrl;
|
|
23763
23777
|
}
|
|
@@ -32787,6 +32801,8 @@ var header_section_server_default = markEditableSurfaceForwarding(HeaderSectionN
|
|
|
32787
32801
|
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
32788
32802
|
function resolveColorStyle(color) {
|
|
32789
32803
|
switch (color) {
|
|
32804
|
+
case void 0:
|
|
32805
|
+
return void 0;
|
|
32790
32806
|
case "inherit":
|
|
32791
32807
|
return { color: "inherit" };
|
|
32792
32808
|
case "foreground":
|
|
@@ -36264,14 +36280,23 @@ function injectMediaSlotPath(props2, node, parsedBinding, context) {
|
|
|
36264
36280
|
}
|
|
36265
36281
|
function resolveChildren(nodes, context) {
|
|
36266
36282
|
if (!nodes?.length) return [];
|
|
36267
|
-
|
|
36283
|
+
const children = [];
|
|
36284
|
+
nodes.forEach((child, index) => {
|
|
36268
36285
|
const childContext = { ...context, scopes: [...context.scopes] };
|
|
36269
36286
|
const resolved = resolveNode2(child, childContext, index);
|
|
36270
36287
|
if (Array.isArray(resolved)) {
|
|
36271
|
-
|
|
36288
|
+
for (const item of resolved) {
|
|
36289
|
+
const childNode = item;
|
|
36290
|
+
if (isReactNode(childNode)) children.push(childNode);
|
|
36291
|
+
}
|
|
36292
|
+
return;
|
|
36272
36293
|
}
|
|
36273
|
-
|
|
36294
|
+
if (isReactNode(resolved)) children.push(resolved);
|
|
36274
36295
|
});
|
|
36296
|
+
return children;
|
|
36297
|
+
}
|
|
36298
|
+
function isReactNode(value) {
|
|
36299
|
+
return value !== null && value !== void 0;
|
|
36275
36300
|
}
|
|
36276
36301
|
function resolveNode2(node, context, indexFallback) {
|
|
36277
36302
|
if (!shouldRenderNode(node, context)) {
|
|
@@ -36484,8 +36509,11 @@ var BLOCK_PREFIX = "block.";
|
|
|
36484
36509
|
function isPlainObject4(value) {
|
|
36485
36510
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
36486
36511
|
}
|
|
36512
|
+
function isUnknownArray2(value) {
|
|
36513
|
+
return Array.isArray(value);
|
|
36514
|
+
}
|
|
36487
36515
|
function cloneValue(value) {
|
|
36488
|
-
if (
|
|
36516
|
+
if (isUnknownArray2(value)) {
|
|
36489
36517
|
return value.map((item) => cloneValue(item));
|
|
36490
36518
|
}
|
|
36491
36519
|
if (isPlainObject4(value)) {
|
|
@@ -52757,11 +52785,11 @@ function normalizeContent(block) {
|
|
|
52757
52785
|
}
|
|
52758
52786
|
function normalizeParams(input) {
|
|
52759
52787
|
if (!input || typeof input !== "object") return {};
|
|
52760
|
-
const
|
|
52761
|
-
|
|
52762
|
-
coerceToString(value)
|
|
52763
|
-
|
|
52764
|
-
return
|
|
52788
|
+
const output = {};
|
|
52789
|
+
for (const [key, value] of Object.entries(input)) {
|
|
52790
|
+
output[key] = coerceToString(value);
|
|
52791
|
+
}
|
|
52792
|
+
return output;
|
|
52765
52793
|
}
|
|
52766
52794
|
function isNonArrayObject(value) {
|
|
52767
52795
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -54697,7 +54725,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
54697
54725
|
revalidate: 60,
|
|
54698
54726
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
54699
54727
|
auth: "user",
|
|
54700
|
-
responseKind: "json"
|
|
54728
|
+
responseKind: "json",
|
|
54729
|
+
errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
|
|
54730
|
+
},
|
|
54731
|
+
reorderContentEntries: {
|
|
54732
|
+
path: "/sites/{siteId}/content/{type}/order",
|
|
54733
|
+
method: "POST",
|
|
54734
|
+
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
54735
|
+
auth: "user",
|
|
54736
|
+
responseKind: "json",
|
|
54737
|
+
errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
|
|
54701
54738
|
},
|
|
54702
54739
|
getContentTemplate: {
|
|
54703
54740
|
path: "/sites/{siteId}/content/types/{type}/template",
|
|
@@ -59319,10 +59356,16 @@ var dashboardConfigSchema = z68.object({
|
|
|
59319
59356
|
var fieldDefinitionInputSchema = unsafeRetypeZodSchema(fieldSchema);
|
|
59320
59357
|
var nodeDefinitionSchema = unsafeRetypeZodSchema(NodeSchema);
|
|
59321
59358
|
var sdkLoaderEndpointSchema = z68.enum(SUPPORTED_LOADER_ENDPOINTS);
|
|
59359
|
+
var loaderFallbackScalarSchema = z68.union([
|
|
59360
|
+
z68.string(),
|
|
59361
|
+
z68.number(),
|
|
59362
|
+
z68.boolean(),
|
|
59363
|
+
z68.null()
|
|
59364
|
+
]);
|
|
59322
59365
|
var loaderParamBindingSchema = z68.object({
|
|
59323
59366
|
$bind: z68.object({
|
|
59324
59367
|
from: z68.string().min(1, "Binding path is required"),
|
|
59325
|
-
fallback:
|
|
59368
|
+
fallback: loaderFallbackScalarSchema.optional()
|
|
59326
59369
|
})
|
|
59327
59370
|
});
|
|
59328
59371
|
var loaderParamValueSchema = z68.union([
|
|
@@ -59468,9 +59511,13 @@ var sdkBlockFieldOptionsMapSchema = z68.record(
|
|
|
59468
59511
|
var sdkContentTypeTemplateConfigSchema = z68.object({
|
|
59469
59512
|
blocks: z68.array(z68.unknown())
|
|
59470
59513
|
}).passthrough();
|
|
59514
|
+
var sdkContentTypeOrderingConfigSchema = z68.object({
|
|
59515
|
+
mode: z68.enum(["default", "manual"]).optional()
|
|
59516
|
+
}).optional();
|
|
59471
59517
|
var sdkContentTypeConfigSchema = z68.object({
|
|
59472
59518
|
key: z68.string().min(1),
|
|
59473
59519
|
fields: z68.array(z68.unknown()),
|
|
59520
|
+
ordering: sdkContentTypeOrderingConfigSchema,
|
|
59474
59521
|
template: sdkContentTypeTemplateConfigSchema.nullable().optional()
|
|
59475
59522
|
}).passthrough();
|
|
59476
59523
|
var sdkContentConfigSchema = z68.object({
|
|
@@ -60470,7 +60517,7 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
60470
60517
|
throw new Error("listPublishedEntries requires siteId and type params");
|
|
60471
60518
|
}
|
|
60472
60519
|
const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
|
|
60473
|
-
const order = orderBy === "
|
|
60520
|
+
const order = orderBy === "order" ? "manual" : orderBy === "newest" || orderBy === "oldest" || orderBy === "title" ? orderBy : void 0;
|
|
60474
60521
|
const parsedEntryIds = mode === "manual" ? parseManualEntryIds(entryIds) : void 0;
|
|
60475
60522
|
if (mode === "manual" && (!parsedEntryIds || parsedEntryIds.length === 0)) {
|
|
60476
60523
|
return { entries: [] };
|
|
@@ -61194,6 +61241,9 @@ function isContentLoadNotFoundError(error) {
|
|
|
61194
61241
|
}
|
|
61195
61242
|
return Reflect.get(error, "status") === 404;
|
|
61196
61243
|
}
|
|
61244
|
+
function getRejectedReason(result) {
|
|
61245
|
+
return result.reason;
|
|
61246
|
+
}
|
|
61197
61247
|
async function loadContent(params) {
|
|
61198
61248
|
const { client, siteId, path, preview = false, forceSite } = params;
|
|
61199
61249
|
const [siteResult, contentResult] = await Promise.allSettled([
|
|
@@ -61201,7 +61251,7 @@ async function loadContent(params) {
|
|
|
61201
61251
|
client.getPage({ siteId, path, preview })
|
|
61202
61252
|
]);
|
|
61203
61253
|
if (siteResult.status === "rejected" || contentResult.status === "rejected") {
|
|
61204
|
-
const failures = [siteResult, contentResult].filter((result) => result.status === "rejected").map(
|
|
61254
|
+
const failures = [siteResult, contentResult].filter((result) => result.status === "rejected").map(getRejectedReason);
|
|
61205
61255
|
const upstreamFailure = failures.find((error) => !isContentLoadNotFoundError(error));
|
|
61206
61256
|
throw upstreamFailure ?? failures[0];
|
|
61207
61257
|
}
|