@riverbankcms/sdk 0.130.0 → 0.130.2

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 (244) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DiEpbOdw.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +18 -15
  4. package/dist/{PreviewEditorUI-C6MvxnIa.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-C2rnoPz6.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DRXA_m5L.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +48 -21
  7. package/dist/{SiteChromeCustomizeContext-BTHdv5_-.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +6180 -5076
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +309 -32
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +969 -112
  10. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  11. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  12. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  13. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  14. package/dist/_dts/api/src/bookingConfig.d.ts +10 -20
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -5
  16. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  18. package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
  20. package/dist/_dts/api/src/endpoints.d.ts +1253 -1209
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  22. package/dist/_dts/api/src/eventManagementContracts.d.ts +83 -7
  23. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
  24. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
  25. package/dist/_dts/api/src/index.d.ts +11 -3
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  28. package/dist/_dts/api/src/oauth.d.ts +8 -0
  29. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  30. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
  31. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
  32. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -0
  33. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  34. package/dist/_dts/api/src/sdkContracts.d.ts +5 -13
  35. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  36. package/dist/_dts/api/src/sdkThemeWire.d.ts +40 -8
  37. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  38. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  39. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  40. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  41. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +12 -4
  42. package/dist/_dts/api/src/types.d.ts +7 -59
  43. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  44. package/dist/_dts/block-form/src/index.d.ts +23 -22
  45. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  46. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  48. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
  49. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
  50. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  51. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +7 -30
  52. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  53. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  54. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +1 -3
  55. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +13 -1
  56. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  57. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  58. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  59. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  60. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  61. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  63. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  64. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  71. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  72. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  74. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +4 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +26 -0
  77. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -37
  78. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  79. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
  80. package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
  81. package/dist/_dts/core/src/branded.d.ts +4 -0
  82. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  83. package/dist/_dts/core/src/index.d.ts +3 -0
  84. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  85. package/dist/_dts/core/src/secret.d.ts +44 -0
  86. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +341 -0
  87. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  88. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  89. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  90. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  91. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  92. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  93. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  94. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  95. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  96. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  97. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  98. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  99. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  100. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  101. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  102. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  103. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  104. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  105. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  106. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  107. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  108. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  109. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  110. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  111. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  112. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  113. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  114. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  115. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -0
  116. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  117. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  118. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  119. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  120. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  121. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  122. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  123. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  124. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  125. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +61 -39
  126. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  127. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  128. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  129. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -1
  130. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  131. package/dist/_dts/sdk/src/version.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  133. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  134. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  135. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  136. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  137. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  138. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  139. package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
  140. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  141. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  142. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  143. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  144. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +12 -135
  145. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  146. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  147. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  148. package/dist/_dts/theme-core/src/schema.d.ts +301 -94
  149. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
  150. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  151. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  152. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  153. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
  154. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  155. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  156. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  157. package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +2 -4
  158. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +2 -9
  159. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +0 -2
  160. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  161. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  162. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  163. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  164. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  165. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  166. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +1 -62
  168. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  169. package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
  170. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  171. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  172. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  173. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  174. package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
  175. package/dist/client/{CourseRegistrationWizard-Bvtz9G9g.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
  176. package/dist/client/{DiscountCodeDisclosure-Ur-Xx1U_.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
  177. package/dist/client/{EventCombined.client-EhscD4U6.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
  178. package/dist/client/{EventListing.client-Bn26cFTY.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
  179. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  180. package/dist/client/{LeafletStaticMap-BUw9Ntzr.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
  181. package/dist/client/{StepIndicator-BfbdiVQI.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
  182. package/dist/client/{accordion-CjIeof73.mjs → accordion-_boYwHHi.mjs} +1 -1
  183. package/dist/client/{bookingForm-DwEeovf_.mjs → bookingForm--AqEfyBX.mjs} +56 -39
  184. package/dist/client/bookings.mjs +393 -192
  185. package/dist/client/{carousel-BMrfgOba.mjs → carousel-CVI2dqZr.mjs} +2 -2
  186. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  187. package/dist/client/{cart-rXEdxTdb.mjs → cart-DR6IiPz9.mjs} +3 -3
  188. package/dist/client/{checkout-D3JlSzh3.mjs → checkout-CsrGAfQt.mjs} +3 -3
  189. package/dist/client/client.mjs +4524 -3512
  190. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  191. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  192. package/dist/client/{courseRegistration-DO5XvMAA.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
  193. package/dist/client/{eventCalendar-DO6rTqCn.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
  194. package/dist/client/{eventCombined-bJ3i_ovU.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
  195. package/dist/client/{eventDetails-CCbrXE7o.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
  196. package/dist/client/{eventListing-Bdlt9YTm.mjs → eventListing-DuP1yhBS.mjs} +3 -3
  197. package/dist/client/{eventRegistration-B02lt6iY.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
  198. package/dist/client/{form-DrUBAAox.mjs → form-BA4t3kKU.mjs} +4 -4
  199. package/dist/client/{headerSection-MzqvHL6T.mjs → headerSection-CpNaJxhW.mjs} +2 -2
  200. package/dist/client/hooks.mjs +1967 -2059
  201. package/dist/client/{locationMap-DG8BxTBm.mjs → locationMap-3HGMCL7_.mjs} +3 -3
  202. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  203. package/dist/client/{newsletterForm-BzO-Td3p.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
  204. package/dist/client/{pricing-NgK7ozkg.mjs → pricing-BiqIMgZk.mjs} +1 -1
  205. package/dist/client/{productDetail-CfQ7rhVK.mjs → productDetail-C9joWhdE.mjs} +3 -3
  206. package/dist/client/{productList-C23rOLUi.mjs → productList-CjzdU3pB.mjs} +3 -3
  207. package/dist/client/{propsDecoder-CAZdhwjs.mjs → propsDecoder-CBPGXEYX.mjs} +395 -402
  208. package/dist/client/rendering/client.mjs +2004 -2856
  209. package/dist/client/rendering/islands.mjs +20 -20
  210. package/dist/client/rendering.mjs +4605 -3496
  211. package/dist/client/{scrollToBlock-DSSqVQr1.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
  212. package/dist/client/{shop-BMToKLK7.mjs → shop-CQRai7hj.mjs} +7 -7
  213. package/dist/client/{shop-commerce-DB4JRKmp.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
  214. package/dist/client/{shop-commerce-store-BOqSIOuc.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
  215. package/dist/client/{shopShared-B6SK9DZv.mjs → shopShared-DP8DXTkF.mjs} +5 -5
  216. package/dist/client/{useEventFilters-CULOa4nB.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
  217. package/dist/client/{usePolling-BGG_8-jl.mjs → usePolling-Cls91SD2.mjs} +2 -2
  218. package/dist/preview-next/before-render.mjs +192 -108
  219. package/dist/preview-next/client/runtime.mjs +4 -4
  220. package/dist/preview-next/keepAlive.mjs +7406 -29
  221. package/dist/preview-next/middleware.mjs +186 -107
  222. package/dist/{previewAuthStore-_GXFRg2W.mjs → previewAuthStore-CX1C_KJ4.mjs} +185 -107
  223. package/dist/{sdk-runtime-hhSOMShR.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
  224. package/dist/{separator-flRaFc14.mjs → separator-BXlYN_gr.mjs} +1 -1
  225. package/dist/server/components.mjs +6363 -4998
  226. package/dist/server/config-validation.mjs +1967 -2059
  227. package/dist/server/config.mjs +1967 -2059
  228. package/dist/server/data.mjs +1967 -2059
  229. package/dist/server/index.mjs +186 -108
  230. package/dist/server/next.mjs +6553 -5285
  231. package/dist/server/page-converter.mjs +1031 -1844
  232. package/dist/server/prebuild.mjs +1 -1
  233. package/dist/server/rendering/server.mjs +3352 -3006
  234. package/dist/server/rendering.mjs +6289 -4924
  235. package/dist/server/routing.mjs +1906 -1036
  236. package/dist/server/server.mjs +1976 -2165
  237. package/dist/server/theme-bridge.mjs +949 -670
  238. package/dist/server/theme.mjs +252 -51
  239. package/dist/styles/index.css +295 -334
  240. package/package.json +3 -2
  241. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  242. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  243. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  244. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
@@ -1,6 +1,6 @@
1
1
  export { ButtonField } from './ButtonField';
2
2
  export type { ButtonValue } from './ButtonField';
3
- export type { ButtonFieldConfig } from '../../../../block-form/src/client/index';
3
+ export type { ButtonFieldConfig } from '../../../../block-form/src/index';
4
4
  export { ButtonWidgetProvider, useButtonWidgetContext } from './context';
5
5
  export type { ButtonWidgetContextValue, ButtonVariantOption, ButtonWidgetProviderProps } from './context';
6
6
  export { ButtonVariantField } from './ButtonVariantField';
@@ -1,4 +1,4 @@
1
- import type { FieldWidgetProps, ContentTypeSelectFieldConfig } from '../../../../block-form/src/client/index';
1
+ import type { FieldWidgetProps, ContentTypeSelectFieldConfig } from '../../../../block-form/src/index';
2
2
  /**
3
3
  * ContentTypeSelectField - Content type select widget using FieldWidgetProps pattern
4
4
  *
@@ -1,4 +1,4 @@
1
- import type { FieldWidgetProps, EntryPickerFieldConfig } from '../../../../block-form/src/client/index';
1
+ import type { FieldWidgetProps, EntryPickerFieldConfig } from '../../../../block-form/src/index';
2
2
  /**
3
3
  * EntryPickerField - Entry picker widget for selecting content entries
4
4
  *
@@ -2,4 +2,4 @@ export { EntryPickerField } from './EntryPickerField';
2
2
  export { EntryPickerWidgetProvider, useEntryPickerWidgetContext } from './EntryPickerWidgetProvider';
3
3
  export { getEntryPickerLabelForStoredValue, getEntryPickerOptionValueForStoredValue, } from './utils';
4
4
  export type { EntryPickerWidgetAdapter, EntryPickerAdapterArgs, EntryPickerAdapterLabels, EntryPickerItem, EntryPickerItemBadgeVariant, } from './types';
5
- export type { EntryPickerFieldConfig } from '../../../../block-form/src/client/index';
5
+ export type { EntryPickerFieldConfig } from '../../../../block-form/src/index';
@@ -1,4 +1,4 @@
1
- import { type FieldWidgetProps, type TextFieldConfig } from '../../../../block-form/src/client/index';
1
+ import { type FieldWidgetProps, type TextFieldConfig } from '../../../../block-form/src/index';
2
2
  type IconPickerValue = unknown;
3
3
  export declare function IconPickerField({ path, backend, config }: FieldWidgetProps<IconPickerValue, TextFieldConfig>): import("react").JSX.Element;
4
4
  export {};
@@ -1,3 +1,3 @@
1
- import type { FieldWidgetProps, InlineTextFieldConfig } from '../../../../block-form/src/client/index';
1
+ import type { FieldWidgetProps, InlineTextFieldConfig } from '../../../../block-form/src/index';
2
2
  import { type InlineText } from '../../../../blocks/src/index';
3
3
  export declare function InlineTextField({ path, backend, config, }: FieldWidgetProps<InlineText, InlineTextFieldConfig>): import("react").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { FieldWidgetProps } from '../../../../block-form/src/client/index';
3
- import type { LinkFieldConfig } from '../../../../block-form/src/client/index';
2
+ import type { FieldWidgetProps } from '../../../../block-form/src/index';
3
+ import type { LinkFieldConfig } from '../../../../block-form/src/index';
4
4
  /**
5
5
  * LinkField - Adapter for new widget architecture
6
6
  *
@@ -1,2 +1,2 @@
1
- import { type FieldWidgetProps, type SelectFieldConfig } from '../../../../block-form/src/client/index';
1
+ import { type FieldWidgetProps, type SelectFieldConfig } from '../../../../block-form/src/index';
2
2
  export declare function OfferingsPreviewGroupOrderField({ path, backend, config, }: FieldWidgetProps<readonly unknown[] | null, SelectFieldConfig>): import("react").JSX.Element;
@@ -1,5 +1,5 @@
1
- import type { FieldWidgetProps } from '../../../../block-form/src/client/index';
2
- import type { ReferenceFieldConfig } from '../../../../block-form/src/client/index';
1
+ import type { FieldWidgetProps } from '../../../../block-form/src/index';
2
+ import type { ReferenceFieldConfig } from '../../../../block-form/src/index';
3
3
  /**
4
4
  * ReferenceField - Reference/relation select widget using new FieldWidgetProps pattern
5
5
  */
@@ -1,5 +1,5 @@
1
- import type { FieldWidgetProps } from '../../../../block-form/src/client/index';
2
- import type { RichTextFieldConfig } from '../../../../block-form/src/client/index';
1
+ import type { FieldWidgetProps } from '../../../../block-form/src/index';
2
+ import type { RichTextFieldConfig } from '../../../../block-form/src/index';
3
3
  import { type RichTextDoc } from '../../../../blocks/src/system/manifest/richTextSchema';
4
4
  type RichTextValue = RichTextDoc;
5
5
  export declare function RichTextField({ path, backend, config, }: FieldWidgetProps<RichTextValue, RichTextFieldConfig>): import("react").JSX.Element;
@@ -1,3 +1,3 @@
1
- import type { SelectFieldConfig, FieldWidgetProps } from '../../../../block-form/src/client/index';
1
+ import type { SelectFieldConfig, FieldWidgetProps } from '../../../../block-form/src/index';
2
2
  import { type SiteOptionValue } from './utils';
3
3
  export declare function SiteOptionPickerField({ path, backend, config, }: FieldWidgetProps<SiteOptionValue, SelectFieldConfig>): import("react").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { type SiteOptionSource } from '../../../../blocks/src/index';
2
- import type { SelectFieldConfig } from '../../../../block-form/src/client/index';
2
+ import type { SelectFieldConfig } from '../../../../block-form/src/index';
3
3
  export type SiteOptionValue = string | string[] | null | undefined;
4
4
  export declare function normalizeSiteOptionMultiValue(value: SiteOptionValue): string[];
5
5
  export declare function getSiteOptionSource(config: SelectFieldConfig): SiteOptionSource | null;
@@ -1,5 +1,5 @@
1
1
  import { type BlockManifest, type Theme } from '../../../../blocks/src/index';
2
- import { type FieldConfig, type FormBackend } from '../../../../block-form/src/client/index';
2
+ import { type FieldConfig, type FormBackend } from '../../../../block-form/src/index';
3
3
  import type { EditorBlockId } from '../../../../core/src/index';
4
4
  import { type SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
5
5
  import type { EditorUiState } from '../../../../content-editor/src/index';
@@ -3,7 +3,7 @@ import type { ApiClient } from '../../../../api/src/request';
3
3
  import { type ContentTypeSchema } from '../../../../content-model/src/index';
4
4
  import { type ZoomLevel } from '../../../../content-editor/src/index';
5
5
  import type { EntrySubrouteContextData, Theme } from '../../../../blocks/src/index';
6
- import type { FieldWidgetComponent } from '../../../../block-form/src/client/index';
6
+ import type { FieldWidgetComponent } from '../../../../block-form/src/index';
7
7
  import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
8
8
  import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
9
9
  import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { ApiClient } from "../../../../api/src/request";
3
3
  import type { Theme } from "../../../../blocks/src/index";
4
- import type { FieldWidgetComponent } from "../../../../block-form/src/client/index";
4
+ import type { FieldWidgetComponent } from "../../../../block-form/src/index";
5
5
  import type { SdkConfigForBlockPicker } from "../../../../editor-blocks/src/index";
6
6
  type EntrySlotBlockEditorPanelProps = {
7
7
  siteId: string;
@@ -72,6 +72,8 @@ type PreviewShellCommonProps = {
72
72
  mediaAssets?: readonly MediaAssetIndexItem[];
73
73
  bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
74
74
  supabaseUrl?: string;
75
+ /** Base URL returned by the content response for site-font storage. */
76
+ siteFontStorageUrl?: string;
75
77
  designEditorEligibility?: PreviewDesignEditorEligibility;
76
78
  /** Hides site-style controls when this runtime cannot persist design edits. */
77
79
  hideSiteStyleConfigurator?: boolean;
@@ -0,0 +1,6 @@
1
+ import { type ReactNode } from 'react';
2
+ export declare function PreviewSiteFontStorageProvider({ siteFontStorageUrl, children, }: Readonly<{
3
+ siteFontStorageUrl?: string;
4
+ children: ReactNode;
5
+ }>): import("react").JSX.Element;
6
+ export declare function usePreviewSiteFontStorageUrl(): string | undefined;
@@ -0,0 +1,5 @@
1
+ import type { SiteFontRecord } from './typographyFontCatalog';
2
+ export declare function buildSiteFontFaceCss(siteFonts: readonly SiteFontRecord[], siteFontStorageUrl?: string): string;
3
+ export declare function SiteFontFaceStyles({ siteFonts, }: Readonly<{
4
+ siteFonts: readonly SiteFontRecord[];
5
+ }>): import("react").JSX.Element | null;
@@ -0,0 +1,10 @@
1
+ type PreviewContentStorageSource = Readonly<{
2
+ supabaseUrl?: unknown;
3
+ }>;
4
+ /**
5
+ * Reads the current content storage endpoint from the legacy content wire
6
+ * shape. Keep the provider-specific field in this adapter so preview
7
+ * rendering only depends on the neutral storage URL it receives.
8
+ */
9
+ export declare function resolveContentStorageUrl(content: PreviewContentStorageSource): string | undefined;
10
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import { type BookingOfferingPresetSummary, type Theme } from '../../../../blocks/src/index';
4
- import type { FieldWidgetComponent } from '../../../../block-form/src/client/index';
4
+ import type { FieldWidgetComponent } from '../../../../block-form/src/index';
5
5
  import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
6
6
  import { __testUtils, createPreviewEntryPickerAdapter, createPreviewLinkAdapters, createPreviewReferenceAdapters, createPreviewSiteOptionAdapters } from './widgetAdapters';
7
7
  /**
@@ -3,3 +3,4 @@ export * from "./cookies";
3
3
  export * from "./redirects";
4
4
  export * from "./auth-contract";
5
5
  export * from "./route-contract";
6
+ export * from "./refresh-contract";
@@ -1,17 +1,15 @@
1
1
  import type { CookieStoreLike } from './session';
2
- type PreviewKeepAliveLogger = {
2
+ export type PreviewKeepAliveLogger = {
3
3
  debug?: (message: string, meta?: Record<string, unknown>) => void;
4
4
  warn?: (message: string, meta?: Record<string, unknown>) => void;
5
5
  error?: (message: string, meta?: Record<string, unknown>) => void;
6
6
  };
7
- type CreatePreviewKeepAliveRouteHandlerOptions = {
7
+ export type CreatePreviewKeepAliveRouteHandlerOptions = {
8
8
  maxAge?: number;
9
9
  refreshThresholdSeconds?: number;
10
10
  logger?: PreviewKeepAliveLogger;
11
- supabaseUrl?: string;
12
- supabaseAnonKey?: string;
11
+ dashboardUrl?: string | null;
13
12
  getCookies?: () => Promise<CookieStoreLike>;
14
13
  fetcher?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
15
14
  };
16
15
  export declare function createPreviewKeepAliveRouteHandler(options?: CreatePreviewKeepAliveRouteHandlerOptions): (request: Request) => Promise<Response>;
17
- export {};
@@ -0,0 +1 @@
1
+ export { parsePreviewRefreshResponse, previewRefreshRequestSchema, previewRefreshResponseSchema, type PreviewRefreshParseError, type PreviewRefreshRequest, type PreviewRefreshResponse, } from '../../api/src/preview-auth';
@@ -7,6 +7,9 @@ export declare const previewDashboardApiEndpoints: {
7
7
  readonly previewAuthExchange: {
8
8
  readonly path: "/api/preview/auth/exchange";
9
9
  };
10
+ readonly previewAuthRefresh: {
11
+ readonly path: "/api/preview/auth/refresh";
12
+ };
10
13
  readonly onboardingPreviewStatus: {
11
14
  readonly path: "/api/public/sites/{siteId}/onboarding/preview-status";
12
15
  };
@@ -26,6 +29,9 @@ export type PreviewAuthEntryUrlInput = Readonly<{
26
29
  export type PreviewAuthExchangeUrlInput = Readonly<{
27
30
  dashboardBaseUrl: string;
28
31
  }>;
32
+ export type PreviewAuthRefreshUrlInput = Readonly<{
33
+ dashboardBaseUrl: string;
34
+ }>;
29
35
  export type OnboardingPreviewEndpointUrlInput = Readonly<{
30
36
  dashboardBaseUrl: string;
31
37
  siteId: string;
@@ -33,5 +39,6 @@ export type OnboardingPreviewEndpointUrlInput = Readonly<{
33
39
  export declare const previewAuthEntryPathname: "/preview/auth";
34
40
  export declare function buildPreviewAuthEntryUrl(input: PreviewAuthEntryUrlInput): string;
35
41
  export declare function buildPreviewAuthExchangeUrl(input: PreviewAuthExchangeUrlInput): string;
42
+ export declare function buildPreviewAuthRefreshUrl(input: PreviewAuthRefreshUrlInput): string;
36
43
  export declare function buildOnboardingPreviewStatusUrl(input: OnboardingPreviewEndpointUrlInput): string;
37
44
  export declare function buildOnboardingResendConfirmationUrl(input: OnboardingPreviewEndpointUrlInput): string;
@@ -1,5 +1,5 @@
1
1
  export type { TipTapNode, TipTapMark, RichTextDoc, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
2
- export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, 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';
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, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, 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, PageRuntimeBoundary, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
4
4
  export type { Theme, ThemeTokens } from './theme';
5
5
  export type { CustomCssDeclarationsInput, CustomCssRuleInput, CustomCssNestedRuleInput, CustomCssAtRuleInput, KeyframesAtRuleInput, FontFaceAtRuleInput, MediaAtRuleInput, SupportsAtRuleInput, RawAtRuleInput, } from './custom-css';
@@ -9,7 +9,9 @@ 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
11
  import type { SiteFooterContent as BlocksSiteFooterContent } from '../../../blocks/src/system/blocks/site-footer';
12
- import type { CardStylesContent as BlocksCardStylesContent, ContainerStylesContent as BlocksContainerStylesContent, SectionStylesContent as BlocksSectionStylesContent } from '../../../blocks/src/index';
12
+ import type { EventCalendarContent as BlocksEventCalendarContent } from '../../../blocks/src/system/blocks/events/event-calendar';
13
+ import type { CalendarTabViews as BlocksCalendarTabViews, CalendarView as BlocksCalendarView, ColumnOption as BlocksColumnOption, DisplayMode as BlocksDisplayMode, EventLayout as BlocksEventLayout, FilterAutoShow as BlocksFilterAutoShow, WeekStart as BlocksWeekStart } from '../../../blocks/src/system/blocks/events/shared/types';
14
+ import type { CardStylesContent as BlocksCardStylesContent, ContainerStylesContent as BlocksContainerStylesContent, ContentFrameIntent as BlocksContentFrameIntent, SectionStylesContent as BlocksSectionStylesContent } from '../../../blocks/src/index';
13
15
  type UnknownRecord = Record<string, unknown>;
14
16
  type ImageMedia = Omit<Media, 'type'> & {
15
17
  type: 'image';
@@ -20,6 +22,8 @@ export type ImageColSize = '1/4' | '1/3' | '2/5' | '1/2' | '2/3';
20
22
  export type SectionStylesContent = BlocksSectionStylesContent;
21
23
  export type CardStylesContent = BlocksCardStylesContent;
22
24
  export type ContainerStylesContent = BlocksContainerStylesContent;
25
+ /** The compiled frame a Look asks for around a block's content. */
26
+ export type ContentFrameIntent = BlocksContentFrameIntent;
23
27
  export type CtaIconName = 'ArrowRight' | 'ArrowLeft' | 'ChevronRight' | 'ChevronLeft' | 'ChevronUp' | 'ChevronDown' | 'ExternalLink' | 'Download' | 'Upload' | 'Mail' | 'Phone' | 'Play' | 'ShoppingCart' | 'Calendar' | 'MapPin' | 'Info' | 'Plus' | 'Minus' | 'Check' | 'X';
24
28
  export type SemanticIconId = 'protection-trust' | 'confidentiality' | 'care-support' | 'partnership' | 'warmth' | 'community' | 'personal-guidance' | 'conversation' | 'friendly-welcome' | 'insight-learning' | 'natural-wellbeing' | 'growth' | 'gentle-care' | 'special-touch' | 'ideas' | 'direction' | 'focus' | 'quality' | 'highlight' | 'verified-quality' | 'learning' | 'training' | 'programmes-dates' | 'place' | 'products' | 'packages' | 'time' | 'practical-service' | 'at-home' | 'worldwide' | 'professional-service';
25
29
  export type BlockIconValue = {
@@ -91,6 +95,7 @@ export type CollectionContent = {
91
95
  _type: string;
92
96
  [key: string]: unknown;
93
97
  }>;
98
+ _cardStyles?: CardStylesContent;
94
99
  };
95
100
  export type ColumnsContent = {
96
101
  equalHeight?: boolean;
@@ -135,48 +140,36 @@ export type EmbedContent = {
135
140
  layout?: string | null;
136
141
  emptyMessage?: string | null;
137
142
  };
138
- export type EventLayout = 'grid' | 'stack' | 'compact';
139
- export type ColumnOption = '2' | '3' | '4';
140
- export type WeekStart = 'sunday' | 'monday';
141
- export type DisplayMode = 'combined' | 'calendar' | 'list' | 'timetable' | 'week-board';
142
- export type FilterAutoShow = 'auto' | 'always' | 'never';
143
- export type CalendarTabViews = 'both' | 'month' | 'week';
144
- export type CalendarView = 'month' | 'week';
143
+ /**
144
+ * The calendar's own vocabularies, aliased rather than restated. They are the
145
+ * event blocks' types; a hand-kept copy of a closed union is exactly what let
146
+ * the calendar contract drift in the first place.
147
+ */
148
+ export type EventLayout = BlocksEventLayout;
149
+ export type ColumnOption = BlocksColumnOption;
150
+ export type WeekStart = BlocksWeekStart;
151
+ export type DisplayMode = BlocksDisplayMode;
152
+ export type FilterAutoShow = BlocksFilterAutoShow;
153
+ export type CalendarTabViews = BlocksCalendarTabViews;
154
+ export type CalendarView = BlocksCalendarView;
145
155
  export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'accent';
156
+ /**
157
+ * The canonical card-role vocabulary. A site style owns the implementation of
158
+ * each role; content names the role.
159
+ */
160
+ export type CardRole = 'none' | 'open' | 'default' | 'alternative';
146
161
  export type CardVariantRole = 'default' | 'alternative';
147
- export type LegacyCardVariantRoleAlias = 'variant1' | 'variant2';
162
+ export type LegacyCardVariantRoleAlias = 'variant1' | 'variant2' | 'statement';
148
163
  export type EventCardVariantInput = CardVariantRole | LegacyCardVariantRoleAlias;
149
- export type EventSurfacePreset = 'course' | 'class' | 'workshop' | 'retreat' | 'performance';
164
+ export type EventSurfacePreset = 'course' | 'term' | 'class' | 'workshop' | 'retreat' | 'performance';
150
165
  export type EventSurfaceScope = 'all' | 'regularClassSchedule' | 'specialDatedEvents' | 'custom';
151
166
  export type EventScheduleScope = 'any' | 'recurring' | 'oneOff';
152
- export type EventCalendarContent = {
153
- heading?: string | null;
154
- description?: unknown;
155
- displayMode?: DisplayMode | null;
156
- listLayout?: EventLayout | null;
157
- listColumns?: ColumnOption | null;
158
- layout?: EventLayout | null;
159
- columns?: ColumnOption | null;
160
- eventsPerPage?: '6' | '10' | '12' | '20' | '24' | '30' | null;
161
- loadMoreText?: string | null;
162
- startOfWeek?: WeekStart | null;
163
- calendarTabViews?: CalendarTabViews | null;
164
- defaultCalendarView?: CalendarView | null;
165
- showFilters?: boolean | null;
166
- showCategoryFilter?: FilterAutoShow | null;
167
- showVenueFilter?: boolean | null;
168
- showStaffFilter?: boolean | null;
169
- eventSurface?: EventSurfaceScope | null;
170
- filterEventPresets?: readonly EventSurfacePreset[] | null;
171
- scheduleScope?: EventScheduleScope | null;
172
- filterCategoryIds?: readonly EventCategoryId[] | null;
173
- filterStaffMemberId?: string | null;
174
- filterVenueId?: VenueId | null;
175
- buttonVariant?: ButtonVariant | null;
176
- buttonText?: string | null;
177
- emptyMessage?: string | null;
178
- _sectionStyles?: SectionStylesContent;
179
- };
167
+ /**
168
+ * Aliased from the blocks package rather than restated. The calendar's content
169
+ * is large, and a hand-kept copy drifts silently — the SDK copy was missing
170
+ * eight fields before this. `SiteFooterContent` is aliased for the same reason.
171
+ */
172
+ export type EventCalendarContent = BlocksEventCalendarContent;
180
173
  export type EventDetailsContent = {
181
174
  heading?: string | null;
182
175
  showVenue?: boolean | null;
@@ -267,8 +260,28 @@ export type FaqContent = {
267
260
  items?: FaqItem[] | null;
268
261
  _containerStyles?: ContainerStylesContent;
269
262
  };
263
+ /**
264
+ * This block's historical per-item surface values. They are aliases of card
265
+ * roles now, and stay parseable forever — persisted content carries them.
266
+ */
267
+ export type FeatureCardLegacySurfaceRole = 'open' | 'panel';
268
+ /**
269
+ * A feature card's own surface choice: the canonical card-role vocabulary
270
+ * *minus* `open`, plus this block's two historical values.
271
+ *
272
+ * `panel` is a legacy alias of the `alternative` role. `open` is the one worth
273
+ * knowing about: on this block it predates the role vocabulary and keeps its
274
+ * old meaning — an unmarked boxless card, which is role `none` — so it is
275
+ * excluded from the canonical half and supplied only by the legacy half.
276
+ *
277
+ * The consequence is permanent and deliberate: **the canonical `open` role is
278
+ * not addressable per item on a feature card.** The alias always wins. A card
279
+ * that should render the marked, boxless `open` role gets it from the block's
280
+ * card role, not from `surfaceRole`.
281
+ */
282
+ export type FeatureCardSurfaceRole = Exclude<CardRole, 'open'> | FeatureCardLegacySurfaceRole;
270
283
  export type FeatureCard = {
271
- surfaceRole?: 'open' | 'panel' | null;
284
+ surfaceRole?: FeatureCardSurfaceRole | null;
272
285
  media?: Media | null;
273
286
  aspectRatio?: StandardAspectRatio | null;
274
287
  icon?: BlockIconValue | SemanticIconId | null;
@@ -347,6 +360,7 @@ export type MediaTextImagePosition = 'left' | 'right';
347
360
  export type MediaTextAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4' | '9/16';
348
361
  export type MediaTextImageShape = 'default' | 'square' | 'rounded' | 'circle' | 'arch';
349
362
  export type MediaTextContent = {
363
+ eyebrow?: string | null;
350
364
  title?: string | null;
351
365
  titleAlignment?: MediaTextAlignment | null;
352
366
  imagePosition?: MediaTextImagePosition | null;
@@ -365,6 +379,13 @@ export type MediaTextContent = {
365
379
  text: RichTextDoc;
366
380
  wrapTextInCard?: boolean | null;
367
381
  _textCardStyles?: unknown;
382
+ /**
383
+ * Compiler-owned. Its card role rides into the author's text card, so this
384
+ * block has no card control of its own.
385
+ */
386
+ _cardStyles?: CardStylesContent;
387
+ /** Compiler-owned: the frame a Look asks for around the block's content. */
388
+ _frameStyles?: ContentFrameIntent | null;
368
389
  };
369
390
  export type NewsletterSignupPreset = 'emailOnly' | 'emailName' | 'emailFirstLast' | 'emailNameCompany';
370
391
  export type NewsletterSignupContent = {
@@ -490,6 +511,7 @@ type TeamMembersCommonContent = {
490
511
  stackContentAlignment?: StackContentAlignment | null;
491
512
  columns?: string | number | null;
492
513
  gap?: SemanticSpacing;
514
+ _cardStyles?: CardStylesContent;
493
515
  };
494
516
  export type TeamMembersContent = (TeamMembersCommonContent & {
495
517
  source?: 'manual' | null;
@@ -1 +1 @@
1
- export { createPreviewKeepAliveRouteHandler } from '@riverbankcms/preview-next/keep-alive';
1
+ export { createPreviewKeepAliveRouteHandler, type CreatePreviewKeepAliveRouteHandlerOptions, type PreviewKeepAliveLogger, } from '@riverbankcms/preview-next/keep-alive';
@@ -49,7 +49,7 @@ type ThemedLayoutProps = LayoutCommonProps & {
49
49
  rendering?: never;
50
50
  header?: boolean | ((data: HeaderData) => React.ReactNode);
51
51
  footer?: boolean | ((data: FooterData) => React.ReactNode);
52
- headerVariant?: 'classic' | 'centered' | 'transparent' | 'floating';
52
+ headerVariant?: 'classic' | 'centered' | 'floating';
53
53
  themeRuntime?: SdkThemeRuntime;
54
54
  };
55
55
  type OverrideOnlyLayoutProps = LayoutCommonProps & {
@@ -20,7 +20,7 @@ export type { LoadPageParams, LoadPageResult } from './helpers/loadPage';
20
20
  export { loadContent, isPageContent, isEntryContent, isPageSurfaceContent, } from './helpers/loadContent';
21
21
  export type { LoadContentParams, LoadContentResult, ContentEntryData, PagePreviewMetadata, SiteData, } from './helpers/loadContent';
22
22
  export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
23
- export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
23
+ export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, CardRole, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
24
24
  export { ImagePresets } from '../contracts';
25
25
  export { RichText } from './primitives/RichText';
26
26
  export { resolveImageUrl, resolveImageUrlWithContext, resolveImageSourceSetWithContext, } from './image';
@@ -244,7 +244,15 @@ export type FormIslandProps = BlocksFormIslandProps;
244
244
  export type BookingFormService = BlocksBookingFormService;
245
245
  export type BookingFormConfig = BlocksBookingFormConfig;
246
246
  export type BookingFormIslandProps = BlocksBookingFormIslandProps;
247
- export type CardVariant = 'default' | 'variant1' | 'variant2';
247
+ /**
248
+ * Card surface selection as it reaches an island.
249
+ *
250
+ * The canonical vocabulary is the card *role* (`none` / `open` / `default` /
251
+ * `alternative`); `variant1` / `variant2` are legacy aliases of `alternative`
252
+ * that persisted content still carries. Both keep parsing — the union is
253
+ * widened additively so no existing SDK consumer breaks.
254
+ */
255
+ export type CardVariant = 'default' | 'alternative' | 'open' | 'none' | 'variant1' | 'variant2';
248
256
  export type ButtonVariant = SystemButtonVariant;
249
257
  export type EventListingLayout = EventLayout;
250
258
  export type CardOrientation = 'vertical' | 'horizontal';
@@ -44,10 +44,12 @@ export interface ThemeBridgeButtonConfig {
44
44
  */
45
45
  export interface ThemeBridgeCardConfig {
46
46
  /**
47
- * Which card variants to generate.
47
+ * Which card variants to generate — one id per card role the theme
48
+ * implements. `elevated` and `outlined` are the pre-role names of
49
+ * `alternative` and `open`, kept so existing configs keep working.
48
50
  * @default ['default']
49
51
  */
50
- variants?: Array<'default' | 'elevated' | 'outlined'>;
52
+ variants?: Array<'default' | 'alternative' | 'open' | 'elevated' | 'outlined'>;
51
53
  }
52
54
  /**
53
55
  * Component CSS generation options.
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.130.0";
11
+ export declare const SDK_VERSION = "0.130.2";
@@ -4,6 +4,7 @@
4
4
  * Pure functions for generating card CSS without requiring the full Theme type.
5
5
  * Used by both the full CMS theme system and the SDK theme bridge.
6
6
  */
7
+ import type { CardEdgeRule } from './types';
7
8
  export type CardBackgroundType = 'solid' | 'transparent' | 'gradient';
8
9
  export type CardSpacingCore = 'none' | 'compact' | 'cozy' | 'medium' | 'comfortable' | 'spacious';
9
10
  export type CardCornerValueCore = 'square' | 'soft' | 'rounded' | 'pill' | 'expressive';
@@ -15,14 +16,20 @@ export interface CardCornerRadiiCore {
15
16
  bottomLeft?: CardCornerValueCore;
16
17
  bottomRight?: CardCornerValueCore;
17
18
  }
18
- export interface CardAccentEdgeCore {
19
- edge: CardEdgeCore;
20
- colorToken: string;
21
- width: CardEdgeWidthCore;
22
- }
23
19
  export interface CardVariantCore {
24
- /** Unique variant identifier (e.g., 'default', 'elevated') */
20
+ /** Unique variant identifier (e.g., 'default', 'alternative') */
25
21
  id: string;
22
+ /**
23
+ * Which card role this variant implements. Generated CSS addresses the
24
+ * variant by its stable `.card-role-*` alias as well as its id, so content
25
+ * compiled against the role contract renders on a bridge theme too.
26
+ */
27
+ role?: CardRoleCore;
28
+ /**
29
+ * Ids this variant used to ship under. They keep emitting their `.card-{id}`
30
+ * class so SDK sites that address an older variant name keep their surface.
31
+ */
32
+ legacyIds?: readonly string[];
26
33
  /** Background style */
27
34
  background: CardBackgroundType;
28
35
  /** Background color token for solid backgrounds */
@@ -41,10 +48,17 @@ export interface CardVariantCore {
41
48
  borderToken?: string;
42
49
  /** Border width */
43
50
  borderWidth?: 'none' | 'thin' | 'medium' | 'thick';
44
- /** Single accent edge; replaces the full border when set */
45
- accentEdge?: CardAccentEdgeCore;
51
+ /** Edge rules drawn on the card; coexists with the border */
52
+ decorations?: CardEdgeRule[];
46
53
  /** Per-corner radius override; wins over the global corners setting */
47
54
  cornerRadii?: CardCornerRadiiCore;
55
+ /**
56
+ * Opts a variant out of the theme's global card shadow. A boxless card has
57
+ * no box to cast one, so `open` sets it; every other variant inherits the
58
+ * setting as before. Named for what it does rather than mirroring
59
+ * `CardVariant.shadow`, which is an object describing a shadow.
60
+ */
61
+ suppressShadow?: true;
48
62
  }
49
63
  export interface CardCoreSettings {
50
64
  /** Corner radius style */
@@ -65,8 +79,38 @@ export interface CardCoreSettings {
65
79
  * @param settings - Global card settings
66
80
  * @returns CSS string
67
81
  */
68
- export declare function generateCardCoreCss(scopeId: string, variants: CardVariantCore[], settings: CardCoreSettings): string;
82
+ export declare function generateCardCoreCss(scopeId: string, variants: CardVariantCore[], settings: CardCoreSettings, scope?: CardClassScope): string;
83
+ /** The roles a bridge card variant can implement. `none` is never a variant. */
84
+ export type CardRoleCore = 'default' | 'alternative' | 'open';
85
+ /**
86
+ * Which half of a variant's class list to address.
87
+ *
88
+ * The split exists because the two halves have different lifecycles on a
89
+ * bridge theme. `.card-role-*` is the *contract*: compiled content names a
90
+ * role and expects a surface, so the aliases are emitted unconditionally.
91
+ * `.card-{id}` and its legacy ids are the *catalogue*: an SDK consumer opts
92
+ * into those by name through `components.cards`.
93
+ */
94
+ export type CardClassScope = 'all' | 'role-aliases' | 'named';
95
+ /** Every class a variant's rule is addressed by, within a scope. */
96
+ export declare function cardVariantClasses(variant: CardVariantCore, scope?: CardClassScope): string[];
69
97
  /**
70
- * Get default card variants for SDK usage.
98
+ * The default card variants for SDK/bridge themes — one per surface-backed
99
+ * role, so a bridge theme implements the same card contract a site style does
100
+ * and compiled `_cardStyles.role` renders on it.
101
+ *
102
+ * Two of the pre-role trio survive as legacy ids: `.card-elevated` is the
103
+ * `alternative` card under its old name, and both were the same surface before
104
+ * the rename. `outlined` is different — a fully bordered box is not what the
105
+ * `open` role means (boxless but marked), so it keeps its own variant and its
106
+ * own declarations as a *compatibility class only*. It carries no role, which
107
+ * means:
108
+ *
109
+ * - `.card-outlined` renders exactly what it always did;
110
+ * - `role: 'open'` renders the boxless marked card on a bridge theme, the same
111
+ * thing it renders under a site style;
112
+ * - naming `outlined` in `components.cards.variants` enables the compatibility
113
+ * class and nothing else — it does not publish `.card-role-open`, because
114
+ * selecting a legacy name is not a claim on a semantic role.
71
115
  */
72
116
  export declare function getDefaultCardVariants(): CardVariantCore[];
@@ -0,0 +1,33 @@
1
+ import type { CardEdgeRule, CardEdgeRuleWidth } from './types';
2
+ /**
3
+ * Card decoration CSS — the single implementation shared by the Theme-driven
4
+ * generator (`generateCardCss`) and the dependency-free core generator
5
+ * (`core.ts`). Both used to carry their own accent-edge emitter; they now
6
+ * differ only in how a colour token resolves to a CSS colour.
7
+ */
8
+ /** Resolves a palette token name to a CSS colour value. */
9
+ export type CardColorResolver = (token: string) => string;
10
+ export declare const CARD_EDGE_RULE_WIDTH_MAP: Record<CardEdgeRuleWidth, string>;
11
+ /**
12
+ * The one short-rule length in the corpus (the editorial-rule accent). A fixed
13
+ * constant keeps `length: 'short'` a semantic choice rather than a free number.
14
+ */
15
+ export declare const SHORT_CARD_EDGE_RULE_LENGTH = "2.75rem";
16
+ /** Apply a decoration's optional alpha to its resolved colour. */
17
+ export declare function cardDecorationColor(rule: CardEdgeRule, resolveColor: CardColorResolver): string;
18
+ /**
19
+ * Container border declarations for a variant's border and its full-length
20
+ * edge rules. The two are independent: a card may be outlined *and* carry an
21
+ * accent edge. A variant with edge rules and no border still zeroes the box so
22
+ * only the decorated sides draw.
23
+ */
24
+ export declare function cardBorderDeclarations(borderDeclaration: string | null, decorations: readonly CardEdgeRule[] | undefined, resolveColor: CardColorResolver): string[];
25
+ /**
26
+ * Complete pseudo-element rules for a variant's short edge rules.
27
+ *
28
+ * `cardDecorationsSchema` caps the list at two, which makes the two pseudos
29
+ * sufficient for anything that parsed. The dependency-free core types carry a
30
+ * plain array with no such cap, so short rules past the second are dropped
31
+ * here rather than silently overwriting `::after`.
32
+ */
33
+ export declare function cardDecorationPseudoRules(containerSelectors: readonly string[], decorations: readonly CardEdgeRule[] | undefined, resolveColor: CardColorResolver): string[];