@riverbankcms/sdk 0.148.0 → 0.150.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 (250) hide show
  1. package/README.md +1 -1
  2. package/dist/EventEmbeddedCheckoutStep-D00Kc8Zj.mjs +285 -0
  3. package/dist/{PreviewEditorSidebar-DvEPG3Z2.mjs → PreviewEditorSidebar-7ZhmmnBB.mjs} +103 -66
  4. package/dist/{PreviewEditorUI-D6eb6fkx.mjs → PreviewEditorUI-BIJucTRd.mjs} +3 -6
  5. package/dist/{PreviewQueryProvider-5znTyJuz.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
  6. package/dist/{SdkPreviewModeRuntime-DJ6utQ_R.mjs → SdkPreviewModeRuntime-tj45gmCX.mjs} +96 -67
  7. package/dist/{SiteChromeCustomizeContext-CFJYh6vo.mjs → SiteChromeCustomizeContext-BFOt0ss-.mjs} +4804 -4161
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +660 -0
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +510 -0
  10. package/dist/_dts/api/src/billing.d.ts +2 -2
  11. package/dist/_dts/api/src/bookingConfig.d.ts +33 -48
  12. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
  13. package/dist/_dts/api/src/bookingOperations.d.ts +5 -7
  14. package/dist/_dts/api/src/bookingRecords.d.ts +15 -11
  15. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
  16. package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +0 -2
  18. package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
  19. package/dist/_dts/api/src/contentRuntime.d.ts +5 -1
  20. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
  21. package/dist/_dts/api/src/endpoints.d.ts +2 -10
  22. package/dist/_dts/api/src/eventManagementContracts.d.ts +4 -7
  23. package/dist/_dts/api/src/footerCompositionContracts.d.ts +9 -0
  24. package/dist/_dts/api/src/footerSettings.d.ts +3 -3
  25. package/dist/_dts/api/src/index.d.ts +4 -4
  26. package/dist/_dts/api/src/navigation/bookingPortalLink.d.ts +13 -0
  27. package/dist/_dts/api/src/navigation.d.ts +1 -0
  28. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +2 -2
  29. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +2 -29
  30. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +9 -173
  31. package/dist/_dts/api/src/request.d.ts +1 -1
  32. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
  33. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +1 -1
  34. package/dist/_dts/api/src/sdkThemeWire.d.ts +12 -0
  35. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -3
  36. package/dist/_dts/api/src/siteOperations.d.ts +6 -2
  37. package/dist/_dts/api/src/siteSettings.d.ts +2 -0
  38. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  39. package/dist/_dts/blocks/src/client.d.ts +2 -1
  40. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  41. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
  42. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +38 -10
  43. package/dist/_dts/blocks/src/portal/types.d.ts +9 -6
  44. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +24 -24
  46. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
  47. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
  48. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  49. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
  50. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +30 -3
  51. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +10 -1
  52. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -2
  54. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
  55. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +38 -18
  56. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  57. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  58. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
  59. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +6 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +13 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +15 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +0 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/FullyBookedStep.d.ts +6 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +3 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +4 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +15 -5
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +4 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentLocation.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +72 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +66 -5
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -4
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +13 -5
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +11 -52
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +19 -2
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -42
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +7 -8
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +94 -24
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useGuestRegistrationRecovery.d.ts +30 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +24 -12
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useRegistrationAdmission.d.ts +18 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +6 -1
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +24 -24
  89. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -6
  90. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
  91. package/dist/_dts/blocks/src/system/runtime/shared/stripe/browserStripe.d.ts +8 -0
  92. package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +8 -0
  93. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
  94. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
  95. package/dist/_dts/commerce/src/purchase/checkoutCopy.d.ts +10 -0
  96. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
  97. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
  98. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
  99. package/dist/_dts/commerce/src/purchase/checkoutPresentation.d.ts +49 -0
  100. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +6 -6
  101. package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +5 -1
  102. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
  103. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +9 -0
  104. package/dist/_dts/commerce/src/purchase/index.d.ts +3 -3
  105. package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
  106. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
  107. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
  108. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
  109. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -1
  110. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
  111. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
  112. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
  113. package/dist/_dts/commerce/src/purchase/stripeCheckoutReturnUrl.d.ts +9 -2
  114. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
  115. package/dist/_dts/commerce/src/purchase/types.d.ts +7 -7
  116. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +3 -2
  117. package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
  118. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +6 -1
  119. package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
  120. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +7 -0
  121. package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
  122. package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
  123. package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
  124. package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
  125. package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
  126. package/dist/_dts/core/src/branded.d.ts +3 -0
  127. package/dist/_dts/core/src/edit-lease.d.ts +5 -0
  128. package/dist/_dts/core/src/index.d.ts +4 -0
  129. package/dist/_dts/core/src/patch/index.d.ts +30 -0
  130. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +326 -36
  131. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
  132. package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
  133. package/dist/_dts/media-editor/src/index.d.ts +2 -0
  134. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +0 -1
  135. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -1
  136. package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
  137. package/dist/_dts/preview-next/src/constants.d.ts +4 -0
  138. package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
  139. package/dist/_dts/sdk/src/bookings/index.d.ts +2 -1
  140. package/dist/_dts/sdk/src/bookings/types.d.ts +1 -1
  141. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
  142. package/dist/_dts/sdk/src/version.d.ts +1 -1
  143. package/dist/_dts/theme-core/src/blocks/index.d.ts +1 -0
  144. package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +147 -0
  145. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +22 -0
  146. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +22 -0
  147. package/dist/_dts/theme-core/src/cards/roles.d.ts +12 -0
  148. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  149. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +198 -0
  150. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +2 -0
  151. package/dist/_dts/theme-core/src/palette/utils/scrimContrast.d.ts +22 -0
  152. package/dist/_dts/theme-core/src/runtime/bridgeColourTokens.d.ts +10 -0
  153. package/dist/_dts/theme-core/src/schema.d.ts +330 -0
  154. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +0 -51
  155. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +0 -51
  156. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +11 -0
  157. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +7 -1
  158. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +7 -1
  159. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
  160. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +12 -6
  161. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +7 -4
  162. package/dist/_dts/theme-core/src/site-styles/sectionSurfaceBackgrounds.d.ts +65 -0
  163. package/dist/_dts/theme-core/src/site-styles/types.d.ts +17 -0
  164. package/dist/_dts/theme-core/src/surfaces/opaqueSurface.d.ts +43 -0
  165. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  166. package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
  167. package/dist/client/{BookingMailingListNote-CzRt2dF_.mjs → BookingMailingListNote-CYHOufsI.mjs} +33 -124
  168. package/dist/client/{CheckboxChoice-B33MqoUo.mjs → CheckboxChoice-M-3HycLw.mjs} +1 -1
  169. package/dist/client/{DemoBookingPortalAccess-mxqwap3f.mjs → DemoBookingPortalAccess-Cvr9O_ca.mjs} +2 -2
  170. package/dist/client/{EventCombined.client-CDb11igO.mjs → EventCombined.client-m5UZIobP.mjs} +7 -7
  171. package/dist/client/EventEmbeddedCheckoutStep-DL6zFAkA.mjs +289 -0
  172. package/dist/client/{EventListing.client-EgYhzKPa.mjs → EventListing.client-DeMfCM04.mjs} +2 -2
  173. package/dist/client/{LeafletStaticMap-gtmtaA2b.mjs → LeafletStaticMap-CvZ3gOdD.mjs} +1 -1
  174. package/dist/client/{checkoutUrls-CXhko2Rv.mjs → RichText-BtfNvQV6.mjs} +2 -29
  175. package/dist/client/{TerminalPanel-DvNUP5ot.mjs → TerminalPanel-CUCNEwlH.mjs} +2 -18
  176. package/dist/client/{ThemedButton-C7CeUJjW.mjs → ThemedButton-C7WhXuRl.mjs} +2 -2
  177. package/dist/client/{accordion-kjvt49rA.mjs → accordion-cQm5mjqs.mjs} +1 -1
  178. package/dist/client/{bookingForm-pbRZordh.mjs → bookingForm-BVPJE5RQ.mjs} +15 -11
  179. package/dist/client/bookings.mjs +2860 -1222
  180. package/dist/client/{carousel-f4Zbmicv.mjs → carousel-3vgnY7LC.mjs} +2 -2
  181. package/dist/client/{carousel.client-A2lG-9od.mjs → carousel.client-CISsdZvg.mjs} +1 -1
  182. package/dist/client/{cart-DO20An50.mjs → cart-BGK4oOjm.mjs} +3 -3
  183. package/dist/client/{checkout-Du5amDR_.mjs → checkout-GsBLUNJD.mjs} +3 -3
  184. package/dist/client/checkoutUrls-ChxwaNtO.mjs +28 -0
  185. package/dist/client/client.mjs +3324 -2053
  186. package/dist/client/{colorStyles-j5U9v5JA.mjs → colorStyles-D-32xHZh.mjs} +2 -30
  187. package/dist/client/{context-eW97E945.mjs → context-D_8s12Fp.mjs} +1 -1
  188. package/dist/client/{dates-jPCirRea.mjs → dates-DeJQbQ9T.mjs} +2 -2
  189. package/dist/client/{eventCalendar-C2M-iE4j.mjs → eventCalendar-cmucD4NR.mjs} +10 -10
  190. package/dist/client/{eventCombined-W6ns3LHg.mjs → eventCombined-ku3E9FTl.mjs} +4 -4
  191. package/dist/client/{eventDetails-CR-GT0f0.mjs → eventDetails-CyKZ61sF.mjs} +5 -5
  192. package/dist/client/{eventListing-BK8AfYZz.mjs → eventListing-B7yxGIhX.mjs} +4 -4
  193. package/dist/client/{eventRegistration-BJSd4KUu.mjs → eventRegistration-BoXfSFgZ.mjs} +1455 -1184
  194. package/dist/client/{form-BvpfbQaT.mjs → form-CNQOWhJo.mjs} +5 -5
  195. package/dist/client/{headerSection-I5sUQ8x-.mjs → headerSection-DahaBJGQ.mjs} +3 -3
  196. package/dist/client/hooks.mjs +283 -193
  197. package/dist/client/{locationMap-BLvwf9_f.mjs → locationMap-BoDjqYlW.mjs} +4 -4
  198. package/dist/client/{media-Cl38iOMI.mjs → media-BFY0y2rb.mjs} +2 -1
  199. package/dist/client/{newsletterForm-DrQ2weE8.mjs → newsletterForm-DtzXDklw.mjs} +4 -4
  200. package/dist/client/{pricing-BES87mrR.mjs → pricing-DXEh2Lhh.mjs} +1 -1
  201. package/dist/client/{productDetail-Url9jcc5.mjs → productDetail-D7cPa-00.mjs} +3 -3
  202. package/dist/client/{productList-DE7ngEZJ.mjs → productList-D1XMap66.mjs} +3 -3
  203. package/dist/client/{propsDecoder-D1OtGXDV.mjs → propsDecoder-DiIeBopB.mjs} +913 -322
  204. package/dist/client/rendering/client.mjs +3913 -2260
  205. package/dist/client/rendering/islands.mjs +19 -19
  206. package/dist/client/rendering.mjs +3302 -2013
  207. package/dist/client/result-DRW7JWXz.mjs +30 -0
  208. package/dist/client/{routeIslandApiConfig-BG9Y-SHg.mjs → routeIslandApiConfig-wzR4lKAY.mjs} +1 -1
  209. package/dist/client/scrollToBlock-C86BYkyV.mjs +17 -0
  210. package/dist/client/{shop-CJkuySJ3.mjs → shop-CYT5P-S5.mjs} +13 -14
  211. package/dist/client/{shop-commerce-store-Bxm75Pg6.mjs → shop-commerce-store-wKhsJQxI.mjs} +1 -1
  212. package/dist/client/{shop-commerce-4rKj5n9h.mjs → shop-commerce-ypBu_dx4.mjs} +9 -9
  213. package/dist/client/{shopShared-DpoQDWfz.mjs → shopShared-DFGhYrf2.mjs} +52 -6
  214. package/dist/client/{useEventFilters-D8HliSqR.mjs → useEventFilters-blSbN5o7.mjs} +8 -8
  215. package/dist/preview-next/before-render.mjs +15 -22
  216. package/dist/preview-next/client/runtime.mjs +4 -4
  217. package/dist/preview-next/constants.mjs +5 -1
  218. package/dist/preview-next/index.mjs +5 -1
  219. package/dist/preview-next/keepAlive.mjs +149 -82
  220. package/dist/preview-next/middleware.mjs +15 -22
  221. package/dist/{previewAuthStore-BXXF3hhW.mjs → previewAuthStore-BBmV7UsW.mjs} +49 -29
  222. package/dist/{sdk-runtime-C2a05WjL.mjs → sdk-runtime-2p8uQk1V.mjs} +2 -2
  223. package/dist/{separator-CuNhBAhS.mjs → separator-Cvvzk0Oo.mjs} +1 -1
  224. package/dist/server/components.mjs +4041 -3704
  225. package/dist/server/config-validation.mjs +345 -255
  226. package/dist/server/config.mjs +345 -255
  227. package/dist/server/data.mjs +283 -193
  228. package/dist/server/index.mjs +20 -27
  229. package/dist/server/next.mjs +788 -469
  230. package/dist/server/page-converter.mjs +245 -121
  231. package/dist/server/prebuild.mjs +1 -1
  232. package/dist/server/rendering/server.mjs +4018 -3690
  233. package/dist/server/rendering.mjs +4044 -3707
  234. package/dist/server/routing.mjs +314 -190
  235. package/dist/server/server.mjs +290 -218
  236. package/dist/server/theme-bridge.mjs +1122 -310
  237. package/dist/server/theme.mjs +126 -116
  238. package/dist/spinner-CDo6AkDz.mjs +658 -0
  239. package/dist/styles/index.css +75 -212
  240. package/package.json +1 -1
  241. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
  242. package/dist/_dts/billing/src/checkout/platform.d.ts +0 -77
  243. package/dist/_dts/billing/src/config/env.d.ts +0 -29
  244. package/dist/_dts/billing/src/stripe/client.d.ts +0 -29
  245. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +0 -63
  246. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +0 -9
  247. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
  248. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
  249. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
  250. package/dist/client/urlParams-D71VXFGx.mjs +0 -47
@@ -2018,6 +2018,16 @@ function isRecord$18(value) {
2018
2018
  return typeof value === "object" && value !== null && !Array.isArray(value);
2019
2019
  }
2020
2020
  //#endregion
2021
+ //#region ../core/src/booking-payment-options.ts
2022
+ /** Automatic instalments and a flexible balance cannot share one booking offer. */
2023
+ function validateBookingPaymentOptionKinds(kinds) {
2024
+ if (kinds.length === 0) return err$1("no_options");
2025
+ const uniqueKinds = new Set(kinds);
2026
+ if (uniqueKinds.size !== kinds.length) return err$1("duplicate_kind");
2027
+ if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err$1("incompatible_collection_options");
2028
+ return ok$1(void 0);
2029
+ }
2030
+ //#endregion
2021
2031
  //#region ../core/src/booking-time-zone.ts
2022
2032
  const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
2023
2033
  const timeZoneValidityCache = /* @__PURE__ */ new Map();
@@ -4098,7 +4108,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
4098
4108
  stack: 8e3,
4099
4109
  digest: 128,
4100
4110
  componentStack: 8e3,
4101
- sourceLocation: 1024
4111
+ sourceLocation: 1024,
4112
+ navigationAgeMs: 6e4
4102
4113
  };
