@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
@@ -1,4 +1,4 @@
1
- import { vn as createHostedBlockApiConfig } from "./propsDecoder-Bf1jucUp.mjs";
1
+ import { vn as createHostedBlockApiConfig } from "./propsDecoder-B1OeWavE.mjs";
2
2
  //#region src/rendering/islands/enhancers/routeIslandApiConfig.ts
3
3
  function buildRouteIslandApiConfig({ apiBaseUrl, portalToken, previewToken, siteId, stage, readAuthority }) {
4
4
  if (readAuthority) return createHostedBlockApiConfig({
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { Lr as assertNever, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder, xr as getShopSuccessCopy, yi as assertNever$1 } from "./propsDecoder-Bf1jucUp.mjs";
3
- import { t as ThemedButton } from "./ThemedButton-Ciltp0IK.mjs";
2
+ import { Mi as assertNever$1, Rr as assertNever, Sr as getShopSuccessCopy, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
4
4
  import { n as scrollToBlock, t as CheckIcon } from "./CheckIcon-CpyXr-Kg.mjs";
5
5
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-DS92SRVZ.mjs";
6
- import { D as consumeSearchParams, _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-BVJOiUiJ.mjs";
6
+ import { D as consumeSearchParams, _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-Db-cRGu3.mjs";
7
7
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
8
- import { l as readDemoBookingCheckoutReturnEmail, p as DiscountCodeDisclosure, t as BookingConfirmation, u as storeDemoBookingCheckoutReturn } from "./DemoBookingPortalAccess-D3VQ_kLj.mjs";
8
+ import { l as readDemoBookingCheckoutReturnEmail, p as DiscountCodeDisclosure, t as BookingConfirmation, u as storeDemoBookingCheckoutReturn } from "./DemoBookingPortalAccess-C7KQKFNt.mjs";
9
9
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
10
- import { n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-DPmYDunz.mjs";
11
- import { n as useBlockApi } from "./context-BI77UFAn.mjs";
12
- import { t as addPassToCommerceCart } from "./shop-commerce-store-DcvZxdEK.mjs";
10
+ import { n as TerminalPanel, r as StateIcon, t as useDiscountCodeUi } from "./useDiscountCodeUi-jvAiUoUX.mjs";
11
+ import { n as useBlockApi } from "./context-Dg4ZrxDD.mjs";
12
+ import { t as addPassToCommerceCart } from "./shop-commerce-store-C1-mxSye.mjs";
13
13
  import { t as ModalShell } from "./ModalShell-BXzucfR6.mjs";
14
14
  import React, { useCallback, useEffect, useRef, useState } from "react";
15
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,15 +1,15 @@
1
1
  "use client";
2
- import { Fr as RichTextDocSchema, Hr as reportWorkflowError, Lr as assertNever, Rr as clearWorkflowFeedback, a as buildProductDetailDisplay, d as deriveCommerceCheckoutState, i as buildProductCardDisplay, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, pr as logger, u as buildProductCartItem } from "./propsDecoder-Bf1jucUp.mjs";
3
- import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-Ciltp0IK.mjs";
2
+ import { Ir as RichTextDocSchema, Rr as assertNever, Ur as reportWorkflowError, a as buildProductDetailDisplay, d as deriveCommerceCheckoutState, i as buildProductCardDisplay, mr as logger, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, u as buildProductCartItem, zr as clearWorkflowFeedback } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
4
4
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-ChxwaNtO.mjs";
5
- import { C as ProductGalleryFrameView, E as consumeSearchParam, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-BVJOiUiJ.mjs";
6
- import { l as readDemoBookingCheckoutReturnEmail, n as DemoBookingPortalAccess, p as DiscountCodeDisclosure, u as storeDemoBookingCheckoutReturn } from "./DemoBookingPortalAccess-D3VQ_kLj.mjs";
5
+ import { C as ProductGalleryFrameView, E as consumeSearchParam, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-Db-cRGu3.mjs";
6
+ import { l as readDemoBookingCheckoutReturnEmail, n as DemoBookingPortalAccess, p as DiscountCodeDisclosure, u as storeDemoBookingCheckoutReturn } from "./DemoBookingPortalAccess-C7KQKFNt.mjs";
7
7
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
8
- import { n as useBlockApi } from "./context-BI77UFAn.mjs";
9
- import { t as RichText } from "./RichText-BoDmnopf.mjs";
10
- import { t as CarouselNodeClient } from "./carousel.client-kX5mN1Eg.mjs";
8
+ import { n as useBlockApi } from "./context-Dg4ZrxDD.mjs";
9
+ import { t as RichText } from "./RichText-BI9bzbjo.mjs";
10
+ import { t as CarouselNodeClient } from "./carousel.client-BUgjPbb6.mjs";
11
11
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
12
- import { n as useCommerceCart } from "./shop-commerce-store-DcvZxdEK.mjs";
12
+ import { n as useCommerceCart } from "./shop-commerce-store-C1-mxSye.mjs";
13
13
  import * as React$1 from "react";
14
14
  import { useEffect, useState } from "react";
15
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-Bf1jucUp.mjs";
2
+ import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-B1OeWavE.mjs";
3
3
  import * as React$1 from "react";
4
4
  //#region ../blocks/src/system/runtime/nodes/shop-commerce-store.ts
5
5
  const EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { N as err, P as ok } from "./colorStyles-ECDNPE_P.mjs";
3
- import { Lr as assertNever } from "./propsDecoder-Bf1jucUp.mjs";
4
- import { c as getAutoAppliedDiscountPreview, o as discountAvailabilityAllowsManualEntry, s as discountAvailabilityHasDiscounts } from "./DemoBookingPortalAccess-D3VQ_kLj.mjs";
2
+ import { _ as err, v as ok } from "./renderableMediaAssetAdmission-CHkXYDC_.mjs";
3
+ import { Rr as assertNever } from "./propsDecoder-B1OeWavE.mjs";
4
+ import { c as getAutoAppliedDiscountPreview, o as discountAvailabilityAllowsManualEntry, s as discountAvailabilityHasDiscounts } from "./DemoBookingPortalAccess-C7KQKFNt.mjs";
5
5
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
6
- import { t as BlockApiProvider } from "./context-BI77UFAn.mjs";
6
+ import { t as BlockApiProvider } from "./context-Dg4ZrxDD.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
8
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-BgP-aPMl.mjs";
8
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-Dl4vglJm.mjs";
9
9
  import * as React$1 from "react";
10
10
  import { useCallback } from "react";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { c as getAutoAppliedDiscountPreview, o as discountAvailabilityAllowsManualEntry, s as discountAvailabilityHasDiscounts } from "./DemoBookingPortalAccess-D3VQ_kLj.mjs";
2
+ import { c as getAutoAppliedDiscountPreview, o as discountAvailabilityAllowsManualEntry, s as discountAvailabilityHasDiscounts } from "./DemoBookingPortalAccess-C7KQKFNt.mjs";
3
3
  import { useEffect, useReducer, useRef } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/shared/components/StateIcon.tsx
@@ -1,11 +1,10 @@
1
1
  "use client";
2
- import { M as hexToRgb, a as isCssColorLiteral, j as relativeLuminance, o as resolveOnColorForThemeToken, s as resolveTokenOrCssColorValue } from "./colorStyles-ECDNPE_P.mjs";
3
- import { An as eventDateOptions, Cn as normalizeCsvString, En as formatEventPrice, Fn as formatEventNextDateFact, In as formatEventTimeRange, Kr as boxBackgroundSchema, Ln as formatTime, Lr as assertNever, Mn as formatDate, Nn as formatEventCompactDateRail, Sn as normalizeCsvIds, an as isSemanticSpacing, ar as getEventAvailabilityStatus, dr as listItemPresentation, fr as listLookSlot, in as SEMANTIC_SPACING_VALUES, jn as eventLocalDateKey, nr as formatEventRemainingPlaces, on as resolveSpacing, qr as normalizeCardRole, sn as asPartialObject, wn as normalizeOptionalId, xn as getEventRuntimeFiltersKey, yn as getBlockApiReadStage } from "./propsDecoder-Bf1jucUp.mjs";
4
- import { t as ImagePresets } from "./media-C5K_0xPd.mjs";
5
- import { n as ThemedButtonLink, r as ClockIcon, t as ThemedButton } from "./ThemedButton-Ciltp0IK.mjs";
6
- import { a as resolveEventLinkProps, i as resolveEventCta, n as resolveCardListSchedule, r as MediaNodeServer, t as CardListContentPart } from "./CardListItem-Dc9XTXhB.mjs";
7
- import { n as useBlockApi } from "./context-BI77UFAn.mjs";
8
- import { t as LeafletStaticMap } from "./LeafletStaticMap-CLL5cWrr.mjs";
2
+ import { $r as resolveTokenOrCssColorValue, An as eventDateOptions, Cn as normalizeCsvString, En as formatEventPrice, Fn as formatEventNextDateFact, In as formatEventTimeRange, Ln as formatTime, Mn as formatDate, Nn as formatEventCompactDateRail, Qr as resolveOnColorForThemeToken, Rr as assertNever, Sn as normalizeCsvIds, Zr as isCssColorLiteral, an as isSemanticSpacing, ar as getEventAvailabilityStatus, dr as listItemPresentation, ei as relativeLuminance, in as SEMANTIC_SPACING_VALUES, jn as eventLocalDateKey, ni as normalizeCardRole, nr as formatEventRemainingPlaces, on as resolveSpacing, pr as listLookSlot, qr as boxBackgroundSchema, sn as asPartialObject, ti as hexToRgb, wn as normalizeOptionalId, xn as getEventRuntimeFiltersKey, yn as getBlockApiReadStage } from "./propsDecoder-B1OeWavE.mjs";
3
+ import { t as ImagePresets } from "./media-B1Cbv721.mjs";
4
+ import { n as ThemedButtonLink, r as ClockIcon, t as ThemedButton } from "./ThemedButton-wl3Z3wkH.mjs";
5
+ import { a as resolveEventLinkProps, i as resolveEventCta, n as resolveCardListSchedule, r as MediaNodeServer, t as CardListContentPart } from "./CardListItem-BkTkqBkh.mjs";
6
+ import { n as useBlockApi } from "./context-Dg4ZrxDD.mjs";
7
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-C_dNQgd0.mjs";
9
8
  import { useCallback, useEffect, useId, useMemo, useReducer, useRef, useState } from "react";
10
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
10
  //#region ../theme-core/src/palette/utils/textColor.ts
@@ -1855,8 +1855,31 @@ const SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1855
1855
  }
1856
1856
  });
1857
1857
  //#endregion
1858
+ //#region ../core/src/result.ts
1859
+ function ok(value) {
1860
+ return {
1861
+ ok: true,
1862
+ value
1863
+ };
1864
+ }
1865
+ function err(error) {
1866
+ return {
1867
+ ok: false,
1868
+ error
1869
+ };
1870
+ }
1871
+ //#endregion
1858
1872
  //#region ../core/src/branded.ts
1873
+ const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1874
+ function parseUuidBrand(value, unsafeConstructor) {
1875
+ if (typeof value !== "string") return err({ kind: "not_string" });
1876
+ const normalized = value.trim().toLowerCase();
1877
+ if (normalized.length === 0) return err({ kind: "empty_string" });
1878
+ if (!UUID_PATTERN.test(normalized)) return err({ kind: "invalid_uuid" });
1879
+ return ok(unsafeConstructor(normalized));
1880
+ }
1859
1881
  const unsafeAsMediaAssetId = (id) => id;
1882
+ const parseMediaAssetId = (value) => parseUuidBrand(value, unsafeAsMediaAssetId);
1860
1883
  const PUBLIC_CONTENT_FRESHNESS_SECONDS = 3600;
1861
1884
  function availability(transport) {
1862
1885
  return {
@@ -2767,6 +2790,129 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
2767
2790
  tags: ["billing"],
2768
2791
  auth: "user",
2769
2792
  responseKind: "json"
2793
+ },
2794
+ stripeConnectSetupStart: {
2795
+ path: "/sites/{siteId}/billing/connect/setup",
2796
+ method: "POST",
2797
+ tags: ["site-{siteId}", "stripe-connect"],
2798
+ auth: "user",
2799
+ responseKind: "json",
2800
+ errors: [
2801
+ "validation:invalid_input",
2802
+ "auth:forbidden",
2803
+ "resource:conflict",
2804
+ "server:internal_error"
2805
+ ]
2806
+ },
2807
+ stripeConnectSetupDiscard: {
2808
+ path: "/sites/{siteId}/billing/connect/setup",
2809
+ method: "DELETE",
2810
+ tags: ["site-{siteId}", "stripe-connect"],
2811
+ auth: "user",
2812
+ responseKind: "json",
2813
+ errors: [
2814
+ "validation:invalid_input",
2815
+ "auth:forbidden",
2816
+ "resource:conflict",
2817
+ "server:internal_error"
2818
+ ]
2819
+ },
2820
+ stripeConnectSetupSave: {
2821
+ path: "/sites/{siteId}/billing/connect/setup/save",
2822
+ method: "POST",
2823
+ tags: ["site-{siteId}", "stripe-connect"],
2824
+ auth: "user",
2825
+ responseKind: "json",
2826
+ errors: [
2827
+ "validation:invalid_input",
2828
+ "auth:forbidden",
2829
+ "resource:conflict",
2830
+ "server:internal_error"
2831
+ ]
2832
+ },
2833
+ stripeConnectAccountSession: {
2834
+ path: "/sites/{siteId}/billing/connect/session",
2835
+ method: "POST",
2836
+ tags: ["site-{siteId}", "stripe-connect"],
2837
+ auth: "user",
2838
+ responseKind: "json",
2839
+ errors: [
2840
+ "validation:invalid_input",
2841
+ "auth:forbidden",
2842
+ "resource:conflict",
2843
+ "server:internal_error"
2844
+ ]
2845
+ },
2846
+ stripeConnectStart: {
2847
+ path: "/sites/{siteId}/billing/connect/start",
2848
+ method: "POST",
2849
+ tags: ["site-{siteId}", "stripe-connect"],
2850
+ auth: "user",
2851
+ responseKind: "json",
2852
+ errors: [
2853
+ "validation:invalid_input",
2854
+ "auth:forbidden",
2855
+ "resource:conflict",
2856
+ "server:internal_error"
2857
+ ]
2858
+ },
2859
+ stripeConnectStatus: {
2860
+ path: "/sites/{siteId}/billing/connect/status",
2861
+ method: "GET",
2862
+ tags: ["site-{siteId}", "stripe-connect"],
2863
+ auth: "user",
2864
+ responseKind: "json",
2865
+ errors: [
2866
+ "validation:invalid_input",
2867
+ "auth:forbidden",
2868
+ "resource:conflict",
2869
+ "server:internal_error"
2870
+ ]
2871
+ },
2872
+ stripeAutomaticTaxUpdate: {
2873
+ path: "/sites/{siteId}/billing/automatic-tax",
2874
+ method: "POST",
2875
+ tags: [
2876
+ "site-{siteId}",
2877
+ "billing",
2878
+ "stripe-tax"
2879
+ ],
2880
+ auth: "user",
2881
+ responseKind: "json",
2882
+ errors: [
2883
+ "validation:invalid_input",
2884
+ "auth:forbidden",
2885
+ "resource:not_found",
2886
+ "server:unavailable",
2887
+ "server:internal_error"
2888
+ ]
2889
+ },
2890
+ stripeConnectDisconnect: {
2891
+ path: "/sites/{siteId}/billing/connect/disconnect",
2892
+ method: "DELETE",
2893
+ tags: ["site-{siteId}", "stripe-connect"],
2894
+ auth: "user",
2895
+ responseKind: "json",
2896
+ errors: [
2897
+ "validation:invalid_input",
2898
+ "auth:forbidden",
2899
+ "resource:conflict",
2900
+ "server:internal_error"
2901
+ ]
2902
+ },
2903
+ billingConnectReturn: {
2904
+ path: "/billing/connect/return",
2905
+ method: "GET",
2906
+ auth: "user",
2907
+ responseKind: "void",
2908
+ errors: []
2909
+ },
2910
+ billingConnectRefresh: {
2911
+ path: "/billing/connect/refresh",
2912
+ method: "GET",
2913
+ auth: "user",
2914
+ responseKind: "void",
2915
+ errors: []
2770
2916
  }
2771
2917
  });
2772
2918
  //#endregion
@@ -2931,6 +3077,14 @@ const PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS = {
2931
3077
  * person when nothing is attached to them.
2932
3078
  */
2933
3079
  const BOOKING_PEOPLE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3080
+ getBookingPerson: {
3081
+ path: "/sites/{siteId}/bookings/people/{personId}",
3082
+ method: "GET",
3083
+ tags: ["site-{siteId}", "customers-{siteId}"],
3084
+ auth: "user",
3085
+ responseKind: "json",
3086
+ errors: ["resource:not_found", "server:internal_error"]
3087
+ },
2934
3088
  listPeople: {
2935
3089
  path: "/sites/{siteId}/bookings/people",
2936
3090
  method: "GET",
@@ -6166,57 +6320,6 @@ const API_ENDPOINTS = {
6166
6320
  errors: [],
6167
6321
  responseKind: "json"
6168
6322
  },
6169
- stripeConnectStart: {
6170
- path: "/sites/{siteId}/billing/connect/start",
6171
- method: "POST",
6172
- tags: ["site-{siteId}", "stripe-connect"],
6173
- auth: "user",
6174
- responseKind: "json"
6175
- },
6176
- stripeConnectStatus: {
6177
- path: "/sites/{siteId}/billing/connect/status",
6178
- method: "GET",
6179
- tags: ["site-{siteId}", "stripe-connect"],
6180
- auth: "user",
6181
- responseKind: "json"
6182
- },
6183
- stripeAutomaticTaxUpdate: {
6184
- path: "/sites/{siteId}/billing/automatic-tax",
6185
- method: "POST",
6186
- tags: [
6187
- "site-{siteId}",
6188
- "billing",
6189
- "stripe-tax"
6190
- ],
6191
- auth: "user",
6192
- responseKind: "json",
6193
- errors: [
6194
- "validation:invalid_input",
6195
- "auth:forbidden",
6196
- "resource:not_found",
6197
- "server:unavailable",
6198
- "server:internal_error"
6199
- ]
6200
- },
6201
- stripeConnectDisconnect: {
6202
- path: "/sites/{siteId}/billing/connect/disconnect",
6203
- method: "DELETE",
6204
- tags: ["site-{siteId}", "stripe-connect"],
6205
- auth: "user",
6206
- responseKind: "json"
6207
- },
6208
- billingConnectReturn: {
6209
- path: "/billing/connect/return",
6210
- method: "GET",
6211
- auth: "user",
6212
- responseKind: "void"
6213
- },
6214
- billingConnectRefresh: {
6215
- path: "/billing/connect/refresh",
6216
- method: "GET",
6217
- auth: "user",
6218
- responseKind: "void"
6219
- },
6220
6323
  importSiteBackup: {
6221
6324
  path: "/sites/{siteId}/backup/import",
6222
6325
  method: "POST",
@@ -7122,6 +7225,7 @@ const API_ENDPOINTS = {
7122
7225
  errors: [
7123
7226
  "validation:invalid_input",
7124
7227
  "resource:not_found",
7228
+ "resource:conflict",
7125
7229
  "server:internal_error"
7126
7230
  ]
7127
7231
  },
@@ -7147,6 +7251,7 @@ const API_ENDPOINTS = {
7147
7251
  errors: [
7148
7252
  "validation:invalid_input",
7149
7253
  "resource:not_found",
7254
+ "resource:conflict",
7150
7255
  "server:internal_error"
7151
7256
  ]
7152
7257
  },
@@ -8411,13 +8516,75 @@ const getPreviewSession = cache(async () => {
8411
8516
  return readPreviewSession(await cookies());
8412
8517
  });
8413
8518
  //#endregion
8519
+ //#region ../media-core/src/identifiers.ts
8520
+ function slugifyMediaIdentifier(value) {
8521
+ return value.toLowerCase().trim().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-");
8522
+ }
8523
+ function parseMediaIdentifier(value) {
8524
+ if (typeof value !== "string") return err({ kind: "not_string" });
8525
+ const trimmed = value.trim();
8526
+ if (trimmed.length === 0) return err({ kind: "empty_identifier" });
8527
+ const normalized = slugifyMediaIdentifier(trimmed);
8528
+ if (normalized.length === 0) return err({
8529
+ kind: "empty_after_normalization",
8530
+ value
8531
+ });
8532
+ return ok(normalized);
8533
+ }
8534
+ /**
8535
+ * Admits identifiers read from trusted persistence without repairing dirty data in memory.
8536
+ * User input should use parseMediaIdentifier, which intentionally canonicalizes it.
8537
+ */
8538
+ function parseCanonicalMediaIdentifier(value) {
8539
+ if (typeof value !== "string") return err({ kind: "not_string" });
8540
+ const parsed = parseMediaIdentifier(value);
8541
+ if (!parsed.ok) return parsed;
8542
+ if (value !== parsed.value) return err({
8543
+ kind: "non_canonical_identifier",
8544
+ value,
8545
+ canonical: parsed.value
8546
+ });
8547
+ return parsed;
8548
+ }
8549
+ //#endregion
8550
+ //#region ../media-core/src/mediaIdentifierSchema.ts
8551
+ /** Strict stored-reference admission delegates the canonical identifier decision. */
8552
+ const mediaIdentifierSchema = z.string().transform((value, context) => {
8553
+ const parsed = parseCanonicalMediaIdentifier(value);
8554
+ if (parsed.ok) return parsed.value;
8555
+ context.addIssue({
8556
+ code: "custom",
8557
+ message: "Expected a canonical media identifier"
8558
+ });
8559
+ return z.NEVER;
8560
+ });
8561
+ //#endregion
8562
+ //#region ../media-core/src/renderableMediaAssetAdmission.ts
8563
+ const mediaAssetIdSchema = z.string().transform((value, context) => {
8564
+ const parsed = parseMediaAssetId(value);
8565
+ if (parsed.ok) return parsed.value;
8566
+ context.addIssue({
8567
+ code: "custom",
8568
+ message: "Expected a media asset ID"
8569
+ });
8570
+ return z.NEVER;
8571
+ });
8572
+ const nonemptyStorageValue = z.string().refine((value) => value.trim().length > 0);
8573
+ const renderableMediaAssetSchema = z.object({
8574
+ id: mediaAssetIdSchema,
8575
+ identifier: mediaIdentifierSchema,
8576
+ storageBucket: nonemptyStorageValue,
8577
+ storagePath: nonemptyStorageValue,
8578
+ mimeType: nonemptyStorageValue,
8579
+ filename: z.string().optional(),
8580
+ width: z.number().positive().nullable(),
8581
+ height: z.number().positive().nullable()
8582
+ });
8583
+ //#endregion
8414
8584
  //#region src/rendering/mediaAssets.ts
8415
8585
  function toBlocksMediaAssets(assets) {
8416
8586
  if (!assets) return void 0;
8417
- return assets.map((asset) => ({
8418
- ...asset,
8419
- id: unsafeAsMediaAssetId(asset.id)
8420
- }));
8587
+ return assets.map((asset) => renderableMediaAssetSchema.parse(asset));
8421
8588
  }
8422
8589
  //#endregion
8423
8590
  //#region src/rendering/helpers/pageRuntimeSupport.ts
@@ -4,13 +4,13 @@ import React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/preview-next/client/runtime.tsx
6
6
  const LazySdkPreviewMode = React.lazy(async () => {
7
- return { default: (await import("../../SdkPreviewModeRuntime-Dl4GyMc3.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
7
+ return { default: (await import("../../SdkPreviewModeRuntime-BUNV_YHZ.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
8
8
  });
9
9
  const LazyPreviewShell = React.lazy(async () => {
10
- return { default: (await import("../../sdk-runtime-C5jPdSrk.mjs")).PreviewShell };
10
+ return { default: (await import("../../sdk-runtime-DLhjF2Nw.mjs")).PreviewShell };
11
11
  });
12
12
  const LazyPreviewShellLayout = React.lazy(async () => {
13
- return { default: (await import("../../sdk-runtime-C5jPdSrk.mjs")).PreviewShellLayout };
13
+ return { default: (await import("../../sdk-runtime-DLhjF2Nw.mjs")).PreviewShellLayout };
14
14
  });
15
15
  function SdkPreviewMode(props) {
16
16
  return /* @__PURE__ */ jsx(React.Suspense, {
@@ -24,14 +24,17 @@
24
24
  --radius-xl: 1rem;
25
25
  }
26
26
 
27
+ /* Editor highlights belong to editor cards and fields, never page-block
28
+ * wrappers: authored outlines, borders and shadows must survive preview focus.
29
+ */
27
30
  /* Editor block highlighting */
28
- [data-editor-block-highlight="true"] {
31
+ [data-editor-block-highlight="true"]:not(:where([data-block-id])) {
29
32
  outline: 1px solid var(--ring);
30
33
  outline-offset: -1px;
31
34
  }
32
35
 
33
36
  /* Editor field highlighting */
34
- [data-editor-field-highlight="true"] {
37
+ [data-editor-field-highlight="true"]:not(:where([data-block-id])) {
35
38
  outline: 1px solid var(--ring);
36
39
  outline-offset: -1px;
37
40
  border-radius: 0.5rem;