@riverbankcms/sdk 0.151.0 → 0.152.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 (226) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-DVQXWFm6.mjs} +10 -9
  3. package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-Dr4NJi3Q.mjs} +4 -3
  4. package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-DSZXQbyh.mjs} +5 -4
  5. package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-Dl4GyMc3.mjs} +124 -53
  6. package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-DgBe-FlM.mjs} +20418 -32298
  7. package/dist/ThemedButton-B8ViBnLK.mjs +16350 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
  9. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
  10. package/dist/_dts/api/src/endpoints.d.ts +7 -0
  11. package/dist/_dts/api/src/index.d.ts +1 -1
  12. package/dist/_dts/api/src/navigation/types.d.ts +7 -0
  13. package/dist/_dts/api/src/navigation.d.ts +1 -1
  14. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
  15. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  16. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  17. package/dist/_dts/blocks/src/index.d.ts +1 -0
  18. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
  19. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +1 -1
  20. package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
  22. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +16 -0
  23. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
  24. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
  25. package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
  26. package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
  27. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
  28. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
  30. package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
  31. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
  32. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
  33. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  34. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  35. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -1
  37. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +23 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
  40. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +2 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +58 -10
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
  85. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +16 -0
  87. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
  88. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
  89. package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
  90. package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
  91. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
  92. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
  93. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  94. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
  95. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
  96. package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
  97. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  98. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -1
  99. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
  100. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
  101. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
  102. package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
  103. package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
  104. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
  105. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
  106. package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
  107. package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
  108. package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
  109. package/dist/_dts/core/src/branded.d.ts +0 -2
  110. package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
  111. package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
  112. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
  113. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
  114. package/dist/_dts/core/src/index.d.ts +4 -0
  115. package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
  116. package/dist/_dts/core/src/mailing-list-targeting.d.ts +2 -0
  117. package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
  118. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +51 -32
  119. package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
  120. package/dist/_dts/editor/src/index.d.ts +1 -0
  121. package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
  122. package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
  123. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
  124. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
  125. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
  126. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
  127. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
  128. package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
  129. package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
  130. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
  131. package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
  132. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
  133. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
  134. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
  135. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
  136. package/dist/_dts/media-core/src/index.d.ts +1 -0
  137. package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
  138. package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
  139. package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
  140. package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
  141. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
  142. package/dist/_dts/sdk/src/rendering/image.d.ts +10 -0
  143. package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
  144. package/dist/_dts/sdk/src/rendering/link.d.ts +9 -0
  145. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  146. package/dist/_dts/sdk/src/version.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
  148. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  149. package/dist/client/BookingMailingListNote-CBuMKN0w.mjs +386 -0
  150. package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-Dc9XTXhB.mjs} +3 -4
  151. package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
  152. package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-CIqx_o0E.mjs} +1 -1
  153. package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-D3VQ_kLj.mjs} +85 -85
  154. package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-BHGEKise.mjs} +8 -9
  155. package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-Bo1Cm23R.mjs} +11 -10
  156. package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-D5OQgVPr.mjs} +2 -2
  157. package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-CLL5cWrr.mjs} +1 -1
  158. package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
  159. package/dist/client/{RichText-LjPCUGGi.mjs → RichText-BoDmnopf.mjs} +6 -3
  160. package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-Ciltp0IK.mjs} +2 -2
  161. package/dist/client/{accordion-Qe--SILD.mjs → accordion-DOkRS64-.mjs} +1 -1
  162. package/dist/client/aspectTransforms-D-TnDdq4.mjs +93 -0
  163. package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-wlMVwo9h.mjs} +289 -149
  164. package/dist/client/bookings.mjs +12212 -10832
  165. package/dist/client/{carousel-h2YjKOS2.mjs → carousel-CGWk-Z0u.mjs} +2 -2
  166. package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-kX5mN1Eg.mjs} +46 -41
  167. package/dist/client/{cart-5NeiigVd.mjs → cart-OBBPlaH4.mjs} +3 -3
  168. package/dist/client/{checkout-G4UWjOEw.mjs → checkout-Bmw2WjQX.mjs} +3 -3
  169. package/dist/client/client.mjs +9541 -6039
  170. package/dist/client/{colorStyles-DTunOThj.mjs → colorStyles-ECDNPE_P.mjs} +23 -86
  171. package/dist/client/{context-GK4-AVAh.mjs → context-BI77UFAn.mjs} +275 -10
  172. package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-qkej2Edn.mjs} +19 -17
  173. package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-DApKHvat.mjs} +4 -4
  174. package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-BQyUDPH0.mjs} +3 -4
  175. package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-CeAnshlZ.mjs} +4 -4
  176. package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-C3A3NyBO.mjs} +2209 -2144
  177. package/dist/client/{form-Cf0WMtfG.mjs → form-DW8rU7jO.mjs} +6 -6
  178. package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-CkIhsoNm.mjs} +9 -9
  179. package/dist/client/hooks.mjs +1289 -380
  180. package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-D4O8wbli.mjs} +4 -4
  181. package/dist/client/{media-47fcnhzD.mjs → media-C5K_0xPd.mjs} +2 -2
  182. package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-B7IxSPuz.mjs} +5 -5
  183. package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-Bqxpwy5N.mjs} +3 -3
  184. package/dist/client/{productList-BKQlWEKE.mjs → productList-u9Lz8V15.mjs} +3 -3
  185. package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-Bf1jucUp.mjs} +17333 -14489
  186. package/dist/client/rendering/client.mjs +58216 -55133
  187. package/dist/client/rendering/islands.mjs +19 -19
  188. package/dist/client/rendering.mjs +9099 -5636
  189. package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-BgP-aPMl.mjs} +1 -1
  190. package/dist/client/{shop-D7ytcFBC.mjs → shop-B_eykR-_.mjs} +16 -14
  191. package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-CT0APkFV.mjs} +9 -9
  192. package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DcvZxdEK.mjs} +1 -1
  193. package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BVJOiUiJ.mjs} +5 -5
  194. package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
  195. package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-DPmYDunz.mjs} +60 -77
  196. package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-8-U55vH5.mjs} +7 -8
  197. package/dist/preview-next/before-render.mjs +7 -0
  198. package/dist/preview-next/client/runtime.mjs +3 -3
  199. package/dist/preview-next/keepAlive.mjs +7 -0
  200. package/dist/preview-next/middleware.mjs +7 -0
  201. package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-C5jPdSrk.mjs} +1 -1
  202. package/dist/server/components.mjs +3138 -1373
  203. package/dist/server/config-validation.mjs +1395 -486
  204. package/dist/server/config.mjs +1395 -486
  205. package/dist/server/data.mjs +1289 -380
  206. package/dist/server/index.mjs +8 -1
  207. package/dist/server/next.mjs +3362 -1538
  208. package/dist/server/page-converter.mjs +1357 -453
  209. package/dist/server/prebuild.mjs +1 -1
  210. package/dist/server/rendering/server.mjs +2335 -1044
  211. package/dist/server/rendering.mjs +3152 -1370
  212. package/dist/server/routing.mjs +1437 -490
  213. package/dist/server/server.mjs +1297 -381
  214. package/dist/server/theme-bridge.mjs +1135 -795
  215. package/dist/{spinner-tSdG9YvG.mjs → spinner-B-ab2rJp.mjs} +1 -1
  216. package/dist/styles/index.css +1088 -721
  217. package/package.json +1 -1
  218. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
  219. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
  220. package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
  221. package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
  222. package/dist/client/pricing-CMD0kADd.mjs +0 -314
  223. package/dist/client/result-DRW7JWXz.mjs +0 -30
  224. package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
  225. package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
  226. package/dist/spinner-BL3kW9Uh.mjs +0 -803