4103
4114
  const clientErrorEventSchema = z.enum([
4104
4115
  "dashboard:route-error",
@@ -4115,7 +4126,17 @@ z.object({
4115
4126
  stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
4116
4127
  digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
4117
4128
  componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
4118
- sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
4129
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
4130
+ navigation: z.object({
4131
+ fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
4132
+ toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
4133
+ type: z.enum([
4134
+ "push",
4135
+ "replace",
4136
+ "traverse"
4137
+ ]),
4138
+ ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
4139
+ }).strict().nullable().optional()
4119
4140
  }).strict();
4120
4141
  const API_ENDPOINTS$1 = {
4121
4142
  ...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
@@ -7872,24 +7893,6 @@ const API_ENDPOINTS$1 = {
7872
7893
  "server:internal_error"
7873
7894
  ]
7874
7895
  },
7875
- syncBookingPassWithStripe: {
7876
- path: "/sites/{siteId}/bookings/passes/{passId}/sync-stripe",
7877
- method: "POST",
7878
- tags: [
7879
- "site-{siteId}",
7880
- "passes-{siteId}",
7881
- "pass-{passId}"
7882
- ],
7883
- auth: "user",
7884
- responseKind: "json",
7885
- errors: [
7886
- "validation:invalid_input",
7887
- "auth:forbidden",
7888
- "resource:not_found",
7889
- "resource:conflict",
7890
- "server:internal_error"
7891
- ]
7892
- },
7893
7896
  refundCustomerPass: {
7894
7897
  path: "/sites/{siteId}/bookings/customer-passes/{customerPassId}/refund",
7895
7898
  method: "POST",
@@ -9353,7 +9356,7 @@ const API_ENDPOINTS$1 = {
9353
9356
  ]
9354
9357
  },
9355
9358
  cancelFlexibleBalanceBookingDueToNonPayment: {
9356
- path: "/sites/{siteId}/shop/orders/{orderId}/items/{orderItemId}/flexible-balance/cancel-due-to-non-payment",
9359
+ path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/cancel-due-to-non-payment",
9357
9360
  method: "POST",
9358
9361
  auth: "user",
9359
9362
  responseKind: "json",
@@ -9364,7 +9367,7 @@ const API_ENDPOINTS$1 = {
9364
9367
  ]
9365
9368
  },
9366
9369
  reopenFlexibleBalanceBookingAfterNonPaymentCancellation: {
9367
- path: "/sites/{siteId}/shop/orders/{orderId}/items/{orderItemId}/flexible-balance/reopen",
9370
+ path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/reopen",
9368
9371
  method: "POST",
9369
9372
  auth: "user",
9370
9373
  responseKind: "json",
@@ -9869,14 +9872,14 @@ async function parseSuccessResponse(endpoint, response, config) {
9869
9872
  default: return buildSuccessEnvelope(void 0, requestId);
9870
9873
  }
9871
9874
  }
9872
- function createRawCMSClient(headers = {}, baseUrl) {
9875
+ function createRawCMSClient(getHeaders = () => ({}), baseUrl) {
9873
9876
  return ({ endpoint, body, params, options = {} }) => {
9874
9877
  const plan = buildApiRequestPlan({
9875
9878
  endpoint,
9876
9879
  body,
9877
9880
  params,
9878
9881
  options,
9879
- headers,
9882
+ headers: getHeaders(),
9880
9883
  baseUrl: normalizeCmsApiBaseUrl(baseUrl ?? resolveApiBaseUrl()),
9881
9884
  sdkVersion
9882
9885
  });
@@ -9982,13 +9985,13 @@ function createParsedClient(rawClient) {
9982
9985
  };
9983
9986
  }
9984
9987
  function createCMSClient(headers = {}, baseUrl) {
9985
- return createParsedClient(createRawCMSClient(headers, baseUrl));
9988
+ return createParsedClient(createRawCMSClient(() => headers, baseUrl));
9986
9989
  }
9987
9990
  function createInternalAPIClient(baseUrl) {
9988
9991
  return createCMSClient({}, baseUrl);
9989
9992
  }
9990
9993
  function createBearerAPIClient(token, baseUrl) {
9991
- return createCMSClient({ Authorization: `Bearer ${token}` }, baseUrl);
9994
+ return createParsedClient(createRawCMSClient(() => ({ Authorization: `Bearer ${typeof token === "function" ? token() : token}` }), baseUrl));
9992
9995
  }
9993
9996
  //#endregion
9994
9997
  //#region src/client/cache.ts
@@ -10102,7 +10105,7 @@ var SimpleCache = class {
10102
10105
  * 1. This constant
10103
10106
  * 2. The "version" field in package.json
10104
10107
  */
10105
- const SDK_VERSION = "0.148.0";
10108
+ const SDK_VERSION = "0.150.0";
10106
10109
  //#endregion
10107
10110
  //#region src/client/error.ts
10108
10111
  let _Symbol$for;
@@ -12791,6 +12794,15 @@ function fallbackBackground(fallbackToken, palette) {
12791
12794
  reason: "unresolvable-colour"
12792
12795
  };
12793
12796
  }
12797
+ /** Every role's contextual styles against one proven solid surface. */
12798
+ function knownSurfaceButtonContextStyles(input) {
12799
+ return Object.fromEntries(VARIANT_ROLES.flatMap((role) => Object.entries(contextualButtonSurfaceStyles(resolveContextualButtonRole({
12800
+ role,
12801
+ buttonSystem: input.buttonSystem,
12802
+ palette: input.palette,
12803
+ surface: input.surface
12804
+ })))));
12805
+ }
12794
12806
  function resolveContextualButtonRole(input) {
12795
12807
  const requested = findVariant(input.buttonSystem, input.role);
12796
12808
  if (!requested) return {
@@ -15790,6 +15802,18 @@ function brandNonEmptyString(value, label) {
15790
15802
  if (value.length === 0) throw new Error(`${label} must be a non-empty string.`);
15791
15803
  return value;
15792
15804
  }
15805
+ /**
15806
+ * What a block's own section background field admits, read from its manifest.
15807
+ * A site style's surface rule may paint a gradient or a photo; a block whose
15808
+ * `_sectionStyles.background` refuses that paint would be dropped at render
15809
+ * admission, so the runtime compiler paints the surface's colour equivalent
15810
+ * instead (see `compileSectionBackground`).
15811
+ */
15812
+ const sectionBackgroundPaintValues = [
15813
+ "color",
15814
+ "gradient",
15815
+ "image"
15816
+ ];
15793
15817
  const plainFrame = { kind: "plain" };
15794
15818
  function panelFrame(treatment) {
15795
15819
  return {
@@ -15874,6 +15898,7 @@ function defineBlockDesignCapability(capability) {
15874
15898
  ...capability,
15875
15899
  kind: "designed",
15876
15900
  looks: capability.looks ?? "not-applicable",
15901
+ sectionBackgroundPaints: admittedSectionBackgroundPaints(capability.sectionBackgroundPaints),
15877
15902
  sectionHeights: capability.sectionHeights ?? ["default"],
15878
15903
  imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
15879
15904
  imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
@@ -15886,6 +15911,10 @@ function defineBlockDesignCapability(capability) {
15886
15911
  ...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
15887
15912
  };
15888
15913
  }
15914
+ /** Absent means the block admits every section background paint. */
15915
+ function admittedSectionBackgroundPaints(paints) {
15916
+ return paints ?? sectionBackgroundPaintValues;
15917
+ }
15889
15918
  //#endregion
15890
15919
  //#region ../theme-core/src/site-styles/logoBranding.ts
15891
15920
  const logoTextConfidenceValues = [
@@ -16164,12 +16193,22 @@ const mediaPresentationSchema = commonSchema.extend({
16164
16193
  const boxBackgroundSchema = z.discriminatedUnion("type", [
16165
16194
  commonSchema.extend({
16166
16195
  type: z.literal("color"),
16167
- color: tokenOrCssColorValueSchema.nullable().optional()
16196
+ color: tokenOrCssColorValueSchema.nullable().optional(),
16197
+ /**
16198
+ * Compiler-owned. The scrim a site-style colour surface lays over media
16199
+ * that replaces it (a Look's band meeting an authored photo), sized so the
16200
+ * surface's foreground stays legible over any pixel. A colour background
16201
+ * never draws it itself; `resolveSectionBackground` moves it onto the
16202
+ * merged media background as its overlay.
16203
+ */
16204
+ mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
16168
16205
  }),
16169
16206
  commonSchema.extend({
16170
16207
  type: z.literal("gradient"),
16171
16208
  gradient: z.string().nullable().optional(),
16172
- gradientPresetId: z.string().min(1).nullable().optional()
16209
+ gradientPresetId: z.string().min(1).nullable().optional(),
16210
+ /** Compiler-owned; see the colour branch. */
16211
+ mediaScrim: boxBackgroundOverlaySchema.nullable().optional()
16173
16212
  }),
16174
16213
  mediaPresentationSchema.extend({
16175
16214
  type: z.literal("image"),
@@ -19898,6 +19937,17 @@ function defineBlockAppearancePreset(preset) {
19898
19937
  * (`defineBlockAppearancePreset` defaults it to `none`) — the block's own
19899
19938
  * composition still governs how its items look. The per-Look rationale for the card-bearing ones lives
19900
19939
  * in `.project/plans/1297-card-role-contract-site-styles-own-card-surfaces/mapping-table.md`.
19940
+ *
19941
+ * A Look asking for the `alternative` or `open` role is offered only where the
19942
+ * site style defines that role (`siteStyleSupportsLookDesign`), so two Looks
19943
+ * that differ only in role are distinct wherever both are offered.
19944
+ *
19945
+ * Retiring a Look is removing its entry. A stored pin to a retired id reads as
19946
+ * an unsupported pin in the page design editor model and renders the block's
19947
+ * auto Look, the same path an unavailable Look takes. Duplicates retired in
19948
+ * the 2026-09 Look audit: `feature-cards-soft-panels`,
19949
+ * `feature-cards-photo-tiles`, `feature-cards-editorial-pathways`,
19950
+ * `testimonials-default-cards`.
19901
19951
  */
19902
19952
  const brandScrimOptionGroups = [{
19903
19953
  id: "image-surface-treatment",
@@ -20282,16 +20332,6 @@ defineBlockAppearancePreset({
20282
20332
  treatment: "framed-programme"
20283
20333
  }
20284
20334
  }
20285
- }), defineBlockAppearancePreset({
20286
- id: "feature-cards-soft-panels",
20287
- target: "feature-cards",
20288
- label: "Soft tinted panels",
20289
- blockKinds: ["block.feature-cards"],
20290
- design: {
20291
- sectionSurface: "base",
20292
- contentFrame: plainFrame,
20293
- cardRole: "alternative"
20294
- }
20295
20335
  }), defineBlockAppearancePreset({
20296
20336
  id: "feature-cards-editorial-diptych",
20297
20337
  target: "feature-cards",
@@ -20303,27 +20343,6 @@ defineBlockAppearancePreset({
20303
20343
  contentFrame: plainFrame,
20304
20344
  cardRole: "default"
20305
20345
  }
20306
- }), defineBlockAppearancePreset({
20307
- id: "feature-cards-editorial-pathways",
20308
- target: "feature-cards",
20309
- label: "Editorial pathways",
20310
- blockKinds: ["block.feature-cards"],
20311
- constraints: { layoutVariantKeys: ["editorial-pathways"] },
20312
- design: {
20313
- sectionSurface: "base",
20314
- contentFrame: plainFrame,
20315
- cardRole: "default"
20316
- }
20317
- }), defineBlockAppearancePreset({
20318
- id: "feature-cards-photo-tiles",
20319
- target: "feature-cards",
20320
- label: "Photo tiles",
20321
- blockKinds: ["block.feature-cards"],
20322
- design: {
20323
- sectionSurface: "base",
20324
- contentFrame: plainFrame,
20325
- cardRole: "default"
20326
- }
20327
20346
  }), defineBlockAppearancePreset({
20328
20347
  id: "events-lined-panel",
20329
20348
  target: "events",
@@ -20412,16 +20431,6 @@ defineBlockAppearancePreset({
20412
20431
  contentFrame: panelFrame("raised"),
20413
20432
  cardRole: "default"
20414
20433
  }
20415
- }), defineBlockAppearancePreset({
20416
- id: "testimonials-default-cards",
20417
- target: "testimonials",
20418
- label: "Default cards",
20419
- blockKinds: ["block.testimonials"],
20420
- design: {
20421
- sectionSurface: "base",
20422
- contentFrame: plainFrame,
20423
- cardRole: "default"
20424
- }
20425
20434
  }), defineBlockAppearancePreset({
20426
20435
  id: "testimonials-statement-cards",
20427
20436
  target: "testimonials",
@@ -25231,9 +25240,7 @@ const curatedSiteStyles = [
25231
25240
  recommendedAppearancePresetIds: [
25232
25241
  "hero-split-editorial",
25233
25242
  "intro-portrait-bio",
25234
- "feature-cards-soft-panels",
25235
- "feature-cards-editorial-columns",
25236
- "feature-cards-photo-tiles",
25243
+ "feature-cards-bold-colors",
25237
25244
  "testimonials-non-carded",
25238
25245
  "faq-contained-help",
25239
25246
  "contact-form-panel"
@@ -25877,8 +25884,7 @@ const curatedSiteStyles = [
25877
25884
  "intro-portrait-bio",
25878
25885
  "feature-cards-editorial-columns",
25879
25886
  "feature-cards-editorial-diptych",
25880
- "feature-cards-editorial-pathways",
25881
- "feature-cards-soft-panels",
25887
+ "feature-cards-bold-colors",
25882
25888
  "events-lined-panel",
25883
25889
  "testimonials-non-carded",
25884
25890
  "faq-base-accordion",
@@ -26536,6 +26542,34 @@ function withLookCapability(declaration) {
26536
26542
  }
26537
26543
  };
26538
26544
  }
26545
+ /**
26546
+ * The section background paints a block's own `_sectionStyles.background`
26547
+ * field admits, read from its manifest so the design capability cannot drift
26548
+ * from what render admission accepts. A block without the field admits none.
26549
+ */
26550
+ function sectionBackgroundPaintsOfFields(fields) {
26551
+ const sectionStyles = fields.find((field) => field.id === "_sectionStyles");
26552
+ if (!sectionStyles || sectionStyles.type !== "modal") return [];
26553
+ const background = sectionStyles.schema.fields.find((field) => field.id === "background");
26554
+ if (!background || background.type !== "tabGroup") return [];
26555
+ const tabIds = new Set(background.tabs.map((tab) => tab.id));
26556
+ return [
26557
+ "color",
26558
+ "gradient",
26559
+ "image"
26560
+ ].filter((paint) => tabIds.has(paint));
26561
+ }
26562
+ /** Pins a designed capability's section background paints to the block's manifest. */
26563
+ function withManifestSectionBackgroundPaints(declaration, fields) {
26564
+ if (declaration.kind !== "capability") return declaration;
26565
+ return {
26566
+ kind: "capability",
26567
+ capability: {
26568
+ ...declaration.capability,
26569
+ sectionBackgroundPaints: sectionBackgroundPaintsOfFields(fields)
26570
+ }
26571
+ };
26572
+ }
26539
26573
  function declareNoBlockDesignCapability(reason) {
26540
26574
  return {
26541
26575
  kind: "none",
@@ -28429,15 +28463,11 @@ function resolveContextualButtonStyles(background, foreground, context, options)
28429
28463
  if (!paletteCache.has(palette)) paletteCache.set(palette, surfaceCache);
28430
28464
  const cached = surfaceCache.get(cacheKey);
28431
28465
  if (cached) return cached;
28432
- const styles = Object.fromEntries(VARIANT_ROLES.flatMap((role) => {
28433
- const resolution = resolveContextualButtonRole({
28434
- role,
28435
- buttonSystem,
28436
- palette,
28437
- surface: surface.surface
28438
- });
28439
- return Object.entries(contextualButtonSurfaceStyles(resolution));
28440
- }));
28466
+ const styles = knownSurfaceButtonContextStyles({
28467
+ surface: surface.surface,
28468
+ palette,
28469
+ buttonSystem
28470
+ });
28441
28471
  surfaceCache.set(cacheKey, styles);
28442
28472
  return styles;
28443
28473
  }
@@ -35153,6 +35183,20 @@ const footerEngagement = stack({
35153
35183
  ...footerSpamProtectionBinding
35154
35184
  }), [], when("module.engagement.kind", { equals: "mailing-list" }))
35155
35185
  ], when("module.kind", { equals: "engagement" }));
35186
+ const platformAttribution = el("div", {
35187
+ className: "rb-caption",
35188
+ "data-site-attribution": "macadamia"
35189
+ }, [
35190
+ text({ as: "span" }, bind("module.lead")),
35191
+ text({
35192
+ as: "span",
35193
+ value: " "
35194
+ }),
35195
+ link({
35196
+ href: { $bind: { from: "module.link.href" } },
35197
+ className: "footer-nav-link rb-caption transition-theme-standard"
35198
+ }, [text({ as: "span" }, bind("module.link.label"))])
35199
+ ], when("module.kind", { equals: "attribution" }));
35156
35200
  const footerGroup = stack({
35157
35201
  gap: "md",
35158
35202
  align: "stretch",
@@ -35182,6 +35226,7 @@ const footerGroup = stack({
35182
35226
  hours,
35183
35227
  socials,
35184
35228
  footerEngagement,
35229
+ platformAttribution,
35185
35230
  stack({ className: "rb-w-full" }, [authoredCopy], when("module.kind", { equals: "supporting-text" })),
35186
35231
  stack({ className: "rb-w-full rb-lg-col-span-3" }, [authoredCopy], when("module.kind", { equals: "legal" }))
35187
35232
  ], repeat("group.modules", "module"))], repeat("region.groups", "group"));
@@ -37043,68 +37088,115 @@ const weeklySlotAvailabilityBlockDefinition = {
37043
37088
  } }
37044
37089
  };
37045
37090
  //#endregion
37046
- //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
37047
- const bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
37048
- const bookingInstalmentPlanSchema$1 = z.union([
37049
- z.object({
37050
- kind: z.literal("deposit_plus_one_remainder"),
37051
- depositAmountCents: z.number().int().min(0),
37052
- depositRefundability: bookingDepositRefundPolicySchema$1,
37053
- remainderDueCount: z.number().int().positive(),
37054
- intervalUnit: z.enum([
37055
- "day",
37056
- "week",
37057
- "month"
37058
- ])
37059
- }),
37060
- z.object({
37061
- kind: z.literal("deposit_plus_scheduled_instalments"),
37062
- depositAmountCents: z.number().int().min(0),
37063
- depositRefundability: bookingDepositRefundPolicySchema$1,
37064
- instalmentCount: z.number().int().positive(),
37065
- intervalCount: z.number().int().positive(),
37066
- intervalUnit: z.enum([
37067
- "day",
37068
- "week",
37069
- "month"
37070
- ])
37071
- }),
37072
- z.object({
37073
- kind: z.literal("equal_scheduled_instalments"),
37074
- instalmentCount: z.number().int().positive(),
37075
- intervalCount: z.number().int().positive(),
37076
- intervalUnit: z.enum([
37077
- "day",
37078
- "week",
37079
- "month"
37080
- ])
37081
- })
37091
+ //#region ../core/src/booking-payment-schemas.ts
37092
+ const stripObject = (shape) => z.object(shape);
37093
+ const strictObject = (shape) => z.strictObject(shape);
37094
+ const depositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
37095
+ const intervalUnitSchema = z.enum([
37096
+ "day",
37097
+ "week",
37098
+ "month"
37082
37099
  ]);
37083
- const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
37084
- kind: z.literal("relative_to_start_date"),
37085
- daysBeforeStart: z.number().int().positive()
37086
- }), z.object({
37087
- kind: z.literal("fixed_calendar_date"),
37088
- dueAt: z.string().datetime()
37089
- })]);
37090
- const bookingFlexibleBalanceConfigSchema$1 = z.object({
37091
- upfrontAmountCents: z.number().int().min(0),
37092
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
37093
- depositRefundability: bookingDepositRefundPolicySchema$1
37094
- });
37095
- const blockBookingPaymentCollectionOptionSchema = z.union([
37096
- z.object({ kind: z.literal("upfront") }),
37097
- z.object({ kind: z.literal("deferred_manual") }),
37098
- z.object({
37099
- kind: z.literal("instalment_plan"),
37100
- plan: bookingInstalmentPlanSchema$1
37101
- }),
37102
- z.object({
37103
- kind: z.literal("flexible_balance"),
37104
- config: bookingFlexibleBalanceConfigSchema$1
37105
- })
37106
- ]);
37107
- const blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
37100
+ const nonNegativeIntegerSchema = z.number().int().nonnegative();
37101
+ const positiveIntegerSchema = z.number().int().positive();
37102
+ function createInstalmentPlanSchema(object) {
37103
+ return z.discriminatedUnion("kind", [
37104
+ object({
37105
+ kind: z.literal("deposit_plus_one_remainder"),
37106
+ depositAmountCents: nonNegativeIntegerSchema,
37107
+ depositRefundability: depositRefundPolicySchema,
37108
+ remainderDueCount: positiveIntegerSchema,
37109
+ intervalUnit: intervalUnitSchema
37110
+ }),
37111
+ object({
37112
+ kind: z.literal("deposit_plus_scheduled_instalments"),
37113
+ depositAmountCents: nonNegativeIntegerSchema,
37114
+ depositRefundability: depositRefundPolicySchema,
37115
+ instalmentCount: positiveIntegerSchema,
37116
+ intervalCount: positiveIntegerSchema,
37117
+ intervalUnit: intervalUnitSchema
37118
+ }),
37119
+ object({
37120
+ kind: z.literal("equal_scheduled_instalments"),
37121
+ instalmentCount: positiveIntegerSchema,
37122
+ intervalCount: positiveIntegerSchema,
37123
+ intervalUnit: intervalUnitSchema
37124
+ })
37125
+ ]);
37126
+ }
37127
+ function createFlexibleBalanceSchemas(object) {
37128
+ const dueDateRule = z.discriminatedUnion("kind", [object({
37129
+ kind: z.literal("relative_to_start_date"),
37130
+ daysBeforeStart: positiveIntegerSchema
37131
+ }), object({
37132
+ kind: z.literal("fixed_calendar_date"),
37133
+ dueAt: z.string().datetime()
37134
+ })]);
37135
+ return {
37136
+ dueDateRule,
37137
+ config: object({
37138
+ upfrontAmountCents: nonNegativeIntegerSchema,
37139
+ dueDateRule,
37140
+ depositRefundability: depositRefundPolicySchema
37141
+ })
37142
+ };
37143
+ }
37144
+ const paymentOptionKindsMessages = {
37145
+ no_options: "Choose at least one way for customers to pay.",
37146
+ duplicate_kind: "Choose each payment option only once.",
37147
+ incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
37148
+ };
37149
+ function buildBookingPaymentOptionSchemas(object) {
37150
+ const instalmentPlan = createInstalmentPlanSchema(object);
37151
+ const flexibleBalance = createFlexibleBalanceSchemas(object);
37152
+ const paymentCollectionOption = z.discriminatedUnion("kind", [
37153
+ object({ kind: z.literal("upfront") }),
37154
+ object({ kind: z.literal("deferred_manual") }),
37155
+ object({
37156
+ kind: z.literal("instalment_plan"),
37157
+ plan: instalmentPlan
37158
+ }),
37159
+ object({
37160
+ kind: z.literal("flexible_balance"),
37161
+ config: flexibleBalance.config
37162
+ })
37163
+ ]);
37164
+ const paymentTerms = object({ allowedOptions: z.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
37165
+ const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
37166
+ if (!result.ok) ctx.addIssue({
37167
+ code: "custom",
37168
+ path: ["allowedOptions"],
37169
+ message: paymentOptionKindsMessages[result.error]
37170
+ });
37171
+ });
37172
+ const paymentOptionsChoice = z.discriminatedUnion("source", [z.strictObject({ source: z.literal("default") }), z.strictObject({
37173
+ source: z.literal("custom"),
37174
+ paymentTerms
37175
+ })]);
37176
+ return {
37177
+ depositRefundPolicy: depositRefundPolicySchema,
37178
+ instalmentPlan,
37179
+ flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
37180
+ flexibleBalanceConfig: flexibleBalance.config,
37181
+ paymentCollectionOption,
37182
+ paymentTerms,
37183
+ paymentOptionsChoice
37184
+ };
37185
+ }
37186
+ function createBookingPaymentOptionSchemas(mode) {
37187
+ return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
37188
+ }
37189
+ const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
37190
+ bookingPaymentOptionSchemas.depositRefundPolicy;
37191
+ bookingPaymentOptionSchemas.instalmentPlan;
37192
+ bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
37193
+ bookingPaymentOptionSchemas.flexibleBalanceConfig;
37194
+ bookingPaymentOptionSchemas.paymentCollectionOption;
37195
+ const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
37196
+ bookingPaymentOptionSchemas.paymentOptionsChoice;
37197
+ //#endregion
37198
+ //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
37199
+ const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
37108
37200
  //#endregion
37109
37201
  //#region ../blocks/src/system/blocks/shared/bookingConsent.ts
37110
37202
  const blockBookingConsentSchema = z.object({
@@ -37706,7 +37798,7 @@ const publicPassProductCollectionSchema = z.object({ passes: z.array(publicPassP
37706
37798
  /**
37707
37799
  * Public membership product for shop display
37708
37800
  */
37709
- const publicMembershipProductSchema = z.object({
37801
+ const publicMembershipProductFields = {
37710
37802
  id: z.string(),
37711
37803
  name: z.string(),
37712
37804
  description: z.string().nullable(),
@@ -37715,7 +37807,16 @@ const publicMembershipProductSchema = z.object({
37715
37807
  billingInterval: z.enum(["month", "year"]),
37716
37808
  eligibleCategoryIds: z.array(z.string()),
37717
37809
  eligibleCategoryNames: z.array(z.string())
37810
+ };
37811
+ const purchasablePublicMembershipProductSchema = z.object({
37812
+ ...publicMembershipProductFields,
37813
+ purchaseAvailability: z.literal("purchasable")
37718
37814
  });
37815
+ const publicMembershipProductSchema = z.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z.object({
37816
+ ...publicMembershipProductFields,
37817
+ purchaseAvailability: z.literal("display_only"),
37818
+ unavailabilityReason: z.literal("online_payments_unavailable")
37819
+ })]);
37719
37820
  const publicMembershipProductCollectionSchema = z.object({ memberships: z.array(publicMembershipProductSchema) });
37720
37821
  //#endregion
37721
37822
  //#region ../blocks/src/system/blocks/event-registration.shared.ts
@@ -37915,14 +38016,18 @@ const calendarTabViewsSchema = z.enum([
37915
38016
  * @param needsPaymentStep - Whether user must complete payment method selection
37916
38017
  * @returns Array of wizard steps to display
37917
38018
  */
37918
- function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
38019
+ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep, paymentActive = false) {
37919
38020
  const baseSteps = hasPreSelectedContext ? ["select-tickets", "enter-details"] : [
37920
38021
  "select-event",
37921
38022
  "select-tickets",
37922
38023
  "enter-details"
37923
38024
  ];
37924
38025
  if (!needsPaymentStep) return baseSteps;
37925
- return [...baseSteps, "select-payment"];
38026
+ return paymentActive ? [
38027
+ ...baseSteps,
38028
+ "select-payment",
38029
+ "payment"
38030
+ ] : [...baseSteps, "select-payment"];
37926
38031
  }
37927
38032
  //#endregion
37928
38033
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
@@ -38041,6 +38146,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
38041
38146
  "Date",
38042
38147
  "Tickets",
38043
38148
  "Details",
38149
+ "Payment options",
38044
38150
  "Payment"
38045
38151
  ];
38046
38152
  const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
@@ -38183,12 +38289,13 @@ function shellLabelForRegistrationStep(step, events) {
38183
38289
  switch (step) {
38184
38290
  case "select-event": return isDateSelection(events) ? "Date" : "Event";
38185
38291
  case "select-tickets": return "Tickets";
38292
+ case "fully-booked":
38186
38293
  case "enter-details": return "Details";
38187
- case "select-payment": return "Payment";
38294
+ case "select-payment": return "Payment options";
38295
+ case "payment": return "Payment";
38188
38296
  case "error":
38189
38297
  case "success":
38190
38298
  case "submitting":
38191
- case "redirecting":
38192
38299
  case "verifying-payment":
38193
38300
  case "verifying-timeout":
38194
38301
  case "payment-status":
@@ -38200,7 +38307,7 @@ function isDateSelection(events) {
38200
38307
  return Boolean(events.length > 1 && firstSeriesId && events.every((event) => event.seriesId === firstSeriesId));
38201
38308
  }
38202
38309
  function buildEventRegistrationShellBodyText(stepLabels) {
38203
- if (stepLabels.includes("Payment")) return "Preparing tickets, details, and payment options.";
38310
+ if (stepLabels.includes("Payment options")) return "Preparing tickets, details, and payment options.";
38204
38311
  if (stepLabels[0] === "Tickets") return "Preparing tickets and booking details.";
38205
38312
  return "Preparing dates, tickets, and booking details.";
38206
38313
  }
@@ -40175,7 +40282,8 @@ const eventCalendarLayout = [styledSection({
40175
40282
  fallback: false
40176
40283
  } },
40177
40284
  banded: { $bind: {
40178
- from: "content.banded",
40285
+ from: "content",
40286
+ transforms: [{ id: "events.calendarBanded" }],
40179
40287
  fallback: false
40180
40288
  } }
40181
40289
  }))]
@@ -43672,7 +43780,7 @@ function buildPassesMembershipsDisplay(options) {
43672
43780
  product: pass
43673
43781
  } : {
43674
43782
  kind: "unavailable",
43675
- label: "Online purchasing coming soon."
43783
+ label: "Online purchasing is unavailable."
43676
43784
  }
43677
43785
  };
43678
43786
  });
@@ -43682,7 +43790,14 @@ function buildPassesMembershipsDisplay(options) {
43682
43790
  description: options.showDescriptions ? membership.description : null,
43683
43791
  priceLabel: formatCommercePrice(membership.price, membership.currency),
43684
43792
  intervalLabel: formatInterval(membership.billingInterval),
43685
- actionLabel: options.membershipActionLabel
43793
+ action: membership.purchaseAvailability === "purchasable" ? {
43794
+ kind: "purchase",
43795
+ label: options.membershipActionLabel,
43796
+ product: membership
43797
+ } : {
43798
+ kind: "unavailable",
43799
+ label: "Online purchasing is unavailable."
43800
+ }
43686
43801
  }));
43687
43802
  return {
43688
43803
  kind: "passes-memberships",
@@ -43902,7 +44017,14 @@ const membershipCardDisplaySchema = z.object({
43902
44017
  description: z.string().nullable(),
43903
44018
  priceLabel: z.string(),
43904
44019
  intervalLabel: z.string(),
43905
- actionLabel: z.string()
44020
+ action: z.discriminatedUnion("kind", [z.object({
44021
+ kind: z.literal("purchase"),
44022
+ label: z.string(),
44023
+ product: purchasablePublicMembershipProductSchema
44024
+ }), z.object({
44025
+ kind: z.literal("unavailable"),
44026
+ label: z.string()
44027
+ })])
43906
44028
  });
43907
44029
  const passesMembershipsDisplaySchema = z.object({
43908
44030
  kind: z.literal("passes-memberships"),
@@ -46545,7 +46667,7 @@ function withDesignCapability(blockKind, definition, designCapability, designMet
46545
46667
  if (definition.manifest.name !== blockKind) throw new Error(`System block kind mismatch: expected ${blockKind}, received ${definition.manifest.name}.`);
46546
46668
  return {
46547
46669
  ...definition,
46548
- designCapability,
46670
+ designCapability: withManifestSectionBackgroundPaints(designCapability, definition.manifest.fields),
46549
46671
  designMetadata,
46550
46672
  manifest: {
46551
46673
  ...definition.manifest,
@@ -47596,6 +47718,16 @@ const defaultTransforms = createTransformRegistry([
47596
47718
  return resolveCalendarReadProfile(asPartialObject(value) ?? {});
47597
47719
  }
47598
47720
  },
47721
+ {
47722
+ id: "events.calendarBanded",
47723
+ kind: "formatter",
47724
+ summary: "Paint the week-board band only on a section with no background of its own",
47725
+ run(value) {
47726
+ const content = asPartialObject(value) ?? {};
47727
+ const sectionStyles = asPartialObject(content._sectionStyles);
47728
+ return content.banded === true && parseBackgroundContent(sectionStyles?.background) === null;
47729
+ }
47730
+ },
47599
47731
  ...formattingTransforms,
47600
47732
  ...layoutTransforms,
47601
47733
  ...chromeLogoTransforms,
@@ -51138,6 +51270,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
51138
51270
  "refund_failed"
51139
51271
  ];
51140
51272
  const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
51273
+ "refund_blocked_by_live_payment_terms",
51141
51274
  ...CANONICAL_REFUND_PLANNER_ERROR_CODES,
51142
51275
  "payment_intent_not_found",
51143
51276
  "stripe_error",
@@ -51153,6 +51286,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
51153
51286
  //#endregion
51154
51287
  //#region ../api/src/bookingRefundOutcomes.ts
51155
51288
  const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
51289
+ "refund_blocked_by_live_payment_terms",
51156
51290
  "missing_amount",
51157
51291
  "invalid_amount",
51158
51292
  "amount_exceeds_remaining",
@@ -51515,68 +51649,6 @@ function collectText(node) {
51515
51649
  }
51516
51650
  z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
51517
51651
  //#endregion
51518
- //#region ../api/src/bookingPaymentTermSchemas.ts
51519
- const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
51520
- const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
51521
- z.object({
51522
- kind: z.literal("deposit_plus_one_remainder"),
51523
- depositAmountCents: z.number().int().nonnegative(),
51524
- depositRefundability: bookingDepositRefundPolicySchema,
51525
- remainderDueCount: z.number().int().positive(),
51526
- intervalUnit: z.enum([
51527
- "day",
51528
- "week",
51529
- "month"
51530
- ])
51531
- }),
51532
- z.object({
51533
- kind: z.literal("deposit_plus_scheduled_instalments"),
51534
- depositAmountCents: z.number().int().nonnegative(),
51535
- depositRefundability: bookingDepositRefundPolicySchema,
51536
- instalmentCount: z.number().int().positive(),
51537
- intervalCount: z.number().int().positive(),
51538
- intervalUnit: z.enum([
51539
- "day",
51540
- "week",
51541
- "month"
51542
- ])
51543
- }),
51544
- z.object({
51545
- kind: z.literal("equal_scheduled_instalments"),
51546
- instalmentCount: z.number().int().positive(),
51547
- intervalCount: z.number().int().positive(),
51548
- intervalUnit: z.enum([
51549
- "day",
51550
- "week",
51551
- "month"
51552
- ])
51553
- })
51554
- ]);
51555
- const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
51556
- kind: z.literal("relative_to_start_date"),
51557
- daysBeforeStart: z.number().int().positive()
51558
- }), z.object({
51559
- kind: z.literal("fixed_calendar_date"),
51560
- dueAt: z.string().datetime()
51561
- })]);
51562
- const bookingFlexibleBalanceConfigSchema = z.object({
51563
- upfrontAmountCents: z.number().int().nonnegative(),
51564
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
51565
- depositRefundability: bookingDepositRefundPolicySchema
51566
- });
51567
- z.discriminatedUnion("kind", [
51568
- z.object({ kind: z.literal("upfront") }),
51569
- z.object({ kind: z.literal("deferred_manual") }),
51570
- z.object({
51571
- kind: z.literal("instalment_plan"),
51572
- plan: bookingInstalmentPlanSchema
51573
- }),
51574
- z.object({
51575
- kind: z.literal("flexible_balance"),
51576
- config: bookingFlexibleBalanceConfigSchema
51577
- })
51578
- ]);
51579
- //#endregion
51580
51652
  //#region ../api/src/aiPlayground.ts
51581
51653
  /**
51582
51654
  * RFC-6902 JSON Patch Operations