@riverbankcms/sdk 0.145.0 → 0.147.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 (254) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
  6. package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
  12. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  13. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  14. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  15. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  18. package/dist/_dts/api/src/bookings.d.ts +1 -0
  19. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  20. package/dist/_dts/api/src/communications.d.ts +20 -4
  21. package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
  22. package/dist/_dts/api/src/endpoints.d.ts +816 -655
  23. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
  25. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  26. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  27. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  28. package/dist/_dts/api/src/index.d.ts +9 -2
  29. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  31. package/dist/_dts/api/src/launchReadiness.d.ts +19 -6
  32. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  33. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  34. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  35. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  36. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
  37. package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -0
  38. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  39. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  40. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  41. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  42. package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -1
  43. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  44. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  45. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  46. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  47. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  49. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  50. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  51. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  52. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  53. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  54. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
  55. package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
  56. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  57. package/dist/_dts/api/src/types.d.ts +7 -1
  58. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  59. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  60. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  61. package/dist/_dts/blocks/src/index.d.ts +2 -0
  62. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
  63. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -1
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  65. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  66. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  67. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  70. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  71. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  72. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  73. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
  97. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +34 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  101. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  103. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
  104. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  105. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  106. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  107. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  108. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  109. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  110. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  112. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  113. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  114. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  115. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
  116. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  117. package/dist/_dts/core/src/editor-state.d.ts +2 -7
  118. package/dist/_dts/core/src/index.d.ts +2 -1
  119. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  120. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  121. package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
  122. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  123. package/dist/_dts/core/src/participants.d.ts +0 -38
  124. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  125. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  126. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
  127. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  128. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  129. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  130. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
  131. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  132. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  133. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
  134. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
  135. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  136. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
  137. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  138. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
  139. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  140. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  141. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  142. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
  143. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  144. package/dist/_dts/sdk/src/version.d.ts +1 -1
  145. package/dist/_dts/surfaces/src/index.d.ts +9 -0
  146. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  148. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  149. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  150. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  151. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  152. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  153. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  154. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  156. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  157. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  158. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  159. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  160. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  161. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  162. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  164. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  165. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  166. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  168. package/dist/_dts/ui/src/badge.d.ts +2 -1
  169. package/dist/_dts/ui/src/button.d.ts +1 -1
  170. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  171. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  172. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  173. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  174. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  175. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  176. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  177. package/dist/_dts/ui/src/index.d.ts +4 -1
  178. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  179. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  180. package/dist/_dts/ui/src/popover.d.ts +7 -1
  181. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  182. package/dist/_dts/ui/src/surface.d.ts +1 -1
  183. package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  184. package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
  185. package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  186. package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  187. package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  188. package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  189. package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  190. package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  191. package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
  192. package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
  193. package/dist/client/bookings.mjs +415 -234
  194. package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
  195. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  196. package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
  197. package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
  198. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  199. package/dist/client/client.mjs +3721 -2220
  200. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  201. package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
  202. package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
  203. package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  204. package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  205. package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  206. package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
  207. package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
  208. package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
  209. package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  210. package/dist/client/hooks.mjs +1148 -179
  211. package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  212. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  213. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  214. package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
  215. package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  216. package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  217. package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
  218. package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
  219. package/dist/client/rendering/client.mjs +1441 -826
  220. package/dist/client/rendering/islands.mjs +19 -19
  221. package/dist/client/rendering.mjs +3652 -2005
  222. package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  223. package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  224. package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  225. package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
  226. package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
  227. package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  228. package/dist/preview-next/before-render.mjs +490 -153
  229. package/dist/preview-next/client/runtime.mjs +4 -4
  230. package/dist/preview-next/editor-base.css +64 -2
  231. package/dist/preview-next/editor-chrome.css +7 -4
  232. package/dist/preview-next/keepAlive.mjs +450 -153
  233. package/dist/preview-next/middleware.mjs +451 -153
  234. package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
  235. package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  236. package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
  237. package/dist/server/components.mjs +4957 -3509
  238. package/dist/server/config-validation.mjs +1115 -189
  239. package/dist/server/config.mjs +1115 -189
  240. package/dist/server/data.mjs +1113 -188
  241. package/dist/server/index.mjs +492 -154
  242. package/dist/server/navigation.mjs +13 -2
  243. package/dist/server/next.mjs +4798 -3462
  244. package/dist/server/page-converter.mjs +143 -89
  245. package/dist/server/prebuild.mjs +1 -1
  246. package/dist/server/rendering/server.mjs +3862 -2414
  247. package/dist/server/rendering.mjs +5648 -4154
  248. package/dist/server/routing.mjs +1223 -329
  249. package/dist/server/server.mjs +1172 -314
  250. package/dist/server/theme-bridge.mjs +533 -128
  251. package/dist/server/theme.mjs +5 -1
  252. package/dist/styles/index.css +218 -69
  253. package/package.json +1 -1
  254. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
