@riverbankcms/sdk 0.130.0 → 0.130.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DiEpbOdw.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +18 -15
  4. package/dist/{PreviewEditorUI-C6MvxnIa.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-C2rnoPz6.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DRXA_m5L.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +48 -21
  7. package/dist/{SiteChromeCustomizeContext-BTHdv5_-.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +6180 -5076
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +309 -32
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +969 -112
  10. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  11. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  12. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  13. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  14. package/dist/_dts/api/src/bookingConfig.d.ts +10 -20
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -5
  16. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  18. package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
  20. package/dist/_dts/api/src/endpoints.d.ts +1253 -1209
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  22. package/dist/_dts/api/src/eventManagementContracts.d.ts +83 -7
  23. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
  24. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
  25. package/dist/_dts/api/src/index.d.ts +11 -3
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  28. package/dist/_dts/api/src/oauth.d.ts +8 -0
  29. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  30. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
  31. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
  32. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -0
  33. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  34. package/dist/_dts/api/src/sdkContracts.d.ts +5 -13
  35. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  36. package/dist/_dts/api/src/sdkThemeWire.d.ts +40 -8
  37. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  38. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  39. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  40. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  41. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +12 -4
  42. package/dist/_dts/api/src/types.d.ts +7 -59
  43. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  44. package/dist/_dts/block-form/src/index.d.ts +23 -22
  45. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  46. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  48. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
  49. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
  50. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  51. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +7 -30
  52. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  53. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  54. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +1 -3
  55. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +13 -1
  56. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  57. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  58. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  59. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  60. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  61. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  63. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  64. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  71. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  72. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  74. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +4 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +26 -0
  77. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -37
  78. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  79. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
  80. package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
  81. package/dist/_dts/core/src/branded.d.ts +4 -0
  82. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  83. package/dist/_dts/core/src/index.d.ts +3 -0
  84. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  85. package/dist/_dts/core/src/secret.d.ts +44 -0
  86. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +341 -0
  87. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  88. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  89. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  90. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  91. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  92. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  93. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  94. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  95. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  96. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  97. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  98. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  99. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  100. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  101. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  102. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  103. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  104. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  105. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  106. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  107. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  108. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  109. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  110. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  111. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  112. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  113. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  114. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  115. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -0
  116. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  117. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  118. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  119. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  120. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  121. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  122. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  123. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  124. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  125. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +61 -39
  126. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  127. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  128. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  129. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -1
  130. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  131. package/dist/_dts/sdk/src/version.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  133. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  134. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  135. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  136. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  137. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  138. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  139. package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
  140. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  141. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  142. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  143. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  144. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +12 -135
  145. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  146. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  147. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  148. package/dist/_dts/theme-core/src/schema.d.ts +301 -94
  149. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
  150. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  151. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  152. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  153. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
  154. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  155. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  156. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  157. package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +2 -4
  158. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +2 -9
  159. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +0 -2
  160. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  161. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  162. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  163. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  164. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  165. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  166. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +1 -62
  168. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  169. package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
  170. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  171. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  172. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  173. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  174. package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
  175. package/dist/client/{CourseRegistrationWizard-Bvtz9G9g.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
  176. package/dist/client/{DiscountCodeDisclosure-Ur-Xx1U_.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
  177. package/dist/client/{EventCombined.client-EhscD4U6.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
  178. package/dist/client/{EventListing.client-Bn26cFTY.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
  179. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  180. package/dist/client/{LeafletStaticMap-BUw9Ntzr.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
  181. package/dist/client/{StepIndicator-BfbdiVQI.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
  182. package/dist/client/{accordion-CjIeof73.mjs → accordion-_boYwHHi.mjs} +1 -1
  183. package/dist/client/{bookingForm-DwEeovf_.mjs → bookingForm--AqEfyBX.mjs} +56 -39
  184. package/dist/client/bookings.mjs +393 -192
  185. package/dist/client/{carousel-BMrfgOba.mjs → carousel-CVI2dqZr.mjs} +2 -2
  186. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  187. package/dist/client/{cart-rXEdxTdb.mjs → cart-DR6IiPz9.mjs} +3 -3
  188. package/dist/client/{checkout-D3JlSzh3.mjs → checkout-CsrGAfQt.mjs} +3 -3
  189. package/dist/client/client.mjs +4524 -3512
  190. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  191. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  192. package/dist/client/{courseRegistration-DO5XvMAA.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
  193. package/dist/client/{eventCalendar-DO6rTqCn.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
  194. package/dist/client/{eventCombined-bJ3i_ovU.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
  195. package/dist/client/{eventDetails-CCbrXE7o.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
  196. package/dist/client/{eventListing-Bdlt9YTm.mjs → eventListing-DuP1yhBS.mjs} +3 -3
  197. package/dist/client/{eventRegistration-B02lt6iY.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
  198. package/dist/client/{form-DrUBAAox.mjs → form-BA4t3kKU.mjs} +4 -4
  199. package/dist/client/{headerSection-MzqvHL6T.mjs → headerSection-CpNaJxhW.mjs} +2 -2
  200. package/dist/client/hooks.mjs +1967 -2059
  201. package/dist/client/{locationMap-DG8BxTBm.mjs → locationMap-3HGMCL7_.mjs} +3 -3
  202. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  203. package/dist/client/{newsletterForm-BzO-Td3p.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
  204. package/dist/client/{pricing-NgK7ozkg.mjs → pricing-BiqIMgZk.mjs} +1 -1
  205. package/dist/client/{productDetail-CfQ7rhVK.mjs → productDetail-C9joWhdE.mjs} +3 -3
  206. package/dist/client/{productList-C23rOLUi.mjs → productList-CjzdU3pB.mjs} +3 -3
  207. package/dist/client/{propsDecoder-CAZdhwjs.mjs → propsDecoder-CBPGXEYX.mjs} +395 -402
  208. package/dist/client/rendering/client.mjs +2004 -2856
  209. package/dist/client/rendering/islands.mjs +20 -20
  210. package/dist/client/rendering.mjs +4605 -3496
  211. package/dist/client/{scrollToBlock-DSSqVQr1.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
  212. package/dist/client/{shop-BMToKLK7.mjs → shop-CQRai7hj.mjs} +7 -7
  213. package/dist/client/{shop-commerce-DB4JRKmp.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
  214. package/dist/client/{shop-commerce-store-BOqSIOuc.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
  215. package/dist/client/{shopShared-B6SK9DZv.mjs → shopShared-DP8DXTkF.mjs} +5 -5
  216. package/dist/client/{useEventFilters-CULOa4nB.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
  217. package/dist/client/{usePolling-BGG_8-jl.mjs → usePolling-Cls91SD2.mjs} +2 -2
  218. package/dist/preview-next/before-render.mjs +192 -108
  219. package/dist/preview-next/client/runtime.mjs +4 -4
  220. package/dist/preview-next/keepAlive.mjs +7406 -29
  221. package/dist/preview-next/middleware.mjs +186 -107
  222. package/dist/{previewAuthStore-_GXFRg2W.mjs → previewAuthStore-CX1C_KJ4.mjs} +185 -107
  223. package/dist/{sdk-runtime-hhSOMShR.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
  224. package/dist/{separator-flRaFc14.mjs → separator-BXlYN_gr.mjs} +1 -1
  225. package/dist/server/components.mjs +6363 -4998
  226. package/dist/server/config-validation.mjs +1967 -2059
  227. package/dist/server/config.mjs +1967 -2059
  228. package/dist/server/data.mjs +1967 -2059
  229. package/dist/server/index.mjs +186 -108
  230. package/dist/server/next.mjs +6553 -5285
  231. package/dist/server/page-converter.mjs +1031 -1844
  232. package/dist/server/prebuild.mjs +1 -1
  233. package/dist/server/rendering/server.mjs +3352 -3006
  234. package/dist/server/rendering.mjs +6289 -4924
  235. package/dist/server/routing.mjs +1906 -1036
  236. package/dist/server/server.mjs +1976 -2165
  237. package/dist/server/theme-bridge.mjs +949 -670
  238. package/dist/server/theme.mjs +252 -51
  239. package/dist/styles/index.css +295 -334
  240. package/package.json +3 -2
  241. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  242. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  243. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  244. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
@@ -1,6 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { type DesignBlockId, type DesignResolutionPolicy, type DesignSystemTemplateId, type PageDesignState, type SiteStyleId } from './types';
3
- import { type SchemaVersionedJsonParseIssue } from './schemaVersionedJson';
2
+ import { type DesignBlockId, type DesignResolutionPolicy, type DesignSystemTemplateId, type SiteStyleId } from './types';
4
3
  import { type ThemeV2CompilerOwnedFieldName, type ThemeV2RuntimeStyleFieldName } from './rawStyleFields';
5
4
  export { themeV2RuntimeStyleFieldNames, type ThemeV2RuntimeStyleFieldName, } from './rawStyleFields';
6
5
  export declare const themeV2DesignStateSchemaVersion: 1;
@@ -32,29 +31,6 @@ export type BlockRuntimeStyleAuthority<TBlockId extends string = DesignBlockId>
32
31
  fields: NonEmptyRuntimeStyleFieldNames;
33
32
  authority: StyleAuthority;
34
33
  }>;
35
- export type PersistedPageDesignStateV1<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<PageDesignState<TBlockId, TPurpose> & {
36
- schemaVersion: typeof themeV2DesignStateSchemaVersion;
37
- siteStyleId: SiteStyleId;
38
- templateId: DesignSystemTemplateId;
39
- templateVersion: number;
40
- resolverVersion: number;
41
- styleAuthorities: readonly BlockRuntimeStyleAuthority<TBlockId>[];
42
- }>;
43
- /**
44
- * Current persisted design state alias. When boundary overrides or full page
45
- * rhythm payloads land, add PersistedPageDesignStateV2 and widen this union.
46
- */
47
- export type PersistedPageDesignState<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = PersistedPageDesignStateV1<TBlockId, TPurpose>;
48
- export type DesignStateParseIssue = SchemaVersionedJsonParseIssue;
49
- export type DesignStateParseResult<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
50
- kind: 'absent';
51
- }> | Readonly<{
52
- kind: 'parsed';
53
- state: PersistedPageDesignState<TBlockId, TPurpose>;
54
- }> | Readonly<{
55
- kind: 'invalid';
56
- issue: DesignStateParseIssue;
57
- }>;
58
34
  export type RuntimeStyleClassification = Readonly<{
59
35
  kind: 'clean-auto';
60
36
  fields: readonly [];
@@ -106,164 +82,6 @@ export type PageStyleAuthoritySummary<TBlockId extends string = DesignBlockId> =
106
82
  legacyRawBlockIds: readonly [];
107
83
  advancedDetachedBlockIds: readonly TBlockId[];
108
84
  }>;
109
- export declare const blockDesignPlanSchema: z.ZodObject<{
110
- blockId: z.ZodPipe<z.ZodString, z.ZodTransform<DesignBlockId, string>>;
111
- blockKind: z.ZodString;
112
- purpose: z.ZodString;
113
- sectionSurface: z.ZodEnum<{
114
- base: "base";
115
- "muted-band": "muted-band";
116
- "accent-band": "accent-band";
117
- "brand-depth-band": "brand-depth-band";
118
- "hero-image": "hero-image";
119
- }>;
120
- contentFrame: z.ZodDiscriminatedUnion<[z.ZodObject<{
121
- kind: z.ZodLiteral<"plain">;
122
- }, z.core.$strict>, z.ZodObject<{
123
- kind: z.ZodLiteral<"panel">;
124
- treatment: z.ZodEnum<{
125
- raised: "raised";
126
- editorial: "editorial";
127
- inset: "inset";
128
- }>;
129
- }, z.core.$strict>, z.ZodObject<{
130
- kind: z.ZodLiteral<"flush-panel">;
131
- treatment: z.ZodEnum<{
132
- "media-panel": "media-panel";
133
- }>;
134
- bleed: z.ZodEnum<{
135
- end: "end";
136
- both: "both";
137
- start: "start";
138
- }>;
139
- }, z.core.$strict>], "kind">;
140
- itemSurface: z.ZodEnum<{
141
- flat: "flat";
142
- default: "default";
143
- none: "none";
144
- raised: "raised";
145
- editorial: "editorial";
146
- "color-blocked": "color-blocked";
147
- inset: "inset";
148
- outlined: "outlined";
149
- }>;
150
- transitionAfter: z.ZodEnum<{
151
- none: "none";
152
- "soft-fade-short": "soft-fade-short";
153
- "soft-fade-long": "soft-fade-long";
154
- "soft-fade-expansive": "soft-fade-expansive";
155
- "wave-edge": "wave-edge";
156
- "wave-edge-balanced": "wave-edge-balanced";
157
- "wave-edge-gentle": "wave-edge-gentle";
158
- "wave-edge-bold": "wave-edge-bold";
159
- "wave-edge-drift": "wave-edge-drift";
160
- "angle-edge": "angle-edge";
161
- "angle-edge-subtle": "angle-edge-subtle";
162
- "angle-edge-steep": "angle-edge-steep";
163
- }>;
164
- emphasis: z.ZodEnum<{
165
- medium: "medium";
166
- high: "high";
167
- low: "low";
168
- }>;
169
- sectionHeight: z.ZodOptional<z.ZodEnum<{
170
- default: "default";
171
- hero: "hero";
172
- banner: "banner";
173
- immersive: "immersive";
174
- }>>;
175
- heroLegibility: z.ZodOptional<z.ZodEnum<{
176
- none: "none";
177
- "scrim-gradient": "scrim-gradient";
178
- "solid-panel": "solid-panel";
179
- }>>;
180
- heroComposition: z.ZodOptional<z.ZodEnum<{
181
- center: "center";
182
- "bottom-left": "bottom-left";
183
- }>>;
184
- heroTypographyScale: z.ZodOptional<z.ZodEnum<{
185
- display: "display";
186
- poster: "poster";
187
- editorial: "editorial";
188
- quiet: "quiet";
189
- }>>;
190
- imageSurfaceTreatment: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
191
- kind: z.ZodLiteral<"none">;
192
- }, z.core.$strict>, z.ZodObject<{
193
- kind: z.ZodLiteral<"brand-scrim">;
194
- token: z.ZodEnum<{
195
- accent: "accent";
196
- primary: "primary";
197
- secondary: "secondary";
198
- }>;
199
- intensity: z.ZodOptional<z.ZodEnum<{
200
- soft: "soft";
201
- strong: "strong";
202
- balanced: "balanced";
203
- }>>;
204
- }, z.core.$strict>, z.ZodObject<{
205
- kind: z.ZodLiteral<"brand-wash">;
206
- token: z.ZodEnum<{
207
- accent: "accent";
208
- primary: "primary";
209
- secondary: "secondary";
210
- }>;
211
- intensity: z.ZodOptional<z.ZodEnum<{
212
- soft: "soft";
213
- strong: "strong";
214
- balanced: "balanced";
215
- }>>;
216
- }, z.core.$strict>, z.ZodObject<{
217
- kind: z.ZodLiteral<"neutral-scrim">;
218
- intensity: z.ZodOptional<z.ZodEnum<{
219
- soft: "soft";
220
- strong: "strong";
221
- balanced: "balanced";
222
- }>>;
223
- }, z.core.$strict>, z.ZodObject<{
224
- kind: z.ZodLiteral<"neutral-wash">;
225
- intensity: z.ZodOptional<z.ZodEnum<{
226
- soft: "soft";
227
- strong: "strong";
228
- balanced: "balanced";
229
- }>>;
230
- }, z.core.$strict>, z.ZodObject<{
231
- kind: z.ZodLiteral<"solid-panel">;
232
- intensity: z.ZodOptional<z.ZodEnum<{
233
- soft: "soft";
234
- strong: "strong";
235
- balanced: "balanced";
236
- }>>;
237
- }, z.core.$strict>], "kind">>;
238
- imageSurfaceMotion: z.ZodOptional<z.ZodEnum<{
239
- static: "static";
240
- "fixed-frame": "fixed-frame";
241
- }>>;
242
- testimonialCardTreatment: z.ZodOptional<z.ZodEnum<{
243
- default: "default";
244
- "accent-quote": "accent-quote";
245
- }>>;
246
- tileTreatment: z.ZodOptional<z.ZodEnum<{
247
- default: "default";
248
- quiet: "quiet";
249
- "brand-depth": "brand-depth";
250
- }>>;
251
- eventListTreatment: z.ZodOptional<z.ZodEnum<{
252
- plain: "plain";
253
- "lined-panel": "lined-panel";
254
- "ruled-register": "ruled-register";
255
- "editorial-register": "editorial-register";
256
- "dense-index": "dense-index";
257
- }>>;
258
- eyebrowTreatment: z.ZodOptional<z.ZodEnum<{
259
- accent: "accent";
260
- pill: "pill";
261
- plain: "plain";
262
- "accent-pill": "accent-pill";
263
- "pill-bounce": "pill-bounce";
264
- "accent-pill-bounce": "accent-pill-bounce";
265
- }>>;
266
- }, z.core.$strict>;
267
85
  export declare const styleAuthoritySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
268
86
  kind: z.ZodLiteral<"theme-v2">;
269
87
  source: z.ZodEnum<{
@@ -320,213 +138,29 @@ export declare const blockRuntimeStyleAuthoritySchema: z.ZodObject<{
320
138
  reason: z.ZodLiteral<"detached-custom-runtime-fields">;
321
139
  }, z.core.$strict>], "kind">;
322
140
  }, z.core.$strict>;
323
- export declare const persistedPageDesignStateV1Schema: z.ZodObject<{
324
- schemaVersion: z.ZodLiteral<1>;
325
- siteStyleId: z.ZodPipe<z.ZodString, z.ZodTransform<SiteStyleId, string>>;
326
- templateId: z.ZodPipe<z.ZodString, z.ZodTransform<DesignSystemTemplateId, string>>;
327
- templateVersion: z.ZodNumber;
328
- resolverVersion: z.ZodNumber;
329
- rhythmPresetId: z.ZodString;
330
- blocks: z.ZodArray<z.ZodObject<{
331
- blockId: z.ZodPipe<z.ZodString, z.ZodTransform<DesignBlockId, string>>;
332
- blockKind: z.ZodString;
333
- purpose: z.ZodString;
334
- sectionSurface: z.ZodEnum<{
335
- base: "base";
336
- "muted-band": "muted-band";
337
- "accent-band": "accent-band";
338
- "brand-depth-band": "brand-depth-band";
339
- "hero-image": "hero-image";
340
- }>;
341
- contentFrame: z.ZodDiscriminatedUnion<[z.ZodObject<{
342
- kind: z.ZodLiteral<"plain">;
343
- }, z.core.$strict>, z.ZodObject<{
344
- kind: z.ZodLiteral<"panel">;
345
- treatment: z.ZodEnum<{
346
- raised: "raised";
347
- editorial: "editorial";
348
- inset: "inset";
349
- }>;
350
- }, z.core.$strict>, z.ZodObject<{
351
- kind: z.ZodLiteral<"flush-panel">;
352
- treatment: z.ZodEnum<{
353
- "media-panel": "media-panel";
354
- }>;
355
- bleed: z.ZodEnum<{
356
- end: "end";
357
- both: "both";
358
- start: "start";
359
- }>;
360
- }, z.core.$strict>], "kind">;
361
- itemSurface: z.ZodEnum<{
362
- flat: "flat";
363
- default: "default";
364
- none: "none";
365
- raised: "raised";
366
- editorial: "editorial";
367
- "color-blocked": "color-blocked";
368
- inset: "inset";
369
- outlined: "outlined";
370
- }>;
371
- transitionAfter: z.ZodEnum<{
372
- none: "none";
373
- "soft-fade-short": "soft-fade-short";
374
- "soft-fade-long": "soft-fade-long";
375
- "soft-fade-expansive": "soft-fade-expansive";
376
- "wave-edge": "wave-edge";
377
- "wave-edge-balanced": "wave-edge-balanced";
378
- "wave-edge-gentle": "wave-edge-gentle";
379
- "wave-edge-bold": "wave-edge-bold";
380
- "wave-edge-drift": "wave-edge-drift";
381
- "angle-edge": "angle-edge";
382
- "angle-edge-subtle": "angle-edge-subtle";
383
- "angle-edge-steep": "angle-edge-steep";
384
- }>;
385
- emphasis: z.ZodEnum<{
386
- medium: "medium";
387
- high: "high";
388
- low: "low";
389
- }>;
390
- sectionHeight: z.ZodOptional<z.ZodEnum<{
391
- default: "default";
392
- hero: "hero";
393
- banner: "banner";
394
- immersive: "immersive";
395
- }>>;
396
- heroLegibility: z.ZodOptional<z.ZodEnum<{
397
- none: "none";
398
- "scrim-gradient": "scrim-gradient";
399
- "solid-panel": "solid-panel";
400
- }>>;
401
- heroComposition: z.ZodOptional<z.ZodEnum<{
402
- center: "center";
403
- "bottom-left": "bottom-left";
404
- }>>;
405
- heroTypographyScale: z.ZodOptional<z.ZodEnum<{
406
- display: "display";
407
- poster: "poster";
408
- editorial: "editorial";
409
- quiet: "quiet";
410
- }>>;
411
- imageSurfaceTreatment: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
412
- kind: z.ZodLiteral<"none">;
413
- }, z.core.$strict>, z.ZodObject<{
414
- kind: z.ZodLiteral<"brand-scrim">;
415
- token: z.ZodEnum<{
416
- accent: "accent";
417
- primary: "primary";
418
- secondary: "secondary";
419
- }>;
420
- intensity: z.ZodOptional<z.ZodEnum<{
421
- soft: "soft";
422
- strong: "strong";
423
- balanced: "balanced";
424
- }>>;
425
- }, z.core.$strict>, z.ZodObject<{
426
- kind: z.ZodLiteral<"brand-wash">;
427
- token: z.ZodEnum<{
428
- accent: "accent";
429
- primary: "primary";
430
- secondary: "secondary";
431
- }>;
432
- intensity: z.ZodOptional<z.ZodEnum<{
433
- soft: "soft";
434
- strong: "strong";
435
- balanced: "balanced";
436
- }>>;
437
- }, z.core.$strict>, z.ZodObject<{
438
- kind: z.ZodLiteral<"neutral-scrim">;
439
- intensity: z.ZodOptional<z.ZodEnum<{
440
- soft: "soft";
441
- strong: "strong";
442
- balanced: "balanced";
443
- }>>;
444
- }, z.core.$strict>, z.ZodObject<{
445
- kind: z.ZodLiteral<"neutral-wash">;
446
- intensity: z.ZodOptional<z.ZodEnum<{
447
- soft: "soft";
448
- strong: "strong";
449
- balanced: "balanced";
450
- }>>;
451
- }, z.core.$strict>, z.ZodObject<{
452
- kind: z.ZodLiteral<"solid-panel">;
453
- intensity: z.ZodOptional<z.ZodEnum<{
454
- soft: "soft";
455
- strong: "strong";
456
- balanced: "balanced";
457
- }>>;
458
- }, z.core.$strict>], "kind">>;
459
- imageSurfaceMotion: z.ZodOptional<z.ZodEnum<{
460
- static: "static";
461
- "fixed-frame": "fixed-frame";
462
- }>>;
463
- testimonialCardTreatment: z.ZodOptional<z.ZodEnum<{
464
- default: "default";
465
- "accent-quote": "accent-quote";
466
- }>>;
467
- tileTreatment: z.ZodOptional<z.ZodEnum<{
468
- default: "default";
469
- quiet: "quiet";
470
- "brand-depth": "brand-depth";
471
- }>>;
472
- eventListTreatment: z.ZodOptional<z.ZodEnum<{
473
- plain: "plain";
474
- "lined-panel": "lined-panel";
475
- "ruled-register": "ruled-register";
476
- "editorial-register": "editorial-register";
477
- "dense-index": "dense-index";
478
- }>>;
479
- eyebrowTreatment: z.ZodOptional<z.ZodEnum<{
480
- accent: "accent";
481
- pill: "pill";
482
- plain: "plain";
483
- "accent-pill": "accent-pill";
484
- "pill-bounce": "pill-bounce";
485
- "accent-pill-bounce": "accent-pill-bounce";
486
- }>>;
487
- }, z.core.$strict>>;
488
- styleAuthorities: z.ZodArray<z.ZodObject<{
489
- unit: z.ZodLiteral<"block-runtime-fields">;
490
- blockId: z.ZodPipe<z.ZodString, z.ZodTransform<DesignBlockId, string>>;
491
- fields: z.ZodPipe<z.ZodArray<z.ZodEnum<{
492
- _frameStyles: "_frameStyles";
493
- _sectionStyles: "_sectionStyles";
494
- _containerStyles: "_containerStyles";
495
- _cardStyles: "_cardStyles";
496
- _transitionStyles: "_transitionStyles";
497
- styleGroup: "styleGroup";
498
- }>>, z.ZodTransform<NonEmptyRuntimeStyleFieldNames, ("_frameStyles" | "_sectionStyles" | "_containerStyles" | "_cardStyles" | "_transitionStyles" | "styleGroup")[]>>;
499
- authority: z.ZodDiscriminatedUnion<[z.ZodObject<{
500
- kind: z.ZodLiteral<"theme-v2">;
501
- source: z.ZodEnum<{
502
- user: "user";
503
- admin: "admin";
504
- sdk: "sdk";
505
- generated: "generated";
506
- }>;
507
- siteStyleId: z.ZodPipe<z.ZodString, z.ZodTransform<SiteStyleId, string>>;
508
- templateId: z.ZodPipe<z.ZodString, z.ZodTransform<DesignSystemTemplateId, string>>;
509
- templateVersion: z.ZodNumber;
510
- resolverVersion: z.ZodNumber;
511
- }, z.core.$strict>, z.ZodObject<{
512
- kind: z.ZodLiteral<"legacy-raw">;
513
- reason: z.ZodEnum<{
514
- "pre-theme-v2": "pre-theme-v2";
515
- "manual-runtime-fields": "manual-runtime-fields";
516
- }>;
517
- }, z.core.$strict>, z.ZodObject<{
518
- kind: z.ZodLiteral<"advanced-detached">;
519
- reason: z.ZodLiteral<"detached-custom-runtime-fields">;
520
- }, z.core.$strict>], "kind">;
521
- }, z.core.$strict>>;
522
- }, z.core.$strict>;
523
- export declare function parsePersistedPageDesignState(value: unknown): DesignStateParseResult;
524
141
  export declare function collectRuntimeStyleFieldNames(content: Readonly<Record<string, unknown>>): readonly ThemeV2RuntimeStyleFieldName[];
525
142
  export declare function classifyRuntimeStyleFields(input: Readonly<{
526
143
  content: Readonly<Record<string, unknown>>;
527
144
  authority?: StyleAuthority;
528
145
  }>): RuntimeStyleClassification;
529
146
  export declare function canWriteThemeV2RuntimeFields(authority: StyleAuthority | undefined): authority is ThemeV2StyleAuthority;
147
+ /**
148
+ * Replace every compiler-owned field on a block's content with a fresh compiled
149
+ * set — the one primitive both writers of compiled output share.
150
+ *
151
+ * Replacement rather than merge is the whole point: a field the new
152
+ * compilation does not produce must *go*, or a recompile onto a Look that asks
153
+ * for no card leaves the old `_cardStyles` sitting there claiming a surface
154
+ * nobody asked for. Every writer that discovers compiler ownership for itself
155
+ * eventually forgets one of these names, so nobody does.
156
+ *
157
+ * Pure, and deliberately free of authority checks — those belong to the
158
+ * persistence wrapper, not to the shape of the content.
159
+ */
160
+ export declare function withCompiledRuntimeStyleFields<TContent extends Record<string, unknown>, TFields extends ThemeV2RuntimeStyleFields>(input: Readonly<{
161
+ content: TContent;
162
+ fields: TFields;
163
+ }>): Omit<TContent, ThemeV2CompilerOwnedFieldName> & TFields;
530
164
  /**
531
165
  * Persisted Theme V2 output is compile-at-write: once a block has Theme V2
532
166
  * authority, compiler-owned runtime fields are replaced in the same content
@@ -538,4 +172,6 @@ export declare function replaceCompiledRuntimeStyleFields<TContent extends Recor
538
172
  fields: TFields;
539
173
  authority?: StyleAuthority;
540
174
  }>): RuntimeStyleWriteResultForFields<TContent, TFields>;
541
- export declare function summarizePageStyleAuthorities<TBlockId extends string>(state: Pick<PersistedPageDesignState<TBlockId>, 'styleAuthorities'>): PageStyleAuthoritySummary<TBlockId>;
175
+ export declare function summarizePageStyleAuthorities<TBlockId extends string>(state: Readonly<{
176
+ styleAuthorities: readonly BlockRuntimeStyleAuthority<TBlockId>[];
177
+ }>): PageStyleAuthoritySummary<TBlockId>;
@@ -76,22 +76,18 @@ export declare const generatedBlockDesignIntentSchema: z.ZodObject<{
76
76
  }>;
77
77
  }, z.core.$strict>], "kind">;
78
78
  }, z.core.$strict>], "kind">;
79
- itemSurface: z.ZodDiscriminatedUnion<[z.ZodObject<{
79
+ cardRole: z.ZodDiscriminatedUnion<[z.ZodObject<{
80
80
  source: z.ZodLiteral<"generated">;
81
81
  kind: z.ZodLiteral<"auto">;
82
82
  }, z.core.$strict>, z.ZodObject<{
83
83
  source: z.ZodLiteral<"generated">;
84
84
  kind: z.ZodLiteral<"explicit">;
85
- value: z.ZodEnum<{
86
- flat: "flat";
85
+ value: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
86
+ open: "open";
87
87
  default: "default";
88
88
  none: "none";
89
- raised: "raised";
90
- editorial: "editorial";
91
- "color-blocked": "color-blocked";
92
- inset: "inset";
93
- outlined: "outlined";
94
- }>;
89
+ alternative: "alternative";
90
+ }>>;
95
91
  }, z.core.$strict>], "kind">;
96
92
  transitionAfter: z.ZodDiscriminatedUnion<[z.ZodObject<{
97
93
  source: z.ZodLiteral<"generated">;
@@ -231,22 +227,18 @@ export declare const generatedPageDesignIntentSchema: z.ZodObject<{
231
227
  }>;
232
228
  }, z.core.$strict>], "kind">;
233
229
  }, z.core.$strict>], "kind">;
234
- itemSurface: z.ZodDiscriminatedUnion<[z.ZodObject<{
230
+ cardRole: z.ZodDiscriminatedUnion<[z.ZodObject<{
235
231
  source: z.ZodLiteral<"generated">;
236
232
  kind: z.ZodLiteral<"auto">;
237
233
  }, z.core.$strict>, z.ZodObject<{
238
234
  source: z.ZodLiteral<"generated">;
239
235
  kind: z.ZodLiteral<"explicit">;
240
- value: z.ZodEnum<{
241
- flat: "flat";
236
+ value: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
237
+ open: "open";
242
238
  default: "default";
243
239
  none: "none";
244
- raised: "raised";
245
- editorial: "editorial";
246
- "color-blocked": "color-blocked";
247
- inset: "inset";
248
- outlined: "outlined";
249
- }>;
240
+ alternative: "alternative";
241
+ }>>;
250
242
  }, z.core.$strict>], "kind">;
251
243
  transitionAfter: z.ZodDiscriminatedUnion<[z.ZodObject<{
252
244
  source: z.ZodLiteral<"generated">;
@@ -1,6 +1,6 @@
1
1
  import type { ThemeHeader } from '../schema';
2
2
  import type { HeaderInteractionPaletteOptionGroup } from './headerInteractionPalette';
3
- import type { HeaderOpeningForeground } from './headerOpeningForeground';
3
+ import type { ResolvedSurfaceForeground } from '../surfaces';
4
4
  import { type BrandDisplayMode, type LogoAccommodationOption, type LogoFacts, type LogoSizePolicy } from './logoBranding';
5
5
  import { type Brand } from './types';
6
6
  export declare const headerLayoutIdValues: readonly ["classic", "centered", "floating"];
@@ -97,11 +97,9 @@ export type HeaderOpeningSectionContext = Readonly<{
97
97
  canAdjust: true;
98
98
  }> | Readonly<{
99
99
  kind: 'color-section';
100
- contrast: 'light' | 'dark' | 'unknown';
101
100
  canAdjust: boolean;
102
101
  }> | Readonly<{
103
102
  kind: 'gradient-section';
104
- contrast: 'light' | 'dark' | 'unknown';
105
103
  canAdjust: boolean;
106
104
  }> | Readonly<{
107
105
  kind: 'dynamic-media';
@@ -128,7 +126,7 @@ export type HeaderLogoContext = HeaderLogoShapeContext | HeaderLogoFactsContext;
128
126
  export declare const defaultHeaderLogoContext: HeaderLogoContext;
129
127
  export type HeaderSelectionContext = Readonly<{
130
128
  openingSection: HeaderOpeningSectionContext;
131
- openingForeground: HeaderOpeningForeground;
129
+ openingForeground: ResolvedSurfaceForeground;
132
130
  logo: HeaderLogoContext;
133
131
  navigation: Readonly<{
134
132
  itemCount: number;
@@ -1,15 +1,8 @@
1
1
  import type { Theme } from '../schema';
2
- import { type ThemeColorToken } from '../tokens';
2
+ import type { ResolvedSurfaceForeground } from '../surfaces';
3
3
  import type { HeaderStyleDefinition } from './headerLayoutTypes';
4
- export type HeaderOpeningForeground = Readonly<{
5
- kind: 'known';
6
- token: ThemeColorToken;
7
- evidence: 'declared-opening-surface' | 'theme-default';
8
- }> | Readonly<{
9
- kind: 'unknown';
10
- }>;
11
4
  export type HeaderOpeningForegroundContext = Readonly<{
12
- openingForeground: HeaderOpeningForeground;
5
+ openingForeground: ResolvedSurfaceForeground;
13
6
  }>;
14
7
  export type HeaderStyleAvailability = Readonly<{
15
8
  kind: 'available';
@@ -1,6 +1,5 @@
1
1
  import type { BlockDesignPlan, DesignBlockId, ResolvedBlockDesignPlan } from './types';
2
2
  import type { HeaderLayoutStyleSelection, HeaderOpeningSectionContext } from './headerLayoutStyles';
3
- import type { HeaderOpeningForeground } from './headerOpeningForeground';
4
3
  export type HeaderOpeningSectionRepair = 'promote-opening-hero-surface' | 'add-opening-contrast-overlay' | 'add-opening-top-spacing';
5
4
  export type HeaderOpeningSectionPlan<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
6
5
  plan: readonly BlockDesignPlan<TBlockId>[];
@@ -16,7 +15,6 @@ export declare function planGeneratedHeaderOpeningSection<TBlockId extends Desig
16
15
  recommendedHeaderSelections: readonly HeaderLayoutStyleSelection[];
17
16
  }>): HeaderOpeningSectionPlan<TBlockId>;
18
17
  export declare function deriveHeaderOpeningSectionContextFromContent(input: HeaderOpeningContentSnapshot): HeaderOpeningSectionContext;
19
- export declare function deriveHeaderOpeningForegroundFromContent(input: HeaderOpeningContentSnapshot): HeaderOpeningForeground;
20
18
  export declare function deriveHeaderOpeningSectionContext(input: Readonly<{
21
19
  openingBlock: ResolvedBlockDesignPlan | null;
22
20
  openingContent?: Record<string, unknown> | null;
@@ -2,6 +2,7 @@ export * from './accessibleSurfaces';
2
2
  export * from './appearancePresets';
3
3
  export * from './blockFlow';
4
4
  export * from './backgroundAppearance';
5
+ export * from './cardRoleVocabulary';
5
6
  export * from './compositionBudget';
6
7
  export * from './compilationPlan';
7
8
  export * from './contentTemplateDesignIntent';
@@ -22,14 +23,18 @@ export * from './lookOptionGroups';
22
23
  export * from './logoBranding';
23
24
  export * from './pageDesignAuthority';
24
25
  export * from './pageDesignEditorErrors';
26
+ export * from './pageDesignEditorCapabilities';
25
27
  export * from './pageDesignEditorModel';
28
+ export * from './pageDesignAppearanceAvailability';
26
29
  export * from './pageDesignIntent';
30
+ export * from './pageDesignIntentEquality';
27
31
  export * from './previewCustomization';
28
32
  export * from './persistedIdParseResult';
29
33
  export * from './rawStyleFields';
30
34
  export * from './records';
31
35
  export * from './resolver';
32
36
  export * from './runtimeCompiler';
37
+ export * from './runtimeBackgroundResolution';
33
38
  export * from './sectionTransitions';
34
39
  export * from './siteChromeBackgrounds';
35
40
  export * from './siteChromeNavPreferences';
@@ -0,0 +1,3 @@
1
+ import type { PageDesignEditorBlock } from './pageDesignEditorModel';
2
+ import type { AppearancePresetId } from './types';
3
+ export declare function isPageDesignAppearancePresetAvailable(block: Pick<PageDesignEditorBlock, 'lookAvailability' | 'availableLooks'>, appearancePresetId: AppearancePresetId): boolean;
@@ -0,0 +1,22 @@
1
+ import { type BlockDesignCapability, type CardRoleCapability, type UnsupportedBlockDesignCapabilityReason } from './types';
2
+ /**
3
+ * How a block's declared design capability reads to the page-design editor and
4
+ * to everything compiled from its read model.
5
+ */
6
+ export type PageDesignEditorBackgroundSupport = Readonly<{
7
+ kind: 'supported';
8
+ richBackgrounds: 'supported' | 'unsupported';
9
+ }> | Readonly<{
10
+ kind: 'unsupported';
11
+ reason: UnsupportedBlockDesignCapabilityReason | 'section-surfaces-unsupported' | 'missing-design-capability';
12
+ }>;
13
+ export declare function cardRoleCapabilityOf(capability: BlockDesignCapability | null): CardRoleCapability;
14
+ export declare function backgroundSupportForCapability(capability: BlockDesignCapability | null): PageDesignEditorBackgroundSupport;
15
+ /**
16
+ * The capability-derived half of a block's editor read model, in one call so
17
+ * the read-model builder does not grow a projection per axis.
18
+ */
19
+ export declare function capabilitySupportFor(capability: BlockDesignCapability | null): Readonly<{
20
+ backgroundSupport: PageDesignEditorBackgroundSupport;
21
+ cardRoles: CardRoleCapability;
22
+ }>;
@@ -1,6 +1,7 @@
1
+ import { type PageDesignEditorBackgroundSupport } from './pageDesignEditorCapabilities';
1
2
  import type { BlockDesignMetadata } from './blockFlow';
2
3
  import { type PageDesignDecisions } from './pageDesignIntent';
3
- import { type AppearancePresetId, type BlockDesignCapability, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type SiteStyleId, type UnsupportedBlockDesignCapabilityReason } from './types';
4
+ import { type AppearancePresetId, type BlockDesignCapability, type CardRoleCapability, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type SiteStyleId } from './types';
4
5
  import { type BoundaryOption } from './sectionTransitions';
5
6
  import type { PageDesignEditorBlockContentRevision, PageDesignEditorLayoutOption, PageDesignEditorLookOption, PageDesignEditorLooksForLayout } from './pageDesignEditorOptions';
6
7
  export { boundaryOptions, type BoundaryOption } from './sectionTransitions';
@@ -21,13 +22,6 @@ export type PageDesignEditorBlockInput<TBlockId extends DesignBlockId = DesignBl
21
22
  designCapability?: BlockDesignCapability | null;
22
23
  layoutOptionLabels?: Readonly<Record<string, string>>;
23
24
  }>;
24
- export type PageDesignEditorBackgroundSupport = Readonly<{
25
- kind: 'supported';
26
- richBackgrounds: 'supported' | 'unsupported';
27
- }> | Readonly<{
28
- kind: 'unsupported';
29
- reason: UnsupportedBlockDesignCapabilityReason | 'section-surfaces-unsupported' | 'missing-design-capability';
30
- }>;
31
25
  export type PageDesignEditorChoice<TValue> = Readonly<{
32
26
  kind: 'auto';
33
27
  effectiveValue: TValue | null;
@@ -61,6 +55,13 @@ export type PageDesignEditorBlock<TBlockId extends DesignBlockId = DesignBlockId
61
55
  blockId: TBlockId;
62
56
  blockKind: string;
63
57
  backgroundSupport: PageDesignEditorBackgroundSupport;
58
+ /**
59
+ * Which card path this block renders, carried from its declared capability.
60
+ * The runtime compiler cannot re-derive it — it only sees design plans — and
61
+ * compiling a role for a block that still renders the legacy recipe would
62
+ * swap its card surface at render time.
63
+ */
64
+ cardRoles: CardRoleCapability;
64
65
  contentRevision?: PageDesignEditorBlockContentRevision;
65
66
  layout: PageDesignEditorSelection<LayoutVariantKey> | null;
66
67
  availableLayouts: readonly PageDesignEditorLayoutOption[];
@@ -0,0 +1,3 @@
1
+ import type { PageDesignIntent } from './pageDesignIntent';
2
+ import type { DesignBlockId } from './types';
3
+ export declare function pageDesignIntentsEqual<TBlockId extends DesignBlockId>(left: PageDesignIntent<TBlockId>, right: PageDesignIntent<TBlockId>): boolean;