@riverbankcms/sdk 0.130.2 → 0.132.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 (339) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/dist/{PreviewEditorSidebar-BY-1QdE2.mjs → PreviewEditorSidebar-DKQ5eFK9.mjs} +351 -95
  3. package/dist/{PreviewEditorUI-BS34jI9_.mjs → PreviewEditorUI-CNTcOjCC.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BD0kOjtI.mjs → PreviewQueryProvider-D51gQaG3.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-B1pWnhu-.mjs → SdkPreviewModeRuntime-DJu3qu33.mjs} +48 -9
  6. package/dist/{SiteChromeCustomizeContext-BhUG_72i.mjs → SiteChromeCustomizeContext-2TzT3vbj.mjs} +6417 -4184
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +723 -151
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +151 -64
  9. package/dist/_dts/api/src/bookingConfig.d.ts +13 -9
  10. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +8 -19
  11. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +31 -2
  12. package/dist/_dts/api/src/bookingVerticals.d.ts +1 -140
  13. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +45 -12
  14. package/dist/_dts/api/src/contentRuntime.d.ts +2 -1
  15. package/dist/_dts/api/src/courses.d.ts +1 -19
  16. package/dist/_dts/api/src/endpoints.d.ts +466 -346
  17. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  18. package/dist/_dts/api/src/eventManagementContracts.d.ts +91 -1
  19. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +32 -0
  20. package/dist/_dts/api/src/giftingDashboard.d.ts +117 -0
  21. package/dist/_dts/api/src/giftingEndpointDefinitions.d.ts +124 -0
  22. package/dist/_dts/api/src/index.d.ts +4 -4
  23. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  24. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/media.d.ts +1 -0
  26. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +3 -4
  27. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +11 -0
  28. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +25 -12
  29. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +2 -0
  30. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +1 -0
  31. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  32. package/dist/_dts/api/src/sdkBookingVerticalContracts.d.ts +29 -0
  33. package/dist/_dts/api/src/sdkContracts.d.ts +9 -32
  34. package/dist/_dts/api/src/sdkEndpointDefinitions.d.ts +23 -0
  35. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +25 -0
  36. package/dist/_dts/api/src/sdkThemeCatalogContracts.d.ts +20 -0
  37. package/dist/_dts/api/src/sdkThemeWire.d.ts +16 -6
  38. package/dist/_dts/api/src/siteOnboarding.d.ts +3 -3
  39. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +4 -10
  40. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +0 -3
  41. package/dist/_dts/api/src/types.d.ts +1 -2
  42. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -13
  43. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +9 -0
  44. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +26 -44
  45. package/dist/_dts/blocks/src/index.d.ts +1 -1
  46. package/dist/_dts/blocks/src/subroutes/fold.d.ts +2 -1
  47. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  48. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +2 -50
  49. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +1 -929
  50. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -97
  51. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +39 -6
  52. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +3 -3
  54. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -3
  55. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +2 -2
  56. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +6 -6
  57. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -9
  58. package/dist/_dts/blocks/src/system/blocks/events/whole-series/index.d.ts +3 -0
  59. package/dist/_dts/blocks/src/system/blocks/events/whole-series/pricing.d.ts +50 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +135 -0
  61. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +81 -0
  62. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
  63. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +7 -8
  65. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  66. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +45 -72
  68. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -36
  69. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +6 -6
  70. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +2 -5
  71. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +4 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +19 -7
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +25 -4
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +75 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -2
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -2
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +4 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/RegistrationClosedState.d.ts +5 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SiteCreditPreviewPanel.d.ts +6 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +2 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +17 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +3 -3
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/siteCreditPreview.d.ts +51 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/BookingModeStep.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/CheckIcon.d.ts +1 -1
  89. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/ErrorStep.d.ts +1 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/MembershipHero.d.ts +3 -3
  91. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PaymentFailedStep.d.ts +1 -1
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +6 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/VerifyingTimeoutStep.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +9 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/CourseRegistrationErrorBoundary.d.ts → event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts} +5 -2
  96. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +8 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +8 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +45 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/index.d.ts +4 -4
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +7 -0
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +14 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/types.d.ts +18 -16
  103. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseEligibility.d.ts → event-registration/whole-series/useWholeSeriesEligibility.d.ts} +6 -6
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +10 -0
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +35 -0
  106. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseRegistrationPortal.d.ts → event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts} +2 -2
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +35 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +185 -0
  109. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseWaitlistSelection.d.ts → event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts} +5 -5
  110. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/utils.d.ts +4 -4
  111. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.contract.d.ts +5 -7
  112. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.planning.d.ts +2 -2
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +17 -0
  114. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/courseRegistrationViewState.d.ts → event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts} +7 -7
  115. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/wizardSteps.d.ts +4 -4
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -54
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +12 -11
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +3 -2
  121. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +3 -2
  122. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +3 -2
  123. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +4 -3
  124. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalCloseButton.d.ts +7 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +4 -3
  126. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +14 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +19 -4
  128. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +12 -12
  130. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +1 -0
  131. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +30 -11
  132. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +15 -4
  133. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  134. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -4
  135. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +13 -0
  136. package/dist/_dts/commerce/src/purchase/cancellationPolicy.d.ts +7 -0
  137. package/dist/_dts/commerce/src/purchase/canonicalRefundPlanner.d.ts +48 -0
  138. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +39 -0
  139. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +40 -0
  140. package/dist/_dts/commerce/src/purchase/checkoutDiscountContextPlanning.d.ts +80 -0
  141. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -0
  142. package/dist/_dts/commerce/src/purchase/checkoutOrderItemProjection.d.ts +22 -0
  143. package/dist/_dts/commerce/src/purchase/checkoutPaymentFlow.d.ts +50 -0
  144. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +30 -0
  145. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +10 -0
  146. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +53 -0
  147. package/dist/_dts/commerce/src/purchase/checkoutQuantity.d.ts +8 -0
  148. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +76 -0
  149. package/dist/_dts/commerce/src/purchase/checkoutSettlement.d.ts +46 -0
  150. package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +12 -0
  151. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +125 -0
  152. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +55 -0
  153. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +91 -0
  154. package/dist/_dts/commerce/src/purchase/discountApplication.d.ts +74 -0
  155. package/dist/_dts/commerce/src/purchase/index.d.ts +55 -0
  156. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +86 -0
  157. package/dist/_dts/commerce/src/purchase/order-number.d.ts +33 -0
  158. package/dist/_dts/commerce/src/purchase/orderCancellationPlan.d.ts +19 -0
  159. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +71 -0
  160. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +120 -0
  161. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +81 -0
  162. package/dist/_dts/commerce/src/purchase/orderFulfillmentResult.d.ts +8 -0
  163. package/dist/_dts/commerce/src/purchase/orderHistoryLedgerFilters.d.ts +1 -0
  164. package/dist/_dts/commerce/src/purchase/orderHistorySource.d.ts +11 -0
  165. package/dist/_dts/commerce/src/purchase/orderInstalmentAdminSettlement.d.ts +43 -0
  166. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +29 -0
  167. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +44 -0
  168. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +24 -0
  169. package/dist/_dts/commerce/src/purchase/orderInstalmentPlan.d.ts +40 -0
  170. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +151 -0
  171. package/dist/_dts/commerce/src/purchase/orderItemSupport.d.ts +14 -0
  172. package/dist/_dts/commerce/src/purchase/orderListFilters.d.ts +3 -0
  173. package/dist/_dts/commerce/src/purchase/orderPaymentLinkPlanning.d.ts +60 -0
  174. package/dist/_dts/commerce/src/purchase/orderPaymentReceipt.d.ts +184 -0
  175. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +135 -0
  176. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +102 -0
  177. package/dist/_dts/commerce/src/purchase/orderRefundPlanning.d.ts +50 -0
  178. package/dist/_dts/commerce/src/purchase/orderRefundPolicy.d.ts +36 -0
  179. package/dist/_dts/commerce/src/purchase/orderTotals.d.ts +23 -0
  180. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +39 -0
  181. package/dist/_dts/commerce/src/purchase/pendingCheckoutSessionClaim.d.ts +1 -0
  182. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +27 -0
  183. package/dist/_dts/commerce/src/purchase/protectedDepositRefundPolicy.d.ts +86 -0
  184. package/dist/_dts/commerce/src/purchase/refundPolicy.d.ts +8 -0
  185. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +40 -0
  186. package/dist/_dts/commerce/src/purchase/result.d.ts +2 -0
  187. package/dist/_dts/commerce/src/purchase/settlement.d.ts +97 -0
  188. package/dist/_dts/commerce/src/purchase/shopRefundPlanning.d.ts +43 -0
  189. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +31 -0
  190. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +10 -0
  191. package/dist/_dts/commerce/src/purchase/types.d.ts +168 -0
  192. package/dist/_dts/commerce/src/shop/shipmentEligibility.d.ts +14 -0
  193. package/dist/_dts/commerce/src/utils/assertNever.d.ts +1 -0
  194. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -0
  195. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -0
  196. package/dist/_dts/core/src/booking-vertical-catalog.d.ts +741 -0
  197. package/dist/_dts/core/src/booking-vertical-config.d.ts +66 -0
  198. package/dist/_dts/core/src/booking-vertical-definitions.d.ts +68 -0
  199. package/dist/_dts/{api/src/bookingVerticalPreset.d.ts → core/src/booking-vertical-preset.d.ts} +1 -1
  200. package/dist/_dts/core/src/booking-verticals.d.ts +98 -0
  201. package/dist/_dts/core/src/event-page-selection.d.ts +22 -0
  202. package/dist/_dts/core/src/event-pricing.d.ts +5 -0
  203. package/dist/_dts/core/src/event-series-behaviour.d.ts +16 -0
  204. package/dist/_dts/core/src/index.d.ts +3 -0
  205. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +72 -0
  206. package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
  207. package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +3 -0
  208. package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +2 -0
  209. package/dist/_dts/media-core/src/identifiers.d.ts +10 -0
  210. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  211. package/dist/_dts/media-core/src/types.d.ts +2 -1
  212. package/dist/_dts/media-editor/src/index.d.ts +2 -2
  213. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -22
  214. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +0 -9
  215. package/dist/_dts/preview-next/src/client/preview/ButtonHoverRoleControls.d.ts +10 -0
  216. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +3 -2
  217. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -1
  218. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  219. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  220. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  221. package/dist/_dts/preview-next/src/client/preview/StyleConfiguratorWarningNotice.d.ts +7 -0
  222. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -1
  223. package/dist/_dts/sdk/src/client/eventSubrouteReadOperations.d.ts +11 -0
  224. package/dist/_dts/sdk/src/client/types.d.ts +12 -5
  225. package/dist/_dts/sdk/src/components.d.ts +1 -1
  226. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  227. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -13
  228. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -16
  229. package/dist/_dts/sdk/src/next/pageMetadataProjection.d.ts +7 -0
  230. package/dist/_dts/sdk/src/next/resolveEventPageSubroute.d.ts +12 -0
  231. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -19
  232. package/dist/_dts/sdk/src/public-api/eventSubrouteContracts.d.ts +12 -0
  233. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  234. package/dist/_dts/sdk/src/rendering/client.d.ts +44 -0
  235. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  236. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +1 -1
  237. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +4 -3
  238. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +7 -3
  239. package/dist/_dts/sdk/src/version.d.ts +1 -1
  240. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +1 -1
  241. package/dist/_dts/theme-core/src/buttons/contextualHover.d.ts +41 -0
  242. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  243. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +3 -0
  244. package/dist/_dts/theme-core/src/buttons/resolveButtonHoverTreatment.d.ts +14 -0
  245. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +21 -4
  246. package/dist/_dts/theme-core/src/buttons/styles/recipes/flatInk.d.ts +92 -0
  247. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +10 -150
  248. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -102
  249. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +50 -2
  250. package/dist/_dts/theme-core/src/buttons/types.d.ts +29 -0
  251. package/dist/_dts/theme-core/src/cards/types.d.ts +3 -25
  252. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  253. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -6
  254. package/dist/_dts/theme-core/src/schema.d.ts +21 -33
  255. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +27 -0
  256. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +27 -0
  257. package/dist/_dts/theme-core/src/site-styles/buttonSelectionCompiler.d.ts +18 -0
  258. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +21 -0
  259. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -11
  260. package/dist/_dts/theme-core/src/site-styles/selectionFallbackWarning.d.ts +15 -0
  261. package/dist/_dts/theme-core/src/site-styles/types.d.ts +13 -1
  262. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -0
  263. package/dist/client/{DiscountCodeDisclosure-BPZ-yfGI.mjs → DiscountCodeDisclosure-DO7llLxm.mjs} +12 -12
  264. package/dist/client/{EventCombined.client-Cjt3kKYR.mjs → EventCombined.client-xID7zN__.mjs} +36 -48
  265. package/dist/client/{EventListing.client-DY9dn6Fh.mjs → EventListing.client-CriBslp0.mjs} +2 -2
  266. package/dist/client/{LeafletStaticMap--2c61XYn.mjs → LeafletStaticMap-DYmHnM8g.mjs} +1 -1
  267. package/dist/client/{StepIndicator-CLjQhkDb.mjs → StepIndicator-CGixP_LW.mjs} +2 -2
  268. package/dist/client/{CourseRegistrationWizard-DGW9F0SQ.mjs → WholeSeriesRegistrationWizard-BEjzSiOA.mjs} +1408 -1245
  269. package/dist/client/{accordion-_boYwHHi.mjs → accordion-CgFbnnnQ.mjs} +1 -1
  270. package/dist/client/{bookingForm--AqEfyBX.mjs → bookingForm-dUyGpbxc.mjs} +5 -5
  271. package/dist/client/bookings.mjs +635 -471
  272. package/dist/client/{carousel-CVI2dqZr.mjs → carousel-BvBwkUzx.mjs} +1 -1
  273. package/dist/client/{cart-DR6IiPz9.mjs → cart-DiZENT2E.mjs} +3 -3
  274. package/dist/client/{checkout-CsrGAfQt.mjs → checkout-Dq13KIgR.mjs} +3 -3
  275. package/dist/client/client.mjs +6291 -3452
  276. package/dist/client/{courseRegistration-aNJVaLa3.mjs → courseRegistration-CKC5NmyH.mjs} +10 -4
  277. package/dist/client/{eventCalendar-OZ7h59VN.mjs → eventCalendar-BF0Jatfw.mjs} +40 -43
  278. package/dist/client/{eventCombined-BbJ6bFKz.mjs → eventCombined-BuoCF8je.mjs} +2 -2
  279. package/dist/client/{eventDetails-BLyUBiCT.mjs → eventDetails-CKwh0S9s.mjs} +276 -94
  280. package/dist/client/{eventListing-DuP1yhBS.mjs → eventListing-eUxaWFaB.mjs} +2 -2
  281. package/dist/client/{eventRegistration-BXyECPa-.mjs → eventRegistration-CfkNOkPb.mjs} +625 -132
  282. package/dist/client/{form-BA4t3kKU.mjs → form-C17H1c_H.mjs} +1 -1
  283. package/dist/client/{headerSection-CpNaJxhW.mjs → headerSection-DEwUmrtt.mjs} +2 -2
  284. package/dist/client/hooks.mjs +1312 -481
  285. package/dist/client/{locationMap-3HGMCL7_.mjs → locationMap-Pf2QwuvW.mjs} +2 -2
  286. package/dist/client/{newsletterForm-C2s6Mw67.mjs → newsletterForm-BWQAH5Sv.mjs} +1 -1
  287. package/dist/client/pricing-CVdvbopJ.mjs +195 -0
  288. package/dist/client/{productDetail-C9joWhdE.mjs → productDetail-BZi1Fa_G.mjs} +3 -3
  289. package/dist/client/{productList-CjzdU3pB.mjs → productList-qq-55DNk.mjs} +3 -3
  290. package/dist/client/{propsDecoder-CBPGXEYX.mjs → propsDecoder-BxmqPKdP.mjs} +412 -196
  291. package/dist/client/rendering/client.mjs +5685 -4037
  292. package/dist/client/rendering/islands.mjs +18 -18
  293. package/dist/client/rendering.mjs +7006 -4124
  294. package/dist/client/{scrollToBlock-DZ73aEX6.mjs → scrollToBlock-B3CcKdtG.mjs} +1 -1
  295. package/dist/client/{shop-CQRai7hj.mjs → shop-DNWJPut5.mjs} +5 -5
  296. package/dist/client/{shop-commerce-hP9UboOx.mjs → shop-commerce-BhvQCosS.mjs} +4 -4
  297. package/dist/client/{shop-commerce-store-DiD5a32e.mjs → shop-commerce-store-B04sCNnW.mjs} +1 -1
  298. package/dist/client/{shopShared-DP8DXTkF.mjs → shopShared-DNNgZlmW.mjs} +2 -2
  299. package/dist/client/{useEventFilters-pF_OJNQP.mjs → useEventFilters-CUmhE24_.mjs} +195 -6
  300. package/dist/client/{usePolling-Cls91SD2.mjs → usePolling-M5jG675x.mjs} +3 -3
  301. package/dist/preview-next/before-render.mjs +247 -60
  302. package/dist/preview-next/client/runtime.mjs +4 -4
  303. package/dist/preview-next/keepAlive.mjs +247 -60
  304. package/dist/preview-next/middleware.mjs +247 -60
  305. package/dist/{previewAuthStore-CX1C_KJ4.mjs → previewAuthStore-BFKd4LrN.mjs} +247 -60
  306. package/dist/{sdk-runtime-5CcPAI14.mjs → sdk-runtime-BEXb1wqo.mjs} +2 -2
  307. package/dist/{separator-BXlYN_gr.mjs → separator-DGMuip1D.mjs} +1 -1
  308. package/dist/server/components.mjs +3461 -1577
  309. package/dist/server/config-validation.mjs +1312 -482
  310. package/dist/server/config.mjs +1312 -482
  311. package/dist/server/data.mjs +1312 -481
  312. package/dist/server/index.mjs +289 -81
  313. package/dist/server/manifest.mjs +0 -1
  314. package/dist/server/next.mjs +3576 -1689
  315. package/dist/server/page-converter.mjs +797 -250
  316. package/dist/server/prebuild.mjs +1 -1
  317. package/dist/server/rendering/server.mjs +3461 -1576
  318. package/dist/server/rendering.mjs +3461 -1577
  319. package/dist/server/routing.mjs +1555 -616
  320. package/dist/server/server.mjs +1352 -560
  321. package/dist/server/theme-bridge.mjs +1992 -931
  322. package/dist/server/theme.mjs +346 -133
  323. package/dist/styles/index.css +1602 -796
  324. package/package.json +1 -1
  325. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +0 -746
  326. package/dist/_dts/api/src/eventSeriesPresentationPreset.d.ts +0 -12
  327. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +0 -3
  328. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +0 -6
  329. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +0 -45
  330. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +0 -14
  331. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +0 -9
  332. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +0 -35
  333. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +0 -31
  334. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +0 -102
  335. package/dist/client/eventProductEligibility-AVxyCB1u.mjs +0 -50
  336. package/dist/client/pricing-BiqIMgZk.mjs +0 -174
  337. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PortalAuthSidebar.d.ts +0 -0
  338. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/SuccessStep.d.ts +0 -0
  339. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/WaitlistStep.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -37,9 +37,9 @@ consumer needs to change anything.
