@riverbankcms/sdk 0.108.0 → 0.111.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 (278) hide show
  1. package/README.md +21 -1
  2. package/dist/{PreviewEditorSidebar-BBT-kZAM.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +181 -135
  3. package/dist/{PreviewEditorUI-D69xNKT2.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
  4. package/dist/{PreviewQueryProvider-RRu7wyQ5.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CuDjXH6o.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +436 -367
  6. package/dist/{SiteChromeCustomizeContext-BQUY2dEk.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +3442 -3029
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +12633 -10490
  8. package/dist/_dts/api/src/bookingAdjustments.d.ts +5 -0
  9. package/dist/_dts/api/src/bookingOperations.d.ts +4 -0
  10. package/dist/_dts/api/src/bookingRecords.d.ts +2 -17
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
  12. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
  13. package/dist/_dts/api/src/common/envelope.d.ts +7 -0
  14. package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
  15. package/dist/_dts/api/src/courses.d.ts +31 -15
  16. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +5 -5
  17. package/dist/_dts/api/src/endpoints.d.ts +49 -4
  18. package/dist/_dts/api/src/index.d.ts +3 -3
  19. package/dist/_dts/api/src/participantMessaging.d.ts +18 -12
  20. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  21. package/dist/_dts/api/src/sdkContracts.d.ts +259 -1
  22. package/dist/_dts/api/src/siteInfrastructure.d.ts +13 -0
  23. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -6
  24. package/dist/_dts/api/src/siteOperations.d.ts +11 -19
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +29 -1
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -31
  27. package/dist/_dts/api/src/webhooks.d.ts +98 -1
  28. package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
  29. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +9 -0
  30. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +3 -4
  31. package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
  32. package/dist/_dts/blocks/src/client.d.ts +4 -1
  33. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -8
  34. package/dist/_dts/blocks/src/index.d.ts +4 -2
  35. package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +3 -0
  36. package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +3 -0
  37. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +3 -0
  38. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -23
  39. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +5 -4
  41. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -23
  42. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
  43. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
  45. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +5 -1
  47. package/dist/_dts/blocks/src/system/blocks/form.d.ts +3 -0
  48. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +3 -0
  49. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -0
  50. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +5 -1
  51. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +3 -0
  54. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
  55. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +3 -0
  56. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +3 -0
  57. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  58. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
  59. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +16 -6
  60. package/dist/_dts/blocks/src/system/defineBlock.d.ts +9 -1
  61. package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
  62. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +10 -1
  63. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
  64. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +31 -0
  65. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -24
  66. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -12
  67. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
  71. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
  72. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
  74. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
  80. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
  81. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -4
  83. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
  84. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  85. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
  87. package/dist/_dts/content-editor/src/index.d.ts +12 -12
  88. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
  89. package/dist/_dts/content-model/src/content-types/entryValidation.d.ts +31 -0
  90. package/dist/_dts/content-model/src/content-types/scaffold.d.ts +58 -0
  91. package/dist/_dts/content-model/src/content-types/sentinels.d.ts +36 -0
  92. package/dist/_dts/content-model/src/index.d.ts +3 -0
  93. package/dist/_dts/core/src/booking-date-time.d.ts +8 -0
  94. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3278 -3196
  95. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
  96. package/dist/_dts/media-core/src/fileMimeDetection.d.ts +16 -0
  97. package/dist/_dts/media-core/src/fileStorage.d.ts +8 -0
  98. package/dist/_dts/media-core/src/storagePathDomain.d.ts +2 -0
  99. package/dist/_dts/media-core/src/uploadVerificationContract.d.ts +3 -0
  100. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -0
  101. package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
  102. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
  103. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
  104. package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
  105. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
  106. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
  107. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
  108. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
  109. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
  110. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -7
  111. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
  112. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
  113. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
  114. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
  115. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
  116. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  117. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
  118. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  119. package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
  120. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -1
  121. package/dist/_dts/sdk/src/cli/commands/compare.d.ts +1 -1
  122. package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +1 -1
  123. package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +18 -0
  124. package/dist/_dts/sdk/src/cli/commands/entry.d.ts +15 -0
  125. package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +2 -2
  126. package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +1 -1
  127. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +1 -0
  128. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +1 -1
  129. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +3 -0
  130. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +12 -1
  131. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +1 -0
  132. package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
  133. package/dist/_dts/sdk/src/cli/commands/verify.d.ts +1 -0
  134. package/dist/_dts/sdk/src/cli/helpers.d.ts +22 -1
  135. package/dist/_dts/sdk/src/cli/index.d.ts +4 -0
  136. package/dist/_dts/sdk/src/cli/output.d.ts +88 -0
  137. package/dist/_dts/sdk/src/cli/program.d.ts +29 -0
  138. package/dist/_dts/sdk/src/cli/push-config.d.ts +1 -1
  139. package/dist/_dts/sdk/src/client/management/catalog.d.ts +10 -0
  140. package/dist/_dts/sdk/src/client/management/http.d.ts +7 -1
  141. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  142. package/dist/_dts/sdk/src/client/management/types.d.ts +45 -20
  143. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
  144. package/dist/_dts/sdk/src/date-time/index.d.ts +68 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -1
  146. package/dist/_dts/sdk/src/version.d.ts +1 -1
  147. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  148. package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
  149. package/dist/_dts/site-commands/src/commands.d.ts +1010 -817
  150. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  151. package/dist/_dts/theme-core/src/buttons/core.d.ts +15 -46
  152. package/dist/_dts/theme-core/src/buttons/effectClassification.d.ts +147 -0
  153. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +2 -3
  154. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/buttons/index.d.ts +2 -1
  156. package/dist/_dts/theme-core/src/buttons/presets.d.ts +4 -25
  157. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +100 -0
  158. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +16 -0
  159. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
  160. package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
  161. package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
  162. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
  163. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
  164. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
  165. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
  166. package/dist/_dts/theme-core/src/buttons/types.d.ts +101 -83
  167. package/dist/_dts/theme-core/src/cards/types.d.ts +16 -16
  168. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  169. package/dist/_dts/theme-core/src/gradients/presets.d.ts +200 -8
  170. package/dist/_dts/theme-core/src/gradients/utils.d.ts +6 -2
  171. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +87 -126
  172. package/dist/_dts/theme-core/src/mock-themes/modern-minimal.d.ts +1 -1
  173. package/dist/_dts/theme-core/src/navigation/types.d.ts +2 -2
  174. package/dist/_dts/theme-core/src/palette/curated/index.d.ts +2 -2
  175. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +5 -8
  176. package/dist/_dts/theme-core/src/palette/index.d.ts +0 -1
  177. package/dist/_dts/theme-core/src/schema.d.ts +112 -138
  178. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  179. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
  180. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +10 -10
  181. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
  182. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
  183. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -2
  184. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +13 -6
  185. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
  186. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -12
  187. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +2 -2
  188. package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
  189. package/dist/cli/index.mjs +68396 -67339
  190. package/dist/cli/init-docs/content/cli-reference.md +50 -7
  191. package/dist/cli/init-docs/content/content-management.md +7 -4
  192. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
  193. package/dist/cli/init-docs/content/workflow-publish.md +5 -1
  194. package/dist/client/{DiscountCodeDisclosure-D6TOf6Hi.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
  195. package/dist/client/{EventCombined.client-Dao3zxRk.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
  196. package/dist/client/{EventListing.client-B2NNt4y1.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
  197. package/dist/client/{LeafletStaticMap-BhwFo16w.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
  198. package/dist/client/{MagicLinkForm-BWnB7cMR.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
  199. package/dist/client/{StepIndicator-TzRiQ0BY.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
  200. package/dist/client/{accordion-BPy-AJ4_.mjs → accordion-D8JTs2Si.mjs} +1 -1
  201. package/dist/client/{bookingForm-BL4PGZds.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
  202. package/dist/client/bookings.mjs +4649 -2767
  203. package/dist/client/{carousel-C2b7Cn9-.mjs → carousel-DMr_QWlz.mjs} +1 -1
  204. package/dist/client/{cart-BQcbXIVD.mjs → cart-DWMbfBdR.mjs} +3 -3
  205. package/dist/client/{checkout-DEmpGRJu.mjs → checkout-zmfdkXLx.mjs} +3 -3
  206. package/dist/client/client.mjs +3195 -2488
  207. package/dist/client/{colorStyles-jZS6KfkP.mjs → colorStyles-gcTh5yZT.mjs} +2 -41
  208. package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
  209. package/dist/client/{courseRegistration-BqRZPmsq.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
  210. package/dist/client/{eventCalendar-B8N_tSl5.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
  211. package/dist/client/{eventCombined-Gjn6gtq7.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
  212. package/dist/client/{eventDetails-M-VCxA-r.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
  213. package/dist/client/{eventListing-DR19hqYi.mjs → eventListing-W1SuL7EP.mjs} +2 -2
  214. package/dist/client/{eventRegistration-BR02a0k3.mjs → eventRegistration-ClWricui.mjs} +6 -7
  215. package/dist/client/{form-LY2xIbwg.mjs → form--eKPwAAD.mjs} +1 -2
  216. package/dist/client/{headerSection-CYwwXJfh.mjs → headerSection-BSeGr-FS.mjs} +2 -3
  217. package/dist/client/hooks.mjs +2169 -2093
  218. package/dist/client/{locationMap-DWnBXrFq.mjs → locationMap-BpOrtNYn.mjs} +8 -5
  219. package/dist/client/{media-DHtSxS5V.mjs → media-DoF0dcVx.mjs} +4 -3
  220. package/dist/client/{newsletterForm-D9s-fQ2P.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
  221. package/dist/client/{pricing-DDq80oYc.mjs → pricing-BTjSDDr4.mjs} +1 -1
  222. package/dist/client/{productDetail-B0SbWd45.mjs → productDetail-ICnVTcCg.mjs} +3 -3
  223. package/dist/client/{productList-PwYlZn0y.mjs → productList-ZHr6D604.mjs} +3 -3
  224. package/dist/client/{propsDecoder-BRWBiH7i.mjs → propsDecoder-wWN0tBDF.mjs} +2484 -223
  225. package/dist/client/rendering/client.mjs +2532 -2144
  226. package/dist/client/rendering/islands.mjs +20 -20
  227. package/dist/client/rendering.mjs +3322 -2462
  228. package/dist/client/{shop-CMwZPYME.mjs → shop-C1u_BUn0.mjs} +5 -6
  229. package/dist/client/{shop-commerce-BuxsFate.mjs → shop-commerce-CleZdRha.mjs} +5 -6
  230. package/dist/client/{shop-commerce-store-boYlEJ91.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
  231. package/dist/client/{shopShared-D2naaOes.mjs → shopShared-CPhByt2a.mjs} +3 -3
  232. package/dist/client/{useDiscountCodeUi-D9RHpVoj.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
  233. package/dist/client/{useEventFilters-igGiK1re.mjs → useEventFilters-DKPN7hSY.mjs} +46 -70
  234. package/dist/client/{usePolling-CI7MbsFB.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
  235. package/dist/preview-next/before-render.mjs +72 -6
  236. package/dist/preview-next/client/runtime.mjs +4 -4
  237. package/dist/preview-next/middleware.mjs +72 -6
  238. package/dist/{previewAuthStore-a_cBD28m.mjs → previewAuthStore-BkT1D06A.mjs} +72 -6
  239. package/dist/{sdk-runtime-MBzD-GmP.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
  240. package/dist/{separator-5ahRBC85.mjs → separator-Bln8izQ9.mjs} +1 -1
  241. package/dist/server/components.mjs +3123 -2391
  242. package/dist/server/config-validation.mjs +2169 -2093
  243. package/dist/server/config.mjs +2169 -2093
  244. package/dist/server/data.mjs +2169 -2093
  245. package/dist/server/date-time.mjs +386 -0
  246. package/dist/server/index.mjs +73 -7
  247. package/dist/server/next/revalidate.mjs +53 -1
  248. package/dist/server/next.mjs +3195 -2397
  249. package/dist/server/page-converter.mjs +2192 -1945
  250. package/dist/server/prebuild.mjs +1 -1
  251. package/dist/server/rendering/server.mjs +2844 -2325
  252. package/dist/server/rendering.mjs +3123 -2391
  253. package/dist/server/routing.mjs +2269 -2149
  254. package/dist/server/server.mjs +2244 -2102
  255. package/dist/server/theme-bridge.mjs +2720 -1887
  256. package/dist/server/theme.mjs +1669 -1322
  257. package/dist/server/webhooks.mjs +54 -2
  258. package/dist/styles/index.css +5 -0
  259. package/package.json +7 -1
  260. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
  261. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
  262. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
  263. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
  264. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
  265. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
  266. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
  267. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
  268. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
  269. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
  270. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
  271. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
  272. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
  273. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
  274. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -273
  275. package/dist/_dts/theme-core/src/buttons/presets/types.d.ts +0 -88
  276. package/dist/_dts/theme-core/src/buttons/utils/contrast.d.ts +0 -38
  277. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +0 -57
  278. package/dist/client/buttons-EBjyslaX.mjs +0 -1852
@@ -0,0 +1,326 @@
1
+ import type { BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
2
+ import type { PublicTeamMemberSummary } from '../../../blocks/shared/teamMembers';
3
+ import type { CourseRegistrationClientProps, EnrollmentResult, FormData } from './types';
4
+ export type WholeSeriesRegistrationPricingOptionInput = Readonly<{
5
+ id: string;
6
+ name: string;
7
+ description: string | null;
8
+ priceAmount: number;
9
+ isActive: boolean;
10
+ sortOrder: number;
11
+ capacityLimit: number | null;
12
+ saleStartsAt: string | null;
13
+ saleEndsAt: string | null;
14
+ attendanceScope?: 'in_person' | 'online' | 'both' | null;
15
+ }>;
16
+ type WholeSeriesRegistrationPricingBase = Readonly<{
17
+ currency: string;
18
+ paymentTerms: BlockBookingPaymentTerms;
19
+ bookingRequirement: 'none' | 'required';
20
+ }>;
21
+ export type WholeSeriesRegistrationPricingInput = (WholeSeriesRegistrationPricingBase & Readonly<{
22
+ pricingStrategy: 'free';
23
+ }>) | (WholeSeriesRegistrationPricingBase & Readonly<{
24
+ pricingStrategy: 'single';
25
+ amountCents: number;
26
+ }>) | (WholeSeriesRegistrationPricingBase & Readonly<{
27
+ pricingStrategy: 'tiered';
28
+ options: readonly WholeSeriesRegistrationPricingOptionInput[];
29
+ }>) | (WholeSeriesRegistrationPricingBase & Readonly<{
30
+ pricingStrategy: 'sliding_scale';
31
+ minAmountCents: number;
32
+ maxAmountCents: number;
33
+ suggestedAmountCents: number | null;
34
+ }>);
35
+ export type WholeSeriesRegistrationRunInput = Readonly<{
36
+ /** Stable dated-offering run identity. */
37
+ runId: string;
38
+ /** Transitional transport target; never used as the public run identity. */
39
+ registrationTarget: Readonly<{
40
+ kind: 'course_crosswalk_v1';
41
+ courseId: string;
42
+ }>;
43
+ title: string;
44
+ slug: string;
45
+ description: unknown;
46
+ teamMembers?: readonly PublicTeamMemberSummary[];
47
+ registrationOpen: boolean;
48
+ pricing: WholeSeriesRegistrationPricingInput;
49
+ capacity: number | null;
50
+ acceptsMemberships: boolean;
51
+ lifecycleStatus: 'active' | 'draft' | 'cancelled';
52
+ registeredCount: number;
53
+ availableSpots: number | null;
54
+ includedDates: readonly Readonly<{
55
+ id: string;
56
+ startsAt: string;
57
+ endsAt: string;
58
+ timeZone: string;
59
+ capacityOverride?: number | null;
60
+ overrides?: Readonly<Record<string, unknown>> | null;
61
+ }>[];
62
+ venue: Readonly<{
63
+ id: string;
64
+ name: string;
65
+ address: string | null;
66
+ }> | null;
67
+ contentEntryId: string | null;
68
+ }>;
69
+ export type WholeSeriesRegistrationRun = Readonly<{
70
+ /** Stable dated-offering run identity. */
71
+ id: string;
72
+ title: string;
73
+ slug: string;
74
+ description: unknown;
75
+ registrationOpen: boolean;
76
+ capacity: number | null;
77
+ registeredCount: number;
78
+ availableSpots: number | null;
79
+ includedDates: readonly Readonly<{
80
+ id: string;
81
+ startsAt: string;
82
+ endsAt: string;
83
+ timeZone: string;
84
+ }>[];
85
+ venue: Readonly<{
86
+ id: string;
87
+ name: string;
88
+ address: string | null;
89
+ }> | null;
90
+ }>;
91
+ export type WholeSeriesRegistrationFlowStatus = Readonly<{
92
+ tag: 'ready';
93
+ }> | Readonly<{
94
+ tag: 'submitting';
95
+ }> | Readonly<{
96
+ tag: 'redirecting';
97
+ }> | Readonly<{
98
+ tag: 'verifying-payment';
99
+ }> | Readonly<{
100
+ tag: 'verifying-timeout';
101
+ message: string;
102
+ }> | Readonly<{
103
+ tag: 'payment-failed';
104
+ message: string;
105
+ }> | Readonly<{
106
+ tag: 'success';
107
+ result: EnrollmentResult;
108
+ }> | Readonly<{
109
+ tag: 'waitlist';
110
+ result: EnrollmentResult;
111
+ }> | Readonly<{
112
+ tag: 'error';
113
+ message: string;
114
+ }>;
115
+ export type WholeSeriesRegistrationFlowView = Readonly<{
116
+ kind: 'empty';
117
+ message: string;
118
+ }> | Readonly<{
119
+ kind: 'unavailable';
120
+ message: string;
121
+ }> | Readonly<{
122
+ kind: 'form';
123
+ }> | Readonly<{
124
+ kind: 'verifying';
125
+ message: string;
126
+ }> | Readonly<{
127
+ kind: 'success';
128
+ result: EnrollmentResult;
129
+ }> | Readonly<{
130
+ kind: 'waitlist';
131
+ result: EnrollmentResult;
132
+ }> | Readonly<{
133
+ kind: 'error';
134
+ message: string;
135
+ }>;
136
+ export type WholeSeriesRegistrationFlowStepId = 'select-run' | 'enter-details' | 'select-booking-method' | 'select-payment';
137
+ export type WholeSeriesRegistrationFlowStep = Readonly<{
138
+ id: WholeSeriesRegistrationFlowStepId;
139
+ state: 'complete' | 'active' | 'available' | 'blocked';
140
+ index: number;
141
+ canEnter: boolean;
142
+ }>;
143
+ export type WholeSeriesRegistrationFlowActionResult = Readonly<{
144
+ ok: true;
145
+ outcome: Readonly<{
146
+ kind: 'state-updated';
147
+ }> | Readonly<{
148
+ kind: 'checkout-redirect';
149
+ checkoutUrl: string;
150
+ }>;
151
+ }> | Readonly<{
152
+ ok: false;
153
+ reason: 'blocked' | 'validation-failed' | 'failed';
154
+ message: string;
155
+ }>;
156
+ export type WholeSeriesRegistrationRunsModel = Readonly<{
157
+ items: readonly WholeSeriesRegistrationRun[];
158
+ scoped: readonly WholeSeriesRegistrationRun[];
159
+ selected: WholeSeriesRegistrationRun | null;
160
+ hasPreSelectedRun: boolean;
161
+ contentEntry: CourseRegistrationClientProps['contentEntry'];
162
+ subject: CourseRegistrationClientProps['subject'];
163
+ }>;
164
+ export type WholeSeriesRegistrationPricingModel = Readonly<{
165
+ currency: string | null;
166
+ display: Readonly<{
167
+ kind: 'free';
168
+ currency: string;
169
+ }> | Readonly<{
170
+ kind: 'exact';
171
+ amountCents: number;
172
+ currency: string;
173
+ }> | Readonly<{
174
+ kind: 'from';
175
+ amountCents: number;
176
+ currency: string;
177
+ }> | Readonly<{
178
+ kind: 'range';
179
+ minAmountCents: number;
180
+ maxAmountCents: number;
181
+ currency: string;
182
+ }> | Readonly<{
183
+ kind: 'unavailable';
184
+ currency: string;
185
+ }> | null;
186
+ options: readonly Readonly<{
187
+ id: string;
188
+ name: string;
189
+ description: string | null;
190
+ amountCents: number;
191
+ }>[];
192
+ selectedOptionId: string | null;
193
+ slidingScale: Readonly<{
194
+ minAmountCents: number;
195
+ maxAmountCents: number;
196
+ suggestedAmountCents: number | null;
197
+ }> | null;
198
+ selectedAmountCents: number | null;
199
+ selectedPriceCents: number | null;
200
+ requiresPayment: boolean;
201
+ selection: Readonly<{
202
+ tag: 'not-required';
203
+ }> | Readonly<{
204
+ tag: 'required';
205
+ }> | Readonly<{
206
+ tag: 'valid';
207
+ }> | Readonly<{
208
+ tag: 'invalid';
209
+ message: string;
210
+ }> | Readonly<{
211
+ tag: 'unavailable';
212
+ }>;
213
+ }>;
214
+ export type WholeSeriesRegistrationPaymentSelection = Readonly<{
215
+ method: 'none';
216
+ }> | Readonly<{
217
+ method: 'card';
218
+ }> | Readonly<{
219
+ method: 'membership';
220
+ membershipId: string | null;
221
+ }>;
222
+ export type WholeSeriesRegistrationPaymentModel = Readonly<{
223
+ required: boolean;
224
+ selection: WholeSeriesRegistrationPaymentSelection;
225
+ canUseMembership: boolean;
226
+ eligibleMemberships: readonly Readonly<{
227
+ id: string;
228
+ name: string;
229
+ }>[];
230
+ eligibility: Readonly<{
231
+ tag: 'idle';
232
+ }> | Readonly<{
233
+ tag: 'loading';
234
+ }> | Readonly<{
235
+ tag: 'loaded';
236
+ }> | Readonly<{
237
+ tag: 'error';
238
+ message: string;
239
+ }>;
240
+ }>;
241
+ export type WholeSeriesRegistrationAvailabilityModel = Readonly<{
242
+ enrollmentOpen: boolean;
243
+ availableSpots: number | null;
244
+ isFull: boolean;
245
+ canJoinWaitlist: boolean;
246
+ message: string | null;
247
+ }>;
248
+ export type WholeSeriesRegistrationSpamProtectionModel = Readonly<{
249
+ enabled: false;
250
+ }> | Readonly<{
251
+ enabled: true;
252
+ provider: 'altcha';
253
+ challenge: Readonly<{
254
+ url: string;
255
+ auto: 'onfocus';
256
+ }>;
257
+ solution: string | null;
258
+ }>;
259
+ export type WholeSeriesRegistrationWaitlistClaimModel = Readonly<{
260
+ tag: 'none';
261
+ }> | Readonly<{
262
+ tag: 'loading';
263
+ }> | Readonly<{
264
+ tag: 'login-required';
265
+ message: string;
266
+ }> | Readonly<{
267
+ tag: 'ready';
268
+ expiresAt: string;
269
+ prefill: Readonly<{
270
+ email: string;
271
+ name: string;
272
+ phone: string | null;
273
+ notes: string | null;
274
+ }>;
275
+ }> | Readonly<{
276
+ tag: 'error';
277
+ message: string;
278
+ }>;
279
+ export type WholeSeriesRegistrationFlowActions = Readonly<{
280
+ selectRun: (runId: string) => void;
281
+ updateRegistrant: (values: FormData) => void;
282
+ selectPricingOption: (pricingOptionId: string | null) => void;
283
+ setSlidingAmountCents: (amount: number | null) => void;
284
+ selectPayment: (selection: WholeSeriesRegistrationPaymentSelection) => void;
285
+ setDiscountCode: (code: string) => void;
286
+ setDiscountOpen: (isOpen: boolean) => void;
287
+ setAltchaSolution: (solution: string | null) => void;
288
+ continue: () => Promise<WholeSeriesRegistrationFlowActionResult>;
289
+ back: () => void;
290
+ submit: () => Promise<WholeSeriesRegistrationFlowActionResult>;
291
+ retry: () => void;
292
+ logout: () => void;
293
+ }>;
294
+ export type HeadlessWholeSeriesRegistrationFlow = Readonly<{
295
+ status: WholeSeriesRegistrationFlowStatus;
296
+ view: WholeSeriesRegistrationFlowView;
297
+ steps: readonly WholeSeriesRegistrationFlowStep[];
298
+ currentStep: WholeSeriesRegistrationFlowStep | null;
299
+ runs: WholeSeriesRegistrationRunsModel;
300
+ registrant: Readonly<{
301
+ values: FormData;
302
+ errors: Partial<Record<keyof FormData, string>>;
303
+ }>;
304
+ pricing: WholeSeriesRegistrationPricingModel;
305
+ payment: WholeSeriesRegistrationPaymentModel;
306
+ discount: Readonly<{
307
+ code: string;
308
+ isOpen: boolean;
309
+ available: boolean;
310
+ manualCodeEntryAllowed: boolean;
311
+ loading: boolean;
312
+ }>;
313
+ availability: WholeSeriesRegistrationAvailabilityModel;
314
+ portalAuth: Readonly<{
315
+ state: 'checking' | 'authenticated' | 'unauthenticated';
316
+ isAuthenticated: boolean;
317
+ }>;
318
+ waitlistClaim: WholeSeriesRegistrationWaitlistClaimModel;
319
+ spamProtection: WholeSeriesRegistrationSpamProtectionModel;
320
+ terminal: Readonly<{
321
+ result: EnrollmentResult | null;
322
+ errorMessage: string;
323
+ }>;
324
+ actions: WholeSeriesRegistrationFlowActions;
325
+ }>;
326
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { ResolvedCoursePricingState } from '../../../blocks/courses/shared';
2
+ import type { EnrollmentStep } from './types';
3
+ import type { HeadlessWholeSeriesRegistrationFlow, WholeSeriesRegistrationFlowStatus, WholeSeriesRegistrationFlowStep, WholeSeriesRegistrationFlowView, WholeSeriesRegistrationPaymentSelection, WholeSeriesRegistrationPricingModel } from './whole-series-registration.headless.contract';
4
+ export declare function deriveWholeSeriesRegistrationSteps(input: Readonly<{
5
+ wizardSteps: readonly EnrollmentStep[];
6
+ step: EnrollmentStep;
7
+ }>): readonly WholeSeriesRegistrationFlowStep[];
8
+ export declare function resolveWholeSeriesRegistrationStatus(wizard: Readonly<{
9
+ step: EnrollmentStep;
10
+ enrollmentResult: HeadlessWholeSeriesRegistrationFlow['terminal']['result'];
11
+ errorMessage: string;
12
+ }>): WholeSeriesRegistrationFlowStatus;
13
+ export declare function resolveWholeSeriesRegistrationView(wizard: Readonly<{
14
+ step: EnrollmentStep;
15
+ scopedRunsCount: number;
16
+ selectedRun: Readonly<{
17
+ enrollmentOpen: boolean;
18
+ }> | null;
19
+ enrollmentResult: HeadlessWholeSeriesRegistrationFlow['terminal']['result'];
20
+ errorMessage: string;
21
+ }>): WholeSeriesRegistrationFlowView;
22
+ export declare function resolveWholeSeriesPricingSelection(pricing: ResolvedCoursePricingState | null): WholeSeriesRegistrationPricingModel['selection'];
23
+ export declare function resolveWholeSeriesPaymentSelection(input: Readonly<{
24
+ paymentChoice: 'checkout' | 'membership';
25
+ selectedMembershipId: string | null;
26
+ required: boolean;
27
+ }>): WholeSeriesRegistrationPaymentSelection;
@@ -1,3 +1,4 @@
1
+ import type { BlockButtonRole } from '../../constants/buttonRoles';
1
2
  import type { PublicCourse } from '../../blocks/courses/shared/types';
2
3
  import type { OccurrenceContext } from '../../blocks/event-registration.shared';
3
4
  import type { CourseRegistrationClientProps as InternalCourseRegistrationClientProps } from './course-registration/types';
@@ -37,7 +38,7 @@ export type CourseRegistrationSourceProps = Readonly<{
37
38
  waitlistMessage?: string;
38
39
  membershipMessage?: string;
39
40
  buttonText?: string | null;
40
- buttonVariant?: 'primary' | 'secondary' | 'outline';
41
+ buttonVariant?: BlockButtonRole;
41
42
  stage?: 'preview' | 'published';
42
43
  }>;
43
44
  export type CourseRegistrationDisplay = Readonly<{
@@ -78,7 +79,7 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
78
79
  waitlistMessage?: string;
79
80
  membershipMessage?: string;
80
81
  buttonText?: string | null;
81
- buttonVariant?: "primary" | "secondary" | "outline";
82
+ buttonVariant?: BlockButtonRole;
82
83
  stage?: "preview" | "published";
83
84
  }>) => Readonly<{
84
85
  display: Readonly<{
@@ -112,7 +113,7 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
112
113
  waitlistMessage?: string;
113
114
  membershipMessage?: string;
114
115
  buttonText?: string | null;
115
- buttonVariant?: "primary" | "secondary" | "outline";
116
+ buttonVariant?: BlockButtonRole;
116
117
  stage?: "preview" | "published";
117
118
  }>) => unknown;
118
119
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
@@ -136,7 +137,7 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
136
137
  waitlistMessage?: string;
137
138
  membershipMessage?: string;
138
139
  buttonText?: string | null;
139
- buttonVariant?: "primary" | "secondary" | "outline";
140
+ buttonVariant?: BlockButtonRole;
140
141
  stage?: "preview" | "published";
141
142
  }>>;
142
143
  }>;
@@ -4,6 +4,7 @@ import type { EventRegistrationContentEntry } from '../event-registration.intera
4
4
  import type { EventRegistrationPageSurfaceSubject } from './eventScope';
5
5
  import type { EligibilityData, EventTicketSelectionLine, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
6
6
  import type { SelectableEventTicketType } from './utils';
7
+ import type { BlockButtonRole } from '../../../constants/buttonRoles';
7
8
  import type { PortalAuthState, PortalProfile } from './hooks';
8
9
  import type { UseWaitlistClaimResult } from '../../shared/useWaitlistClaim';
9
10
  import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
@@ -241,7 +242,7 @@ export type EventRegistrationOverridePropsLike = Readonly<{
241
242
  showCapacity: boolean | null;
242
243
  successMessage: string | null;
243
244
  waitlistMessage: string | null;
244
- buttonVariant: 'primary' | 'secondary' | 'outline' | null;
245
+ buttonVariant: BlockButtonRole | null;
245
246
  buttonText: string | null;
246
247
  spamProtectionEnabled: boolean | null;
247
248
  supportEmail: string | null;
@@ -273,7 +274,7 @@ export type EventRegistrationOverrideInput = Readonly<{
273
274
  successMessage?: string;
274
275
  waitlistMessage?: string;
275
276
  buttonText?: string | null;
276
- buttonVariant?: 'primary' | 'secondary' | 'outline';
277
+ buttonVariant?: BlockButtonRole;
277
278
  spamProtectionEnabled?: boolean;
278
279
  supportEmail?: string;
279
280
  blockId?: string | null;
@@ -3,6 +3,7 @@ import type { OccurrenceContext } from '../../../blocks/event-registration.share
3
3
  import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
4
4
  import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EventTicketLineSummary, EligibilityEventTicketType } from '../../api/types';
5
5
  import type { EventRegistrationPageSurfaceSubject } from './eventScope';
6
+ import type { BlockButtonRole } from '../../../constants/buttonRoles';
6
7
  export type { PublicEvent, OccurrenceContext };
7
8
  export type { FormData } from '../../shared';
8
9
  /**
@@ -155,7 +156,7 @@ export type EventRegistrationClientProps = {
155
156
  successMessage?: string;
156
157
  waitlistMessage?: string;
157
158
  buttonText?: string;
158
- buttonVariant?: 'primary' | 'secondary' | 'outline';
159
+ buttonVariant?: BlockButtonRole;
159
160
  overlayEnabled?: boolean;
160
161
  className?: string;
161
162
  /**
@@ -1,3 +1,4 @@
1
+ import type { BlockButtonRole } from '../../constants/buttonRoles';
1
2
  import type { PublicEvent } from '../../blocks/events/shared/types';
2
3
  import { type PublicMembershipProductCollection, type PublicPassProductCollection } from '../../blocks/shop.shared';
3
4
  import type { OccurrenceContext } from '../../blocks/event-registration.shared';
@@ -29,7 +30,7 @@ export type EventRegistrationSourceProps = Readonly<{
29
30
  showCapacity?: boolean;
30
31
  successMessage?: string;
31
32
  waitlistMessage?: string;
32
- buttonVariant?: 'primary' | 'secondary' | 'outline';
33
+ buttonVariant?: BlockButtonRole;
33
34
  overlayEnabled?: boolean;
34
35
  spamProtectionEnabled?: boolean;
35
36
  stage?: 'preview' | 'published';
@@ -78,7 +79,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
78
79
  showCapacity?: boolean;
79
80
  successMessage?: string;
80
81
  waitlistMessage?: string;
81
- buttonVariant?: "primary" | "secondary" | "outline";
82
+ buttonVariant?: BlockButtonRole;
82
83
  overlayEnabled?: boolean;
83
84
  spamProtectionEnabled?: boolean;
84
85
  stage?: "preview" | "published";
@@ -123,7 +124,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
123
124
  showCapacity?: boolean;
124
125
  successMessage?: string;
125
126
  waitlistMessage?: string;
126
- buttonVariant?: "primary" | "secondary" | "outline";
127
+ buttonVariant?: BlockButtonRole;
127
128
  overlayEnabled?: boolean;
128
129
  spamProtectionEnabled?: boolean;
129
130
  stage?: "preview" | "published";
@@ -155,7 +156,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
155
156
  showCapacity?: boolean;
156
157
  successMessage?: string;
157
158
  waitlistMessage?: string;
158
- buttonVariant?: "primary" | "secondary" | "outline";
159
+ buttonVariant?: BlockButtonRole;
159
160
  overlayEnabled?: boolean;
160
161
  spamProtectionEnabled?: boolean;
161
162
  stage?: "preview" | "published";
@@ -1,13 +1,12 @@
1
1
  import React from 'react';
2
2
  import { type Media, type PublicDownloadMediaType } from '../../../lib/media';
3
- declare const FILE_DOWNLOAD_BUTTON_VARIANTS: readonly ["primary", "secondary", "outline", "link"];
4
- type FileDownloadButtonVariant = (typeof FILE_DOWNLOAD_BUTTON_VARIANTS)[number];
3
+ import { type BlockButtonRole } from '../../constants/buttonRoles';
5
4
  export type FileDownloadNodeProps = Readonly<{
6
5
  value?: Media | null;
7
6
  title?: string | null;
8
7
  description?: string | null;
9
8
  buttonLabel?: string | null;
10
- buttonVariant?: FileDownloadButtonVariant | null;
9
+ buttonVariant?: BlockButtonRole | null;
11
10
  className?: string;
12
11
  }>;
13
12
  export declare function FileDownloadNode({ value, title, description, buttonLabel, buttonVariant, className, }: FileDownloadNodeProps): React.ReactElement | null;
@@ -4,6 +4,7 @@
4
4
  * Shared types for the newsletter form server and client components.
5
5
  */
6
6
  import type { NewsletterSignupFieldPreset } from '../../blocks/newsletter-signup-destination';
7
+ import type { BlockButtonRole } from '../../constants/buttonRoles';
7
8
  export type NewsletterPreset = NewsletterSignupFieldPreset;
8
9
  export type NewsletterFieldDef = {
9
10
  id: string;
@@ -13,7 +14,7 @@ export type NewsletterFieldDef = {
13
14
  placeholder?: string;
14
15
  };
15
16
  export type NewsletterDestinationProvider = 'riverbank' | 'mailchimp';
16
- export type NewsletterButtonVariant = 'primary' | 'secondary' | 'outline';
17
+ export type NewsletterButtonVariant = BlockButtonRole;
17
18
  export type NewsletterFormProps = {
18
19
  /** Block ID for island hydration */
19
20
  blockId?: string | null;
@@ -5,23 +5,26 @@ export declare const previewStageSchema: z.ZodEnum<{
5
5
  }>;
6
6
  export declare const registrationButtonVariantSchema: z.ZodEnum<{
7
7
  outline: "outline";
8
+ accent: "accent";
8
9
  primary: "primary";
9
10
  secondary: "secondary";
11
+ ghost: "ghost";
10
12
  }>;
11
- export declare const eventButtonVariantSchema: z.ZodEnum<{
12
- link: "link";
13
+ export declare const eventButtonVariantSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
13
14
  outline: "outline";
15
+ accent: "accent";
14
16
  primary: "primary";
15
17
  secondary: "secondary";
16
- }>;
18
+ ghost: "ghost";
19
+ }>>;
17
20
  export declare const eventLayoutSchema: z.ZodEnum<{
18
21
  stack: "stack";
19
22
  grid: "grid";
20
23
  compact: "compact";
21
24
  }>;
22
25
  export declare const eventCalendarDisplayModeSchema: z.ZodEnum<{
23
- list: "list";
24
26
  calendar: "calendar";
27
+ list: "list";
25
28
  combined: "combined";
26
29
  timetable: "timetable";
27
30
  "week-board": "week-board";
@@ -1,3 +1,4 @@
1
+ import { type BlockButtonRole } from '../../constants/buttonRoles';
1
2
  import type { PublicMembershipProduct, PublicPassProduct } from '../../blocks/shop.shared';
2
3
  import type { PublicProduct } from '../../blocks/products/shared';
3
4
  import { type CartDisplay, type CheckoutDisplay, type PassesMembershipsDisplay, type ProductDetailDisplay, type ProductListDisplay } from './commerce/shared/display';
@@ -14,7 +15,7 @@ export type PassesMembershipsHydration = Readonly<{
14
15
  passes: readonly PublicPassProduct[];
15
16
  memberships: readonly PublicMembershipProduct[];
16
17
  passPurchaseMode: 'add_to_cart' | 'buy_now';
17
- buttonVariant: 'primary' | 'secondary' | 'outline' | 'link';
18
+ buttonVariant: BlockButtonRole;
18
19
  }>;
19
20
  export type ProductListHydration = Readonly<{
20
21
  products: readonly PublicProduct[];
@@ -106,7 +107,7 @@ export declare const shopBlockRuntime: Readonly<{
106
107
  passes: readonly PublicPassProduct[];
107
108
  memberships: readonly PublicMembershipProduct[];
108
109
  passPurchaseMode: "add_to_cart" | "buy_now";
109
- buttonVariant: "primary" | "secondary" | "outline" | "link";
110
+ buttonVariant: BlockButtonRole;
110
111
  }>;
111
112
  }>;
112
113
  contracts: Readonly<{
@@ -148,7 +149,7 @@ export declare const shopBlockRuntime: Readonly<{
148
149
  passes: readonly PublicPassProduct[];
149
150
  memberships: readonly PublicMembershipProduct[];
150
151
  passPurchaseMode: "add_to_cart" | "buy_now";
151
- buttonVariant: "primary" | "secondary" | "outline" | "link";
152
+ buttonVariant: BlockButtonRole;
152
153
  }>;
153
154
  }>) => unknown;
154
155
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
@@ -184,7 +185,7 @@ export declare const shopBlockRuntime: Readonly<{
184
185
  passes: readonly PublicPassProduct[];
185
186
  memberships: readonly PublicMembershipProduct[];
186
187
  passPurchaseMode: "add_to_cart" | "buy_now";
187
- buttonVariant: "primary" | "secondary" | "outline" | "link";
188
+ buttonVariant: BlockButtonRole;
188
189
  }>;
189
190
  }>>;
190
191
  }>;
@@ -534,7 +535,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
534
535
  passes: readonly PublicPassProduct[];
535
536
  memberships: readonly PublicMembershipProduct[];
536
537
  passPurchaseMode: "add_to_cart" | "buy_now";
537
- buttonVariant: "primary" | "secondary" | "outline" | "link";
538
+ buttonVariant: BlockButtonRole;
538
539
  }>;
539
540
  }>>;
540
541
  }>) => unknown;
@@ -579,7 +580,7 @@ export declare const shopInteractiveIslandPropsCodec: Readonly<{
579
580
  passes: readonly PublicPassProduct[];
580
581
  memberships: readonly PublicMembershipProduct[];
581
582
  passPurchaseMode: "add_to_cart" | "buy_now";
582
- buttonVariant: "primary" | "secondary" | "outline" | "link";
583
+ buttonVariant: BlockButtonRole;
583
584
  }>;
584
585
  }>>;
585
586
  }>>;
@@ -1,5 +1,6 @@
1
1
  import type { PublicMembershipProduct, PublicPassProduct } from '../../blocks/shop';
2
2
  import type { PublicProduct } from '../../blocks/products/shared';
3
+ import type { BlockButtonRole } from '../../constants/buttonRoles';
3
4
  export type ShopDisplayConfig = {
4
5
  className?: string | null;
5
6
  mode?: 'passes-memberships' | 'product-list' | 'product-detail' | 'cart' | 'checkout';
@@ -15,7 +16,7 @@ export type ShopDisplayConfig = {
15
16
  showPrices?: boolean;
16
17
  showValidityPeriod?: boolean;
17
18
  showPricePerCredit?: boolean | null;
18
- buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
19
+ buttonVariant?: BlockButtonRole | null;
19
20
  passesHeading?: string;
20
21
  membershipsHeading?: string;
21
22
  buyButtonText?: string;
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Common types used by both course-registration and event-registration blocks.
5
5
  */
6
+ import type { BlockButtonRole } from '../../constants/buttonRoles';
6
7
  /**
7
8
  * Form data for registration forms.
8
9
  */
@@ -15,7 +16,7 @@ export type FormData = {
15
16
  /**
16
17
  * Button style variants.
17
18
  */
18
- export type ButtonVariant = 'primary' | 'secondary' | 'outline';
19
+ export type ButtonVariant = BlockButtonRole;
19
20
  /**
20
21
  * Default currency for the platform.
21
22
  */
@@ -1,6 +1,7 @@
1
+ import { type ReactNode } from 'react';
1
2
  import type { ApiClient } from '../../api/src/request';
2
3
  import { type FooterEditorTarget } from './footerComposer';
3
- export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, customFooterMode, manageLinksHref, manageSettingsHref, legalRegion, initialTarget, variant, canEdit, onSaved, }: {
4
+ export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, customFooterMode, manageLinksHref, manageSettingsHref, legalRegion, initialTarget, variant, canEdit, onSaved, loadingFallback, }: {
4
5
  apiClient: ApiClient;
5
6
  siteId: string;
6
7
  customFooterMode: 'default' | 'blocks' | 'default+blocks' | 'none';
@@ -11,4 +12,5 @@ export declare function FooterComposerPanel({ apiClient, siteId: rawSiteId, cust
11
12
  variant?: 'full' | 'sidebar';
12
13
  canEdit?: boolean;
13
14
  onSaved?: () => void;
14
- }): import("react").JSX.Element;
15
+ loadingFallback: ReactNode;
16
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;