@@ -1,8 +1,8 @@
1
- import { i as textColorStyle } from "./colorStyles-CuJBiS-1.mjs";
2
- import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
3
- import { n as ThemedButtonLink } from "./ThemedButton-LAJTNrS8.mjs";
1
+ import { i as textColorStyle } from "./colorStyles-j5U9v5JA.mjs";
2
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CwvvNOHx.mjs";
3
+ import { n as ThemedButtonLink } from "./ThemedButton-DoVIV1Ao.mjs";
4
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
5
- import { t as LeafletStaticMap } from "./LeafletStaticMap-C7higg52.mjs";
5
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-DScC4F3w.mjs";
6
6
  import "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region ../core/src/location.ts
@@ -20,4 +20,17 @@ function FieldValidationMessage({ id, children, className, live = "assertive" })
20
20
  });
21
21
  }
22
22
  //#endregion
23
- export { getFieldValidationControlProps as n, FieldValidationMessage as t };
23
+ //#region ../blocks/src/system/runtime/shared/mailingListSignupCopy.ts
24
+ const MAILING_LIST_CONFIRMATION_MESSAGE = "Please check your inbox to confirm your signup.";
25
+ function getBookingMailingListNoteCopy(note, context) {
26
+ if (note === "confirmation_required") return {
27
+ title: MAILING_LIST_CONFIRMATION_MESSAGE,
28
+ detail: context === "booking" ? "This is separate from your booking confirmation." : null
29
+ };
30
+ return {
31
+ title: "We couldn’t confirm your mailing-list signup.",
32
+ detail: context === "booking" ? "This does not affect your booking." : null
33
+ };
34
+ }
35
+ //#endregion
36
+ export { getFieldValidationControlProps as i, getBookingMailingListNoteCopy as n, FieldValidationMessage as r, MAILING_LIST_CONFIRMATION_MESSAGE as t };
@@ -1,4 +1,4 @@
1
- import { D as ok$1, E as err, O as clsx, S as unsafeAsMediaAssetId, T as unsafeAsStoragePath, f as isExplicitRectCrop, i as textColorStyle, m as resolveMediaTransformForAspect, n as mergeStyles, p as parseAspectRatioValue, t as backgroundColorStyle, w as unsafeAsStorageBucketName } from "./colorStyles-CuJBiS-1.mjs";
1
+ import { D as ok$1, E as err, O as clsx, S as unsafeAsMediaAssetId, T as unsafeAsStoragePath, f as isExplicitRectCrop, i as textColorStyle, m as resolveMediaTransformForAspect, n as mergeStyles, p as parseAspectRatioValue, t as backgroundColorStyle, w as unsafeAsStorageBucketName } from "./colorStyles-j5U9v5JA.mjs";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region ../media-core/src/fileSafety.ts
@@ -1,14 +1,159 @@
1
1
  "use client";