37
37
  filled media frame and background that variant's layout expects), while
38
38
  `'alternative'` gets the card surface only. The two spellings of "statement
39
39
  card" are therefore not interchangeable inside `editorial-diptych`.
40
- - **`CardStylesContent` names a card surface with `role`.** `cardVariant` is the
41
- legacy name for the same thing and still parses; where both are present,
42
- `role` wins.
40
+ - **`CardStylesContent` names a card surface with `role`.** Persisted
41
+ `cardVariant` values are repaired to `role` by the release migration; the SDK
42
+ and renderer no longer expose a parallel compatibility field.
43
43
  - **Missing compiled fields declared.** `MediaTextContent._frameStyles`,
44
44
  `CollectionContent._cardStyles` and `EventCalendarContent._containerStyles`
45
45
  are now part of the SDK's block content types, alongside the card fields on
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { $ as FooterComposerPanel, $i as SearchInput, A as markApplySaved, Ai as paletteColorsSchema, B as resetTypographyToSaved, Bt as useEditorUiStoreInstance, C as applyTypographyDraftPatch, Ca as DropdownMenuTrigger, Cr as curatedSiteStyles, D as dismissWarnings, Da as cn, Dr as findFooterLook, E as deriveStyleConfiguratorCapabilities, En as ThemeScope, F as previewCuratedPalette, Fa as X$1, Fr as curatedPalettes, H as styleConfiguratorHistoryEntryForPersistedSelection, Ha as SlidersHorizontal, I as previewFooterLook, Ja as Monitor, Ji as SelectItem, Ki as Select, L as previewHeaderLayout, M as openRow, N as palettePreviewProjection, Nt as BlockEditor, O as isPreviewingChange, Or as getHeaderLayout, P as previewButtonStyle, Q as resolvePreviewSidebarTab, Qi as CalloutDescription, R as previewHeaderStyle, S as applyResolvedSelections, Sa as DropdownMenuSeparator, Si as themeButtonClassName, T as createStyleConfiguratorState, Ta as Button, Tr as getCuratedSiteStyle, U as syncStyleConfiguratorState, V as setPaletteColors, Va as Smartphone, W as toggleRow, Xa as LoaderCircle, Xi as SelectValue, Ya as Maximize2, Yi as SelectTrigger, Z as createOptimisticActionRunner, Zi as Callout, _ as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, _a as Surface, _i as buttonStyleSelectionParameterValue, _n as listEntryPageContentSlots, aa as TabsContent, an as resolveContentTitle, at as useUISelector, b as cycleSiteChromeSelectionId, ba as DropdownMenuItem, bi as updateButtonStyleSelectionChoice, c as selectionSnapshotFromApplySiteStyleSelectionResponse, cn as ManifestForm, ct as useEntryController, d as resolveStyleConfiguratorInitialSnapshot, dn as FormRenderer, ea as Popover, ga as CollapsibleTrigger, ha as CollapsibleContent, ia as Tabs, in as resolvePageRouteSlug, io as Check, it as ContentFieldsForm, j as markApplySaving, ja as assertNever$1, k as markApplyFailed, ka as unsafeAsEditorBlockId, ki as paletteColorEntries, kr as getHeaderStyle, l as deriveSiteStylePreviewUpdate, ma as Collapsible, n as useSiteChromeCustomizeOptional, na as PopoverTrigger, no as ChevronLeft, oa as TabsList, p as usePreviewDesignCoordinator, pn as createStoreBackend, qi as SelectContent, ra as Input, rn as deriveRouteMetadataPresentation, s as buildApplySiteStyleSelectionBody, sa as TabsTrigger, ta as PopoverContent, tn as isAdapterReferenceKind, to as ChevronRight, u as planSiteStylePreviewChange, un as createManifestValidation, v as reportPreviewDesignError, va as DropdownMenu, vi as findButtonStyleRecipe, w as cancelPreview, x as planSiteChromeSelection, xa as DropdownMenuLabel, xi as buttonStyleSelectionKey, y as buildSiteChromeSelectionModels, ya as DropdownMenuContent, yi as resolveButtonStyleSelection, z as previewSiteStyle, za as Tablet, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-BhUG_72i.mjs";
3
- import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-CX1C_KJ4.mjs";
4
- import { t as Separator } from "./separator-BXlYN_gr.mjs";
5
- import { S as getSiteFontsStorageUrl, _ as usePreviewBlockCustomizeSelectionOptional, b as buildFontPreviewUrl, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, x as generateFontFaceCss, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-B1pWnhu-.mjs";
2
+ import { $ as FooterComposerPanel, $a as LoaderCircle, $i as SelectValue, A as markApplySaved, Aa as cn, Ai as VARIANT_ROLES, B as resetTypographyToSaved, Bt as useEditorUiStoreInstance, C as applyTypographyDraftPatch, Ca as DropdownMenuItem, Ci as buttonStyleSelectionKey, Cr as curatedSiteStyles, D as dismissWarnings, Dr as findFooterLook, E as deriveStyleConfiguratorCapabilities, Ea as DropdownMenuTrigger, En as ThemeScope, F as previewCuratedPalette, Fr as curatedPalettes, Ga as SlidersHorizontal, H as styleConfiguratorHistoryEntryForPersistedSelection, Ha as Tablet, I as previewFooterLook, L as previewHeaderLayout, M as openRow, Ma as unsafeAsEditorBlockId, Mi as paletteColorEntries, N as palettePreviewProjection, Ni as paletteColorsSchema, Nt as BlockEditor, O as isPreviewingChange, Oa as Button, Or as getHeaderLayout, P as previewButtonStyle, Pa as assertNever$1, Q as resolvePreviewSidebarTab, Qa as Maximize2, Qi as SelectTrigger, R as previewHeaderStyle, Ra as X$1, S as applyResolvedSelections, Sa as DropdownMenuContent, Si as updateButtonStyleSelectionChoice, T as createStyleConfiguratorState, Ta as DropdownMenuSeparator, Tr as getCuratedSiteStyle, U as syncStyleConfiguratorState, V as setPaletteColors, W as toggleRow, Wa as Smartphone, Xi as SelectContent, Yi as Select, Z as createOptimisticActionRunner, Za as Monitor, Zi as SelectItem, _ as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, _a as Collapsible, _i as buttonStyleHoverPreferenceValue, _n as listEntryPageContentSlots, aa as PopoverTrigger, an as resolveContentTitle, ao as ChevronLeft, at as useUISelector, b as cycleSiteChromeSelectionId, ba as Surface, bi as resolveButtonStyleSelection, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as TabsContent, cn as ManifestForm, ct as useEntryController, d as resolveStyleConfiguratorInitialSnapshot, dn as FormRenderer, ea as Callout, ia as PopoverContent, in as resolvePageRouteSlug, io as ChevronRight, it as ContentFieldsForm, j as markApplySaving, k as markApplyFailed, kr as getHeaderStyle, l as deriveSiteStylePreviewUpdate, la as TabsList, n as useSiteChromeCustomizeOptional, na as SearchInput, oa as Input, oo as ChevronDown, p as usePreviewDesignCoordinator, pn as createStoreBackend, ra as Popover, rn as deriveRouteMetadataPresentation, s as buildApplySiteStyleSelectionBody, sa as Tabs, so as Check, ta as CalloutDescription, tn as isAdapterReferenceKind, u as planSiteStylePreviewChange, ua as TabsTrigger, un as createManifestValidation, v as reportPreviewDesignError, va as CollapsibleContent, vi as buttonStyleSelectionParameterValue, w as cancelPreview, wa as DropdownMenuLabel, wi as themeButtonClassName, x as planSiteChromeSelection, xa as DropdownMenu, xi as updateButtonStyleHoverPreference, y as buildSiteChromeSelectionModels, ya as CollapsibleTrigger, yi as findButtonStyleRecipe, z as previewSiteStyle, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-2TzT3vbj.mjs";
3
+ import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-BFKd4LrN.mjs";
4
+ import { t as Separator } from "./separator-DGMuip1D.mjs";
5
+ import { S as getSiteFontsStorageUrl, _ as usePreviewBlockCustomizeSelectionOptional, b as buildFontPreviewUrl, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, x as generateFontFaceCss, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-DJu3qu33.mjs";
6
6
  import React, { createContext, forwardRef, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
8
  import { useQuery, useQueryClient } from "@tanstack/react-query";
@@ -464,7 +464,10 @@ function ContentSpinner({ className, size = "xl" }) {
464
464
  * consumers (notice, SEO, breadcrumbs, …).
465
465
  */
466
466
  function foldSubroute(ctx, fold) {
467
- return fold["event-occurrence"](ctx.occurrence);
467
+ switch (ctx.kind) {
468
+ case "event-occurrence": return fold["event-occurrence"](ctx.occurrence);
469
+ case "event-run": return fold["event-run"](ctx.run);
470
+ }
468
471
  }
469
472
  //#endregion
470
473
  //#region ../blocks/src/subroutes/formatDate.ts
@@ -503,14 +506,24 @@ function formatOccurrenceDate(iso) {
503
506
  * Adding a new {@link EntrySubrouteKind} requires a new entry here; the
504
507
  * `Record<EntrySubrouteKind, …>` shape will refuse to compile otherwise.
505
508
  */
506
- const SUBROUTE_KINDS = { "event-occurrence": {
507
- kind: "event-occurrence",
508
- containerNoun: "event",
509
- instanceNoun: "date",
510
- listLabel: "events list",
511
- formatInstanceName: (occurrence) => formatOccurrenceDate(occurrence.startsAt),
512
- subEditorPath: () => "bookings/events"
513
- } };
509
+ const SUBROUTE_KINDS = {
510
+ "event-occurrence": {
511
+ kind: "event-occurrence",
512
+ containerNoun: "event",
513
+ instanceNoun: "date",
514
+ listLabel: "events list",
515
+ formatInstanceName: (occurrence) => formatOccurrenceDate(occurrence.startsAt),
516
+ subEditorPath: () => "bookings/events"
517
+ },
518
+ "event-run": {
519
+ kind: "event-run",
520
+ containerNoun: "event",
521
+ instanceNoun: "run",
522
+ listLabel: "event runs",
523
+ formatInstanceName: (run) => run.name,
524
+ subEditorPath: () => "bookings/events"
525
+ }
526
+ };
514
527
  //#endregion
515
528
  //#region ../content-model/src/contentManifest.ts
516
529
  function assertNever(value) {
@@ -1037,7 +1050,10 @@ function buildNoticeFromMeta(meta, payload, siteId) {
1037
1050
  */
1038
1051
  function resolveSubrouteNotice(ctx, args) {
1039
1052
  if (!ctx) return null;
1040
- return foldSubroute(ctx, { "event-occurrence": (occurrence) => buildNoticeFromMeta(SUBROUTE_KINDS["event-occurrence"], occurrence, args.siteId) });
1053
+ return foldSubroute(ctx, {
1054
+ "event-occurrence": (occurrence) => buildNoticeFromMeta(SUBROUTE_KINDS["event-occurrence"], occurrence, args.siteId),
1055
+ "event-run": (run) => buildNoticeFromMeta(SUBROUTE_KINDS["event-run"], run, args.siteId)
1056
+ });
1041
1057
  }
1042
1058
  //#endregion
1043
1059
  //#region ../preview-next/src/client/preview/EntrySlotBlockEditorPanel.tsx
@@ -2156,67 +2172,301 @@ function ContrastSwatch({ hex, label }) {
2156
2172
  });
2157
2173
  }
2158
2174
  //#endregion
2175
+ //#region ../preview-next/src/client/preview/ButtonHoverRoleControls.tsx
2176
+ const ROLE_LABELS = {
2177
+ primary: "Primary button",
2178
+ secondary: "Secondary button",
2179
+ outline: "Outline button",
2180
+ ghost: "Ghost button",
2181
+ accent: "Accent button"
2182
+ };
2183
+ function ButtonHoverRoleControls({ control, current, previewTheme, onPreview, disabled = false }) {
2184
+ const [advancedOpen, setAdvancedOpen] = useState(false);
2185
+ const [expandedRole, setExpandedRole] = useState(null);
2186
+ const instanceId = useId();
2187
+ const advancedOptionsId = `${instanceId}-button-hover-role-options`;
2188
+ const themeScopeId = `button-hover-roles-${encodeURIComponent(instanceId)}`;
2189
+ const resolved = resolveButtonStyleSelection(current);
2190
+ if (resolved.kind === "error") return null;
2191
+ const theme = {
2192
+ ...previewTheme,
2193
+ buttons: resolved.buttonSystem
2194
+ };
2195
+ return /* @__PURE__ */ jsxs("section", {
2196
+ className: "rounded-md border border-border",
2197
+ children: [/* @__PURE__ */ jsxs("button", {
2198
+ type: "button",
2199
+ "data-testid": "button-hover-advanced-options",
2200
+ "aria-expanded": advancedOpen,
2201
+ "aria-controls": advancedOptionsId,
2202
+ disabled,
2203
+ onClick: () => setAdvancedOpen((open) => !open),
2204
+ className: "flex w-full items-center justify-between gap-3 px-3 py-2.5 text-left text-xs font-medium disabled:cursor-not-allowed disabled:opacity-60",
2205
+ children: [/* @__PURE__ */ jsx("span", { children: "Advanced options" }), /* @__PURE__ */ jsxs("span", {
2206
+ className: "text-muted-foreground",
2207
+ children: [VARIANT_ROLES.length, " button types"]
2208
+ })]
2209
+ }), advancedOpen ? /* @__PURE__ */ jsxs("div", {
2210
+ id: advancedOptionsId,
2211
+ className: "border-t border-border p-3",
2212
+ children: [/* @__PURE__ */ jsx("p", {
2213
+ className: "mb-3 text-xs text-muted-foreground",
2214
+ children: "Choose how each kind of button reacts. Recommended keeps this personality’s coordinated defaults."
2215
+ }), /* @__PURE__ */ jsx(ThemeScope, {
2216
+ theme,
2217
+ themeId: themeScopeId,
2218
+ className: "space-y-2 bg-transparent",
2219
+ children: VARIANT_ROLES.map((role) => /* @__PURE__ */ jsx(ButtonHoverRoleRow, {
2220
+ role,
2221
+ instanceId,
2222
+ control,
2223
+ current,
2224
+ expanded: expandedRole === role,
2225
+ disabled,
2226
+ onToggle: () => setExpandedRole((expanded) => expanded === role ? null : role),
2227
+ onPreview
2228
+ }, role))
2229
+ })]
2230
+ }) : null]
2231
+ });
2232
+ }
2233
+ function ButtonHoverRoleRow({ role, instanceId, control, current, expanded, disabled, onToggle, onPreview }) {
2234
+ const preference = buttonStyleHoverPreferenceValue(current, control.parameter, role);
2235
+ const preferenceSummary = preference === null ? "Recommended" : control.options.find((option) => option.value === preference)?.label ?? preference;
2236
+ const editorId = `${instanceId}-button-hover-editor-${role}`;
2237
+ return /* @__PURE__ */ jsxs("div", {
2238
+ className: "overflow-hidden rounded-md border border-border bg-background",
2239
+ children: [/* @__PURE__ */ jsxs("button", {
2240
+ type: "button",
2241
+ "data-testid": `button-hover-role-${role}`,
2242
+ "aria-expanded": expanded,
2243
+ "aria-controls": editorId,
2244
+ disabled,
2245
+ onClick: onToggle,
2246
+ className: "flex w-full items-center gap-2 p-2 text-left disabled:cursor-not-allowed disabled:opacity-60",
2247
+ children: [
2248
+ /* @__PURE__ */ jsx(ButtonSpecimen, {
2249
+ role,
2250
+ text: ROLE_LABELS[role]
2251
+ }),
2252
+ /* @__PURE__ */ jsx("span", {
2253
+ className: cn("ml-auto text-[11px]", preference === null ? "text-muted-foreground" : "font-medium text-foreground"),
2254
+ children: preferenceSummary
2255
+ }),
2256
+ expanded ? /* @__PURE__ */ jsx(ChevronDown, {
2257
+ className: "h-3.5 w-3.5 shrink-0",
2258
+ "aria-hidden": "true"
2259
+ }) : /* @__PURE__ */ jsx(ChevronRight, {
2260
+ className: "h-3.5 w-3.5 shrink-0",
2261
+ "aria-hidden": "true"
2262
+ })
2263
+ ]
2264
+ }), expanded ? /* @__PURE__ */ jsx(ButtonHoverRoleEditor, {
2265
+ id: editorId,
2266
+ role,
2267
+ groupName: `${instanceId}-button-hover-${role}`,
2268
+ control,
2269
+ current,
2270
+ preference,
2271
+ disabled,
2272
+ onPreview
2273
+ }) : null]
2274
+ });
2275
+ }
2276
+ function ButtonHoverRoleEditor({ id, role, groupName, control, current, preference, disabled, onPreview }) {
2277
+ const choices = [{
2278
+ value: null,
2279
+ label: "Recommended"
2280
+ }, ...control.options.map((option) => ({
2281
+ value: option.value,
2282
+ label: option.label
2283
+ }))];
2284
+ return /* @__PURE__ */ jsxs("div", {
2285
+ id,
2286
+ className: "space-y-3 border-t border-border p-3",
2287
+ children: [
2288
+ /* @__PURE__ */ jsxs("div", { children: [
2289
+ /* @__PURE__ */ jsxs("h3", {
2290
+ className: "text-xs font-medium",
2291
+ children: [ROLE_LABELS[role], " hover"]
2292
+ }),
2293
+ /* @__PURE__ */ jsx("p", {
2294
+ className: "mt-1 text-[11px] text-muted-foreground",
2295
+ children: "Choose the colour relationship. Riverbank derives a safe text colour."
2296
+ }),
2297
+ preference === "secondary" || preference === "accent" ? /* @__PURE__ */ jsx("p", {
2298
+ role: "note",
2299
+ className: "mt-1 text-[11px] text-muted-foreground",
2300
+ children: "If this colour would not be readable on a section, Riverbank uses a contextual shade there and keeps your choice here."
2301
+ }) : null
2302
+ ] }),
2303
+ /* @__PURE__ */ jsxs("div", {
2304
+ className: "grid grid-cols-[1fr_auto_1fr] items-end gap-2",
2305
+ children: [
2306
+ /* @__PURE__ */ jsx(LabeledSpecimen, {
2307
+ label: "Normal",
2308
+ role
2309
+ }),
2310
+ /* @__PURE__ */ jsx("span", {
2311
+ className: "pb-2 text-xs text-muted-foreground",
2312
+ "aria-hidden": "true",
2313
+ children: "→"
2314
+ }),
2315
+ /* @__PURE__ */ jsx(LabeledSpecimen, {
2316
+ label: "Hover",
2317
+ role,
2318
+ forceHover: true
2319
+ })
2320
+ ]
2321
+ }),
2322
+ /* @__PURE__ */ jsxs("fieldset", {
2323
+ disabled,
2324
+ className: "space-y-1.5",
2325
+ children: [/* @__PURE__ */ jsxs("legend", {
2326
+ className: "sr-only",
2327
+ children: [ROLE_LABELS[role], " hover treatment"]
2328
+ }), choices.map((choice) => /* @__PURE__ */ jsx(HoverChoice, {
2329
+ role,
2330
+ groupName,
2331
+ parameter: control.parameter,
2332
+ value: choice.value,
2333
+ label: choice.label,
2334
+ checked: preference === choice.value,
2335
+ current,
2336
+ onPreview
2337
+ }, choice.value ?? "recommended"))]
2338
+ })
2339
+ ]
2340
+ });
2341
+ }
2342
+ function HoverChoice({ role, groupName, parameter, value, label, checked, current, onPreview }) {
2343
+ return /* @__PURE__ */ jsxs("label", {
2344
+ className: cn("flex cursor-pointer items-center gap-2 rounded-md border px-2 py-2 text-xs has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring", checked ? "border-foreground bg-accent/30" : "border-border"),
2345
+ children: [/* @__PURE__ */ jsx("input", {
2346
+ type: "radio",
2347
+ "data-testid": `button-hover-choice-${role}-${value ?? "recommended"}`,
2348
+ name: groupName,
2349
+ "aria-label": `${ROLE_LABELS[role]} hover: ${label}`,
2350
+ checked,
2351
+ onChange: () => {
2352
+ const updated = updateButtonStyleHoverPreference(current, parameter, role, value);
2353
+ if (updated.kind === "updated") onPreview(updated.selection);
2354
+ }
2355
+ }), value === "secondary" || value === "accent" ? /* @__PURE__ */ jsx(ButtonSpecimen, {
2356
+ role: value,
2357
+ text: value === "secondary" ? "Secondary button colour" : "Accent button colour"
2358
+ }) : /* @__PURE__ */ jsx("span", { children: label })]
2359
+ });
2360
+ }
2361
+ function LabeledSpecimen({ label, role, forceHover = false }) {
2362
+ return /* @__PURE__ */ jsxs("span", {
2363
+ className: "min-w-0",
2364
+ children: [/* @__PURE__ */ jsx("span", {
2365
+ className: "mb-1 block text-[10px] uppercase tracking-wide text-muted-foreground",
2366
+ children: label
2367
+ }), /* @__PURE__ */ jsx(ButtonSpecimen, {
2368
+ role,
2369
+ text: "Get started",
2370
+ forceHover
2371
+ })]
2372
+ });
2373
+ }
2374
+ function ButtonSpecimen({ role, text, forceHover = false }) {
2375
+ return /* @__PURE__ */ jsx("span", {
2376
+ "data-force-hover": forceHover ? "true" : void 0,
2377
+ className: themeButtonClassName({
2378
+ variant: role,
2379
+ size: "sm",
2380
+ extraClassName: "pointer-events-none inline-flex min-w-0 shrink justify-center whitespace-nowrap text-[11px]"
2381
+ }),
2382
+ children: text
2383
+ });
2384
+ }
2385
+ //#endregion
2159
2386
  //#region ../preview-next/src/client/preview/ButtonStylePicker.tsx
2160
- function ButtonStylePicker({ selections, current, previewTheme, onPreview, disabled }) {
2387
+ function ButtonStylePicker({ selections, current, previewTheme, onPreview, disabled, repairs = [] }) {
2161
2388
  const recipe = findButtonStyleRecipe(current.styleId);
2162
2389
  return /* @__PURE__ */ jsxs("div", {
2163
2390
  className: "space-y-3",
2164
- children: [/* @__PURE__ */ jsx("div", {
2165
- role: "radiogroup",
2166
- "aria-label": "Button style",
2167
- className: "grid grid-cols-1 gap-2",
2168
- children: selections.map((selection) => {
2169
- const optionRecipe = findButtonStyleRecipe(selection.styleId);
2170
- const selected = selection.styleId === current.styleId;
2171
- return /* @__PURE__ */ jsxs("label", {
2172
- className: cn("relative block cursor-pointer rounded-md border p-2 transition has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-offset-2", selected ? "border-foreground bg-accent/40 shadow-sm" : "border-border bg-background hover:border-foreground/40 hover:bg-accent/20", disabled && "cursor-not-allowed opacity-60"),
2173
- children: [
2174
- /* @__PURE__ */ jsx("input", {
2175
- type: "radio",
2176
- name: "button-style",
2177
- value: selection.styleId,
2178
- checked: selected,
2179
- onChange: () => onPreview(selection),
2180
- disabled,
2181
- className: "absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed"
2182
- }),
2183
- /* @__PURE__ */ jsx("span", {
2184
- className: "sr-only",
2185
- children: optionRecipe.accessibilityLabel
2186
- }),
2187
- /* @__PURE__ */ jsx(ButtonStylePreviewPair, {
2188
- selection: selected ? current : selection,
2189
- previewTheme
2190
- })
2191
- ]
2192
- }, buttonStyleSelectionKey(selection));
2391
+ children: [
2392
+ repairs.filter((repair) => repair.styleId === current.styleId).length > 0 ? /* @__PURE__ */ jsx("div", {
2393
+ role: "status",
2394
+ className: "rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning-foreground",
2395
+ children: "A saved button option was no longer available. That option is now Recommended; your button personality and other choices were kept."
2396
+ }) : null,
2397
+ /* @__PURE__ */ jsx("div", {
2398
+ role: "radiogroup",
2399
+ "aria-label": "Button style",
2400
+ className: "grid grid-cols-1 gap-2",
2401
+ children: selections.map((selection) => {
2402
+ const optionRecipe = findButtonStyleRecipe(selection.styleId);
2403
+ const selected = selection.styleId === current.styleId;
2404
+ return /* @__PURE__ */ jsxs("label", {
2405
+ className: cn("relative block cursor-pointer rounded-md border p-2 transition has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-offset-2", selected ? "border-foreground bg-accent/40 shadow-sm" : "border-border bg-background hover:border-foreground/40 hover:bg-accent/20", disabled && "cursor-not-allowed opacity-60"),
2406
+ children: [
2407
+ /* @__PURE__ */ jsx("input", {
2408
+ type: "radio",
2409
+ name: "button-style",
2410
+ value: selection.styleId,
2411
+ checked: selected,
2412
+ onChange: () => onPreview(selection),
2413
+ disabled,
2414
+ className: "absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed"
2415
+ }),
2416
+ /* @__PURE__ */ jsx("span", {
2417
+ className: "sr-only",
2418
+ children: optionRecipe.accessibilityLabel
2419
+ }),
2420
+ /* @__PURE__ */ jsx(ButtonStylePreviewPair, {
2421
+ selection: selected ? current : selection,
2422
+ previewTheme
2423
+ })
2424
+ ]
2425
+ }, buttonStyleSelectionKey(selection));
2426
+ })
2427
+ }),
2428
+ recipe.controls.map((control) => {
2429
+ if (control.kind === "button-hover-by-role") return /* @__PURE__ */ jsx(ButtonHoverRoleControls, {
2430
+ control,
2431
+ current,
2432
+ previewTheme,
2433
+ onPreview,
2434
+ disabled
2435
+ }, control.parameter);
2436
+ return /* @__PURE__ */ jsx(ButtonStyleChoiceControl, {
2437
+ control,
2438
+ current,
2439
+ onPreview,
2440
+ disabled
2441
+ }, control.parameter);
2193
2442
  })
2194
- }), recipe.controls.map((control) => {
2195
- const currentValue = buttonStyleSelectionParameterValue(current, control.parameter);
2196
- return /* @__PURE__ */ jsxs("fieldset", {
2197
- className: "space-y-2 rounded-md border border-border p-3",
2198
- disabled,
2199
- children: [/* @__PURE__ */ jsx("legend", {
2200
- className: "px-1 text-xs font-medium",
2201
- children: control.label
2202
- }), /* @__PURE__ */ jsx("div", {
2203
- className: "grid grid-cols-2 gap-2",
2204
- children: control.options.map((option) => /* @__PURE__ */ jsxs("label", {
2205
- className: cn("relative cursor-pointer rounded-md border px-2 py-1.5 text-center text-xs has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-offset-2", currentValue === option.value ? "border-foreground bg-accent/40" : "border-border hover:border-foreground/40"),
2206
- children: [/* @__PURE__ */ jsx("input", {
2207
- type: "radio",
2208
- name: `button-style-${current.styleId}-${control.parameter}`,
2209
- value: option.value,
2210
- checked: currentValue === option.value,
2211
- onChange: () => {
2212
- const updated = updateButtonStyleSelectionChoice(current, control.parameter, option.value);
2213
- if (updated.kind === "updated") onPreview(updated.selection);
2214
- },
2215
- className: "absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed"
2216
- }), option.label]
2217
- }, option.value))
2218
- })]
2219
- }, control.parameter);
2443
+ ]
2444
+ });
2445
+ }
2446
+ function ButtonStyleChoiceControl({ control, current, onPreview, disabled }) {
2447
+ const currentValue = buttonStyleSelectionParameterValue(current, control.parameter);
2448
+ return /* @__PURE__ */ jsxs("fieldset", {
2449
+ className: "space-y-2 rounded-md border border-border p-3",
2450
+ disabled,
2451
+ children: [/* @__PURE__ */ jsx("legend", {
2452
+ className: "px-1 text-xs font-medium",
2453
+ children: control.label
2454
+ }), /* @__PURE__ */ jsx("div", {
2455
+ className: "grid grid-cols-2 gap-2",
2456
+ children: control.options.map((option) => /* @__PURE__ */ jsxs("label", {
2457
+ className: cn("relative cursor-pointer rounded-md border px-2 py-1.5 text-center text-xs has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-offset-2", currentValue === option.value ? "border-foreground bg-accent/40" : "border-border hover:border-foreground/40"),
2458
+ children: [/* @__PURE__ */ jsx("input", {
2459
+ type: "radio",
2460
+ name: `button-style-${current.styleId}-${control.parameter}`,
2461
+ value: option.value,
2462
+ checked: currentValue === option.value,
2463
+ onChange: () => {
2464
+ const updated = updateButtonStyleSelectionChoice(current, control.parameter, option.value);
2465
+ if (updated.kind === "updated") onPreview(updated.selection);
2466
+ },
2467
+ className: "absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed"
2468
+ }), option.label]
2469
+ }, option.value))
2220
2470
  })]
2221
2471
  });
2222
2472
  }
@@ -2252,6 +2502,30 @@ function ButtonStylePreviewPair({ selection, previewTheme, compact = false }) {
2252
2502
  });
2253
2503
  }
2254
2504
  //#endregion
2505
+ //#region ../preview-next/src/client/preview/StyleConfiguratorWarningNotice.tsx
2506
+ function StyleConfiguratorWarningNotice({ warnings, onDismiss }) {
2507
+ return /* @__PURE__ */ jsxs("div", {
2508
+ role: "status",
2509
+ className: "rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning-foreground",
2510
+ children: [/* @__PURE__ */ jsx("ul", {
2511
+ className: "space-y-1",
2512
+ children: warnings.map((warning, index) => /* @__PURE__ */ jsx("li", { children: describeWarning(warning) }, `${warning.kind}-${index}`))
2513
+ }), /* @__PURE__ */ jsx("button", {
2514
+ type: "button",
2515
+ onClick: onDismiss,
2516
+ className: "mt-2 underline",
2517
+ children: "Dismiss"
2518
+ })]
2519
+ });
2520
+ }
2521
+ function describeWarning(warning) {
2522
+ switch (warning.kind) {
2523
+ case "rejected-button-style": return `Button style changed to ${warning.fellBackTo.styleId} because ${warning.requested} is not offered for this site style.`;
2524
+ case "repaired-header-selection": return `Header changed to ${warning.resolved.layoutId} / ${warning.resolved.styleId} because the requested combination is not offered for this site style.`;
2525
+ case "recompiled-missing-button-system": return "Buttons were rebuilt from the saved button preference because the applied theme did not contain a button system.";
2526
+ }
2527
+ }
2528
+ //#endregion
2255
2529
  //#region ../preview-next/src/client/preview/HeaderMenuControls.tsx
2256
2530
  function isHeaderMenuSurfaceState(state) {
2257
2531
  return state.kind === "available" && state.surface === "header";
@@ -3323,7 +3597,7 @@ const PALETTE_SURFACE_ROLES = [
3323
3597
  label: "Border"
3324
3598
  }
3325
3599
  ];
3326
- function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVersion = null, selectionUpdatedAt, initialSelections, headerLogoContext, onFocusedSurfaceChange }) {
3600
+ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVersion = null, selectionUpdatedAt, initialSelections, buttonStyleRepairs, headerLogoContext, onFocusedSurfaceChange }) {
3327
3601
  const designOpenRequest = usePreviewDesignOpenRequest();
3328
3602
  const router = useRouter();
3329
3603
  const previewDesign = usePreviewDesignCoordinator();
@@ -3653,7 +3927,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3653
3927
  return /* @__PURE__ */ jsxs("div", {
3654
3928
  className: "space-y-3",
3655
3929
  children: [
3656
- state.warnings.length > 0 ? /* @__PURE__ */ jsx(WarningNotice, {
3930
+ state.warnings.length > 0 ? /* @__PURE__ */ jsx(StyleConfiguratorWarningNotice, {
3657
3931
  warnings: state.warnings,
3658
3932
  onDismiss: handleDismissWarnings
3659
3933
  }) : null,
@@ -3731,6 +4005,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3731
4005
  current: state.previewed.buttonStyleSelection,
3732
4006
  previewTheme: currentPreviewPlan.themeOverlay,
3733
4007
  onPreview: handlePreviewButtonStyle,
4008
+ repairs: buttonStyleRepairs,
3734
4009
  disabled: aggregateMutationControlsDisabled
3735
4010
  }),
3736
4011
  /* @__PURE__ */ jsx(TypographyRow, {
@@ -3868,7 +4143,7 @@ function SiteStyleRow({ expanded, onToggle, current, onPreview, disabled }) {
3868
4143
  })
3869
4144
  });
3870
4145
  }
3871
- function ButtonStyleRow({ expanded, onToggle, siteStyle, current, previewTheme, onPreview, disabled }) {
4146
+ function ButtonStyleRow({ expanded, onToggle, siteStyle, current, previewTheme, onPreview, repairs, disabled }) {
3872
4147
  return /* @__PURE__ */ jsx(StyleRowFrame, {
3873
4148
  label: "Button style",
3874
4149
  currentLabel: findButtonStyleRecipe(current.styleId).accessibilityLabel,
@@ -3884,6 +4159,7 @@ function ButtonStyleRow({ expanded, onToggle, siteStyle, current, previewTheme,
3884
4159
  current,
3885
4160
  previewTheme,
3886
4161
  onPreview,
4162
+ repairs,
3887
4163
  disabled
3888
4164
  })
3889
4165
  });
@@ -4146,30 +4422,9 @@ function expandedRowForPreviewDesignRow(row) {
4146
4422
  function isRecord(value) {
4147
4423
  return typeof value === "object" && value !== null;
4148
4424
  }
4149
- function WarningNotice({ warnings, onDismiss }) {
4150
- return /* @__PURE__ */ jsxs("div", {
4151
- role: "status",
4152
- className: "rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-xs text-warning-foreground",
4153
- children: [/* @__PURE__ */ jsx("ul", {
4154
- className: "space-y-1",
4155
- children: warnings.map((warning, index) => /* @__PURE__ */ jsx("li", { children: describeWarning(warning) }, `${warning.kind}-${index}`))
4156
- }), /* @__PURE__ */ jsx("button", {
4157
- type: "button",
4158
- onClick: onDismiss,
4159
- className: "mt-2 underline",
4160
- children: "Dismiss"
4161
- })]
4162
- });
4163
- }
4164
- function describeWarning(warning) {
4165
- switch (warning.kind) {
4166
- case "rejected-button-style": return `Button style changed to ${warning.fellBackTo.styleId} because ${warning.requested} is not offered for this site style.`;
4167
- case "repaired-header-selection": return `Header changed to ${warning.resolved.layoutId} / ${warning.resolved.styleId} because the requested combination is not offered for this site style.`;
4168
- }
4169
- }
4170
4425
  //#endregion
4171
4426
  //#region ../preview-next/src/client/preview/PreviewEditorSidebar.tsx
4172
- function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, themeSelectionHeaderSelection = null, themeSelectionFooterLookId = null, themeSelectionHeaderLogo, apiClient, bearerToken, entrySubrouteContext, assistantPanel, sdkConfig, bookingOfferingPresets, siteStyleAccess = { kind: "hidden" }, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange }) {
4427
+ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, themeSelectionButtonStyleRepairs, themeSelectionHeaderSelection = null, themeSelectionFooterLookId = null, themeSelectionHeaderLogo, apiClient, bearerToken, entrySubrouteContext, assistantPanel, sdkConfig, bookingOfferingPresets, siteStyleAccess = { kind: "hidden" }, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange }) {
4173
4428
  const controller = useEntryController();
4174
4429
  const controllerBlocks = controller.blocks;
4175
4430
  const uiStore = useEditorUiStoreInstance();
@@ -4317,6 +4572,7 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
4317
4572
  headerSelection: themeSelectionHeaderSelection,
4318
4573
  footerLookId: themeSelectionFooterLookId
4319
4574
  },
4575
+ buttonStyleRepairs: themeSelectionButtonStyleRepairs,
4320
4576
  headerLogoContext: themeSelectionHeaderLogo,
4321
4577
  onFocusedSurfaceChange: setDesignTakeoverActive
4322
4578
  }) : null,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { $a as Eye, At as useEditor, Ba as Sparkles, Bt as useEditorUiStoreInstance, Ca as DropdownMenuTrigger, Da as cn, Ea as cva, Ga as Pencil, Gi as TooltipTrigger, Ka as PenLine, La as Undo2, Ra as TriangleAlert, Rt as classifyHistoryShortcut, Ta as Button, Ui as Tooltip, Wa as Redo2, Wi as TooltipContent, Xa as LoaderCircle, Xt as useMultiAutosave, a as previewDesignHistoryDomainForCommand, ba as DropdownMenuItem, ca as Dialog, eo as EllipsisVertical, fa as DialogHeader, i as usePreviewDesignHistoryOrder, la as DialogContent, lt as useEntryEditorController, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, pa as DialogTitle, qa as Palette, ro as ChevronDown, ua as DialogDescription, va as DropdownMenu, ya as DropdownMenuContent, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-BhUG_72i.mjs";
3
- import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-CX1C_KJ4.mjs";
4
- import { C as FixedBottomSurface, a as usePreviewPageDesignEditorState, c as applyPreviewChromeSurfaceToElement, l as resolvePreviewChromeSurface, o as PREVIEW_CHROME_PORTAL_CLASS_NAME, s as PREVIEW_CHROME_THEME_CLASS_NAME } from "./SdkPreviewModeRuntime-B1pWnhu-.mjs";
2
+ import { $a as LoaderCircle, Aa as cn, At as useEditor, Ba as Undo2, Bt as useEditorUiStoreInstance, Ca as DropdownMenuItem, Ea as DropdownMenuTrigger, Ja as Pencil, Ji as TooltipTrigger, Ki as Tooltip, Oa as Button, Rt as classifyHistoryShortcut, Sa as DropdownMenuContent, Ua as Sparkles, Va as TriangleAlert, Xa as Palette, Xt as useMultiAutosave, Ya as PenLine, a as previewDesignHistoryDomainForCommand, da as Dialog, fa as DialogContent, ga as DialogTitle, ha as DialogHeader, i as usePreviewDesignHistoryOrder, ka as cva, lt as useEntryEditorController, n as useSiteChromeCustomizeOptional, no as Eye, o as selectPreviewDesignHistoryDomain, oo as ChevronDown, pa as DialogDescription, qa as Redo2, qi as TooltipContent, ro as EllipsisVertical, xa as DropdownMenu, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-2TzT3vbj.mjs";
3
+ import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-BFKd4LrN.mjs";
4
+ import { C as FixedBottomSurface, a as usePreviewPageDesignEditorState, c as applyPreviewChromeSurfaceToElement, l as resolvePreviewChromeSurface, o as PREVIEW_CHROME_PORTAL_CLASS_NAME, s as PREVIEW_CHROME_THEME_CLASS_NAME } from "./SdkPreviewModeRuntime-DJu3qu33.mjs";
5
5
  import * as React$1 from "react";
6
6
  import { useCallback, useEffect, useMemo, useState, useTransition } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { n as markPreviewAuthExpired, s as ApiRequestError } from "./previewAuthStore-CX1C_KJ4.mjs";
2
+ import { n as markPreviewAuthExpired, s as ApiRequestError } from "./previewAuthStore-BFKd4LrN.mjs";
3
3
  import { createContext, useContext, useRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { MutationCache, QueryCache, QueryClient, QueryClientProvider } from "@tanstack/react-query";