@riverbankcms/sdk 0.152.0 → 0.154.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 (303) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{EventEmbeddedCheckoutStep-DVQXWFm6.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
  3. package/dist/{PreviewEditorSidebar-Dr4NJi3Q.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
  4. package/dist/{PreviewEditorUI-DSZXQbyh.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
  5. package/dist/{SdkPreviewModeRuntime-Dl4GyMc3.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +266 -143
  6. package/dist/{SiteChromeCustomizeContext-DgBe-FlM.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +5340 -4329
  7. package/dist/{ThemedButton-B8ViBnLK.mjs → ThemedButton-C8kzu0hY.mjs} +610 -116
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +416 -182
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +3270 -8214
  10. package/dist/_dts/api/src/billing.d.ts +2 -0
  11. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
  12. package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
  13. package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
  14. package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
  15. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
  17. package/dist/_dts/api/src/bookings.d.ts +2 -3
  18. package/dist/_dts/api/src/communications.d.ts +19 -5
  19. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  20. package/dist/_dts/api/src/endpoints.d.ts +88 -43
  21. package/dist/_dts/api/src/index.d.ts +4 -2
  22. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  23. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  24. package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
  25. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
  26. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  27. package/dist/_dts/api/src/sdkThemeWire.d.ts +348 -1537
  28. package/dist/_dts/api/src/shared-contracts.d.ts +10 -0
  29. package/dist/_dts/api/src/siteInfrastructure.d.ts +2 -1
  30. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
  31. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
  32. package/dist/_dts/api/src/siteSettings.d.ts +1 -0
  33. package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
  34. package/dist/_dts/api/src/teamMembers.d.ts +2 -27
  35. package/dist/_dts/api/src/types.d.ts +11 -31
  36. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
  37. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +3 -13
  38. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  39. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -0
  40. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
  41. package/dist/_dts/blocks/src/index.d.ts +1 -0
  42. package/dist/_dts/blocks/src/lib/media.d.ts +1 -0
  43. package/dist/_dts/blocks/src/lib/picsum.d.ts +2 -2
  44. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -1
  45. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
  46. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
  47. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
  48. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  49. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
  50. package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
  51. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
  52. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +276 -884
  53. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -2
  54. package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
  55. package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
  56. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
  57. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  58. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +92 -90
  59. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
  60. package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +4 -7
  61. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
  62. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
  63. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
  64. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
  65. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  66. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +6 -6
  67. package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
  68. package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +377 -1
  69. package/dist/_dts/blocks/src/system/helpers/backgroundMedia.d.ts +6 -2
  70. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -3
  71. package/dist/_dts/blocks/src/system/layout/repeaterGrid.d.ts +12 -5
  72. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +3 -3
  73. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +48 -48
  74. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -0
  75. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  76. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
  78. package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
  79. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
  80. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
  81. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingFlowController.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +2 -0
  83. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +18 -6
  84. package/dist/_dts/blocks/src/system/runtime/nodes/ImageResolveContext.d.ts +1 -1
  85. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +50 -202
  86. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  87. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +28 -1
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +12 -6
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CardListItem.d.ts +1 -1
  92. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +289 -885
  93. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +3 -2
  94. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
  95. package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
  96. package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
  98. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +22 -90
  99. package/dist/_dts/blocks/src/system/runtime/nodes/mediaContext.d.ts +69 -0
  100. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
  101. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
  102. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
  103. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  104. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
  105. package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
  106. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  107. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
  108. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -3
  109. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
  110. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
  111. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
  112. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
  113. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
  114. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
  115. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  116. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
  117. package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
  118. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  119. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
  120. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
  121. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  122. package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
  123. package/dist/_dts/core/src/date-display.d.ts +85 -0
  124. package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
  125. package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
  126. package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
  127. package/dist/_dts/core/src/footer-composition.d.ts +1 -1
  128. package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
  129. package/dist/_dts/core/src/index.d.ts +2 -0
  130. package/dist/_dts/core/src/mailing-list-runtime.d.ts +2 -2
  131. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +9 -1
  132. package/dist/_dts/core/src/mailing-list-setup.d.ts +12 -1
  133. package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -2
  134. package/dist/_dts/core/src/mailing-list-targeting.d.ts +9 -1
  135. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  136. package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
  137. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +105 -13
  138. package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
  139. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  140. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  141. package/dist/_dts/editor-blocks/src/media/admitEditorMediaField.d.ts +4 -0
  142. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +2 -2
  143. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +6 -0
  144. package/dist/_dts/media-core/src/contentMediaAudit.d.ts +3 -2
  145. package/dist/_dts/media-core/src/index.d.ts +4 -0
  146. package/dist/_dts/media-core/src/media.d.ts +406 -0
  147. package/dist/_dts/media-core/src/mediaIdentifierSchema.d.ts +3 -0
  148. package/dist/_dts/media-core/src/mediaKinds.d.ts +2 -0
  149. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +13 -1
  150. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  151. package/dist/_dts/media-core/src/portableMediaReferences.d.ts +8 -21
  152. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +28 -14
  153. package/dist/_dts/media-core/src/renderableMediaAssetAdmission.d.ts +15 -0
  154. package/dist/_dts/media-editor/src/CropDialog.d.ts +6 -3
  155. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  156. package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -3
  157. package/dist/_dts/media-editor/src/cropEditorSource.d.ts +5 -7
  158. package/dist/_dts/media-editor/src/editorMediaState.d.ts +29 -0
  159. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -2
  160. package/dist/_dts/media-editor/src/runtimeMediaAssetState.d.ts +4 -5
  161. package/dist/_dts/media-editor/src/types.d.ts +1 -1
  162. package/dist/_dts/media-editor/src/utils.d.ts +0 -1
  163. package/dist/_dts/media-react/src/components/cropChangePolicy.d.ts +4 -1
  164. package/dist/_dts/media-react/src/components/cropGeometry.d.ts +1 -0
  165. package/dist/_dts/media-react/src/components/useImageCropperController.d.ts +1 -0
  166. package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
  167. package/dist/_dts/preview-next/src/client/blocks/BlockBackgroundChooser.d.ts +2 -1
  168. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeSelectedMedia.d.ts +11 -12
  169. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  170. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  171. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  172. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
  173. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
  174. package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
  175. package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
  176. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
  177. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  178. package/dist/_dts/sdk/src/contracts/content.d.ts +2 -45
  179. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  180. package/dist/_dts/sdk/src/contracts/rendering.d.ts +3 -3
  181. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
  182. package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
  183. package/dist/_dts/sdk/src/index.d.ts +1 -0
  184. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  185. package/dist/_dts/sdk/src/rendering/image.d.ts +5 -5
  186. package/dist/_dts/sdk/src/rendering/index.d.ts +2 -1
  187. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
  188. package/dist/_dts/sdk/src/rendering/link.d.ts +3 -7
  189. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +2 -4
  190. package/dist/_dts/sdk/src/version.d.ts +1 -1
  191. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  192. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +397 -26
  193. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
  194. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
  195. package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
  196. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
  197. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
  198. package/dist/_dts/theme-core/src/buttons/types.d.ts +378 -66
  199. package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
  200. package/dist/_dts/theme-core/src/cards/types.d.ts +42 -42
  201. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
  202. package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
  203. package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
  204. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  205. package/dist/_dts/theme-core/src/inputs/types.d.ts +3 -3
  206. package/dist/_dts/theme-core/src/lib/media.d.ts +2 -616
  207. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +495 -2766
  208. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  209. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +1 -1
  210. package/dist/_dts/theme-core/src/schema.d.ts +838 -3369
  211. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
  212. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  213. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
  214. package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
  215. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
  216. package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
  217. package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
  218. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
  219. package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
  220. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
  221. package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
  222. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
  223. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  224. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -9
  225. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
  226. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  227. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
  228. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +2 -2
  229. package/dist/_dts/theme-core/src/styles/skinTokens.d.ts +2 -2
  230. package/dist/_dts/theme-core/src/typography/schema.d.ts +2 -2
  231. package/dist/_dts/ui/src/card.d.ts +1 -1
  232. package/dist/client/{BookingMailingListNote-CBuMKN0w.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
  233. package/dist/client/{CardListItem-Dc9XTXhB.mjs → CardListItem-BkTkqBkh.mjs} +5 -4
  234. package/dist/client/{CheckboxChoice-CIqx_o0E.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
  235. package/dist/client/{DemoBookingPortalAccess-D3VQ_kLj.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
  236. package/dist/client/{EventCombined.client-BHGEKise.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -6
  237. package/dist/client/{EventEmbeddedCheckoutStep-Bo1Cm23R.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
  238. package/dist/client/{EventListing.client-D5OQgVPr.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
  239. package/dist/client/{LeafletStaticMap-CLL5cWrr.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
  240. package/dist/client/{RichText-BoDmnopf.mjs → RichText-BI9bzbjo.mjs} +106 -60
  241. package/dist/client/{ThemedButton-Ciltp0IK.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -2
  242. package/dist/client/{accordion-DOkRS64-.mjs → accordion-6Yz8Wd83.mjs} +1 -1
  243. package/dist/client/{bookingForm-wlMVwo9h.mjs → bookingForm-i_pKIGiY.mjs} +42 -15
  244. package/dist/client/bookings.mjs +118357 -22833
  245. package/dist/client/{carousel-CGWk-Z0u.mjs → carousel-DNqd_PjC.mjs} +2 -2
  246. package/dist/client/{carousel.client-kX5mN1Eg.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
  247. package/dist/client/{cart-OBBPlaH4.mjs → cart-D8OBHuF4.mjs} +3 -3
  248. package/dist/client/{checkout-Bmw2WjQX.mjs → checkout-F3-9IGLU.mjs} +3 -3
  249. package/dist/client/client.mjs +20785 -19238
  250. package/dist/client/{context-BI77UFAn.mjs → context-Dg4ZrxDD.mjs} +1 -1
  251. package/dist/client/{eventCalendar-qkej2Edn.mjs → eventCalendar-BUc7YIBM.mjs} +8 -9
  252. package/dist/client/{eventCombined-DApKHvat.mjs → eventCombined-BwfShk2a.mjs} +4 -4
  253. package/dist/client/{eventDetails-BQyUDPH0.mjs → eventDetails-BMOVC3go.mjs} +3 -3
  254. package/dist/client/{eventListing-CeAnshlZ.mjs → eventListing-BwE9PM-t.mjs} +4 -4
  255. package/dist/client/{eventRegistration-C3A3NyBO.mjs → eventRegistration-CCWPYDc7.mjs} +10 -10
  256. package/dist/client/{form-DW8rU7jO.mjs → form-CXFr0Gd5.mjs} +115 -52
  257. package/dist/client/{headerSection-CkIhsoNm.mjs → headerSection-BX8qw8kH.mjs} +3 -3
  258. package/dist/client/hooks.mjs +17908 -16797
  259. package/dist/client/{locationMap-D4O8wbli.mjs → locationMap-B3La71m0.mjs} +3 -4
  260. package/dist/client/{media-C5K_0xPd.mjs → media-B1Cbv721.mjs} +183 -362
  261. package/dist/client/mediaContext-CwbbimYB.mjs +135 -0
  262. package/dist/client/{newsletterForm-B7IxSPuz.mjs → newsletterForm-DnGyR0x7.mjs} +51 -15
  263. package/dist/client/{productDetail-Bqxpwy5N.mjs → productDetail-BVgTqvkb.mjs} +3 -3
  264. package/dist/client/{productList-u9Lz8V15.mjs → productList-CcO7kUQw.mjs} +3 -3
  265. package/dist/client/{propsDecoder-Bf1jucUp.mjs → propsDecoder-B1OeWavE.mjs} +2193 -374
  266. package/dist/client/renderableMediaAssetAdmission-CHkXYDC_.mjs +143 -0
  267. package/dist/client/rendering/client.mjs +22424 -21488
  268. package/dist/client/rendering/islands.mjs +20 -23
  269. package/dist/client/rendering.mjs +21025 -19413
  270. package/dist/client/{routeIslandApiConfig-BgP-aPMl.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
  271. package/dist/client/{shop-B_eykR-_.mjs → shop-P72nX5Fs.mjs} +7 -7
  272. package/dist/client/{shop-commerce-CT0APkFV.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
  273. package/dist/client/{shop-commerce-store-DcvZxdEK.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
  274. package/dist/client/{shopShared-BVJOiUiJ.mjs → shopShared-Db-cRGu3.mjs} +5 -5
  275. package/dist/client/{useDiscountCodeUi-DPmYDunz.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
  276. package/dist/client/{useEventPagination-8-U55vH5.mjs → useEventPagination-BdWpCniq.mjs} +6 -7
  277. package/dist/preview-next/before-render.mjs +222 -55
  278. package/dist/preview-next/client/runtime.mjs +3 -3
  279. package/dist/preview-next/editor-chrome.css +5 -2
  280. package/dist/preview-next/keepAlive.mjs +133 -51
  281. package/dist/preview-next/middleware.mjs +133 -51
  282. package/dist/{sdk-runtime-C5jPdSrk.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
  283. package/dist/server/components.mjs +21541 -20118
  284. package/dist/server/config-validation.mjs +2466 -1403
  285. package/dist/server/config.mjs +2466 -1403
  286. package/dist/server/data.mjs +17842 -16759
  287. package/dist/server/date-time.mjs +258 -116
  288. package/dist/server/index.mjs +360 -53
  289. package/dist/server/next.mjs +21913 -20539
  290. package/dist/server/page-converter.mjs +8121 -7322
  291. package/dist/server/prebuild.mjs +1 -1
  292. package/dist/server/rendering/server.mjs +21196 -19760
  293. package/dist/server/rendering.mjs +21554 -20123
  294. package/dist/server/routing.mjs +19806 -18607
  295. package/dist/server/server.mjs +2907 -1845
  296. package/dist/server/theme-bridge.mjs +991 -160
  297. package/dist/server/theme.mjs +501 -100
  298. package/dist/{spinner-B-ab2rJp.mjs → spinner-MTooKfck.mjs} +1 -1
  299. package/dist/styles/index.css +254 -1
  300. package/package.json +1 -1
  301. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
  302. package/dist/client/aspectTransforms-D-TnDdq4.mjs +0 -93
  303. package/dist/client/colorStyles-ECDNPE_P.mjs +0 -1253
@@ -0,0 +1,135 @@
1
+ import { t as buildRenderableMediaAssetIndex } from "./renderableMediaAssetAdmission-CHkXYDC_.mjs";
2
+ //#region ../blocks/src/system/runtime/nodes/mediaContext.ts
3
+ function buildMediaAssetIndex(assets) {
4
+ return buildRenderableMediaAssetIndex(assets);
5
+ }
6
+ function normalizeSupabaseUrl(value) {
7
+ return value?.replace(/\/$/, "");
8
+ }
9
+ function buildResolveImageUrlContext(input) {
10
+ return {
11
+ supabaseUrl: normalizeSupabaseUrl(input?.supabaseUrl),
12
+ siteId: input?.siteId,
13
+ mediaAssetIndex: input?.mediaAssetIndex ?? buildMediaAssetIndex(input?.mediaAssets)
14
+ };
15
+ }
16
+ /**
17
+ * Server-side: AsyncLocalStorage for request isolation.
18
+ * Prevents race conditions when multiple requests are processed concurrently.
19
+ *
20
+ * Lazy initialization to avoid issues in environments that don't support async_hooks.
21
+ */
22
+ const serverStorageState = {
23
+ storage: null,
24
+ checked: false
25
+ };
26
+ function getServerStorage() {
27
+ if (typeof window !== "undefined") return null;
28
+ if (serverStorageState.checked) return serverStorageState.storage;
29
+ serverStorageState.checked = true;
30
+ try {
31
+ const globalWithNonWebpackRequire = globalThis;
32
+ const AsyncLocalStorage = (typeof globalWithNonWebpackRequire.__non_webpack_require__ === "function" ? globalWithNonWebpackRequire.__non_webpack_require__ : new Function("id", "return require(id)"))("async_hooks").AsyncLocalStorage;
33
+ if (AsyncLocalStorage) {
34
+ serverStorageState.storage = new AsyncLocalStorage();
35
+ return serverStorageState.storage;
36
+ }
37
+ return null;
38
+ } catch {
39
+ console.warn("[blocks] AsyncLocalStorage not available - using module-level state");
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Client-side context storage.
45
+ * Safe because browsers are single-threaded per tab.
46
+ *
47
+ * IMPORTANT: This must be shared across bundles.
48
+ * SDK preview mode can load multiple independently-bundled entrypoints
49
+ * (e.g. `@riverbankcms/sdk/rendering` + `@riverbankcms/sdk/preview-next/client`),
50
+ * which can otherwise each get their own module-scoped singleton.
51
+ */
52
+ const RB_MEDIA_CONTEXT_KEY = Symbol.for("riverbankcms.blocks.mediaContext");
53
+ function getClientContextStore() {
54
+ const g = globalThis;
55
+ const existing = g[RB_MEDIA_CONTEXT_KEY];
56
+ if (existing && typeof existing === "object") return existing;
57
+ const next = {};
58
+ g[RB_MEDIA_CONTEXT_KEY] = next;
59
+ return next;
60
+ }
61
+ /**
62
+ * Get the current media context.
63
+ * Server-side: Uses AsyncLocalStorage for request isolation.
64
+ * Client-side: Uses module-level state (safe in single-threaded browser).
65
+ */
66
+ function getMediaContext() {
67
+ const storage = getServerStorage();
68
+ if (storage) return storage.getStore() ?? {};
69
+ return getClientContextStore();
70
+ }
71
+ /**
72
+ * Set the Supabase URL in the current context.
73
+ * @deprecated Use runWithMediaContext instead for request isolation.
74
+ */
75
+ function updateMediaContext(patch) {
76
+ const storage = getServerStorage();
77
+ const current = storage?.getStore();
78
+ if (current) Object.assign(current, patch);
79
+ else if (storage?.enterWith) storage.enterWith(patch);
80
+ else Object.assign(getClientContextStore(), patch);
81
+ }
82
+ function setContextSupabaseUrl(url) {
83
+ updateMediaContext({ supabaseUrl: normalizeSupabaseUrl(url) });
84
+ }
85
+ /** @deprecated Use runWithMediaContext for request isolation. */
86
+ function setContextSiteId(siteId) {
87
+ updateMediaContext({ siteId });
88
+ }
89
+ function setContextMediaAssetIndex(index) {
90
+ updateMediaContext({ mediaAssetIndex: index });
91
+ }
92
+ function setContextResolveImageUrlContext(context) {
93
+ setContextSupabaseUrl(context?.supabaseUrl);
94
+ setContextSiteId(context?.siteId);
95
+ setContextMediaAssetIndex(context?.mediaAssetIndex);
96
+ }
97
+ function getCurrentResolveImageUrlContext() {
98
+ const context = getMediaContext();
99
+ if (!context.supabaseUrl && !context.siteId && !context.mediaAssetIndex) return;
100
+ return {
101
+ supabaseUrl: context.supabaseUrl,
102
+ siteId: context.siteId,
103
+ mediaAssetIndex: context.mediaAssetIndex
104
+ };
105
+ }
106
+ /**
107
+ * Get the Supabase URL for constructing direct storage URLs.
108
+ * Used for serving images directly from Supabase storage CDN.
109
+ *
110
+ * Resolution order:
111
+ * 1. Context URL (set via runWithMediaContext or setContextSupabaseUrl)
112
+ * 2. Environment variable NEXT_PUBLIC_SUPABASE_URL
113
+ *
114
+ * SDK sites receive the URL from the API, so they don't need the env var.
115
+ * Dashboard and frontend apps use the env var.
116
+ */
117
+ function getSupabaseUrl() {
118
+ const context = getMediaContext();
119
+ if (context.supabaseUrl) return context.supabaseUrl;
120
+ const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
121
+ if (!url) throw new Error("NEXT_PUBLIC_SUPABASE_URL is not configured. Set it to your Supabase project URL (e.g., https://xxx.supabase.co)");
122
+ return url.replace(/\/$/, "");
123
+ }
124
+ /**
125
+ * Get the site ID for constructing storage paths.
126
+ * Required for relative path resolution.
127
+ */
128
+ function getSiteId() {
129
+ return getMediaContext().siteId;
130
+ }
131
+ function getMediaAssetIndex(context) {
132
+ return context?.mediaAssetIndex ?? getMediaContext().mediaAssetIndex;
133
+ }
134
+ //#endregion
135
+ export { getSupabaseUrl as a, getSiteId as i, getCurrentResolveImageUrlContext as n, setContextResolveImageUrlContext as o, getMediaAssetIndex as r, buildResolveImageUrlContext as t };
@@ -1,9 +1,8 @@
1
1
  "use client";
2
- import { F as clsx } from "./colorStyles-ECDNPE_P.mjs";
3
- import { Lr as assertNever, g as newsletterBlockSubmissionMessage, h as NEWSLETTER_SIGNUPS_PAUSED_MESSAGE, t as defineIslandPropsDecoder, ti as parseMailingListVisitorSelection, yi as assertNever$1 } from "./propsDecoder-Bf1jucUp.mjs";
4
- import { t as ThemedButton } from "./ThemedButton-Ciltp0IK.mjs";
2
+ import { Mi as assertNever$1, Rr as assertNever, g as newsletterBlockSubmissionMessage, h as NEWSLETTER_SIGNUPS_PAUSED_MESSAGE, mi as parseMailingListVisitorSelection, pr as listLookSlot, ri as clsx, t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
5
4
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
6
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-BI77UFAn.mjs";
5
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
7
6
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
8
7
  import { i as getFieldValidationControlProps, r as FieldValidationMessage, t as MAILING_LIST_CONFIRMATION_MESSAGE } from "./mailingListSignupCopy-DZSHZrm6.mjs";
9
8
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
@@ -14,9 +13,8 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
13
  * Newsletter form pieces shared by the SSR render and the hydrated island, so
15
14
  * both produce the same markup.
16
15
  *
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.
16
+ * Legacy layouts keep visually hidden labels and the joined email/button.
17
+ * Compiler-owned Look hooks expose labelled controls and a separate action.
20
18
  */
21
19
  const TOPIC_CHOICE_FIELD_ID = "mailingListChoice";
22
20
  const inputIdFor = (field) => `newsletter_${field.id}`;
@@ -28,15 +26,17 @@ function partitionNewsletterFields(fields) {
28
26
  extra: fields.filter((field) => field !== email)
29
27
  };
30
28
  }
31
- function NewsletterExtraField({ field, disabled, error }) {
29
+ function NewsletterExtraField({ field, disabled, error, lookSlots }) {
32
30
  const inputId = inputIdFor(field);
33
31
  const errorId = `${inputId}-error`;
34
32
  return /* @__PURE__ */ jsxs("div", {
35
33
  className: "fb-field newsletter-field",
34
+ ...listLookSlot({ lookSlots }, field.type === "email" ? "row" : "item"),
36
35
  children: [
37
36
  /* @__PURE__ */ jsx("label", {
38
37
  htmlFor: inputId,
39
- className: "rb-sr-only",
38
+ className: lookSlots ? void 0 : "rb-sr-only",
39
+ ...listLookSlot({ lookSlots }, "fact-label"),
40
40
  children: field.label
41
41
  }),
42
42
  /* @__PURE__ */ jsx("input", {
@@ -46,6 +46,8 @@ function NewsletterExtraField({ field, disabled, error }) {
46
46
  required: field.required,
47
47
  placeholder: field.placeholder ?? field.label,
48
48
  className: "form-input",
49
+ autoComplete: lookSlots ? field.type === "email" ? "email" : field.id === "firstName" ? "given-name" : void 0 : void 0,
50
+ ...listLookSlot({ lookSlots }, "control"),
49
51
  disabled,
50
52
  ...getFieldValidationControlProps({
51
53
  message: error,
@@ -107,7 +109,23 @@ function NewsletterEmailEntry({ field, buttonVariant, buttonLabel, disabled, err
107
109
  * The submit action: joined to the email field when the preset has one
108
110
  * (every current preset does), otherwise a plain themed button.
109
111
  */
110
- function NewsletterSubmitRow({ emailField, buttonVariant, buttonLabel, disabled, error }) {
112
+ function NewsletterSubmitRow({ emailField, lookSlots, buttonVariant, buttonLabel, disabled, error }) {
113
+ if (lookSlots) return /* @__PURE__ */ jsxs(Fragment, { children: [emailField && /* @__PURE__ */ jsx(NewsletterExtraField, {
114
+ field: emailField,
115
+ lookSlots,
116
+ disabled,
117
+ error
118
+ }), /* @__PURE__ */ jsx("div", {
119
+ ...listLookSlot({ lookSlots }, "actions"),
120
+ children: /* @__PURE__ */ jsx(ThemedButton, {
121
+ ...listLookSlot({ lookSlots }, "action"),
122
+ type: "submit",
123
+ variant: buttonVariant,
124
+ size: "md",
125
+ disabled,
126
+ label: buttonLabel
127
+ })
128
+ })] });
111
129
  if (emailField) return /* @__PURE__ */ jsx(NewsletterEmailEntry, {
112
130
  field: emailField,
113
131
  buttonVariant,
@@ -372,18 +390,18 @@ function NewsletterFormClient({ render }) {
372
390
  const submitting = isNewsletterFormSubmitting(submissionState);
373
391
  const formError = getNewsletterSubmissionFormError(submissionState);
374
392
  if (succeeded) return /* @__PURE__ */ jsx("div", {
393
+ ...listLookSlot(render.display, "outcome"),
375
394
  ref: successRef,
376
395
  tabIndex: -1,
377
396
  className: clsx("newsletter-form", "newsletter-success", render.display.className ?? void 0),
378
- children: /* @__PURE__ */ jsx(FeedbackMessage, {
379
- tone: "success",
380
- className: "fb-success",
381
- role: "status",
382
- children: getNewsletterSuccessOutcome(submissionState) === "confirmation_required" ? MAILING_LIST_CONFIRMATION_MESSAGE : render.display.successMessage
397
+ children: /* @__PURE__ */ jsx(NewsletterSuccessMessage, {
398
+ lookSlots: render.display.lookSlots,
399
+ message: getNewsletterSuccessOutcome(submissionState) === "confirmation_required" ? MAILING_LIST_CONFIRMATION_MESSAGE : render.display.successMessage
383
400
  })
384
401
  });
385
402
  if (render.display.availability === "unavailable") return /* @__PURE__ */ jsx(UnavailableNewsletterForm, { className: render.display.className });
386
403
  return /* @__PURE__ */ jsx("div", {
404
+ ...listLookSlot(render.display, "panel"),
387
405
  className: clsx("newsletter-form", render.display.className ?? void 0),
388
406
  children: /* @__PURE__ */ jsxs("form", {
389
407
  onSubmit: handleSubmit,
@@ -408,17 +426,31 @@ function NewsletterFormClient({ render }) {
408
426
  }),
409
427
  render.display.privacyNote && /* @__PURE__ */ jsx("p", {
410
428
  className: "newsletter-privacy-note",
429
+ ...listLookSlot(render.display, "caption"),
411
430
  children: render.display.privacyNote
412
431
  })
413
432
  ]
414
433
  })
415
434
  });
416
435
  }
436
+ function NewsletterSuccessMessage({ lookSlots, message }) {
437
+ return lookSlots ? /* @__PURE__ */ jsx("p", {
438
+ role: "status",
439
+ "aria-live": "polite",
440
+ children: message
441
+ }) : /* @__PURE__ */ jsx(FeedbackMessage, {
442
+ tone: "success",
443
+ className: "fb-success",
444
+ role: "status",
445
+ children: message
446
+ });
447
+ }
417
448
  function NewsletterFormFields({ render, submissionState, submitting, submissionMessage, formError, showSpamProtection, onAltchaSolution }) {
418
449
  const { email: emailField, extra: extraFields } = partitionNewsletterFields(render.display.fields);
419
450
  const fieldError = (id) => getNewsletterSubmissionFieldError(submissionState, id);
420
451
  return /* @__PURE__ */ jsxs("div", {
421
452
  className: "newsletter-form-fields",
453
+ ...listLookSlot(render.display, "grid"),
422
454
  children: [
423
455
  render.hydration.choicePresentation === "visitor_choice" ? /* @__PURE__ */ jsx(NewsletterTopicChips, {
424
456
  choices: render.display.choices,
@@ -427,7 +459,9 @@ function NewsletterFormFields({ render, submissionState, submitting, submissionM
427
459
  }) : null,
428
460
  extraFields.length > 0 ? /* @__PURE__ */ jsx("div", {
429
461
  className: "newsletter-extra-fields",
462
+ ...listLookSlot(render.display, "items"),
430
463
  children: extraFields.map((field) => /* @__PURE__ */ jsx(NewsletterExtraField, {
464
+ lookSlots: render.display.lookSlots,
431
465
  field,
432
466
  disabled: submitting,
433
467
  error: fieldError(field.id)
@@ -447,6 +481,7 @@ function NewsletterFormFields({ render, submissionState, submitting, submissionM
447
481
  children: formError
448
482
  }),
449
483
  /* @__PURE__ */ jsx(NewsletterSubmitRow, {
484
+ lookSlots: render.display.lookSlots,
450
485
  emailField,
451
486
  buttonVariant: render.display.buttonVariant,
452
487
  buttonLabel: submitting ? "Subscribing..." : render.display.buttonLabel,
@@ -520,6 +555,7 @@ function publicSignupError(outcome) {
520
555
  switch (outcome.tag) {
521
556
  case "invalid_input": return "Please check your details and try again.";
522
557
  case "unavailable": switch (outcome.reason) {
558
+ case "confirmation_email_failed": return "We couldn’t send your confirmation email. Please try again later.";
523
559
  case "configuration_unavailable":
524
560
  case "authentication_failed":
525
561
  case "target_unavailable": return NEWSLETTER_SIGNUPS_PAUSED_MESSAGE;
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-Bf1jucUp.mjs";
2
- import { t as mountShopBlockIsland } from "./shopShared-BVJOiUiJ.mjs";
3
- import { r as ProductDetailController } from "./shop-commerce-CT0APkFV.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
2
+ import { t as mountShopBlockIsland } from "./shopShared-Db-cRGu3.mjs";
3
+ import { r as ProductDetailController } from "./shop-commerce-Bt7uraDx.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-Bf1jucUp.mjs";
2
- import { t as mountShopBlockIsland } from "./shopShared-BVJOiUiJ.mjs";
3
- import { i as ProductListController } from "./shop-commerce-CT0APkFV.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
2
+ import { t as mountShopBlockIsland } from "./shopShared-Db-cRGu3.mjs";
3
+ import { i as ProductListController } from "./shop-commerce-Bt7uraDx.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