@riverbankcms/sdk 0.109.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 (186) hide show
  1. package/dist/{PreviewEditorSidebar-DWqwfy3_.mjs → PreviewEditorSidebar-CTR6LUhN.mjs} +178 -117
  2. package/dist/{PreviewEditorUI-B7OL4sfR.mjs → PreviewEditorUI-DZg15Zip.mjs} +3 -4
  3. package/dist/{PreviewQueryProvider-D0y2l8JN.mjs → PreviewQueryProvider-kkmjklLG.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-D8Gt9Gbe.mjs → SdkPreviewModeRuntime-DeOTAFvR.mjs} +229 -219
  5. package/dist/{SiteChromeCustomizeContext-DUpalEdL.mjs → SiteChromeCustomizeContext-DOSDLCiJ.mjs} +1695 -2169
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +1716 -76
  7. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +5 -5
  8. package/dist/_dts/api/src/contentRuntime.d.ts +4 -1
  9. package/dist/_dts/api/src/courses.d.ts +30 -15
  10. package/dist/_dts/api/src/endpoints.d.ts +14 -4
  11. package/dist/_dts/api/src/index.d.ts +2 -2
  12. package/dist/_dts/api/src/sdkContracts.d.ts +23 -11
  13. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -1
  14. package/dist/_dts/api/src/siteOperations.d.ts +11 -19
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -6
  16. package/dist/_dts/api/src/webhooks.d.ts +98 -1
  17. package/dist/_dts/billing/src/site-arrangements.d.ts +3 -0
  18. package/dist/_dts/blocks/src/client/course-registration.d.ts +4 -1
  19. package/dist/_dts/blocks/src/client.d.ts +4 -1
  20. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  21. package/dist/_dts/blocks/src/index.d.ts +3 -1
  22. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +2 -1
  23. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +2 -4
  25. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -1
  26. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -1
  27. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  28. package/dist/_dts/blocks/src/system/blocks/events/recurring-schedule.d.ts +3 -2
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +2 -1
  30. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -1
  31. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -1
  32. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -1
  33. package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +2 -1
  34. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +35 -0
  35. package/dist/_dts/blocks/src/system/fields/button.d.ts +10 -21
  36. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +2 -1
  37. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +9 -5
  38. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -18
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -9
  40. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +29 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/buttonAffordance.d.ts +1 -1
  42. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/ErrorStep.d.ts +2 -1
  43. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/PaymentFailedStep.d.ts +2 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/VerifyingTimeoutStep.d.ts +2 -1
  45. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +21 -0
  46. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +4 -4
  47. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +326 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.planning.d.ts +27 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +5 -4
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -4
  53. package/dist/_dts/blocks/src/system/runtime/nodes/file-download.d.ts +2 -3
  54. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +6 -3
  56. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +7 -6
  57. package/dist/_dts/blocks/src/system/runtime/nodes/shop.types.d.ts +2 -1
  58. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  59. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +4 -2
  60. package/dist/_dts/content-editor/src/index.d.ts +12 -12
  61. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +17 -2
  62. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +221 -53
  63. package/dist/_dts/editor-blocks/src/widgets/button/context.d.ts +3 -2
  64. package/dist/_dts/preview-next/src/client/index.d.ts +3 -2
  65. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +16 -0
  66. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -3
  67. package/dist/_dts/preview-next/src/client/preview/PreviewDesignOpenRequestContext.d.ts +7 -0
  68. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +5 -11
  69. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +5 -6
  70. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -7
  71. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +7 -9
  72. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +4 -11
  73. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -7
  74. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +0 -8
  75. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +1 -11
  76. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +1 -5
  77. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +2 -3
  78. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +3 -4
  79. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +3 -5
  80. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  81. package/dist/_dts/sdk/src/bookings/types.d.ts +3 -3
  82. package/dist/_dts/sdk/src/cli/commands/style.d.ts +3 -2
  83. package/dist/_dts/sdk/src/client/management/types.d.ts +2 -1
  84. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -15
  85. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
  86. package/dist/_dts/sdk/src/version.d.ts +1 -1
  87. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  88. package/dist/_dts/sdk/src/webhooks/verify.d.ts +3 -3
  89. package/dist/_dts/site-commands/src/commands.d.ts +129 -6
  90. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +80 -0
  92. package/dist/_dts/theme-core/src/buttons/styles/index.d.ts +3 -0
  93. package/dist/_dts/theme-core/src/buttons/styles/recipes/defineStaticButtonStyleRecipe.d.ts +49 -0
  94. package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +67 -0
  95. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +649 -0
  96. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +753 -0
  97. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +69 -0
  98. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +26 -24
  99. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +19 -153
  100. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -1
  101. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +8 -9
  102. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +4 -4
  103. package/dist/_dts/ui/src/palette/hex.d.ts +3 -3
  104. package/dist/cli/index.mjs +1760 -1914
  105. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +1 -1
  106. package/dist/client/{DiscountCodeDisclosure-DU1ygxU2.mjs → DiscountCodeDisclosure-C4xvTBux.mjs} +1 -1
  107. package/dist/client/{EventCombined.client-DB5zagCo.mjs → EventCombined.client-Cr7G131j.mjs} +2 -3
  108. package/dist/client/{EventListing.client-CTX9JHBL.mjs → EventListing.client-CAjbseNy.mjs} +2 -2
  109. package/dist/client/{LeafletStaticMap-BYImhgiB.mjs → LeafletStaticMap-BMlWfwz3.mjs} +1 -1
  110. package/dist/client/{MagicLinkForm-CRkw_M3l.mjs → MagicLinkForm-ChdFz96y.mjs} +1 -2
  111. package/dist/client/{StepIndicator-BnmVBJJh.mjs → StepIndicator-7D3GaBeM.mjs} +2 -2
  112. package/dist/client/{accordion-CeGreumd.mjs → accordion-D8JTs2Si.mjs} +1 -1
  113. package/dist/client/{bookingForm-CSzFNrpN.mjs → bookingForm-H3DCRBHs.mjs} +6 -7
  114. package/dist/client/bookings.mjs +3069 -1447
  115. package/dist/client/{carousel-B2jDtogf.mjs → carousel-DMr_QWlz.mjs} +1 -1
  116. package/dist/client/{cart-D-jZ-vaY.mjs → cart-DWMbfBdR.mjs} +3 -3
  117. package/dist/client/{checkout-Dza-LA7N.mjs → checkout-zmfdkXLx.mjs} +3 -3
  118. package/dist/client/client.mjs +1732 -1913
  119. package/dist/client/{colorStyles-CrgzoXsm.mjs → colorStyles-gcTh5yZT.mjs} +2 -12
  120. package/dist/client/{colorTokenParts-CMugwvX_.mjs → colorTokenParts-FSS3al6l.mjs} +31 -1
  121. package/dist/client/{courseRegistration-TYkNychb.mjs → courseRegistration-Z_mn18jy.mjs} +100 -37
  122. package/dist/client/{eventCalendar-BI_90SsT.mjs → eventCalendar-CYp0YJGF.mjs} +4 -5
  123. package/dist/client/{eventCombined-mNrpryE9.mjs → eventCombined-rKyYZUa9.mjs} +2 -2
  124. package/dist/client/{eventDetails-D4GVlCIY.mjs → eventDetails-X0ZaUuMj.mjs} +3 -3
  125. package/dist/client/{eventListing-YhKN018y.mjs → eventListing-W1SuL7EP.mjs} +2 -2
  126. package/dist/client/{eventRegistration-CdHGtilr.mjs → eventRegistration-ClWricui.mjs} +6 -7
  127. package/dist/client/{form-AcAL45rA.mjs → form--eKPwAAD.mjs} +1 -2
  128. package/dist/client/{headerSection-uEC52ueD.mjs → headerSection-BSeGr-FS.mjs} +2 -3
  129. package/dist/client/hooks.mjs +1554 -1871
  130. package/dist/client/{locationMap-_wJDSUYe.mjs → locationMap-BpOrtNYn.mjs} +8 -5
  131. package/dist/client/{media-BK0O3b-U.mjs → media-DoF0dcVx.mjs} +2 -2
  132. package/dist/client/{newsletterForm-DrArsb2B.mjs → newsletterForm-Bt7it7Dy.mjs} +1 -2
  133. package/dist/client/{pricing-BSYVghwo.mjs → pricing-BTjSDDr4.mjs} +1 -1
  134. package/dist/client/{productDetail-Dyk90sMs.mjs → productDetail-ICnVTcCg.mjs} +3 -3
  135. package/dist/client/{productList-BCKThwAI.mjs → productList-ZHr6D604.mjs} +3 -3
  136. package/dist/client/{propsDecoder-CkXxkdSR.mjs → propsDecoder-wWN0tBDF.mjs} +2351 -129
  137. package/dist/client/rendering/client.mjs +1664 -1824
  138. package/dist/client/rendering/islands.mjs +20 -20
  139. package/dist/client/rendering.mjs +1697 -1909
  140. package/dist/client/{shop-DeltVH10.mjs → shop-C1u_BUn0.mjs} +5 -6
  141. package/dist/client/{shop-commerce-BD9Jsm2Z.mjs → shop-commerce-CleZdRha.mjs} +5 -6
  142. package/dist/client/{shop-commerce-store-CmXD6FDS.mjs → shop-commerce-store-ycnoB2Ce.mjs} +1 -1
  143. package/dist/client/{shopShared-B8v-lH_F.mjs → shopShared-CPhByt2a.mjs} +3 -3
  144. package/dist/client/{useDiscountCodeUi-DbWJN8ld.mjs → useDiscountCodeUi-cStSQI6C.mjs} +1 -1
  145. package/dist/client/{useEventFilters-EJIMUnqT.mjs → useEventFilters-DKPN7hSY.mjs} +26 -27
  146. package/dist/client/{usePolling-Cmh14fc7.mjs → usePolling-BKAd6pkZ.mjs} +2 -2
  147. package/dist/preview-next/before-render.mjs +37 -6
  148. package/dist/preview-next/client/runtime.mjs +4 -4
  149. package/dist/preview-next/middleware.mjs +37 -6
  150. package/dist/{previewAuthStore-CTO7CRPk.mjs → previewAuthStore-BkT1D06A.mjs} +37 -6
  151. package/dist/{sdk-runtime-Dou0GAav.mjs → sdk-runtime-hu3wr3ng.mjs} +2 -2
  152. package/dist/{separator-CI5wZNXT.mjs → separator-Bln8izQ9.mjs} +1 -1
  153. package/dist/server/components.mjs +1472 -1788
  154. package/dist/server/config-validation.mjs +1559 -1876
  155. package/dist/server/config.mjs +1559 -1876
  156. package/dist/server/data.mjs +1554 -1871
  157. package/dist/server/index.mjs +38 -7
  158. package/dist/server/next/revalidate.mjs +53 -1
  159. package/dist/server/next.mjs +1584 -1869
  160. package/dist/server/page-converter.mjs +1543 -1860
  161. package/dist/server/prebuild.mjs +1 -1
  162. package/dist/server/rendering/server.mjs +1472 -1788
  163. package/dist/server/rendering.mjs +1472 -1788
  164. package/dist/server/routing.mjs +1600 -1891
  165. package/dist/server/server.mjs +1574 -1860
  166. package/dist/server/theme-bridge.mjs +1436 -1619
  167. package/dist/server/theme.mjs +1345 -1241
  168. package/dist/server/webhooks.mjs +54 -2
  169. package/package.json +1 -1
  170. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +0 -16
  171. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +0 -16
  172. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +0 -16
  173. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +0 -16
  174. package/dist/_dts/theme-core/src/buttons/personalities/flat-ink.d.ts +0 -20
  175. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +0 -172
  176. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +0 -16
  177. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +0 -22
  178. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +0 -16
  179. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +0 -16
  180. package/dist/_dts/theme-core/src/buttons/personalities/quiet-arrow.d.ts +0 -17
  181. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +0 -17
  182. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +0 -16
  183. package/dist/_dts/theme-core/src/buttons/personalities/two-tone-pill.d.ts +0 -17
  184. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +0 -285
  185. package/dist/client/buttons-DoFV7KDL.mjs +0 -2115
  186. package/dist/client/foregroundContract-xICPq59x.mjs +0 -31
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  export declare const RIVERBANK_SIGNATURE_PREFIX = "sha256=";
3
- export declare const SUPPORTED_WEBHOOK_EVENTS: readonly ["page.published", "page.unpublished", "page.deleted", "page.path_changed", "entry.published", "entry.unpublished", "entry.deleted", "entry.path_changed", "navigation.updated", "theme.updated", "site.settings_updated"];
3
+ export declare const SUPPORTED_WEBHOOK_EVENTS: readonly ["page.published", "page.unpublished", "page.deleted", "page.path_changed", "entry.published", "entry.unpublished", "entry.deleted", "entry.path_changed", "navigation.updated", "theme.updated", "site.settings_updated", "events.updated"];
4
4
  export type WebhookEvent = (typeof SUPPORTED_WEBHOOK_EVENTS)[number];