2
- import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
3
- import { Jt as parseMailingListVisitorSelection, t as defineIslandPropsDecoder, yn as assertNever$1, zt as assertNever } from "./propsDecoder-C3TP_z4x.mjs";
4
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-BFeY_Wbm.mjs";
2
+ import { O as clsx } from "./colorStyles-j5U9v5JA.mjs";
3
+ import { Sn as assertNever$1, Vt as assertNever, Xt as parseMailingListVisitorSelection, g as newsletterBlockSubmissionMessage, h as NEWSLETTER_SIGNUPS_PAUSED_MESSAGE, t as defineIslandPropsDecoder } from "./propsDecoder-CwvvNOHx.mjs";
4
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-C8TinPJc.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
- import { t as ThemedButton } from "./ThemedButton-LAJTNrS8.mjs";
6
+ import { t as ThemedButton } from "./ThemedButton-DoVIV1Ao.mjs";
7
7
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
8
- import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
8
+ import { i as getFieldValidationControlProps, r as FieldValidationMessage, t as MAILING_LIST_CONFIRMATION_MESSAGE } from "./mailingListSignupCopy-DZSHZrm6.mjs";
9
9
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
10
10
  import { useEffect, useReducer, useRef, useState } from "react";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
+ //#region ../blocks/src/system/runtime/nodes/newsletter-form.parts.tsx
13
+ /**
14
+ * Newsletter form pieces shared by the SSR render and the hydrated island, so
15
+ * both produce the same markup.
16
+ *
17
+ * Labels are visually hidden: every field has a placeholder, and a visible
18
+ * "Email *" label over a single field reads like a generic form. Screen
19
+ * readers still get the label.
20
+ */
21
+ const TOPIC_CHOICE_FIELD_ID = "mailingListChoice";
22
+ const inputIdFor = (field) => `newsletter_${field.id}`;
23
+ /** Splits the preset's fields into the email (joined with the button) and the rest. */
24
+ function partitionNewsletterFields(fields) {
25
+ const email = fields.find((field) => field.type === "email") ?? null;
26
+ return {
27
+ email,
28
+ extra: fields.filter((field) => field !== email)
29
+ };
30
+ }
31
+ function NewsletterExtraField({ field, disabled, error }) {
32
+ const inputId = inputIdFor(field);
33
+ const errorId = `${inputId}-error`;
34
+ return /* @__PURE__ */ jsxs("div", {
35
+ className: "fb-field newsletter-field",
36
+ children: [
37
+ /* @__PURE__ */ jsx("label", {
38
+ htmlFor: inputId,
39
+ className: "rb-sr-only",
40
+ children: field.label
41
+ }),
42
+ /* @__PURE__ */ jsx("input", {
43
+ id: inputId,
44
+ name: field.id,
45
+ type: field.type,
46
+ required: field.required,
47
+ placeholder: field.placeholder ?? field.label,
48
+ className: "form-input",
49
+ disabled,
50
+ ...getFieldValidationControlProps({
51
+ message: error,
52
+ messageId: errorId
53
+ })
54
+ }),
55
+ error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
56
+ id: errorId,
57
+ className: "fb-error",
58
+ children: error
59
+ }) : null
60
+ ]
61
+ });
62
+ }
63
+ /** The email field and submit button sharing one input-styled shell. */
64
+ function NewsletterEmailEntry({ field, buttonVariant, buttonLabel, disabled, error }) {
65
+ const inputId = inputIdFor(field);
66
+ const errorId = `${inputId}-error`;
67
+ return /* @__PURE__ */ jsxs("div", {
68
+ className: "newsletter-entry",
69
+ children: [/* @__PURE__ */ jsxs("div", {
70
+ className: "form-input-group newsletter-entry-group",
71
+ children: [
72
+ /* @__PURE__ */ jsx("label", {
73
+ htmlFor: inputId,
74
+ className: "rb-sr-only",
75
+ children: field.label
76
+ }),
77
+ /* @__PURE__ */ jsx("input", {
78
+ id: inputId,
79
+ name: field.id,
80
+ type: "email",
81
+ required: field.required,
82
+ placeholder: field.placeholder ?? field.label,
83
+ className: "form-input-group-field",
84
+ autoComplete: "email",
85
+ disabled,
86
+ ...getFieldValidationControlProps({
87
+ message: error,
88
+ messageId: errorId
89
+ })
90
+ }),
91
+ /* @__PURE__ */ jsx(ThemedButton, {
92
+ type: "submit",
93
+ variant: buttonVariant,
94
+ size: "md",
95
+ disabled,
96
+ label: buttonLabel
97
+ })
98
+ ]
99
+ }), error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
100
+ id: errorId,
101
+ className: "fb-error",
102
+ children: error
103
+ }) : null]
104
+ });
105
+ }
106
+ /**
107
+ * The submit action: joined to the email field when the preset has one
108
+ * (every current preset does), otherwise a plain themed button.
109
+ */
110
+ function NewsletterSubmitRow({ emailField, buttonVariant, buttonLabel, disabled, error }) {
111
+ if (emailField) return /* @__PURE__ */ jsx(NewsletterEmailEntry, {
112
+ field: emailField,
113
+ buttonVariant,
114
+ buttonLabel,
115
+ disabled,
116
+ error
117
+ });
118
+ return /* @__PURE__ */ jsx("div", {
119
+ className: "newsletter-submit",
120
+ children: /* @__PURE__ */ jsx(ThemedButton, {
121
+ type: "submit",
122
+ variant: buttonVariant,
123
+ size: "md",
124
+ disabled,
125
+ label: buttonLabel
126
+ })
127
+ });
128
+ }
129
+ /** Visitor-chosen topics as toggle chips. Real checkboxes underneath. */
130
+ function NewsletterTopicChips({ choices, disabled, error }) {
131
+ const errorId = `newsletter_${TOPIC_CHOICE_FIELD_ID}-error`;
132
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("fieldset", {
133
+ className: "newsletter-topics",
134
+ "aria-describedby": error ? errorId : void 0,
135
+ children: [/* @__PURE__ */ jsx("legend", {
136
+ className: "newsletter-topics-legend",
137
+ children: "What would you like to hear about?"
138
+ }), /* @__PURE__ */ jsx("div", {
139
+ className: "newsletter-topic-chips",
140
+ children: choices.map((choice) => /* @__PURE__ */ jsxs("label", {
141
+ className: "newsletter-topic-chip",
142
+ children: [/* @__PURE__ */ jsx("input", {
143
+ type: "checkbox",
144
+ name: TOPIC_CHOICE_FIELD_ID,
145
+ value: choice.id,
146
+ disabled
147
+ }), /* @__PURE__ */ jsx("span", { children: choice.label })]
148
+ }, choice.id))
149
+ })]
150
+ }), error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
151
+ id: errorId,
152
+ className: "fb-error",
153
+ children: error
154
+ }) : null] });
155
+ }
156
+ //#endregion
12
157
  //#region ../blocks/src/system/runtime/nodes/newsletter-form.client.state.ts
