@riverbankcms/sdk 0.104.3 → 0.107.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 (236) hide show
  1. package/README.md +84 -51
  2. package/dist/{PreviewEditorSidebar-CBMhU9p_.mjs → PreviewEditorSidebar-DpAbAl08.mjs} +1811 -1179
  3. package/dist/{PreviewEditorUI-C5KEw4M8.mjs → PreviewEditorUI-O7cn6Xxv.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-CStABBUh.mjs → PreviewQueryProvider-D0tnKl0t.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Iq12HjL7.mjs → SdkPreviewModeRuntime-CVB7urtl.mjs} +2144 -393
  6. package/dist/{SiteChromeCustomizeContext-Cx0NMdyv.mjs → SiteChromeCustomizeContext-C_sizso-.mjs} +3825 -2653
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +32945 -1339
  8. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  9. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +5 -1
  10. package/dist/_dts/api/src/contentRuntime.d.ts +6 -15
  11. package/dist/_dts/api/src/courses.d.ts +68 -10
  12. package/dist/_dts/api/src/endpoints.d.ts +29 -0
  13. package/dist/_dts/api/src/index.d.ts +124 -124
  14. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +9 -0
  15. package/dist/_dts/api/src/sdkContracts.d.ts +116 -6
  16. package/dist/_dts/api/src/siteOperations.d.ts +1 -0
  17. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +26 -4
  18. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +31 -46
  19. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -4
  20. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  21. package/dist/_dts/blocks/src/portal/types.d.ts +25 -7
  22. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -2
  23. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -0
  24. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -0
  25. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +4 -0
  26. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule-projection.d.ts +52 -0
  27. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +22 -0
  28. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +45 -0
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +10 -0
  30. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -1
  31. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -0
  33. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +8 -2
  34. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +8 -8
  35. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +24 -24
  36. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +29 -0
  37. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  38. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  39. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +2 -5
  40. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  41. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +1 -0
  42. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +2 -2
  43. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +3 -0
  44. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +2 -0
  46. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +90 -6
  47. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +45 -3
  48. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +2 -2
  50. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +2 -1
  51. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +1 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +17 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +3 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +9 -18
  58. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +106 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/events/RecurringSchedule.d.ts +11 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +7 -3
  61. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +3 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +11 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +6 -6
  66. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +11 -5
  67. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/svg.d.ts +7 -0
  69. package/dist/_dts/core/src/branded.d.ts +44 -0
  70. package/dist/_dts/core/src/dated-offering-settlement.d.ts +47 -0
  71. package/dist/_dts/core/src/event-page-surface-subject.d.ts +44 -0
  72. package/dist/_dts/core/src/index.d.ts +49 -47
  73. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1452 -15
  74. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +1 -1
  75. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +4 -1
  76. package/dist/_dts/media-core/src/index.d.ts +2 -1
  77. package/dist/_dts/media-core/src/storagePathDomain.d.ts +47 -0
  78. package/dist/_dts/media-core/src/url.d.ts +1 -21
  79. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  80. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -1
  81. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  82. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -9
  83. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -11
  84. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -9
  85. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +2 -6
  86. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -9
  87. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +81 -43
  88. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.typography.d.ts +61 -0
  89. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +7 -17
  90. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +15 -8
  91. package/dist/_dts/preview-next/src/client/preview/typographyFontCatalog.d.ts +57 -0
  92. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -1
  93. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +4 -7
  94. package/dist/_dts/sdk/src/cli/commands/style.d.ts +24 -10
  95. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +3 -3
  96. package/dist/_dts/sdk/src/cli/sync/media.d.ts +16 -2
  97. package/dist/_dts/sdk/src/client/management/blocks.d.ts +1 -1
  98. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  99. package/dist/_dts/sdk/src/client/management/types.d.ts +132 -23
  100. package/dist/_dts/sdk/src/client/types.d.ts +2 -0
  101. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  102. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  103. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  104. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +23 -3
  105. package/dist/_dts/sdk/src/data/dataLoaderContext.d.ts +17 -0
  106. package/dist/_dts/sdk/src/data/dataLoaderValue.d.ts +36 -0
  107. package/dist/_dts/sdk/src/data/defineOwnDataProperty.d.ts +2 -0
  108. package/dist/_dts/sdk/src/data/executeCodeLoaders.d.ts +36 -40
  109. package/dist/_dts/sdk/src/data/index.d.ts +3 -3
  110. package/dist/_dts/sdk/src/data/resolveBlockData.d.ts +54 -0
  111. package/dist/_dts/sdk/src/data/types.d.ts +43 -78
  112. package/dist/_dts/sdk/src/next/index.d.ts +1 -0
  113. package/dist/_dts/sdk/src/next/redirect-destination.d.ts +1 -1
  114. package/dist/_dts/sdk/src/next/resolveTheme.d.ts +2 -1
  115. package/dist/_dts/sdk/src/next/types.d.ts +10 -1
  116. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -8
  117. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +9 -4
  118. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +6 -10
  119. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  120. package/dist/_dts/sdk/src/server.d.ts +4 -3
  121. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  122. package/dist/_dts/sdk/src/version.d.ts +1 -1
  123. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  124. package/dist/_dts/site-commands/src/commands.d.ts +921 -30
  125. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +5 -1
  126. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  127. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +17 -0
  128. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
  129. package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -5
  130. package/dist/_dts/theme-core/src/data.d.ts +12 -0
  131. package/dist/_dts/theme-core/src/fonts/index.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/fonts/types.d.ts +6 -0
  133. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  134. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +36 -24
  135. package/dist/_dts/theme-core/src/palette/colors.d.ts +12 -0
  136. package/dist/_dts/theme-core/src/palette/curated/brand-led.d.ts +10 -5
  137. package/dist/_dts/theme-core/src/palette/curated/high-contrast.d.ts +6 -3
  138. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +31 -236
  139. package/dist/_dts/theme-core/src/palette/curated/soft-natural.d.ts +8 -4
  140. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +14 -12
  141. package/dist/_dts/theme-core/src/palette/curated/warm-dark.d.ts +4 -2
  142. package/dist/_dts/theme-core/src/palette/curated/warm-neutral.d.ts +8 -4
  143. package/dist/_dts/theme-core/src/palette/editorState.d.ts +33 -3
  144. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -4
  145. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +12 -6
  146. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +20 -72
  147. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +29 -4
  148. package/dist/_dts/theme-core/src/palette/selection.d.ts +6 -4
  149. package/dist/_dts/theme-core/src/schema.d.ts +121 -4
  150. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +218 -158
  151. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +5 -6
  152. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +218 -158
  153. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +1 -0
  154. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  155. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +161 -51
  156. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +6 -0
  157. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  158. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
  159. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +24 -1
  160. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -48
  161. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -23
  162. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +1 -2
  163. package/dist/_dts/theme-core/src/site-styles/siteStyleTypography.d.ts +456 -0
  164. package/dist/_dts/theme-core/src/site-styles/types.d.ts +52 -3
  165. package/dist/cli/index.mjs +3155 -1701
  166. package/dist/client/{DiscountCodeDisclosure-BXM73_E5.mjs → DiscountCodeDisclosure-BwGkvmVH.mjs} +1 -1
  167. package/dist/client/{EventCombined.client-DT5elP7j.mjs → EventCombined.client-JnWE6Hzc.mjs} +3 -3
  168. package/dist/client/{EventListing.client-pTYGfV9C.mjs → EventListing.client-DQewc_kg.mjs} +2 -2
  169. package/dist/client/{LeafletStaticMap-dQrhlUe3.mjs → LeafletStaticMap-DPAU3SFt.mjs} +1 -1
  170. package/dist/client/{MagicLinkForm-u6Dul4j5.mjs → MagicLinkForm-D4kpWCbW.mjs} +2 -2
  171. package/dist/client/{StepIndicator-nWqineJ2.mjs → StepIndicator-CBlkb4rA.mjs} +2 -2
  172. package/dist/client/{accordion-CSJcTUyH.mjs → accordion-DAIBVpTS.mjs} +1 -1
  173. package/dist/client/{bookingForm-C73wOuVa.mjs → bookingForm-DZ-4l5_1.mjs} +7 -7
  174. package/dist/client/bookings.mjs +239 -110
  175. package/dist/client/{buttons-DfYyqt8C.mjs → buttons-DJgynGHQ.mjs} +122 -58
  176. package/dist/client/{carousel-fMBb0JSc.mjs → carousel-D-SLfX8r.mjs} +1 -1
  177. package/dist/client/{cart-BtaCwT3S.mjs → cart-CEgbgJhX.mjs} +3 -3
  178. package/dist/client/{checkout-DkTwZSnh.mjs → checkout-CXWrCRAA.mjs} +3 -3
  179. package/dist/client/client.mjs +4300 -1560
  180. package/dist/client/{colorStyles-Wyl6JujD.mjs → colorStyles-jZS6KfkP.mjs} +1 -1
  181. package/dist/client/{colorTokenParts-dT8MISgJ.mjs → colorTokenParts-CMugwvX_.mjs} +3 -1
  182. package/dist/client/{courseRegistration-DnLmapJu.mjs → courseRegistration-DVmLrRVz.mjs} +56 -21
  183. package/dist/client/{eventCalendar-BvLOc9KY.mjs → eventCalendar-DCuyPY_c.mjs} +29 -21
  184. package/dist/client/{eventCombined-kShgJPQr.mjs → eventCombined-kP2CA2D4.mjs} +2 -2
  185. package/dist/client/{eventDetails-C5NTM0Vo.mjs → eventDetails-DU0LeF5e.mjs} +4 -4
  186. package/dist/client/{eventListing-B82ZdKP6.mjs → eventListing-CcHF87BI.mjs} +2 -2
  187. package/dist/client/{eventRegistration-qJVFqBWo.mjs → eventRegistration-DJnR0yFH.mjs} +8 -8
  188. package/dist/client/{form-BvAcKiuu.mjs → form-CH1lCusH.mjs} +2 -2
  189. package/dist/client/{headerSection-NvAiEHAg.mjs → headerSection-CBPFZoku.mjs} +3 -3
  190. package/dist/client/hooks.mjs +2958 -1848
  191. package/dist/client/{locationMap-D0j52xfI.mjs → locationMap-Cx1hBg5n.mjs} +3 -3
  192. package/dist/client/{media-BCW_g2cQ.mjs → media-DHtSxS5V.mjs} +61 -56
  193. package/dist/client/{newsletterForm-B8_i93qH.mjs → newsletterForm-1ZL_ti9u.mjs} +3 -3
  194. package/dist/client/{pricing-DIYnyHOk.mjs → pricing-BIbzmV0G.mjs} +1 -1
  195. package/dist/client/{productDetail-w0eAHkuQ.mjs → productDetail-BTh5gHBV.mjs} +3 -3
  196. package/dist/client/{productList-Vsguq5Xt.mjs → productList-Cc7OMrqN.mjs} +3 -3
  197. package/dist/client/{propsDecoder-CD2pJ1WB.mjs → propsDecoder-oR-M-ISN.mjs} +192 -59
  198. package/dist/client/rendering/client.mjs +2031 -1239
  199. package/dist/client/rendering/islands.mjs +20 -20
  200. package/dist/client/rendering.mjs +4889 -1712
  201. package/dist/client/{shop-Dgxs-Q8F.mjs → shop-CQ_YbCnn.mjs} +8 -8
  202. package/dist/client/{shop-commerce-DJAhsTaT.mjs → shop-commerce-BM-AoD3M.mjs} +6 -6
  203. package/dist/client/{shop-commerce-store-CfCXltXW.mjs → shop-commerce-store-DFMQhU5p.mjs} +1 -1
  204. package/dist/client/{shopShared-CmDcPXUt.mjs → shopShared-D0SKO2Cu.mjs} +3 -3
  205. package/dist/client/{useDiscountCodeUi-CirrT2bM.mjs → useDiscountCodeUi-CrG4_ARt.mjs} +1 -1
  206. package/dist/client/{useEventFilters-CNZxlCcO.mjs → useEventFilters-CxK8Fekl.mjs} +6 -6
  207. package/dist/client/{usePolling-Baks_iBI.mjs → usePolling-jcVryNgZ.mjs} +2 -2
  208. package/dist/preview-next/before-render.mjs +40 -1
  209. package/dist/preview-next/client/runtime.mjs +4 -4
  210. package/dist/preview-next/middleware.mjs +40 -1
  211. package/dist/{previewAuthStore-CfquDtTh.mjs → previewAuthStore-BPcJPzdz.mjs} +40 -1
  212. package/dist/{sdk-runtime-BfNiFeNJ.mjs → sdk-runtime-C39Rsk-x.mjs} +2 -2
  213. package/dist/{separator-BhAR_Xmf.mjs → separator-BoMSQnsP.mjs} +1 -1
  214. package/dist/server/components.mjs +4661 -2162
  215. package/dist/server/config-validation.mjs +2728 -1847
  216. package/dist/server/config.mjs +2728 -1847
  217. package/dist/server/data.mjs +3381 -1915
  218. package/dist/server/index.mjs +46 -4
  219. package/dist/server/next/middleware.mjs +1 -1
  220. package/dist/server/next.mjs +5555 -2225
  221. package/dist/server/page-converter.mjs +3058 -2182
  222. package/dist/server/prebuild.mjs +1 -1
  223. package/dist/server/rendering/server.mjs +4850 -2125
  224. package/dist/server/rendering.mjs +5664 -2464
  225. package/dist/server/routing.mjs +3027 -1509
  226. package/dist/server/server.mjs +3844 -2217
  227. package/dist/server/theme-bridge.mjs +9121 -7765
  228. package/dist/server/theme.mjs +152 -59
  229. package/dist/styles/index.css +1217 -31
  230. package/package.json +1 -1
  231. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +0 -16
  232. package/dist/_dts/theme-core/src/palette/historicalThemePalette.d.ts +0 -44
  233. package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +0 -55
  234. package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +0 -45
  235. package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +0 -232
  236. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +0 -234