5
5
  export declare const WebhookEventSchema: z.ZodEnum<{
6
6
  "page.published": "page.published";
@@ -14,6 +14,7 @@ export declare const WebhookEventSchema: z.ZodEnum<{
14
14
  "navigation.updated": "navigation.updated";
15
15
  "theme.updated": "theme.updated";
16
16
  "site.settings_updated": "site.settings_updated";
17
+ "events.updated": "events.updated";
17
18
  }>;
18
19
  declare const revalidationPathBrand: unique symbol;
19
20
  export type RevalidationPath = string & {
@@ -75,6 +76,58 @@ export declare const NavigationUpdatedDataSchema: z.ZodObject<{
75
76
  menuId: z.ZodOptional<z.ZodString>;
76
77
  }, z.core.$strict>;
77
78
  export declare const EmptyWebhookDataSchema: z.ZodObject<{}, z.core.$strict>;
79
+ export declare const EventSeriesPublicActionSchema: z.ZodEnum<{
80
+ archived: "archived";
81
+ cancelled: "cancelled";
82
+ created: "created";
83
+ updated: "updated";
84
+ deleted: "deleted";
85
+ restored: "restored";
86
+ }>;
87
+ export declare const EventOccurrencePublicActionSchema: z.ZodEnum<{
88
+ cancelled: "cancelled";
89
+ created: "created";
90
+ updated: "updated";
91
+ deleted: "deleted";
92
+ }>;
93
+ export declare const EventRegistrationCapacityActionSchema: z.ZodEnum<{
94
+ cancelled: "cancelled";
95
+ created: "created";
96
+ hold_expired: "hold_expired";
97
+ waitlist_promoted: "waitlist_promoted";
98
+ }>;
99
+ export declare const EventsUpdatedDataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
100
+ entity: z.ZodLiteral<"series">;
101
+ action: z.ZodEnum<{
102
+ archived: "archived";
103
+ cancelled: "cancelled";
104
+ created: "created";
105
+ updated: "updated";
106
+ deleted: "deleted";
107
+ restored: "restored";
108
+ }>;
109
+ seriesId: z.ZodString;
110
+ }, z.core.$strict>, z.ZodObject<{
111
+ entity: z.ZodLiteral<"occurrence">;
112
+ action: z.ZodEnum<{
113
+ cancelled: "cancelled";
114
+ created: "created";
115
+ updated: "updated";
116
+ deleted: "deleted";
117
+ }>;
118
+ seriesId: z.ZodString;
119
+ occurrenceId: z.ZodString;
120
+ }, z.core.$strict>, z.ZodObject<{
121
+ entity: z.ZodLiteral<"registration">;
122
+ action: z.ZodEnum<{
123
+ cancelled: "cancelled";
124
+ created: "created";
125
+ hold_expired: "hold_expired";
126
+ waitlist_promoted: "waitlist_promoted";
127
+ }>;
128
+ seriesId: z.ZodString;
129
+ occurrenceIds: z.ZodTuple<[z.ZodString], z.ZodString>;
130
+ }, z.core.$strict>], "entity">;
78
131
  export type PagePublishedData = z.infer<typeof PagePublishedDataSchema>;
