@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,4 +1,5 @@
1
1
  import type { Theme } from '../schema';
2
+ import type { CardRole } from '../cards';
2
3
  export type Brand<T, TBrand extends string> = T & {
3
4
  readonly __brand: TBrand;
4
5
  };
@@ -99,7 +100,6 @@ export type DesignResolutionPolicy = 'generated' | 'user' | 'admin' | 'sdk';
99
100
  export type DesignIssueSeverity = 'blocking' | 'repairable' | 'advisory';
100
101
  export declare function designIssueSeverityForPolicy(policy: DesignResolutionPolicy): DesignIssueSeverity;
101
102
  export type SiteStyleSurfaceIntent = 'base' | 'muted-band' | 'accent-band' | 'brand-depth-band' | 'hero-image';
102
- export type SiteStyleItemSurfaceIntent = 'none' | 'default' | 'flat' | 'outlined' | 'raised' | 'inset' | 'editorial' | 'color-blocked';
103
103
  export type SiteStyleSectionTransitionIntent = 'none' | 'soft-fade-short' | 'soft-fade-long' | 'soft-fade-expansive' | 'wave-edge' | 'wave-edge-balanced' | 'wave-edge-gentle' | 'wave-edge-bold' | 'wave-edge-drift' | 'angle-edge' | 'angle-edge-subtle' | 'angle-edge-steep';
104
104
  export type SiteStyleEmphasis = 'low' | 'medium' | 'high';
105
105
  export type SectionHeightIntent = 'default' | 'banner' | 'hero' | 'immersive';
@@ -200,7 +200,6 @@ export type ImageSurfaceTreatment = Readonly<{
200
200
  intensity?: ImageSurfaceTreatmentIntensity;
201
201
  }>;
202
202
  export type ImageSurfaceTreatmentKind = ImageSurfaceTreatment['kind'];
203
- export type TestimonialCardTreatment = 'default' | 'statement' | 'non-carded' | 'accent-quote' | 'editorial-serif-quote';
204
203
  export declare const tileTreatmentValues: readonly ["default", "quiet", "brand-depth"];
205
204
  export type TileTreatment = (typeof tileTreatmentValues)[number];
206
205
  export declare const eventListTreatmentValues: readonly ["plain", "lined-panel", "ruled-register", "editorial-register", "dense-index"];
