@riverbankcms/sdk 0.129.1 → 0.130.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +33 -11
  3. package/dist/{PreviewEditorSidebar-DceRseRV.mjs → PreviewEditorSidebar-BY-1QdE2.mjs} +327 -250
  4. package/dist/{PreviewEditorUI-BNunq3kk.mjs → PreviewEditorUI-BS34jI9_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-B1kbhaJD.mjs → PreviewQueryProvider-BD0kOjtI.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-Bt87-62u.mjs → SdkPreviewModeRuntime-B1pWnhu-.mjs} +235 -211
  7. package/dist/{SiteChromeCustomizeContext-BLl-OlL4.mjs → SiteChromeCustomizeContext-BhUG_72i.mjs} +12981 -11912
  8. package/dist/_dts/ai/src/contracts/proposalPrimitives.d.ts +52 -0
  9. package/dist/_dts/ai/src/contracts/proposals.d.ts +5256 -29129
  10. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +33429 -0
  11. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  12. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  13. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  14. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  15. package/dist/_dts/api/src/appointmentSetup.d.ts +21 -9
  16. package/dist/_dts/api/src/bookingConfig.d.ts +12 -64
  17. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +17 -16
  18. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +15 -0
  19. package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
  20. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  21. package/dist/_dts/api/src/bookingVerticals.d.ts +2 -2
  22. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -0
  23. package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
  24. package/dist/_dts/api/src/endpoints.d.ts +1355 -1318
  25. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  26. package/dist/_dts/api/src/eventManagementContracts.d.ts +152 -0
  27. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +26 -0
  28. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +12 -0
  29. package/dist/_dts/api/src/index.d.ts +12 -3
  30. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  31. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  32. package/dist/_dts/api/src/oauth.d.ts +8 -0
  33. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  34. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +22 -47
  35. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +5 -5
  36. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -1
  37. package/dist/_dts/api/src/sdk-event-schedule.d.ts +5 -0
  38. package/dist/_dts/api/src/sdk-event-upsert.d.ts +114 -20
  39. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  40. package/dist/_dts/api/src/sdkContracts.d.ts +43 -79
  41. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  42. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +35 -0
  43. package/dist/_dts/api/src/sdkThemeWire.d.ts +2256 -302
  44. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  45. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  46. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  47. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  48. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +17 -4
  49. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +23 -37
  50. package/dist/_dts/api/src/types.d.ts +7 -59
  51. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  52. package/dist/_dts/block-form/src/index.d.ts +23 -22
  53. package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
  54. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +6 -8
  55. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -14
  56. package/dist/_dts/blocks/src/index.d.ts +5 -3
  57. package/dist/_dts/blocks/src/lib/media.d.ts +9 -539
  58. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  59. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -1
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +61 -0
  62. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +24 -22
  63. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  64. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -2
  65. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +142 -120
  66. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +37 -4
  68. package/dist/_dts/blocks/src/system/blocks/site-footer-nav-groups-layout.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +3 -0
  70. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  71. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  72. package/dist/_dts/blocks/src/system/componentFactory.d.ts +5 -5
  73. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +9 -9
  74. package/dist/_dts/blocks/src/system/customize/serializeBackgroundOverride.d.ts +3 -0
  75. package/dist/_dts/blocks/src/system/fields/background.d.ts +2 -20
  76. package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +17 -0
  77. package/dist/_dts/blocks/src/system/fields/backgroundContentAudit.d.ts +20 -0
  78. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +18 -34
  79. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  80. package/dist/_dts/blocks/src/system/fragments/builder.d.ts +1 -0
  81. package/dist/_dts/blocks/src/system/fragments/types.d.ts +1 -0
  82. package/dist/_dts/blocks/src/system/helpers/index.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +10 -45
  84. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +7 -4
  85. package/dist/_dts/blocks/src/system/manifest/fieldValidation/writeCanonicalization.d.ts +4 -0
  86. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +123 -55
  87. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  88. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  89. package/dist/_dts/blocks/src/system/registry.d.ts +2 -0
  90. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  91. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  92. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  93. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +2 -37
  94. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +61 -24
  95. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +30 -12
  96. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +3 -5
  97. package/dist/_dts/blocks/src/system/runtime/header/headerScrollRuntime.d.ts +2 -0
  98. package/dist/_dts/blocks/src/system/runtime/header/runtimeContract.d.ts +22 -0
  99. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  100. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  101. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  104. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +3 -0
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +42 -0
  109. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  110. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.frame.d.ts +21 -0
  112. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -12
  114. package/dist/_dts/blocks/src/system/runtime/nodes/shop.pass-contract.d.ts +3 -0
  115. package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +3 -3
  116. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  117. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  118. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  119. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +90 -0
  120. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +7 -1
  121. package/dist/_dts/blocks/src/system/transforms/registry/background.d.ts +1 -1
  122. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +29 -1
  123. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +4 -1
  124. package/dist/_dts/blocks/src/system/transforms/registry/headerRuntime.d.ts +3 -0
  125. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  126. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -40
  127. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +41 -43
  128. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +4 -2
  129. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +2 -17
  130. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +5 -0
  131. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  132. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  133. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +21 -0
  134. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  135. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +11 -1
  136. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +26 -0
  137. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +6 -6
  138. package/dist/_dts/content-model/src/content-types/builtins.d.ts +6 -6
  139. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
  140. package/dist/_dts/core/src/booking-date-time.d.ts +2 -2
  141. package/dist/_dts/core/src/booking-time-zone.d.ts +6 -0
  142. package/dist/_dts/core/src/branded.d.ts +4 -0
  143. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  144. package/dist/_dts/core/src/footer-composition-types.d.ts +4 -4
  145. package/dist/_dts/core/src/footer-navigation-layout.d.ts +4 -0
  146. package/dist/_dts/core/src/index.d.ts +4 -0
  147. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  148. package/dist/_dts/core/src/secret.d.ts +44 -0
  149. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +379 -18
  150. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  151. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  152. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  153. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  154. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  155. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  156. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  157. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  158. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  159. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  160. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  161. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  162. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  163. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  164. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  165. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  166. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  167. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  168. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  169. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  170. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  171. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  172. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  173. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  174. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  175. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  176. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  177. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  178. package/dist/_dts/preview-next/src/client/preview/FooterSidebarDisclosure.d.ts +8 -0
  179. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
  180. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +15 -17
  181. package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +20 -0
  182. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -5
  183. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -5
  184. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  185. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -4
  186. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -5
  187. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +6 -7
  188. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +7 -7
  189. package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +4 -4
  190. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -2
  191. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +12 -11
  192. package/dist/_dts/preview-next/src/client/preview/siteChromeSelectionRows.d.ts +53 -0
  193. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  194. package/dist/_dts/preview-next/src/client/preview/siteStyleAccess.d.ts +1 -6
  195. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +6 -15
  196. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -6
  197. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  198. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  199. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  200. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  201. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  202. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  203. package/dist/_dts/sdk/src/config/types.d.ts +1 -0
  204. package/dist/_dts/sdk/src/config/validation.d.ts +2 -0
  205. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  206. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +64 -79
  207. package/dist/_dts/sdk/src/next/catch-all-theme-admission.d.ts +23 -0
  208. package/dist/_dts/sdk/src/next/index.d.ts +8 -6
  209. package/dist/_dts/sdk/src/next/resolveTheme.d.ts +1 -2
  210. package/dist/_dts/sdk/src/next/types.d.ts +10 -0
  211. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  212. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -16
  213. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +4 -3
  214. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +5 -3
  215. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -1
  216. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +4 -2
  217. package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
  218. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +15 -2
  219. package/dist/_dts/sdk/src/rendering/server.d.ts +2 -0
  220. package/dist/_dts/sdk/src/rendering/themeAdmission.d.ts +11 -0
  221. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  222. package/dist/_dts/sdk/src/version.d.ts +1 -1
  223. package/dist/_dts/theme-core/src/blockOverrides.d.ts +1 -1
  224. package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +184 -0
  225. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +96 -0
  226. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +78 -0
  227. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  228. package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +2 -2
  229. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +9 -57
  230. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +6 -3
  231. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +8 -7
  232. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +1 -0
  233. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +11 -0
  234. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +12 -0
  235. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +5 -0
  236. package/dist/_dts/theme-core/src/buttons/types.d.ts +51 -4
  237. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  238. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  239. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  240. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  241. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  242. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  243. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  244. package/dist/_dts/theme-core/src/cards/types.d.ts +489 -21
  245. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  246. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  247. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  248. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  249. package/dist/_dts/theme-core/src/lib/media.d.ts +583 -10
  250. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +5085 -1524
  251. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  252. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  253. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  254. package/dist/_dts/theme-core/src/schema.d.ts +5300 -2019
  255. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +84 -102
  256. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  257. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  258. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  259. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +84 -102
  260. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  261. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +6 -14
  262. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +29 -102
  263. package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +3 -76
  264. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  265. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -7
  266. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipelineHelpers.d.ts +17 -0
  267. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  268. package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +281 -0
  269. package/dist/_dts/theme-core/src/site-styles/headerLayoutResolution.d.ts +13 -0
  270. package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +6 -0
  271. package/dist/_dts/theme-core/src/site-styles/{headerLookTypes.d.ts → headerLayoutTypes.d.ts} +18 -90
  272. package/dist/_dts/theme-core/src/site-styles/headerNavStyles.d.ts +6 -0
  273. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +7 -11
  274. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -4
  275. package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +2 -2
  276. package/dist/_dts/theme-core/src/site-styles/imageSurfaceBackground.d.ts +14 -0
  277. package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -1
  278. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  279. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  280. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  281. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  282. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -41
  283. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  284. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +32 -0
  285. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -68
  286. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +1 -1
  287. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  288. package/dist/_dts/theme-core/src/site-styles/types.d.ts +50 -39
  289. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  290. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  291. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  292. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  293. package/dist/_dts/ui/src/navigation-tabs.d.ts +3 -2
  294. package/dist/client/{CourseRegistrationWizard-xRmA7REV.mjs → CourseRegistrationWizard-DGW9F0SQ.mjs} +7 -7
  295. package/dist/client/{DiscountCodeDisclosure-B9vriL5C.mjs → DiscountCodeDisclosure-BPZ-yfGI.mjs} +1 -1
  296. package/dist/client/{EventCombined.client-BgVnVTlz.mjs → EventCombined.client-Cjt3kKYR.mjs} +4 -4
  297. package/dist/client/{EventListing.client-CqdsO7jO.mjs → EventListing.client-DY9dn6Fh.mjs} +2 -2
  298. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  299. package/dist/client/{LeafletStaticMap-CKPxot9M.mjs → LeafletStaticMap--2c61XYn.mjs} +1 -1
  300. package/dist/client/{StepIndicator-DGCYuBJ1.mjs → StepIndicator-CLjQhkDb.mjs} +3 -3
  301. package/dist/client/{accordion-BfN5Eqd-.mjs → accordion-_boYwHHi.mjs} +1 -1
  302. package/dist/client/{bookingForm-DOvCpBFP.mjs → bookingForm--AqEfyBX.mjs} +56 -39
  303. package/dist/client/bookings.mjs +1348 -1157
  304. package/dist/client/{carousel-DPNmiH0f.mjs → carousel-CVI2dqZr.mjs} +2 -2
  305. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  306. package/dist/client/{cart--egVXlrR.mjs → cart-DR6IiPz9.mjs} +3 -3
  307. package/dist/client/{checkout-DywWtMcq.mjs → checkout-CsrGAfQt.mjs} +3 -3
  308. package/dist/client/client.mjs +20935 -19889
  309. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  310. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  311. package/dist/client/{courseRegistration-Dk9qFVwt.mjs → courseRegistration-aNJVaLa3.mjs} +3 -3
  312. package/dist/client/{eventCalendar-Bkz2HjlS.mjs → eventCalendar-OZ7h59VN.mjs} +6 -6
  313. package/dist/client/{eventCombined-D4kipYWg.mjs → eventCombined-BbJ6bFKz.mjs} +3 -3
  314. package/dist/client/{eventDetails-Dz_5ix2Q.mjs → eventDetails-BLyUBiCT.mjs} +3 -3
  315. package/dist/client/{eventListing-D0vm-zST.mjs → eventListing-DuP1yhBS.mjs} +3 -3
  316. package/dist/client/{eventRegistration-Cw1E4Q4p.mjs → eventRegistration-BXyECPa-.mjs} +11 -12
  317. package/dist/client/{form-C2Zf1n3K.mjs → form-BA4t3kKU.mjs} +4 -4
  318. package/dist/client/{headerSection-CP05gzdc.mjs → headerSection-CpNaJxhW.mjs} +151 -104
  319. package/dist/client/hooks.mjs +6328 -6104
  320. package/dist/client/{locationMap-Cl3x9PYJ.mjs → locationMap-3HGMCL7_.mjs} +3 -3
  321. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  322. package/dist/client/{newsletterForm-DyEJoClm.mjs → newsletterForm-C2s6Mw67.mjs} +4 -4
  323. package/dist/client/{pricing-DGuNR1W4.mjs → pricing-BiqIMgZk.mjs} +1 -1
  324. package/dist/client/{productDetail-Cq-HrGew.mjs → productDetail-C9joWhdE.mjs} +3 -3
  325. package/dist/client/{productList-DbB3jwqd.mjs → productList-CjzdU3pB.mjs} +3 -3
  326. package/dist/client/{propsDecoder-CiTuhUwY.mjs → propsDecoder-CBPGXEYX.mjs} +2480 -2478
  327. package/dist/client/rendering/client.mjs +5371 -6741
  328. package/dist/client/rendering/islands.mjs +20 -20
  329. package/dist/client/rendering.mjs +18616 -17447
  330. package/dist/client/{scrollToBlock-CShkRqab.mjs → scrollToBlock-DZ73aEX6.mjs} +1 -1
  331. package/dist/client/{shop-Cu4Ib-ZA.mjs → shop-CQRai7hj.mjs} +36 -25
  332. package/dist/client/{shop-commerce-BzpsOdh7.mjs → shop-commerce-hP9UboOx.mjs} +8 -8
  333. package/dist/client/{shop-commerce-store-DaE7Fhj8.mjs → shop-commerce-store-DiD5a32e.mjs} +1 -1
  334. package/dist/client/{shopShared-cF0c20vB.mjs → shopShared-DP8DXTkF.mjs} +12 -6
  335. package/dist/client/{useEventFilters-QZ3HMgaJ.mjs → useEventFilters-pF_OJNQP.mjs} +137 -81
  336. package/dist/client/{usePolling-BKf0GcE-.mjs → usePolling-Cls91SD2.mjs} +2 -2
  337. package/dist/preview-next/before-render.mjs +202 -129
  338. package/dist/preview-next/client/runtime.mjs +4 -4
  339. package/dist/preview-next/keepAlive.mjs +7406 -29
  340. package/dist/preview-next/middleware.mjs +196 -128
  341. package/dist/{previewAuthStore-BesgU5Xu.mjs → previewAuthStore-CX1C_KJ4.mjs} +195 -128
  342. package/dist/{sdk-runtime-C20CVWbb.mjs → sdk-runtime-5CcPAI14.mjs} +2 -2
  343. package/dist/{separator-BE3NCquy.mjs → separator-BXlYN_gr.mjs} +1 -1
  344. package/dist/server/components.mjs +22644 -21375
  345. package/dist/server/config-validation.mjs +6507 -6309
  346. package/dist/server/config.mjs +6511 -6313
  347. package/dist/server/data.mjs +6311 -6104
  348. package/dist/server/date-time.mjs +22 -13
  349. package/dist/server/index.mjs +196 -129
  350. package/dist/server/next.mjs +22782 -21578
  351. package/dist/server/page-converter.mjs +4769 -6213
  352. package/dist/server/prebuild.mjs +1 -1
  353. package/dist/server/rendering/server.mjs +20525 -20291
  354. package/dist/server/rendering.mjs +22677 -21389
  355. package/dist/server/routing.mjs +6651 -5398
  356. package/dist/server/server.mjs +6389 -6256
  357. package/dist/server/theme-bridge.mjs +2251 -2465
  358. package/dist/server/theme.mjs +974 -642
  359. package/dist/styles/index.css +317 -337
  360. package/package.json +3 -2
  361. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  362. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  363. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  364. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +0 -66
  365. package/dist/_dts/theme-core/src/site-styles/headerLayoutStyleCatalog.d.ts +0 -254
  366. package/dist/_dts/theme-core/src/site-styles/headerLegacyLooks.d.ts +0 -372
  367. package/dist/_dts/theme-core/src/site-styles/headerLookBranding.d.ts +0 -106
  368. package/dist/_dts/theme-core/src/site-styles/headerLookSelection.d.ts +0 -2
  369. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +0 -7
  370. package/dist/_dts/theme-core/src/site-styles/headerStyleCompilerPrimitives.d.ts +0 -23
  371. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