@@ -294,6 +294,27 @@ export interface SdkMediaFinalizeUploadResponse {
294
294
  export interface SdkPullMeta {
295
295
  pulledAt: string;
296
296
  }
297
+ /**
298
+ * Explicitly describes payload truncation applied by a pull endpoint.
299
+ * Pagination metadata remains responsible for caller-requested pages.
300
+ */
301
+ export type SdkPullTruncationMeta = {
302
+ truncated: false;
303
+ returned: number;
304
+ capPerType?: never;
305
+ capTotal?: never;
306
+ droppedTypes?: never;
307
+ } | ({
308
+ truncated: true;
309
+ returned: number;
310
+ droppedTypes: readonly [string, ...string[]];
311
+ } & ({
312
+ capPerType: number;
313
+ capTotal?: number;
314
+ } | {
315
+ capPerType?: number;
316
+ capTotal: number;
317
+ }));
297
318
  export interface SdkPullSiteInfoResponse {
298
319
  supabaseUrl: string;
299
320
  meta: {
@@ -336,6 +357,17 @@ export interface SdkPullPagesResponse {
336
357
  pages: SdkPullPage[];
337
358
  meta: SdkPullMeta;
338
359
  }
360
+ export interface SdkGetPageBlock {
361
+ id: string;
362
+ identifier: string;
363
+ kind: string;
364
+ position: number;
365
+ data: Record<string, unknown>;
366
+ contentHash: string;
367
+ }
368
+ export interface SdkGetPageBlockResponse {
369
+ block: SdkGetPageBlock;
370
+ }
339
371
  export interface SdkPullNavigationItem {
340
372
  id: string;
341
373
  menuId: string;
@@ -423,6 +455,12 @@ export interface SdkPullThemeResponse {
423
455
  theme: Theme | null;
424
456
  themeId: string | null;
425
457
  selectionId: string | null;
458
+ /**
459
+ * Current style-selection concurrency token. Pass this value as
460
+ * `baseSelectionVersion` when applying a style; it is 0 when no selection
461
+ * exists.
462
+ */
463
+ selectionVersion: number;
426
464
  meta: SdkPullThemeMeta;
427
465
  }
428
466
  export interface SdkPullFooterMeta extends SdkPullMeta {
@@ -622,8 +660,7 @@ export interface SdkPullEntriesResponse {
622
660
  }>;
623
661
  meta: SdkPullMeta & {
624
662
  entries: Record<string, SdkPullEntryTimestamps>;
625
- truncated: boolean;
626
- truncationMessage?: string;
663
+ truncation: SdkPullTruncationMeta;
627
664
  };
628
665
  pagination: SdkPullPagination;
629
666
  }
@@ -641,8 +678,7 @@ export interface SdkPullEntriesAllResponse {
641
678
  totalEntries: number;
642
679
  contentTypes: string[];
643
680
  entries: Record<string, SdkPullEntryTimestamps>;
644
- truncated: boolean;
645
- truncationMessage?: string;
681
+ truncation: SdkPullTruncationMeta;
646
682
  };
647
683
  }
648
684
  export interface SdkManagementPage {
@@ -700,6 +736,31 @@ export type SdkManagementCourseRun = SdkPullCourseRun & {
700
736
  export interface SdkPageResponse {
701
737
  page: SdkManagementPage;
702
738
  }
739
+ export type SdkUpsertPageResponse = SdkPageResponse & SdkPublicationStageFields<SdkPagePublishErrorCode>;
740
+ export interface SdkDraftPage {
741
+ identifier: string;
742
+ hasUnpublishedChanges: boolean;
743
+ status: 'draft' | 'published';
744
+ }
745
+ export interface SdkDraftEntry {
746
+ contentType: string;
747
+ identifier: string;
748
+ status: 'draft' | 'published';
749
+ }
750
+ /**
751
+ * Cross-type overview of everything with pending (unpublished) changes.
752
+ * Fully enumerated server-side — a resource appears here iff it is a draft or
753
+ * carries unpublished changes. There is no cap and no post-pagination filter.
754
+ */
755
+ export interface SdkPullDraftsResponse {
756
+ pages: SdkDraftPage[];
757
+ entries: SdkDraftEntry[];
758
+ summary: {
759
+ pageCount: number;
760
+ entryCount: number;
761
+ };
762
+ meta: SdkPullMeta;
763
+ }
703
764
  export interface SdkUpsertBlockResponse {
704
765
  block: SdkManagementBlock;
705
766
  }
@@ -709,9 +770,58 @@ export interface SdkDeleteResponse {
709
770
  export interface SdkReorderResponse {
710
771
  reordered: true;
711
772
  }
712
- export interface SdkUpsertEntryResponse {
713
- entry: Omit<SdkManagementEntry, 'publishedData'>;
773
+ /** Closed publish-failure code union for entry upserts. */
774
+ export type SdkEntryPublishErrorCode = 'PUBLISH_ENTRY_FAILED';
775
+ /** Closed publish-failure code union for page upserts. */
776
+ export type SdkPagePublishErrorCode = 'PUBLISH_PAGE_FAILED';
777
+ /**
778
+ * Machine-readable detail for a publish that failed after a successful save.
779
+ * `TCode` is the endpoint's closed code union — an entry response cannot carry
780
+ * a page code and vice versa. `message` is a sanitized public message; the raw
781
+ * internal cause is logged server-side, never sent over the wire.
782
+ */
783
+ export interface SdkPublishError<TCode extends string> {
784
+ code: TCode;
785
+ message: string;
714
786
  }
787
+ /**
788
+ * Outcome of the optional publish stage on an entry/page upsert.
789
+ *
790
+ * Mutation and publication are NOT atomic (page publish is explicitly
791
+ * non-transactional), so the save and the publish are reported as distinct
792
+ * stages. Modeled as a discriminated union on `published` so a success can
793
+ * never carry an error and a failure can never omit one.
794
+ *
795
+ * Accepted limitations (documented, not bugs to fix here):
796
+ * - Page publish is a non-transactional multi-step flow: a mid-loop failure can
797
+ * leave partial published state (some blocks promoted). The envelope reports
798
+ * `published: false` and re-running publish is safe/idempotent.
799
+ * - The entity returned alongside a successful publish comes from a re-read
800
+ * after the publish, not an atomic snapshot; a concurrent write in that
801
+ * window can be reflected in the returned entity.
802
+ */
803
+ export type SdkPublicationOutcome<TCode extends string> = {
804
+ published: true;
805
+ } | {
806
+ published: false;
807
+ publishError: SdkPublishError<TCode>;
808
+ };
809
+ /**
810
+ * Publication-stage fields for upsert responses, correlated so invalid states
811
+ * are unrepresentable: a draft upsert carries neither field (response is
812
+ * byte-identical to the pre-publication-intent contract), and a publish-intent
813
+ * upsert always carries both `saved: true` and a publication outcome.
814
+ */
815
+ export type SdkPublicationStageFields<TCode extends string> = {
816
+ saved?: never;
817
+ publication?: never;
818
+ } | {
819
+ saved: true;
820
+ publication: SdkPublicationOutcome<TCode>;
821
+ };
822
+ export type SdkUpsertEntryResponse = {
823
+ entry: Omit<SdkManagementEntry, 'publishedData'>;
824
+ } & SdkPublicationStageFields<SdkEntryPublishErrorCode>;
715
825
  export interface SdkPublishOrUnpublishEntryResponse {
716
826
  entry: Omit<SdkManagementEntry, 'publishedData'>;
717
827
  }
@@ -540,6 +540,7 @@ export type SendShopOrderPaymentReminderResponse = {
540
540
  recipientEmail: string;
541
541
  };
542
542
  export type SettleShopOrderPaymentRequest = {
543
+ operationId: string;
543
544
  action: "mark_paid" | "mark_waived" | "record_partial_payment";
544
545
  amountCents?: number | null;
545
546
  externalReference?: string | null;
@@ -1,4 +1,5 @@
1
1
  import type { Theme } from '../../blocks/src/index';
2
+ import type { SiteCommandOf } from '../../site-commands/src/index';
2
3
  import type { APIEndpoint } from './apiEndpointTypes';
3
4
  import type { AdminCreateSiteRequest, AdminCreateSiteResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, AdminDeleteSiteResponse, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse } from './accessAdmin';
4
5
  import type { MutableCourseStatus } from './courses';
@@ -9,7 +10,7 @@ import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSit
9
10
  import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from './siteGeneration';
10
11
  import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from './siteOperations';
11
12
  import type { ApplySiteStyleSelectionBody, ApplySiteStyleSelectionResponse } from './siteRuntimeEndpoints';
12
- import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
13
+ import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkBackfillIdentifiersResult, SdkGetCourseResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkGetVenueResponse, SdkListCoursesResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkPullCourseProgram, SdkPullCourseSession, SdkPullCoursesResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpsertBlockResponse, SdkUpsertCourseResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
13
14
  import type { SdkEventUpsertBody } from './sdk-event-upsert';
14
15
  import type { StripeConnectDisconnectResponse, StripeConnectStartResponse, StripeConnectStatusResponse, UpdateStripeAutomaticTaxRequest } from './billing';
15
16
  import type { NavigationLinkInput } from './navigation/types';
@@ -188,6 +189,9 @@ export type SitePlatformAPIEndpoints = {
188
189
  sdkPullPages: APIEndpoint<never, {
189
190
  siteId: string;
190
191
  }, SdkPullPagesResponse>;
192
+ sdkPullDrafts: APIEndpoint<never, {
193
+ siteId: string;
194
+ }, SdkPullDraftsResponse>;
191
195
  sdkPullNavigation: APIEndpoint<never, {
192
196
  siteId: string;
193
197
  }, SdkPullNavigationResponse>;
@@ -235,9 +239,10 @@ export type SitePlatformAPIEndpoints = {
235
239
  path: string;
236
240
  seoTitle?: string;
237
241
  seoDescription?: string;
242
+ publication?: 'draft' | 'publish';
238
243
  }, {
239
244
  siteId: string;
240
- }, SdkPageResponse>;
245
+ }, SdkUpsertPageResponse>;
241
246
  sdkPublishPage: APIEndpoint<never, {
242
247
  siteId: string;
243
248
  identifier: string;
@@ -246,6 +251,12 @@ export type SitePlatformAPIEndpoints = {
246
251
  siteId: string;
247
252
  identifier: string;
248
253
  }, SdkPageResponse>;
254
+ sdkDeletePage: APIEndpoint<never, {
255
+ siteId: string;
256
+ identifier: string;
257
+ }, {
258
+ deleted: true;
259
+ }>;
249
260
  sdkUpsertPageBlock: APIEndpoint<{
250
261
  identifier: string;
251
262
  kind: string;
@@ -262,6 +273,11 @@ export type SitePlatformAPIEndpoints = {
262
273
  }, {
263
274
  deleted: true;
264
275
  }>;
276
+ sdkGetPageBlock: APIEndpoint<never, {
277
+ siteId: string;
278
+ identifier: string;
279
+ blockIdentifier: string;
280
+ }, SdkGetPageBlockResponse>;
265
281
  sdkReorderPageBlocks: APIEndpoint<{
266
282
  identifiers: string[];
267
283
  }, {
@@ -285,11 +301,16 @@ export type SitePlatformAPIEndpoints = {
285
301
  }, {
286
302
  deleted: true;
287
303
  }>;
288
- sdkUpsertTheme: APIEndpoint<{
304
+ sdkUpsertTheme: APIEndpoint<Readonly<{
305
+ kind: 'update';
289
306
  theme: Theme;
290
307
  themeId?: string;
291
308
  selectionId?: string;
292
- }, {
309
+ }> | Readonly<{
310
+ /** The first theme is compiled authoritatively from this command. */
311
+ kind: 'initialize';
312
+ command: SiteCommandOf<'applySiteStyleSelection'>;
313
+ }>, {
293
314
  siteId: string;
294
315
  }, SdkUpsertThemeResponse>;
295
316
  sdkApplySiteStyleSelection: APIEndpoint<ApplySiteStyleSelectionBody, {
@@ -424,6 +445,7 @@ export type SitePlatformAPIEndpoints = {
424
445
  slug?: string;
425
446
  manualOrder?: number;
426
447
  blocks?: Record<string, SdkEntryUpsertSlotBlock[]>;
448
+ publication?: 'draft' | 'publish';
427
449
  }, {
428
450
  siteId: string;
429
451
  }, SdkUpsertEntryResponse>;
@@ -1,9 +1,9 @@
1
1
  import type { BackgroundOverride, SystemCustomizeFacetSelection, Theme } from '../../blocks/src/index';
2
2
  import type { ListMediaAssetsResult, MediaAssetWithLabels } from '@riverbankcms/media-storage-supabase';
3
3
  import type { DbJson } from '../../db/src/index';
4
- import type { PageDesignEditorReadModel, PageDesignIntent, AppearancePresetId, BoundaryOptionId, DesignBlockId, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId, LayoutVariantKey, SiteStyleId, TypographyPresetId } from '../../theme-core/src/site-styles/index';
4
+ import type { PageDesignEditorReadModel, PageDesignIntent, AppearancePresetId, BoundaryOptionId, DesignBlockId, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId, LayoutVariantKey, SiteStyleId } from '../../theme-core/src/site-styles/index';
5
5
  import type { ButtonPersonalityId } from '../../theme-core/src/buttons/index';
6
- import type { PaletteCommand, PaletteOverrides, PaletteSelection, CuratedPaletteId } from '../../theme-core/src/palette/index';
6
+ import type { PaletteCommand, PaletteLibraryAuthority, PaletteSelection } from '../../theme-core/src/palette/index';
7
7
  import type { APIEndpoint } from './apiEndpointTypes';
8
8
  import type { AnalyticsReportQuery, AnalyticsReportResponse } from './analytics';
9
9
  import type { CreateMediaAssetBody, MediaAssetResponse, MediaAssetFileFilterContract, MediaBulkDeleteResponse, MediaClassifyJobResponse, MediaJobSummaryResponse, MediaLabelSummary, MediaSettingsResponse } from './media';
@@ -21,40 +21,42 @@ import type { DevToolsGetSiteRoleDowngradeQuery, DevToolsImpersonationResponse,
21
21
  */
22
22
  export type SiteThemeSelectionsPayload = {
23
23
  buttonPersonalityId?: ButtonPersonalityId | null;
24
- paletteVariantId?: CuratedPaletteId | null;
25
- paletteOverrides?: PaletteOverrides | null;
26
24
  headerLayoutId?: HeaderLayoutId | null;
27
25
  headerStyleId?: HeaderStyleId | null;
28
- typographyPresetId?: TypographyPresetId | null;
29
- typographyBodyFontOverride?: string | null;
30
- typographyHeadingFontOverride?: string | null;
31
26
  headerLookId?: HeaderLookId | null;
32
27
  footerLookId?: FooterLookId | null;
33
28
  };
34
- type ApplySiteStyleSelectionCommonBody = Readonly<{
29
+ export type ApplySiteStyleSelectionCommonBody = Readonly<{
35
30
  siteStyleId: SiteStyleId;
36
- buttonPersonalityId: ButtonPersonalityId | null;
37
- typographyPresetId?: TypographyPresetId | null;
38
- typographyBodyFontOverride?: string | null;
39
- typographyHeadingFontOverride?: string | null;
40
- customTypography?: Theme['typography'] | null;
41
- headerLookId: HeaderLookId | null;
42
- headerLayoutId?: HeaderLayoutId | null;
43
- headerStyleId?: HeaderStyleId | null;
44
- footerLookId: FooterLookId | null;
31
+ /** Omitted or `null` selects the first button personality recommended by the site style; a value selects that personality. */
32
+ buttonPersonalityId?: ButtonPersonalityId | null;
33
+ /** Omitted selects the site style's authoritative concrete typography; a value applies submitted concrete typography. */
34
+ typography?: Theme['typography'];
35
+ /** Omitted or `null` selects the first header Look recommended by the site style; a value selects that Look. When both header pair fields are omitted, a supplied Look derives the canonical pair when it has one. */
36
+ headerLookId?: HeaderLookId | null;
37
+ /** Omitted or `null` selects the first footer Look recommended by the site style; a value selects that Look. */
38
+ footerLookId?: FooterLookId | null;
45
39
  baseSelectionVersion: number;
40
+ /** Omitted or `null` lets the server target the current selection; a value targets that selection row. */
46
41
  selectionId?: string | null;
47
42
  }>;
48
- export type ApplySiteStyleSelectionBody = ApplySiteStyleSelectionCommonBody & (Readonly<{
49
- paletteCommand: PaletteCommand;
50
- paletteVariantId?: never;
51
- paletteOverrides?: never;
43
+ export type ApplySiteStyleSelectionHeaderBody = Readonly<{
44
+ /** Omit both fields to use the curated site style's canonical header default; when `headerLookId` is supplied, derive the pair from that Look when it has a canonical alias. */
45
+ headerLayoutId?: undefined;
46
+ headerStyleId?: undefined;
52
47
  }> | Readonly<{
53
- /** Bounded input adapter for callers not yet emitting commands. */
54
- paletteCommand?: undefined;
55
- paletteVariantId: CuratedPaletteId | null;
56
- paletteOverrides: PaletteOverrides | null;
57
- }>);
48
+ /** Send both fields as `null` to use the legacy header default. */
49
+ headerLayoutId: null;
50
+ headerStyleId: null;
51
+ }> | Readonly<{
52
+ /** Canonical header selections are atomic: layout and style must be supplied together. */
53
+ headerLayoutId: HeaderLayoutId;
54
+ headerStyleId: HeaderStyleId;
55
+ }>;
56
+ export type ApplySiteStyleSelectionBody = ApplySiteStyleSelectionCommonBody & Readonly<{
57
+ /** Omitted selects the site style's recommended curated palette; a command applies that palette operation. */
58
+ paletteCommand?: PaletteCommand;
59
+ }> & ApplySiteStyleSelectionHeaderBody;
58
60
  export type ApplySiteStyleSelectionResponse = Readonly<{
59
61
  success: boolean;
60
62
  themeId: string;
@@ -65,29 +67,16 @@ export type ApplySiteStyleSelectionResponse = Readonly<{
65
67
  theme: Theme;
66
68
  siteStyleId: SiteStyleId;
67
69
  buttonPersonalityId: ButtonPersonalityId;
68
- paletteVariantId: CuratedPaletteId;
69
- paletteOverrides: PaletteOverrides | null;
70
70
  activePaletteSelection: PaletteSelection;
71
71
  /** Present only when the active selection is a site palette. */
72
72
  activeSitePaletteVersion: number | null;
73
73
  headerLayoutId: HeaderLayoutId;
74
74
  headerStyleId: HeaderStyleId;
75
- typographyPresetId: TypographyPresetId | null;
76
- typographyBodyFontOverride: string | null;
77
- typographyHeadingFontOverride: string | null;
78
75
  headerLookId: HeaderLookId | null;
79
76
  footerLookId: FooterLookId;
80
77
  }>;
81
78
  export type ListSiteThemePalettesResponse = Readonly<{
82
- active: Readonly<{
83
- kind: 'migrated';
84
- selection: PaletteSelection;
85
- }> | Readonly<{
86
- kind: 'legacy-unmigrated';
87
- }> | Readonly<{
88
- kind: 'invalid';
89
- reason: string;
90
- }>;
79
+ active: PaletteLibraryAuthority;
91
80
  palettes: readonly import('../../theme-core/src/palette/index').SitePalette[];
92
81
  }>;
93
82
  export type SaveSiteChromeLookSelectionBody = Readonly<{
@@ -267,13 +256,10 @@ export type SiteRuntimeAPIEndpoints = {
267
256
  * local state without a follow-up read.
268
257
  */
269
258
  buttonPersonalityId: ButtonPersonalityId | null;
270
- paletteVariantId: CuratedPaletteId | null;
271
- paletteOverrides: PaletteOverrides | null;
259
+ activePaletteSelection: PaletteSelection;
260
+ activeSitePaletteVersion: number | null;
272
261
  headerLayoutId: HeaderLayoutId | null;
273
262
  headerStyleId: HeaderStyleId | null;
274
- typographyPresetId: TypographyPresetId | null;
275
- typographyBodyFontOverride: string | null;
276
- typographyHeadingFontOverride: string | null;
277
263
  headerLookId: HeaderLookId | null;
278
264
  footerLookId: FooterLookId | null;
279
265
  }>;
@@ -835,4 +821,3 @@ export type SiteRuntimeAPIEndpoints = {
835
821
  sessionId?: string;
836
822
  }, never, void>;
837
823
  };
838
- export {};
@@ -463,6 +463,12 @@ export declare const proofBlockIslandCodecs: {
463
463
  filterVenueId: string | null;
464
464
  buttonVariant: import("../system").ButtonVariant;
465
465
  buttonText: string;
466
+ boardTitle?: string;
467
+ footerNote?: string;
468
+ seeAllUrl?: string;
469
+ loadMoreText?: string;
470
+ elevated: boolean;
471
+ banded: boolean;
466
472
  showVenue: boolean;
467
473
  showMap: boolean;
468
474
  showCapacity: boolean;
@@ -513,6 +519,12 @@ export declare const proofBlockIslandCodecs: {
513
519
  filterVenueId: string | null;
514
520
  buttonVariant: import("../system").ButtonVariant;
515
521
  buttonText: string;
522
+ boardTitle?: string;
523
+ footerNote?: string;
524
+ seeAllUrl?: string;
525
+ loadMoreText?: string;
526
+ elevated: boolean;
527
+ banded: boolean;
516
528
  showVenue: boolean;
517
529
  showMap: boolean;
518
530
  showCapacity: boolean;
@@ -543,6 +555,7 @@ export declare const proofBlockIslandCodecs: {
543
555
  kind: "newsletter-form";
544
556
  className: string | null;
545
557
  buttonLabel: string;
558
+ buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
546
559
  successMessage: string | null;
547
560
  privacyNote: string | null;
548
561
  fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
@@ -569,6 +582,7 @@ export declare const proofBlockIslandCodecs: {
569
582
  kind: "newsletter-form";
570
583
  className: string | null;
571
584
  buttonLabel: string;
585
+ buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
572
586
  successMessage: string | null;
573
587
  privacyNote: string | null;
574
588
  fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
@@ -902,7 +916,7 @@ export declare const proofBlockIslandCodecs: {
902
916
  kind: "passes-memberships";
903
917
  state: "empty" | "ready";
904
918
  className: string | null;
905
- layout: "grid" | "list";
919
+ layout: "grid" | "list" | "register";
906
920
  columns: string;
907
921
  emptyMessage: string;
908
922
  passesHeading: string;
@@ -930,6 +944,7 @@ export declare const proofBlockIslandCodecs: {
930
944
  passes: readonly import("..").PublicPassProduct[];
931
945
  memberships: readonly import("..").PublicMembershipProduct[];
932
946
  passPurchaseMode: "add_to_cart" | "buy_now";
947
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
933
948
  }>;
934
949
  }>>;
935
950
  }>) => unknown;
@@ -946,7 +961,7 @@ export declare const proofBlockIslandCodecs: {
946
961
  kind: "passes-memberships";
947
962
  state: "empty" | "ready";
948
963
  className: string | null;
949
- layout: "grid" | "list";
964
+ layout: "grid" | "list" | "register";
950
965
  columns: string;
951
966
  emptyMessage: string;
952
967
  passesHeading: string;
@@ -974,6 +989,7 @@ export declare const proofBlockIslandCodecs: {
974
989
  passes: readonly import("..").PublicPassProduct[];
975
990
  memberships: readonly import("..").PublicMembershipProduct[];
976
991
  passPurchaseMode: "add_to_cart" | "buy_now";
992
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
977
993
  }>;
978
994
  }>>;
979
995
  }>>;
@@ -1533,6 +1549,12 @@ export declare const runtimeIslandCodecs: {
1533
1549
  filterVenueId: string | null;
1534
1550
  buttonVariant: import("../system").ButtonVariant;
1535
1551
  buttonText: string;
1552
+ boardTitle?: string;
1553
+ footerNote?: string;
1554
+ seeAllUrl?: string;
1555
+ loadMoreText?: string;
1556
+ elevated: boolean;
1557
+ banded: boolean;
1536
1558
  showVenue: boolean;
1537
1559
  showMap: boolean;
1538
1560
  showCapacity: boolean;
@@ -1583,6 +1605,12 @@ export declare const runtimeIslandCodecs: {
1583
1605
  filterVenueId: string | null;
1584
1606
  buttonVariant: import("../system").ButtonVariant;
1585
1607
  buttonText: string;
1608
+ boardTitle?: string;
1609
+ footerNote?: string;
1610
+ seeAllUrl?: string;
1611
+ loadMoreText?: string;
1612
+ elevated: boolean;
1613
+ banded: boolean;
1586
1614
  showVenue: boolean;
1587
1615
  showMap: boolean;
1588
1616
  showCapacity: boolean;
@@ -1613,6 +1641,7 @@ export declare const runtimeIslandCodecs: {
1613
1641
  kind: "newsletter-form";
1614
1642
  className: string | null;
1615
1643
  buttonLabel: string;
1644
+ buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
1616
1645
  successMessage: string | null;
1617
1646
  privacyNote: string | null;
1618
1647
  fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
@@ -1639,6 +1668,7 @@ export declare const runtimeIslandCodecs: {
1639
1668
  kind: "newsletter-form";
1640
1669
  className: string | null;
1641
1670
  buttonLabel: string;
1671
+ buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
1642
1672
  successMessage: string | null;
1643
1673
  privacyNote: string | null;
1644
1674
  fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
@@ -1972,7 +2002,7 @@ export declare const runtimeIslandCodecs: {
1972
2002
  kind: "passes-memberships";
1973
2003
  state: "empty" | "ready";
1974
2004
  className: string | null;
1975
- layout: "grid" | "list";
2005
+ layout: "grid" | "list" | "register";
1976
2006
  columns: string;
1977
2007
  emptyMessage: string;
1978
2008
  passesHeading: string;
@@ -2000,6 +2030,7 @@ export declare const runtimeIslandCodecs: {
2000
2030
  passes: readonly import("..").PublicPassProduct[];
2001
2031
  memberships: readonly import("..").PublicMembershipProduct[];
2002
2032
  passPurchaseMode: "add_to_cart" | "buy_now";
2033
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
2003
2034
  }>;
2004
2035
  }>>;
2005
2036
  }>) => unknown;
@@ -2016,7 +2047,7 @@ export declare const runtimeIslandCodecs: {
2016
2047
  kind: "passes-memberships";
2017
2048
  state: "empty" | "ready";
2018
2049
  className: string | null;
2019
- layout: "grid" | "list";
2050
+ layout: "grid" | "list" | "register";
2020
2051
  columns: string;
2021
2052
  emptyMessage: string;
2022
2053
  passesHeading: string;
@@ -2044,6 +2075,7 @@ export declare const runtimeIslandCodecs: {
2044
2075
  passes: readonly import("..").PublicPassProduct[];
2045
2076
  memberships: readonly import("..").PublicMembershipProduct[];
2046
2077
  passPurchaseMode: "add_to_cart" | "buy_now";
2078
+ buttonVariant: "primary" | "secondary" | "outline" | "link";
2047
2079
  }>;
2048
2080
  }>>;
2049
2081
  }>>;
@@ -4,7 +4,7 @@
4
4
  * It is safe to use in Server Components and data fetching utilities.
5
5
  */
6
6
  export { getBlockDefinition, getBlockRenderKind, listBlockDefinitions, hasBlockDefinition, registerBlockDefinition, type SystemBlockDefinition, type BlockDataLoader, type BlockDescriptor, } from './system/registry';
7
- export { blockDesignCapabilityMapFromDefinitions, blockDesignMetadataMapFromDefinitions, declareBlockDesignCapability, declareNoBlockDesignCapability, } from './system/designCapabilities';
7
+ export { blockDesignCapabilityMapFromDefinitions, blockDesignMetadataMapFromDefinitions, declareBlockDesignCapability, declareNoBlockDesignCapability, resolveDeclaredBlockDesignCapability, } from './system/designCapabilities';
8
8
  export type { BlockDesignCapabilityDeclaration, NoBlockDesignCapabilityReason, } from './system/designCapabilities';
9
9
  export type { AnyBlockRuntimeDefinition, BlockRenderKind, BlockRuntimeDefinition, RuntimeContractsFor, RuntimeDisplay, RuntimeHydration, RuntimeKind, RuntimeRender, RuntimeSource, } from './contracts';
10
10
  export { ensureSystemBlockDefinitionsRegistered, systemBlockDefinitions, } from './system/blocks';
@@ -296,20 +296,38 @@ export type CustomerOrderInstalmentStatus = OrderInstalmentStatus;
296
296
  export type CustomerOrderInstalmentRow = OrderInstalmentSummaryRow;
297
297
  export type CustomerOrderInstalmentPlan = OrderInstalmentSummary;
298
298
  export type CustomerOrderPaymentState = {
299
- kind: 'outstanding';
300
- balanceDueCents: number;
299
+ kind: 'not_required';
300
+ reason: 'free' | 'waived' | 'pass' | 'membership';
301
+ collectedCents: number;
302
+ refundedCents: number;
303
+ outstandingCents: number;
301
304
  } | {
302
- kind: 'paid';
303
- settledVia: 'stripe' | 'store_credit' | 'mixed' | 'pass_redemption' | 'membership_access' | 'free' | 'manual';
305
+ kind: 'unpaid' | 'partially_paid' | 'collection_failed';
306
+ collectedCents: number;
307
+ refundedCents: number;
308
+ outstandingCents: number;
304
309
  } | {
305
310
  kind: 'waived';
311
+ collectedCents: number;
312
+ waivedCents: number;
313
+ refundedCents: number;
314
+ outstandingCents: 0;
306
315
  } | {
307
- kind: 'refunded';
316
+ kind: 'paid';
317
+ collectedCents: number;
318
+ refundedCents: number;
319
+ outstandingCents: 0;
320
+ settledVia: 'stripe' | 'store_credit' | 'mixed' | 'pass_redemption' | 'membership_access' | 'free' | 'manual';
308
321
  } | {
309
- kind: 'failed';
310
- balanceDueCents: number;
322
+ kind: 'refunded';
323
+ collectedCents: number;
324
+ refundedCents: number;
325
+ outstandingCents: number;
311
326
  } | {
312
327
  kind: 'cancelled';
328
+ collectedCents: number;
329
+ refundedCents: number;
330
+ outstandingCents: number;
313
331
  };
314
332
  export interface CustomerOrderActions {
315
333
  canPayOnline: boolean;
@@ -28,7 +28,7 @@ export declare const courseRegistrationManifest: import("..").DefinedBlockManife
28
28
  readonly description: "Main heading for the registration form";
29
29
  readonly required: false;
30
30
  readonly multiline: false;
31
- readonly defaultValue: "Enroll in this course";
31
+ readonly defaultValue: "Sign up";
32
32
  }, {
33
33
  readonly id: "description";
34
34
  readonly type: "richText";
@@ -109,7 +109,7 @@ export declare const courseRegistrationManifest: import("..").DefinedBlockManife
109
109
  readonly description: "Text for the enrollment submit button";
110
110
  readonly required: false;
111
111
  readonly multiline: false;
112
- readonly defaultValue: "Complete Enrollment";
112
+ readonly defaultValue: "Sign up";
113
113
  readonly maxLength: 40;
114
114
  }, {
115
115
  readonly id: "buttonVariant";
@@ -141,6 +141,7 @@ export declare const coursePricingSchema: z.ZodObject<{
141
141
  */
142
142
  export declare const publicCourseSchema: z.ZodObject<{
143
143
  id: z.ZodString;
144
+ seriesId: z.ZodString;
144
145
  title: z.ZodString;
145
146
  slug: z.ZodString;
146
147
  description: z.ZodNullable<z.ZodUnknown>;
@@ -341,6 +342,7 @@ export declare const publicCourseSchema: z.ZodObject<{
341
342
  */
342
343
  export declare const publicCoursesArraySchema: z.ZodArray<z.ZodObject<{
343
344
  id: z.ZodString;
345
+ seriesId: z.ZodString;
344
346
  title: z.ZodString;
345
347
  slug: z.ZodString;
346
348
  description: z.ZodNullable<z.ZodUnknown>;
@@ -55,6 +55,8 @@ export type CoursePricing = {
55
55
  */
56
56
  export type PublicCourse = {
57
57
  id: string;
58
+ /** Event-series identity backing this concrete course run. */
59
+ seriesId: string;
58
60
  title: string;
59
61
  slug: string;
60
62
  /** Rich text description (ProseMirror/TipTap JSON format) */
@@ -80,6 +80,10 @@ export type EventCalendarContent = {
80
80
  buttonText?: string | null;
81
81
  showCapacity?: boolean | null;
82
82
  emptyMessage?: string | null;
83
+ boardTitle?: string | null;
84
+ footerNote?: string | null;
85
+ elevated?: boolean | null;
86
+ banded?: boolean | null;
83
87
  _sectionStyles?: SectionStylesContent;
84
88
  _containerStyles?: ContainerStylesContent;
85
89
  };