@@ -209,6 +208,8 @@ export declare const introCompositionTreatmentValues: readonly ["editorial-state
209
208
  export type IntroCompositionTreatment = (typeof introCompositionTreatmentValues)[number];
210
209
  export declare const featureCardCompositionTreatmentValues: readonly ["asymmetric-emphasis", "framed-programme"];
211
210
  export type FeatureCardCompositionTreatment = (typeof featureCardCompositionTreatmentValues)[number];
211
+ export declare const testimonialsCompositionTreatmentValues: readonly ["open-editorial"];
212
+ export type TestimonialsCompositionTreatment = (typeof testimonialsCompositionTreatmentValues)[number];
212
213
  /**
213
214
  * A closed description of structural presentation selected by a Look.
214
215
  * Concrete spacing, radii, colour, and shadow remain site-style concerns.
@@ -219,6 +220,9 @@ export type BlockCompositionIntent = Readonly<{
219
220
  }> | Readonly<{
220
221
  kind: 'feature-cards';
221
222
  treatment: FeatureCardCompositionTreatment;
223
+ }> | Readonly<{
224
+ kind: 'testimonials';
225
+ treatment: TestimonialsCompositionTreatment;
222
226
  }>;
223
227
  export type BlockCompositionCapability = Readonly<{
224
228
  kind: 'none';
@@ -228,6 +232,9 @@ export type BlockCompositionCapability = Readonly<{
228
232
  }> | Readonly<{
229
233
  kind: 'feature-cards';
230
234
  treatments: NonEmptyReadonlyArray<FeatureCardCompositionTreatment>;
235
+ }> | Readonly<{
236
+ kind: 'testimonials';
237
+ treatments: NonEmptyReadonlyArray<TestimonialsCompositionTreatment>;
231
238
  }>;
232
239
  export declare const eyebrowTreatmentValues: readonly ["plain", "accent", "pill", "accent-pill", "pill-bounce", "accent-pill-bounce"];
233
240
  export type EyebrowTreatment = (typeof eyebrowTreatmentValues)[number];
@@ -283,16 +290,21 @@ export type GeneratedFlushPanelFrameIntent = Readonly<{
283
290
  export type GeneratedContentFrameIntent = PlainFrameIntent | GeneratedPanelFrameIntent | GeneratedFlushPanelFrameIntent;
284
291
  export type UserContentFrameIntent = ContentFrameIntent;
285
292
  export type AdvancedContentFrameIntent = ContentFrameIntent | AdvancedDetachedDesignValue;
286
- export type GeneratedItemSurfaceIntent = Extract<SiteStyleItemSurfaceIntent, 'none' | 'default' | 'flat' | 'outlined' | 'raised' | 'inset' | 'editorial' | 'color-blocked'>;
287
- export type UserItemSurfaceIntent = SiteStyleItemSurfaceIntent;
288
- export type AdvancedItemSurfaceIntent = SiteStyleItemSurfaceIntent | AdvancedDetachedDesignValue;
293
+ /**
294
+ * Card roles are a closed, global vocabulary — every source may express the
295
+ * whole set, unlike surfaces or frames where generation is deliberately
296
+ * narrower than the user catalog.
297
+ */
298
+ export type GeneratedCardRoleIntent = CardRole;
299
+ export type UserCardRoleIntent = CardRole;
300
+ export type AdvancedCardRoleIntent = CardRole | AdvancedDetachedDesignValue;
289
301
  export type GeneratedSectionTransitionIntent = Extract<SiteStyleSectionTransitionIntent, 'none' | 'soft-fade-short' | 'soft-fade-long'>;
290
302
  export type UserSectionTransitionIntent = SiteStyleSectionTransitionIntent;
291
303
  export type AdvancedSectionTransitionIntent = SiteStyleSectionTransitionIntent | AdvancedDetachedDesignValue;
292
304
  export type GeneratedBlockDesignIntent = Readonly<{
293
305
  sectionSurface: GeneratedDesignChoice<GeneratedSurfaceIntent>;
294
306
  contentFrame: GeneratedDesignChoice<GeneratedContentFrameIntent>;
295
- itemSurface: GeneratedDesignChoice<GeneratedItemSurfaceIntent>;
307
+ cardRole: GeneratedDesignChoice<GeneratedCardRoleIntent>;
296
308
  transitionAfter: GeneratedDesignChoice<GeneratedSectionTransitionIntent>;
297
309
  emphasis: GeneratedDesignChoice<SiteStyleEmphasis>;
298
310
  }>;
@@ -319,14 +331,14 @@ export type GeneratedPageDesignIntent<TBlockId extends string = string> = Readon
319
331
  export type UserBlockDesignIntent = Readonly<{
320
332
  sectionSurface: UserDesignChoice<UserSurfaceIntent>;
321
333
  contentFrame: UserDesignChoice<UserContentFrameIntent>;
322
- itemSurface: UserDesignChoice<UserItemSurfaceIntent>;
334
+ cardRole: UserDesignChoice<UserCardRoleIntent>;
323
335
  transitionAfter: UserDesignChoice<UserSectionTransitionIntent>;
324
336
  emphasis: UserDesignChoice<SiteStyleEmphasis>;
325
337
  }>;
326
338
  export type AdvancedBlockDesignIntent = Readonly<{
327
339
  sectionSurface: AdvancedDesignChoice<AdvancedSurfaceIntent>;
328
340
  contentFrame: AdvancedDesignChoice<AdvancedContentFrameIntent>;
329
- itemSurface: AdvancedDesignChoice<AdvancedItemSurfaceIntent>;
341
+ cardRole: AdvancedDesignChoice<AdvancedCardRoleIntent>;
330
342
  transitionAfter: AdvancedDesignChoice<AdvancedSectionTransitionIntent>;
331
343
  emphasis: AdvancedDesignChoice<SiteStyleEmphasis>;
332
344
  }>;
@@ -383,7 +395,6 @@ export type DesignSystemTemplate = Readonly<{
383
395
  compositionBudget: CompositionBudget;
384
396
  supportedSectionSurfaces: readonly SiteStyleSurfaceIntent[];
385
397
  supportedContentFrames: readonly FrameKind[];
386
- supportedItemSurfaces: readonly SiteStyleItemSurfaceIntent[];
387
398
  supportedTransitions: readonly SiteStyleSectionTransitionIntent[];
388
399
  }>;
389
400
  export type SiteTheme = Readonly<{
@@ -407,7 +418,12 @@ export type BlockDesignPlan<TBlockId extends string = DesignBlockId, TPurpose ex
407
418
  appearancePresetId?: AppearancePresetId;
408
419
  sectionSurface: SiteStyleSurfaceIntent;
409
420
  contentFrame: ContentFrameIntent;
410
- itemSurface: SiteStyleItemSurfaceIntent;
421
+ /**
422
+ * Which card role this block asks the site style for. Absent means the same
423
+ * as `none`: the Look asks for no site-style card, and the block's own
424
+ * composition governs what the item looks like.
425
+ */
426
+ cardRole?: CardRole;
411
427
  transitionAfter: SiteStyleSectionTransitionIntent;
412
428
  emphasis: SiteStyleEmphasis;
413
429
  sectionHeight?: SectionHeightIntent;
@@ -416,7 +432,6 @@ export type BlockDesignPlan<TBlockId extends string = DesignBlockId, TPurpose ex
416
432
  heroTypographyScale?: HeroTypographyScaleIntent;
417
433
  imageSurfaceTreatment?: ImageSurfaceTreatment;
418
434
  imageSurfaceMotion?: ImageSurfaceMotion;
419
- testimonialCardTreatment?: TestimonialCardTreatment;
420
435
  tileTreatment?: TileTreatment;
421
436
  eventListTreatment?: EventListTreatment;
422
437
  eyebrowTreatment?: EyebrowTreatment;
@@ -427,12 +442,15 @@ export type ResolvedBlockDesignPlan<TBlockId extends string = DesignBlockId, TPu
427
442
  appliedSectionSurface: SiteStyleSurfaceIntent;
428
443
  appliedContentFrame: ContentFrameIntent;
429
444
  appliedTransitionAfter: SiteStyleSectionTransitionIntent;
430
- appliedItemSurface: SiteStyleItemSurfaceIntent;
445
+ /**
446
+ * The card role after capability gating. `null` (or absent) means no
447
+ * site-style card is applied; the block renders its own composition.
448
+ */
449
+ appliedCardRole?: CardRole | null;
431
450
  appliedSectionHeight: SectionHeightIntent;
432
451
  appliedHeroLegibility: HeroLegibilityStrategy;
433
452
  appliedImageSurfaceTreatment: ImageSurfaceTreatment;
434
453
  appliedImageSurfaceMotion: ImageSurfaceMotion;
435
- appliedTestimonialCardTreatment: TestimonialCardTreatment;
436
454
  appliedTileTreatment: TileTreatment;
437
455
  appliedEventListTreatment: EventListTreatment;
438
456
  appliedEyebrowTreatment: EyebrowTreatment;
@@ -454,6 +472,14 @@ export type HeadingDecorationCapability = Readonly<{
454
472
  kind: 'supported';
455
473
  families: NonEmptyReadonlyArray<VisibleHeadingDecorationFamily>;
456
474
  }>;
475
+ /**
476
+ * Whether a block can carry a card surface, and by which path.
477
+ *
478
+ * - `supported` — the block renders the card-role path: a Look's `cardRole`
479
+ * compiles into `_cardStyles.role` and the site style owns the appearance.
480
+ * - `unsupported` — the block has no card surface at all.
481
+ */
482
+ export type CardRoleCapability = 'supported' | 'unsupported';
457
483
  export type DesignedBlockDesignCapabilityInput = Readonly<{
458
484
  /** Looks are optional composition presets, not the baseline block design. */
459
485
  looks?: 'supported';
@@ -461,11 +487,10 @@ export type DesignedBlockDesignCapabilityInput = Readonly<{
461
487
  /** Rich backgrounds require an explicit block-level legibility contract. */
462
488
  richBackgrounds?: 'supported';
463
489
  contentFrames: FrameCapability;
464
- itemSurfaces: 'supported' | 'unsupported';
490
+ cardRoles: CardRoleCapability;
465
491
  sectionHeights?: NonEmptyReadonlyArray<SectionHeightIntent>;
466
492
  imageSurfaceTreatments?: NonEmptyReadonlyArray<ImageSurfaceTreatmentKind>;
467
493
  imageSurfaceMotions?: NonEmptyReadonlyArray<ImageSurfaceMotion>;
468
- testimonialCardTreatments?: NonEmptyReadonlyArray<TestimonialCardTreatment>;
469
494
  tileTreatments?: NonEmptyReadonlyArray<TileTreatment>;
470
495
  eventListTreatments?: NonEmptyReadonlyArray<EventListTreatment>;
471
496
  eyebrowTreatments?: NonEmptyReadonlyArray<EyebrowTreatment>;
@@ -482,11 +507,10 @@ export type DesignedBlockDesignCapability = Readonly<{
482
507
  sectionSurfaces: 'supported' | 'unsupported';
483
508
  richBackgrounds?: 'supported';
484
509
  contentFrames: FrameCapability;
485
- itemSurfaces: 'supported' | 'unsupported';
510
+ cardRoles: CardRoleCapability;
486
511
  sectionHeights: NonEmptyReadonlyArray<SectionHeightIntent>;
487
512
  imageSurfaceTreatments: NonEmptyReadonlyArray<ImageSurfaceTreatmentKind>;
488
513
  imageSurfaceMotions: NonEmptyReadonlyArray<ImageSurfaceMotion>;
489
- testimonialCardTreatments: NonEmptyReadonlyArray<TestimonialCardTreatment>;
490
514
  tileTreatments: NonEmptyReadonlyArray<TileTreatment>;
491
515
  eventListTreatments: NonEmptyReadonlyArray<EventListTreatment>;
492
516
  eyebrowTreatments: NonEmptyReadonlyArray<EyebrowTreatment>;
@@ -504,7 +528,7 @@ export type BlockDesignCapability = DesignedBlockDesignCapability | NoBlockDesig
504
528
  export type BlockDesignCapabilityMap = Readonly<Partial<Record<string, BlockDesignCapability>>>;
505
529
  export declare function defineBlockDesignCapability<const TCapability extends DesignedBlockDesignCapabilityInput>(capability: NoExtraKeys<TCapability, DesignedBlockDesignCapabilityInput>): DesignedBlockDesignCapability;
506
530
  export declare function defineNoBlockDesignCapability(reason: UnsupportedBlockDesignCapabilityReason): NoBlockDesignCapability;
507
- export type DesignRepairAction = 'fallback-block-design' | 'fallback-section-surface' | 'fallback-content-frame' | 'fallback-item-surface' | 'fallback-section-height' | 'fallback-image-surface-treatment' | 'fallback-image-surface-motion' | 'fallback-testimonial-card-treatment' | 'fallback-tile-treatment' | 'fallback-event-list-treatment' | 'fallback-eyebrow-treatment' | 'fallback-accordion-icon-treatment' | 'remove-composition' | 'remove-hero-legibility' | 'remove-transition' | 'fallback-hero-legibility' | 'reduce-accent-density' | 'reduce-panel-density' | 'reduce-transition-mix' | 'reduce-primary-ctas' | 'reduce-media-density' | 'reduce-decorative-repetition';
531
+ export type DesignRepairAction = 'fallback-block-design' | 'fallback-section-surface' | 'fallback-content-frame' | 'fallback-card-role' | 'fallback-section-height' | 'fallback-image-surface-treatment' | 'fallback-image-surface-motion' | 'fallback-tile-treatment' | 'fallback-event-list-treatment' | 'fallback-eyebrow-treatment' | 'fallback-accordion-icon-treatment' | 'remove-composition' | 'remove-hero-legibility' | 'remove-transition' | 'fallback-hero-legibility' | 'reduce-accent-density' | 'reduce-panel-density' | 'reduce-transition-mix' | 'reduce-primary-ctas' | 'reduce-media-density' | 'reduce-decorative-repetition';
508
532
  export type UnsupportedSectionSurfaceIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
509
533
  kind: 'unsupported-section-surface';
510
534
  blockId: TBlockId;
@@ -527,16 +551,17 @@ export type UnsupportedContentFrameIssue<TBlockId extends string = DesignBlockId
527
551
  severity: DesignIssueSeverity;
528
552
  allowedRepairActions: readonly ['fallback-content-frame'];
529
553
  }>;
530
- export type UnsupportedItemSurfaceIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
531
- kind: 'unsupported-item-surface';
554
+ export type UnsupportedCardRoleIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
555
+ kind: 'unsupported-card-role';
532
556
  blockId: TBlockId;
533
557
  blockKind: string;
534
558
  purpose: TPurpose;
535
- requested: SiteStyleItemSurfaceIntent;
536
- fallback: SiteStyleItemSurfaceIntent;
559
+ /** The card role the block asked its site style for. */
560
+ requested: CardRole;
561
+ fallback: 'none';
537
562
  policy: DesignResolutionPolicy;
538
563
  severity: DesignIssueSeverity;
539
- allowedRepairActions: readonly ['fallback-item-surface'];
564
+ allowedRepairActions: readonly ['fallback-card-role'];
540
565
  }>;
541
566
  export type UnsupportedSectionHeightIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
542
567
  kind: 'unsupported-section-height';
@@ -573,17 +598,6 @@ export type UnsupportedImageSurfaceMotionIssue<TBlockId extends string = DesignB
573
598
  severity: DesignIssueSeverity;
574
599
  allowedRepairActions: readonly ['fallback-image-surface-motion'];
575
600
  }>;
576
- export type UnsupportedTestimonialCardTreatmentIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
577
- kind: 'unsupported-testimonial-card-treatment';
578
- blockId: TBlockId;
579
- blockKind: string;
580
- purpose: TPurpose;
581
- requested: TestimonialCardTreatment;
582
- fallback: 'default';
583
- policy: DesignResolutionPolicy;
584
- severity: DesignIssueSeverity;
585
- allowedRepairActions: readonly ['fallback-testimonial-card-treatment'];
586
- }>;
587
601
  export type UnsupportedTileTreatmentIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
588
602
  kind: 'unsupported-tile-treatment';
589
603
  blockId: TBlockId;
@@ -677,7 +691,7 @@ export type HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId extend
677
691
  export type BlockDesignCapabilityRequest = Readonly<{
678
692
  sectionSurface: SiteStyleSurfaceIntent;
679
693
  contentFrame: ContentFrameIntent;
680
- itemSurface: SiteStyleItemSurfaceIntent;
694
+ cardRole?: CardRole;
681
695
  transitionAfter: SiteStyleSectionTransitionIntent;
682
696
  sectionHeight?: SectionHeightIntent;
683
697
  heroLegibility?: HeroLegibilityStrategy;
@@ -685,7 +699,6 @@ export type BlockDesignCapabilityRequest = Readonly<{
685
699
  heroTypographyScale?: HeroTypographyScaleIntent;
686
700
  imageSurfaceTreatment?: ImageSurfaceTreatment;
687
701
  imageSurfaceMotion?: ImageSurfaceMotion;
688
- testimonialCardTreatment?: TestimonialCardTreatment;
689
702
  tileTreatment?: TileTreatment;
690
703
  eventListTreatment?: EventListTreatment;
691
704
  eyebrowTreatment?: EyebrowTreatment;
@@ -695,7 +708,6 @@ export type BlockDesignCapabilityRequest = Readonly<{
695
708
  export type BlockDesignCapabilityFallback = Readonly<{
696
709
  sectionSurface: 'base';
697
710
  contentFrame: PlainFrameIntent;
698
- itemSurface: 'none';
699
711
  transitionAfter: 'none';
700
712
  sectionHeight: 'default';
701
713
  heroLegibility: 'none';
@@ -703,7 +715,6 @@ export type BlockDesignCapabilityFallback = Readonly<{
703
715
  kind: 'none';
704
716
  }>;
705
717
  imageSurfaceMotion: 'static';
706
- testimonialCardTreatment: 'default';
707
718
  tileTreatment: 'default';
708
719
  eventListTreatment: 'plain';
709
720
  eyebrowTreatment: 'plain';
@@ -755,7 +766,7 @@ export type HeroImageWithoutLegibilityIssue<TBlockId extends string = DesignBloc
755
766
  severity: DesignIssueSeverity;
756
767
  allowedRepairActions: readonly ['fallback-hero-legibility'];
757
768
  }>;
758
- export type DesignResolutionIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = UnsupportedSectionSurfaceIssue<TBlockId, TPurpose> | UnsupportedContentFrameIssue<TBlockId, TPurpose> | UnsupportedItemSurfaceIssue<TBlockId, TPurpose> | UnsupportedSectionHeightIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceTreatmentIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceMotionIssue<TBlockId, TPurpose> | UnsupportedTestimonialCardTreatmentIssue<TBlockId, TPurpose> | UnsupportedTileTreatmentIssue<TBlockId, TPurpose> | UnsupportedEventListTreatmentIssue<TBlockId, TPurpose> | UnsupportedEyebrowTreatmentIssue<TBlockId, TPurpose> | UnsupportedAccordionIconTreatmentIssue<TBlockId, TPurpose> | UnsupportedBlockCompositionIssue<TBlockId, TPurpose> | ImageSurfaceTreatmentWithoutImageSurfaceIssue<TBlockId, TPurpose> | ImageSurfaceMotionWithoutImageSurfaceIssue<TBlockId, TPurpose> | HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId, TPurpose> | MissingBlockDesignCapabilityIssue<TBlockId, TPurpose> | UnsupportedBlockDesignCapabilityIssue<TBlockId, TPurpose> | RemovedTransitionForFlushFrameIssue<TBlockId, TPurpose> | HeroImageWithoutLegibilityIssue<TBlockId, TPurpose>;
769
+ export type DesignResolutionIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = UnsupportedSectionSurfaceIssue<TBlockId, TPurpose> | UnsupportedContentFrameIssue<TBlockId, TPurpose> | UnsupportedCardRoleIssue<TBlockId, TPurpose> | UnsupportedSectionHeightIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceTreatmentIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceMotionIssue<TBlockId, TPurpose> | UnsupportedTileTreatmentIssue<TBlockId, TPurpose> | UnsupportedEventListTreatmentIssue<TBlockId, TPurpose> | UnsupportedEyebrowTreatmentIssue<TBlockId, TPurpose> | UnsupportedAccordionIconTreatmentIssue<TBlockId, TPurpose> | UnsupportedBlockCompositionIssue<TBlockId, TPurpose> | ImageSurfaceTreatmentWithoutImageSurfaceIssue<TBlockId, TPurpose> | ImageSurfaceMotionWithoutImageSurfaceIssue<TBlockId, TPurpose> | HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId, TPurpose> | MissingBlockDesignCapabilityIssue<TBlockId, TPurpose> | UnsupportedBlockDesignCapabilityIssue<TBlockId, TPurpose> | RemovedTransitionForFlushFrameIssue<TBlockId, TPurpose> | HeroImageWithoutLegibilityIssue<TBlockId, TPurpose>;
759
770
  export type DesignRepairResultForIssue<TIssue extends DesignResolutionIssue<string, string>> = {
760
771
  [TKind in TIssue['kind']]: Readonly<{
761
772
  kind: TKind extends 'removed-transition-for-flush-frame' ? 'repaired' : 'fallbackApplied';
@@ -1,21 +1,21 @@
1
- import type { HeaderPositioning, Theme } from "./schema";
2
- import { type SiteChromePlacementPlan } from "./siteChromePlacement";
3
- import { type SiteOverlayHeaderClearancePlan } from "./siteChromeOverlayClearance";
4
- export type SiteTopShellBehavior = "normal-flow" | "shared-sticky-shell" | "banner-above-overlay-header";
1
+ import type { HeaderPositioning, Theme } from './schema';
2
+ import { type SiteChromePlacementPlan } from './siteChromePlacement';
3
+ import { type SiteOverlayHeaderClearancePlan } from './siteChromeOverlayClearance';
4
+ export type SiteTopShellBehavior = 'normal-flow' | 'shared-sticky-shell' | 'banner-above-overlay-header';
5
5
  export type SiteTopShellPlan = Readonly<{
6
- behavior: "normal-flow";
6
+ behavior: 'normal-flow';
7
7
  contentStartsUnderHeader: boolean;
8
8
  requiresHeaderOffset: false;
9
9
  }> | Readonly<{
10
- behavior: "shared-sticky-shell";
10
+ behavior: 'shared-sticky-shell';
11
11
  contentStartsUnderHeader: false;
12
12
  requiresHeaderOffset: false;
13
13
  }> | Readonly<{
14
- behavior: "banner-above-overlay-header";
14
+ behavior: 'banner-above-overlay-header';
15
15
  contentStartsUnderHeader: true;
16
16
  requiresHeaderOffset: true;
17
17
  }>;
18
- export type SiteDocumentLayoutMode = "normal-flow" | "header-overlay";
18
+ export type SiteDocumentLayoutMode = 'normal-flow' | 'header-overlay';
19
19
  export type SiteDocumentPlan = Readonly<{
20
20
  placement: SiteChromePlacementPlan;
21
21
  topShell: SiteTopShellPlan;
@@ -24,7 +24,7 @@ export type SiteDocumentPlan = Readonly<{
24
24
  }>;
25
25
  export type SiteDocumentPlanInput = Readonly<{
26
26
  headerPositioning: HeaderPositioning;
27
- headerVariant?: Theme["header"]["variant"] | null;
27
+ headerVariant?: Theme['header']['variant'] | null;
28
28
  hasVisibleBanner: boolean;
29
29
  hasVisibleHeader?: boolean;
30
30
  }>;
@@ -16,6 +16,7 @@ export interface GenerateStatusCssParams {
16
16
  * Creates scoped CSS classes for:
17
17
  * - .status-error, .status-success, .status-warning, .status-info, .status-muted (text colors)
18
18
  * - .alert, .alert-error, .alert-success, .alert-warning, .alert-info (styled containers)
19
+ * - .feedback-note, .feedback-note-* (the "field-note" feedback treatment)
19
20
  * - .required-marker (required field indicator)
20
21
  * - .button-link (text-styled button)
21
22
  *
@@ -1,2 +1,3 @@
1
1
  export * from './foregroundContract';
2
2
  export * from './foregroundRoles';
3
+ export * from './resolveSurfaceForeground';
@@ -0,0 +1,39 @@
1
+ import { type ThemeColorToken } from '../tokens/themeColorTokens';
2
+ import type { SurfaceForegroundRole } from './foregroundRoles';
3
+ export { ORDINARY_TEXT_MIN_CONTRAST_RATIO } from '../palette/utils/contrast';
4
+ export type ResolvedSurfaceForegroundTokens = Readonly<Record<SurfaceForegroundRole, ThemeColorToken>>;
5
+ export type ResolvedSurfaceForeground = Readonly<{
6
+ kind: 'known';
7
+ roles: ResolvedSurfaceForegroundTokens;
8
+ }> | Readonly<{
9
+ kind: 'unknown';
10
+ }>;
11
+ export type SurfaceForegroundBackground = Readonly<{
12
+ type: 'color' | 'gradient' | 'image' | 'video';
13
+ color?: string | null;
14
+ textColor?: string | null;
15
+ headingColor?: string | null;
16
+ linkColor?: string | null;
17
+ supportingColor?: string | null;
18
+ }>;
19
+ export type SurfaceForegroundCandidates = Readonly<{
20
+ text?: string | null;
21
+ heading?: string | null;
22
+ link?: string | null;
23
+ supporting?: string | null;
24
+ }>;
25
+ export type SurfaceForegroundResolutionOptions = Readonly<{
26
+ /** Opaque surface underneath translucent colour backgrounds. */
27
+ compositeBase?: string | null;
28
+ }>;
29
+ type Palette = Readonly<Record<string, string>>;
30
+ /**
31
+ * Resolve the complete foreground contract for an effective page/section or
32
+ * site-chrome background.
33
+ *
34
+ * Deterministic colour backgrounds are validated at ordinary-text WCAG AA.
35
+ * Existing image/video/gradient treatments are trusted only when they already
36
+ * carry a usable foreground token; this function deliberately does not claim
37
+ * pixel-level contrast proof for media.
38
+ */
39
+ export declare function resolveSurfaceForeground(background: SurfaceForegroundBackground | null, palette: Palette, candidates?: SurfaceForegroundCandidates, options?: SurfaceForegroundResolutionOptions): ResolvedSurfaceForeground;
@@ -7,7 +7,8 @@ export type NavigationTab = {
7
7
  export type NavigationTabsVariant = 'default';
8
8
  export type NavigationTabsProps = {
9
9
  tabs: NavigationTab[];
10
- activeTab?: string;
10
+ /** `null` intentionally renders the navigation with no selected tab. */
11
+ activeTab?: string | null;
11
12
  onTabChange?: (tabId: string) => void;
12
13
  variant?: NavigationTabsVariant;
13
14
  urlParam?: string;
@@ -34,4 +35,4 @@ export type NavigationTabPanelsProps = {
34
35
  * Optional companion component for rendering tab content panels.
35
36
  * Use this when tabs control content visibility (not just state).
36
37
  */
37
- export declare function NavigationTabPanels({ tabs, activeTab, className }: NavigationTabPanelsProps): import("react").JSX.Element;
38
+ export declare function NavigationTabPanels({ tabs, activeTab, className, }: NavigationTabPanelsProps): import("react").JSX.Element;
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { At as formatBookingTime, Dt as formatBookingDate, Ft as toBookingTimeZone, Gt as assertNever, It as toScheduledBookingDateTime, Lt as parseEventPageSurfaceSubject, X as themeButtonClassName, yt as assertNever$1 } from "./propsDecoder-CiTuhUwY.mjs";
3
- import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-DGuNR1W4.mjs";
4
- import { n as useBlockApi } from "./context-CJz1Vlsz.mjs";
2
+ import { Et as formatBookingDate, Ft as toScheduledBookingDateTime, It as parseEventPageSurfaceSubject, Pt as toBookingTimeZone, Wt as assertNever, Z as themeButtonClassName, kt as formatBookingTime, vt as assertNever$1 } from "./propsDecoder-CBPGXEYX.mjs";
3
+ import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-BiqIMgZk.mjs";
4
+ import { n as useBlockApi } from "./context-B83PiNzm.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
- import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-CShkRqab.mjs";
7
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-B9vriL5C.mjs";
8
- import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-DGCYuBJ1.mjs";
9
- import { t as FeedbackMessage } from "./FeedbackMessage-ByMrs3cr.mjs";
6
+ import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-DZ73aEX6.mjs";
7
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-BPZ-yfGI.mjs";
8
+ import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-CLjQhkDb.mjs";
9
+ import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
10
10
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
11
11
  import { t as buildCheckoutReturnUrls } from "./checkoutUrls-Ct8Mxna3.mjs";
12
12
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { X as themeButtonClassName } from "./propsDecoder-CiTuhUwY.mjs";
2
+ import { Z as themeButtonClassName } from "./propsDecoder-CBPGXEYX.mjs";
3
3
  import { useId } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/api/types/discounts.ts
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { t as clsx } from "./clsx-DgIEfj3H.mjs";
3
- import { A as formatDate, E as getEventRuntimeFiltersKey, F as formatEventTeacherLine, I as formatTime, L as getCardOrientation, N as formatEventPrice, R as getContainerClass, T as buildEventRuntimeFilters, U as getEventAvailability, V as resolveEventLinkProps, X as themeButtonClassName, yt as assertNever, z as groupEventsByDate } from "./propsDecoder-CiTuhUwY.mjs";
4
- import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, t as useEventFilters } from "./useEventFilters-QZ3HMgaJ.mjs";
5
- import { n as useBlockApi } from "./context-CJz1Vlsz.mjs";
2
+ import { D as clsx } from "./colorStyles-CrxJrPjJ.mjs";
3
+ import { B as groupEventsByDate, D as getEventRuntimeFiltersKey, E as buildEventRuntimeFilters, H as resolveEventLinkProps, I as formatEventTeacherLine, L as formatTime, P as formatEventPrice, R as getCardOrientation, W as getEventAvailability, Z as themeButtonClassName, j as formatDate, vt as assertNever, z as getContainerClass } from "./propsDecoder-CBPGXEYX.mjs";
4
+ import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, t as useEventFilters } from "./useEventFilters-pF_OJNQP.mjs";
5
+ import { n as useBlockApi } from "./context-B83PiNzm.mjs";
6
6
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
7
7
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
8
8
  import React, { createContext, useCallback, useContext, useEffect, useId, useMemo, useReducer, useRef, useState } from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { T as buildEventRuntimeFilters } from "./propsDecoder-CiTuhUwY.mjs";
3
- import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-QZ3HMgaJ.mjs";
2
+ import { E as buildEventRuntimeFilters } from "./propsDecoder-CBPGXEYX.mjs";
3
+ import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-pF_OJNQP.mjs";
4
4
  import { useId, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/events/EventListing.client.tsx
@@ -3,13 +3,25 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  function joinClasses(...parts) {
4
4
  return parts.filter((part) => typeof part === "string" && part.length > 0).join(" ");
5
5
  }
6
- function FeedbackMessage({ tone, children, className, id, title, titleClassName, bodyClassName, role = "status", live }) {
6
+ /**
7
+ * The class each treatment contributes on top of whatever the caller passed.
8
+ *
9
+ * `panel` contributes nothing: its callers already pass `alert alert-*`, so
10
+ * adopting the vocabulary changes no existing rendering. `field-note` needs a
11
+ * single hook — its tone styling keys off `data-feedback-tone` in the
12
+ * theme-generated CSS rather than off a second class.
13
+ */
14
+ function treatmentClass(treatment) {
15
+ return treatment === "field-note" ? "feedback-note" : void 0;
16
+ }
17
+ function FeedbackMessage({ tone, treatment = "panel", children, className, id, title, titleClassName, bodyClassName, role = "status", live }) {
7
18
  const resolvedLive = live ?? (role === "alert" ? "assertive" : "polite");
8
- const shouldWrapBody = Boolean(title || bodyClassName);
19
+ const shouldWrapBody = Boolean(title || bodyClassName) || treatment === "field-note";
9
20
  return /* @__PURE__ */ jsxs("div", {
10
21
  id,
11
- className,
22
+ className: joinClasses(className, treatmentClass(treatment)) || void 0,
12
23
  "data-feedback-tone": tone,
24
+ "data-feedback-treatment": treatment,
13
25
  role,
14
26
  "aria-live": resolvedLive === "off" ? void 0 : resolvedLive,
15
27
  children: [title ? /* @__PURE__ */ jsx("p", {
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { J as isRecord } from "./propsDecoder-CiTuhUwY.mjs";
2
+ import { Y as isRecord } from "./propsDecoder-CBPGXEYX.mjs";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/shared/LeafletStaticMap.tsx
@@ -1,6 +1,6 @@
1
- import { t as clsx } from "./clsx-DgIEfj3H.mjs";
2
- import { Wt as formatCurrencyAmount } from "./propsDecoder-CiTuhUwY.mjs";
3
- import { a as CheckIcon } from "./scrollToBlock-CShkRqab.mjs";
1
+ import { D as clsx } from "./colorStyles-CrxJrPjJ.mjs";
2
+ import { Ut as formatCurrencyAmount } from "./propsDecoder-CBPGXEYX.mjs";
3
+ import { a as CheckIcon } from "./scrollToBlock-DZ73aEX6.mjs";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/shared/utils/formatting.ts
@@ -1,4 +1,4 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-CiTuhUwY.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CBPGXEYX.mjs";
2
2
  //#region src/rendering/islands/enhancers/accordion.ts
3
3
  const decode = defineIslandPropsDecoder("accordion");
4
4
  function parseDefaultValues(value) {