@riverbankcms/sdk 0.84.0 → 0.84.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-HML67UDA.mjs → PreviewEditorSidebar-X7RLMEI6.mjs} +2 -2
- package/dist/{PreviewEditorUI-I4BQUU6K.mjs → PreviewEditorUI-CT67N4O3.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-EIMQ3S2V.mjs +8 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -303
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -6
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +6 -4
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-MSHZO4SL.mjs → chunk-O62NDCTI.mjs} +268 -186
- package/dist/{chunk-HFMGVJCE.mjs → chunk-QRKJDWT7.mjs} +5 -5
- package/dist/{chunk-6X2OVO3S.mjs → chunk-RCTJAZSK.mjs} +1 -1
- package/dist/{chunk-5E33VO6J.mjs → chunk-X5ZCSU6F.mjs} +1 -1
- package/dist/cli/index.mjs +323 -35
- package/dist/cli/init-docs/content/agents-section.md +5 -0
- package/dist/cli/init-docs/content/cli-reference.md +13 -0
- package/dist/cli/init-docs/content/content-management.md +31 -0
- package/dist/cli/init-docs/content/getting-started.md +12 -0
- package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
- package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
- package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
- package/dist/cli/init-docs/content/workflow-templates.md +14 -0
- package/dist/client/{accordion-ESY65T56.mjs → accordion-2UZPBMYM.mjs} +1 -1
- package/dist/client/{bookingForm-JRFNZUHD.mjs → bookingForm-DYXT6YB6.mjs} +3 -3
- package/dist/client/bookings.mjs +155 -134
- package/dist/client/{carousel-CPR5VWIP.mjs → carousel-QH77HR6X.mjs} +2 -2
- package/dist/client/{cart-ZUX5BA7O.mjs → cart-X4YK4FTW.mjs} +5 -5
- package/dist/client/{checkout-RULGBADZ.mjs → checkout-OM2BEPWD.mjs} +5 -5
- package/dist/client/{chunk-BT6AEIKN.mjs → chunk-3DTWLTXM.mjs} +1 -1
- package/dist/client/{chunk-JWEYB4V6.mjs → chunk-4OXKTA3D.mjs} +1 -1
- package/dist/client/{chunk-URQCZD5W.mjs → chunk-52CGCQ7B.mjs} +4 -4
- package/dist/client/{chunk-52I7BGEK.mjs → chunk-7UCLJ5SP.mjs} +1 -1
- package/dist/client/{chunk-Z5OBQ5I4.mjs → chunk-F5VRX5Y6.mjs} +1 -1
- package/dist/client/{chunk-RDJFCPY3.mjs → chunk-UHDWIXVR.mjs} +31 -115
- package/dist/client/{chunk-HXPWP5EN.mjs → chunk-VGDBVNOO.mjs} +175 -14
- package/dist/client/{chunk-5ZEAZ33K.mjs → chunk-ZKUO52W3.mjs} +1 -1
- package/dist/client/client.mjs +337 -217
- package/dist/client/{courseRegistration-QTUDC35T.mjs → courseRegistration-YBOGURTA.mjs} +3 -3
- package/dist/client/{eventCalendar-Q7NS4XLD.mjs → eventCalendar-K4QJVCMD.mjs} +5 -5
- package/dist/client/{eventCombined-QAO7VUO5.mjs → eventCombined-MTXGMTCZ.mjs} +5 -5
- package/dist/client/{eventDetails-WTNNU6Q3.mjs → eventDetails-3PC4NL3U.mjs} +5 -5
- package/dist/client/{eventListing-5TA2ELDT.mjs → eventListing-TFJET6DN.mjs} +5 -5
- package/dist/client/{eventRegistration-M6USZGRF.mjs → eventRegistration-QGPBGJTW.mjs} +5 -5
- package/dist/client/{form-DGVGXLMH.mjs → form-MDKR4FNB.mjs} +1 -1
- package/dist/client/{headerSection-O2AGMPCU.mjs → headerSection-Y5TMR3TW.mjs} +2 -2
- package/dist/client/hooks.mjs +315 -35
- package/dist/client/{locationMap-EJRNRIKJ.mjs → locationMap-RH2LG7FZ.mjs} +1 -1
- package/dist/client/{newsletterForm-7NTC2DTR.mjs → newsletterForm-ZR5UDGBT.mjs} +1 -1
- package/dist/client/{productDetail-HH4LP53D.mjs → productDetail-OIGDR4YE.mjs} +5 -5
- package/dist/client/{productList-YVHYM2AF.mjs → productList-4MA5S2CX.mjs} +5 -5
- package/dist/client/rendering/client.mjs +310 -190
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +310 -190
- package/dist/client/{shop-UIFX7XRK.mjs → shop-WXSYV5QO.mjs} +5 -5
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-ZENAOYMN.mjs → sdk-runtime-7HJYPRWQ.mjs} +4 -4
- package/dist/server/components.mjs +188 -61
- package/dist/server/config-validation.mjs +313 -33
- package/dist/server/config.mjs +313 -33
- package/dist/server/data.mjs +315 -35
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +189 -62
- package/dist/server/page-converter.mjs +315 -35
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +188 -61
- package/dist/server/rendering.mjs +188 -61
- package/dist/server/routing.mjs +334 -34
- package/dist/server/server.mjs +322 -42
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +0 -8
package/dist/server/data.mjs
CHANGED
|
@@ -6375,6 +6375,171 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
6375
6375
|
}
|
|
6376
6376
|
};
|
|
6377
6377
|
|
|
6378
|
+
// ../core/src/result.ts
|
|
6379
|
+
function ok(value) {
|
|
6380
|
+
return { ok: true, value };
|
|
6381
|
+
}
|
|
6382
|
+
function err(error) {
|
|
6383
|
+
return { ok: false, error };
|
|
6384
|
+
}
|
|
6385
|
+
|
|
6386
|
+
// ../core/src/event-pricing.ts
|
|
6387
|
+
function publicEventPricingType(pricing) {
|
|
6388
|
+
switch (pricing.kind) {
|
|
6389
|
+
case "drop_in":
|
|
6390
|
+
case "free_registration":
|
|
6391
|
+
return "free";
|
|
6392
|
+
case "single_paid":
|
|
6393
|
+
case "ticket_types":
|
|
6394
|
+
case "course":
|
|
6395
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6396
|
+
}
|
|
6397
|
+
}
|
|
6398
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
6399
|
+
switch (display.kind) {
|
|
6400
|
+
case "free":
|
|
6401
|
+
return true;
|
|
6402
|
+
case "course":
|
|
6403
|
+
return display.display.kind === "free";
|
|
6404
|
+
case "exact":
|
|
6405
|
+
case "from":
|
|
6406
|
+
case "mixed":
|
|
6407
|
+
case "unavailable":
|
|
6408
|
+
return false;
|
|
6409
|
+
}
|
|
6410
|
+
}
|
|
6411
|
+
|
|
6412
|
+
// ../core/src/booking-date-time.ts
|
|
6413
|
+
var DEFAULT_LOCALE = "en-US";
|
|
6414
|
+
var FALLBACK_TIMEZONE = "UTC";
|
|
6415
|
+
function isValidTimeZone(timeZone) {
|
|
6416
|
+
try {
|
|
6417
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
6418
|
+
return true;
|
|
6419
|
+
} catch {
|
|
6420
|
+
return false;
|
|
6421
|
+
}
|
|
6422
|
+
}
|
|
6423
|
+
function getSafeTimeZone(timeZone) {
|
|
6424
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
6425
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
6426
|
+
}
|
|
6427
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
6428
|
+
const normalized = timeZone.trim();
|
|
6429
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
6430
|
+
return null;
|
|
6431
|
+
}
|
|
6432
|
+
return normalized;
|
|
6433
|
+
}
|
|
6434
|
+
function formatParseError(error) {
|
|
6435
|
+
switch (error.reason) {
|
|
6436
|
+
case "invalid_starts_at":
|
|
6437
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
6438
|
+
case "invalid_ends_at":
|
|
6439
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
6440
|
+
case "invalid_time_zone":
|
|
6441
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
6442
|
+
}
|
|
6443
|
+
}
|
|
6444
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
6445
|
+
return new Map(
|
|
6446
|
+
new Intl.DateTimeFormat(locale, {
|
|
6447
|
+
...format,
|
|
6448
|
+
timeZone
|
|
6449
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
6450
|
+
);
|
|
6451
|
+
}
|
|
6452
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
6453
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
6454
|
+
year: "numeric",
|
|
6455
|
+
month: "2-digit",
|
|
6456
|
+
day: "2-digit",
|
|
6457
|
+
hour: "2-digit",
|
|
6458
|
+
minute: "2-digit",
|
|
6459
|
+
second: "2-digit",
|
|
6460
|
+
hour12: false
|
|
6461
|
+
});
|
|
6462
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
6463
|
+
return {
|
|
6464
|
+
year: read("year"),
|
|
6465
|
+
month: read("month"),
|
|
6466
|
+
day: read("day"),
|
|
6467
|
+
hour: read("hour"),
|
|
6468
|
+
minute: read("minute"),
|
|
6469
|
+
second: read("second")
|
|
6470
|
+
};
|
|
6471
|
+
}
|
|
6472
|
+
function formatDateKey(date) {
|
|
6473
|
+
const year = String(date.year).padStart(4, "0");
|
|
6474
|
+
const month = String(date.month).padStart(2, "0");
|
|
6475
|
+
const day = String(date.day).padStart(2, "0");
|
|
6476
|
+
return `${year}-${month}-${day}`;
|
|
6477
|
+
}
|
|
6478
|
+
function parseUtcIsoDateTimeString(value) {
|
|
6479
|
+
const normalized = value.trim();
|
|
6480
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
6481
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
6482
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
6483
|
+
return err("missing-timezone-offset");
|
|
6484
|
+
}
|
|
6485
|
+
const date = new Date(normalized);
|
|
6486
|
+
if (Number.isNaN(date.getTime())) {
|
|
6487
|
+
return err("invalid-date-time");
|
|
6488
|
+
}
|
|
6489
|
+
return ok(date.toISOString());
|
|
6490
|
+
}
|
|
6491
|
+
function toUtcIsoDateTimeString(value) {
|
|
6492
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
6493
|
+
if (!parsed.ok) {
|
|
6494
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
6495
|
+
throw new Error(message);
|
|
6496
|
+
}
|
|
6497
|
+
return parsed.value;
|
|
6498
|
+
}
|
|
6499
|
+
function parseScheduledBookingDateTime(input) {
|
|
6500
|
+
try {
|
|
6501
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
6502
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
6503
|
+
if (!timeZone) {
|
|
6504
|
+
return {
|
|
6505
|
+
ok: false,
|
|
6506
|
+
field: "timeZone",
|
|
6507
|
+
reason: "invalid_time_zone",
|
|
6508
|
+
value: input.timeZone
|
|
6509
|
+
};
|
|
6510
|
+
}
|
|
6511
|
+
return {
|
|
6512
|
+
ok: true,
|
|
6513
|
+
value: {
|
|
6514
|
+
startsAt,
|
|
6515
|
+
timeZone,
|
|
6516
|
+
locale: input.locale
|
|
6517
|
+
}
|
|
6518
|
+
};
|
|
6519
|
+
} catch {
|
|
6520
|
+
return {
|
|
6521
|
+
ok: false,
|
|
6522
|
+
field: "startsAt",
|
|
6523
|
+
reason: "invalid_starts_at",
|
|
6524
|
+
value: input.startsAt
|
|
6525
|
+
};
|
|
6526
|
+
}
|
|
6527
|
+
}
|
|
6528
|
+
function toScheduledBookingDateTime(input) {
|
|
6529
|
+
const result = parseScheduledBookingDateTime(input);
|
|
6530
|
+
if (result.ok) {
|
|
6531
|
+
return result.value;
|
|
6532
|
+
}
|
|
6533
|
+
throw new Error(formatParseError(result));
|
|
6534
|
+
}
|
|
6535
|
+
function getBookingLocalDateKey(input) {
|
|
6536
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
6537
|
+
}
|
|
6538
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
6539
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
6540
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
6541
|
+
}
|
|
6542
|
+
|
|
6378
6543
|
// ../core/src/location.ts
|
|
6379
6544
|
function normalizeLocationAddressText(value) {
|
|
6380
6545
|
if (typeof value !== "string") {
|
|
@@ -9228,9 +9393,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9228
9393
|
}
|
|
9229
9394
|
image.remove();
|
|
9230
9395
|
return res;
|
|
9231
|
-
} catch (
|
|
9396
|
+
} catch (err2) {
|
|
9232
9397
|
image.remove();
|
|
9233
|
-
return Promise.reject(
|
|
9398
|
+
return Promise.reject(err2);
|
|
9234
9399
|
}
|
|
9235
9400
|
}
|
|
9236
9401
|
async getPalettes() {
|
|
@@ -9244,9 +9409,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
9244
9409
|
const res = result1.palettes;
|
|
9245
9410
|
image.remove();
|
|
9246
9411
|
return res;
|
|
9247
|
-
} catch (
|
|
9412
|
+
} catch (err2) {
|
|
9248
9413
|
image.remove();
|
|
9249
|
-
return Promise.reject(
|
|
9414
|
+
return Promise.reject(err2);
|
|
9250
9415
|
}
|
|
9251
9416
|
}
|
|
9252
9417
|
};
|
|
@@ -28135,6 +28300,26 @@ var occurrenceContextSchema = z43.object({
|
|
|
28135
28300
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28136
28301
|
import { z as z45 } from "zod";
|
|
28137
28302
|
|
|
28303
|
+
// ../blocks/src/system/constants/events.ts
|
|
28304
|
+
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
28305
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
28306
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28307
|
+
var eventCalendarListLayoutOptions = [
|
|
28308
|
+
{ id: "stack", label: "Stack" },
|
|
28309
|
+
{ id: "grid", label: "Grid" },
|
|
28310
|
+
{ id: "compact", label: "Compact" }
|
|
28311
|
+
];
|
|
28312
|
+
function isEventCalendarDisplayMode(value) {
|
|
28313
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28314
|
+
}
|
|
28315
|
+
function isEventCalendarListLayout(value) {
|
|
28316
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28317
|
+
}
|
|
28318
|
+
function isEventContentType(slug) {
|
|
28319
|
+
if (!slug) return false;
|
|
28320
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
28321
|
+
}
|
|
28322
|
+
|
|
28138
28323
|
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
28139
28324
|
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
28140
28325
|
function resolveRuntimeEventPricing(event) {
|
|
@@ -28257,23 +28442,6 @@ function readAmount(value) {
|
|
|
28257
28442
|
|
|
28258
28443
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28259
28444
|
import { z as z44 } from "zod";
|
|
28260
|
-
|
|
28261
|
-
// ../blocks/src/system/constants/events.ts
|
|
28262
|
-
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
28263
|
-
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
28264
|
-
var eventCalendarListLayoutOptions = [
|
|
28265
|
-
{ id: "stack", label: "Stack" },
|
|
28266
|
-
{ id: "grid", label: "Grid" },
|
|
28267
|
-
{ id: "compact", label: "Compact" }
|
|
28268
|
-
];
|
|
28269
|
-
function isEventCalendarDisplayMode(value) {
|
|
28270
|
-
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
28271
|
-
}
|
|
28272
|
-
function isEventCalendarListLayout(value) {
|
|
28273
|
-
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
28274
|
-
}
|
|
28275
|
-
|
|
28276
|
-
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
28277
28445
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
28278
28446
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
28279
28447
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
@@ -28284,13 +28452,64 @@ var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
|
28284
28452
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
28285
28453
|
var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
|
|
28286
28454
|
|
|
28455
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
28456
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
28457
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
28458
|
+
if (!needsPaymentStep) {
|
|
28459
|
+
return baseSteps;
|
|
28460
|
+
}
|
|
28461
|
+
return [...baseSteps, "select-payment"];
|
|
28462
|
+
}
|
|
28463
|
+
|
|
28464
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
28465
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
28466
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
28467
|
+
}
|
|
28468
|
+
function findPreSelectedEvent(input) {
|
|
28469
|
+
const occurrenceContext = input.occurrenceContext;
|
|
28470
|
+
if (!occurrenceContext) {
|
|
28471
|
+
return null;
|
|
28472
|
+
}
|
|
28473
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28474
|
+
startsAt: occurrenceContext.startsAt,
|
|
28475
|
+
timeZone: occurrenceContext.timeZone
|
|
28476
|
+
}));
|
|
28477
|
+
return input.scopedEvents.find(
|
|
28478
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
28479
|
+
startsAt: event.startsAt,
|
|
28480
|
+
timeZone: event.timeZone
|
|
28481
|
+
})) === contextDate
|
|
28482
|
+
) ?? null;
|
|
28483
|
+
}
|
|
28484
|
+
function resolveEventRequiresPayment(input) {
|
|
28485
|
+
if (input.eligibility) {
|
|
28486
|
+
return input.eligibility.requiresPayment;
|
|
28487
|
+
}
|
|
28488
|
+
if (input.selectedTicketType) {
|
|
28489
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
28490
|
+
}
|
|
28491
|
+
if (!input.event) {
|
|
28492
|
+
return false;
|
|
28493
|
+
}
|
|
28494
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
28495
|
+
}
|
|
28496
|
+
|
|
28497
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
28498
|
+
function toRegistrationEvent(event) {
|
|
28499
|
+
return {
|
|
28500
|
+
...event,
|
|
28501
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
28502
|
+
publicEventId: event.id,
|
|
28503
|
+
registrationOccurrenceId: event.occurrenceId
|
|
28504
|
+
};
|
|
28505
|
+
}
|
|
28506
|
+
function toRegistrationEvents(events) {
|
|
28507
|
+
return events.map(toRegistrationEvent);
|
|
28508
|
+
}
|
|
28509
|
+
|
|
28287
28510
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28288
28511
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
28289
|
-
var [
|
|
28290
|
-
eventRegistrationGenericDateStepLabel,
|
|
28291
|
-
eventRegistrationGenericTicketsStepLabel,
|
|
28292
|
-
eventRegistrationGenericDetailsStepLabel
|
|
28293
|
-
] = EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
28512
|
+
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
28294
28513
|
var contentEntrySchema = z45.object({
|
|
28295
28514
|
id: z45.string(),
|
|
28296
28515
|
slug: z45.string(),
|
|
@@ -28326,11 +28545,7 @@ var eventRegistrationDisplaySchema = z45.object({
|
|
|
28326
28545
|
className: z45.string().nullable(),
|
|
28327
28546
|
titleText: z45.string(),
|
|
28328
28547
|
bodyText: z45.string(),
|
|
28329
|
-
stepLabels: z45.
|
|
28330
|
-
z45.literal(eventRegistrationGenericDateStepLabel),
|
|
28331
|
-
z45.literal(eventRegistrationGenericTicketsStepLabel),
|
|
28332
|
-
z45.literal(eventRegistrationGenericDetailsStepLabel)
|
|
28333
|
-
]),
|
|
28548
|
+
stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
28334
28549
|
summaryButtonText: z45.string()
|
|
28335
28550
|
});
|
|
28336
28551
|
var eventRegistrationHydrationSchema = z45.object({
|
|
@@ -28365,16 +28580,81 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
28365
28580
|
"stage"
|
|
28366
28581
|
);
|
|
28367
28582
|
function buildEventRegistrationDisplay(source) {
|
|
28583
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
28368
28584
|
return {
|
|
28369
28585
|
kind: "event-registration",
|
|
28370
28586
|
state: "generic-shell",
|
|
28371
28587
|
className: source.className ?? null,
|
|
28372
28588
|
titleText: "Event registration",
|
|
28373
|
-
bodyText:
|
|
28374
|
-
stepLabels
|
|
28589
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
28590
|
+
stepLabels,
|
|
28375
28591
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
28376
28592
|
};
|
|
28377
28593
|
}
|
|
28594
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
28595
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
28596
|
+
if (scopedEvents.length === 0) {
|
|
28597
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
28598
|
+
}
|
|
28599
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
28600
|
+
scopedEvents,
|
|
28601
|
+
occurrenceContext: source.occurrenceContext
|
|
28602
|
+
});
|
|
28603
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
28604
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
28605
|
+
eligibility: null,
|
|
28606
|
+
selectedTicketType: null,
|
|
28607
|
+
event: preSelectedEvent
|
|
28608
|
+
}) : false;
|
|
28609
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
28610
|
+
}
|
|
28611
|
+
function scopeEventRegistrationEvents(source) {
|
|
28612
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
28613
|
+
if (source.occurrenceContext?.seriesId) {
|
|
28614
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
28615
|
+
}
|
|
28616
|
+
const entrySlug = source.contentEntry?.slug;
|
|
28617
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
28618
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
28619
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
28620
|
+
}
|
|
28621
|
+
return events;
|
|
28622
|
+
}
|
|
28623
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
28624
|
+
switch (step) {
|
|
28625
|
+
case "select-event":
|
|
28626
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
28627
|
+
case "select-tickets":
|
|
28628
|
+
return "Tickets";
|
|
28629
|
+
case "enter-details":
|
|
28630
|
+
return "Details";
|
|
28631
|
+
case "select-payment":
|
|
28632
|
+
return "Payment";
|
|
28633
|
+
case "error":
|
|
28634
|
+
case "success":
|
|
28635
|
+
case "submitting":
|
|
28636
|
+
case "redirecting":
|
|
28637
|
+
case "verifying-payment":
|
|
28638
|
+
case "verifying-timeout":
|
|
28639
|
+
case "payment-failed":
|
|
28640
|
+
return "Details";
|
|
28641
|
+
}
|
|
28642
|
+
}
|
|
28643
|
+
function isDateSelection(events) {
|
|
28644
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
28645
|
+
return Boolean(
|
|
28646
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
28647
|
+
);
|
|
28648
|
+
}
|
|
28649
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
28650
|
+
if (stepLabels.includes("Payment")) {
|
|
28651
|
+
return "Preparing tickets, details, and payment options.";
|
|
28652
|
+
}
|
|
28653
|
+
if (stepLabels[0] === "Tickets") {
|
|
28654
|
+
return "Preparing tickets and booking details.";
|
|
28655
|
+
}
|
|
28656
|
+
return "Preparing dates, tickets, and booking details.";
|
|
28657
|
+
}
|
|
28378
28658
|
var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
28379
28659
|
kind: "client-owned",
|
|
28380
28660
|
contracts: {
|
|
@@ -37499,11 +37779,11 @@ function resolveParamsBindings(input, vm, meta) {
|
|
|
37499
37779
|
return binding.fallback;
|
|
37500
37780
|
}
|
|
37501
37781
|
return resolved;
|
|
37502
|
-
} catch (
|
|
37782
|
+
} catch (err2) {
|
|
37503
37783
|
if (shouldLogWarnings) {
|
|
37504
37784
|
console.warn(
|
|
37505
37785
|
`bindings: failed to parse loader param binding for block "${meta?.blockKind ?? "unknown"}"`,
|
|
37506
|
-
|
|
37786
|
+
err2
|
|
37507
37787
|
);
|
|
37508
37788
|
}
|
|
37509
37789
|
return void 0;
|
package/dist/server/index.mjs
CHANGED