13
158
  const initialNewsletterFormSubmissionState = { tag: "idle" };
14
159
  function newsletterFormSubmissionReducer(state, action) {
@@ -97,6 +242,10 @@ function resolveNewsletterSubmitTarget(input) {
97
242
  tag: "unavailable",
98
243
  reason: "preview_only_source"
99
244
  };
245
+ case "unpublished-preview": return {
246
+ tag: "unavailable",
247
+ reason: "preview_only_source"
248
+ };
100
249
  default: return assertNever$1(input);
101
250
  }
102
251
  }
@@ -116,6 +265,7 @@ function readSubmittedText(value) {
116
265
  //#endregion
117
266
  //#region ../blocks/src/system/runtime/nodes/newsletter-form.client.tsx
118
267
  function NewsletterFormClient({ render }) {
268
+ const submissionMessage = newsletterBlockSubmissionMessage(render.hydration.target);
119
269
  const api = useBlockApi();
120
270
  const [submissionState, dispatchSubmission] = useReducer(newsletterFormSubmissionReducer, initialNewsletterFormSubmissionState);
121
271
  const [altchaSolution, setAltchaSolution] = useState(null);
@@ -125,7 +275,6 @@ function NewsletterFormClient({ render }) {
125
275
  if (succeeded) successRef.current?.focus();
126
276
  }, [succeeded]);
127
277
  const showSpamProtection = render.hydration.spamProtectionEnabled ?? isSpamProtectionEnabled();
128
- const fields = render.display.fields;
129
278
  const handleSubmit = async (e) => {
130
279
  e.preventDefault();
131
280
  const formData = new FormData(e.currentTarget);
@@ -157,7 +306,7 @@ function NewsletterFormClient({ render }) {
157
306
  reportNewsletterSignupRefusal(submitTarget.reason, { target: render.hydration.target });
158
307
  dispatchSubmission({
159
308
  type: "failed",
160
- error: newsletterFormError(SIGNUPS_PAUSED_MESSAGE)
309
+ error: newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE)
161
310
  });
162
311
  return;
163
312
  }
@@ -165,7 +314,7 @@ function NewsletterFormClient({ render }) {
165
314
  reportNewsletterSignupRefusal("setup_not_configured");
166
315
  dispatchSubmission({
167
316
  type: "failed",
168
- error: newsletterFormError(SIGNUPS_PAUSED_MESSAGE)
317
+ error: newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE)
169
318
  });
170
319
  return;
171
320
  }
