@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,29 @@
1
+ import { type ManagedMediaResolution, type RenderableMediaAssetIndex } from '../../media-core/src/index';
2
+ import type { MediaValue } from './types';
3
+ import { type CropEditorSource } from './cropEditorSource';
4
+ type EditorMediaResolution = ManagedMediaResolution<MediaValue>;
5
+ type IneligibleCrop = Readonly<{
6
+ kind: 'ineligible';
7
+ }>;
8
+ export type EditorMediaState = Readonly<{
9
+ resolution: undefined;
10
+ crop: IneligibleCrop;
11
+ }> | Readonly<{
12
+ resolution: Extract<EditorMediaResolution, {
13
+ kind: 'missing';
14
+ }>;
15
+ crop: IneligibleCrop | Readonly<{
16
+ kind: 'missing';
17
+ }>;
18
+ }> | Readonly<{
19
+ resolution: Extract<EditorMediaResolution, {
20
+ kind: 'resolved';
21
+ }>;
22
+ crop: IneligibleCrop | Readonly<{
23
+ kind: 'ready';
24
+ source: CropEditorSource;
25
+ }>;
26
+ }>;
27
+ /** Decide source availability and crop eligibility once for all editor consumers. */
28
+ export declare function resolveEditorMediaState(reference: MediaValue | undefined, index: RenderableMediaAssetIndex | undefined): EditorMediaState;
29
+ export {};
@@ -6,6 +6,5 @@ export type BuildPersistableMediaValueOptions = Readonly<{
6
6
  mediaKind: PersistableMediaValue['type'];
7
7
  previousValue: MediaValue | undefined;
8
8
  poster: MediaValue['poster'] | undefined;
9
- publicUrl?: string;
10
9
  }>;
11
- export declare function buildPersistableMediaValue({ asset, mediaKind, previousValue, poster, publicUrl, }: BuildPersistableMediaValueOptions): PersistableMediaValue;
10
+ export declare function buildPersistableMediaValue({ asset, mediaKind, previousValue, poster, }: BuildPersistableMediaValueOptions): PersistableMediaValue;
@@ -1,13 +1,14 @@
1
1
  import type { MediaAssetIndexItem } from '../../blocks/src/index';
2
+ import { indexRenderableMediaAssets } from '../../media-core/src/index';
2
3
  export type RuntimeMediaAssetState = Readonly<{
3
4
  siteId: string;
4
5
  baseAssets: readonly MediaAssetIndexItem[];
5
6
  registeredAssets: readonly MediaAssetIndexItem[];
7
+ mediaAssetIndex: ReturnType<typeof indexRenderableMediaAssets>;
6
8
  }>;