79
132
  export type PageRemovedData = z.infer<typeof PageRemovedDataSchema>;
80
133
  export type PagePathChangedData = z.infer<typeof PagePathChangedDataSchema>;
@@ -83,6 +136,10 @@ export type EntryRemovedData = z.infer<typeof EntryRemovedDataSchema>;
83
136
  export type EntryPathChangedData = z.infer<typeof EntryPathChangedDataSchema>;
84
137
  export type NavigationUpdatedData = z.infer<typeof NavigationUpdatedDataSchema>;
85
138
  export type EmptyWebhookData = z.infer<typeof EmptyWebhookDataSchema>;
139
+ export type EventSeriesPublicAction = z.infer<typeof EventSeriesPublicActionSchema>;
140
+ export type EventOccurrencePublicAction = z.infer<typeof EventOccurrencePublicActionSchema>;
141
+ export type EventRegistrationCapacityAction = z.infer<typeof EventRegistrationCapacityActionSchema>;
142
+ export type EventsUpdatedData = z.infer<typeof EventsUpdatedDataSchema>;
86
143
  export type WebhookDataByEvent = Readonly<{
87
144
  'page.published': PagePublishedData;
88
145
  'page.unpublished': PageRemovedData;
@@ -95,6 +152,7 @@ export type WebhookDataByEvent = Readonly<{
95
152
  'navigation.updated': NavigationUpdatedData;
96
153
  'theme.updated': EmptyWebhookData;
97
154
  'site.settings_updated': EmptyWebhookData;
155
+ 'events.updated': EventsUpdatedData;
98
156
  }>;
99
157
  export type WebhookDataForEvent<E extends WebhookEvent> = WebhookDataByEvent[E];
100
158
  export declare const WebhookPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -221,6 +279,45 @@ export declare const WebhookPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
221
279
  paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
222
280
  event: z.ZodLiteral<"site.settings_updated">;
223
281
  data: z.ZodObject<{}, z.core.$strict>;
282
+ }, z.core.$strip>, z.ZodObject<{
283
+ timestamp: z.ZodString;
284
+ siteId: z.ZodString;
285
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
286
+ event: z.ZodLiteral<"events.updated">;
287
+ dispatchId: z.ZodString;
288
+ tags: z.ZodArray<z.ZodString>;
289
+ data: z.ZodDiscriminatedUnion<[z.ZodObject<{
290
+ entity: z.ZodLiteral<"series">;
291
+ action: z.ZodEnum<{
292
+ archived: "archived";
293
+ cancelled: "cancelled";
294
+ created: "created";
295
+ updated: "updated";
296
+ deleted: "deleted";
297
+ restored: "restored";
298
+ }>;
299
+ seriesId: z.ZodString;
300
+ }, z.core.$strict>, z.ZodObject<{
301
+ entity: z.ZodLiteral<"occurrence">;
302
+ action: z.ZodEnum<{
303
+ cancelled: "cancelled";
304
+ created: "created";
305
+ updated: "updated";
306
+ deleted: "deleted";
307
+ }>;
308
+ seriesId: z.ZodString;
309
+ occurrenceId: z.ZodString;
310
+ }, z.core.$strict>, z.ZodObject<{
311
+ entity: z.ZodLiteral<"registration">;
312
+ action: z.ZodEnum<{
313
+ cancelled: "cancelled";
314
+ created: "created";
315
+ hold_expired: "hold_expired";
316
+ waitlist_promoted: "waitlist_promoted";
317
+ }>;
318
+ seriesId: z.ZodString;
319
+ occurrenceIds: z.ZodTuple<[z.ZodString], z.ZodString>;
320
+ }, z.core.$strict>], "entity">;
224
321
  }, z.core.$strip>], "event">;
