@riverbankcms/sdk 0.146.0 → 0.148.0

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 (466) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DvEPG3Z2.mjs} +249 -172
  3. package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-D6eb6fkx.mjs} +68 -60
  4. package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-5znTyJuz.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DJ6utQ_R.mjs} +1180 -475
  6. package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-CFJYh6vo.mjs} +199078 -193767
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -33
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -3
  9. package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
  10. package/dist/_dts/api/src/accountApi.d.ts +6 -6
  11. package/dist/_dts/api/src/admin.d.ts +22 -22
  12. package/dist/_dts/api/src/aiPatch.d.ts +2 -2
  13. package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
  14. package/dist/_dts/api/src/analytics.d.ts +2 -2
  15. package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
  16. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  17. package/dist/_dts/api/src/auth.d.ts +10 -10
  18. package/dist/_dts/api/src/availability.d.ts +6 -6
  19. package/dist/_dts/api/src/billing.d.ts +42 -15
  20. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
  21. package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
  22. package/dist/_dts/api/src/blocks.d.ts +15 -14
  23. package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
  24. package/dist/_dts/api/src/bookingConfig.d.ts +16 -2
  25. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
  26. package/dist/_dts/api/src/bookingOperations.d.ts +6 -48
  27. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  28. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  29. package/dist/_dts/api/src/bookingRecords.d.ts +12 -49
  30. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  31. package/dist/_dts/api/src/bookings.d.ts +8 -7
  32. package/dist/_dts/api/src/calendar.d.ts +9 -9
  33. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -6
  34. package/dist/_dts/api/src/common/envelope.d.ts +2 -2
  35. package/dist/_dts/api/src/content-editor.d.ts +2 -2
  36. package/dist/_dts/api/src/contentEntries.d.ts +17 -48
  37. package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
  38. package/dist/_dts/api/src/contentTypes.d.ts +11 -11
  39. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
  40. package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
  41. package/dist/_dts/api/src/domains.d.ts +16 -16
  42. package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
  43. package/dist/_dts/api/src/emailSettings.d.ts +4 -4
  44. package/dist/_dts/api/src/endpoints.d.ts +725 -607
  45. package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
  46. package/dist/_dts/api/src/eventManagementContracts.d.ts +48 -8
  47. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -9
  48. package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
  49. package/dist/_dts/api/src/footerSettings.d.ts +6 -6
  50. package/dist/_dts/api/src/index.d.ts +8 -6
  51. package/dist/_dts/api/src/indexCoreTypes.d.ts +2 -1
  52. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  53. package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
  54. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  55. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  56. package/dist/_dts/api/src/navigation.d.ts +5 -5
  57. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
  58. package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
  59. package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
  60. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
  61. package/dist/_dts/api/src/pages.d.ts +7 -7
  62. package/dist/_dts/api/src/performance.d.ts +1 -1
  63. package/dist/_dts/api/src/public/index.d.ts +1 -1
  64. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +50 -0
  65. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +4 -0
  66. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  67. package/dist/_dts/api/src/redirects.d.ts +3 -3
  68. package/dist/_dts/api/src/request.d.ts +10 -1
  69. package/dist/_dts/api/src/resources.d.ts +4 -4
  70. package/dist/_dts/api/src/routes.d.ts +8 -3
  71. package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -1
  72. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
  73. package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
  74. package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
  75. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
  76. package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
  77. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
  78. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +8 -1
  79. package/dist/_dts/api/src/seo.d.ts +4 -4
  80. package/dist/_dts/api/src/services.d.ts +4 -4
  81. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  82. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +19 -25
  83. package/dist/_dts/api/src/siteMembers.d.ts +10 -10
  84. package/dist/_dts/api/src/siteOnboarding.d.ts +16 -14
  85. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
  86. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
  87. package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
  88. package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
  89. package/dist/_dts/billing/src/components/index.d.ts +25 -40
  90. package/dist/_dts/billing/src/membership/index.d.ts +1 -3
  91. package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
  92. package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
  93. package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
  94. package/dist/_dts/billing/src/plans/types.d.ts +5 -15
  95. package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
  96. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
  97. package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
  98. package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
  99. package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
  100. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
  101. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  102. package/dist/_dts/blocks/src/client/events.d.ts +3 -0
  103. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -4
  104. package/dist/_dts/blocks/src/index.d.ts +1 -1
  105. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +18 -9
  106. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
  107. package/dist/_dts/blocks/src/portal/types.d.ts +0 -2
  108. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
  109. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
  110. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  111. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -1
  112. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  113. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
  114. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  115. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +6 -0
  116. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +18 -0
  117. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
  118. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
  119. package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
  120. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +36 -6
  121. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +18 -3
  122. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +11 -0
  123. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  124. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
  125. package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
  126. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +11 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +13 -0
  129. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +28 -0
  130. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  134. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  135. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -1
  136. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
  137. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +9 -0
  138. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  139. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +4 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +7 -1
  145. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  146. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  147. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
  148. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +5 -5
  149. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  150. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +18 -5
  151. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
  152. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
  153. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
  154. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
  155. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +5 -5
  157. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
  158. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
  159. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
  160. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  161. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
  162. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  163. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
  164. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
  165. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  166. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  167. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  168. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
  169. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
  170. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  171. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  172. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  173. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  174. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
  175. package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
  176. package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
  177. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
  178. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
  179. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
  180. package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
  181. package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
  182. package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
  183. package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
  184. package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
  185. package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
  186. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
  187. package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
  188. package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
  189. package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
  190. package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
  191. package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
  192. package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
  193. package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
  194. package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
  195. package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
  196. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
  197. package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
  198. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
  199. package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
  200. package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
  201. package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
  202. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
  203. package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
  204. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
  205. package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
  206. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
  207. package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
  208. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
  209. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
  210. package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
  211. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
  212. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
  213. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
  214. package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
  215. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
  216. package/dist/_dts/content-editor/src/index.d.ts +26 -7
  217. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
  218. package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
  219. package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
  220. package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
  221. package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
  222. package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
  223. package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
  224. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
  225. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
  226. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
  227. package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
  228. package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
  229. package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
  230. package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
  231. package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
  232. package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
  233. package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
  234. package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
  235. package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
  236. package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
  237. package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
  238. package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
  239. package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
  240. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
  241. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
  242. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
  243. package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
  244. package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
  245. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
  246. package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
  247. package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
  248. package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
  249. package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
  250. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
  251. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
  252. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
  253. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
  254. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
  255. package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
  256. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  257. package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
  258. package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
  259. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  260. package/dist/_dts/content-model/src/types.d.ts +0 -1
  261. package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
  262. package/dist/_dts/core/src/branded.d.ts +12 -0
  263. package/dist/_dts/core/src/currency-format.d.ts +8 -2
  264. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
  265. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
  266. package/dist/_dts/core/src/edit-lease.d.ts +55 -0
  267. package/dist/_dts/core/src/editor-state.d.ts +38 -13
  268. package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
  269. package/dist/_dts/core/src/html-entities.d.ts +6 -0
  270. package/dist/_dts/core/src/index.d.ts +5 -1
  271. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  272. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  273. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
  274. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  275. package/dist/_dts/core/src/participants.d.ts +0 -38
  276. package/dist/_dts/core/src/uuid.d.ts +7 -5
  277. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +261 -175
  278. package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
  279. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
  280. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
  281. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
  282. package/dist/_dts/editor/src/index.d.ts +1 -1
  283. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
  284. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  285. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  286. package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
  287. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
  288. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  289. package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
  290. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
  291. package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
  292. package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
  293. package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
  294. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
  295. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
  296. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
  297. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
  298. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
  299. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
  300. package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
  301. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
  302. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
  303. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
  304. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
  305. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
  306. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
  307. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  308. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
  309. package/dist/_dts/media-editor/src/provider.d.ts +3 -2
  310. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  311. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
  312. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  313. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
  314. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +10 -6
  315. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
  316. package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
  317. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
  318. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
  319. package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
  320. package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
  321. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  322. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
  323. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
  324. package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
  325. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  326. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +24 -14
  327. package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
  328. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
  329. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  330. package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
  331. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
  332. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
  333. package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
  334. package/dist/_dts/realtime/src/client.d.ts +3 -0
  335. package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
  336. package/dist/_dts/realtime/src/drafts.d.ts +210 -0
  337. package/dist/_dts/realtime/src/index.d.ts +3 -0
  338. package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
  339. package/dist/_dts/realtime/src/types.d.ts +113 -0
  340. package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
  341. package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
  342. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
  343. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  344. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  345. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
  346. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +4 -2
  347. package/dist/_dts/sdk/src/version.d.ts +1 -1
  348. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  349. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  350. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  351. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  352. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  353. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  354. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  355. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  356. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  357. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  358. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  359. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  360. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  361. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  362. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  363. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  364. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  365. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  366. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  367. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  368. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  369. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  370. package/dist/_dts/ui/src/badge.d.ts +2 -1
  371. package/dist/_dts/ui/src/button.d.ts +1 -1
  372. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  373. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  374. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  375. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  376. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  377. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  378. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  379. package/dist/_dts/ui/src/index.d.ts +4 -1
  380. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  381. package/dist/_dts/ui/src/popover.d.ts +7 -1
  382. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  383. package/dist/_dts/ui/src/surface.d.ts +1 -1
  384. package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-CzRt2dF_.mjs} +110 -97
  385. package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
  386. package/dist/client/DemoBookingPortalAccess-mxqwap3f.mjs +344 -0
  387. package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-CDb11igO.mjs} +7 -7
  388. package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-EgYhzKPa.mjs} +2 -2
  389. package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-gtmtaA2b.mjs} +1 -1
  390. package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-DvNUP5ot.mjs} +77 -77
  391. package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-C7CeUJjW.mjs} +2 -2
  392. package/dist/client/{accordion-BEQNSptH.mjs → accordion-kjvt49rA.mjs} +1 -1
  393. package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-pbRZordh.mjs} +411 -141
  394. package/dist/client/bookings.mjs +966 -396
  395. package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-f4Zbmicv.mjs} +2 -2
  396. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  397. package/dist/client/{cart-CnWi30zJ.mjs → cart-DO20An50.mjs} +3 -3
  398. package/dist/client/{checkout-f3nkWgd4.mjs → checkout-Du5amDR_.mjs} +3 -3
  399. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
  400. package/dist/client/client.mjs +3837 -2202
  401. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  402. package/dist/client/{context-Bc8T6pCe.mjs → context-eW97E945.mjs} +4 -3
  403. package/dist/client/{dates-DUsCEzLb.mjs → dates-jPCirRea.mjs} +56 -11
  404. package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-C2M-iE4j.mjs} +10 -10
  405. package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-W6ns3LHg.mjs} +4 -4
  406. package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-CR-GT0f0.mjs} +4 -4
  407. package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-BK8AfYZz.mjs} +4 -4
  408. package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-BJSd4KUu.mjs} +461 -266
  409. package/dist/client/{form-C2h3YAcg.mjs → form-BvpfbQaT.mjs} +5 -5
  410. package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-I5sUQ8x-.mjs} +3 -3
  411. package/dist/client/hooks.mjs +909 -163
  412. package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-BLvwf9_f.mjs} +4 -4
  413. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  414. package/dist/client/{media-BtJ37tzS.mjs → media-Cl38iOMI.mjs} +11 -4
  415. package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DrQ2weE8.mjs} +6 -6
  416. package/dist/client/{pricing-HHx3IgBz.mjs → pricing-BES87mrR.mjs} +1 -1
  417. package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-Url9jcc5.mjs} +3 -3
  418. package/dist/client/{productList-CtCv-Nmx.mjs → productList-DE7ngEZJ.mjs} +3 -3
  419. package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-D1OtGXDV.mjs} +140 -22
  420. package/dist/client/rendering/client.mjs +2366 -997
  421. package/dist/client/rendering/islands.mjs +19 -19
  422. package/dist/client/rendering.mjs +4607 -2884
  423. package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BG9Y-SHg.mjs} +1 -1
  424. package/dist/client/{shop-DQXrQ8kJ.mjs → shop-CJkuySJ3.mjs} +126 -79
  425. package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-4rKj5n9h.mjs} +26 -14
  426. package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-Bxm75Pg6.mjs} +1 -1
  427. package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-DpoQDWfz.mjs} +5 -5
  428. package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-D8HliSqR.mjs} +33 -18
  429. package/dist/preview-next/before-render.mjs +314 -133
  430. package/dist/preview-next/client/runtime.mjs +4 -4
  431. package/dist/preview-next/editor-base.css +53 -2
  432. package/dist/preview-next/editor-chrome.css +7 -4
  433. package/dist/preview-next/keepAlive.mjs +314 -133
  434. package/dist/preview-next/middleware.mjs +314 -133
  435. package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-BXXF3hhW.mjs} +316 -133
  436. package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-C2a05WjL.mjs} +2 -2
  437. package/dist/{separator-BpHS1KZK.mjs → separator-CuNhBAhS.mjs} +1 -1
  438. package/dist/server/components.mjs +6888 -6157
  439. package/dist/server/config-validation.mjs +931 -199
  440. package/dist/server/config.mjs +931 -199
  441. package/dist/server/data.mjs +929 -198
  442. package/dist/server/index.mjs +317 -134
  443. package/dist/server/navigation.mjs +13 -2
  444. package/dist/server/next.mjs +5003 -4340
  445. package/dist/server/page-converter.mjs +160 -78
  446. package/dist/server/prebuild.mjs +1 -1
  447. package/dist/server/rendering/server.mjs +6421 -5687
  448. package/dist/server/rendering.mjs +7683 -6933
  449. package/dist/server/routing.mjs +1035 -338
  450. package/dist/server/server.mjs +946 -256
  451. package/dist/server/theme-bridge.mjs +66 -17
  452. package/dist/server/theme.mjs +5 -1
  453. package/dist/styles/index.css +32 -4
  454. package/package.json +1 -1
  455. package/dist/_dts/billing/src/plans/display.d.ts +0 -15
  456. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
  457. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
  458. package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
  459. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
  460. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
  461. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
  462. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
  463. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
  464. package/dist/_dts/content-editor/src/types.d.ts +0 -44
  465. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
  466. package/dist/client/DiscountCodeDisclosure-CsOtjFY7.mjs +0 -137
