@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
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  export declare const eventPresetSchema: z.ZodEnum<{
3
3
  course: "course";
4
4
  event: "event";
5
+ term: "term";
5
6
  performance: "performance";
6
7
  class: "class";
7
8
  workshop: "workshop";
@@ -367,6 +368,24 @@ export declare const publicTeamMemberSummarySchema: z.ZodObject<{
367
368
  summary: z.ZodNullable<z.ZodString>;
368
369
  profilePath: z.ZodNullable<z.ZodString>;
369
370
  }, z.core.$strip>;
371
+ export declare const publicEventBookingAvailabilitySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
372
+ kind: z.ZodLiteral<"open">;
373
+ }, z.core.$strip>, z.ZodObject<{
374
+ kind: z.ZodLiteral<"closed">;
375
+ reason: z.ZodEnum<{
376
+ occurrence_cancelled: "occurrence_cancelled";
377
+ occurrence_completed: "occurrence_completed";
378
+ series_draft: "series_draft";
379
+ series_cancelled: "series_cancelled";
380
+ series_completed: "series_completed";
381
+ series_archived: "series_archived";
382
+ parent_archived: "parent_archived";
383
+ parent_inconsistent: "parent_inconsistent";
384
+ not_public: "not_public";
385
+ already_started: "already_started";
386
+ enrollment_closed: "enrollment_closed";
387
+ }>;
388
+ }, z.core.$strip>], "kind">;
370
389
  /**
371
390
  * Zod schema for public event data
372
391
  */