225
322
  export type WebhookPayload = z.infer<typeof WebhookPayloadSchema>;
226
323
  export type WebhookPayloadForEvent<E extends WebhookEvent> = Extract<WebhookPayload, {
@@ -95,6 +95,8 @@ export type SiteBillingManualReviewPayload = {
95
95
  export type SiteBillingArrangementPlanManualReviewReason = Exclude<SiteBillingManualReviewReason, 'subscription_action_failed'>;
96
96
  export type SiteBillingArrangementSubscriptionAction = 'not_applicable' | 'sync_attempted' | 'cancelled_immediately' | 'scheduled_cancel_at_period_end' | 'manual_review_required' | 'failed';
97
97
  export declare const SITE_BILLING_ARRANGEMENT_SUBSCRIPTION_ACTIONS: readonly ["not_applicable", "sync_attempted", "cancelled_immediately", "scheduled_cancel_at_period_end", "manual_review_required", "failed"];
98
+ export declare const SITE_BILLING_ARRANGEMENT_CHANGE_ORIGINS: readonly ["native_arrangement_change", "imported_legacy_cost_history"];
99
+ export type SiteBillingArrangementChangeOrigin = (typeof SITE_BILLING_ARRANGEMENT_CHANGE_ORIGINS)[number];
98
100
  export type SiteBillingTransitionAttemptStatus = 'pending_external_action' | 'external_action_succeeded' | 'finalized' | 'failed';
99
101
  export declare const SITE_BILLING_TRANSITION_ATTEMPT_STATUSES: readonly ["pending_external_action", "external_action_succeeded", "finalized", "failed"];
100
102
  export type SiteBillingArrangementChangePlan = Readonly<{
@@ -115,6 +117,7 @@ export declare function isSiteBillingArrangementKind(value: string | null | unde
115
117
  export declare function isManagedManualBillingReason(value: string | null | undefined): value is ManagedManualBillingReason;
116
118
  export declare function isBillingSubscriptionOrigin(value: string | null | undefined): value is BillingSubscriptionOrigin;
117
119
  export declare function isSiteBillingArrangementSubscriptionAction(value: string | null | undefined): value is SiteBillingArrangementSubscriptionAction;
120
+ export declare function isSiteBillingArrangementChangeOrigin(value: string | null | undefined): value is SiteBillingArrangementChangeOrigin;
118
121
  export declare function isSiteBillingManualReviewReason(value: string | null | undefined): value is SiteBillingManualReviewReason;
119
122
  export declare function isSiteBillingManualReviewStatus(value: string | null | undefined): value is SiteBillingManualReviewStatus;
120
123
  export declare function isSiteBillingManualReviewResolutionAction(value: string | null | undefined): value is SiteBillingManualReviewResolutionAction;
@@ -1,2 +1,5 @@
1
- export { BlockApiProvider, type BlockApiConfig, } from '../system/runtime/api';
1
+ export { BlockApiProvider, type BlockApiConfig } from '../system/runtime/api';
2
2
  export { CourseRegistrationIslandClient, type CourseRegistrationIslandClientProps, } from '../system/runtime/nodes/course-registration.client';
3
+ export { HeadlessWholeSeriesRegistrationProvider, createWholeSeriesRegistrationBlockApiConfig, useHeadlessWholeSeriesRegistrationFlow, } from '../system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow';
4
+ export { AltchaWidget as HeadlessWholeSeriesRegistrationAltchaWidget } from '../../../altcha/src/client';
5
+ export type { HeadlessWholeSeriesRegistrationFlow, HeadlessWholeSeriesRegistrationFlowOptions, HeadlessWholeSeriesRegistrationProviderProps, WholeSeriesRegistrationAvailabilityModel, WholeSeriesRegistrationFlowActionResult, WholeSeriesRegistrationFlowActions, WholeSeriesRegistrationFlowStatus, WholeSeriesRegistrationFlowStep, WholeSeriesRegistrationFlowStepId, WholeSeriesRegistrationFlowView, WholeSeriesRegistrationPaymentModel, WholeSeriesRegistrationPaymentSelection, WholeSeriesRegistrationPricingInput, WholeSeriesRegistrationPricingModel, WholeSeriesRegistrationPricingOptionInput, WholeSeriesRegistrationRun, WholeSeriesRegistrationRunInput, WholeSeriesRegistrationRunsModel, WholeSeriesRegistrationSpamProtectionModel, WholeSeriesRegistrationWaitlistClaimModel, } from '../system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow';
@@ -19,8 +19,10 @@ export { BookingFormClient } from './system/runtime/nodes/booking-form.client';
19
19
  export { HeadlessBookingPaymentSelectionStep, type HeadlessBookingPaymentSelectionStepProps, } from './system/runtime/nodes/booking-form.default-ui';
20
20
  export { HeadlessBookingProvider, createBookingBlockApiConfig, useHeadlessBookingFlow, } from './system/runtime/hooks/useHeadlessBookingFlow';
21
21
  export { HeadlessEventRegistrationProvider, createEventRegistrationBlockApiConfig, useHeadlessEventRegistrationFlow, } from './system/runtime/hooks/useHeadlessEventRegistrationFlow';
22
+ export { HeadlessWholeSeriesRegistrationProvider, createWholeSeriesRegistrationBlockApiConfig, useHeadlessWholeSeriesRegistrationFlow, } from './system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow';
22
23
  export { AltchaWidget as HeadlessBookingAltchaWidget } from '../../altcha/src/client';
23
24
  export { AltchaWidget as HeadlessEventRegistrationAltchaWidget } from '../../altcha/src/client';
25
+ export { AltchaWidget as HeadlessWholeSeriesRegistrationAltchaWidget } from '../../altcha/src/client';
24
26
  export { EventRegistrationClient, EventRegistrationIslandClient, } from './system/runtime/nodes/event-registration.client';
25
27
  export { EventDetailsClient, EventDetailsIslandClient, } from './system/runtime/nodes/event-details.client';
26
28
  export { LocationMapClient, LocationMapIslandClient, } from './system/runtime/nodes/location-map.client';
@@ -36,7 +38,8 @@ export type { BookingFormData, BookingSelectedCollectionOptionKind, } from './sy
36
38
  export type { BookingAvailabilityModel, BookingAppointmentPackagesModel, BookingDiscountModel, BookingFieldsModel, BookingFlowActions, BookingPaymentModel, BookingResourcesModel, BookingServicesModel, BookingSpamProtectionModel, HeadlessBookingFlow, HeadlessBookingFlowOptions, HeadlessBookingProviderProps, } from './system/runtime/hooks/useHeadlessBookingFlow';
37
39
  export type { AppointmentBookingOverrideData, AppointmentBookingOverrideInput, AppointmentBookingOverrideInputResult, AppointmentBookingOverridePropsLike, BookingAvailabilityQuery, BookingAppointmentPackagesUnavailableReason, BookingFieldValue, BookingFieldView, BookingFlowActionResult, BookingFlowFeedback, BookingFlowStatus, BookingFlowView, BookingResourceView, BookingFlowStep, BookingFlowStepId, BookingSlotView, BookingSubmitActionResult, BookingSubmitOptions, BookingValidationErrors, DerivedBookingFlowSteps, DeriveBookingFlowStepsInput, LoadState, } from './system/runtime/hooks/useHeadlessBookingFlow.state';
38
40
  export type { EventRegistrationAttendeeModel, EventRegistrationDiscountModel, EventRegistrationEventsModel, EventRegistrationFlowActionResult, EventRegistrationFlowActions, EventRegistrationFlowStatus, EventRegistrationFlowStep, EventRegistrationFlowStepId, EventRegistrationFlowView, EventRegistrationGuestsModel, EventRegistrationLoadState, EventRegistrationOverrideData, EventRegistrationOverrideInput, EventRegistrationOverrideInputResult, EventRegistrationOverridePropsLike, EventRegistrationPaymentModel, EventRegistrationPaymentSelection, EventRegistrationPortalAuthModel, EventRegistrationSpamProtectionModel, EventRegistrationSubmitOptions, EventRegistrationSubmitResult, EventRegistrationTerminalModel, EventRegistrationTicketsModel, HeadlessEventRegistrationFlow, HeadlessEventRegistrationFlowOptions, HeadlessEventRegistrationProviderProps, } from './system/runtime/hooks/useHeadlessEventRegistrationFlow';
39
- export { getEventRegistrationOverrideInput, } from './system/runtime/nodes/event-registration/event-registration.headless.state';
41
+ export type { HeadlessWholeSeriesRegistrationFlow, HeadlessWholeSeriesRegistrationFlowOptions, HeadlessWholeSeriesRegistrationProviderProps, WholeSeriesRegistrationAvailabilityModel, WholeSeriesRegistrationFlowActionResult, WholeSeriesRegistrationFlowActions, WholeSeriesRegistrationFlowStatus, WholeSeriesRegistrationFlowStep, WholeSeriesRegistrationFlowStepId, WholeSeriesRegistrationFlowView, WholeSeriesRegistrationPaymentModel, WholeSeriesRegistrationPaymentSelection, WholeSeriesRegistrationPricingInput, WholeSeriesRegistrationPricingModel, WholeSeriesRegistrationPricingOptionInput, WholeSeriesRegistrationRun, WholeSeriesRegistrationRunInput, WholeSeriesRegistrationRunsModel, WholeSeriesRegistrationSpamProtectionModel, WholeSeriesRegistrationWaitlistClaimModel, } from './system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow';
42
+ export { getEventRegistrationOverrideInput } from './system/runtime/nodes/event-registration/event-registration.headless.state';
40
43
  export { buildBookingAvailabilityQuery, buildBookingStepPlan, buildBookingSubmitPlan, createEmptyBookingValidationErrors, createFieldBookingValidationErrors, createFormBookingValidationError, describeUnknownError, deriveBookingFlowSteps, deriveBookingFieldViews, getAppointmentBookingOverrideInput, hasBookingValidationErrors, resolveAppointmentPackagesModel, resolveHeadlessBookingStatus, resolveHeadlessBookingView, toBookingFormData, toBookingSlotView, toBookingSlotViews, validateBookingField, validateBookingFields, validateBookingStep, } from './system/runtime/hooks/useHeadlessBookingFlow.state';
41
44
  export type { EventDetailsClientProps, EventDetailsIslandClientProps, } from './system/runtime/nodes/event-details.client';
42
45
  export type { LocationMapClientProps, LocationMapIslandClientProps, } from './system/runtime/nodes/location-map.client';
@@ -944,7 +944,7 @@ export declare const proofBlockIslandCodecs: {
944
944
  passes: readonly import("..").PublicPassProduct[];
945
945
  memberships: readonly import("..").PublicMembershipProduct[];
946
946
  passPurchaseMode: "add_to_cart" | "buy_now";
947
- buttonVariant: "primary" | "secondary" | "outline" | "link";
947
+ buttonVariant: import("..").BlockButtonRole;
948
948
  }>;
949
949
  }>>;
950
950
  }>) => unknown;
@@ -989,7 +989,7 @@ export declare const proofBlockIslandCodecs: {
989
989
  passes: readonly import("..").PublicPassProduct[];
990
990
  memberships: readonly import("..").PublicMembershipProduct[];
991
991
  passPurchaseMode: "add_to_cart" | "buy_now";
992
- buttonVariant: "primary" | "secondary" | "outline" | "link";
992
+ buttonVariant: import("..").BlockButtonRole;
993
993
  }>;
994
994
  }>>;
