@riverbankcms/sdk 0.143.0 → 0.145.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 (254) hide show
  1. package/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +20 -26
  2. package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +431 -351
  5. package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +3989 -2769
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
  7. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
  8. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
  9. package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
  10. package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
  11. package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
  12. package/dist/_dts/api/src/billing.d.ts +1 -1
  13. package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
  14. package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
  16. package/dist/_dts/api/src/communications.d.ts +14 -22
  17. package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +105 -58
  19. package/dist/_dts/api/src/index.d.ts +1 -1
  20. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  21. package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
  22. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
  23. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
  24. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
  25. package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
  26. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
  27. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
  28. package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
  29. package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
  30. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  31. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
  32. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
  33. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
  34. package/dist/_dts/api/src/siteSettings.d.ts +17 -7
  35. package/dist/_dts/api/src/types.d.ts +2 -1
  36. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  37. package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
  38. package/dist/_dts/block-form/src/client/index.d.ts +1 -0
  39. package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
  40. package/dist/_dts/block-form/src/context/index.d.ts +1 -0
  41. package/dist/_dts/block-form/src/index.d.ts +1 -0
  42. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
  43. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
  44. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
  45. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
  46. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
  47. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
  48. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
  49. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
  50. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  51. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +58 -10
  52. package/dist/_dts/blocks/src/index.d.ts +1 -1
  53. package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
  54. package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
  55. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
  56. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
  57. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
  58. package/dist/_dts/blocks/src/server.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
  62. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  63. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  64. package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
  65. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
  66. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
  67. package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
  68. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
  69. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
  70. package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
  72. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
  73. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
  75. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
  76. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
  77. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
  78. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
  79. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
  97. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
  98. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
  99. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
  100. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -4
  101. package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
  103. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
  104. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
  105. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
  106. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
  108. package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
  109. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  110. package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
  111. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  112. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
  113. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
  114. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
  115. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  116. package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
  117. package/dist/_dts/core/src/editor-state.d.ts +6 -0
  118. package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
  119. package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
  120. package/dist/_dts/core/src/index.d.ts +3 -0
  121. package/dist/_dts/core/src/public-profile.d.ts +9 -0
  122. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +676 -241
  123. package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
  124. package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
  125. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
  126. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
  127. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
  128. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
  129. package/dist/_dts/logger/src/console.d.ts +3 -0
  130. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
  131. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  132. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
  133. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
  134. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  135. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
  136. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  137. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
  138. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
  139. package/dist/_dts/sdk/src/client/types.d.ts +4 -1
  140. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  141. package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
  142. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
  143. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
  144. package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +21 -15
  146. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
  147. package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
  148. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
  149. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
  150. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -2
  151. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
  152. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
  153. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
  154. package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
  155. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  156. package/dist/_dts/sdk/src/version.d.ts +1 -1
  157. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  158. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
  159. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
  160. package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
  161. package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
  162. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
  164. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
  165. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
  166. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
  167. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
  168. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  169. package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
  170. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
  171. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
  172. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  173. package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
  174. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
  175. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
  176. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
  177. package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
  178. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
  179. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
  180. package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
  181. package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
  182. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  183. package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
  184. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
  185. package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
  186. package/dist/_dts/ui/src/index.d.ts +1 -0
  187. package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +4 -55
  188. package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +27 -17
  189. package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DnsUeONl.mjs} +54 -46
  190. package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-CNBFqJS4.mjs} +3 -4
  191. package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
  192. package/dist/client/ThemedButton-LAJTNrS8.mjs +412 -0
  193. package/dist/client/{accordion-DOmnDoyg.mjs → accordion-BcNF9TjX.mjs} +1 -1
  194. package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-BUaQ3S03.mjs} +161 -75
  195. package/dist/client/bookings.mjs +392 -182
  196. package/dist/client/{carousel-BZJ7pno3.mjs → carousel-CTdF6e0V.mjs} +2 -2
  197. package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
  198. package/dist/client/{cart-CaeVAHJl.mjs → cart-pGtyf_XU.mjs} +3 -3
  199. package/dist/client/{checkout-7wmoNDtG.mjs → checkout-Da9WSn7Y.mjs} +3 -3
  200. package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
  201. package/dist/client/client.mjs +3819 -2717
  202. package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
  203. package/dist/client/{context-BOimxE3U.mjs → context-BFeY_Wbm.mjs} +24 -8
  204. package/dist/client/{dates-BnzVksi4.mjs → dates-BhwVSxDg.mjs} +2 -2
  205. package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BAtdnR4s.mjs} +39 -50
  206. package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-RksA3tRC.mjs} +5 -4
  207. package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
  208. package/dist/client/{eventListing-dph8loYX.mjs → eventListing-BpJBkviM.mjs} +5 -4
  209. package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-B18jFq_o.mjs} +83 -68
  210. package/dist/client/{form-BLVVAnd3.mjs → form-Dodt8Y8t.mjs} +9 -10
  211. package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-B0qj9ttg.mjs} +23 -30
  212. package/dist/client/hooks.mjs +807 -162
  213. package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-gn-iMk7a.mjs} +9 -10
  214. package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
  215. package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-oByLdFkr.mjs} +31 -11
  216. package/dist/client/{pricing-ChinRYFt.mjs → pricing-BOU0_Hai.mjs} +1 -1
  217. package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-D9v1zH2j.mjs} +3 -3
  218. package/dist/client/{productList-OoINA0h1.mjs → productList-D-mItx1n.mjs} +3 -3
  219. package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-C3TP_z4x.mjs} +158 -61
  220. package/dist/client/rendering/client.mjs +2785 -2000
  221. package/dist/client/rendering/islands.mjs +19 -19
  222. package/dist/client/rendering.mjs +3855 -2694
  223. package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +8 -1
  224. package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
  225. package/dist/client/{shop-CLJFqNIq.mjs → shop-Dufw7N7o.mjs} +45 -58
  226. package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-gklw_hLF.mjs} +42 -55
  227. package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
  228. package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-B5nyA41S.mjs} +6 -5
  229. package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-CLL829vy.mjs} +66 -355
  230. package/dist/preview-next/before-render.mjs +147 -77
  231. package/dist/preview-next/client/runtime.mjs +4 -4
  232. package/dist/preview-next/editor-chrome.css +8 -0
  233. package/dist/preview-next/keepAlive.mjs +147 -77
  234. package/dist/preview-next/middleware.mjs +147 -77
  235. package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
  236. package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
  237. package/dist/{separator-BTp96X32.mjs → separator-EvdCAn4V.mjs} +1 -1
  238. package/dist/server/components.mjs +2548 -1607
  239. package/dist/server/config-validation.mjs +794 -160
  240. package/dist/server/config.mjs +794 -160
  241. package/dist/server/data.mjs +806 -161
  242. package/dist/server/index.mjs +167 -85
  243. package/dist/server/navigation.mjs +28 -1
  244. package/dist/server/next.mjs +14930 -14036
  245. package/dist/server/page-converter.mjs +494 -113
  246. package/dist/server/prebuild.mjs +1 -1
  247. package/dist/server/rendering/server.mjs +2537 -1590
  248. package/dist/server/rendering.mjs +2571 -1618
  249. package/dist/server/routing.mjs +918 -200
  250. package/dist/server/server.mjs +819 -205
  251. package/dist/server/theme-bridge.mjs +1232 -28
  252. package/dist/server/theme.mjs +6 -4
  253. package/dist/styles/index.css +6 -0
  254. package/package.json +2 -1