@@ -173,7 +322,7 @@ function NewsletterFormClient({ render }) {
173
322
  reportNewsletterSignupRefusal("destination_unavailable", { setupRevision: render.hydration.setupRevision });
174
323
  dispatchSubmission({
175
324
  type: "failed",
176
- error: newsletterFormError(SIGNUPS_PAUSED_MESSAGE)
325
+ error: newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE)
177
326
  });
178
327
  return;
179
328
  }
@@ -230,7 +379,7 @@ function NewsletterFormClient({ render }) {
230
379
  tone: "success",
231
380
  className: "fb-success",
232
381
  role: "status",
233
- children: getNewsletterSuccessOutcome(submissionState) === "confirmation_required" ? "Please check your inbox to confirm your signup." : render.display.successMessage
382
+ children: getNewsletterSuccessOutcome(submissionState) === "confirmation_required" ? MAILING_LIST_CONFIRMATION_MESSAGE : render.display.successMessage
234
383
  })
235
384
  });
236
385
  if (render.display.availability === "unavailable") return /* @__PURE__ */ jsx(UnavailableNewsletterForm, { className: render.display.className });
@@ -248,43 +397,14 @@ function NewsletterFormClient({ render }) {
248
397
  autoComplete: "off",
249
398
  "aria-hidden": "true"
250
399
  }),
251
- /* @__PURE__ */ jsxs("div", {
252
- className: "newsletter-form-fields",
253
- children: [
254
- fields.map((field) => /* @__PURE__ */ jsx(NewsletterField, {
255
- field,
256
- submitting,
257
- error: getNewsletterSubmissionFieldError(submissionState, field.id)
258
- }, field.id)),
259
- render.hydration.choicePresentation === "visitor_choice" ? /* @__PURE__ */ jsx(NewsletterTopicChoices, {
260
- choices: render.display.choices,
261
- submitting,
262
- error: getNewsletterSubmissionFieldError(submissionState, TOPIC_CHOICE_FIELD_ID)
263
- }) : null,
264
- showSpamProtection && /* @__PURE__ */ jsx("div", {
265
- className: "newsletter-altcha",
266
- children: /* @__PURE__ */ jsx(AltchaWidget, {
267
- challengeUrl: getChallengeUrl(),
268
- onSolutionChange: setAltchaSolution
269
- })
270
- }),
271
- formError && /* @__PURE__ */ jsx(FeedbackMessage, {
272
- tone: "error",
273
- className: "fb-error",
274
- role: "alert",
275
- children: formError
276
- }),
277
- /* @__PURE__ */ jsx("div", {
278
- className: "newsletter-submit",
279
- children: /* @__PURE__ */ jsx(ThemedButton, {
280
- type: "submit",
281
- variant: render.display.buttonVariant,
282
- size: "md",
283
- disabled: submitting,
284
- label: submitting ? "Subscribing..." : render.display.buttonLabel
285
- })
286
- })
287
- ]
400
+ /* @__PURE__ */ jsx(NewsletterFormFields, {
401
+ render,
402
+ submissionState,
403
+ submitting,
404
+ submissionMessage,
405
+ formError,
406
+ showSpamProtection,
407
+ onAltchaSolution: setAltchaSolution
288
408
  }),
289
409
  render.display.privacyNote && /* @__PURE__ */ jsx("p", {
290
410
  className: "newsletter-privacy-note",
@@ -294,67 +414,52 @@ function NewsletterFormClient({ render }) {
294
414
  })
295
415
  });
296
416
  }