@@ -902,26 +902,21 @@ function isOnColorBackgroundCandidateToken(token) {
902
902
  return BACKGROUND_ROLE_NAMES.has(role);
903
903
  }
904
904
  //#endregion
905
- //#region ../theme-core/src/surfaces/foregroundRoles.ts
906
- const SURFACE_FOREGROUND_ROLES = [
907
- "text",
908
- "heading",
909
- "link",
910
- "supporting"
911
- ];
912
- //#endregion
913
905
  //#region ../theme-core/src/surfaces/foregroundContract.ts
914
906
  const SURFACE_FOREGROUND_CSS_VARS = {
915
907
  text: "--rb-surface-text-color",
916
908
  heading: "--rb-surface-heading-color",
917
909
  link: "--rb-surface-link-color",
910
+ linkHover: "--rb-surface-link-hover-color",
918
911
  supporting: "--rb-surface-supporting-color"
919
912
  };
920
913
  const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
914
+ const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
921
915
  const DEFAULT_ROLE_FALLBACKS = {
922
916
  text: DEFAULT_SURFACE_TEXT_COLOR,
923
917
  heading: DEFAULT_SURFACE_TEXT_COLOR,
924
- link: "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))",
918
+ link: DEFAULT_SURFACE_LINK_COLOR,
919
+ linkHover: DEFAULT_SURFACE_LINK_COLOR,
925
920
  supporting: "rgb(var(--tb-mutedText, 100 116 139))"
926
921
  };