7
9
  export type RuntimeMediaAssetAction = Readonly<{
8
10
  type: 'siteSnapshotReplaced';
9
- siteId: string;
10
- baseAssets: readonly MediaAssetIndexItem[];
11
+ snapshot: RuntimeMediaAssetState;
11
12
  }> | Readonly<{
12
13
  type: 'assetRegistered';
13
14
  siteId: string;
@@ -16,8 +17,6 @@ export type RuntimeMediaAssetAction = Readonly<{
16
17
  export declare function createRuntimeMediaAssetState(siteId: string, baseAssets: readonly MediaAssetIndexItem[]): RuntimeMediaAssetState;
17
18
  export declare function reduceRuntimeMediaAssetState(state: RuntimeMediaAssetState, action: RuntimeMediaAssetAction): RuntimeMediaAssetState;
18
19
  /**
19
- * Returns a freshly deduped merge of base and runtime assets.
20
- * Callers should memoize the result if referential stability matters downstream.
20
+ * Returns the admitted list already owned by the current runtime index.
21
21
  */
22
22
  export declare function selectRuntimeMediaAssets(state: RuntimeMediaAssetState): readonly MediaAssetIndexItem[];
23
- export declare function createRuntimeMediaAssetSnapshotKey(siteId: string, assets: readonly MediaAssetIndexItem[]): string;
@@ -6,6 +6,6 @@ export type MediaTransform = NonNullable<Media['transform']>;
6
6
  * Re-export the canonical block/media value shape so media-editor, editor-blocks,
7
7
  * and app consumers all speak the same content contract.
8
8
  */
9
- export type MediaValue = Media;
9
+ export type MediaValue = PersistableMedia;
10
10
  /** A media editor output that satisfies the canonical block write contract. */
11
11
  export type PersistableMediaValue = PersistableMedia;
@@ -9,5 +9,4 @@ export declare const isAudioValue: (value: MediaValue | undefined) => boolean;
9
9
  export declare const isDocumentValue: (value: MediaValue | undefined) => boolean;
10
10
  export declare const isSpreadsheetValue: (value: MediaValue | undefined) => boolean;
11
11
  export declare const isArchiveValue: (value: MediaValue | undefined) => boolean;
12
- export declare const isSvgValue: (value: MediaValue | undefined) => boolean;
13
12
  export declare const buildPreviewParams: (value: MediaValue | undefined, targetAspectRatio?: number | string) => TransformParams;
@@ -3,4 +3,7 @@ export type CropperChangePolicy = {
3
3
  markUserEdit: boolean;
4
4
  persistRect: boolean;
5
5
  };
6
- export declare function resolveCropperChangePolicy(origin: CropperChangeOrigin): CropperChangePolicy;
6
+ export declare function resolveCropperChangePolicy(input: Readonly<{
7
+ origin: CropperChangeOrigin;
8
+ hasUserEdits: boolean;
9
+ }>): CropperChangePolicy;
@@ -49,3 +49,4 @@ export declare function clampCropperCoordinates(coords: CropperCoordinates, opti
49
49
  export declare function isSameCropperCoordinates(a: CropperCoordinates, b: CropperCoordinates): boolean;
50
50
  export declare function rotateHotspotForOutput(hotspot: ImageHotspot, rotation: RightAngleRotation): ImageHotspot;
51
51
  export declare function unrotateHotspotFromOutput(hotspot: ImageHotspot, rotation: RightAngleRotation): ImageHotspot;
52
+ export declare function isCropperCoordinates(value: unknown): value is CropperCoordinates;
@@ -37,6 +37,7 @@ type UseImageCropperControllerResult = {
37
37
  };
38
38
  cropConstraintMessage?: string;
39
39
  handleCropChange: (cropper: CropperRef) => void;
40
+ beginCropInteraction: () => void;
40
41
  handleHotspotPointer: (event: ReactPointerEvent<HTMLDivElement>) => void;
41
42
  resetCrop: () => void;
42
43
  };
@@ -36,8 +36,9 @@ export declare function useArrangementToolbar(input: Readonly<{
36
36
  chooseBackground: (override: BackgroundOverride) => void;
37
37
  openField: (fieldPath: string) => void;
38
38
  }>): ArrangementToolbar | null;
39
- export declare function ArrangementControlsRow({ toolbar, blockTitle, popover, onToggleOptions, editButton, }: Readonly<{
39
+ export declare function ArrangementControlsRow({ toolbar, blockName, blockTitle, popover, onToggleOptions, editButton, }: Readonly<{
40
40
  toolbar: ArrangementToolbar;
41
+ blockName: ReactNode;
41
42
  blockTitle: string;
42
43
  popover: CustomizePopoverController;
43
44
  onToggleOptions: (event: React.MouseEvent<HTMLElement>) => void;
@@ -5,7 +5,8 @@ import { type PreviewCustomizeSelectedImage } from './previewCustomizeSelectedMe
5
5
  type ChooseBackground = (override: BackgroundOverride, options?: Readonly<{
6
6
  selectedImage?: PreviewCustomizeSelectedImage;
7
7
  }>) => void;
8
- export declare function BackgroundChooser({ capability, current, imagePoolStatus, onChoose, }: {
8
+ export declare function BackgroundChooser({ editingSlot, capability, current, imagePoolStatus, onChoose, }: {
9
+ editingSlot: string;
9
10
  capability: BackgroundCapability;
10
11
  current: BackgroundOverride;
11
12
  imagePoolStatus: 'idle' | 'loading' | 'loaded' | 'failed';
@@ -1,28 +1,27 @@
1
- import type { MediaAssetId } from '../../../../core/src/index';
2
1
  import type { Media } from '../../../../blocks/src/index';
2
+ import { type RenderableMediaAssetIndex, type RenderableMediaAsset } from '../../../../media-core/src/index';
3
3
  import type { BackgroundImagePoolItem, BackgroundImagePoolMediaAsset, BackgroundOverride } from '../../../../blocks/src/system/customize/backgrounds';
4
- export type PreviewCustomizeRenderableImageSource = Readonly<{
5
- id: MediaAssetId;
6
- identifier?: string | null;
7
- storageBucket?: string | null;
8
- storagePath?: string | null;
4
+ export type PreviewCustomizeRenderableImageSource = Omit<RenderableMediaAsset, 'width' | 'height'> & Readonly<{
9
5
  width?: number | null;
10
6
  height?: number | null;
11
- mimeType?: string | null;
12
7
  }>;
13
8
  export type PreviewCustomizeSelectedImage = Readonly<{
14
- mediaId: MediaAssetId;
9
+ reference: Extract<Media, {
10
+ type: 'image';
11
+ }>;
15
12
  imageAsset: BackgroundImagePoolMediaAsset;
16
13
  }>;
17
- export declare function selectedImageFromMediaValue(value: Media | undefined): PreviewCustomizeSelectedImage | null;
18
- export declare function selectedImageFromRenderableAsset(asset: PreviewCustomizeRenderableImageSource): PreviewCustomizeSelectedImage;
14
+ export declare function selectedImageFromMediaValue(value: Media | undefined, index: RenderableMediaAssetIndex | undefined): PreviewCustomizeSelectedImage | null;
15
+ export declare function selectedImageFromRenderableAsset(source: PreviewCustomizeRenderableImageSource): PreviewCustomizeSelectedImage;
19
16
  export declare function imagePoolWithSelectedImage(input: Readonly<{
20
17
  imagePool: readonly BackgroundImagePoolItem[];
21
18
  override: BackgroundOverride;
22
19
  selectedImage: PreviewCustomizeSelectedImage | undefined;
23
20
  }>): readonly BackgroundImagePoolItem[];
24
- export declare function selectedOrPooledImageAssetForMediaId(input: Readonly<{
21
+ export declare function selectedOrPooledImageAssetForReference(input: Readonly<{
25
22
  imagePool: readonly BackgroundImagePoolItem[] | undefined;
26
- mediaId: MediaAssetId;
23
+ reference: Extract<Media, {
24
+ type: 'image';
25
+ }>;
27
26
  selectedImage: PreviewCustomizeSelectedImage | undefined;
28
27
  }>): BackgroundImagePoolMediaAsset | undefined;
@@ -60,6 +60,7 @@ type PreviewShellCommonProps = {
60
60
  themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
61
61
  themeSelectionButtonStyleRepairs?: readonly ButtonStyleSelectionRepair[];
62
62
  themeSelectionHeaderPreferences?: import('../../../../theme-core/src/site-styles/index').HeaderPreferences | null;
63
+ themeSelectionFooterPreferences?: import('../../../../theme-core/src/site-styles/index').FooterPreferences | null;
63
64
  themeSelectionHeaderSelection?: HeaderLayoutStyleSelection | null;
64
65
  themeSelectionFooterLookId?: FooterLookId | null;
65
66
  themeSelectionHeaderLogo?: HeaderLogoContext;
@@ -30,6 +30,7 @@ type PreviewShellLayoutCommonProps = {
30
30
  themeSelectionButtonStyleSelection?: ButtonStyleSelection | null;
31
31
  themeSelectionButtonStyleRepairs?: readonly ButtonStyleSelectionRepair[];
32
32
  themeSelectionHeaderPreferences?: import('../../../../theme-core/src/site-styles/index').HeaderPreferences | null;
33
+ themeSelectionFooterPreferences?: import('../../../../theme-core/src/site-styles/index').FooterPreferences | null;
33
34
  themeSelectionHeaderSelection?: HeaderLayoutStyleSelection | null;
34
35
  themeSelectionFooterLookId?: FooterLookId | null;
35
36
  themeSelectionHeaderLogo?: HeaderLogoContext;
@@ -1,3 +1,4 @@
1
+ import { type FooterPreferences } from '../../../../theme-core/src/site-styles/index';
1
2
  import React, { type ReactNode } from 'react';
2
3
  import { type ApiClient } from '../../../../api/src/request';
3
4
  import type { Theme } from '../../../../blocks/src/index';
@@ -36,6 +37,7 @@ type SiteChromeCustomizeContextValue = Readonly<{
36
37
  setHeaderInteractionPalette: (value: HeaderInteractionPalettePreference) => void;
37
38
  cycleSurfaceBackground: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
38
39
  chooseSurfaceBackground: (surface: SiteChromeEditableSurfaceKind, override: SiteChromeBackgroundOverride) => void;
40
+ getFooterPreferences: () => FooterPreferences | null;
39
41
  siteStyleHistory: SiteStyleHistoryController;
40
42
  quickControlHistory: SiteChromeQuickControlHistoryController;
41
43
  }>;
@@ -45,6 +47,7 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
45
47
  apiClient: ApiClient;
46
48
  theme?: Theme | null;
47
49
  headerPreferences?: HeaderPreferences | null;
50
+ footerPreferences?: FooterPreferences | null;
48
51
  themeId?: string | null;
49
52
  selectionId?: string | null;
50
53
  selectionVersion?: number | null;
@@ -54,5 +57,5 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
54
57
  siteStyleAccess?: SiteStyleAccess;
55
58
  canOpenDesignEditor?: boolean;
56
59
  }>;
57
- export declare function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, headerPreferences, themeId, selectionId, selectionVersion, selectionUpdatedAt, initialSelections, headerLogoContext, siteStyleAccess, canOpenDesignEditor, }: SiteChromeCustomizeProviderProps): React.JSX.Element;
60
+ export declare function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, headerPreferences, footerPreferences, themeId, selectionId, selectionVersion, selectionUpdatedAt, initialSelections, headerLogoContext, siteStyleAccess, canOpenDesignEditor, }: SiteChromeCustomizeProviderProps): React.JSX.Element;
58
61
  export declare function useSiteChromeCustomizeOptional(): SiteChromeCustomizeContextValue | null;
@@ -1,9 +1,11 @@
1
+ import { type SiteChromeQuickControlSaveRequest } from './siteChromeQuickControlSaveRequest';
2
+ import type { FooterPreferences } from '../../../../theme-core/src/site-styles/index';
1
3
  import type { APIEndpoints } from '../../../../api/src/index';
2
4
  import type { Theme } from '../../../../blocks/src/index';
3
5
  import type { HeaderNavPreferences, HeaderLogoContext, HeaderPreferences, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
4
6
  import type { CuratedSiteStyle } from '../../../../theme-core/src/site-styles/previewCompiler';
5
7
  import type { SelectionSnapshot } from './StyleConfigurator.state';
6
- import { type SiteStylePreviewPlan } from './siteStylePreviewPlanner';
8
+ import type { SiteStylePreviewPlan } from './siteStylePreviewPlanner';
7
9
  import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
8
10
  import { type HeaderBrandPreferences } from './siteChromeBrandPreferences';
9
11
  type SaveSiteChromeSelectionBody = NonNullable<APIEndpoints['saveSiteChromeSelection']['body']>;
@@ -17,7 +19,7 @@ export type BuildSiteChromeSavePlanInput = Readonly<{
17
19
  surface: SiteChromeEditableSurfaceKind;
18
20
  siteStyle: CuratedSiteStyle;
19
21
  selection: SelectionSnapshot;
20
- baseTheme: Theme | null | undefined;
22
+ baseTheme: Theme;
21
23
  headerLogoContext: HeaderLogoContext | undefined;
22
24
  headerBrandPreferences: HeaderBrandPreferences;
23
25
  headerNavPreferences: HeaderNavPreferences;
@@ -27,8 +29,9 @@ export type BuildSiteChromeSavePlanInput = Readonly<{
27
29
  baseSelectionUpdatedAt: string | null;
28
30
  /** Persisted intent, including the structural fields quick controls cannot edit. */
29
31
  persistedHeaderPreferences: HeaderPreferences;
32
+ persistedFooterPreferences: FooterPreferences;
30
33
  }>;
31
- export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerLogoContext, headerBrandPreferences, headerNavPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, persistedHeaderPreferences, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
34
+ export declare function buildSiteChromeSavePlan(input: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
32
35
  /**
33
36
  * The nav half of the record the server persisted, read back rather than
34
37
  * re-derived from the saved bytes. The theme is compiled output from 4b
@@ -38,8 +41,8 @@ export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection,
38
41
  */
39
42
  export declare function headerNavPreferencesFromSiteChromeSaveResponse(saved: SaveSiteChromeSelectionResponse): HeaderNavPreferences;
40
43
  /**
41
- * The header half comes from the persisted record; the footer half has no
42
- * entry in `HeaderPreferences` and stays derived from the saved theme.
44
+ * Each surface comes from its own persisted record. Header absence retains
45
+ * the existing pre-backfill fallback; footer intent is always required.
43
46
  */
44
47
  export declare function backgroundPreferencesFromSiteChromeSaveResponse(saved: SaveSiteChromeSelectionResponse): SiteChromeBackgroundPreferences;
45
48
  /**
@@ -55,4 +58,23 @@ export declare function selectionSnapshotFromSiteChromeSaveResponse({ saved, fal
55
58
  fallback: SelectionSnapshot;
56
59
  savePlan: SiteChromeSavePlan;
57
60
  }>): SelectionSnapshot;
61
+ /** Close record readiness and the targeted quick-control edit before running effects. */
62
+ export declare function planSiteChromeQuickControlSave(input: Readonly<{
63
+ request: SiteChromeQuickControlSaveRequest;
64
+ currentSelection: SelectionSnapshot | null;
65
+ confirmedBrand: HeaderBrandPreferences;
66
+ confirmedNav: HeaderNavPreferences;
67
+ confirmedBackground: SiteChromeBackgroundPreferences;
68
+ footerPreferences: FooterPreferences | null;
69
+ compilation: Omit<BuildSiteChromeSavePlanInput, 'surface' | 'siteStyle' | 'selection' | 'headerBrandPreferences' | 'headerNavPreferences' | 'backgroundPreferences' | 'persistedFooterPreferences' | 'baseTheme'> & Readonly<{
70
+ baseTheme: Theme | null | undefined;
71
+ }>;
72
+ }>): Readonly<{
73
+ kind: 'unavailable';
74
+ }> | Readonly<{
75
+ kind: 'prepared';
76
+ previousSelection: SelectionSnapshot;
77
+ selection: SelectionSnapshot;
78
+ savePlan: SiteChromeSavePlan;
79
+ }>;
58
80
  export {};
@@ -1,3 +1,4 @@
1
+ import { type FooterPreferences } from '../../../../theme-core/src/site-styles/index';
1
2
  import type { Theme } from '../../../../blocks/src/index';
2
3
  import { type ButtonStyleSelection } from '../../../../theme-core/src/buttons/index';
3
4
  import type { HeaderBrandPresentationPreference, FooterLookId, HeaderLayoutId, HeaderLogoContext, HeaderStyleId, SiteChromeSurface } from '../../../../theme-core/src/site-styles/index';
@@ -19,6 +20,7 @@ export type SiteStylePreviewPlan = Readonly<{
19
20
  type SiteStylePreviewPlanCommonInput = Readonly<{
20
21
  siteStyle: CuratedSiteStyle;
21
22
  selection: SiteStylePreviewSelection;
23
+ footerPreferences?: FooterPreferences;
22
24
  headerLogoContext?: HeaderLogoContext;
23
25
  /**
24
26
  * The row's brand-presentation mode, which the preview must honour or it
@@ -0,0 +1,12 @@
1
+ export type ConfirmedPreferenceRecord<T> = Readonly<{
2
+ source: T;
3
+ value: T;
4
+ }>;
5
+ /** A refreshed row replaces confirmations made against the previous row. */
6
+ export declare function refreshPreferenceRecord<T>(record: ConfirmedPreferenceRecord<T>, source: T): ConfirmedPreferenceRecord<T>;
7
+ /** Props and confirmed responses share one render model; the ref serves async callbacks only. */
8
+ export declare function useConfirmedPreferenceRecord<T>(source: T): {
9
+ value: T;
10
+ confirm: (value: T) => void;
11
+ getLatest: () => T;
12
+ };
@@ -0,0 +1,26 @@
1
+ import type { Theme } from '../../../../blocks/src/index';
2
+ import { type FooterPreferences } from '../../../../theme-core/src/site-styles/index';
3
+ import type { SiteStyleAccess } from './siteStyleAccess';
4
+ /** The client controller holds the row's record across previews, responses and refreshes. */
5
+ export declare function usePersistedFooterPreferences(stored: FooterPreferences | null | undefined): {
6
+ getFooterPreferences: () => Readonly<{
7
+ background: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
8
+ navigationLayout: "inline-wrap" | "stack";
9
+ }> | null;
10
+ getLatestFooterPreferences: () => Readonly<{
11
+ background: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
12
+ navigationLayout: "inline-wrap" | "stack";
13
+ }> | null;
14
+ observeSavedFooter: <T extends {
15
+ footerPreferences: FooterPreferences;
16
+ }>(saved: T) => T;
17
+ backgroundPreferencesFor: (theme: Theme | null | undefined) => {
18
+ footer: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
19
+ header: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
20
+ };
21
+ };
22
+ /** Record availability governs every appearance control, including history writes. */
23
+ export declare function footerRecordCapabilities(preferences: FooterPreferences | null | undefined, access: SiteStyleAccess, canOpenDesignEditor: boolean): {
24
+ applyAllowed: boolean;
25
+ canOpenDesignEditor: boolean;
26
+ };
@@ -1,8 +1,46 @@
1
- import { type RefObject } from 'react';
2
1
  import type { Theme } from '../../../../blocks/src/index';
3
2
  import { type HeaderLogoContext, type HeaderPreferences } from '../../../../theme-core/src/site-styles/index';
4
3
  import type { SelectionSnapshot } from './StyleConfigurator.state';
5
4
  import type { SiteChromeCustomizeProviderProps } from './SiteChromeCustomizeContext';
6
5
  /** Keep the row-owned intent across optimistic edits and server responses. */
7
- export declare function usePersistedHeaderPreferences(stored: HeaderPreferences | null, theme: Theme | null | undefined, selection: SelectionSnapshot | null, logo: HeaderLogoContext | undefined): RefObject<HeaderPreferences>;
6
+ export declare function usePersistedHeaderPreferences(stored: HeaderPreferences | null, theme: Theme | null | undefined, selection: SelectionSnapshot | null, logo: HeaderLogoContext | undefined): {
7
+ preferences: Readonly<{
8
+ brandPresentation: import("../../../../blocks/src/index").HeaderBrandPresentationPreference;
9
+ brandDisplay: import("../../../../blocks/src/index").BrandDisplayMode;
10
+ logoSize: import("../../../../blocks/src/index").LogoSizePolicy;
11
+ navFontRole: import("../../../../blocks/src/index").HeaderNavTypographyPreference;
12
+ navTextSize: import("../../../../blocks/src/index").HeaderNavFontSizePreference;
13
+ interactionPalette: import("../../../../blocks/src/index").HeaderInteractionPalettePreference;
14
+ background: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
15
+ structure: import("../../../../blocks/src/index").HeaderStructurePreferences;
16
+ }>;
17
+ getLatestPreferences: () => Readonly<{
18
+ brandPresentation: import("../../../../blocks/src/index").HeaderBrandPresentationPreference;
19
+ brandDisplay: import("../../../../blocks/src/index").BrandDisplayMode;
20
+ logoSize: import("../../../../blocks/src/index").LogoSizePolicy;
21
+ navFontRole: import("../../../../blocks/src/index").HeaderNavTypographyPreference;
22
+ navTextSize: import("../../../../blocks/src/index").HeaderNavFontSizePreference;
23
+ interactionPalette: import("../../../../blocks/src/index").HeaderInteractionPalettePreference;
24
+ background: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
25
+ structure: Readonly<{
26
+ positioning: "inherit" | import("../../../../blocks/src/index").ThemeHeader["positioning"];
27
+ shrinkOnScroll: "inherit" | boolean;
28
+ logoText: "inherit" | "none" | import("../../../../blocks/src/index").HeaderLogoTextIntent;
29
+ }>;
30
+ }>;
31
+ observeSavedPreferences: (value: Readonly<{
32
+ brandPresentation: import("../../../../blocks/src/index").HeaderBrandPresentationPreference;
33
+ brandDisplay: import("../../../../blocks/src/index").BrandDisplayMode;
34
+ logoSize: import("../../../../blocks/src/index").LogoSizePolicy;
35
+ navFontRole: import("../../../../blocks/src/index").HeaderNavTypographyPreference;
36
+ navTextSize: import("../../../../blocks/src/index").HeaderNavFontSizePreference;
37
+ interactionPalette: import("../../../../blocks/src/index").HeaderInteractionPalettePreference;
38
+ background: import("../../../../blocks/src/index").SiteChromeBackgroundOverride;
39
+ structure: Readonly<{
40
+ positioning: "inherit" | import("../../../../blocks/src/index").ThemeHeader["positioning"];
41
+ shrinkOnScroll: "inherit" | boolean;
42
+ logoText: "inherit" | "none" | import("../../../../blocks/src/index").HeaderLogoTextIntent;
43
+ }>;
44
+ }>) => void;
45
+ };
8
46
  export declare function useSiteChromeInitialSnapshot({ theme, initialSelections, selectionVersion, selectionUpdatedAt, headerLogoContext, }: Pick<SiteChromeCustomizeProviderProps, 'theme' | 'initialSelections' | 'selectionVersion' | 'selectionUpdatedAt' | 'headerLogoContext'>): SelectionSnapshot | null;
@@ -39,8 +39,8 @@ export declare const sectionBackgroundSchema: z.ZodObject<{
39
39
  * Schema for section spacing values.
40
40
  */
41
41
  export declare const sectionSpacingSchema: z.ZodEnum<{
42
- default: "default";
43
42
  compact: "compact";
43
+ default: "default";
44
44
  spacious: "spacious";
45
45
  }>;
46
46
  /**
@@ -68,8 +68,8 @@ export declare const sectionOptionsSchema: z.ZodOptional<z.ZodObject<{
68
68
  backgroundImage: z.ZodOptional<z.ZodBoolean>;
69
69
  backgroundGradient: z.ZodOptional<z.ZodBoolean>;
70
70
  spacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
71
- default: "default";
72
71
  compact: "compact";
72
+ default: "default";
73
73
  spacious: "spacious";
74
74
  }>>, z.ZodBoolean]>>;
75
75
  textColor: z.ZodOptional<z.ZodBoolean>;
@@ -104,8 +104,8 @@ export declare const siteStyleConfigSchema: z.ZodOptional<z.ZodObject<{
104
104
  backgroundImage: z.ZodOptional<z.ZodBoolean>;
105
105
  backgroundGradient: z.ZodOptional<z.ZodBoolean>;
106
106
  spacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
107
- default: "default";
108
107
  compact: "compact";
108
+ default: "default";
109
109
  spacious: "spacious";
110
110
  }>>, z.ZodBoolean]>>;
111
111
  textColor: z.ZodOptional<z.ZodBoolean>;
@@ -40,51 +40,8 @@ export type AuthoredLinkValue = BlocksAuthoredLinkValue;
40
40
  * persistence must narrow to a persistable lifecycle value first.
41
41
  */
42
42
  export type LinkValue = BlocksLinkValue;
43
- export type MediaTypeDiscriminant = 'image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive';
44
- export type Media = {
45
- type: MediaTypeDiscriminant;
46
- purpose?: string;
47
- placeholder?: boolean;
48
- assetId?: string;
49
- identifier?: string;
50
- src?: string;
51
- alt?: string;
52
- filename?: string;
53
- mimeType?: string;
54
- width?: number;
55
- height?: number;
56
- storageBucket?: string;
57
- storagePath?: string;
58
- poster?: {
59
- tag: 'storage';
60
- assetId?: string;
61
- storageBucket: string;
62
- storagePath: string;
63
- } | {
64
- tag: 'external-src';
65
- assetId?: string;
66
- src: string;
67
- };
68
- transform?: {
69
- aspectCrops?: Record<string, {
70
- aspect?: string;
71
- rect?: [number, number, number, number];
72
- hotspot?: {
73
- x: number;
74
- y: number;
75
- radius?: number;
76
- };
77
- rotation?: 0 | 90 | 180 | 270;
78
- }>;
79
- rect?: [number, number, number, number];
80
- hotspot?: {
81
- x: number;
82
- y: number;
83
- radius?: number;
84
- };
85
- rotation?: 0 | 90 | 180 | 270;
86
- };
87
- };
43
+ /** Portable managed references and explicit runtime sources share the canonical contracts. */
44
+ export type { Media, PersistableMedia, MediaIdentifier, MediaTypeDiscriminant, MediaPoster, ExternalMedia, AssetMedia, RuntimeMedia, RuntimeMediaOfType, RenderableMediaAsset, RenderableMediaAssetIndex, ManagedMediaResolution, } from '../../../media-core/src/index';
88
45
  export type RichTextVariant = 'full' | 'inline' | 'limited' | 'media' | 'notes';
89
46
  export type RichTextPrimitiveProps = {
90
47
  as?: React.ElementType;
@@ -1,4 +1,4 @@
1
- export type { TipTapNode, TipTapMark, RichTextDoc, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
1
+ export type { TipTapNode, TipTapMark, RichTextDoc, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, PersistableMedia, MediaIdentifier, MediaTypeDiscriminant, MediaPoster, ExternalMedia, AssetMedia, RuntimeMedia, RuntimeMediaOfType, RenderableMediaAsset, RenderableMediaAssetIndex, ManagedMediaResolution, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
2
2
  export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardRole, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, IntroContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, OfferingsPreviewContent, ProductDetailContent, ProductListContent, RecurringScheduleContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
3
3
  export type { PageOutline, PageRuntimeJoin, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
4
4
  export type { Theme, ThemeTokens } from './theme';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Public SDK rendering contracts.
3
3
  */
4
- import type { Media } from './content';
4
+ import type { RuntimeMedia } from './content';
5
5
  export type ImageOptions = {
6
6
  width: number;
7
7
  height?: number;
@@ -72,5 +72,5 @@ export type ResolveImageSourceSetOptions = {
72
72
  targetAspectRatio?: number;
73
73
  defaultWidth?: number;
74
74
  };
75
- export type ResolveImageUrl = (value: Media, options: ImageOptions) => string | undefined;
76
- export type ResolveImageUrlWithContext = (value: Media, options: ImageOptions, context?: ResolveImageUrlContext) => string | undefined;
75
+ export type ResolveImageUrl = (value: RuntimeMedia, options: ImageOptions) => string | undefined;
76
+ export type ResolveImageUrlWithContext = (value: RuntimeMedia, options: ImageOptions, context?: ResolveImageUrlContext) => string | undefined;
@@ -8,6 +8,7 @@ import type { InlineText, LinkValue, Media } from './content';
8
8
  import type { EventRegistrationContent } from './event-registration-content';
9
9
  export type { EventRegistrationContent } from './event-registration-content';
10
10
  import type { Brand, EventCategoryId, RichTextDoc, VenueId } from '../../../core/src/index';
11
+ import type { ImageGalleryContent as BlocksImageGalleryContent } from '../../../blocks/src/system/blocks/image-gallery';
11
12
  import type { SiteFooterContent as BlocksSiteFooterContent } from '../../../blocks/src/system/blocks/site-footer';
12
13
  import type { NewsletterSignupContent as BlocksNewsletterSignupContent } from '../../../blocks/src/system/blocks/newsletter-signup';
13
14
  import type { ContactNewsletterContent as BlocksContactNewsletterContent } from '../../../blocks/src/system/blocks/contact-newsletter';
@@ -66,12 +67,7 @@ export type BlogListingContent = {
66
67
  _cardStyles?: CardStylesContent;
67
68
  };
68
69
  export type BodyTextAlignment = 'left' | 'center';
69
- export type BodyTextContent = {
70
- variant?: 'prose' | 'intro' | 'narrow' | null;
71
- heading?: string | null;
72
- body: RichTextDoc;
73
- alignment?: BodyTextAlignment | null;
74
- };
70
+ export type BodyTextContent = import('../../../blocks/src/system/blocks/body-text').BodyTextContent;
75
71
  export type BlockCtaContent = {
76
72
  label?: string | null;
77
73
  href?: string | null;
@@ -331,38 +327,7 @@ export type HeroContent = {
331
327
  columnGuides?: boolean | null;
332
328
  };
333
329
  export type HeroMedia = Media;
334
- export type ImageGalleryContent = {
335
- variant?: 'grid' | 'carousel' | 'masonry' | 'marquee' | null;
336
- fullBleed?: boolean | null;
337
- aspectRatio?: 'auto' | '1/1' | '4/3' | '16/9' | '3/2' | '3/4' | null;
338
- slidesToShow?: '1' | '2' | '3' | null;
339
- slidesToShowTablet?: '' | '1' | '2' | '3' | null;
340
- slidesToShowDesktop?: '' | '1' | '2' | '3' | null;
341
- transition?: 'slide' | 'fade' | null;
342
- showControls?: boolean | null;
343
- showDots?: boolean | null;
344
- autoplay?: boolean | null;
345
- autoplayDelay?: '3000' | '5000' | '7000' | '10000' | null;
346
- arrowVisibility?: 'always' | 'hover' | null;
347
- loop?: boolean | null;
348
- marqueeDirection?: 'left' | 'right' | null;
349
- marqueeSpeed?: 'slow' | 'medium' | 'fast' | null;
350
- marqueePauseOnHover?: boolean | null;
351
- marqueeImageSize?: 'sm' | 'md' | 'lg' | 'xl' | null;
352
- imageFilter?: 'none' | 'grayscale' | 'grayscale-hover-reveal' | 'sepia' | null;
353
- imageBorder?: {
354
- enabled?: boolean | null;
355
- colorToken?: string | null;
356
- opacity?: number | null;
357
- width?: '1' | '2' | '3' | null;
358
- } | null;
359
- imageCorners?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | null;
360
- images?: Array<{
361
- image?: Media | null;
362
- caption?: string | null;
363
- }> | null;
364
- _sectionStyles?: SectionStylesContent;
365
- };
330
+ export type ImageGalleryContent = BlocksImageGalleryContent;
366
331
  export type MediaTextAlignment = 'left' | 'center';
367
332
  export type MediaTextImagePosition = 'left' | 'right';
368
333
  export type MediaTextAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4' | '9/16';
@@ -602,14 +567,7 @@ export type BlogPostContent = {
602
567
  title?: string | null;
603
568
  postSlug?: string | null;
604
569
  };
605
- export type FormBlockContent = {
606
- title?: string | null;
607
- intro?: RichTextDoc | null;
608
- formSlug: string;
609
- submitLabel?: string | null;
610
- successMessage?: string | null;
611
- _sectionStyles?: SectionStylesContent;
612
- };
570
+ export type FormBlockContent = import('../../../blocks/src/system/blocks/form').FormBlockContent;
613
571
  export type LocationMapContent = {
614
572
  heading?: string | null;
615
573
  location?: {