@@ -378,6 +397,7 @@ export declare const publicEventSchema: z.ZodObject<{
378
397
  eventPreset: z.ZodOptional<z.ZodEnum<{
379
398
  course: "course";
380
399
  event: "event";
400
+ term: "term";
381
401
  performance: "performance";
382
402
  class: "class";
383
403
  workshop: "workshop";
@@ -692,6 +712,24 @@ export declare const publicEventSchema: z.ZodObject<{
692
712
  label: z.ZodString;
693
713
  }, z.core.$strip>], "kind">;
694
714
  requiresRegistration: z.ZodBoolean;
715
+ bookingAvailability: z.ZodDiscriminatedUnion<[z.ZodObject<{
716
+ kind: z.ZodLiteral<"open">;
717
+ }, z.core.$strip>, z.ZodObject<{
718
+ kind: z.ZodLiteral<"closed">;
719
+ reason: z.ZodEnum<{
720
+ occurrence_cancelled: "occurrence_cancelled";
721
+ occurrence_completed: "occurrence_completed";
722
+ series_draft: "series_draft";
723
+ series_cancelled: "series_cancelled";
724
+ series_completed: "series_completed";
725
+ series_archived: "series_archived";
726
+ parent_archived: "parent_archived";
727
+ parent_inconsistent: "parent_inconsistent";
728
+ not_public: "not_public";
729
+ already_started: "already_started";
730
+ enrollment_closed: "enrollment_closed";
731
+ }>;
732
+ }, z.core.$strip>], "kind">;
695
733
  deliveryMode: z.ZodEnum<{
696
734
  in_person: "in_person";
697
735
  hybrid: "hybrid";
@@ -738,6 +776,8 @@ export declare const publicEventSchema: z.ZodObject<{
738
776
  active: "active";
739
777
  draft: "draft";
740
778
  archived: "archived";
779
+ completed: "completed";
780
+ cancelled: "cancelled";
741
781
  }>>;
742
782
  timeZone: z.ZodString;
743
783
  pricing: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -1050,6 +1090,7 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1050
1090
  eventPreset: z.ZodOptional<z.ZodEnum<{
1051
1091
  course: "course";
1052
1092
  event: "event";
1093
+ term: "term";
1053
1094
  performance: "performance";
1054
1095
  class: "class";
1055
1096
  workshop: "workshop";
@@ -1364,6 +1405,24 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1364
1405
  label: z.ZodString;
1365
1406
  }, z.core.$strip>], "kind">;
1366
1407
  requiresRegistration: z.ZodBoolean;
1408
+ bookingAvailability: z.ZodDiscriminatedUnion<[z.ZodObject<{
1409
+ kind: z.ZodLiteral<"open">;
1410
+ }, z.core.$strip>, z.ZodObject<{
1411
+ kind: z.ZodLiteral<"closed">;
1412
+ reason: z.ZodEnum<{
1413
+ occurrence_cancelled: "occurrence_cancelled";
1414
+ occurrence_completed: "occurrence_completed";
1415
+ series_draft: "series_draft";
1416
+ series_cancelled: "series_cancelled";
1417
+ series_completed: "series_completed";
1418
+ series_archived: "series_archived";
1419
+ parent_archived: "parent_archived";
1420
+ parent_inconsistent: "parent_inconsistent";
1421
+ not_public: "not_public";
1422
+ already_started: "already_started";
1423
+ enrollment_closed: "enrollment_closed";
1424
+ }>;
1425
+ }, z.core.$strip>], "kind">;
1367
1426
  deliveryMode: z.ZodEnum<{
1368
1427
  in_person: "in_person";
1369
1428
  hybrid: "hybrid";
@@ -1410,6 +1469,8 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1410
1469
  active: "active";
1411
1470
  draft: "draft";
1412
1471
  archived: "archived";
1472
+ completed: "completed";
1473
+ cancelled: "cancelled";
1413
1474
  }>>;
1414
1475
  timeZone: z.ZodString;
1415
1476
  pricing: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Shared types for event display blocks
3
3
  */
4
- import type { LocationCoordinates, PublicEventPricing, PublicEventPricingType } from '../../../../../../core/src/index';
4
+ import type { LocationCoordinates, PublicEventPricing, PublicEventPricingType, PublicEventBookingAvailability } from '../../../../../../core/src/index';
5
5
  import type { Media } from '../../../../lib/media';
6
6
  import type { RichTextDoc } from '../../../manifest/richTextSchema';
7
7
  import type { BlockBookingPaymentTerms } from '../../shared/bookingPaymentTerms';
@@ -39,13 +39,13 @@ export type PricingType = PublicEventPricingType;
39
39
  /**
40
40
  * Access restriction type for events
41
41
  */
42
- export type AccessRestriction = "none" | "category";
42
+ export type AccessRestriction = 'none' | 'category';
43
43
  export type PublicEventDestination = Readonly<{
44
- kind: "native";
45
- mode: "cms-managed" | "system-managed";
44
+ kind: 'native';
45
+ mode: 'cms-managed' | 'system-managed';
46
46
  path: string;
47
47
  }> | Readonly<{
48
- kind: "external";
48
+ kind: 'external';
49
49
  url: string;
50
50
  label: string;
51
51
  }>;
@@ -58,11 +58,11 @@ export type PublicEventRecurrence = Readonly<{
58
58
  kind: 'other';
59
59
  }>;
60
60
  export type PublicEventTicketTypeAvailability = {
61
- kind: "available";
61
+ kind: 'available';
62
62
  remainingCapacity: number | null;
63
63
  } | {
64
- kind: "unavailable";
65
- reason: "inactive" | "not_on_sale_yet" | "sale_ended" | "sold_out" | "event_sold_out";
64
+ kind: 'unavailable';
65
+ reason: 'inactive' | 'not_on_sale_yet' | 'sale_ended' | 'sold_out' | 'event_sold_out';
66
66
  remainingCapacity: number | null;
67
67
  };
68
68
  export type PublicEventTicketType = {
@@ -74,16 +74,16 @@ export type PublicEventTicketType = {
74
74
  priceAmount: number;
75
75
  isActive: boolean;
76
76
  sortOrder: number;
77
- capacityMode: "limited" | "unlimited";
77
+ capacityMode: 'limited' | 'unlimited';
78
78
  capacityLimit: number | null;
79
- attendanceScope?: "in_person" | "online" | "both";
79
+ attendanceScope?: 'in_person' | 'online' | 'both';
80
80
  saleStartsAt: string | null;
81
81
  saleEndsAt: string | null;
82
82
  availability: PublicEventTicketTypeAvailability;
83
83
  createdAt: string;
84
84
  updatedAt: string;
85
85
  };
86
- export type PublicEventAttendanceMode = "in_person" | "online";
86
+ export type PublicEventAttendanceMode = 'in_person' | 'online';
87
87
  export type PublicEventAttendanceModeAvailability = {
88
88
  mode: PublicEventAttendanceMode;
89
89
  capacity: number | null;
@@ -97,15 +97,15 @@ export type PublicEventAttendanceModeAvailability = {
97
97
  */
98
98
  export type PublicEvent = {
99
99
  /** Canonical registration scope for this occurrence's series. */
100
- bookingScope: "single_occurrence" | "whole_series";
100
+ bookingScope: 'single_occurrence' | 'whole_series';
101
101
  /** Canonical event-series preset when this is an event occurrence. */
102
- eventPreset?: "event" | EventSurfacePreset;
102
+ eventPreset?: 'event' | EventSurfacePreset;
103
103
  /** Resolved destination mode for the event series. */
104
- eventDestinationMode?: "cms-managed" | "system-managed";
104
+ eventDestinationMode?: 'cms-managed' | 'system-managed';
105
105
  /** Public navigation destination for cards/details CTAs. */
106
106
  destination: PublicEventDestination;
107
107
  /** Whether this occurrence belongs to a recurring or one-off series. */
108
- scheduleScope?: Exclude<EventScheduleScope, "any">;
108
+ scheduleScope?: Exclude<EventScheduleScope, 'any'>;
109
109
  /** Safe, normalized recurrence evidence when the series owns a recurrence rule. */
110
110
  recurrence?: PublicEventRecurrence;
111
111
  id: string;
@@ -127,8 +127,10 @@ export type PublicEvent = {
127
127
  path: string | null;
128
128
  /** Whether this event requires registration (drop-in events return false). */
129
129
  requiresRegistration: boolean;
130
+ /** Canonical lifecycle admission; display remains independent from booking. */
131
+ bookingAvailability: PublicEventBookingAvailability;
130
132
  /** How people can attend this event. */
131
- deliveryMode: "in_person" | "online" | "hybrid";
133
+ deliveryMode: 'in_person' | 'online' | 'hybrid';
132
134
  /** Per-mode availability used by registration flows. */
133
135
  attendanceModes: PublicEventAttendanceModeAvailability[];
134
136
  startsAt: string;
@@ -143,7 +145,7 @@ export type PublicEvent = {
143
145
  eventCategory: EventCategory | null;
144
146
  teamMembers?: PublicTeamMemberSummary[];
145
147
  /** Event series status: 'active' events accept registrations, 'draft' events only in preview mode */
146
- status?: "active" | "draft" | "archived";
148
+ status?: 'active' | 'draft' | 'cancelled' | 'completed' | 'archived';
147
149
  /** Effective IANA timezone identifier for this event (venue override > site default). */
148
150
  timeZone: string;
149
151
  /** Canonical pricing model derived by the public API boundary. */
@@ -180,7 +182,7 @@ export type EventCardVariantInput = CardVariant | LegacyEventCardVariant;
180
182
  * - vertical: Standard card layout with image on top (grid mode)
181
183
  * - horizontal: Image on left, content on right (stack mode)
182
184
  */
183
- export type CardOrientation = "vertical" | "horizontal";
185
+ export type CardOrientation = 'vertical' | 'horizontal';
184
186
  /**
185
187
  * Button variant options for event actions
186
188
  */
@@ -192,7 +194,7 @@ export type EventLayout = (typeof eventCalendarListLayoutValues)[number];
192
194
  /**
193
195
  * Column options for grid layouts
194
196
  */
195
- export type ColumnOption = "2" | "3" | "4";
197
+ export type ColumnOption = '2' | '3' | '4';
196
198
  /**
197
199
  * Calendar view options
198
200
  */
@@ -200,7 +202,7 @@ export type CalendarView = (typeof eventCalendarDefaultViewValues)[number];
200
202
  /**
201
203
  * Week start day options
202
204
  */
203
- export type WeekStart = "sunday" | "monday";
205
+ export type WeekStart = 'sunday' | 'monday';
204
206
  /**
205
207
  * Display mode options for the enhanced event-calendar block
206
208
  * - combined: Tabbed view with List + Calendar tabs (default)
@@ -215,12 +217,12 @@ export type DisplayMode = (typeof eventCalendarDisplayModeValues)[number];
215
217
  * - always: Always show filter
216
218
  * - never: Never show filter
217
219
  */
218
- export type FilterAutoShow = "auto" | "always" | "never";
220
+ export type FilterAutoShow = 'auto' | 'always' | 'never';
219
221
  /**
220
222
  * Calendar tab view options for Combined mode
221
223
  * - both: Show toggle for month/week
222
224
  * - month: Month view only
223
225
  * - week: Week view only
224
226
  */
225
- export type CalendarTabViews = "both" | "month" | "week";
227
+ export type CalendarTabViews = 'both' | 'month' | 'week';
226
228
  export type { EventScheduleScope, EventSurfacePreset, EventSurfaceScope };
@@ -5,10 +5,34 @@ import { type BlockConfig, type BlockContentShapeInput, type DefinedBlockManifes
5
5
  import { type StandardAspectRatio } from "../fields/aspectRatio";
6
6
  import { type BlockCtaContent } from "../fields/ctas";
7
7
  import type { BlockIconValue, SemanticIconId } from "../icons";
8
+ import type { CardRole } from "../../../../theme-core/src/cards/index";
8
9
  import { type FeatureCardIconTreatment } from "./feature-card-icons";
9
10
  type FeatureCardsVariant = "cards" | "editorial-diptych" | "editorial-pathways";
10
11
  type FeatureCardsColumns = "2" | "3" | "4";
11
- export type FeatureCardSurfaceRole = "open" | "panel";
12
+ /**
13
+ * This block's historical per-item surface values. They are aliases of card
14
+ * roles now, and stay parseable forever — persisted content carries them.
15
+ */
16
+ export type FeatureCardLegacySurfaceRole = "open" | "panel";
17
+ /**
18
+ * What an individual card may say about its own surface: the card-role
19
+ * vocabulary *minus* `open`, plus this block's two historical values.
20
+ *
21
+ * The subtraction is the point. `open` predates the role vocabulary here and
22
+ * keeps its old meaning — the unmarked boxless card every unset item already
23
+ * falls back to, which is role `none`. Reading it as role `open` would put a
24
+ * top rule on every default feature card, so
25
+ * `FEATURE_CARD_SURFACE_ROLE_ALIASES` maps it to `none` before any role
26
+ * normalization runs, and it does so unconditionally.
27
+ *
28
+ * Building the union as `Exclude<CardRole, 'open'> | FeatureCardLegacySurfaceRole`
29
+ * therefore states the truth: the string `open` is only ever reachable through
30
+ * the legacy half, and **the canonical `open` role is permanently
31
+ * unaddressable per item on this block** — the alias always wins. A caller
32
+ * that wants the canonical open card sets it as the block's card role, not as
33
+ * an item's `surfaceRole`.
34
+ */
35
+ export type FeatureCardSurfaceRole = Exclude<CardRole, "open"> | FeatureCardLegacySurfaceRole;
12
36
  export declare const featureCardsManifest: DefinedBlockManifest<BlockContentShapeInput<BlockConfig>>;
13
37
  export type FeatureCard = {
14
38
  surfaceRole?: FeatureCardSurfaceRole | null;
@@ -4,6 +4,7 @@ import type { SystemBlockDefinition } from "../registry";
4
4
  import type { SemanticSpacing } from "../spacing";
5
5
  import { type ContentFrameIntent } from "../frame/frameStyles";
6
6
  import { type StandardAspectRatio } from "../fields/aspectRatio";
7
+ import { type CardStylesContent } from "../fields/boxStyles";
7
8
  import { type StandardImageShape } from "../fields/imageShape";
8
9
  import { type ImageColSize } from "../fields/imageLayout";
9
10
  type MediaTextAlignment = "left" | "center";
@@ -94,36 +95,7 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
94
95
  readonly ui: {
95
96
  readonly intent: "display";
96
97
  };
97
- }, import("../../../../block-form/src/backend/index").FieldDefinition, {
98
- readonly id: "gap";
99
- readonly type: "select";
100
- readonly label: "Gap between media and text";
101
- readonly required: false;
102
- readonly defaultValue: "comfortable";
103
- readonly multiple: false;
104
- readonly options: [{
105
- readonly value: "none";
106
- readonly label: "None";
107
- }, {
108
- readonly value: "compact";
109
- readonly label: "Compact";
110
- }, {
111
- readonly value: "cozy";
112
- readonly label: "Cozy";
113
- }, {
114
- readonly value: "medium";
115
- readonly label: "Medium";
116
- }, {
117
- readonly value: "comfortable";
118
- readonly label: "Comfortable";
119
- }, {
120
- readonly value: "spacious";
121
- readonly label: "Spacious";
122
- }];
123
- readonly ui: {
124
- readonly intent: "display";
125
- };
126
- }, {
98
+ }, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, {
127
99
  readonly id: string;
128
100
  readonly label: string;
129
101
  readonly required: boolean;
@@ -5331,6 +5303,11 @@ export type MediaTextContent = {
5331
5303
  text: RichTextDoc;
5332
5304
  wrapTextInCard?: boolean | null;
5333
5305
  _textCardStyles?: unknown;
5306
+ /**
5307
+ * Compiler-owned. Media-text reads only the card role off this — its card's
5308
+ * own styling lives in `_textCardStyles` above (issue 1297, Phase 2b).
5309
+ */
5310
+ _cardStyles?: CardStylesContent;
5334
5311
  _frameStyles?: ContentFrameIntent | null;
5335
5312
  };
5336
5313
  export declare const mediaTextBlockDefinition: SystemBlockDefinition<MediaTextContent>;
@@ -35,7 +35,6 @@ export declare const siteHeaderManifest: import("..").DefinedBlockManifest<impor
35
35
  readonly paletteHidden: true;
36
36
  }>>;
37
37
  export type SiteHeaderManifest = typeof siteHeaderManifest;
38
- export type SiteHeaderVariant = 'classic' | 'centered' | 'transparent' | 'floating';
39
38
  export declare const SITE_HEADER_MODES: readonly ["default", "hidden"];
40
39
  export type SiteHeaderMode = (typeof SITE_HEADER_MODES)[number];
41
40
  export type SiteHeaderContent = Readonly<{
@@ -1,6 +1,7 @@
1
+ import { type BlockManifest } from "../manifest/schema";
1
2
  import type { SystemBlockDefinition } from "../registry";
3
+ import { type CardStylesContent } from "../fields/boxStyles";
2
4
  import type { SemanticSpacing } from "../spacing";
3
- import type { NodeDefinition } from "../node";
4
5
  import { type ImageColSize } from "../fields/imageLayout";
5
6
  import type { PublicTeamMemberPhoto } from "./shared/teamMembers";
6
7
  type ThumbnailShape = "round" | "rounded" | "square";
@@ -9,68 +10,7 @@ type LayoutWidth = "full" | "lg-3-4-left";
9
10
  type ThumbnailPadding = "none" | "sm" | "md" | "lg";
10
11
  type StackImagePosition = "left" | "right" | "alternate";
11
12
  type StackContentAlignment = "top" | "center";
12
- export declare const teamMembersManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
13
- readonly id: "block.team-members";
14
- readonly title: "Team Members";
15
- readonly category: "content";
16
- readonly contentSource: {
17
- readonly kind: "mixed";
18
- };
19
- readonly titleSource: "heading";
20
- readonly additionalFields: readonly [import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, import("../../../../block-form/src/backend/index").FieldDefinition, {
21
- readonly ui: {
22
- readonly intent: "content";
23
- readonly visibleWhen: {
24
- readonly field: "source";
25
- readonly equals: "manual";
26
- };
27
- };
28
- readonly label: string;
29
- readonly id: string;
30
- readonly type: "repeater";
31
- readonly required: boolean;
32
- readonly description?: string | undefined;
33
- readonly minItems: number;
34
- readonly maxItems?: number | undefined;
35
- readonly visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
36
- readonly defaultValue?: any;
37
- readonly itemLabel: string;
38
- readonly itemLabelSource?: string | undefined;
39
- readonly showSummary?: boolean | undefined;
40
- readonly summaryFields?: string[] | undefined;
41
- readonly summaryMaxChars?: number | undefined;
42
- readonly polymorphic?: boolean | undefined;
43
- readonly allowConversion: boolean;
44
- readonly schema?: {
45
- fields: import("../../../../block-form/src/backend/index").FieldDefinition[];
46
- };
47
- readonly itemTypes?: Record<string, import("..").ItemTypeDefinition>;
48
- }];
49
- readonly layout: NodeDefinition;
50
- readonly variants: {
51
- readonly grid: NodeDefinition;
52
- readonly stack: NodeDefinition;
53
- };
54
- readonly defaultVariant: "grid";
55
- readonly variantOptions: {
56
- readonly grid: {
57
- readonly label: "Grid";
58
- readonly description: "Members in a responsive grid";
59
- readonly icon: "Grid3X3";
60
- };
61
- readonly stack: {
62
- readonly label: "Stack";
63
- readonly description: "Members in a stacked list with photo + bio";
64
- readonly icon: "List";
65
- };
66
- };
67
- readonly description: "Show your team members in a grid or stacked list.";
68
- readonly tags: readonly ["team", "people", "members"];
69
- readonly icon: "Users";
70
- readonly styleTokens: {
71
- readonly spacing: "lg";
72
- };
73
- }>>;
13
+ export declare const teamMembersManifest: BlockManifest;
74
14
  type ManualTeamMemberItem = {
75
15
  _type: "teamMember";
76
16
  name: string;
@@ -91,6 +31,7 @@ type TeamMembersCommonContent = {
91
31
  stackContentAlignment?: StackContentAlignment | null;
92
32
  columns?: string | number | null;
93
33
  gap?: SemanticSpacing;
34
+ _cardStyles?: CardStylesContent;
94
35
  };
95
36
  export type TeamMembersContent = (TeamMembersCommonContent & {
96
37
  source?: "manual" | null;
@@ -1,5 +1,5 @@
1
1
  import { type MediaAssetId } from '../../../../core/src/index';
2
- import { type ThemeBackgroundTextLegibilityPlan, type AppearancePresetId, type LayoutVariantKey, type PageDesignEditorBackgroundSupport } from '../../../../theme-core/src/site-styles/index';
2
+ import { type AppearancePresetId, type LayoutVariantKey, type PageDesignEditorBackgroundSupport } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { ThemeColorToken } from '../../../../theme-core/src/tokens/index';
4
4
  import { type GradientPresetId } from '../../../../theme-core/src/gradients/index';
5
5
  import type { RenderableMediaAsset } from '../../../../media-core/src/index';
@@ -177,8 +177,6 @@ export declare const recommendedBackgroundColorTokens: readonly BackgroundColorT
177
177
  export declare const advancedBackgroundColorTokens: BackgroundColorToken[];
178
178
  export declare function parseBackgroundColorToken(value: unknown): BackgroundColorToken | null;
179
179
  export declare function isBackgroundColorToken(value: unknown): value is BackgroundColorToken;
180
- export declare function foregroundTokenForBackgroundColorToken(token: BackgroundColorToken): string;
181
- export declare function planBackgroundColorTextLegibility(token: BackgroundColorToken): ThemeBackgroundTextLegibilityPlan;
182
180
  export declare function dedupeBackgroundColorTokensByPalette(tokens: readonly BackgroundColorToken[], palette: BackgroundColorPalette): readonly BackgroundColorToken[];
183
181
  export declare function backgroundModeForOverride(override: BackgroundOverride): BackgroundMode;
184
182
  export declare function backgroundOverrideEquals(left: BackgroundOverride, right: BackgroundOverride): boolean;
@@ -1,5 +1,6 @@
1
1
  import type { ModalFieldDefinition } from '../manifest/schema';
2
2
  import type { AccordionIconTreatment, EyebrowTreatment, EventListTreatment, HeadingDecorationOverride, TileTreatment } from '../../../../theme-core/src/site-styles/index';
3
+ import type { CardRole } from '../../../../theme-core/src/cards/index';
3
4
  import type { BackgroundContent } from './backgroundContent';
4
5
  /**
5
6
  * Options for customizing a section styles field.
@@ -84,8 +85,19 @@ export type CardStylesContent = {
84
85
  spacing?: string | null;
85
86
  raised?: boolean | null;
86
87
  rounded?: string | null;
88
+ /**
89
+ * The card role the block's Look asked for. Compiled by the site-style
90
+ * runtime; the site style owns what the role looks like. The one field that
91
+ * names a card surface.
92
+ */
93
+ role?: CardRole | null;
94
+ /**
95
+ * Legacy name for `role` — it only ever held role names. Read-only history:
96
+ * content persisted before the role contract still carries it, and it reads
97
+ * as a role at the render boundary (`resolveCardRoleForBoxStyles`), where an
98
+ * explicit `role` wins.
99
+ */
87
100
  cardVariant?: string | null;
88
- treatment?: 'accent-quote' | 'editorial-rule' | 'soft-panel' | 'editorial-serif-quote' | 'editorial-open' | null;
89
101
  } | null;
90
102
  export type ContainerStylesContent = {
91
103
  background?: BackgroundContent | null;
@@ -0,0 +1,20 @@
1
+ import { type FieldDefinition } from "../manifest/schema";
2
+ type FieldUi = NonNullable<FieldDefinition["ui"]>;
3
+ type FieldVisibleWhen = FieldUi["visibleWhen"];
4
+ type SharedSelectOptions = Readonly<{
5
+ label?: string;
6
+ description?: string;
7
+ defaultValue?: string;
8
+ visibleWhen?: FieldVisibleWhen;
9
+ }>;
10
+ /**
11
+ * Grid `userColumns` binding for blocks with a user-configured column count.
12
+ * The count renders through the canonical responsive ladder — see
13
+ * {@link gridUserColumnLadder}.
14
+ */
15
+ export declare function userColumnsGridBinding(): Record<string, unknown>;
16
+ /** Shared "Columns" select (2/3/4) for grid-layout blocks. */
17
+ export declare function columnsSelectField(options?: SharedSelectOptions): FieldDefinition;
18
+ /** Shared semantic "Gap" select for layout blocks. */
19
+ export declare function gapSelectField(options?: SharedSelectOptions): FieldDefinition;
20
+ export {};
@@ -1,9 +1,14 @@
1
1
  import type { Binding } from "../schema";
2
+ /**
3
+ * A class name resolved from a binding. `$prepend` / `$append` are read by the
4
+ * resolver for string composition; a fallback belongs *inside* `$bind`, where
5
+ * the resolver actually reads it — a sibling `fallback` here was silently
6
+ * ignored, so the field is gone rather than looking load-bearing.
7
+ */
2
8
  export type BoundClassName = Readonly<{
3
9
  $bind: Binding;
4
10
  $prepend?: string;
5
11
  $append?: string;
6
- fallback?: string;
7
12
  }>;
8
13
  export type ClassNameBinding = string | BoundClassName;
9
14
  export declare function prependClassName(className: string, value: ClassNameBinding): ClassNameBinding;
@@ -1,12 +1,43 @@
1
1
  import type { CSSProperties } from "react";
2
2
  import type { NodeDefinition } from "../schema";
3
3
  import { type NodeModifier } from "../builder";
4
+ import type { BoundClassName } from "./classNameBinding";
4
5
  type StyledCardDataProps = Readonly<Record<`data-${string}`, unknown>>;
6
+ /** Where a block's per-item surface choice lives, and how it maps to roles. */
7
+ export type ItemCardRoleBinding = Readonly<{
8
+ /** Binding path to the item's own surface value (e.g. `card.surfaceRole`). */
9
+ from: string;
10
+ /** The block's persisted per-item vocabulary, mapped onto card roles. */
11
+ aliases?: Readonly<Record<string, string>>;
12
+ }>;
13
+ /**
14
+ * The shared child hooks generated card CSS targets (`.card-media`,
15
+ * `.card-content`). They join the class list only while a card role is in play,
16
+ * so cards still on the legacy treatment path keep their exact classes.
17
+ *
18
+ * Blocks whose items each choose a surface pass `itemRole` so the hook follows
19
+ * the item's choice; blocks with one surface per block bind from the card
20
+ * styles themselves (the transform reads the role off `stylesFrom` and ignores
21
+ * a non-string bound value), which keeps one emission path for both shapes.
22
+ */
23
+ export declare function cardRoleChildClass(input: Readonly<{
24
+ emit: "media" | "content";
25
+ baseClass: string;
26
+ /** Where the block's compiled card styles live (e.g. `content._cardStyles`). */
27
+ stylesFrom: string;
28
+ itemRole?: ItemCardRoleBinding;
29
+ }>): BoundClassName;
5
30
  export declare function styledCard(children: Array<NodeDefinition | null | undefined>, opts: {
6
31
  stylesFrom: string;
7
32
  backgroundFrom: string;
8
33
  baseClassName?: string;
9
34
  style?: CSSProperties;
10
35
  dataProps?: StyledCardDataProps;
36
+ /**
37
+ * Blocks whose items each choose a card surface bind the class list from
38
+ * the per-item role instead, so the item's choice can override the role
39
+ * the block's Look compiled. See `cardRoleClass` in feature-cards.
40
+ */
41
+ itemRole?: ItemCardRoleBinding;
11
42
  }, ...mods: NodeModifier[]): NodeDefinition;
12
43
  export {};
@@ -86,6 +86,7 @@ export declare const EVENTS: {
86
86
  path: string;
87
87
  method: "POST";
88
88
  authScope: "portal";
89
+ skipPreviewStage: true;
89
90
  };
90
91
  checkout: {
91
92
  path: string;
@@ -110,6 +111,7 @@ export declare const WHOLE_SERIES: {
110
111
  path: string;
111
112
  method: "POST";
112
113
  authScope: "portal";
114
+ skipPreviewStage: true;
113
115
  };
114
116
  checkout: {
115
117
  path: string;
@@ -432,6 +434,7 @@ export declare const ENDPOINTS: {
432
434
  path: string;
433
435
  method: "POST";
434
436
  authScope: "portal";
437
+ skipPreviewStage: true;
435
438
  };
436
439
  checkout: {
437
440
  path: string;
@@ -456,6 +459,7 @@ export declare const ENDPOINTS: {
456
459
  path: string;
457
460
  method: "POST";
458
461
  authScope: "portal";
462
+ skipPreviewStage: true;
459
463
  };
460
464
  checkout: {
461
465
  path: string;
@@ -15,7 +15,6 @@ export interface WholeSeriesRegistrationRequest {
15
15
  phone?: string;
16
16
  formData?: Record<string, unknown>;
17
17
  altchaSolution?: string | null;
18
- stage?: "preview" | "published";
19
18
  paymentMethod?: Exclude<CoursePaymentMethod, "stripe">;
20
19
  customerMembershipId?: string;
21
20
  claimToken?: string;
@@ -117,7 +117,6 @@ export interface EventRegisterRequest {
117
117
  phone?: string;
118
118
  notes?: string;
119
119
  altchaSolution?: string | null;
120
- stage?: "preview" | "published";
121
120
  paymentMethod?: PaymentMethod;
122
121
  customerPassId?: string;
123
122
  customerMembershipId?: string;
@@ -1,3 +1,5 @@
1
- export { unsafeAsBookingFieldId, bookingFlowReducer, buildBookingAvailabilityQuery, buildBookingStepPlan, buildBookingSubmitPlan, createBookingBlockApiConfig, createEmptyBookingValidationErrors, createFieldBookingValidationErrors, createFormBookingValidationError, createInitialBookingFlowReducerState, deriveBookingSlotDisplayOptions, describeUnknownError, deriveBookingFieldViews, deriveBookingFlowSteps, getAppointmentBookingOverrideInput, hasBookingValidationErrors, resolveAppointmentPackagesModel, resolveAvailabilitySelectionInvalidation, resolveHeadlessBookingStatus, resolveHeadlessBookingView, toBookingFormData, toBookingSlotView, toBookingSlotViews, toOptionalAppointmentResourceId, toOptionalAppointmentServiceId, validateBookingField, validateBookingFields, validateBookingStep, } from "../nodes/booking-form.headless.state";
1
+ export { unsafeAsBookingFieldId, bookingFlowReducer, buildBookingAvailabilityQuery, buildBookingStepPlan, buildBookingSubmitPlan, createBookingBlockApiConfig, createInitialBookingFlowReducerState, deriveBookingSlotDisplayOptions, describeUnknownError, deriveBookingFieldViews, deriveBookingFlowSteps, getAppointmentBookingOverrideInput, resolveAppointmentPackagesModel, resolveAvailabilitySelectionInvalidation, resolveHeadlessBookingStatus, resolveHeadlessBookingView, toBookingFormData, toBookingSlotView, toBookingSlotViews, toOptionalAppointmentResourceId, toOptionalAppointmentServiceId, validateBookingField, validateBookingFields, validateBookingStep, } from "../nodes/booking-form.headless.state";
2
+ export type { BookingValidationErrors } from "../nodes/booking-form.validationErrors";
3
+ export { createEmptyBookingValidationErrors, createFieldBookingValidationErrors, createFormBookingValidationError, hasBookingValidationErrors, } from "../nodes/booking-form.validationErrors";
2
4
  export { formatBookingCentsAsCurrencyInput, getBookingServiceSlidingScale, parseBookingCurrencyInputToCents, } from "../nodes/booking-form.state";
3
- export type { AppointmentBookingOverrideData, AppointmentBookingOverrideInput, AppointmentBookingOverrideInputResult, AppointmentBookingOverridePropsLike, BookingAvailabilityQuery, BookingAppointmentPackagesModel, BookingAppointmentPackagesUnavailableReason, BookingFieldId, BookingFieldValue, BookingFieldView, BookingFlowActionResult, BookingFlowFeedback, BookingFlowStatus, BookingFlowStep, BookingFlowStepId, BookingFlowView, BookingResourceView, BookingSlotDisplayOption, BookingSlotSelection, BookingSlotView, BookingSubmitActionResult, BookingSubmitOptions, BookingValidationErrors, DerivedBookingFlowSteps, DeriveBookingFlowStepsInput, LoadState, } from "../nodes/booking-form.headless.state";
5
+ export type { AppointmentBookingOverrideData, AppointmentBookingOverrideInput, AppointmentBookingOverrideInputResult, AppointmentBookingOverridePropsLike, BookingAvailabilityQuery, BookingAppointmentPackagesModel, BookingAppointmentPackagesUnavailableReason, BookingFieldId, BookingFieldValue, BookingFieldView, BookingFlowActionResult, BookingFlowFeedback, BookingFlowStatus, BookingFlowStep, BookingFlowStepId, BookingFlowView, BookingResourceView, BookingSlotDisplayOption, BookingSlotSelection, BookingSlotView, BookingSubmitActionResult, BookingSubmitOptions, DerivedBookingFlowSteps, DeriveBookingFlowStepsInput, LoadState, } from "../nodes/booking-form.headless.state";