927
922
  function requireSurfaceColorValue(role, value) {
@@ -931,10 +926,12 @@ function requireSurfaceColorValue(role, value) {
931
926
  }
932
927
  function completeSurfaceForegrounds(input) {
933
928
  const text = requireSurfaceColorValue("text", input.text);
929
+ const link = input.link === void 0 ? text : requireSurfaceColorValue("link", input.link);
934
930
  return {
935
931
  text,
936
932
  heading: input.heading === void 0 ? text : requireSurfaceColorValue("heading", input.heading),
937
- link: input.link === void 0 ? text : requireSurfaceColorValue("link", input.link),
933
+ link,
934
+ linkHover: input.linkHover === void 0 ? link : requireSurfaceColorValue("linkHover", input.linkHover),
938
935
  supporting: input.supporting === void 0 ? text : requireSurfaceColorValue("supporting", input.supporting)
939
936
  };
940
937
  }
@@ -942,15 +939,30 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
942
939
  const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
943
940
  const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
944
941
  if (role === "text") return `var(${roleVariable}, ${fallback})`;
942
+ if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
945
943
  return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
946
944
  }
947
945
  function surfaceForegroundValueWithOpacity(role, opacityPercent) {
948
946
  if (!Number.isFinite(opacityPercent) || opacityPercent < 0 || opacityPercent > 100) throw new RangeError("Surface foreground opacity must be between 0 and 100.");
949
947
  return `color-mix(in srgb, ${surfaceForegroundValue(role)} ${opacityPercent}%, transparent)`;
950
948
  }
951
- function surfaceForegroundDeclarations(input) {
949
+ function surfaceForegroundStyle(input) {
952
950
  const foregrounds = completeSurfaceForegrounds(input);
953
- return [`color: ${foregrounds.text}`, ...SURFACE_FOREGROUND_ROLES.map((role) => `${SURFACE_FOREGROUND_CSS_VARS[role]}: ${foregrounds[role]}`)];
951
+ return {
952
+ color: foregrounds.text,
953
+ [SURFACE_FOREGROUND_CSS_VARS.text]: foregrounds.text,
954
+ [SURFACE_FOREGROUND_CSS_VARS.heading]: foregrounds.heading,
955
+ [SURFACE_FOREGROUND_CSS_VARS.link]: foregrounds.link,
956
+ [SURFACE_FOREGROUND_CSS_VARS.linkHover]: foregrounds.linkHover,
957
+ [SURFACE_FOREGROUND_CSS_VARS.supporting]: foregrounds.supporting,
958
+ "--rb-surface-link-hover-decoration": hoverDecoration(input)
959
+ };
960
+ }
961
+ function surfaceForegroundDeclarations(input) {
962
+ return Object.entries(surfaceForegroundStyle(input)).map(([property, value]) => `${property}: ${value};`);
963
+ }
964
+ function hoverDecoration(input) {
965
+ return input.hoverDecoration ?? "underline";
954
966
  }
955
967
  //#endregion
956
968
  //#region ../theme-core/src/buttons/constants.ts
@@ -3902,6 +3914,12 @@ function cardDecorationPseudoRules(containerSelectors, decorations, resolveColor
3902
3914
  });
