@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
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { un as checkBrowserStripeKey } from "./propsDecoder-DO5iXphQ.mjs";
3
- import { i as SpinnerNode } from "./ThemedButton-DZKjtaDD.mjs";
2
+ import { Jr as checkBrowserStripeKey } from "./propsDecoder-Bf1jucUp.mjs";
3
+ import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-Ciltp0IK.mjs";
4
4
  import { useEffect, useRef, useState } from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region \0rolldown/runtime.js
@@ -235,21 +235,21 @@ function EventEmbeddedCheckoutStepWithDeps(props) {
235
235
  const heading = useRef(null);
236
236
  const status = useStripeMount(props, container, props.load);
237
237
  useEffect(() => {
238
- heading.current?.focus();
239
- }, []);
238
+ if (props.onBack) heading.current?.focus();
239
+ }, [props.onBack]);
240
240
  return /* @__PURE__ */ jsxs("section", {
241
241
  className: "er-embedded-payment",
242
242
  children: [
243
- /* @__PURE__ */ jsx("button", {
243
+ props.onBack ? /* @__PURE__ */ jsx("button", {
244
244
  type: "button",
245
245
  className: "er-back-btn er-embedded-payment__back",
246
246
  onClick: props.onBack,
247
247
  children: "← Back"
248
- }),
248
+ }) : null,
249
249
  /* @__PURE__ */ jsx("h2", {
250
250
  ref: heading,
251
251
  tabIndex: -1,
252
- className: "er-title er-message",
252
+ className: "rb-sr-only",
253
253
  children: "Payment"
254
254
  }),
255
255
  status === "loading" && /* @__PURE__ */ jsxs("div", {
@@ -270,11 +270,12 @@ function EventEmbeddedCheckoutStepWithDeps(props) {
270
270
  children: [/* @__PURE__ */ jsx("p", {
271
271
  className: "er-text--muted er-message",
272
272
  children: "We couldn’t load the payment form."
273
- }), /* @__PURE__ */ jsx("button", {
273
+ }), /* @__PURE__ */ jsx(ThemedButton, {
274
274
  type: "button",
275
- className: "er-btn er-btn--primary",
275
+ variant: props.buttonVariant,
276
+ size: "md",
276
277
  onClick: props.onRetry,
277
- children: "Try again"
278
+ label: "Try again"
278
279
  })]
279
280
  }),
280
281
  /* @__PURE__ */ jsx("div", {
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { Ot as listLookSlot, Y as buildEventRuntimeFilters } from "./propsDecoder-DO5iXphQ.mjs";
3
- import { i as useEventCollectionFilters, n as EventPaginatedListView, t as useEventPagination } from "./useEventPagination-jgKa67KV.mjs";
2
+ import { bn as buildEventRuntimeFilters, fr as listLookSlot } from "./propsDecoder-Bf1jucUp.mjs";
3
+ import { i as useEventCollectionFilters, n as EventPaginatedListView, t as useEventPagination } from "./useEventPagination-8-U55vH5.mjs";
4
4
  import { useMemo } from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/events/shared/EventListWeekNavigation.tsx
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { nn as isRecord } from "./propsDecoder-DO5iXphQ.mjs";
2
+ import { Ir as isRecord } from "./propsDecoder-Bf1jucUp.mjs";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/shared/LeafletStaticMap.tsx
@@ -22,32 +22,103 @@ function unlockBodyScroll() {
22
22
  }
23
23
  }
24
24
  /**
25
- * Shared, unopinionated modal shell for interactive runtime flows.
26
- *
27
- * Styling is supplied by the caller via class names, while the shell owns
28
- * focus, escape handling, body-scroll locking, overlay clicks, and optional
29
- * portaling into a themed root.
25
+ * Open shells, innermost last. Escape and the focus trap act only for the
26
+ * innermost one, so a sign-in dialog over the booking panel closes alone.
30
27
  */
31
- function ModalShell({ title, titleId, onClose, children, portalRoot, portal = false, portalWrapperClassName, portalWrapperProps, overlayClassName, modalClassName, renderSrOnlyTitle = false, renderHeader, headerClassName, titleClassName, closeButtonClassName, closeIcon }) {
32
- const closeButtonRef = React$1.useRef(null);
33
- const onCloseRef = React$1.useRef(onClose);
34
- onCloseRef.current = onClose;
28
+ const openShells = /* @__PURE__ */ new Set();
29
+ const shellRenderSequence = { last: 0 };
30
+ /** Shells are ordered by first render: a parent before its child, an earlier dialog before a later one. */
31
+ function isInnermost(order) {
32
+ return Math.max(...openShells) === order;
33
+ }
34
+ const FOCUSABLE = "a[href], button:not([disabled]), input:not([disabled]):not([type=\"hidden\"]), select:not([disabled]), textarea:not([disabled]), iframe, [tabindex]:not([tabindex=\"-1\"])";
35
+ function focusableWithin(root) {
36
+ return [...root.querySelectorAll(FOCUSABLE)].filter((element) => !element.hasAttribute("inert") && element.getClientRects().length > 0);
37
+ }
38
+ /** Keep Tab inside the dialog, wrapping at either end. */
39
+ function trapTab(event, dialog) {
40
+ const focusable = focusableWithin(dialog);
41
+ const first = focusable[0];
42
+ const last = focusable[focusable.length - 1];
43
+ if (!first || !last) {
44
+ event.preventDefault();
45
+ return;
46
+ }
47
+ const active = document.activeElement;
48
+ if (event.shiftKey && (active === first || !dialog.contains(active))) {
49
+ event.preventDefault();
50
+ last.focus();
51
+ } else if (!event.shiftKey && (active === last || !dialog.contains(active))) {
52
+ event.preventDefault();
53
+ first.focus();
54
+ }
55
+ }
56
+ /**
57
+ * Focus, Escape and the focus trap for one open shell; focus goes back to
58
+ * where it was when the shell closes.
59
+ */
60
+ function useModalFocus(dialogRef, closeButtonRef, onCloseRef, returnFocusRef) {
61
+ const [order] = React$1.useState(() => shellRenderSequence.last += 1);
35
62
  React$1.useEffect(() => {
36
- closeButtonRef.current?.focus({ preventScroll: true });
63
+ const shell = order;
64
+ const opener = document.activeElement instanceof HTMLElement ? document.activeElement : null;
65
+ openShells.add(shell);
66
+ if (isInnermost(shell)) closeButtonRef.current?.focus({ preventScroll: true });
37
67
  const onKeyDown = (event) => {
38
- if (event.key === "Escape") onCloseRef.current();
68
+ if (!isInnermost(shell)) return;
69
+ if (event.key === "Escape") {
70
+ onCloseRef.current();
71
+ return;
72
+ }
73
+ if (event.key === "Tab" && dialogRef.current) trapTab(event, dialogRef.current);
74
+ };
75
+ const onFocusIn = (event) => {
76
+ const dialog = dialogRef.current;
77
+ if (!dialog || !isInnermost(shell)) return;
78
+ if (event.target instanceof HTMLIFrameElement) return;
79
+ if (event.target instanceof Node && !dialog.contains(event.target)) focusableWithin(dialog)[0]?.focus({ preventScroll: true });
39
80
  };
40
81
  document.addEventListener("keydown", onKeyDown);
82
+ document.addEventListener("focusin", onFocusIn);
41
83
  lockBodyScroll();
42
84
  return () => {
43
85
  document.removeEventListener("keydown", onKeyDown);
86
+ document.removeEventListener("focusin", onFocusIn);
44
87
  unlockBodyScroll();
88
+ openShells.delete(shell);
89
+ const returnFocus = returnFocusRef.current;
90
+ if (returnFocus) returnFocus(opener);
91
+ else if (opener?.isConnected) opener.focus({ preventScroll: true });
45
92
  };
46
- }, []);
93
+ }, [
94
+ order,
95
+ dialogRef,
96
+ closeButtonRef,
97
+ onCloseRef,
98
+ returnFocusRef
99
+ ]);
100
+ }
101
+ /**
102
+ * Shared, unopinionated modal shell for interactive runtime flows.
103
+ *
104
+ * Styling is supplied by the caller via class names, while the shell owns
105
+ * focus (trapped inside, returned on close), escape handling for the
106
+ * innermost open shell, body-scroll locking, overlay clicks, and optional
107
+ * portaling into a themed root.
108
+ */
109
+ function ModalShell({ title, titleId, onClose, children, portalRoot, portal = false, portalWrapperClassName, portalWrapperProps, overlayClassName, modalClassName, renderSrOnlyTitle = false, renderHeader, headerClassName, titleClassName, closeButtonClassName, closeIcon, returnFocus }) {
110
+ const closeButtonRef = React$1.useRef(null);
111
+ const onCloseRef = React$1.useRef(onClose);
112
+ onCloseRef.current = onClose;
113
+ const returnFocusRef = React$1.useRef(returnFocus);
114
+ returnFocusRef.current = returnFocus;
115
+ const dialogRef = React$1.useRef(null);
116
+ useModalFocus(dialogRef, closeButtonRef, onCloseRef, returnFocusRef);
47
117
  const modal = /* @__PURE__ */ jsx("div", {
48
118
  className: overlayClassName,
49
119
  onClick: onClose,
50
120
  children: /* @__PURE__ */ jsxs("div", {
121
+ ref: dialogRef,
51
122
  className: modalClassName,
52
123
  onClick: (event) => event.stopPropagation(),
53
124
  role: "dialog",
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { a as getCurrentResolveImageUrlContext, l as resolveImageUrlWithContext, t as ImagePresets } from "./media-47fcnhzD.mjs";
2
+ import { a as getCurrentResolveImageUrlContext, l as resolveImageUrlWithContext, t as ImagePresets } from "./media-C5K_0xPd.mjs";
3
3
  import React from "react";
4
4
  import { Fragment, jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/primitives/content/utils/sanitizeHref.ts
@@ -27,16 +27,19 @@ function decodeForSchemeCheck(value) {
27
27
  * - Allow absolute URLs with protocols: http, https, mailto, tel.
28
28
  * - Allow root-relative ("/path") and hash-only ("#section") links.
29
29
  * - Reject protocol-relative URLs ("//example.com"), bare domains ("example.com"),
30
- * executable schemes (javascript/data/vbscript), malformed URLs, and empty values.
30
+ * backslashes, executable schemes (javascript/data/vbscript), malformed URLs, and empty values.
31
31
  * - Preserve percent-encoding from the original normalized input.
32
32
  */
33
33
  function sanitizeHref(raw) {
34
34
  if (typeof raw !== "string") return null;
35
35
  const normalized = normalizeInput(raw);
36
36
  if (!normalized) return null;
37
- if (normalized.startsWith("//")) return null;
37
+ if (normalized.includes("\\") || normalized.startsWith("//")) return null;
38
38
  if (normalized.startsWith("/")) return normalized;
39
39
  if (normalized.startsWith("#")) return normalized;
40
+ return sanitizeAbsoluteHref(normalized);
41
+ }
42
+ function sanitizeAbsoluteHref(normalized) {
40
43
  const schemeMatch = normalizeInput(decodeForSchemeCheck(normalized)).match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/);
41
44
  if (!schemeMatch) return null;
42
45
  const rawScheme = schemeMatch[1];
@@ -1,5 +1,5 @@
1
- import { r as clsx } from "./result-DRW7JWXz.mjs";
2
- import { At as themeButtonVariantClassNames, kt as themeButtonSizeClassName } from "./propsDecoder-DO5iXphQ.mjs";
1
+ import { F as clsx } from "./colorStyles-ECDNPE_P.mjs";
2
+ import { Gr as themeButtonVariantClassNames, Wr as themeButtonSizeClassName } from "./propsDecoder-Bf1jucUp.mjs";
3
3
  import "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/spinner.tsx
@@ -1,4 +1,4 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DO5iXphQ.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-Bf1jucUp.mjs";
2
2
  //#region src/rendering/islands/enhancers/accordion.ts
3
3
  const decode = defineIslandPropsDecoder("accordion");
4
4
  function parseDefaultValues(value) {
@@ -0,0 +1,93 @@
1
+ import { N as err, P as ok } from "./colorStyles-ECDNPE_P.mjs";
2
+ //#region ../core/src/branded.ts
3
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
4
+ function parseUuidBrand(value, unsafeConstructor) {
5
+ if (typeof value !== "string") return err({ kind: "not_string" });
6
+ const normalized = value.trim().toLowerCase();
7
+ if (normalized.length === 0) return err({ kind: "empty_string" });
8
+ if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
9
+ return ok(unsafeConstructor(normalized));
10
+ }
11
+ const unsafeAsEventOfferingId = (id) => id;
12
+ const unsafeAsEventSeriesId = (id) => id;
13
+ const unsafeAsMediaAssetId = (id) => id;
14
+ const unsafeAsStorageBucketName = (value) => value;
15
+ const unsafeAsStoragePath = (value) => value;
16
+ const unsafeAsFormId = (id) => id;
17
+ const unsafeAsPassId = (id) => id;
18
+ const unsafeAsCustomerPassId = (id) => id;
19
+ const unsafeAsAppointmentServiceId = (id) => id;
20
+ const unsafeAsAppointmentResourceId = (id) => id;
21
+ const unsafeAsContentVersionId = (id) => id;
22
+ const parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
23
+ const parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
24
+ const parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
25
+ //#endregion
26
+ //#region ../media-core/src/transformRect.ts
27
+ function isValidTransformRectStructure(rect) {
28
+ if (!Array.isArray(rect) || rect.length !== 4) return false;
29
+ const [left, top, width, height] = rect;
30
+ return Number.isFinite(left) && Number.isFinite(top) && Number.isFinite(width) && Number.isFinite(height) && left >= 0 && top >= 0 && width > 0 && height > 0;
31
+ }
32
+ //#endregion
33
+ //#region ../media-core/src/aspectTransforms.ts
34
+ const DEFAULT_RECT_EPSILON = .5;
35
+ function parseAspectRatioValue(value) {
36
+ if (typeof value === "number") return Number.isFinite(value) && value > 0 ? value : void 0;
37
+ if (typeof value !== "string") return void 0;
38
+ const normalized = value.trim();
39
+ if (!normalized) return void 0;
40
+ if (normalized === "auto") return void 0;
41
+ if (normalized.includes(":") || normalized.includes("/")) {
42
+ const delimiter = normalized.includes(":") ? ":" : "/";
43
+ const [wRaw, hRaw] = normalized.split(delimiter);
44
+ const width = Number(wRaw?.trim());
45
+ const height = Number(hRaw?.trim());
46
+ if (!Number.isFinite(width) || !Number.isFinite(height) || width <= 0 || height <= 0) return;
47
+ return width / height;
48
+ }
49
+ const numeric = Number(normalized);
50
+ if (!Number.isFinite(numeric) || numeric <= 0) return void 0;
51
+ return numeric;
52
+ }
53
+ const MAX_ASPECT_DISTANCE = .25;
54
+ function resolveMediaTransformForAspect(transform, targetAspect) {
55
+ if (!transform) return {};
56
+ const base = {
57
+ rect: transform.rect,
58
+ hotspot: transform.hotspot,
59
+ rotation: transform.rotation
60
+ };
61
+ const target = parseAspectRatioValue(targetAspect);
62
+ const crops = transform.aspectCrops;
63
+ if (!target || !crops || Object.keys(crops).length === 0) return base;
64
+ let best = null;
65
+ let bestDistance = Number.POSITIVE_INFINITY;
66
+ for (const [key, candidate] of Object.entries(crops)) {
67
+ const candidateAspect = parseAspectRatioValue(candidate.aspect ?? key);
68
+ if (!candidateAspect) continue;
69
+ const distance = Math.abs(Math.log(candidateAspect / target));
70
+ if (distance < bestDistance) {
71
+ best = candidate;
72
+ bestDistance = distance;
73
+ }
74
+ }
75
+ if (!best) return base;
76
+ if (bestDistance > MAX_ASPECT_DISTANCE) return base;
77
+ return {
78
+ rect: best.rect ?? base.rect,
79
+ hotspot: best.hotspot ?? base.hotspot,
80
+ rotation: best.rotation ?? base.rotation
81
+ };
82
+ }
83
+ function isValidTransformRect(rect) {
84
+ return isValidTransformRectStructure(rect);
85
+ }
86
+ function isExplicitRectCrop(rect, sourceWidth, sourceHeight, epsilon = DEFAULT_RECT_EPSILON) {
87
+ if (!isValidTransformRect(rect)) return false;
88
+ if (!(typeof sourceWidth === "number" && Number.isFinite(sourceWidth) && sourceWidth > 0 && typeof sourceHeight === "number" && Number.isFinite(sourceHeight) && sourceHeight > 0)) return true;
89
+ const [x, y, width, height] = rect;
90
+ return !(Math.abs(x) <= epsilon && Math.abs(y) <= epsilon && Math.abs(width - sourceWidth) <= epsilon && Math.abs(height - sourceHeight) <= epsilon);
91
+ }
92
+ //#endregion
93
+ export { parseEventOfferingId as a, unsafeAsAppointmentServiceId as c, unsafeAsMediaAssetId as d, unsafeAsPassId as f, parseContentVersionId as i, unsafeAsCustomerPassId as l, unsafeAsStoragePath as m, parseAspectRatioValue as n, parseEventSeriesId as o, unsafeAsStorageBucketName as p, resolveMediaTransformForAspect as r, unsafeAsAppointmentResourceId as s, isExplicitRectCrop as t, unsafeAsFormId as u };