@riverbankcms/sdk 0.138.0 → 0.140.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/README.md +12 -16
  2. package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +62 -28
  6. package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +8467 -5616
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +264 -495
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +221 -242
  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 +18 -7
  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 +16 -4
  20. package/dist/_dts/api/src/endpoints.d.ts +275 -167
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
  22. package/dist/_dts/api/src/footerSettings.d.ts +10 -10
  23. package/dist/_dts/api/src/index.d.ts +11 -10
  24. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  26. package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
  27. package/dist/_dts/api/src/mailingListIntegration.d.ts +123 -0
  28. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  29. package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
  30. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  31. package/dist/_dts/api/src/navigation.d.ts +1 -26
  32. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
  34. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
  35. package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
  36. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +14 -6
  37. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
  38. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
  39. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
  40. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
  41. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +9 -49
  42. package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
  43. package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
  44. package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
  45. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
  46. package/dist/_dts/api/src/sdkContracts.d.ts +5 -32
  47. package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkThemeWire.d.ts +46 -46
  49. package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
  50. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -34
  51. package/dist/_dts/api/src/siteOnboarding.d.ts +84 -228
  52. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -13
  53. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
  54. package/dist/_dts/api/src/siteSettings.d.ts +38 -6
  55. package/dist/_dts/api/src/types.d.ts +78 -77
  56. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
  57. package/dist/_dts/billing/src/membership/index.d.ts +17 -7
  58. package/dist/_dts/billing/src/plans/display.d.ts +15 -0
  59. package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
  60. package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
  61. package/dist/_dts/billing/src/plans/types.d.ts +4 -7
  62. package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
  63. package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
  64. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
  65. package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
  66. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
  67. package/dist/_dts/blocks/src/client.d.ts +1 -1
  68. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -20
  69. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
  70. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +9 -0
  71. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
  72. package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
  73. package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
  74. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
  75. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
  76. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
  77. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  78. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  79. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
  80. package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
  81. package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
  82. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
  83. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
  84. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  85. package/dist/_dts/blocks/src/system/data/index.d.ts +4 -4
  86. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
  88. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
  89. package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
  90. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
  91. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  92. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
  93. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
  95. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
  96. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
  98. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +78 -30
  99. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +39 -15
  100. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
  101. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +94 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +12 -2
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -7
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
  122. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
  123. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
  126. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  127. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
  130. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
  131. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
  134. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
  135. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
  136. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +62 -33
  137. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
  138. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +14 -31
  139. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
  141. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  142. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
  143. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
  144. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  145. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
  146. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
  147. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  148. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  149. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +32 -16
  150. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
  151. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
  152. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
  153. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
  154. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +4 -2
  155. package/dist/_dts/core/src/branded.d.ts +0 -8
  156. package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
  157. package/dist/_dts/core/src/index.d.ts +10 -1
  158. package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
  159. package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
  160. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
  161. package/dist/_dts/core/src/mailing-list-setup.d.ts +142 -0
  162. package/dist/_dts/core/src/mailing-list-submission.d.ts +224 -0
  163. package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
  164. package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
  165. package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
  166. package/dist/_dts/core/src/participants.d.ts +2 -29
  167. package/dist/_dts/core/src/public-experience.d.ts +4 -0
  168. package/dist/_dts/core/src/public-profile.d.ts +35 -1
  169. package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
  170. package/dist/_dts/core/src/site-route-target.d.ts +9 -2
  171. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +797 -954
  172. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  173. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
  174. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +12 -0
  175. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +14 -0
  176. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
  177. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +7 -0
  178. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
  179. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  180. package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
  181. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
  182. package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
  183. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
  184. package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
  185. package/dist/_dts/sdk/src/constants.d.ts +3 -3
  186. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  187. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
  188. package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
  189. package/dist/_dts/sdk/src/next/index.d.ts +4 -4
  190. package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
  191. package/dist/_dts/sdk/src/public-api/contracts.d.ts +44 -33
  192. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +5 -0
  193. package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
  194. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -0
  195. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
  196. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +8 -1
  197. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
  198. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  199. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  200. package/dist/_dts/sdk/src/version.d.ts +1 -1
  201. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  202. package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
  203. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  204. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
  205. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
  206. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
  207. package/dist/_dts/theme-core/src/index.d.ts +1 -0
  208. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  209. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
  210. package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
  211. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
  212. package/dist/_dts/theme-core/src/schema.d.ts +84 -84
  213. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  214. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  215. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
  216. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  217. package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
  218. package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
  219. package/dist/_dts/ui/src/badge.d.ts +1 -1
  220. package/dist/_dts/ui/src/callout.d.ts +1 -1
  221. package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
  222. package/dist/_dts/ui/src/pending-button.d.ts +10 -0
  223. package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
  224. package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
  225. package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-LTfR1Aby.mjs} +444 -200
  226. package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
  227. package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
  228. package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-6HiIFxNL.mjs} +1 -1
  229. package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-Dlmid43H.mjs} +7 -7
  230. package/dist/client/bookings.mjs +368 -142
  231. package/dist/client/{carousel-DSmOx3ad.mjs → carousel-DmkZRRq_.mjs} +2 -2
  232. package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
  233. package/dist/client/{cart-COWeOIUk.mjs → cart-CIC24330.mjs} +3 -3
  234. package/dist/client/{checkout-CeysaIJK.mjs → checkout-D1Zw9imo.mjs} +3 -3
  235. package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
  236. package/dist/client/client.mjs +5017 -2258
  237. package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
  238. package/dist/client/{context-DBzX85Xc.mjs → context-Cy1OayHx.mjs} +9 -21
  239. package/dist/client/{dates-DCYhZBlW.mjs → dates-aDcfoLHr.mjs} +21 -3
  240. package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-FQxMPAjf.mjs} +81 -79
  241. package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
  242. package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
  243. package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-B3XxBf3i.mjs} +3 -3
  244. package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-I6EaokFD.mjs} +543 -155
  245. package/dist/client/{form-ClfpasVT.mjs → form-BbWckVWY.mjs} +3 -3
  246. package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
  247. package/dist/client/hooks.mjs +1685 -716
  248. package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CLCShvlG.mjs} +3 -3
  249. package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
  250. package/dist/client/newsletterForm-Briukxzi.mjs +444 -0
  251. package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Copadu-2.mjs} +1 -1
  252. package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-oujlRd-r.mjs} +3 -3
  253. package/dist/client/{productList-OTdZu8sb.mjs → productList-BRiIRUcd.mjs} +3 -3
  254. package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-CB2KS_ko.mjs} +706 -160
  255. package/dist/client/rendering/client.mjs +3161 -1226
  256. package/dist/client/rendering/islands.mjs +19 -19
  257. package/dist/client/rendering.mjs +4864 -1914
  258. package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
  259. package/dist/client/{shop-CP4YbDL9.mjs → shop-Vn6yNFED.mjs} +6 -6
  260. package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
  261. package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
  262. package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-COIeK77T.mjs} +4 -4
  263. package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-DzIUcS9n.mjs} +58 -11
  264. package/dist/preview-next/before-render.mjs +357 -175
  265. package/dist/preview-next/client/runtime.mjs +4 -4
  266. package/dist/preview-next/keepAlive.mjs +357 -175
  267. package/dist/preview-next/middleware.mjs +357 -175
  268. package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-Gjb6r6vz.mjs} +357 -175
  269. package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
  270. package/dist/{separator-BeqDLneQ.mjs → separator-DKDRJ1oH.mjs} +1 -1
  271. package/dist/server/components.mjs +3389 -1251
  272. package/dist/server/config-validation.mjs +2737 -1784
  273. package/dist/server/config.mjs +2742 -1788
  274. package/dist/server/data.mjs +1586 -615
  275. package/dist/server/index.mjs +496 -352
  276. package/dist/server/navigation.mjs +16 -47
  277. package/dist/server/next.mjs +3978 -2007
  278. package/dist/server/page-converter.mjs +1109 -553
  279. package/dist/server/prebuild.mjs +2 -3
  280. package/dist/server/rendering/server.mjs +4101 -1951
  281. package/dist/server/rendering.mjs +3416 -1259
  282. package/dist/server/routing.mjs +1869 -786
  283. package/dist/server/server.mjs +3260 -2482
  284. package/dist/server/theme-bridge.mjs +725 -124
  285. package/dist/server/theme.mjs +8 -2
  286. package/dist/styles/index.css +526 -68
  287. package/package.json +1 -1
  288. package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
  289. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
  290. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
  291. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
  292. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
  293. package/dist/client/newsletterForm-IbrHjMxy.mjs +0 -322