3903
3915
  }
3904
3916
  //#endregion
3917
+ //#region ../theme-core/src/utils/cssDeclarations.ts
3918
+ /** Render CSS declarations whether callers provide terminators or fragments. */
3919
+ function renderCssDeclarations(declarations) {
3920
+ return declarations.map((declaration) => declaration.endsWith(";") ? declaration : `${declaration};`).join("\n ");
3921
+ }
3922
+ //#endregion
3905
3923
  //#region ../theme-core/src/cards/core.ts
3906
3924
  /**
3907
3925
  * Core Card CSS Generator
@@ -4004,6 +4022,9 @@ function generateCardCoreCss(scopeId, variants, settings, scope = "all") {
4004
4022
  * A variant's background and, when it owns one, the complete foreground
4005
4023
  * contract that goes with it. Opaque cards are surface providers; transparent
4006
4024
  * variants inherit the nearest outer surface atomically and declare nothing.
4025
+ * The SDK bridge has token references but no resolved palette or global prose
4026
+ * preference. It therefore publishes the conservative resting hover plus
4027
+ * underline through the shared contract instead of claiming measured contrast.
4007
4028
  */
4008
4029
  function cardSurfaceDeclarations(variant) {
4009
4030
  if (variant.background === "solid" && variant.backgroundToken) return [`background: rgb(var(--tb-${variant.backgroundToken}))`, ...surfaceForegroundDeclarations({ text: `rgb(var(--tb-${variant.foregroundToken ?? "text"}))` })];
@@ -4039,7 +4060,7 @@ function generateVariantCss$1(scopeId, variant, settings, scope = "all") {
4039
4060
  const mediaRules = mediaCornerRules(variant.cornerRadii, settings.corners);
4040
4061
  const contentRules = [`padding: ${SPACING_MAP[variant.spacing]}`];
4041
4062
  return [
4042
- `${containerSelector} {\n ${containerRules.join(";\n ")};\n}`,
4063
+ `${containerSelector} {\n ${renderCssDeclarations(containerRules)}\n}`,
4043
4064
  ...cardDecorationPseudoRules(containerSelectors, decorations, coreColor),
4044
4065
  `${fallbackBackgroundSelector} {\n background: transparent;\n}`,
4045
4066
  `${mediaSelector} {\n ${mediaRules.join(";\n ")};\n}`,
@@ -15030,6 +15051,8 @@ const containerResponsiveThemeCss = `/*
15030
15051
  --rb-surface-text-color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
15031
15052
  --rb-surface-heading-color: var(--rb-modal-heading, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15032
15053
  --rb-surface-link-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15054
+ --rb-surface-link-hover-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15055
+ --rb-surface-link-hover-decoration: underline;
15033
15056
  --rb-surface-supporting-color: var(--rb-modal-supporting, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
15034
15057
  border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
15035
15058
  border-radius: var(--rb-modal-radius, var(--radius-card));
@@ -15459,14 +15482,18 @@ const containerResponsiveThemeCss = `/*
15459
15482
 
15460
15483
  :where(.theme-scope) .rb-prose a:hover {
15461
15484
  color: var(
15462
- --rb-prose-link-hover-color,
15463
- var(--rb-prose-effective-link-color)
15485
+ --rb-surface-link-hover-color,
15486
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
15487
+ );
15488
+ text-decoration-line: var(
15489
+ --rb-surface-link-hover-decoration,
15490
+ var(--rb-prose-link-decoration-line, underline)
15464
15491
  );
15465
15492
  text-decoration-color: var(
15466
15493
  --rb-prose-link-hover-decoration-color,
15467
15494
  var(
15468
- --rb-prose-link-hover-color,
15469
- var(--rb-prose-effective-link-color)
15495
+ --rb-surface-link-hover-color,
15496
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
15470
15497
  )
15471
15498
  );
15472
15499
  }
@@ -16510,6 +16537,8 @@ const containerResponsiveThemeCss = `/*
16510
16537
  --rb-surface-text-color: rgb(var(--tb-onSurface, var(--tb-text)));
16511
16538
  --rb-surface-heading-color: rgb(var(--tb-onSurface, var(--tb-text)));
16512
16539
  --rb-surface-link-color: rgb(var(--tb-onSurface, var(--tb-text)));
16540
+ --rb-surface-link-hover-color: rgb(var(--tb-onSurface, var(--tb-text)));
16541
+ --rb-surface-link-hover-decoration: underline;
16513
16542
  --rb-surface-supporting-color: rgb(var(--tb-onSurface, var(--tb-text)));
16514
16543
  border: 1px solid rgb(var(--tb-border));
16515
16544
  border-radius: var(--radius-card);
@@ -16657,6 +16686,8 @@ const containerResponsiveThemeCss = `/*
16657
16686
  --rb-surface-text-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16658
16687
  --rb-surface-heading-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16659
16688
  --rb-surface-link-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16689
+ --rb-surface-link-hover-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
16690
+ --rb-surface-link-hover-decoration: underline;
16660
16691
  --rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
16661
16692
  transition: border-color var(--rb-block-transition, 150ms) ease;
16662
16693
  width: 100%;
@@ -22636,6 +22667,8 @@ const containerResponsiveThemeCss = `/*
22636
22667
  --rb-surface-text-color: inherit;
22637
22668
  --rb-surface-heading-color: inherit;
22638
22669
  --rb-surface-link-color: inherit;
22670
+ --rb-surface-link-hover-color: inherit;
22671
+ --rb-surface-link-hover-decoration: inherit;
22639
22672
  --rb-surface-supporting-color: inherit;
22640
22673
  }
22641
22674
 
@@ -22733,6 +22766,8 @@ const containerResponsiveThemeCss = `/*
22733
22766
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
22734
22767
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
22735
22768
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
22769
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
22770
+ --rb-surface-link-hover-decoration: initial;
22736
22771
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
22737
22772
  border: 1px solid rgb(var(--tb-border));
22738
22773
  border-radius: var(--shop-card-radius);
@@ -22899,6 +22934,8 @@ const containerResponsiveThemeCss = `/*
22899
22934
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
22900
22935
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
22901
22936
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
22937
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
22938
+ --rb-surface-link-hover-decoration: initial;
22902
22939
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
22903
22940
  }
22904
22941
 
@@ -22976,6 +23013,8 @@ const containerResponsiveThemeCss = `/*
22976
23013
  --rb-surface-text-color: var(--cp-text);
22977
23014
  --rb-surface-heading-color: var(--cp-text);
22978
23015
  --rb-surface-link-color: var(--cp-primary);
23016
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23017
+ --rb-surface-link-hover-decoration: initial;
22979
23018
  --rb-surface-supporting-color: var(--cp-muted);
22980
23019
  border: 1px solid var(--cp-card-border);
22981
23020
  border-radius: var(--cp-card-radius);
@@ -23125,6 +23164,8 @@ const containerResponsiveThemeCss = `/*
23125
23164
  --rb-surface-text-color: var(--cp-text);
23126
23165
  --rb-surface-heading-color: var(--cp-text);
23127
23166
  --rb-surface-link-color: var(--cp-primary);
23167
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23168
+ --rb-surface-link-hover-decoration: initial;
23128
23169
  --rb-surface-supporting-color: var(--cp-muted);
23129
23170
  border: 1px dashed var(--cp-card-border);
23130
23171
  border-radius: var(--cp-card-radius);
@@ -23142,6 +23183,8 @@ const containerResponsiveThemeCss = `/*
23142
23183
  --rb-surface-text-color: var(--cp-text);
23143
23184
  --rb-surface-heading-color: var(--cp-text);
23144
23185
  --rb-surface-link-color: var(--cp-primary);
23186
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23187
+ --rb-surface-link-hover-decoration: initial;
23145
23188
  --rb-surface-supporting-color: var(--cp-muted);
23146
23189
  border: 1px solid var(--cp-card-border);
23147
23190
  border-radius: var(--cp-card-radius);
@@ -23382,6 +23425,8 @@ const containerResponsiveThemeCss = `/*
23382
23425
  --rb-surface-text-color: var(--cp-text);
23383
23426
  --rb-surface-heading-color: var(--cp-text);
23384
23427
  --rb-surface-link-color: var(--cp-primary);
23428
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
23429
+ --rb-surface-link-hover-decoration: initial;
23385
23430
  --rb-surface-supporting-color: var(--cp-muted);
23386
23431
  border: 1px solid var(--cp-card-border);
23387
23432
  border-radius: var(--cp-card-radius);
@@ -26045,6 +26090,8 @@ const containerResponsiveThemeCss = `/*
26045
26090
  --rb-surface-text-color: rgb(var(--tb-onSecondary));
26046
26091
  --rb-surface-heading-color: rgb(var(--tb-onSecondary));
26047
26092
  --rb-surface-link-color: rgb(var(--tb-onSecondary));
26093
+ --rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
26094
+ --rb-surface-link-hover-decoration: underline;
26048
26095
  --rb-surface-supporting-color: rgb(var(--tb-onSecondary));
26049
26096
  }
26050
26097
 
@@ -26176,6 +26223,8 @@ const containerResponsiveThemeCss = `/*
26176
26223
  --rb-surface-text-color: rgb(var(--tb-onPrimary));
26177
26224
  --rb-surface-heading-color: rgb(var(--tb-onPrimary));
26178
26225
  --rb-surface-link-color: rgb(var(--tb-onPrimary));
26226
+ --rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
26227
+ --rb-surface-link-hover-decoration: underline;
26179
26228
  --rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
26180
26229
  }
26181
26230
 
@@ -1167,13 +1167,16 @@ const SURFACE_FOREGROUND_CSS_VARS = {
1167
1167
  text: "--rb-surface-text-color",
1168
1168
  heading: "--rb-surface-heading-color",
1169
1169
  link: "--rb-surface-link-color",
1170
+ linkHover: "--rb-surface-link-hover-color",
1170
1171
  supporting: "--rb-surface-supporting-color"
1171
1172
  };
1172
1173
  const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
1174
+ const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
1173
1175
  const DEFAULT_ROLE_FALLBACKS = {
1174
1176
  text: DEFAULT_SURFACE_TEXT_COLOR,
1175
1177
  heading: DEFAULT_SURFACE_TEXT_COLOR,
1176
- link: "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))",
1178
+ link: DEFAULT_SURFACE_LINK_COLOR,
1179
+ linkHover: DEFAULT_SURFACE_LINK_COLOR,
1177
1180
  supporting: "rgb(var(--tb-mutedText, 100 116 139))"
1178
1181
  };
1179
1182
  function requireSurfaceColorValue(role, value) {
@@ -1185,6 +1188,7 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
1185
1188
  const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
1186
1189
  const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
1187
1190
  if (role === "text") return `var(${roleVariable}, ${fallback})`;
1191
+ if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
1188
1192
  return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
1189
1193
  }
1190
1194
  //#endregion
@@ -1841,6 +1841,8 @@
1841
1841
  --rb-surface-text-color: var(--rb-modal-text, rgb(var(--tb-text, 17 24 39)));
1842
1842
  --rb-surface-heading-color: var(--rb-modal-heading, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1843
1843
  --rb-surface-link-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1844
+ --rb-surface-link-hover-color: var(--rb-modal-link, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1845
+ --rb-surface-link-hover-decoration: underline;
1844
1846
  --rb-surface-supporting-color: var(--rb-modal-supporting, var(--rb-modal-text, rgb(var(--tb-text, 17 24 39))));
1845
1847
  border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
1846
1848
  border-radius: var(--rb-modal-radius, var(--radius-card));
@@ -2268,14 +2270,18 @@
2268
2270
 
2269
2271
  :where(.theme-scope) .rb-prose a:hover {
2270
2272
  color: var(
2271
- --rb-prose-link-hover-color,
2272
- var(--rb-prose-effective-link-color)
2273
+ --rb-surface-link-hover-color,
2274
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
2275
+ );
2276
+ text-decoration-line: var(
2277
+ --rb-surface-link-hover-decoration,
2278
+ var(--rb-prose-link-decoration-line, underline)
2273
2279
  );
2274
2280
  text-decoration-color: var(
2275
2281
  --rb-prose-link-hover-decoration-color,
2276
2282
  var(
2277
- --rb-prose-link-hover-color,
2278
- var(--rb-prose-effective-link-color)
2283
+ --rb-surface-link-hover-color,
2284
+ var(--rb-prose-link-hover-color, var(--rb-prose-effective-link-color))
2279
2285
  )
2280
2286
  );
2281
2287
  }
@@ -3309,6 +3315,8 @@
3309
3315
  --rb-surface-text-color: rgb(var(--tb-onSurface, var(--tb-text)));
3310
3316
  --rb-surface-heading-color: rgb(var(--tb-onSurface, var(--tb-text)));
3311
3317
  --rb-surface-link-color: rgb(var(--tb-onSurface, var(--tb-text)));
3318
+ --rb-surface-link-hover-color: rgb(var(--tb-onSurface, var(--tb-text)));
3319
+ --rb-surface-link-hover-decoration: underline;
3312
3320
  --rb-surface-supporting-color: rgb(var(--tb-onSurface, var(--tb-text)));
3313
3321
  border: 1px solid rgb(var(--tb-border));
3314
3322
  border-radius: var(--radius-card);
@@ -3450,6 +3458,8 @@
3450
3458
  --rb-surface-text-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3451
3459
  --rb-surface-heading-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3452
3460
  --rb-surface-link-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3461
+ --rb-surface-link-hover-color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
3462
+ --rb-surface-link-hover-decoration: underline;
3453
3463
  --rb-surface-supporting-color: var(--rb-reg-on-surface-muted, var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)))));
3454
3464
  transition: border-color var(--rb-block-transition, 150ms) ease;
3455
3465
  width: 100%;
@@ -9410,6 +9420,8 @@
9410
9420
  --rb-surface-text-color: inherit;
9411
9421
  --rb-surface-heading-color: inherit;
9412
9422
  --rb-surface-link-color: inherit;
9423
+ --rb-surface-link-hover-color: inherit;
9424
+ --rb-surface-link-hover-decoration: inherit;
9413
9425
  --rb-surface-supporting-color: inherit;
9414
9426
  }
9415
9427
 
@@ -9505,6 +9517,8 @@
9505
9517
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
9506
9518
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
9507
9519
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
9520
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
9521
+ --rb-surface-link-hover-decoration: initial;
9508
9522
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
9509
9523
  border: 1px solid rgb(var(--tb-border));
9510
9524
  border-radius: var(--shop-card-radius);
@@ -9669,6 +9683,8 @@
9669
9683
  --rb-surface-text-color: rgb(var(--tb-text, 17 24 39));
9670
9684
  --rb-surface-heading-color: rgb(var(--tb-text, 17 24 39));
9671
9685
  --rb-surface-link-color: rgb(var(--tb-primary, var(--tb-text, 17 24 39)));
9686
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, rgb(var(--tb-primary, var(--tb-text, 17 24 39))));
9687
+ --rb-surface-link-hover-decoration: initial;
9672
9688
  --rb-surface-supporting-color: rgb(var(--tb-mutedText, 100 116 139));
9673
9689
  }
9674
9690
 
@@ -9745,6 +9761,8 @@
9745
9761
  --rb-surface-text-color: var(--cp-text);
9746
9762
  --rb-surface-heading-color: var(--cp-text);
9747
9763
  --rb-surface-link-color: var(--cp-primary);
9764
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
9765
+ --rb-surface-link-hover-decoration: initial;
9748
9766
  --rb-surface-supporting-color: var(--cp-muted);
9749
9767
  border: 1px solid var(--cp-card-border);
9750
9768
  border-radius: var(--cp-card-radius);
@@ -9894,6 +9912,8 @@
9894
9912
  --rb-surface-text-color: var(--cp-text);
9895
9913
  --rb-surface-heading-color: var(--cp-text);
9896
9914
  --rb-surface-link-color: var(--cp-primary);
9915
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
9916
+ --rb-surface-link-hover-decoration: initial;
9897
9917
  --rb-surface-supporting-color: var(--cp-muted);
9898
9918
  border: 1px dashed var(--cp-card-border);
9899
9919
  border-radius: var(--cp-card-radius);
@@ -9911,6 +9931,8 @@
9911
9931
  --rb-surface-text-color: var(--cp-text);
9912
9932
  --rb-surface-heading-color: var(--cp-text);
9913
9933
  --rb-surface-link-color: var(--cp-primary);
9934
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
9935
+ --rb-surface-link-hover-decoration: initial;
9914
9936
  --rb-surface-supporting-color: var(--cp-muted);
9915
9937
  border: 1px solid var(--cp-card-border);
9916
9938
  border-radius: var(--cp-card-radius);
@@ -10149,6 +10171,8 @@
10149
10171
  --rb-surface-text-color: var(--cp-text);
10150
10172
  --rb-surface-heading-color: var(--cp-text);
10151
10173
  --rb-surface-link-color: var(--cp-primary);
10174
+ --rb-surface-link-hover-color: var(--rb-prose-link-hover-color, var(--cp-primary));
10175
+ --rb-surface-link-hover-decoration: initial;
10152
10176
  --rb-surface-supporting-color: var(--cp-muted);
10153
10177
  border: 1px solid var(--cp-card-border);
10154
10178
  border-radius: var(--cp-card-radius);
@@ -12810,6 +12834,8 @@
12810
12834
  --rb-surface-text-color: rgb(var(--tb-onSecondary));
12811
12835
  --rb-surface-heading-color: rgb(var(--tb-onSecondary));
12812
12836
  --rb-surface-link-color: rgb(var(--tb-onSecondary));
12837
+ --rb-surface-link-hover-color: rgb(var(--tb-onSecondary));
12838
+ --rb-surface-link-hover-decoration: underline;
12813
12839
  --rb-surface-supporting-color: rgb(var(--tb-onSecondary));
12814
12840
  }
12815
12841
 
@@ -12939,6 +12965,8 @@
12939
12965
  --rb-surface-text-color: rgb(var(--tb-onPrimary));
12940
12966
  --rb-surface-heading-color: rgb(var(--tb-onPrimary));
12941
12967
  --rb-surface-link-color: rgb(var(--tb-onPrimary));
12968
+ --rb-surface-link-hover-color: rgb(var(--tb-onPrimary));
12969
+ --rb-surface-link-hover-decoration: underline;
12942
12970
  --rb-surface-supporting-color: color-mix(in oklab, rgb(var(--tb-onPrimary)), transparent 18%);
12943
12971
  }
12944
12972
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.146.0",
3
+ "version": "0.148.0",
4
4
  "description": "Riverbank CMS SDK for headless content consumption",
5
5
  "main": "./dist/server/index.mjs",
6
6
  "module": "./dist/server/index.mjs",
@@ -1,15 +0,0 @@
1
- import { type BillingPlanId } from './types';
2
- /**
3
- * What each plan is called in front of a customer.
4
- *
5
- * It lives apart from the registry because the registry reaches Stripe on
6
- * import, and a name is the one thing a browser bundle needs. The registry
7
- * reads its `name` fields from here, so there is still one source.
8
- */
9
- export declare const BILLING_PLAN_NAMES: {
10
- readonly free: "Free";
11
- readonly core: "Core";
12
- readonly solo: "Solo";
13
- readonly studio: "Studio";
14
- };
15
- export declare function billingPlanName(planId: BillingPlanId): string;
@@ -1,4 +0,0 @@
1
- import { type EditorBlockPublishedBaselineInput } from '../../../core/src/index';
2
- import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
3
- export type BlockPublishedBaselineInput = EditorBlockPublishedBaselineInput;
4
- export declare function buildBlockPublishedBaselines(blocks: readonly BlockItem[]): BlockPublishedBaselineInput[];
@@ -1,16 +0,0 @@
1
- import type { PublishedBlockBaseline } from "../../../api/src/content-editor";
2
- import { type ContentEntrySnapshot, type RoutingHelpers } from "../../../content-model/src/index";
3
- import type { BlockPublishedBaselineInput } from "./buildBlockPublishedBaselines";
4
- export type PublishSuccessTransition = Readonly<{
5
- metadataPublishedBaseline: Record<string, unknown> | null;
6
- contentPublishedBaseline: Record<string, unknown> | null;
7
- blockPublishedBaselines: readonly BlockPublishedBaselineInput[] | null;
8
- }>;
9
- type BuildPublishSuccessTransitionInput = Readonly<{
10
- nextEntry: ContentEntrySnapshot;
11
- routing?: RoutingHelpers;
12
- publishedContent: Record<string, unknown> | null;
13
- publishedBlocks?: readonly PublishedBlockBaseline[] | undefined;
14
- }>;
15
- export declare function buildPublishSuccessTransition(input: BuildPublishSuccessTransitionInput): PublishSuccessTransition;
16
- export {};
@@ -1,14 +0,0 @@
1
- export type EntryEditorDriver = {
2
- fetchEntry?: (siteId: string, type: string, entryId: string) => Promise<unknown>;
3
- listBlocks?: (siteId: string, pageId: string) => Promise<unknown[]>;
4
- createBlock?: (siteId: string, pageId: string, input: Record<string, unknown>) => Promise<unknown>;
5
- reorderBlocks?: (siteId: string, pageId: string, order: Array<{
6
- id: string;
7
- position: number;
8
- }>) => Promise<void>;
9
- deleteBlock?: (siteId: string, blockId: string) => Promise<void>;
10
- saveBlockContent?: (siteId: string, blockId: string, content: Record<string, unknown>) => Promise<unknown>;
11
- updateMetadata?: (siteId: string, type: string, entryId: string, payload: Record<string, unknown>) => Promise<unknown>;
12
- publish?: (siteId: string, type: string, entryId: string, payload?: unknown) => Promise<void>;
13
- discard?: (siteId: string, type: string, entryId: string) => Promise<void>;
14
- };
@@ -1,7 +0,0 @@
1
- import { type BlockItem } from '../../../editor-blocks/src/index';
2
- import type { EditorUiState } from '../ui/editorUiStore';
3
- type StoreApi<T> = {
4
- getState: () => T;
5
- };
6
- export declare function seedDraftBaselinesFromBlocks(uiStore: StoreApi<EditorUiState>, blocks: readonly BlockItem[]): void;
7
- export {};
@@ -1,29 +0,0 @@
1
- import type { ContentEntrySnapshot } from '../../../content-model/src/index';
2
- import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
- type UseEntrySyncHelpersProps = {
4
- uiStore: EditorUiStoreInstance;
5
- setErrorMessage: (msg: string | null) => void;
6
- };
7
- /**
8
- * Hook that provides helpers for synchronizing entry snapshots with store state.
9
- *
10
- * Responsibilities:
11
- * - Create metadata snapshots from entry data
12
- * - Update store to match new snapshot
13
- * - Handle autosave success/error callbacks
14
- */
15
- export declare function useEntrySyncHelpers({ uiStore, setErrorMessage, }: UseEntrySyncHelpersProps): {
16
- syncEntry: (nextEntry: ContentEntrySnapshot, opts?: {
17
- clearError?: boolean;
18
- }) => {
19
- values: import("../../../content-model/src/index").RoutableMetadataValues | Record<string, never>;
20
- baseline: import("../../../content-model/src/index").RoutableMetadataValues | Record<string, never>;
21
- };
22
- resetFromSnapshot: (snapshot: {
23
- baseline: Record<string, unknown>;
24
- values: Record<string, unknown>;
25
- }) => void;
26
- handleMetadataAutosaveSuccess: (nextEntry: ContentEntrySnapshot) => void;
27
- markAutosaveError: (error: unknown) => string;
28
- };
29
- export {};
@@ -1,26 +0,0 @@
1
- import type { EditorSyncState } from '../../../core/src/index';
2
- import type { LinkedContentEntryId } from '../linkedEntries/domain';
3
- import type { AutosaveStatus } from '../ui/stores/types';
4
- export { unsafeAsLinkedContentEntryId, type LinkedContentEntryId, } from '../linkedEntries/domain';
5
- export type EditorAutosaveScope = Readonly<{
6
- kind: 'metadata';
7
- }> | Readonly<{
8
- kind: 'content';
9
- }> | Readonly<{
10
- kind: 'blocks';
11
- }> | Readonly<{
12
- kind: 'linkedEntry';
13
- entryId: LinkedContentEntryId;
14
- }>;
15
- export type EditorAutosaveSchedulerKey = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
16
- export type AutosaveScopeSnapshot = Readonly<{
17
- scope: EditorAutosaveScope;
18
- syncState: EditorSyncState;
19
- }>;
20
- export type AutosaveStatusByScheduler = Readonly<Record<EditorAutosaveSchedulerKey, AutosaveStatus>>;
21
- export declare function autosaveScopeKey(scope: EditorAutosaveScope): string;
22
- export declare function autosaveSchedulerKey(scope: EditorAutosaveScope): EditorAutosaveSchedulerKey;
23
- export declare function uniqueAutosaveSchedulerKeys(scopes: readonly EditorAutosaveScope[]): EditorAutosaveSchedulerKey[];
24
- export declare function deriveDirtyAutosaveScopes(snapshots: readonly AutosaveScopeSnapshot[]): EditorAutosaveScope[];
25
- export declare function hasAutosaveStatusFailure(statuses: AutosaveStatusByScheduler): boolean;
26
- export declare function allAutosaveStatusesComplete(statuses: AutosaveStatusByScheduler): boolean;
@@ -1,64 +0,0 @@
1
- import type { DraftWorkflowStatus } from '../types';
2
- import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
- /**
4
- * Autosave hook backed by the shared debounced-latest-save scheduler.
5
- * New changes made while a save is in flight queue one follow-up save with the
6
- * latest snapshot instead of blocking the editor or starting parallel writes.
7
- *
8
- * Status is stored in the Zustand uiStore instead of local state, allowing
9
- * components to subscribe granularly via selectors.
10
- */
11
- type AutosaveConfig<TValues, TPayload> = {
12
- /** Function to call to save the data */
13
- saveFn: (payload: TPayload) => Promise<unknown>;
14
- /** Build the save payload from current values */
15
- buildPayload: (values: TValues) => TPayload;
16
- /** Get current values (e.g., from form) */
17
- getValues: () => TValues;
18
- /** Check if save should be skipped (e.g., empty title) */
19
- shouldSkip?: (values: TValues) => boolean;
20
- /** Callback after successful save - receives result AND ref to the values that were sent */
21
- onSuccess?: (result: unknown, sentValuesRef: {
22
- current: TValues | null;
23
- }) => void;
24
- /** Callback after failed save */
25
- onError?: (error: unknown) => void;
26
- /** Debounce delay in ms (default: 1500) */
27
- delay?: number;
28
- /** Maximum wait time in ms (default: 10000) */
29
- maxWait?: number;
30
- /** Whether autosave is enabled */
31
- enabled?: boolean;
32
- /** UI store instance for updating autosave status */
33
- uiStore: EditorUiStoreInstance;
34
- /** Which autosave scheduler this hook updates */
35
- type: 'metadata' | 'blocks' | 'content' | 'linkedEntries';
36
- };
37
- export type AutosaveHandle = {
38
- trigger: () => void;
39
- cancel: () => void;
40
- flush: () => void | Promise<void>;
41
- isPending: () => boolean;
42
- };
43
- export declare function useSimpleAutosave<TValues = Record<string, unknown>, TPayload = unknown>(config: AutosaveConfig<TValues, TPayload>): AutosaveHandle;
44
- /**
45
- * Hook for aggregating autosave status from the uiStore.
46
- * Reads metadata + blocks status and combines them for display.
47
- *
48
- * @deprecated Use useEditorUiStore with selector instead:
49
- * ```tsx
50
- * const status = useEditorUiStore(state => {
51
- * const meta = state.autosave.metadata
52
- * const blocks = state.autosave.blocks
53
- * // ... combine logic
54
- * })
55
- * ```
56
- */
57
- export declare function useMultiAutosave(instances: Array<{
58
- status: DraftWorkflowStatus;
59
- hasFailedSaves: boolean;
60
- }>): {
61
- status: DraftWorkflowStatus;
62
- hasFailedSaves: boolean;
63
- };
64
- export {};
@@ -1,48 +0,0 @@
1
- import { type RefObject } from 'react';
2
- import type { EditorBlockId } from '../../../core/src/index';
3
- import { type AutosaveHandle } from './useSimpleAutosave';
4
- import type { EditorUiStoreInstance } from '../ui/editorUiStore';
5
- /**
6
- * Scope for store-backed autosave.
7
- * Can be a string for simple scopes ('metadata', 'content') or an object for scoped instances (blocks).
8
- */
9
- export type AutosaveScope = 'metadata' | 'content' | {
10
- type: 'block';
11
- blockId: EditorBlockId;
12
- };
13
- /**
14
- * Configuration for unified store-backed autosave.
15
- */
16
- export type StoreAutosaveConfig<TPayload extends Record<string, unknown>, TResponse> = {
17
- /** Store scope to autosave (metadata, content, or block) */
18
- scope: AutosaveScope;
19
- /** UI store instance */
20
- uiStore: EditorUiStoreInstance;
21
- /** Function to save data to the server */
22
- saveFn: (payload: TPayload) => Promise<TResponse>;
23
- /** Extract saved values from server response for store update */
24
- extractSavedValues: (response: TResponse) => Record<string, unknown> | null;
25
- /** Optional error handler (called in addition to store.autosaveFailed) */
26
- onError?: (error: unknown) => void;
27
- /** Debounce delay in ms (default: 1500) */
28
- delay?: number;
29
- /** Maximum wait time in ms (default: 10000) */
30
- maxWait?: number;
31
- /** Optional ref to skip autosave (e.g., during initial hydration) */
32
- skipInitialRef?: RefObject<boolean>;
33
- /** Optional function to check if save should be skipped based on current values */
34
- shouldSkip?: (values: Record<string, unknown>) => boolean;
35
- };
36
- /**
37
- * Unified autosave hook for store-backed forms.
38
- *
39
- * Handles the common pattern:
40
- * 1. Get current values from store scope
41
- * 2. Save to server
42
- * 3. Extract saved values from response
43
- * 4. Update store baseline via autosaveSucceeded
44
- * 5. Handle concurrent edit detection
45
- *
46
- * This eliminates code duplication between metadata, content, and block autosave flows.
47
- */
48
- export declare function useStoreAutosave<TPayload extends Record<string, unknown>, TResponse>(config: StoreAutosaveConfig<TPayload, TResponse>): AutosaveHandle;