@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
package/CHANGELOG.md CHANGED
@@ -6,6 +6,16 @@ until the next version ships and then gets the version it went out in.
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ### Routable content includes native page surfaces (#1332)
10
+
11
+ - **`RoutableContentItem` is now a discriminated union.** The public routable-
12
+ content feed can return `entityType: 'pageSurface'` for native event/course
13
+ routes. Page-surface items have `identifier`, `contentTypeKey`, and
14
+ `contentTypeName` fixed to `null`; page/content variants retain their own
15
+ identifier metadata. The route status fields now expose the API's closed
16
+ status union rather than `string`. Consumers that construct these objects
17
+ directly may need to provide the variant-specific metadata fields.
18
+
9
19
  ### Breaking: the `transparent` header variant is gone
10
20
 
11
21
  - **`Layout`'s `headerVariant` prop no longer accepts `'transparent'`.** The
@@ -37,9 +47,9 @@ consumer needs to change anything.
37
47
  filled media frame and background that variant's layout expects), while
38
48
  `'alternative'` gets the card surface only. The two spellings of "statement
39
49
  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.
50
+ - **`CardStylesContent` names a card surface with `role`.** Persisted
51
+ `cardVariant` values are repaired to `role` by the release migration; the SDK
52
+ and renderer no longer expose a parallel compatibility field.
43
53
  - **Missing compiled fields declared.** `MediaTextContent._frameStyles`,
44
54
  `CollectionContent._cardStyles` and `EventCalendarContent._containerStyles`
45
55
  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 Maximize2, $i as SelectTrigger, A as markApplySaved, B as resetTypographyToSaved, Bt as useEditorUiStoreInstance, C as applyTypographyDraftPatch, Ca as DropdownMenuContent, Ci as updateButtonStyleSelectionChoice, Cr as curatedSiteStyles, D as dismissWarnings, Da as DropdownMenuTrigger, Dr as findFooterLook, E as deriveStyleConfiguratorCapabilities, Ea as DropdownMenuSeparator, En as ThemeScope, F as previewCuratedPalette, Fa as assertNever$1, Fr as curatedPalettes, Ga as Smartphone, H as styleConfiguratorHistoryEntryForPersistedSelection, I as previewFooterLook, Ka as SlidersHorizontal, L as previewHeaderLayout, M as openRow, N as palettePreviewProjection, Na as unsafeAsEditorBlockId, Ni as paletteColorEntries, Nt as BlockEditor, O as isPreviewingChange, Or as getHeaderLayout, P as previewButtonStyle, Pi as paletteColorsSchema, Q as resolvePreviewSidebarTab, Qa as Monitor, Qi as SelectItem, R as previewHeaderStyle, S as applyResolvedSelections, Sa as DropdownMenu, Si as updateButtonStyleHoverPreference, T as createStyleConfiguratorState, Ta as DropdownMenuLabel, Ti as themeButtonClassName, Tr as getCuratedSiteStyle, U as syncStyleConfiguratorState, Ua as Tablet, V as setPaletteColors, W as toggleRow, Xi as Select, Z as createOptimisticActionRunner, Zi as SelectContent, _ as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, _n as listEntryPageContentSlots, aa as PopoverContent, an as resolveContentTitle, ao as ChevronRight, at as useUISelector, b as cycleSiteChromeSelectionId, ba as CollapsibleTrigger, bi as findButtonStyleRecipe, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as Tabs, cn as ManifestForm, co as Check, ct as useEntryController, d as resolveStyleConfiguratorInitialSnapshot, da as TabsTrigger, dn as FormRenderer, ea as SelectValue, eo as LoaderCircle, ia as Popover, in as resolvePageRouteSlug, it as ContentFieldsForm, j as markApplySaving, ja as cn, ji as VARIANT_ROLES, k as markApplyFailed, ka as Button, kr as getHeaderStyle, l as deriveSiteStylePreviewUpdate, la as TabsContent, n as useSiteChromeCustomizeOptional, na as CalloutDescription, oa as PopoverTrigger, oo as ChevronLeft, p as usePreviewDesignCoordinator, pn as createStoreBackend, ra as SearchInput, rn as deriveRouteMetadataPresentation, s as buildApplySiteStyleSelectionBody, sa as Input, so as ChevronDown, ta as Callout, tn as isAdapterReferenceKind, u as planSiteStylePreviewChange, ua as TabsList, un as createManifestValidation, v as reportPreviewDesignError, va as Collapsible, vi as buttonStyleHoverPreferenceValue, w as cancelPreview, wa as DropdownMenuItem, wi as buttonStyleSelectionKey, x as planSiteChromeSelection, xa as Surface, xi as resolveButtonStyleSelection, y as buildSiteChromeSelectionModels, ya as CollapsibleContent, yi as buttonStyleSelectionParameterValue, z as previewSiteStyle, za as X$1, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-DVMTMvqA.mjs";
3
+ import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-BFKd4LrN.mjs";
4
+ import { t as Separator } from "./separator-CMhj6BTi.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-8CyGCXir.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 { Aa as cva, At as useEditor, Bt as useEditorUiStoreInstance, Ca as DropdownMenuContent, Da as DropdownMenuTrigger, Ha as TriangleAlert, Ja as Redo2, Ji as TooltipContent, Rt as classifyHistoryShortcut, Sa as DropdownMenu, Va as Undo2, Wa as Sparkles, Xa as PenLine, Xt as useMultiAutosave, Ya as Pencil, Yi as TooltipTrigger, Za as Palette, _a as DialogTitle, a as previewDesignHistoryDomainForCommand, eo as LoaderCircle, fa as Dialog, ga as DialogHeader, i as usePreviewDesignHistoryOrder, io as EllipsisVertical, ja as cn, ka as Button, lt as useEntryEditorController, ma as DialogDescription, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, pa as DialogContent, qi as Tooltip, ro as Eye, so as ChevronDown, wa as DropdownMenuItem, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-DVMTMvqA.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-8CyGCXir.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";