@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/server/data.mjs
CHANGED
|
@@ -29,10 +29,12 @@ const unsafeAsApiKeyId = (id) => id;
|
|
|
29
29
|
const unsafeAsEventOfferingId = (id) => id;
|
|
30
30
|
const unsafeAsEventSeriesId = (id) => id;
|
|
31
31
|
const unsafeAsUserId = (id) => id;
|
|
32
|
+
const unsafeAsContentVersionId = (id) => id;
|
|
32
33
|
const parseSiteId = (value) => parseUuidBrand(value, unsafeAsSiteId);
|
|
33
34
|
const parseApiKeyId = (value) => parseUuidBrand(value, unsafeAsApiKeyId);
|
|
34
35
|
const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
35
36
|
const parseUserId = (value) => parseUuidBrand(value, unsafeAsUserId);
|
|
37
|
+
const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
|
|
36
38
|
const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
37
39
|
//#endregion
|
|
38
40
|
//#region ../core/src/assert-never.ts
|
|
@@ -266,7 +268,7 @@ function parseEventPageSurfaceDestinationMode(value) {
|
|
|
266
268
|
return value === "cms-managed" || value === "system-managed" ? value : void 0;
|
|
267
269
|
}
|
|
268
270
|
function parseEventPageSurfaceSubject(value) {
|
|
269
|
-
if (!isRecord$
|
|
271
|
+
if (!isRecord$13(value)) return err({ kind: "notObject" });
|
|
270
272
|
switch (value.kind) {
|
|
271
273
|
case "eventSeries": {
|
|
272
274
|
const eventSeriesId = parseEventSeriesId(value.eventSeriesId);
|
|
@@ -321,7 +323,7 @@ function parseEventSeriesIdList(values) {
|
|
|
321
323
|
}
|
|
322
324
|
return ok(parsed);
|
|
323
325
|
}
|
|
324
|
-
function isRecord$
|
|
326
|
+
function isRecord$13(value) {
|
|
325
327
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
326
328
|
}
|
|
327
329
|
//#endregion
|
|
@@ -505,16 +507,47 @@ function parsePositiveInteger(value) {
|
|
|
505
507
|
function parseNewsletterListId(value) {
|
|
506
508
|
return parseTrimmedMatchingString(value, UUID_PATTERN);
|
|
507
509
|
}
|
|
510
|
+
function parseMailchimpAccountId(value) {
|
|
511
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
512
|
+
}
|
|
508
513
|
function parseMailchimpAudienceId(value) {
|
|
509
514
|
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
510
515
|
}
|
|
511
516
|
function parseMailchimpInterestId(value) {
|
|
512
517
|
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
513
518
|
}
|
|
519
|
+
function parseBrevoAccountId(value) {
|
|
520
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
521
|
+
}
|
|
514
522
|
function parseBrevoListId(value) {
|
|
515
523
|
return parsePositiveInteger(value);
|
|
516
524
|
}
|
|
517
525
|
//#endregion
|
|
526
|
+
//#region ../core/src/mailing-list-setup.ts
|
|
527
|
+
function isRecord$12(value) {
|
|
528
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
529
|
+
}
|
|
530
|
+
const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
|
|
531
|
+
function parseMailingListProviderScope(value) {
|
|
532
|
+
if (!isRecord$12(value)) return err("invalid_mailing_list_provider_scope");
|
|
533
|
+
if (value.provider === "native") return ok({ provider: "native" });
|
|
534
|
+
if (value.provider === "brevo") {
|
|
535
|
+
const accountId = parseBrevoAccountId(value.accountId);
|
|
536
|
+
return accountId !== null ? ok({
|
|
537
|
+
provider: "brevo",
|
|
538
|
+
accountId
|
|
539
|
+
}) : err("invalid_mailing_list_provider_scope");
|
|
540
|
+
}
|
|
541
|
+
if (value.provider === "mailchimp") {
|
|
542
|
+
const accountId = parseMailchimpAccountId(value.accountId);
|
|
543
|
+
return accountId !== null ? ok({
|
|
544
|
+
provider: "mailchimp",
|
|
545
|
+
accountId
|
|
546
|
+
}) : err("invalid_mailing_list_provider_scope");
|
|
547
|
+
}
|
|
548
|
+
return err("invalid_mailing_list_provider_scope");
|
|
549
|
+
}
|
|
550
|
+
//#endregion
|
|
518
551
|
//#region ../core/src/mailing-list-setup-parser.ts
|
|
519
552
|
function parseMailingListGlobalForm(value) {
|
|
520
553
|
if (!isRecord$11(value)) return formError("shape");
|
|
@@ -523,12 +556,15 @@ function parseMailingListGlobalForm(value) {
|
|
|
523
556
|
if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
|
|
524
557
|
const buttonLabel = parseRequiredString(value.buttonLabel);
|
|
525
558
|
if (buttonLabel === null) return formError("buttonLabel");
|
|
559
|
+
const successMessage = parseRequiredString(value.successMessage);
|
|
560
|
+
if (successMessage === null) return formError("successMessage");
|
|
526
561
|
const privacyNote = parseOptionalString(value.privacyNote);
|
|
527
562
|
if (privacyNote === void 0) return formError("privacyNote");
|
|
528
563
|
return ok({
|
|
529
564
|
fields,
|
|
530
565
|
includeOptionalPhone: value.includeOptionalPhone,
|
|
531
566
|
buttonLabel,
|
|
567
|
+
successMessage,
|
|
532
568
|
privacyNote
|
|
533
569
|
});
|
|
534
570
|
}
|
|
@@ -858,11 +894,17 @@ function parseMailingListSignedSourceToken(value) {
|
|
|
858
894
|
const parsed = typeof value === "string" ? value.trim() : "";
|
|
859
895
|
return /^[A-Za-z0-9._~-]{16,1000}$/u.test(parsed) ? parsed : null;
|
|
860
896
|
}
|
|
861
|
-
function
|
|
862
|
-
const parsed =
|
|
863
|
-
return parsed
|
|
897
|
+
function parseMailingListContentVersionId(value) {
|
|
898
|
+
const parsed = parseContentVersionId(value);
|
|
899
|
+
return parsed.ok ? parsed.value : null;
|
|
900
|
+
}
|
|
901
|
+
function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
|
|
902
|
+
const parsedBlockId = parseMailingListBlockId(blockId);
|
|
903
|
+
const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
|
|
904
|
+
return parsedBlockId !== null && parsedContentVersionId !== null ? {
|
|
864
905
|
tag: "block_ref",
|
|
865
|
-
blockId:
|
|
906
|
+
blockId: parsedBlockId,
|
|
907
|
+
contentVersionId: parsedContentVersionId
|
|
866
908
|
} : null;
|
|
867
909
|
}
|
|
868
910
|
//#endregion
|
|
@@ -2971,59 +3013,108 @@ function interpolateHex(startHex, endHex, position) {
|
|
|
2971
3013
|
const channel = (from, to) => Math.round(from + (to - from) * position).toString(16).padStart(2, "0");
|
|
2972
3014
|
return `#${channel(start.r, end.r)}${channel(start.g, end.g)}${channel(start.b, end.b)}`;
|
|
2973
3015
|
}
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
pseudoElement: "none",
|
|
2995
|
-
applicableTo: ["button"],
|
|
2996
|
-
customizableOption: {
|
|
2997
|
-
name: "amount",
|
|
2998
|
-
type: "select",
|
|
2999
|
-
label: config.label,
|
|
3000
|
-
default: 100,
|
|
3001
|
-
options: [
|
|
3002
|
-
0,
|
|
3003
|
-
100,
|
|
3004
|
-
200,
|
|
3005
|
-
300,
|
|
3006
|
-
400,
|
|
3007
|
-
500,
|
|
3008
|
-
600,
|
|
3009
|
-
700,
|
|
3010
|
-
800,
|
|
3011
|
-
900
|
|
3012
|
-
]
|
|
3016
|
+
//#endregion
|
|
3017
|
+
//#region ../theme-core/src/tokens/tokens.ts
|
|
3018
|
+
const defaultThemeTokens = {
|
|
3019
|
+
color: {
|
|
3020
|
+
"background/base": "#ffffff",
|
|
3021
|
+
"background/elevated": "#f5f5f5",
|
|
3022
|
+
"surface/base": "#ffffff",
|
|
3023
|
+
"surface/subtle": "#f9f9fb",
|
|
3024
|
+
"surface/inverted": "#111111",
|
|
3025
|
+
"content/primary": "#111111",
|
|
3026
|
+
"content/secondary": "#3f3f46",
|
|
3027
|
+
"accent/primary": "#2563eb",
|
|
3028
|
+
"accent/secondary": "#1d4ed8",
|
|
3029
|
+
"border/base": "#e5e7eb"
|
|
3030
|
+
},
|
|
3031
|
+
typography: {
|
|
3032
|
+
"display/hero": {
|
|
3033
|
+
fontSize: "clamp(48px, 8vw, 96px)",
|
|
3034
|
+
lineHeight: "1.05",
|
|
3035
|
+
fontWeight: "700"
|
|
3013
3036
|
},
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3037
|
+
"display/section": {
|
|
3038
|
+
fontSize: "clamp(40px, 6vw, 72px)",
|
|
3039
|
+
lineHeight: "1.1",
|
|
3040
|
+
fontWeight: "700"
|
|
3041
|
+
},
|
|
3042
|
+
"heading/large": {
|
|
3043
|
+
fontSize: "clamp(32px, 4vw, 48px)",
|
|
3044
|
+
lineHeight: "1.2",
|
|
3045
|
+
fontWeight: "600"
|
|
3046
|
+
},
|
|
3047
|
+
"heading/medium": {
|
|
3048
|
+
fontSize: "clamp(24px, 3vw, 32px)",
|
|
3049
|
+
lineHeight: "1.25",
|
|
3050
|
+
fontWeight: "600"
|
|
3051
|
+
},
|
|
3052
|
+
"heading/small": {
|
|
3053
|
+
fontSize: "20px",
|
|
3054
|
+
lineHeight: "1.3",
|
|
3055
|
+
fontWeight: "600"
|
|
3056
|
+
},
|
|
3057
|
+
"body/normal": {
|
|
3058
|
+
fontSize: "16px",
|
|
3059
|
+
lineHeight: "1.6",
|
|
3060
|
+
fontWeight: "400"
|
|
3061
|
+
},
|
|
3062
|
+
"body/small": {
|
|
3063
|
+
fontSize: "14px",
|
|
3064
|
+
lineHeight: "1.5",
|
|
3065
|
+
fontWeight: "400"
|
|
3066
|
+
},
|
|
3067
|
+
caption: {
|
|
3068
|
+
fontSize: "12px",
|
|
3069
|
+
lineHeight: "1.4",
|
|
3070
|
+
fontWeight: "500"
|
|
3024
3071
|
}
|
|
3025
|
-
}
|
|
3026
|
-
|
|
3072
|
+
},
|
|
3073
|
+
spacing: {
|
|
3074
|
+
none: "0px",
|
|
3075
|
+
"3xs": "4px",
|
|
3076
|
+
"2xs": "8px",
|
|
3077
|
+
xs: "12px",
|
|
3078
|
+
sm: "16px",
|
|
3079
|
+
md: "24px",
|
|
3080
|
+
lg: "32px",
|
|
3081
|
+
xl: "40px",
|
|
3082
|
+
"2xl": "56px",
|
|
3083
|
+
"3xl": "72px"
|
|
3084
|
+
},
|
|
3085
|
+
radius: {
|
|
3086
|
+
none: "0px",
|
|
3087
|
+
xs: "2px",
|
|
3088
|
+
sm: "4px",
|
|
3089
|
+
md: "8px",
|
|
3090
|
+
lg: "12px",
|
|
3091
|
+
pill: "999px",
|
|
3092
|
+
full: "9999px"
|
|
3093
|
+
},
|
|
3094
|
+
shadow: {
|
|
3095
|
+
none: "none",
|
|
3096
|
+
soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
|
|
3097
|
+
medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
|
|
3098
|
+
strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
|
|
3099
|
+
},
|
|
3100
|
+
palette: {
|
|
3101
|
+
surface: "#ffffff",
|
|
3102
|
+
"neutral-50": "#f9fafb",
|
|
3103
|
+
"neutral-900": "#111827",
|
|
3104
|
+
primary: "#2563eb",
|
|
3105
|
+
"primary-50": "#eff6ff",
|
|
3106
|
+
"primary-500": "#2563eb",
|
|
3107
|
+
"primary-900": "#1d4ed8",
|
|
3108
|
+
secondary: "#9333ea",
|
|
3109
|
+
"secondary-50": "#f3e8ff",
|
|
3110
|
+
"secondary-500": "#9333ea",
|
|
3111
|
+
"secondary-900": "#4c1d95",
|
|
3112
|
+
accent: "#f97316",
|
|
3113
|
+
"accent-50": "#fff7ed",
|
|
3114
|
+
"accent-500": "#f97316",
|
|
3115
|
+
"accent-900": "#7c2d12"
|
|
3116
|
+
}
|
|
3117
|
+
};
|
|
3027
3118
|
//#endregion
|
|
3028
3119
|
//#region ../theme-core/src/palette/utils/opaqueSurfaceColor.ts
|
|
3029
3120
|
/** Resolve an opaque colour, compositing alpha against an explicit underlay. */
|
|
@@ -3308,6 +3399,59 @@ function mergeStyles(...styles) {
|
|
|
3308
3399
|
}
|
|
3309
3400
|
return Object.keys(merged).length ? merged : void 0;
|
|
3310
3401
|
}
|
|
3402
|
+
shadeBackgroundEffect({
|
|
3403
|
+
id: "darken-background",
|
|
3404
|
+
name: "Darken on Hover",
|
|
3405
|
+
description: "Darkens the background color on hover",
|
|
3406
|
+
label: "Darken Amount (shade step)",
|
|
3407
|
+
shadeDirection: 1
|
|
3408
|
+
});
|
|
3409
|
+
shadeBackgroundEffect({
|
|
3410
|
+
id: "lighten-background",
|
|
3411
|
+
name: "Lighten on Hover",
|
|
3412
|
+
description: "Lightens the background color on hover",
|
|
3413
|
+
label: "Lighten Amount (shade step)",
|
|
3414
|
+
shadeDirection: -1
|
|
3415
|
+
});
|
|
3416
|
+
function shadeBackgroundEffect(config) {
|
|
3417
|
+
return {
|
|
3418
|
+
id: config.id,
|
|
3419
|
+
name: config.name,
|
|
3420
|
+
description: config.description,
|
|
3421
|
+
category: "background",
|
|
3422
|
+
pseudoElement: "none",
|
|
3423
|
+
applicableTo: ["button"],
|
|
3424
|
+
customizableOption: {
|
|
3425
|
+
name: "amount",
|
|
3426
|
+
type: "select",
|
|
3427
|
+
label: config.label,
|
|
3428
|
+
default: 100,
|
|
3429
|
+
options: [
|
|
3430
|
+
0,
|
|
3431
|
+
100,
|
|
3432
|
+
200,
|
|
3433
|
+
300,
|
|
3434
|
+
400,
|
|
3435
|
+
500,
|
|
3436
|
+
600,
|
|
3437
|
+
700,
|
|
3438
|
+
800,
|
|
3439
|
+
900
|
|
3440
|
+
]
|
|
3441
|
+
},
|
|
3442
|
+
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
3443
|
+
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
3444
|
+
if (buttonConfig.background.type !== "solid") return "";
|
|
3445
|
+
const amount = (options.amount || 100) * config.shadeDirection;
|
|
3446
|
+
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
3447
|
+
return `
|
|
3448
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
3449
|
+
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
3450
|
+
}
|
|
3451
|
+
`;
|
|
3452
|
+
}
|
|
3453
|
+
};
|
|
3454
|
+
}
|
|
3311
3455
|
//#endregion
|
|
3312
3456
|
//#region ../theme-core/src/utils/tokenOrColor.ts
|
|
3313
3457
|
/**
|
|
@@ -6730,8 +6874,14 @@ const headerInteractionPillPaletteValues = [
|
|
|
6730
6874
|
"accent"
|
|
6731
6875
|
];
|
|
6732
6876
|
/**
|
|
6733
|
-
* "No pill":
|
|
6734
|
-
*
|
|
6877
|
+
* "No pill": a colour change on hover rather than a filled background.
|
|
6878
|
+
*
|
|
6879
|
+
* The palette step writes nothing (#1318 Phase 4c decision 2), but on a
|
|
6880
|
+
* foreground-adaptive style that is not the end of the story: the hover colour
|
|
6881
|
+
* is derived from the resolved opening foreground at render time, paired with
|
|
6882
|
+
* the resting colour, so `quiet` resolves to a definite colour rather than to
|
|
6883
|
+
* whatever brand token the recipe happened to name. See
|
|
6884
|
+
* `applyOpeningForeground`.
|
|
6735
6885
|
*
|
|
6736
6886
|
* It exists because "a colour change on hover, no filled background" was not
|
|
6737
6887
|
* expressible in the vocabulary, and it is what
|
|
@@ -7723,6 +7873,28 @@ const bookingRequirementConsentFieldSchema = z.object({
|
|
|
7723
7873
|
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
7724
7874
|
//#endregion
|
|
7725
7875
|
//#region ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
7876
|
+
const publicEventLoaderQuerySchemaShape = {
|
|
7877
|
+
limit: z.string().optional(),
|
|
7878
|
+
from: z.string().optional(),
|
|
7879
|
+
to: z.string().optional(),
|
|
7880
|
+
afterStartsAt: z.string().optional(),
|
|
7881
|
+
afterId: z.string().optional(),
|
|
7882
|
+
categoryIds: z.string().optional(),
|
|
7883
|
+
venueId: z.string().optional(),
|
|
7884
|
+
staffMemberId: z.string().optional(),
|
|
7885
|
+
eventSurface: z.string().optional(),
|
|
7886
|
+
eventPresets: z.string().optional(),
|
|
7887
|
+
scheduleScope: z.string().optional(),
|
|
7888
|
+
seriesId: z.string().optional(),
|
|
7889
|
+
seriesIds: z.string().optional(),
|
|
7890
|
+
runSeriesId: z.string().optional(),
|
|
7891
|
+
seriesSlug: z.string().optional(),
|
|
7892
|
+
includeOccurrenceId: z.string().optional(),
|
|
7893
|
+
readIntent: z.string().optional(),
|
|
7894
|
+
detailLevel: z.string().optional(),
|
|
7895
|
+
readProfile: z.string().optional()
|
|
7896
|
+
};
|
|
7897
|
+
z.object(publicEventLoaderQuerySchemaShape);
|
|
7726
7898
|
const eventPresetSchema = z.enum([
|
|
7727
7899
|
"event",
|
|
7728
7900
|
"class",
|
|
@@ -9565,6 +9737,14 @@ const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS = defineEndpointDefinitio
|
|
|
9565
9737
|
auth: "public",
|
|
9566
9738
|
responseKind: "json"
|
|
9567
9739
|
},
|
|
9740
|
+
getPublicBookingServiceBySlug: {
|
|
9741
|
+
path: "/public/bookings/services/by-slug/{slug}",
|
|
9742
|
+
method: "GET",
|
|
9743
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingService"),
|
|
9744
|
+
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
9745
|
+
auth: "public",
|
|
9746
|
+
responseKind: "json"
|
|
9747
|
+
},
|
|
9568
9748
|
getPublicBookingResourcesReference: {
|
|
9569
9749
|
path: "/public/bookings/resources/reference",
|
|
9570
9750
|
method: "GET",
|
|
@@ -10117,16 +10297,110 @@ const PUBLIC_READ_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
10117
10297
|
responseKind: "json"
|
|
10118
10298
|
}
|
|
10119
10299
|
});
|
|
10300
|
+
//#endregion
|
|
10301
|
+
//#region ../api/src/publicOnboardingAttemptEndpointDefinitions.ts
|
|
10302
|
+
/**
|
|
10303
|
+
* The anonymous onboarding attempt, addressed by its opaque resume token.
|
|
10304
|
+
*
|
|
10305
|
+
* Every route here is reached before there is an account, so none of them can
|
|
10306
|
+
* be scoped to a site or a user: the token is the whole credential. They are
|
|
10307
|
+
* kept together so that stays obvious.
|
|
10308
|
+
*/
|
|
10309
|
+
const PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10310
|
+
createPublicOnboardingAttempt: {
|
|
10311
|
+
path: "/public/onboarding/attempts",
|
|
10312
|
+
method: "POST",
|
|
10313
|
+
auth: "public",
|
|
10314
|
+
errors: [],
|
|
10315
|
+
responseKind: "json"
|
|
10316
|
+
},
|
|
10317
|
+
createPublicOnboardingLogoUploadUrl: {
|
|
10318
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url",
|
|
10319
|
+
method: "POST",
|
|
10320
|
+
auth: "public",
|
|
10321
|
+
errors: [],
|
|
10322
|
+
responseKind: "json"
|
|
10323
|
+
},
|
|
10324
|
+
uploadPublicOnboardingLogo: {
|
|
10325
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo",
|
|
10326
|
+
method: "POST",
|
|
10327
|
+
auth: "public",
|
|
10328
|
+
errors: [],
|
|
10329
|
+
responseKind: "json"
|
|
10330
|
+
},
|
|
10331
|
+
getPublicOnboardingAttempt: {
|
|
10332
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
10333
|
+
method: "GET",
|
|
10334
|
+
auth: "public",
|
|
10335
|
+
errors: [],
|
|
10336
|
+
responseKind: "json"
|
|
10337
|
+
},
|
|
10338
|
+
getPublicOnboardingAttemptProgress: {
|
|
10339
|
+
path: "/public/onboarding/attempts/{attemptToken}/status",
|
|
10340
|
+
method: "GET",
|
|
10341
|
+
auth: "public",
|
|
10342
|
+
errors: [],
|
|
10343
|
+
responseKind: "json"
|
|
10344
|
+
},
|
|
10345
|
+
updatePublicOnboardingAttempt: {
|
|
10346
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
10347
|
+
method: "PATCH",
|
|
10348
|
+
auth: "public",
|
|
10349
|
+
errors: [],
|
|
10350
|
+
responseKind: "json"
|
|
10351
|
+
},
|
|
10352
|
+
runPublicOnboardingAttempt: {
|
|
10353
|
+
path: "/public/onboarding/attempts/{attemptToken}/run",
|
|
10354
|
+
method: "POST",
|
|
10355
|
+
auth: "public",
|
|
10356
|
+
errors: [],
|
|
10357
|
+
responseKind: "json"
|
|
10358
|
+
},
|
|
10359
|
+
resendPublicOnboardingAttemptConfirmation: {
|
|
10360
|
+
path: "/public/onboarding/attempts/{attemptToken}/resend-confirmation",
|
|
10361
|
+
method: "POST",
|
|
10362
|
+
auth: "public",
|
|
10363
|
+
errors: [],
|
|
10364
|
+
responseKind: "json"
|
|
10365
|
+
}
|
|
10366
|
+
});
|
|
10367
|
+
//#endregion
|
|
10368
|
+
//#region ../api/src/billingEndpointDefinitions.ts
|
|
10369
|
+
const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10370
|
+
adminChangePlan: {
|
|
10371
|
+
path: "/admin/billing/plan",
|
|
10372
|
+
method: "POST",
|
|
10373
|
+
tags: ["admin", "billing"],
|
|
10374
|
+
auth: "admin",
|
|
10375
|
+
responseKind: "json"
|
|
10376
|
+
},
|
|
10377
|
+
changePlan: {
|
|
10378
|
+
path: "/billing/plan/change",
|
|
10379
|
+
method: "POST",
|
|
10380
|
+
tags: ["billing"],
|
|
10381
|
+
auth: "user",
|
|
10382
|
+
responseKind: "json"
|
|
10383
|
+
},
|
|
10384
|
+
createBillingPortalSession: {
|
|
10385
|
+
path: "/billing/portal/session",
|
|
10386
|
+
method: "POST",
|
|
10387
|
+
tags: ["billing"],
|
|
10388
|
+
auth: "user",
|
|
10389
|
+
responseKind: "json"
|
|
10390
|
+
}
|
|
10391
|
+
});
|
|
10120
10392
|
({
|
|
10121
10393
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
10394
|
+
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
10122
10395
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
10123
10396
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
10124
|
-
...PUBLIC_READ_ENDPOINT_DEFINITIONS
|
|
10397
|
+
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
10398
|
+
...BILLING_ENDPOINT_DEFINITIONS
|
|
10125
10399
|
}), 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, {
|
|
10126
10400
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10127
10401
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
10128
10402
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
10129
|
-
}, 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 };
|
|
10403
|
+
}, 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 };
|
|
10130
10404
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
10131
10405
|
z.object({
|
|
10132
10406
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -12395,108 +12669,6 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
12395
12669
|
if (duplicates.length > 0) throw new Error(`Duplicate block layout design profiles: ${duplicates.join(", ")}`);
|
|
12396
12670
|
}
|
|
12397
12671
|
//#endregion
|
|
12398
|
-
//#region ../theme-core/src/tokens/tokens.ts
|
|
12399
|
-
const defaultThemeTokens = {
|
|
12400
|
-
color: {
|
|
12401
|
-
"background/base": "#ffffff",
|
|
12402
|
-
"background/elevated": "#f5f5f5",
|
|
12403
|
-
"surface/base": "#ffffff",
|
|
12404
|
-
"surface/subtle": "#f9f9fb",
|
|
12405
|
-
"surface/inverted": "#111111",
|
|
12406
|
-
"content/primary": "#111111",
|
|
12407
|
-
"content/secondary": "#3f3f46",
|
|
12408
|
-
"accent/primary": "#2563eb",
|
|
12409
|
-
"accent/secondary": "#1d4ed8",
|
|
12410
|
-
"border/base": "#e5e7eb"
|
|
12411
|
-
},
|
|
12412
|
-
typography: {
|
|
12413
|
-
"display/hero": {
|
|
12414
|
-
fontSize: "clamp(48px, 8vw, 96px)",
|
|
12415
|
-
lineHeight: "1.05",
|
|
12416
|
-
fontWeight: "700"
|
|
12417
|
-
},
|
|
12418
|
-
"display/section": {
|
|
12419
|
-
fontSize: "clamp(40px, 6vw, 72px)",
|
|
12420
|
-
lineHeight: "1.1",
|
|
12421
|
-
fontWeight: "700"
|
|
12422
|
-
},
|
|
12423
|
-
"heading/large": {
|
|
12424
|
-
fontSize: "clamp(32px, 4vw, 48px)",
|
|
12425
|
-
lineHeight: "1.2",
|
|
12426
|
-
fontWeight: "600"
|
|
12427
|
-
},
|
|
12428
|
-
"heading/medium": {
|
|
12429
|
-
fontSize: "clamp(24px, 3vw, 32px)",
|
|
12430
|
-
lineHeight: "1.25",
|
|
12431
|
-
fontWeight: "600"
|
|
12432
|
-
},
|
|
12433
|
-
"heading/small": {
|
|
12434
|
-
fontSize: "20px",
|
|
12435
|
-
lineHeight: "1.3",
|
|
12436
|
-
fontWeight: "600"
|
|
12437
|
-
},
|
|
12438
|
-
"body/normal": {
|
|
12439
|
-
fontSize: "16px",
|
|
12440
|
-
lineHeight: "1.6",
|
|
12441
|
-
fontWeight: "400"
|
|
12442
|
-
},
|
|
12443
|
-
"body/small": {
|
|
12444
|
-
fontSize: "14px",
|
|
12445
|
-
lineHeight: "1.5",
|
|
12446
|
-
fontWeight: "400"
|
|
12447
|
-
},
|
|
12448
|
-
caption: {
|
|
12449
|
-
fontSize: "12px",
|
|
12450
|
-
lineHeight: "1.4",
|
|
12451
|
-
fontWeight: "500"
|
|
12452
|
-
}
|
|
12453
|
-
},
|
|
12454
|
-
spacing: {
|
|
12455
|
-
none: "0px",
|
|
12456
|
-
"3xs": "4px",
|
|
12457
|
-
"2xs": "8px",
|
|
12458
|
-
xs: "12px",
|
|
12459
|
-
sm: "16px",
|
|
12460
|
-
md: "24px",
|
|
12461
|
-
lg: "32px",
|
|
12462
|
-
xl: "40px",
|
|
12463
|
-
"2xl": "56px",
|
|
12464
|
-
"3xl": "72px"
|
|
12465
|
-
},
|
|
12466
|
-
radius: {
|
|
12467
|
-
none: "0px",
|
|
12468
|
-
xs: "2px",
|
|
12469
|
-
sm: "4px",
|
|
12470
|
-
md: "8px",
|
|
12471
|
-
lg: "12px",
|
|
12472
|
-
pill: "999px",
|
|
12473
|
-
full: "9999px"
|
|
12474
|
-
},
|
|
12475
|
-
shadow: {
|
|
12476
|
-
none: "none",
|
|
12477
|
-
soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
|
|
12478
|
-
medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
|
|
12479
|
-
strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
|
|
12480
|
-
},
|
|
12481
|
-
palette: {
|
|
12482
|
-
surface: "#ffffff",
|
|
12483
|
-
"neutral-50": "#f9fafb",
|
|
12484
|
-
"neutral-900": "#111827",
|
|
12485
|
-
primary: "#2563eb",
|
|
12486
|
-
"primary-50": "#eff6ff",
|
|
12487
|
-
"primary-500": "#2563eb",
|
|
12488
|
-
"primary-900": "#1d4ed8",
|
|
12489
|
-
secondary: "#9333ea",
|
|
12490
|
-
"secondary-50": "#f3e8ff",
|
|
12491
|
-
"secondary-500": "#9333ea",
|
|
12492
|
-
"secondary-900": "#4c1d95",
|
|
12493
|
-
accent: "#f97316",
|
|
12494
|
-
"accent-50": "#fff7ed",
|
|
12495
|
-
"accent-500": "#f97316",
|
|
12496
|
-
"accent-900": "#7c2d12"
|
|
12497
|
-
}
|
|
12498
|
-
};
|
|
12499
|
-
//#endregion
|
|
12500
12672
|
//#region ../theme-core/src/site-styles/backgroundAppearance.ts
|
|
12501
12673
|
const backgroundAppearanceQuickColorTokenNames = [
|
|
12502
12674
|
"background",
|
|
@@ -28335,6 +28507,44 @@ function toWholeSeriesRegistrationEvents(events) {
|
|
|
28335
28507
|
return groupPublicEventsByRun(events).map(toWholeSeriesRegistrationEvent).filter((event) => event !== null);
|
|
28336
28508
|
}
|
|
28337
28509
|
//#endregion
|
|
28510
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.ts
|
|
28511
|
+
const { limit: _rawLimit, eventSurface: _rawEventSurface, scheduleScope: _rawScheduleScope, detailLevel: _rawDetailLevel, ...stringEventQueryShape } = publicEventLoaderQuerySchemaShape;
|
|
28512
|
+
const eventRecoveryRequestSchema = z.object({
|
|
28513
|
+
...stringEventQueryShape,
|
|
28514
|
+
limit: z.coerce.number().int().positive().optional(),
|
|
28515
|
+
eventSurface: z.enum(eventSurfaceScopeValues).optional(),
|
|
28516
|
+
scheduleScope: z.enum(eventScheduleScopeValues).optional(),
|
|
28517
|
+
detailLevel: z.enum(["full", "listing"]).optional(),
|
|
28518
|
+
stage: z.enum(["preview", "published"]).optional()
|
|
28519
|
+
});
|
|
28520
|
+
function resolveEventRegistrationEventSource(input) {
|
|
28521
|
+
if (input.wholeSeriesRunEvents != null) return {
|
|
28522
|
+
kind: "loaded",
|
|
28523
|
+
events: input.wholeSeriesRunEvents
|
|
28524
|
+
};
|
|
28525
|
+
if (input.events != null) return {
|
|
28526
|
+
kind: "loaded",
|
|
28527
|
+
events: input.events
|
|
28528
|
+
};
|
|
28529
|
+
return {
|
|
28530
|
+
kind: "unresolved",
|
|
28531
|
+
request: parseEventLoaderRecoveryRequest(input.failures?.wholeSeriesRunEvents ?? input.failures?.events)
|
|
28532
|
+
};
|
|
28533
|
+
}
|
|
28534
|
+
const eventLoaderFailureSchema = z.object({
|
|
28535
|
+
endpoint: z.literal("listPublicEvents"),
|
|
28536
|
+
params: eventRecoveryRequestSchema.extend({ siteId: z.string().optional() })
|
|
28537
|
+
});
|
|
28538
|
+
function parseEventLoaderRecoveryRequest(value) {
|
|
28539
|
+
const parsed = eventLoaderFailureSchema.safeParse(value);
|
|
28540
|
+
if (!parsed.success) return null;
|
|
28541
|
+
const { siteId: _siteId, stage, ...params } = parsed.data.params;
|
|
28542
|
+
return {
|
|
28543
|
+
...params,
|
|
28544
|
+
stage: stage ?? "published"
|
|
28545
|
+
};
|
|
28546
|
+
}
|
|
28547
|
+
//#endregion
|
|
28338
28548
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28339
28549
|
const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = [
|
|
28340
28550
|
"Date",
|
|
@@ -28352,8 +28562,6 @@ const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrati
|
|
|
28352
28562
|
const eventRegistrationHydrationSchemaShape = {
|
|
28353
28563
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28354
28564
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
28355
|
-
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28356
|
-
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28357
28565
|
maxTickets: z.string().optional(),
|
|
28358
28566
|
showVenue: z.boolean().optional(),
|
|
28359
28567
|
showCapacity: z.boolean().optional(),
|
|
@@ -28365,12 +28573,22 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
28365
28573
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28366
28574
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28367
28575
|
};
|
|
28576
|
+
const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
28577
|
+
kind: z.literal("loaded"),
|
|
28578
|
+
events: z.array(eventRegistrationPublicEventSchema)
|
|
28579
|
+
}), z.object({
|
|
28580
|
+
kind: z.literal("unresolved"),
|
|
28581
|
+
request: eventRecoveryRequestSchema.nullable()
|
|
28582
|
+
})]);
|
|
28368
28583
|
const eventRegistrationSourceSchema = z.object({
|
|
28369
28584
|
siteId: z.string().optional(),
|
|
28370
28585
|
apiBaseUrl: z.string().optional(),
|
|
28371
28586
|
portalToken: z.string().nullable().optional(),
|
|
28372
28587
|
previewToken: z.string().nullable().optional(),
|
|
28373
28588
|
...eventRegistrationHydrationSchemaShape,
|
|
28589
|
+
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28590
|
+
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28591
|
+
eventLoaderFailures: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
28374
28592
|
className: z.string().nullable().optional(),
|
|
28375
28593
|
buttonText: z.string().nullable().optional(),
|
|
28376
28594
|
maxTickets: z.string().nullable().optional(),
|
|
@@ -28391,7 +28609,10 @@ const eventRegistrationDisplaySchema = z.discriminatedUnion("state", [z.object({
|
|
|
28391
28609
|
titleText: z.string(),
|
|
28392
28610
|
bodyText: z.string()
|
|
28393
28611
|
})]);
|
|
28394
|
-
const eventRegistrationHydrationSchema = z.object(
|
|
28612
|
+
const eventRegistrationHydrationSchema = z.object({
|
|
28613
|
+
...eventRegistrationHydrationSchemaShape,
|
|
28614
|
+
eventSource: eventRegistrationEventSourceSchema
|
|
28615
|
+
});
|
|
28395
28616
|
const eventRegistrationRenderSchema = z.object({
|
|
28396
28617
|
display: eventRegistrationDisplaySchema,
|
|
28397
28618
|
hydration: eventRegistrationHydrationSchema
|
|
@@ -28450,16 +28671,12 @@ function buildEventRegistrationShellStepLabels(source, scopedSourceEvents) {
|
|
|
28450
28671
|
function toScopedEventRegistrationEvents(scopedSourceEvents) {
|
|
28451
28672
|
return [...toRegistrationEvents(scopedSourceEvents), ...toWholeSeriesRegistrationEvents(scopedSourceEvents)];
|
|
28452
28673
|
}
|
|
28453
|
-
function scopeEventRegistrationSourceEvents(source) {
|
|
28454
|
-
return resolveEventRegistrationScopedEvents(
|
|
28674
|
+
function scopeEventRegistrationSourceEvents(source, eventSource) {
|
|
28675
|
+
return resolveEventRegistrationScopedEvents(eventSource.kind === "loaded" ? eventSource.events : [], {
|
|
28455
28676
|
occurrenceContext: source.occurrenceContext,
|
|
28456
28677
|
subject: source.subject
|
|
28457
28678
|
});
|
|
28458
28679
|
}
|
|
28459
|
-
function resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents) {
|
|
28460
|
-
if (source.events == null && source.wholeSeriesRunEvents == null) return null;
|
|
28461
|
-
return [...scopedSourceEvents];
|
|
28462
|
-
}
|
|
28463
28680
|
/**
|
|
28464
28681
|
* The one run this surface is registering for, when the scoped events describe
|
|
28465
28682
|
* exactly one. More than one run means the visitor still has to choose.
|
|
@@ -28499,14 +28716,21 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28499
28716
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
28500
28717
|
},
|
|
28501
28718
|
buildRender: (source) => {
|
|
28502
|
-
const
|
|
28503
|
-
|
|
28719
|
+
const eventSource = resolveEventRegistrationEventSource({
|
|
28720
|
+
events: source.events,
|
|
28721
|
+
wholeSeriesRunEvents: source.wholeSeriesRunEvents,
|
|
28722
|
+
failures: source.eventLoaderFailures
|
|
28723
|
+
});
|
|
28724
|
+
const scopedSourceEvents = scopeEventRegistrationSourceEvents(source, eventSource);
|
|
28504
28725
|
return {
|
|
28505
28726
|
display: buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents),
|
|
28506
28727
|
hydration: {
|
|
28507
28728
|
occurrenceContext: source.occurrenceContext ?? null,
|
|
28508
28729
|
subject: source.subject ?? null,
|
|
28509
|
-
|
|
28730
|
+
eventSource: eventSource.kind === "loaded" ? {
|
|
28731
|
+
...eventSource,
|
|
28732
|
+
events: [...scopedSourceEvents]
|
|
28733
|
+
} : eventSource,
|
|
28510
28734
|
maxTickets: source.maxTickets ?? void 0,
|
|
28511
28735
|
showVenue: source.showVenue,
|
|
28512
28736
|
showCapacity: source.showCapacity,
|
|
@@ -28682,6 +28906,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
28682
28906
|
} },
|
|
28683
28907
|
events: { $bind: { from: "data.events" } },
|
|
28684
28908
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
28909
|
+
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
28685
28910
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
28686
28911
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
28687
28912
|
stage: { $bind: {
|
|
@@ -35237,6 +35462,15 @@ const newsletterFieldSchema = z.object({
|
|
|
35237
35462
|
placeholder: z.string().optional()
|
|
35238
35463
|
});
|
|
35239
35464
|
const mailingListSignupBlockIdSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignupBlockId);
|
|
35465
|
+
const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
|
|
35466
|
+
const parsed = parseMailingListContentVersionId(value);
|
|
35467
|
+
if (parsed) return parsed;
|
|
35468
|
+
ctx.addIssue({
|
|
35469
|
+
code: z.ZodIssueCode.custom,
|
|
35470
|
+
message: "Invalid mailing-list content version ID"
|
|
35471
|
+
});
|
|
35472
|
+
return z.NEVER;
|
|
35473
|
+
});
|
|
35240
35474
|
const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
35241
35475
|
const newsletterSourceCommonSchema = z.object({
|
|
35242
35476
|
siteId: z.string().optional(),
|
|
@@ -35250,7 +35484,8 @@ const newsletterSourceCommonSchema = z.object({
|
|
|
35250
35484
|
const newsletterSourceSchema = z.discriminatedUnion("source", [
|
|
35251
35485
|
newsletterSourceCommonSchema.extend({
|
|
35252
35486
|
source: z.literal("block"),
|
|
35253
|
-
blockId: z.string().nullable().optional()
|
|
35487
|
+
blockId: z.string().nullable().optional(),
|
|
35488
|
+
contentVersionId: z.string().nullable().optional()
|
|
35254
35489
|
}),
|
|
35255
35490
|
newsletterSourceCommonSchema.extend({
|
|
35256
35491
|
source: z.literal("signed-footer"),
|
|
@@ -35266,6 +35501,7 @@ const newsletterDisplaySchema = z.object({
|
|
|
35266
35501
|
availability: z.enum(["ready", "unavailable"]),
|
|
35267
35502
|
className: z.string().nullable(),
|
|
35268
35503
|
buttonLabel: z.string(),
|
|
35504
|
+
successMessage: z.string(),
|
|
35269
35505
|
buttonVariant: newsletterButtonVariantSchema,
|
|
35270
35506
|
privacyNote: z.string().nullable(),
|
|
35271
35507
|
fields: z.array(newsletterFieldSchema),
|
|
@@ -35280,7 +35516,8 @@ const newsletterHydrationSchema = z.object({
|
|
|
35280
35516
|
tag: z.literal("block-source"),
|
|
35281
35517
|
sourceRef: z.object({
|
|
35282
35518
|
tag: z.literal("block_ref"),
|
|
35283
|
-
blockId: mailingListSignupBlockIdSchema
|
|
35519
|
+
blockId: mailingListSignupBlockIdSchema,
|
|
35520
|
+
contentVersionId: mailingListContentVersionIdSchema
|
|
35284
35521
|
}).nullable()
|
|
35285
35522
|
}),
|
|
35286
35523
|
z.object({
|
|
@@ -35319,6 +35556,7 @@ function buildNewsletterDisplay(source) {
|
|
|
35319
35556
|
fields: { preset: "emailOnly" },
|
|
35320
35557
|
includeOptionalPhone: false,
|
|
35321
35558
|
buttonLabel: "Subscribe",
|
|
35559
|
+
successMessage: DEFAULT_MAILING_LIST_SUCCESS_MESSAGE,
|
|
35322
35560
|
privacyNote: null
|
|
35323
35561
|
};
|
|
35324
35562
|
const targeting = source.targeting ?? { mode: "default" };
|
|
@@ -35328,6 +35566,7 @@ function buildNewsletterDisplay(source) {
|
|
|
35328
35566
|
availability: runtimeTargetingIsAvailable(context, targeting, choices) ? "ready" : "unavailable",
|
|
35329
35567
|
className: source.className ?? null,
|
|
35330
35568
|
buttonLabel: form.buttonLabel,
|
|
35569
|
+
successMessage: form.successMessage,
|
|
35331
35570
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
35332
35571
|
privacyNote: form.privacyNote,
|
|
35333
35572
|
fields: getGlobalFormFields(form),
|
|
@@ -35358,7 +35597,7 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
35358
35597
|
function projectNewsletterFormHydrationTarget(source) {
|
|
35359
35598
|
switch (source.source) {
|
|
35360
35599
|
case "block": {
|
|
35361
|
-
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId);
|
|
35600
|
+
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
|
|
35362
35601
|
if (sourceRef?.tag === "block_ref") return {
|
|
35363
35602
|
tag: "block-source",
|
|
35364
35603
|
sourceRef
|
|
@@ -37898,8 +38137,12 @@ function shouldSkipResolvedLoader(input) {
|
|
|
37898
38137
|
* ```
|
|
37899
38138
|
*/
|
|
37900
38139
|
async function prefetchBlockData$1(page, context, options) {
|
|
38140
|
+
return (await prefetchBlockDataWithFailures(page, context, options)).resolvedData;
|
|
38141
|
+
}
|
|
38142
|
+
async function prefetchBlockDataWithFailures(page, context, options) {
|
|
37901
38143
|
const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings } = options;
|
|
37902
38144
|
const results = {};
|
|
38145
|
+
const loaderFailures = {};
|
|
37903
38146
|
const tasks = [];
|
|
37904
38147
|
for (const block of page.blocks) {
|
|
37905
38148
|
const blockId = block.id;
|
|
@@ -37947,6 +38190,11 @@ async function prefetchBlockData$1(page, context, options) {
|
|
|
37947
38190
|
const blockResults = results[blockId] ?? (results[blockId] = {});
|
|
37948
38191
|
blockResults[key] = data;
|
|
37949
38192
|
} catch (error) {
|
|
38193
|
+
const blockFailures = loaderFailures[blockId] ?? (loaderFailures[blockId] = {});
|
|
38194
|
+
blockFailures[key] = {
|
|
38195
|
+
endpoint,
|
|
38196
|
+
params
|
|
38197
|
+
};
|
|
37950
38198
|
if (onError) onError(error, {
|
|
37951
38199
|
block: block.kind,
|
|
37952
38200
|
loader: key
|
|
@@ -37956,7 +38204,10 @@ async function prefetchBlockData$1(page, context, options) {
|
|
|
37956
38204
|
}
|
|
37957
38205
|
}
|
|
37958
38206
|
if (tasks.length > 0) await Promise.all(tasks);
|
|
37959
|
-
return
|
|
38207
|
+
return {
|
|
38208
|
+
resolvedData: results,
|
|
38209
|
+
loaderFailures
|
|
38210
|
+
};
|
|
37960
38211
|
}
|
|
37961
38212
|
//#endregion
|
|
37962
38213
|
//#region ../blocks/src/system/data/loaderEndpoints.ts
|
|
@@ -38306,7 +38557,17 @@ const riverbankSiteConfigInputSchema = z.object({
|
|
|
38306
38557
|
z.object({
|
|
38307
38558
|
config: riverbankSiteConfigInputSchema,
|
|
38308
38559
|
forceContentTypes: z.boolean().optional(),
|
|
38309
|
-
mode: z.enum(["apply", "preview"]).optional()
|
|
38560
|
+
mode: z.enum(["apply", "preview"]).optional(),
|
|
38561
|
+
expectedMailingListProviderScope: z.unknown().transform((value, ctx) => {
|
|
38562
|
+
if (value === void 0) return void 0;
|
|
38563
|
+
const parsed = parseMailingListProviderScope(value);
|
|
38564
|
+
if (parsed.ok) return parsed.value;
|
|
38565
|
+
ctx.addIssue({
|
|
38566
|
+
code: "custom",
|
|
38567
|
+
message: "Invalid mailing-list provider scope"
|
|
38568
|
+
});
|
|
38569
|
+
return z.NEVER;
|
|
38570
|
+
}).optional()
|
|
38310
38571
|
}).strict();
|
|
38311
38572
|
//#endregion
|
|
38312
38573
|
//#region ../api/src/sdkThemeWire.ts
|