@riverbankcms/sdk 0.139.0 → 0.141.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.
Files changed (232) hide show
  1. package/README.md +1 -1
  2. package/dist/{PreviewEditorSidebar-BDeenhi3.mjs → PreviewEditorSidebar-Q-fy9GYw.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-LYGzgk85.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-CoPYI5Jq.mjs} +90 -50
  6. package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-D8LePX8x.mjs} +2731 -1303
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +212 -212
  9. package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
  10. package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/authSubmission.d.ts +46 -0
  12. package/dist/_dts/api/src/billing.d.ts +8 -4
  13. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
  14. package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
  15. package/dist/_dts/api/src/blocks.d.ts +2 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
  18. package/dist/_dts/api/src/communications.d.ts +0 -1
  19. package/dist/_dts/api/src/contentRuntime.d.ts +17 -31
  20. package/dist/_dts/api/src/domainConnection.d.ts +4 -0
  21. package/dist/_dts/api/src/endpoints.d.ts +93 -64
  22. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
  23. package/dist/_dts/api/src/footerCompositionContracts.d.ts +25 -0
  24. package/dist/_dts/api/src/footerSettings.d.ts +9 -6
  25. package/dist/_dts/api/src/index.d.ts +6 -7
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  28. package/dist/_dts/api/src/launchReadiness.d.ts +1 -0
  29. package/dist/_dts/api/src/mailingListIntegration.d.ts +8 -2
  30. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  31. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +2 -1
  32. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
  34. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +32 -32
  35. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +8 -0
  36. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
  37. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
  38. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +3 -29
  39. package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
  40. package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
  41. package/dist/_dts/api/src/sdkContracts.d.ts +3 -22
  42. package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
  43. package/dist/_dts/api/src/sdkThemeWire.d.ts +44 -44
  44. package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
  45. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -29
  46. package/dist/_dts/api/src/siteOnboarding.d.ts +9 -9
  47. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -4
  48. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
  49. package/dist/_dts/api/src/siteSettings.d.ts +20 -7
  50. package/dist/_dts/api/src/types.d.ts +77 -77
  51. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
  52. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  53. package/dist/_dts/billing/src/plans/types.d.ts +3 -0
  54. package/dist/_dts/billing/src/site-arrangements.d.ts +23 -3
  55. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -4
  56. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
  57. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +7 -0
  58. package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
  59. package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
  60. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
  61. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -0
  62. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +122 -0
  63. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +2 -1
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/eventSelection.d.ts +11 -0
  65. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  66. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  67. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  68. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  69. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  70. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +7 -1
  71. package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
  72. package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +27 -1
  74. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  75. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
  76. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
  78. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  79. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
  80. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +42 -186
  81. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -93
  82. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +48 -1
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +4 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.state.d.ts +5 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +3 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +10 -3
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +9 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
  96. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +14 -7
  97. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts +37 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -6
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
  102. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +4 -3
  103. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +11 -101
  105. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +7 -2
  106. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +2 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +1 -0
  109. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
  110. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
  111. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  112. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
  113. package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +12 -0
  114. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +4 -0
  115. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  116. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +27 -4
  117. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
  118. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
  119. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -0
  120. package/dist/_dts/core/src/branded.d.ts +0 -8
  121. package/dist/_dts/core/src/index.d.ts +1 -0
  122. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +1 -1
  123. package/dist/_dts/core/src/mailing-list-setup.d.ts +14 -1
  124. package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -27
  125. package/dist/_dts/core/src/participants.d.ts +2 -29
  126. package/dist/_dts/core/src/public-experience.d.ts +4 -0
  127. package/dist/_dts/core/src/public-profile.d.ts +27 -1
  128. package/dist/_dts/core/src/site-route-target.d.ts +9 -2
  129. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +296 -606
  130. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
  131. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +3 -2
  132. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +3 -2
  133. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +3 -2
  134. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
  135. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +27 -1
  136. package/dist/_dts/sdk/src/public-api/contracts.d.ts +14 -20
  137. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  138. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  139. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +7 -1
  140. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
  141. package/dist/_dts/sdk/src/version.d.ts +1 -1
  142. package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +17 -1
  143. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  144. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +17 -0
  145. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +1 -1
  146. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +16 -0
  147. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +0 -6
  148. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +4 -4
  149. package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
  150. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  151. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
  152. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
  153. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +54 -12
  154. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  156. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
  157. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
  158. package/dist/_dts/theme-core/src/schema.d.ts +84 -84
  159. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  160. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  161. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
  162. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  163. package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
  164. package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
  165. package/dist/_dts/ui/src/pending-button.d.ts +10 -0
  166. package/dist/client/{BookingConsentAgreement-CZvTDtsK.mjs → BookingConsentAgreement-xJeYNdnb.mjs} +4 -4
  167. package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-DdT6uzl9.mjs} +1 -1
  168. package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-Cp28uYuM.mjs} +12 -16
  169. package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-CD6AJsMr.mjs} +4 -17
  170. package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-DBsAi9-e.mjs} +1 -1
  171. package/dist/client/{accordion-FxF_ta47.mjs → accordion-6dwbOKYR.mjs} +1 -1
  172. package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-CZE9_qPQ.mjs} +7 -7
  173. package/dist/client/bookings.mjs +500 -233
  174. package/dist/client/{carousel-vng7fFT5.mjs → carousel-7VHGQARz.mjs} +2 -2
  175. package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
  176. package/dist/client/{cart-DEPDsjNk.mjs → cart-Qg_mvQhh.mjs} +3 -3
  177. package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D84rpgdr.mjs} +3 -3
  178. package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
  179. package/dist/client/client.mjs +2315 -1017
  180. package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
  181. package/dist/client/{context-DvU_WUmd.mjs → context-Ctp3T0Wr.mjs} +6 -19
  182. package/dist/client/{dates-wnPMiRl5.mjs → dates-DJKFcI_N.mjs} +2 -2
  183. package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-CK31z3vs.mjs} +12 -8
  184. package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-DiXd-ewn.mjs} +3 -3
  185. package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-CTRgt2DK.mjs} +4 -4
  186. package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-Dy9vi_j_.mjs} +3 -3
  187. package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-CnalYMr2.mjs} +618 -177
  188. package/dist/client/{form-CBKXN5In.mjs → form-eUiMveTT.mjs} +3 -3
  189. package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-Dy9kQpB1.mjs} +2 -2
  190. package/dist/client/hooks.mjs +692 -212
  191. package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-DalCmWU0.mjs} +3 -3
  192. package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
  193. package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-SDDPvhS0.mjs} +150 -94
  194. package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-OcMz4SnX.mjs} +1 -1
  195. package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-BQrgHElM.mjs} +3 -3
  196. package/dist/client/{productList-FM0cbUzj.mjs → productList-OnPn_UJj.mjs} +3 -3
  197. package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-zBdsnS-N.mjs} +168 -32
  198. package/dist/client/rendering/client.mjs +1355 -519
  199. package/dist/client/rendering/islands.mjs +19 -19
  200. package/dist/client/rendering.mjs +2294 -953
  201. package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-BNM4Ob2Y.mjs} +28 -11
  202. package/dist/client/{shop-BIcjvy5a.mjs → shop-Bv1fPTwQ.mjs} +6 -6
  203. package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-D4KNGaW8.mjs} +7 -7
  204. package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-2N5EV0Rc.mjs} +1 -1
  205. package/dist/client/{shopShared-DowkXevB.mjs → shopShared-DvJGdHTV.mjs} +4 -4
  206. package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-BBBvGDHQ.mjs} +19 -13
  207. package/dist/preview-next/before-render.mjs +119 -64
  208. package/dist/preview-next/client/runtime.mjs +4 -4
  209. package/dist/preview-next/editor-chrome.css +4 -8
  210. package/dist/preview-next/keepAlive.mjs +119 -64
  211. package/dist/preview-next/middleware.mjs +119 -64
  212. package/dist/{previewAuthStore-COUyAKaX.mjs → previewAuthStore-Gjb6r6vz.mjs} +119 -64
  213. package/dist/{sdk-runtime-D4k2LSGF.mjs → sdk-runtime-Defnbfzw.mjs} +2 -2
  214. package/dist/{separator-UGtpag4Z.mjs → separator-CZXO3Sb0.mjs} +1 -1
  215. package/dist/server/components.mjs +1170 -384
  216. package/dist/server/config-validation.mjs +560 -105
  217. package/dist/server/config.mjs +564 -109
  218. package/dist/server/data.mjs +688 -212
  219. package/dist/server/index.mjs +126 -66
  220. package/dist/server/next.mjs +1429 -662
  221. package/dist/server/page-converter.mjs +372 -99
  222. package/dist/server/prebuild.mjs +1 -1
  223. package/dist/server/rendering/server.mjs +1624 -817
  224. package/dist/server/rendering.mjs +1200 -391
  225. package/dist/server/routing.mjs +767 -247
  226. package/dist/server/server.mjs +715 -276
  227. package/dist/server/theme-bridge.mjs +475 -110
  228. package/dist/server/theme.mjs +9 -3
  229. package/dist/styles/index.css +265 -45
  230. package/package.json +1 -1
  231. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
  232. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