297
- function NewsletterField({ field, submitting, error }) {
298
- const inputId = `newsletter_${field.id}`;
299
- const errorId = `${inputId}-error`;
417
+ function NewsletterFormFields({ render, submissionState, submitting, submissionMessage, formError, showSpamProtection, onAltchaSolution }) {
418
+ const { email: emailField, extra: extraFields } = partitionNewsletterFields(render.display.fields);
419
+ const fieldError = (id) => getNewsletterSubmissionFieldError(submissionState, id);
300
420
  return /* @__PURE__ */ jsxs("div", {
301
- className: "fb-field newsletter-field",
421
+ className: "newsletter-form-fields",
302
422
  children: [
303
- /* @__PURE__ */ jsxs("label", {
304
- htmlFor: inputId,
305
- className: "form-label",
306
- children: [field.label, field.required && /* @__PURE__ */ jsx("span", {
307
- className: "newsletter-required",
308
- "aria-hidden": "true",
309
- children: "*"
310
- })]
311
- }),
312
- /* @__PURE__ */ jsx("input", {
313
- id: inputId,
314
- name: field.id,
315
- type: field.type,
316
- required: field.required,
317
- placeholder: field.placeholder,
318
- className: "form-input",
319
- autoComplete: field.type === "email" ? "email" : void 0,
423
+ render.hydration.choicePresentation === "visitor_choice" ? /* @__PURE__ */ jsx(NewsletterTopicChips, {
424
+ choices: render.display.choices,
320
425
  disabled: submitting,
321
- ...getFieldValidationControlProps({
322
- message: error,
323
- messageId: errorId
426
+ error: fieldError(TOPIC_CHOICE_FIELD_ID)
427
+ }) : null,
428
+ extraFields.length > 0 ? /* @__PURE__ */ jsx("div", {
429
+ className: "newsletter-extra-fields",
430
+ children: extraFields.map((field) => /* @__PURE__ */ jsx(NewsletterExtraField, {
431
+ field,
432
+ disabled: submitting,
433
+ error: fieldError(field.id)
434
+ }, field.id))
435
+ }) : null,
436
+ showSpamProtection && /* @__PURE__ */ jsx("div", {
437
+ className: "newsletter-altcha",
438
+ children: /* @__PURE__ */ jsx(AltchaWidget, {
439
+ challengeUrl: getChallengeUrl(),
440
+ onSolutionChange: onAltchaSolution
324
441
  })
325
442
  }),
326
- error && /* @__PURE__ */ jsx(FieldValidationMessage, {
327
- id: errorId,
443
+ formError && /* @__PURE__ */ jsx(FeedbackMessage, {
444
+ tone: "error",
328
445
  className: "fb-error",
329
- children: error
446
+ role: "alert",
447
+ children: formError
448
+ }),
449
+ /* @__PURE__ */ jsx(NewsletterSubmitRow, {
450
+ emailField,
451
+ buttonVariant: render.display.buttonVariant,
452
+ buttonLabel: submitting ? "Subscribing..." : render.display.buttonLabel,
453
+ disabled: submitting || submissionMessage !== null,
454
+ error: emailField ? fieldError(emailField.id) : null
455
+ }),
456
+ submissionMessage && /* @__PURE__ */ jsx("p", {
457
+ role: "status",
458
+ children: submissionMessage
330
459
  })
331
460
  ]
332
461
  });
333
462
  }
334
- function NewsletterTopicChoices({ choices, submitting, error }) {
335
- const errorId = `newsletter_${TOPIC_CHOICE_FIELD_ID}-error`;
336
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("fieldset", {
337
- className: "fb-fieldset newsletter-topics",
338
- "aria-describedby": error ? errorId : void 0,
339
- children: [/* @__PURE__ */ jsx("legend", {
340
- className: "form-label",
341
- children: "What would you like to hear about?"
342
- }), choices.map((choice) => /* @__PURE__ */ jsxs("label", {
343
- className: "fb-inline form-label newsletter-topic-choice",
344
- children: [/* @__PURE__ */ jsx("input", {
345
- type: "checkbox",
346
- name: TOPIC_CHOICE_FIELD_ID,
347
- value: choice.id,
348
- className: "form-checkbox",
349
- disabled: submitting
350
- }), /* @__PURE__ */ jsx("span", { children: choice.label })]
351
- }, choice.id))]
352
- }), error && /* @__PURE__ */ jsx(FieldValidationMessage, {
353
- id: errorId,
354
- className: "fb-error",
355
- children: error
356
- })] });
357
- }
358
463
  function UnavailableNewsletterForm({ className }) {
359
464
  return /* @__PURE__ */ jsx("div", {
360
465
  className: clsx("newsletter-form", className ?? void 0),
@@ -362,13 +467,10 @@ function UnavailableNewsletterForm({ className }) {
362
467
  tone: "error",
363
468
  className: "fb-error",
364
469
  role: "status",
365
- children: SIGNUPS_PAUSED_MESSAGE
470
+ children: NEWSLETTER_SIGNUPS_PAUSED_MESSAGE
366
471
  })
367
472
  });
368
473
  }
369
- const TOPIC_CHOICE_FIELD_ID = "mailingListChoice";
370
- /** The site's setup is broken or missing: nothing the visitor does will help. */
371
- const SIGNUPS_PAUSED_MESSAGE = "We can’t accept signups right now. Please try again later.";
372
474
  /** The provider did not answer in time or at all: worth another go shortly. */
373
475
  const RETRY_SHORTLY_MESSAGE = "We couldn’t confirm your signup. Please try again in a little while.";
374
476
  const TOO_MANY_ATTEMPTS_MESSAGE = "There have been too many signup attempts. Please wait a moment and try again.";
@@ -388,7 +490,7 @@ function transportFailureMessage(err) {
388
490
  function visitorSelectionError(selection) {
389
491
  switch (selection.tag) {
390
492
  case "nothing_chosen": return newsletterFieldError(TOPIC_CHOICE_FIELD_ID, "Choose at least one email topic.");
391
- case "unusable": return newsletterFormError(SIGNUPS_PAUSED_MESSAGE);
493
+ case "unusable": return newsletterFormError(NEWSLETTER_SIGNUPS_PAUSED_MESSAGE);
392
494
  case "not_offered":
393
495
  case "chosen": return null;
394
496
  }
@@ -420,7 +522,7 @@ function publicSignupError(outcome) {
420
522
  case "unavailable": switch (outcome.reason) {
421
523
  case "configuration_unavailable":
422
524
  case "authentication_failed":
423
- case "target_unavailable": return SIGNUPS_PAUSED_MESSAGE;
525
+ case "target_unavailable": return NEWSLETTER_SIGNUPS_PAUSED_MESSAGE;
424
526
  case "stale_configuration": return "This signup form has changed. Refresh the page, then try again.";
425
527
  case "rate_limited": return TOO_MANY_ATTEMPTS_MESSAGE;
426
528
  case "temporarily_unavailable": return RETRY_SHORTLY_MESSAGE;
@@ -1,4 +1,4 @@
1
- import { ln as formatBookingPriceDisplay, pn as publicEventPricingDisplay, un as formatEventPricing } from "./propsDecoder-C3TP_z4x.mjs";
1
+ import { fn as formatBookingPriceDisplay, gn as publicEventPricingDisplay, pn as formatEventPricing } from "./propsDecoder-CwvvNOHx.mjs";
2
2
  //#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
3
3
  /**
4
4
  * Compute remaining spots for an event from `availableSpots` with a fallback
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
2
- import { r as ProductDetailController } from "./shop-commerce-gklw_hLF.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-B5nyA41S.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CwvvNOHx.mjs";
2
+ import { r as ProductDetailController } from "./shop-commerce-De7gEnkA.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-TqExh235.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
2
- import { i as ProductListController } from "./shop-commerce-gklw_hLF.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-B5nyA41S.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CwvvNOHx.mjs";
2
+ import { i as ProductListController } from "./shop-commerce-De7gEnkA.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-TqExh235.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-list.client.tsx