995
995
  }>>;
@@ -2030,7 +2030,7 @@ export declare const runtimeIslandCodecs: {
2030
2030
  passes: readonly import("..").PublicPassProduct[];
2031
2031
  memberships: readonly import("..").PublicMembershipProduct[];
2032
2032
  passPurchaseMode: "add_to_cart" | "buy_now";
2033
- buttonVariant: "primary" | "secondary" | "outline" | "link";
2033
+ buttonVariant: import("..").BlockButtonRole;
2034
2034
  }>;
2035
2035
  }>>;
2036
2036
  }>) => unknown;
@@ -2075,7 +2075,7 @@ export declare const runtimeIslandCodecs: {
2075
2075
  passes: readonly import("..").PublicPassProduct[];
2076
2076
  memberships: readonly import("..").PublicMembershipProduct[];
2077
2077
  passPurchaseMode: "add_to_cart" | "buy_now";
2078
- buttonVariant: "primary" | "secondary" | "outline" | "link";
2078
+ buttonVariant: import("..").BlockButtonRole;
2079
2079
  }>;
2080
2080
  }>>;
2081
2081
  }>>;
@@ -5,6 +5,8 @@ export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntryS
5
5
  export * from './subroutes';
6
6
  export * from './primitives/content/components/Button';
7
7
  export * from './structure/schema';