@@ -1,4 +1,4 @@
1
- import { E as ok$1, T as err$1, a as paletteColorEntries, c as themeColorTokenSchema, g as parseEventSeriesId, h as parseEventOfferingId, l as parseColorTokenParts, o as paletteColorsFromEntries, p as parseAspectRatioValue, r as rgbColorValue, s as parseThemeColorToken } from "./colorStyles-CrxJrPjJ.mjs";
1
+ import { D as ok$1, E as err$1, _ as parseEventSeriesId, a as paletteColorEntries, c as themeColorTokenSchema, g as parseEventOfferingId, h as parseContentVersionId, l as parseColorTokenParts, o as paletteColorsFromEntries, p as parseAspectRatioValue, r as rgbColorValue, s as parseThemeColorToken } from "./colorStyles-3013aRAY.mjs";
2
2
  import "react";
3
3
  import { z } from "zod";
4
4
  import "react/jsx-runtime";
@@ -710,6 +710,9 @@ function parseBrevoListId(value) {
710
710
  return parsePositiveInteger(value);
711
711
  }
712
712
  //#endregion
713
+ //#region ../core/src/mailing-list-setup.ts
714
+ const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
715
+ //#endregion
713
716
  //#region ../core/src/mailing-list-setup-parser.ts
714
717
  function parseMailingListGlobalForm(value) {
715
718
  if (!isRecord$7(value)) return formError("shape");
@@ -718,12 +721,15 @@ function parseMailingListGlobalForm(value) {
718
721
  if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
719
722
  const buttonLabel = parseRequiredString(value.buttonLabel);
720
723
  if (buttonLabel === null) return formError("buttonLabel");
724
+ const successMessage = parseRequiredString(value.successMessage);
725
+ if (successMessage === null) return formError("successMessage");
721
726
  const privacyNote = parseOptionalString(value.privacyNote);
722
727
  if (privacyNote === void 0) return formError("privacyNote");
723
728
  return ok$1({
724
729
  fields,
725
730
  includeOptionalPhone: value.includeOptionalPhone,
726
731
  buttonLabel,
732
+ successMessage,
727
733
  privacyNote
728
734
  });
729
735
  }
@@ -1097,11 +1103,17 @@ function parseMailingListSignedSourceToken(value) {
1097
1103
  const parsed = typeof value === "string" ? value.trim() : "";
1098
1104
  return /^[A-Za-z0-9._~-]{16,1000}$/u.test(parsed) ? parsed : null;
1099
1105
  }
1100
- function buildMailingListSignupBlockSourceRef(blockId) {
1101
- const parsed = parseMailingListBlockId(blockId);
1102
- return parsed !== null ? {
1106
+ function parseMailingListContentVersionId(value) {
1107
+ const parsed = parseContentVersionId(value);
1108
+ return parsed.ok ? parsed.value : null;
1109
+ }
1110
+ function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
1111
+ const parsedBlockId = parseMailingListBlockId(blockId);
1112
+ const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
1113
+ return parsedBlockId !== null && parsedContentVersionId !== null ? {
1103
1114
  tag: "block_ref",
1104
- blockId: parsed
1115
+ blockId: parsedBlockId,
1116
+ contentVersionId: parsedContentVersionId
1105
1117
  } : null;
1106
1118
  }
1107
1119
  //#endregion
@@ -2230,6 +2242,13 @@ const bookingFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
2230
2242
  })
