@riverbankcms/sdk 0.90.0 → 0.90.1
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/{PreviewEditorSidebar-KVXNF3VW.mjs → PreviewEditorSidebar-FNFRVSIM.mjs} +2 -2
- package/dist/{PreviewEditorUI-J3JN5Z7T.mjs → PreviewEditorUI-3WXJFQXG.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-2UCIMKUB.mjs +8 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -0
- package/dist/_dts/api/src/event-listing-destination.d.ts +59 -0
- package/dist/_dts/api/src/index.d.ts +4 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +0 -1
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/settings/permissions.d.ts +273 -0
- package/dist/_dts/api/src/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +60 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +12 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/destination.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/core/src/event-pricing.d.ts +12 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +11 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-PMBB6MQ7.mjs → chunk-CR2VX432.mjs} +297 -117
- package/dist/{chunk-AEOYWPE4.mjs → chunk-FA6LVZ7C.mjs} +5 -5
- package/dist/{chunk-RQ3XZ4SJ.mjs → chunk-H6TT5ZXI.mjs} +1 -1
- package/dist/{chunk-GSPFFUVB.mjs → chunk-SYYJZPKU.mjs} +1 -1
- package/dist/cli/index.mjs +160 -103
- package/dist/client/{accordion-GXQNWQ6O.mjs → accordion-4K7VGZ3I.mjs} +2 -2
- package/dist/client/{bookingForm-STLUJ36H.mjs → bookingForm-3QXA3CIS.mjs} +5 -5
- package/dist/client/bookings.mjs +1154 -556
- package/dist/client/{carousel-CVRN6EPP.mjs → carousel-BEJKNGQ7.mjs} +3 -3
- package/dist/client/{cart-IYIBA5CL.mjs → cart-44BBM6XG.mjs} +6 -6
- package/dist/client/{checkout-O3BGM4GS.mjs → checkout-THMHEYKF.mjs} +6 -6
- package/dist/client/{chunk-25W2EQUN.mjs → chunk-3H5CLFKT.mjs} +8 -0
- package/dist/client/{chunk-MFPKS6QS.mjs → chunk-4COPESPO.mjs} +5 -5
- package/dist/client/{chunk-4RTFGHZN.mjs → chunk-5AJIMWKS.mjs} +6 -3
- package/dist/client/{chunk-6DPXDOIL.mjs → chunk-B4H6QMPY.mjs} +93 -22
- package/dist/client/{chunk-VFHZLZAC.mjs → chunk-DQIRKNZE.mjs} +1 -1
- package/dist/client/{chunk-7DH35FGA.mjs → chunk-EJBHK74Y.mjs} +1 -1
- package/dist/client/{chunk-DAS5CIER.mjs → chunk-JV7ZNAOU.mjs} +118 -20
- package/dist/client/{chunk-FHU6PFPM.mjs → chunk-KNTLBQ3N.mjs} +1 -1
- package/dist/client/{chunk-Z62JYS5O.mjs → chunk-PEDNDLPB.mjs} +2 -2
- package/dist/client/{chunk-NBFRJ5NB.mjs → chunk-SLY6UDAS.mjs} +2 -2
- package/dist/client/{chunk-D3ETC2SU.mjs → chunk-ZIAF2DA4.mjs} +1 -1
- package/dist/client/client.mjs +272 -83
- package/dist/client/{courseRegistration-2D3ACMJR.mjs → courseRegistration-URX7RCCK.mjs} +5 -5
- package/dist/client/{eventCalendar-QY4UZUFF.mjs → eventCalendar-GTENOQCE.mjs} +8 -8
- package/dist/client/{eventCombined-RRCDKJC2.mjs → eventCombined-EZVB72MF.mjs} +8 -8
- package/dist/client/{eventDetails-YO335BUT.mjs → eventDetails-CH4BJR5Z.mjs} +8 -8
- package/dist/client/{eventListing-PXA6GFQ3.mjs → eventListing-4BVOI5HS.mjs} +8 -8
- package/dist/client/{eventRegistration-2ZHEDDXO.mjs → eventRegistration-37LPIKIE.mjs} +8 -8
- package/dist/client/{form-ZS6KX4U2.mjs → form-FX3Y54YK.mjs} +2 -2
- package/dist/client/{headerSection-QK5SLIIB.mjs → headerSection-UOZZGVYL.mjs} +3 -3
- package/dist/client/hooks.mjs +86 -35
- package/dist/client/{locationMap-GFNIUD2X.mjs → locationMap-VSIPKV35.mjs} +3 -3
- package/dist/client/{newsletterForm-PGLTTCUG.mjs → newsletterForm-6FRJKNAF.mjs} +2 -2
- package/dist/client/{productDetail-OPBE5ZPI.mjs → productDetail-6AHMLXCO.mjs} +6 -6
- package/dist/client/{productList-NI72Q62Z.mjs → productList-M2CYIZVH.mjs} +6 -6
- package/dist/client/rendering/client.mjs +231 -42
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +273 -84
- package/dist/client/{shop-3ZQPEWYI.mjs → shop-AUOT6GEX.mjs} +6 -6
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-FSHXCWDS.mjs → sdk-runtime-6GPJNLU6.mjs} +4 -4
- package/dist/server/components.mjs +136 -58
- package/dist/server/config-validation.mjs +78 -27
- package/dist/server/config.mjs +78 -27
- package/dist/server/data.mjs +86 -35
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +157 -79
- package/dist/server/page-converter.mjs +72 -21
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +148 -70
- package/dist/server/rendering.mjs +152 -74
- package/dist/server/routing.mjs +121 -44
- package/dist/server/server.mjs +95 -44
- package/package.json +2 -2
- package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +0 -8
|
@@ -179,6 +179,8 @@ function publicEventPricingType(pricing) {
|
|
|
179
179
|
case "ticket_types":
|
|
180
180
|
case "course":
|
|
181
181
|
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
182
|
+
case "external":
|
|
183
|
+
return "external";
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
186
|
function publicEventPricingCurrency(pricing) {
|
|
@@ -190,6 +192,8 @@ function publicEventPricingCurrency(pricing) {
|
|
|
190
192
|
return pricing.currency;
|
|
191
193
|
case "course":
|
|
192
194
|
return pricing.display.display.currency;
|
|
195
|
+
case "external":
|
|
196
|
+
return null;
|
|
193
197
|
}
|
|
194
198
|
}
|
|
195
199
|
function isFreePublicEventPriceDisplay(display) {
|
|
@@ -203,6 +207,7 @@ function isFreePublicEventPriceDisplay(display) {
|
|
|
203
207
|
case "range":
|
|
204
208
|
case "mixed":
|
|
205
209
|
case "unavailable":
|
|
210
|
+
case "external":
|
|
206
211
|
return false;
|
|
207
212
|
}
|
|
208
213
|
}
|
|
@@ -233,6 +238,8 @@ function formatBookingPriceDisplay(display, options = {}) {
|
|
|
233
238
|
return display.paidToAmount > display.paidFromAmount ? `Free / ${formatCurrencyAmount(display.paidFromAmount, display.currency, options)} - ${formatCurrencyAmount(display.paidToAmount, display.currency, options)}` : `Free / ${formatCurrencyAmount(display.paidFromAmount, display.currency, options)}`;
|
|
234
239
|
case "unavailable":
|
|
235
240
|
return "Pricing unavailable";
|
|
241
|
+
case "external":
|
|
242
|
+
return display.label;
|
|
236
243
|
case "course":
|
|
237
244
|
return formatCoursePriceDisplayLabel(display.display, options);
|
|
238
245
|
default:
|
|
@@ -26350,6 +26357,18 @@ var publicCoursesArraySchema = z43.array(publicCourseSchema);
|
|
|
26350
26357
|
var eventPresetSchema = z44.enum(["event", "class", "workshop", "retreat", "performance"]);
|
|
26351
26358
|
var eventScheduleScopeSchema = z44.enum(["recurring", "oneOff"]);
|
|
26352
26359
|
var eventDestinationModeSchema = z44.enum(["cms-managed", "system-managed"]);
|
|
26360
|
+
var publicEventDestinationSchema = z44.discriminatedUnion("kind", [
|
|
26361
|
+
z44.object({
|
|
26362
|
+
kind: z44.literal("native"),
|
|
26363
|
+
mode: eventDestinationModeSchema,
|
|
26364
|
+
path: z44.string()
|
|
26365
|
+
}),
|
|
26366
|
+
z44.object({
|
|
26367
|
+
kind: z44.literal("external"),
|
|
26368
|
+
url: z44.string(),
|
|
26369
|
+
label: z44.string()
|
|
26370
|
+
})
|
|
26371
|
+
]);
|
|
26353
26372
|
var eventVenueSchema = z44.object({
|
|
26354
26373
|
id: z44.string(),
|
|
26355
26374
|
name: z44.string(),
|
|
@@ -26364,7 +26383,7 @@ var eventCategorySchema = z44.object({
|
|
|
26364
26383
|
name: z44.string(),
|
|
26365
26384
|
color: z44.string().nullable()
|
|
26366
26385
|
});
|
|
26367
|
-
var pricingTypeSchema = z44.enum(["free", "paid"]);
|
|
26386
|
+
var pricingTypeSchema = z44.enum(["free", "paid", "external"]);
|
|
26368
26387
|
var accessRestrictionSchema = z44.enum(["none", "category"]);
|
|
26369
26388
|
var eventPricingModeSchema = z44.enum(["single", "ticket_types"]);
|
|
26370
26389
|
var publicCoursePriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
@@ -26385,6 +26404,7 @@ var publicEventPriceDisplaySchema = z44.discriminatedUnion("kind", [
|
|
|
26385
26404
|
currency: z44.string()
|
|
26386
26405
|
}),
|
|
26387
26406
|
z44.object({ kind: z44.literal("unavailable"), currency: z44.string() }),
|
|
26407
|
+
z44.object({ kind: z44.literal("external"), label: z44.string() }),
|
|
26388
26408
|
z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
26389
26409
|
]);
|
|
26390
26410
|
var publicEventTicketTypePriceDisplaySchema = z44.union([
|
|
@@ -26463,6 +26483,10 @@ var publicEventPricingSchema = z44.discriminatedUnion("kind", [
|
|
|
26463
26483
|
z44.object({
|
|
26464
26484
|
kind: z44.literal("course"),
|
|
26465
26485
|
display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
26486
|
+
}),
|
|
26487
|
+
z44.object({
|
|
26488
|
+
kind: z44.literal("external"),
|
|
26489
|
+
display: z44.object({ kind: z44.literal("external"), label: z44.string() })
|
|
26466
26490
|
})
|
|
26467
26491
|
]);
|
|
26468
26492
|
var publicTeamMemberSummarySchema = z44.object({
|
|
@@ -26491,7 +26515,8 @@ var publicEventSchema = z44.object({
|
|
|
26491
26515
|
image: mediaSchema2.nullable().optional()
|
|
26492
26516
|
}).optional(),
|
|
26493
26517
|
slug: z44.string(),
|
|
26494
|
-
path: z44.string(),
|
|
26518
|
+
path: z44.string().nullable(),
|
|
26519
|
+
destination: publicEventDestinationSchema,
|
|
26495
26520
|
requiresRegistration: z44.boolean(),
|
|
26496
26521
|
deliveryMode: z44.enum(["in_person", "online", "hybrid"]),
|
|
26497
26522
|
attendanceModes: z44.array(publicEventAttendanceModeAvailabilitySchema),
|
|
@@ -26795,12 +26820,41 @@ function isEventContentType(slug) {
|
|
|
26795
26820
|
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
26796
26821
|
}
|
|
26797
26822
|
|
|
26823
|
+
// ../blocks/src/system/runtime/nodes/events/shared/destination.ts
|
|
26824
|
+
function isRecord5(value) {
|
|
26825
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
26826
|
+
}
|
|
26827
|
+
function isRuntimeEventDestination(value) {
|
|
26828
|
+
if (!isRecord5(value) || typeof value.kind !== "string") return false;
|
|
26829
|
+
if (value.kind === "native") {
|
|
26830
|
+
return (value.mode === "cms-managed" || value.mode === "system-managed") && typeof value.path === "string";
|
|
26831
|
+
}
|
|
26832
|
+
return value.kind === "external" && typeof value.url === "string" && typeof value.label === "string";
|
|
26833
|
+
}
|
|
26834
|
+
function resolveRuntimeEventDestination(event) {
|
|
26835
|
+
if (isRuntimeEventDestination(event.destination)) {
|
|
26836
|
+
return event.destination;
|
|
26837
|
+
}
|
|
26838
|
+
return {
|
|
26839
|
+
kind: "native",
|
|
26840
|
+
mode: event.eventDestinationMode === "system-managed" ? "system-managed" : "cms-managed",
|
|
26841
|
+
path: typeof event.path === "string" ? event.path : ""
|
|
26842
|
+
};
|
|
26843
|
+
}
|
|
26844
|
+
|
|
26798
26845
|
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
26799
26846
|
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
26800
26847
|
function resolveRuntimeEventPricing(event) {
|
|
26801
26848
|
if (isPublicEventPricing(event.pricing)) {
|
|
26802
26849
|
return event.pricing;
|
|
26803
26850
|
}
|
|
26851
|
+
const destination = resolveRuntimeEventDestination(event);
|
|
26852
|
+
if (destination.kind === "external") {
|
|
26853
|
+
return {
|
|
26854
|
+
kind: "external",
|
|
26855
|
+
display: { kind: "external", label: "External registration" }
|
|
26856
|
+
};
|
|
26857
|
+
}
|
|
26804
26858
|
const legacy = event;
|
|
26805
26859
|
const currency = readCurrency(legacy.currency);
|
|
26806
26860
|
if (event.requiresRegistration === false) {
|
|
@@ -26837,22 +26891,22 @@ function resolveRuntimeEventPricing(event) {
|
|
|
26837
26891
|
function readCurrency(value) {
|
|
26838
26892
|
return typeof value === "string" && value.trim().length > 0 ? value : DEFAULT_EVENT_CURRENCY;
|
|
26839
26893
|
}
|
|
26840
|
-
function
|
|
26894
|
+
function isRecord6(value) {
|
|
26841
26895
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
26842
26896
|
}
|
|
26843
26897
|
function isPublicEventPricing(value) {
|
|
26844
|
-
if (!
|
|
26845
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course";
|
|
26898
|
+
if (!isRecord6(value) || typeof value.kind !== "string") return false;
|
|
26899
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
|
|
26846
26900
|
}
|
|
26847
26901
|
function isPublicEventTicketType(value) {
|
|
26848
|
-
return
|
|
26902
|
+
return isRecord6(value) && typeof value.id === "string";
|
|
26849
26903
|
}
|
|
26850
26904
|
function readTicketTypePriceDisplay(value, currency) {
|
|
26851
26905
|
const display = readLegacyPriceDisplay(value, currency);
|
|
26852
|
-
return display.kind === "course" ? { kind: "unavailable", currency } : display;
|
|
26906
|
+
return display.kind === "course" || display.kind === "external" ? { kind: "unavailable", currency } : display;
|
|
26853
26907
|
}
|
|
26854
26908
|
function readLegacyPriceDisplay(value, currency) {
|
|
26855
|
-
if (!
|
|
26909
|
+
if (!isRecord6(value) || typeof value.kind !== "string") {
|
|
26856
26910
|
return { kind: "unavailable", currency };
|
|
26857
26911
|
}
|
|
26858
26912
|
const displayCurrency = readCurrency(value.currency);
|
|
@@ -26891,7 +26945,7 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
26891
26945
|
case "unavailable":
|
|
26892
26946
|
return { kind: "unavailable", currency: displayCurrency };
|
|
26893
26947
|
case "course":
|
|
26894
|
-
return
|
|
26948
|
+
return isRecord6(value.display) ? {
|
|
26895
26949
|
kind: "course",
|
|
26896
26950
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
26897
26951
|
} : {
|
|
@@ -26978,7 +27032,7 @@ function resolveEventRequiresPayment(input) {
|
|
|
26978
27032
|
if (!input.event) {
|
|
26979
27033
|
return false;
|
|
26980
27034
|
}
|
|
26981
|
-
return publicEventPricingType(resolveRuntimeEventPricing(input.event))
|
|
27035
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) === "paid";
|
|
26982
27036
|
}
|
|
26983
27037
|
|
|
26984
27038
|
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
@@ -27175,15 +27229,16 @@ var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
27175
27229
|
})
|
|
27176
27230
|
});
|
|
27177
27231
|
function normalizeEventRegistrationEventInput(value) {
|
|
27178
|
-
if (!
|
|
27232
|
+
if (!isRecord7(value)) {
|
|
27179
27233
|
return value;
|
|
27180
27234
|
}
|
|
27181
27235
|
return {
|
|
27182
27236
|
...value,
|
|
27237
|
+
destination: resolveRuntimeEventDestination(value),
|
|
27183
27238
|
pricing: resolveRuntimeEventPricing(value)
|
|
27184
27239
|
};
|
|
27185
27240
|
}
|
|
27186
|
-
function
|
|
27241
|
+
function isRecord7(value) {
|
|
27187
27242
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
27188
27243
|
}
|
|
27189
27244
|
var eventRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
@@ -28976,16 +29031,28 @@ function groupEventsByDate(events) {
|
|
|
28976
29031
|
function formatEventPrice(event) {
|
|
28977
29032
|
return formatEventPricing(resolveRuntimeEventPricing(event), { decimals: "auto" });
|
|
28978
29033
|
}
|
|
29034
|
+
function resolveEventHref(event) {
|
|
29035
|
+
const destination = resolveRuntimeEventDestination(event);
|
|
29036
|
+
return destination.kind === "external" ? destination.url : destination.path;
|
|
29037
|
+
}
|
|
29038
|
+
function resolveEventLinkProps(event) {
|
|
29039
|
+
const href = resolveEventHref(event);
|
|
29040
|
+
const destination = resolveRuntimeEventDestination(event);
|
|
29041
|
+
return destination.kind === "external" ? { href, target: "_blank", rel: "noopener noreferrer" } : { href };
|
|
29042
|
+
}
|
|
28979
29043
|
function resolveEventCta(event, buttonText) {
|
|
28980
29044
|
const { isFull: isSoldOut } = getEventAvailability(event);
|
|
28981
|
-
const
|
|
29045
|
+
const destination = resolveRuntimeEventDestination(event);
|
|
29046
|
+
const isExternal = destination.kind === "external";
|
|
29047
|
+
const defaultButtonText = isExternal ? destination.label : event.kind === "course_session" ? "Book course" : "Book";
|
|
28982
29048
|
const effectiveButtonText = buttonText ?? defaultButtonText;
|
|
28983
|
-
|
|
28984
|
-
|
|
29049
|
+
const href = resolveEventHref(event);
|
|
29050
|
+
if (!isExternal && isSoldOut) {
|
|
29051
|
+
return { label: "Sold out", href, external: false, hidden: true };
|
|
28985
29052
|
}
|
|
28986
29053
|
const enrollmentOpen = event.kind === "course_session" ? event.course?.enrollmentOpen !== false : true;
|
|
28987
29054
|
const label = !enrollmentOpen ? "Registration closed" : effectiveButtonText;
|
|
28988
|
-
return { label, href:
|
|
29055
|
+
return { label, href, external: isExternal, hidden: false };
|
|
28989
29056
|
}
|
|
28990
29057
|
|
|
28991
29058
|
// ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
@@ -30420,6 +30487,8 @@ var EventCard = ({
|
|
|
30420
30487
|
"a",
|
|
30421
30488
|
{
|
|
30422
30489
|
href: cta.href,
|
|
30490
|
+
target: cta.external ? "_blank" : void 0,
|
|
30491
|
+
rel: cta.external ? "noopener noreferrer" : void 0,
|
|
30423
30492
|
className: `${buttonClass} event-card-cta`,
|
|
30424
30493
|
children: cta.label
|
|
30425
30494
|
}
|
|
@@ -30509,10 +30578,19 @@ var EventCompactRow = ({
|
|
|
30509
30578
|
formattedTime,
|
|
30510
30579
|
/* @__PURE__ */ jsx8("span", { className: "event-compact-row-action-price", children: price })
|
|
30511
30580
|
] }),
|
|
30512
|
-
cta.hidden ? /* @__PURE__ */ jsx8("span", { className: "event-compact-row-status", children: cta.label }) : /* @__PURE__ */ jsxs6(
|
|
30513
|
-
|
|
30514
|
-
|
|
30515
|
-
|
|
30581
|
+
cta.hidden ? /* @__PURE__ */ jsx8("span", { className: "event-compact-row-status", children: cta.label }) : /* @__PURE__ */ jsxs6(
|
|
30582
|
+
"a",
|
|
30583
|
+
{
|
|
30584
|
+
href: cta.href,
|
|
30585
|
+
target: cta.external ? "_blank" : void 0,
|
|
30586
|
+
rel: cta.external ? "noopener noreferrer" : void 0,
|
|
30587
|
+
className: `${buttonClass} event-compact-row-cta`,
|
|
30588
|
+
children: [
|
|
30589
|
+
/* @__PURE__ */ jsx8("span", { children: cta.label }),
|
|
30590
|
+
/* @__PURE__ */ jsx8(ArrowRightIcon, { "aria-hidden": "true" })
|
|
30591
|
+
]
|
|
30592
|
+
}
|
|
30593
|
+
)
|
|
30516
30594
|
] })
|
|
30517
30595
|
] })
|
|
30518
30596
|
] });
|
|
@@ -32102,7 +32180,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
32102
32180
|
return keys.length >= 2 ? keys : [];
|
|
32103
32181
|
}
|
|
32104
32182
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
32105
|
-
if (!
|
|
32183
|
+
if (!isRecord8(value)) return null;
|
|
32106
32184
|
const groupOrderValue = value.groupOrder;
|
|
32107
32185
|
if (Array.isArray(groupOrderValue)) {
|
|
32108
32186
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -32115,7 +32193,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
32115
32193
|
return { ...value, groupOrder: [] };
|
|
32116
32194
|
}
|
|
32117
32195
|
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(
|
|
32118
|
-
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(
|
|
32196
|
+
Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord8) : []
|
|
32119
32197
|
);
|
|
32120
32198
|
return legacyOrder.length > 0 ? { ...value, groupOrder: legacyOrder } : value;
|
|
32121
32199
|
}
|
|
@@ -32169,7 +32247,7 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
32169
32247
|
}
|
|
32170
32248
|
return keys;
|
|
32171
32249
|
}
|
|
32172
|
-
function
|
|
32250
|
+
function isRecord8(value) {
|
|
32173
32251
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
32174
32252
|
}
|
|
32175
32253
|
function mergeOrderedKeysWithDefaults(orderedKeys, defaultKeys) {
|
|
@@ -32631,7 +32709,7 @@ function isOfferingsPreviewItemLimit(value) {
|
|
|
32631
32709
|
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
32632
32710
|
}
|
|
32633
32711
|
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
32634
|
-
if (!
|
|
32712
|
+
if (!isRecord9(value)) return [];
|
|
32635
32713
|
const override = {};
|
|
32636
32714
|
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) {
|
|
32637
32715
|
override.sourceKey = value.sourceKey;
|
|
@@ -32663,12 +32741,12 @@ function isButtonVariant(value) {
|
|
|
32663
32741
|
return value === "primary" || value === "secondary" || value === "outline" || value === "link" || value === null;
|
|
32664
32742
|
}
|
|
32665
32743
|
function normalizeCardStylesContent(value) {
|
|
32666
|
-
return
|
|
32744
|
+
return isRecord9(value) || value === null ? value : void 0;
|
|
32667
32745
|
}
|
|
32668
32746
|
function normalizeSectionStylesContent(value) {
|
|
32669
|
-
return
|
|
32747
|
+
return isRecord9(value) || value === null ? value : void 0;
|
|
32670
32748
|
}
|
|
32671
|
-
function
|
|
32749
|
+
function isRecord9(value) {
|
|
32672
32750
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
32673
32751
|
}
|
|
32674
32752
|
|
|
@@ -38036,7 +38114,7 @@ import React4 from "react";
|
|
|
38036
38114
|
// ../blocks/src/system/data/linkedContentEntries.ts
|
|
38037
38115
|
var LINKED_CONTENT_ENTRY_META_KEY = "__rbLinkedContentEntry";
|
|
38038
38116
|
function coerceLinkedContentEntriesPayload(payload) {
|
|
38039
|
-
if (!
|
|
38117
|
+
if (!isRecord10(payload)) return payload;
|
|
38040
38118
|
const response = payload;
|
|
38041
38119
|
if (!Array.isArray(response.entries)) return payload;
|
|
38042
38120
|
const contentType = parsePublicContentTypeMeta(response.contentType);
|
|
@@ -38044,16 +38122,16 @@ function coerceLinkedContentEntriesPayload(payload) {
|
|
|
38044
38122
|
return response.entries.map((entry) => enrichLinkedContentEntry(entry, contentType));
|
|
38045
38123
|
}
|
|
38046
38124
|
function getLinkedContentEntryMeta(value) {
|
|
38047
|
-
if (!
|
|
38125
|
+
if (!isRecord10(value)) return null;
|
|
38048
38126
|
const candidate = value[LINKED_CONTENT_ENTRY_META_KEY];
|
|
38049
38127
|
return isLinkedContentEntryMeta(candidate) ? candidate : null;
|
|
38050
38128
|
}
|
|
38051
38129
|
function buildLinkedContentEditTarget(input) {
|
|
38052
38130
|
const { entry, sourceBlockId, sourceBlockKind, itemIndex } = input;
|
|
38053
|
-
if (!
|
|
38131
|
+
if (!isRecord10(entry)) return null;
|
|
38054
38132
|
const meta = getLinkedContentEntryMeta(entry);
|
|
38055
38133
|
if (!meta || meta.support.kind !== "supported") return null;
|
|
38056
|
-
const content =
|
|
38134
|
+
const content = isRecord10(entry.content) ? entry.content : {};
|
|
38057
38135
|
return {
|
|
38058
38136
|
kind: "linked-content-entry",
|
|
38059
38137
|
entryId: meta.entryId,
|
|
@@ -38103,12 +38181,12 @@ function resolveLinkedEntryInlineFieldEligibility(input) {
|
|
|
38103
38181
|
};
|
|
38104
38182
|
}
|
|
38105
38183
|
function enrichLinkedContentEntry(entry, contentType) {
|
|
38106
|
-
if (!
|
|
38184
|
+
if (!isRecord10(entry)) return entry;
|
|
38107
38185
|
const entryId = typeof entry.id === "string" ? entry.id : null;
|
|
38108
38186
|
if (!entryId) return entry;
|
|
38109
38187
|
const title = typeof entry.title === "string" && entry.title.trim().length > 0 ? entry.title : entryId;
|
|
38110
38188
|
const optimisticHash = typeof entry.optimisticHash === "string" && entry.optimisticHash.length > 0 ? entry.optimisticHash : null;
|
|
38111
|
-
const content =
|
|
38189
|
+
const content = isRecord10(entry.content) ? entry.content : {};
|
|
38112
38190
|
const meta = {
|
|
38113
38191
|
kind: "linked-content-entry",
|
|
38114
38192
|
entryId,
|
|
@@ -38204,7 +38282,7 @@ function capitalize(value) {
|
|
|
38204
38282
|
return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();
|
|
38205
38283
|
}
|
|
38206
38284
|
function parsePublicContentTypeMeta(value) {
|
|
38207
|
-
if (!
|
|
38285
|
+
if (!isRecord10(value)) return null;
|
|
38208
38286
|
if (typeof value.key !== "string" || value.key.trim().length === 0) return null;
|
|
38209
38287
|
return {
|
|
38210
38288
|
key: value.key,
|
|
@@ -38214,7 +38292,7 @@ function parsePublicContentTypeMeta(value) {
|
|
|
38214
38292
|
};
|
|
38215
38293
|
}
|
|
38216
38294
|
function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
38217
|
-
if (!
|
|
38295
|
+
if (!isRecord10(value) || typeof value.kind !== "string") return null;
|
|
38218
38296
|
switch (value.kind) {
|
|
38219
38297
|
case "generic":
|
|
38220
38298
|
return { kind: "generic" };
|
|
@@ -38228,7 +38306,7 @@ function parsePublicContentTypeLinkedEntryEditing(value) {
|
|
|
38228
38306
|
}
|
|
38229
38307
|
}
|
|
38230
38308
|
function parsePublicContentTypeFieldMeta(value) {
|
|
38231
|
-
if (!
|
|
38309
|
+
if (!isRecord10(value)) return [];
|
|
38232
38310
|
if (typeof value.id !== "string" || typeof value.type !== "string") return [];
|
|
38233
38311
|
return [{
|
|
38234
38312
|
id: value.id,
|
|
@@ -38243,14 +38321,14 @@ function parseStringArray(value) {
|
|
|
38243
38321
|
return value.filter((item) => typeof item === "string");
|
|
38244
38322
|
}
|
|
38245
38323
|
function isLinkedContentEntryMeta(value) {
|
|
38246
|
-
if (!
|
|
38324
|
+
if (!isRecord10(value)) return false;
|
|
38247
38325
|
if (value.kind !== "linked-content-entry") return false;
|
|
38248
38326
|
if (typeof value.entryId !== "string") return false;
|
|
38249
38327
|
if (typeof value.contentTypeKey !== "string") return false;
|
|
38250
38328
|
if (typeof value.contentTypeLabel !== "string") return false;
|
|
38251
38329
|
if (typeof value.title !== "string") return false;
|
|
38252
38330
|
if (!(value.optimisticHash === null || typeof value.optimisticHash === "string")) return false;
|
|
38253
|
-
if (!
|
|
38331
|
+
if (!isRecord10(value.contentType)) return false;
|
|
38254
38332
|
if (!isLinkedEntryFieldSourceArray(value.fieldSources)) return false;
|
|
38255
38333
|
return isLinkedContentEditSupport(value.support);
|
|
38256
38334
|
}
|
|
@@ -38258,7 +38336,7 @@ function isLinkedEntryFieldSourceArray(value) {
|
|
|
38258
38336
|
return Array.isArray(value) && value.every(isLinkedEntryFieldSource);
|
|
38259
38337
|
}
|
|
38260
38338
|
function isLinkedEntryFieldSource(value) {
|
|
38261
|
-
if (!
|
|
38339
|
+
if (!isRecord10(value)) return false;
|
|
38262
38340
|
if (typeof value.displayPath !== "string") return false;
|
|
38263
38341
|
switch (value.kind) {
|
|
38264
38342
|
case "content-field":
|
|
@@ -38284,7 +38362,7 @@ function isLinkedEntryInlineFieldReadOnlyReason(value) {
|
|
|
38284
38362
|
}
|
|
38285
38363
|
}
|
|
38286
38364
|
function isLinkedContentEditSupport(value) {
|
|
38287
|
-
if (!
|
|
38365
|
+
if (!isRecord10(value) || typeof value.kind !== "string") return false;
|
|
38288
38366
|
switch (value.kind) {
|
|
38289
38367
|
case "supported":
|
|
38290
38368
|
return true;
|
|
@@ -38296,7 +38374,7 @@ function isLinkedContentEditSupport(value) {
|
|
|
38296
38374
|
return false;
|
|
38297
38375
|
}
|
|
38298
38376
|
}
|
|
38299
|
-
function
|
|
38377
|
+
function isRecord10(value) {
|
|
38300
38378
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
38301
38379
|
}
|
|
38302
38380
|
|
|
@@ -39752,12 +39830,12 @@ function toTrimmedString(value) {
|
|
|
39752
39830
|
return trimmed ? trimmed : void 0;
|
|
39753
39831
|
}
|
|
39754
39832
|
function normalizeBookingFormConfig(form2) {
|
|
39755
|
-
if (!
|
|
39833
|
+
if (!isRecord11(form2)) return null;
|
|
39756
39834
|
const id = readNonEmptyString(form2.id);
|
|
39757
39835
|
const name = readNonEmptyString(form2.name);
|
|
39758
39836
|
if (!id || !name) return null;
|
|
39759
|
-
const schemaSource =
|
|
39760
|
-
const settingsSource =
|
|
39837
|
+
const schemaSource = isRecord11(form2.schema) ? form2.schema : isRecord11(form2.schemaJson) ? form2.schemaJson : null;
|
|
39838
|
+
const settingsSource = isRecord11(form2.settings) ? form2.settings : isRecord11(form2.settingsJson) ? form2.settingsJson : null;
|
|
39761
39839
|
return {
|
|
39762
39840
|
id,
|
|
39763
39841
|
name,
|
|
@@ -39781,10 +39859,10 @@ function normalizeBookingServices(services) {
|
|
|
39781
39859
|
if (Array.isArray(services)) {
|
|
39782
39860
|
return services.filter(isBookingFormService).map(normalizeService);
|
|
39783
39861
|
}
|
|
39784
|
-
if (
|
|
39862
|
+
if (isRecord11(services) && "services" in services) {
|
|
39785
39863
|
return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
|
|
39786
39864
|
}
|
|
39787
|
-
return
|
|
39865
|
+
return isRecord11(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
|
|
39788
39866
|
}
|
|
39789
39867
|
function normalizeBookingSchema(value) {
|
|
39790
39868
|
if (!value) return void 0;
|
|
@@ -39796,7 +39874,7 @@ function normalizeBookingSchema(value) {
|
|
|
39796
39874
|
};
|
|
39797
39875
|
}
|
|
39798
39876
|
function readBookingFormField(value) {
|
|
39799
|
-
if (!
|
|
39877
|
+
if (!isRecord11(value)) return null;
|
|
39800
39878
|
const id = readNonEmptyString(value.id);
|
|
39801
39879
|
const label = readNonEmptyString(value.label);
|
|
39802
39880
|
const type = readBookingFieldType(value.type);
|
|
@@ -39842,7 +39920,7 @@ function readBookingFieldOptions(value) {
|
|
|
39842
39920
|
return options.length > 0 ? options : void 0;
|
|
39843
39921
|
}
|
|
39844
39922
|
function readBookingFieldOption(value) {
|
|
39845
|
-
if (!
|
|
39923
|
+
if (!isRecord11(value)) return null;
|
|
39846
39924
|
const optionValue = readNonEmptyString(value.value);
|
|
39847
39925
|
const label = readNonEmptyString(value.label);
|
|
39848
39926
|
return optionValue && label ? { value: optionValue, label } : null;
|
|
@@ -39859,7 +39937,7 @@ function normalizeBookingSettings(value) {
|
|
|
39859
39937
|
};
|
|
39860
39938
|
}
|
|
39861
39939
|
function isBookingFormService(value) {
|
|
39862
|
-
return
|
|
39940
|
+
return isRecord11(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
39863
39941
|
}
|
|
39864
39942
|
function readNonEmptyString(value) {
|
|
39865
39943
|
if (typeof value !== "string") return null;
|
|
@@ -39877,7 +39955,7 @@ function readStringArray(value) {
|
|
|
39877
39955
|
const strings = value.filter((item) => typeof item === "string");
|
|
39878
39956
|
return strings.length > 0 ? strings : void 0;
|
|
39879
39957
|
}
|
|
39880
|
-
function
|
|
39958
|
+
function isRecord11(value) {
|
|
39881
39959
|
return typeof value === "object" && value !== null;
|
|
39882
39960
|
}
|
|
39883
39961
|
|
|
@@ -40435,7 +40513,7 @@ function EventDetailsView({
|
|
|
40435
40513
|
"a",
|
|
40436
40514
|
{
|
|
40437
40515
|
className: "rb-tile rb-tile--interactive",
|
|
40438
|
-
|
|
40516
|
+
...resolveEventLinkProps(e),
|
|
40439
40517
|
children: /* @__PURE__ */ jsx30(
|
|
40440
40518
|
DateTimeTile,
|
|
40441
40519
|
{
|
|
@@ -42119,7 +42197,7 @@ var AgendaEventCard = ({
|
|
|
42119
42197
|
showCapacity,
|
|
42120
42198
|
onClick
|
|
42121
42199
|
}) => {
|
|
42122
|
-
const
|
|
42200
|
+
const eventLinkProps = resolveEventLinkProps(event);
|
|
42123
42201
|
const categoryColor = event.eventCategory?.color || "rgb(var(--tb-accent))";
|
|
42124
42202
|
const price = formatEventPrice(event);
|
|
42125
42203
|
const { available, isFull } = getEventAvailability(event);
|
|
@@ -42180,7 +42258,7 @@ var AgendaEventCard = ({
|
|
|
42180
42258
|
}
|
|
42181
42259
|
);
|
|
42182
42260
|
}
|
|
42183
|
-
return /* @__PURE__ */ jsx47("a", {
|
|
42261
|
+
return /* @__PURE__ */ jsx47("a", { ...eventLinkProps, className: "event-agenda-card", children: cardContent });
|
|
42184
42262
|
};
|
|
42185
42263
|
|
|
42186
42264
|
// ../blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.tsx
|
|
@@ -42423,7 +42501,7 @@ function renderCalendarSsr(display) {
|
|
|
42423
42501
|
dayEvents.slice(0, MAX_EVENTS_PER_DAY).map((event) => /* @__PURE__ */ jsxs35(
|
|
42424
42502
|
"a",
|
|
42425
42503
|
{
|
|
42426
|
-
|
|
42504
|
+
...resolveEventLinkProps(event),
|
|
42427
42505
|
className: "event-calendar-event",
|
|
42428
42506
|
title: `${event.title} at ${formatTime(event.startsAt, { timeZone: getEventTimeZone(event) })}`,
|
|
42429
42507
|
children: [
|
|
@@ -42551,7 +42629,7 @@ function renderTimetableSsr(display) {
|
|
|
42551
42629
|
day.events.length === 0 ? /* @__PURE__ */ jsx49("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs35(
|
|
42552
42630
|
"a",
|
|
42553
42631
|
{
|
|
42554
|
-
|
|
42632
|
+
...resolveEventLinkProps(cell.event),
|
|
42555
42633
|
className: "event-timetable-event",
|
|
42556
42634
|
title: `${cell.event.title}, ${cell.timeLabel}`,
|
|
42557
42635
|
style: {
|
|
@@ -43358,14 +43436,14 @@ function isDecoratedHeadingBlockKind(blockKind) {
|
|
|
43358
43436
|
return blockKind === "block.intro" || blockKind === "block.feature-cards" || blockKind === "block.testimonials" || blockKind === "block.faq";
|
|
43359
43437
|
}
|
|
43360
43438
|
function readVariant(blockContent) {
|
|
43361
|
-
if (!
|
|
43439
|
+
if (!isRecord12(blockContent)) return void 0;
|
|
43362
43440
|
const variant = blockContent.variant;
|
|
43363
43441
|
return typeof variant === "string" ? variant : void 0;
|
|
43364
43442
|
}
|
|
43365
43443
|
function isFaqDecoratedVariant(variant) {
|
|
43366
43444
|
return variant === "default" || variant === "question-columns";
|
|
43367
43445
|
}
|
|
43368
|
-
function
|
|
43446
|
+
function isRecord12(value) {
|
|
43369
43447
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
43370
43448
|
}
|
|
43371
43449
|
function buildHeadingDecorationWrapperClassName(className) {
|
|
@@ -68378,7 +68456,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
|
|
|
68378
68456
|
}
|
|
68379
68457
|
|
|
68380
68458
|
// ../api/src/utils/isRecord.ts
|
|
68381
|
-
function
|
|
68459
|
+
function isRecord13(value) {
|
|
68382
68460
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
68383
68461
|
}
|
|
68384
68462
|
|
|
@@ -68685,7 +68763,7 @@ function sanitizeMarks(marks) {
|
|
|
68685
68763
|
if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
|
|
68686
68764
|
return [{ type: mark.type }];
|
|
68687
68765
|
}
|
|
68688
|
-
if (mark.type === "link" &&
|
|
68766
|
+
if (mark.type === "link" && isRecord13(mark.attrs) && typeof mark.attrs.href === "string") {
|
|
68689
68767
|
const attrs = { href: mark.attrs.href };
|
|
68690
68768
|
if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
|
|
68691
68769
|
attrs.target = mark.attrs.target;
|
|
@@ -68700,10 +68778,10 @@ function sanitizeMarks(marks) {
|
|
|
68700
68778
|
return sanitized.length > 0 ? sanitized : void 0;
|
|
68701
68779
|
}
|
|
68702
68780
|
function unwrapRichTextValue(value) {
|
|
68703
|
-
if (
|
|
68781
|
+
if (isRecord13(value) && isRecord13(value.doc)) {
|
|
68704
68782
|
return unwrapRichTextValue(value.doc);
|
|
68705
68783
|
}
|
|
68706
|
-
if (
|
|
68784
|
+
if (isRecord13(value) && value.type === "doc") {
|
|
68707
68785
|
return {
|
|
68708
68786
|
type: "doc",
|
|
68709
68787
|
content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
|
|
@@ -68712,7 +68790,7 @@ function unwrapRichTextValue(value) {
|
|
|
68712
68790
|
return EMPTY_SITE_BANNER_BODY;
|
|
68713
68791
|
}
|
|
68714
68792
|
function isTipTapNodeLike(value) {
|
|
68715
|
-
return
|
|
68793
|
+
return isRecord13(value) && typeof value.type === "string";
|
|
68716
68794
|
}
|
|
68717
68795
|
function coerceTipTapNode(value) {
|
|
68718
68796
|
return {
|
|
@@ -68720,9 +68798,9 @@ function coerceTipTapNode(value) {
|
|
|
68720
68798
|
...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
|
|
68721
68799
|
...typeof value.text === "string" ? { text: value.text } : {},
|
|
68722
68800
|
...Array.isArray(value.marks) ? {
|
|
68723
|
-
marks: value.marks.filter((mark) =>
|
|
68801
|
+
marks: value.marks.filter((mark) => isRecord13(mark) && typeof mark.type === "string").map((mark) => ({
|
|
68724
68802
|
type: mark.type,
|
|
68725
|
-
...
|
|
68803
|
+
...isRecord13(mark.attrs) ? { attrs: mark.attrs } : {}
|
|
68726
68804
|
}))
|
|
68727
68805
|
} : {}
|
|
68728
68806
|
};
|
|
@@ -68892,7 +68970,7 @@ var ENTRY_REF_KEYS = [
|
|
|
68892
68970
|
"entryId",
|
|
68893
68971
|
"slug"
|
|
68894
68972
|
];
|
|
68895
|
-
function
|
|
68973
|
+
function isRecord14(value) {
|
|
68896
68974
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
68897
68975
|
}
|
|
68898
68976
|
function extractManualEntryRef(item) {
|
|
@@ -68900,7 +68978,7 @@ function extractManualEntryRef(item) {
|
|
|
68900
68978
|
const trimmed = item.trim();
|
|
68901
68979
|
return trimmed.length > 0 ? trimmed : null;
|
|
68902
68980
|
}
|
|
68903
|
-
if (!
|
|
68981
|
+
if (!isRecord14(item)) return null;
|
|
68904
68982
|
for (const key of ENTRY_REF_KEYS) {
|
|
68905
68983
|
const raw = item[key];
|
|
68906
68984
|
if (typeof raw === "string" && raw.trim().length > 0) {
|
|
@@ -69346,15 +69424,15 @@ function defineBlockOverrideRegistrations(registrations) {
|
|
|
69346
69424
|
}
|
|
69347
69425
|
|
|
69348
69426
|
// src/rendering/overrideResolution.ts
|
|
69349
|
-
function
|
|
69427
|
+
function isRecord15(value) {
|
|
69350
69428
|
return typeof value === "object" && value !== null;
|
|
69351
69429
|
}
|
|
69352
69430
|
function isBlockOutlineLike(value) {
|
|
69353
69431
|
const id = value.id;
|
|
69354
|
-
return typeof value.kind === "string" && (typeof id === "string" || id === null) && (typeof value.purpose === "string" ||
|
|
69432
|
+
return typeof value.kind === "string" && (typeof id === "string" || id === null) && (typeof value.purpose === "string" || isRecord15(value.content) || isRecord15(value.draftContent) || isRecord15(value.bindings));
|
|
69355
69433
|
}
|
|
69356
69434
|
function collectBlockKindsFromValue(value, usedKinds, seen) {
|
|
69357
|
-
if (!
|
|
69435
|
+
if (!isRecord15(value)) return;
|
|
69358
69436
|
if (seen.has(value)) return;
|
|
69359
69437
|
seen.add(value);
|
|
69360
69438
|
if (isBlockOutlineLike(value)) {
|
|
@@ -69403,7 +69481,7 @@ function selectOverrideKeysForUsedKinds(usedKinds, entries) {
|
|
|
69403
69481
|
return selectedKeys;
|
|
69404
69482
|
}
|
|
69405
69483
|
function isLazyRegistration(registration) {
|
|
69406
|
-
return
|
|
69484
|
+
return isRecord15(registration) && registration[lazyBlockOverrideSymbol] === true;
|
|
69407
69485
|
}
|
|
69408
69486
|
async function resolveOverrideComponent(registration) {
|
|
69409
69487
|
if (isLazyRegistration(registration)) {
|