@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
@@ -102,7 +102,7 @@ export type PageContentResult = {
102
102
  page: PageProps['page'];
103
103
  runtimeBoundaries?: PageProps['runtimeBoundaries'];
104
104
  /** Site theme for styling */
105
- theme: Theme;
105
+ theme: Theme | null;
106
106
  /** Site ID */
107
107
  siteId: string;
108
108
  /** Declarative custom blocks stored in DB (if any) */
@@ -151,7 +151,7 @@ export type EntryContentResult = {
151
151
  contentEntry: Record<string, unknown>;
152
152
  };
153
153
  /** Site theme for styling (useful if rendering with SDK components) */
154
- theme: Theme;
154
+ theme: Theme | null;
155
155
  /** Site ID */
156
156
  siteId: string;
157
157
  /** Declarative custom blocks stored in DB (if any) */
@@ -213,7 +213,7 @@ export type PageSurfaceContentResult = {
213
213
  pageSurface: Record<string, unknown>;
214
214
  subject: PageSurfaceContentData['subject'];
215
215
  };
216
- theme: Theme;
216
+ theme: Theme | null;
217
217
  siteId: string;
218
218
  customBlocks?: SdkCustomBlock[];
219
219
  site: SiteData;
@@ -256,6 +256,7 @@ export declare function isPageSurfaceContent(result: LoadContentResult): result
256
256
  * });
257
257
  *
258
258
  * if (isPageContent(content)) {
259
+ * if (!content.theme) throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
259
260
  * return <Page {...content} />;
260
261
  * }
261
262
  *
@@ -284,6 +285,7 @@ export declare function isPageSurfaceContent(result: LoadContentResult): result
284
285
  * }
285
286
  * }
286
287
  *
288
+ * if (!content.theme) throw new MissingSdkThemeError(content.siteId, 'cms_theme_absent');
287
289
  * return <Page {...content} />;
288
290
  * ```
289
291
  *
@@ -5,7 +5,7 @@ import type { SdkCustomBlock } from '../../config/types';
5
5
  export type RuntimeSdkConfig = NonNullable<SiteResponse['sdkConfig']>;
6
6
  export type SiteData = SiteResponse['site'];
7
7
  export type SiteRenderSupport = Readonly<{
8
- theme: Theme;
8
+ theme: Theme | null;
9
9
  site: SiteData;
10
10
  sdkConfig: RuntimeSdkConfig | null;
11
11
  bookingOfferingPresets: readonly SiteBookingOfferingPresetSummary[];
@@ -58,7 +58,7 @@ type PageSuccessState = {
58
58
  page: PageProps['page'];
59
59
  runtimeBoundaries?: PageProps['runtimeBoundaries'];
60
60
  entry: null;
61
- theme: Theme;
61
+ theme: Theme | null;
62
62
  siteId: string;
63
63
  resolvedData: ResolvedBlockData;
64
64
  supabaseUrl?: string;
@@ -73,7 +73,7 @@ type EntrySuccessState = {
73
73
  type: 'entry';
74
74
  page: null;
75
75
  entry: ContentEntryData;
76
- theme: Theme;
76
+ theme: Theme | null;
77
77
  siteId: string;
78
78
  resolvedData: null;
79
79
  };
@@ -116,6 +116,7 @@ export declare function isEntryContentResult(result: UseContentResult): result i
116
116
  * if (content.error) return <div>Error: {content.error.message}</div>;
117
117
  *
118
118
  * if (isPageContentResult(content)) {
119
+ * if (!content.theme) return <div>This site needs a theme before it can be displayed.</div>;
119
120
  * return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} />;
120
121
  * }
121
122
  *
@@ -145,6 +146,7 @@ export declare function isEntryContentResult(result: UseContentResult): result i
145
146
  * }
146
147
  * }
147
148
  *
149
+ * if (!content.theme) return <MissingTheme />;
148
150
  * return <Page {...content} />;
149
151
  * ```
150
152
  */
