@riverbankcms/sdk 0.129.1 → 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 (371) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +33 -11
  3. package/dist/{PreviewEditorSidebar-DceRseRV.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +327 -250
  4. package/dist/{PreviewEditorUI-BNunq3kk.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-B1kbhaJD.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-Bt87-62u.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +235 -211
  7. package/dist/{SiteChromeCustomizeContext-BLl-OlL4.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +12981 -11912
  8. package/dist/_dts/ai/src/contracts/proposalPrimitives.d.ts +52 -0
  9. package/dist/_dts/ai/src/contracts/proposals.d.ts +5256 -29129
  10. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +33429 -0
  11. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  12. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  13. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  14. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  15. package/dist/_dts/api/src/appointmentSetup.d.ts +21 -9
  16. package/dist/_dts/api/src/bookingConfig.d.ts +12 -64
  17. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +17 -16
  18. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
  19. package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
  20. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  21. package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
  22. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
  23. package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
  24. package/dist/_dts/api/src/endpoints.d.ts +1355 -1318
  25. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  26. package/dist/_dts/api/src/eventManagementContracts.d.ts +152 -0
  27. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
  28. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
  29. package/dist/_dts/api/src/index.d.ts +12 -3
  30. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  31. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  32. package/dist/_dts/api/src/oauth.d.ts +8 -0
  33. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  34. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +22 -47
  35. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
  36. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
  37. package/dist/_dts/api/src/sdk-event-schedule.d.ts +5 -0
  38. package/dist/_dts/api/src/sdk-event-upsert.d.ts +114 -20
  39. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  40. package/dist/_dts/api/src/sdkContracts.d.ts +43 -79
  41. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  42. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +35 -0
  43. package/dist/_dts/api/src/sdkThemeWire.d.ts +2256 -302
  44. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  45. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  46. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  47. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  48. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +17 -4
  49. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +23 -37
  50. package/dist/_dts/api/src/types.d.ts +7 -59
  51. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  52. package/dist/_dts/block-form/src/index.d.ts +23 -22
  53. package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
  54. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +6 -8
  55. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -14
  56. package/dist/_dts/blocks/src/index.d.ts +5 -3
  57. package/dist/_dts/blocks/src/lib/media.d.ts +9 -539
  58. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  59. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
  62. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
  63. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  64. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -2
  65. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +142 -120
  66. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +37 -4
  68. package/dist/_dts/blocks/src/system/blocks/site-footer-nav-groups-layout.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +3 -0
  70. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  71. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  72. package/dist/_dts/blocks/src/system/componentFactory.d.ts +5 -5
  73. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +9 -9
  74. package/dist/_dts/blocks/src/system/customize/serializeBackgroundOverride.d.ts +3 -0
  75. package/dist/_dts/blocks/src/system/fields/background.d.ts +2 -20
  76. package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +17 -0
  77. package/dist/_dts/blocks/src/system/fields/backgroundContentAudit.d.ts +20 -0
  78. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +18 -34
  79. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  80. package/dist/_dts/blocks/src/system/fragments/builder.d.ts +1 -0
  81. package/dist/_dts/blocks/src/system/fragments/types.d.ts +1 -0
  82. package/dist/_dts/blocks/src/system/helpers/index.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +10 -45
  84. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +7 -4
  85. package/dist/_dts/blocks/src/system/manifest/fieldValidation/writeCanonicalization.d.ts +4 -0
  86. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +123 -55
  87. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  88. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  89. package/dist/_dts/blocks/src/system/registry.d.ts +2 -0
  90. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  91. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  92. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  93. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +2 -37
  94. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +61 -24
  95. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +30 -12
  96. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +3 -5
  97. package/dist/_dts/blocks/src/system/runtime/header/headerScrollRuntime.d.ts +2 -0
  98. package/dist/_dts/blocks/src/system/runtime/header/runtimeContract.d.ts +22 -0
  99. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  100. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  101. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  104. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +3 -0
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
  109. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  110. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.frame.d.ts +21 -0
  112. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -12
  114. package/dist/_dts/blocks/src/system/runtime/nodes/shop.pass-contract.d.ts +3 -0
  115. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +3 -3
  116. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  117. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  118. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  119. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
  120. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +7 -1
  121. package/dist/_dts/blocks/src/system/transforms/registry/background.d.ts +1 -1
  122. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +29 -1
  123. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +4 -1
  124. package/dist/_dts/blocks/src/system/transforms/registry/headerRuntime.d.ts +3 -0
  125. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  126. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -40
  127. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +41 -43
  128. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +4 -2
  129. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +2 -17
  130. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +5 -0
  131. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  132. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  133. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +21 -0
  134. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  135. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +11 -1
  136. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +26 -0
  137. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
  138. package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
  139. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
  140. package/dist/_dts/core/src/booking-date-time.d.ts +2 -2
  141. package/dist/_dts/core/src/booking-time-zone.d.ts +6 -0
  142. package/dist/_dts/core/src/branded.d.ts +4 -0
  143. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  144. package/dist/_dts/core/src/footer-composition-types.d.ts +4 -4
  145. package/dist/_dts/core/src/footer-navigation-layout.d.ts +4 -0
  146. package/dist/_dts/core/src/index.d.ts +4 -0
  147. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  148. package/dist/_dts/core/src/secret.d.ts +44 -0
  149. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +379 -18
  150. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  151. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  152. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  153. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  154. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  155. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  156. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  157. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  158. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  159. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  160. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  161. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  162. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  163. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  164. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  165. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  166. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  167. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  168. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  169. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  170. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  171. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  172. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  173. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  174. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  175. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  176. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  177. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  178. package/dist/_dts/preview-next/src/client/preview/FooterSidebarDisclosure.d.ts +8 -0
  179. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
  180. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +15 -17
  181. package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +20 -0
  182. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -5
  183. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -5
  184. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  185. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -4
  186. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -5
  187. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +6 -7
  188. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +7 -7
  189. package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +4 -4
  190. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -2
  191. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +12 -11
  192. package/dist/_dts/preview-next/src/client/preview/siteChromeSelectionRows.d.ts +53 -0
  193. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  194. package/dist/_dts/preview-next/src/client/preview/siteStyleAccess.d.ts +1 -6
  195. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +6 -15
  196. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -6
  197. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  198. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  199. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  200. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  201. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  202. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  203. package/dist/_dts/sdk/src/config/types.d.ts +1 -0
  204. package/dist/_dts/sdk/src/config/validation.d.ts +2 -0
  205. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  206. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +64 -79
  207. package/dist/_dts/sdk/src/next/catch-all-theme-admission.d.ts +23 -0
  208. package/dist/_dts/sdk/src/next/index.d.ts +8 -6
  209. package/dist/_dts/sdk/src/next/resolveTheme.d.ts +1 -2
  210. package/dist/_dts/sdk/src/next/types.d.ts +10 -0
  211. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  212. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -16
  213. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +4 -3
  214. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +5 -3
  215. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -1
  216. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +4 -2
  217. package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
  218. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +15 -2
  219. package/dist/_dts/sdk/src/rendering/server.d.ts +2 -0
  220. package/dist/_dts/sdk/src/rendering/themeAdmission.d.ts +11 -0
  221. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  222. package/dist/_dts/sdk/src/version.d.ts +1 -1
  223. package/dist/_dts/theme-core/src/blockOverrides.d.ts +1 -1
  224. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +184 -0
  225. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +96 -0
  226. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +78 -0
  227. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  228. package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +2 -2
  229. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +9 -57
  230. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +6 -3
  231. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +8 -7
  232. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +1 -0
  233. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +11 -0
  234. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +12 -0
  235. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +5 -0
  236. package/dist/_dts/theme-core/src/buttons/types.d.ts +51 -4
  237. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  238. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  239. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  240. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  241. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  242. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  243. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  244. package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
  245. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  246. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  247. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  248. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  249. package/dist/_dts/theme-core/src/lib/media.d.ts +583 -10
  250. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +5085 -1524
  251. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  252. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  253. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  254. package/dist/_dts/theme-core/src/schema.d.ts +5300 -2019
  255. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
  256. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  257. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  258. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  259. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
  260. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  261. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +6 -14
  262. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +29 -102
  263. package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +3 -76
  264. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  265. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -7
  266. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipelineHelpers.d.ts +17 -0
  267. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  268. package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +281 -0
  269. package/dist/_dts/theme-core/src/site-styles/headerLayoutResolution.d.ts +13 -0
  270. package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +6 -0
  271. package/dist/_dts/theme-core/src/site-styles/{headerLookTypes.d.ts → headerLayoutTypes.d.ts} +18 -90
  272. package/dist/_dts/theme-core/src/site-styles/headerNavStyles.d.ts +6 -0
  273. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +7 -11
  274. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -4
  275. package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +2 -2
  276. package/dist/_dts/theme-core/src/site-styles/imageSurfaceBackground.d.ts +14 -0
  277. package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -1
  278. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  279. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  280. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  281. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  282. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -41
  283. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  284. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +32 -0
  285. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -68
  286. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +1 -1
  287. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  288. package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
  289. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  290. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  291. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  292. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  293. package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
  294. package/dist/client/{CourseRegistrationWizard-xRmA7REV.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
  295. package/dist/client/{DiscountCodeDisclosure-B9vriL5C.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
  296. package/dist/client/{EventCombined.client-BgVnVTlz.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
  297. package/dist/client/{EventListing.client-CqdsO7jO.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
  298. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  299. package/dist/client/{LeafletStaticMap-CKPxot9M.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
  300. package/dist/client/{StepIndicator-DGCYuBJ1.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
  301. package/dist/client/{accordion-BfN5Eqd-.mjs → accordion-_boYwHHi.mjs} +1 -1
  302. package/dist/client/{bookingForm-DOvCpBFP.mjs → bookingForm--AqEfyBX.mjs} +56 -39
  303. package/dist/client/bookings.mjs +1348 -1157
  304. package/dist/client/{carousel-DPNmiH0f.mjs → carousel-CVI2dqZr.mjs} +2 -2
  305. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  306. package/dist/client/{cart--egVXlrR.mjs → cart-DR6IiPz9.mjs} +3 -3
  307. package/dist/client/{checkout-DywWtMcq.mjs → checkout-CsrGAfQt.mjs} +3 -3
  308. package/dist/client/client.mjs +20935 -19889
  309. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  310. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  311. package/dist/client/{courseRegistration-Dk9qFVwt.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
  312. package/dist/client/{eventCalendar-Bkz2HjlS.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
  313. package/dist/client/{eventCombined-D4kipYWg.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
  314. package/dist/client/{eventDetails-Dz_5ix2Q.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
  315. package/dist/client/{eventListing-D0vm-zST.mjs → eventListing-DuP1yhBS.mjs} +3 -3
  316. package/dist/client/{eventRegistration-Cw1E4Q4p.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
  317. package/dist/client/{form-C2Zf1n3K.mjs → form-BA4t3kKU.mjs} +4 -4
  318. package/dist/client/{headerSection-CP05gzdc.mjs → headerSection-CpNaJxhW.mjs} +151 -104
  319. package/dist/client/hooks.mjs +6328 -6104
  320. package/dist/client/{locationMap-Cl3x9PYJ.mjs → locationMap-3HGMCL7_.mjs} +3 -3
  321. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  322. package/dist/client/{newsletterForm-DyEJoClm.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
  323. package/dist/client/{pricing-DGuNR1W4.mjs → pricing-BiqIMgZk.mjs} +1 -1
  324. package/dist/client/{productDetail-Cq-HrGew.mjs → productDetail-C9joWhdE.mjs} +3 -3
  325. package/dist/client/{productList-DbB3jwqd.mjs → productList-CjzdU3pB.mjs} +3 -3
  326. package/dist/client/{propsDecoder-CiTuhUwY.mjs → propsDecoder-CBPGXEYX.mjs} +2480 -2478
  327. package/dist/client/rendering/client.mjs +5371 -6741
  328. package/dist/client/rendering/islands.mjs +20 -20
  329. package/dist/client/rendering.mjs +18616 -17447
  330. package/dist/client/{scrollToBlock-CShkRqab.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
  331. package/dist/client/{shop-Cu4Ib-ZA.mjs → shop-CQRai7hj.mjs} +36 -25
  332. package/dist/client/{shop-commerce-BzpsOdh7.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
  333. package/dist/client/{shop-commerce-store-DaE7Fhj8.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
  334. package/dist/client/{shopShared-cF0c20vB.mjs → shopShared-DP8DXTkF.mjs} +12 -6
  335. package/dist/client/{useEventFilters-QZ3HMgaJ.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
  336. package/dist/client/{usePolling-BKf0GcE-.mjs → usePolling-Cls91SD2.mjs} +2 -2
  337. package/dist/preview-next/before-render.mjs +202 -129
  338. package/dist/preview-next/client/runtime.mjs +4 -4
  339. package/dist/preview-next/keepAlive.mjs +7406 -29
  340. package/dist/preview-next/middleware.mjs +196 -128
  341. package/dist/{previewAuthStore-BesgU5Xu.mjs → previewAuthStore-CX1C_KJ4.mjs} +195 -128
  342. package/dist/{sdk-runtime-C20CVWbb.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
  343. package/dist/{separator-BE3NCquy.mjs → separator-BXlYN_gr.mjs} +1 -1
  344. package/dist/server/components.mjs +22644 -21375
  345. package/dist/server/config-validation.mjs +6507 -6309
  346. package/dist/server/config.mjs +6511 -6313
  347. package/dist/server/data.mjs +6311 -6104
  348. package/dist/server/date-time.mjs +22 -13
  349. package/dist/server/index.mjs +196 -129
  350. package/dist/server/next.mjs +22782 -21578
  351. package/dist/server/page-converter.mjs +4769 -6213
  352. package/dist/server/prebuild.mjs +1 -1
  353. package/dist/server/rendering/server.mjs +20525 -20291
  354. package/dist/server/rendering.mjs +22677 -21389
  355. package/dist/server/routing.mjs +6651 -5398
  356. package/dist/server/server.mjs +6389 -6256
  357. package/dist/server/theme-bridge.mjs +2251 -2465
  358. package/dist/server/theme.mjs +974 -642
  359. package/dist/styles/index.css +317 -337
  360. package/package.json +3 -2
  361. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  362. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  363. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  364. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +0 -66
  365. package/dist/_dts/theme-core/src/site-styles/headerLayoutStyleCatalog.d.ts +0 -254
  366. package/dist/_dts/theme-core/src/site-styles/headerLegacyLooks.d.ts +0 -372
  367. package/dist/_dts/theme-core/src/site-styles/headerLookBranding.d.ts +0 -106
  368. package/dist/_dts/theme-core/src/site-styles/headerLookSelection.d.ts +0 -2
  369. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +0 -7
  370. package/dist/_dts/theme-core/src/site-styles/headerStyleCompilerPrimitives.d.ts +0 -23
  371. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
@@ -1,12 +1,15 @@
1
- import type { ResolvedButtonColour, ResolvedButtonFocusIndicator } from './resolveButtonColourStates';
1
+ import type { ButtonVisualState, ResolvedButtonColour, ResolvedButtonFocusIndicator } from './resolveButtonColourStates';
2
2
  export type ButtonCssDeclaration = readonly [property: string, value: string];
3
3
  /**
4
4
  * Canonical colour declaration mapping shared by full themes and ThemeBridge.
5
5
  * Both background properties are always emitted so transitions cannot retain
6
6
  * a stale gradient or solid layer.
7
7
  */
8
- export declare function resolvedButtonColourDeclarations(colour: ResolvedButtonColour): readonly ButtonCssDeclaration[];
9
- export declare function resolvedButtonFocusDeclarations(indicator: ResolvedButtonFocusIndicator): readonly ButtonCssDeclaration[];
8
+ export declare function resolvedButtonColourDeclarations(colour: ResolvedButtonColour, action?: Readonly<{
9
+ role: string;
10
+ state: ButtonVisualState;
11
+ }>): readonly ButtonCssDeclaration[];
12
+ export declare function resolvedButtonFocusDeclarations(indicator: ResolvedButtonFocusIndicator, role?: string): readonly ButtonCssDeclaration[];
10
13
  /**
11
14
  * Disabled buttons retain their validated colour pair and add a non-layout
12
15
  * visual affordance. `currentColor` keeps the cue inside the same contrast
@@ -1,6 +1,6 @@
1
1
  import type { z } from 'zod';
2
2
  import type { StyleTags } from '../../site-styles/styleTags';
3
- import type { ButtonGlobalSettings, ButtonSizes, ButtonSystem, ButtonVariant } from '../types';
3
+ import type { ButtonGlobalSettings, ButtonSizes, ButtonSurfacePolicy, ButtonSystem, ButtonVariant } from '../types';
4
4
  export declare const PUBLIC_BUTTON_ROLES: readonly ["primary", "secondary", "outline", "ghost", "accent"];
5
5
  export type PublicButtonRole = (typeof PUBLIC_BUTTON_ROLES)[number];
6
6
  export type CompleteButtonRole = 'primary' | 'secondary';
@@ -13,7 +13,7 @@ export type PublicButtonVariant<TRole extends PublicButtonRole = PublicButtonRol
13
13
  export type CompleteButtonRoles = Readonly<{
14
14
  [TRole in PublicButtonRole]: PublicButtonVariant<TRole>;
15
15
  }>;
16
- type CompleteRoleDefinition<TRole extends PublicButtonRole> = Readonly<{
16
+ type CompleteRoleDefinition = Readonly<{
17
17
  kind: 'complete';
18
18
  appearance: ButtonVariantAppearance;
19
19
  }>;
@@ -23,16 +23,17 @@ type DerivedRoleDefinition = Readonly<{
23
23
  overrides?: Partial<ButtonVariantAppearance>;
24
24
  }>;
25
25
  export type ButtonRoleDefinitions = Readonly<{
26
- primary: CompleteRoleDefinition<'primary'>;
27
- secondary: CompleteRoleDefinition<'secondary'>;
28
- outline: CompleteRoleDefinition<'outline'> | DerivedRoleDefinition;
29
- ghost: CompleteRoleDefinition<'ghost'> | DerivedRoleDefinition;
30
- accent: CompleteRoleDefinition<'accent'> | DerivedRoleDefinition;
26
+ primary: CompleteRoleDefinition;
27
+ secondary: CompleteRoleDefinition;
28
+ outline: CompleteRoleDefinition | DerivedRoleDefinition;
29
+ ghost: CompleteRoleDefinition | DerivedRoleDefinition;
30
+ accent: CompleteRoleDefinition | DerivedRoleDefinition;
31
31
  }>;
32
32
  export type ButtonStyleSystemDefinition = Readonly<{
33
33
  global: ButtonGlobalSettings;
34
34
  sizes?: ButtonSizes;
35
35
  roles: ButtonRoleDefinitions;
36
+ surfacePolicy?: ButtonSurfacePolicy;
36
37
  }>;
37
38
  type StringParameterKey<TParameters> = Extract<keyof TParameters, string>;
38
39
  export type ButtonStyleControl<TParameters> = {
@@ -63,5 +63,6 @@ export declare const quietArrowRecipe: Readonly<{
63
63
  overrides?: Partial<import("..").ButtonVariantAppearance>;
64
64
  }>;
65
65
  }>;
66
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
66
67
  }>;
67
68
  }>;
@@ -55,6 +55,7 @@ export declare const softPillRecipe: Readonly<{
55
55
  overrides?: Partial<import("..").ButtonVariantAppearance>;
56
56
  }>;
57
57
  }>;
58
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
58
59
  }>;
59
60
  }>;
60
61
  export declare const earthPillRecipe: Readonly<{
@@ -114,6 +115,7 @@ export declare const earthPillRecipe: Readonly<{
114
115
  overrides?: Partial<import("..").ButtonVariantAppearance>;
115
116
  }>;
116
117
  }>;
118
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
117
119
  }>;
118
120
  }>;
119
121
  export declare const confidentChipRecipe: Readonly<{
@@ -173,6 +175,7 @@ export declare const confidentChipRecipe: Readonly<{
173
175
  overrides?: Partial<import("..").ButtonVariantAppearance>;
174
176
  }>;
175
177
  }>;
178
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
176
179
  }>;
177
180
  }>;
178
181
  export declare const editorialLinkRecipe: Readonly<{
@@ -232,6 +235,7 @@ export declare const editorialLinkRecipe: Readonly<{
232
235
  overrides?: Partial<import("..").ButtonVariantAppearance>;
233
236
  }>;
234
237
  }>;
238
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
235
239
  }>;
236
240
  }>;
237
241
  export declare const pebbleRecipe: Readonly<{
@@ -291,6 +295,7 @@ export declare const pebbleRecipe: Readonly<{
291
295
  overrides?: Partial<import("..").ButtonVariantAppearance>;
292
296
  }>;
293
297
  }>;
298
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
294
299
  }>;
295
300
  }>;
296
301
  export declare const brushedWashRecipe: Readonly<{
@@ -350,6 +355,7 @@ export declare const brushedWashRecipe: Readonly<{
350
355
  overrides?: Partial<import("..").ButtonVariantAppearance>;
351
356
  }>;
352
357
  }>;
358
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
353
359
  }>;
354
360
  }>;
355
361
  export declare const inkStampRecipe: Readonly<{
@@ -409,6 +415,7 @@ export declare const inkStampRecipe: Readonly<{
409
415
  overrides?: Partial<import("..").ButtonVariantAppearance>;
410
416
  }>;
411
417
  }>;
418
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
412
419
  }>;
413
420
  }>;
414
421
  export declare const flatInkRecipe: Readonly<{
@@ -468,6 +475,7 @@ export declare const flatInkRecipe: Readonly<{
468
475
  overrides?: Partial<import("..").ButtonVariantAppearance>;
469
476
  }>;
470
477
  }>;
478
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
471
479
  }>;
472
480
  }>;
473
481
  export declare const showtimePillRecipe: Readonly<{
@@ -527,6 +535,7 @@ export declare const showtimePillRecipe: Readonly<{
527
535
  overrides?: Partial<import("..").ButtonVariantAppearance>;
528
536
  }>;
529
537
  }>;
538
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
530
539
  }>;
531
540
  }>;
532
541
  export declare const joyStampRecipe: Readonly<{
@@ -586,6 +595,7 @@ export declare const joyStampRecipe: Readonly<{
586
595
  overrides?: Partial<import("..").ButtonVariantAppearance>;
587
596
  }>;
588
597
  }>;
598
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
589
599
  }>;
590
600
  }>;
591
601
  export declare const ornateRitualRecipe: Readonly<{
@@ -645,5 +655,6 @@ export declare const ornateRitualRecipe: Readonly<{
645
655
  overrides?: Partial<import("..").ButtonVariantAppearance>;
646
656
  }>;
647
657
  }>;
658
+ surfacePolicy?: import("../..").ButtonSurfacePolicy;
648
659
  }>;
649
660
  }>;
@@ -58,6 +58,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
58
58
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
59
59
  }>;
60
60
  }>;
61
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
61
62
  }>;
62
63
  }>, Readonly<{
63
64
  id: "earth-pill";
@@ -116,6 +117,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
116
117
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
117
118
  }>;
118
119
  }>;
120
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
119
121
  }>;
120
122
  }>, Readonly<{
121
123
  id: "confident-chip";
@@ -174,6 +176,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
174
176
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
175
177
  }>;
176
178
  }>;
179
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
177
180
  }>;
178
181
  }>, Readonly<{
179
182
  id: "editorial-link";
@@ -232,6 +235,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
232
235
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
233
236
  }>;
234
237
  }>;
238
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
235
239
  }>;
236
240
  }>, Readonly<{
237
241
  id: "pebble";
@@ -290,6 +294,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
290
294
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
291
295
  }>;
292
296
  }>;
297
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
293
298
  }>;
294
299
  }>, Readonly<{
295
300
  id: "ink-stamp";
@@ -348,6 +353,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
348
353
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
349
354
  }>;
350
355
  }>;
356
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
351
357
  }>;
352
358
  }>, Readonly<{
353
359
  id: "flat-ink";
@@ -406,6 +412,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
406
412
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
407
413
  }>;
408
414
  }>;
415
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
409
416
  }>;
410
417
  }>, Readonly<{
411
418
  id: "brushed-wash";
@@ -464,6 +471,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
464
471
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
465
472
  }>;
466
473
  }>;
474
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
467
475
  }>;
468
476
  }>, Readonly<{
469
477
  id: "showtime-pill";
@@ -522,6 +530,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
522
530
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
523
531
  }>;
524
532
  }>;
533
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
525
534
  }>;
526
535
  }>, Readonly<{
527
536
  id: "joy-stamp";
@@ -580,6 +589,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
580
589
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
581
590
  }>;
582
591
  }>;
592
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
583
593
  }>;
584
594
  }>, Readonly<{
585
595
  id: "ornate-ritual";
@@ -638,6 +648,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
638
648
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
639
649
  }>;
640
650
  }>;
651
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
641
652
  }>;
642
653
  }>, Readonly<{
643
654
  id: "quiet-arrow";
@@ -704,6 +715,7 @@ export declare const buttonStyleRecipes: readonly [Readonly<{
704
715
  overrides?: Partial<import("./domain").ButtonVariantAppearance>;
705
716
  }>;
706
717
  }>;
718
+ surfacePolicy?: import("..").ButtonSurfacePolicy;
707
719
  }>;
708
720
  }>];
709
721
  export type RegisteredButtonStyleRecipe = (typeof buttonStyleRecipes)[number];
@@ -60,6 +60,11 @@ export declare const DEFAULT_BUTTON_STYLE_SELECTION: {
60
60
  };
61
61
  export declare function createDefaultButtonStyleSelection(styleId: ButtonStyleId): ButtonStyleSelection;
62
62
  export declare function isButtonStyleId(value: string): value is ButtonStyleId;
63
+ export type PersistedButtonStyleSelectionResult = Readonly<{
64
+ selection: ButtonStyleSelection;
65
+ warning: 'invalid-persisted-button-style-selection' | null;
66
+ }>;
67
+ export declare function parsePersistedButtonStyleSelection(value: unknown, fallback?: ButtonStyleSelection): PersistedButtonStyleSelectionResult;
63
68
  /**
64
69
  * Stable identity for a validated style selection. Parsing first canonicalises
65
70
  * parameter key order, so future recipe parameters do not require editor-core
@@ -6,9 +6,9 @@ import { type ThemeColorToken } from '../tokens/themeColorTokens';
6
6
  * Defines the type-safe configuration for site button styles.
7
7
  */
8
8
  export type Shadow = {
9
- elevation: "none" | "low" | "medium" | "high";
10
- softness: "crisp" | "soft" | "hard" | null;
11
- position: "bottom" | "bottom-right";
9
+ elevation: 'none' | 'low' | 'medium' | 'high';
10
+ softness: 'crisp' | 'soft' | 'hard' | null;
11
+ position: 'bottom' | 'bottom-right';
12
12
  /**
13
13
  * Optional palette token for the shadow colour. When omitted the shadow
14
14
  * falls back to the historical neutral black (`rgb(0 0 0 / …)`), so existing
@@ -105,7 +105,11 @@ export type ButtonColourTreatment = {
105
105
  colorToken: OpaqueButtonColourToken;
106
106
  } | {
107
107
  type: 'gradient';
108
- stops: [OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]];
108
+ stops: [
109
+ OpaqueButtonColourToken,
110
+ OpaqueButtonColourToken,
111
+ ...OpaqueButtonColourToken[]
112
+ ];
109
113
  direction: GradientDirection;
110
114
  foregroundToken: OpaqueButtonColourToken;
111
115
  } | {
@@ -313,6 +317,35 @@ export declare const variantRoleSchema: z.ZodEnum<{
313
317
  secondary: "secondary";
314
318
  ghost: "ghost";
315
319
  }>;
320
+ export declare const buttonSurfaceFallbackSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
321
+ kind: z.ZodLiteral<"surface-outline">;
322
+ }, z.core.$strict>, z.ZodObject<{
323
+ kind: z.ZodLiteral<"variant">;
324
+ role: z.ZodEnum<{
325
+ outline: "outline";
326
+ accent: "accent";
327
+ primary: "primary";
328
+ secondary: "secondary";
329
+ ghost: "ghost";
330
+ }>;
331
+ }, z.core.$strict>], "kind">;
332
+ export type ButtonSurfaceFallback = z.infer<typeof buttonSurfaceFallbackSchema>;
333
+ export type ButtonSurfacePolicy = Record<VariantRole, ButtonSurfaceFallback[]>;
334
+ type ReadonlyButtonSurfacePolicy = Readonly<Record<VariantRole, readonly ButtonSurfaceFallback[]>>;
335
+ export declare const STANDARD_BUTTON_SURFACE_POLICY: ReadonlyButtonSurfacePolicy;
336
+ export declare function createStandardButtonSurfacePolicy(): ButtonSurfacePolicy;
337
+ export declare const buttonSurfacePolicySchema: z.ZodObject<Record<"outline" | "accent" | "primary" | "secondary" | "ghost", z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
338
+ kind: z.ZodLiteral<"surface-outline">;
339
+ }, z.core.$strict>, z.ZodObject<{
340
+ kind: z.ZodLiteral<"variant">;
341
+ role: z.ZodEnum<{
342
+ outline: "outline";
343
+ accent: "accent";
344
+ primary: "primary";
345
+ secondary: "secondary";
346
+ ghost: "ghost";
347
+ }>;
348
+ }, z.core.$strict>], "kind">>>, z.core.$strict>;
316
349
  export declare const buttonSizeNameSchema: z.ZodEnum<{
317
350
  sm: "sm";
318
351
  md: "md";
@@ -2240,6 +2273,18 @@ export declare const buttonSystemSchema: z.ZodObject<{
2240
2273
  fontSize?: string | undefined;
2241
2274
  } | undefined;
2242
2275
  }>>>;
2276
+ surfacePolicy: z.ZodOptional<z.ZodObject<Record<"outline" | "accent" | "primary" | "secondary" | "ghost", z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2277
+ kind: z.ZodLiteral<"surface-outline">;
2278
+ }, z.core.$strict>, z.ZodObject<{
2279
+ kind: z.ZodLiteral<"variant">;
2280
+ role: z.ZodEnum<{
2281
+ outline: "outline";
2282
+ accent: "accent";
2283
+ primary: "primary";
2284
+ secondary: "secondary";
2285
+ ghost: "ghost";
2286
+ }>;
2287
+ }, z.core.$strict>], "kind">>>, z.core.$strict>>;
2243
2288
  }, z.core.$strict>;
2244
2289
  export type Priority = 1 | 2 | 3;
2245
2290
  interface ButtonGlobalSettingsBase {
@@ -2315,5 +2360,7 @@ export interface ButtonSystem {
2315
2360
  global: ButtonGlobalSettings;
2316
2361
  variants: ButtonVariant[];
2317
2362
  sizes?: ButtonSizes;
2363
+ /** Optional only for pre-policy in-memory fixtures; persistence canonicalizes it. */
2364
+ surfacePolicy?: ButtonSurfacePolicy;
2318
2365
  }
2319
2366
  export {};
@@ -4,6 +4,7 @@
4
4
  * Pure functions for generating card CSS without requiring the full Theme type.
5
5
  * Used by both the full CMS theme system and the SDK theme bridge.
6
6
  */
7
+ import type { CardEdgeRule } from './types';
7
8
  export type CardBackgroundType = 'solid' | 'transparent' | 'gradient';
8
9
  export type CardSpacingCore = 'none' | 'compact' | 'cozy' | 'medium' | 'comfortable' | 'spacious';
9
10
  export type CardCornerValueCore = 'square' | 'soft' | 'rounded' | 'pill' | 'expressive';
@@ -15,14 +16,20 @@ export interface CardCornerRadiiCore {
15
16
  bottomLeft?: CardCornerValueCore;
16
17
  bottomRight?: CardCornerValueCore;
17
18
  }
18
- export interface CardAccentEdgeCore {
19
- edge: CardEdgeCore;
20
- colorToken: string;
21
- width: CardEdgeWidthCore;
22
- }
23
19
  export interface CardVariantCore {
24
- /** Unique variant identifier (e.g., 'default', 'elevated') */
20
+ /** Unique variant identifier (e.g., 'default', 'alternative') */
25
21
  id: string;
22
+ /**
23
+ * Which card role this variant implements. Generated CSS addresses the
24
+ * variant by its stable `.card-role-*` alias as well as its id, so content
25
+ * compiled against the role contract renders on a bridge theme too.
26
+ */
27
+ role?: CardRoleCore;
28
+ /**
29
+ * Ids this variant used to ship under. They keep emitting their `.card-{id}`
30
+ * class so SDK sites that address an older variant name keep their surface.
31
+ */
32
+ legacyIds?: readonly string[];
26
33
  /** Background style */
27
34
  background: CardBackgroundType;
28
35
  /** Background color token for solid backgrounds */
@@ -41,10 +48,17 @@ export interface CardVariantCore {
41
48
  borderToken?: string;
42
49
  /** Border width */
43
50
  borderWidth?: 'none' | 'thin' | 'medium' | 'thick';
44
- /** Single accent edge; replaces the full border when set */
45
- accentEdge?: CardAccentEdgeCore;
51
+ /** Edge rules drawn on the card; coexists with the border */
52
+ decorations?: CardEdgeRule[];
46
53
  /** Per-corner radius override; wins over the global corners setting */
47
54
  cornerRadii?: CardCornerRadiiCore;
55
+ /**
56
+ * Opts a variant out of the theme's global card shadow. A boxless card has
57
+ * no box to cast one, so `open` sets it; every other variant inherits the
58
+ * setting as before. Named for what it does rather than mirroring
59
+ * `CardVariant.shadow`, which is an object describing a shadow.
60
+ */
61
+ suppressShadow?: true;
48
62
  }
49
63
  export interface CardCoreSettings {
50
64
  /** Corner radius style */
@@ -65,8 +79,38 @@ export interface CardCoreSettings {
65
79
  * @param settings - Global card settings
66
80
  * @returns CSS string
67
81
  */
68
- export declare function generateCardCoreCss(scopeId: string, variants: CardVariantCore[], settings: CardCoreSettings): string;
82
+ export declare function generateCardCoreCss(scopeId: string, variants: CardVariantCore[], settings: CardCoreSettings, scope?: CardClassScope): string;
83
+ /** The roles a bridge card variant can implement. `none` is never a variant. */
84
+ export type CardRoleCore = 'default' | 'alternative' | 'open';
85
+ /**
86
+ * Which half of a variant's class list to address.
87
+ *
88
+ * The split exists because the two halves have different lifecycles on a
89
+ * bridge theme. `.card-role-*` is the *contract*: compiled content names a
90
+ * role and expects a surface, so the aliases are emitted unconditionally.
91
+ * `.card-{id}` and its legacy ids are the *catalogue*: an SDK consumer opts
92
+ * into those by name through `components.cards`.
93
+ */
94
+ export type CardClassScope = 'all' | 'role-aliases' | 'named';
95
+ /** Every class a variant's rule is addressed by, within a scope. */
96
+ export declare function cardVariantClasses(variant: CardVariantCore, scope?: CardClassScope): string[];
69
97
  /**
70
- * Get default card variants for SDK usage.
98
+ * The default card variants for SDK/bridge themes — one per surface-backed
99
+ * role, so a bridge theme implements the same card contract a site style does
100
+ * and compiled `_cardStyles.role` renders on it.
101
+ *
102
+ * Two of the pre-role trio survive as legacy ids: `.card-elevated` is the
103
+ * `alternative` card under its old name, and both were the same surface before
104
+ * the rename. `outlined` is different — a fully bordered box is not what the
105
+ * `open` role means (boxless but marked), so it keeps its own variant and its
106
+ * own declarations as a *compatibility class only*. It carries no role, which
107
+ * means:
108
+ *
109
+ * - `.card-outlined` renders exactly what it always did;
110
+ * - `role: 'open'` renders the boxless marked card on a bridge theme, the same
111
+ * thing it renders under a site style;
112
+ * - naming `outlined` in `components.cards.variants` enables the compatibility
113
+ * class and nothing else — it does not publish `.card-role-open`, because
114
+ * selecting a legacy name is not a claim on a semantic role.
71
115
  */
72
116
  export declare function getDefaultCardVariants(): CardVariantCore[];
@@ -0,0 +1,33 @@
1
+ import type { CardEdgeRule, CardEdgeRuleWidth } from './types';
2
+ /**
3
+ * Card decoration CSS — the single implementation shared by the Theme-driven
4
+ * generator (`generateCardCss`) and the dependency-free core generator
5
+ * (`core.ts`). Both used to carry their own accent-edge emitter; they now
6
+ * differ only in how a colour token resolves to a CSS colour.
7
+ */
8
+ /** Resolves a palette token name to a CSS colour value. */
9
+ export type CardColorResolver = (token: string) => string;
10
+ export declare const CARD_EDGE_RULE_WIDTH_MAP: Record<CardEdgeRuleWidth, string>;
11
+ /**
12
+ * The one short-rule length in the corpus (the editorial-rule accent). A fixed
13
+ * constant keeps `length: 'short'` a semantic choice rather than a free number.
14
+ */
15
+ export declare const SHORT_CARD_EDGE_RULE_LENGTH = "2.75rem";
16
+ /** Apply a decoration's optional alpha to its resolved colour. */
17
+ export declare function cardDecorationColor(rule: CardEdgeRule, resolveColor: CardColorResolver): string;
18
+ /**
19
+ * Container border declarations for a variant's border and its full-length
20
+ * edge rules. The two are independent: a card may be outlined *and* carry an
21
+ * accent edge. A variant with edge rules and no border still zeroes the box so
22
+ * only the decorated sides draw.
23
+ */
24
+ export declare function cardBorderDeclarations(borderDeclaration: string | null, decorations: readonly CardEdgeRule[] | undefined, resolveColor: CardColorResolver): string[];
25
+ /**
26
+ * Complete pseudo-element rules for a variant's short edge rules.
27
+ *
28
+ * `cardDecorationsSchema` caps the list at two, which makes the two pseudos
29
+ * sufficient for anything that parsed. The dependency-free core types carry a
30
+ * plain array with no such cap, so short rules past the second are dropped
31
+ * here rather than silently overwriting `::after`.
32
+ */
33
+ export declare function cardDecorationPseudoRules(containerSelectors: readonly string[], decorations: readonly CardEdgeRule[] | undefined, resolveColor: CardColorResolver): string[];
@@ -6,9 +6,14 @@ import type { CardSystem } from './types';
6
6
  * Creates the baseline card roles that blocks can request:
7
7
  * - `default` for everyday surfaced cards
8
8
  * - `alternative` for emphasised cards
9
+ * - `open` for boxless-but-marked cards
9
10
  *
10
- * Both variants explicitly set theme.shadow and theme.corners for runtime
11
- * transform access, and both use theme.border when it has meaningful width.
11
+ * This is the terminal arm of the role fallback chain, so every theme
12
+ * implements every surface role whether or not its site style defines cards.
13
+ *
14
+ * The surfaced variants explicitly set theme.shadow and theme.corners for
15
+ * runtime transform access, and both use theme.border when it has meaningful
16
+ * width.
12
17
  *
13
18
  * This ensures cards have sensible defaults even when theme.cards is undefined.
14
19
  *
@@ -1,5 +1,8 @@
1
1
  export * from './types';
2
2
  export * from './constants';
3
+ export * from './decorations';
4
+ export * from './roles';
5
+ export * from './openCardVariant';
3
6
  export * from './generateCardCss';
4
7
  export * from './generateDefaultCardSystem';
5
8
  export * from './core';
@@ -0,0 +1,24 @@
1
+ import type { CardEdgeRuleWidth, CardVariant } from './types';
2
+ /**
3
+ * The boxless `open` card, as data.
4
+ *
5
+ * Every implementation of the role is the same shape — no fill, no box, square
6
+ * corners, an inline-flush content edge, a full hairline rule across the top
7
+ * and a short brand accent sitting on it. This absorbed the legacy
8
+ * `editorial-rule` treatment class, which Phase 3 deleted; the treatment's
9
+ * bundled `margin-top: 1rem` is deliberately absent, because outer rhythm is
10
+ * composition, not card identity. Pinned by `openCardVariant.test.ts`.
11
+ *
12
+ * What a site style gets to change is the *marking*: which token the accent
13
+ * uses and how heavy it is. Anna Raven's grounded-practice style takes her
14
+ * ochre `accent` where the generated baseline takes `primary`.
15
+ */
16
+ export declare function boxlessOpenCardVariant(marking: Readonly<{
17
+ /** Token for the short accent rule riding on the hairline. */
18
+ accentToken: string;
19
+ accentWidth: CardEdgeRuleWidth;
20
+ /** Token for the full-width hairline. Defaults to `border`. */
21
+ ruleToken?: string;
22
+ /** Opacity for the hairline, when it should sit back from the border colour. */
23
+ ruleAlpha?: number;
24
+ }>): CardVariant;
@@ -0,0 +1,38 @@
1
+ import type { Theme } from '../schema';
2
+ import type { CardRole, CardSystem, CardVariant, SurfaceCardRole } from './types';
3
+ /**
4
+ * Card role resolution — the closed interface between Looks (which say *which
5
+ * role*) and site styles (which say *what the role looks like*).
6
+ *
7
+ * The fallback chain is total, so a Look never has to know which variants a
8
+ * site style happens to define.
9
+ */
10
+ /** Where a resolved surface came from. */
11
+ export type CardSurfaceSource = 'site-style' | 'generated-baseline';
12
+ export type ResolvedCardSurface = {
13
+ kind: 'none';
14
+ requestedRole: CardRole;
15
+ } | {
16
+ kind: 'surface';
17
+ requestedRole: CardRole;
18
+ /** The role whose variant actually supplied the surface. */
19
+ resolvedRole: SurfaceCardRole;
20
+ variant: CardVariant;
21
+ source: CardSurfaceSource;
22
+ };
23
+ /**
24
+ * Resolve a card role against a site style's card system.
25
+ *
26
+ * - `none` — terminal, no surface.
27
+ * - `open` — site style's `open` variant → generated baseline `open`.
28
+ * - `default` — site style's `default` → generated baseline `default`.
29
+ * - `alternative` — site style's `alternative` → site style's `default` →
30
+ * generated baseline `default`.
31
+ *
32
+ * The `theme` argument exists solely so the chain can reach the generated
33
+ * baseline without the caller synthesizing one. Pass `null` for `cardSystem`
34
+ * when the site style declares none — resolving against a baseline the caller
35
+ * synthesized would report `source: 'site-style'` for a surface no site style
36
+ * chose.
37
+ */
38
+ export declare function resolveCardRole(theme: Theme, cardSystem: CardSystem | null, role: CardRole): ResolvedCardSurface;