@riverbankcms/sdk 0.127.0 → 0.128.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/dist/{PreviewEditorSidebar-BXtfF7tp.mjs → PreviewEditorSidebar-Dbvb7GIr.mjs} +9 -33
- package/dist/{PreviewEditorUI-Dou73Q0K.mjs → PreviewEditorUI-e9O9l20X.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DgFDIwvK.mjs → PreviewQueryProvider-B1kbhaJD.mjs} +1 -1
- package/dist/SdkPreviewModeRuntime-BZHt6e9w.mjs +11006 -0
- package/dist/{SiteChromeCustomizeContext-DZiDBAYu.mjs → SiteChromeCustomizeContext-CvuGbHJX.mjs} +31619 -1483
- package/dist/_dts/ai/src/contracts/proposals.d.ts +288 -36
- package/dist/_dts/api/src/bookingClosures.d.ts +19 -3
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -3
- package/dist/_dts/api/src/bookingRecords.d.ts +0 -13
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/communications.d.ts +2 -1
- package/dist/_dts/api/src/contactFormSummary.d.ts +15 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -5
- package/dist/_dts/api/src/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/footerSettings.d.ts +11 -0
- package/dist/_dts/api/src/index.d.ts +2 -1
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +48 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +5 -3
- package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +7 -5
- package/dist/_dts/api/src/siteOperations.d.ts +12 -3
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -2
- package/dist/_dts/blocks/src/client/form.d.ts +1 -0
- package/dist/_dts/blocks/src/client/newsletter-form.d.ts +1 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -8
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +41 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +14 -23
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +109 -23
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +42 -108
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -54
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +26 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +29 -78
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +27 -8
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +21 -0
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +3 -1
- package/dist/_dts/content-editor/src/FooterEngagementEditorFields.d.ts +31 -0
- package/dist/_dts/content-editor/src/FooterEngagementEditorPanel.d.ts +17 -0
- package/dist/_dts/content-editor/src/footerComposer.d.ts +3 -0
- package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +57 -0
- package/dist/_dts/content-editor/src/footerEngagementEditor.d.ts +11 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +13 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +35 -0
- package/dist/_dts/core/src/footer-arrangement.d.ts +2 -0
- package/dist/_dts/core/src/footer-composition-types.d.ts +118 -0
- package/dist/_dts/core/src/footer-composition.d.ts +7 -116
- package/dist/_dts/core/src/footer-engagement.d.ts +30 -0
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/newsletter-signup-destination.d.ts +38 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +59 -6
- package/dist/_dts/db/src/index.d.ts +1 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +72 -2
- package/dist/_dts/db/src/schemas/standard-contact.d.ts +114 -0
- package/dist/_dts/preview-next/src/client/blocks/previewBatchLoaderParams.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -4
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -4
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +6 -5
- package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +9 -0
- package/dist/_dts/sdk/src/cli/content/footerFile.d.ts +10 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +3 -5
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +15 -3
- package/dist/_dts/sdk/src/client/combineAbortSignals.d.ts +2 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -15
- package/dist/_dts/sdk/src/client/types.d.ts +10 -2
- package/dist/_dts/sdk/src/client/wholeSeriesReadOperations.d.ts +11 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/event-registration-content.d.ts +16 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -15
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -18
- package/dist/_dts/sdk/src/public-api/teamMemberContracts.d.ts +17 -0
- package/dist/_dts/sdk/src/public-api/wholeSeriesContracts.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +7 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +5 -3
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +8 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commandContract.d.ts +8 -1
- package/dist/_dts/site-commands/src/commands.d.ts +16 -2
- package/dist/_dts/theme-core/src/header/paintTargets.d.ts +10 -4
- package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +2 -3
- package/dist/cli/index.mjs +5302 -4628
- package/dist/client/{courseRegistration-DTEYWL6Z.mjs → CourseRegistrationWizard-xRmA7REV.mjs} +329 -49
- package/dist/client/{DiscountCodeDisclosure-BDFRp8Y7.mjs → DiscountCodeDisclosure-B9vriL5C.mjs} +1 -1
- package/dist/client/{EventCombined.client-DJgF1_lf.mjs → EventCombined.client-BgVnVTlz.mjs} +2 -2
- package/dist/client/{EventListing.client-CnWGNjOr.mjs → EventListing.client-CqdsO7jO.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BISs9Bl7.mjs → LeafletStaticMap-CKPxot9M.mjs} +1 -1
- package/dist/client/{StepIndicator-D8gVYkK-.mjs → StepIndicator-DGCYuBJ1.mjs} +2 -2
- package/dist/client/{accordion-DFDajgDz.mjs → accordion-BfN5Eqd-.mjs} +1 -1
- package/dist/client/{bookingForm-Bdqj9-52.mjs → bookingForm-DOvCpBFP.mjs} +5 -5
- package/dist/client/{carousel-Cvqf-kN8.mjs → carousel-DPNmiH0f.mjs} +1 -1
- package/dist/client/{cart-CuH2TJXP.mjs → cart--egVXlrR.mjs} +3 -3
- package/dist/client/{checkout-CMNPpejZ.mjs → checkout-DywWtMcq.mjs} +3 -3
- package/dist/client/client.mjs +4912 -4613
- package/dist/client/courseRegistration-Dk9qFVwt.mjs +46 -0
- package/dist/client/{eventCalendar-BW-XoxZ0.mjs → eventCalendar-Bkz2HjlS.mjs} +4 -4
- package/dist/client/{eventCombined-Bpn7s0y9.mjs → eventCombined-D4kipYWg.mjs} +2 -2
- package/dist/client/{eventDetails-D2uUSTMH.mjs → eventDetails-Dz_5ix2Q.mjs} +56 -35
- package/dist/client/{eventListing-CVr1c094.mjs → eventListing-D0vm-zST.mjs} +2 -2
- package/dist/client/{eventRegistration-Dv4AvkMw.mjs → eventRegistration-Cw1E4Q4p.mjs} +58 -6
- package/dist/client/{form-DxdKf9fs.mjs → form-C2Zf1n3K.mjs} +1 -1
- package/dist/client/{headerSection-BaXI5Sro.mjs → headerSection-CP05gzdc.mjs} +2 -2
- package/dist/client/hooks.mjs +212 -61
- package/dist/client/{locationMap-BEtW2fKz.mjs → locationMap-Cl3x9PYJ.mjs} +2 -2
- package/dist/client/{newsletterForm-BKKs0S4R.mjs → newsletterForm-DyEJoClm.mjs} +26 -20
- package/dist/client/{pricing-ClkqcElA.mjs → pricing-DGuNR1W4.mjs} +1 -1
- package/dist/client/{productDetail-H-ru8dyy.mjs → productDetail-Cq-HrGew.mjs} +3 -3
- package/dist/client/{productList-Buyi5c0C.mjs → productList-DbB3jwqd.mjs} +3 -3
- package/dist/client/{propsDecoder-BF7i6Ijg.mjs → propsDecoder-CiTuhUwY.mjs} +130 -87
- package/dist/client/rendering/client.mjs +416 -208
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +5522 -5237
- package/dist/client/{scrollToBlock-D_7t8yWb.mjs → scrollToBlock-CShkRqab.mjs} +1 -1
- package/dist/client/{shop-CF7SZQNX.mjs → shop-Cu4Ib-ZA.mjs} +5 -5
- package/dist/client/{shop-commerce-DA7_Rq5p.mjs → shop-commerce-BzpsOdh7.mjs} +4 -4
- package/dist/client/{shop-commerce-store-BmLqW7Gh.mjs → shop-commerce-store-DaE7Fhj8.mjs} +1 -1
- package/dist/client/{shopShared-WL-E1znM.mjs → shopShared-cF0c20vB.mjs} +2 -2
- package/dist/client/{useEventFilters-rc8VLeLV.mjs → useEventFilters-QZ3HMgaJ.mjs} +2 -2
- package/dist/client/{usePolling-1ncrfd4S.mjs → usePolling-BKf0GcE-.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +1 -1
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +1 -1
- package/dist/{previewAuthStore-Dev9CdG9.mjs → previewAuthStore-BesgU5Xu.mjs} +1 -1
- package/dist/{sdk-runtime-BnrCCFJq.mjs → sdk-runtime-Cn_QSCOg.mjs} +2 -2
- package/dist/{separator-CFvBx2yl.mjs → separator-CEoGABRc.mjs} +1 -1
- package/dist/server/components.mjs +473 -289
- package/dist/server/config-validation.mjs +209 -61
- package/dist/server/config.mjs +209 -61
- package/dist/server/data.mjs +212 -61
- package/dist/server/index.mjs +40 -16
- package/dist/server/next.mjs +513 -307
- package/dist/server/page-converter.mjs +211 -64
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +475 -282
- package/dist/server/rendering.mjs +482 -290
- package/dist/server/routing.mjs +254 -80
- package/dist/server/server.mjs +252 -77
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-B0HPXr-l.mjs +0 -39546
- package/dist/client/MagicLinkForm-b5E_HoG9.mjs +0 -327
package/dist/server/config.mjs
CHANGED
|
@@ -1364,6 +1364,11 @@ const unsafeAsEventSeriesId = (id) => id;
|
|
|
1364
1364
|
const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
1365
1365
|
const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
1366
1366
|
//#endregion
|
|
1367
|
+
//#region ../core/src/assert-never.ts
|
|
1368
|
+
function assertNever$2(value, message = "Unexpected variant") {
|
|
1369
|
+
throw new Error(`${message}: ${String(value)}`);
|
|
1370
|
+
}
|
|
1371
|
+
//#endregion
|
|
1367
1372
|
//#region ../core/src/currency-format.ts
|
|
1368
1373
|
const CURRENCY_LOCALE_BY_CODE = {
|
|
1369
1374
|
USD: "en-US",
|
|
@@ -1669,6 +1674,11 @@ function isTipTapNode(value) {
|
|
|
1669
1674
|
function isCanonicalRichTextDoc(value) {
|
|
1670
1675
|
return isRecord$7(value) && hasOnlyKeys(value, rootKeys) && value.type === "doc" && Array.isArray(value.content) && isDenseArrayOf(value.content, isTipTapNode);
|
|
1671
1676
|
}
|
|
1677
|
+
//#endregion
|
|
1678
|
+
//#region ../core/src/newsletter-signup-destination.ts
|
|
1679
|
+
function parseNewsletterSignupDestinationProvider(value) {
|
|
1680
|
+
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
1681
|
+
}
|
|
1672
1682
|
z$1.object({
|
|
1673
1683
|
formulaVersion: z$1.literal("managed-domain-overage-v1"),
|
|
1674
1684
|
conversionRule: z$1.literal("usd-to-gbp-1-to-1-v1"),
|
|
@@ -19377,6 +19387,7 @@ const newsletterFormFragment = defineFragment({
|
|
|
19377
19387
|
}
|
|
19378
19388
|
],
|
|
19379
19389
|
layout: [el("newsletter-form", withApiBindings({
|
|
19390
|
+
source: "block",
|
|
19380
19391
|
destinationProvider: { $bind: { from: "destinationProvider" } },
|
|
19381
19392
|
listId: { $bind: { from: "listId" } },
|
|
19382
19393
|
preset: { $bind: { from: "preset" } },
|
|
@@ -21496,6 +21507,7 @@ const contactNewsletterLayout = styledSection({
|
|
|
21496
21507
|
as: "h2",
|
|
21497
21508
|
className: "newsletter-copy-title"
|
|
21498
21509
|
}, when("newsletterTitle"), bind("newsletterTitle")), richText({ className: "newsletter-copy-subtitle rb-prose rb-max-w-none" }, when("newsletterSubtitle"), bind("newsletterSubtitle"))]), el("newsletter-form", withApiBindings({
|
|
21510
|
+
source: "block",
|
|
21499
21511
|
listId: { $bind: { from: "listId" } },
|
|
21500
21512
|
preset: { $bind: { from: "preset" } },
|
|
21501
21513
|
includePhone: { $bind: { from: "includePhone" } },
|
|
@@ -23420,6 +23432,22 @@ const footerNavGroupsLayout = stack({
|
|
|
23420
23432
|
}, [text({ as: "span" }, bind("entry.label"))], repeat("group.children", "entry"))])], repeat("footerMenu.groups", "group"))], whenCollectionHasItems("footerMenu.groups"));
|
|
23421
23433
|
//#endregion
|
|
23422
23434
|
//#region ../blocks/src/system/blocks/site-footer.ts
|
|
23435
|
+
const footerStandardContactBindings = {
|
|
23436
|
+
value: { $bind: { from: "module.engagement.runtime.value" } },
|
|
23437
|
+
submitLabel: { $bind: { from: "module.engagement.runtime.submitLabel" } },
|
|
23438
|
+
successMessage: { $bind: { from: "module.engagement.runtime.successMessage" } }
|
|
23439
|
+
};
|
|
23440
|
+
const footerMailingListBindings = {
|
|
23441
|
+
source: { $bind: { from: "module.engagement.runtime.source" } },
|
|
23442
|
+
destinationRef: { $bind: { from: "module.engagement.runtime.destinationRef" } },
|
|
23443
|
+
listId: { $bind: { from: "module.engagement.runtime.listId" } },
|
|
23444
|
+
preset: { $bind: { from: "module.engagement.runtime.preset" } },
|
|
23445
|
+
includePhone: { $bind: { from: "module.engagement.runtime.includePhone" } },
|
|
23446
|
+
buttonLabel: { $bind: { from: "module.engagement.runtime.buttonLabel" } },
|
|
23447
|
+
successMessage: { $bind: { from: "module.engagement.runtime.successMessage" } },
|
|
23448
|
+
privacyNote: { $bind: { from: "module.engagement.runtime.privacyNote" } }
|
|
23449
|
+
};
|
|
23450
|
+
const footerSpamProtectionBinding = { spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } } };
|
|
23423
23451
|
const brandLogo = link({
|
|
23424
23452
|
href: "/",
|
|
23425
23453
|
className: { $bind: {
|
|
@@ -23497,6 +23525,23 @@ const authoredCopy = richText({
|
|
|
23497
23525
|
id: "content.interpolateRichTextTokens",
|
|
23498
23526
|
options: { tokens: ["year", "site_name"] }
|
|
23499
23527
|
}] }));
|
|
23528
|
+
const footerEngagement = stack({
|
|
23529
|
+
gap: "md",
|
|
23530
|
+
className: "rb-w-full"
|
|
23531
|
+
}, [
|
|
23532
|
+
text({
|
|
23533
|
+
as: "p",
|
|
23534
|
+
className: "rb-body rb-opacity-80"
|
|
23535
|
+
}, bind("module.engagement.intro"), when("module.engagement.intro")),
|
|
23536
|
+
form(withApiBindings({
|
|
23537
|
+
...footerStandardContactBindings,
|
|
23538
|
+
...footerSpamProtectionBinding
|
|
23539
|
+
}), [], when("module.engagement.kind", { equals: "standard-contact" })),
|
|
23540
|
+
el("newsletter-form", withApiBindings({
|
|
23541
|
+
...footerMailingListBindings,
|
|
23542
|
+
...footerSpamProtectionBinding
|
|
23543
|
+
}), [], when("module.engagement.kind", { equals: "mailing-list" }))
|
|
23544
|
+
], when("module.kind", { equals: "engagement" }));
|
|
23500
23545
|
const footerGroup = stack({
|
|
23501
23546
|
gap: "md",
|
|
23502
23547
|
align: "stretch",
|
|
@@ -23522,6 +23567,7 @@ const footerGroup = stack({
|
|
|
23522
23567
|
contact,
|
|
23523
23568
|
hours,
|
|
23524
23569
|
socials,
|
|
23570
|
+
footerEngagement,
|
|
23525
23571
|
stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
|
|
23526
23572
|
stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
|
|
23527
23573
|
], repeat("group.modules", "module"))], repeat("region.groups", "group"));
|
|
@@ -23529,6 +23575,10 @@ const footerMainRegion = stack({
|
|
|
23529
23575
|
className: { $bind: { from: "region.className" } },
|
|
23530
23576
|
"data-footer-region": { $bind: { from: "region.kind" } }
|
|
23531
23577
|
}, [footerGroup], when("region.kind", { equals: "main" }), repeat("content.footerRuntime.regions", "region"));
|
|
23578
|
+
const footerEngagementRegion = stack({
|
|
23579
|
+
className: { $bind: { from: "region.className" } },
|
|
23580
|
+
"data-footer-region": "engagement-row"
|
|
23581
|
+
}, [footerGroup], when("region.kind", { equals: "engagement-row" }), repeat("content.footerRuntime.regions", "region"));
|
|
23532
23582
|
const footerBottomRegion = stack({ className: { $bind: {
|
|
23533
23583
|
from: "$root.theme.footer",
|
|
23534
23584
|
transforms: [{ id: "layout.footerBottomBarContainerClass" }],
|
|
@@ -23564,7 +23614,11 @@ const siteFooterBlockDefinition = { manifest: createBlockManifest({
|
|
|
23564
23614
|
fallback: mergeStyles(backgroundColorStyle("surface"), surfaceForegroundStyle({ text: "rgb(var(--tb-text))" }), borderColorStyle("border"))
|
|
23565
23615
|
} },
|
|
23566
23616
|
"data-footer-membership": { $bind: { from: "content.footerRuntime.membershipKey" } }
|
|
23567
|
-
}, [
|
|
23617
|
+
}, [
|
|
23618
|
+
footerEngagementRegion,
|
|
23619
|
+
footerMainRegion,
|
|
23620
|
+
footerBottomRegion
|
|
23621
|
+
]),
|
|
23568
23622
|
description: "Site-wide composed footer with canonical shared details.",
|
|
23569
23623
|
styleTokens: { spacing: "md" },
|
|
23570
23624
|
paletteHidden: true
|
|
@@ -26260,7 +26314,7 @@ const publicMembershipProductCollectionSchema = z$1.object({ memberships: z$1.ar
|
|
|
26260
26314
|
* Kept in a shared module so the block definition and runtime contracts can
|
|
26261
26315
|
* depend on the same schema without creating an initialization cycle.
|
|
26262
26316
|
*/
|
|
26263
|
-
const occurrenceContextSchema
|
|
26317
|
+
const occurrenceContextSchema = z$1.object({
|
|
26264
26318
|
id: z$1.string(),
|
|
26265
26319
|
seriesId: z$1.string(),
|
|
26266
26320
|
startsAt: z$1.string(),
|
|
@@ -26641,28 +26695,37 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
|
|
|
26641
26695
|
"Payment"
|
|
26642
26696
|
];
|
|
26643
26697
|
const eventRegistrationPublicEventSchema = z$1.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
|
|
26644
|
-
const
|
|
26645
|
-
|
|
26646
|
-
apiBaseUrl: z$1.string().optional(),
|
|
26647
|
-
portalToken: z$1.string().nullable().optional(),
|
|
26648
|
-
previewToken: z$1.string().nullable().optional(),
|
|
26649
|
-
occurrenceContext: occurrenceContextSchema$1.optional(),
|
|
26698
|
+
const eventRegistrationHydrationSchemaShape = {
|
|
26699
|
+
occurrenceContext: occurrenceContextSchema.optional(),
|
|
26650
26700
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
26651
26701
|
events: z$1.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
26652
|
-
|
|
26653
|
-
|
|
26654
|
-
maxTickets: z$1.string().
|
|
26702
|
+
wholeSeriesOfferings: publicCoursesArraySchema.nullable().optional(),
|
|
26703
|
+
wholeSeriesOffering: publicCourseSchema.nullable().optional(),
|
|
26704
|
+
maxTickets: z$1.string().optional(),
|
|
26655
26705
|
showVenue: z$1.boolean().optional(),
|
|
26656
26706
|
showCapacity: z$1.boolean().optional(),
|
|
26707
|
+
showSessions: z$1.boolean().optional(),
|
|
26708
|
+
showPrice: z$1.boolean().optional(),
|
|
26657
26709
|
successMessage: z$1.string().optional(),
|
|
26658
26710
|
waitlistMessage: z$1.string().optional(),
|
|
26711
|
+
membershipMessage: z$1.string().optional(),
|
|
26659
26712
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
26660
26713
|
overlayEnabled: z$1.boolean().optional(),
|
|
26661
26714
|
spamProtectionEnabled: z$1.boolean().optional(),
|
|
26662
|
-
stage: previewStageSchema.optional(),
|
|
26663
26715
|
supportEmail: z$1.string().optional(),
|
|
26664
26716
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
26665
26717
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
26718
|
+
};
|
|
26719
|
+
const eventRegistrationSourceSchema = z$1.object({
|
|
26720
|
+
siteId: z$1.string().optional(),
|
|
26721
|
+
apiBaseUrl: z$1.string().optional(),
|
|
26722
|
+
portalToken: z$1.string().nullable().optional(),
|
|
26723
|
+
previewToken: z$1.string().nullable().optional(),
|
|
26724
|
+
...eventRegistrationHydrationSchemaShape,
|
|
26725
|
+
className: z$1.string().nullable().optional(),
|
|
26726
|
+
buttonText: z$1.string().nullable().optional(),
|
|
26727
|
+
maxTickets: z$1.string().nullable().optional(),
|
|
26728
|
+
stage: previewStageSchema.optional()
|
|
26666
26729
|
});
|
|
26667
26730
|
const eventRegistrationDisplaySchema = z$1.object({
|
|
26668
26731
|
kind: z$1.literal("event-registration"),
|
|
@@ -26673,22 +26736,7 @@ const eventRegistrationDisplaySchema = z$1.object({
|
|
|
26673
26736
|
stepLabels: z$1.array(z$1.enum(EVENT_REGISTRATION_SHELL_STEP_LABELS)).min(1),
|
|
26674
26737
|
summaryButtonText: z$1.string()
|
|
26675
26738
|
});
|
|
26676
|
-
const eventRegistrationHydrationSchema = z$1.object(
|
|
26677
|
-
occurrenceContext: occurrenceContextSchema$1.optional(),
|
|
26678
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
26679
|
-
events: z$1.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
26680
|
-
maxTickets: z$1.string().optional(),
|
|
26681
|
-
showVenue: z$1.boolean().optional(),
|
|
26682
|
-
showCapacity: z$1.boolean().optional(),
|
|
26683
|
-
successMessage: z$1.string().optional(),
|
|
26684
|
-
waitlistMessage: z$1.string().optional(),
|
|
26685
|
-
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
26686
|
-
overlayEnabled: z$1.boolean().optional(),
|
|
26687
|
-
spamProtectionEnabled: z$1.boolean().optional(),
|
|
26688
|
-
supportEmail: z$1.string().optional(),
|
|
26689
|
-
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
26690
|
-
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
26691
|
-
});
|
|
26739
|
+
const eventRegistrationHydrationSchema = z$1.object(eventRegistrationHydrationSchemaShape);
|
|
26692
26740
|
const eventRegistrationRenderSchema = z$1.object({
|
|
26693
26741
|
display: eventRegistrationDisplaySchema,
|
|
26694
26742
|
hydration: eventRegistrationHydrationSchema
|
|
@@ -26768,11 +26816,16 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
26768
26816
|
occurrenceContext: source.occurrenceContext ?? null,
|
|
26769
26817
|
subject: source.subject ?? null,
|
|
26770
26818
|
events: source.events ?? null,
|
|
26819
|
+
wholeSeriesOfferings: source.wholeSeriesOfferings ?? null,
|
|
26820
|
+
wholeSeriesOffering: source.wholeSeriesOffering ?? null,
|
|
26771
26821
|
maxTickets: source.maxTickets ?? void 0,
|
|
26772
26822
|
showVenue: source.showVenue,
|
|
26773
26823
|
showCapacity: source.showCapacity,
|
|
26824
|
+
showSessions: source.showSessions,
|
|
26825
|
+
showPrice: source.showPrice,
|
|
26774
26826
|
successMessage: source.successMessage,
|
|
26775
26827
|
waitlistMessage: source.waitlistMessage,
|
|
26828
|
+
membershipMessage: source.membershipMessage,
|
|
26776
26829
|
buttonVariant: source.buttonVariant,
|
|
26777
26830
|
overlayEnabled: source.overlayEnabled,
|
|
26778
26831
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
@@ -26888,6 +26941,24 @@ const eventRegistrationBlockDefinition = {
|
|
|
26888
26941
|
defaultValue: true,
|
|
26889
26942
|
ui: { intent: "display" }
|
|
26890
26943
|
},
|
|
26944
|
+
{
|
|
26945
|
+
id: "showSessions",
|
|
26946
|
+
type: "boolean",
|
|
26947
|
+
label: "Show complete schedule",
|
|
26948
|
+
description: "Display every session for whole-series registrations",
|
|
26949
|
+
required: false,
|
|
26950
|
+
defaultValue: true,
|
|
26951
|
+
ui: { intent: "display" }
|
|
26952
|
+
},
|
|
26953
|
+
{
|
|
26954
|
+
id: "showPrice",
|
|
26955
|
+
type: "boolean",
|
|
26956
|
+
label: "Show price",
|
|
26957
|
+
description: "Display the whole-series price",
|
|
26958
|
+
required: false,
|
|
26959
|
+
defaultValue: true,
|
|
26960
|
+
ui: { intent: "display" }
|
|
26961
|
+
},
|
|
26891
26962
|
{
|
|
26892
26963
|
id: "successMessage",
|
|
26893
26964
|
type: "text",
|
|
@@ -26898,6 +26969,26 @@ const eventRegistrationBlockDefinition = {
|
|
|
26898
26969
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
26899
26970
|
maxLength: 500
|
|
26900
26971
|
},
|
|
26972
|
+
{
|
|
26973
|
+
id: "waitlistMessage",
|
|
26974
|
+
type: "text",
|
|
26975
|
+
label: "Waitlist message",
|
|
26976
|
+
description: "Message shown after joining a whole-series waitlist",
|
|
26977
|
+
required: false,
|
|
26978
|
+
multiline: true,
|
|
26979
|
+
defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
|
|
26980
|
+
maxLength: 500
|
|
26981
|
+
},
|
|
26982
|
+
{
|
|
26983
|
+
id: "membershipMessage",
|
|
26984
|
+
type: "text",
|
|
26985
|
+
label: "Membership registration message",
|
|
26986
|
+
description: "Message shown when a whole-series place is covered by membership",
|
|
26987
|
+
required: false,
|
|
26988
|
+
multiline: true,
|
|
26989
|
+
defaultValue: "Registered using your membership. Check your email for session details.",
|
|
26990
|
+
maxLength: 500
|
|
26991
|
+
},
|
|
26901
26992
|
{
|
|
26902
26993
|
id: "buttonText",
|
|
26903
26994
|
type: "text",
|
|
@@ -26929,8 +27020,11 @@ const eventRegistrationBlockDefinition = {
|
|
|
26929
27020
|
} },
|
|
26930
27021
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
26931
27022
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
27023
|
+
showSessions: { $bind: { from: "content.showSessions" } },
|
|
27024
|
+
showPrice: { $bind: { from: "content.showPrice" } },
|
|
26932
27025
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
26933
27026
|
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
27027
|
+
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
26934
27028
|
buttonText: { $bind: {
|
|
26935
27029
|
from: "content.buttonText",
|
|
26936
27030
|
fallback: "Complete Registration"
|
|
@@ -26944,6 +27038,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
26944
27038
|
fallback: false
|
|
26945
27039
|
} },
|
|
26946
27040
|
events: { $bind: { from: "data.events" } },
|
|
27041
|
+
wholeSeriesOffering: { $bind: { from: "data.wholeSeriesOffering.offering" } },
|
|
26947
27042
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
26948
27043
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
26949
27044
|
stage: { $bind: {
|
|
@@ -26957,9 +27052,10 @@ const eventRegistrationBlockDefinition = {
|
|
|
26957
27052
|
runtime: eventRegistrationBlockRuntime,
|
|
26958
27053
|
dataSchemas: {
|
|
26959
27054
|
events: publicEventsArraySchema.optional(),
|
|
27055
|
+
wholeSeriesOffering: z$1.object({ offering: publicCourseSchema }).optional(),
|
|
26960
27056
|
sitePasses: publicPassProductCollectionSchema.optional(),
|
|
26961
27057
|
siteMemberships: publicMembershipProductCollectionSchema.optional(),
|
|
26962
|
-
occurrenceContext: occurrenceContextSchema
|
|
27058
|
+
occurrenceContext: occurrenceContextSchema.optional()
|
|
26963
27059
|
},
|
|
26964
27060
|
dataLoaders: {
|
|
26965
27061
|
events: {
|
|
@@ -26972,11 +27068,23 @@ const eventRegistrationBlockDefinition = {
|
|
|
26972
27068
|
fallback: "published"
|
|
26973
27069
|
} },
|
|
26974
27070
|
readProfile: "registration",
|
|
26975
|
-
seriesId: { $bind: { from: "$root.
|
|
27071
|
+
seriesId: { $bind: { from: "$root.subject.eventSeriesId" } },
|
|
26976
27072
|
includeOccurrenceId: { $bind: { from: "$root.occurrenceContext.id" } }
|
|
26977
27073
|
},
|
|
26978
27074
|
mode: "server"
|
|
26979
27075
|
},
|
|
27076
|
+
wholeSeriesOffering: {
|
|
27077
|
+
endpoint: "getPublicWholeSeriesOffering",
|
|
27078
|
+
params: {
|
|
27079
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
27080
|
+
eventSeriesId: { $bind: { from: "$root.subject.eventSeriesId" } },
|
|
27081
|
+
stage: { $bind: {
|
|
27082
|
+
from: "$root.previewStage",
|
|
27083
|
+
fallback: "published"
|
|
27084
|
+
} }
|
|
27085
|
+
},
|
|
27086
|
+
mode: "server"
|
|
27087
|
+
},
|
|
26980
27088
|
sitePasses: {
|
|
26981
27089
|
endpoint: "listPublicPasses",
|
|
26982
27090
|
params: { siteId: { $bind: { from: "$root.siteId" } } },
|
|
@@ -27411,15 +27519,6 @@ const eventDetailsManifest = createBlockManifest({
|
|
|
27411
27519
|
})], { gap: "lg" })
|
|
27412
27520
|
})]
|
|
27413
27521
|
});
|
|
27414
|
-
const occurrenceContextSchema = z$1.object({
|
|
27415
|
-
id: z$1.string(),
|
|
27416
|
-
seriesId: z$1.string(),
|
|
27417
|
-
startsAt: z$1.string(),
|
|
27418
|
-
endsAt: z$1.string(),
|
|
27419
|
-
timeZone: z$1.string(),
|
|
27420
|
-
capacityOverride: z$1.number().nullable().optional(),
|
|
27421
|
-
overrides: z$1.record(z$1.string(), z$1.unknown()).nullable().optional()
|
|
27422
|
-
}).nullable();
|
|
27423
27522
|
const eventAutoApplyDiscountPreviewBaseSchema = z$1.object({
|
|
27424
27523
|
id: z$1.string(),
|
|
27425
27524
|
publicLabel: z$1.string(),
|
|
@@ -27454,8 +27553,9 @@ const eventDetailsBlockDefinition = {
|
|
|
27454
27553
|
from: "$root.previewStage",
|
|
27455
27554
|
fallback: "published"
|
|
27456
27555
|
} },
|
|
27457
|
-
limit: "
|
|
27458
|
-
|
|
27556
|
+
limit: "100",
|
|
27557
|
+
readProfile: "details",
|
|
27558
|
+
seriesId: { $bind: { from: "$root.subject.eventSeriesId" } },
|
|
27459
27559
|
includeOccurrenceId: { $bind: { from: "$root.occurrenceContext.id" } }
|
|
27460
27560
|
},
|
|
27461
27561
|
mode: "server"
|
|
@@ -33373,9 +33473,6 @@ function parseSignedNewsletterDestinationRef(value) {
|
|
|
33373
33473
|
const trimmed = parseTrimmedString(value);
|
|
33374
33474
|
return trimmed && SIGNED_DESTINATION_REF_PATTERN.test(trimmed) ? trimmed : null;
|
|
33375
33475
|
}
|
|
33376
|
-
function parseNewsletterSignupDestinationProvider(value) {
|
|
33377
|
-
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
33378
|
-
}
|
|
33379
33476
|
function buildNewsletterSignupBlockRef(blockId) {
|
|
33380
33477
|
const parsed = parseNewsletterSignupBlockId(blockId);
|
|
33381
33478
|
return parsed ? {
|
|
@@ -33522,19 +33619,9 @@ const newsletterFieldSchema = z$1.object({
|
|
|
33522
33619
|
});
|
|
33523
33620
|
const newsletterSignupBlockIdSchema = z$1.string().trim().min(1).transform(parseRequiredNewsletterSignupBlockId);
|
|
33524
33621
|
const signedNewsletterDestinationRefSchema = z$1.string().trim().min(1).transform(parseRequiredSignedNewsletterDestinationRef);
|
|
33525
|
-
const
|
|
33526
|
-
tag: z$1.literal("block_ref"),
|
|
33527
|
-
blockId: newsletterSignupBlockIdSchema
|
|
33528
|
-
}), z$1.object({
|
|
33529
|
-
tag: z$1.literal("signed_destination_ref"),
|
|
33530
|
-
token: signedNewsletterDestinationRefSchema
|
|
33531
|
-
})]);
|
|
33532
|
-
const newsletterSourceSchema = z$1.object({
|
|
33533
|
-
blockId: z$1.string().nullable().optional(),
|
|
33622
|
+
const newsletterSourceCommonSchema = z$1.object({
|
|
33534
33623
|
siteId: z$1.string().optional(),
|
|
33535
33624
|
apiBaseUrl: z$1.string().optional(),
|
|
33536
|
-
listId: z$1.string().nullable().optional(),
|
|
33537
|
-
destinationProvider: newsletterDestinationProviderSchema.nullable().optional(),
|
|
33538
33625
|
preset: newsletterPresetSchema.optional(),
|
|
33539
33626
|
includePhone: z$1.boolean().optional(),
|
|
33540
33627
|
buttonLabel: z$1.string().nullable().optional(),
|
|
@@ -33545,6 +33632,25 @@ const newsletterSourceSchema = z$1.object({
|
|
|
33545
33632
|
spamProtectionEnabled: z$1.boolean().optional(),
|
|
33546
33633
|
className: z$1.string().nullable().optional()
|
|
33547
33634
|
});
|
|
33635
|
+
const newsletterSourceSchema = z$1.discriminatedUnion("source", [
|
|
33636
|
+
newsletterSourceCommonSchema.extend({
|
|
33637
|
+
source: z$1.literal("block"),
|
|
33638
|
+
blockId: z$1.string().nullable().optional(),
|
|
33639
|
+
listId: z$1.string().nullable().optional(),
|
|
33640
|
+
destinationProvider: newsletterDestinationProviderSchema.nullable().optional()
|
|
33641
|
+
}),
|
|
33642
|
+
newsletterSourceCommonSchema.extend({
|
|
33643
|
+
source: z$1.literal("signed-footer"),
|
|
33644
|
+
destinationRef: z$1.object({
|
|
33645
|
+
tag: z$1.literal("signed_destination_ref"),
|
|
33646
|
+
token: signedNewsletterDestinationRefSchema
|
|
33647
|
+
})
|
|
33648
|
+
}),
|
|
33649
|
+
newsletterSourceCommonSchema.extend({
|
|
33650
|
+
source: z$1.literal("legacy-direct-list"),
|
|
33651
|
+
listId: z$1.string().nullable()
|
|
33652
|
+
})
|
|
33653
|
+
]);
|
|
33548
33654
|
const newsletterDisplaySchema = z$1.object({
|
|
33549
33655
|
kind: z$1.literal("newsletter-form"),
|
|
33550
33656
|
className: z$1.string().nullable(),
|
|
@@ -33555,8 +33661,26 @@ const newsletterDisplaySchema = z$1.object({
|
|
|
33555
33661
|
fields: z$1.array(newsletterFieldSchema)
|
|
33556
33662
|
});
|
|
33557
33663
|
const newsletterHydrationSchema = z$1.object({
|
|
33558
|
-
|
|
33559
|
-
|
|
33664
|
+
target: z$1.discriminatedUnion("tag", [
|
|
33665
|
+
z$1.object({
|
|
33666
|
+
tag: z$1.literal("block-source"),
|
|
33667
|
+
destinationRef: z$1.object({
|
|
33668
|
+
tag: z$1.literal("block_ref"),
|
|
33669
|
+
blockId: newsletterSignupBlockIdSchema
|
|
33670
|
+
}).nullable()
|
|
33671
|
+
}),
|
|
33672
|
+
z$1.object({
|
|
33673
|
+
tag: z$1.literal("signed-footer-source"),
|
|
33674
|
+
destinationRef: z$1.object({
|
|
33675
|
+
tag: z$1.literal("signed_destination_ref"),
|
|
33676
|
+
token: signedNewsletterDestinationRefSchema
|
|
33677
|
+
})
|
|
33678
|
+
}),
|
|
33679
|
+
z$1.object({
|
|
33680
|
+
tag: z$1.literal("legacy-direct-list"),
|
|
33681
|
+
listId: z$1.string().nullable()
|
|
33682
|
+
})
|
|
33683
|
+
]),
|
|
33560
33684
|
preset: newsletterPresetSchema,
|
|
33561
33685
|
includePhone: z$1.boolean(),
|
|
33562
33686
|
tags: z$1.string().nullable().optional(),
|
|
@@ -33590,20 +33714,43 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
33590
33714
|
render: createZodCodec(newsletterRenderSchema)
|
|
33591
33715
|
},
|
|
33592
33716
|
buildRender: (source) => {
|
|
33593
|
-
const runtimeSource = deriveNewsletterSignupRuntimeSource(source);
|
|
33717
|
+
const runtimeSource = source.source === "block" ? deriveNewsletterSignupRuntimeSource(source) : null;
|
|
33594
33718
|
return {
|
|
33595
33719
|
display: buildNewsletterDisplay(source),
|
|
33596
33720
|
hydration: {
|
|
33597
|
-
|
|
33598
|
-
listId: runtimeSource.listId,
|
|
33721
|
+
target: projectNewsletterFormHydrationTarget(source),
|
|
33599
33722
|
preset: source.preset ?? "emailOnly",
|
|
33600
33723
|
includePhone: source.includePhone ?? false,
|
|
33601
|
-
tags: runtimeSource.tags,
|
|
33724
|
+
tags: runtimeSource ? runtimeSource.tags : source.tags,
|
|
33602
33725
|
spamProtectionEnabled: source.spamProtectionEnabled
|
|
33603
33726
|
}
|
|
33604
33727
|
};
|
|
33605
33728
|
}
|
|
33606
33729
|
});
|
|
33730
|
+
function projectNewsletterFormHydrationTarget(source) {
|
|
33731
|
+
switch (source.source) {
|
|
33732
|
+
case "block": {
|
|
33733
|
+
const destinationRef = buildNewsletterSignupBlockRef(source.blockId);
|
|
33734
|
+
if (destinationRef?.tag === "block_ref") return {
|
|
33735
|
+
tag: "block-source",
|
|
33736
|
+
destinationRef
|
|
33737
|
+
};
|
|
33738
|
+
return {
|
|
33739
|
+
tag: "legacy-direct-list",
|
|
33740
|
+
listId: source.listId ?? null
|
|
33741
|
+
};
|
|
33742
|
+
}
|
|
33743
|
+
case "signed-footer": return {
|
|
33744
|
+
tag: "signed-footer-source",
|
|
33745
|
+
destinationRef: source.destinationRef
|
|
33746
|
+
};
|
|
33747
|
+
case "legacy-direct-list": return {
|
|
33748
|
+
tag: "legacy-direct-list",
|
|
33749
|
+
listId: source.listId
|
|
33750
|
+
};
|
|
33751
|
+
default: return assertNever$2(source);
|
|
33752
|
+
}
|
|
33753
|
+
}
|
|
33607
33754
|
function parseRequiredNewsletterSignupBlockId(value) {
|
|
33608
33755
|
const parsed = parseNewsletterSignupBlockId(value);
|
|
33609
33756
|
if (!parsed) throw new Error("Newsletter signup block destination ref requires blockId");
|
|
@@ -35705,6 +35852,7 @@ const SUPPORTED_LOADER_ENDPOINTS$1 = [
|
|
|
35705
35852
|
"listPublicRecurringSchedule",
|
|
35706
35853
|
"getPublicEventDetails",
|
|
35707
35854
|
"listPublicWholeSeriesOfferings",
|
|
35855
|
+
"getPublicWholeSeriesOffering",
|
|
35708
35856
|
"listPublicRouteCandidates",
|
|
35709
35857
|
"listPublicTeamMembers",
|
|
35710
35858
|
"listPublicProducts",
|