@@ -9,6 +9,8 @@ export type { PageProps } from './components/Page';
9
9
  export { Layout } from './components/Layout';
10
10
  export type { LayoutProps, HeaderData, FooterData, CustomHeaderData, CustomFooterData, } from './components/Layout';
11
11
  export { UnsupportedOverrideOnlyLayoutChromeError } from './components/Layout';
12
+ export { MISSING_SDK_THEME_ERROR_CODE, MissingSdkThemeError, } from './themeAdmission';
13
+ export type { MissingSdkThemeReason } from './themeAdmission';
12
14
  export type { SdkThemeResponsiveMode, SdkThemeRuntime } from './themeRuntime';
13
15
  export type { SdkOverrideOnlyRendering, SdkOverrideOnlyRuntime, SdkRenderingMode, } from './renderingMode';
14
16
  export { Block } from './components/Block';
@@ -18,7 +20,7 @@ export type { LoadPageParams, LoadPageResult } from './helpers/loadPage';
18
20
  export { loadContent, isPageContent, isEntryContent, isPageSurfaceContent, } from './helpers/loadContent';
19
21
  export type { LoadContentParams, LoadContentResult, ContentEntryData, PagePreviewMetadata, SiteData, } from './helpers/loadContent';
20
22
  export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
21
- export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
23
+ export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CardStylesContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, ContentFrameIntent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, CardRole, FeatureCardLegacySurfaceRole, FeatureCardSurfaceRole, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LayoutAlign, LayoutWidth, Media, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, RichTextDoc, TipTapNode, TipTapMark, LinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, Theme, ThemeTokens, SectionStylesContent, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, MediaAssetIndexItem, ImageOptions, ResolveImageUrlContext, ResolveImageUrlContextInput, ResolveImageSourceSetOptions, ResolvedImageSourceSet, } from '../contracts';
22
24
  export { ImagePresets } from '../contracts';
23
25
  export { RichText } from './primitives/RichText';
24
26
  export { resolveImageUrl, resolveImageUrlWithContext, resolveImageSourceSetWithContext, } from './image';
