@riverbankcms/sdk 0.130.2 → 0.134.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 (405) hide show
  1. package/CHANGELOG.md +13 -3
  2. package/dist/{PreviewEditorSidebar-BY-1QdE2.mjs → PreviewEditorSidebar-DfRhJPFQ.mjs} +351 -95
  3. package/dist/{PreviewEditorUI-BS34jI9_.mjs → PreviewEditorUI-Dppxcr_g.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BD0kOjtI.mjs → PreviewQueryProvider-D51gQaG3.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-B1pWnhu-.mjs → SdkPreviewModeRuntime-8CyGCXir.mjs} +91 -21
  6. package/dist/{SiteChromeCustomizeContext-BhUG_72i.mjs → SiteChromeCustomizeContext-DVMTMvqA.mjs} +6896 -4335
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1105 -533
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +363 -276
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
  11. package/dist/_dts/api/src/bookingConfig.d.ts +13 -9
  12. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +8 -19
  13. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +31 -2
  14. package/dist/_dts/api/src/bookingOperations.d.ts +2 -14
  15. package/dist/_dts/api/src/bookingVerticals.d.ts +1 -140
  16. package/dist/_dts/api/src/bookings.d.ts +2 -2
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +45 -12
  18. package/dist/_dts/api/src/contentRuntime.d.ts +3 -2
  19. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +2 -2
  20. package/dist/_dts/api/src/courses.d.ts +1 -19
  21. package/dist/_dts/api/src/endpoints.d.ts +469 -349
  22. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  23. package/dist/_dts/api/src/eventManagementContracts.d.ts +91 -1
  24. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +32 -0
  25. package/dist/_dts/api/src/giftingDashboard.d.ts +117 -0
  26. package/dist/_dts/api/src/giftingEndpointDefinitions.d.ts +124 -0
  27. package/dist/_dts/api/src/index.d.ts +4 -4
  28. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  29. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/media.d.ts +1 -0
  31. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
  32. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +3 -4
  33. package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
  34. package/dist/_dts/api/src/navigation/types.d.ts +23 -6
  35. package/dist/_dts/api/src/navigation.d.ts +1 -1
  36. package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
  37. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +11 -0
  38. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +28 -13
  39. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +2 -0
  40. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +3 -0
  41. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -3
  42. package/dist/_dts/api/src/sdkBookingVerticalContracts.d.ts +29 -0
  43. package/dist/_dts/api/src/sdkContracts.d.ts +9 -32
  44. package/dist/_dts/api/src/sdkEndpointDefinitions.d.ts +23 -0
  45. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +25 -0
  46. package/dist/_dts/api/src/sdkThemeCatalogContracts.d.ts +20 -0
  47. package/dist/_dts/api/src/sdkThemeWire.d.ts +64 -54
  48. package/dist/_dts/api/src/siteBanner.d.ts +4 -2
  49. package/dist/_dts/api/src/siteOnboarding.d.ts +3 -3
  50. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +4 -10
  51. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +0 -3
  52. package/dist/_dts/api/src/types.d.ts +2 -3
  53. package/dist/_dts/api/src/webhooks.d.ts +12 -12
  54. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -13
  55. package/dist/_dts/blocks/src/client.d.ts +1 -1
  56. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +9 -0
  57. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +54 -116
  58. package/dist/_dts/blocks/src/index.d.ts +4 -3
  59. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
  60. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  61. package/dist/_dts/blocks/src/subroutes/fold.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  63. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +2 -50
  64. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +1 -929
  65. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -97
  66. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +39 -6
  67. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -1
  68. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +3 -3
  69. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -3
  70. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +2 -2
  71. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -20
  72. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -9
  73. package/dist/_dts/blocks/src/system/blocks/events/whole-series/index.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/blocks/events/whole-series/pricing.d.ts +50 -0
  75. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +135 -0
  76. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +84 -0
  77. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
  78. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
  79. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +3 -2
  80. package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
  81. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +7 -8
  82. package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
  83. package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
  84. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
  85. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  86. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
  87. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +2 -0
  88. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +1 -0
  89. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
  91. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +45 -72
  92. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +22 -37
  93. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +6 -6
  94. package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
  99. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
  100. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
  101. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
  102. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +2 -5
  103. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +4 -2
  104. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +19 -7
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +25 -4
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +75 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -2
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -2
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +4 -0
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/RegistrationClosedState.d.ts +5 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SiteCreditPreviewPanel.d.ts +6 -0
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +2 -0
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +17 -0
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +21 -4
  117. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/siteCreditPreview.d.ts +51 -0
  118. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -3
  119. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +6 -4
  120. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
  121. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/BookingModeStep.d.ts +1 -1
  122. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/CheckIcon.d.ts +1 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/ErrorStep.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/MembershipHero.d.ts +3 -3
  125. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PaymentFailedStep.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +6 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/VerifyingTimeoutStep.d.ts +1 -1
  128. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +9 -0
  129. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/CourseRegistrationErrorBoundary.d.ts → event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts} +5 -2
  130. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +8 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +8 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +46 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/index.d.ts +4 -4
  134. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +7 -0
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +14 -0
  136. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/types.d.ts +18 -16
  137. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseEligibility.d.ts → event-registration/whole-series/useWholeSeriesEligibility.d.ts} +6 -6
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +10 -0
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +35 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseRegistrationPortal.d.ts → event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts} +2 -2
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +35 -0
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +185 -0
  143. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseWaitlistSelection.d.ts → event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts} +5 -5
  144. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/utils.d.ts +4 -4
  145. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.contract.d.ts +7 -7
  146. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.planning.d.ts +2 -2
  147. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +17 -0
  148. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/courseRegistrationViewState.d.ts → event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts} +7 -7
  149. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/wizardSteps.d.ts +4 -4
  150. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -54
  151. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
  152. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
  153. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +12 -11
  154. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +3 -2
  155. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +3 -2
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +3 -2
  157. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +4 -3
  158. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalCloseButton.d.ts +7 -0
  159. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +4 -3
  160. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +14 -0
  161. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +51 -14
  162. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -1
  163. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
  164. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +12 -12
  165. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  166. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +1 -0
  167. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +30 -11
  168. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +15 -4
  169. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  170. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -4
  171. package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
  172. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +13 -0
  173. package/dist/_dts/commerce/src/purchase/cancellationPolicy.d.ts +7 -0
  174. package/dist/_dts/commerce/src/purchase/canonicalRefundPlanner.d.ts +48 -0
  175. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +39 -0
  176. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +40 -0
  177. package/dist/_dts/commerce/src/purchase/checkoutDiscountContextPlanning.d.ts +80 -0
  178. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -0
  179. package/dist/_dts/commerce/src/purchase/checkoutOrderItemProjection.d.ts +22 -0
  180. package/dist/_dts/commerce/src/purchase/checkoutPaymentFlow.d.ts +50 -0
  181. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +30 -0
  182. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +10 -0
  183. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +53 -0
  184. package/dist/_dts/commerce/src/purchase/checkoutQuantity.d.ts +8 -0
  185. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +76 -0
  186. package/dist/_dts/commerce/src/purchase/checkoutSettlement.d.ts +46 -0
  187. package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +12 -0
  188. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +125 -0
  189. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +55 -0
  190. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +91 -0
  191. package/dist/_dts/commerce/src/purchase/discountApplication.d.ts +74 -0
  192. package/dist/_dts/commerce/src/purchase/index.d.ts +55 -0
  193. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +86 -0
  194. package/dist/_dts/commerce/src/purchase/order-number.d.ts +33 -0
  195. package/dist/_dts/commerce/src/purchase/orderCancellationPlan.d.ts +19 -0
  196. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +71 -0
  197. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +120 -0
  198. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +81 -0
  199. package/dist/_dts/commerce/src/purchase/orderFulfillmentResult.d.ts +8 -0
  200. package/dist/_dts/commerce/src/purchase/orderHistoryLedgerFilters.d.ts +1 -0
  201. package/dist/_dts/commerce/src/purchase/orderHistorySource.d.ts +11 -0
  202. package/dist/_dts/commerce/src/purchase/orderInstalmentAdminSettlement.d.ts +43 -0
  203. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +29 -0
  204. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +44 -0
  205. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +24 -0
  206. package/dist/_dts/commerce/src/purchase/orderInstalmentPlan.d.ts +40 -0
  207. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +151 -0
  208. package/dist/_dts/commerce/src/purchase/orderItemSupport.d.ts +14 -0
  209. package/dist/_dts/commerce/src/purchase/orderListFilters.d.ts +3 -0
  210. package/dist/_dts/commerce/src/purchase/orderPaymentLinkPlanning.d.ts +60 -0
  211. package/dist/_dts/commerce/src/purchase/orderPaymentReceipt.d.ts +184 -0
  212. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +135 -0
  213. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +102 -0
  214. package/dist/_dts/commerce/src/purchase/orderRefundPlanning.d.ts +50 -0
  215. package/dist/_dts/commerce/src/purchase/orderRefundPolicy.d.ts +36 -0
  216. package/dist/_dts/commerce/src/purchase/orderTotals.d.ts +23 -0
  217. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +39 -0
  218. package/dist/_dts/commerce/src/purchase/pendingCheckoutSessionClaim.d.ts +1 -0
  219. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +27 -0
  220. package/dist/_dts/commerce/src/purchase/protectedDepositRefundPolicy.d.ts +86 -0
  221. package/dist/_dts/commerce/src/purchase/refundPolicy.d.ts +8 -0
  222. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +40 -0
  223. package/dist/_dts/commerce/src/purchase/result.d.ts +2 -0
  224. package/dist/_dts/commerce/src/purchase/settlement.d.ts +97 -0
  225. package/dist/_dts/commerce/src/purchase/shopRefundPlanning.d.ts +43 -0
  226. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +31 -0
  227. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +10 -0
  228. package/dist/_dts/commerce/src/purchase/types.d.ts +168 -0
  229. package/dist/_dts/commerce/src/shop/shipmentEligibility.d.ts +14 -0
  230. package/dist/_dts/commerce/src/utils/assertNever.d.ts +1 -0
  231. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -0
  232. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -0
  233. package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
  234. package/dist/_dts/core/src/booking-consent.d.ts +8 -0
  235. package/dist/_dts/core/src/booking-vertical-catalog.d.ts +741 -0
  236. package/dist/_dts/core/src/booking-vertical-config.d.ts +66 -0
  237. package/dist/_dts/core/src/booking-vertical-definitions.d.ts +68 -0
  238. package/dist/_dts/{api/src/bookingVerticalPreset.d.ts → core/src/booking-vertical-preset.d.ts} +1 -1
  239. package/dist/_dts/core/src/booking-verticals.d.ts +98 -0
  240. package/dist/_dts/core/src/event-page-selection.d.ts +22 -0
  241. package/dist/_dts/core/src/event-pricing.d.ts +5 -0
  242. package/dist/_dts/core/src/event-series-behaviour.d.ts +16 -0
  243. package/dist/_dts/core/src/index.d.ts +4 -0
  244. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +81 -3
  245. package/dist/_dts/db/src/schemas/forms.d.ts +25 -25
  246. package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
  247. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
  248. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
  249. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
  250. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
  251. package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +3 -0
  252. package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +2 -0
  253. package/dist/_dts/media-core/src/identifiers.d.ts +10 -0
  254. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  255. package/dist/_dts/media-core/src/types.d.ts +2 -1
  256. package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
  257. package/dist/_dts/media-editor/src/index.d.ts +2 -2
  258. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -22
  259. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +0 -9
  260. package/dist/_dts/preview-next/src/client/preview/ButtonHoverRoleControls.d.ts +10 -0
  261. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +3 -2
  262. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -1
  263. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  264. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  265. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  266. package/dist/_dts/preview-next/src/client/preview/StyleConfiguratorWarningNotice.d.ts +7 -0
  267. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -1
  268. package/dist/_dts/sdk/src/bookings/types.d.ts +7 -89
  269. package/dist/_dts/sdk/src/client/eventSubrouteReadOperations.d.ts +11 -0
  270. package/dist/_dts/sdk/src/client/types.d.ts +12 -5
  271. package/dist/_dts/sdk/src/components.d.ts +1 -1
  272. package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
  273. package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
  274. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  275. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -13
  276. package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
  277. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -16
  278. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
  279. package/dist/_dts/sdk/src/next/pageMetadataProjection.d.ts +7 -0
  280. package/dist/_dts/sdk/src/next/resolveEventPageSubroute.d.ts +12 -0
  281. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -38
  282. package/dist/_dts/sdk/src/public-api/eventSubrouteContracts.d.ts +12 -0
  283. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  284. package/dist/_dts/sdk/src/rendering/client.d.ts +44 -0
  285. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  286. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +1 -1
  287. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +4 -3
  288. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +7 -3
  289. package/dist/_dts/sdk/src/version.d.ts +1 -1
  290. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  291. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +1 -1
  292. package/dist/_dts/theme-core/src/buttons/contextualHover.d.ts +41 -0
  293. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  294. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +3 -0
  295. package/dist/_dts/theme-core/src/buttons/resolveButtonHoverTreatment.d.ts +14 -0
  296. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +21 -4
  297. package/dist/_dts/theme-core/src/buttons/styles/recipes/flatInk.d.ts +92 -0
  298. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +10 -150
  299. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -102
  300. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +50 -2
  301. package/dist/_dts/theme-core/src/buttons/types.d.ts +41 -12
  302. package/dist/_dts/theme-core/src/cards/types.d.ts +7 -29
  303. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  304. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +90 -75
  305. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  306. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  307. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
  308. package/dist/_dts/theme-core/src/schema.d.ts +98 -110
  309. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +27 -0
  310. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +27 -0
  311. package/dist/_dts/theme-core/src/site-styles/buttonSelectionCompiler.d.ts +18 -0
  312. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
  313. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +21 -0
  314. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  315. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  316. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  317. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -11
  318. package/dist/_dts/theme-core/src/site-styles/selectionFallbackWarning.d.ts +15 -0
  319. package/dist/_dts/theme-core/src/site-styles/types.d.ts +13 -1
  320. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  321. package/dist/_dts/ui/src/badge.d.ts +1 -1
  322. package/dist/_dts/ui/src/button.d.ts +1 -1
  323. package/dist/_dts/ui/src/callout.d.ts +1 -1
  324. package/dist/_dts/ui/src/card.d.ts +1 -1
  325. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -0
  326. package/dist/client/{StepIndicator-CLjQhkDb.mjs → BookingConsentAgreement-BxgpGEFD.mjs} +26 -4
  327. package/dist/client/{DiscountCodeDisclosure-BPZ-yfGI.mjs → DiscountCodeDisclosure-CfuPOHD0.mjs} +12 -12
  328. package/dist/client/{EventCombined.client-Cjt3kKYR.mjs → EventCombined.client-DB8Qfzi-.mjs} +37 -49
  329. package/dist/client/{EventListing.client-DY9dn6Fh.mjs → EventListing.client-DD4X8hp4.mjs} +2 -2
  330. package/dist/client/{LeafletStaticMap--2c61XYn.mjs → LeafletStaticMap-QhgIBQbv.mjs} +1 -1
  331. package/dist/client/{CourseRegistrationWizard-DGW9F0SQ.mjs → WholeSeriesRegistrationWizard-DwtC7bCs.mjs} +1460 -1247
  332. package/dist/client/{accordion-_boYwHHi.mjs → accordion-DFXpLvwg.mjs} +1 -1
  333. package/dist/client/{bookingForm--AqEfyBX.mjs → bookingForm-sI05d3lk.mjs} +73 -47
  334. package/dist/client/bookings.mjs +1719 -706
  335. package/dist/client/{carousel-CVI2dqZr.mjs → carousel-wjyWTZCh.mjs} +1 -1
  336. package/dist/client/{cart-DR6IiPz9.mjs → cart-DCwdpA4i.mjs} +3 -3
  337. package/dist/client/{checkout-CsrGAfQt.mjs → checkout-DTDW3l0R.mjs} +3 -3
  338. package/dist/client/checkoutUrls-DQYC_Br-.mjs +187 -0
  339. package/dist/client/client.mjs +6830 -3672
  340. package/dist/client/{context-B83PiNzm.mjs → context-TSK1CGx8.mjs} +1 -14
  341. package/dist/client/{courseRegistration-aNJVaLa3.mjs → courseRegistration-A-Tg7qw_.mjs} +11 -5
  342. package/dist/client/{eventCalendar-OZ7h59VN.mjs → eventCalendar-B0Zg-i_w.mjs} +41 -44
  343. package/dist/client/{eventCombined-BbJ6bFKz.mjs → eventCombined-B8Y2wizd.mjs} +3 -3
  344. package/dist/client/{eventDetails-BLyUBiCT.mjs → eventDetails-DPDOwURJ.mjs} +276 -94
  345. package/dist/client/{eventListing-DuP1yhBS.mjs → eventListing-CjBcmSLn.mjs} +3 -3
  346. package/dist/client/{eventRegistration-BXyECPa-.mjs → eventRegistration-CK30HsAq.mjs} +730 -190
  347. package/dist/client/{form-BA4t3kKU.mjs → form-CUXfsABE.mjs} +2 -2
  348. package/dist/client/{headerSection-CpNaJxhW.mjs → headerSection-N-mN3rjr.mjs} +2 -2
  349. package/dist/client/hooks.mjs +1418 -484
  350. package/dist/client/{locationMap-3HGMCL7_.mjs → locationMap-oiIDQMBt.mjs} +2 -2
  351. package/dist/client/{newsletterForm-C2s6Mw67.mjs → newsletterForm-CkQ2tTrM.mjs} +2 -2
  352. package/dist/client/pricing-Caa0QWzh.mjs +195 -0
  353. package/dist/client/{productDetail-C9joWhdE.mjs → productDetail-CnidyrsN.mjs} +3 -3
  354. package/dist/client/{productList-CjzdU3pB.mjs → productList-CttYcS_S.mjs} +3 -3
  355. package/dist/client/{propsDecoder-CBPGXEYX.mjs → propsDecoder-CeUMxI9a.mjs} +677 -350
  356. package/dist/client/rendering/client.mjs +6075 -4150
  357. package/dist/client/rendering/islands.mjs +18 -18
  358. package/dist/client/rendering.mjs +7589 -4388
  359. package/dist/client/{scrollToBlock-DZ73aEX6.mjs → scrollToBlock-lPr1oqxB.mjs} +1 -1
  360. package/dist/client/{shop-CQRai7hj.mjs → shop-DXQtMo2O.mjs} +6 -6
  361. package/dist/client/{shop-commerce-hP9UboOx.mjs → shop-commerce-quDL411J.mjs} +7 -164
  362. package/dist/client/{shop-commerce-store-DiD5a32e.mjs → shop-commerce-store-Dnu-8Iub.mjs} +1 -1
  363. package/dist/client/{shopShared-DP8DXTkF.mjs → shopShared-BWPUURvG.mjs} +3 -3
  364. package/dist/client/{useEventFilters-pF_OJNQP.mjs → useEventFilters-DRhWp2_5.mjs} +196 -7
  365. package/dist/client/{usePolling-Cls91SD2.mjs → usePolling-UN4WKnaM.mjs} +3 -3
  366. package/dist/preview-next/before-render.mjs +247 -60
  367. package/dist/preview-next/client/runtime.mjs +4 -4
  368. package/dist/preview-next/keepAlive.mjs +247 -60
  369. package/dist/preview-next/middleware.mjs +247 -60
  370. package/dist/{previewAuthStore-CX1C_KJ4.mjs → previewAuthStore-BFKd4LrN.mjs} +247 -60
  371. package/dist/{sdk-runtime-5CcPAI14.mjs → sdk-runtime-Ca5RD78X.mjs} +2 -2
  372. package/dist/{separator-BXlYN_gr.mjs → separator-CMhj6BTi.mjs} +1 -1
  373. package/dist/server/components.mjs +3578 -1614
  374. package/dist/server/config-validation.mjs +1418 -485
  375. package/dist/server/config.mjs +1418 -485
  376. package/dist/server/data.mjs +1418 -484
  377. package/dist/server/index.mjs +289 -81
  378. package/dist/server/manifest.mjs +0 -1
  379. package/dist/server/next.mjs +3761 -1794
  380. package/dist/server/page-converter.mjs +911 -261
  381. package/dist/server/prebuild.mjs +1 -1
  382. package/dist/server/rendering/server.mjs +3580 -1613
  383. package/dist/server/rendering.mjs +3578 -1614
  384. package/dist/server/routing.mjs +1687 -689
  385. package/dist/server/server.mjs +1458 -563
  386. package/dist/server/theme-bridge.mjs +1996 -935
  387. package/dist/server/theme.mjs +346 -133
  388. package/dist/styles/index.css +1602 -796
  389. package/package.json +2 -2
  390. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +0 -746
  391. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +0 -12
  392. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +0 -3
  393. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +0 -6
  394. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +0 -45
  395. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +0 -14
  396. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +0 -9
  397. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +0 -35
  398. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +0 -31
  399. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +0 -102
  400. package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
  401. package/dist/client/eventProductEligibility-AVxyCB1u.mjs +0 -50
  402. package/dist/client/pricing-BiqIMgZk.mjs +0 -174
  403. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PortalAuthSidebar.d.ts +0 -0
  404. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/SuccessStep.d.ts +0 -0
  405. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/WaitlistStep.d.ts +0 -0