2231
2243
  });
2232
2244
  //#endregion
2245
+ //#region ../blocks/src/system/blocks/events/shared/eventSelection.ts
2246
+ /** Undefined means discovery; an empty string is an explicitly empty selection. */
2247
+ function eventSeriesScopeCsv(value) {
2248
+ if (value == null) return void 0;
2249
+ return typeof value === "string" ? value : value.join(",");
2250
+ }
2251
+ //#endregion
2233
2252
  //#region ../theme-core/src/cards/types.ts
2234
2253
  const cardVariantRoleValues = ["default", "alternative"];
2235
2254
  const boxlessCardVariantValue = "none";
@@ -5828,8 +5847,14 @@ const headerInteractionPillPaletteValues = [
5828
5847
  "accent"
5829
5848
  ];
5830
5849
  /**
5831
- * "No pill": the nav link keeps whatever hover treatment its recipe compiled,
5832
- * and the palette step writes nothing at all (#1318 Phase 4c decision 2).
5850
+ * "No pill": a colour change on hover rather than a filled background.
5851
+ *
5852
+ * The palette step writes nothing (#1318 Phase 4c decision 2), but on a
5853
+ * foreground-adaptive style that is not the end of the story: the hover colour
5854
+ * is derived from the resolved opening foreground at render time, paired with
5855
+ * the resting colour, so `quiet` resolves to a definite colour rather than to
5856
+ * whatever brand token the recipe happened to name. See
5857
+ * `applyOpeningForeground`.
5833
5858
  *
5834
5859
  * It exists because "a colour change on hover, no filled background" was not
5835
5860
  * expressible in the vocabulary, and it is what
@@ -6645,6 +6670,28 @@ z.object({
6645
6670
  });
6646
6671
  //#endregion
6647
6672
  //#region ../blocks/src/system/blocks/events/shared/schemas.ts
6673
+ const publicEventLoaderQuerySchemaShape = {
6674
+ limit: z.string().optional(),
6675
+ from: z.string().optional(),
6676
+ to: z.string().optional(),
6677
+ afterStartsAt: z.string().optional(),
6678
+ afterId: z.string().optional(),
6679
+ categoryIds: z.string().optional(),
6680
+ venueId: z.string().optional(),
6681
+ staffMemberId: z.string().optional(),
6682
+ eventSurface: z.string().optional(),
6683
+ eventPresets: z.string().optional(),
6684
+ scheduleScope: z.string().optional(),
6685
+ seriesId: z.string().optional(),
6686
+ seriesIds: z.string().optional(),
6687
+ runSeriesId: z.string().optional(),
6688
+ seriesSlug: z.string().optional(),
6689
+ includeOccurrenceId: z.string().optional(),
6690
+ readIntent: z.string().optional(),
6691
+ detailLevel: z.string().optional(),
6692
+ readProfile: z.string().optional()
6693
+ };
6694
+ z.object(publicEventLoaderQuerySchemaShape);
6648
6695
  const eventPresetSchema = z.enum([
6649
6696
  "event",
6650
6697
  "class",
@@ -7360,6 +7407,7 @@ function normalizeFilterId(value) {
7360
7407
  return id === "all" ? void 0 : id;
7361
7408
  }
7362
7409
  function buildEventRuntimeFilters(input) {
7410
+ if (input.seriesIds != null) return { seriesIds: input.seriesIds };
7363
7411
  const params = {};
7364
7412
  if (input.eventSurface && input.eventSurface !== "all") params.eventSurface = input.eventSurface;
7365
7413
  const eventPresets = normalizeCsvString(input.filterEventPresets);
@@ -7375,6 +7423,7 @@ function buildEventRuntimeFilters(input) {
7375
7423
  }
7376
7424
  function getEventRuntimeFiltersKey(filters) {
7377
7425
  return JSON.stringify({
7426
+ seriesIds: filters?.seriesIds == null ? null : [...new Set(filters.seriesIds.split(",").filter(Boolean))].sort().join(","),
7378
7427
  categoryIds: normalizeCsvString(filters?.categoryIds),
7379
7428
  staffMemberId: normalizeOptionalId(filters?.staffMemberId),
7380
7429
  venueId: normalizeOptionalId(filters?.venueId),
@@ -7427,6 +7476,7 @@ z.object({
7427
7476
  eventSurface: z.enum(eventSurfaceScopeValues).optional(),
7428
7477
  eventPresets: z.string().optional(),
7429
7478
  scheduleScope: z.enum(eventScheduleScopeValues).optional(),
7479
+ seriesIds: z.string().optional(),
7430
7480
  categoryIds: z.string().optional(),
7431
7481
  venueId: z.string().transform(normalizeCalendarFilterId).optional(),
7432
7482
  staffMemberId: z.string().transform(normalizeCalendarFilterId).optional()
@@ -7459,6 +7509,7 @@ function calendarQueryKey(siteId, stage, filters) {
7459
7509
  filters.eventSurface ?? "all",
7460
7510
  normalizedCsv(filters.eventPresets),
7461
7511
  filters.scheduleScope ?? "any",
7512
+ ...filters.seriesIds === void 0 ? [] : [normalizedCsv(filters.seriesIds)],
7462
7513
  normalizedCsv(filters.categoryIds),
7463
7514
  normalizeCalendarFilterId(filters.venueId) ?? "",
7464
7515
  normalizeCalendarFilterId(filters.staffMemberId) ?? "",
@@ -7525,7 +7576,7 @@ function planCalendarMonthRanges(months) {
7525
7576
  const sorted = [...new Set(months)].sort();
7526
7577
  const ranges = [];
7527
7578
  for (const month of sorted) {
7528
- const previous = ranges.at(-1);
7579
+ const previous = ranges[ranges.length - 1];
7529
7580
  const end = calendarMonthKey(addMonths(calendarMonthDate(month), 1));
7530
7581
  if (previous?.endMonthExclusive === month && monthNumber(end) - monthNumber(previous.startMonth) <= 3) previous.endMonthExclusive = end;
7531
7582
  else ranges.push({
@@ -7547,6 +7598,7 @@ const eventCollectionFilterSourceSchemaShape = {
7547
7598
  eventSurface: eventSurfaceScopeSchema$1.nullable().optional(),
7548
7599
  filterEventPresets: z.union([z.string(), z.array(z.string())]).nullable().optional(),
7549
7600
  scheduleScope: eventScheduleScopeSchema$1.nullable().optional(),
7601
+ seriesIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
7550
7602
  filterCategoryIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
7551
7603
  filterStaffMemberId: z.string().nullable().optional(),
7552
7604
  filterVenueId: z.string().nullable().optional()
@@ -7593,6 +7645,7 @@ const eventCollectionDisplaySchemaShape = {
7593
7645
  eventSurface: eventSurfaceScopeSchema$1,
7594
7646
  filterEventPresets: z.string().nullable(),
7595
7647
  scheduleScope: eventScheduleScopeSchema$1,
7648
+ seriesIds: z.string().nullable().optional(),
7596
7649
  filterCategoryIds: z.string().nullable(),
7597
7650
  filterStaffMemberId: z.string().nullable(),
7598
7651
  filterVenueId: z.string().nullable(),
@@ -7640,11 +7693,15 @@ function buildEventCollectionDisplay(source) {
7640
7693
  };
7641
7694
  }
7642
7695
  function buildEventCollectionFilterDisplay(source) {
7643
- return {
7644
- showFilters: source.showFilters ?? true,
7645
- showCategoryFilter: source.showCategoryFilter ?? "auto",
7646
- showVenueFilter: source.showVenueFilter ?? false,
7647
- showStaffFilter: source.showStaffFilter ?? true,
7696
+ const selected = source.seriesIds != null;
7697
+ const matchingFilters = selected ? {
7698
+ eventSurface: "all",
7699
+ filterEventPresets: null,
7700
+ scheduleScope: "any",
7701
+ filterCategoryIds: null,
7702
+ filterStaffMemberId: null,
7703
+ filterVenueId: null
7704
+ } : {
7648
7705
  eventSurface: normalizeEventSurfaceScope(source.eventSurface),
7649
7706
  filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7650
7707
  scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
@@ -7652,6 +7709,14 @@ function buildEventCollectionFilterDisplay(source) {
7652
7709
  filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
7653
7710
  filterVenueId: normalizeEventVenueId(source.filterVenueId)
7654
7711
  };
7712
+ return {
7713
+ seriesIds: eventSeriesScopeCsv(source.seriesIds),
7714
+ showFilters: selected ? false : source.showFilters ?? true,
7715
+ showCategoryFilter: source.showCategoryFilter ?? "auto",
7716
+ showVenueFilter: source.showVenueFilter ?? false,
7717
+ showStaffFilter: source.showStaffFilter ?? true,
7718
+ ...matchingFilters
7719
+ };
7655
7720
  }
7656
7721
  function buildEventCollectionPresentationDisplay(source) {
7657
7722
  return {
@@ -7666,14 +7731,15 @@ function buildEventCollectionPresentationDisplay(source) {
7666
7731
  }
7667
7732
  function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
7668
7733
  const timeZone = source.calendarWindow?.scope.timeZone ?? toBookingTimeZone(source.bookingTimeZone);
7734
+ const selected = source.seriesIds != null;
7669
7735
  return {
7670
7736
  calendarWindow: source.calendarWindow ?? void 0,
7671
7737
  siteId: source.siteId,
7672
7738
  stage: source.stage,
7673
7739
  prefetchedEvents: source.events != null,
7674
- eventSurface: normalizeEventSurfaceScope(source.eventSurface),
7675
- filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7676
- scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
7740
+ eventSurface: selected ? "all" : normalizeEventSurfaceScope(source.eventSurface),
7741
+ filterEventPresets: selected ? null : normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7742
+ scheduleScope: selected ? "any" : normalizeEventScheduleScope(source.scheduleScope),
7677
7743
  calendarContext: {
7678
7744
  timeZone,
7679
7745
  initialToday: source.calendarWindow?.initialToday ?? getLocalScheduleDate(now, timeZone)
@@ -7759,6 +7825,7 @@ const eventListingHydrationSchema = z.object({
7759
7825
  eventSurface: eventSurfaceScopeSchema,
7760
7826
  filterEventPresets: z.string().nullable(),
7761
7827
  scheduleScope: eventScheduleScopeSchema,
7828
+ seriesIds: z.string().nullable().optional(),
7762
7829
  filterCategoryIds: z.string().nullable().optional(),
7763
7830
  filterStaffMemberId: z.string().nullable().optional(),
7764
7831
  filterVenueId: z.string().nullable().optional(),
@@ -7820,6 +7887,7 @@ const eventListingInteractiveIslandPropsCodec = createInteractiveIslandCodec({
7820
7887
  eventSurface: normalizeEventSurfaceScope(source.eventSurface),
7821
7888
  filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7822
7889
  scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
7890
+ seriesIds: eventSeriesScopeCsv(source.seriesIds),
7823
7891
  filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
7824
7892
  filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
7825
7893
  filterVenueId: normalizeEventVenueId(source.filterVenueId),
@@ -8501,6 +8569,7 @@ function isDisplayMediaKind(kind) {
8501
8569
  }
8502
8570
  const siteOptionSources = [
8503
8571
  "eventCategories",
8572
+ "eventSeries",
8504
8573
  "venues",
8505
8574
  "staffMembers"
8506
8575
  ];
@@ -10613,6 +10682,7 @@ function buildEventCalendarListingRender(render, className = render.display.clas
10613
10682
  eventSurface: display.eventSurface,
10614
10683
  filterEventPresets: display.filterEventPresets,
10615
10684
  scheduleScope: display.scheduleScope,
10685
+ seriesIds: display.seriesIds,
10616
10686
  filterCategoryIds: display.filterCategoryIds,
10617
10687
  filterStaffMemberId: display.filterStaffMemberId,
10618
10688
  filterVenueId: display.filterVenueId,
@@ -10832,6 +10902,44 @@ function getRegistrationStartAt(event, occurrenceContext) {
10832
10902
  return event?.registrationSubject.kind === "wholeSeries" ? event.startsAt : occurrenceContext?.startsAt ?? event?.startsAt;
10833
10903
  }
10834
10904
  //#endregion
10905
+ //#region ../blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.ts
10906
+ const { limit: _rawLimit, eventSurface: _rawEventSurface, scheduleScope: _rawScheduleScope, detailLevel: _rawDetailLevel, ...stringEventQueryShape } = publicEventLoaderQuerySchemaShape;
10907
+ const eventRecoveryRequestSchema = z.object({
10908
+ ...stringEventQueryShape,
10909
+ limit: z.coerce.number().int().positive().optional(),
10910
+ eventSurface: z.enum(eventSurfaceScopeValues).optional(),
10911
+ scheduleScope: z.enum(eventScheduleScopeValues).optional(),
10912
+ detailLevel: z.enum(["full", "listing"]).optional(),
10913
+ stage: z.enum(["preview", "published"]).optional()
10914
+ });
10915
+ function resolveEventRegistrationEventSource(input) {
10916
+ if (input.wholeSeriesRunEvents != null) return {
10917
+ kind: "loaded",
10918
+ events: input.wholeSeriesRunEvents
10919
+ };
10920
+ if (input.events != null) return {
10921
+ kind: "loaded",
10922
+ events: input.events
10923
+ };
10924
+ return {
10925
+ kind: "unresolved",
10926
+ request: parseEventLoaderRecoveryRequest(input.failures?.wholeSeriesRunEvents ?? input.failures?.events)
10927
+ };
10928
+ }
10929
+ const eventLoaderFailureSchema = z.object({
10930
+ endpoint: z.literal("listPublicEvents"),
10931
+ params: eventRecoveryRequestSchema.extend({ siteId: z.string().optional() })
10932
+ });
10933
+ function parseEventLoaderRecoveryRequest(value) {
10934
+ const parsed = eventLoaderFailureSchema.safeParse(value);
10935
+ if (!parsed.success) return null;
10936
+ const { siteId: _siteId, stage, ...params } = parsed.data.params;
10937
+ return {
10938
+ ...params,
10939
+ stage: stage ?? "published"
10940
+ };
10941
+ }
10942
+ //#endregion
10835
10943
  //#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
10836
10944
  const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = [
10837
10945
  "Date",
@@ -10849,8 +10957,6 @@ const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrati
10849
10957
  const eventRegistrationHydrationSchemaShape = {
10850
10958
  occurrenceContext: occurrenceContextSchema.optional(),
10851
10959
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
10852
- events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
10853
- wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
10854
10960
  maxTickets: z.string().optional(),
10855
10961
  showVenue: z.boolean().optional(),
10856
10962
  showCapacity: z.boolean().optional(),
@@ -10862,12 +10968,22 @@ const eventRegistrationHydrationSchemaShape = {
10862
10968
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
10863
10969
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
10864
10970
  };
10971
+ const eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
10972
+ kind: z.literal("loaded"),
10973
+ events: z.array(eventRegistrationPublicEventSchema)
10974
+ }), z.object({
10975
+ kind: z.literal("unresolved"),
10976
+ request: eventRecoveryRequestSchema.nullable()
10977
+ })]);
10865
10978
  const eventRegistrationSourceSchema = z.object({
10866
10979
  siteId: z.string().optional(),
10867
10980
  apiBaseUrl: z.string().optional(),
10868
10981
  portalToken: z.string().nullable().optional(),
10869
10982
  previewToken: z.string().nullable().optional(),
10870
10983
  ...eventRegistrationHydrationSchemaShape,
10984
+ events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
10985
+ wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
10986
+ eventLoaderFailures: z.record(z.string(), z.unknown()).nullable().optional(),
10871
10987
  className: z.string().nullable().optional(),
10872
10988
  buttonText: z.string().nullable().optional(),
10873
10989
  maxTickets: z.string().nullable().optional(),
@@ -10888,7 +11004,10 @@ const eventRegistrationDisplaySchema = z.discriminatedUnion("state", [z.object({
10888
11004
  titleText: z.string(),
10889
11005
  bodyText: z.string()
10890
11006
  })]);
10891
- const eventRegistrationHydrationSchema = z.object(eventRegistrationHydrationSchemaShape);
11007
+ const eventRegistrationHydrationSchema = z.object({
11008
+ ...eventRegistrationHydrationSchemaShape,
11009
+ eventSource: eventRegistrationEventSourceSchema
11010
+ });
10892
11011
  const eventRegistrationRenderSchema = z.object({
10893
11012
  display: eventRegistrationDisplaySchema,
10894
11013
  hydration: eventRegistrationHydrationSchema
@@ -10948,16 +11067,12 @@ function buildEventRegistrationShellStepLabels(source, scopedSourceEvents) {
10948
11067
  function toScopedEventRegistrationEvents(scopedSourceEvents) {
10949
11068
  return [...toRegistrationEvents(scopedSourceEvents), ...toWholeSeriesRegistrationEvents(scopedSourceEvents)];
10950
11069
  }
10951
- function scopeEventRegistrationSourceEvents(source) {
10952
- return resolveEventRegistrationScopedEvents(source.wholeSeriesRunEvents ?? source.events ?? [], {
11070
+ function scopeEventRegistrationSourceEvents(source, eventSource) {
11071
+ return resolveEventRegistrationScopedEvents(eventSource.kind === "loaded" ? eventSource.events : [], {
10953
11072
  occurrenceContext: source.occurrenceContext,
10954
11073
  subject: source.subject
10955
11074
  });
10956
11075
  }
10957
- function resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents) {
10958
- if (source.events == null && source.wholeSeriesRunEvents == null) return null;
10959
- return [...scopedSourceEvents];
10960
- }
10961
11076
  /**
10962
11077
  * The one run this surface is registering for, when the scoped events describe
10963
11078
  * exactly one. More than one run means the visitor still has to choose.
@@ -10997,14 +11112,21 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
10997
11112
  render: createZodCodec(eventRegistrationRenderSchema)
10998
11113
  },
10999
11114
  buildRender: (source) => {
11000
- const scopedSourceEvents = scopeEventRegistrationSourceEvents(source);
11001
- const events = resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents);
11115
+ const eventSource = resolveEventRegistrationEventSource({
11116
+ events: source.events,
11117
+ wholeSeriesRunEvents: source.wholeSeriesRunEvents,
11118
+ failures: source.eventLoaderFailures
11119
+ });
11120
+ const scopedSourceEvents = scopeEventRegistrationSourceEvents(source, eventSource);
11002
11121
  return {
11003
11122
  display: buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents),
11004
11123
  hydration: {
11005
11124
  occurrenceContext: source.occurrenceContext ?? null,
11006
11125
  subject: source.subject ?? null,
11007
- events,
11126
+ eventSource: eventSource.kind === "loaded" ? {
11127
+ ...eventSource,
11128
+ events: [...scopedSourceEvents]
11129
+ } : eventSource,
11008
11130
  maxTickets: source.maxTickets ?? void 0,
11009
11131
  showVenue: source.showVenue,
11010
11132
  showCapacity: source.showCapacity,
@@ -11396,6 +11518,15 @@ const newsletterFieldSchema = z.object({
11396
11518
  placeholder: z.string().optional()
11397
11519
  });
11398
11520
  const mailingListSignupBlockIdSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignupBlockId);
11521
+ const mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
11522
+ const parsed = parseMailingListContentVersionId(value);
11523
+ if (parsed) return parsed;
11524
+ ctx.addIssue({
11525
+ code: z.ZodIssueCode.custom,
11526
+ message: "Invalid mailing-list content version ID"
11527
+ });
11528
+ return z.NEVER;
11529
+ });
11399
11530
  const signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
11400
11531
  const newsletterSourceCommonSchema = z.object({
11401
11532
  siteId: z.string().optional(),
@@ -11409,7 +11540,8 @@ const newsletterSourceCommonSchema = z.object({
11409
11540
  const newsletterSourceSchema = z.discriminatedUnion("source", [
11410
11541
  newsletterSourceCommonSchema.extend({
11411
11542
  source: z.literal("block"),
11412
- blockId: z.string().nullable().optional()
11543
+ blockId: z.string().nullable().optional(),
11544
+ contentVersionId: z.string().nullable().optional()
11413
11545
  }),
11414
11546
  newsletterSourceCommonSchema.extend({
11415
11547
  source: z.literal("signed-footer"),
@@ -11425,6 +11557,7 @@ const newsletterDisplaySchema = z.object({
11425
11557
  availability: z.enum(["ready", "unavailable"]),
11426
11558
  className: z.string().nullable(),
11427
11559
  buttonLabel: z.string(),
11560
+ successMessage: z.string(),
11428
11561
  buttonVariant: newsletterButtonVariantSchema,
11429
11562
  privacyNote: z.string().nullable(),
11430
11563
  fields: z.array(newsletterFieldSchema),
@@ -11439,7 +11572,8 @@ const newsletterHydrationSchema = z.object({
11439
11572
  tag: z.literal("block-source"),
11440
11573
  sourceRef: z.object({
11441
11574
  tag: z.literal("block_ref"),
11442
- blockId: mailingListSignupBlockIdSchema
11575
+ blockId: mailingListSignupBlockIdSchema,
11576
+ contentVersionId: mailingListContentVersionIdSchema
11443
11577
  }).nullable()
11444
11578
  }),
11445
11579
  z.object({
@@ -11479,6 +11613,7 @@ function buildNewsletterDisplay(source) {
11479
11613
  fields: { preset: "emailOnly" },
11480
11614
  includeOptionalPhone: false,
11481
11615
  buttonLabel: "Subscribe",
11616
+ successMessage: DEFAULT_MAILING_LIST_SUCCESS_MESSAGE,
11482
11617
  privacyNote: null
11483
11618
  };
11484
11619
  const targeting = source.targeting ?? { mode: "default" };
@@ -11488,6 +11623,7 @@ function buildNewsletterDisplay(source) {
11488
11623
  availability: runtimeTargetingIsAvailable(context, targeting, choices) ? "ready" : "unavailable",
11489
11624
  className: source.className ?? null,
11490
11625
  buttonLabel: form.buttonLabel,
11626
+ successMessage: form.successMessage,
11491
11627
  buttonVariant: source.buttonVariant ?? "primary",
11492
11628
  privacyNote: form.privacyNote,
11493
11629
  fields: getGlobalFormFields(form),
@@ -11518,7 +11654,7 @@ const newsletterFormBlockRuntime = defineProgressiveBlockRuntime({
11518
11654
  function projectNewsletterFormHydrationTarget(source) {
11519
11655
  switch (source.source) {
11520
11656
  case "block": {
11521
- const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId);
11657
+ const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
11522
11658
  if (sourceRef?.tag === "block_ref") return {
11523
11659
  tag: "block-source",
11524
11660
  sourceRef
@@ -12515,4 +12651,4 @@ function defineIslandPropsDecoder(kind) {
12515
12651
  };
12516
12652
  }
12517
12653
  //#endregion
12518
- export { getOrderedDayNames as $, resolveBookingTimeZoneId as $t, isSemanticSpacing as A, isBookingRequirementConsentFieldId as At, buildEventRuntimeFilters as B, CANCELLED_SESSION_STATUS as Bt, WIZARD_STEPS as C, resolveBookingPaymentStep as Ct, staticHeaderChromeRuntime as D, projectSelectedAppointmentConsentIntoForm as Dt, buildEventCalendarListingRender as E, toSelectedCollectionOptionKind as Et, calendarWindowBounds as F, err as Ft, getCardOrientation as G, formatBookingDateParts as Gt, normalizeCsvIds as H, parseMailingListVisitorSelection as Ht, calendarWindowMonths as I, ok as It, addDays as J, formatBookingTime as Jt, getContainerClass as K, formatBookingDateTime as Kt, calendarWindowPageSchema as L, okWith as Lt, calendarMonthDate as M, isRecord$4 as Mt, calendarPageResponseError as N, assertNever$1 as Nt, resolveEventRegistrationScopedEvents as O, resolveSelectedAppointmentConsent as Ot, calendarQueryKey as P, clearWorkflowFeedback as Pt, getDayOfWeek as Q, parseBookingLocalDate as Qt, planCalendarMonthRanges as R, reportWorkflowError as Rt, resolveRegistrationTarget as S, resolveAppointmentCheckoutVerificationState as St, getWizardStepsForContext as T, resolveDefaultBookingServiceId as Tt, normalizeCsvString as U, addLocalScheduleDays as Ut, getEventRuntimeFiltersKey as V, resolveWholeSeriesBookingPhase as Vt, normalizeOptionalId as W, formatBookingDate as Wt, buildCalendarViewport as X, getBookingLocalDateKey as Xt, addMonths as Y, formatLocalScheduleDate as Yt, formatDateKey as Z, getLocalScheduleDate as Zt, toWholeSeriesRegistrationEvents as _, getBookingServiceSlidingScale as _t, buildProductDetailDisplay as a, isPublicEventPricingOptionDisplayable as an, groupPublicEventsByRun as at, resolveDiscountContext as b, parseBookingCurrencyInputToCents as bt, EMPTY_COMMERCE_CART_STATE as c, publicEventPricingOptions as cn, resolveOnColorForThemeToken as ct, deriveCommerceCheckoutState as d, formatCurrencyAmount as dn, normalizeCardRole as dt, toBookingTimeZone as en, getWeekCalendarDays as et, parseStoredCommerceCartState as f, parseCurrencyCode as fn, logger as ft, toRegistrationEvents as g, getBookingRedirectStateFromLocation as gt, getRegistrationStartAt as h, formatBookingSubmissionPreparationError as ht, buildProductCardDisplay as i, formatEventPricing as in, resolveRuntimeEventDestination as it, resolveSpacing as j, RichTextDocSchema as jt, SEMANTIC_SPACING_VALUES as k, BOOKING_FORM_DATA_RESERVED_KEYS as kt, buildPassCartItem as l, publicEventPricingStrategy as ln, resolveTokenOrCssColorValue as lt, reduceCommerceCart as m, formatBookingCentsAsCurrencyInput as mt, getShopDisplayForItems as n, toScheduledBookingDateTime as nn, isToday as nt, formatCommercePrice as o, publicEventPricingCurrency as on, boxBackgroundSchema as ot, productItemKey as p, assertNever$2 as pn, deriveBookingFormViewState as pt, MONTH_NAMES as q, formatBookingInstant as qt, buildCartDisplay as r, formatBookingPriceDisplay as rn, shiftCalendarAnchorDate as rt, formatInterval as s, publicEventPricingDisplay as sn, isCssColorLiteral as st, defineIslandPropsDecoder as t, toScheduledBookingDateRange as tn, isSameCalendarDay as tt, buildProductCartItem as u, publicEventPricingType as un, themeButtonClassName as ut, findEventByOccurrenceId as v, getBookingSuccessMessage as vt, getStepNumber as w, resolveBookingSiteId as wt, resolveEventRequiresPayment as x, prepareBookingSubmission as xt, findPreSelectedEvent as y, isBookingServiceSlidingAmountInRange as yt, resolveCalendarReadProfile as z, reportWorkflowSuccess as zt };
12654
+ export { getDayOfWeek as $, parseBookingLocalDate as $t, SEMANTIC_SPACING_VALUES as A, BOOKING_FORM_DATA_RESERVED_KEYS as At, resolveCalendarReadProfile as B, reportWorkflowSuccess as Bt, resolveRegistrationTarget as C, resolveAppointmentCheckoutVerificationState as Ct, buildEventCalendarListingRender as D, toSelectedCollectionOptionKind as Dt, getWizardStepsForContext as E, resolveDefaultBookingServiceId as Et, calendarQueryKey as F, clearWorkflowFeedback as Ft, normalizeOptionalId as G, formatBookingDate as Gt, getEventRuntimeFiltersKey as H, resolveWholeSeriesBookingPhase as Ht, calendarWindowBounds as I, err as It, MONTH_NAMES as J, formatBookingInstant as Jt, getCardOrientation as K, formatBookingDateParts as Kt, calendarWindowMonths as L, ok as Lt, resolveSpacing as M, RichTextDocSchema as Mt, calendarMonthDate as N, isRecord$4 as Nt, staticHeaderChromeRuntime as O, projectSelectedAppointmentConsentIntoForm as Ot, calendarPageResponseError as P, assertNever$1 as Pt, formatDateKey as Q, getLocalScheduleDate as Qt, calendarWindowPageSchema as R, okWith as Rt, resolveEventRequiresPayment as S, prepareBookingSubmission as St, getStepNumber as T, resolveBookingSiteId as Tt, normalizeCsvIds as U, parseMailingListVisitorSelection as Ut, buildEventRuntimeFilters as V, CANCELLED_SESSION_STATUS as Vt, normalizeCsvString as W, addLocalScheduleDays as Wt, addMonths as X, formatLocalScheduleDate as Xt, addDays as Y, formatBookingTime as Yt, buildCalendarViewport as Z, getBookingLocalDateKey as Zt, toRegistrationEvents as _, getBookingRedirectStateFromLocation as _t, buildProductDetailDisplay as a, formatEventPricing as an, resolveRuntimeEventDestination as at, findPreSelectedEvent as b, isBookingServiceSlidingAmountInRange as bt, EMPTY_COMMERCE_CART_STATE as c, publicEventPricingDisplay as cn, isCssColorLiteral as ct, deriveCommerceCheckoutState as d, publicEventPricingType as dn, themeButtonClassName as dt, resolveBookingTimeZoneId as en, getOrderedDayNames as et, parseStoredCommerceCartState as f, formatCurrencyAmount as fn, normalizeCardRole as ft, getRegistrationStartAt as g, formatBookingSubmissionPreparationError as gt, buildEventRegistrationDisplayFromScopedEvents as h, formatBookingCentsAsCurrencyInput as ht, buildProductCardDisplay as i, formatBookingPriceDisplay as in, shiftCalendarAnchorDate as it, isSemanticSpacing as j, isBookingRequirementConsentFieldId as jt, resolveEventRegistrationScopedEvents as k, resolveSelectedAppointmentConsent as kt, buildPassCartItem as l, publicEventPricingOptions as ln, resolveOnColorForThemeToken as lt, reduceCommerceCart as m, assertNever$2 as mn, deriveBookingFormViewState as mt, getShopDisplayForItems as n, toScheduledBookingDateRange as nn, isSameCalendarDay as nt, formatCommercePrice as o, isPublicEventPricingOptionDisplayable as on, groupPublicEventsByRun as ot, productItemKey as p, parseCurrencyCode as pn, logger as pt, getContainerClass as q, formatBookingDateTime as qt, buildCartDisplay as r, toScheduledBookingDateTime as rn, isToday as rt, formatInterval as s, publicEventPricingCurrency as sn, boxBackgroundSchema as st, defineIslandPropsDecoder as t, toBookingTimeZone as tn, getWeekCalendarDays as tt, buildProductCartItem as u, publicEventPricingStrategy as un, resolveTokenOrCssColorValue as ut, toWholeSeriesRegistrationEvents as v, getBookingServiceSlidingScale as vt, WIZARD_STEPS as w, resolveBookingPaymentStep as wt, resolveDiscountContext as x, parseBookingCurrencyInputToCents as xt, findEventByOccurrenceId as y, getBookingSuccessMessage as yt, planCalendarMonthRanges as z, reportWorkflowError as zt };