@@ -147,7 +147,12 @@ export type PublicPassProduct = {
147
147
  validDays: number | null;
148
148
  eligibleCategoryIds: string[];
149
149
  eligibleCategoryNames: string[];
150
- };
150
+ } & ({
151
+ purchaseAvailability: 'purchasable';
152
+ } | {
153
+ purchaseAvailability: 'display_only';
154
+ unavailabilityReason: 'online_payments_unavailable';
155
+ });
151
156
  export type PublicMembershipProduct = {
152
157
  id: string;
153
158
  name: string;
@@ -239,7 +244,15 @@ export type FormIslandProps = BlocksFormIslandProps;
239
244
  export type BookingFormService = BlocksBookingFormService;
240
245
  export type BookingFormConfig = BlocksBookingFormConfig;
241
246
  export type BookingFormIslandProps = BlocksBookingFormIslandProps;
242
- export type CardVariant = 'default' | 'variant1' | 'variant2';
247
+ /**
248
+ * Card surface selection as it reaches an island.
249
+ *
250
+ * The canonical vocabulary is the card *role* (`none` / `open` / `default` /
251
+ * `alternative`); `variant1` / `variant2` are legacy aliases of `alternative`
252
+ * that persisted content still carries. Both keep parsing — the union is
253
+ * widened additively so no existing SDK consumer breaks.
254
+ */
255
+ export type CardVariant = 'default' | 'alternative' | 'open' | 'none' | 'variant1' | 'variant2';
243
256
  export type ButtonVariant = SystemButtonVariant;
244
257
  export type EventListingLayout = EventLayout;
245
258
  export type CardOrientation = 'vertical' | 'horizontal';
@@ -5,6 +5,8 @@
5
5
  export { Page } from './components/Page.server';
6
6
  export type { PageProps } from './components/Page.server';
7
7
  export { Layout, UnsupportedOverrideOnlyLayoutChromeError, } from './components/Layout';
8
+ export { MISSING_SDK_THEME_ERROR_CODE, MissingSdkThemeError, } from './themeAdmission';
9
+ export type { MissingSdkThemeReason } from './themeAdmission';
8
10
  export type { LayoutProps, HeaderData, FooterData, CustomHeaderData, CustomFooterData, } from './components/Layout';
9
11
  export type { SdkThemeResponsiveMode, SdkThemeRuntime } from './themeRuntime';
10
12
  export type { SdkOverrideOnlyRendering, SdkOverrideOnlyRuntime, SdkRenderingMode, } from './renderingMode';
@@ -0,0 +1,11 @@
1
+ import type { Theme } from '../contracts';
2
+ export declare const MISSING_SDK_THEME_ERROR_CODE: "missing_sdk_theme";
3
+ export type MissingSdkThemeReason = 'cms_theme_absent' | 'local_theme_absent';
4
+ export declare class MissingSdkThemeError extends Error {
5
+ readonly siteId: string;
6
+ readonly reason: MissingSdkThemeReason;
7
+ readonly themeKey?: string | undefined;
8
+ readonly code: "missing_sdk_theme";
9
+ constructor(siteId: string, reason?: MissingSdkThemeReason, themeKey?: string | undefined);
10
+ }
11
+ export declare function requireSdkTheme(theme: Theme | null | undefined, siteId: string, reason?: MissingSdkThemeReason): Theme;
@@ -44,10 +44,12 @@ export interface ThemeBridgeButtonConfig {
44
44
  */
45
45
  export interface ThemeBridgeCardConfig {
46
46
  /**
47
- * Which card variants to generate.
47
+ * Which card variants to generate — one id per card role the theme
48
+ * implements. `elevated` and `outlined` are the pre-role names of
49
+ * `alternative` and `open`, kept so existing configs keep working.
48
50
  * @default ['default']
49
51
  */
50
- variants?: Array<'default' | 'elevated' | 'outlined'>;
52
+ variants?: Array<'default' | 'alternative' | 'open' | 'elevated' | 'outlined'>;
51
53
  }
52
54
  /**
53
55
  * Component CSS generation options.
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.129.1";
11
+ export declare const SDK_VERSION = "0.130.2";
@@ -1,4 +1,4 @@
1
- import type { BlockThemeOverride, Theme } from "./schema";
1
+ import { type BlockThemeOverride, type Theme } from './schema';
2
2
  import type { HeadingDecorationOverride, VisibleHeadingDecoration } from "./site-styles/types";
3
3
  export declare function normalizeBlockKind(blockKind: string): string;
4
4
  export type EffectiveHeadingDecoration = Readonly<{
@@ -0,0 +1,184 @@
1
+ import { z } from 'zod';
2
+ export declare const boxBackgroundOverlaySchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ type: z.ZodLiteral<"none">;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ type: z.ZodLiteral<"color">;
6
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
8
+ }, z.core.$strip>, z.ZodObject<{
9
+ type: z.ZodLiteral<"gradient">;
10
+ gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
12
+ }, z.core.$strip>], "type">>;
13
+ export declare const boxBackgroundSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14
+ contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
15
+ textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
+ headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
+ linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ type: z.ZodLiteral<"color">;
20
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ }, z.core.$strip>, z.ZodObject<{
22
+ contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
23
+ textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ type: z.ZodLiteral<"gradient">;
28
+ gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
+ gradientPresetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ }, z.core.$strip>, z.ZodObject<{
31
+ contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
32
+ textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
+ opacity: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
37
+ objectFit: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
38
+ fill: "fill";
39
+ custom: "custom";
40
+ fit: "fit";
41
+ original: "original";
42
+ }>>>;
43
+ scale: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ position: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
+ motion: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
46
+ static: "static";
47
+ "fixed-frame": "fixed-frame";
48
+ }>>>;
49
+ overflow: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
50
+ overlay: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
51
+ type: z.ZodLiteral<"none">;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ type: z.ZodLiteral<"color">;
54
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ type: z.ZodLiteral<"gradient">;
58
+ gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
60
+ }, z.core.$strip>], "type">>>>;
61
+ type: z.ZodLiteral<"image">;
62
+ image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
63
+ purpose: z.ZodOptional<z.ZodString>;
64
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
65
+ assetId: z.ZodOptional<z.ZodString>;
66
+ identifier: z.ZodOptional<z.ZodString>;
67
+ src: z.ZodOptional<z.ZodString>;
68
+ alt: z.ZodOptional<z.ZodString>;
69
+ filename: z.ZodOptional<z.ZodString>;
70
+ mimeType: z.ZodOptional<z.ZodString>;
71
+ width: z.ZodOptional<z.ZodNumber>;
72
+ height: z.ZodOptional<z.ZodNumber>;
73
+ storageBucket: z.ZodOptional<z.ZodString>;
74
+ storagePath: z.ZodOptional<z.ZodString>;
75
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
76
+ tag: z.ZodLiteral<"storage">;
77
+ assetId: z.ZodOptional<z.ZodString>;
78
+ storageBucket: z.ZodString;
79
+ storagePath: z.ZodString;
80
+ }, z.core.$strip>, z.ZodObject<{
81
+ tag: z.ZodLiteral<"external-src">;
82
+ assetId: z.ZodOptional<z.ZodString>;
83
+ src: z.ZodString;
84
+ }, z.core.$strip>], "tag">>;
85
+ transform: z.ZodOptional<z.ZodObject<{
86
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
87
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
88
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
89
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
90
+ x: z.ZodNumber;
91
+ y: z.ZodNumber;
92
+ radius: z.ZodOptional<z.ZodNumber>;
93
+ }, z.core.$strip>>>;
94
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
95
+ }, z.core.$strip>>>>>;
96
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
97
+ hotspot: z.ZodOptional<z.ZodObject<{
98
+ x: z.ZodNumber;
99
+ y: z.ZodNumber;
100
+ radius: z.ZodOptional<z.ZodNumber>;
101
+ }, z.core.$strip>>;
102
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
103
+ }, z.core.$strip>>;
104
+ type: z.ZodLiteral<"image">;
105
+ }, z.core.$strip>>>;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ contentOwner: z.ZodOptional<z.ZodLiteral<"page-design-editor">>;
108
+ textColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
109
+ headingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
110
+ linkColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
111
+ supportingColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
+ opacity: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
113
+ objectFit: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
114
+ fill: "fill";
115
+ custom: "custom";
116
+ fit: "fit";
117
+ original: "original";
118
+ }>>>;
119
+ scale: z.ZodOptional<z.ZodNullable<z.ZodString>>;
120
+ position: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
+ motion: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
122
+ static: "static";
123
+ "fixed-frame": "fixed-frame";
124
+ }>>>;
125
+ overflow: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
126
+ overlay: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
127
+ type: z.ZodLiteral<"none">;
128
+ }, z.core.$strip>, z.ZodObject<{
129
+ type: z.ZodLiteral<"color">;
130
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
131
+ opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
132
+ }, z.core.$strip>, z.ZodObject<{
133
+ type: z.ZodLiteral<"gradient">;
134
+ gradient: z.ZodOptional<z.ZodNullable<z.ZodString>>;
135
+ opacity: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
136
+ }, z.core.$strip>], "type">>>>;
137
+ type: z.ZodLiteral<"video">;
138
+ image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
139
+ purpose: z.ZodOptional<z.ZodString>;
140
+ placeholder: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
141
+ assetId: z.ZodOptional<z.ZodString>;
142
+ identifier: z.ZodOptional<z.ZodString>;
143
+ src: z.ZodOptional<z.ZodString>;
144
+ alt: z.ZodOptional<z.ZodString>;
145
+ filename: z.ZodOptional<z.ZodString>;
146
+ mimeType: z.ZodOptional<z.ZodString>;
147
+ width: z.ZodOptional<z.ZodNumber>;
148
+ height: z.ZodOptional<z.ZodNumber>;
149
+ storageBucket: z.ZodOptional<z.ZodString>;
150
+ storagePath: z.ZodOptional<z.ZodString>;
151
+ poster: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
152
+ tag: z.ZodLiteral<"storage">;
153
+ assetId: z.ZodOptional<z.ZodString>;
154
+ storageBucket: z.ZodString;
155
+ storagePath: z.ZodString;
156
+ }, z.core.$strip>, z.ZodObject<{
157
+ tag: z.ZodLiteral<"external-src">;
158
+ assetId: z.ZodOptional<z.ZodString>;
159
+ src: z.ZodString;
160
+ }, z.core.$strip>], "tag">>;
161
+ transform: z.ZodOptional<z.ZodObject<{
162
+ aspectCrops: z.ZodOptional<z.ZodPipe<z.ZodTransform<object | undefined, unknown>, z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
163
+ aspect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodString>>;
164
+ rect: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
165
+ hotspot: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodObject<{
166
+ x: z.ZodNumber;
167
+ y: z.ZodNumber;
168
+ radius: z.ZodOptional<z.ZodNumber>;
169
+ }, z.core.$strip>>>;
170
+ rotation: z.ZodPipe<z.ZodTransform<{} | undefined, unknown>, z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>>;
171
+ }, z.core.$strip>>>>>;
172
+ rect: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
173
+ hotspot: z.ZodOptional<z.ZodObject<{
174
+ x: z.ZodNumber;
175
+ y: z.ZodNumber;
176
+ radius: z.ZodOptional<z.ZodNumber>;
177
+ }, z.core.$strip>>;
178
+ rotation: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>>;
179
+ }, z.core.$strip>>;
180
+ type: z.ZodLiteral<"video">;
181
+ }, z.core.$strip>>>;
182
+ showVideoOnMobile: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
183
+ }, z.core.$strip>], "type">;
184
+ export type BoxBackground = z.infer<typeof boxBackgroundSchema>;
@@ -0,0 +1,96 @@
1
+ import type { ButtonUnsupportedEffectReason } from './effectClassification';
2
+ import type { ButtonColourTreatment, OpaqueButtonColourToken } from './types';
3
+ export declare const BUTTON_VISUAL_STATES: readonly ["base", "hover", "focus", "active", "disabled"];
4
+ export type ButtonVisualState = (typeof BUTTON_VISUAL_STATES)[number];
5
+ /** A surface whose rendered colour and foreground contract are both known. */
6
+ export type KnownButtonSurface = Readonly<{
7
+ kind: 'solid';
8
+ backgroundHex: string;
9
+ backgroundCss: string;
10
+ foregroundHex: string;
11
+ foregroundCss: string;
12
+ }>;
13
+ export type ButtonColourPalette = Readonly<Record<string, string>>;
14
+ export declare const BUTTON_CONTRAST_POLICY: {
15
+ readonly textMinimumRatio: 4.5;
16
+ readonly nonTextMinimumRatio: 3;
17
+ readonly gradientSamplesPerSegment: 20;
18
+ readonly alphaBackgrounds: "reject-without-known-surface";
19
+ readonly disabled: "retain-full-colour-contract";
20
+ };
21
+ export type ButtonColourContractError = Readonly<{
22
+ tag: 'unknown_palette_token';
23
+ variantId: string;
24
+ state: ButtonVisualState;
25
+ token: OpaqueButtonColourToken;
26
+ }> | Readonly<{
27
+ tag: 'missing_on_colour';
28
+ variantId: string;
29
+ state: ButtonVisualState;
30
+ backgroundToken: OpaqueButtonColourToken;
31
+ foregroundToken: OpaqueButtonColourToken;
32
+ }> | Readonly<{
33
+ tag: 'insufficient_contrast';
34
+ variantId: string;
35
+ state: ButtonVisualState;
36
+ background: string;
37
+ foreground: string;
38
+ ratio: number;
39
+ requiredRatio: number;
40
+ }> | Readonly<{
41
+ tag: 'insufficient_surface_contrast';
42
+ variantId: string;
43
+ state: ButtonVisualState;
44
+ buttonPaint: string;
45
+ surface: string;
46
+ ratio: number;
47
+ requiredRatio: number;
48
+ }> | Readonly<{
49
+ tag: 'unsupported_colour_effect';
50
+ variantId: string;
51
+ state: ButtonVisualState;
52
+ effectId: string;
53
+ reason: ButtonUnsupportedEffectReason;
54
+ }> | Readonly<{
55
+ tag: 'invalid_colour_effect_options';
56
+ variantId: string;
57
+ state: ButtonVisualState;
58
+ effectId: string;
59
+ option: string;
60
+ }> | Readonly<{
61
+ tag: 'inapplicable_colour_effect';
62
+ variantId: string;
63
+ state: ButtonVisualState;
64
+ effectId: string;
65
+ treatment: ButtonColourTreatment['type'];
66
+ }> | Readonly<{
67
+ tag: 'unknown_button_effect';
68
+ variantId: string;
69
+ state: ButtonVisualState;
70
+ effectId: string;
71
+ }>;
72
+ export declare function formatButtonColourContractError(error: ButtonColourContractError): string;
73
+ export declare function validateButtonSurfaceContrast(input: Readonly<{
74
+ variantId: string;
75
+ state: ButtonVisualState;
76
+ buttonPaint: string;
77
+ surfaceHex: string;
78
+ }>): Readonly<{
79
+ ok: true;
80
+ }> | Readonly<{
81
+ ok: false;
82
+ error: ButtonColourContractError;
83
+ }>;
84
+ export declare function validateButtonTextContrast(input: Readonly<{
85
+ variantId: string;
86
+ state: ButtonVisualState;
87
+ background: string;
88
+ backgroundHex: string;
89
+ foreground: string;
90
+ foregroundHex: string;
91
+ }>): Readonly<{
92
+ ok: true;
93
+ }> | Readonly<{
94
+ ok: false;
95
+ error: ButtonColourContractError;
96
+ }>;
@@ -0,0 +1,78 @@
1
+ import { type ButtonColourContractError, type ButtonColourPalette, type ButtonVisualState, type KnownButtonSurface, type ResolvedButtonColourStates, type ResolvedButtonFocusIndicator } from './resolveButtonColourStates';
2
+ import type { ButtonSystem, VariantRole } from './types';
3
+ export type ButtonSurfaceContext = Readonly<{
4
+ kind: 'known-solid';
5
+ source: 'palette-token' | 'literal-css' | 'fallback-token';
6
+ surface: KnownButtonSurface;
7
+ }> | Readonly<{
8
+ kind: 'unknown';
9
+ reason: 'missing-background' | 'image-background' | 'gradient-background' | 'composited-background' | 'unresolvable-colour';
10
+ }>;
11
+ /**
12
+ * Narrow rendering-boundary contract for the surface beneath a button.
13
+ * Blocks own their authored background schema and translate it into this
14
+ * vocabulary; theme-core does not inspect or guess at that external shape.
15
+ */
16
+ export type ButtonSurfaceInput = Readonly<{
17
+ kind: 'inherit';
18
+ foreground?: string | null;
19
+ }> | Readonly<{
20
+ kind: 'solid';
21
+ color?: string | null;
22
+ foreground?: string | null;
23
+ composited: boolean;
24
+ }> | Readonly<{
25
+ kind: 'image';
26
+ }> | Readonly<{
27
+ kind: 'gradient';
28
+ }> | Readonly<{
29
+ kind: 'unknown';
30
+ }>;
31
+ export type RejectedButtonSurfaceCandidate = Readonly<{
32
+ candidate: 'preferred' | 'surface-outline' | VariantRole;
33
+ error: ButtonColourContractError;
34
+ }>;
35
+ export type ContextualButtonResolution = Readonly<{
36
+ kind: 'preferred';
37
+ requestedRole: VariantRole;
38
+ states: ResolvedButtonColourStates;
39
+ focusIndicator: ResolvedButtonFocusIndicator;
40
+ boundary: Readonly<{
41
+ width: string;
42
+ color: string;
43
+ }> | null;
44
+ }> | Readonly<{
45
+ kind: 'repaired';
46
+ requestedRole: VariantRole;
47
+ candidate: 'surface-outline' | VariantRole;
48
+ states: ResolvedButtonColourStates;
49
+ focusIndicator: ResolvedButtonFocusIndicator;
50
+ boundary: Readonly<{
51
+ width: string;
52
+ color: string;
53
+ }> | null;
54
+ rejectedCandidates: readonly RejectedButtonSurfaceCandidate[];
55
+ }> | Readonly<{
56
+ kind: 'unresolved';
57
+ requestedRole: VariantRole;
58
+ rejectedCandidates: readonly RejectedButtonSurfaceCandidate[];
59
+ }>;
60
+ /**
61
+ * Derive only what the rendered section can honestly prove about its backing.
62
+ * Images, gradients, alpha/composite layers and arbitrary CSS remain unknown.
63
+ */
64
+ export declare function deriveButtonSurfaceContext(input: ButtonSurfaceInput, palette: Readonly<Record<string, string>>, fallbackToken?: string): ButtonSurfaceContext;
65
+ export declare function resolveContextualButtonRole(input: Readonly<{
66
+ role: VariantRole;
67
+ buttonSystem: ButtonSystem;
68
+ palette: ButtonColourPalette;
69
+ surface: KnownButtonSurface;
70
+ }>): ContextualButtonResolution;
71
+ export declare function contextualButtonSurfaceStyles(resolution: ContextualButtonResolution): Readonly<Record<string, string>>;
72
+ /**
73
+ * Break an inherited surface contract when a nested element establishes a
74
+ * backing whose colours cannot be proven (for example an image or gradient).
75
+ */
76
+ export declare function contextualButtonSurfaceResetStyles(): Readonly<Record<string, string>>;
77
+ export declare function actionVariableName(role: string, state: ButtonVisualState, property: string): string;
78
+ export declare function actionVariableFallback(role: string, state: ButtonVisualState, property: string, fallback: string): string;
@@ -8,6 +8,7 @@ export * from './parseThemeForPersistence';
8
8
  export * from './classNames';
9
9
  export * from './generateButtonCss';
10
10
  export * from './resolveButtonColourStates';
11
+ export * from './buttonSurfaceContext';
11
12
  export * from './affordanceIcons';
12
13
  export * from './generateDefaultButtonSystem';
13
14
  export * from './constants';
@@ -14,8 +14,8 @@ declare const validatedThemeForPersistenceBrand: unique symbol;
14
14
  /**
15
15
  * A schema-parsed Theme whose button variants all compile against its palette.
16
16
  *
17
- * The brand is intentionally phantom: validation does not mutate themes or add
18
- * persistence-only data to the JSON document.
17
+ * The brand is intentionally phantom. The parser also canonicalizes legacy
18
+ * button systems by adding the standard surface policy before the next save.
19
19
  */
20
20
  export type ValidatedThemeForPersistence = Theme & {
21
21
  readonly [validatedThemeForPersistenceBrand]: true;
@@ -1,65 +1,17 @@
1
- import type { ExpandedPalette } from '../palette/expandPalette';
2
- import type { ButtonColourTreatment, ButtonGlobalSettings, ButtonVariant, OpaqueButtonColourToken, VariantEffects } from './types';
3
- import { type ButtonUnsupportedEffectReason } from './effectClassification';
1
+ import type { ButtonGlobalSettings, ButtonVariant, OpaqueButtonColourToken, VariantEffects } from './types';
2
+ import { type ButtonColourContractError, type ButtonColourPalette, type ButtonVisualState, type KnownButtonSurface } from './buttonColourContract';
3
+ export { BUTTON_CONTRAST_POLICY, BUTTON_VISUAL_STATES, formatButtonColourContractError, type ButtonColourContractError, type ButtonColourPalette, type ButtonVisualState, type KnownButtonSurface, } from './buttonColourContract';
4
4
  export { classifyButtonEffectId, type ButtonEffectClassification, } from './effectClassification';
5
- export declare const BUTTON_VISUAL_STATES: readonly ["base", "hover", "focus", "active", "disabled"];
6
- export type ButtonVisualState = (typeof BUTTON_VISUAL_STATES)[number];
7
- export declare const BUTTON_CONTRAST_POLICY: {
8
- readonly textMinimumRatio: 4.5;
9
- readonly nonTextMinimumRatio: 3;
10
- readonly gradientSamplesPerSegment: 20;
11
- readonly alphaBackgrounds: "reject-without-known-surface";
12
- readonly disabled: "retain-full-colour-contract";
13
- };
14
- export type ButtonColourContractError = Readonly<{
15
- tag: 'unknown_palette_token';
16
- variantId: string;
17
- state: ButtonVisualState;
18
- token: OpaqueButtonColourToken;
19
- }> | Readonly<{
20
- tag: 'missing_on_colour';
21
- variantId: string;
22
- state: ButtonVisualState;
23
- backgroundToken: OpaqueButtonColourToken;
24
- foregroundToken: OpaqueButtonColourToken;
25
- }> | Readonly<{
26
- tag: 'insufficient_contrast';
27
- variantId: string;
28
- state: ButtonVisualState;
29
- background: string;
30
- foreground: string;
31
- ratio: number;
32
- requiredRatio: number;
33
- }> | Readonly<{
34
- tag: 'unsupported_colour_effect';
35
- variantId: string;
36
- state: ButtonVisualState;
37
- effectId: string;
38
- reason: ButtonUnsupportedEffectReason;
39
- }> | Readonly<{
40
- tag: 'invalid_colour_effect_options';
41
- variantId: string;
42
- state: ButtonVisualState;
43
- effectId: string;
44
- option: string;
45
- }> | Readonly<{
46
- tag: 'inapplicable_colour_effect';
47
- variantId: string;
48
- state: ButtonVisualState;
49
- effectId: string;
50
- treatment: ButtonColourTreatment['type'];
51
- }> | Readonly<{
52
- tag: 'unknown_button_effect';
53
- variantId: string;
54
- state: ButtonVisualState;
55
- effectId: string;
56
- }>;
57
5
  export type ResolvedButtonColour = Readonly<{
58
6
  kind: 'solid';
59
7
  backgroundToken: OpaqueButtonColourToken;
60
8
  foregroundToken: OpaqueButtonColourToken;
61
9
  backgroundCss: string;
62
10
  foregroundCss: string;
11
+ }> | Readonly<{
12
+ kind: 'known-solid';
13
+ backgroundCss: string;
14
+ foregroundCss: string;
63
15
  }> | Readonly<{
64
16
  kind: 'gradient';
65
17
  backgroundTokens: readonly [OpaqueButtonColourToken, OpaqueButtonColourToken, ...OpaqueButtonColourToken[]];
@@ -95,6 +47,6 @@ export type ButtonColourContractResult = Readonly<{
95
47
  export declare function compileButtonColourStates(input: Readonly<{
96
48
  variant: ButtonVariant;
97
49
  global: ButtonGlobalSettings;
98
- palette: ExpandedPalette;
50
+ palette: ButtonColourPalette;
51
+ surface?: KnownButtonSurface;
99
52
  }>): ButtonColourContractResult;
100
- export declare function formatButtonColourContractError(error: ButtonColourContractError): string;