@@ -0,0 +1,18 @@
1
+ import type { DemoClaimId, DemoBlueprintVersionId, SiteId } from './branded';
2
+ export type DemoClaimReadiness = Readonly<{
3
+ status: 'preparing';
4
+ claimId: DemoClaimId;
5
+ blueprintVersionId: DemoBlueprintVersionId;
6
+ }> | Readonly<{
7
+ status: 'ready';
8
+ claimId: DemoClaimId;
9
+ blueprintVersionId: DemoBlueprintVersionId;
10
+ siteId: SiteId;
11
+ expiresAt: string;
12
+ }> | Readonly<{
13
+ status: 'ended';
14
+ claimId: DemoClaimId;
15
+ }> | Readonly<{
16
+ status: 'setup_failed';
17
+ claimId: DemoClaimId;
18
+ }>;
@@ -2,7 +2,7 @@ export declare const demoBlueprintStatusValues: readonly ["draft", "published",
2
2
  export type DemoBlueprintStatus = (typeof demoBlueprintStatusValues)[number];
3
3
  export declare const demoInstanceStatusValues: readonly ["warming", "available", "claimed", "expired", "showcase", "failed"];
4
4
  export type DemoInstanceStatus = (typeof demoInstanceStatusValues)[number];
5
- export declare const demoClaimStatusValues: readonly ["active", "expired", "released"];
5
+ export declare const demoClaimStatusValues: readonly ["preparing", "active", "expired", "released"];
6
6
  export type DemoClaimStatus = (typeof demoClaimStatusValues)[number];
7
7
  export declare const demoBlueprintArtifactKindValues: readonly ["recipe"];
8
8
  export type DemoBlueprintArtifactKind = (typeof demoBlueprintArtifactKindValues)[number];
@@ -1,5 +1,5 @@
1
1
  import { type Result } from './result';
2
- export declare const DEFAULT_DEMO_WARM_POOL_TARGET = 0;
2
+ export declare const DEFAULT_DEMO_WARM_POOL_TARGET = 1;
3
3
  export declare const MAX_DEMO_WARM_POOL_TARGET = 20;
4
4
  export type DemoWarmPoolTargetError = Readonly<{
5
5
  kind: 'invalid_demo_warm_pool_target';
@@ -15,12 +15,14 @@ export * from './event-page-surface-subject';
15
15
  export * from './event-page-selection';
16
16
  export * from './public-event-booking-availability';
17
17
  export * from './money-input';
18
+ export * from './ticket-quantity';
18
19
  export * from './booking-flexible-balance';
19
20
  export * from './booking-refunds';
20
21
  export * from './booking-instalments';
21
22
  export * from './booking-instalment-deposit';
22
23
  export * from './booking-live-payment-terms';
23
24
  export * from './booking-payment-options';
25
+ export * from './appointment-booking-terms';
24
26
  export * from './booking-date-time';
25
27
  export * from './booking-consent';
26
28
  export * from './appointment-service-categories';
@@ -54,6 +56,7 @@ export * from './mailing-list-identifiers';
54
56
  export * from './mailing-list-setup';
55
57
  export * from './mailing-list-setup-parser';
56
58
  export * from './mailing-list-targeting';
59
+ export * from './mailing-list-targeting-availability';
57
60
  export * from './mailing-list-runtime';
58
61
  export * from './mailing-list-targeting-parser';
59
62
  export * from './mailing-list-submission';
@@ -86,3 +89,4 @@ export * from './navigation-portal-labels';
86
89
  export * from './event-preset-vocabulary';
87
90
  export * from './event-catalogue';
88
91
  export * from './patch';
92
+ export * from './demo-claim-readiness';
@@ -0,0 +1,68 @@
1
+ import type { MailingListRuntimeContext, MailingListRuntimeProvider } from './mailing-list-runtime';
2
+ import { type MailingListDefaultTargeting, type MailingListPlacementTargeting } from './mailing-list-targeting';
3
+ type CustomTargeting = Exclude<MailingListPlacementTargeting, {
4
+ mode: 'default';
5
+ }>;
6
+ type Catalog<P extends MailingListRuntimeProvider['provider']> = Extract<MailingListRuntimeProvider, {
7
+ provider: P;
8
+ }>;
9
+ type Targeting<P extends CustomTargeting['provider']> = Extract<CustomTargeting, {
10
+ provider: P;
11
+ }>;
12
+ type Choice = Readonly<{
13
+ id: string | number;
14
+ name: string;
15
+ }>;
16
+ type MailchimpAudience = Catalog<'mailchimp'>['audiences'][number];
17
+ /** Provider and placement stay correlated after the assessment has matched them. */
18
+ export type MailingListMatchedTargeting = Readonly<{
19
+ provider: 'native';
20
+ catalog: Catalog<'native'>;
21
+ targeting: Targeting<'native'>;
22
+ }> | Readonly<{
23
+ provider: 'brevo';
24
+ catalog: Catalog<'brevo'>;
25
+ targeting: Targeting<'brevo'>;
26
+ }> | Readonly<{
27
+ provider: 'mailchimp';
28
+ catalog: Catalog<'mailchimp'>;
29
+ targeting: Targeting<'mailchimp'>;
30
+ audience: MailchimpAudience;
31
+ }>;
32
+ export type MailingListResolvedCustomTargeting = MailingListMatchedTargeting & Readonly<{
33
+ mode: 'custom';
34
+ choices: readonly Choice[];
35
+ selectedChoices: readonly Choice[];
36
+ }>;
37
+ export type MailingListResolvedTargeting = MailingListResolvedCustomTargeting | Readonly<{
38
+ mode: 'default';
39
+ provider: MailingListRuntimeProvider['provider'];
40
+ targeting: MailingListDefaultTargeting;
41
+ destination: Choice;
42
+ }>;
43
+ export type MailingListMissingAudienceTargeting = Readonly<{
44
+ mode: 'custom';
45
+ provider: 'mailchimp';
46
+ catalog: Catalog<'mailchimp'>;
47
+ targeting: Targeting<'mailchimp'>;
48
+ }>;
49
+ export type MailingListTargetingAvailability = Readonly<{
50
+ tag: 'available';
51
+ value: MailingListResolvedTargeting;
52
+ }> | Readonly<{
53
+ tag: 'unavailable';
54
+ reason: 'setup_missing' | 'provider_mismatch' | 'default_missing';
55
+ targeting: MailingListPlacementTargeting;
56
+ }> | Readonly<{
57
+ tag: 'unavailable';
58
+ reason: 'audience_missing';
59
+ value: MailingListMissingAudienceTargeting;
60
+ }> | Readonly<{
61
+ tag: 'unavailable';
62
+ reason: 'choices_missing';
63
+ missingIds: readonly (string | number)[];
64
+ value: MailingListResolvedCustomTargeting;
65
+ }>;
66
+ export declare function resolveMailingListDefaultDestination(provider: MailingListRuntimeProvider): Choice | null;
67
+ export declare function assessMailingListTargeting(context: MailingListRuntimeContext | undefined, targeting: MailingListPlacementTargeting): MailingListTargetingAvailability;
68
+ export {};
@@ -5,6 +5,7 @@ import { type Result } from './result';
5
5
  export type MailingListDefaultTargeting = Readonly<{
6
6
  mode: 'default';
7
7
  }>;
8
+ export declare const DEFAULT_MAILING_LIST_TARGETING: MailingListDefaultTargeting;
8
9
  export type NativeMailingListCustomTargeting = Readonly<{
9
10
  mode: 'custom';
10
11
  provider: 'native';
@@ -41,6 +42,7 @@ export type MailchimpMailingListCustomTargeting = Readonly<{
41
42
  }>;
42
43
  export type MailingListPlacementTargeting = MailingListDefaultTargeting | NativeMailingListCustomTargeting | BrevoMailingListCustomTargeting | MailchimpMailingListCustomTargeting;
43
44
  export declare function sameMailingListPlacementTargeting(left: MailingListPlacementTargeting, right: MailingListPlacementTargeting): boolean;
45
+ export declare function mailingListTargetingChoiceIds(targeting: Exclude<MailingListPlacementTargeting, MailingListDefaultTargeting>): readonly (string | number)[];
44
46
  export type MailingListVisitorSelection = Readonly<{
45
47
  provider: 'native';
46
48
  topicIds: readonly NativeMailingListTopicId[];
@@ -0,0 +1,13 @@
1
+ import type { Brand } from './branded';
2
+ import { type Result } from './result';
3
+ /** A whole number of booked places, at least one. */
4
+ export type PositiveTicketQuantity = Brand<number, 'PositiveTicketQuantity'>;
5
+ export declare function toPositiveTicketQuantity(value: number): Result<PositiveTicketQuantity, 'invalid_quantity'>;
6
+ /**
7
+ * The places a booking holds: the sum of its ticket lines' quantities. The one
8
+ * derivation for selections, persisted lines and a booking outcome's lines;
9
+ * null when the total is not a positive whole number.
10
+ */
11
+ export declare function deriveTotalTicketQuantity(lines: readonly Readonly<{
12
+ quantity: number;
13
+ }>[]): PositiveTicketQuantity | null;
@@ -5911,51 +5911,61 @@ export type Database = {
5911
5911
  };
5912
5912
  demo_claims: {
5913
5913
  Row: {
5914
+ blueprint_version_id: string | null;
5914
5915
  claimant_email: string;
5915
5916
  claimant_user_id: string | null;
5916
- claimed_at: string;
5917
+ claimed_at: string | null;
5917
5918
  created_at: string;
5918
- expires_at: string;
5919
+ expires_at: string | null;
5919
5920
  id: string;
5920
- instance_id: string;
5921
+ instance_id: string | null;
5921
5922
  metadata: Json;
5922
5923
  release_reason: string | null;
5923
5924
  released_at: string | null;
5924
- site_id: string;
5925
+ site_id: string | null;
5925
5926
  status: string;
5926
5927
  updated_at: string;
5927
5928
  };
5928
5929
  Insert: {
5930
+ blueprint_version_id?: string | null;
5929
5931
  claimant_email: string;
5930
5932
  claimant_user_id?: string | null;
5931
- claimed_at?: string;
5933
+ claimed_at?: string | null;
5932
5934
  created_at?: string;
5933
- expires_at: string;
5935
+ expires_at?: string | null;
5934
5936
  id?: string;
5935
- instance_id: string;
5937
+ instance_id?: string | null;
5936
5938
  metadata?: Json;
5937
5939
  release_reason?: string | null;
5938
5940
  released_at?: string | null;
5939
- site_id: string;
5941
+ site_id?: string | null;
5940
5942
  status?: string;
5941
5943
  updated_at?: string;
5942
5944
  };
5943
5945
  Update: {
5946
+ blueprint_version_id?: string | null;
5944
5947
  claimant_email?: string;
5945
5948
  claimant_user_id?: string | null;
5946
- claimed_at?: string;
5949
+ claimed_at?: string | null;
5947
5950
  created_at?: string;
5948
- expires_at?: string;
5951
+ expires_at?: string | null;
5949
5952
  id?: string;
5950
- instance_id?: string;
5953
+ instance_id?: string | null;
5951
5954
  metadata?: Json;
5952
5955
  release_reason?: string | null;
5953
5956
  released_at?: string | null;
5954
- site_id?: string;
5957
+ site_id?: string | null;
5955
5958
  status?: string;
5956
5959
  updated_at?: string;
5957
5960
  };
5958
5961
  Relationships: [
5962
+ {
5963
+ foreignKeyName: "demo_claims_blueprint_version_id_fkey";
5964
+ columns: ["blueprint_version_id"];
5965
+ isOneToOne: false;
5966
+ referencedRelation: "demo_blueprint_versions";
5967
+ referencedColumns: ["id"];
5968
+ },
5959
5969
  {
5960
5970
  foreignKeyName: "demo_claims_instance_id_fkey";
5961
5971
  columns: ["instance_id"];
@@ -18998,27 +19008,9 @@ export type Database = {
18998
19008
  Args: {
18999
19009
  p_blueprint_id: string;
19000
19010
  p_claimant_email: string;
19001
- p_claimant_user_id?: string;
19002
- p_claimed_at: string;
19003
- p_expires_at: string;
19011
+ p_claimant_user_id: string;
19004
19012
  };
19005
- Returns: {
19006
- claim_claimant_email: string;
19007
- claim_claimant_user_id: string;
19008
- claim_claimed_at: string;
19009
- claim_expires_at: string;
19010
- claim_id: string;
19011
- claim_instance_id: string;
19012
- claim_site_id: string;
19013
- claim_status: string;
19014
- instance_blueprint_id: string;
19015
- instance_blueprint_version_id: string;
19016
- instance_claimed_at: string;
19017
- instance_expires_at: string;
19018
- instance_id: string;
19019
- instance_site_id: string;
19020
- instance_status: string;
19021
- }[];
19013
+ Returns: Json;
19022
19014
  };
19023
19015
  claim_order_flexible_balance_payment_for_booking: {
19024
19016
  Args: {
@@ -19402,6 +19394,12 @@ export type Database = {
19402
19394
  };
19403
19395
  Returns: boolean;
19404
19396
  };
19397
+ complete_preparing_demo_claim_atomic: {
19398
+ Args: {
19399
+ p_claim_id: string;
19400
+ };
19401
+ Returns: Json;
19402
+ };
19405
19403
  connect_brevo_account_v1: {
19406
19404
  Args: {
19407
19405
  p_account_email: string;
@@ -19872,6 +19870,12 @@ export type Database = {
19872
19870
  };
19873
19871
  Returns: Json;
19874
19872
  };
19873
+ demo_claim_expires_at: {
19874
+ Args: {
19875
+ p_claimed_at: string;
19876
+ };
19877
+ Returns: string;
19878
+ };
19875
19879
  discard_authoritative_page_surface_draft: {
19876
19880
  Args: {
19877
19881
  p_expected_content_draft_updated_at: string;
@@ -20339,6 +20343,13 @@ export type Database = {
20339
20343
  };
20340
20344
  Returns: string;
20341
20345
  };
20346
+ grant_demo_administrator_membership: {
20347
+ Args: {
20348
+ p_site_id: string;
20349
+ p_user_id: string;
20350
+ };
20351
+ Returns: undefined;
20352
+ };
20342
20353
  guard_site_stripe_account_change: {
20343
20354
  Args: {
20344
20355
  p_account_email?: string;
@@ -21541,6 +21552,14 @@ export type Database = {
21541
21552
  };
21542
21553
  Returns: undefined;
21543
21554
  };
21555
+ request_demo_claim_atomic: {
21556
+ Args: {
21557
+ p_blueprint_id: string;
21558
+ p_claimant_email: string;
21559
+ p_claimant_user_id: string;
21560
+ };
21561
+ Returns: Json;
21562
+ };
21544
21563
  request_order_payment_plan_collection_closure: {
21545
21564
  Args: {
21546
21565
  p_plan_id: string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Where preview and editor chrome stacks against the site it shows. Sites
3
+ * float their own overlays (the event booking bar sits at 12000 and its
4
+ * booking panel at 14000): the chrome stays above a site's floating bars, so
5
+ * its controls stay clickable while viewing, and below a site's modal panel.
6
+ */
7
+ export declare const PREVIEW_CHROME_Z_INDEX = 13000;
@@ -1,4 +1,5 @@
1
1
  export { EditorChrome } from './chrome/EditorChrome';
2
+ export { PREVIEW_CHROME_Z_INDEX } from './chrome/chromeLayers';
2
3
  export { EditorStatusBar } from './chrome/EditorStatusBar';
3
4
  export { buildEditorStatusBarPresentationProps } from './chrome/statusBarPresentation';
4
5
  export type { DraftWorkflowStatus, EditorHistoryBarControls, EditorStatusBarProps, EditorStatusBarToolbar, StatusBarMenuItem, } from './chrome/EditorStatusBar';
@@ -0,0 +1,8 @@
1
+ export declare function LinkAddressInput({ kind, text, invalid, disabled, onChange, destination }: {
2
+ kind: 'external' | 'custom';
3
+ text: string;
4
+ invalid: boolean;
5
+ disabled?: boolean;
6
+ onChange: (text: string) => void;
7
+ destination?: string;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import type { RoutableContentItem } from '../../../../api/src/navigation';
2
+ import type { InternalReference } from './draft';
3
+ import type { RoutableContentState } from './types';
4
+ export declare function LinkContentList({ content, value, query, onQuery, onSelect, disabled, onRefresh }: {
5
+ content: RoutableContentState;
6
+ value: InternalReference | null;
7
+ query: string;
8
+ onQuery: (query: string) => void;
9
+ onSelect: (item: RoutableContentItem) => void;
10
+ disabled?: boolean;
11
+ onRefresh?: () => void;
12
+ }): import("react").JSX.Element;
@@ -1,6 +1,7 @@
1
- import type { RoutableContentItem } from '../../../../api/src/navigation';
1
+ import { type RoutableContentItem } from '../../../../api/src/navigation';
2
2
  import type { SiteId } from '../../../../core/src/index';
3
3
  import type { LinkValue } from '../../../../blocks/src/index';
4
+ import type { RoutableContentResource } from './types';
4
5
  import type { LinkWidgetAdapters } from './types';
5
6
  export type LinkPickerProps = {
6
7
  siteId?: SiteId;
@@ -10,5 +11,8 @@ export type LinkPickerProps = {
10
11
  initialItems?: RoutableContentItem[];
11
12
  className?: string;
12
13
  adapters?: LinkWidgetAdapters;
14
+ content?: RoutableContentResource;
15
+ onCancel?: () => void;
16
+ actionLabel?: string;
13
17
  };
14
18
  export declare function LinkPicker(props: LinkPickerProps): import("react").JSX.Element;
@@ -1,10 +1,10 @@
1
1
  import type { LinkValue } from '../../../../blocks/src/index';
2
- import type { LinkPickerProps } from './LinkPicker';
2
+ import { type LinkPickerProps } from './LinkPicker';
3
3
  type LinkPickerDialogProps = {
4
4
  open: boolean;
5
5
  onOpenChange: (open: boolean) => void;
6
6
  value: LinkValue | null;
7
7
  onSave: (value: LinkValue | null) => void;
8
- } & Pick<LinkPickerProps, 'siteId' | 'disabled' | 'initialItems' | 'adapters'>;
9
- export declare function LinkPickerDialog({ open, onOpenChange, value, onSave, siteId, disabled, initialItems, adapters, }: LinkPickerDialogProps): import("react").JSX.Element;
8
+ } & Pick<LinkPickerProps, 'siteId' | 'disabled' | 'initialItems' | 'adapters' | 'content'>;
9
+ export declare function LinkPickerDialog({ open, onOpenChange, value, onSave, ...options }: LinkPickerDialogProps): import("react").JSX.Element;
10
10
  export {};
@@ -1,4 +1,10 @@
1
- import { type LinkValue } from '../../../../blocks/src/index';
2
- export declare function LinkSummary({ value }: {
1
+ import type { LinkValue } from '../../../../blocks/src/index';
2
+ import { type LinkPresentation } from './presentation';
3
+ import type { RoutableContentState } from './types';
4
+ export declare function LinkPresentationContent({ presentation }: {
5
+ presentation: LinkPresentation;
6
+ }): import("react").JSX.Element;
7
+ export declare function LinkSummary({ value, content }: {
3
8
  value: LinkValue | null;
9
+ content?: RoutableContentState;
4
10
  }): import("react").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type LinkValue } from '../../../../blocks/src/index';
2
+ import type { LinkValue } from '../../../../blocks/src/index';
3
3
  import type { RoutableContentItem } from '../../../../api/src/navigation';
4
4
  import type { SiteId } from '../../../../core/src/index';
5
- import type { LinkWidgetAdapters } from './types';
5
+ import type { LinkWidgetAdapters, RoutableContentResource } from './types';
6
6
  export type LinkWidgetProps = {
7
7
  siteId?: SiteId;
8
8
  value: LinkValue | null;
@@ -10,9 +10,10 @@ export type LinkWidgetProps = {
10
10
  disabled?: boolean;
11
11
  initialItems?: RoutableContentItem[];
12
12
  adapters?: LinkWidgetAdapters;
13
+ content?: RoutableContentResource;
13
14
  label?: ReactNode;
14
15
  description?: ReactNode;
15
16
  fieldPath?: string;
16
17
  mode?: 'inline' | 'dialog';
17
18
  };
18
- export declare function LinkWidget({ siteId, value, onChange, disabled, initialItems, adapters, label, description, fieldPath, mode, }: LinkWidgetProps): import("react").JSX.Element;
19
+ export declare function LinkWidget({ value, onChange, label, description, fieldPath, mode, content: supplied, ...options }: LinkWidgetProps): import("react").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { RoutableContentItem } from '../../../../api/src/navigation';
3
3
  import type { SiteId } from '../../../../core/src/index';
4
- import type { LinkWidgetAdapters } from './types';
4
+ import type { LinkWidgetAdapters, RoutableContentResource } from './types';
5
5
  /**
6
6
  * Context value for LinkWidget
7
7
  *
@@ -12,6 +12,7 @@ export type LinkWidgetContextValue = {
12
12
  siteId?: SiteId;
13
13
  adapters?: LinkWidgetAdapters;
14
14
  initialItems?: RoutableContentItem[];
15
+ content?: RoutableContentResource;
15
16
  };
16
17
  /**
17
18
  * Provider for LinkWidget context
@@ -0,0 +1,44 @@
1
+ import { type LinkValue } from '../../../../blocks/src/index';
2
+ import type { RoutableContentState } from './types';
3
+ export type InternalReference = Extract<LinkValue, {
4
+ kind: 'internal' | 'page' | 'entry';
5
+ }>;
6
+ export type LinkTab = 'internal' | 'external' | 'custom';
7
+ type EditingLinkDraft = Readonly<{
8
+ kind: 'editing';
9
+ tab: LinkTab;
10
+ internal: InternalReference | null;
11
+ external: string;
12
+ custom: string;
13
+ }>;
14
+ export type LinkDraft = EditingLinkDraft | Readonly<{
15
+ kind: 'cleared';
16
+ tab: 'internal';
17
+ internal: null;
18
+ external: '';
19
+ custom: '';
20
+ }>;
21
+ export type LinkDraftEvent = {
22
+ type: 'clear';
23
+ } | {
24
+ type: 'tab';
25
+ tab: LinkTab;
26
+ } | {
27
+ type: 'internal';
28
+ value: InternalReference;
29
+ } | {
30
+ type: 'external' | 'custom';
31
+ text: string;
32
+ };
33
+ export type LinkDraftDecision = {
34
+ kind: 'valid';
35
+ value: LinkValue | null;
36
+ } | {
37
+ kind: 'invalid';
38
+ reason: 'external' | 'custom' | 'missing' | 'selection';
39
+ };
40
+ export declare function createLinkDraft(value: LinkValue | null): EditingLinkDraft;
41
+ export declare function reduceLinkDraft(draft: LinkDraft, event: LinkDraftEvent): LinkDraft;
42
+ export declare function decideLinkDraft(draft: LinkDraft, content: RoutableContentState): LinkDraftDecision;
43
+ export declare function isLinkTab(value: string): value is LinkTab;
44
+ export {};
@@ -0,0 +1,13 @@
1
+ import { type LinkValue } from '../../../../blocks/src/index';
2
+ import type { RoutableContentItem } from '../../../../api/src/navigation';
3
+ import type { RoutableContentState } from './types';
4
+ export type LinkPresentation = Readonly<{
5
+ title: string;
6
+ typeLabel?: string;
7
+ href?: string;
8
+ missing?: boolean;
9
+ }>;
10
+ export declare function presentLink(value: LinkValue | null, content: RoutableContentState): LinkPresentation;
11
+ export declare const publicationLabels: {
12
+ readonly [Status in RoutableContentItem['status']]: Status extends 'published' ? null : Capitalize<Status>;
13
+ };
@@ -8,3 +8,17 @@ export type CreateLinkWidgetOptions = {
8
8
  adapters?: LinkWidgetAdapters;
9
9
  initialItems?: RoutableContentItem[];
10
10
  };
11
+ export type RoutableContentState = {
12
+ kind: 'unavailable';
13
+ } | {
14
+ kind: 'loading';
15
+ } | {
16
+ kind: 'error';
17
+ } | {
18
+ kind: 'ready';
19
+ items: RoutableContentItem[];
20
+ };
21
+ export type RoutableContentResource = Readonly<{
22
+ state: RoutableContentState;
23
+ refresh?: () => void;
24
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { CreateLinkWidgetOptions, RoutableContentResource } from './types';
2
+ export declare function useRoutableContent({ siteId, adapters, initialItems }: CreateLinkWidgetOptions): RoutableContentResource;
@@ -1,6 +1,7 @@
1
- import { type RoutableContentItem } from '../../../../api/src/navigation';
2
- import { type LinkValue } from '../../../../blocks/src/index';
3
- export declare function toInternalLinkValue(item: RoutableContentItem): LinkValue;
1
+ import type { RoutableContentItem } from '../../../../api/src/navigation';
2
+ import type { LinkValue } from '../../../../blocks/src/index';
4
3
  export declare function getMatchingInternalItem(items: RoutableContentItem[], value: LinkValue | null): RoutableContentItem | null;
5
- export declare function isSameLinkValue(a: LinkValue | null, b: LinkValue | null): boolean;
6
4
  export declare function getDisplayTitle(item: Pick<RoutableContentItem, 'title' | 'draftTitle'>): string;
5
+ export declare function filterRoutableItems(items: RoutableContentItem[], query: string): RoutableContentItem[];
6
+ export declare function isDomainLookingCustomPath(value: string): boolean;
7
+ export declare function isSelectableRoutableItem(item: RoutableContentItem): boolean;
@@ -6,7 +6,7 @@ export declare function MailingListTargetingControl({ context, targeting, onChan
6
6
  context: Extract<MailingListRuntimeContext, {
7
7
  tag: 'configured';
8
8
  }>;
9
- targeting: MailingListPlacementTargeting;
9
+ targeting: unknown;
10
10
  onChange: (value: MailingListPlacementTargeting) => void;
11
11
  name: string;
12
12
  }>): import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { type MailingListPlacementTargeting, type MailingListRuntimeContext } from '../../../../core/src/index';
1
+ import { type MailingListPlacementTargeting, type MailingListRuntimeContext, type MailingListResolvedCustomTargeting, type MailingListMissingAudienceTargeting } from '../../../../core/src/index';
2
2
  type ConfiguredContext = Extract<MailingListRuntimeContext, {
3
3
  tag: 'configured';
4
4
  }>;
@@ -8,12 +8,17 @@ type CustomTargeting = Exclude<MailingListPlacementTargeting, {
8
8
  /** The name of the site's default topic/list/audience, or null when it no longer exists. */
9
9
  export declare function defaultItemName(context: ConfiguredContext): string | null;
10
10
  /** What the editor is choosing between, in the provider's own words. */
11
- export declare function choiceNoun(context: ConfiguredContext, form?: 'singular' | 'plural'): string;
11
+ export declare function choiceNoun(provider: ConfiguredContext['provider']['provider'], form?: 'singular' | 'plural'): string;
12
12
  export declare function providerDisplayName(context: ConfiguredContext): string;
13
- export declare function providerDefaultIsAvailable(context: ConfiguredContext): boolean;
14
- export declare function createInitialCustom(context: ConfiguredContext): CustomTargeting;
15
- export declare function changeSelectionMode(context: ConfiguredContext, targeting: CustomTargeting, mode: 'fixed' | 'visitor_choice'): CustomTargeting;
16
- export declare function canOfferVisitorChoice(context: ConfiguredContext, targeting: CustomTargeting): boolean;
17
- export declare function toggle(values: readonly string[], id: string): string[];
18
- export declare function toggleRequired(values: readonly string[], id: string): string[];
13
+ export declare function createInitialCustom(context: ConfiguredContext): CustomTargeting | null;
14
+ export type TargetingTransition = Readonly<{
15
+ tag: 'changed';
16
+ targeting: CustomTargeting;
17
+ }> | Readonly<{
18
+ tag: 'refused';
19
+ reason: 'last_choice' | 'invalid_choice' | 'no_interests' | 'audience_missing';
20
+ }>;
21
+ type EditableTargeting = MailingListResolvedCustomTargeting | MailingListMissingAudienceTargeting;
22
+ export declare function changeSelectionMode(matched: EditableTargeting, mode: 'fixed' | 'visitor_choice'): TargetingTransition;
23
+ export declare function toggleTargetingChoice(targeting: CustomTargeting, rawId: string): TargetingTransition;
19
24
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type SafeDownloadFilename, type SiteScopedStoragePath, type SiteId, type StorageBucketName, type StoragePath, type UploadSessionId, type UserId, type MediaAssetId, type Result } from '../../core/src/index';
2
2
  import type { StorageClass } from './fileDomain';
3
+ import { type WritableStoragePathError } from './storageObjectKey';
3
4
  export declare const FILE_STORAGE_BUCKETS: {
4
5
  readonly publicSite: StorageBucketName;
5
6
  readonly privateSite: StorageBucketName;
@@ -16,7 +17,7 @@ export declare const DURABLE_FILE_FOLDER = "files";
16
17
  export declare const SDK_UPLOAD_STAGING_PREFIX = "sdk-staging";
17
18
  export declare const PRIVATE_SITE_FILE_BUCKET_MIME_TYPES: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "application/rtf", "text/rtf", "image/jpeg", "image/png", "image/webp", "image/gif", "image/avif", "image/heic", "image/heif", "image/svg+xml", "text/csv", "application/csv", "application/vnd.ms-excel", "application/zip", "application/x-zip-compressed", "audio/mpeg", "audio/mp4", "audio/wav", "audio/x-wav", "audio/ogg", "audio/webm", "audio/flac", "video/mp4", "video/webm", "video/quicktime"];
18
19
  export declare const TEMP_UPLOAD_BUCKET_MIME_TYPES: readonly ["application/pdf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "text/plain", "application/rtf", "text/rtf", "image/jpeg", "image/png", "image/webp", "image/gif", "image/avif", "image/heic", "image/heif", "image/svg+xml", "text/csv", "application/csv", "application/vnd.ms-excel", "application/zip", "application/x-zip-compressed", "audio/mpeg", "audio/mp4", "audio/wav", "audio/x-wav", "audio/ogg", "audio/webm", "audio/flac", "video/mp4", "video/webm", "video/quicktime", "font/woff2", "application/font-woff2", "application/x-font-woff2", "application/octet-stream"];
19
- export type FileStoragePathError = 'unsafe-path-segment';
20
+ export type FileStoragePathError = WritableStoragePathError;
20
21
  export type StagedUploadStoragePathInput = {
21
22
  readonly userId: UserId;
22
23
  readonly siteId: SiteId;
@@ -35,12 +36,12 @@ export type DurableFileStoragePathInput = {
35
36
  export declare function storageBucketForStorageClass(storageClass: StorageClass): StorageBucketName;
36
37
  /**
37
38
  * Builds the `temp-uploads` object path allowed by Storage RLS:
38
- * `temp-file-uploads/{userId}/{siteId}/{uploadSessionId}/{safeDownloadFilename}`.
39
+ * `temp-file-uploads/{userId}/{siteId}/{uploadSessionId}/{storageObjectFilename}`.
39
40
  */
40
41
  export declare function buildStagedUploadStoragePath(input: StagedUploadStoragePathInput): Result<StoragePath, FileStoragePathError>;
41
42
  /**
42
43
  * Builds the durable site-scoped object path allowed by public/private site-file RLS:
43
- * `sites/{siteId}/files/{fileAssetId}/{safeDownloadFilename}`.
44
+ * `sites/{siteId}/files/{fileAssetId}/{storageObjectFilename}`.
44
45
  */
45
46
  export declare function buildDurableFileStoragePath(input: DurableFileStoragePathInput): Result<SiteScopedStoragePath, FileStoragePathError>;
46
47
  export declare function parseStoragePath(value: string): Result<StoragePath, FileStoragePathError>;
@@ -1,6 +1,7 @@
1
1
  export * from './types';
2
2
  export * from './fileDomain';
3
3
  export * from './fileStorage';
4
+ export * from './storageObjectKey';
4
5
  export * from './storagePathDomain';
5
6
  export * from './fileSafety';
6
7
  export * from './filePersistence';