@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,14 +1,13 @@
1
- import type { MembershipSummary } from "../../billing/src/membership/index";
2
- import type { BillingInterval } from "../../billing/src/plans/types";
3
- import type { CamelizeKeys, DbRow, SupportedAdminRole } from "../../db/src/index";
4
- import { z } from "zod";
5
- import type { PageRecord } from "./contentRuntime";
6
- import type { SiteDeploymentMode } from "./siteSettings";
7
- import type { SiteRole } from "./siteMembers";
8
- import type { SiteAccessSummary, SitePlanSummaryResponse } from "./siteAccessAdmin";
9
- import type { AdminAddAllowedDomainBodyInput } from "./schemas/admin-allowed-domains";
10
- import type { AdminCreateUserBodyInput } from "./schemas/admin-users";
11
- export type { SiteAccessSummary, SitePlanSummaryResponse, } from "./siteAccessAdmin";
1
+ import type { CamelizeKeys, DbRow, SupportedAdminRole } from '../../db/src/index';
2
+ import { z } from 'zod';
3
+ import type { PageRecord } from './contentRuntime';
4
+ import type { SiteDeploymentMode } from './siteSettings';
5
+ import type { SiteRole } from './siteMembers';
6
+ import type { SiteAccessSummary, SitePlanSummaryResponse } from './siteAccessAdmin';
7
+ import type { AdminAddAllowedDomainBodyInput } from './schemas/admin-allowed-domains';
8
+ import type { AdminCreateUserBodyInput } from './schemas/admin-users';
9
+ export type { SiteAccessSummary, SitePlanSummaryResponse, } from './siteAccessAdmin';
10
+ export type { AdminChangePlanRequest, AdminChangePlanResponse, ChangePlanRequest, ChangePlanResponse, } from './billingEndpointTypes';
12
11
  /**
13
12
  * Access, Domain, and Admin Contracts
14
13
  *
@@ -19,8 +18,8 @@ export type { SiteAccessSummary, SitePlanSummaryResponse, } from "./siteAccessAd
19
18
  * Note: Do NOT use these API types as validation schemas. They capture wire shapes,
20
19
  * while the owning auth/domain/admin services still validate and normalize inputs.
21
20
  */
22
- type AdminInviteRow = DbRow<"admin_invites">;
23
- type AllowedEmailDomainRow = DbRow<"allowed_email_domains">;
21
+ type AdminInviteRow = DbRow<'admin_invites'>;
22
+ type AllowedEmailDomainRow = DbRow<'allowed_email_domains'>;
24
23
  export type AdminInvite = CamelizeKeys<AdminInviteRow>;
25
24
  export type AllowedEmailDomain = CamelizeKeys<AllowedEmailDomainRow>;