@@ -1,7 +1,7 @@
1
1
  import type { SystemBlockDefinition } from "../registry";
2
2
  import type { SectionStylesContent } from "../fields/boxStyles";
3
3
  import { newsletterFormBlockRuntime } from "../runtime/nodes/newsletter-form.interactive";
4
- import type { NewsletterSignupAuthoringDestination, NewsletterSignupFieldPreset } from "./newsletter-signup-destination";
4
+ import type { MailingListPlacementTargeting } from '../../../../core/src/index';
5
5
  import type { RichTextDoc } from "../manifest/richTextSchema";
6
6
  import type { BlockButtonRole } from "../constants/buttonRoles";
7
7
  export declare const newsletterSignupManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
@@ -31,119 +31,52 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
31
31
  }, {
32
32
  readonly fragment: import("..").DefinedFragment<{
33
33
  readonly fields: readonly [{
34
- readonly id: "destinationProvider";
35
- readonly type: "select";
36
- readonly label: "Send signups to";
37
- readonly description: "Choose where new subscribers from this form should go.";
38
- readonly defaultValue: "riverbank";
39
- readonly required: false;
40
- readonly ui: {
41
- readonly intent: "behavior";
34
+ readonly id: "targeting";
35
+ readonly type: "group";
36
+ readonly label: "Mailing-list targeting";
37
+ readonly description: "Choose what kind of emails people signing up here will receive.";
38
+ readonly defaultValue: {
39
+ readonly mode: "default";
42
40
  };
43
- readonly options: [{
44
- readonly value: "riverbank";
45
- readonly label: "Riverbank newsletter";
46
- }];
47
- }, {
48
- readonly id: "listId";
49
- readonly type: "reference";
50
- readonly label: "Newsletter list";
51
- readonly description: "Select the list new subscribers should be added to.";
52
- readonly required: false;
53
- readonly referenceKind: "newsletterList";
54
- readonly allowManualEntry: false;
41
+ readonly required: true;
55
42
  readonly ui: {
56
43
  readonly intent: "behavior";
57
- readonly visibleWhen: {
58
- readonly field: "destinationProvider";
59
- readonly equals: "riverbank";
60
- };
44
+ readonly widget: "mailingListTargeting";
61
45
  };
62
- }, {
63
- readonly id: "mailchimpAudienceId";
64
- readonly type: "reference";
65
- readonly label: "Mailchimp audience";
66
- readonly description: "Choose the Mailchimp audience for new subscribers.";
67
- readonly required: false;
68
- readonly referenceKind: "mailchimpAudience";
69
- readonly allowManualEntry: false;
70
- readonly ui: {
71
- readonly intent: "behavior";
72
- readonly visibleWhen: {
73
- readonly field: "destinationProvider";
74
- readonly equals: "mailchimp";
75
- };
46
+ readonly schema: {
47
+ readonly fields: [{
48
+ readonly id: "mode";
49
+ readonly type: "select";
50
+ readonly label: "Mode";
51
+ readonly required: true;
52
+ readonly defaultValue: "default";
53
+ readonly options: [{
54
+ readonly value: "default";
55
+ readonly label: "Default";
56
+ }, {
57
+ readonly value: "custom";
58
+ readonly label: "Custom";
59
+ }];
60
+ readonly ui: {
61
+ readonly hidden: true;
62
+ };
63
+ }];
76
64
  };
77
- }, {
78
- readonly id: "mailchimpTags";
65
+ }, import("../../../../block-form/src/backend/index").FieldDefinition, {
66
+ readonly id: "mailingListSource";
79
67
  readonly type: "text";
80
- readonly label: "Mailchimp tags";
81
- readonly description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.";
68
+ readonly label: "Mailing-list source";
82
69
  readonly ui: {
70
+ readonly hidden: true;
83
71
  readonly intent: "behavior";
84
- readonly visibleWhen: {
85
- readonly field: "destinationProvider";
86
- readonly equals: "mailchimp";
87
- };
88
- };
89
- }, {
90
- readonly id: "preset";
91
- readonly type: "select";
92
- readonly label: "Form fields";
93
- readonly description: "Choose which fields to collect.";
94
- readonly defaultValue: "emailOnly";
95
- readonly ui: {
96
- readonly intent: "display";
97
72
  };
98
- readonly options: [{
99
- readonly value: "emailOnly";
100
- readonly label: "Email only";
101
- }, {
102
- readonly value: "emailName";
103
- readonly label: "Email + Name";
104
- }, {
105
- readonly value: "emailFirstLast";
106
- readonly label: "Email + First/Last Name";
107
- }, {
108
- readonly value: "emailNameCompany";
109
- readonly label: "Email + Name + Company (B2B)";
110
- }];
111
73
  }, {
112
- readonly id: "includePhone";
113
- readonly type: "boolean";
114
- readonly label: "Include phone field (optional)";
115
- readonly description: "Adds an optional phone field to the selected preset (never required).";
116
- readonly defaultValue: false;
117
- readonly ui: {
118
- readonly intent: "display";
119
- };
120
- }, {
121
- readonly id: "buttonLabel";
122
- readonly type: "text";
123
- readonly label: "Button label";
124
- readonly defaultValue: "Subscribe";
125
- }, import("../../../../block-form/src/backend/index").FieldDefinition, {
126
- readonly id: "successMessage";
74
+ readonly id: "mailingListSourceToken";
127
75
  readonly type: "text";
128
- readonly label: "Success message";
129
- readonly description: "Shown after successful subscription.";
130
- readonly defaultValue: "Thanks for subscribing!";
131
- }, {
132
- readonly id: "privacyNote";
133
- readonly type: "text";
134
- readonly label: "Privacy note";
135
- readonly description: "Optional small text below the form (e.g., privacy policy link).";
136
- }, {
137
- readonly id: "tags";
138
- readonly type: "text";
139
- readonly label: "Tags (optional)";
140
- readonly description: "Optional tags to apply on subscribe (comma or semicolon separated).";
76
+ readonly label: "Mailing-list source token";
141
77
  readonly ui: {
78
+ readonly hidden: true;
142
79
  readonly intent: "behavior";
143
- readonly visibleWhen: {
144
- readonly field: "destinationProvider";
145
- readonly equals: "riverbank";
146
- };
147
80
  };
148
81
  }];
149
82
  }>;
@@ -184,23 +117,15 @@ export declare const newsletterSignupManifest: import("..").DefinedBlockManifest
184
117
  readonly tags: readonly ["newsletter", "signup", "email", "subscribe", "subscription", "mailchimp", "marketing", "lead-capture"];
185
118
  readonly icon: "Mail";
186
119
  }>>;
187
- export type NewsletterSignupPreset = NewsletterSignupFieldPreset;
188
120
  export type NewsletterSignupContent = {
189
121
  title?: string | null;
190
122
  subtitle?: RichTextDoc | null;
191
- listId?: string | null;
192
- preset: NewsletterSignupPreset;
193
- includePhone?: boolean | null;
194
- buttonLabel?: string | null;
123
+ targeting: MailingListPlacementTargeting;
195
124
  buttonVariant?: BlockButtonRole | null;
196
- successMessage?: string | null;
197
- privacyNote?: string | null;
198
- tags?: string | null;
125
+ mailingListSource?: 'signed-footer' | null;
126
+ mailingListSourceToken?: string | null;
199
127
  _sectionStyles?: SectionStylesContent;
200
128
  };
201
- export type NewsletterSignupAuthoringContent = Omit<NewsletterSignupContent, 'listId' | 'tags'> & {
202
- destination: NewsletterSignupAuthoringDestination;
203
- };
204
- export { buildTrustedNewsletterSignupAuthoringDestination, sanitizeNewsletterSignupPublicContent, validateNewsletterSignupDestinationActivationReadiness, } from "./newsletter-signup-destination";
205
- export type { MailchimpAudienceCompatibilityIssue, MailchimpAudienceId, MailchimpConnectionId, MailchimpNewsletterDestination, MailchimpTagName, NewsletterListId, NewsletterSignupAuthoringDestination, NewsletterSignupDestinationActivationIssue, NewsletterSignupDestinationActivationInput, NewsletterSignupDestinationActivationReadiness, NewsletterSignupBlockId, NewsletterSignupDestinationEditorFieldState, NewsletterSignupDestinationReadinessIssue, NewsletterSignupFieldPreset, NewsletterSignupDestinationProviderOption, NewsletterSignupPublicDestinationRef, NewsletterSignupSourceAttributionId, RiverbankNewsletterDestination, ServerResolvedMailchimpConnectionState, ServerValidatedMailchimpAudienceCompatibility, SignedNewsletterDestinationRef, TrustedNewsletterSignupAuthoringDestinationError, TrustedNewsletterSignupAuthoringDestinationResult, } from "./newsletter-signup-destination";
129
+ export type NewsletterSignupAuthoringContent = NewsletterSignupContent;
130
+ export declare function sanitizeNewsletterSignupPublicContent(content: unknown): unknown;
206
131
  export declare const newsletterSignupBlockDefinition: SystemBlockDefinition<NewsletterSignupContent, typeof newsletterFormBlockRuntime>;
@@ -0,0 +1,18 @@
1
+ import type { PublicEvent } from '../events/shared/types';
2
+ import { type BookingOfferingPresetSummary, type ResolvedOfferingsPreviewGroup } from './model';
3
+ export type OfferingsCatalogueState = Readonly<{
4
+ kind: 'failed';
5
+ }> | Readonly<{
6
+ kind: 'empty';
7
+ }> | Readonly<{
8
+ kind: 'groups';
9
+ groups: readonly Readonly<{
10
+ group: ResolvedOfferingsPreviewGroup;
11
+ events: readonly PublicEvent[];
12
+ }>[];
13
+ }>;
14
+ /** Rows arrive representative-grained from the existing public event reader. */
15
+ export declare function buildOfferingsCatalogueState(input: Readonly<{
16
+ presets: readonly BookingOfferingPresetSummary[] | null | undefined;
17
+ events: readonly PublicEvent[] | null | undefined;
18
+ }>): OfferingsCatalogueState;
@@ -0,0 +1,2 @@
1
+ import type { BlockConfig } from '../../defineBlock';
2
+ export declare const offeringsPreviewFields: NonNullable<BlockConfig['additionalFields']>;
@@ -5,6 +5,8 @@ import type { ButtonVariant } from '../events/shared/types';
5
5
  import { type OfferingsPreviewGroupOverride, type OfferingsPreviewSourceKey } from './model';
6
6
  export declare const offeringsPreviewManifest: BlockManifest;
7
7
  export type OfferingsPreviewContent = {
8
+ /** Internal system composition capability; no customer/editor control. */
9
+ displayMode?: 'preview' | 'catalogue';
8
10
  heading?: string | null;
9
11
  description?: unknown;
10
12
  itemLimit?: '1' | '2' | '3' | '4' | '5' | '6' | null;
@@ -18,4 +20,6 @@ export type OfferingsPreviewContent = {
18
20
  };
19
21
  export declare const offeringsPreviewBlockDefinition: SystemBlockDefinition<OfferingsPreviewContent>;
20
22
  export type { BookingOfferingPresetSummary, OfferingsPreviewGroupOrder, OfferingsPreviewGroupOverride, OfferingsPreviewSourceKey, } from './model';
23
+ export { buildOfferingsCatalogueState } from './catalogue';
24
+ export type { OfferingsCatalogueState } from './catalogue';
21
25
  export { deriveDefaultOfferingsPreviewGroups, inferLegacyOfferingsPreviewGroupOrder, isOfferingsPreviewSourceKey, normalizeOfferingsPreviewContentForWrite, normalizeOfferingsPreviewGroupOrder, resolveOfferingsPreviewGroupOrderEntries, resolveOfferingsPreviewGroupKeys, } from './model';
@@ -1,4 +1,4 @@
1
- import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type FooterRichText, type FooterSection, type NewsletterSignupAuthoringDestination, type PublicProfile, type Result } from '../../../../core/src/index';
1
+ import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type FooterRichText, type FooterSection, type PublicProfile, type Result } from '../../../../core/src/index';
2
2
  import type { FormSourceProps } from '../runtime/nodes/form.interactive';
3
3
  import type { NewsletterFormSourceProps } from '../runtime/nodes/newsletter-form.interactive';
4
4
  type FooterRuntimeModuleBase<TKind extends FooterSection['kind']> = Readonly<{
@@ -60,25 +60,19 @@ export type FooterStandardContactRuntime = Readonly<{
60
60
  successMessage?: FormSourceProps['successMessage'];
61
61
  }>;
62
62
  type FooterMailingListRuntimeBase = Readonly<{
63
- preset: 'emailOnly';
64
- includePhone?: false;
65
- buttonLabel?: NewsletterFormSourceProps['buttonLabel'];
66
- successMessage?: NewsletterFormSourceProps['successMessage'];
67
- privacyNote?: NewsletterFormSourceProps['privacyNote'];
63
+ mailingList: NonNullable<NewsletterFormSourceProps['mailingList']>;
64
+ targeting: NonNullable<NewsletterFormSourceProps['targeting']>;
68
65
  }>;
69
66
  export type FooterMailingListRuntime = FooterMailingListRuntimeBase & (Readonly<{
70
67
  mode?: 'public';
71
68
  source: 'signed-footer';
72
- destinationRef: NonNullable<Extract<NewsletterFormSourceProps, {
69
+ sourceRef: NonNullable<Extract<NewsletterFormSourceProps, {
73
70
  source: 'signed-footer';
74
- }>['destinationRef']>;
75
- listId?: never;
71
+ }>['sourceRef']>;
76
72
  }> | Readonly<{
77
73
  mode: 'preview';
78
- source: 'legacy-direct-list';
79
- destinationRef?: never;
80
- listId: string | null;
81
- target: NewsletterSignupAuthoringDestination;
74
+ source: 'preview';
75
+ sourceRef?: never;
82
76
  }>);
83
77
  export type FooterResolvedEngagement = Readonly<{
84
78
  kind: 'none';
@@ -1,4 +1,4 @@
1
- export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.recurring-schedule", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
1
+ export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.contact-newsletter", "block.appointment-booking", "block.appointment-services", "block.weekly-slot-availability", "block.event-registration", "block.event-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.recurring-schedule", "block.offerings-preview", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
2
2
  export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
3
3
  export type CustomBlockKind = `custom.${string}`;
4
4
  export type BlockKind = SystemBlockKind | CustomBlockKind;
@@ -2,7 +2,7 @@
2
2
  * Block data loading system.
3
3
  * Framework-agnostic core logic for prefetching block data loaders.
4
4
  */
5
- export { prefetchBlockData } from './prefetchBlockData';
5
+ export { prefetchBlockData, prefetchBlockDataWithFailures, } from './prefetchBlockData';
6
6
  export type { PrefetchBlockDataOptions } from './prefetchBlockData';
7
7
  export { LINKED_CONTENT_ENTRY_META_KEY, buildLinkedContentEditTarget, coerceLinkedContentEntriesPayload, describeLinkedContentEditSupport, getLinkedContentEntryMeta, resolveLinkedEntryInlineFieldEligibility, } from './linkedContentEntries';
8
8
  export type { LinkedEntryFieldSource, LinkedEntryInlineFieldEligibility, LinkedEntryInlineFieldReadOnlyReason, LinkedContentEditSupport, LinkedContentEditTarget, LinkedContentEntryMeta, LinkedContentEntryRecord, PreviewLinkedEntryFieldBinding, PreviewLinkedEntryInlineFieldType, PreviewLinkedEntryWriteBinding, PublicContentTypeFieldMeta, PublicContentTypeMeta, } from './linkedContentEntries';
@@ -10,9 +10,9 @@ export { initialPreviewResolvedDataState, previewResolvedDataReducer, selectPrev
10
10
  export type { PreviewLoaderError, PreviewResolvedDataAction, PreviewResolvedDataState, } from './previewResolvedDataState';
11
11
  export { SUPPORTED_LOADER_ENDPOINTS, isSupportedLoaderEndpoint, } from './loaderEndpoints';
12
12
  export type { SupportedLoaderEndpoint } from './loaderEndpoints';
13
- export { PUBLIC_LOADER_CACHE_POLICIES, getPublicLoaderCachePolicy, } from './publicLoaderCachePolicy';
14
- export type { PublicLoaderCachePolicy, PublicLoaderCacheTagKind, } from './publicLoaderCachePolicy';
13
+ export { PUBLIC_AVAILABILITY_FRESHNESS_SECONDS, PUBLIC_CONTENT_FRESHNESS_SECONDS, PUBLIC_LOADER_CACHE_POLICIES, getPublicLoaderCachePolicy, isPublicReadEndpoint, publicLoaderFreshnessSeconds, } from './publicLoaderCachePolicy';
14
+ export type { PublicLoaderCachePolicy, PublicLoaderCacheTagKind, PublicLoaderTransport, PublicReadEndpoint, } from './publicLoaderCachePolicy';
15
15
  export { createMicrobatcher, stableSerialize, type BatchItemResult, type Microbatcher, } from './batching';
16
16
  export { normalizeLoaderParams, normalizePublicApiLoaderParams, } from './normalizeLoaderParams';
17
17
  export { normalizeDataLoaders, normalizeContent, normalizeParams, coerceToString, coercePayload, } from './utils';
18
- export type { PrefetchContext, ResolvedBlockData, ApiClient, DataLoaderEntry, } from './types';
18
+ export type { PrefetchContext, ResolvedBlockData, BlockLoaderFailure, BlockLoaderFailures, PrefetchedBlockData, ApiClient, DataLoaderEntry, } from './types';
@@ -1,3 +1,3 @@
1
1
  export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicEventCalendarWindow", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
2
- export type SupportedLoaderEndpoint = typeof SUPPORTED_LOADER_ENDPOINTS[number];
2
+ export type SupportedLoaderEndpoint = (typeof SUPPORTED_LOADER_ENDPOINTS)[number];
3
3
  export declare function isSupportedLoaderEndpoint(endpoint: string): endpoint is SupportedLoaderEndpoint;
@@ -11,7 +11,7 @@
11
11
  import { getBlockDefinition as getSystemBlockDefinition, type BlockDataLoader } from '../registry';
12
12
  import { resolveParamsBindings as resolveRuntimeParamsBindings } from '../runtime/bindings';
13
13
  import type { PageOutline } from '../../structure/schema';
14
- import type { ApiClient, PrefetchContext, ResolvedBlockData } from './types';
14
+ import type { ApiClient, PrefetchContext, PrefetchedBlockData, ResolvedBlockData } from './types';
15
15
  export type PrefetchBlockDataOptions = {
16
16
  /**
17
17
  * API client function that makes the actual requests.
@@ -65,3 +65,4 @@ export type PrefetchBlockDataOptions = {
65
65
  * ```
66
66
  */
67
67
  export declare function prefetchBlockData(page: PageOutline, context: PrefetchContext, options: PrefetchBlockDataOptions): Promise<ResolvedBlockData>;
68
+ export declare function prefetchBlockDataWithFailures(page: PageOutline, context: PrefetchContext, options: PrefetchBlockDataOptions): Promise<PrefetchedBlockData>;
@@ -1,74 +1,2 @@
1
- import type { SupportedLoaderEndpoint } from './loaderEndpoints';
2
- export type PublicLoaderCacheTagKind = 'published_content' | 'public_team_members' | 'public_products' | 'site_forms';
3
- export type PublicLoaderCachePolicy = Readonly<{
4
- kind: 'live';
5
- reason: 'booking_correctness';
6
- }> | Readonly<{
7
- kind: 'tagged';
8
- tags: readonly PublicLoaderCacheTagKind[];
9
- }>;
10
- /**
11
- * Canonical freshness policy for public block-loader data.
12
- *
13
- * Consumers may implement tagged caching differently, but a loader marked
14
- * live here must not be placed in a process-local or durable stale cache.
15
- */
16
- export declare const PUBLIC_LOADER_CACHE_POLICIES: {
17
- readonly listPublicEventCalendarWindow: {
18
- readonly kind: "live";
19
- readonly reason: "booking_correctness";
20
- };
21
- readonly listPublishedEntries: {
22
- readonly kind: "tagged";
23
- readonly tags: readonly ["published_content"];
24
- };
25
- readonly getPublishedEntryPreview: {
26
- readonly kind: "tagged";
27
- readonly tags: readonly ["published_content"];
28
- };
29
- readonly listPublicEvents: {
30
- readonly kind: "live";
31
- readonly reason: "booking_correctness";
32
- };
33
- readonly listPublicRecurringSchedule: {
34
- readonly kind: "live";
35
- readonly reason: "booking_correctness";
36
- };
37
- readonly getPublicEventDetails: {
38
- readonly kind: "live";
39
- readonly reason: "booking_correctness";
40
- };
41
- readonly listPublicRouteCandidates: {
42
- readonly kind: "tagged";
43
- readonly tags: readonly ["published_content"];
44
- };
45
- readonly listPublicTeamMembers: {
46
- readonly kind: "tagged";
47
- readonly tags: readonly ["public_team_members"];
48
- };
49
- readonly listPublicProducts: {
50
- readonly kind: "tagged";
51
- readonly tags: readonly ["public_products"];
52
- };
53
- readonly listPublicPasses: {
54
- readonly kind: "live";
55
- readonly reason: "booking_correctness";
56
- };
57
- readonly listPublicMemberships: {
58
- readonly kind: "live";
59
- readonly reason: "booking_correctness";
60
- };
61
- readonly getPublicFormById: {
62
- readonly kind: "tagged";
63
- readonly tags: readonly ["site_forms"];
64
- };
65
- readonly getPublicBookingServices: {
66
- readonly kind: "live";
67
- readonly reason: "booking_correctness";
68
- };
69
- readonly getPublicWeeklySlotAvailability: {
70
- readonly kind: "live";
71
- readonly reason: "booking_correctness";
72
- };
73
- };
74
- export declare function getPublicLoaderCachePolicy(endpoint: SupportedLoaderEndpoint): PublicLoaderCachePolicy;
1
+ export { PUBLIC_AVAILABILITY_FRESHNESS_SECONDS, PUBLIC_CONTENT_FRESHNESS_SECONDS, PUBLIC_READ_CACHE_POLICIES as PUBLIC_LOADER_CACHE_POLICIES, getPublicReadCachePolicy as getPublicLoaderCachePolicy, isPublicReadEndpoint, publicReadFreshnessSeconds as publicLoaderFreshnessSeconds, } from '../../../../core/src/index';
2
+ export type { PublicReadCachePolicy as PublicLoaderCachePolicy, PublicReadCacheTagKind as PublicLoaderCacheTagKind, PublicReadEndpoint, PublicReadTransport as PublicLoaderTransport, } from '../../../../core/src/index';
@@ -30,6 +30,15 @@ export type PrefetchContext = {
30
30
  * }
31
31
  */
32
32
  export type ResolvedBlockData = Record<string, Record<string, unknown>>;
33
+ export type BlockLoaderFailure = Readonly<{
34
+ endpoint: string;
35
+ params: Readonly<Record<string, string>>;
36
+ }>;
37
+ export type BlockLoaderFailures = Record<string, Record<string, BlockLoaderFailure>>;
38
+ export type PrefetchedBlockData = Readonly<{
39
+ resolvedData: ResolvedBlockData;
40
+ loaderFailures: BlockLoaderFailures;
41
+ }>;
33
42
  /**
34
43
  * Generic API client function.
35
44
  * Environment-specific implementations provide this.
@@ -6,119 +6,52 @@
6
6
  */
7
7
  export declare const newsletterFormFragment: import("..").DefinedFragment<{
8
8
  readonly fields: readonly [{
9
- readonly id: "destinationProvider";
10
- readonly type: "select";
11
- readonly label: "Send signups to";
12
- readonly description: "Choose where new subscribers from this form should go.";
13
- readonly defaultValue: "riverbank";
14
- readonly required: false;
15
- readonly ui: {
16
- readonly intent: "behavior";
9
+ readonly id: "targeting";
10
+ readonly type: "group";
11
+ readonly label: "Mailing-list targeting";
12
+ readonly description: "Choose what kind of emails people signing up here will receive.";
13
+ readonly defaultValue: {
14
+ readonly mode: "default";
17
15
  };
18
- readonly options: [{
19
- readonly value: "riverbank";
20
- readonly label: "Riverbank newsletter";
21
- }];
22
- }, {
23
- readonly id: "listId";
24
- readonly type: "reference";
25
- readonly label: "Newsletter list";
26
- readonly description: "Select the list new subscribers should be added to.";
27
- readonly required: false;
28
- readonly referenceKind: "newsletterList";
29
- readonly allowManualEntry: false;
16
+ readonly required: true;
30
17
  readonly ui: {
31
18
  readonly intent: "behavior";
32
- readonly visibleWhen: {
33
- readonly field: "destinationProvider";
34
- readonly equals: "riverbank";
35
- };
19
+ readonly widget: "mailingListTargeting";
36
20
  };
37
- }, {
38
- readonly id: "mailchimpAudienceId";
39
- readonly type: "reference";
40
- readonly label: "Mailchimp audience";
41
- readonly description: "Choose the Mailchimp audience for new subscribers.";
42
- readonly required: false;
43
- readonly referenceKind: "mailchimpAudience";
44
- readonly allowManualEntry: false;
45
- readonly ui: {
46
- readonly intent: "behavior";
47
- readonly visibleWhen: {
48
- readonly field: "destinationProvider";
49
- readonly equals: "mailchimp";
50
- };
21
+ readonly schema: {
22
+ readonly fields: [{
23
+ readonly id: "mode";
24
+ readonly type: "select";
25
+ readonly label: "Mode";
26
+ readonly required: true;
27
+ readonly defaultValue: "default";
28
+ readonly options: [{
29
+ readonly value: "default";
30
+ readonly label: "Default";
31
+ }, {
32
+ readonly value: "custom";
33
+ readonly label: "Custom";
34
+ }];
35
+ readonly ui: {
36
+ readonly hidden: true;
37
+ };
38
+ }];
51
39
  };
52
- }, {
53
- readonly id: "mailchimpTags";
40
+ }, import("../../../../../block-form/src/backend/index").FieldDefinition, {
41
+ readonly id: "mailingListSource";
54
42
  readonly type: "text";
55
- readonly label: "Mailchimp tags";
56
- readonly description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.";
43
+ readonly label: "Mailing-list source";
57
44
  readonly ui: {
45
+ readonly hidden: true;
58
46
  readonly intent: "behavior";
59
- readonly visibleWhen: {
60
- readonly field: "destinationProvider";
61
- readonly equals: "mailchimp";
62
- };
63
- };
64
- }, {
65
- readonly id: "preset";
66
- readonly type: "select";
67
- readonly label: "Form fields";
68
- readonly description: "Choose which fields to collect.";
69
- readonly defaultValue: "emailOnly";
70
- readonly ui: {
71
- readonly intent: "display";
72
47
  };
73
- readonly options: [{
74
- readonly value: "emailOnly";
75
- readonly label: "Email only";
76
- }, {
77
- readonly value: "emailName";
78
- readonly label: "Email + Name";
79
- }, {
80
- readonly value: "emailFirstLast";
81
- readonly label: "Email + First/Last Name";
82
- }, {
83
- readonly value: "emailNameCompany";
84
- readonly label: "Email + Name + Company (B2B)";
85
- }];
86
- }, {
87
- readonly id: "includePhone";
88
- readonly type: "boolean";
89
- readonly label: "Include phone field (optional)";
90
- readonly description: "Adds an optional phone field to the selected preset (never required).";
91
- readonly defaultValue: false;
92
- readonly ui: {
93
- readonly intent: "display";
94
- };
95
- }, {
96
- readonly id: "buttonLabel";
97
- readonly type: "text";
98
- readonly label: "Button label";
99
- readonly defaultValue: "Subscribe";
100
- }, import("../../../../../block-form/src/backend/index").FieldDefinition, {
101
- readonly id: "successMessage";
102
- readonly type: "text";
103
- readonly label: "Success message";
104
- readonly description: "Shown after successful subscription.";
105
- readonly defaultValue: "Thanks for subscribing!";
106
- }, {
107
- readonly id: "privacyNote";
108
- readonly type: "text";
109
- readonly label: "Privacy note";
110
- readonly description: "Optional small text below the form (e.g., privacy policy link).";
111
48
  }, {
112
- readonly id: "tags";
49
+ readonly id: "mailingListSourceToken";
113
50
  readonly type: "text";
114
- readonly label: "Tags (optional)";
115
- readonly description: "Optional tags to apply on subscribe (comma or semicolon separated).";
51
+ readonly label: "Mailing-list source token";
116
52
  readonly ui: {
53
+ readonly hidden: true;
117
54
  readonly intent: "behavior";
118
- readonly visibleWhen: {
119
- readonly field: "destinationProvider";
120
- readonly equals: "riverbank";
121
- };
122
55
  };
123
56
  }];
124
57
  }>;
@@ -25,6 +25,7 @@ export type SystemBlockComponentProps<TContent = Record<string, unknown>> = {
25
25
  data?: Record<string, unknown>;
26
26
  pathBase?: string;
27
27
  blockId?: string | null;
28
+ contentVersionId?: string | null;
28
29
  blockKind?: string;
29
30
  blockBindings?: Record<string, unknown>;
30
31
  editableRouteMetadataFieldIds?: ResolverContext['editableRouteMetadataFieldIds'];
@@ -105,33 +105,5 @@ export interface BlockApiClient {
105
105
  sendMagicLink(data: Omit<MagicLinkRequest, 'siteId'>): Promise<void>;
106
106
  logout(): Promise<void>;
107
107
  }
108
- /**
109
- * Create a Block API Client
110
- *
111
- * @example
112
- * ```ts
113
- * // Public content only
114
- * const api = createBlockApi({
115
- * baseUrl: 'https://dashboard.example.com/api',
116
- * auth: { type: 'none' },
117
- * siteId: 'site-123',
118
- * });
119
- *
120
- * // SDK with API key
121
- * const api = createBlockApi({
122
- * baseUrl: 'https://dashboard.example.com/api',
123
- * auth: { type: 'api-key', key: 'bld_live_sk_...' },
124
- * siteId: 'site-123',
125
- * });
126
- *
127
- * // Preview mode with bearer token
128
- * const api = createBlockApi({
129
- * baseUrl: 'https://dashboard.example.com/api',
130
- * auth: { type: 'bearer', token: previewToken },
131
- * siteId: 'site-123',
132
- * isPreview: true,
133
- * });
134
- * ```
135
- */
136
108
  export declare function createBlockApi(config: BlockApiConfig): BlockApiClient;
137
109
  export {};