@riverbankcms/sdk 0.153.0 → 0.154.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
  2. package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
  3. package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
  4. package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
  5. package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
  6. package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
  9. package/dist/_dts/api/src/billing.d.ts +2 -0
  10. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
  11. package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
  12. package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
  13. package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
  16. package/dist/_dts/api/src/bookings.d.ts +2 -3
  17. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +88 -43
  19. package/dist/_dts/api/src/index.d.ts +4 -2
  20. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  21. package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
  22. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  24. package/dist/_dts/api/src/sdkThemeWire.d.ts +162 -103
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
  27. package/dist/_dts/api/src/siteSettings.d.ts +1 -0
  28. package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
  29. package/dist/_dts/api/src/types.d.ts +11 -31
  30. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
  31. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  32. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
  33. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
  34. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
  35. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  41. package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
  42. package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
  44. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
  46. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
  47. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
  48. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
  52. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  53. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  54. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
  57. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
  58. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
  59. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +16 -4
  60. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -17
  65. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
  67. package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
  69. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
  70. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
  71. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
  76. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
  77. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
  78. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
  79. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
  80. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
  81. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  83. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
  84. package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
  85. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
  87. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
  88. package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
  89. package/dist/_dts/core/src/date-display.d.ts +85 -0
  90. package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
  91. package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
  92. package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
  93. package/dist/_dts/core/src/footer-composition.d.ts +1 -1
  94. package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
  95. package/dist/_dts/core/src/index.d.ts +2 -0
  96. package/dist/_dts/core/src/mailing-list-setup.d.ts +3 -0
  97. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -1
  98. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  99. package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
  100. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -9
  101. package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
  102. package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
  103. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  104. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  105. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  106. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
  107. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
  108. package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
  109. package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
  110. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
  111. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  112. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
  113. package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
  114. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  115. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
  116. package/dist/_dts/sdk/src/version.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
  118. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
  119. package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
  120. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
  121. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
  122. package/dist/_dts/theme-core/src/buttons/types.d.ts +358 -46
  123. package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
  124. package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
  125. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
  126. package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
  127. package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
  128. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  129. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -147
  130. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  131. package/dist/_dts/theme-core/src/schema.d.ts +300 -192
  132. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
  133. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  134. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
  135. package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
  136. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
  137. package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
  138. package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
  139. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
  140. package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
  141. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
  142. package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
  143. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
  144. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  145. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
  146. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  148. package/dist/_dts/ui/src/card.d.ts +1 -1
  149. package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
  150. package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
  151. package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
  152. package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
  153. package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
  154. package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
  155. package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
  156. package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
  157. package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
  158. package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
  159. package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
  160. package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
  161. package/dist/client/bookings.mjs +12565 -11839
  162. package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
  163. package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
  164. package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
  165. package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
  166. package/dist/client/client.mjs +6109 -4778
  167. package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
  168. package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
  169. package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
  170. package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
  171. package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
  172. package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
  173. package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
  174. package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
  175. package/dist/client/hooks.mjs +2041 -1193
  176. package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
  177. package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
  178. package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
  179. package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
  180. package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
  181. package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
  182. package/dist/client/rendering/client.mjs +11868 -11098
  183. package/dist/client/rendering/islands.mjs +17 -17
  184. package/dist/client/rendering.mjs +6058 -4676
  185. package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
  186. package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
  187. package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
  188. package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
  189. package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
  190. package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
  191. package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
  192. package/dist/preview-next/before-render.mjs +133 -51
  193. package/dist/preview-next/client/runtime.mjs +3 -3
  194. package/dist/preview-next/editor-chrome.css +5 -2
  195. package/dist/preview-next/keepAlive.mjs +133 -51
  196. package/dist/preview-next/middleware.mjs +133 -51
  197. package/dist/{sdk-runtime-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
  198. package/dist/server/components.mjs +11284 -10014
  199. package/dist/server/config-validation.mjs +2016 -1188
  200. package/dist/server/config.mjs +2016 -1188
  201. package/dist/server/data.mjs +2041 -1193
  202. package/dist/server/date-time.mjs +258 -116
  203. package/dist/server/index.mjs +134 -52
  204. package/dist/server/next.mjs +10571 -9350
  205. package/dist/server/page-converter.mjs +1629 -941
  206. package/dist/server/prebuild.mjs +1 -1
  207. package/dist/server/rendering/server.mjs +11156 -9872
  208. package/dist/server/rendering.mjs +11284 -10014
  209. package/dist/server/routing.mjs +2204 -1283
  210. package/dist/server/server.mjs +2369 -1570
  211. package/dist/server/theme-bridge.mjs +838 -124
  212. package/dist/server/theme.mjs +348 -64
  213. package/dist/{spinner-BYM-Y81w.mjs → spinner-MTooKfck.mjs} +1 -1
  214. package/dist/styles/index.css +254 -1
  215. package/package.json +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
@@ -1,3 +1,4 @@
1
+ import type { StripeConnectSetupResponse, StripeConnectSetupSaveRequest, StripeConnectSetupSaveResponse, StripeConnectAccountSessionRequest, StripeConnectAccountSessionResponse } from './stripeConnectSetup';
1
2
  import type { AppearancePresetId } from '../../theme-core/src/site-styles/index';
2
3
  import type { APIEndpoint } from './apiEndpointTypes';
3
4
  import type { AdminCreateSiteRequest, AdminCreateSiteResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, AdminDeleteSiteResponse, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse } from './accessAdmin';
@@ -515,6 +516,23 @@ export type SitePlatformAPIEndpoints = import('./sdkEventLifecycle').SdkEventLif
515
516
  adminDeleteSite: APIEndpoint<never, {
516
517
  siteId: string;
517
518
  }, AdminDeleteSiteResponse>;
519
+ stripeConnectSetupStart: APIEndpoint<import('./stripeConnectSetup').StripeConnectSetupStartRequest, {
520
+ siteId: string;
521
+ }, StripeConnectSetupResponse>;
522
+ stripeConnectSetupDiscard: APIEndpoint<{
523
+ expectedAccountId: string;
524
+ expectedVersion: number;
525
+ }, {
526
+ siteId: string;
527
+ }, {
528
+ discarded: true;
529
+ }>;
530
+ stripeConnectSetupSave: APIEndpoint<StripeConnectSetupSaveRequest, {
531
+ siteId: string;
532
+ }, StripeConnectSetupSaveResponse>;
533
+ stripeConnectAccountSession: APIEndpoint<StripeConnectAccountSessionRequest, {
534
+ siteId: string;
535
+ }, StripeConnectAccountSessionResponse>;
518
536
  stripeConnectStart: APIEndpoint<never, {
519
537
  siteId: string;
520
538
  }, StripeConnectStartResponse>;
@@ -1,3 +1,4 @@
1
+ import type { FooterPreferences } from '../../theme-core/src/site-styles/index';
1
2
  import type { BackgroundOverride, SystemCustomizeFacetSelection, Theme } from '../../blocks/src/index';
2
3
  import type { ListMediaAssetsResult, MediaAssetWithLabels } from '@riverbankcms/media-storage-supabase';
3
4
  import type { FooterNavigationLayout, MailingListProviderScope } from '../../core/src/index';
@@ -13,11 +14,12 @@ import type { GetVersionHistoryResponse, ListVersionHistoryResponse, RestoreVers
13
14
  import type { CreateMediaUploadUrlRequest, CreateMediaUploadUrlResponse, CreateSiteLogoUploadUrlRequest, CreateSiteLogoUploadUrlResponse, MediaUploadFinalizeRequest, UploadSiteLogoRequest } from './siteInfrastructure';
14
15
  import type { DevToolsGetSiteRoleDowngradeQuery, DevToolsImpersonationResponse, DevToolsSeedResponse, DevToolsSetSiteRoleDowngradeRequest, SiteRoleDowngradeState } from './siteOperations';
15
16
  /**
16
- * A theme body with no header. The server compiles `theme.header` from the
17
- * row's intent and is its only author (#1318 Phase 4d).
17
+ * An authored theme body without chrome. The server compiles both surfaces
18
+ * from their row-owned selections and preference records (#1358 Phase 3).
18
19
  */
19
- export type ThemeWithoutHeader = Omit<Theme, 'header'> & Readonly<{
20
+ export type ThemeWithoutChrome = Omit<Theme, 'header' | 'footer'> & Readonly<{
20
21
  header?: never;
22
+ footer?: never;
21
23
  }>;
22
24
  /** Partial persisted selections for the Style configurator and site chrome. */
23
25
  export type SiteThemeSelectionsPayload = {
@@ -71,7 +73,8 @@ export type ApplySiteStyleSelectionResponse = Readonly<{
71
73
  buttonStyleSelection: ButtonStyleSelection;
72
74
  headerLayoutId: HeaderLayoutId;
73
75
  headerStyleId: HeaderStyleId;
74
- footerLookId: FooterLookId | null;
76
+ footerPreferences: FooterPreferences;
77
+ footerLookId: FooterLookId;
75
78
  }>;
76
79
  export type SaveSiteChromeSelectionBody = Readonly<{
77
80
  surface: 'header';
@@ -93,8 +96,8 @@ export type SaveSiteChromeSelectionBody = Readonly<{
93
96
  baseSelectionUpdatedAt?: string | null;
94
97
  }> | Readonly<{
95
98
  surface: 'footer';
96
- lookId: FooterLookId | null;
97
- theme: Theme;
99
+ lookId: FooterLookId;
100
+ preferences: Pick<FooterPreferences, 'background'>;
98
101
  themeId?: string | null;
99
102
  selectionId?: string | null;
100
103
  baseSelectionUpdatedAt?: string | null;
@@ -114,7 +117,8 @@ export type SaveSiteChromeSelectionResponse = Readonly<{
114
117
  * and this save did not write one — absent, not "the defaults".
115
118
  */
116
119
  headerPreferences: HeaderPreferences | null;
117
- footerLookId: FooterLookId | null;
120
+ footerPreferences: FooterPreferences;
121
+ footerLookId: FooterLookId;
118
122
  }>;
119
123
  export type PageDesignRevisionToken = {
120
124
  kind: 'absent';
@@ -228,15 +232,11 @@ export type SiteRuntimeAPIEndpoints = {
228
232
  }>;
229
233
  saveSiteTheme: APIEndpoint<{
230
234
  /**
231
- * The theme minus its header (#1318 Phase 4d, D17).
232
- *
233
- * `header` is compiled server-side from the row's stored selection and
234
- * `header_preferences`, so a body cannot carry header bytes at all. This
235
- * was the last path by which hand-written header fields reached
236
- * persistence, and leaving it open would have made the single-authority
237
- * claim untrue. `headerSelection` still names the selection to compile.
235
+ * The theme minus its header and footer (#1358 Phase 3).
236
+ * Both surfaces compile server-side from stored intent; the body cannot
237
+ * carry chrome bytes. `headerSelection` still names the header to compile.
238
238
  */
239
- theme: ThemeWithoutHeader;
239
+ theme: ThemeWithoutChrome;
240
240
  themeId?: string | null;
241
241
  selectionId?: string | null;
242
242
  overrides?: Record<string, unknown> | null;
@@ -262,7 +262,8 @@ export type SiteRuntimeAPIEndpoints = {
262
262
  buttonStyleSelection: ButtonStyleSelection | null;
263
263
  headerLayoutId: HeaderLayoutId;
264
264
  headerStyleId: HeaderStyleId;
265
- footerLookId: FooterLookId | null;
265
+ footerLookId: FooterLookId;
266
+ footerPreferences: FooterPreferences;
266
267
  }>;
267
268
  applySiteStyleSelection: APIEndpoint<ApplySiteStyleSelectionBody, {
268
269
  siteId: string;
@@ -35,6 +35,7 @@ export type SiteGeneralSettingsResponse = {
35
35
  * show it.
36
36
  */
37
37
  export type SiteRuntimeBusinessDetails = {
38
+ businessDescription: string | null;
38
39
  tagline: string | null;
39
40
  contact: PublicContactDetails | null;
40
41
  addressVisibility: PublicAddressVisibility;
@@ -0,0 +1,90 @@
1
+ import type { StripeConnectLegalForm, StripeConnectPersonRoles, StripeConnectSetupResponse } from '@riverbankcms/billing/stripe/connect-setup-types';
2
+ export type { StripeConnectLegalForm, StripeConnectSection, StripeConnectPersonRoles, StripeConnectPersonReference, StripeConnectOperation, StripeConnectSetupState, StripeConnectIntakeState, StripeConnectPendingIntake, StripeConnectIdleIntake, StripeConnectSetupPrefill, StripeConnectSetupResponse } from '@riverbankcms/billing/stripe/connect-setup-types';
3
+ export { STRIPE_CONNECT_BUSINESS_CATEGORIES } from '@riverbankcms/billing/stripe/connect-setup-types';
4
+ export type StripeConnectSetupStartRequest = Readonly<{
5
+ legalForm?: StripeConnectLegalForm;
6
+ }>;
7
+ export type StripeConnectSetupSaveRequest = Readonly<{
8
+ expectedAccountId: string;
9
+ expectedVersion: number;
10
+ operationId: string;
11
+ mutation: {
12
+ kind: 'guided_business';
13
+ businessProfile: {
14
+ name: string;
15
+ url: string;
16
+ productDescription?: string;
17
+ supportEmail?: string | null;
18
+ supportPhone?: string | null;
19
+ };
20
+ } | {
21
+ kind: 'business';
22
+ businessProfile: {
23
+ name: string;
24
+ url: string;
25
+ productDescription: string;
26
+ mcc: string;
27
+ supportEmail: string | null;
28
+ supportPhone: string | null;
29
+ };
30
+ statementDescriptor: string;
31
+ } | {
32
+ kind: 'company';
33
+ accountToken: string;
34
+ } | {
35
+ kind: 'company_people';
36
+ accountToken: string;
37
+ } | {
38
+ kind: 'representative';
39
+ accountToken: string;
40
+ legalForm: 'individual';
41
+ } | {
42
+ kind: 'representative';
43
+ personToken: string;
44
+ legalForm: 'company';
45
+ roles: StripeConnectPersonRoles;
46
+ } | {
47
+ kind: 'person';
48
+ personToken: string;
49
+ personId: string | null;
50
+ roles: StripeConnectPersonRoles;
51
+ } | {
52
+ kind: 'remove_person';
53
+ personId: string;
54
+ } | {
55
+ kind: 'bank';
56
+ bankToken: string;
57
+ } | {
58
+ kind: 'legal_form';
59
+ accountToken: string;
60
+ legalForm: StripeConnectLegalForm;
61
+ };
62
+ }>;
63
+ export type StripeConnectSetupSaveResponse = Readonly<{
64
+ outcome: 'saved';
65
+ account: StripeConnectSetupResponse;
66
+ }> | Readonly<{
67
+ outcome: 'checking';
68
+ account: StripeConnectSetupResponse;
69
+ }> | Readonly<{
70
+ outcome: 'rejected';
71
+ message: string;
72
+ account: StripeConnectSetupResponse;
73
+ }>;
74
+ export type StripeConnectSessionPurpose = 'onboarding' | 'management' | 'notifications' | 'payouts' | 'payment_details' | 'disputes' | 'tax' | 'documents';
75
+ export type StripeConnectAccountSessionRequest = Readonly<{
76
+ expectedAccountId: string;
77
+ expectedVersion: number;
78
+ }> & (Readonly<{
79
+ purpose: 'payment_details';
80
+ receiptId: string;
81
+ }> | Readonly<{
82
+ purpose: Exclude<StripeConnectSessionPurpose, 'payment_details'>;
83
+ }>);
84
+ export type StripeConnectAccountSessionResponse = Readonly<{
85
+ paymentActionUrl?: string;
86
+ paymentId?: string;
87
+ clientSecret: string;
88
+ stripeAccountId: string;
89
+ version: number;
90
+ }>;
@@ -60,7 +60,7 @@ export type { HTTPMethod, ApiResponseKind, ApiAuthRequirement };
60
60
  export type { AdminProfileRole, AdminRoleMutationResponse, RevokeAdminRoleRequest, StartImpersonationRequest, StartImpersonationResponse, StopImpersonationRequest, StopImpersonationResponse, UpsertAdminRoleRequest, } from './admin/types';
61
61
  import type { AccountAPIEndpoints } from './accountEndpoints';
62
62
  export type * from './accountEndpoints';
63
- import type { AiAndLaunchReadinessAPIEndpointDefinitions, AiAPIEndpointName, AiAPIEndpoints, LaunchReadinessAPIEndpointName, LaunchReadinessAPIEndpoints } from './aiEndpoints';
63
+ import type { AiAndLaunchReadinessAPIEndpointDefinitions } from './aiEndpoints';
64
64
  import type { AppointmentServiceCategoryAPIEndpoints } from './appointmentServiceCategoryEndpoints';
65
65
  import type { BookingManagementAPIEndpoints } from './bookingManagementEndpoints';
66
66
  import type { NewsletterCampaignCommandAPIEndpoints } from './newsletterCampaignCommandEndpoints';
@@ -77,11 +77,7 @@ import type { SiteRuntimeAPIEndpoints } from './siteRuntimeEndpoints';
77
77
  import type { ClientErrorReportingAPIEndpoints } from './clientErrorReporting';
78
78
  type TableName = keyof DbDatabase['public']['Tables'];
79
79
  export type DTOType<K extends TableName> = Partial<CamelizeKeys<DbRow<K>>>;
80
- type APIEndpointsMonolith = AiAndLaunchReadinessAPIEndpointDefinitions & AccountAPIEndpoints & SeoEndpointDefinitions & SiteManagementAPIEndpoints & SiteAddressAPIEndpoints & PublicExperienceAPIEndpoints & SiteRuntimeAPIEndpoints & SitePlatformAPIEndpoints & SdkPageDesignAPIEndpoints & BookingManagementAPIEndpoints & NewsletterCampaignCommandAPIEndpoints & AppointmentServiceCategoryAPIEndpoints & CommercePortalAPIEndpoints & MailchimpIntegrationAPIEndpoints & MailingListIntegrationAPIEndpoints & ClientErrorReportingAPIEndpoints;
81
- type ComposeEndpointMaps<Maps extends readonly object[], Acc extends object = {}> = Maps extends readonly [
82
- infer Head extends object,
83
- ...infer Tail extends readonly object[]
84
- ] ? [Extract<keyof Acc, keyof Head>] extends [never] ? ComposeEndpointMaps<Tail, Acc & Head> : never : Acc;
80
+ export type APIEndpoints = AiAndLaunchReadinessAPIEndpointDefinitions & AccountAPIEndpoints & SeoEndpointDefinitions & SiteManagementAPIEndpoints & SiteAddressAPIEndpoints & PublicExperienceAPIEndpoints & SiteRuntimeAPIEndpoints & SitePlatformAPIEndpoints & SdkPageDesignAPIEndpoints & BookingManagementAPIEndpoints & NewsletterCampaignCommandAPIEndpoints & AppointmentServiceCategoryAPIEndpoints & CommercePortalAPIEndpoints & MailchimpIntegrationAPIEndpoints & MailingListIntegrationAPIEndpoints & ClientErrorReportingAPIEndpoints;
85
81
  type SiteMembersAPIEndpointName = 'listSiteMembers' | 'inviteSiteMember' | 'updateSiteMemberRole' | 'linkCurrentUserPractitioner' | 'unlinkCurrentUserPractitioner' | 'removeSiteMember' | 'revokeSiteInvitation' | 'resendSiteInvitation' | 'transferSiteOwnership' | 'acceptSiteInvitation';
86
82
  type SeoAPIEndpointName = 'getSeoOverview' | 'getSeoPages' | 'exportSeoPagesCsv' | 'getSeoQueries' | 'exportSeoQueriesCsv' | 'getPerformanceOverview' | 'applySeoChanges';
87
83
  type RedirectsAPIEndpointName = 'checkRedirect' | 'listRedirectRules' | 'createRedirectRule' | 'deleteRedirectRule';
@@ -89,29 +85,13 @@ type AvailabilityAPIEndpointName = 'listAvailabilityRules' | 'setWeeklyAvailabil
89
85
  type CalendarAPIEndpointName = 'getCalendarStatus' | 'updateCalendarPreferences' | 'disconnectCalendar';
90
86
  type ContentTypesAPIEndpointName = 'listContentTypes' | 'createContentType' | 'updateContentType' | 'deleteContentType' | 'duplicateContentType';
91
87
  type MediaAPIEndpointName = 'createMediaAsset' | 'mediaList' | 'mediaProductFileList' | 'mediaGet' | 'mediaUpdate' | 'mediaCanonicalCrop' | 'mediaDelete' | 'mediaBulkDelete' | 'mediaUsageCheck' | 'mediaGetSignedUrl' | 'createMediaUploadUrl' | 'mediaUpload' | 'getMediaLabels' | 'getMediaSettings' | 'updateMediaSettings' | 'mediaSearch' | 'classifyMediaAsset' | 'classifyMediaBatch' | 'enqueueMediaClassifyJob' | 'runMediaClassifyJob' | 'runAllMediaClassifyJobs' | 'mediaJobsStatus';
92
- type ComposedDomainEndpointNames = 'accountGetIdentity' | 'accountListSites' | 'accountCreateSite' | 'accountProvisionProjectCredentials' | AiAPIEndpointName | LaunchReadinessAPIEndpointName | SiteMembersAPIEndpointName | SeoAPIEndpointName | RedirectsAPIEndpointName | AvailabilityAPIEndpointName | CalendarAPIEndpointName | ContentTypesAPIEndpointName | MediaAPIEndpointName | 'listMailchimpAudiences';
93
- export type SiteMembersAPIEndpoints = Pick<APIEndpointsMonolith, SiteMembersAPIEndpointName>;
94
- export type SeoAPIEndpoints = Pick<APIEndpointsMonolith, SeoAPIEndpointName>;
95
- export type RedirectsAPIEndpoints = Pick<APIEndpointsMonolith, RedirectsAPIEndpointName>;
96
- export type AvailabilityAPIEndpoints = Pick<APIEndpointsMonolith, AvailabilityAPIEndpointName>;
97
- export type CalendarAPIEndpoints = Pick<APIEndpointsMonolith, CalendarAPIEndpointName>;
98
- export type ContentTypesAPIEndpoints = Pick<APIEndpointsMonolith, ContentTypesAPIEndpointName>;
99
- export type MediaAPIEndpoints = Pick<APIEndpointsMonolith, MediaAPIEndpointName>;
100
- export type AccountAPIEndpointMap = Pick<APIEndpointsMonolith, 'accountGetIdentity' | 'accountListSites' | 'accountCreateSite' | 'accountProvisionProjectCredentials'>;
101
- type RemainingAPIEndpoints = Omit<APIEndpointsMonolith, ComposedDomainEndpointNames>;
102
- type DomainAPIEndpointMaps = [
103
- AccountAPIEndpointMap,
104
- AiAPIEndpoints,
105
- LaunchReadinessAPIEndpoints,
106
- SiteMembersAPIEndpoints,
107
- SeoAPIEndpoints,
108
- RedirectsAPIEndpoints,
109
- AvailabilityAPIEndpoints,
110
- CalendarAPIEndpoints,
111
- ContentTypesAPIEndpoints,
112
- MediaAPIEndpoints,
113
- Pick<APIEndpointsMonolith, 'listMailchimpAudiences'>
114
- ];
115
- type ComposedAPIEndpointMaps = [...DomainAPIEndpointMaps, RemainingAPIEndpoints];
116
- export type APIEndpoints = ComposeEndpointMaps<ComposedAPIEndpointMaps>;
88
+ export type SiteMembersAPIEndpoints = Pick<APIEndpoints, SiteMembersAPIEndpointName>;
89
+ export type SeoAPIEndpoints = Pick<APIEndpoints, SeoAPIEndpointName>;
90
+ export type RedirectsAPIEndpoints = Pick<APIEndpoints, RedirectsAPIEndpointName>;
91
+ export type AvailabilityAPIEndpoints = Pick<APIEndpoints, AvailabilityAPIEndpointName>;
92
+ export type CalendarAPIEndpoints = Pick<APIEndpoints, CalendarAPIEndpointName>;
93
+ export type ContentTypesAPIEndpoints = Pick<APIEndpoints, ContentTypesAPIEndpointName>;
94
+ export type MediaAPIEndpoints = Pick<APIEndpoints, MediaAPIEndpointName>;
95
+ export type AccountAPIEndpointMap = Pick<APIEndpoints, 'accountGetIdentity' | 'accountListSites' | 'accountCreateSite' | 'accountProvisionProjectCredentials'>;
117
96
  export type * from './apiCallParams';
97
+ export type * from './stripeConnectSetup';
@@ -1,3 +1,4 @@
1
+ import type { StaffBookingPersonInput } from './bookingPeople';
1
2
  import type { EventLifecycleStatus } from './eventManagementContracts';
2
3
  export type { WholeSeriesRunCancellationSettlement } from './eventManagementContracts';
3
4
  /**
@@ -119,10 +120,7 @@ export type WaitlistDashboardActionResponse = {
119
120
  success: true;
120
121
  };
121
122
  export type AddEventSeriesRegistrationRequest = {
122
- customerId?: string;
123
- customerName?: string;
124
- customerEmail?: string;
125
- customerPhone?: string | null;
123
+ person: StaffBookingPersonInput;
126
124
  status: 'enrolled' | 'waitlist';
127
125
  settlement?: {
128
126
  kind: 'complimentary';
@@ -2,7 +2,7 @@ import type { ReactNode } from 'react';
2
2
  import { buildThemeRuntime as buildThemeRuntimeImpl } from '../../../theme-core/src/runtime/buildThemeRuntime';
3
3
  import type { Theme } from '../../../theme-core/src/schema';
4
4
  import { renderBlock as renderBlockImpl } from '../system/componentFactory';
5
- export { buildFooterRuntimeViewModel, withFooterAttribution, type FooterAttribution, type FooterResolvedEngagement, type FooterRuntimeEngagement, type FooterRuntimeModule, type FooterRuntimeViewModel, } from '../system/blocks/site-footer-runtime';
5
+ export { buildFooterRuntimeViewModel, resolveFooterLayoutHints, withFooterAttribution, type FooterAttribution, type FooterResolvedEngagement, type FooterRuntimeEngagement, type FooterRuntimeModule, type FooterRuntimeViewModel, } from '../system/blocks/site-footer-runtime';
6
6
  export type SiteChromeThemeConfigOverride = Readonly<{
7
7
  header?: Partial<NonNullable<Theme['header']>>;
8
8
  footer?: Partial<NonNullable<Theme['footer']>>;
@@ -240,16 +240,7 @@ export declare const proofBlockIslandCodecs: {
240
240
  render: Readonly<{
241
241
  mode: "form";
242
242
  } & Readonly<{
243
- display: Readonly<{
244
- kind: "form";
245
- state: "missing" | "ready";
246
- className: string | null;
247
- formId: string | null;
248
- submitLabel: string;
249
- successMessage: string | null;
250
- form: import("..").FormRecord | null;
251
- groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
252
- }>;
243
+ display: FormDisplay;
253
244
  hydration: Readonly<{
254
245
  spamProtectionEnabled?: boolean;
255
246
  }>;
@@ -263,16 +254,7 @@ export declare const proofBlockIslandCodecs: {
263
254
  render: Readonly<{
264
255
  mode: "form";
265
256
  } & Readonly<{
266
- display: Readonly<{
267
- kind: "form";
268
- state: "missing" | "ready";
269
- className: string | null;
270
- formId: string | null;
271
- submitLabel: string;
272
- successMessage: string | null;
273
- form: import("..").FormRecord | null;
274
- groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
275
- }>;
257
+ display: FormDisplay;
276
258
  hydration: Readonly<{
277
259
  spamProtectionEnabled?: boolean;
278
260
  }>;
@@ -410,20 +392,7 @@ export declare const proofBlockIslandCodecs: {
410
392
  render: Readonly<{
411
393
  mode: "newsletter-form";
412
394
  } & Readonly<{
413
- display: Readonly<{
414
- kind: "newsletter-form";
415
- availability: "ready" | "unavailable";
416
- className: string | null;
417
- buttonLabel: string;
418
- successMessage: string;
419
- buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
420
- privacyNote: string | null;
421
- fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
422
- choices: readonly Readonly<{
423
- id: string;
424
- label: string;
425
- }>[];
426
- }>;
395
+ display: NewsletterFormDisplay;
427
396
  hydration: Readonly<{
428
397
  target: import("../system/runtime/nodes/newsletter-form.interactive").NewsletterFormHydrationTarget;
429
398
  setupRevision: number | null;
@@ -441,20 +410,7 @@ export declare const proofBlockIslandCodecs: {
441
410
  render: Readonly<{
442
411
  mode: "newsletter-form";
443
412
  } & Readonly<{
444
- display: Readonly<{
445
- kind: "newsletter-form";
446
- availability: "ready" | "unavailable";
447
- className: string | null;
448
- buttonLabel: string;
449
- successMessage: string;
450
- buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
451
- privacyNote: string | null;
452
- fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
453
- choices: readonly Readonly<{
454
- id: string;
455
- label: string;
456
- }>[];
457
- }>;
413
+ display: NewsletterFormDisplay;
458
414
  hydration: Readonly<{
459
415
  target: import("../system/runtime/nodes/newsletter-form.interactive").NewsletterFormHydrationTarget;
460
416
  setupRevision: number | null;
@@ -1194,16 +1150,7 @@ export declare const runtimeIslandCodecs: {
1194
1150
  render: Readonly<{
1195
1151
  mode: "form";
1196
1152
  } & Readonly<{
1197
- display: Readonly<{
1198
- kind: "form";
1199
- state: "missing" | "ready";
1200
- className: string | null;
1201
- formId: string | null;
1202
- submitLabel: string;
1203
- successMessage: string | null;
1204
- form: import("..").FormRecord | null;
1205
- groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
1206
- }>;
1153
+ display: FormDisplay;
1207
1154
  hydration: Readonly<{
1208
1155
  spamProtectionEnabled?: boolean;
1209
1156
  }>;
@@ -1217,16 +1164,7 @@ export declare const runtimeIslandCodecs: {
1217
1164
  render: Readonly<{
1218
1165
  mode: "form";
1219
1166
  } & Readonly<{
1220
- display: Readonly<{
1221
- kind: "form";
1222
- state: "missing" | "ready";
1223
- className: string | null;
1224
- formId: string | null;
1225
- submitLabel: string;
1226
- successMessage: string | null;
1227
- form: import("..").FormRecord | null;
1228
- groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
1229
- }>;
1167
+ display: FormDisplay;
1230
1168
  hydration: Readonly<{
1231
1169
  spamProtectionEnabled?: boolean;
1232
1170
  }>;
@@ -1364,20 +1302,7 @@ export declare const runtimeIslandCodecs: {
1364
1302
  render: Readonly<{
1365
1303
  mode: "newsletter-form";
1366
1304
  } & Readonly<{
1367
- display: Readonly<{
1368
- kind: "newsletter-form";
1369
- availability: "ready" | "unavailable";
1370
- className: string | null;
1371
- buttonLabel: string;
1372
- successMessage: string;
1373
- buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
1374
- privacyNote: string | null;
1375
- fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
1376
- choices: readonly Readonly<{
1377
- id: string;
1378
- label: string;
1379
- }>[];
1380
- }>;
1305
+ display: NewsletterFormDisplay;
1381
1306
  hydration: Readonly<{
1382
1307
  target: import("../system/runtime/nodes/newsletter-form.interactive").NewsletterFormHydrationTarget;
1383
1308
  setupRevision: number | null;
@@ -1395,20 +1320,7 @@ export declare const runtimeIslandCodecs: {
1395
1320
  render: Readonly<{
1396
1321
  mode: "newsletter-form";
1397
1322
  } & Readonly<{
1398
- display: Readonly<{
1399
- kind: "newsletter-form";
1400
- availability: "ready" | "unavailable";
1401
- className: string | null;
1402
- buttonLabel: string;
1403
- successMessage: string;
1404
- buttonVariant: import("../system/runtime/nodes/newsletter-form.types").NewsletterButtonVariant;
1405
- privacyNote: string | null;
1406
- fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
1407
- choices: readonly Readonly<{
1408
- id: string;
1409
- label: string;
1410
- }>[];
1411
- }>;
1323
+ display: NewsletterFormDisplay;
1412
1324
  hydration: Readonly<{
1413
1325
  target: import("../system/runtime/nodes/newsletter-form.interactive").NewsletterFormHydrationTarget;
1414
1326
  setupRevision: number | null;
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import type { RichTextPrimitiveProps } from "../primitives";
3
- export default function RichText({ as: Comp, className, doc, path, style, "data-slot": dataSlot, "data-surface": dataSurface, linkTarget, }: RichTextPrimitiveProps): React.JSX.Element;
3
+ export default function RichText({ as: Comp, className, doc, path, style, "data-slot": dataSlot, "data-surface": dataSurface, linkTarget, leadParagraphSlot, lookSlots, }: RichTextPrimitiveProps): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import type { LookListPresentation } from "../../system/runtime/lookSurfaces";
1
2
  import type React from "react";
2
3
  import type { PrimitiveProps } from "../types";
3
4
  import type { RichTextDoc } from "../../system/manifest/richTextSchema";
@@ -12,7 +13,7 @@ export type TextProps = PrimitiveProps & {
12
13
  ariaLabel?: string;
13
14
  blockData?: Record<string, unknown> | null;
14
15
  };
15
- export type RichTextPrimitiveProps = PrimitiveProps & {
16
+ export type RichTextPrimitiveProps = PrimitiveProps & Pick<LookListPresentation, "lookSlots"> & {
16
17
  path?: string;
17
18
  linkedEntryField?: PreviewLinkedEntryFieldBinding;
18
19
  doc?: RichTextDoc | null;
@@ -21,6 +22,8 @@ export type RichTextPrimitiveProps = PrimitiveProps & {
21
22
  ariaLabel?: string;
22
23
  blockData?: Record<string, unknown> | null;
23
24
  linkTarget?: "stored" | "new-tab";
25
+ /** Semantic hook for the first top-level paragraph; absent for legacy rendering. */
26
+ leadParagraphSlot?: "lede";
24
27
  };
25
28
  export type RichTextVariant = "full" | "inline" | "limited" | "media" | "notes";
26
29
  export type PrimitiveAPI = {
@@ -4,5 +4,6 @@ declare const Section: React.ForwardRefExoticComponent<PrimitiveProps & {
4
4
  background?: string;
5
5
  /** Data slot attribute for CSS targeting */
6
6
  "data-slot"?: string;
7
+ "data-arrangement"?: string;
7
8
  } & React.RefAttributes<HTMLElement>>;
8
9
  export default Section;
@@ -28,7 +28,7 @@ export declare const eventCalendarManifest: import("../..").DefinedBlockManifest
28
28
  readonly required: false;
29
29
  readonly multiple: false;
30
30
  readonly options: {
31
- value: "stack" | "compact" | "grid";
31
+ value: "compact" | "stack" | "grid";
32
32
  }[];
33
33
  }, {
34
34
  readonly id: "defaultCalendarView";
@@ -50,7 +50,7 @@ export declare const eventSelectionFields: {
50
50
  strategy?: "default" | "columnsAuto" | "imageGalleryVariant" | undefined;
51
51
  strategyOptions?: Record<string, unknown> | undefined;
52
52
  }> | undefined;
53
- inputType?: "number" | "text" | "email" | "tel" | undefined;
53
+ inputType?: "number" | "email" | "text" | "tel" | undefined;
54
54
  min?: number | undefined;
55
55
  max?: number | undefined;
56
56
  step?: number | undefined;
@@ -12,10 +12,6 @@ export declare const eventDisplayFields: ManifestField[];
12
12
  * Empty state field for when no events are available
13
13
  */
14
14
  export declare const emptyStateField: ManifestField;
15
- /**
16
- * Section heading and description fields
17
- */
18
- export declare const sectionHeaderFields: (defaultHeading: string) => ManifestField[];
19
15
  /**
20
16
  * Layout selection field with grid/stack options
21
17
  */
@@ -6,4 +6,3 @@ export * from './schemas';
6
6
  export * from './runGrouping';
7
7
  export * from './fields';
8
8
  export * from './filtering';
9
- export * from './layout';
@@ -519,8 +519,8 @@ export declare const publicEventSchema: z.ZodUnion<readonly [z.ZodObject<{
519
519
  cancellationPolicy: z.ZodObject<{
520
520
  refunds: z.ZodObject<{
521
521
  mode: z.ZodEnum<{
522
- never: "never";
523
522
  always: "always";
523
+ never: "never";
524
524
  cutoff: "cutoff";
525
525
  }>;
526
526
  cutoffHours: z.ZodNumber;
@@ -860,8 +860,8 @@ export declare const publicEventSchema: z.ZodUnion<readonly [z.ZodObject<{
860
860
  cancellationPolicy: z.ZodObject<{
861
861
  refunds: z.ZodObject<{
862
862
  mode: z.ZodEnum<{
863
- never: "never";
864
863
  always: "always";
864
+ never: "never";
865
865
  cutoff: "cutoff";
866
866
  }>;
867
867
  cutoffHours: z.ZodNumber;
@@ -1226,8 +1226,8 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodUnion<readonly [z.
1226
1226
  cancellationPolicy: z.ZodObject<{
1227
1227
  refunds: z.ZodObject<{
1228
1228
  mode: z.ZodEnum<{
1229
- never: "never";
1230
1229
  always: "always";
1230
+ never: "never";
1231
1231
  cutoff: "cutoff";
1232
1232
  }>;
1233
1233
  cutoffHours: z.ZodNumber;
@@ -1567,8 +1567,8 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodUnion<readonly [z.
1567
1567
  cancellationPolicy: z.ZodObject<{
1568
1568
  refunds: z.ZodObject<{
1569
1569
  mode: z.ZodEnum<{
1570
- never: "never";
1571
1570
  always: "always";
1571
+ never: "never";
1572
1572
  cutoff: "cutoff";
1573
1573
  }>;
1574
1574
  cutoffHours: z.ZodNumber;
@@ -52,6 +52,15 @@ export declare const formManifest: import("..").DefinedBlockManifest<import(".."
52
52
  }];
53
53
  }>;
54
54
  }];
55
+ readonly additionalFields: readonly [{
56
+ readonly id: "archFrame";
57
+ readonly type: "boolean";
58
+ readonly label: "Arch frame";
59
+ readonly ui: {
60
+ readonly intent: "display";
61
+ readonly hidden: true;
62
+ };
63
+ }];
55
64
  readonly layout: NodeDefinition;
56
65
  readonly variants: {
57
66
  readonly default: NodeDefinition;
@@ -90,6 +99,7 @@ export declare const formManifest: import("..").DefinedBlockManifest<import(".."
90
99
  }>>;
91
100
  export type { RichTextDoc } from "../manifest/richTextSchema";
92
101
  export type FormBlockContent = {
102
+ archFrame?: boolean | null;
93
103
  title?: string | null;
94
104
  intro?: RichTextDoc | null;
95
105
  formSlug: string;
@@ -0,0 +1 @@
1
+ export declare const imageGalleryFields: import("../../../../../block-form/src/backend/index").FieldDefinition[];
@@ -1,5 +1,6 @@
1
1
  import type { NodeDefinition } from "../node";
2
2
  import type { SystemBlockDefinition } from "../registry";
3
+ import type { RichTextDoc } from "../manifest/richTextSchema";
3
4
  import type { Media } from "../../lib/media";
4
5
  import type { SectionStylesContent } from "../fields/boxStyles";
5
6
  export declare const imageGalleryManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
@@ -15,6 +16,7 @@ export declare const imageGalleryManifest: import("..").DefinedBlockManifest<imp
15
16
  readonly additionalFields: import("../../../../block-form/src/backend/index").FieldDefinition[];
16
17
  readonly layout: NodeDefinition;
17
18
  readonly variants: {
19
+ readonly tiles: NodeDefinition;
18
20
  readonly grid: NodeDefinition;
19
21
  readonly carousel: NodeDefinition;
20
22
  readonly masonry: NodeDefinition;
@@ -22,6 +24,7 @@ export declare const imageGalleryManifest: import("..").DefinedBlockManifest<imp
22
24
  };
23
25
  readonly variantMeaning: {
24
26
  readonly kind: "arrangement";
27
+ readonly lookOnlyKeys: readonly ["tiles"];
25
28
  };
26
29
  readonly defaultVariant: "grid";
27
30
  readonly variantOptions: {
@@ -55,7 +58,9 @@ export declare const imageGalleryManifest: import("..").DefinedBlockManifest<imp
55
58
  };
56
59
  }>>;
57
60
  export type ImageGalleryContent = {
58
- variant?: "grid" | "carousel" | "masonry" | "marquee" | null;
61
+ heading?: string | null;
62
+ description?: RichTextDoc | null;
63
+ variant?: "grid" | "carousel" | "masonry" | "marquee" | "tiles" | null;
59
64
  fullBleed?: boolean | null;
60
65
  aspectRatio?: "auto" | "1/1" | "4/3" | "16/9" | "3/2" | "3/4" | null;
61
66
  slidesToShow?: "1" | "2" | "3" | null;