@@ -2,6 +2,7 @@ import type { AppointmentResourceId, AppointmentServiceId, Brand, CustomerPassId
2
2
  import type { BlockApiConfig, EligibleAppointmentPackage } from "../api/types";
3
3
  import type { TimeSlot } from "../api/types";
4
4
  import type { BookingFormConfig, BookingFormData, BookingFormField, BookingPaymentStepResolution, BookingFormServicesSource, BookingFormService, BookingSelectedCollectionOptionKind, BookingSubmissionData } from "./booking-form.state";
5
+ import type { BookingValidationErrors } from "./booking-form.validationErrors";
5
6
  export type LoadState<T> = Readonly<{
6
7
  tag: "idle";
7
8
  }> | Readonly<{
@@ -25,10 +26,6 @@ export type BookingFlowStep = Readonly<{
25
26
  canEnter: boolean;
26
27
  canLeave: boolean;
27
28
  }>;
28
- export type BookingValidationErrors = Readonly<{
29
- formError: string | null;
30
- fieldErrors: Readonly<Record<string, string>>;
31
- }>;
32
29
  export type BookingFieldId = Brand<string, "BookingFieldId">;
33
30
  export declare const unsafeAsBookingFieldId: (id: string) => BookingFieldId;
34
31
  export type BookingFieldValue = string | number | boolean | readonly string[] | null;
@@ -173,6 +170,13 @@ export type BookingFlowReducerState = Readonly<{
173
170
  selectedSlot: BookingSlotView | null;
174
171
  fieldValues: Readonly<Record<string, BookingFieldValue>>;
175
172
  touchedFields: Readonly<Record<string, boolean>>;
173
+ /**
174
+ * Steps the user has tried to advance past. Step validation is derived
175
+ * continuously (it gates `canLeave`), but a step's errors are only ever
176
+ * *shown* once the step has been attempted — so a freshly mounted form is
177
+ * never scolded for input it has not had the chance to give yet.
178
+ */
179
+ attemptedStepIds: BookingAttemptedStepIds;
176
180
  discountCode: string;
177
181
  selectedSlidingAmountInput: string;
178
182
  selectedCollectionOptionKind?: BookingSelectedCollectionOptionKind;
@@ -200,6 +204,9 @@ export type BookingFlowEvent = Readonly<{
200
204
  }> | Readonly<{
201
205
  type: "field-touched";
202
206
  fieldId: BookingFieldId;
207
+ }> | Readonly<{
208
+ type: "step-advance-attempted";
209
+ stepId: BookingFlowStepId;
203
210
  }> | Readonly<{
204
211
  type: "payment-option-selected";
205
212
  kind: BookingSelectedCollectionOptionKind | null;
@@ -256,6 +263,13 @@ export type BookingStepPlanItem = Readonly<{
256
263
  label: string;
257
264
  visible: boolean;
258
265
  }>;
266
+ /**
267
+ * Steps the user has actually tried to advance past. Step validation is derived
268
+ * continuously (it gates whether a step can be left), but a step's errors are
269
+ * only ever *shown* once the step has been attempted — so a freshly mounted
270
+ * form is never scolded for input it has not had the chance to give yet.
271
+ */
272
+ export type BookingAttemptedStepIds = Readonly<Partial<Record<BookingFlowStepId, boolean>>>;
259
273
  export type BookingStepValidationResult = Readonly<{
260
274
  ok: true;
261
275
  }> | Readonly<{
@@ -272,6 +286,12 @@ export type DeriveBookingFlowStepsInput = Readonly<{
272
286
  requiresServiceSelection?: boolean;
273
287
  requiresResourceSelection?: boolean;
274
288
  enableAppointmentPackages?: boolean;
289
+ /**
290
+ * Steps whose validation messaging has been earned by an advance attempt.
291
+ * Omitted means "none attempted yet", so callers that only need gating can
292
+ * keep ignoring it.
293
+ */
294
+ attemptedStepIds?: BookingAttemptedStepIds;
275
295
  }>;
276
296
  export type DerivedBookingFlowSteps = Readonly<{
277
297
  steps: readonly BookingFlowStep[];
@@ -416,10 +436,6 @@ export type AppointmentBookingOverrideInputResult = Readonly<{
416
436
  reason: "missing-site-id" | "missing-api-base-url" | "missing-form" | "missing-form-id" | "missing-services";
417
437
  message: string;
418
438
  }>;
419
- export declare function createEmptyBookingValidationErrors(): BookingValidationErrors;
420
- export declare function createFormBookingValidationError(formError: string): BookingValidationErrors;
421
- export declare function createFieldBookingValidationErrors(fieldErrors: Readonly<Record<string, string>>): BookingValidationErrors;
422
- export declare function hasBookingValidationErrors(errors: BookingValidationErrors): boolean;
423
439
  export declare function createInitialBookingFlowReducerState(input: Readonly<{
424
440
  defaultServiceId?: string;
425
441
  defaultResourceId?: string;
@@ -8,6 +8,14 @@ type BookingFormProps = BookingFormSourceProps & Readonly<{
8
8
  * Server-safe placeholder for booking form.
9
9
  * Renders a stable shell plus the typed island envelope so hydration can attach
10
10
  * without pulling client hooks into the server graph.
11
+ *
12
+ * The island root carries mount identity only. The loading affordances — the
13
+ * `.rb-reg-surface` card, its `aria-busy` / `role="status"` announcement and the
14
+ * skeleton — live on a *child*, which the island mounter replaces wholesale when
15
+ * React takes over (it swaps the root's children, not the root). That keeps the
16
+ * card drawn exactly once after hydration, because the client wizard renders its
17
+ * own `.rb-reg-surface`, and leaves no stale loading state on the mounted form.
18
+ * `event-registration.server.tsx` follows the same shape.
11
19
  */
12
20
  export declare function BookingFormSSR({ blockId, siteId, apiBaseUrl, portalToken, formId, serviceId, resourceId, initialData, noticeMessage, requiresServiceSelection, requiresResourceSelection, shouldAutoSelectSingleResource, rebookContext, submitLabel, successMessage, form, services, spamProtectionEnabled, className, children, }: BookingFormProps): React.JSX.Element;
13
21
  export default BookingFormSSR;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The booking flow's validation vocabulary: what a step can complain about, and
3
+ * when the user has earned the right to be told.
4
+ *
5
+ * Split out of `booking-form.headless.state.ts` so the reducer file carries
6
+ * behaviour rather than this small closed value type and its constructors.
7
+ */
8
+ export type BookingValidationErrors = Readonly<{
9
+ formError: string | null;
10
+ fieldErrors: Readonly<Record<string, string>>;
11
+ }>;
12
+ export declare function createEmptyBookingValidationErrors(): BookingValidationErrors;
13
+ export declare function createFormBookingValidationError(formError: string): BookingValidationErrors;
14
+ export declare function createFieldBookingValidationErrors(fieldErrors: Readonly<Record<string, string>>): BookingValidationErrors;
15
+ export declare function hasBookingValidationErrors(errors: BookingValidationErrors): boolean;
16
+ export declare function clearBookingFormError(errors: BookingValidationErrors): BookingValidationErrors;
17
+ export declare function clearBookingFieldError(errors: BookingValidationErrors, fieldId: string): BookingValidationErrors;
@@ -1,4 +1,4 @@
1
- import type { PublicMembershipProduct, PublicPassProduct } from '../../../../blocks/shop';
1
+ import type { PublicMembershipProduct, PublicPassProduct, PurchasablePublicPassProduct } from '../../../../blocks/shop';
2
2
  import type { PublicProduct } from '../../../../blocks/products/shared';
3
3
  import type { CommerceCartItem, CommerceCheckoutState } from '../../shop-commerce.shared';
4
4
  export declare function formatCommercePrice(cents: number, currency: string): string;
@@ -67,7 +67,14 @@ export type PassCardDisplay = Readonly<{
67
67
  creditsLabel: string;
68
68
  perCreditLabel: string | null;
69
69
  validityLabel: string | null;
70
- actionLabel: string;
70
+ action: Readonly<{
71
+ kind: 'purchase';
72
+ label: string;
73
+ product: PurchasablePublicPassProduct;
74
+ }> | Readonly<{
75
+ kind: 'unavailable';
76
+ label: string;
77
+ }>;
71
78
  }>;
72
79
  export type MembershipCardDisplay = Readonly<{
73
80
  id: string;
@@ -37,6 +37,9 @@ export declare function PassCardView(props: Readonly<{
37
37
  action: React.ReactNode;
38
38
  feedback?: React.ReactNode;
39
39
  }>): React.JSX.Element;
40
+ export declare function PassPurchaseUnavailable(props: Readonly<{
41
+ label: string;
42
+ }>): React.JSX.Element;
40
43
  export declare function MembershipCardView(props: Readonly<{
41
44
  display: MembershipCardDisplay;
42
45
  action: React.ReactNode;
@@ -1,7 +1,7 @@
1
1
  import type { PaymentSelection, PublicEvent, RegistrationStep } from './types';
2
2
  import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
3
3
  import { type EventRegistrationFlowStatus, type EventRegistrationFlowStep, type EventRegistrationFlowView, type EventRegistrationPaymentSelection, type EventRegistrationSubmitPlan } from './event-registration.headless.contract';
4
- export declare function getRegistrableStatuses(isPreview: boolean | undefined): readonly PublicEvent['status'][];
4
+ export declare function isEventRegistrationAvailable(event: Pick<PublicEvent, 'bookingAvailability'>): boolean;
5
5
  export declare function normalizeEventRegistrationMaxTickets(value: string | number | undefined): number;
6
6
  export declare function toHeadlessPaymentSelection(selection: PaymentSelection): EventRegistrationPaymentSelection;
7
7
  export declare function toInternalPaymentSelection(selection: EventRegistrationPaymentSelection): PaymentSelection;
@@ -1,6 +1,6 @@
1
1
  import { type EventPageSurfaceSubject, type EventPageSurfaceSubjectParseError, type EventOfferingId, type EventSeriesId, type Result } from '../../../../../../core/src/index';
2
2
  import { z } from 'zod';
3
- export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventOfferingId"];
3
+ export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventSeriesBookingScope", "invalidEventOfferingId"];
4
4
  export type UnsupportedEventRegistrationPageSurfaceSubjectReason = (typeof unsupportedEventRegistrationPageSurfaceSubjectReasons)[number];
5
5
  export type EventRegistrationPageSurfaceSubject = EventPageSurfaceSubject | Readonly<{
6
6
  kind: 'unsupported';
@@ -9,5 +9,5 @@ type EventRegistrationProps = Omit<EventRegistrationSourceProps, 'subject'> & Re
9
9
  * Server-safe placeholder for event registration.
10
10
  * Provides a static container for island hydration without importing client hooks.
11
11
  */
12
- export declare function EventRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, previewToken, occurrenceContext, subject, events, className, buttonText, maxTickets, showVenue, showCapacity, successMessage, waitlistMessage, buttonVariant, overlayEnabled, spamProtectionEnabled, stage, supportEmail, sitePasses, siteMemberships, children, }: EventRegistrationProps): React.JSX.Element;
12
+ export declare function EventRegistrationSSR({ blockId, subject, children, ...sourceProps }: EventRegistrationProps): React.JSX.Element;
13
13
  export default EventRegistrationSSR;
@@ -138,6 +138,7 @@ export declare const eventCollectionSourceSchemaShape: {
138
138
  eventPreset: z.ZodOptional<z.ZodEnum<{
139
139
  course: "course";
140
140
  event: "event";
141
+ term: "term";
141
142
  performance: "performance";
142
143
  class: "class";
143
144
  workshop: "workshop";
@@ -452,6 +453,24 @@ export declare const eventCollectionSourceSchemaShape: {
452
453
  label: z.ZodString;
453
454
  }, z.core.$strip>], "kind">;
454
455
  requiresRegistration: z.ZodBoolean;
456
+ bookingAvailability: z.ZodDiscriminatedUnion<[z.ZodObject<{
457
+ kind: z.ZodLiteral<"open">;
458
+ }, z.core.$strip>, z.ZodObject<{
459
+ kind: z.ZodLiteral<"closed">;
460
+ reason: z.ZodEnum<{
461
+ occurrence_cancelled: "occurrence_cancelled";
462
+ occurrence_completed: "occurrence_completed";
463
+ series_draft: "series_draft";
464
+ series_cancelled: "series_cancelled";
465
+ series_completed: "series_completed";
466
+ series_archived: "series_archived";
467
+ parent_archived: "parent_archived";
468
+ parent_inconsistent: "parent_inconsistent";
469
+ not_public: "not_public";
470
+ already_started: "already_started";
471
+ enrollment_closed: "enrollment_closed";
472
+ }>;
473
+ }, z.core.$strip>], "kind">;
455
474
  deliveryMode: z.ZodEnum<{
456
475
  in_person: "in_person";
457
476
  hybrid: "hybrid";
@@ -498,6 +517,8 @@ export declare const eventCollectionSourceSchemaShape: {
498
517
  active: "active";
499
518
  draft: "draft";
500
519
  archived: "archived";
520
+ completed: "completed";
521
+ cancelled: "cancelled";
501
522
  }>>;
502
523
  timeZone: z.ZodString;
503
524
  pricing: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -845,6 +866,7 @@ export declare const eventCollectionDisplaySchemaShape: {
845
866
  eventPreset: z.ZodOptional<z.ZodEnum<{
846
867
  course: "course";
847
868
  event: "event";
869
+ term: "term";
848
870
  performance: "performance";
849
871
  class: "class";
850
872
  workshop: "workshop";
@@ -1159,6 +1181,24 @@ export declare const eventCollectionDisplaySchemaShape: {
1159
1181
  label: z.ZodString;
1160
1182
  }, z.core.$strip>], "kind">;
1161
1183
  requiresRegistration: z.ZodBoolean;
1184
+ bookingAvailability: z.ZodDiscriminatedUnion<[z.ZodObject<{
1185
+ kind: z.ZodLiteral<"open">;
1186
+ }, z.core.$strip>, z.ZodObject<{
1187
+ kind: z.ZodLiteral<"closed">;
1188
+ reason: z.ZodEnum<{
1189
+ occurrence_cancelled: "occurrence_cancelled";
1190
+ occurrence_completed: "occurrence_completed";
1191
+ series_draft: "series_draft";
1192
+ series_cancelled: "series_cancelled";
1193
+ series_completed: "series_completed";
1194
+ series_archived: "series_archived";
1195
+ parent_archived: "parent_archived";
1196
+ parent_inconsistent: "parent_inconsistent";
1197
+ not_public: "not_public";
1198
+ already_started: "already_started";
1199
+ enrollment_closed: "enrollment_closed";
1200
+ }>;
1201
+ }, z.core.$strip>], "kind">;
1162
1202
  deliveryMode: z.ZodEnum<{
1163
1203
  in_person: "in_person";
1164
1204
  hybrid: "hybrid";
@@ -1205,6 +1245,8 @@ export declare const eventCollectionDisplaySchemaShape: {
1205
1245
  active: "active";
1206
1246
  draft: "draft";
1207
1247
  archived: "archived";
1248
+ completed: "completed";
1249
+ cancelled: "cancelled";
1208
1250
  }>>;
1209
1251
  timeZone: z.ZodString;
1210
1252
  pricing: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -6,7 +6,10 @@ import type { CardOrientation, EventLayout, PublicEvent } from '../../../../bloc
6
6
  /** Day names starting from Sunday — kept for back-compat re-export. */
7
7
  export { DAY_NAMES, MONTH_NAMES } from '../../../../../../../calendar/src/index';
8
8
  export type { WeekStart } from '../../../../../../../calendar/src/index';
9
- /** Column class mappings for grid layouts */
9
+ /**
10
+ * Column class mappings for grid layouts, derived from the canonical
11
+ * responsive column ladder (see gridUserColumnLadder).
12
+ */
10
13
  export declare const COLUMN_CLASSES: Record<string, string>;
11
14
  /**
12
15
  * Build container class based on layout mode
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
+ import { type HeaderChromeRuntimeContract } from '../header/runtimeContract';
2
3
  type HeaderSectionNodeProps = React.PropsWithChildren<{
3
4
  className?: string;
5
+ runtime?: HeaderChromeRuntimeContract;
4
6
  blockId?: string;
5
7
  blockKind?: string;
6
8
  blockContent?: unknown;
@@ -0,0 +1,21 @@
1
+ import React, { type ReactNode, type Ref } from 'react';
2
+ export type HeaderSectionFrameProps = React.PropsWithChildren<{
3
+ rootRef?: Ref<HTMLElement>;
4
+ rootClassName: string;
5
+ sectionClassName?: string;
6
+ blockId?: string | null;
7
+ blockKind?: string;
8
+ previewSiteChromeSurface?: string;
9
+ islandMounted?: boolean;
10
+ islandId?: string;
11
+ islandPropsNode?: ReactNode;
12
+ hasBlockContent?: boolean;
13
+ hasFragmentRegistry?: boolean;
14
+ pathBase?: string;
15
+ as?: React.ElementType;
16
+ style?: React.CSSProperties;
17
+ background?: string;
18
+ dataSlot?: string;
19
+ }>;
20
+ /** Shared DOM frame for server-rendered and React-owned site headers. */
21
+ export declare function HeaderSectionFrame({ rootRef, rootClassName, sectionClassName, blockId, blockKind, previewSiteChromeSurface, islandMounted, islandId, islandPropsNode, hasBlockContent, hasFragmentRegistry, pathBase, as, style, background, dataSlot, children, }: HeaderSectionFrameProps): React.JSX.Element;
@@ -1,7 +1,9 @@
1
1
  import React from "react";
2
+ import { type HeaderChromeRuntimeContract } from "../header/runtimeContract";
2
3
  type HeaderSectionNodeProps = React.PropsWithChildren<{
3
4
  blockId?: string | null;
4
5
  className?: string;
6
+ runtime?: HeaderChromeRuntimeContract;
5
7
  "data-preview-site-chrome-surface"?: string;
6
8
  [key: string]: unknown;
7
9
  }>;
@@ -1,5 +1,5 @@
1
1
  import { type BlockButtonRole } from '../../constants/buttonRoles';
2
- import type { PublicMembershipProduct, PublicPassProduct } from '../../blocks/shop.shared';
2
+ import type { PublicMembershipProduct } from '../../blocks/shop.shared';
3
3
  import type { PublicProduct } from '../../blocks/products/shared';
4
4
  import { type CartDisplay, type CheckoutDisplay, type PassesMembershipsDisplay, type ProductDetailDisplay, type ProductListDisplay } from './commerce/shared/display';
5
5
  import type { CommerceCartItem } from './shop-commerce.shared';
@@ -12,7 +12,6 @@ type ShopSourceProps = ShopDisplayConfig & Readonly<{
12
12
  }>;
13
13
  export type { ShopSourceProps };
14
14
  export type PassesMembershipsHydration = Readonly<{
15
- passes: readonly PublicPassProduct[];
16
15
  memberships: readonly PublicMembershipProduct[];
17
16
  passPurchaseMode: 'add_to_cart' | 'buy_now';
18
17
  buttonVariant: BlockButtonRole;
@@ -92,7 +91,14 @@ export declare const shopBlockRuntime: Readonly<{
92
91
  creditsLabel: string;
93
92
  perCreditLabel: string | null;
94
93
  validityLabel: string | null;
95
- actionLabel: string;
94
+ action: Readonly<{
95
+ kind: "purchase";
96
+ label: string;
97
+ product: import("../..").PurchasablePublicPassProduct;
98
+ }> | Readonly<{
99
+ kind: "unavailable";
100
+ label: string;
101
+ }>;
96
102
  }>[];
97
103
  memberships: readonly Readonly<{
98
104
  id: string;
@@ -104,7 +110,6 @@ export declare const shopBlockRuntime: Readonly<{
104
110
  }>[];
105
111
  }>;
106
112
  hydration: Readonly<{
107
- passes: readonly PublicPassProduct[];
108
113
  memberships: readonly PublicMembershipProduct[];
109
114
  passPurchaseMode: "add_to_cart" | "buy_now";
110
115
  buttonVariant: BlockButtonRole;
@@ -134,7 +139,14 @@ export declare const shopBlockRuntime: Readonly<{
134
139
  creditsLabel: string;
135
140
  perCreditLabel: string | null;
136
141
  validityLabel: string | null;
137
- actionLabel: string;
142
+ action: Readonly<{
143
+ kind: "purchase";
144
+ label: string;
145
+ product: import("../..").PurchasablePublicPassProduct;
146
+ }> | Readonly<{
147
+ kind: "unavailable";
148
+ label: string;
149
+ }>;
138
150
  }>[];
139
151
  memberships: readonly Readonly<{
140
152
  id: string;
@@ -146,7 +158,6 @@ export declare const shopBlockRuntime: Readonly<{
146
158
  }>[];
147
159
  }>;
148
160
  hydration: Readonly<{
149
- passes: readonly PublicPassProduct[];
150
161
  memberships: readonly PublicMembershipProduct[];
151
162
  passPurchaseMode: "add_to_cart" | "buy_now";
152
163
  buttonVariant: BlockButtonRole;
@@ -170,7 +181,14 @@ export declare const shopBlockRuntime: Readonly<{
170
181
  creditsLabel: string;
171
182
  perCreditLabel: string | null;
172
183
  validityLabel: string | null;
173
- actionLabel: string;
184
+ action: Readonly<{
185
+ kind: "purchase";
186
+ label: string;
187
+ product: import("../..").PurchasablePublicPassProduct;
188
+ }> | Readonly<{
189
+ kind: "unavailable";
190
+ label: string;
191
+ }>;
174
192
  }>[];
175
193
  memberships: readonly Readonly<{
176
194
  id: string;
@@ -182,7 +200,6 @@ export declare const shopBlockRuntime: Readonly<{
182
200
  }>[];
183
201
  }>;
184
202
  hydration: Readonly<{
185
- passes: readonly PublicPassProduct[];
186
203
  memberships: readonly PublicMembershipProduct[];
187
204
  passPurchaseMode: "add_to_cart" | "buy_now";
188
205
  buttonVariant: BlockButtonRole;
@@ -520,7 +537,14 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
520
537
  creditsLabel: string;
521
538
  perCreditLabel: string | null;
522
539
  validityLabel: string | null;
523
- actionLabel: string;
540
+ action: Readonly<{
541
+ kind: "purchase";
542
+ label: string;
543
+ product: import("../..").PurchasablePublicPassProduct;
544
+ }> | Readonly<{
545
+ kind: "unavailable";
546
+ label: string;
547
+ }>;
524
548
  }>[];
525
549
  memberships: readonly Readonly<{
526
550
  id: string;
@@ -532,7 +556,6 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
532
556
  }>[];
533
557
  }>;
534
558
  hydration: Readonly<{
535
- passes: readonly PublicPassProduct[];
536
559
  memberships: readonly PublicMembershipProduct[];
537
560
  passPurchaseMode: "add_to_cart" | "buy_now";
538
561
  buttonVariant: BlockButtonRole;
@@ -565,7 +588,14 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
565
588
  creditsLabel: string;
566
589
  perCreditLabel: string | null;
567
590
  validityLabel: string | null;
568
- actionLabel: string;
591
+ action: Readonly<{
592
+ kind: "purchase";
593
+ label: string;
594
+ product: import("../..").PurchasablePublicPassProduct;
595
+ }> | Readonly<{
596
+ kind: "unavailable";
597
+ label: string;
598
+ }>;
569
599
  }>[];
570
600
  memberships: readonly Readonly<{
571
601
  id: string;
@@ -577,7 +607,6 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
577
607
  }>[];
578
608
  }>;
579
609
  hydration: Readonly<{
580
- passes: readonly PublicPassProduct[];
581
610
  memberships: readonly PublicMembershipProduct[];
582
611
  passPurchaseMode: "add_to_cart" | "buy_now";
583
612
  buttonVariant: BlockButtonRole;
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import type { PassCardDisplay } from './commerce/shared/display';
3
+ export declare const passCardDisplaySchema: z.ZodType<PassCardDisplay>;
@@ -1,4 +1,4 @@
1
- import type { PublicMembershipProduct, PublicPassProduct } from '../../blocks/shop';
1
+ import type { PublicMembershipProduct, PurchasablePublicPassProduct } from '../../blocks/shop';
2
2
  import type { ShopDuplicateMembershipWarning as DuplicateMembershipWarning } from '../api';
3
3
  import type { ShopCheckoutForm } from './shop-checkout-form';
4
4
  export type CheckoutReturnNotice = Readonly<{
@@ -9,7 +9,7 @@ export type CheckoutReturnNotice = Readonly<{
9
9
  export type CheckoutForm = ShopCheckoutForm;
10
10
  export type CheckoutItem = Readonly<{
11
11
  productType: 'pass';
12
- product: PublicPassProduct;
12
+ product: PurchasablePublicPassProduct;
13
13
  }> | Readonly<{
14
14
  productType: 'membership';
15
15
  product: PublicMembershipProduct;
@@ -30,7 +30,7 @@ export type ShopPassesMembershipsState = Readonly<{
30
30
  }>;
31
31
  type ShopPassesMembershipsAction = Readonly<{
32
32
  type: 'openPassCheckout';
33
- pass: PublicPassProduct;
33
+ pass: PurchasablePublicPassProduct;
34
34
  }> | Readonly<{
35
35
  type: 'openMembershipCheckout';
36
36
  membership: PublicMembershipProduct;
@@ -1,8 +1,24 @@
1
1
  import type { ReactNode } from 'react';
2
2
  export type FeedbackTone = 'info' | 'success' | 'warning' | 'error';
3
3
  export type FeedbackLiveMode = 'off' | 'polite' | 'assertive';
4
+ /**
5
+ * How loudly a feedback message presents itself. Orthogonal to tone: tone says
6
+ * what kind of message it is, treatment says how much room it takes up.
7
+ *
8
+ * - `panel` — the alert box. The default, and what every existing call site
9
+ * gets. Suits a genuine failure: a declined payment, a lost submission.
10
+ * - `field-note` — a quiet margin note attached to the control or group it
11
+ * describes. Suits inline validation, where the user has simply not finished
12
+ * something yet.
13
+ *
14
+ * Site styles own each treatment's appearance; the CSS is generated in
15
+ * theme-core (`status/generateStatusCss.ts`) from theme tokens, so a block
16
+ * only ever names the treatment.
17
+ */
18
+ export type FeedbackTreatment = 'panel' | 'field-note';
4
19
  export type FeedbackMessageProps = Readonly<{
5
20
  tone: FeedbackTone;
21
+ treatment?: FeedbackTreatment;
6
22
  children: ReactNode;
7
23
  className?: string;
8
24
  id?: string;
@@ -12,4 +28,4 @@ export type FeedbackMessageProps = Readonly<{
12
28
  role?: 'alert' | 'status';
13
29
  live?: FeedbackLiveMode;
14
30
  }>;
15
- export declare function FeedbackMessage({ tone, children, className, id, title, titleClassName, bodyClassName, role, live, }: FeedbackMessageProps): import("react").JSX.Element;
31
+ export declare function FeedbackMessage({ tone, treatment, children, className, id, title, titleClassName, bodyClassName, role, live, }: FeedbackMessageProps): import("react").JSX.Element;
@@ -15,7 +15,7 @@ export type { BookingOptionGroupViewModel, BookingOptionListProps, } from './Boo
15
15
  export { FieldValidationMessage, getFieldValidationControlProps, } from './FieldValidationMessage';
16
16
  export type { FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, } from './FieldValidationMessage';
17
17
  export { FeedbackMessage } from './FeedbackMessage';
18
- export type { FeedbackLiveMode, FeedbackMessageProps, FeedbackTone } from './FeedbackMessage';
18
+ export type { FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, FeedbackTreatment, } from './FeedbackMessage';
19
19
  export { LoggedInAsUser } from './LoggedInAsUser';
20
20
  export { StateIcon } from './StateIcon';
21
21
  export type { LoggedInAsUserProps } from './LoggedInAsUser';
@@ -21,7 +21,7 @@
21
21
  * 2. TypeScript will error until you update both spacing maps
22
22
  * 3. No way to get out of sync
23
23
  */
24
- declare const SEMANTIC_SPACING_VALUES: readonly ["none", "compact", "cozy", "medium", "comfortable", "spacious"];
24
+ export declare const SEMANTIC_SPACING_VALUES: readonly ["none", "compact", "cozy", "medium", "comfortable", "spacious"];
25
25
  /**
26
26
  * Semantic spacing values used across the block system.
27
27
  * These abstract away the specific CSS classes and provide a consistent vocabulary.
@@ -0,0 +1,90 @@
1
+ import { type CardRole } from '../../../../../../theme-core/src/cards/index';
2
+ /**
3
+ * @file The one place box-style content becomes CSS classes.
4
+ *
5
+ * `boxStyles.all` runs this for the binding pipeline, and the React nodes that
6
+ * render a card outside that pipeline (offerings-preview) call it directly, so
7
+ * there is a single card-class emission path rather than copies that drift.
8
+ */
9
+ /** The elevation class an elevated box gets when the theme defines a shadow. */
10
+ export declare const RAISED_SHADOW_CLASS = "rb-shadow-md";
11
+ /** Radius values to their `rb-*` classes (defined in `rb-utilities.css`). */
12
+ export declare const ROUNDED_CLASSES: Readonly<Record<string, string>>;
13
+ export declare const fixedFrameScopeClass = "rb-bg-motion-fixed-frame-scope";
14
+ export declare function hasFixedFrameBackgroundMotion(value: unknown): boolean;
15
+ /**
16
+ * The role a card renders with, and the one place a set of card styles becomes
17
+ * a role.
18
+ *
19
+ * Precedence: a per-item override, then the `role` a Look compiled onto the
20
+ * block's card styles, then the legacy `cardVariant` field. `cardVariant` only
21
+ * ever held role names, so it reads *as* a role rather than as a second
22
+ * vocabulary — an explicit `role` wins when a record carries both.
23
+ *
24
+ * Compiled and freshly authored card styles carry only `role`. `cardVariant`
25
+ * survives on content persisted before the role contract, and normalizes here
26
+ * rather than in `cardStylesOverrideSchema` because that content reaches the
27
+ * renderer as a raw record without ever passing through the schema.
28
+ */
29
+ export declare function resolveCardRoleForBoxStyles(input: Record<string, unknown>, override: CardRole | null | undefined): CardRole | null;
30
+ /**
31
+ * Parse a block's own per-item surface vocabulary into a card role. The alias
32
+ * map is declared by the block (its persisted values are its own history), and
33
+ * `normalizeCardRole` remains the one untrusted-input boundary after that.
34
+ */
35
+ export declare function resolveItemCardRole(value: unknown, aliases: Readonly<Record<string, string>> | undefined): CardRole | null;
36
+ /** The border widths `CardStylesContent['border']` can carry. */
37
+ export type BoxBorderWidth = 'none' | '1' | '2' | '3';
38
+ /**
39
+ * A box border after the one legacy shape has been normalized away, parsed
40
+ * into the vocabulary the field actually declares. The record arrives here as
41
+ * raw persisted JSON, so parsing is this function's job and no reader
42
+ * downstream repeats it.
43
+ */
44
+ export type NormalizedBoxBorder = Readonly<{
45
+ /** `null` means the box expresses no opinion and inherits its border. */
46
+ enabled: boolean | null;
47
+ width: BoxBorderWidth | undefined;
48
+ colorToken: string | undefined;
49
+ }>;
50
+ /**
51
+ * A box's border record with `{ width: 'none' }`-without-`enabled` resolved.
52
+ *
53
+ * That shape used to mean two different things to two different readers: the
54
+ * old private offerings emitter read it as border-off, while the shared
55
+ * emitter read it as "no opinion" and left the caller's base `rb-border` in
56
+ * place. Same persisted bytes, opposite answers. A width of `none` says there
57
+ * is no border, so it is read as `enabled: false` here — once, at the one
58
+ * place box-style content is interpreted — and every reader downstream now
59
+ * agrees.
60
+ *
61
+ * Nothing persisted carries the shape (the #1297 usage audit found zero rows;
62
+ * the authoring UI cannot produce it, since the width control is gated on
63
+ * `enabled === true`), so this is boundary hygiene rather than a migration.
64
+ */
65
+ export declare function normalizeBoxStylesBorder(value: unknown): NormalizedBoxBorder | null;
66
+ /**
67
+ * The class list for a set of box styles: the caller's base class, the border /
68
+ * spacing / elevation / radius overrides the box carries, and its card surface.
69
+ *
70
+ * Pure, so the React nodes that render a card outside the binding pipeline
71
+ * (offerings-preview) share this one emission path with `boxStyles.all` instead
72
+ * of keeping a copy that drifts.
73
+ */
74
+ export declare function boxStyleClassNames(value: unknown, options: Readonly<{
75
+ axis?: "y" | "all";
76
+ baseClass?: string;
77
+ includeSpacing?: boolean;
78
+ /**
79
+ * A card role that wins over the one compiled into the box styles — the
80
+ * per-item override in blocks that let individual cards pick their surface.
81
+ */
82
+ cardRoleOverride?: CardRole | null;
83
+ /**
84
+ * The elevation class an elevated box gets. Defaults to the standard raised
85
+ * shadow; pass `null` to opt out explicitly (the binding pipeline does that
86
+ * for a theme whose medium shadow is `none`). Omitting it must never
87
+ * silently flatten a raised card, hence the default.
88
+ */
89
+ raisedClass?: string | null;
90
+ }>): string;
@@ -1,2 +1,8 @@
1
+ import { resolveSurfaceForeground, type ResolvedSurfaceForeground } from '../../../../../../theme-core/src/surfaces/index';
2
+ import type { ThemeHeader } from '../../../../../../theme-core/src/schema';
1
3
  import type { TransformContext } from '../core';
2
- export declare function resolveSurfaceForegroundStyles(value: unknown, context: TransformContext): Record<string, string>;
4
+ export declare function resolveHeaderLeafTextColor(header: Partial<ThemeHeader> | undefined): NonNullable<ThemeHeader['textColor']>;
5
+ export declare function resolveHeaderRootForeground(header: Partial<ThemeHeader> | undefined, palette: Parameters<typeof resolveSurfaceForeground>[1], isTransparent: boolean): ResolvedSurfaceForeground;
6
+ export declare function resolveSurfaceForegroundStyles(value: unknown, context: TransformContext, options?: Readonly<{
7
+ fallbackToken?: string;
8
+ }>): Record<string, string>;
@@ -1,2 +1,2 @@
1
- import type { TransformDefinition } from "./core";
1
+ import type { TransformDefinition } from './core';
2
2
  export declare const backgroundTransforms: TransformDefinition<unknown>[];