@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
|
@@ -1314,10 +1314,12 @@ const unsafeAsApiKeyId = (id) => id;
|
|
|
1314
1314
|
const unsafeAsEventOfferingId = (id) => id;
|
|
1315
1315
|
const unsafeAsEventSeriesId = (id) => id;
|
|
1316
1316
|
const unsafeAsUserId = (id) => id;
|
|
1317
|
+
const unsafeAsContentVersionId = (id) => id;
|
|
1317
1318
|
const parseSiteId = (value) => parseUuidBrand(value, unsafeAsSiteId);
|
|
1318
1319
|
const parseApiKeyId = (value) => parseUuidBrand(value, unsafeAsApiKeyId);
|
|
1319
1320
|
const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
1320
1321
|
const parseUserId = (value) => parseUuidBrand(value, unsafeAsUserId);
|
|
1322
|
+
const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
|
|
1321
1323
|
const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
1322
1324
|
//#endregion
|
|
1323
1325
|
//#region ../core/src/assert-never.ts
|
|
@@ -1551,7 +1553,7 @@ function parseEventPageSurfaceDestinationMode(value) {
|
|
|
1551
1553
|
return value === "cms-managed" || value === "system-managed" ? value : void 0;
|
|
1552
1554
|
}
|
|
1553
1555
|
function parseEventPageSurfaceSubject(value) {
|
|
1554
|
-
if (!isRecord$
|
|
1556
|
+
if (!isRecord$11(value)) return err({ kind: "notObject" });
|
|
1555
1557
|
switch (value.kind) {
|
|
1556
1558
|
case "eventSeries": {
|
|
1557
1559
|
const eventSeriesId = parseEventSeriesId(value.eventSeriesId);
|
|
@@ -1606,7 +1608,7 @@ function parseEventSeriesIdList(values) {
|
|
|
1606
1608
|
}
|
|
1607
1609
|
return ok(parsed);
|
|
1608
1610
|
}
|
|
1609
|
-
function isRecord$
|
|
1611
|
+
function isRecord$11(value) {
|
|
1610
1612
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1611
1613
|
}
|
|
1612
1614
|
//#endregion
|
|
@@ -1790,16 +1792,47 @@ function parsePositiveInteger(value) {
|
|
|
1790
1792
|
function parseNewsletterListId(value) {
|
|
1791
1793
|
return parseTrimmedMatchingString(value, UUID_PATTERN);
|
|
1792
1794
|
}
|
|
1795
|
+
function parseMailchimpAccountId(value) {
|
|
1796
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1797
|
+
}
|
|
1793
1798
|
function parseMailchimpAudienceId(value) {
|
|
1794
1799
|
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1795
1800
|
}
|
|
1796
1801
|
function parseMailchimpInterestId(value) {
|
|
1797
1802
|
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1798
1803
|
}
|
|
1804
|
+
function parseBrevoAccountId(value) {
|
|
1805
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1806
|
+
}
|
|
1799
1807
|
function parseBrevoListId(value) {
|
|
1800
1808
|
return parsePositiveInteger(value);
|
|
1801
1809
|
}
|
|
1802
1810
|
//#endregion
|
|
1811
|
+
//#region ../core/src/mailing-list-setup.ts
|
|
1812
|
+
function isRecord$10(value) {
|
|
1813
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1814
|
+
}
|
|
1815
|
+
const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
|
|
1816
|
+
function parseMailingListProviderScope(value) {
|
|
1817
|
+
if (!isRecord$10(value)) return err("invalid_mailing_list_provider_scope");
|
|
1818
|
+
if (value.provider === "native") return ok({ provider: "native" });
|
|
1819
|
+
if (value.provider === "brevo") {
|
|
1820
|
+
const accountId = parseBrevoAccountId(value.accountId);
|
|
1821
|
+
return accountId !== null ? ok({
|
|
1822
|
+
provider: "brevo",
|
|
1823
|
+
accountId
|
|
1824
|
+
}) : err("invalid_mailing_list_provider_scope");
|
|
1825
|
+
}
|
|
1826
|
+
if (value.provider === "mailchimp") {
|
|
1827
|
+
const accountId = parseMailchimpAccountId(value.accountId);
|
|
1828
|
+
return accountId !== null ? ok({
|
|
1829
|
+
provider: "mailchimp",
|
|
1830
|
+
accountId
|
|
1831
|
+
}) : err("invalid_mailing_list_provider_scope");
|
|
1832
|
+
}
|
|
1833
|
+
return err("invalid_mailing_list_provider_scope");
|
|
1834
|
+
}
|
|
1835
|
+
//#endregion
|
|
1803
1836
|
//#region ../core/src/mailing-list-setup-parser.ts
|
|
1804
1837
|
function parseMailingListGlobalForm(value) {
|
|
1805
1838
|
if (!isRecord$9(value)) return formError("shape");
|
|
@@ -1808,12 +1841,15 @@ function parseMailingListGlobalForm(value) {
|
|
|
1808
1841
|
if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
|
|
1809
1842
|
const buttonLabel = parseRequiredString(value.buttonLabel);
|
|
1810
1843
|
if (buttonLabel === null) return formError("buttonLabel");
|
|
1844
|
+
const successMessage = parseRequiredString(value.successMessage);
|
|
1845
|
+
if (successMessage === null) return formError("successMessage");
|
|
1811
1846
|
const privacyNote = parseOptionalString(value.privacyNote);
|
|
1812
1847
|
if (privacyNote === void 0) return formError("privacyNote");
|
|
1813
1848
|
return ok({
|
|
1814
1849
|
fields,
|
|
1815
1850
|
includeOptionalPhone: value.includeOptionalPhone,
|
|
1816
1851
|
buttonLabel,
|
|
1852
|
+
successMessage,
|
|
1817
1853
|
privacyNote
|
|
1818
1854
|
});
|
|
1819
1855
|
}
|
|
@@ -2143,11 +2179,17 @@ function parseMailingListSignedSourceToken(value) {
|
|
|
2143
2179
|
const parsed = typeof value === "string" ? value.trim() : "";
|
|
2144
2180
|
return /^[A-Za-z0-9._~-]{16,1000}$/u.test(parsed) ? parsed : null;
|
|
2145
2181
|
}
|
|
2146
|
-
function
|
|
2147
|
-
const parsed =
|
|
2148
|
-
return parsed
|
|
2182
|
+
function parseMailingListContentVersionId(value) {
|
|
2183
|
+
const parsed = parseContentVersionId(value);
|
|
2184
|
+
return parsed.ok ? parsed.value : null;
|
|
2185
|
+
}
|
|
2186
|
+
function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
|
|
2187
|
+
const parsedBlockId = parseMailingListBlockId(blockId);
|
|
2188
|
+
const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
|
|
2189
|
+
return parsedBlockId !== null && parsedContentVersionId !== null ? {
|
|
2149
2190
|
tag: "block_ref",
|
|
2150
|
-
blockId:
|
|
2191
|
+
blockId: parsedBlockId,
|
|
2192
|
+
contentVersionId: parsedContentVersionId
|
|
2151
2193
|
} : null;
|
|
2152
2194
|
}
|
|
2153
2195
|
//#endregion
|
|
@@ -2652,6 +2694,14 @@ const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS = defineEndpointDefinitio
|
|
|
2652
2694
|
auth: "public",
|
|
2653
2695
|
responseKind: "json"
|
|
2654
2696
|
},
|
|
2697
|
+
getPublicBookingServiceBySlug: {
|
|
2698
|
+
path: "/public/bookings/services/by-slug/{slug}",
|
|
2699
|
+
method: "GET",
|
|
2700
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingService"),
|
|
2701
|
+
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
2702
|
+
auth: "public",
|
|
2703
|
+
responseKind: "json"
|
|
2704
|
+
},
|
|
2655
2705
|
getPublicBookingResourcesReference: {
|
|
2656
2706
|
path: "/public/bookings/resources/reference",
|
|
2657
2707
|
method: "GET",
|
|
@@ -3204,16 +3254,110 @@ const PUBLIC_READ_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
3204
3254
|
responseKind: "json"
|
|
3205
3255
|
}
|
|
3206
3256
|
});
|
|
3257
|
+
//#endregion
|
|
3258
|
+
//#region ../api/src/publicOnboardingAttemptEndpointDefinitions.ts
|
|
3259
|
+
/**
|
|
3260
|
+
* The anonymous onboarding attempt, addressed by its opaque resume token.
|
|
3261
|
+
*
|
|
3262
|
+
* Every route here is reached before there is an account, so none of them can
|
|
3263
|
+
* be scoped to a site or a user: the token is the whole credential. They are
|
|
3264
|
+
* kept together so that stays obvious.
|
|
3265
|
+
*/
|
|
3266
|
+
const PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
3267
|
+
createPublicOnboardingAttempt: {
|
|
3268
|
+
path: "/public/onboarding/attempts",
|
|
3269
|
+
method: "POST",
|
|
3270
|
+
auth: "public",
|
|
3271
|
+
errors: [],
|
|
3272
|
+
responseKind: "json"
|
|
3273
|
+
},
|
|
3274
|
+
createPublicOnboardingLogoUploadUrl: {
|
|
3275
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url",
|
|
3276
|
+
method: "POST",
|
|
3277
|
+
auth: "public",
|
|
3278
|
+
errors: [],
|
|
3279
|
+
responseKind: "json"
|
|
3280
|
+
},
|
|
3281
|
+
uploadPublicOnboardingLogo: {
|
|
3282
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo",
|
|
3283
|
+
method: "POST",
|
|
3284
|
+
auth: "public",
|
|
3285
|
+
errors: [],
|
|
3286
|
+
responseKind: "json"
|
|
3287
|
+
},
|
|
3288
|
+
getPublicOnboardingAttempt: {
|
|
3289
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
3290
|
+
method: "GET",
|
|
3291
|
+
auth: "public",
|
|
3292
|
+
errors: [],
|
|
3293
|
+
responseKind: "json"
|
|
3294
|
+
},
|
|
3295
|
+
getPublicOnboardingAttemptProgress: {
|
|
3296
|
+
path: "/public/onboarding/attempts/{attemptToken}/status",
|
|
3297
|
+
method: "GET",
|
|
3298
|
+
auth: "public",
|
|
3299
|
+
errors: [],
|
|
3300
|
+
responseKind: "json"
|
|
3301
|
+
},
|
|
3302
|
+
updatePublicOnboardingAttempt: {
|
|
3303
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
3304
|
+
method: "PATCH",
|
|
3305
|
+
auth: "public",
|
|
3306
|
+
errors: [],
|
|
3307
|
+
responseKind: "json"
|
|
3308
|
+
},
|
|
3309
|
+
runPublicOnboardingAttempt: {
|
|
3310
|
+
path: "/public/onboarding/attempts/{attemptToken}/run",
|
|
3311
|
+
method: "POST",
|
|
3312
|
+
auth: "public",
|
|
3313
|
+
errors: [],
|
|
3314
|
+
responseKind: "json"
|
|
3315
|
+
},
|
|
3316
|
+
resendPublicOnboardingAttemptConfirmation: {
|
|
3317
|
+
path: "/public/onboarding/attempts/{attemptToken}/resend-confirmation",
|
|
3318
|
+
method: "POST",
|
|
3319
|
+
auth: "public",
|
|
3320
|
+
errors: [],
|
|
3321
|
+
responseKind: "json"
|
|
3322
|
+
}
|
|
3323
|
+
});
|
|
3324
|
+
//#endregion
|
|
3325
|
+
//#region ../api/src/billingEndpointDefinitions.ts
|
|
3326
|
+
const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
3327
|
+
adminChangePlan: {
|
|
3328
|
+
path: "/admin/billing/plan",
|
|
3329
|
+
method: "POST",
|
|
3330
|
+
tags: ["admin", "billing"],
|
|
3331
|
+
auth: "admin",
|
|
3332
|
+
responseKind: "json"
|
|
3333
|
+
},
|
|
3334
|
+
changePlan: {
|
|
3335
|
+
path: "/billing/plan/change",
|
|
3336
|
+
method: "POST",
|
|
3337
|
+
tags: ["billing"],
|
|
3338
|
+
auth: "user",
|
|
3339
|
+
responseKind: "json"
|
|
3340
|
+
},
|
|
3341
|
+
createBillingPortalSession: {
|
|
3342
|
+
path: "/billing/portal/session",
|
|
3343
|
+
method: "POST",
|
|
3344
|
+
tags: ["billing"],
|
|
3345
|
+
auth: "user",
|
|
3346
|
+
responseKind: "json"
|
|
3347
|
+
}
|
|
3348
|
+
});
|
|
3207
3349
|
({
|
|
3208
3350
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
3351
|
+
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
3209
3352
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
3210
3353
|
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
3211
|
-
...PUBLIC_READ_ENDPOINT_DEFINITIONS
|
|
3354
|
+
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
3355
|
+
...BILLING_ENDPOINT_DEFINITIONS
|
|
3212
3356
|
}), 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, {
|
|
3213
3357
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
3214
3358
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
3215
3359
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
3216
|
-
}, 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 };
|
|
3360
|
+
}, 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 };
|
|
3217
3361
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
3218
3362
|
z.object({
|
|
3219
3363
|
accessToken: z.string().min(1).max(4096),
|
|
@@ -6379,59 +6523,6 @@ function interpolateHex(startHex, endHex, position) {
|
|
|
6379
6523
|
const channel = (from, to) => Math.round(from + (to - from) * position).toString(16).padStart(2, "0");
|
|
6380
6524
|
return `#${channel(start.r, end.r)}${channel(start.g, end.g)}${channel(start.b, end.b)}`;
|
|
6381
6525
|
}
|
|
6382
|
-
shadeBackgroundEffect({
|
|
6383
|
-
id: "darken-background",
|
|
6384
|
-
name: "Darken on Hover",
|
|
6385
|
-
description: "Darkens the background color on hover",
|
|
6386
|
-
label: "Darken Amount (shade step)",
|
|
6387
|
-
shadeDirection: 1
|
|
6388
|
-
});
|
|
6389
|
-
shadeBackgroundEffect({
|
|
6390
|
-
id: "lighten-background",
|
|
6391
|
-
name: "Lighten on Hover",
|
|
6392
|
-
description: "Lightens the background color on hover",
|
|
6393
|
-
label: "Lighten Amount (shade step)",
|
|
6394
|
-
shadeDirection: -1
|
|
6395
|
-
});
|
|
6396
|
-
function shadeBackgroundEffect(config) {
|
|
6397
|
-
return {
|
|
6398
|
-
id: config.id,
|
|
6399
|
-
name: config.name,
|
|
6400
|
-
description: config.description,
|
|
6401
|
-
category: "background",
|
|
6402
|
-
pseudoElement: "none",
|
|
6403
|
-
applicableTo: ["button"],
|
|
6404
|
-
customizableOption: {
|
|
6405
|
-
name: "amount",
|
|
6406
|
-
type: "select",
|
|
6407
|
-
label: config.label,
|
|
6408
|
-
default: 100,
|
|
6409
|
-
options: [
|
|
6410
|
-
0,
|
|
6411
|
-
100,
|
|
6412
|
-
200,
|
|
6413
|
-
300,
|
|
6414
|
-
400,
|
|
6415
|
-
500,
|
|
6416
|
-
600,
|
|
6417
|
-
700,
|
|
6418
|
-
800,
|
|
6419
|
-
900
|
|
6420
|
-
]
|
|
6421
|
-
},
|
|
6422
|
-
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
6423
|
-
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
6424
|
-
if (buttonConfig.background.type !== "solid") return "";
|
|
6425
|
-
const amount = (options.amount || 100) * config.shadeDirection;
|
|
6426
|
-
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
6427
|
-
return `
|
|
6428
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
6429
|
-
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
6430
|
-
}
|
|
6431
|
-
`;
|
|
6432
|
-
}
|
|
6433
|
-
};
|
|
6434
|
-
}
|
|
6435
6526
|
//#endregion
|
|
6436
6527
|
//#region ../theme-core/src/palette/utils/opaqueSurfaceColor.ts
|
|
6437
6528
|
/** Resolve an opaque colour, compositing alpha against an explicit underlay. */
|
|
@@ -6716,6 +6807,59 @@ function mergeStyles(...styles) {
|
|
|
6716
6807
|
}
|
|
6717
6808
|
return Object.keys(merged).length ? merged : void 0;
|
|
6718
6809
|
}
|
|
6810
|
+
shadeBackgroundEffect({
|
|
6811
|
+
id: "darken-background",
|
|
6812
|
+
name: "Darken on Hover",
|
|
6813
|
+
description: "Darkens the background color on hover",
|
|
6814
|
+
label: "Darken Amount (shade step)",
|
|
6815
|
+
shadeDirection: 1
|
|
6816
|
+
});
|
|
6817
|
+
shadeBackgroundEffect({
|
|
6818
|
+
id: "lighten-background",
|
|
6819
|
+
name: "Lighten on Hover",
|
|
6820
|
+
description: "Lightens the background color on hover",
|
|
6821
|
+
label: "Lighten Amount (shade step)",
|
|
6822
|
+
shadeDirection: -1
|
|
6823
|
+
});
|
|
6824
|
+
function shadeBackgroundEffect(config) {
|
|
6825
|
+
return {
|
|
6826
|
+
id: config.id,
|
|
6827
|
+
name: config.name,
|
|
6828
|
+
description: config.description,
|
|
6829
|
+
category: "background",
|
|
6830
|
+
pseudoElement: "none",
|
|
6831
|
+
applicableTo: ["button"],
|
|
6832
|
+
customizableOption: {
|
|
6833
|
+
name: "amount",
|
|
6834
|
+
type: "select",
|
|
6835
|
+
label: config.label,
|
|
6836
|
+
default: 100,
|
|
6837
|
+
options: [
|
|
6838
|
+
0,
|
|
6839
|
+
100,
|
|
6840
|
+
200,
|
|
6841
|
+
300,
|
|
6842
|
+
400,
|
|
6843
|
+
500,
|
|
6844
|
+
600,
|
|
6845
|
+
700,
|
|
6846
|
+
800,
|
|
6847
|
+
900
|
|
6848
|
+
]
|
|
6849
|
+
},
|
|
6850
|
+
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
6851
|
+
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
6852
|
+
if (buttonConfig.background.type !== "solid") return "";
|
|
6853
|
+
const amount = (options.amount || 100) * config.shadeDirection;
|
|
6854
|
+
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
6855
|
+
return `
|
|
6856
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
6857
|
+
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
6858
|
+
}
|
|
6859
|
+
`;
|
|
6860
|
+
}
|
|
6861
|
+
};
|
|
6862
|
+
}
|
|
6719
6863
|
//#endregion
|
|
6720
6864
|
//#region ../theme-core/src/utils/tokenOrColor.ts
|
|
6721
6865
|
/**
|
|
@@ -10138,8 +10282,14 @@ const headerInteractionPillPaletteValues = [
|
|
|
10138
10282
|
"accent"
|
|
10139
10283
|
];
|
|
10140
10284
|
/**
|
|
10141
|
-
* "No pill":
|
|
10142
|
-
*
|
|
10285
|
+
* "No pill": a colour change on hover rather than a filled background.
|
|
10286
|
+
*
|
|
10287
|
+
* The palette step writes nothing (#1318 Phase 4c decision 2), but on a
|
|
10288
|
+
* foreground-adaptive style that is not the end of the story: the hover colour
|
|
10289
|
+
* is derived from the resolved opening foreground at render time, paired with
|
|
10290
|
+
* the resting colour, so `quiet` resolves to a definite colour rather than to
|
|
10291
|
+
* whatever brand token the recipe happened to name. See
|
|
10292
|
+
* `applyOpeningForeground`.
|
|
10143
10293
|
*
|
|
10144
10294
|
* It exists because "a colour change on hover, no filled background" was not
|
|
10145
10295
|
* expressible in the vocabulary, and it is what
|
|
@@ -27439,6 +27589,28 @@ const bookingRequirementConsentFieldSchema = z.object({
|
|
|
27439
27589
|
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
27440
27590
|
//#endregion
|
|
27441
27591
|
//#region ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
27592
|
+
const publicEventLoaderQuerySchemaShape = {
|
|
27593
|
+
limit: z.string().optional(),
|
|
27594
|
+
from: z.string().optional(),
|
|
27595
|
+
to: z.string().optional(),
|
|
27596
|
+
afterStartsAt: z.string().optional(),
|
|
27597
|
+
afterId: z.string().optional(),
|
|
27598
|
+
categoryIds: z.string().optional(),
|
|
27599
|
+
venueId: z.string().optional(),
|
|
27600
|
+
staffMemberId: z.string().optional(),
|
|
27601
|
+
eventSurface: z.string().optional(),
|
|
27602
|
+
eventPresets: z.string().optional(),
|
|
27603
|
+
scheduleScope: z.string().optional(),
|
|
27604
|
+
seriesId: z.string().optional(),
|
|
27605
|
+
seriesIds: z.string().optional(),
|
|
27606
|
+
runSeriesId: z.string().optional(),
|
|
27607
|
+
seriesSlug: z.string().optional(),
|
|
27608
|
+
includeOccurrenceId: z.string().optional(),
|
|
27609
|
+
readIntent: z.string().optional(),
|
|
27610
|
+
detailLevel: z.string().optional(),
|
|
27611
|
+
readProfile: z.string().optional()
|
|
27612
|
+
};
|
|
27613
|
+
z.object(publicEventLoaderQuerySchemaShape);
|
|
27442
27614
|
const eventPresetSchema = z.enum([
|
|
27443
27615
|
"event",
|
|
27444
27616
|
"class",
|
|
@@ -28241,6 +28413,44 @@ function toWholeSeriesRegistrationEvents(events) {
|
|
|
28241
28413
|
return groupPublicEventsByRun(events).map(toWholeSeriesRegistrationEvent).filter((event) => event !== null);
|
|
28242
28414
|
}
|
|
28243
28415
|
//#endregion
|
|
28416
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.ts
|
|
28417
|
+
const { limit: _rawLimit, eventSurface: _rawEventSurface, scheduleScope: _rawScheduleScope, detailLevel: _rawDetailLevel, ...stringEventQueryShape } = publicEventLoaderQuerySchemaShape;
|
|
28418
|
+
const eventRecoveryRequestSchema = z.object({
|
|
28419
|
+
...stringEventQueryShape,
|
|
28420
|
+
limit: z.coerce.number().int().positive().optional(),
|
|
28421
|
+
eventSurface: z.enum(eventSurfaceScopeValues).optional(),
|
|
28422
|
+
scheduleScope: z.enum(eventScheduleScopeValues).optional(),
|
|
28423
|
+
detailLevel: z.enum(["full", "listing"]).optional(),
|
|
28424
|
+
stage: z.enum(["preview", "published"]).optional()
|
|
28425
|
+
});
|
|
28426
|
+
function resolveEventRegistrationEventSource(input) {
|
|
28427
|
+
if (input.wholeSeriesRunEvents != null) return {
|
|
28428
|
+
kind: "loaded",
|
|
28429
|
+
events: input.wholeSeriesRunEvents
|
|
28430
|
+
};
|
|
28431
|
+
if (input.events != null) return {
|
|
28432
|
+
kind: "loaded",
|
|
28433
|
+
events: input.events
|
|
28434
|
+
};
|
|
28435
|
+
return {
|
|
28436
|
+
kind: "unresolved",
|
|
28437
|
+
request: parseEventLoaderRecoveryRequest(input.failures?.wholeSeriesRunEvents ?? input.failures?.events)
|
|
28438
|
+
};
|
|
28439
|
+
}
|
|
28440
|
+
const eventLoaderFailureSchema = z.object({
|
|
28441
|
+
endpoint: z.literal("listPublicEvents"),
|
|
28442
|
+
params: eventRecoveryRequestSchema.extend({ siteId: z.string().optional() })
|
|
28443
|
+
});
|
|
28444
|
+
function parseEventLoaderRecoveryRequest(value) {
|
|
28445
|
+
const parsed = eventLoaderFailureSchema.safeParse(value);
|
|
28446
|
+
if (!parsed.success) return null;
|
|
28447
|
+
const { siteId: _siteId, stage, ...params } = parsed.data.params;
|
|
28448
|
+
return {
|
|
28449
|
+
...params,
|
|
28450
|
+
stage: stage ?? "published"
|
|
28451
|
+
};
|
|
28452
|
+
}
|
|
28453
|
+
//#endregion
|
|
28244
28454
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
28245
28455
|
const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = [
|
|
28246
28456
|
"Date",
|
|
@@ -28258,8 +28468,6 @@ const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrati
|
|
|
28258
28468
|
const eventRegistrationHydrationSchemaShape = {
|
|
28259
28469
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
28260
28470
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
28261
|
-
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28262
|
-
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28263
28471
|
maxTickets: z.string().optional(),
|
|
28264
28472
|
showVenue: z.boolean().optional(),
|
|
28265
28473
|
showCapacity: z.boolean().optional(),
|
|
@@ -28271,12 +28479,22 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
28271
28479
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
28272
28480
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
28273
28481
|
};
|
|
28482
|
+
const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
28483
|
+
kind: z.literal("loaded"),
|
|
28484
|
+
events: z.array(eventRegistrationPublicEventSchema)
|
|
28485
|
+
}), z.object({
|
|
28486
|
+
kind: z.literal("unresolved"),
|
|
28487
|
+
request: eventRecoveryRequestSchema.nullable()
|
|
28488
|
+
})]);
|
|
28274
28489
|
const eventRegistrationSourceSchema = z.object({
|
|
28275
28490
|
siteId: z.string().optional(),
|
|
28276
28491
|
apiBaseUrl: z.string().optional(),
|
|
28277
28492
|
portalToken: z.string().nullable().optional(),
|
|
28278
28493
|
previewToken: z.string().nullable().optional(),
|
|
28279
28494
|
...eventRegistrationHydrationSchemaShape,
|
|
28495
|
+
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28496
|
+
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
28497
|
+
eventLoaderFailures: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
28280
28498
|
className: z.string().nullable().optional(),
|
|
28281
28499
|
buttonText: z.string().nullable().optional(),
|
|
28282
28500
|
maxTickets: z.string().nullable().optional(),
|
|
@@ -28297,7 +28515,10 @@ const eventRegistrationDisplaySchema = z.discriminatedUnion("state", [z.object({
|
|
|
28297
28515
|
titleText: z.string(),
|
|
28298
28516
|
bodyText: z.string()
|
|
28299
28517
|
})]);
|
|
28300
|
-
const eventRegistrationHydrationSchema = z.object(
|
|
28518
|
+
const eventRegistrationHydrationSchema = z.object({
|
|
28519
|
+
...eventRegistrationHydrationSchemaShape,
|
|
28520
|
+
eventSource: eventRegistrationEventSourceSchema
|
|
28521
|
+
});
|
|
28301
28522
|
const eventRegistrationRenderSchema = z.object({
|
|
28302
28523
|
display: eventRegistrationDisplaySchema,
|
|
28303
28524
|
hydration: eventRegistrationHydrationSchema
|
|
@@ -28356,16 +28577,12 @@ function buildEventRegistrationShellStepLabels(source, scopedSourceEvents) {
|
|
|
28356
28577
|
function toScopedEventRegistrationEvents(scopedSourceEvents) {
|
|
28357
28578
|
return [...toRegistrationEvents(scopedSourceEvents), ...toWholeSeriesRegistrationEvents(scopedSourceEvents)];
|
|
28358
28579
|
}
|
|
28359
|
-
function scopeEventRegistrationSourceEvents(source) {
|
|
28360
|
-
return resolveEventRegistrationScopedEvents(
|
|
28580
|
+
function scopeEventRegistrationSourceEvents(source, eventSource) {
|
|
28581
|
+
return resolveEventRegistrationScopedEvents(eventSource.kind === "loaded" ? eventSource.events : [], {
|
|
28361
28582
|
occurrenceContext: source.occurrenceContext,
|
|
28362
28583
|
subject: source.subject
|
|
28363
28584
|
});
|
|
28364
28585
|
}
|
|
28365
|
-
function resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents) {
|
|
28366
|
-
if (source.events == null && source.wholeSeriesRunEvents == null) return null;
|
|
28367
|
-
return [...scopedSourceEvents];
|
|
28368
|
-
}
|
|
28369
28586
|
/**
|
|
28370
28587
|
* The one run this surface is registering for, when the scoped events describe
|
|
28371
28588
|
* exactly one. More than one run means the visitor still has to choose.
|
|
@@ -28405,14 +28622,21 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
28405
28622
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
28406
28623
|
},
|
|
28407
28624
|
buildRender: (source) => {
|
|
28408
|
-
const
|
|
28409
|
-
|
|
28625
|
+
const eventSource = resolveEventRegistrationEventSource({
|
|
28626
|
+
events: source.events,
|
|
28627
|
+
wholeSeriesRunEvents: source.wholeSeriesRunEvents,
|
|
28628
|
+
failures: source.eventLoaderFailures
|
|
28629
|
+
});
|
|
28630
|
+
const scopedSourceEvents = scopeEventRegistrationSourceEvents(source, eventSource);
|
|
28410
28631
|
return {
|
|
28411
28632
|
display: buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents),
|
|
28412
28633
|
hydration: {
|
|
28413
28634
|
occurrenceContext: source.occurrenceContext ?? null,
|
|
28414
28635
|
subject: source.subject ?? null,
|
|
28415
|
-
|
|
28636
|
+
eventSource: eventSource.kind === "loaded" ? {
|
|
28637
|
+
...eventSource,
|
|
28638
|
+
events: [...scopedSourceEvents]
|
|
28639
|
+
} : eventSource,
|
|
28416
28640
|
maxTickets: source.maxTickets ?? void 0,
|
|
28417
28641
|
showVenue: source.showVenue,
|
|
28418
28642
|
showCapacity: source.showCapacity,
|
|
@@ -28588,6 +28812,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
28588
28812
|
} },
|
|
28589
28813
|
events: { $bind: { from: "data.events" } },
|
|
28590
28814
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
28815
|
+
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
28591
28816
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
28592
28817
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
28593
28818
|
stage: { $bind: {
|
|
@@ -35010,6 +35235,15 @@ const newsletterFieldSchema = z.object({
|
|
|
35010
35235
|
placeholder: z.string().optional()
|
|
35011
35236
|
});
|
|
35012
35237
|
const mailingListSignupBlockIdSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignupBlockId);
|
|
35238
|
+
const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
|
|
35239
|
+
const parsed = parseMailingListContentVersionId(value);
|
|
35240
|
+
if (parsed) return parsed;
|
|
35241
|
+
ctx.addIssue({
|
|
35242
|
+
code: z.ZodIssueCode.custom,
|
|
35243
|
+
message: "Invalid mailing-list content version ID"
|
|
35244
|
+
});
|
|
35245
|
+
return z.NEVER;
|
|
35246
|
+
});
|
|
35013
35247
|
const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
35014
35248
|
const newsletterSourceCommonSchema = z.object({
|
|
35015
35249
|
siteId: z.string().optional(),
|
|
@@ -35023,7 +35257,8 @@ const newsletterSourceCommonSchema = z.object({
|
|
|
35023
35257
|
const newsletterSourceSchema = z.discriminatedUnion("source", [
|
|
35024
35258
|
newsletterSourceCommonSchema.extend({
|
|
35025
35259
|
source: z.literal("block"),
|
|
35026
|
-
blockId: z.string().nullable().optional()
|
|
35260
|
+
blockId: z.string().nullable().optional(),
|
|
35261
|
+
contentVersionId: z.string().nullable().optional()
|
|
35027
35262
|
}),
|
|
35028
35263
|
newsletterSourceCommonSchema.extend({
|
|
35029
35264
|
source: z.literal("signed-footer"),
|
|
@@ -35039,6 +35274,7 @@ const newsletterDisplaySchema = z.object({
|
|
|
35039
35274
|
availability: z.enum(["ready", "unavailable"]),
|
|
35040
35275
|
className: z.string().nullable(),
|
|
35041
35276
|
buttonLabel: z.string(),
|
|
35277
|
+
successMessage: z.string(),
|
|
35042
35278
|
buttonVariant: newsletterButtonVariantSchema,
|
|
35043
35279
|
privacyNote: z.string().nullable(),
|
|
35044
35280
|
fields: z.array(newsletterFieldSchema),
|
|
@@ -35053,7 +35289,8 @@ const newsletterHydrationSchema = z.object({
|
|
|
35053
35289
|
tag: z.literal("block-source"),
|
|
35054
35290
|
sourceRef: z.object({
|
|
35055
35291
|
tag: z.literal("block_ref"),
|
|
35056
|
-
blockId: mailingListSignupBlockIdSchema
|
|
35292
|
+
blockId: mailingListSignupBlockIdSchema,
|
|
35293
|
+
contentVersionId: mailingListContentVersionIdSchema
|
|
35057
35294
|
}).nullable()
|
|
35058
35295
|
}),
|
|
35059
35296
|
z.object({
|
|
@@ -35092,6 +35329,7 @@ function buildNewsletterDisplay(source) {
|
|
|
35092
35329
|
fields: { preset: "emailOnly" },
|
|
35093
35330
|
includeOptionalPhone: false,
|
|
35094
35331
|
buttonLabel: "Subscribe",
|
|
35332
|
+
successMessage: DEFAULT_MAILING_LIST_SUCCESS_MESSAGE,
|
|
35095
35333
|
privacyNote: null
|
|
35096
35334
|
};
|
|
35097
35335
|
const targeting = source.targeting ?? { mode: "default" };
|
|
@@ -35101,6 +35339,7 @@ function buildNewsletterDisplay(source) {
|
|
|
35101
35339
|
availability: runtimeTargetingIsAvailable(context, targeting, choices) ? "ready" : "unavailable",
|
|
35102
35340
|
className: source.className ?? null,
|
|
35103
35341
|
buttonLabel: form.buttonLabel,
|
|
35342
|
+
successMessage: form.successMessage,
|
|
35104
35343
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
35105
35344
|
privacyNote: form.privacyNote,
|
|
35106
35345
|
fields: getGlobalFormFields(form),
|
|
@@ -35131,7 +35370,7 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
35131
35370
|
function projectNewsletterFormHydrationTarget(source) {
|
|
35132
35371
|
switch (source.source) {
|
|
35133
35372
|
case "block": {
|
|
35134
|
-
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId);
|
|
35373
|
+
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
|
|
35135
35374
|
if (sourceRef?.tag === "block_ref") return {
|
|
35136
35375
|
tag: "block-source",
|
|
35137
35376
|
sourceRef
|
|
@@ -37622,7 +37861,17 @@ const riverbankSiteConfigInputSchema = z.object({
|
|
|
37622
37861
|
z.object({
|
|
37623
37862
|
config: riverbankSiteConfigInputSchema,
|
|
37624
37863
|
forceContentTypes: z.boolean().optional(),
|
|
37625
|
-
mode: z.enum(["apply", "preview"]).optional()
|
|
37864
|
+
mode: z.enum(["apply", "preview"]).optional(),
|
|
37865
|
+
expectedMailingListProviderScope: z.unknown().transform((value, ctx) => {
|
|
37866
|
+
if (value === void 0) return void 0;
|
|
37867
|
+
const parsed = parseMailingListProviderScope(value);
|
|
37868
|
+
if (parsed.ok) return parsed.value;
|
|
37869
|
+
ctx.addIssue({
|
|
37870
|
+
code: "custom",
|
|
37871
|
+
message: "Invalid mailing-list provider scope"
|
|
37872
|
+
});
|
|
37873
|
+
return z.NEVER;
|
|
37874
|
+
}).optional()
|
|
37626
37875
|
}).strict();
|
|
37627
37876
|
//#endregion
|
|
37628
37877
|
//#region ../api/src/sdkThemeWire.ts
|