@@ -1,3 +1,4 @@
1
+ import type { BrowserReadAuthority } from "../../api/types";
1
2
  import type { DisplayMode, EventLayout } from "../../../blocks/events/shared/types";
2
3
  import { type InteractiveIslandProps } from "../../../../contracts/islands";
3
4
  import type { EventListingDisplay, EventListingInteractiveIslandProps } from "./EventListing.interactive";
@@ -36,6 +37,7 @@ export type EventCalendarHydration = EventCollectionHydration;
36
37
  type EventCalendarIslandMeta = Readonly<{
37
38
  siteId: string;
38
39
  apiBaseUrl?: string;
40
+ readAuthority?: BrowserReadAuthority;
39
41
  stage?: "preview" | "published";
40
42
  }>;
41
43
  export declare function buildEventCalendarDisplay(source: EventCalendarSourceProps): EventCalendarDisplay;
@@ -52,7 +54,6 @@ export declare const eventCalendarBlockRuntime: Readonly<{
52
54
  hydration: Readonly<{
53
55
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
54
56
  siteId: string;
55
- stage?: "preview" | "published";
56
57
  prefetchedEvents: boolean;
57
58
  eventSurface: import("../../..").EventSurfaceScope;
58
59
  filterEventPresets: string | null;
@@ -78,7 +79,6 @@ export declare const eventCalendarBlockRuntime: Readonly<{
78
79
  hydration: Readonly<{
79
80
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
80
81
  siteId: string;
81
- stage?: "preview" | "published";
82
82
  prefetchedEvents: boolean;
83
83
  eventSurface: import("../../..").EventSurfaceScope;
84
84
  filterEventPresets: string | null;
@@ -98,7 +98,6 @@ export declare const eventCalendarBlockRuntime: Readonly<{
98
98
  hydration: Readonly<{
99
99
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
100
100
  siteId: string;
101
- stage?: "preview" | "published";
102
101
  prefetchedEvents: boolean;
103
102
  eventSurface: import("../../..").EventSurfaceScope;
104
103
  filterEventPresets: string | null;
@@ -120,6 +119,7 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
120
119
  encode: (value: Readonly<Readonly<{
121
120
  siteId: string;
122
121
  apiBaseUrl?: string;
122
+ readAuthority?: BrowserReadAuthority;
123
123
  stage?: "preview" | "published";
124
124
  }> & {
125
125
  renderKind: "progressive";
@@ -130,7 +130,6 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
130
130
  hydration: Readonly<{
131
131
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
132
132
  siteId: string;
133
- stage?: "preview" | "published";
134
133
  prefetchedEvents: boolean;
135
134
  eventSurface: import("../../..").EventSurfaceScope;
136
135
  filterEventPresets: string | null;
@@ -149,6 +148,7 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
149
148
  decode: (input: unknown) => import("../../../../contracts").DecodeResult<Readonly<Readonly<{
150
149
  siteId: string;
151
150
  apiBaseUrl?: string;
151
+ readAuthority?: BrowserReadAuthority;
152
152
  stage?: "preview" | "published";
153
153
  }> & {
154
154
  renderKind: "progressive";
@@ -159,7 +159,6 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
159
159
  hydration: Readonly<{
160
160
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
161
161
  siteId: string;
162
- stage?: "preview" | "published";
163
162
  prefetchedEvents: boolean;
164
163
  eventSurface: import("../../..").EventSurfaceScope;
165
164
  filterEventPresets: string | null;
@@ -7,10 +7,9 @@ import type { EventCollectionHydration } from "./shared/eventCollectionContract"
7
7
  import { type CalendarDate, type CalendarViewport } from "./shared";
8
8
  import { type EventListPaginationAction, type EventPageSize } from "./shared/listOptions";
9
9
  import { type CalendarViewToggleOption } from "./shared/calendarViewOptions";
10
- export type EventCombinedClientProps = Readonly<{
10
+ type EventCombinedControllerProps = Readonly<{
11
11
  events?: PublicEvent[] | null;
12
12
  siteId: string;
13
- stage?: "preview" | "published";
14
13
  listLayout?: EventLayout;
15
14
  listColumns?: ColumnOption;
16
15
  eventsPerPage?: EventPageSize;
@@ -40,6 +39,12 @@ export type EventCombinedClientProps = Readonly<{
40
39
  calendarContext: EventCollectionHydration["calendarContext"];
41
40
  calendarWindow?: EventCollectionHydration["calendarWindow"];
42
41
  }>;
42
+ /** External SDK prop shape retained at blocks/client/events; hosted controllers
43
+ * obtain read mode exclusively from their provider, never from this metadata. */
44
+ export type EventCombinedClientProps = EventCombinedControllerProps & Readonly<{
45
+ /** @deprecated Configure browsing authority on BlockApiProvider instead. */
46
+ stage?: "preview" | "published";
47
+ }>;
43
48
  export type EventCombinedIslandClientProps = EventCombinedInteractiveIslandProps;
44
49
  type EventCombinedCalendarTabProps = Readonly<{
45
50
  calendarTabViews: CalendarTabViews;
@@ -1,3 +1,4 @@
1
+ import type { BrowserReadAuthority } from "../../api/types";
1
2
  import { type InteractiveIslandProps } from "../../../../contracts/islands";
2
3
  import type { EventListingDisplay } from "./EventListing.interactive";
3
4
  import { type EventCollectionDisplay, type EventCollectionHydration, type EventCollectionSourceProps } from "./shared/eventCollectionContract";
@@ -10,6 +11,7 @@ export type EventCombinedHydration = EventCollectionHydration;
10
11
  type EventCombinedIslandMeta = Readonly<{
11
12
  siteId: string;
12
13
  apiBaseUrl?: string;
14
+ readAuthority?: BrowserReadAuthority;
13
15
  stage?: "preview" | "published";
14
16
  }>;
15
17
  export declare function buildEventCombinedDisplay(source: EventCombinedSourceProps): EventCombinedDisplay;
@@ -25,6 +27,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
25
27
  events?: import("../../../../../../api/src/index").PublicEvent[] | null;
26
28
  siteId: string;
27
29
  apiBaseUrl?: string;
30
+ readAuthority?: BrowserReadAuthority;
28
31
  stage?: "preview" | "published";
29
32
  listLayout?: import("../../..").EventLayout;
30
33
  listColumns?: import("../../..").ColumnOption;
@@ -60,7 +63,6 @@ export declare const eventCombinedBlockRuntime: Readonly<{
60
63
  hydration: Readonly<{
61
64
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
62
65
  siteId: string;
63
- stage?: "preview" | "published";
64
66
  prefetchedEvents: boolean;
65
67
  eventSurface: import("../../..").EventSurfaceScope;
66
68
  filterEventPresets: string | null;
@@ -82,6 +84,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
82
84
  events?: import("../../../../../../api/src/index").PublicEvent[] | null;
83
85
  siteId: string;
84
86
  apiBaseUrl?: string;
87
+ readAuthority?: BrowserReadAuthority;
85
88
  stage?: "preview" | "published";
86
89
  listLayout?: import("../../..").EventLayout;
87
90
  listColumns?: import("../../..").ColumnOption;
@@ -118,6 +121,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
118
121
  events?: import("../../../../../../api/src/index").PublicEvent[] | null;
119
122
  siteId: string;
120
123
  apiBaseUrl?: string;
124
+ readAuthority?: BrowserReadAuthority;
121
125
  stage?: "preview" | "published";
122
126
  listLayout?: import("../../..").EventLayout;
123
127
  listColumns?: import("../../..").ColumnOption;
@@ -156,7 +160,6 @@ export declare const eventCombinedBlockRuntime: Readonly<{
156
160
  hydration: Readonly<{
157
161
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
158
162
  siteId: string;
159
- stage?: "preview" | "published";
160
163
  prefetchedEvents: boolean;
161
164
  eventSurface: import("../../..").EventSurfaceScope;
162
165
  filterEventPresets: string | null;
@@ -176,7 +179,6 @@ export declare const eventCombinedBlockRuntime: Readonly<{
176
179
  hydration: Readonly<{
177
180
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
178
181
  siteId: string;
179
- stage?: "preview" | "published";
180
182
  prefetchedEvents: boolean;
181
183
  eventSurface: import("../../..").EventSurfaceScope;
182
184
  filterEventPresets: string | null;
@@ -198,6 +200,7 @@ export declare const eventCombinedInteractiveIslandPropsCodec: Readonly<{
198
200
  encode: (value: Readonly<Readonly<{
199
201
  siteId: string;
200
202
  apiBaseUrl?: string;
203
+ readAuthority?: BrowserReadAuthority;
201
204
  stage?: "preview" | "published";
202
205
  }> & {
203
206
  renderKind: "progressive";
@@ -208,7 +211,6 @@ export declare const eventCombinedInteractiveIslandPropsCodec: Readonly<{
208
211
  hydration: Readonly<{
209
212
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
210
213
  siteId: string;
211
- stage?: "preview" | "published";
212
214
  prefetchedEvents: boolean;
213
215
  eventSurface: import("../../..").EventSurfaceScope;
214
216
  filterEventPresets: string | null;
@@ -227,6 +229,7 @@ export declare const eventCombinedInteractiveIslandPropsCodec: Readonly<{
227
229
  decode: (input: unknown) => import("../../../../contracts").DecodeResult<Readonly<Readonly<{
228
230
  siteId: string;
229
231
  apiBaseUrl?: string;
232
+ readAuthority?: BrowserReadAuthority;
230
233
  stage?: "preview" | "published";
231
234
  }> & {
232
235
  renderKind: "progressive";
@@ -237,7 +240,6 @@ export declare const eventCombinedInteractiveIslandPropsCodec: Readonly<{
237
240
  hydration: Readonly<{
238
241
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
239
242
  siteId: string;
240
- stage?: "preview" | "published";
241
243
  prefetchedEvents: boolean;
242
244
  eventSurface: import("../../..").EventSurfaceScope;
243
245
  filterEventPresets: string | null;
@@ -3,10 +3,12 @@ import { type CardRole } from "../../../../../../theme-core/src/cards/index";
3
3
  import type { ButtonVariant, CardOrientation, ColumnOption, EventLayout, EventScheduleScope, EventSurfaceScope, FilterAutoShow, PublicEvent } from "../../../blocks/events/shared/types";
4
4
  import { type InteractiveIslandProps } from "../../../../contracts/islands";
5
5
  import { type EventListPaginationAction, type EventListPaginationMode, type EventPageSize } from "./shared/listOptions";
6
+ import type { BrowserReadAuthority } from "../../api/types";
6
7
  export type EventListingSourceProps = Pick<EventCollectionSourceProps, "showFilters" | "showCategoryFilter" | "showVenueFilter" | "showStaffFilter" | "eventSurface" | "filterEventPresets" | "scheduleScope" | "seriesIds" | "filterCategoryIds" | "filterStaffMemberId" | "filterVenueId"> & Readonly<{
7
8
  events?: PublicEvent[] | null;
8
9
  siteId: string;
9
10
  apiBaseUrl?: string;
11
+ readAuthority?: BrowserReadAuthority;
10
12
  stage?: "preview" | "published";
11
13
  layout?: EventLayout;
12
14
  columns?: ColumnOption;
@@ -42,7 +44,6 @@ export type EventListingDisplay = Readonly<{
42
44
  }>;
43
45
  export type EventListingHydration = Readonly<{
44
46
  siteId: string;
45
- stage?: "preview" | "published";
46
47
  eventsPerPage: EventPageSize;
47
48
  paginationAction: EventListPaginationAction;
48
49
  showFilters: boolean;
@@ -61,6 +62,7 @@ export type EventListingHydration = Readonly<{
61
62
  type EventListingIslandMeta = Readonly<{
62
63
  siteId: string;
63
64
  apiBaseUrl?: string;
65
+ readAuthority?: BrowserReadAuthority;
64
66
  stage?: "preview" | "published";
65
67
  }>;
66
68
  export type EventListingInteractiveIslandProps = InteractiveIslandProps<EventListingIslandMeta, "event-listing", typeof eventListingBlockRuntime>;
@@ -86,7 +88,6 @@ export declare const eventListingBlockRuntime: Readonly<{
86
88
  }>;
87
89
  hydration: Readonly<{
88
90
  siteId: string;
89
- stage?: "preview" | "published";
90
91
  eventsPerPage: EventPageSize;
91
92
  paginationAction: EventListPaginationAction;
92
93
  showFilters: boolean;
@@ -129,7 +130,6 @@ export declare const eventListingBlockRuntime: Readonly<{
129
130
  }>;
130
131
  hydration: Readonly<{
131
132
  siteId: string;
132
- stage?: "preview" | "published";
133
133
  eventsPerPage: EventPageSize;
134
134
  paginationAction: EventListPaginationAction;
135
135
  showFilters: boolean;
@@ -166,7 +166,6 @@ export declare const eventListingBlockRuntime: Readonly<{
166
166
  }>;
167
167
  hydration: Readonly<{
168
168
  siteId: string;
169
- stage?: "preview" | "published";
170
169
  eventsPerPage: EventPageSize;
171
170
  paginationAction: EventListPaginationAction;
172
171
  showFilters: boolean;
@@ -190,6 +189,7 @@ export declare const eventListingInteractiveIslandPropsCodec: Readonly<{
190
189
  encode: (value: Readonly<Readonly<{
191
190
  siteId: string;
192
191
  apiBaseUrl?: string;
192
+ readAuthority?: BrowserReadAuthority;
193
193
  stage?: "preview" | "published";
194
194
  }> & {
195
195
  renderKind: "progressive";
@@ -215,7 +215,6 @@ export declare const eventListingInteractiveIslandPropsCodec: Readonly<{
215
215
  }>;
216
216
  hydration: Readonly<{
217
217
  siteId: string;
218
- stage?: "preview" | "published";
219
218
  eventsPerPage: EventPageSize;
220
219
  paginationAction: EventListPaginationAction;
221
220
  showFilters: boolean;
@@ -236,6 +235,7 @@ export declare const eventListingInteractiveIslandPropsCodec: Readonly<{
236
235
  decode: (input: unknown) => import("../../../../contracts").DecodeResult<Readonly<Readonly<{
237
236
  siteId: string;
238
237
  apiBaseUrl?: string;
238
+ readAuthority?: BrowserReadAuthority;
239
239
  stage?: "preview" | "published";
240
240
  }> & {
241
241
  renderKind: "progressive";
@@ -261,7 +261,6 @@ export declare const eventListingInteractiveIslandPropsCodec: Readonly<{
261
261
  }>;
262
262
  hydration: Readonly<{
263
263
  siteId: string;
264
- stage?: "preview" | "published";
265
264
  eventsPerPage: EventPageSize;
266
265
  paginationAction: EventListPaginationAction;
267
266
  showFilters: boolean;
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import type { BrowserReadAuthority } from "../../../api/types";
2
3
  import { type CalendarWindowPage } from "../../../../blocks/events/shared/calendarWindow";
3
4
  import { type CardRole } from "../../../../../../../theme-core/src/cards/index";
4
5
  import { type BookingTimeZone } from "../../../../../../../core/src/index";
@@ -11,6 +12,7 @@ export type EventCollectionSourceProps = Readonly<{
11
12
  events?: PublicEvent[] | null;
12
13
  siteId: string;
13
14
  apiBaseUrl?: string;
15
+ readAuthority?: BrowserReadAuthority;
14
16
  stage?: "preview" | "published";
15
17
  listLayout?: EventLayout;
16
18
  listColumns?: ColumnOption;
@@ -73,7 +75,6 @@ export type EventCollectionDisplay = Readonly<{
73
75
  export type EventCollectionHydration = Readonly<{
74
76
  calendarWindow?: CalendarWindowPage;
75
77
  siteId: string;
76
- stage?: "preview" | "published";
77
78
  prefetchedEvents: boolean;
78
79
  eventSurface: EventSurfaceScope;
79
80
  filterEventPresets: string | null;
@@ -93,8 +94,8 @@ export declare const eventCollectionFilterSourceSchemaShape: {
93
94
  readonly showVenueFilter: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
94
95
  readonly showStaffFilter: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
95
96
  readonly eventSurface: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
96
- custom: "custom";
97
97
  all: "all";
98
+ custom: "custom";
98
99
  regularClassSchedule: "regularClassSchedule";
99
100
  specialDatedEvents: "specialDatedEvents";
100
101
  }>>>;
@@ -139,8 +140,8 @@ export declare const eventCollectionSourceSchemaShape: {
139
140
  readonly showVenueFilter: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
140
141
  readonly showStaffFilter: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
141
142
  readonly eventSurface: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
142
- custom: "custom";
143
143
  all: "all";
144
+ custom: "custom";
144
145
  regularClassSchedule: "regularClassSchedule";
145
146
  specialDatedEvents: "specialDatedEvents";
146
147
  }>>>;
@@ -1149,6 +1150,7 @@ export declare const eventCollectionSourceSchemaShape: {
1149
1150
  }, z.core.$strip>]>>>>;
1150
1151
  readonly siteId: z.ZodString;
1151
1152
  readonly apiBaseUrl: z.ZodOptional<z.ZodString>;
1153
+ readonly readAuthority: z.ZodOptional<z.ZodType<BrowserReadAuthority, unknown, z.core.$ZodTypeInternals<BrowserReadAuthority, unknown>>>;
1152
1154
  readonly stage: z.ZodOptional<z.ZodEnum<{
1153
1155
  published: "published";
1154
1156
  preview: "preview";
@@ -2211,8 +2213,8 @@ export declare const eventCollectionDisplaySchemaShape: {
2211
2213
  readonly showVenueFilter: z.ZodBoolean;
2212
2214
  readonly showStaffFilter: z.ZodBoolean;
2213
2215
  readonly eventSurface: z.ZodEnum<{
2214
- custom: "custom";
2215
2216
  all: "all";
2217
+ custom: "custom";
2216
2218
  regularClassSchedule: "regularClassSchedule";
2217
2219
  specialDatedEvents: "specialDatedEvents";
2218
2220
  }>;
@@ -0,0 +1,10 @@
1
+ import type { AriaAttributes, ReactNode } from 'react';
2
+ type HeaderControlProps = Pick<AriaAttributes, 'aria-label' | 'aria-expanded' | 'aria-controls' | 'aria-haspopup'> & {
3
+ className?: string;
4
+ children?: ReactNode;
5
+ 'data-nav-mobile-toggle'?: string;
6
+ 'data-nav-mobile-trigger'?: string;
7
+ };
8
+ /** System navigation controls retain their runtime hooks independently of authored CTAs. */
9
+ export declare function HeaderControlNode({ className, children, 'aria-label': label, 'aria-expanded': expanded, 'aria-controls': controls, 'aria-haspopup': hasPopup, 'data-nav-mobile-toggle': mobileToggle, 'data-nav-mobile-trigger': mobileTrigger, }: HeaderControlProps): import("react").JSX.Element;
10
+ export {};
@@ -3,24 +3,9 @@ import Section from '../../../primitives/layout/Section';
3
3
  import { Stack as StackPrimitive } from '../../../primitives/layout/Stack';
4
4
  import { Inline as InlinePrimitive } from '../../../primitives/layout/Inline';
5
5
  import { Grid as GridPrimitive } from '../../../primitives/layout/Grid';
6
- type NodeMetadataProps = {
7
- pathBase?: string;
8
- blockId?: string | null;
9
- blockKind?: string;
10
- blockContent?: unknown;
11
- fragmentRegistry?: unknown;
12
- previewAuthoring?: unknown;
13
- };
14
- type SectionNodeProps = React.ComponentProps<typeof Section> & NodeMetadataProps;
15
- type StackNodeProps = React.ComponentProps<typeof StackPrimitive> & NodeMetadataProps;
16
- type InlineNodeProps = React.ComponentProps<typeof InlinePrimitive> & NodeMetadataProps;
17
- type GridNodeProps = React.ComponentProps<typeof GridPrimitive> & NodeMetadataProps;
18
- type DivNodeProps = React.ComponentProps<'div'> & NodeMetadataProps;
19
- type FigureNodeProps = React.ComponentProps<'figure'> & NodeMetadataProps;
20
- export declare const SectionNode: React.FC<SectionNodeProps>;
21
- export declare const StackNode: React.FC<StackNodeProps>;
22
- export declare const InlineNode: React.FC<InlineNodeProps>;
23
- export declare const GridNode: React.FC<GridNodeProps>;
24
- export declare const DivNode: React.FC<DivNodeProps>;
25
- export declare const FigureNode: React.FC<FigureNodeProps>;
26
- export {};
6
+ export declare const SectionNode: React.FC<React.ComponentProps<typeof Section>>;
7
+ export declare const StackNode: React.FC<React.ComponentProps<typeof StackPrimitive>>;
8
+ export declare const InlineNode: React.FC<React.ComponentProps<typeof InlinePrimitive>>;
9
+ export declare const GridNode: React.FC<React.ComponentProps<typeof GridPrimitive>>;
10
+ export declare const DivNode: React.FC<React.ComponentProps<'div'>>;
11
+ export declare const FigureNode: React.FC<React.ComponentProps<'figure'>>;
@@ -18,12 +18,31 @@ export type NewsletterFormSubmissionFields = Readonly<{
18
18
  phone?: string;
19
19
  honeypot: string;
20
20
  }>;
21
+ /**
22
+ * Why the form refused to send, before any request was made. Visitors see one
23
+ * neutral message for all of these; the reason is for whoever is debugging.
24
+ *
25
+ * - `missing_block_source`: a page block hydrated without a content version
26
+ * to submit against, so the API could not verify the placement.
27
+ * - `preview_only_source`: the footer editor's live widget, which renders
28
+ * unsaved composition state and has nothing published to record against.
29
+ * - `setup_not_configured`: no mailing-list setup reached the block.
30
+ * - `destination_unavailable`: the setup is there but the placement's
31
+ * destination (default list, custom targeting) is not in it.
32
+ * - `choices_unusable`: the offered topic choices no longer fit the provider.
33
+ */
34
+ export type NewsletterSignupRefusalReason = 'missing_block_source' | 'preview_only_source' | 'setup_not_configured' | 'destination_unavailable' | 'choices_unusable';
21
35
  export type NewsletterSubmitTargetResolution = Readonly<{
22
36
  tag: 'ready';
23
37
  sourceRef: MailingListSignupSourceRef;
24
38
  }> | Readonly<{
25
39
  tag: 'unavailable';
26
- reason: 'missing_block_source';
40
+ reason: Extract<NewsletterSignupRefusalReason, 'missing_block_source' | 'preview_only_source'>;
27
41
  }>;
42
+ /**
43
+ * Logs a refusal with its reason so a QA session can tell the cases apart in
44
+ * the console, since the visitor-facing copy deliberately does not.
45
+ */
46
+ export declare function reportNewsletterSignupRefusal(reason: NewsletterSignupRefusalReason, detail?: Readonly<Record<string, unknown>>): void;
28
47
  export declare function mapNewsletterFormFieldsToSubscriberInput(fields: NewsletterFormRawSubmissionFields): NewsletterFormSubmissionFields;
29
48
  export declare function resolveNewsletterSubmitTarget(input: NewsletterFormHydrationTarget): NewsletterSubmitTargetResolution;
@@ -4,6 +4,7 @@ type ProductDetailProps = Readonly<{
4
4
  blockId?: string | null;
5
5
  siteId?: string;
6
6
  apiBaseUrl?: string;
7
+ readAuthority?: import('../api/types').BrowserReadAuthority;
7
8
  stage?: 'preview' | 'published';
8
9
  children?: React.ReactNode;
9
10
  }> & ShopDisplayConfig;
@@ -4,6 +4,7 @@ type ProductListProps = Readonly<{
4
4
  blockId?: string | null;
5
5
  siteId?: string;
6
6
  apiBaseUrl?: string;
7
+ readAuthority?: import('../api/types').BrowserReadAuthority;
7
8
  stage?: 'preview' | 'published';
8
9
  children?: React.ReactNode;
9
10
  }> & ShopDisplayConfig;
@@ -5,9 +5,11 @@ import { type CartDisplay, type CheckoutDisplay, type PassesMembershipsDisplay,
5
5
  import type { CommerceCartItem } from './shop-commerce.shared';
6
6
  import type { ShopDisplayConfig } from './shop.types';
7
7
  import { type InteractiveIslandProps } from '../../../contracts/islands';
8
+ import type { BrowserReadAuthority } from '../api/types';
8
9
  type ShopSourceProps = ShopDisplayConfig & Readonly<{
9
10
  siteId?: string;
10
11
  apiBaseUrl?: string;
12
+ readAuthority?: BrowserReadAuthority;
11
13
  stage?: 'preview' | 'published';
12
14
  }>;
13
15
  export type { ShopSourceProps };
@@ -41,6 +43,7 @@ export type CheckoutHydration = Readonly<{
41
43
  type ShopIslandMeta = Readonly<{
42
44
  siteId?: string;
43
45
  apiBaseUrl?: string;
46
+ readAuthority?: BrowserReadAuthority;
44
47
  stage?: 'preview' | 'published';
45
48
  }>;
46
49
  export declare function resolveShowPricePerCredit(source: Pick<ShopSourceProps, 'showPricePerCredit'>): boolean;
@@ -514,6 +517,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
514
517
  encode: (value: Readonly<Readonly<{
515
518
  siteId?: string;
516
519
  apiBaseUrl?: string;
520
+ readAuthority?: BrowserReadAuthority;
517
521
  stage?: "preview" | "published";
518
522
  }> & {
519
523
  renderKind: "progressive";
@@ -565,6 +569,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
565
569
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
566
570
  siteId?: string;
567
571
  apiBaseUrl?: string;
572
+ readAuthority?: BrowserReadAuthority;
568
573
  stage?: "preview" | "published";
569
574
  }> & {
570
575
  renderKind: "progressive";
@@ -618,6 +623,7 @@ export declare const productListInteractiveIslandPropsCodec: Readonly<{
618
623
  encode: (value: Readonly<Readonly<{
619
624
  siteId?: string;
620
625
  apiBaseUrl?: string;
626
+ readAuthority?: BrowserReadAuthority;
621
627
  stage?: "preview" | "published";
622
628
  }> & {
623
629
  renderKind: "progressive";
@@ -664,6 +670,7 @@ export declare const productListInteractiveIslandPropsCodec: Readonly<{
664
670
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
665
671
  siteId?: string;
666
672
  apiBaseUrl?: string;
673
+ readAuthority?: BrowserReadAuthority;
667
674
  stage?: "preview" | "published";
668
675
  }> & {
669
676
  renderKind: "progressive";
@@ -712,6 +719,7 @@ export declare const productDetailInteractiveIslandPropsCodec: Readonly<{
712
719
  encode: (value: Readonly<Readonly<{
713
720
  siteId?: string;
714
721
  apiBaseUrl?: string;
722
+ readAuthority?: BrowserReadAuthority;
715
723
  stage?: "preview" | "published";
716
724
  }> & {
717
725
  renderKind: "progressive";
@@ -731,6 +739,7 @@ export declare const productDetailInteractiveIslandPropsCodec: Readonly<{
731
739
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
732
740
  siteId?: string;
733
741
  apiBaseUrl?: string;
742
+ readAuthority?: BrowserReadAuthority;
734
743
  stage?: "preview" | "published";
735
744
  }> & {
736
745
  renderKind: "progressive";
@@ -752,6 +761,7 @@ export declare const cartInteractiveIslandPropsCodec: Readonly<{
752
761
  encode: (value: Readonly<Readonly<{
753
762
  siteId?: string;
754
763
  apiBaseUrl?: string;
764
+ readAuthority?: BrowserReadAuthority;
755
765
  stage?: "preview" | "published";
756
766
  }> & {
757
767
  renderKind: "client-owned";
@@ -786,6 +796,7 @@ export declare const cartInteractiveIslandPropsCodec: Readonly<{
786
796
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
787
797
  siteId?: string;
788
798
  apiBaseUrl?: string;
799
+ readAuthority?: BrowserReadAuthority;
789
800
  stage?: "preview" | "published";
790
801
  }> & {
791
802
  renderKind: "client-owned";
@@ -822,6 +833,7 @@ export declare const checkoutInteractiveIslandPropsCodec: Readonly<{
822
833
  encode: (value: Readonly<Readonly<{
823
834
  siteId?: string;
824
835
  apiBaseUrl?: string;
836
+ readAuthority?: BrowserReadAuthority;
825
837
  stage?: "preview" | "published";
826
838
  }> & {
827
839
  renderKind: "client-owned";
@@ -845,6 +857,7 @@ export declare const checkoutInteractiveIslandPropsCodec: Readonly<{
845
857
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
846
858
  siteId?: string;
847
859
  apiBaseUrl?: string;
860
+ readAuthority?: BrowserReadAuthority;
848
861
  stage?: "preview" | "published";
849
862
  }> & {
850
863
  renderKind: "client-owned";
@@ -4,6 +4,7 @@ type ShopProps = Readonly<{
4
4
  blockId?: string | null;
5
5
  siteId?: string;
6
6
  apiBaseUrl?: string;
7
+ readAuthority?: import('../api/types').BrowserReadAuthority;
7
8
  stage?: 'preview' | 'published';
8
9
  checkoutEndpoint?: string;
9
10
  children?: React.ReactNode;
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import { type ButtonSizeName, type ThemeButtonVariantId } from '../../../../../../theme-core/src/buttons/index';
3
+ type ThemedControlStyleProps = Readonly<{
4
+ variant: ThemeButtonVariantId;
5
+ size: ButtonSizeName;
6
+ extraClassName?: string | null;
7
+ screenReaderSuffix?: string;
8
+ labelClassName?: string;
9
+ }>;
10
+ type ThemedButtonPendingState = Readonly<{
11
+ label: string;
12
+ srLabel?: string;
13
+ spinnerSize?: 'xs' | 'sm';
14
+ spinnerClassName?: string;
15
+ contentClassName?: string;
16
+ }>;
17
+ export type ThemedButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'className' | 'dangerouslySetInnerHTML'> & ThemedControlStyleProps & Readonly<{
18
+ label: string | number;
19
+ pending?: ThemedButtonPendingState;
20
+ }>;
21
+ export declare function ThemedButton({ variant, size, extraClassName, screenReaderSuffix, labelClassName, pending, label, ...buttonProps }: ThemedButtonProps): React.ReactElement;
22
+ export type ThemedButtonLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'className' | 'dangerouslySetInnerHTML'> & ThemedControlStyleProps & Readonly<{
23
+ label: string | number;
24
+ }>;
25
+ export declare function ThemedButtonLink({ variant, size, extraClassName, screenReaderSuffix, labelClassName, label, ...anchorProps }: ThemedButtonLinkProps): React.ReactElement;
26
+ export type ThemedButtonSpecimenProps = Readonly<{
27
+ variant: ThemeButtonVariantId;
28
+ size: ButtonSizeName;
29
+ label: string | number;
30
+ extraClassName?: string | null;
31
+ forceHover?: boolean;
32
+ }>;
33
+ /** Noninteractive button-style preview with no caller-owned markup. */
34
+ export declare function ThemedButtonSpecimen({ variant, size, label, extraClassName, forceHover, }: ThemedButtonSpecimenProps): React.ReactElement;
35
+ export type ThemedActionsButtonProps = Omit<ThemedButtonProps, 'label' | 'pending' | 'screenReaderSuffix' | 'labelClassName' | 'aria-label'>;
36
+ /** Fixed icon-only actions control; callers cannot supply icon children. */
37
+ export declare function ThemedActionsButton({ variant, size, extraClassName, ...buttonProps }: ThemedActionsButtonProps): React.ReactElement;
38
+ export type ThemedDownloadLinkProps = ThemedButtonLinkProps;
39
+ /** Fixed semantic download affordance; callers cannot supply arbitrary icon children. */
40
+ export declare function ThemedDownloadLink({ variant, size, extraClassName, label, screenReaderSuffix, labelClassName, ...anchorProps }: ThemedDownloadLinkProps): React.ReactElement;
41
+ export type ThemedAuthoredButtonProps = Readonly<{
42
+ label: string | number;
43
+ href?: string;
44
+ variant: ThemeButtonVariantId | null;
45
+ size: ButtonSizeName;
46
+ extraClassName?: string | null;
47
+ disabled?: boolean;
48
+ type?: 'button' | 'submit' | 'reset';
49
+ target?: string;
50
+ rel?: string;
51
+ ariaLabel?: string;
52
+ dataTestId?: string;
53
+ trailingIcon?: string;
54
+ onClick?: React.MouseEventHandler<HTMLElement>;
55
+ }>;
56
+ /** Boundary for authored button nodes and their registry-backed trailing icon. */
57
+ export declare function ThemedAuthoredButton({ label, href, variant, size, extraClassName, disabled, type, target, rel, ariaLabel, dataTestId, trailingIcon, onClick, }: ThemedAuthoredButtonProps): React.ReactElement;
58
+ export {};
@@ -25,3 +25,5 @@ export { StepIndicator } from './StepIndicator';
25
25
  export type { StepIndicatorBaseProps, StepIndicatorProps, } from './StepIndicator';
26
26
  export { RB_OPTION_CARD_CLASSES, SelectableOptionCard, } from './SelectableOptionCard';
27
27
  export type { SelectableOptionCardProps } from './SelectableOptionCard';
28
+ export { ThemedActionsButton, ThemedAuthoredButton, ThemedButton, ThemedButtonLink, ThemedButtonSpecimen, ThemedDownloadLink } from './ThemedButton';
29
+ export type { ThemedActionsButtonProps, ThemedAuthoredButtonProps, ThemedButtonProps, ThemedButtonLinkProps, ThemedButtonSpecimenProps, ThemedDownloadLinkProps } from './ThemedButton';
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import { type SurfaceTone } from '../../../../../theme-core/src/surfaces/index';
3
+ import { type TransformDefinition } from './core';
4
+ declare const chromeLogoSurfaceValues: readonly ["header-root", "header-mobile-panel", "footer-root"];
5
+ type ChromeLogoSurface = (typeof chromeLogoSurfaceValues)[number];
6
+ declare const chromeLogoSchema: z.ZodObject<{
7
+ surface: z.ZodEnum<{
8
+ "header-root": "header-root";
9
+ "header-mobile-panel": "header-mobile-panel";
10
+ "footer-root": "footer-root";
11
+ }>;
12
+ }, z.core.$strip>;
13
+ export declare function resolveChromeSurfaceTone(surface: ChromeLogoSurface, context: Parameters<TransformDefinition['run']>[2]): SurfaceTone;
14
+ /**
15
+ * Picks the site logo for the surface it is drawn on. Bound from block
16
+ * `content`: `logoVariants` when the renderer supplies both logos, otherwise
17
+ * the single `logo` older callers pass.
18
+ */
19
+ export declare const chromeLogoTransform: TransformDefinition<z.infer<typeof chromeLogoSchema>>;
20
+ export declare const chromeLogoTransforms: TransformDefinition<{
21
+ surface: "header-root" | "header-mobile-panel" | "footer-root";
22
+ }>[];
23
+ export {};
@@ -1,5 +1,6 @@
1
1
  import { formattingTransforms } from "./formatting";
2
2
  import { layoutTransforms } from "./layout";
3
+ import { chromeLogoTransforms } from "./chromeLogo";
3
4
  import { uiTransforms } from "./ui";
4
5
  import { mediaTransforms } from "./media";
5
6
  import { backgroundTransforms } from "./background";
@@ -10,4 +11,4 @@ import { headerRuntimeTransforms } from "./headerRuntime";
10
11
  export declare const builtinTransformDefinitions: import("./core").TransformDefinition<unknown>[];
11
12
  export declare const defaultTransforms: import("./core").TransformRegistry;
12
13
  export { boxStyleClassNames } from "./_utils/boxStyleClassNames";
13
- export { formattingTransforms, layoutTransforms, uiTransforms, mediaTransforms, backgroundTransforms, linksTransforms, boxStylesTransforms, contentTransforms, headerRuntimeTransforms, };
14
+ export { formattingTransforms, layoutTransforms, chromeLogoTransforms, uiTransforms, mediaTransforms, backgroundTransforms, linksTransforms, boxStylesTransforms, contentTransforms, headerRuntimeTransforms, };
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { type ThemeHeader } from '../../../../../theme-core/src/schema';
2
+ import { type ThemeFooter, type ThemeHeader } from '../../../../../theme-core/src/schema';
3
3
  import { type TransformDefinition } from './core';
4
+ import { resolveSurfaceForeground, type ResolvedSurfaceForeground } from '../../../../../theme-core/src/surfaces/index';
4
5
  declare const headerLogoClassSchema: z.ZodObject<{
5
6
  base: z.ZodOptional<z.ZodString>;
6
7
  }, z.core.$strip>;
@@ -41,6 +42,7 @@ export declare function resolveHeaderVisualStyles(header: Partial<ThemeHeader> |
41
42
  readonly backgroundToken: "transparent";
42
43
  readonly isTransparent: true;
43
44
  };
45
+ export declare function resolveFooterRootForeground(footer: Partial<ThemeFooter> | undefined, palette: Parameters<typeof resolveSurfaceForeground>[1]): ResolvedSurfaceForeground;
44
46
  export declare const headerRootClassTransform: TransformDefinition<HeaderRootOptions>;
45
47
  declare const footerRootClassSchema: z.ZodObject<{
46
48
  base: z.ZodOptional<z.ZodString>;