@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
@@ -564,7 +564,7 @@ function parseUuidBrand(value, unsafeConstructor) {
564
564
  if (!UUID_PATTERN$1.test(normalized)) return err$1({ kind: "invalid_uuid" });
565
565
  return ok$1(unsafeConstructor(normalized));
566
566
  }
567
- var UUID_PATTERN$1, unsafeAsSiteId, unsafeAsApiKeyId, unsafeAsEventOfferingId, unsafeAsEventSeriesId, unsafeAsStorageBucketName, unsafeAsPositiveByteCount$1, unsafeAsPositiveSeconds, unsafeAsUserId, parseSiteId, parseApiKeyId, parseEventOfferingId, parseUserId, parseEventSeriesId;
567
+ var UUID_PATTERN$1, unsafeAsSiteId, unsafeAsApiKeyId, unsafeAsEventOfferingId, unsafeAsEventSeriesId, unsafeAsStorageBucketName, unsafeAsPositiveByteCount$1, unsafeAsPositiveSeconds, unsafeAsUserId, unsafeAsContentVersionId, parseSiteId, parseApiKeyId, parseEventOfferingId, parseUserId, parseContentVersionId, parseEventSeriesId;
568
568
  var init_branded = __esmMin((() => {
569
569
  init_result();
570
570
  UUID_PATTERN$1 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
@@ -576,10 +576,12 @@ var init_branded = __esmMin((() => {
576
576
  unsafeAsPositiveByteCount$1 = (value) => value;
577
577
  unsafeAsPositiveSeconds = (value) => value;
578
578
  unsafeAsUserId = (id) => id;
579
+ unsafeAsContentVersionId = (id) => id;
579
580
  parseSiteId = (value) => parseUuidBrand(value, unsafeAsSiteId);
580
581
  parseApiKeyId = (value) => parseUuidBrand(value, unsafeAsApiKeyId);
581
582
  parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
582
583
  parseUserId = (value) => parseUuidBrand(value, unsafeAsUserId);
584
+ parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
583
585
  parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
584
586
  }));
585
587
  //#endregion
@@ -851,7 +853,7 @@ function parseEventPageSurfaceDestinationMode(value) {
851
853
  return value === "cms-managed" || value === "system-managed" ? value : void 0;
852
854
  }
853
855
  function parseEventPageSurfaceSubject(value) {
854
- if (!isRecord$15(value)) return err$1({ kind: "notObject" });
856
+ if (!isRecord$16(value)) return err$1({ kind: "notObject" });
855
857
  switch (value.kind) {
856
858
  case "eventSeries": {
857
859
  const eventSeriesId = parseEventSeriesId(value.eventSeriesId);
@@ -906,7 +908,7 @@ function parseEventSeriesIdList(values) {
906
908
  }
907
909
  return ok$1(parsed);
908
910
  }
909
- function isRecord$15(value) {
911
+ function isRecord$16(value) {
910
912
  return typeof value === "object" && value !== null && !Array.isArray(value);
911
913
  }
912
914
  var init_event_page_surface_subject = __esmMin((() => {
@@ -1150,6 +1152,9 @@ var init_public_url_validation = __esmMin((() => {}));
1150
1152
  //#region ../core/src/public-profile.ts
1151
1153
  var init_public_profile = __esmMin((() => {}));
1152
1154
  //#endregion
1155
+ //#region ../core/src/public-experience.ts
1156
+ var init_public_experience = __esmMin((() => {}));
1157
+ //#endregion
1153
1158
  //#region ../core/src/rich-text.ts
1154
1159
  var init_rich_text = __esmMin((() => {}));
1155
1160
  //#endregion
@@ -1191,12 +1196,18 @@ function parsePositiveInteger(value) {
1191
1196
  function parseNewsletterListId(value) {
1192
1197
  return parseTrimmedMatchingString(value, UUID_PATTERN);
1193
1198
  }
1199
+ function parseMailchimpAccountId(value) {
1200
+ return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
1201
+ }
1194
1202
  function parseMailchimpAudienceId(value) {
1195
1203
  return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
1196
1204
  }
1197
1205
  function parseMailchimpInterestId(value) {
1198
1206
  return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
1199
1207
  }
1208
+ function parseBrevoAccountId(value) {
1209
+ return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
1210
+ }
1200
1211
  function parseBrevoListId(value) {
1201
1212
  return parsePositiveInteger(value);
1202
1213
  }
@@ -1207,7 +1218,34 @@ var init_mailing_list_identifiers = __esmMin((() => {
1207
1218
  }));
1208
1219
  //#endregion
1209
1220
  //#region ../core/src/mailing-list-setup.ts
1210
- var init_mailing_list_setup = __esmMin((() => {}));
1221
+ function isRecord$15(value) {
1222
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1223
+ }
1224
+ function parseMailingListProviderScope(value) {
1225
+ if (!isRecord$15(value)) return err$1("invalid_mailing_list_provider_scope");
1226
+ if (value.provider === "native") return ok$1({ provider: "native" });
1227
+ if (value.provider === "brevo") {
1228
+ const accountId = parseBrevoAccountId(value.accountId);
1229
+ return accountId !== null ? ok$1({
1230
+ provider: "brevo",
1231
+ accountId
1232
+ }) : err$1("invalid_mailing_list_provider_scope");
1233
+ }
1234
+ if (value.provider === "mailchimp") {
1235
+ const accountId = parseMailchimpAccountId(value.accountId);
1236
+ return accountId !== null ? ok$1({
1237
+ provider: "mailchimp",
1238
+ accountId
1239
+ }) : err$1("invalid_mailing_list_provider_scope");
1240
+ }
1241
+ return err$1("invalid_mailing_list_provider_scope");
1242
+ }
1243
+ var DEFAULT_MAILING_LIST_SUCCESS_MESSAGE;
1244
+ var init_mailing_list_setup = __esmMin((() => {
1245
+ init_mailing_list_identifiers();
1246
+ init_result();
1247
+ DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
1248
+ }));
1211
1249
  //#endregion
1212
1250
  //#region ../core/src/mailing-list-setup-parser.ts
1213
1251
  function parseMailingListGlobalForm(value) {
@@ -1217,12 +1255,15 @@ function parseMailingListGlobalForm(value) {
1217
1255
  if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
1218
1256
  const buttonLabel = parseRequiredString(value.buttonLabel);
1219
1257
  if (buttonLabel === null) return formError("buttonLabel");
1258
+ const successMessage = parseRequiredString(value.successMessage);
1259
+ if (successMessage === null) return formError("successMessage");
1220
1260
  const privacyNote = parseOptionalString(value.privacyNote);
1221
1261
  if (privacyNote === void 0) return formError("privacyNote");
1222
1262
  return ok$1({
1223
1263
  fields,
1224
1264
  includeOptionalPhone: value.includeOptionalPhone,
1225
1265
  buttonLabel,
1266
+ successMessage,
1226
1267
  privacyNote
1227
1268
  });
1228
1269
  }
@@ -1565,14 +1606,22 @@ function parseMailingListSignedSourceToken(value) {
1565
1606
  const parsed = typeof value === "string" ? value.trim() : "";
1566
1607
  return /^[A-Za-z0-9._~-]{16,1000}$/u.test(parsed) ? parsed : null;
1567
1608
  }
1568
- function buildMailingListSignupBlockSourceRef(blockId) {
1569
- const parsed = parseMailingListBlockId(blockId);
1570
- return parsed !== null ? {
1609
+ function parseMailingListContentVersionId(value) {
1610
+ const parsed = parseContentVersionId(value);
1611
+ return parsed.ok ? parsed.value : null;
1612
+ }
1613
+ function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
1614
+ const parsedBlockId = parseMailingListBlockId(blockId);
1615
+ const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
1616
+ return parsedBlockId !== null && parsedContentVersionId !== null ? {
1571
1617
  tag: "block_ref",
1572
- blockId: parsed
1618
+ blockId: parsedBlockId,
1619
+ contentVersionId: parsedContentVersionId
1573
1620
  } : null;
1574
1621
  }
1575
- var init_mailing_list_submission = __esmMin((() => {}));
1622
+ var init_mailing_list_submission = __esmMin((() => {
1623
+ init_branded();
1624
+ }));
1576
1625
  //#endregion
1577
1626
  //#region ../core/src/number-input.ts
1578
1627
  var init_number_input = __esmMin((() => {}));
@@ -2086,6 +2135,7 @@ var init_src$4 = __esmMin((() => {
2086
2135
  init_participant_identity();
2087
2136
  init_public_url_validation();
2088
2137
  init_public_profile();
2138
+ init_public_experience();
2089
2139
  init_rich_text();
2090
2140
  init_footer_composition();
2091
2141
  init_footer_navigation_layout();
@@ -3596,7 +3646,7 @@ var init_buttonColourContract = __esmMin((() => {
3596
3646
  nonTextMinimumRatio: 3,
3597
3647
  gradientSamplesPerSegment: 20,
3598
3648
  alphaBackgrounds: "reject-without-known-surface",
3599
- disabled: "retain-full-colour-contract"
3649
+ disabled: "validated-colour-pair-with-muted-control-opacity"
3600
3650
  };
3601
3651
  }));
3602
3652
  //#endregion
@@ -4125,82 +4175,125 @@ var init_classNames = __esmMin((() => {
4125
4175
  init_types$13();
4126
4176
  }));
4127
4177
  //#endregion
4128
- //#region ../theme-core/src/buttons/effects/presets/background.ts
4129
- function shadeBackgroundEffect(config) {
4130
- return {
4131
- id: config.id,
4132
- name: config.name,
4133
- description: config.description,
4134
- category: "background",
4135
- pseudoElement: "none",
4136
- applicableTo: ["button"],
4137
- customizableOption: {
4138
- name: "amount",
4139
- type: "select",
4140
- label: config.label,
4141
- default: 100,
4142
- options: [
4143
- 0,
4144
- 100,
4145
- 200,
4146
- 300,
4147
- 400,
4148
- 500,
4149
- 600,
4150
- 700,
4151
- 800,
4152
- 900
4153
- ]
4178
+ //#region ../theme-core/src/tokens/tokens.ts
4179
+ var defaultThemeTokens;
4180
+ var init_tokens$1 = __esmMin((() => {
4181
+ defaultThemeTokens = {
4182
+ color: {
4183
+ "background/base": "#ffffff",
4184
+ "background/elevated": "#f5f5f5",
4185
+ "surface/base": "#ffffff",
4186
+ "surface/subtle": "#f9f9fb",
4187
+ "surface/inverted": "#111111",
4188
+ "content/primary": "#111111",
4189
+ "content/secondary": "#3f3f46",
4190
+ "accent/primary": "#2563eb",
4191
+ "accent/secondary": "#1d4ed8",
4192
+ "border/base": "#e5e7eb"
4154
4193
  },
4155
- isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
4156
- generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
4157
- if (buttonConfig.background.type !== "solid") return "";
4158
- const amount = (options.amount || 100) * config.shadeDirection;
4159
- const baseToken = buttonConfig.background.colorToken ?? "primary-500";
4160
- return `
4161
- :where([data-theme-scope="${themeId}"]) .${variantId}:hover {
4162
- background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
4163
- }
4164
- `;
4194
+ typography: {
4195
+ "display/hero": {
4196
+ fontSize: "clamp(48px, 8vw, 96px)",
4197
+ lineHeight: "1.05",
4198
+ fontWeight: "700"
4199
+ },
4200
+ "display/section": {
4201
+ fontSize: "clamp(40px, 6vw, 72px)",
4202
+ lineHeight: "1.1",
4203
+ fontWeight: "700"
4204
+ },
4205
+ "heading/large": {
4206
+ fontSize: "clamp(32px, 4vw, 48px)",
4207
+ lineHeight: "1.2",
4208
+ fontWeight: "600"
4209
+ },
4210
+ "heading/medium": {
4211
+ fontSize: "clamp(24px, 3vw, 32px)",
4212
+ lineHeight: "1.25",
4213
+ fontWeight: "600"
4214
+ },
4215
+ "heading/small": {
4216
+ fontSize: "20px",
4217
+ lineHeight: "1.3",
4218
+ fontWeight: "600"
4219
+ },
4220
+ "body/normal": {
4221
+ fontSize: "16px",
4222
+ lineHeight: "1.6",
4223
+ fontWeight: "400"
4224
+ },
4225
+ "body/small": {
4226
+ fontSize: "14px",
4227
+ lineHeight: "1.5",
4228
+ fontWeight: "400"
4229
+ },
4230
+ caption: {
4231
+ fontSize: "12px",
4232
+ lineHeight: "1.4",
4233
+ fontWeight: "500"
4234
+ }
4235
+ },
4236
+ spacing: {
4237
+ none: "0px",
4238
+ "3xs": "4px",
4239
+ "2xs": "8px",
4240
+ xs: "12px",
4241
+ sm: "16px",
4242
+ md: "24px",
4243
+ lg: "32px",
4244
+ xl: "40px",
4245
+ "2xl": "56px",
4246
+ "3xl": "72px"
4247
+ },
4248
+ radius: {
4249
+ none: "0px",
4250
+ xs: "2px",
4251
+ sm: "4px",
4252
+ md: "8px",
4253
+ lg: "12px",
4254
+ pill: "999px",
4255
+ full: "9999px"
4256
+ },
4257
+ shadow: {
4258
+ none: "none",
4259
+ soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
4260
+ medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
4261
+ strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
4262
+ },
4263
+ palette: {
4264
+ surface: "#ffffff",
4265
+ "neutral-50": "#f9fafb",
4266
+ "neutral-900": "#111827",
4267
+ primary: "#2563eb",
4268
+ "primary-50": "#eff6ff",
4269
+ "primary-500": "#2563eb",
4270
+ "primary-900": "#1d4ed8",
4271
+ secondary: "#9333ea",
4272
+ "secondary-50": "#f3e8ff",
4273
+ "secondary-500": "#9333ea",
4274
+ "secondary-900": "#4c1d95",
4275
+ accent: "#f97316",
4276
+ "accent-50": "#fff7ed",
4277
+ "accent-500": "#f97316",
4278
+ "accent-900": "#7c2d12"
4165
4279
  }
4166
4280
  };
4167
- }
4168
- var init_background$3 = __esmMin((() => {
4169
- shadeBackgroundEffect({
4170
- id: "darken-background",
4171
- name: "Darken on Hover",
4172
- description: "Darkens the background color on hover",
4173
- label: "Darken Amount (shade step)",
4174
- shadeDirection: 1
4175
- });
4176
- shadeBackgroundEffect({
4177
- id: "lighten-background",
4178
- name: "Lighten on Hover",
4179
- description: "Lightens the background color on hover",
4180
- label: "Lighten Amount (shade step)",
4181
- shadeDirection: -1
4182
- });
4183
4281
  }));
4184
4282
  //#endregion
4185
- //#region ../theme-core/src/buttons/effects/registry.ts
4186
- var init_registry$8 = __esmMin((() => {
4187
- init_background$3();
4188
- init_effectClassification();
4189
- }));
4190
- //#endregion
4191
- //#region ../theme-core/src/interactive/generateEffectsCSS.ts
4192
- var init_generateEffectsCSS = __esmMin((() => {
4193
- init_registry$8();
4283
+ //#region ../theme-core/src/tokens/index.ts
4284
+ var init_tokens = __esmMin((() => {
4285
+ init_tokens$1();
4286
+ init_blockColorTokens();
4287
+ init_themeColorTokens();
4288
+ init_colorTokenParts();
4289
+ init_resolver$2();
4194
4290
  }));
4195
4291
  //#endregion
4196
- //#region ../theme-core/src/buttons/generateDefaultButtonSystem.ts
4197
- var init_generateDefaultButtonSystem = __esmMin((() => {
4198
- init_types$13();
4292
+ //#region ../theme-core/src/surfaces/foregroundInteraction.ts
4293
+ var init_foregroundInteraction = __esmMin((() => {
4294
+ init_tokens();
4199
4295
  }));
4200
4296
  //#endregion
4201
- //#region ../theme-core/src/buttons/affordanceIcons.ts
4202
- var init_affordanceIcons = __esmMin((() => {}));
4203
- //#endregion
4204
4297
  //#region ../theme-core/src/palette/utils/opaqueSurfaceColor.ts
4205
4298
  /** Resolve an opaque colour, compositing alpha against an explicit underlay. */
4206
4299
  function resolveOpaqueSurfaceHex(reference, palette, underlayReference) {
@@ -4405,6 +4498,7 @@ var init_resolveSurfaceForeground = __esmMin((() => {
4405
4498
  //#region ../theme-core/src/surfaces/index.ts
4406
4499
  var init_surfaces = __esmMin((() => {
4407
4500
  init_foregroundContract();
4501
+ init_foregroundInteraction();
4408
4502
  init_foregroundRoles();
4409
4503
  init_resolveSurfaceForeground();
4410
4504
  }));
@@ -4510,6 +4604,87 @@ var init_colorStyles = __esmMin((() => {
4510
4604
  };
4511
4605
  }));
4512
4606
  //#endregion
4607
+ //#region ../theme-core/src/tokens/resolver.ts
4608
+ var init_resolver$2 = __esmMin((() => {
4609
+ init_colorStyles();
4610
+ }));
4611
+ //#endregion
4612
+ //#region ../theme-core/src/buttons/effects/presets/background.ts
4613
+ function shadeBackgroundEffect(config) {
4614
+ return {
4615
+ id: config.id,
4616
+ name: config.name,
4617
+ description: config.description,
4618
+ category: "background",
4619
+ pseudoElement: "none",
4620
+ applicableTo: ["button"],
4621
+ customizableOption: {
4622
+ name: "amount",
4623
+ type: "select",
4624
+ label: config.label,
4625
+ default: 100,
4626
+ options: [
4627
+ 0,
4628
+ 100,
4629
+ 200,
4630
+ 300,
4631
+ 400,
4632
+ 500,
4633
+ 600,
4634
+ 700,
4635
+ 800,
4636
+ 900
4637
+ ]
4638
+ },
4639
+ isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
4640
+ generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
4641
+ if (buttonConfig.background.type !== "solid") return "";
4642
+ const amount = (options.amount || 100) * config.shadeDirection;
4643
+ const baseToken = buttonConfig.background.colorToken ?? "primary-500";
4644
+ return `
4645
+ :where([data-theme-scope="${themeId}"]) .${variantId}:hover {
4646
+ background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
4647
+ }
4648
+ `;
4649
+ }
4650
+ };
4651
+ }
4652
+ var init_background$3 = __esmMin((() => {
4653
+ shadeBackgroundEffect({
4654
+ id: "darken-background",
4655
+ name: "Darken on Hover",
4656
+ description: "Darkens the background color on hover",
4657
+ label: "Darken Amount (shade step)",
4658
+ shadeDirection: 1
4659
+ });
4660
+ shadeBackgroundEffect({
4661
+ id: "lighten-background",
4662
+ name: "Lighten on Hover",
4663
+ description: "Lightens the background color on hover",
4664
+ label: "Lighten Amount (shade step)",
4665
+ shadeDirection: -1
4666
+ });
4667
+ }));
4668
+ //#endregion
4669
+ //#region ../theme-core/src/buttons/effects/registry.ts
4670
+ var init_registry$8 = __esmMin((() => {
4671
+ init_background$3();
4672
+ init_effectClassification();
4673
+ }));
4674
+ //#endregion
4675
+ //#region ../theme-core/src/interactive/generateEffectsCSS.ts
4676
+ var init_generateEffectsCSS = __esmMin((() => {
4677
+ init_registry$8();
4678
+ }));
4679
+ //#endregion
4680
+ //#region ../theme-core/src/buttons/generateDefaultButtonSystem.ts
4681
+ var init_generateDefaultButtonSystem = __esmMin((() => {
4682
+ init_types$13();
4683
+ }));
4684
+ //#endregion
4685
+ //#region ../theme-core/src/buttons/affordanceIcons.ts
4686
+ var init_affordanceIcons = __esmMin((() => {}));
4687
+ //#endregion
4513
4688
  //#region ../theme-core/src/utils/tokenOrColor.ts
4514
4689
  function isCssColorLiteral(value) {
4515
4690
  const trimmed = value.trim();
@@ -4947,6 +5122,7 @@ var init_resolvedButtonCss = __esmMin((() => {
4947
5122
  var init_generateButtonCss = __esmMin((() => {
4948
5123
  init_types$13();
4949
5124
  init_classNames();
5125
+ init_resolver$2();
4950
5126
  init_generateEffectsCSS();
4951
5127
  init_generateDefaultButtonSystem();
4952
5128
  init_resolveButtonColourStates();
@@ -6995,6 +7171,7 @@ var init_roles = __esmMin((() => {
6995
7171
  //#endregion
6996
7172
  //#region ../theme-core/src/cards/generateCardCss.ts
6997
7173
  var init_generateCardCss = __esmMin((() => {
7174
+ init_resolver$2();
6998
7175
  init_roles();
6999
7176
  init_types$12();
7000
7177
  init_surfaces();
@@ -8903,15 +9080,34 @@ var init_bookingConsent = __esmMin((() => {
8903
9080
  checkboxLabel: z.string().min(1)
8904
9081
  });
8905
9082
  z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
8906
- }));
8907
- //#endregion
8908
- //#region ../blocks/src/system/blocks/events/shared/schemas.ts
8909
- var eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCurrencySchema, publicCentsSchema, publicPositiveCentsSchema, publicIsoDateTimeSchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventPricingOptionAvailabilitySchema, publicEventPricingOptionSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicRunSessionSchema, publicWholeSeriesRunSchema, publicEventBaseSchema, publicEventSchema, publicEventsArraySchema;
9083
+ })), publicEventLoaderQuerySchemaShape, eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCurrencySchema, publicCentsSchema, publicPositiveCentsSchema, publicIsoDateTimeSchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventPricingOptionAvailabilitySchema, publicEventPricingOptionSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicRunSessionSchema, publicWholeSeriesRunSchema, publicEventBaseSchema, publicEventSchema, publicEventsArraySchema;
8910
9084
  var init_schemas = __esmMin((() => {
8911
9085
  init_media$3();
8912
9086
  init_richTextSchema();
8913
9087
  init_bookingPaymentTerms();
8914
9088
  init_bookingConsent();
9089
+ publicEventLoaderQuerySchemaShape = {
9090
+ limit: z.string().optional(),
9091
+ from: z.string().optional(),
9092
+ to: z.string().optional(),
9093
+ afterStartsAt: z.string().optional(),
9094
+ afterId: z.string().optional(),
9095
+ categoryIds: z.string().optional(),
9096
+ venueId: z.string().optional(),
9097
+ staffMemberId: z.string().optional(),
9098
+ eventSurface: z.string().optional(),
9099
+ eventPresets: z.string().optional(),
9100
+ scheduleScope: z.string().optional(),
9101
+ seriesId: z.string().optional(),
9102
+ seriesIds: z.string().optional(),
9103
+ runSeriesId: z.string().optional(),
9104
+ seriesSlug: z.string().optional(),
9105
+ includeOccurrenceId: z.string().optional(),
9106
+ readIntent: z.string().optional(),
9107
+ detailLevel: z.string().optional(),
9108
+ readProfile: z.string().optional()
9109
+ };
9110
+ z.object(publicEventLoaderQuerySchemaShape);
8915
9111
  eventPresetSchema = z.enum([
8916
9112
  "event",
8917
9113
  "class",
@@ -9315,6 +9511,7 @@ var init_calendarWindow = __esmMin((() => {
9315
9511
  eventSurface: z.enum(eventSurfaceScopeValues).optional(),
9316
9512
  eventPresets: z.string().optional(),
9317
9513
  scheduleScope: z.enum(eventScheduleScopeValues).optional(),
9514
+ seriesIds: z.string().optional(),
9318
9515
  categoryIds: z.string().optional(),
9319
9516
  venueId: z.string().transform(normalizeCalendarFilterId).optional(),
9320
9517
  staffMemberId: z.string().transform(normalizeCalendarFilterId).optional()
@@ -10774,6 +10971,14 @@ var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
10774
10971
  auth: "public",
10775
10972
  responseKind: "json"
10776
10973
  },
10974
+ getPublicBookingServiceBySlug: {
10975
+ path: "/public/bookings/services/by-slug/{slug}",
10976
+ method: "GET",
10977
+ revalidate: publicReadFreshnessSeconds("getPublicBookingService"),
10978
+ tags: [TAG_TEMPLATES.publicBookingServices],
10979
+ auth: "public",
10980
+ responseKind: "json"
10981
+ },
10777
10982
  getPublicBookingResourcesReference: {
10778
10983
  path: "/public/bookings/resources/reference",
10779
10984
  method: "GET",
@@ -11344,6 +11549,99 @@ var init_publicReadEndpointDefinitions = __esmMin((() => {
11344
11549
  }
11345
11550
  });
11346
11551
  }));
11552
+ //#endregion
11553
+ //#region ../api/src/publicOnboardingAttemptEndpointDefinitions.ts
11554
+ var PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS;
11555
+ var init_publicOnboardingAttemptEndpointDefinitions = __esmMin((() => {
11556
+ init_defineEndpointDefinitions();
11557
+ PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11558
+ createPublicOnboardingAttempt: {
11559
+ path: "/public/onboarding/attempts",
11560
+ method: "POST",
11561
+ auth: "public",
11562
+ errors: [],
11563
+ responseKind: "json"
11564
+ },
11565
+ createPublicOnboardingLogoUploadUrl: {
11566
+ path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url",
11567
+ method: "POST",
11568
+ auth: "public",
11569
+ errors: [],
11570
+ responseKind: "json"
11571
+ },
11572
+ uploadPublicOnboardingLogo: {
11573
+ path: "/public/onboarding/attempts/{attemptToken}/logo",
11574
+ method: "POST",
11575
+ auth: "public",
11576
+ errors: [],
11577
+ responseKind: "json"
11578
+ },
11579
+ getPublicOnboardingAttempt: {
11580
+ path: "/public/onboarding/attempts/{attemptToken}",
11581
+ method: "GET",
11582
+ auth: "public",
11583
+ errors: [],
11584
+ responseKind: "json"
11585
+ },
11586
+ getPublicOnboardingAttemptProgress: {
11587
+ path: "/public/onboarding/attempts/{attemptToken}/status",
11588
+ method: "GET",
11589
+ auth: "public",
11590
+ errors: [],
11591
+ responseKind: "json"
11592
+ },
11593
+ updatePublicOnboardingAttempt: {
11594
+ path: "/public/onboarding/attempts/{attemptToken}",
11595
+ method: "PATCH",
11596
+ auth: "public",
11597
+ errors: [],
11598
+ responseKind: "json"
11599
+ },
11600
+ runPublicOnboardingAttempt: {
11601
+ path: "/public/onboarding/attempts/{attemptToken}/run",
11602
+ method: "POST",
11603
+ auth: "public",
11604
+ errors: [],
11605
+ responseKind: "json"
11606
+ },
11607
+ resendPublicOnboardingAttemptConfirmation: {
11608
+ path: "/public/onboarding/attempts/{attemptToken}/resend-confirmation",
11609
+ method: "POST",
11610
+ auth: "public",
11611
+ errors: [],
11612
+ responseKind: "json"
11613
+ }
11614
+ });
11615
+ }));
11616
+ //#endregion
11617
+ //#region ../api/src/billingEndpointDefinitions.ts
11618
+ var BILLING_ENDPOINT_DEFINITIONS;
11619
+ var init_billingEndpointDefinitions = __esmMin((() => {
11620
+ init_defineEndpointDefinitions();
11621
+ BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11622
+ adminChangePlan: {
11623
+ path: "/admin/billing/plan",
11624
+ method: "POST",
11625
+ tags: ["admin", "billing"],
11626
+ auth: "admin",
11627
+ responseKind: "json"
11628
+ },
11629
+ changePlan: {
11630
+ path: "/billing/plan/change",
11631
+ method: "POST",
11632
+ tags: ["billing"],
11633
+ auth: "user",
11634
+ responseKind: "json"
11635
+ },
11636
+ createBillingPortalSession: {
11637
+ path: "/billing/portal/session",
11638
+ method: "POST",
11639
+ tags: ["billing"],
11640
+ auth: "user",
11641
+ responseKind: "json"
11642
+ }
11643
+ });
11644
+ }));
11347
11645
  var init_endpoints = __esmMin((() => {
11348
11646
  init_demoMutationPolicies();
11349
11647
  init_cache_tags();
@@ -11361,16 +11659,20 @@ var init_endpoints = __esmMin((() => {
11361
11659
  init_sdkEndpointDefinitions();
11362
11660
  init_sdkMediaEndpointDefinitions();
11363
11661
  init_publicReadEndpointDefinitions();
11662
+ init_publicOnboardingAttemptEndpointDefinitions();
11663
+ init_billingEndpointDefinitions();
11364
11664
  ({
11365
11665
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
11666
+ ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
11366
11667
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
11367
11668
  ...GIFTING_ENDPOINT_DEFINITIONS,
11368
- ...PUBLIC_READ_ENDPOINT_DEFINITIONS
11669
+ ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
11670
+ ...BILLING_ENDPOINT_DEFINITIONS
11369
11671
  }), 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, {
11370
11672
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
11371
11673
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
11372
11674
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
11373
- }, 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 };
11675
+ }, 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 };
11374
11676
  }));
11375
11677
  var init_preview_auth = __esmMin((() => {
11376
11678
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
@@ -15014,119 +15316,6 @@ var init_blockFlow = __esmMin((() => {
15014
15316
  init_types$7();
15015
15317
  }));
15016
15318
  //#endregion
15017
- //#region ../theme-core/src/tokens/tokens.ts
15018
- var defaultThemeTokens;
15019
- var init_tokens$1 = __esmMin((() => {
15020
- defaultThemeTokens = {
15021
- color: {
15022
- "background/base": "#ffffff",
15023
- "background/elevated": "#f5f5f5",
15024
- "surface/base": "#ffffff",
15025
- "surface/subtle": "#f9f9fb",
15026
- "surface/inverted": "#111111",
15027
- "content/primary": "#111111",
15028
- "content/secondary": "#3f3f46",
15029
- "accent/primary": "#2563eb",
15030
- "accent/secondary": "#1d4ed8",
15031
- "border/base": "#e5e7eb"
15032
- },
15033
- typography: {
15034
- "display/hero": {
15035
- fontSize: "clamp(48px, 8vw, 96px)",
15036
- lineHeight: "1.05",
15037
- fontWeight: "700"
15038
- },
15039
- "display/section": {
15040
- fontSize: "clamp(40px, 6vw, 72px)",
15041
- lineHeight: "1.1",
15042
- fontWeight: "700"
15043
- },
15044
- "heading/large": {
15045
- fontSize: "clamp(32px, 4vw, 48px)",
15046
- lineHeight: "1.2",
15047
- fontWeight: "600"
15048
- },
15049
- "heading/medium": {
15050
- fontSize: "clamp(24px, 3vw, 32px)",
15051
- lineHeight: "1.25",
15052
- fontWeight: "600"
15053
- },
15054
- "heading/small": {
15055
- fontSize: "20px",
15056
- lineHeight: "1.3",
15057
- fontWeight: "600"
15058
- },
15059
- "body/normal": {
15060
- fontSize: "16px",
15061
- lineHeight: "1.6",
15062
- fontWeight: "400"
15063
- },
15064
- "body/small": {
15065
- fontSize: "14px",
15066
- lineHeight: "1.5",
15067
- fontWeight: "400"
15068
- },
15069
- caption: {
15070
- fontSize: "12px",
15071
- lineHeight: "1.4",
15072
- fontWeight: "500"
15073
- }
15074
- },
15075
- spacing: {
15076
- none: "0px",
15077
- "3xs": "4px",
15078
- "2xs": "8px",
15079
- xs: "12px",
15080
- sm: "16px",
15081
- md: "24px",
15082
- lg: "32px",
15083
- xl: "40px",
15084
- "2xl": "56px",
15085
- "3xl": "72px"
15086
- },
15087
- radius: {
15088
- none: "0px",
15089
- xs: "2px",
15090
- sm: "4px",
15091
- md: "8px",
15092
- lg: "12px",
15093
- pill: "999px",
15094
- full: "9999px"
15095
- },
15096
- shadow: {
15097
- none: "none",
15098
- soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
15099
- medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
15100
- strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
15101
- },
15102
- palette: {
15103
- surface: "#ffffff",
15104
- "neutral-50": "#f9fafb",
15105
- "neutral-900": "#111827",
15106
- primary: "#2563eb",
15107
- "primary-50": "#eff6ff",
15108
- "primary-500": "#2563eb",
15109
- "primary-900": "#1d4ed8",
15110
- secondary: "#9333ea",
15111
- "secondary-50": "#f3e8ff",
15112
- "secondary-500": "#9333ea",
15113
- "secondary-900": "#4c1d95",
15114
- accent: "#f97316",
15115
- "accent-50": "#fff7ed",
15116
- "accent-500": "#f97316",
15117
- "accent-900": "#7c2d12"
15118
- }
15119
- };
15120
- }));
15121
- //#endregion
15122
- //#region ../theme-core/src/tokens/index.ts
15123
- var init_tokens = __esmMin((() => {
15124
- init_tokens$1();
15125
- init_blockColorTokens();
15126
- init_themeColorTokens();
15127
- init_colorTokenParts();
15128
- }));
15129
- //#endregion
15130
15319
  //#region ../theme-core/src/site-styles/backgroundAppearance.ts
15131
15320
  function parseBackgroundAppearanceColorToken(value) {
15132
15321
  if (typeof value !== "string") return null;
@@ -19126,6 +19315,7 @@ var init_headerPreferencesPersistence = __esmMin((() => {
19126
19315
  //#endregion
19127
19316
  //#region ../theme-core/src/site-styles/headerOpeningForeground.ts
19128
19317
  var init_headerOpeningForeground = __esmMin((() => {
19318
+ init_foregroundInteraction();
19129
19319
  init_tokens();
19130
19320
  }));
19131
19321
  //#endregion
@@ -19559,6 +19749,7 @@ var init_legacyNavLinkStyle = __esmMin((() => {
19559
19749
  //#endregion
19560
19750
  //#region ../theme-core/src/header/generateHeaderCss.ts
19561
19751
  var init_generateHeaderCss = __esmMin((() => {
19752
+ init_resolver$2();
19562
19753
  init_generateNavLinkCSS();
19563
19754
  init_siteChromeNavPreferences();
19564
19755
  init_shared$4();
@@ -19577,6 +19768,7 @@ var init_header = __esmMin((() => {
19577
19768
  //#endregion
19578
19769
  //#region ../theme-core/src/footer/generateFooterCss.ts
19579
19770
  var init_generateFooterCss = __esmMin((() => {
19771
+ init_resolver$2();
19580
19772
  init_generateNavLinkCSS();
19581
19773
  init_presets$1();
19582
19774
  }));
@@ -20300,6 +20492,7 @@ var init_buildThemeRuntimeFromBridge = __esmMin((() => {
20300
20492
  init_core$1();
20301
20493
  init_core$2();
20302
20494
  init_status();
20495
+ init_typography$1();
20303
20496
  init_blocks$2();
20304
20497
  z.object({
20305
20498
  tokens: z.record(z.string(), z.string()),
@@ -20829,6 +21022,7 @@ var init_schema = __esmMin((() => {
20829
21022
  ];
20830
21023
  siteOptionSources = [
20831
21024
  "eventCategories",
21025
+ "eventSeries",
20832
21026
  "venues",
20833
21027
  "staffMembers"
20834
21028
  ];
@@ -34313,7 +34507,8 @@ var init_appointment_services = __esmMin((() => {
34313
34507
  el$1("appointment-services", {
34314
34508
  sectionHeading: { $bind: { from: "content.heading" } },
34315
34509
  services: { $bind: { from: "data.services" } },
34316
- pathname: { $bind: { from: "$root.pathname" } }
34510
+ pathname: { $bind: { from: "$root.pathname" } },
34511
+ servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
34317
34512
  })
34318
34513
  ], { gap: "lg" })
34319
34514
  })]
@@ -35044,6 +35239,49 @@ var init_registrationEventAdapter = __esmMin((() => {
35044
35239
  init_runGrouping();
35045
35240
  }));
35046
35241
  //#endregion
35242
+ //#region ../blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.ts
35243
+ function resolveEventRegistrationEventSource(input) {
35244
+ if (input.wholeSeriesRunEvents != null) return {
35245
+ kind: "loaded",
35246
+ events: input.wholeSeriesRunEvents
35247
+ };
35248
+ if (input.events != null) return {
35249
+ kind: "loaded",
35250
+ events: input.events
35251
+ };
35252
+ return {
35253
+ kind: "unresolved",
35254
+ request: parseEventLoaderRecoveryRequest(input.failures?.wholeSeriesRunEvents ?? input.failures?.events)
35255
+ };
35256
+ }
35257
+ function parseEventLoaderRecoveryRequest(value) {
35258
+ const parsed = eventLoaderFailureSchema.safeParse(value);
35259
+ if (!parsed.success) return null;
35260
+ const { siteId: _siteId, stage, ...params } = parsed.data.params;
35261
+ return {
35262
+ ...params,
35263
+ stage: stage ?? "published"
35264
+ };
35265
+ }
35266
+ var _rawLimit, _rawEventSurface, _rawScheduleScope, _rawDetailLevel, stringEventQueryShape, eventRecoveryRequestSchema, eventLoaderFailureSchema;
35267
+ var init_eventSourceRecovery = __esmMin((() => {
35268
+ init_schemas();
35269
+ init_filtering();
35270
+ ({limit: _rawLimit, eventSurface: _rawEventSurface, scheduleScope: _rawScheduleScope, detailLevel: _rawDetailLevel, ...stringEventQueryShape} = publicEventLoaderQuerySchemaShape);
35271
+ eventRecoveryRequestSchema = z.object({
35272
+ ...stringEventQueryShape,
35273
+ limit: z.coerce.number().int().positive().optional(),
35274
+ eventSurface: z.enum(eventSurfaceScopeValues).optional(),
35275
+ scheduleScope: z.enum(eventScheduleScopeValues).optional(),
35276
+ detailLevel: z.enum(["full", "listing"]).optional(),
35277
+ stage: z.enum(["preview", "published"]).optional()
35278
+ });
35279
+ eventLoaderFailureSchema = z.object({
35280
+ endpoint: z.literal("listPublicEvents"),
35281
+ params: eventRecoveryRequestSchema.extend({ siteId: z.string().optional() })
35282
+ });
35283
+ }));
35284
+ //#endregion
35047
35285
  //#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
35048
35286
  function buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents) {
35049
35287
  const selectedRun = resolveSelectedWholeSeriesRun(scopedSourceEvents);
@@ -35092,16 +35330,12 @@ function buildEventRegistrationShellStepLabels(source, scopedSourceEvents) {
35092
35330
  function toScopedEventRegistrationEvents(scopedSourceEvents) {
35093
35331
  return [...toRegistrationEvents(scopedSourceEvents), ...toWholeSeriesRegistrationEvents(scopedSourceEvents)];
35094
35332
  }
35095
- function scopeEventRegistrationSourceEvents(source) {
35096
- return resolveEventRegistrationScopedEvents(source.wholeSeriesRunEvents ?? source.events ?? [], {
35333
+ function scopeEventRegistrationSourceEvents(source, eventSource) {
35334
+ return resolveEventRegistrationScopedEvents(eventSource.kind === "loaded" ? eventSource.events : [], {
35097
35335
  occurrenceContext: source.occurrenceContext,
35098
35336
  subject: source.subject
35099
35337
  });
35100
35338
  }
35101
- function resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents) {
35102
- if (source.events == null && source.wholeSeriesRunEvents == null) return null;
35103
- return [...scopedSourceEvents];
35104
- }
35105
35339
  /**
35106
35340
  * The one run this surface is registering for, when the scoped events describe
35107
35341
  * exactly one. More than one run means the visitor still has to choose.
@@ -35144,7 +35378,7 @@ function normalizeEventRegistrationEventInput(value) {
35144
35378
  function isRecord$6(value) {
35145
35379
  return typeof value === "object" && value !== null && !Array.isArray(value);
35146
35380
  }
35147
- var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
35381
+ var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationEventSourceSchema, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
35148
35382
  var init_event_registration_interactive = __esmMin((() => {
35149
35383
  init_schemas();
35150
35384
  init_runGrouping();
@@ -35158,6 +35392,7 @@ var init_event_registration_interactive = __esmMin((() => {
35158
35392
  init_wizardSteps();
35159
35393
  init_registrationDerivations();
35160
35394
  init_registrationEventAdapter();
35395
+ init_eventSourceRecovery();
35161
35396
  EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = [
35162
35397
  "Date",
35163
35398
  "Tickets",
@@ -35174,8 +35409,6 @@ var init_event_registration_interactive = __esmMin((() => {
35174
35409
  eventRegistrationHydrationSchemaShape = {
35175
35410
  occurrenceContext: occurrenceContextSchema.optional(),
35176
35411
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
35177
- events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
35178
- wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
35179
35412
  maxTickets: z.string().optional(),
35180
35413
  showVenue: z.boolean().optional(),
35181
35414
  showCapacity: z.boolean().optional(),
@@ -35187,12 +35420,22 @@ var init_event_registration_interactive = __esmMin((() => {
35187
35420
  sitePasses: publicPassProductCollectionSchema.nullable().optional(),
35188
35421
  siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
35189
35422
  };
35423
+ eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
35424
+ kind: z.literal("loaded"),
35425
+ events: z.array(eventRegistrationPublicEventSchema)
35426
+ }), z.object({
35427
+ kind: z.literal("unresolved"),
35428
+ request: eventRecoveryRequestSchema.nullable()
35429
+ })]);
35190
35430
  eventRegistrationSourceSchema = z.object({
35191
35431
  siteId: z.string().optional(),
35192
35432
  apiBaseUrl: z.string().optional(),
35193
35433
  portalToken: z.string().nullable().optional(),
35194
35434
  previewToken: z.string().nullable().optional(),
35195
35435
  ...eventRegistrationHydrationSchemaShape,
35436
+ events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
35437
+ wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
35438
+ eventLoaderFailures: z.record(z.string(), z.unknown()).nullable().optional(),
35196
35439
  className: z.string().nullable().optional(),
35197
35440
  buttonText: z.string().nullable().optional(),
35198
35441
  maxTickets: z.string().nullable().optional(),
@@ -35213,7 +35456,10 @@ var init_event_registration_interactive = __esmMin((() => {
35213
35456
  titleText: z.string(),
35214
35457
  bodyText: z.string()
35215
35458
  })]);
35216
- eventRegistrationHydrationSchema = z.object(eventRegistrationHydrationSchemaShape);
35459
+ eventRegistrationHydrationSchema = z.object({
35460
+ ...eventRegistrationHydrationSchemaShape,
35461
+ eventSource: eventRegistrationEventSourceSchema
35462
+ });
35217
35463
  eventRegistrationRenderSchema = z.object({
35218
35464
  display: eventRegistrationDisplaySchema,
35219
35465
  hydration: eventRegistrationHydrationSchema
@@ -35232,14 +35478,21 @@ var init_event_registration_interactive = __esmMin((() => {
35232
35478
  render: createZodCodec(eventRegistrationRenderSchema)
35233
35479
  },
35234
35480
  buildRender: (source) => {
35235
- const scopedSourceEvents = scopeEventRegistrationSourceEvents(source);
35236
- const events = resolveLoadedEventRegistrationSourceEvents(source, scopedSourceEvents);
35481
+ const eventSource = resolveEventRegistrationEventSource({
35482
+ events: source.events,
35483
+ wholeSeriesRunEvents: source.wholeSeriesRunEvents,
35484
+ failures: source.eventLoaderFailures
35485
+ });
35486
+ const scopedSourceEvents = scopeEventRegistrationSourceEvents(source, eventSource);
35237
35487
  return {
35238
35488
  display: buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents),
35239
35489
  hydration: {
35240
35490
  occurrenceContext: source.occurrenceContext ?? null,
35241
35491
  subject: source.subject ?? null,
35242
- events,
35492
+ eventSource: eventSource.kind === "loaded" ? {
35493
+ ...eventSource,
35494
+ events: [...scopedSourceEvents]
35495
+ } : eventSource,
35243
35496
  maxTickets: source.maxTickets ?? void 0,
35244
35497
  showVenue: source.showVenue,
35245
35498
  showCapacity: source.showCapacity,
@@ -35419,6 +35672,7 @@ var init_event_registration = __esmMin((() => {
35419
35672
  } },
35420
35673
  events: { $bind: { from: "data.events" } },
35421
35674
  wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
35675
+ loaderFailures: { $bind: { from: "$root.loaderFailures" } },
35422
35676
  sitePasses: { $bind: { from: "data.sitePasses" } },
35423
35677
  siteMemberships: { $bind: { from: "data.siteMemberships" } },
35424
35678
  stage: { $bind: {
@@ -35920,6 +36174,38 @@ var init_event_spotlight = __esmMin((() => {
35920
36174
  };
35921
36175
  }));
35922
36176
  //#endregion
36177
+ //#region ../blocks/src/system/blocks/events/shared/eventSelection.ts
36178
+ /** Invalid saved selections fail closed rather than widening discovery. */
36179
+ function resolveEventSelection(mode, value) {
36180
+ if (mode !== "selected") return { kind: "matching" };
36181
+ const candidates = Array.isArray(value) ? value : typeof value === "string" ? value.split(",").filter(Boolean) : [];
36182
+ const ids = [];
36183
+ for (const candidate of candidates) {
36184
+ if (typeof candidate !== "string") return {
36185
+ kind: "selected",
36186
+ seriesIds: []
36187
+ };
36188
+ const parsed = parseEventSeriesId(candidate.trim());
36189
+ if (!parsed.ok) return {
36190
+ kind: "selected",
36191
+ seriesIds: []
36192
+ };
36193
+ ids.push(parsed.value);
36194
+ }
36195
+ return {
36196
+ kind: "selected",
36197
+ seriesIds: [...new Set(ids)].sort()
36198
+ };
36199
+ }
36200
+ /** Undefined means discovery; an empty string is an explicitly empty selection. */
36201
+ function eventSeriesScopeCsv(value) {
36202
+ if (value == null) return void 0;
36203
+ return typeof value === "string" ? value : value.join(",");
36204
+ }
36205
+ var init_eventSelection = __esmMin((() => {
36206
+ init_src$4();
36207
+ }));
36208
+ //#endregion
35923
36209
  //#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
35924
36210
  /**
35925
36211
  * Build container class based on layout mode
@@ -36033,11 +36319,15 @@ function buildEventCollectionDisplay(source) {
36033
36319
  };
36034
36320
  }
36035
36321
  function buildEventCollectionFilterDisplay(source) {
36036
- return {
36037
- showFilters: source.showFilters ?? true,
36038
- showCategoryFilter: source.showCategoryFilter ?? "auto",
36039
- showVenueFilter: source.showVenueFilter ?? false,
36040
- showStaffFilter: source.showStaffFilter ?? true,
36322
+ const selected = source.seriesIds != null;
36323
+ const matchingFilters = selected ? {
36324
+ eventSurface: "all",
36325
+ filterEventPresets: null,
36326
+ scheduleScope: "any",
36327
+ filterCategoryIds: null,
36328
+ filterStaffMemberId: null,
36329
+ filterVenueId: null
36330
+ } : {
36041
36331
  eventSurface: normalizeEventSurfaceScope(source.eventSurface),
36042
36332
  filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
36043
36333
  scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
@@ -36045,6 +36335,14 @@ function buildEventCollectionFilterDisplay(source) {
36045
36335
  filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
36046
36336
  filterVenueId: normalizeEventVenueId(source.filterVenueId)
36047
36337
  };
36338
+ return {
36339
+ seriesIds: eventSeriesScopeCsv(source.seriesIds),
36340
+ showFilters: selected ? false : source.showFilters ?? true,
36341
+ showCategoryFilter: source.showCategoryFilter ?? "auto",
36342
+ showVenueFilter: source.showVenueFilter ?? false,
36343
+ showStaffFilter: source.showStaffFilter ?? true,
36344
+ ...matchingFilters
36345
+ };
36048
36346
  }
36049
36347
  function buildEventCollectionPresentationDisplay(source) {
36050
36348
  return {
@@ -36059,14 +36357,15 @@ function buildEventCollectionPresentationDisplay(source) {
36059
36357
  }
36060
36358
  function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
36061
36359
  const timeZone = source.calendarWindow?.scope.timeZone ?? toBookingTimeZone(source.bookingTimeZone);
36360
+ const selected = source.seriesIds != null;
36062
36361
  return {
36063
36362
  calendarWindow: source.calendarWindow ?? void 0,
36064
36363
  siteId: source.siteId,
36065
36364
  stage: source.stage,
36066
36365
  prefetchedEvents: source.events != null,
36067
- eventSurface: normalizeEventSurfaceScope(source.eventSurface),
36068
- filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
36069
- scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
36366
+ eventSurface: selected ? "all" : normalizeEventSurfaceScope(source.eventSurface),
36367
+ filterEventPresets: selected ? null : normalizeEventSurfacePresetsCsv(source.filterEventPresets),
36368
+ scheduleScope: selected ? "any" : normalizeEventScheduleScope(source.scheduleScope),
36070
36369
  calendarContext: {
36071
36370
  timeZone,
36072
36371
  initialToday: source.calendarWindow?.initialToday ?? getLocalScheduleDate(now, timeZone)
@@ -36074,6 +36373,7 @@ function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date())
36074
36373
  };
36075
36374
  }
36076
36375
  var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilterSourceSchemaShape, eventCollectionSourceSchemaShape, eventCollectionDisplaySchemaShape, eventCollectionHydrationSchema, init_eventCollectionContract = __esmMin((() => {
36376
+ init_eventSelection();
36077
36377
  init_calendarWindow();
36078
36378
  init_cards();
36079
36379
  init_src$4();
@@ -36091,6 +36391,7 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
36091
36391
  eventSurface: eventSurfaceScopeSchema$1.nullable().optional(),
36092
36392
  filterEventPresets: z.union([z.string(), z.array(z.string())]).nullable().optional(),
36093
36393
  scheduleScope: eventScheduleScopeSchema$1.nullable().optional(),
36394
+ seriesIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
36094
36395
  filterCategoryIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
36095
36396
  filterStaffMemberId: z.string().nullable().optional(),
36096
36397
  filterVenueId: z.string().nullable().optional()
@@ -36137,6 +36438,7 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
36137
36438
  eventSurface: eventSurfaceScopeSchema$1,
36138
36439
  filterEventPresets: z.string().nullable(),
36139
36440
  scheduleScope: eventScheduleScopeSchema$1,
36441
+ seriesIds: z.string().nullable().optional(),
36140
36442
  filterCategoryIds: z.string().nullable(),
36141
36443
  filterStaffMemberId: z.string().nullable(),
36142
36444
  filterVenueId: z.string().nullable(),
@@ -36167,6 +36469,7 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
36167
36469
  });
36168
36470
  })), cardOrientationSchema, eventSurfaceScopeSchema, eventScheduleScopeSchema, eventListingSourceSchema, eventListingDisplaySchema, eventListingHydrationSchema, eventListingRenderSchema, eventListingBlockRuntime;
36169
36471
  var init_EventListing_interactive = __esmMin((() => {
36472
+ init_eventSelection();
36170
36473
  init_cards();
36171
36474
  init_schemas();
36172
36475
  init_shared$2();
@@ -36233,6 +36536,7 @@ var init_EventListing_interactive = __esmMin((() => {
36233
36536
  eventSurface: eventSurfaceScopeSchema,
36234
36537
  filterEventPresets: z.string().nullable(),
36235
36538
  scheduleScope: eventScheduleScopeSchema,
36539
+ seriesIds: z.string().nullable().optional(),
36236
36540
  filterCategoryIds: z.string().nullable().optional(),
36237
36541
  filterStaffMemberId: z.string().nullable().optional(),
36238
36542
  filterVenueId: z.string().nullable().optional(),
@@ -36293,6 +36597,7 @@ var init_EventListing_interactive = __esmMin((() => {
36293
36597
  eventSurface: normalizeEventSurfaceScope(source.eventSurface),
36294
36598
  filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
36295
36599
  scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
36600
+ seriesIds: eventSeriesScopeCsv(source.seriesIds),
36296
36601
  filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
36297
36602
  filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
36298
36603
  filterVenueId: normalizeEventVenueId(source.filterVenueId),
@@ -36685,6 +36990,69 @@ var init_event_listing = __esmMin((() => {
36685
36990
  };
36686
36991
  }));
36687
36992
  //#endregion
36993
+ //#region ../blocks/src/system/blocks/events/eventSelectionFields.ts
36994
+ function withEventSelectionVisibility(field) {
36995
+ if (![
36996
+ "eventSurface",
36997
+ "filterEventPresets",
36998
+ "scheduleScope",
36999
+ "filterCategoryIds",
37000
+ "filterStaffMemberId",
37001
+ "filterVenueId",
37002
+ "showFilters",
37003
+ "showCategoryFilter",
37004
+ "showVenueFilter",
37005
+ "showStaffFilter"
37006
+ ].includes(field.id)) return field;
37007
+ const visibleWhen = field.ui?.visibleWhen;
37008
+ return {
37009
+ ...field,
37010
+ ui: {
37011
+ ...field.ui,
37012
+ visibleWhen: { allOf: [{
37013
+ field: "eventSelection",
37014
+ notEquals: "selected"
37015
+ }, ...visibleWhen ? [visibleWhen] : []] }
37016
+ }
37017
+ };
37018
+ }
37019
+ var eventSelectionFields;
37020
+ var init_eventSelectionFields = __esmMin((() => {
37021
+ init_schema();
37022
+ eventSelectionFields = [{
37023
+ id: "eventSelection",
37024
+ type: "select",
37025
+ label: "Events to show",
37026
+ required: false,
37027
+ multiple: false,
37028
+ defaultValue: "matching",
37029
+ options: [{
37030
+ value: "matching",
37031
+ label: "All matching events"
37032
+ }, {
37033
+ value: "selected",
37034
+ label: "Selected events"
37035
+ }],
37036
+ ui: { intent: "behavior" }
37037
+ }, createSiteOptionSelectField({
37038
+ id: "selectedEventSeriesIds",
37039
+ label: "Selected events",
37040
+ description: "Show upcoming dates for these events. Other event filters do not apply.",
37041
+ required: false,
37042
+ multiple: true,
37043
+ defaultValue: [],
37044
+ optionSource: "eventSeries",
37045
+ ui: {
37046
+ intent: "behavior",
37047
+ searchThreshold: 1,
37048
+ visibleWhen: {
37049
+ field: "eventSelection",
37050
+ equals: "selected"
37051
+ }
37052
+ }
37053
+ })];
37054
+ }));
37055
+ //#endregion
36688
37056
  //#region ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
36689
37057
  /**
36690
37058
  * Collapse an optional/blank string to `undefined` so downstream week-board
@@ -36778,19 +37146,59 @@ var init_eventCalendarDataLoaders = __esmMin((() => {
36778
37146
  init_calendarWindow();
36779
37147
  scopeParams = {
36780
37148
  siteId: { $bind: { from: "$root.siteId" } },
37149
+ seriesIds: { $bind: {
37150
+ from: "content",
37151
+ transforms: [{
37152
+ id: "events.calendarSelectionParam",
37153
+ options: { key: "seriesIds" }
37154
+ }]
37155
+ } },
36781
37156
  stage: { $bind: {
36782
37157
  from: "$root.previewStage",
36783
37158
  fallback: "published"
36784
37159
  } },
36785
- eventSurface: { $bind: { from: "content.eventSurface" } },
37160
+ eventSurface: { $bind: {
37161
+ from: "content",
37162
+ transforms: [{
37163
+ id: "events.calendarSelectionParam",
37164
+ options: { key: "eventSurface" }
37165
+ }, { id: "value.csv" }]
37166
+ } },
36786
37167
  eventPresets: { $bind: {
36787
- from: "content.filterEventPresets",
36788
- transforms: [{ id: "value.csv" }]
37168
+ from: "content",
37169
+ transforms: [{
37170
+ id: "events.calendarSelectionParam",
37171
+ options: { key: "filterEventPresets" }
37172
+ }, { id: "value.csv" }]
37173
+ } },
37174
+ scheduleScope: { $bind: {
37175
+ from: "content",
37176
+ transforms: [{
37177
+ id: "events.calendarSelectionParam",
37178
+ options: { key: "scheduleScope" }
37179
+ }, { id: "value.csv" }]
36789
37180
  } },
36790
- scheduleScope: { $bind: { from: "content.scheduleScope" } },
36791
- categoryIds: { $bind: { from: "content.filterCategoryIds" } },
36792
- staffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
36793
- venueId: { $bind: { from: "content.filterVenueId" } }
37181
+ categoryIds: { $bind: {
37182
+ from: "content",
37183
+ transforms: [{
37184
+ id: "events.calendarSelectionParam",
37185
+ options: { key: "filterCategoryIds" }
37186
+ }, { id: "value.csv" }]
37187
+ } },
37188
+ staffMemberId: { $bind: {
37189
+ from: "content",
37190
+ transforms: [{
37191
+ id: "events.calendarSelectionParam",
37192
+ options: { key: "filterStaffMemberId" }
37193
+ }, { id: "value.csv" }]
37194
+ } },
37195
+ venueId: { $bind: {
37196
+ from: "content",
37197
+ transforms: [{
37198
+ id: "events.calendarSelectionParam",
37199
+ options: { key: "filterVenueId" }
37200
+ }, { id: "value.csv" }]
37201
+ } }
36794
37202
  };
36795
37203
  eventCalendarDataLoaders = {
36796
37204
  events: {
@@ -36861,6 +37269,7 @@ function normalizeEventCalendarDefaultView(value) {
36861
37269
  }
36862
37270
  var eventCalendarLayout, eventCalendarAdditionalFields, eventCalendarVariants, eventCalendarContentShape, eventCalendarConfig, eventCalendarManifest, eventCalendarBlockDefinition;
36863
37271
  var init_event_calendar = __esmMin((() => {
37272
+ init_eventSelectionFields();
36864
37273
  init_schema();
36865
37274
  init_builder$1();
36866
37275
  init_styledSection();
@@ -36916,6 +37325,13 @@ var init_event_calendar = __esmMin((() => {
36916
37325
  from: "content.defaultCalendarView",
36917
37326
  fallback: "month"
36918
37327
  } },
37328
+ seriesIds: { $bind: {
37329
+ from: "content",
37330
+ transforms: [{
37331
+ id: "events.calendarSelectionParam",
37332
+ options: { key: "seriesIds" }
37333
+ }]
37334
+ } },
36919
37335
  showFilters: { $bind: {
36920
37336
  from: "content.showFilters",
36921
37337
  fallback: true
@@ -36937,17 +37353,47 @@ var init_event_calendar = __esmMin((() => {
36937
37353
  fallback: true
36938
37354
  } },
36939
37355
  eventSurface: { $bind: {
36940
- from: "content.eventSurface",
36941
- fallback: "all"
37356
+ from: "content",
37357
+ transforms: [{
37358
+ id: "events.calendarSelectionParam",
37359
+ options: { key: "eventSurface" }
37360
+ }]
37361
+ } },
37362
+ filterEventPresets: { $bind: {
37363
+ from: "content",
37364
+ transforms: [{
37365
+ id: "events.calendarSelectionParam",
37366
+ options: { key: "filterEventPresets" }
37367
+ }]
36942
37368
  } },
36943
- filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
36944
37369
  scheduleScope: { $bind: {
36945
- from: "content.scheduleScope",
36946
- fallback: "any"
37370
+ from: "content",
37371
+ transforms: [{
37372
+ id: "events.calendarSelectionParam",
37373
+ options: { key: "scheduleScope" }
37374
+ }]
37375
+ } },
37376
+ filterCategoryIds: { $bind: {
37377
+ from: "content",
37378
+ transforms: [{
37379
+ id: "events.calendarSelectionParam",
37380
+ options: { key: "filterCategoryIds" }
37381
+ }]
37382
+ } },
37383
+ filterStaffMemberId: { $bind: {
37384
+ from: "content",
37385
+ transforms: [{
37386
+ id: "events.calendarSelectionParam",
37387
+ options: { key: "filterStaffMemberId" }
37388
+ }]
37389
+ } },
37390
+ filterVenueId: { $bind: {
37391
+ from: "content",
37392
+ transforms: [{
37393
+ id: "events.calendarSelectionParam",
37394
+ options: { key: "filterVenueId" }
37395
+ }]
36947
37396
  } },
36948
- filterCategoryIds: { $bind: { from: "content.filterCategoryIds" } },
36949
- filterStaffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
36950
- filterVenueId: { $bind: { from: "content.filterVenueId" } },
36951
37397
  cardRole: { $bind: {
36952
37398
  from: "content._cardStyles.role",
36953
37399
  fallback: "default"
@@ -37451,6 +37897,7 @@ var init_event_calendar = __esmMin((() => {
37451
37897
  }
37452
37898
  }
37453
37899
  },
37900
+ ...eventSelectionFields,
37454
37901
  {
37455
37902
  id: "eventSurface",
37456
37903
  type: "select",
@@ -37659,7 +38106,7 @@ var init_event_calendar = __esmMin((() => {
37659
38106
  titleSource: "heading",
37660
38107
  description: "Display events with calendar, list, or combined views with filtering",
37661
38108
  skipSectionStyles: true,
37662
- additionalFields: eventCalendarAdditionalFields,
38109
+ additionalFields: eventCalendarAdditionalFields.map(withEventSelectionVisibility),
37663
38110
  styleTokens: {
37664
38111
  background: "surface",
37665
38112
  typography: "body",
@@ -42228,6 +42675,7 @@ function buildNewsletterDisplay(source) {
42228
42675
  fields: { preset: "emailOnly" },
42229
42676
  includeOptionalPhone: false,
42230
42677
  buttonLabel: "Subscribe",
42678
+ successMessage: DEFAULT_MAILING_LIST_SUCCESS_MESSAGE,
42231
42679
  privacyNote: null
42232
42680
  };
42233
42681
  const targeting = source.targeting ?? { mode: "default" };
@@ -42237,6 +42685,7 @@ function buildNewsletterDisplay(source) {
42237
42685
  availability: runtimeTargetingIsAvailable(context, targeting, choices) ? "ready" : "unavailable",
42238
42686
  className: source.className ?? null,
42239
42687
  buttonLabel: form.buttonLabel,
42688
+ successMessage: form.successMessage,
42240
42689
  buttonVariant: source.buttonVariant ?? "primary",
42241
42690
  privacyNote: form.privacyNote,
42242
42691
  fields: getGlobalFormFields(form),
@@ -42246,7 +42695,7 @@ function buildNewsletterDisplay(source) {
42246
42695
  function projectNewsletterFormHydrationTarget(source) {
42247
42696
  switch (source.source) {
42248
42697
  case "block": {
42249
- const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId);
42698
+ const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
42250
42699
  if (sourceRef?.tag === "block_ref") return {
42251
42700
  tag: "block-source",
42252
42701
  sourceRef
@@ -42329,7 +42778,7 @@ function parseRequiredMailingListSignedSourceToken(value) {
42329
42778
  if (!parsed) throw new Error("Mailing-list signup signed source ref requires token");
42330
42779
  return parsed;
42331
42780
  }
42332
- var newsletterButtonVariantSchema, mailingListContextSchema, mailingListTargetingSchema, newsletterFieldSchema, mailingListSignupBlockIdSchema, signedMailingListSourceTokenSchema, newsletterSourceCommonSchema, newsletterSourceSchema, newsletterDisplaySchema, newsletterHydrationSchema, newsletterRenderSchema, newsletterFormBlockRuntime;
42781
+ var newsletterButtonVariantSchema, mailingListContextSchema, mailingListTargetingSchema, newsletterFieldSchema, mailingListSignupBlockIdSchema, mailingListContentVersionIdSchema, signedMailingListSourceTokenSchema, newsletterSourceCommonSchema, newsletterSourceSchema, newsletterDisplaySchema, newsletterHydrationSchema, newsletterRenderSchema, newsletterFormBlockRuntime;
42333
42782
  var init_newsletter_form_interactive = __esmMin((() => {
42334
42783
  init_src$4();
42335
42784
  init_islands();
@@ -42367,6 +42816,15 @@ var init_newsletter_form_interactive = __esmMin((() => {
42367
42816
  placeholder: z.string().optional()
42368
42817
  });
42369
42818
  mailingListSignupBlockIdSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignupBlockId);
42819
+ mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
42820
+ const parsed = parseMailingListContentVersionId(value);
42821
+ if (parsed) return parsed;
42822
+ ctx.addIssue({
42823
+ code: z.ZodIssueCode.custom,
42824
+ message: "Invalid mailing-list content version ID"
42825
+ });
42826
+ return z.NEVER;
42827
+ });
42370
42828
  signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
42371
42829
  newsletterSourceCommonSchema = z.object({
42372
42830
  siteId: z.string().optional(),
@@ -42380,7 +42838,8 @@ var init_newsletter_form_interactive = __esmMin((() => {
42380
42838
  newsletterSourceSchema = z.discriminatedUnion("source", [
42381
42839
  newsletterSourceCommonSchema.extend({
42382
42840
  source: z.literal("block"),
42383
- blockId: z.string().nullable().optional()
42841
+ blockId: z.string().nullable().optional(),
42842
+ contentVersionId: z.string().nullable().optional()
42384
42843
  }),
42385
42844
  newsletterSourceCommonSchema.extend({
42386
42845
  source: z.literal("signed-footer"),
@@ -42396,6 +42855,7 @@ var init_newsletter_form_interactive = __esmMin((() => {
42396
42855
  availability: z.enum(["ready", "unavailable"]),
42397
42856
  className: z.string().nullable(),
42398
42857
  buttonLabel: z.string(),
42858
+ successMessage: z.string(),
42399
42859
  buttonVariant: newsletterButtonVariantSchema,
42400
42860
  privacyNote: z.string().nullable(),
42401
42861
  fields: z.array(newsletterFieldSchema),
@@ -42410,7 +42870,8 @@ var init_newsletter_form_interactive = __esmMin((() => {
42410
42870
  tag: z.literal("block-source"),
42411
42871
  sourceRef: z.object({
42412
42872
  tag: z.literal("block_ref"),
42413
- blockId: mailingListSignupBlockIdSchema
42873
+ blockId: mailingListSignupBlockIdSchema,
42874
+ contentVersionId: mailingListContentVersionIdSchema
42414
42875
  }).nullable()
42415
42876
  }),
42416
42877
  z.object({
@@ -44683,11 +45144,33 @@ var init_links = __esmMin((() => {
44683
45144
  }));
44684
45145
  //#endregion
44685
45146
  //#region ../blocks/src/system/transforms/registry/eventCalendar.ts
44686
- var readJobSchema, eventCalendarReadProfile, eventCalendarReadEnabled;
45147
+ var selectionParamSchema, eventCalendarSelectionParam, readJobSchema, eventCalendarReadProfile, eventCalendarReadEnabled;
44687
45148
  var init_eventCalendar = __esmMin((() => {
44688
45149
  init_events$1();
44689
45150
  init_core();
44690
45151
  init_calendarWindow();
45152
+ init_eventSelection();
45153
+ selectionParamSchema = z.object({ key: z.enum([
45154
+ "seriesIds",
45155
+ "eventSurface",
45156
+ "filterEventPresets",
45157
+ "scheduleScope",
45158
+ "filterCategoryIds",
45159
+ "filterStaffMemberId",
45160
+ "filterVenueId"
45161
+ ]) });
45162
+ eventCalendarSelectionParam = {
45163
+ id: "events.calendarSelectionParam",
45164
+ kind: "formatter",
45165
+ summary: "Resolve selected events instead of discovery filters",
45166
+ schema: selectionParamSchema,
45167
+ run(value, { key }) {
45168
+ const content = asPartialObject(value) ?? {};
45169
+ const selection = resolveEventSelection(content.eventSelection, content.selectedEventSeriesIds);
45170
+ if (selection.kind === "selected") return key === "seriesIds" ? selection.seriesIds : void 0;
45171
+ return key === "seriesIds" ? void 0 : content[key];
45172
+ }
45173
+ };
44691
45174
  readJobSchema = z.object({ job: z.enum(["list", "calendar"]) });
44692
45175
  eventCalendarReadProfile = {
44693
45176
  id: "events.calendarReadProfile",
@@ -44725,6 +45208,7 @@ var init_registry$2 = __esmMin((() => {
44725
45208
  init_eventCalendar();
44726
45209
  init_boxStyleClassNames();
44727
45210
  builtinTransformDefinitions = [
45211
+ eventCalendarSelectionParam,
44728
45212
  eventCalendarReadEnabled,
44729
45213
  eventCalendarReadProfile,
44730
45214
  ...formattingTransforms,
@@ -45183,12 +45667,12 @@ function normalizeContent(block) {
45183
45667
  }
45184
45668
  /**
45185
45669
  * Normalize params for API calls.
45186
- * Converts all values to strings.
45670
+ * Converts supplied values to strings, preserving absent versus explicitly empty params.
45187
45671
  */
45188
45672
  function normalizeParams(input) {
45189
45673
  if (!input || typeof input !== "object") return {};
45190
45674
  const output = {};
45191
- for (const [key, value] of Object.entries(input)) output[key] = coerceToString(value);
45675
+ for (const [key, value] of Object.entries(input)) if (value !== void 0 && value !== null) output[key] = coerceToString(value);
45192
45676
  return output;
45193
45677
  }
45194
45678
  function isNonArrayObject(value) {
@@ -45246,6 +45730,14 @@ var init_utils = __esmMin((() => {
45246
45730
  }));
45247
45731
  //#endregion
45248
45732
  //#region ../blocks/src/system/data/prefetchBlockData.ts
45733
+ function projectDataLoaders(loaders, shouldLoad, blockId, blockKind) {
45734
+ if (!shouldLoad) return [...loaders];
45735
+ return loaders.filter(({ key }) => shouldLoad({
45736
+ blockId,
45737
+ blockKind,
45738
+ loaderKey: key
45739
+ }));
45740
+ }
45249
45741
  function shouldSkipResolvedLoader(input) {
45250
45742
  if (input.loader.requiredParams?.some((param) => !input.params[param]?.trim())) return true;
45251
45743
  return Boolean(input.isValidEndpoint && !input.isValidEndpoint(input.endpoint));
@@ -45271,8 +45763,12 @@ function shouldSkipResolvedLoader(input) {
45271
45763
  * ```
45272
45764
  */
45273
45765
  async function prefetchBlockData$1(page, context, options) {
45274
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings } = options;
45766
+ return (await prefetchBlockDataWithFailures(page, context, options)).resolvedData;
45767
+ }
45768
+ async function prefetchBlockDataWithFailures(page, context, options) {
45769
+ const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings, shouldLoad } = options;
45275
45770
  const results = {};
45771
+ const loaderFailures = {};
45276
45772
  const tasks = [];
45277
45773
  for (const block of page.blocks) {
45278
45774
  const blockId = block.id;
@@ -45287,6 +45783,7 @@ async function prefetchBlockData$1(page, context, options) {
45287
45783
  loader
45288
45784
  })) : [];
45289
45785
  } else loaders = [];
45786
+ loaders = projectDataLoaders(loaders, shouldLoad, blockId, block.kind);
45290
45787
  if (loaders.length === 0) continue;
45291
45788
  const root = {
45292
45789
  ...context.root ?? {},
@@ -45320,6 +45817,11 @@ async function prefetchBlockData$1(page, context, options) {
45320
45817
  const blockResults = results[blockId] ?? (results[blockId] = {});
45321
45818
  blockResults[key] = data;
45322
45819
  } catch (error) {
45820
+ const blockFailures = loaderFailures[blockId] ?? (loaderFailures[blockId] = {});
45821
+ blockFailures[key] = {
45822
+ endpoint,
45823
+ params
45824
+ };
45323
45825
  if (onError) onError(error, {
45324
45826
  block: block.kind,
45325
45827
  loader: key
@@ -45329,7 +45831,10 @@ async function prefetchBlockData$1(page, context, options) {
45329
45831
  }
45330
45832
  }
45331
45833
  if (tasks.length > 0) await Promise.all(tasks);
45332
- return results;
45834
+ return {
45835
+ resolvedData: results,
45836
+ loaderFailures
45837
+ };
45333
45838
  }
45334
45839
  var init_prefetchBlockData$1 = __esmMin((() => {
45335
45840
  init_registry$3();
@@ -45365,8 +45870,8 @@ function toStringParams(value) {
45365
45870
  for (const [k, v] of Object.entries(value)) if (typeof v === "string") out[k] = v;
45366
45871
  return out;
45367
45872
  }
45368
- function stripEmptyStringValues(params) {
45369
- for (const [key, value] of Object.entries(params)) if (value === "") delete params[key];
45873
+ function stripEmptyStringValues(params, endpoint) {
45874
+ for (const [key, value] of Object.entries(params)) if (value === "" && !(key === "seriesIds" && (endpoint === "listPublicEvents" || endpoint === "listPublicEventCalendarWindow"))) delete params[key];
45370
45875
  }
45371
45876
  function ensureSiteId(params, context) {
45372
45877
  if (!params.siteId && typeof context.siteId === "string" && context.siteId) params.siteId = context.siteId;
@@ -45379,7 +45884,7 @@ function ensureSiteId(params, context) {
45379
45884
  */
45380
45885
  function normalizeLoaderParams(endpoint, params, context) {
45381
45886
  const out = toStringParams(params);
45382
- stripEmptyStringValues(out);
45887
+ stripEmptyStringValues(out, endpoint);
45383
45888
  if (endpoint === "getPublicFormById") {
45384
45889
  ensureSiteId(out, context);
45385
45890
  if (!out.formId && out.formSlug) {
@@ -45493,6 +45998,7 @@ function unsafeRetypeZodSchema(schema) {
45493
45998
  var navIdListSchema, dashboardNavVisibilityBaseSchema, dashboardNavVisibilityRolesSchema, dashboardNavVisibilitySchema, dashboardNavigationConfigSchema, dashboardConfigSchema, fieldDefinitionInputSchema, sdkLoaderEndpointSchema, loaderFallbackScalarSchema, loaderParamBindingSchema, loaderParamValueSchema, sdkConfigLoaderSchema, sdkDataLoadersSchema, sdkCustomBlockIdSchema, sdkCustomBlockInputSchema, sdkBlockFieldExtensionInputSchema, sdkBlockFieldExtensionsInputSchema, sdkThemePaletteSchema, sdkThemeConfigSchema, sdkSectionBackgroundSchema, sdkSectionOptionsConfigSchema, sdkContainerOptionsConfigSchema, sdkSiteStyleConfigSchema, sdkSiteLayoutConfigSchema, sdkFieldSelectOptionSchema, sdkBlockFieldConfigSchema, sdkBlockFieldOptionsMapSchema, sdkContentTypeTemplateConfigSchema, sdkContentTypeOrderingConfigSchema, sdkContentTypeConfigSchema, sdkContentConfigSchema, SDK_WORKFLOW_ID_PATTERN, SDK_WORKFLOW_ENDPOINT_PATTERN, sdkWorkflowIdSchema, sdkWorkflowEndpointSchema, sdkWorkflowManualTriggerSchema, sdkWorkflowTriggerFieldSchema, sdkWorkflowFieldChangedConditionSchema, sdkWorkflowFieldEmptyConditionSchema, sdkWorkflowEntryDraftUpdatedTriggerSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowConfigSchema, sdkWorkflowsSchema, riverbankSiteConfigInputSchema;
45494
45999
  var init_contracts = __esmMin((() => {
45495
46000
  init_src$2();
46001
+ init_src$4();
45496
46002
  navIdListSchema = z.preprocess((value) => {
45497
46003
  if (!Array.isArray(value)) return void 0;
45498
46004
  const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
@@ -45724,7 +46230,17 @@ var init_contracts = __esmMin((() => {
45724
46230
  z.object({
45725
46231
  config: riverbankSiteConfigInputSchema,
45726
46232
  forceContentTypes: z.boolean().optional(),
45727
- mode: z.enum(["apply", "preview"]).optional()
46233
+ mode: z.enum(["apply", "preview"]).optional(),
46234
+ expectedMailingListProviderScope: z.unknown().transform((value, ctx) => {
46235
+ if (value === void 0) return void 0;
46236
+ const parsed = parseMailingListProviderScope(value);
46237
+ if (parsed.ok) return parsed.value;
46238
+ ctx.addIssue({
46239
+ code: "custom",
46240
+ message: "Invalid mailing-list provider scope"
46241
+ });
46242
+ return z.NEVER;
46243
+ }).optional()
45728
46244
  }).strict();
45729
46245
  }));
45730
46246
  //#endregion
@@ -47363,9 +47879,11 @@ function convertPageResponseBlock(block) {
47363
47879
  if (typeof block.id !== "string" && block.id !== null) throw new Error(`Invalid block id in page: expected string or null, got ${typeof block.id}`);
47364
47880
  if (typeof block.kind !== "string") throw new Error(`Invalid block kind in page: expected string, got ${typeof block.kind}`);
47365
47881
  if (typeof block.purpose !== "string") throw new Error(`Invalid block purpose in page: expected string, got ${typeof block.purpose}`);
47882
+ if (block.contentVersionId !== void 0 && block.contentVersionId !== null && typeof block.contentVersionId !== "string") throw new Error(`Invalid content version id in page: expected string or null, got ${typeof block.contentVersionId}`);
47366
47883
  const admission = readInvalidBlockAdmission(block.admission);
47367
47884
  return {
47368
47885
  id: block.id,
47886
+ ...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
47369
47887
  kind: block.kind,
47370
47888
  purpose: block.purpose,
47371
47889
  content: sanitizeSdkRuntimeBlockContent(block.kind, readContentRecord(block.content) ?? {}),
@@ -47398,6 +47916,7 @@ function projectRenderablePageOutline(page) {
47398
47916
  ...page,
47399
47917
  blocks: page.blocks.flatMap((block) => block.admission.kind === "renderable" ? [{
47400
47918
  id: block.id,
47919
+ ...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
47401
47920
  kind: block.kind,
47402
47921
  purpose: block.purpose,
47403
47922
  content: block.admission.content,
@@ -47408,6 +47927,7 @@ function projectRenderablePageOutline(page) {
47408
47927
  function admitSdkRuntimePageBlock(block, customBlocks) {
47409
47928
  const base = {
47410
47929
  id: block.id,
47930
+ ...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
47411
47931
  kind: block.kind,
47412
47932
  purpose: block.purpose,
47413
47933
  ...block.bindings ? { bindings: block.bindings } : {}