@riverbankcms/sdk 0.130.0 → 0.130.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DiEpbOdw.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +18 -15
  4. package/dist/{PreviewEditorUI-C6MvxnIa.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-C2rnoPz6.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DRXA_m5L.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +48 -21
  7. package/dist/{SiteChromeCustomizeContext-BTHdv5_-.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +6180 -5076
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +309 -32
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +969 -112
  10. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  11. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  12. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  13. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  14. package/dist/_dts/api/src/bookingConfig.d.ts +10 -20
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -5
  16. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  18. package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
  20. package/dist/_dts/api/src/endpoints.d.ts +1253 -1209
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  22. package/dist/_dts/api/src/eventManagementContracts.d.ts +83 -7
  23. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
  24. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
  25. package/dist/_dts/api/src/index.d.ts +11 -3
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  28. package/dist/_dts/api/src/oauth.d.ts +8 -0
  29. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  30. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
  31. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
  32. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -0
  33. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  34. package/dist/_dts/api/src/sdkContracts.d.ts +5 -13
  35. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  36. package/dist/_dts/api/src/sdkThemeWire.d.ts +40 -8
  37. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  38. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  39. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  40. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  41. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +12 -4
  42. package/dist/_dts/api/src/types.d.ts +7 -59
  43. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  44. package/dist/_dts/block-form/src/index.d.ts +23 -22
  45. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  46. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  47. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  48. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
  49. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
  50. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  51. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +7 -30
  52. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  53. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  54. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +1 -3
  55. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +13 -1
  56. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  57. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  58. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  59. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  60. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  61. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  63. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  64. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  71. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  72. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  74. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +4 -0
  76. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +26 -0
  77. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -37
  78. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  79. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
  80. package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
  81. package/dist/_dts/core/src/branded.d.ts +4 -0
  82. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  83. package/dist/_dts/core/src/index.d.ts +3 -0
  84. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  85. package/dist/_dts/core/src/secret.d.ts +44 -0
  86. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +341 -0
  87. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  88. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  89. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  90. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  91. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  92. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  93. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  94. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  95. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  96. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  97. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  98. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  99. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  100. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  101. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  102. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  103. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  104. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  105. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  106. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  107. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  108. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  109. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  110. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  111. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  112. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  113. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  114. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  115. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -0
  116. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  117. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  118. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  119. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  120. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  121. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  122. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  123. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  124. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  125. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +61 -39
  126. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  127. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  128. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  129. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -1
  130. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  131. package/dist/_dts/sdk/src/version.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  133. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  134. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  135. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  136. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  137. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  138. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  139. package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
  140. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  141. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  142. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  143. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  144. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +12 -135
  145. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  146. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  147. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  148. package/dist/_dts/theme-core/src/schema.d.ts +301 -94
  149. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
  150. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  151. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  152. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  153. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
  154. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  155. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  156. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  157. package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +2 -4
  158. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +2 -9
  159. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +0 -2
  160. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  161. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  162. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  163. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  164. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  165. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  166. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +1 -62
  168. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  169. package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
  170. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  171. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  172. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  173. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  174. package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
  175. package/dist/client/{CourseRegistrationWizard-Bvtz9G9g.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
  176. package/dist/client/{DiscountCodeDisclosure-Ur-Xx1U_.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
  177. package/dist/client/{EventCombined.client-EhscD4U6.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
  178. package/dist/client/{EventListing.client-Bn26cFTY.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
  179. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  180. package/dist/client/{LeafletStaticMap-BUw9Ntzr.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
  181. package/dist/client/{StepIndicator-BfbdiVQI.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
  182. package/dist/client/{accordion-CjIeof73.mjs → accordion-_boYwHHi.mjs} +1 -1
  183. package/dist/client/{bookingForm-DwEeovf_.mjs → bookingForm--AqEfyBX.mjs} +56 -39
  184. package/dist/client/bookings.mjs +393 -192
  185. package/dist/client/{carousel-BMrfgOba.mjs → carousel-CVI2dqZr.mjs} +2 -2
  186. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  187. package/dist/client/{cart-rXEdxTdb.mjs → cart-DR6IiPz9.mjs} +3 -3
  188. package/dist/client/{checkout-D3JlSzh3.mjs → checkout-CsrGAfQt.mjs} +3 -3
  189. package/dist/client/client.mjs +4524 -3512
  190. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  191. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  192. package/dist/client/{courseRegistration-DO5XvMAA.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
  193. package/dist/client/{eventCalendar-DO6rTqCn.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
  194. package/dist/client/{eventCombined-bJ3i_ovU.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
  195. package/dist/client/{eventDetails-CCbrXE7o.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
  196. package/dist/client/{eventListing-Bdlt9YTm.mjs → eventListing-DuP1yhBS.mjs} +3 -3
  197. package/dist/client/{eventRegistration-B02lt6iY.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
  198. package/dist/client/{form-DrUBAAox.mjs → form-BA4t3kKU.mjs} +4 -4
  199. package/dist/client/{headerSection-MzqvHL6T.mjs → headerSection-CpNaJxhW.mjs} +2 -2
  200. package/dist/client/hooks.mjs +1967 -2059
  201. package/dist/client/{locationMap-DG8BxTBm.mjs → locationMap-3HGMCL7_.mjs} +3 -3
  202. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  203. package/dist/client/{newsletterForm-BzO-Td3p.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
  204. package/dist/client/{pricing-NgK7ozkg.mjs → pricing-BiqIMgZk.mjs} +1 -1
  205. package/dist/client/{productDetail-CfQ7rhVK.mjs → productDetail-C9joWhdE.mjs} +3 -3
  206. package/dist/client/{productList-C23rOLUi.mjs → productList-CjzdU3pB.mjs} +3 -3
  207. package/dist/client/{propsDecoder-CAZdhwjs.mjs → propsDecoder-CBPGXEYX.mjs} +395 -402
  208. package/dist/client/rendering/client.mjs +2004 -2856
  209. package/dist/client/rendering/islands.mjs +20 -20
  210. package/dist/client/rendering.mjs +4605 -3496
  211. package/dist/client/{scrollToBlock-DSSqVQr1.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
  212. package/dist/client/{shop-BMToKLK7.mjs → shop-CQRai7hj.mjs} +7 -7
  213. package/dist/client/{shop-commerce-DB4JRKmp.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
  214. package/dist/client/{shop-commerce-store-BOqSIOuc.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
  215. package/dist/client/{shopShared-B6SK9DZv.mjs → shopShared-DP8DXTkF.mjs} +5 -5
  216. package/dist/client/{useEventFilters-CULOa4nB.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
  217. package/dist/client/{usePolling-BGG_8-jl.mjs → usePolling-Cls91SD2.mjs} +2 -2
  218. package/dist/preview-next/before-render.mjs +192 -108
  219. package/dist/preview-next/client/runtime.mjs +4 -4
  220. package/dist/preview-next/keepAlive.mjs +7406 -29
  221. package/dist/preview-next/middleware.mjs +186 -107
  222. package/dist/{previewAuthStore-_GXFRg2W.mjs → previewAuthStore-CX1C_KJ4.mjs} +185 -107
  223. package/dist/{sdk-runtime-hhSOMShR.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
  224. package/dist/{separator-flRaFc14.mjs → separator-BXlYN_gr.mjs} +1 -1
  225. package/dist/server/components.mjs +6363 -4998
  226. package/dist/server/config-validation.mjs +1967 -2059
  227. package/dist/server/config.mjs +1967 -2059
  228. package/dist/server/data.mjs +1967 -2059
  229. package/dist/server/index.mjs +186 -108
  230. package/dist/server/next.mjs +6553 -5285
  231. package/dist/server/page-converter.mjs +1031 -1844
  232. package/dist/server/prebuild.mjs +1 -1
  233. package/dist/server/rendering/server.mjs +3352 -3006
  234. package/dist/server/rendering.mjs +6289 -4924
  235. package/dist/server/routing.mjs +1906 -1036
  236. package/dist/server/server.mjs +1976 -2165
  237. package/dist/server/theme-bridge.mjs +949 -670
  238. package/dist/server/theme.mjs +252 -51
  239. package/dist/styles/index.css +295 -334
  240. package/package.json +3 -2
  241. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  242. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  243. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  244. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
@@ -0,0 +1,19 @@
1
+ import type { PageDesignEditorBlock } from './pageDesignEditorModel';
2
+ import { type BlockDesignCapabilityMap, type BlockDesignPlan, type CardRoleCapability, type DesignBlockId } from './types';
3
+ export declare function cardRoleCapabilitiesByBlockKind(blocks: readonly PageDesignEditorBlock<DesignBlockId>[]): ReadonlyMap<string, CardRoleCapability>;
4
+ /**
5
+ * The capability map this compiler resolves against is *synthesized from the
6
+ * plan itself*: every axis is set to exactly what the block already asked for,
7
+ * because the read model has already gated those choices against the real
8
+ * declared capability and re-gating them here would only re-run the same
9
+ * decision with less information.
10
+ *
11
+ * `cardRoles` is the exception and must be threaded through from the
12
+ * declaration. It does not describe a choice the plan made — it describes
13
+ * which card path the block's *renderer* understands. Synthesizing
14
+ * `'supported'` would compile `_cardStyles.role` for blocks that render no
15
+ * card at all, so a Look could hand a surface to a block with nowhere to put
16
+ * it. This compiler is not preview-only: it also serves published ordinary
17
+ * pages and published template/entry pages.
18
+ */
19
+ export declare function runtimeCapabilitiesForBlocks(blocks: readonly BlockDesignPlan<DesignBlockId, string>[], cardRolesByBlockKind: ReadonlyMap<string, CardRoleCapability>): BlockDesignCapabilityMap;
@@ -1,4 +1,5 @@
1
1
  import { type BoxBackground } from '../boxBackgroundSchema';
2
+ import { type ResolvedSurfaceForeground } from '../surfaces';
2
3
  import type { CompiledBlockRuntimeFields } from './runtimeCompiler';
3
4
  type CanonicalRuntimeBackground = Readonly<{
4
5
  kind: 'none';
@@ -20,4 +21,12 @@ export type ResolvedSectionBackground = Readonly<{
20
21
  }>;
21
22
  export declare function parseCanonicalRuntimeBackground(content: Record<string, unknown>): CanonicalRuntimeBackground;
22
23
  export declare function resolveSectionBackground(source: CanonicalRuntimeBackground, lookDefault: NonNullable<NonNullable<CompiledBlockRuntimeFields['_sectionStyles']>['background']> | null | undefined): ResolvedSectionBackground;
24
+ export declare function resolveSectionForeground(background: ResolvedSectionBackground, palette: Readonly<Record<string, string>>): ResolvedSurfaceForeground;
25
+ /**
26
+ * Read foreground authority from post-compiler block content. The preview
27
+ * compiler has already materialized any Look-owned background into
28
+ * `_sectionStyles`; raw authored content must be composed with its Look through
29
+ * `resolveSectionBackground` instead.
30
+ */
31
+ export declare function resolveCompiledSectionForegroundFromContent(content: Record<string, unknown> | null, palette: Readonly<Record<string, string>>): ResolvedSurfaceForeground;
23
32
  export {};
@@ -2,7 +2,7 @@ import { type CardStylesOverride, type ContainerStylesOverride, type SectionStyl
2
2
  import { type ExpandedPalette } from '../palette/expandPalette';
3
3
  import { type ButtonStyleSelection } from '../buttons/styles';
4
4
  import { type RuntimeStyleWriteResultForFields, type StyleAuthority } from './designState';
5
- import { type ContentFrameIntent, type BlockCompositionIntent, type EyebrowTreatment, type FlushFrameTreatment, type DesignBoundaryId, type PanelFrameTreatment, type ResolvedBlockDesignPlan, type ResolvedPageDesignPlan, type SiteStyleItemSurfaceIntent, type SiteStyleSectionTransitionIntent, type SiteStyleSurfaceIntent, type ThemeTokenRecipes } from './types';
5
+ import { type ContentFrameIntent, type BlockCompositionIntent, type EyebrowTreatment, type FlushFrameTreatment, type DesignBoundaryId, type PanelFrameTreatment, type ResolvedBlockDesignPlan, type ResolvedPageDesignPlan, type SiteStyleSectionTransitionIntent, type SiteStyleSurfaceIntent, type ThemeTokenRecipes } from './types';
6
6
  import { type SectionBoundaryRuntimeMetrics } from './sectionTransitions';
7
7
  import { type ThemeColorToken } from '../tokens';
8
8
  import { type GradientPresetId } from '../gradients';
@@ -44,7 +44,6 @@ export type DesignRuntimeRules = Readonly<{
44
44
  export type ComponentRuntimeRules = Readonly<{
45
45
  panelFrames: Readonly<Record<PanelFrameTreatment, ContainerStylesOverride>>;
46
46
  flushFrames: Readonly<Record<FlushFrameTreatment, ContainerStylesOverride>>;
47
- itemSurfaces: Readonly<Record<SiteStyleItemSurfaceIntent, CardStylesOverride | null>>;
48
47
  }>;
49
48
  export type CompiledBlockRuntimeFields = Readonly<{
50
49
  _frameStyles: ContentFrameIntent;
@@ -241,66 +240,6 @@ export declare const defaultComponentRuntimeRules: {
241
240
  readonly raised: false;
242
241
  };
243
242
  };
244
- readonly itemSurfaces: {
245
- readonly none: null;
246
- readonly default: {
247
- readonly spacing: "medium";
248
- readonly rounded: "lg";
249
- readonly raised: false;
250
- };
251
- readonly flat: {
252
- readonly spacing: "medium";
253
- readonly rounded: "lg";
254
- readonly raised: false;
255
- };
256
- readonly outlined: {
257
- readonly spacing: "medium";
258
- readonly rounded: "lg";
259
- readonly raised: false;
260
- readonly border: {
261
- readonly enabled: true;
262
- readonly width: "1";
263
- readonly colorToken: "border";
264
- };
265
- };
266
- readonly raised: {
267
- readonly spacing: "medium";
268
- readonly rounded: "xl";
269
- readonly raised: true;
270
- };
271
- readonly inset: {
272
- readonly treatment: "soft-panel";
273
- readonly spacing: "comfortable";
274
- readonly rounded: "xl";
275
- readonly raised: false;
276
- readonly border: {
277
- readonly enabled: false;
278
- };
279
- readonly background: {
280
- readonly type: "color";
281
- readonly color: "surfaceAlt";
282
- readonly textColor: "text";
283
- };
284
- };
285
- readonly editorial: {
286
- readonly treatment: "editorial-rule";
287
- readonly spacing: "none";
288
- readonly rounded: "none";
289
- readonly raised: false;
290
- readonly border: {
291
- readonly enabled: false;
292
- };
293
- };
294
- readonly 'color-blocked': {
295
- readonly treatment: "color-blocked";
296
- readonly spacing: "spacious";
297
- readonly rounded: "2xl";
298
- readonly raised: false;
299
- readonly border: {
300
- readonly enabled: false;
301
- };
302
- };
303
- };
304
243
  };
305
244
  /** Compiles one resolved semantic block plan into legacy block runtime fields. */
306
245
  export declare function compileBlockRuntimeFields<TBlockId extends string, TPurpose extends string>(input: CompileBlockRuntimeInput<TBlockId, TPurpose>): CompiledBlockRuntime & Readonly<{
@@ -1,4 +1,5 @@
1
- import { type AdvancedBlockDesignIntent, type ContentFrameIntent, type GeneratedBlockDesignIntent, type GeneratedContentFrameIntent, type GeneratedItemSurfaceIntent, type GeneratedSectionTransitionIntent, type GeneratedSurfaceIntent, type SiteStyleEmphasis, type SiteStyleItemSurfaceIntent, type SiteStyleSectionTransitionIntent, type SiteStyleSurfaceIntent, type UserBlockDesignIntent, type UserContentFrameIntent, type UserItemSurfaceIntent, type UserSectionTransitionIntent, type UserSurfaceIntent } from './types';
1
+ import { type CardRole } from '../cards';
2
+ import { type AdvancedBlockDesignIntent, type ContentFrameIntent, type GeneratedBlockDesignIntent, type GeneratedContentFrameIntent, type GeneratedCardRoleIntent, type GeneratedSectionTransitionIntent, type GeneratedSurfaceIntent, type SiteStyleEmphasis, type SiteStyleSectionTransitionIntent, type SiteStyleSurfaceIntent, type UserBlockDesignIntent, type UserContentFrameIntent, type UserCardRoleIntent, type UserSectionTransitionIntent, type UserSurfaceIntent } from './types';
2
3
  /**
3
4
  * Design option catalogs are source-specific whitelists for schema builders and UI
4
5
  * controls. They describe what a choice source may express; DesignResolutionPolicy
@@ -6,18 +7,18 @@ import { type AdvancedBlockDesignIntent, type ContentFrameIntent, type Generated
6
7
  */
7
8
  export type DesignChoiceSource = GeneratedBlockDesignIntent['sectionSurface']['source'] | UserBlockDesignIntent['sectionSurface']['source'] | Exclude<AdvancedBlockDesignIntent['sectionSurface']['source'], UserBlockDesignIntent['sectionSurface']['source']>;
8
9
  export type DetachedCustomCapability<TSource extends DesignChoiceSource> = TSource extends 'advanced' ? true : false;
9
- export type DesignOptionCatalog<TSource extends DesignChoiceSource, TSurface extends SiteStyleSurfaceIntent, TContentFrame extends ContentFrameIntent, TItemSurface extends SiteStyleItemSurfaceIntent, TTransition extends SiteStyleSectionTransitionIntent> = Readonly<{
10
+ export type DesignOptionCatalog<TSource extends DesignChoiceSource, TSurface extends SiteStyleSurfaceIntent, TContentFrame extends ContentFrameIntent, TCardRole extends CardRole, TTransition extends SiteStyleSectionTransitionIntent> = Readonly<{
10
11
  source: TSource;
11
12
  sectionSurfaces: readonly TSurface[];
12
13
  contentFrames: readonly TContentFrame[];
13
- itemSurfaces: readonly TItemSurface[];
14
+ cardRoles: readonly TCardRole[];
14
15
  transitions: readonly TTransition[];
15
16
  emphases: readonly SiteStyleEmphasis[];
16
17
  detachedCustom: DetachedCustomCapability<TSource>;
17
18
  }>;
18
- export type GeneratedDesignOptionCatalog = DesignOptionCatalog<'generated', GeneratedSurfaceIntent, GeneratedContentFrameIntent, GeneratedItemSurfaceIntent, GeneratedSectionTransitionIntent>;
19
- export type UserDesignOptionCatalog = DesignOptionCatalog<'user', UserSurfaceIntent, UserContentFrameIntent, UserItemSurfaceIntent, UserSectionTransitionIntent>;
20
- export type AdvancedDesignOptionCatalog = DesignOptionCatalog<'advanced', SiteStyleSurfaceIntent, ContentFrameIntent, SiteStyleItemSurfaceIntent, SiteStyleSectionTransitionIntent>;
19
+ export type GeneratedDesignOptionCatalog = DesignOptionCatalog<'generated', GeneratedSurfaceIntent, GeneratedContentFrameIntent, GeneratedCardRoleIntent, GeneratedSectionTransitionIntent>;
20
+ export type UserDesignOptionCatalog = DesignOptionCatalog<'user', UserSurfaceIntent, UserContentFrameIntent, UserCardRoleIntent, UserSectionTransitionIntent>;
21
+ export type AdvancedDesignOptionCatalog = DesignOptionCatalog<'advanced', SiteStyleSurfaceIntent, ContentFrameIntent, CardRole, SiteStyleSectionTransitionIntent>;
21
22
  export type DesignOptionCatalogForSource<TSource extends DesignChoiceSource> = TSource extends 'generated' ? GeneratedDesignOptionCatalog : TSource extends 'user' ? UserDesignOptionCatalog : TSource extends 'advanced' ? AdvancedDesignOptionCatalog : never;
22
23
  export declare const generatedDesignOptionCatalog: {
23
24
  readonly source: "generated";
@@ -35,7 +36,7 @@ export declare const generatedDesignOptionCatalog: {
35
36
  treatment: import("../../../blocks/src/index").FlushFrameTreatment;
36
37
  bleed: "start";
37
38
  }>];
38
- readonly itemSurfaces: readonly ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"];
39
+ readonly cardRoles: readonly ["default", "alternative", "open", "none"];
39
40
  readonly transitions: readonly ["none", "soft-fade-short", "soft-fade-long"];
40
41
  readonly emphases: readonly ["low", "medium", "high"];
41
42
  readonly detachedCustom: false;
@@ -67,7 +68,7 @@ export declare const userDesignOptionCatalog: {
67
68
  treatment: import("../../../blocks/src/index").FlushFrameTreatment;
68
69
  bleed: "both";
69
70
  }>];
70
- readonly itemSurfaces: readonly ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"];
71
+ readonly cardRoles: readonly ["default", "alternative", "open", "none"];
71
72
  readonly transitions: readonly ["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"];
72
73
  readonly emphases: readonly ["low", "medium", "high"];
73
74
  readonly detachedCustom: false;
@@ -99,7 +100,7 @@ export declare const advancedDesignOptionCatalog: {
99
100
  treatment: import("../../../blocks/src/index").FlushFrameTreatment;
100
101
  bleed: "both";
101
102
  }>];
102
- readonly itemSurfaces: readonly ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"];
103
+ readonly cardRoles: readonly ["default", "alternative", "open", "none"];
103
104
  readonly transitions: readonly ["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
105
  readonly emphases: readonly ["low", "medium", "high"];
105
106
  readonly detachedCustom: true;
@@ -121,7 +122,7 @@ export declare const designOptionCatalogs: {
121
122
  treatment: import("../../../blocks/src/index").FlushFrameTreatment;
122
123
  bleed: "start";
123
124
  }>];
124
- readonly itemSurfaces: readonly ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"];
125
+ readonly cardRoles: readonly ["default", "alternative", "open", "none"];
125
126
  readonly transitions: readonly ["none", "soft-fade-short", "soft-fade-long"];
126
127
  readonly emphases: readonly ["low", "medium", "high"];
127
128
  readonly detachedCustom: false;
@@ -153,7 +154,7 @@ export declare const designOptionCatalogs: {
153
154
  treatment: import("../../../blocks/src/index").FlushFrameTreatment;
154
155
  bleed: "both";
155
156
  }>];
156
- readonly itemSurfaces: readonly ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"];
157
+ readonly cardRoles: readonly ["default", "alternative", "open", "none"];
157
158
  readonly transitions: readonly ["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"];
158
159
  readonly emphases: readonly ["low", "medium", "high"];
159
160
  readonly detachedCustom: false;
@@ -185,7 +186,7 @@ export declare const designOptionCatalogs: {
185
186
  treatment: import("../../../blocks/src/index").FlushFrameTreatment;
186
187
  bleed: "both";
187
188
  }>];
188
- readonly itemSurfaces: readonly ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"];
189
+ readonly cardRoles: readonly ["default", "alternative", "open", "none"];
189
190
  readonly transitions: readonly ["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"];
190
191
  readonly emphases: readonly ["low", "medium", "high"];
191
192
  readonly detachedCustom: true;
@@ -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 { It as toBookingTimeZone, Kt as assertNever, Lt as toScheduledBookingDateTime, Ot as formatBookingDate, Rt as parseEventPageSurfaceSubject, Z as themeButtonClassName, bt as assertNever$1, jt as formatBookingTime } from "./propsDecoder-CAZdhwjs.mjs";
3
- import { n as formatCoursePriceDisplay, r as resolveCoursePricingState, t as formatCoursePriceAmount } from "./pricing-NgK7ozkg.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-DSSqVQr1.mjs";
7
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-Ur-Xx1U_.mjs";
8
- import { n as SpinnerNode, r as formatPrice, t as StepIndicator$1 } from "./StepIndicator-BfbdiVQI.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 { Z as themeButtonClassName } from "./propsDecoder-CAZdhwjs.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