26
25
  export type SiteMemberProfile = {
@@ -77,25 +76,7 @@ export type ListSiteMembersResponse = {
77
76
  access: SiteAccessSummary;
78
77
  plan: SitePlanSummaryResponse;
79
78
  };
80
- export type AuthFieldKey = "email" | "password" | "confirmPassword" | "name" | "terms" | "magicLink";
81
- export type AuthSubmissionErrorReason = "validation" | "spam_protection" | "supabase" | "already_registered" | "rate_limited" | "email" | "closed" | "invalid_credentials" | "not_confirmed" | "not_allowed";
82
- export type AuthSubmissionSuccess = {
83
- status: "success";
84
- message: string;
85
- redirectTo?: string;
86
- flash?: Record<string, unknown>;
87
- };
88
- export type AuthSubmissionError = {
89
- status: "error";
90
- reason: AuthSubmissionErrorReason;
91
- message: string;
92
- fieldErrors?: Partial<Record<AuthFieldKey, string>>;
93
- retryAfterSeconds?: number;
94
- };
95
- export type AuthSubmissionResult = AuthSubmissionSuccess | AuthSubmissionError;
96
- export type ReauthSubmissionResult = AuthSubmissionResult & {
97
- setReenrollCookie?: boolean;
98
- };
79
+ export type { AuthFieldKey, AuthRegistrationNext, AuthSubmissionError, AuthSubmissionErrorReason, AuthSubmissionResult, AuthSubmissionSuccess, ReauthSubmissionResult, } from './authSubmission';
99
80
  export type DomainAvailability = {
100
81
  domain: string;
101
82
  available: boolean;
@@ -103,9 +84,9 @@ export type DomainAvailability = {
103
84
  currency?: string;
104
85
  premium?: boolean;
105
86
  reason?: string;
106
- source?: "lookup" | "suggestion" | "heuristic";
87
+ source?: 'lookup' | 'suggestion' | 'heuristic';
107
88
  };
108
- export type SiteDomainRecord = CamelizeKeys<DbRow<"site_domains">>;
89
+ export type SiteDomainRecord = CamelizeKeys<DbRow<'site_domains'>>;
109
90
  export type SiteDomainContactPayload = {
110
91
  firstName: string;
111
92
  lastName: string;
@@ -174,7 +155,7 @@ export type RegisterDomainRequestPayload = {
174
155
  saveContactToProfile?: boolean;
175
156
  };
176
157
  export type DomainConfigResult = {
177
- status: "pending_vercel" | "pending_email" | "pending_dns" | "ready" | "failed";
158
+ status: 'pending_vercel' | 'pending_email' | 'pending_dns' | 'ready' | 'failed';
178
159
  error?: string;
179
160
  vercelVerified?: boolean;
180
161
  resendDomainId?: string;
@@ -187,9 +168,9 @@ export type RegisterDomainResponse = {
187
168
  };
188
169
  configResult: DomainConfigResult;
189
170
  };
190
- export type RegistrarLifecycleState = "registered" | "configuring" | "awaiting_registrant_verification" | "ready" | "renewal_at_risk" | "renewal_failed" | "transfer_out_requested" | "expired" | "redemption" | "suspended";
191
- export type RegistrarLifecycleMutationOutcome = "succeeded" | "pending" | "repaired";
192
- export type RegistrarLifecycleMutationOperation = "update_contact" | "enable_privacy" | "disable_privacy" | "enable_auto_renew" | "disable_auto_renew" | "unlock" | "retrieve_epp";
171
+ export type RegistrarLifecycleState = 'registered' | 'configuring' | 'awaiting_registrant_verification' | 'ready' | 'renewal_at_risk' | 'renewal_failed' | 'transfer_out_requested' | 'expired' | 'redemption' | 'suspended';
172
+ export type RegistrarLifecycleMutationOutcome = 'succeeded' | 'pending' | 'repaired';
173
+ export type RegistrarLifecycleMutationOperation = 'update_contact' | 'enable_privacy' | 'disable_privacy' | 'enable_auto_renew' | 'disable_auto_renew' | 'unlock' | 'retrieve_epp';
193
174
  export type RegistrarLifecycleMutationBase<TOperation extends RegistrarLifecycleMutationOperation> = {
194
175
  operation: TOperation;
195
176
  outcome: RegistrarLifecycleMutationOutcome;
@@ -197,22 +178,22 @@ export type RegistrarLifecycleMutationBase<TOperation extends RegistrarLifecycle
197
178
  responseCode?: number;
198
179
  providerDetail?: string;
199
180
  };
200
- export type RegistrarLifecycleMutationResponse = RegistrarLifecycleMutationBase<"update_contact"> | (RegistrarLifecycleMutationBase<"enable_privacy" | "disable_privacy"> & {
181
+ export type RegistrarLifecycleMutationResponse = RegistrarLifecycleMutationBase<'update_contact'> | (RegistrarLifecycleMutationBase<'enable_privacy' | 'disable_privacy'> & {
201
182
  privacyEnabled: boolean;
202
- }) | (RegistrarLifecycleMutationBase<"enable_auto_renew" | "disable_auto_renew"> & {
183
+ }) | (RegistrarLifecycleMutationBase<'enable_auto_renew' | 'disable_auto_renew'> & {
203
184
  autoRenew: boolean;
204
- }) | (RegistrarLifecycleMutationBase<"unlock"> & {
205
- lifecycleState: "transfer_out_requested";
206
- }) | (RegistrarLifecycleMutationBase<"retrieve_epp"> & {
207
- lifecycleState: "transfer_out_requested";
185
+ }) | (RegistrarLifecycleMutationBase<'unlock'> & {
186
+ lifecycleState: 'transfer_out_requested';
187
+ }) | (RegistrarLifecycleMutationBase<'retrieve_epp'> & {
188
+ lifecycleState: 'transfer_out_requested';
208
189
  } & ({
209
- eppCodeDelivery: "provider_delivered";
190
+ eppCodeDelivery: 'provider_delivered';
210
191
  } | {
211
- eppCodeDelivery: "returned";
192
+ eppCodeDelivery: 'returned';
212
193
  eppCode: string;
213
194
  }));
214
195
  export type ExposedRegistrarLifecycleMutationResponse = Extract<RegistrarLifecycleMutationResponse, {
215
- operation: "update_contact" | "enable_privacy" | "disable_privacy" | "enable_auto_renew" | "disable_auto_renew";
196
+ operation: 'update_contact' | 'enable_privacy' | 'disable_privacy' | 'enable_auto_renew' | 'disable_auto_renew';
216
197
  }>;
217
198
  export type RegistrarLifecycleResponse = {
218
199
  domain: SiteDomainRecord;
@@ -224,16 +205,16 @@ export type RegistrarBooleanMutationRequest = {
224
205
  export type RegistrarRenewalCostEstimate = {
225
206
  amount: number;
226
207
  currency?: string;
227
- source: "provider_quote" | "manual" | "last_registration";
208
+ source: 'provider_quote' | 'manual' | 'last_registration';
228
209
  };
229
- export type RegistrarProviderName = "namesilo";
230
- export type RegistrarRenewalRiskReason = "auto_renew_disabled" | "insufficient_registrar_funds";
231
- export type RegistrarRenewalManualReviewReason = "not_managed_by_registrar" | "registered_domain_missing_registrar" | "missing_expiry" | "invalid_expiry" | "invalid_registrar_balance" | "invalid_renewal_cost_estimate" | "missing_renewal_cost_estimate" | "registrar_balance_unavailable" | "registrar_balance_unsupported" | "currency_mismatch";
232
- export type RegistrarRenewalManualReviewReasonWithoutExpiry = "not_managed_by_registrar" | "registered_domain_missing_registrar" | "missing_expiry" | "invalid_expiry";
210
+ export type RegistrarProviderName = 'namesilo';
211
+ export type RegistrarRenewalRiskReason = 'auto_renew_disabled' | 'insufficient_registrar_funds';
212
+ export type RegistrarRenewalManualReviewReason = 'not_managed_by_registrar' | 'registered_domain_missing_registrar' | 'missing_expiry' | 'invalid_expiry' | 'invalid_registrar_balance' | 'invalid_renewal_cost_estimate' | 'missing_renewal_cost_estimate' | 'registrar_balance_unavailable' | 'registrar_balance_unsupported' | 'currency_mismatch';
213
+ export type RegistrarRenewalManualReviewReasonWithoutExpiry = 'not_managed_by_registrar' | 'registered_domain_missing_registrar' | 'missing_expiry' | 'invalid_expiry';
233
214
  export type RegistrarRenewalManualReviewReasonWithExpiry = Exclude<RegistrarRenewalManualReviewReason, RegistrarRenewalManualReviewReasonWithoutExpiry>;
234
- export type RegistrarRenewalFailedReason = "past_expiry" | "renewal_failed_lifecycle" | "expired_lifecycle" | "redemption_lifecycle" | "suspended_lifecycle";
215
+ export type RegistrarRenewalFailedReason = 'past_expiry' | 'renewal_failed_lifecycle' | 'expired_lifecycle' | 'redemption_lifecycle' | 'suspended_lifecycle';
235
216
  export type RegistrarRenewalPosture = {
236
- kind: "funded";
217
+ kind: 'funded';
237
218
  domain: string;
238
219
  provider: RegistrarProviderName;
239
220
  expiresAt: string;
@@ -241,67 +222,70 @@ export type RegistrarRenewalPosture = {
241
222
  availableBalance: number;
242
223
  renewalCost: RegistrarRenewalCostEstimate;
243
224
  } | {
244
- kind: "at_risk";
225
+ kind: 'at_risk';
245
226
  domain: string;
246
227
  provider: RegistrarProviderName;
247
228
  expiresAt: string;
248
229
  daysUntilExpiry: number;
249
- reasons: readonly [RegistrarRenewalRiskReason, ...RegistrarRenewalRiskReason[]];
230
+ reasons: readonly [
231
+ RegistrarRenewalRiskReason,
232
+ ...RegistrarRenewalRiskReason[]
233
+ ];
250
234
  availableBalance?: number;
251
235
  renewalCost?: RegistrarRenewalCostEstimate;
252
236
  } | {
253
- kind: "failed";
237
+ kind: 'failed';
254
238
  domain: string;
255
239
  provider: RegistrarProviderName | null;
256
240
  reason: RegistrarRenewalFailedReason;
257
241
  expiresAt: string;
258
242
  } | {
259
- kind: "manual_review";
243
+ kind: 'manual_review';
260
244
  domain: string;
261
245
  provider: RegistrarProviderName | null;
262
246
  reason: RegistrarRenewalManualReviewReasonWithoutExpiry;
263
247
  } | {
264
- kind: "manual_review";
248
+ kind: 'manual_review';
265
249
  domain: string;
266
250
  provider: RegistrarProviderName;
267
251
  reason: RegistrarRenewalManualReviewReasonWithExpiry;
268
252
  expiresAt: string;
269
253
  };
270
- export type ManagedDomainBillingAddOnStatus = "pending_acceptance" | "accepted" | "sync_failed" | "registrar_failed" | "registrar_succeeded_persist_failed" | "active" | "ending" | "ended" | "failed";
254
+ export type ManagedDomainBillingAddOnStatus = 'pending_acceptance' | 'accepted' | 'sync_failed' | 'registrar_failed' | 'registrar_succeeded_persist_failed' | 'active' | 'ending' | 'ended' | 'failed';
271
255
  export type ManagedDomainBillingAddOnPosture = {
272
- kind: "unknown_renewal_cost";
273
- reason: "missing_renewal_cost" | "unsupported_renewal_currency" | "invalid_renewal_cost";
256
+ kind: 'unknown_renewal_cost';
257
+ reason: 'missing_renewal_cost' | 'unsupported_renewal_currency' | 'invalid_renewal_cost';
274
258
  } | {
275
- kind: "included_allowance";
259
+ kind: 'included_allowance';
276
260
  renewalCost: RegistrarRenewalCostEstimate;
277
261
  includedAnnualAllowance: number;
278
262
  } | {
279
- kind: "add_on_current";
263
+ kind: 'add_on_current';
280
264
  componentId: string;
281
265
  renewalCost: RegistrarRenewalCostEstimate;
282
266
  acceptedRegistrarAnnualCost: number;
283
267
  monthlyAmountCents: number;
284
- monthlyCurrency: "gbp";
268
+ monthlyCurrency: 'gbp';
285
269
  } | {
286
- kind: "add_on_price_drift";
270
+ kind: 'add_on_price_drift';
287
271
  componentId: string;
288
- reason: "renewal_cost_changed" | "now_within_allowance";
272
+ reason: 'renewal_cost_changed' | 'now_within_allowance';
289
273
  renewalCost: RegistrarRenewalCostEstimate;
290
274
  acceptedRegistrarAnnualCost: number;
291
275
  monthlyAmountCents: number;
292
- monthlyCurrency: "gbp";
276
+ monthlyCurrency: 'gbp';
293
277
  } | {
294
- kind: "missing_add_on";
278
+ kind: 'missing_add_on';
295
279
  renewalCost: RegistrarRenewalCostEstimate;
296
280
  includedAnnualAllowance: number;
297
281
  } | {
298
- kind: "inactive_add_on";
282
+ kind: 'inactive_add_on';
299
283
  componentId: string;
300
- status: Exclude<ManagedDomainBillingAddOnStatus, "active">;
284
+ status: Exclude<ManagedDomainBillingAddOnStatus, 'active'>;
301
285
  renewalCost: RegistrarRenewalCostEstimate;
302
286
  includedAnnualAllowance: number;
303
287
  } | {
304
- kind: "invalid_add_on_snapshot";
288
+ kind: 'invalid_add_on_snapshot';
305
289
  componentId: string;
306
290
  renewalCost: RegistrarRenewalCostEstimate;
307
291
  };
@@ -314,7 +298,7 @@ export type RegistrarAccountBalance = {
314
298
  } | {
315
299
  success: false;
316
300
  provider: RegistrarProviderName;
317
- reason: "unsupported" | "provider_error";
301
+ reason: 'unsupported' | 'provider_error';
318
302
  error: string;
319
303
  };
320
304
  export type RegistrarRenewalPostureResponse = {
@@ -342,12 +326,12 @@ export type BulkOperationResult = {
342
326
  };
343
327
  export type InviteSiteMemberRequest = {
344
328
  email: string;
345
- role: "team_member";
329
+ role: 'team_member';
346
330
  staffMemberId: string;
347
331
  staffCapabilities: StaffOperationalCapability[];
348
332
  } | {
349
333
  email: string;
350
- role: "editor" | "administrator";
334
+ role: 'editor' | 'administrator';
351
335
  };
352
336
  export type InviteSiteMemberEmailResult = {
353
337
  ok: true;
@@ -361,9 +345,9 @@ export type InviteSiteMemberResponse = {
361
345
  email?: InviteSiteMemberEmailResult;
362
346
  };
363
347
  export type UpdateSiteMemberRoleRequest = {
364
- role: "editor" | "administrator";
348
+ role: 'editor' | 'administrator';
365
349
  } | {
366
- role: "team_member";
350
+ role: 'team_member';
367
351
  staffMemberId?: string;
368
352
  staffCapabilities: StaffOperationalCapability[];
369
353
  };
@@ -387,7 +371,7 @@ export type ResendSiteInvitationResponse = {
387
371
  invitation: SiteInvitation;
388
372
  email: {
389
373
  ok: true;
390
- status: "sent" | "recently_sent" | "in_progress";
374
+ status: 'sent' | 'recently_sent' | 'in_progress';
391
375
  };
392
376
  };
393
377
  export type TransferSiteOwnershipRequest = {
@@ -428,8 +412,8 @@ export type AcceptSiteInvitationResponse = {
428
412
  };
429
413
  export type MfaFactorSummary = {
430
414
  id: string;
431
- type: "totp" | "phone" | (string & {});
432
- status: "verified" | "unverified" | "pending" | "failed" | (string & {});
415
+ type: 'totp' | 'phone' | (string & {});
416
+ status: 'verified' | 'unverified' | 'pending' | 'failed' | (string & {});
433
417
  friendlyName: string | null;
434
418
  createdAt: string | null;
435
419
  updatedAt: string | null;
@@ -447,7 +431,7 @@ export type MfaOverviewPayload = {
447
431
  };
448
432
  export type MfaTotpEnrollResponse = {
449
433
  factorId: string;
450
- type: "totp";
434
+ type: 'totp';
451
435
  friendlyName: string | null;
452
436
  secret: string;
453
437
  uri: string;
@@ -602,45 +586,31 @@ export type AdminDeleteUserResponse = {
602
586
  deletedSiteIds: string[];
603
587
  } | {
604
588
  ok: false;
605
- reason: "owns_sites";
589
+ reason: 'owns_sites';
606
590
  ownedSites: AdminOwnedSiteSummary[];
607
591
  } | {
608
592
  ok: false;
609
- reason: "self_delete_forbidden";
593
+ reason: 'self_delete_forbidden';
610
594
  } | {
611
595
  ok: false;
612
- reason: "fk_restrict";
596
+ reason: 'fk_restrict';
613
597
  message: string;
614
598
  } | {
615
599
  ok: false;
616
- reason: "auth_delete_failed";
600
+ reason: 'auth_delete_failed';
617
601
  message: string;
618
602
  } | {
619
603
  ok: false;
620
- reason: "site_delete_failed";
604
+ reason: 'site_delete_failed';
621
605
  deletedSiteIds: string[];
622
606
  failedSiteId: string;
623
607
  message: string;
624
608
  };
625
- export type ChangePlanRequest = {
626
- planId: string;
627
- interval: BillingInterval;
628
- prorationBehavior?: "create_prorations" | "always_invoice" | "none";
629
- };
630
- export type ChangePlanResponse = {
631
- membership: MembershipSummary | null;
632
- };
633
- export type AdminChangePlanRequest = ChangePlanRequest & {
634
- userId: string;
635
- reason?: string;
636
- bypassProration?: boolean;
637
- };
638
- export type AdminChangePlanResponse = ChangePlanResponse;
639
609
  export type BillingPriceOverride = {
640
610
  id: string;
641
611
  userId: string;
642
612
  planId: string;
643
- interval: "month" | "year";
613
+ interval: 'month' | 'year';
644
614
  amountCents: number;
645
615
  currency: string;
646
616
  validFrom: string | null;
@@ -654,7 +624,7 @@ export type BillingPriceOverride = {
654
624
  export type AdminGetPriceOverrideQuery = {
655
625
  userId: string;
656
626
  planId: string;
657
- interval: "month" | "year";
627
+ interval: 'month' | 'year';
658
628
  };
659
629
  export type AdminGetPriceOverrideResponse = {
660
630
  hasOverride: boolean;
@@ -664,7 +634,7 @@ export type AdminGetPriceOverrideResponse = {
664
634
  export type AdminUpsertPriceOverrideRequest = {
665
635
  userId: string;
666
636
  planId: string;
667
- interval: "month" | "year";
637
+ interval: 'month' | 'year';
668
638
  amountCents: number;
669
639
  currency?: string;
670
640
  validFrom?: string | null;
@@ -677,7 +647,7 @@ export type AdminUpsertPriceOverrideResponse = {
677
647
  export type AdminDeletePriceOverrideRequest = {
678
648
  userId: string;
679
649
  planId: string;
680
- interval: "month" | "year";
650
+ interval: 'month' | 'year';
681
651
  reason?: string;
682
652
  };
683
653
  export type AdminDeletePriceOverrideResponse = {
@@ -4,8 +4,9 @@ import type { AiPatchApplyResponse, AiPatchDryRunResponse, AiPatchRequest } from
4
4
  import type { ApplyAiDesignerPageOpsRequest, ApplyAiDesignerPageOpsResponse, ApplyAiDesignerThemePatchRequest, ApplyAiDesignerThemePatchResponse, PageConvertJobEventsResponse, PageConvertJobGetResponse, PageConvertJobRunResponse, PageConvertJobsCreateRequest, PageConvertJobsCreateResponse, PageConvertJobsListResponse, PageConvertResponse, PlaygroundProposeRequest } from "./aiPlayground";
5
5
  import type { AiGenerateSiteRequest, AiGenerateSiteResponse } from "./siteGeneration";
6
6
  import type { AcknowledgeLaunchRequirementRequest, AcknowledgeLaunchRequirementResponse, AiSiteWizardIntakeTriageRequest, AiSiteWizardIntakeTriageResponse, AiSiteWizardSuggestGoalsRequest, AiSiteWizardSuggestGoalsResponse, AiSiteWizardTelemetryRequest, AiSiteWizardTelemetryResponse, GoLiveSiteRequest, GoLiveSiteResponse, OnboardingPreviewStatusResponse, OnboardingPreviewThemesResponse, PublicOnboardingAttemptPayload, PublicOnboardingAttemptProgressResponse, PublicOnboardingAttemptResponse, PublicOnboardingAttemptRunResponse, PublicOnboardingLogoUploadRequest, PublicOnboardingLogoUploadResponse, PublicOnboardingLogoUploadUrlRequest, PublicOnboardingLogoUploadUrlResponse, ResendOnboardingPreviewConfirmationResponse } from "./siteOnboarding";
7
+ import type { PublicOnboardingAttemptConfirmationResendResponse } from "./onboarding/confirmationResend";
7
8
  export type AiAPIEndpointName = "aiAssistantChatSite" | "aiDesignerChat" | "aiContentUpdateChat" | "aiChat" | "aiDesignerThemeApply" | "aiDesignerPageOpsApply" | "aiCreateBriefChat" | "aiPatchDryRun" | "aiPatchApply" | "aiPlaygroundProposeMulti" | "aiPlaygroundProposeMultiGet" | "aiPlaygroundPageConvert" | "aiPlaygroundPageConvertJobsCreate" | "aiPlaygroundPageConvertJobsList" | "aiPlaygroundPageConvertJobGet" | "aiPlaygroundPageConvertJobRun" | "aiPlaygroundPageConvertJobEvents" | "aiGenerateSite" | "aiSiteWizardSuggestGoals" | "aiSiteWizardIntakeTriage" | "aiSiteWizardTelemetry";
8
- export type LaunchReadinessAPIEndpointName = "getOnboardingPreviewStatus" | "listOnboardingPreviewThemes" | "acknowledgeLaunchRequirement" | "goLiveSite" | "resendOnboardingPreviewConfirmation" | "createPublicOnboardingAttempt" | "createPublicOnboardingLogoUploadUrl" | "uploadPublicOnboardingLogo" | "getPublicOnboardingAttempt" | "getPublicOnboardingAttemptProgress" | "updatePublicOnboardingAttempt" | "runPublicOnboardingAttempt";
9
+ export type LaunchReadinessAPIEndpointName = "getOnboardingPreviewStatus" | "listOnboardingPreviewThemes" | "acknowledgeLaunchRequirement" | "goLiveSite" | "resendOnboardingPreviewConfirmation" | "createPublicOnboardingAttempt" | "createPublicOnboardingLogoUploadUrl" | "uploadPublicOnboardingLogo" | "getPublicOnboardingAttempt" | "getPublicOnboardingAttemptProgress" | "updatePublicOnboardingAttempt" | "runPublicOnboardingAttempt" | "resendPublicOnboardingAttemptConfirmation";
9
10
  /**
10
11
  * AI and launch-readiness endpoints stay together because the generated site flow spans
11
12
  * designer chat/apply tools, site generation, and preview-to-go-live onboarding steps.
@@ -118,6 +119,9 @@ export type AiAndLaunchReadinessAPIEndpointDefinitions = {
118
119
  runPublicOnboardingAttempt: APIEndpoint<never, {
119
120
  attemptToken: string;
120
121
  }, PublicOnboardingAttemptRunResponse>;
122
+ resendPublicOnboardingAttemptConfirmation: APIEndpoint<never, {
123
+ attemptToken: string;
124
+ }, PublicOnboardingAttemptConfirmationResendResponse>;
121
125
  aiSiteWizardSuggestGoals: APIEndpoint<AiSiteWizardSuggestGoalsRequest, {
122
126
  siteId: string;
123
127
  }, AiSiteWizardSuggestGoalsResponse>;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * What the auth entry forms — sign in, register, forgot password, reauth —
3
+ * hand back to the browser.
4
+ *
5
+ * One shape for all of them, so the submit half they share can pass the
6
+ * server's answer through without knowing which form produced it.
7
+ */
8
+ export type AuthFieldKey = 'email' | 'password' | 'confirmPassword' | 'name' | 'terms' | 'magicLink';
9
+ export type AuthSubmissionErrorReason = 'validation' | 'spam_protection' | 'supabase' | 'already_registered' | 'rate_limited' | 'email' | 'closed' | 'invalid_credentials' | 'not_confirmed' | 'not_allowed';
10
+ /**
11
+ * What the browser should do once a registration succeeds.
12
+ *
13
+ * This is the server's single answer, and the register page obeys it rather
14
+ * than deciding for itself. It has to be the server's call: what separates the
15
+ * two arms is the onboarding attempt behind the sign-up, and the register page
16
+ * deliberately does not load the attempt.
17
+ *
18
+ * `redirectTo` on the result below is derived from this and means the same
19
+ * thing, so the two cannot disagree.
20
+ */
21
+ export type AuthRegistrationNext = Readonly<{
22
+ kind: 'redirect';
23
+ to: string;
24
+ }> | Readonly<{
25
+ kind: 'await_email_confirmation';
26
+ email: string;
27
+ }>;
28
+ export type AuthSubmissionSuccess = {
29
+ status: 'success';
30
+ message: string;
31
+ redirectTo?: string;
32
+ /** Registration only; sign-in and reauth carry `redirectTo` alone. */
33
+ next?: AuthRegistrationNext;
34
+ flash?: Record<string, unknown>;
35
+ };
36
+ export type AuthSubmissionError = {
37
+ status: 'error';
38
+ reason: AuthSubmissionErrorReason;
39
+ message: string;
40
+ fieldErrors?: Partial<Record<AuthFieldKey, string>>;
41
+ retryAfterSeconds?: number;
42
+ };
43
+ export type AuthSubmissionResult = AuthSubmissionSuccess | AuthSubmissionError;
44
+ export type ReauthSubmissionResult = AuthSubmissionResult & {
45
+ setReenrollCookie?: boolean;
46
+ };
@@ -1,6 +1,10 @@
1
1
  import type { ChangePlanRequest, ChangePlanResponse } from './types';
2
2
  import type { ApiClient } from './request';
3
+ import type { BillingPlanId } from '../../billing/src/plans/types';
3
4
  import type { BillingComponentSummaryAddOnComponent, BillingComponentSummaryBasePlanComponent, BillingComponentSummaryComponent, BillingComponentSummarySiteComponent } from '../../billing/src/components/index';
5
+ export type BillingPortalSessionResponse = Readonly<{
6
+ url: string;
7
+ }>;
4
8
  import type { StripeAutomaticTaxIssue, StripeAutomaticTaxReadiness, StripeAutomaticTaxStatus } from '@riverbankcms/billing/tax/automatic-tax';
5
9
  import type { StripeConnectRestrictions } from '@riverbankcms/billing/stripe/connect-restrictions';
6
10
  import type { SiteBillingArrangement } from '../../billing/src/site-arrangements';
@@ -9,7 +13,7 @@ export type BillingStatusResponse = {
9
13
  subscriptionStatus: string | null;
10
14
  isPastDue: boolean;
11
15
  isUnpaid: boolean;
12
- planId: string | null;
16
+ planId: BillingPlanId | null;
13
17
  needsAttention: boolean;
14
18
  status: string | null;
15
19
  setupRequired: boolean;
@@ -22,11 +26,17 @@ export type BillingStatusResponse = {
22
26
  totalSetupCostCents: number;
23
27
  totalSetupCostFormatted: string;
24
28
  };
29
+ export type BillingCheckoutContinuation = {
30
+ kind: 'site_publish';
31
+ siteId: string;
32
+ };
25
33
  export type BillingCheckoutRequest = {
26
34
  /** Plan ID (e.g., 'solo') */
27
- planId: string;
35
+ planId: BillingPlanId;
28
36
  /** Billing interval */
29
- interval: "monthly" | "annual";
37
+ interval: 'monthly';
38
+ /** Optional validated dashboard surface to resume after Checkout. */
39
+ continuation?: BillingCheckoutContinuation;
30
40
  };
31
41
  export type BillingCheckoutResponse = {
32
42
  sessionId: string;
@@ -57,8 +67,8 @@ export type BillingSummaryResponse = {
57
67
  } | null;
58
68
  };
59
69
  export type BillingSummaryComponent = BillingComponentSummaryComponent;
60
- export type BillingSummaryComponentKind = BillingSummaryComponent["kind"];
61
- export type BillingSummaryComponentSource = BillingSummaryComponent["source"];
70
+ export type BillingSummaryComponentKind = BillingSummaryComponent['kind'];
71
+ export type BillingSummaryComponentSource = BillingSummaryComponent['source'];
62
72
  export type BillingSummaryBasePlanComponent = BillingComponentSummaryBasePlanComponent;
63
73
  export type BillingSummarySiteComponent = BillingComponentSummarySiteComponent;
64
74
  export type BillingSummaryAddOnComponent = BillingComponentSummaryAddOnComponent;
@@ -94,9 +104,10 @@ export type StripeConnectDisconnectResponse = {
94
104
  success: boolean;
95
105
  message: string;
96
106
  };
97
- export declare function changePlan(apiClient: ApiClient, { planId, interval, prorationBehavior, options, }: ChangePlanRequest & {
107
+ export declare function changePlan(apiClient: ApiClient, { attemptId, planId, interval, prorationBehavior, options, }: ChangePlanRequest & {
98
108
  options?: RequestInit;
99
109
  }): Promise<ChangePlanResponse>;
100
- export declare function billingCheckout(apiClient: ApiClient, { planId, interval, options, }: BillingCheckoutRequest & {
110
+ export declare function createBillingPortalSession(apiClient: ApiClient, options?: RequestInit): Promise<BillingPortalSessionResponse>;
111
+ export declare function billingCheckout(apiClient: ApiClient, { planId, interval, continuation, options, }: BillingCheckoutRequest & {
101
112
  options?: RequestInit;
102
113
  }): Promise<BillingCheckoutResponse>;
@@ -0,0 +1,23 @@
1
+ export declare const BILLING_ENDPOINT_DEFINITIONS: {
2
+ adminChangePlan: {
3
+ path: "/admin/billing/plan";
4
+ method: "POST";
5
+ tags: ("admin" | "billing")[];
6
+ auth: "admin";
7
+ responseKind: "json";
8
+ };
9
+ changePlan: {
10
+ path: "/billing/plan/change";
11
+ method: "POST";
12
+ tags: "billing"[];
13
+ auth: "user";
14
+ responseKind: "json";
15
+ };
16
+ createBillingPortalSession: {
17
+ path: "/billing/portal/session";
18
+ method: "POST";
19
+ tags: "billing"[];
20
+ auth: "user";
21
+ responseKind: "json";
22
+ };
23
+ };
@@ -0,0 +1,26 @@
1
+ import type { MembershipSummary } from '../../billing/src/membership/index';
2
+ import type { BillingInterval } from '../../billing/src/plans/types';
3
+ import type { APIEndpoint } from './apiEndpointTypes';
4
+ import type { BillingPortalSessionResponse } from './billing';
5
+ export type ChangePlanRequest = Readonly<{
6
+ attemptId: string;
7
+ planId: string;
8
+ interval: 'monthly';
9
+ prorationBehavior?: 'create_prorations' | 'always_invoice' | 'none';
10
+ }>;
11
+ export type ChangePlanResponse = Readonly<{
12
+ membership: MembershipSummary | null;
13
+ }>;
14
+ export type AdminChangePlanRequest = Readonly<Omit<ChangePlanRequest, 'interval' | 'attemptId'> & {
15
+ attemptId?: string;
16
+ userId: string;
17
+ interval: BillingInterval;
18
+ reason?: string;
19
+ bypassProration?: boolean;
20
+ }>;
21
+ export type AdminChangePlanResponse = ChangePlanResponse;
22
+ export type BillingAPIEndpoints = Readonly<{
23
+ adminChangePlan: APIEndpoint<AdminChangePlanRequest, never, AdminChangePlanResponse>;
24
+ changePlan: APIEndpoint<ChangePlanRequest, never, ChangePlanResponse>;
25
+ createBillingPortalSession: APIEndpoint<never, never, BillingPortalSessionResponse>;
26
+ }>;
@@ -123,6 +123,7 @@ type MutateBlockArgs = ({
123
123
  } & {
124
124
  data: SaveBlockContentFullBody['data'];
125
125
  optimisticHash?: string | null;
126
+ expectedMailingListProviderScope?: SaveBlockContentFullBody['expected_mailing_list_provider_scope'];
126
127
  options?: RequestInit;
127
128
  }) | ({
128
129
  siteId: string;
@@ -131,6 +132,7 @@ type MutateBlockArgs = ({
131
132
  path: SaveBlockContentPatchBody['path'];
132
133
  value: SaveBlockContentPatchBody['value'];
133
134
  optimisticHash?: string | null;
135
+ expectedMailingListProviderScope?: SaveBlockContentPatchBody['expected_mailing_list_provider_scope'];
134
136
  options?: RequestInit;
135
137
  });
136
138
  export declare function mutateBlockContent(apiClient: ApiClient, args: MutateBlockArgs): Promise<SaveBlockContentResponse>;
@@ -11,9 +11,9 @@ import type { EventTicketBreakdownLine } from './bookingOperations';
11
11
  * request/response shapes; booking services still own validation and normalization.
12
12
  */
13
13
  export type BookingEventSeriesAttendeeGuest = {
14
+ /** The guest's participant participation row: the canonical guest slot. */
14
15
  id: string;
15
16
  participantId?: string | null;
16
- participantParticipationId?: string | null;
17
17
  participantCustomerId?: string | null;
18
18
  participantEmail?: string | null;
19
19
  participantUpdatedAt?: string | null;
@@ -556,7 +556,6 @@ export type ParticipantIdentityRectificationSourceSurface = 'event_registration_
556
556
  export type ParticipantIdentityRectificationSourceContext = {
557
557
  surface: ParticipantIdentityRectificationSourceSurface;
558
558
  eventAttendeeId?: string | null;
559
- eventGuestId?: string | null;
560
559
  participantParticipationId?: string | null;
561
560
  };
562
561
  export type RectifyBookingParticipantIdentityRequest = {
@@ -1,4 +1,4 @@
1
- import type { AppointmentBookingQuestionsTaskDetail, CustomerEventSeriesRegistration, CustomerEventRegistration, CustomerMembership, CustomerOrder, CustomerPass, EventGuest, MagicLinkRequest, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalCancelMembershipAtPeriodEndResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCreditResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalEventTicket, PortalWholeSeriesBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalMeResponse, PortalMeUpdateRequest, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, UpdateEventGuestsRequest } from '../../blocks/src/api';
1
+ import type { AppointmentBookingQuestionsTaskDetail, CustomerEventSeriesRegistration, CustomerEventRegistration, CustomerPortalWaitlistEntry, CustomerMembership, CustomerOrder, CustomerPass, EventGuest, MagicLinkRequest, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalCancelMembershipAtPeriodEndResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCreditResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalEventTicket, PortalWholeSeriesBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalMeResponse, PortalMeUpdateRequest, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, UpdateEventGuestsRequest } from '../../blocks/src/api';
2
2
  import type { APIEndpoint } from './apiEndpointTypes';
3
3
  import type { DeleteAccountRequest, DeleteAccountResponse } from './accessAdmin';
4
4
  import type { AiPlaygroundApplyRequest, AiPlaygroundApplyResponse } from './aiPlayground';
@@ -111,8 +111,15 @@ export type CommercePortalAPIEndpoints = {
111
111
  status?: 'confirmed' | 'waitlist' | 'cancelled';
112
112
  limit?: string;
113
113
  offset?: string;
114
+ waitlistEntryId?: string;
114
115
  }, {
115
116
  registrations: CustomerEventRegistration[];
117
+ waitlists: CustomerPortalWaitlistEntry[];
118
+ }>;
119
+ portalCancelWaitlistEntry: APIEndpoint<never, {
120
+ entryId: string;
121
+ }, {
122
+ outcome: 'cancelled';
116
123
  }>;
117
124
  portalGetAppointments: APIEndpoint<never, {
118
125
  upcoming?: string;
@@ -106,7 +106,6 @@ export type GetNewsletterSettingsResponse = {
106
106
  settings: NewsletterSettingsRecord | null;
107
107
  };
108
108
  export type UpdateNewsletterSettingsRequest = Partial<{
109
- doubleOptIn: boolean;
110
109
  trackOpens: boolean;
111
110
  trackClicks: boolean;
112
111
  fromName: string | null;