@@ -783,6 +783,12 @@ const opaqueButtonColourTokenSchema = themeColorTokenSchema.refine((value) => pa
783
783
  if (token === null) throw new Error("Invariant: opaque button token passed its schema");
784
784
  return token;
785
785
  });
786
+ const contextualButtonHoverSchema = z.strictObject({
787
+ kind: z.literal("shade-shift"),
788
+ seedToken: opaqueButtonColourTokenSchema,
789
+ fallbackDirection: z.enum(["lighter", "darker"]),
790
+ preferredToken: opaqueButtonColourTokenSchema.optional()
791
+ });
786
792
  const buttonShadeAmountSchema = z.number().finite().min(0).max(900).multipleOf(100);
787
793
  const buttonShadowIntensitySchema = z.enum([
788
794
  "subtle",
@@ -1122,6 +1128,7 @@ const buttonVariantSchema = z.strictObject({
1122
1128
  shadow: variantShadowSchema.optional(),
1123
1129
  border: buttonBorderSchema.optional(),
1124
1130
  hoverBackgroundToken: opaqueButtonColourTokenSchema.optional(),
1131
+ contextualHover: contextualButtonHoverSchema.optional(),
1125
1132
  effects: variantEffectsSchema.optional(),
1126
1133
  sizes: variantSizeOverridesSchema.optional(),
1127
1134
  affordance: buttonVariantAffordanceSchema.optional()
@@ -1361,6 +1368,139 @@ function validateButtonTextContrast(input) {
1361
1368
  };
1362
1369
  }
1363
1370
  //#endregion
1371
+ //#region ../theme-core/src/buttons/contextualHover.ts
1372
+ function resolveContextualHoverPreference(input) {
1373
+ const preferred = input.instruction.preferredToken;
1374
+ if (preferred && isSafeCandidate(preferred, input.palette, input.surface)) return {
1375
+ kind: "resolved",
1376
+ token: preferred,
1377
+ repair: null
1378
+ };
1379
+ const contextual = resolveContextualHover(input);
1380
+ return contextual.kind === "resolved" ? {
1381
+ kind: "resolved",
1382
+ token: contextual.token,
1383
+ repair: preferred ? {
1384
+ kind: "preferred-token-replaced",
1385
+ preferredToken: preferred,
1386
+ contextualToken: contextual.token
1387
+ } : null
1388
+ } : contextual;
1389
+ }
1390
+ /**
1391
+ * Resolves semantic shade movement from real palette steps. The persisted
1392
+ * instruction owns the colour family and deterministic unknown-surface
1393
+ * fallback; a proven surface may select the opposite direction when it gives
1394
+ * the button stronger separation while retaining the shared contrast contract.
1395
+ */
1396
+ function resolveContextualHover(input) {
1397
+ const candidates = shadeCandidates(input.instruction.seedToken, input.palette);
1398
+ if (candidates.length === 0) return {
1399
+ kind: "unavailable",
1400
+ reason: "no-distinct-shade"
1401
+ };
1402
+ const textSafe = candidates.filter((candidate) => hasSafeTextContrast(candidate.token, input.palette));
1403
+ if (textSafe.length === 0) return {
1404
+ kind: "unavailable",
1405
+ reason: "no-text-safe-candidate"
1406
+ };
1407
+ if (!input.surface) {
1408
+ const selected = textSafe.find((candidate) => candidate.direction === input.instruction.fallbackDirection) ?? textSafe[0];
1409
+ return selected ? {
1410
+ kind: "resolved",
1411
+ token: selected.token,
1412
+ direction: selected.direction,
1413
+ evidence: "fallback-direction"
1414
+ } : {
1415
+ kind: "unavailable",
1416
+ reason: "no-text-safe-candidate"
1417
+ };
1418
+ }
1419
+ const selected = textSafe.map((candidate) => ({
1420
+ ...candidate,
1421
+ surfaceContrast: contrastRatio(input.palette[candidate.token] ?? "", input.surface?.backgroundHex ?? "")
1422
+ })).filter((candidate) => candidate.surfaceContrast !== null && candidate.surfaceContrast >= BUTTON_CONTRAST_POLICY.nonTextMinimumRatio).sort((left, right) => {
1423
+ const distanceDifference = left.distance - right.distance;
1424
+ if (distanceDifference !== 0) return distanceDifference;
1425
+ const contrastDifference = (right.surfaceContrast ?? 0) - (left.surfaceContrast ?? 0);
1426
+ if (contrastDifference !== 0) return contrastDifference;
1427
+ if (left.direction === right.direction) return left.token.localeCompare(right.token);
1428
+ return left.direction === input.instruction.fallbackDirection ? -1 : 1;
1429
+ })[0];
1430
+ return selected ? {
1431
+ kind: "resolved",
1432
+ token: selected.token,
1433
+ direction: selected.direction,
1434
+ evidence: "known-surface"
1435
+ } : {
1436
+ kind: "unavailable",
1437
+ reason: "no-surface-safe-candidate"
1438
+ };
1439
+ }
1440
+ function shadeCandidates(seedToken, palette) {
1441
+ const match = String(seedToken).match(/^(.*?)(?:-(\d{2,3}))?$/);
1442
+ const family = match?.[1] ?? String(seedToken);
1443
+ const currentShade = match?.[2] ? Number(match[2]) : 500;
1444
+ const seedHex = palette[seedToken];
1445
+ const shades = Object.keys(palette).flatMap((token) => {
1446
+ const shade = token.match(new RegExp(`^${escapeRegExp(family)}-(\\d{2,3})$`));
1447
+ return shade?.[1] ? [Number(shade[1])] : [];
1448
+ }).filter((shade) => Number.isFinite(shade)).sort((left, right) => left - right);
1449
+ const lower = [...shades].filter((shade) => shade < currentShade).sort((left, right) => right - left);
1450
+ const higher = shades.filter((shade) => shade > currentShade);
1451
+ return [...lower.map((shade) => candidate(family, shade, currentShade, "lighter", seedHex, palette)), ...higher.map((shade) => candidate(family, shade, currentShade, "darker", seedHex, palette))].filter((value) => value !== null);
1452
+ }
1453
+ function candidate(family, shade, currentShade, direction, seedHex, palette) {
1454
+ const token = parseOpaqueButtonColourToken(`${family}-${shade}`);
1455
+ if (token === null) return null;
1456
+ const candidateHex = palette[token];
1457
+ if (!candidateHex || candidateHex === seedHex) return null;
1458
+ return {
1459
+ token,
1460
+ direction,
1461
+ distance: Math.abs(shade - currentShade),
1462
+ surfaceContrast: null
1463
+ };
1464
+ }
1465
+ function hasSafeTextContrast(token, palette) {
1466
+ const background = palette[token];
1467
+ const foreground = palette[onColorTokenName(token)];
1468
+ return typeof background === "string" && typeof foreground === "string" && contrastRatio(background, foreground) >= BUTTON_CONTRAST_POLICY.textMinimumRatio;
1469
+ }
1470
+ function isSafeCandidate(token, palette, surface) {
1471
+ if (!hasSafeTextContrast(token, palette)) return false;
1472
+ return surface ? contrastRatio(palette[token] ?? "", surface.backgroundHex) >= BUTTON_CONTRAST_POLICY.nonTextMinimumRatio : true;
1473
+ }
1474
+ function escapeRegExp(value) {
1475
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1476
+ }
1477
+ //#endregion
1478
+ //#region ../theme-core/src/buttons/resolveButtonHoverTreatment.ts
1479
+ function resolveButtonHoverTreatment(input) {
1480
+ if (input.variant.contextualHover) {
1481
+ const contextual = resolveContextualHoverPreference({
1482
+ instruction: input.variant.contextualHover,
1483
+ palette: input.palette,
1484
+ surface: input.surface
1485
+ });
1486
+ if (contextual.kind === "resolved") return {
1487
+ treatment: {
1488
+ type: "solid",
1489
+ colorToken: contextual.token
1490
+ },
1491
+ repair: contextual.repair
1492
+ };
1493
+ }
1494
+ const token = input.variant.hoverBackgroundToken ?? (input.global.hoverColor === "token" ? input.global.hoverColorToken : void 0);
1495
+ return {
1496
+ treatment: token === void 0 ? input.fallback : {
1497
+ type: "solid",
1498
+ colorToken: token
1499
+ },
1500
+ repair: null
1501
+ };
1502
+ }
1503
+ //#endregion
1364
1504
  //#region ../theme-core/src/buttons/resolveButtonColourStates.ts
1365
1505
  function compileButtonColourStates(input) {
1366
1506
  const baseTransition = applyColourEffects({
@@ -1371,9 +1511,16 @@ function compileButtonColourStates(input) {
1371
1511
  palette: input.palette
1372
1512
  });
1373
1513
  if (!baseTransition.ok) return baseTransition;
1514
+ const hover = resolveButtonHoverTreatment({
1515
+ variant: input.variant,
1516
+ global: input.global,
1517
+ fallback: baseTransition.treatment,
1518
+ palette: input.palette,
1519
+ surface: input.surface
1520
+ });
1374
1521
  const stateTreatments = {
1375
1522
  base: baseTransition.treatment,
1376
- hover: hoverTreatment(input.variant, input.global, baseTransition.treatment),
1523
+ hover: hover.treatment,
1377
1524
  focus: baseTransition.treatment,
1378
1525
  active: baseTransition.treatment,
1379
1526
  disabled: baseTransition.treatment
@@ -1412,14 +1559,8 @@ function compileButtonColourStates(input) {
1412
1559
  ok: true,
1413
1560
  states: resolved,
1414
1561
  focusIndicator: resolveFocusIndicator(resolved.focus),
1415
- nonColourEffects
1416
- };
1417
- }
1418
- function hoverTreatment(variant, global, fallback) {
1419
- const token = variant.hoverBackgroundToken ?? (global.hoverColor === "token" ? global.hoverColorToken : void 0);
1420
- return token === void 0 ? fallback : {
1421
- type: "solid",
1422
- colorToken: token
1562
+ nonColourEffects,
1563
+ contextualHoverRepair: hover.repair
1423
1564
  };
1424
1565
  }
1425
1566
  function applyColourEffects(input) {
@@ -1833,13 +1974,7 @@ const tokenOrCssColorValueSchema = z.string();
1833
1974
  buttonSizeNameSchema.options;
1834
1975
  //#endregion
1835
1976
  //#region ../theme-core/src/buttons/styles/domain.ts
1836
- const PUBLIC_BUTTON_ROLES = [
1837
- "primary",
1838
- "secondary",
1839
- "outline",
1840
- "ghost",
1841
- "accent"
1842
- ];
1977
+ const PUBLIC_BUTTON_ROLES = VARIANT_ROLES;
1843
1978
  function defineButtonStyleRecipe(recipe) {
1844
1979
  return recipe;
1845
1980
  }
@@ -1935,6 +2070,14 @@ const BUTTON_STYLE_IDS = [
1935
2070
  "quiet-arrow"
1936
2071
  ];
1937
2072
  const quietArrowParametersSchema = z.object({ secondaryTreatment: z.enum(["outlined", "solid-accent"]) }).strict();
2073
+ const flatInkHoverTreatmentSchema = z.enum([
2074
+ "contextual",
2075
+ "secondary",
2076
+ "accent"
2077
+ ]);
2078
+ const flatInkHoverPreferencesShape = Object.fromEntries(VARIANT_ROLES.map((role) => [role, flatInkHoverTreatmentSchema.optional()]));
2079
+ const flatInkHoverPreferencesSchema = z.strictObject(flatInkHoverPreferencesShape);
2080
+ const flatInkParametersSchema = z.strictObject({ hoverPreferences: flatInkHoverPreferencesSchema.optional() });
1938
2081
  const emptyParametersSchema$1 = z.object({}).strict();
1939
2082
  function selectionBranch(styleId, parameters) {
1940
2083
  return z.object({
@@ -1949,7 +2092,7 @@ z.discriminatedUnion("styleId", [
1949
2092
  selectionBranch("editorial-link", emptyParametersSchema$1),
1950
2093
  selectionBranch("pebble", emptyParametersSchema$1),
1951
2094
  selectionBranch("ink-stamp", emptyParametersSchema$1),
1952
- selectionBranch("flat-ink", emptyParametersSchema$1),
2095
+ selectionBranch("flat-ink", flatInkParametersSchema),
1953
2096
  selectionBranch("brushed-wash", emptyParametersSchema$1),
1954
2097
  selectionBranch("showtime-pill", emptyParametersSchema$1),
1955
2098
  selectionBranch("joy-stamp", emptyParametersSchema$1),
@@ -2086,6 +2229,189 @@ const quietArrowRecipe = defineButtonStyleRecipe({
2086
2229
  })
2087
2230
  });
2088
2231
  //#endregion
2232
+ //#region ../theme-core/src/buttons/styles/recipes/flatInk.ts
2233
+ const contextualRoleConfig = {
2234
+ primary: {
2235
+ contextualSeedToken: unsafeAsOpaqueButtonColourToken("primary"),
2236
+ fallbackDirection: "darker"
2237
+ },
2238
+ secondary: {
2239
+ contextualSeedToken: unsafeAsOpaqueButtonColourToken("surfaceAlt"),
2240
+ fallbackDirection: "darker"
2241
+ },
2242
+ outline: {
2243
+ contextualSeedToken: unsafeAsOpaqueButtonColourToken("surfaceAlt"),
2244
+ fallbackDirection: "darker"
2245
+ },
2246
+ ghost: {
2247
+ contextualSeedToken: unsafeAsOpaqueButtonColourToken("surfaceAlt"),
2248
+ fallbackDirection: "darker"
2249
+ },
2250
+ accent: {
2251
+ contextualSeedToken: unsafeAsOpaqueButtonColourToken("accent"),
2252
+ fallbackDirection: "darker"
2253
+ }
2254
+ };
2255
+ const hoverControl = {
2256
+ kind: "button-hover-by-role",
2257
+ parameter: "hoverPreferences",
2258
+ label: "Button hover",
2259
+ roles: contextualRoleConfig,
2260
+ options: [
2261
+ {
2262
+ value: "contextual",
2263
+ label: "Contextual shade shift"
2264
+ },
2265
+ {
2266
+ value: "secondary",
2267
+ label: "Secondary button colour"
2268
+ },
2269
+ {
2270
+ value: "accent",
2271
+ label: "Accent button colour"
2272
+ }
2273
+ ]
2274
+ };
2275
+ const lift = { effectId: "lift" };
2276
+ const flatInkRecipe = defineButtonStyleRecipe({
2277
+ id: "flat-ink",
2278
+ accessibilityLabel: "Flat rounded buttons with arrow affordances",
2279
+ tags: {
2280
+ tone: "classic",
2281
+ energy: "calm",
2282
+ motion: "subtle",
2283
+ era: "editorial"
2284
+ },
2285
+ parameterSchema: flatInkParametersSchema,
2286
+ defaultParameters: {},
2287
+ controls: [hoverControl],
2288
+ defineSystem: (parameters) => ({
2289
+ global: {
2290
+ cornerStyle: "rounded",
2291
+ textTransform: "none",
2292
+ fontWeight: 600,
2293
+ typography: "body",
2294
+ letterSpacing: "tight",
2295
+ paddingPreset: "default",
2296
+ hoverTransform: "lift",
2297
+ hoverColor: "none"
2298
+ },
2299
+ sizes: {
2300
+ sm: {
2301
+ padding: "0.625rem 1.125rem",
2302
+ fontSize: "text-sm"
2303
+ },
2304
+ md: { padding: "0.8125rem 1.375rem" },
2305
+ lg: {
2306
+ padding: "0.9375rem 1.625rem",
2307
+ fontSize: "text-lg"
2308
+ },
2309
+ xl: {
2310
+ padding: "1.0625rem 2rem",
2311
+ fontSize: "text-xl"
2312
+ }
2313
+ },
2314
+ roles: {
2315
+ primary: {
2316
+ kind: "complete",
2317
+ appearance: {
2318
+ background: {
2319
+ type: "solid",
2320
+ colorToken: unsafeAsOpaqueButtonColourToken("primary")
2321
+ },
2322
+ borderRadius: "rounded-lg",
2323
+ affordance: { iconId: "ArrowRight" },
2324
+ ...hoverAppearance("primary", parameters, [lift, {
2325
+ effectId: "background-on-hover",
2326
+ options: { colorToken: unsafeAsOpaqueButtonColourToken("secondary") }
2327
+ }])
2328
+ }
2329
+ },
2330
+ secondary: {
2331
+ kind: "complete",
2332
+ appearance: {
2333
+ background: {
2334
+ type: "surface",
2335
+ role: "link"
2336
+ },
2337
+ borderRadius: "rounded-lg",
2338
+ border: { widthClass: "border" },
2339
+ ...hoverAppearance("secondary", parameters, [lift, {
2340
+ effectId: "background-on-hover",
2341
+ options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
2342
+ }])
2343
+ }
2344
+ },
2345
+ outline: {
2346
+ kind: "complete",
2347
+ appearance: {
2348
+ background: {
2349
+ type: "surface",
2350
+ role: "link"
2351
+ },
2352
+ borderRadius: "rounded-lg",
2353
+ border: { widthClass: "border" },
2354
+ ...hoverAppearance("outline", parameters, [lift, {
2355
+ effectId: "background-on-hover",
2356
+ options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
2357
+ }])
2358
+ }
2359
+ },
2360
+ ghost: {
2361
+ kind: "complete",
2362
+ appearance: {
2363
+ background: {
2364
+ type: "surface",
2365
+ role: "link"
2366
+ },
2367
+ borderRadius: "rounded-lg",
2368
+ ...hoverAppearance("ghost", parameters, [lift])
2369
+ }
2370
+ },
2371
+ accent: {
2372
+ kind: "complete",
2373
+ appearance: {
2374
+ background: {
2375
+ type: "solid",
2376
+ colorToken: unsafeAsOpaqueButtonColourToken("accent")
2377
+ },
2378
+ borderRadius: "rounded-lg",
2379
+ affordance: { iconId: "ArrowRight" },
2380
+ ...hoverAppearance("accent", parameters, [lift])
2381
+ }
2382
+ }
2383
+ }
2384
+ })
2385
+ });
2386
+ function hoverAppearance(role, parameters, recommended) {
2387
+ const preference = parameters.hoverPreferences?.[role];
2388
+ if (preference === void 0) return { effects: { hover: [...recommended] } };
2389
+ if (preference === "contextual") {
2390
+ const config = contextualRoleConfig[role];
2391
+ return {
2392
+ effects: { hover: [lift] },
2393
+ contextualHover: {
2394
+ kind: "shade-shift",
2395
+ seedToken: config.contextualSeedToken,
2396
+ fallbackDirection: config.fallbackDirection
2397
+ }
2398
+ };
2399
+ }
2400
+ const config = contextualRoleConfig[role];
2401
+ return {
2402
+ effects: { hover: [lift] },
2403
+ contextualHover: {
2404
+ kind: "shade-shift",
2405
+ seedToken: config.contextualSeedToken,
2406
+ fallbackDirection: config.fallbackDirection,
2407
+ preferredToken: unsafeAsOpaqueButtonColourToken(paletteRole(preference))
2408
+ }
2409
+ };
2410
+ }
2411
+ function paletteRole(preference) {
2412
+ return preference;
2413
+ }
2414
+ //#endregion
2089
2415
  //#region ../theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.ts
2090
2416
  const emptyParametersSchema = z.object({}).strict();
2091
2417
  function defineStaticButtonStyleRecipe(input) {
@@ -2932,113 +3258,6 @@ const inkStampRecipe = defineStaticButtonStyleRecipe({
2932
3258
  }
2933
3259
  }
2934
3260
  });
2935
- const flatInkRecipe = defineStaticButtonStyleRecipe({
2936
- id: "flat-ink",
2937
- accessibilityLabel: "Flat rounded buttons with arrow affordances",
2938
- tags: {
2939
- tone: "classic",
2940
- energy: "calm",
2941
- motion: "subtle",
2942
- era: "editorial"
2943
- },
2944
- system: {
2945
- global: {
2946
- cornerStyle: "rounded",
2947
- textTransform: "none",
2948
- fontWeight: 600,
2949
- typography: "body",
2950
- letterSpacing: "tight",
2951
- paddingPreset: "default",
2952
- hoverTransform: "lift",
2953
- hoverColor: "none"
2954
- },
2955
- sizes: {
2956
- sm: {
2957
- padding: "0.625rem 1.125rem",
2958
- fontSize: "text-sm"
2959
- },
2960
- md: { padding: "0.8125rem 1.375rem" },
2961
- lg: {
2962
- padding: "0.9375rem 1.625rem",
2963
- fontSize: "text-lg"
2964
- },
2965
- xl: {
2966
- padding: "1.0625rem 2rem",
2967
- fontSize: "text-xl"
2968
- }
2969
- },
2970
- roles: {
2971
- primary: {
2972
- kind: "complete",
2973
- appearance: {
2974
- background: {
2975
- type: "solid",
2976
- colorToken: "primary"
2977
- },
2978
- borderRadius: "rounded-lg",
2979
- affordance: { iconId: "ArrowRight" },
2980
- effects: { hover: [{ effectId: "lift" }, {
2981
- effectId: "background-on-hover",
2982
- options: { colorToken: unsafeAsOpaqueButtonColourToken("secondary") }
2983
- }] }
2984
- }
2985
- },
2986
- secondary: {
2987
- kind: "complete",
2988
- appearance: {
2989
- background: {
2990
- type: "surface",
2991
- role: "link"
2992
- },
2993
- borderRadius: "rounded-lg",
2994
- border: { widthClass: "border" },
2995
- effects: { hover: [{ effectId: "lift" }, {
2996
- effectId: "background-on-hover",
2997
- options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
2998
- }] }
2999
- }
3000
- },
3001
- outline: {
3002
- kind: "complete",
3003
- appearance: {
3004
- background: {
3005
- type: "surface",
3006
- role: "link"
3007
- },
3008
- borderRadius: "rounded-lg",
3009
- border: { widthClass: "border" },
3010
- effects: { hover: [{ effectId: "lift" }, {
3011
- effectId: "background-on-hover",
3012
- options: { colorToken: unsafeAsOpaqueButtonColourToken("surfaceAlt") }
3013
- }] }
3014
- }
3015
- },
3016
- ghost: {
3017
- kind: "complete",
3018
- appearance: {
3019
- background: {
3020
- type: "surface",
3021
- role: "link"
3022
- },
3023
- borderRadius: "rounded-lg",
3024
- effects: { hover: [{ effectId: "lift" }] }
3025
- }
3026
- },
3027
- accent: {
3028
- kind: "complete",
3029
- appearance: {
3030
- background: {
3031
- type: "solid",
3032
- colorToken: "accent"
3033
- },
3034
- borderRadius: "rounded-lg",
3035
- affordance: { iconId: "ArrowRight" },
3036
- effects: { hover: [{ effectId: "lift" }] }
3037
- }
3038
- }
3039
- }
3040
- }
3041
- });
3042
3261
  const showtimePillRecipe = defineStaticButtonStyleRecipe({
3043
3262
  id: "showtime-pill",
3044
3263
  accessibilityLabel: "Bold uppercase pill buttons with playful movement",
@@ -3460,8 +3679,8 @@ const openCardRoleValue = "open";
3460
3679
  */
3461
3680
  const surfaceCardRoleValues = [...cardVariantRoleValues, openCardRoleValue];
3462
3681
  /**
3463
- * The closed card-role vocabulary Looks and blocks address cards by — this is
3464
- * `BoxStylesCardVariant` widened with `open`, not a parallel enum.
3682
+ * The closed role vocabulary Looks and blocks use for surfaced and boxless
3683
+ * card choices.
3465
3684
  *
3466
3685
  * - `none` — no site-style card surface; the block's own composition and
3467
3686
  * the author's own card fields govern the item. This is *not*
@@ -3505,11 +3724,6 @@ const gradientDirectionSchema = z.enum([
3505
3724
  z.enum(cardVariantRoleValues);
3506
3725
  const surfaceCardRoleSchema = z.enum(surfaceCardRoleValues);
3507
3726
  const cardRoleSchema = z.enum(cardRoleValues);
3508
- /**
3509
- * Historical name for the role vocabulary as it reaches box styles. Widened to
3510
- * the full `CardRole` set — old values keep parsing, `open` now parses too.
3511
- */
3512
- const boxStylesCardVariantSchema = cardRoleSchema;
3513
3727
  const PRIORITY_ROLE_INFERENCE = {
3514
3728
  1: "default",
3515
3729
  2: "alternative"
@@ -4906,8 +5120,7 @@ const cardStylesOverrideSchema = z.object({
4906
5120
  spacing: semanticSpacingSchema.nullable().optional(),
4907
5121
  raised: z.boolean().nullable().optional(),
4908
5122
  rounded: boxRoundedSchema.nullable().optional(),
4909
- role: cardRoleSchema.nullable().optional(),
4910
- cardVariant: boxStylesCardVariantSchema.nullable().optional()
5123
+ role: cardRoleSchema.nullable().optional()
4911
5124
  });
4912
5125
  const blockStyleOverridesSchema = z.object({
4913
5126
  sectionStyles: sectionStylesOverrideSchema.nullable().optional(),