@riverbankcms/sdk 0.139.0 → 0.140.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-BDeenhi3.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
- package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +22 -8
- package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +2053 -1110
- package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +212 -212
- package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
- package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/authSubmission.d.ts +46 -0
- package/dist/_dts/api/src/billing.d.ts +8 -4
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
- package/dist/_dts/api/src/blocks.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
- package/dist/_dts/api/src/communications.d.ts +0 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +8 -3
- package/dist/_dts/api/src/endpoints.d.ts +93 -64
- package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
- package/dist/_dts/api/src/footerSettings.d.ts +9 -6
- package/dist/_dts/api/src/index.d.ts +5 -6
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/mailingListIntegration.d.ts +8 -2
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/types.d.ts +1 -1
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +32 -32
- package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +3 -29
- package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
- package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -22
- package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +44 -44
- package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -5
- package/dist/_dts/api/src/siteOnboarding.d.ts +2 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/siteSettings.d.ts +20 -7
- package/dist/_dts/api/src/types.d.ts +77 -77
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
- package/dist/_dts/billing/src/membership/index.d.ts +3 -0
- package/dist/_dts/billing/src/plans/types.d.ts +3 -0
- package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
- package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
- package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +30 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +15 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +43 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +27 -4
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -0
- package/dist/_dts/core/src/branded.d.ts +0 -8
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +1 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +14 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -27
- package/dist/_dts/core/src/participants.d.ts +2 -29
- package/dist/_dts/core/src/public-experience.d.ts +4 -0
- package/dist/_dts/core/src/public-profile.d.ts +27 -1
- package/dist/_dts/core/src/site-route-target.d.ts +9 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +293 -606
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +14 -20
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +7 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
- package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
- package/dist/_dts/theme-core/src/schema.d.ts +84 -84
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
- package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
- package/dist/_dts/ui/src/pending-button.d.ts +10 -0
- package/dist/client/{BookingConsentAgreement-CZvTDtsK.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
- package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
- package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-LTfR1Aby.mjs} +6 -6
- package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
- package/dist/client/{accordion-FxF_ta47.mjs → accordion-6HiIFxNL.mjs} +1 -1
- package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-Dlmid43H.mjs} +7 -7
- package/dist/client/bookings.mjs +325 -140
- package/dist/client/{carousel-vng7fFT5.mjs → carousel-DmkZRRq_.mjs} +2 -2
- package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
- package/dist/client/{cart-DEPDsjNk.mjs → cart-CIC24330.mjs} +3 -3
- package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D1Zw9imo.mjs} +3 -3
- package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
- package/dist/client/client.mjs +1717 -882
- package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
- package/dist/client/{context-DvU_WUmd.mjs → context-Cy1OayHx.mjs} +6 -19
- package/dist/client/{dates-wnPMiRl5.mjs → dates-aDcfoLHr.mjs} +2 -2
- package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-FQxMPAjf.mjs} +8 -8
- package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
- package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
- package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-B3XxBf3i.mjs} +3 -3
- package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-I6EaokFD.mjs} +500 -152
- package/dist/client/{form-CBKXN5In.mjs → form-BbWckVWY.mjs} +3 -3
- package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
- package/dist/client/hooks.mjs +445 -180
- package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-CLCShvlG.mjs} +3 -3
- package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
- package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-Briukxzi.mjs} +130 -87
- package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-Copadu-2.mjs} +1 -1
- package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-oujlRd-r.mjs} +3 -3
- package/dist/client/{productList-FM0cbUzj.mjs → productList-BRiIRUcd.mjs} +3 -3
- package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-CB2KS_ko.mjs} +130 -24
- package/dist/client/rendering/client.mjs +911 -400
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +1696 -818
- package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
- package/dist/client/{shop-BIcjvy5a.mjs → shop-Vn6yNFED.mjs} +6 -6
- package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
- package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
- package/dist/client/{shopShared-DowkXevB.mjs → shopShared-COIeK77T.mjs} +4 -4
- package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-DzIUcS9n.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +119 -64
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +119 -64
- package/dist/preview-next/middleware.mjs +119 -64
- package/dist/{previewAuthStore-COUyAKaX.mjs → previewAuthStore-Gjb6r6vz.mjs} +119 -64
- package/dist/{sdk-runtime-D4k2LSGF.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
- package/dist/{separator-UGtpag4Z.mjs → separator-DKDRJ1oH.mjs} +1 -1
- package/dist/server/components.mjs +787 -323
- package/dist/server/config-validation.mjs +328 -79
- package/dist/server/config.mjs +332 -83
- package/dist/server/data.mjs +441 -180
- package/dist/server/index.mjs +126 -66
- package/dist/server/next.mjs +1031 -595
- package/dist/server/page-converter.mjs +183 -74
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1068 -592
- package/dist/server/rendering.mjs +802 -324
- package/dist/server/routing.mjs +506 -214
- package/dist/server/server.mjs +468 -244
- package/dist/server/theme-bridge.mjs +433 -100
- package/dist/server/theme.mjs +8 -2
- package/dist/styles/index.css +237 -43
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
package/dist/client/hooks.mjs
CHANGED
|
@@ -30,10 +30,12 @@ const unsafeAsApiKeyId = (id) => id;
|
|
|
30
30
|
const unsafeAsEventOfferingId = (id) => id;
|
|
31
31
|
const unsafeAsEventSeriesId = (id) => id;
|
|
32
32
|
const unsafeAsUserId = (id) => id;
|
|
33
|
+
const unsafeAsContentVersionId = (id) => id;
|
|
33
34
|
const parseSiteId = (value) => parseUuidBrand(value, unsafeAsSiteId);
|
|
34
35
|
const parseApiKeyId = (value) => parseUuidBrand(value, unsafeAsApiKeyId);
|
|
35
36
|
const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
36
37
|
const parseUserId = (value) => parseUuidBrand(value, unsafeAsUserId);
|
|
38
|
+
const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
|
|
37
39
|
const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
38
40
|
//#endregion
|
|
39
41
|
//#region ../core/src/assert-never.ts
|
|
@@ -267,7 +269,7 @@ function parseEventPageSurfaceDestinationMode(value) {
|
|
|
267
269
|
return value === "cms-managed" || value === "system-managed" ? value : void 0;
|
|
268
270
|
}
|
|
269
271
|
function parseEventPageSurfaceSubject(value) {
|
|
270
|
-
if (!isRecord$
|
|
272
|
+
if (!isRecord$16(value)) return err({ kind: "notObject" });
|
|
271
273
|
switch (value.kind) {
|
|
272
274
|
case "eventSeries": {
|
|
273
275
|
const eventSeriesId = parseEventSeriesId(value.eventSeriesId);
|
|
@@ -322,7 +324,7 @@ function parseEventSeriesIdList(values) {
|
|
|
322
324
|
}
|
|
323
325
|
return ok(parsed);
|
|
324
326
|
}
|
|
325
|
-
function isRecord$
|
|
327
|
+
function isRecord$16(value) {
|
|
326
328
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
327
329
|
}
|
|
328
330
|
//#endregion
|
|
@@ -506,16 +508,47 @@ function parsePositiveInteger(value) {
|
|
|
506
508
|
function parseNewsletterListId(value) {
|
|
507
509
|
return parseTrimmedMatchingString(value, UUID_PATTERN);
|
|
508
510
|
}
|
|
511
|
+
function parseMailchimpAccountId(value) {
|
|
512
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
513
|
+
}
|
|
509
514
|
function parseMailchimpAudienceId(value) {
|
|
510
515
|
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
511
516
|
}
|
|
512
517
|
function parseMailchimpInterestId(value) {
|
|
513
518
|
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
514
519
|
}
|
|
520
|
+
function parseBrevoAccountId(value) {
|
|
521
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
522
|
+
}
|
|
515
523
|
function parseBrevoListId(value) {
|
|
516
524
|
return parsePositiveInteger(value);
|
|
517
525
|
}
|
|
518
526
|
//#endregion
|
|
527
|
+
//#region ../core/src/mailing-list-setup.ts
|
|
528
|
+
function isRecord$15(value) {
|
|
529
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
530
|
+
}
|
|
531
|
+
const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
|
|
532
|
+
function parseMailingListProviderScope(value) {
|
|
533
|
+
if (!isRecord$15(value)) return err("invalid_mailing_list_provider_scope");
|
|
534
|
+
if (value.provider === "native") return ok({ provider: "native" });
|
|
535
|
+
if (value.provider === "brevo") {
|
|
536
|
+
const accountId = parseBrevoAccountId(value.accountId);
|
|
537
|
+
return accountId !== null ? ok({
|
|
538
|
+
provider: "brevo",
|
|
539
|
+
accountId
|
|
540
|
+
}) : err("invalid_mailing_list_provider_scope");
|
|
541
|
+
}
|
|
542
|
+
if (value.provider === "mailchimp") {
|
|
543
|
+
const accountId = parseMailchimpAccountId(value.accountId);
|
|
544
|
+
return accountId !== null ? ok({
|
|
545
|
+
provider: "mailchimp",
|
|
546
|
+
accountId
|
|
547
|
+
}) : err("invalid_mailing_list_provider_scope");
|
|
548
|
+
}
|
|
549
|
+
return err("invalid_mailing_list_provider_scope");
|
|
550
|
+
}
|
|
551
|
+
//#endregion
|
|
519
552
|
//#region ../core/src/mailing-list-setup-parser.ts
|
|
520
553
|
function parseMailingListGlobalForm(value) {
|
|
521
554
|
if (!isRecord$14(value)) return formError("shape");
|
|
@@ -524,12 +557,15 @@ function parseMailingListGlobalForm(value) {
|
|
|
524
557
|
if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
|
|
525
558
|
const buttonLabel = parseRequiredString(value.buttonLabel);
|
|
526
559
|
if (buttonLabel === null) return formError("buttonLabel");
|
|
560
|
+
const successMessage = parseRequiredString(value.successMessage);
|
|
561
|
+
if (successMessage === null) return formError("successMessage");
|
|
527
562
|
const privacyNote = parseOptionalString(value.privacyNote);
|
|
528
563
|
if (privacyNote === void 0) return formError("privacyNote");
|
|
529
564
|
return ok({
|
|
530
565
|
fields,
|
|
531
566
|
includeOptionalPhone: value.includeOptionalPhone,
|
|
532
567
|
buttonLabel,
|
|
568
|
+
successMessage,
|
|
533
569
|
privacyNote
|
|
534
570
|
});
|
|
535
571
|
}
|
|
@@ -859,11 +895,17 @@ function parseMailingListSignedSourceToken(value) {
|
|
|
859
895
|
const parsed = typeof value === "string" ? value.trim() : "";
|
|
860
896
|
return /^[A-Za-z0-9._~-]{16,1000}$/u.test(parsed) ? parsed : null;
|
|
861
897
|
}
|
|
862
|
-
function
|
|
863
|
-
const parsed =
|
|
864
|
-
return parsed
|
|
898
|
+
function parseMailingListContentVersionId(value) {
|
|
899
|
+
const parsed = parseContentVersionId(value);
|
|
900
|
+
return parsed.ok ? parsed.value : null;
|
|
901
|
+
}
|
|
902
|
+
function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
|
|
903
|
+
const parsedBlockId = parseMailingListBlockId(blockId);
|
|
904
|
+
const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
|
|
905
|
+
return parsedBlockId !== null && parsedContentVersionId !== null ? {
|
|
865
906
|
tag: "block_ref",
|
|
866
|
-
blockId:
|
|
907
|
+
blockId: parsedBlockId,
|
|
908
|
+
contentVersionId: parsedContentVersionId
|
|
867
909
|
} : null;
|
|
868
910
|
}
|
|
869
911
|
//#endregion
|
|
@@ -3008,59 +3050,108 @@ function interpolateHex(startHex, endHex, position) {
|
|
|
3008
3050
|
const channel = (from, to) => Math.round(from + (to - from) * position).toString(16).padStart(2, "0");
|
|
3009
3051
|
return `#${channel(start.r, end.r)}${channel(start.g, end.g)}${channel(start.b, end.b)}`;
|
|
3010
3052
|
}
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
pseudoElement: "none",
|
|
3032
|
-
applicableTo: ["button"],
|
|
3033
|
-
customizableOption: {
|
|
3034
|
-
name: "amount",
|
|
3035
|
-
type: "select",
|
|
3036
|
-
label: config.label,
|
|
3037
|
-
default: 100,
|
|
3038
|
-
options: [
|
|
3039
|
-
0,
|
|
3040
|
-
100,
|
|
3041
|
-
200,
|
|
3042
|
-
300,
|
|
3043
|
-
400,
|
|
3044
|
-
500,
|
|
3045
|
-
600,
|
|
3046
|
-
700,
|
|
3047
|
-
800,
|
|
3048
|
-
900
|
|
3049
|
-
]
|
|
3053
|
+
//#endregion
|
|
3054
|
+
//#region ../theme-core/src/tokens/tokens.ts
|
|
3055
|
+
const defaultThemeTokens = {
|
|
3056
|
+
color: {
|
|
3057
|
+
"background/base": "#ffffff",
|
|
3058
|
+
"background/elevated": "#f5f5f5",
|
|
3059
|
+
"surface/base": "#ffffff",
|
|
3060
|
+
"surface/subtle": "#f9f9fb",
|
|
3061
|
+
"surface/inverted": "#111111",
|
|
3062
|
+
"content/primary": "#111111",
|
|
3063
|
+
"content/secondary": "#3f3f46",
|
|
3064
|
+
"accent/primary": "#2563eb",
|
|
3065
|
+
"accent/secondary": "#1d4ed8",
|
|
3066
|
+
"border/base": "#e5e7eb"
|
|
3067
|
+
},
|
|
3068
|
+
typography: {
|
|
3069
|
+
"display/hero": {
|
|
3070
|
+
fontSize: "clamp(48px, 8vw, 96px)",
|
|
3071
|
+
lineHeight: "1.05",
|
|
3072
|
+
fontWeight: "700"
|
|
3050
3073
|
},
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3074
|
+
"display/section": {
|
|
3075
|
+
fontSize: "clamp(40px, 6vw, 72px)",
|
|
3076
|
+
lineHeight: "1.1",
|
|
3077
|
+
fontWeight: "700"
|
|
3078
|
+
},
|
|
3079
|
+
"heading/large": {
|
|
3080
|
+
fontSize: "clamp(32px, 4vw, 48px)",
|
|
3081
|
+
lineHeight: "1.2",
|
|
3082
|
+
fontWeight: "600"
|
|
3083
|
+
},
|
|
3084
|
+
"heading/medium": {
|
|
3085
|
+
fontSize: "clamp(24px, 3vw, 32px)",
|
|
3086
|
+
lineHeight: "1.25",
|
|
3087
|
+
fontWeight: "600"
|
|
3088
|
+
},
|
|
3089
|
+
"heading/small": {
|
|
3090
|
+
fontSize: "20px",
|
|
3091
|
+
lineHeight: "1.3",
|
|
3092
|
+
fontWeight: "600"
|
|
3093
|
+
},
|
|
3094
|
+
"body/normal": {
|
|
3095
|
+
fontSize: "16px",
|
|
3096
|
+
lineHeight: "1.6",
|
|
3097
|
+
fontWeight: "400"
|
|
3098
|
+
},
|
|
3099
|
+
"body/small": {
|
|
3100
|
+
fontSize: "14px",
|
|
3101
|
+
lineHeight: "1.5",
|
|
3102
|
+
fontWeight: "400"
|
|
3103
|
+
},
|
|
3104
|
+
caption: {
|
|
3105
|
+
fontSize: "12px",
|
|
3106
|
+
lineHeight: "1.4",
|
|
3107
|
+
fontWeight: "500"
|
|
3061
3108
|
}
|
|
3062
|
-
}
|
|
3063
|
-
|
|
3109
|
+
},
|
|
3110
|
+
spacing: {
|
|
3111
|
+
none: "0px",
|
|
3112
|
+
"3xs": "4px",
|
|
3113
|
+
"2xs": "8px",
|
|
3114
|
+
xs: "12px",
|
|
3115
|
+
sm: "16px",
|
|
3116
|
+
md: "24px",
|
|
3117
|
+
lg: "32px",
|
|
3118
|
+
xl: "40px",
|
|
3119
|
+
"2xl": "56px",
|
|
3120
|
+
"3xl": "72px"
|
|
3121
|
+
},
|
|
3122
|
+
radius: {
|
|
3123
|
+
none: "0px",
|
|
3124
|
+
xs: "2px",
|
|
3125
|
+
sm: "4px",
|
|
3126
|
+
md: "8px",
|
|
3127
|
+
lg: "12px",
|
|
3128
|
+
pill: "999px",
|
|
3129
|
+
full: "9999px"
|
|
3130
|
+
},
|
|
3131
|
+
shadow: {
|
|
3132
|
+
none: "none",
|
|
3133
|
+
soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
|
|
3134
|
+
medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
|
|
3135
|
+
strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
|
|
3136
|
+
},
|
|
3137
|
+
palette: {
|
|
3138
|
+
surface: "#ffffff",
|
|
3139
|
+
"neutral-50": "#f9fafb",
|
|
3140
|
+
"neutral-900": "#111827",
|
|
3141
|
+
primary: "#2563eb",
|
|
3142
|
+
"primary-50": "#eff6ff",
|
|
3143
|
+
"primary-500": "#2563eb",
|
|
3144
|
+
"primary-900": "#1d4ed8",
|
|
3145
|
+
secondary: "#9333ea",
|
|
3146
|
+
"secondary-50": "#f3e8ff",
|
|
3147
|
+
"secondary-500": "#9333ea",
|
|
3148
|
+
"secondary-900": "#4c1d95",
|
|
3149
|
+
accent: "#f97316",
|
|
3150
|
+
"accent-50": "#fff7ed",
|
|
3151
|
+
"accent-500": "#f97316",
|
|
3152
|
+
"accent-900": "#7c2d12"
|
|
3153
|
+
}
|
|
3154
|
+
};
|
|
3064
3155
|
//#endregion
|
|
3065
3156
|
//#region ../theme-core/src/palette/utils/opaqueSurfaceColor.ts
|
|
3066
3157
|
/** Resolve an opaque colour, compositing alpha against an explicit underlay. */
|
|
@@ -3345,6 +3436,59 @@ function mergeStyles(...styles) {
|
|
|
3345
3436
|
}
|
|
3346
3437
|
return Object.keys(merged).length ? merged : void 0;
|
|
3347
3438
|
}
|
|
3439
|
+
shadeBackgroundEffect({
|
|
3440
|
+
id: "darken-background",
|
|
3441
|
+
name: "Darken on Hover",
|
|
3442
|
+
description: "Darkens the background color on hover",
|
|
3443
|
+
label: "Darken Amount (shade step)",
|
|
3444
|
+
shadeDirection: 1
|
|
3445
|
+
});
|
|
3446
|
+
shadeBackgroundEffect({
|
|
3447
|
+
id: "lighten-background",
|
|
3448
|
+
name: "Lighten on Hover",
|
|
3449
|
+
description: "Lightens the background color on hover",
|
|
3450
|
+
label: "Lighten Amount (shade step)",
|
|
3451
|
+
shadeDirection: -1
|
|
3452
|
+
});
|
|
3453
|
+
function shadeBackgroundEffect(config) {
|
|
3454
|
+
return {
|
|
3455
|
+
id: config.id,
|
|
3456
|
+
name: config.name,
|
|
3457
|
+
description: config.description,
|
|
3458
|
+
category: "background",
|
|
3459
|
+
pseudoElement: "none",
|
|
3460
|
+
applicableTo: ["button"],
|
|
3461
|
+
customizableOption: {
|
|
3462
|
+
name: "amount",
|
|
3463
|
+
type: "select",
|
|
3464
|
+
label: config.label,
|
|
3465
|
+
default: 100,
|
|
3466
|
+
options: [
|
|
3467
|
+
0,
|
|
3468
|
+
100,
|
|
3469
|
+
200,
|
|
3470
|
+
300,
|
|
3471
|
+
400,
|
|
3472
|
+
500,
|
|
3473
|
+
600,
|
|
3474
|
+
700,
|
|
3475
|
+
800,
|
|
3476
|
+
900
|
|
3477
|
+
]
|
|
3478
|
+
},
|
|
3479
|
+
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
3480
|
+
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
3481
|
+
if (buttonConfig.background.type !== "solid") return "";
|
|
3482
|
+
const amount = (options.amount || 100) * config.shadeDirection;
|
|
3483
|
+
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
3484
|
+
return `
|
|
3485
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
3486
|
+
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
3487
|
+
}
|
|
3488
|
+
`;
|
|
3489
|
+
}
|
|
3490
|
+
};
|
|
3491
|
+
}
|
|
3348
3492
|
//#endregion
|
|
3349
3493
|
//#region ../theme-core/src/utils/tokenOrColor.ts
|
|
3350
3494
|
/**
|
|
@@ -6766,8 +6910,14 @@ const headerInteractionPillPaletteValues = [
|
|
|
6766
6910
|
"accent"
|
|
6767
6911
|
];
|
|
6768
6912
|
/**
|
|
6769
|
-
* "No pill":
|
|
6770
|
-
*
|
|
6913
|
+
* "No pill": a colour change on hover rather than a filled background.
|
|
6914
|
+
*
|
|
6915
|
+
* The palette step writes nothing (#1318 Phase 4c decision 2), but on a
|
|
6916
|
+
* foreground-adaptive style that is not the end of the story: the hover colour
|
|
6917
|
+
* is derived from the resolved opening foreground at render time, paired with
|
|
6918
|
+
* the resting colour, so `quiet` resolves to a definite colour rather than to
|
|
6919
|
+
* whatever brand token the recipe happened to name. See
|
|
6920
|
+
* `applyOpeningForeground`.
|
|
6771
6921
|
*
|
|
6772
6922
|
* It exists because "a colour change on hover, no filled background" was not
|
|
6773
6923
|
* expressible in the vocabulary, and it is what
|
|
@@ -7769,6 +7919,28 @@ const bookingRequirementConsentFieldSchema = z.object({
|
|
|
7769
7919
|
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
7770
7920
|
//#endregion
|
|
7771
7921
|
//#region ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
7922
|
+
const publicEventLoaderQuerySchemaShape = {
|
|
7923
|
+
limit: z.string().optional(),
|
|
7924
|
+
from: z.string().optional(),
|
|
7925
|
+
to: z.string().optional(),
|
|
7926
|
+
afterStartsAt: z.string().optional(),
|
|
7927
|
+
afterId: z.string().optional(),
|
|
7928
|
+
categoryIds: z.string().optional(),
|
|
7929
|
+
venueId: z.string().optional(),
|
|
7930
|
+
staffMemberId: z.string().optional(),
|
|
7931
|
+
eventSurface: z.string().optional(),
|
|
7932
|
+
eventPresets: z.string().optional(),
|
|
7933
|
+
scheduleScope: z.string().optional(),
|
|
7934
|
+
seriesId: z.string().optional(),
|
|
7935
|
+
seriesIds: z.string().optional(),
|
|
7936
|
+
runSeriesId: z.string().optional(),
|
|
7937
|
+
seriesSlug: z.string().optional(),
|
|
7938
|
+
includeOccurrenceId: z.string().optional(),
|
|
7939
|
+
readIntent: z.string().optional(),
|
|
7940
|
+
detailLevel: z.string().optional(),
|
|
7941
|
+
readProfile: z.string().optional()
|
|
7942
|
+
};
|
|
7943
|
+
z.object(publicEventLoaderQuerySchemaShape);
|
|
7772
7944
|
const eventPresetSchema = z.enum([
|
|
7773
7945
|
"event",
|
|
7774
7946
|
"class",
|
|
@@ -9611,6 +9783,14 @@ const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS = defineEndpointDefinitio
|
|
|
9611
9783
|
auth: "public",
|
|
9612
9784
|
responseKind: "json"
|
|
9613
9785
|
},
|
|
9786
|
+
getPublicBookingServiceBySlug: {
|
|
9787
|
+
path: "/public/bookings/services/by-slug/{slug}",
|
|
9788
|
+
method: "GET",
|
|
9789
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingService"),
|
|
9790
|
+
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
9791
|
+
auth: "public",
|
|
9792
|
+
responseKind: "json"
|
|
9793
|
+
},
|
|
9614
9794
|
getPublicBookingResourcesReference: {
|
|
9615
9795
|
path: "/public/bookings/resources/reference",
|
|
9616
9796
|
method: "GET",
|
|
@@ -10163,16 +10343,110 @@ const PUBLIC_READ_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10163
10343
|
responseKind: "json"
|
|
10164
10344
|
}
|
|
10165
10345
|
});
|
|
10346
|
+
//#endregion
|
|
10347
|
+
//#region ../api/src/publicOnboardingAttemptEndpointDefinitions.ts
|
|
10348
|
+
/**
|
|
10349
|
+
* The anonymous onboarding attempt, addressed by its opaque resume token.
|
|
10350
|
+
*
|
|
10351
|
+
* Every route here is reached before there is an account, so none of them can
|
|
10352
|
+
* be scoped to a site or a user: the token is the whole credential. They are
|
|
10353
|
+
* kept together so that stays obvious.
|
|
10354
|
+
*/
|
|
10355
|
+
const PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10356
|
+
createPublicOnboardingAttempt: {
|
|
10357
|
+
path: "/public/onboarding/attempts",
|
|
10358
|
+
method: "POST",
|
|
10359
|
+
auth: "public",
|
|
10360
|
+
errors: [],
|
|
10361
|
+
responseKind: "json"
|
|
10362
|
+
},
|
|
10363
|
+
createPublicOnboardingLogoUploadUrl: {
|
|
10364
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url",
|
|
10365
|
+
method: "POST",
|
|
10366
|
+
auth: "public",
|
|
10367
|
+
errors: [],
|
|
10368
|
+
responseKind: "json"
|
|
10369
|
+
},
|
|
10370
|
+
uploadPublicOnboardingLogo: {
|
|
10371
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo",
|
|
10372
|
+
method: "POST",
|
|
10373
|
+
auth: "public",
|
|
10374
|
+
errors: [],
|
|
10375
|
+
responseKind: "json"
|
|
10376
|
+
},
|
|
10377
|
+
getPublicOnboardingAttempt: {
|
|
10378
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
10379
|
+
method: "GET",
|
|
10380
|
+
auth: "public",
|
|
10381
|
+
errors: [],
|
|
10382
|
+
responseKind: "json"
|
|
10383
|
+
},
|
|
10384
|
+
getPublicOnboardingAttemptProgress: {
|
|
10385
|
+
path: "/public/onboarding/attempts/{attemptToken}/status",
|
|
10386
|
+
method: "GET",
|
|
10387
|
+
auth: "public",
|
|
10388
|
+
errors: [],
|
|
10389
|
+
responseKind: "json"
|
|
10390
|
+
},
|
|
10391
|
+
updatePublicOnboardingAttempt: {
|
|
10392
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
10393
|
+
method: "PATCH",
|
|
10394
|
+
auth: "public",
|
|
10395
|
+
errors: [],
|
|
10396
|
+
responseKind: "json"
|
|
10397
|
+
},
|
|
10398
|
+
runPublicOnboardingAttempt: {
|
|
10399
|
+
path: "/public/onboarding/attempts/{attemptToken}/run",
|
|
10400
|
+
method: "POST",
|
|
10401
|
+
auth: "public",
|
|
10402
|
+
errors: [],
|
|
10403
|
+
responseKind: "json"
|
|
10404
|
+
},
|
|
10405
|
+
resendPublicOnboardingAttemptConfirmation: {
|
|
10406
|
+
path: "/public/onboarding/attempts/{attemptToken}/resend-confirmation",
|
|
10407
|
+
method: "POST",
|
|
10408
|
+
auth: "public",
|
|
10409
|
+
errors: [],
|
|
10410
|
+
responseKind: "json"
|
|
10411
|
+
}
|
|
10412
|
+
});
|
|
10413
|
+
//#endregion
|
|
10414
|
+
//#region ../api/src/billingEndpointDefinitions.ts
|
|
10415
|
+
const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10416
|
+
adminChangePlan: {
|
|
10417
|
+
path: "/admin/billing/plan",
|
|
10418
|
+
method: "POST",
|
|
10419
|
+
tags: ["admin", "billing"],
|
|
10420
|
+
auth: "admin",
|
|
10421
|
+
responseKind: "json"
|
|
10422
|
+
},
|
|
10423
|
+
changePlan: {
|
|
10424
|
+
path: "/billing/plan/change",
|
|
10425
|
+
method: "POST",
|
|
10426
|
+
tags: ["billing"],
|
|
10427
|
+
auth: "user",
|
|
10428
|
+
responseKind: "json"
|
|
10429
|
+
},
|
|
10430
|
+
createBillingPortalSession: {
|
|
10431
|
+
path: "/billing/portal/session",
|
|
10432
|
+
method: "POST",
|
|
10433
|
+
tags: ["billing"],
|
|
10434
|
+
auth: "user",
|
|
10435
|
+
responseKind: "json"
|
|
10436
|
+
}
|
|
10437
|
+
});
|
|
10166
10438
|
({
|
|
10167
10439
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
10440
|
+
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
10168
10441
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
10169
10442
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
10170
|
-
...PUBLIC_READ_ENDPOINT_DEFINITIONS
|
|
10443
|
+
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
10444
|
+
...BILLING_ENDPOINT_DEFINITIONS
|
|
10171
10445
|
}), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
|
|
10172
10446
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10173
10447
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
10174
10448
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
10175
|
-
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
10449
|
+
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
10176
10450
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
10177
10451
|
z.object({
|
|
10178
10452
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -12441,108 +12715,6 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
12441
12715
|
if (duplicates.length > 0) throw new Error(`Duplicate block layout design profiles: ${duplicates.join(", ")}`);
|
|
12442
12716
|
}
|
|
12443
12717
|
//#endregion
|
|
12444
|
-
//#region ../theme-core/src/tokens/tokens.ts
|
|
12445
|
-
const defaultThemeTokens = {
|
|
12446
|
-
color: {
|
|
12447
|
-
"background/base": "#ffffff",
|
|
12448
|
-
"background/elevated": "#f5f5f5",
|
|
12449
|
-
"surface/base": "#ffffff",
|
|
12450
|
-
"surface/subtle": "#f9f9fb",
|
|
12451
|
-
"surface/inverted": "#111111",
|
|
12452
|
-
"content/primary": "#111111",
|
|
12453
|
-
"content/secondary": "#3f3f46",
|
|
12454
|
-
"accent/primary": "#2563eb",
|
|
12455
|
-
"accent/secondary": "#1d4ed8",
|
|
12456
|
-
"border/base": "#e5e7eb"
|
|
12457
|
-
},
|
|
12458
|
-
typography: {
|
|
12459
|
-
"display/hero": {
|
|
12460
|
-
fontSize: "clamp(48px, 8vw, 96px)",
|
|
12461
|
-
lineHeight: "1.05",
|
|
12462
|
-
fontWeight: "700"
|
|
12463
|
-
},
|
|
12464
|
-
"display/section": {
|
|
12465
|
-
fontSize: "clamp(40px, 6vw, 72px)",
|
|
12466
|
-
lineHeight: "1.1",
|
|
12467
|
-
fontWeight: "700"
|
|
12468
|
-
},
|
|
12469
|
-
"heading/large": {
|
|
12470
|
-
fontSize: "clamp(32px, 4vw, 48px)",
|
|
12471
|
-
lineHeight: "1.2",
|
|
12472
|
-
fontWeight: "600"
|
|
12473
|
-
},
|
|
12474
|
-
"heading/medium": {
|
|
12475
|
-
fontSize: "clamp(24px, 3vw, 32px)",
|
|
12476
|
-
lineHeight: "1.25",
|
|
12477
|
-
fontWeight: "600"
|
|
12478
|
-
},
|
|
12479
|
-
"heading/small": {
|
|
12480
|
-
fontSize: "20px",
|
|
12481
|
-
lineHeight: "1.3",
|
|
12482
|
-
fontWeight: "600"
|
|
12483
|
-
},
|
|
12484
|
-
"body/normal": {
|
|
12485
|
-
fontSize: "16px",
|
|
12486
|
-
lineHeight: "1.6",
|
|
12487
|
-
fontWeight: "400"
|
|
12488
|
-
},
|
|
12489
|
-
"body/small": {
|
|
12490
|
-
fontSize: "14px",
|
|
12491
|
-
lineHeight: "1.5",
|
|
12492
|
-
fontWeight: "400"
|
|
12493
|
-
},
|
|
12494
|
-
caption: {
|
|
12495
|
-
fontSize: "12px",
|
|
12496
|
-
lineHeight: "1.4",
|
|
12497
|
-
fontWeight: "500"
|
|
12498
|
-
}
|
|
12499
|
-
},
|
|
12500
|
-
spacing: {
|
|
12501
|
-
none: "0px",
|
|
12502
|
-
"3xs": "4px",
|
|
12503
|
-
"2xs": "8px",
|
|
12504
|
-
xs: "12px",
|
|
12505
|
-
sm: "16px",
|
|
12506
|
-
md: "24px",
|
|
12507
|
-
lg: "32px",
|
|
12508
|
-
xl: "40px",
|
|
12509
|
-
"2xl": "56px",
|
|
12510
|
-
"3xl": "72px"
|
|
12511
|
-
},
|
|
12512
|
-
radius: {
|
|
12513
|
-
none: "0px",
|
|
12514
|
-
xs: "2px",
|
|
12515
|
-
sm: "4px",
|
|
12516
|
-
md: "8px",
|
|
12517
|
-
lg: "12px",
|
|
12518
|
-
pill: "999px",
|
|
12519
|
-
full: "9999px"
|
|
12520
|
-
},
|
|
12521
|
-
shadow: {
|
|
12522
|
-
none: "none",
|
|
12523
|
-
soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
|
|
12524
|
-
medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
|
|
12525
|
-
strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
|
|
12526
|
-
},
|
|
12527
|
-
palette: {
|
|
12528
|
-
surface: "#ffffff",
|
|
12529
|
-
"neutral-50": "#f9fafb",
|
|
12530
|
-
"neutral-900": "#111827",
|
|
12531
|
-
primary: "#2563eb",
|
|
12532
|
-
"primary-50": "#eff6ff",
|
|
12533
|
-
"primary-500": "#2563eb",
|
|
12534
|
-
"primary-900": "#1d4ed8",
|
|
12535
|
-
secondary: "#9333ea",
|
|
12536
|
-
"secondary-50": "#f3e8ff",
|
|
12537
|
-
"secondary-500": "#9333ea",
|
|
12538
|
-
"secondary-900": "#4c1d95",
|
|
12539
|
-
accent: "#f97316",
|
|
12540
|
-
"accent-50": "#fff7ed",
|
|
12541
|
-
"accent-500": "#f97316",
|
|
12542
|
-
"accent-900": "#7c2d12"
|
|
12543
|
-
}
|
|
12544
|
-
};
|
|
12545
|
-
//#endregion
|
|
12546
12718
|
//#region ../theme-core/src/site-styles/backgroundAppearance.ts
|
|
12547
12719
|
const backgroundAppearanceQuickColorTokenNames = [
|
|
12548
12720
|
"background",
|
|
@@ -30196,6 +30368,44 @@ function toWholeSeriesRegistrationEvents(events) {
|
|
|
30196
30368
|
return groupPublicEventsByRun(events).map(toWholeSeriesRegistrationEvent).filter((event) => event !== null);
|
|
30197
30369
|
}
|
|
30198
30370
|
//#endregion
|
|
30371
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.ts
|
|
30372
|
+
const { limit: _rawLimit, eventSurface: _rawEventSurface, scheduleScope: _rawScheduleScope, detailLevel: _rawDetailLevel, ...stringEventQueryShape } = publicEventLoaderQuerySchemaShape;
|
|
30373
|
+
const eventRecoveryRequestSchema = z.object({
|
|
30374
|
+
...stringEventQueryShape,
|
|
30375
|
+
limit: z.coerce.number().int().positive().optional(),
|
|
30376
|
+
eventSurface: z.enum(eventSurfaceScopeValues).optional(),
|
|
30377
|
+
scheduleScope: z.enum(eventScheduleScopeValues).optional(),
|
|
30378
|
+
detailLevel: z.enum(["full", "listing"]).optional(),
|
|
30379
|
+
stage: z.enum(["preview", "published"]).optional()
|
|
30380
|
+
});
|
|
30381
|
+
function resolveEventRegistrationEventSource(input) {
|
|
30382
|
+
if (input.wholeSeriesRunEvents != null) return {
|
|
30383
|
+
kind: "loaded",
|
|
30384
|
+
events: input.wholeSeriesRunEvents
|
|
30385
|
+
};
|
|
30386
|
+
if (input.events != null) return {
|
|
30387
|
+
kind: "loaded",
|
|
30388
|
+
events: input.events
|
|
30389
|
+
};
|
|
30390
|
+
return {
|
|
30391
|
+
kind: "unresolved",
|
|
30392
|
+
request: parseEventLoaderRecoveryRequest(input.failures?.wholeSeriesRunEvents ?? input.failures?.events)
|
|
30393
|
+
};
|
|
30394
|
+
}
|
|
30395
|
+
const eventLoaderFailureSchema = z.object({
|
|
30396
|
+
endpoint: z.literal("listPublicEvents"),
|
|
30397
|
+
params: eventRecoveryRequestSchema.extend({ siteId: z.string().optional() })
|
|
30398
|
+
});
|
|
30399
|
+
function parseEventLoaderRecoveryRequest(value) {
|
|
30400
|
+
const parsed = eventLoaderFailureSchema.safeParse(value);
|
|
30401
|
+
if (!parsed.success) return null;
|
|
30402
|
+
const { siteId: _siteId, stage, ...params } = parsed.data.params;
|
|
30403
|
+
return {
|
|
30404
|
+
...params,
|
|
30405
|
+
stage: stage ?? "published"
|
|
30406
|
+
};
|
|
30407
|
+
}
|
|
30408
|
+
//#endregion
|
|
30199
30409
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
30200
30410
|
const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = [
|
|
30201
30411
|
"Date",
|
|
@@ -30213,8 +30423,6 @@ const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrati
|
|
|
30213
30423
|
const eventRegistrationHydrationSchemaShape = {
|
|
30214
30424
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
30215
30425
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
30216
|
-
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
30217
|
-
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
30218
30426
|
maxTickets: z.string().optional(),
|
|
30219
30427
|
showVenue: z.boolean().optional(),
|
|
30220
30428
|
showCapacity: z.boolean().optional(),
|
|
@@ -30226,12 +30434,22 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
30226
30434
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
30227
30435
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
30228
30436
|
};
|
|
30437
|
+
const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
30438
|
+
kind: z.literal("loaded"),
|
|
30439
|
+
events: z.array(eventRegistrationPublicEventSchema)
|
|
30440
|
+
}), z.object({
|
|
30441
|
+
kind: z.literal("unresolved"),
|
|
30442
|
+
request: eventRecoveryRequestSchema.nullable()
|
|
30443
|
+
})]);
|
|
30229
30444
|
const eventRegistrationSourceSchema = z.object({
|
|
30230
30445
|
siteId: z.string().optional(),
|
|
30231
30446
|
apiBaseUrl: z.string().optional(),
|
|
30232
30447
|
portalToken: z.string().nullable().optional(),
|
|
30233
30448
|
previewToken: z.string().nullable().optional(),
|
|
30234
30449
|
...eventRegistrationHydrationSchemaShape,
|
|
30450
|
+
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
30451
|
+
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
30452
|
+
eventLoaderFailures: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
30235
30453
|
className: z.string().nullable().optional(),
|
|
30236
30454
|
buttonText: z.string().nullable().optional(),
|
|
30237
30455
|
maxTickets: z.string().nullable().optional(),
|
|
@@ -30252,7 +30470,10 @@ const eventRegistrationDisplaySchema = z.discriminatedUnion("state", [z.object({
|
|
|
30252
30470
|
titleText: z.string(),
|
|
30253
30471
|
bodyText: z.string()
|
|
30254
30472
|
})]);
|
|
30255
|
-
const eventRegistrationHydrationSchema = z.object(
|
|
30473
|
+
const eventRegistrationHydrationSchema = z.object({
|
|
30474
|
+
...eventRegistrationHydrationSchemaShape,
|
|
30475
|
+
eventSource: eventRegistrationEventSourceSchema
|
|
30476
|
+
});
|
|
30256
30477
|
const eventRegistrationRenderSchema = z.object({
|
|
30257
30478
|
display: eventRegistrationDisplaySchema,
|
|
30258
30479
|
hydration: eventRegistrationHydrationSchema
|
|
@@ -30311,16 +30532,12 @@ function buildEventRegistrationShellStepLabels(source, scopedSourceEvents) {
|
|
|
30311
30532
|
function toScopedEventRegistrationEvents(scopedSourceEvents) {
|
|
30312
30533
|
return [...toRegistrationEvents(scopedSourceEvents), ...toWholeSeriesRegistrationEvents(scopedSourceEvents)];
|
|
30313
30534
|
}
|
|
30314
|
-
function scopeEventRegistrationSourceEvents(source) {
|
|
30315
|
-
return resolveEventRegistrationScopedEvents(
|
|
30535
|
+
function scopeEventRegistrationSourceEvents(source, eventSource) {
|
|
30536
|
+
return resolveEventRegistrationScopedEvents(eventSource.kind === "loaded" ? eventSource.events : [], {
|
|
30316
30537
|
occurrenceContext: source.occurrenceContext,
|
|
30317
30538
|
subject: source.subject
|
|
30318
30539
|
});
|
|
30319
30540
|
}
|
|
30320
|
-
function resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents) {
|
|
30321
|
-
if (source.events == null && source.wholeSeriesRunEvents == null) return null;
|
|
30322
|
-
return [...scopedSourceEvents];
|
|
30323
|
-
}
|
|
30324
30541
|
/**
|
|
30325
30542
|
* The one run this surface is registering for, when the scoped events describe
|
|
30326
30543
|
* exactly one. More than one run means the visitor still has to choose.
|
|
@@ -30360,14 +30577,21 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
30360
30577
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
30361
30578
|
},
|
|
30362
30579
|
buildRender: (source) => {
|
|
30363
|
-
const
|
|
30364
|
-
|
|
30580
|
+
const eventSource = resolveEventRegistrationEventSource({
|
|
30581
|
+
events: source.events,
|
|
30582
|
+
wholeSeriesRunEvents: source.wholeSeriesRunEvents,
|
|
30583
|
+
failures: source.eventLoaderFailures
|
|
30584
|
+
});
|
|
30585
|
+
const scopedSourceEvents = scopeEventRegistrationSourceEvents(source, eventSource);
|
|
30365
30586
|
return {
|
|
30366
30587
|
display: buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents),
|
|
30367
30588
|
hydration: {
|
|
30368
30589
|
occurrenceContext: source.occurrenceContext ?? null,
|
|
30369
30590
|
subject: source.subject ?? null,
|
|
30370
|
-
|
|
30591
|
+
eventSource: eventSource.kind === "loaded" ? {
|
|
30592
|
+
...eventSource,
|
|
30593
|
+
events: [...scopedSourceEvents]
|
|
30594
|
+
} : eventSource,
|
|
30371
30595
|
maxTickets: source.maxTickets ?? void 0,
|
|
30372
30596
|
showVenue: source.showVenue,
|
|
30373
30597
|
showCapacity: source.showCapacity,
|
|
@@ -30543,6 +30767,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
30543
30767
|
} },
|
|
30544
30768
|
events: { $bind: { from: "data.events" } },
|
|
30545
30769
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
30770
|
+
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
30546
30771
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
30547
30772
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
30548
30773
|
stage: { $bind: {
|
|
@@ -37098,6 +37323,15 @@ const newsletterFieldSchema = z.object({
|
|
|
37098
37323
|
placeholder: z.string().optional()
|
|
37099
37324
|
});
|
|
37100
37325
|
const mailingListSignupBlockIdSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignupBlockId);
|
|
37326
|
+
const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
|
|
37327
|
+
const parsed = parseMailingListContentVersionId(value);
|
|
37328
|
+
if (parsed) return parsed;
|
|
37329
|
+
ctx.addIssue({
|
|
37330
|
+
code: z.ZodIssueCode.custom,
|
|
37331
|
+
message: "Invalid mailing-list content version ID"
|
|
37332
|
+
});
|
|
37333
|
+
return z.NEVER;
|
|
37334
|
+
});
|
|
37101
37335
|
const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
37102
37336
|
const newsletterSourceCommonSchema = z.object({
|
|
37103
37337
|
siteId: z.string().optional(),
|
|
@@ -37111,7 +37345,8 @@ const newsletterSourceCommonSchema = z.object({
|
|
|
37111
37345
|
const newsletterSourceSchema = z.discriminatedUnion("source", [
|
|
37112
37346
|
newsletterSourceCommonSchema.extend({
|
|
37113
37347
|
source: z.literal("block"),
|
|
37114
|
-
blockId: z.string().nullable().optional()
|
|
37348
|
+
blockId: z.string().nullable().optional(),
|
|
37349
|
+
contentVersionId: z.string().nullable().optional()
|
|
37115
37350
|
}),
|
|
37116
37351
|
newsletterSourceCommonSchema.extend({
|
|
37117
37352
|
source: z.literal("signed-footer"),
|
|
@@ -37127,6 +37362,7 @@ const newsletterDisplaySchema = z.object({
|
|
|
37127
37362
|
availability: z.enum(["ready", "unavailable"]),
|
|
37128
37363
|
className: z.string().nullable(),
|
|
37129
37364
|
buttonLabel: z.string(),
|
|
37365
|
+
successMessage: z.string(),
|
|
37130
37366
|
buttonVariant: newsletterButtonVariantSchema,
|
|
37131
37367
|
privacyNote: z.string().nullable(),
|
|
37132
37368
|
fields: z.array(newsletterFieldSchema),
|
|
@@ -37141,7 +37377,8 @@ const newsletterHydrationSchema = z.object({
|
|
|
37141
37377
|
tag: z.literal("block-source"),
|
|
37142
37378
|
sourceRef: z.object({
|
|
37143
37379
|
tag: z.literal("block_ref"),
|
|
37144
|
-
blockId: mailingListSignupBlockIdSchema
|
|
37380
|
+
blockId: mailingListSignupBlockIdSchema,
|
|
37381
|
+
contentVersionId: mailingListContentVersionIdSchema
|
|
37145
37382
|
}).nullable()
|
|
37146
37383
|
}),
|
|
37147
37384
|
z.object({
|
|
@@ -37180,6 +37417,7 @@ function buildNewsletterDisplay(source) {
|
|
|
37180
37417
|
fields: { preset: "emailOnly" },
|
|
37181
37418
|
includeOptionalPhone: false,
|
|
37182
37419
|
buttonLabel: "Subscribe",
|
|
37420
|
+
successMessage: DEFAULT_MAILING_LIST_SUCCESS_MESSAGE,
|
|
37183
37421
|
privacyNote: null
|
|
37184
37422
|
};
|
|
37185
37423
|
const targeting = source.targeting ?? { mode: "default" };
|
|
@@ -37189,6 +37427,7 @@ function buildNewsletterDisplay(source) {
|
|
|
37189
37427
|
availability: runtimeTargetingIsAvailable(context, targeting, choices) ? "ready" : "unavailable",
|
|
37190
37428
|
className: source.className ?? null,
|
|
37191
37429
|
buttonLabel: form.buttonLabel,
|
|
37430
|
+
successMessage: form.successMessage,
|
|
37192
37431
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
37193
37432
|
privacyNote: form.privacyNote,
|
|
37194
37433
|
fields: getGlobalFormFields(form),
|
|
@@ -37219,7 +37458,7 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
37219
37458
|
function projectNewsletterFormHydrationTarget(source) {
|
|
37220
37459
|
switch (source.source) {
|
|
37221
37460
|
case "block": {
|
|
37222
|
-
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId);
|
|
37461
|
+
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
|
|
37223
37462
|
if (sourceRef?.tag === "block_ref") return {
|
|
37224
37463
|
tag: "block-source",
|
|
37225
37464
|
sourceRef
|
|
@@ -39773,8 +40012,12 @@ function shouldSkipResolvedLoader(input) {
|
|
|
39773
40012
|
* ```
|
|
39774
40013
|
*/
|
|
39775
40014
|
async function prefetchBlockData$1(page, context, options) {
|
|
40015
|
+
return (await prefetchBlockDataWithFailures(page, context, options)).resolvedData;
|
|
40016
|
+
}
|
|
40017
|
+
async function prefetchBlockDataWithFailures(page, context, options) {
|
|
39776
40018
|
const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings } = options;
|
|
39777
40019
|
const results = {};
|
|
40020
|
+
const loaderFailures = {};
|
|
39778
40021
|
const tasks = [];
|
|
39779
40022
|
for (const block of page.blocks) {
|
|
39780
40023
|
const blockId = block.id;
|
|
@@ -39822,6 +40065,11 @@ async function prefetchBlockData$1(page, context, options) {
|
|
|
39822
40065
|
const blockResults = results[blockId] ?? (results[blockId] = {});
|
|
39823
40066
|
blockResults[key] = data;
|
|
39824
40067
|
} catch (error) {
|
|
40068
|
+
const blockFailures = loaderFailures[blockId] ?? (loaderFailures[blockId] = {});
|
|
40069
|
+
blockFailures[key] = {
|
|
40070
|
+
endpoint,
|
|
40071
|
+
params
|
|
40072
|
+
};
|
|
39825
40073
|
if (onError) onError(error, {
|
|
39826
40074
|
block: block.kind,
|
|
39827
40075
|
loader: key
|
|
@@ -39831,7 +40079,10 @@ async function prefetchBlockData$1(page, context, options) {
|
|
|
39831
40079
|
}
|
|
39832
40080
|
}
|
|
39833
40081
|
if (tasks.length > 0) await Promise.all(tasks);
|
|
39834
|
-
return
|
|
40082
|
+
return {
|
|
40083
|
+
resolvedData: results,
|
|
40084
|
+
loaderFailures
|
|
40085
|
+
};
|
|
39835
40086
|
}
|
|
39836
40087
|
//#endregion
|
|
39837
40088
|
//#region ../blocks/src/system/data/loaderEndpoints.ts
|
|
@@ -40181,7 +40432,17 @@ const riverbankSiteConfigInputSchema = z.object({
|
|
|
40181
40432
|
z.object({
|
|
40182
40433
|
config: riverbankSiteConfigInputSchema,
|
|
40183
40434
|
forceContentTypes: z.boolean().optional(),
|
|
40184
|
-
mode: z.enum(["apply", "preview"]).optional()
|
|
40435
|
+
mode: z.enum(["apply", "preview"]).optional(),
|
|
40436
|
+
expectedMailingListProviderScope: z.unknown().transform((value, ctx) => {
|
|
40437
|
+
if (value === void 0) return void 0;
|
|
40438
|
+
const parsed = parseMailingListProviderScope(value);
|
|
40439
|
+
if (parsed.ok) return parsed.value;
|
|
40440
|
+
ctx.addIssue({
|
|
40441
|
+
code: "custom",
|
|
40442
|
+
message: "Invalid mailing-list provider scope"
|
|
40443
|
+
});
|
|
40444
|
+
return z.NEVER;
|
|
40445
|
+
}).optional()
|
|
40185
40446
|
}).strict();
|
|
40186
40447
|
//#endregion
|
|
40187
40448
|
//#region ../api/src/sdkThemeWire.ts
|
|
@@ -41315,9 +41576,11 @@ function convertPageResponseBlock(block) {
|
|
|
41315
41576
|
if (typeof block.id !== "string" && block.id !== null) throw new Error(`Invalid block id in page: expected string or null, got ${typeof block.id}`);
|
|
41316
41577
|
if (typeof block.kind !== "string") throw new Error(`Invalid block kind in page: expected string, got ${typeof block.kind}`);
|
|
41317
41578
|
if (typeof block.purpose !== "string") throw new Error(`Invalid block purpose in page: expected string, got ${typeof block.purpose}`);
|
|
41579
|
+
if (block.contentVersionId !== void 0 && block.contentVersionId !== null && typeof block.contentVersionId !== "string") throw new Error(`Invalid content version id in page: expected string or null, got ${typeof block.contentVersionId}`);
|
|
41318
41580
|
const admission = readInvalidBlockAdmission(block.admission);
|
|
41319
41581
|
return {
|
|
41320
41582
|
id: block.id,
|
|
41583
|
+
...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
|
|
41321
41584
|
kind: block.kind,
|
|
41322
41585
|
purpose: block.purpose,
|
|
41323
41586
|
content: sanitizeSdkRuntimeBlockContent(block.kind, readContentRecord(block.content) ?? {}),
|
|
@@ -41350,6 +41613,7 @@ function projectRenderablePageOutline(page) {
|
|
|
41350
41613
|
...page,
|
|
41351
41614
|
blocks: page.blocks.flatMap((block) => block.admission.kind === "renderable" ? [{
|
|
41352
41615
|
id: block.id,
|
|
41616
|
+
...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
|
|
41353
41617
|
kind: block.kind,
|
|
41354
41618
|
purpose: block.purpose,
|
|
41355
41619
|
content: block.admission.content,
|
|
@@ -41360,6 +41624,7 @@ function projectRenderablePageOutline(page) {
|
|
|
41360
41624
|
function admitSdkRuntimePageBlock(block, customBlocks) {
|
|
41361
41625
|
const base = {
|
|
41362
41626
|
id: block.id,
|
|
41627
|
+
...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
|
|
41363
41628
|
kind: block.kind,
|
|
41364
41629
|
purpose: block.purpose,
|
|
41365
41630
|
...block.bindings ? { bindings: block.bindings } : {}
|