@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/routing.mjs
CHANGED
|
@@ -6405,6 +6405,12 @@ var init_endpoints = __esm({
|
|
|
6405
6405
|
});
|
|
6406
6406
|
|
|
6407
6407
|
// ../core/src/result.ts
|
|
6408
|
+
function ok(value) {
|
|
6409
|
+
return { ok: true, value };
|
|
6410
|
+
}
|
|
6411
|
+
function err(error) {
|
|
6412
|
+
return { ok: false, error };
|
|
6413
|
+
}
|
|
6408
6414
|
var init_result = __esm({
|
|
6409
6415
|
"../core/src/result.ts"() {
|
|
6410
6416
|
"use strict";
|
|
@@ -6479,6 +6485,30 @@ var init_collections = __esm({
|
|
|
6479
6485
|
});
|
|
6480
6486
|
|
|
6481
6487
|
// ../core/src/event-pricing.ts
|
|
6488
|
+
function publicEventPricingType(pricing) {
|
|
6489
|
+
switch (pricing.kind) {
|
|
6490
|
+
case "drop_in":
|
|
6491
|
+
case "free_registration":
|
|
6492
|
+
return "free";
|
|
6493
|
+
case "single_paid":
|
|
6494
|
+
case "ticket_types":
|
|
6495
|
+
case "course":
|
|
6496
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
6497
|
+
}
|
|
6498
|
+
}
|
|
6499
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
6500
|
+
switch (display.kind) {
|
|
6501
|
+
case "free":
|
|
6502
|
+
return true;
|
|
6503
|
+
case "course":
|
|
6504
|
+
return display.display.kind === "free";
|
|
6505
|
+
case "exact":
|
|
6506
|
+
case "from":
|
|
6507
|
+
case "mixed":
|
|
6508
|
+
case "unavailable":
|
|
6509
|
+
return false;
|
|
6510
|
+
}
|
|
6511
|
+
}
|
|
6482
6512
|
var init_event_pricing = __esm({
|
|
6483
6513
|
"../core/src/event-pricing.ts"() {
|
|
6484
6514
|
"use strict";
|
|
@@ -6514,9 +6544,140 @@ var init_booking_instalments = __esm({
|
|
|
6514
6544
|
});
|
|
6515
6545
|
|
|
6516
6546
|
// ../core/src/booking-date-time.ts
|
|
6547
|
+
function isValidTimeZone(timeZone) {
|
|
6548
|
+
try {
|
|
6549
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
6550
|
+
return true;
|
|
6551
|
+
} catch {
|
|
6552
|
+
return false;
|
|
6553
|
+
}
|
|
6554
|
+
}
|
|
6555
|
+
function getSafeTimeZone(timeZone) {
|
|
6556
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
6557
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
6558
|
+
}
|
|
6559
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
6560
|
+
const normalized = timeZone.trim();
|
|
6561
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
6562
|
+
return null;
|
|
6563
|
+
}
|
|
6564
|
+
return normalized;
|
|
6565
|
+
}
|
|
6566
|
+
function formatParseError(error) {
|
|
6567
|
+
switch (error.reason) {
|
|
6568
|
+
case "invalid_starts_at":
|
|
6569
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
6570
|
+
case "invalid_ends_at":
|
|
6571
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
6572
|
+
case "invalid_time_zone":
|
|
6573
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
6574
|
+
}
|
|
6575
|
+
}
|
|
6576
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
6577
|
+
return new Map(
|
|
6578
|
+
new Intl.DateTimeFormat(locale, {
|
|
6579
|
+
...format,
|
|
6580
|
+
timeZone
|
|
6581
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
6582
|
+
);
|
|
6583
|
+
}
|
|
6584
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
6585
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
6586
|
+
year: "numeric",
|
|
6587
|
+
month: "2-digit",
|
|
6588
|
+
day: "2-digit",
|
|
6589
|
+
hour: "2-digit",
|
|
6590
|
+
minute: "2-digit",
|
|
6591
|
+
second: "2-digit",
|
|
6592
|
+
hour12: false
|
|
6593
|
+
});
|
|
6594
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
6595
|
+
return {
|
|
6596
|
+
year: read("year"),
|
|
6597
|
+
month: read("month"),
|
|
6598
|
+
day: read("day"),
|
|
6599
|
+
hour: read("hour"),
|
|
6600
|
+
minute: read("minute"),
|
|
6601
|
+
second: read("second")
|
|
6602
|
+
};
|
|
6603
|
+
}
|
|
6604
|
+
function formatDateKey(date) {
|
|
6605
|
+
const year = String(date.year).padStart(4, "0");
|
|
6606
|
+
const month = String(date.month).padStart(2, "0");
|
|
6607
|
+
const day = String(date.day).padStart(2, "0");
|
|
6608
|
+
return `${year}-${month}-${day}`;
|
|
6609
|
+
}
|
|
6610
|
+
function parseUtcIsoDateTimeString(value) {
|
|
6611
|
+
const normalized = value.trim();
|
|
6612
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
6613
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
6614
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
6615
|
+
return err("missing-timezone-offset");
|
|
6616
|
+
}
|
|
6617
|
+
const date = new Date(normalized);
|
|
6618
|
+
if (Number.isNaN(date.getTime())) {
|
|
6619
|
+
return err("invalid-date-time");
|
|
6620
|
+
}
|
|
6621
|
+
return ok(date.toISOString());
|
|
6622
|
+
}
|
|
6623
|
+
function toUtcIsoDateTimeString(value) {
|
|
6624
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
6625
|
+
if (!parsed.ok) {
|
|
6626
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
6627
|
+
throw new Error(message);
|
|
6628
|
+
}
|
|
6629
|
+
return parsed.value;
|
|
6630
|
+
}
|
|
6631
|
+
function parseScheduledBookingDateTime(input) {
|
|
6632
|
+
try {
|
|
6633
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
6634
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
6635
|
+
if (!timeZone) {
|
|
6636
|
+
return {
|
|
6637
|
+
ok: false,
|
|
6638
|
+
field: "timeZone",
|
|
6639
|
+
reason: "invalid_time_zone",
|
|
6640
|
+
value: input.timeZone
|
|
6641
|
+
};
|
|
6642
|
+
}
|
|
6643
|
+
return {
|
|
6644
|
+
ok: true,
|
|
6645
|
+
value: {
|
|
6646
|
+
startsAt,
|
|
6647
|
+
timeZone,
|
|
6648
|
+
locale: input.locale
|
|
6649
|
+
}
|
|
6650
|
+
};
|
|
6651
|
+
} catch {
|
|
6652
|
+
return {
|
|
6653
|
+
ok: false,
|
|
6654
|
+
field: "startsAt",
|
|
6655
|
+
reason: "invalid_starts_at",
|
|
6656
|
+
value: input.startsAt
|
|
6657
|
+
};
|
|
6658
|
+
}
|
|
6659
|
+
}
|
|
6660
|
+
function toScheduledBookingDateTime(input) {
|
|
6661
|
+
const result = parseScheduledBookingDateTime(input);
|
|
6662
|
+
if (result.ok) {
|
|
6663
|
+
return result.value;
|
|
6664
|
+
}
|
|
6665
|
+
throw new Error(formatParseError(result));
|
|
6666
|
+
}
|
|
6667
|
+
function getBookingLocalDateKey(input) {
|
|
6668
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
6669
|
+
}
|
|
6670
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
6671
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
6672
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
6673
|
+
}
|
|
6674
|
+
var DEFAULT_LOCALE, FALLBACK_TIMEZONE;
|
|
6517
6675
|
var init_booking_date_time = __esm({
|
|
6518
6676
|
"../core/src/booking-date-time.ts"() {
|
|
6519
6677
|
"use strict";
|
|
6678
|
+
init_result();
|
|
6679
|
+
DEFAULT_LOCALE = "en-US";
|
|
6680
|
+
FALLBACK_TIMEZONE = "UTC";
|
|
6520
6681
|
}
|
|
6521
6682
|
});
|
|
6522
6683
|
|
|
@@ -32315,6 +32476,32 @@ var init_event_registration_shared = __esm({
|
|
|
32315
32476
|
}
|
|
32316
32477
|
});
|
|
32317
32478
|
|
|
32479
|
+
// ../blocks/src/system/constants/events.ts
|
|
32480
|
+
function isEventCalendarDisplayMode(value) {
|
|
32481
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
32482
|
+
}
|
|
32483
|
+
function isEventCalendarListLayout(value) {
|
|
32484
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
32485
|
+
}
|
|
32486
|
+
function isEventContentType(slug) {
|
|
32487
|
+
if (!slug) return false;
|
|
32488
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
32489
|
+
}
|
|
32490
|
+
var EVENT_CONTENT_TYPE_SLUGS, eventCalendarDisplayModeValues, eventCalendarListLayoutValues, eventCalendarListLayoutOptions;
|
|
32491
|
+
var init_events = __esm({
|
|
32492
|
+
"../blocks/src/system/constants/events.ts"() {
|
|
32493
|
+
"use strict";
|
|
32494
|
+
EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
32495
|
+
eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
32496
|
+
eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
32497
|
+
eventCalendarListLayoutOptions = [
|
|
32498
|
+
{ id: "stack", label: "Stack" },
|
|
32499
|
+
{ id: "grid", label: "Grid" },
|
|
32500
|
+
{ id: "compact", label: "Compact" }
|
|
32501
|
+
];
|
|
32502
|
+
}
|
|
32503
|
+
});
|
|
32504
|
+
|
|
32318
32505
|
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
32319
32506
|
function resolveRuntimeEventPricing(event) {
|
|
32320
32507
|
if (isPublicEventPricing(event.pricing)) {
|
|
@@ -32441,27 +32628,6 @@ var init_pricing = __esm({
|
|
|
32441
32628
|
}
|
|
32442
32629
|
});
|
|
32443
32630
|
|
|
32444
|
-
// ../blocks/src/system/constants/events.ts
|
|
32445
|
-
function isEventCalendarDisplayMode(value) {
|
|
32446
|
-
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
32447
|
-
}
|
|
32448
|
-
function isEventCalendarListLayout(value) {
|
|
32449
|
-
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
32450
|
-
}
|
|
32451
|
-
var eventCalendarDisplayModeValues, eventCalendarListLayoutValues, eventCalendarListLayoutOptions;
|
|
32452
|
-
var init_events = __esm({
|
|
32453
|
-
"../blocks/src/system/constants/events.ts"() {
|
|
32454
|
-
"use strict";
|
|
32455
|
-
eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
32456
|
-
eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
32457
|
-
eventCalendarListLayoutOptions = [
|
|
32458
|
-
{ id: "stack", label: "Stack" },
|
|
32459
|
-
{ id: "grid", label: "Grid" },
|
|
32460
|
-
{ id: "compact", label: "Compact" }
|
|
32461
|
-
];
|
|
32462
|
-
}
|
|
32463
|
-
});
|
|
32464
|
-
|
|
32465
32631
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
32466
32632
|
import { z as z47 } from "zod";
|
|
32467
32633
|
var previewStageSchema, registrationButtonVariantSchema, eventButtonVariantSchema, eventLayoutSchema, eventCalendarDisplayModeSchema, columnOptionSchema, weekStartSchema, filterAutoShowSchema, calendarTabViewsSchema;
|
|
@@ -32481,19 +32647,157 @@ var init_contract_schemas = __esm({
|
|
|
32481
32647
|
}
|
|
32482
32648
|
});
|
|
32483
32649
|
|
|
32650
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
32651
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
32652
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
32653
|
+
if (!needsPaymentStep) {
|
|
32654
|
+
return baseSteps;
|
|
32655
|
+
}
|
|
32656
|
+
return [...baseSteps, "select-payment"];
|
|
32657
|
+
}
|
|
32658
|
+
var init_wizardSteps = __esm({
|
|
32659
|
+
"../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts"() {
|
|
32660
|
+
"use strict";
|
|
32661
|
+
}
|
|
32662
|
+
});
|
|
32663
|
+
|
|
32664
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
32665
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
32666
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
32667
|
+
}
|
|
32668
|
+
function findPreSelectedEvent(input) {
|
|
32669
|
+
const occurrenceContext = input.occurrenceContext;
|
|
32670
|
+
if (!occurrenceContext) {
|
|
32671
|
+
return null;
|
|
32672
|
+
}
|
|
32673
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
32674
|
+
startsAt: occurrenceContext.startsAt,
|
|
32675
|
+
timeZone: occurrenceContext.timeZone
|
|
32676
|
+
}));
|
|
32677
|
+
return input.scopedEvents.find(
|
|
32678
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
32679
|
+
startsAt: event.startsAt,
|
|
32680
|
+
timeZone: event.timeZone
|
|
32681
|
+
})) === contextDate
|
|
32682
|
+
) ?? null;
|
|
32683
|
+
}
|
|
32684
|
+
function resolveEventRequiresPayment(input) {
|
|
32685
|
+
if (input.eligibility) {
|
|
32686
|
+
return input.eligibility.requiresPayment;
|
|
32687
|
+
}
|
|
32688
|
+
if (input.selectedTicketType) {
|
|
32689
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
32690
|
+
}
|
|
32691
|
+
if (!input.event) {
|
|
32692
|
+
return false;
|
|
32693
|
+
}
|
|
32694
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
32695
|
+
}
|
|
32696
|
+
var init_registrationDerivations = __esm({
|
|
32697
|
+
"../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts"() {
|
|
32698
|
+
"use strict";
|
|
32699
|
+
init_src();
|
|
32700
|
+
init_pricing();
|
|
32701
|
+
}
|
|
32702
|
+
});
|
|
32703
|
+
|
|
32704
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
32705
|
+
function toRegistrationEvent(event) {
|
|
32706
|
+
return {
|
|
32707
|
+
...event,
|
|
32708
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
32709
|
+
publicEventId: event.id,
|
|
32710
|
+
registrationOccurrenceId: event.occurrenceId
|
|
32711
|
+
};
|
|
32712
|
+
}
|
|
32713
|
+
function toRegistrationEvents(events) {
|
|
32714
|
+
return events.map(toRegistrationEvent);
|
|
32715
|
+
}
|
|
32716
|
+
var init_registrationEventAdapter = __esm({
|
|
32717
|
+
"../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts"() {
|
|
32718
|
+
"use strict";
|
|
32719
|
+
init_pricing();
|
|
32720
|
+
}
|
|
32721
|
+
});
|
|
32722
|
+
|
|
32484
32723
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
32485
32724
|
import { z as z48 } from "zod";
|
|
32486
32725
|
function buildEventRegistrationDisplay(source) {
|
|
32726
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
32487
32727
|
return {
|
|
32488
32728
|
kind: "event-registration",
|
|
32489
32729
|
state: "generic-shell",
|
|
32490
32730
|
className: source.className ?? null,
|
|
32491
32731
|
titleText: "Event registration",
|
|
32492
|
-
bodyText:
|
|
32493
|
-
stepLabels
|
|
32732
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
32733
|
+
stepLabels,
|
|
32494
32734
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
32495
32735
|
};
|
|
32496
32736
|
}
|
|
32737
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
32738
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
32739
|
+
if (scopedEvents.length === 0) {
|
|
32740
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
32741
|
+
}
|
|
32742
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
32743
|
+
scopedEvents,
|
|
32744
|
+
occurrenceContext: source.occurrenceContext
|
|
32745
|
+
});
|
|
32746
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
32747
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
32748
|
+
eligibility: null,
|
|
32749
|
+
selectedTicketType: null,
|
|
32750
|
+
event: preSelectedEvent
|
|
32751
|
+
}) : false;
|
|
32752
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
32753
|
+
}
|
|
32754
|
+
function scopeEventRegistrationEvents(source) {
|
|
32755
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
32756
|
+
if (source.occurrenceContext?.seriesId) {
|
|
32757
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
32758
|
+
}
|
|
32759
|
+
const entrySlug = source.contentEntry?.slug;
|
|
32760
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
32761
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
32762
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
32763
|
+
}
|
|
32764
|
+
return events;
|
|
32765
|
+
}
|
|
32766
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
32767
|
+
switch (step) {
|
|
32768
|
+
case "select-event":
|
|
32769
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
32770
|
+
case "select-tickets":
|
|
32771
|
+
return "Tickets";
|
|
32772
|
+
case "enter-details":
|
|
32773
|
+
return "Details";
|
|
32774
|
+
case "select-payment":
|
|
32775
|
+
return "Payment";
|
|
32776
|
+
case "error":
|
|
32777
|
+
case "success":
|
|
32778
|
+
case "submitting":
|
|
32779
|
+
case "redirecting":
|
|
32780
|
+
case "verifying-payment":
|
|
32781
|
+
case "verifying-timeout":
|
|
32782
|
+
case "payment-failed":
|
|
32783
|
+
return "Details";
|
|
32784
|
+
}
|
|
32785
|
+
}
|
|
32786
|
+
function isDateSelection(events) {
|
|
32787
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
32788
|
+
return Boolean(
|
|
32789
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
32790
|
+
);
|
|
32791
|
+
}
|
|
32792
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
32793
|
+
if (stepLabels.includes("Payment")) {
|
|
32794
|
+
return "Preparing tickets, details, and payment options.";
|
|
32795
|
+
}
|
|
32796
|
+
if (stepLabels[0] === "Tickets") {
|
|
32797
|
+
return "Preparing tickets and booking details.";
|
|
32798
|
+
}
|
|
32799
|
+
return "Preparing dates, tickets, and booking details.";
|
|
32800
|
+
}
|
|
32497
32801
|
function normalizeEventRegistrationEventInput(value) {
|
|
32498
32802
|
if (!isRecord4(value)) {
|
|
32499
32803
|
return value;
|
|
@@ -32506,22 +32810,22 @@ function normalizeEventRegistrationEventInput(value) {
|
|
|
32506
32810
|
function isRecord4(value) {
|
|
32507
32811
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
32508
32812
|
}
|
|
32509
|
-
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS,
|
|
32813
|
+
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, contentEntrySchema, eventRegistrationPublicEventSchema, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationIslandMetaCodec, eventRegistrationIslandMetaKeys, eventRegistrationBlockRuntime, eventRegistrationInteractiveIslandPropsCodec;
|
|
32510
32814
|
var init_event_registration_interactive = __esm({
|
|
32511
32815
|
"../blocks/src/system/runtime/nodes/event-registration.interactive.ts"() {
|
|
32512
32816
|
"use strict";
|
|
32513
32817
|
init_schemas2();
|
|
32514
32818
|
init_event_registration_shared();
|
|
32819
|
+
init_events();
|
|
32515
32820
|
init_pricing();
|
|
32516
32821
|
init_islands();
|
|
32517
32822
|
init_runtime();
|
|
32518
32823
|
init_contract_schemas();
|
|
32824
|
+
init_wizardSteps();
|
|
32825
|
+
init_registrationDerivations();
|
|
32826
|
+
init_registrationEventAdapter();
|
|
32519
32827
|
EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
32520
|
-
[
|
|
32521
|
-
eventRegistrationGenericDateStepLabel,
|
|
32522
|
-
eventRegistrationGenericTicketsStepLabel,
|
|
32523
|
-
eventRegistrationGenericDetailsStepLabel
|
|
32524
|
-
] = EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
32828
|
+
EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
32525
32829
|
contentEntrySchema = z48.object({
|
|
32526
32830
|
id: z48.string(),
|
|
32527
32831
|
slug: z48.string(),
|
|
@@ -32557,11 +32861,7 @@ var init_event_registration_interactive = __esm({
|
|
|
32557
32861
|
className: z48.string().nullable(),
|
|
32558
32862
|
titleText: z48.string(),
|
|
32559
32863
|
bodyText: z48.string(),
|
|
32560
|
-
stepLabels: z48.
|
|
32561
|
-
z48.literal(eventRegistrationGenericDateStepLabel),
|
|
32562
|
-
z48.literal(eventRegistrationGenericTicketsStepLabel),
|
|
32563
|
-
z48.literal(eventRegistrationGenericDetailsStepLabel)
|
|
32564
|
-
]),
|
|
32864
|
+
stepLabels: z48.array(z48.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
32565
32865
|
summaryButtonText: z48.string()
|
|
32566
32866
|
});
|
|
32567
32867
|
eventRegistrationHydrationSchema = z48.object({
|