@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/server.mjs
CHANGED
|
@@ -6999,7 +6999,7 @@ var SimpleCache = class {
|
|
|
6999
6999
|
};
|
|
7000
7000
|
|
|
7001
7001
|
// src/version.ts
|
|
7002
|
-
var SDK_VERSION = "0.84.
|
|
7002
|
+
var SDK_VERSION = "0.84.1";
|
|
7003
7003
|
|
|
7004
7004
|
// src/client/error.ts
|
|
7005
7005
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -8475,6 +8475,171 @@ function createRiverbankClient(config) {
|
|
|
8475
8475
|
};
|
|
8476
8476
|
}
|
|
8477
8477
|
|
|
8478
|
+
// ../core/src/result.ts
|
|
8479
|
+
function ok(value) {
|
|
8480
|
+
return { ok: true, value };
|
|
8481
|
+
}
|
|
8482
|
+
function err(error) {
|
|
8483
|
+
return { ok: false, error };
|
|
8484
|
+
}
|
|
8485
|
+
|
|
8486
|
+
// ../core/src/event-pricing.ts
|
|
8487
|
+
function publicEventPricingType(pricing) {
|
|
8488
|
+
switch (pricing.kind) {
|
|
8489
|
+
case "drop_in":
|
|
8490
|
+
case "free_registration":
|
|
8491
|
+
return "free";
|
|
8492
|
+
case "single_paid":
|
|
8493
|
+
case "ticket_types":
|
|
8494
|
+
case "course":
|
|
8495
|
+
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
8496
|
+
}
|
|
8497
|
+
}
|
|
8498
|
+
function isFreePublicEventPriceDisplay(display) {
|
|
8499
|
+
switch (display.kind) {
|
|
8500
|
+
case "free":
|
|
8501
|
+
return true;
|
|
8502
|
+
case "course":
|
|
8503
|
+
return display.display.kind === "free";
|
|
8504
|
+
case "exact":
|
|
8505
|
+
case "from":
|
|
8506
|
+
case "mixed":
|
|
8507
|
+
case "unavailable":
|
|
8508
|
+
return false;
|
|
8509
|
+
}
|
|
8510
|
+
}
|
|
8511
|
+
|
|
8512
|
+
// ../core/src/booking-date-time.ts
|
|
8513
|
+
var DEFAULT_LOCALE = "en-US";
|
|
8514
|
+
var FALLBACK_TIMEZONE = "UTC";
|
|
8515
|
+
function isValidTimeZone(timeZone) {
|
|
8516
|
+
try {
|
|
8517
|
+
new Intl.DateTimeFormat(DEFAULT_LOCALE, { timeZone }).format(/* @__PURE__ */ new Date());
|
|
8518
|
+
return true;
|
|
8519
|
+
} catch {
|
|
8520
|
+
return false;
|
|
8521
|
+
}
|
|
8522
|
+
}
|
|
8523
|
+
function getSafeTimeZone(timeZone) {
|
|
8524
|
+
const normalized = typeof timeZone === "string" ? timeZone.trim() : "";
|
|
8525
|
+
return normalized && isValidTimeZone(normalized) ? normalized : FALLBACK_TIMEZONE;
|
|
8526
|
+
}
|
|
8527
|
+
function parseStrictBookingTimeZone(timeZone) {
|
|
8528
|
+
const normalized = timeZone.trim();
|
|
8529
|
+
if (!normalized || !isValidTimeZone(normalized)) {
|
|
8530
|
+
return null;
|
|
8531
|
+
}
|
|
8532
|
+
return normalized;
|
|
8533
|
+
}
|
|
8534
|
+
function formatParseError(error) {
|
|
8535
|
+
switch (error.reason) {
|
|
8536
|
+
case "invalid_starts_at":
|
|
8537
|
+
return `Expected a valid UTC/offset-aware ISO datetime in startsAt, received "${error.value}"`;
|
|
8538
|
+
case "invalid_ends_at":
|
|
8539
|
+
return `Expected a valid UTC/offset-aware ISO datetime in endsAt, received "${error.value ?? ""}"`;
|
|
8540
|
+
case "invalid_time_zone":
|
|
8541
|
+
return `Expected a valid IANA timezone in timeZone, received "${error.value}"`;
|
|
8542
|
+
}
|
|
8543
|
+
}
|
|
8544
|
+
function formatToPartsLookup(date, locale, timeZone, format) {
|
|
8545
|
+
return new Map(
|
|
8546
|
+
new Intl.DateTimeFormat(locale, {
|
|
8547
|
+
...format,
|
|
8548
|
+
timeZone
|
|
8549
|
+
}).formatToParts(date).map((part) => [part.type, part.value])
|
|
8550
|
+
);
|
|
8551
|
+
}
|
|
8552
|
+
function getZonedDateTimeParts(date, timeZone) {
|
|
8553
|
+
const parts = formatToPartsLookup(date, "en-GB", timeZone, {
|
|
8554
|
+
year: "numeric",
|
|
8555
|
+
month: "2-digit",
|
|
8556
|
+
day: "2-digit",
|
|
8557
|
+
hour: "2-digit",
|
|
8558
|
+
minute: "2-digit",
|
|
8559
|
+
second: "2-digit",
|
|
8560
|
+
hour12: false
|
|
8561
|
+
});
|
|
8562
|
+
const read = (type) => Number(parts.get(type) ?? "");
|
|
8563
|
+
return {
|
|
8564
|
+
year: read("year"),
|
|
8565
|
+
month: read("month"),
|
|
8566
|
+
day: read("day"),
|
|
8567
|
+
hour: read("hour"),
|
|
8568
|
+
minute: read("minute"),
|
|
8569
|
+
second: read("second")
|
|
8570
|
+
};
|
|
8571
|
+
}
|
|
8572
|
+
function formatDateKey(date) {
|
|
8573
|
+
const year = String(date.year).padStart(4, "0");
|
|
8574
|
+
const month = String(date.month).padStart(2, "0");
|
|
8575
|
+
const day = String(date.day).padStart(2, "0");
|
|
8576
|
+
return `${year}-${month}-${day}`;
|
|
8577
|
+
}
|
|
8578
|
+
function parseUtcIsoDateTimeString(value) {
|
|
8579
|
+
const normalized = value.trim();
|
|
8580
|
+
const hasUtcSuffix = normalized.endsWith("Z");
|
|
8581
|
+
const hasExplicitOffset = /[+-]\d{2}:\d{2}$/u.test(normalized);
|
|
8582
|
+
if (!hasUtcSuffix && !hasExplicitOffset) {
|
|
8583
|
+
return err("missing-timezone-offset");
|
|
8584
|
+
}
|
|
8585
|
+
const date = new Date(normalized);
|
|
8586
|
+
if (Number.isNaN(date.getTime())) {
|
|
8587
|
+
return err("invalid-date-time");
|
|
8588
|
+
}
|
|
8589
|
+
return ok(date.toISOString());
|
|
8590
|
+
}
|
|
8591
|
+
function toUtcIsoDateTimeString(value) {
|
|
8592
|
+
const parsed = parseUtcIsoDateTimeString(value);
|
|
8593
|
+
if (!parsed.ok) {
|
|
8594
|
+
const message = parsed.error === "missing-timezone-offset" ? `Expected an offset-aware ISO datetime, received "${value}"` : `Expected a valid ISO datetime, received "${value}"`;
|
|
8595
|
+
throw new Error(message);
|
|
8596
|
+
}
|
|
8597
|
+
return parsed.value;
|
|
8598
|
+
}
|
|
8599
|
+
function parseScheduledBookingDateTime(input) {
|
|
8600
|
+
try {
|
|
8601
|
+
const startsAt = toUtcIsoDateTimeString(input.startsAt);
|
|
8602
|
+
const timeZone = parseStrictBookingTimeZone(input.timeZone);
|
|
8603
|
+
if (!timeZone) {
|
|
8604
|
+
return {
|
|
8605
|
+
ok: false,
|
|
8606
|
+
field: "timeZone",
|
|
8607
|
+
reason: "invalid_time_zone",
|
|
8608
|
+
value: input.timeZone
|
|
8609
|
+
};
|
|
8610
|
+
}
|
|
8611
|
+
return {
|
|
8612
|
+
ok: true,
|
|
8613
|
+
value: {
|
|
8614
|
+
startsAt,
|
|
8615
|
+
timeZone,
|
|
8616
|
+
locale: input.locale
|
|
8617
|
+
}
|
|
8618
|
+
};
|
|
8619
|
+
} catch {
|
|
8620
|
+
return {
|
|
8621
|
+
ok: false,
|
|
8622
|
+
field: "startsAt",
|
|
8623
|
+
reason: "invalid_starts_at",
|
|
8624
|
+
value: input.startsAt
|
|
8625
|
+
};
|
|
8626
|
+
}
|
|
8627
|
+
}
|
|
8628
|
+
function toScheduledBookingDateTime(input) {
|
|
8629
|
+
const result = parseScheduledBookingDateTime(input);
|
|
8630
|
+
if (result.ok) {
|
|
8631
|
+
return result.value;
|
|
8632
|
+
}
|
|
8633
|
+
throw new Error(formatParseError(result));
|
|
8634
|
+
}
|
|
8635
|
+
function getBookingLocalDateKey(input) {
|
|
8636
|
+
return formatDateKey(getLocalScheduleDate(new Date(input.startsAt), input.timeZone));
|
|
8637
|
+
}
|
|
8638
|
+
function getLocalScheduleDate(date, timeZone) {
|
|
8639
|
+
const parts = getZonedDateTimeParts(date, getSafeTimeZone(timeZone));
|
|
8640
|
+
return { year: parts.year, month: parts.month, day: parts.day };
|
|
8641
|
+
}
|
|
8642
|
+
|
|
8478
8643
|
// ../core/src/location.ts
|
|
8479
8644
|
function normalizeLocationAddressText(value) {
|
|
8480
8645
|
if (typeof value !== "string") {
|
|
@@ -11328,9 +11493,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
11328
11493
|
}
|
|
11329
11494
|
image.remove();
|
|
11330
11495
|
return res;
|
|
11331
|
-
} catch (
|
|
11496
|
+
} catch (err3) {
|
|
11332
11497
|
image.remove();
|
|
11333
|
-
return Promise.reject(
|
|
11498
|
+
return Promise.reject(err3);
|
|
11334
11499
|
}
|
|
11335
11500
|
}
|
|
11336
11501
|
async getPalettes() {
|
|
@@ -11344,9 +11509,9 @@ var _Vibrant = class _Vibrant2 {
|
|
|
11344
11509
|
const res = result1.palettes;
|
|
11345
11510
|
image.remove();
|
|
11346
11511
|
return res;
|
|
11347
|
-
} catch (
|
|
11512
|
+
} catch (err3) {
|
|
11348
11513
|
image.remove();
|
|
11349
|
-
return Promise.reject(
|
|
11514
|
+
return Promise.reject(err3);
|
|
11350
11515
|
}
|
|
11351
11516
|
}
|
|
11352
11517
|
};
|
|
@@ -30235,6 +30400,26 @@ var occurrenceContextSchema = z43.object({
|
|
|
30235
30400
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
30236
30401
|
import { z as z45 } from "zod";
|
|
30237
30402
|
|
|
30403
|
+
// ../blocks/src/system/constants/events.ts
|
|
30404
|
+
var EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
|
|
30405
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
30406
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
30407
|
+
var eventCalendarListLayoutOptions = [
|
|
30408
|
+
{ id: "stack", label: "Stack" },
|
|
30409
|
+
{ id: "grid", label: "Grid" },
|
|
30410
|
+
{ id: "compact", label: "Compact" }
|
|
30411
|
+
];
|
|
30412
|
+
function isEventCalendarDisplayMode(value) {
|
|
30413
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
30414
|
+
}
|
|
30415
|
+
function isEventCalendarListLayout(value) {
|
|
30416
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
30417
|
+
}
|
|
30418
|
+
function isEventContentType(slug) {
|
|
30419
|
+
if (!slug) return false;
|
|
30420
|
+
return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
|
|
30421
|
+
}
|
|
30422
|
+
|
|
30238
30423
|
// ../blocks/src/system/runtime/nodes/events/shared/pricing.ts
|
|
30239
30424
|
var DEFAULT_EVENT_CURRENCY = "USD";
|
|
30240
30425
|
function resolveRuntimeEventPricing(event) {
|
|
@@ -30357,23 +30542,6 @@ function readAmount(value) {
|
|
|
30357
30542
|
|
|
30358
30543
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
30359
30544
|
import { z as z44 } from "zod";
|
|
30360
|
-
|
|
30361
|
-
// ../blocks/src/system/constants/events.ts
|
|
30362
|
-
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
30363
|
-
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
30364
|
-
var eventCalendarListLayoutOptions = [
|
|
30365
|
-
{ id: "stack", label: "Stack" },
|
|
30366
|
-
{ id: "grid", label: "Grid" },
|
|
30367
|
-
{ id: "compact", label: "Compact" }
|
|
30368
|
-
];
|
|
30369
|
-
function isEventCalendarDisplayMode(value) {
|
|
30370
|
-
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
30371
|
-
}
|
|
30372
|
-
function isEventCalendarListLayout(value) {
|
|
30373
|
-
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
30374
|
-
}
|
|
30375
|
-
|
|
30376
|
-
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
30377
30545
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
30378
30546
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
30379
30547
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
@@ -30384,13 +30552,64 @@ var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
|
30384
30552
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
30385
30553
|
var calendarTabViewsSchema = z44.enum(["both", "month", "week"]);
|
|
30386
30554
|
|
|
30555
|
+
// ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
|
|
30556
|
+
function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
30557
|
+
const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : ["select-event", "select-tickets", "enter-details"];
|
|
30558
|
+
if (!needsPaymentStep) {
|
|
30559
|
+
return baseSteps;
|
|
30560
|
+
}
|
|
30561
|
+
return [...baseSteps, "select-payment"];
|
|
30562
|
+
}
|
|
30563
|
+
|
|
30564
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
30565
|
+
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
30566
|
+
return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
|
|
30567
|
+
}
|
|
30568
|
+
function findPreSelectedEvent(input) {
|
|
30569
|
+
const occurrenceContext = input.occurrenceContext;
|
|
30570
|
+
if (!occurrenceContext) {
|
|
30571
|
+
return null;
|
|
30572
|
+
}
|
|
30573
|
+
const contextDate = getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
30574
|
+
startsAt: occurrenceContext.startsAt,
|
|
30575
|
+
timeZone: occurrenceContext.timeZone
|
|
30576
|
+
}));
|
|
30577
|
+
return input.scopedEvents.find(
|
|
30578
|
+
(event) => eventMatchesOccurrenceId(event, occurrenceContext.id) || getBookingLocalDateKey(toScheduledBookingDateTime({
|
|
30579
|
+
startsAt: event.startsAt,
|
|
30580
|
+
timeZone: event.timeZone
|
|
30581
|
+
})) === contextDate
|
|
30582
|
+
) ?? null;
|
|
30583
|
+
}
|
|
30584
|
+
function resolveEventRequiresPayment(input) {
|
|
30585
|
+
if (input.eligibility) {
|
|
30586
|
+
return input.eligibility.requiresPayment;
|
|
30587
|
+
}
|
|
30588
|
+
if (input.selectedTicketType) {
|
|
30589
|
+
return input.selectedTicketType.priceAmount > 0;
|
|
30590
|
+
}
|
|
30591
|
+
if (!input.event) {
|
|
30592
|
+
return false;
|
|
30593
|
+
}
|
|
30594
|
+
return publicEventPricingType(resolveRuntimeEventPricing(input.event)) !== "free";
|
|
30595
|
+
}
|
|
30596
|
+
|
|
30597
|
+
// ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
|
|
30598
|
+
function toRegistrationEvent(event) {
|
|
30599
|
+
return {
|
|
30600
|
+
...event,
|
|
30601
|
+
pricing: resolveRuntimeEventPricing(event),
|
|
30602
|
+
publicEventId: event.id,
|
|
30603
|
+
registrationOccurrenceId: event.occurrenceId
|
|
30604
|
+
};
|
|
30605
|
+
}
|
|
30606
|
+
function toRegistrationEvents(events) {
|
|
30607
|
+
return events.map(toRegistrationEvent);
|
|
30608
|
+
}
|
|
30609
|
+
|
|
30387
30610
|
// ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
30388
30611
|
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = ["Date", "Tickets", "Details"];
|
|
30389
|
-
var [
|
|
30390
|
-
eventRegistrationGenericDateStepLabel,
|
|
30391
|
-
eventRegistrationGenericTicketsStepLabel,
|
|
30392
|
-
eventRegistrationGenericDetailsStepLabel
|
|
30393
|
-
] = EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
30612
|
+
var EVENT_REGISTRATION_SHELL_STEP_LABELS = ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
30394
30613
|
var contentEntrySchema = z45.object({
|
|
30395
30614
|
id: z45.string(),
|
|
30396
30615
|
slug: z45.string(),
|
|
@@ -30426,11 +30645,7 @@ var eventRegistrationDisplaySchema = z45.object({
|
|
|
30426
30645
|
className: z45.string().nullable(),
|
|
30427
30646
|
titleText: z45.string(),
|
|
30428
30647
|
bodyText: z45.string(),
|
|
30429
|
-
stepLabels: z45.
|
|
30430
|
-
z45.literal(eventRegistrationGenericDateStepLabel),
|
|
30431
|
-
z45.literal(eventRegistrationGenericTicketsStepLabel),
|
|
30432
|
-
z45.literal(eventRegistrationGenericDetailsStepLabel)
|
|
30433
|
-
]),
|
|
30648
|
+
stepLabels: z45.array(z45.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
30434
30649
|
summaryButtonText: z45.string()
|
|
30435
30650
|
});
|
|
30436
30651
|
var eventRegistrationHydrationSchema = z45.object({
|
|
@@ -30465,16 +30680,81 @@ var eventRegistrationIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
30465
30680
|
"stage"
|
|
30466
30681
|
);
|
|
30467
30682
|
function buildEventRegistrationDisplay(source) {
|
|
30683
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
30468
30684
|
return {
|
|
30469
30685
|
kind: "event-registration",
|
|
30470
30686
|
state: "generic-shell",
|
|
30471
30687
|
className: source.className ?? null,
|
|
30472
30688
|
titleText: "Event registration",
|
|
30473
|
-
bodyText:
|
|
30474
|
-
stepLabels
|
|
30689
|
+
bodyText: buildEventRegistrationShellBodyText(stepLabels),
|
|
30690
|
+
stepLabels,
|
|
30475
30691
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
30476
30692
|
};
|
|
30477
30693
|
}
|
|
30694
|
+
function buildEventRegistrationShellStepLabels(source) {
|
|
30695
|
+
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
30696
|
+
if (scopedEvents.length === 0) {
|
|
30697
|
+
return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
30698
|
+
}
|
|
30699
|
+
const preSelectedEvent = findPreSelectedEvent({
|
|
30700
|
+
scopedEvents,
|
|
30701
|
+
occurrenceContext: source.occurrenceContext
|
|
30702
|
+
});
|
|
30703
|
+
const hasPreSelectedContext = Boolean(source.occurrenceContext || preSelectedEvent);
|
|
30704
|
+
const needsPaymentStep = hasPreSelectedContext && preSelectedEvent ? resolveEventRequiresPayment({
|
|
30705
|
+
eligibility: null,
|
|
30706
|
+
selectedTicketType: null,
|
|
30707
|
+
event: preSelectedEvent
|
|
30708
|
+
}) : false;
|
|
30709
|
+
return getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
30710
|
+
}
|
|
30711
|
+
function scopeEventRegistrationEvents(source) {
|
|
30712
|
+
const events = toRegistrationEvents(source.events ?? []);
|
|
30713
|
+
if (source.occurrenceContext?.seriesId) {
|
|
30714
|
+
return events.filter((event) => event.seriesId === source.occurrenceContext?.seriesId);
|
|
30715
|
+
}
|
|
30716
|
+
const entrySlug = source.contentEntry?.slug;
|
|
30717
|
+
const entryContentType = source.contentEntry?.contentTypeSlug;
|
|
30718
|
+
if (entrySlug && entryContentType && isEventContentType(entryContentType)) {
|
|
30719
|
+
return events.filter((event) => event.slug === entrySlug);
|
|
30720
|
+
}
|
|
30721
|
+
return events;
|
|
30722
|
+
}
|
|
30723
|
+
function shellLabelForRegistrationStep(step, events) {
|
|
30724
|
+
switch (step) {
|
|
30725
|
+
case "select-event":
|
|
30726
|
+
return isDateSelection(events) ? "Date" : "Event";
|
|
30727
|
+
case "select-tickets":
|
|
30728
|
+
return "Tickets";
|
|
30729
|
+
case "enter-details":
|
|
30730
|
+
return "Details";
|
|
30731
|
+
case "select-payment":
|
|
30732
|
+
return "Payment";
|
|
30733
|
+
case "error":
|
|
30734
|
+
case "success":
|
|
30735
|
+
case "submitting":
|
|
30736
|
+
case "redirecting":
|
|
30737
|
+
case "verifying-payment":
|
|
30738
|
+
case "verifying-timeout":
|
|
30739
|
+
case "payment-failed":
|
|
30740
|
+
return "Details";
|
|
30741
|
+
}
|
|
30742
|
+
}
|
|
30743
|
+
function isDateSelection(events) {
|
|
30744
|
+
const firstSeriesId = events[0]?.seriesId;
|
|
30745
|
+
return Boolean(
|
|
30746
|
+
events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId)
|
|
30747
|
+
);
|
|
30748
|
+
}
|
|
30749
|
+
function buildEventRegistrationShellBodyText(stepLabels) {
|
|
30750
|
+
if (stepLabels.includes("Payment")) {
|
|
30751
|
+
return "Preparing tickets, details, and payment options.";
|
|
30752
|
+
}
|
|
30753
|
+
if (stepLabels[0] === "Tickets") {
|
|
30754
|
+
return "Preparing tickets and booking details.";
|
|
30755
|
+
}
|
|
30756
|
+
return "Preparing dates, tickets, and booking details.";
|
|
30757
|
+
}
|
|
30478
30758
|
var eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
30479
30759
|
kind: "client-owned",
|
|
30480
30760
|
contracts: {
|
|
@@ -39634,11 +39914,11 @@ function resolveParamsBindings(input, vm, meta) {
|
|
|
39634
39914
|
return binding.fallback;
|
|
39635
39915
|
}
|
|
39636
39916
|
return resolved;
|
|
39637
|
-
} catch (
|
|
39917
|
+
} catch (err3) {
|
|
39638
39918
|
if (shouldLogWarnings) {
|
|
39639
39919
|
console.warn(
|
|
39640
39920
|
`bindings: failed to parse loader param binding for block "${meta?.blockKind ?? "unknown"}"`,
|
|
39641
|
-
|
|
39921
|
+
err3
|
|
39642
39922
|
);
|
|
39643
39923
|
}
|
|
39644
39924
|
return void 0;
|
|
@@ -41691,10 +41971,10 @@ var normalizeBindingOutput2 = normalizeBindingOutput;
|
|
|
41691
41971
|
var applyBindingsToContent2 = applyBindingsToContent;
|
|
41692
41972
|
|
|
41693
41973
|
// ../content-model/src/entry-slots/types.ts
|
|
41694
|
-
function
|
|
41974
|
+
function ok2(value) {
|
|
41695
41975
|
return { ok: true, value };
|
|
41696
41976
|
}
|
|
41697
|
-
function
|
|
41977
|
+
function err2(error) {
|
|
41698
41978
|
return { ok: false, error };
|
|
41699
41979
|
}
|
|
41700
41980
|
var SLOT_KEY_PATTERN = /^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$/;
|
|
@@ -41702,13 +41982,13 @@ function unsafeAsSlotKey(value) {
|
|
|
41702
41982
|
return value;
|
|
41703
41983
|
}
|
|
41704
41984
|
function parseSlotKey(value) {
|
|
41705
|
-
if (typeof value !== "string") return
|
|
41985
|
+
if (typeof value !== "string") return err2({ kind: "not-string" });
|
|
41706
41986
|
const normalized = value.trim();
|
|
41707
|
-
if (!normalized) return
|
|
41987
|
+
if (!normalized) return err2({ kind: "empty" });
|
|
41708
41988
|
if (!SLOT_KEY_PATTERN.test(normalized)) {
|
|
41709
|
-
return
|
|
41989
|
+
return err2({ kind: "invalid-format", value: normalized });
|
|
41710
41990
|
}
|
|
41711
|
-
return
|
|
41991
|
+
return ok2(unsafeAsSlotKey(normalized));
|
|
41712
41992
|
}
|
|
41713
41993
|
var SYSTEM_ENTRY_SLOT_BLOCK_KIND = "system.entry-slot";
|
|
41714
41994
|
function selectBlocksForDeclaredEntrySlot(input) {
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
export { SdkPreviewModeRuntime } from './chunk-HFMGVJCE.mjs';
|
|
3
|
-
import './chunk-3LXFQS7T.mjs';
|
|
4
|
-
import './chunk-5E33VO6J.mjs';
|
|
5
|
-
import './chunk-6X2OVO3S.mjs';
|
|
6
|
-
import './chunk-MSHZO4SL.mjs';
|
|
7
|
-
import './chunk-LBBPD2IW.mjs';
|
|
8
|
-
import './chunk-R7POPVJR.mjs';
|