8
+ export { BLOCK_BUTTON_ROLES, BLOCK_BUTTON_ROLE_OPTIONS, blockButtonRoleSchema, isBlockButtonRole, type BlockButtonRole, } from './system/constants/buttonRoles';
9
+ export type { BlockContentSource, BlockContentSourceKind, } from './system/manifest/schema';
8
10
  export * from '../../theme-core/src/palette/index';
9
11
  export * from '../../theme-core/src/palette/generateShades';
10
12
  export * from '../../theme-core/src/palette/utils/index';
@@ -34,7 +36,7 @@ export * from '../../theme-core/src/blocks/index';
34
36
  export { EDITABLE_SURFACE_FORWARDING_PROP, markEditableSurfaceForwarding, type EditableSurfaceForwardingComponent, } from './system/runtime/header/shared';
35
37
  export * from './system';
36
38
  export { type GeneratedIconAssetId, type GeneratedIconSetId, parseSiteIconStyleGuideVersionId, type SiteIconStyleGuideVersionId, } from './system/icons/ids';
37
- export { isSemanticIconId, type SemanticIconId, } from './system/icons/semantic';
39
+ export { isSemanticIconId, type SemanticIconId } from './system/icons/semantic';
38
40
  export { getGeneratedBlockIconStyleState, parseBlockIconValue, type GeneratedBlockIconValue, type GeneratedBlockIconStyleState, } from './system/icons/value';
39
41
  export { SUPPORTED_LOADER_ENDPOINTS, isSupportedLoaderEndpoint, type SupportedLoaderEndpoint, } from './system/data';
40
42
  export type { AuthoredLinkValue, LinkValue, InternalLinkValue, InternalResolvedLinkValue, InternalRouteOnlyLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, } from './system/types/link';
@@ -1,6 +1,7 @@
1
1
  import type { SystemBlockDefinition } from "../registry";
2
2
  import type { SectionStylesContent } from "../fields/boxStyles";
3
3
  import { courseRegistrationBlockRuntime } from "../runtime/nodes/course-registration.interactive";
4
+ import type { BlockButtonRole } from "../constants/buttonRoles";
4
5
  export { type PublicCourse, type CourseSession, type CourseVenue, type CourseStatus } from "./courses/shared";
5
6
  /**
6
7
  * Course Registration Block
@@ -124,7 +125,7 @@ export type CourseRegistrationContent = {
124
125
  waitlistMessage?: string | null;
125
126
  membershipMessage?: string | null;
126
127
  buttonText?: string | null;
127
- buttonVariant?: "primary" | "secondary" | "outline" | null;
128
+ buttonVariant?: BlockButtonRole | null;
128
129
  _sectionStyles?: SectionStylesContent;
129
130
  };
130
131
  export declare const courseRegistrationBlockDefinition: SystemBlockDefinition<CourseRegistrationContent, typeof courseRegistrationBlockRuntime>;
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { BlockBookingPaymentTerms } from '../../shared/bookingPaymentTerms';
5
5
  import type { PublicTeamMemberSummary } from '../../shared/teamMembers';
6
+ import type { BlockButtonRole } from '../../../constants/buttonRoles';
6
7
  /**
7
8
  * Course status values
8
9
  */
@@ -94,4 +95,4 @@ export type PublicCourse = {
94
95
  /**
95
96
  * Button variant options for course actions
96
97
  */
97
- export type ButtonVariant = 'primary' | 'secondary' | 'outline';
98
+ export type ButtonVariant = BlockButtonRole;
@@ -1,6 +1,7 @@
1
1
  import type { SystemBlockDefinition } from "../registry";
2
2
  import type { SectionStylesContent } from "../fields/boxStyles";
3
3
  import { type BlockContentShapeInput, type DefinedBlockManifest } from "../defineBlock";
4
+ import type { BlockCtaContent } from "../fields/ctas";
4
5
  declare const ctaFullConfig: {
5
6
  readonly id: "block.cta-full";
6
7
  readonly title: "Full-width CTA";
@@ -45,10 +46,7 @@ export type CtaFullContent = {
45
46
  title: string;
46
47
  content?: unknown;
47
48
  _sectionStyles?: SectionStylesContent;
48
- ctas?: Array<{
49
- label?: string | null;
50
- href?: string | null;
51
- }>;
49
+ ctas?: BlockCtaContent[] | null;
52
50
  };
53
51
  export declare const ctaFullBlockDefinition: SystemBlockDefinition<CtaFullContent>;
54
52
  export {};
@@ -2,6 +2,7 @@ import type { SystemBlockDefinition } from '../registry';
2
2
  import type { SectionStylesContent } from '../fields/boxStyles';
3
3
  import { type PublicEvent } from './events/shared';
4
4
  import { eventRegistrationBlockRuntime } from '../runtime/nodes/event-registration.interactive';
5
+ import type { BlockButtonRole } from '../constants/buttonRoles';
5
6
  /**
6
7
  * Event Registration Block
7
8
  *
@@ -111,7 +112,7 @@ export type EventRegistrationContent = {
111
112
  successMessage?: string | null;
112
113
  waitlistMessage?: string | null;
113
114
  buttonText?: string | null;
114
- buttonVariant?: 'primary' | 'secondary' | 'outline' | null;
115
+ buttonVariant?: BlockButtonRole | null;
115
116
  _sectionStyles?: SectionStylesContent;
116
117
  };
117
118
  export type { PublicEvent };
@@ -1,6 +1,7 @@
1
1
  import type { SystemBlockDefinition } from "../../registry";
2
2
  import { type ContainerStylesContent, type SectionStylesContent } from "../../fields/boxStyles";
3
3
  import { eventListingBlockRuntime } from "../../runtime/nodes/events/EventListing.interactive";
4
+ import type { BlockButtonRole } from "../../constants/buttonRoles";
4
5
  import type { EventBlockKind, EventCardVariantInput, EventScheduleScope, EventSurfacePreset, EventSurfaceScope } from "./shared/types";
5
6
  export declare const eventListingManifest: import("../..").DefinedBlockManifest<{
6
7
  readonly additionalFields: readonly [{
@@ -36,7 +37,7 @@ export type EventListingContent = {
36
37
  seeAllUrl?: string | null;
37
38
  loadMoreText?: string | null;
38
39
  cardVariant?: EventCardVariantInput | null;
39
- buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
40
+ buttonVariant?: BlockButtonRole | null;
40
41
  buttonText?: string | null;
41
42
  showVenue?: boolean | null;
42
43
  showMap?: boolean | null;
@@ -4,6 +4,7 @@ import type { NodeDefinition } from "../../node";
4
4
  import { type SectionStylesContent } from "../../fields/boxStyles";
5
5
  import { type BlockConfig, type BlockContentShapeInput, type DefinedBlockManifest } from "../../defineBlock";
6
6
  import type { EventCardVariantInput } from "./shared/types";
7
+ import type { BlockButtonRole } from "../../constants/buttonRoles";
7
8
  /**
8
9
  * Event Spotlight Block
9
10
  *
@@ -34,7 +35,7 @@ export type EventSpotlightContent = {
34
35
  layout?: "grid" | "stack" | null;
35
36
  columns?: "2" | "3" | null;
36
37
  cardVariant?: EventCardVariantInput | null;
37
- buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
38
+ buttonVariant?: BlockButtonRole | null;
38
39
  buttonText?: string | null;
39
40
  showVenue?: boolean | null;
40
41
  showMap?: boolean | null;
@@ -3,6 +3,7 @@ import type { TipTapNode } from '../../manifest/richTextSchema';
3
3
  import type { LinkValue } from '../../types/link';
4
4
  import { type BlockConfig, type BlockContentShapeInput, type DefinedBlockManifest } from '../../defineBlock';
5
5
  import { type SectionStylesContent } from '../../fields/boxStyles';
6
+ import type { BlockButtonRole } from '../../constants/buttonRoles';
6
7
  export { projectRecurringSchedule, recurringScheduleProjectionSchema, } from './recurring-schedule-projection';
7
8
  export type { RecurringScheduleBooking, RecurringScheduleCadence, RecurringScheduleDiagnostic, RecurringScheduleItem, RecurringScheduleProjection, } from './recurring-schedule-projection';
8
9
  export declare const recurringScheduleManifest: DefinedBlockManifest<BlockContentShapeInput<BlockConfig>>;
@@ -11,8 +12,8 @@ export type RecurringScheduleContent = Readonly<{
11
12
  heading?: string | null;
12
13
  description?: TipTapNode | null;
13
14
  showVenue?: boolean | null;
14
- buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
15
- seeAllButtonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
15
+ buttonVariant?: BlockButtonRole | null;
16
+ seeAllButtonVariant?: BlockButtonRole | null;
16
17
  buttonText?: string | null;
17
18
  seeAllUrl?: LinkValue | null;
18
19
  seeAllLabel?: string | null;
@@ -10,6 +10,7 @@ import type { CoursePricing } from '../../courses/shared/types';
10
10
  import type { eventCalendarDefaultViewValues, eventCalendarDisplayModeValues, eventCalendarListLayoutValues } from '../../../constants/events';
11
11
  import type { EventBlockKind, EventScheduleScope, EventSurfacePreset, EventSurfaceScope } from './filtering';
12
12
  import type { CardVariantRole, LegacyCardVariantRoleAlias } from '../../../../../../theme-core/src/cards/index';
13
+ import type { BlockButtonRole } from '../../../constants/buttonRoles';
13
14
  /**
14
15
  * Geographic coordinates for venue location
15
16
  */
@@ -185,7 +186,7 @@ export type CardOrientation = "vertical" | "horizontal";
185
186
  /**
186
187
  * Button variant options for event actions
187
188
  */
188
- export type ButtonVariant = "primary" | "secondary" | "outline" | "link";
189
+ export type ButtonVariant = BlockButtonRole;
189
190
  /**
190
191
  * Layout options for event lists
191
192
  */
@@ -1,5 +1,6 @@
1
1
  import { type PublicDownloadMedia } from "../../lib/media";
2
2
  import type { SystemBlockDefinition } from "../registry";
3
+ import type { BlockButtonRole } from "../constants/buttonRoles";
3
4
  export declare const fileDownloadManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
4
5
  readonly id: "block.file-download";
5
6
  readonly title: "File Download";
@@ -56,6 +57,6 @@ export type FileDownloadContent = {
56
57
  title?: string | null;
57
58
  description?: string | null;
58
59
  buttonLabel?: string | null;
59
- buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
60
+ buttonVariant?: BlockButtonRole | null;
60
61
  };
61
62
  export declare const fileDownloadBlockDefinition: SystemBlockDefinition<FileDownloadContent>;
@@ -2,6 +2,7 @@ import type { SystemBlockDefinition } from "../registry";
2
2
  import type { SectionStylesContent } from "../fields/boxStyles";
3
3
  import { newsletterFormBlockRuntime } from "../runtime/nodes/newsletter-form.interactive";
4
4
  import type { NewsletterSignupAuthoringDestination, NewsletterSignupFieldPreset } from "./newsletter-signup-destination";
5
+ import type { BlockButtonRole } from "../constants/buttonRoles";
5
6
  export declare const newsletterSignupManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
6
7
  readonly id: "block.newsletter-signup";
7
8
  readonly title: "Newsletter Signup";
@@ -205,7 +206,7 @@ export type NewsletterSignupContent = {
205
206
  preset: NewsletterSignupPreset;
206
207
  includePhone?: boolean | null;
207
208
  buttonLabel?: string | null;
208
- buttonVariant?: 'primary' | 'secondary' | 'outline' | null;
209
+ buttonVariant?: BlockButtonRole | null;
209
210
  successMessage?: string | null;
210
211
  privacyNote?: string | null;
211
212
  tags?: string | null;
@@ -3,6 +3,7 @@ import { type SectionStylesContent } from "../fields/boxStyles";
3
3
  import { publicMembershipProductSchema, publicPassProductSchema, publicMembershipProductCollectionSchema, publicPassProductCollectionSchema, type PublicMembershipProductCollection, type PublicMembershipProduct, type PublicPassProductCollection, type PublicPassProduct } from "./shop.shared";
4
4
  import { shopBlockRuntime } from "../runtime/nodes/shop.interactive";
5
5
  import type { BlockManifest } from "../manifest/schema";
6
+ import type { BlockButtonRole } from "../constants/buttonRoles";
6
7
  /**
7
8
  * Passes & Memberships Block
8
9
  *
@@ -28,7 +29,7 @@ export type ShopContent = {
28
29
  showDescriptions?: boolean | null;
29
30
  showValidityPeriod?: boolean | null;
30
31
  showPricePerCredit?: boolean | null;
31
- buttonVariant?: 'primary' | 'secondary' | 'outline' | 'link' | null;
32
+ buttonVariant?: BlockButtonRole | null;
32
33
  passesHeading?: string | null;
33
34
  membershipsHeading?: string | null;
34
35
  buyButtonText?: string | null;
@@ -1,11 +1,12 @@
1
1
  import type { SystemBlockDefinition } from "../registry";
2
2
  import type { LinkValue } from "../types/link";
3
+ import type { BlockButtonRole } from "../constants/buttonRoles";
3
4
  export type SingleButtonContent = {
4
5
  title?: string | null;
5
6
  button?: {
6
7
  label?: string | null;
7
8
  link?: LinkValue | null;
8
- variant?: string | null;
9
+ variant?: BlockButtonRole | null;
9
10
  } | null;
10
11
  };
11
12
  export declare const singleButtonManifest: import("..").DefinedBlockManifest<{
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ import { type PublicButtonRole } from '../../../../theme-core/src/buttons/index';
3
+ /**
4
+ * Semantic button roles available to block authors.
5
+ *
6
+ * These roles are deliberately independent of a site's visual button style:
7
+ * the active theme owns how each role looks.
8
+ */
9
+ export declare const BLOCK_BUTTON_ROLES: readonly ["primary", "secondary", "outline", "ghost", "accent"];
10
+ export type BlockButtonRole = PublicButtonRole;
11
+ export declare const blockButtonRoleSchema: z.ZodEnum<{
12
+ outline: "outline";
13
+ accent: "accent";
14
+ primary: "primary";
15
+ secondary: "secondary";
16
+ ghost: "ghost";
17
+ }>;
18
+ /**
19
+ * Temporary rollout boundary for persisted content written before issue #1220.
20
+ * Authoring remains strict through `blockButtonRoleSchema`; this parser exists
21
+ * only until the post-deploy role rewrite has been audited in production.
22
+ */
23
+ export declare function canonicalizePersistedBlockButtonRole(value: string): string;
24
+ export declare const persistedBlockButtonRoleSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodEnum<{
25
+ outline: "outline";
26
+ accent: "accent";
27
+ primary: "primary";
28
+ secondary: "secondary";
29
+ ghost: "ghost";
30
+ }>>;
31
+ export declare const BLOCK_BUTTON_ROLE_OPTIONS: ReadonlyArray<{
32
+ readonly value: BlockButtonRole;
33
+ readonly label: string;
34
+ }>;
35
+ export declare function isBlockButtonRole(value: unknown): value is BlockButtonRole;
@@ -1,11 +1,12 @@
1
1
  import type { FieldDefinition, GroupFieldDefinition } from '../manifest/schema';
2
+ import { type BlockButtonRole } from '../constants/buttonRoles';
2
3
  type ButtonSelectOption = {
3
- readonly value: string;
4
+ readonly value: BlockButtonRole;
4
5
  readonly label: string;
5
6
  };
6
7
  export type ButtonOptions = {
7
8
  variants?: readonly ButtonSelectOption[];
8
- defaultVariant?: string;
9
+ defaultVariant?: BlockButtonRole;
9
10
  includeSize?: boolean;
10
11
  defaultSize?: 'sm' | 'md' | 'lg' | 'xl';
11
12
  showGroupLabel?: boolean;
@@ -13,7 +14,7 @@ export type ButtonOptions = {
13
14
  groupLabel?: string;
14
15
  flattenInRepeater?: boolean;
15
16
  };
16
- type DefaultButtonVariant = 'primary' | 'secondary' | 'outline';
17
+ type DefaultButtonVariant = BlockButtonRole;
17
18
  type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
18
19
  type ButtonOptionVariants<O> = O extends {
19
20
  variants: readonly (infer Option extends ButtonSelectOption)[];
@@ -77,28 +78,16 @@ export type ButtonGroupField<O extends ButtonOptions = {}> = GroupFieldDefinitio
77
78
  readonly fields: ButtonGroupFields<ButtonOptionVariants<O>, ButtonOptionIncludeSize<O>>;
78
79
  };
79
80
  };
80
- export declare const DEFAULT_THEME_BUTTON_VARIANTS: readonly [{
81
- readonly value: "primary";
82
- readonly label: "Primary";
83
- }, {
84
- readonly value: "secondary";
85
- readonly label: "Secondary";
86
- }, {
87
- readonly value: "outline";
88
- readonly label: "Outline";
89
- }, {
90
- readonly value: "link";
91
- readonly label: "Link";
92
- }];
81
+ export declare const DEFAULT_THEME_BUTTON_VARIANTS: readonly {
82
+ readonly value: BlockButtonRole;
83
+ readonly label: string;
84
+ }[];
93
85
  export type ButtonVariantFieldOptions = {
94
86
  id?: string;
95
87
  label?: string;
96
88
  description?: string;
97
- defaultValue?: string;
98
- variants?: ReadonlyArray<{
99
- value: string;
100
- label: string;
101
- }>;
89
+ defaultValue?: BlockButtonRole;
90
+ variants?: ReadonlyArray<ButtonSelectOption>;
102
91
  };
103
92
  export declare function createButtonVariantField(options?: ButtonVariantFieldOptions): FieldDefinition;
104
93
  export declare function createButtonGroup<const O extends ButtonOptions = {}>(options?: O): ButtonGroupField<O>;
@@ -1,4 +1,5 @@
1
1
  import type { FieldDefinition } from '../manifest/schema';
2
+ import type { BlockButtonRole } from '../constants/buttonRoles';
2
3
  import { type ButtonGroupField, type ButtonOptions } from './button';
3
4
  type CtasOptions = {
4
5
  id?: string;
@@ -37,7 +38,7 @@ export type BlockCtaContent = {
37
38
  label?: string | null;
38
39
  href?: string | null;
39
40
  link?: unknown;
40
- variant?: string | null;
41
+ variant?: BlockButtonRole | null;
41
42
  size?: string | null;
42
43
  };
43
44
  export declare function createCtasRepeater<const O extends CtasOptions = {}>(options?: O): CtasRepeaterField<O>;
@@ -2,10 +2,6 @@ import { type DefinedFragment } from "../types";
2
2
  import { type CtasRepeaterField } from "../../fields/ctas";
3
3
  type HeroCtaButtonOptions = {
4
4
  readonly variants: readonly [
5
- {
6
- readonly value: "default";
7
- readonly label: "Default";
8
- },
9
5
  {
10
6
  readonly value: "primary";
11
7
  readonly label: "Primary";
@@ -17,9 +13,17 @@ type HeroCtaButtonOptions = {
17
13
  {
18
14
  readonly value: "outline";
19
15
  readonly label: "Outline";
16
+ },
17
+ {
18
+ readonly value: "ghost";
19
+ readonly label: "Ghost";
20
+ },
21
+ {
22
+ readonly value: "accent";
23
+ readonly label: "Accent";
20
24
  }
21
25
  ];
22
- readonly defaultVariant: "default";
26
+ readonly defaultVariant: "primary";
23
27
  readonly includeSize: true;
24
28
  readonly defaultSize: "lg";
25
29
  };