@riverbankcms/sdk 0.144.0 → 0.145.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +4 -4
  2. package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +419 -348
  5. package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +2081 -1313
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
  7. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
  8. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
  9. package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
  10. package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
  11. package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
  12. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
  13. package/dist/_dts/api/src/communications.d.ts +14 -22
  14. package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
  15. package/dist/_dts/api/src/endpoints.d.ts +105 -58
  16. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  17. package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
  18. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
  19. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
  20. package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
  21. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
  22. package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
  23. package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
  24. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
  25. package/dist/_dts/api/src/types.d.ts +2 -1
  26. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
  27. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
  29. package/dist/_dts/blocks/src/index.d.ts +1 -1
  30. package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
  31. package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
  32. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
  33. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
  34. package/dist/_dts/blocks/src/server.d.ts +1 -1
  35. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
  37. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  39. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  40. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
  42. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
  43. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
  45. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
  46. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
  47. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
  48. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -3
  51. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
  52. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
  53. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  54. package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
  55. package/dist/_dts/core/src/editor-state.d.ts +6 -0
  56. package/dist/_dts/core/src/index.d.ts +1 -0
  57. package/dist/_dts/core/src/public-profile.d.ts +9 -0
  58. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +663 -241
  59. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
  60. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
  61. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
  62. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
  63. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
  64. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  65. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
  66. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
  67. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  68. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
  69. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  70. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
  71. package/dist/_dts/sdk/src/client/types.d.ts +1 -1
  72. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  73. package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
  74. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
  75. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
  76. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
  77. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -2
  78. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  79. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
  80. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
  81. package/dist/_dts/sdk/src/version.d.ts +1 -1
  82. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  83. package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
  84. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
  85. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
  86. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
  87. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
  88. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  89. package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
  90. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
  91. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
  92. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  93. package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
  94. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
  95. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
  96. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
  97. package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
  98. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
  99. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
  100. package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
  101. package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
  102. package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +2 -2
  103. package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +1 -1
  104. package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-DnsUeONl.mjs} +6 -6
  105. package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-CNBFqJS4.mjs} +2 -2
  106. package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
  107. package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-LAJTNrS8.mjs} +1 -1
  108. package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BcNF9TjX.mjs} +1 -1
  109. package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-BUaQ3S03.mjs} +142 -50
  110. package/dist/client/bookings.mjs +191 -64
  111. package/dist/client/{carousel-D8zuffZr.mjs → carousel-CTdF6e0V.mjs} +1 -1
  112. package/dist/client/{cart-DeMGJViN.mjs → cart-pGtyf_XU.mjs} +3 -3
  113. package/dist/client/{checkout-DXc06Km2.mjs → checkout-Da9WSn7Y.mjs} +3 -3
  114. package/dist/client/client.mjs +1630 -816
  115. package/dist/client/{context-CDLCfDep.mjs → context-BFeY_Wbm.mjs} +1 -1
  116. package/dist/client/{dates-ClFx7Epy.mjs → dates-BhwVSxDg.mjs} +2 -2
  117. package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-BAtdnR4s.mjs} +9 -9
  118. package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-RksA3tRC.mjs} +4 -4
  119. package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
  120. package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-BpJBkviM.mjs} +4 -4
  121. package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-B18jFq_o.mjs} +8 -8
  122. package/dist/client/{form-BjqKaBJ7.mjs → form-Dodt8Y8t.mjs} +3 -3
  123. package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-B0qj9ttg.mjs} +3 -3
  124. package/dist/client/hooks.mjs +550 -99
  125. package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-gn-iMk7a.mjs} +3 -3
  126. package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-oByLdFkr.mjs} +26 -5
  127. package/dist/client/{pricing-Bl1CAl28.mjs → pricing-BOU0_Hai.mjs} +1 -1
  128. package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-D9v1zH2j.mjs} +3 -3
  129. package/dist/client/{productList-U874PGO7.mjs → productList-D-mItx1n.mjs} +3 -3
  130. package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-C3TP_z4x.mjs} +72 -33
  131. package/dist/client/rendering/client.mjs +900 -266
  132. package/dist/client/rendering/islands.mjs +17 -17
  133. package/dist/client/rendering.mjs +1637 -788
  134. package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +1 -1
  135. package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
  136. package/dist/client/{shop-BXjXhM9P.mjs → shop-Dufw7N7o.mjs} +7 -7
  137. package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-gklw_hLF.mjs} +6 -6
  138. package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
  139. package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-B5nyA41S.mjs} +4 -4
  140. package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-CLL829vy.mjs} +6 -6
  141. package/dist/preview-next/before-render.mjs +147 -77
  142. package/dist/preview-next/client/runtime.mjs +4 -4
  143. package/dist/preview-next/keepAlive.mjs +147 -77
  144. package/dist/preview-next/middleware.mjs +147 -77
  145. package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
  146. package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
  147. package/dist/{separator-o8GHb1xh.mjs → separator-EvdCAn4V.mjs} +1 -1
  148. package/dist/server/components.mjs +1727 -991
  149. package/dist/server/config-validation.mjs +537 -97
  150. package/dist/server/config.mjs +537 -97
  151. package/dist/server/data.mjs +549 -98
  152. package/dist/server/index.mjs +159 -81
  153. package/dist/server/next.mjs +1460 -748
  154. package/dist/server/page-converter.mjs +384 -54
  155. package/dist/server/prebuild.mjs +1 -1
  156. package/dist/server/rendering/server.mjs +1712 -973
  157. package/dist/server/rendering.mjs +1748 -1001
  158. package/dist/server/routing.mjs +624 -131
  159. package/dist/server/server.mjs +554 -138
  160. package/dist/server/theme-bridge.mjs +1192 -27
  161. package/dist/server/theme.mjs +6 -4
  162. package/package.json +2 -1
@@ -0,0 +1,320 @@
1
+ import { type BoundaryOptionId, type SiteStyleSectionTransitionIntent } from './types';
2
+ import type { AngleSectionTransitionVariantId, GradientSectionTransitionVariantId, SectionBoundaryRuntimeSize, SectionBoundaryTreatment, WaveSectionTransitionVariantId } from './sectionTransitions';
3
+ /**
4
+ * Every transition that draws something. `none` is deliberately outside the
5
+ * catalogue: it is the absence of a join, not a treatment (issue 1422).
6
+ */
7
+ export type DecorativeTransitionIntent = Exclude<SiteStyleSectionTransitionIntent, 'none'>;
8
+ export type DecorativeTransitionFamilyId = 'gradient' | 'wave' | 'angle';
9
+ /** One SVG mask per wave variant, keyed so CSS never guesses by prefix. */
10
+ export type WaveMaskId = 'classic' | 'balanced' | 'gentle' | 'bold' | 'drift';
11
+ /**
12
+ * The sloped top edge of an angle shape, as percentages from the top of the
13
+ * shape layer at its left and right edges. The bottom edge is always flat, so
14
+ * `polygon(0 {start}%, 100% {end}%, 100% 100%, 0 100%)` is the full shape.
15
+ */
16
+ export type AnglePolygon = Readonly<{
17
+ startTopPercent: number;
18
+ endTopPercent: number;
19
+ }>;
20
+ export type TransitionShape =
21
+ /** Every fade draws the same curve today; its height comes from the entry. */
22
+ Readonly<{
23
+ kind: 'fade';
24
+ }> | Readonly<{
25
+ kind: 'wave';
26
+ mask: WaveMaskId;
27
+ }> | Readonly<{
28
+ kind: 'angle';
29
+ polygon: AnglePolygon;
30
+ }>;
31
+ type TransitionCatalogueEntryBase = Readonly<{
32
+ intent: DecorativeTransitionIntent;
33
+ optionId: BoundaryOptionId;
34
+ /** Flat label used by the persistence-facing option list. */
35
+ label: string;
36
+ /** Short label used inside a family picker ("Classic" under "Wave"). */
37
+ variantLabel: string;
38
+ size: SectionBoundaryRuntimeSize;
39
+ /** Unwrapped CSS length expression; metrics wrap it in `calc()` as needed. */
40
+ heightExpression: string;
41
+ }>;
42
+ /**
43
+ * Family, variant, treatment and shape are correlated per family, so a wave
44
+ * entry cannot carry an angle polygon or a soft-fade treatment.
45
+ */
46
+ export type TransitionCatalogueEntry = TransitionCatalogueEntryBase & (Readonly<{
47
+ family: 'gradient';
48
+ variantId: GradientSectionTransitionVariantId;
49
+ treatment: Extract<SectionBoundaryTreatment, {
50
+ kind: 'soft-fade';
51
+ }>;
52
+ shape: Extract<TransitionShape, {
53
+ kind: 'fade';
54
+ }>;
55
+ }> | Readonly<{
56
+ family: 'wave';
57
+ variantId: WaveSectionTransitionVariantId;
58
+ treatment: Extract<SectionBoundaryTreatment, {
59
+ kind: 'wave-edge';
60
+ }>;
61
+ shape: Extract<TransitionShape, {
62
+ kind: 'wave';
63
+ }>;
64
+ }> | Readonly<{
65
+ family: 'angle';
66
+ variantId: AngleSectionTransitionVariantId;
67
+ treatment: Extract<SectionBoundaryTreatment, {
68
+ kind: 'angle-edge';
69
+ }>;
70
+ shape: Extract<TransitionShape, {
71
+ kind: 'angle';
72
+ }>;
73
+ }>);
74
+ export type TransitionCatalogueFamily = Readonly<{
75
+ id: DecorativeTransitionFamilyId;
76
+ label: string;
77
+ }>;
78
+ /**
79
+ * Family order for pickers. Entries below are listed family by family in this
80
+ * same order, so the flat option list and the grouped families agree.
81
+ */
82
+ export declare const transitionCatalogueFamilies: readonly [{
83
+ readonly id: "gradient";
84
+ readonly label: "Gradient";
85
+ }, {
86
+ readonly id: "wave";
87
+ readonly label: "Wave";
88
+ }, {
89
+ readonly id: "angle";
90
+ readonly label: "Angle";
91
+ }];
92
+ /**
93
+ * The single source of transition vocabulary. Order is significant: it is the
94
+ * order of `boundaryOptions` (after `none`) and of each family's variants,
95
+ * which persisted pins, page-flow presets and the editor picker all rely on.
96
+ *
97
+ * Shapes match what `generateLayoutCss` draws today. Structured
98
+ * amplitude/frequency treatments (issue 826) extend this list later.
99
+ */
100
+ export declare const transitionCatalogueEntries: readonly [{
101
+ readonly intent: "soft-fade-short";
102
+ readonly optionId: BoundaryOptionId;
103
+ readonly family: "gradient";
104
+ readonly variantId: "soft";
105
+ readonly label: "Soft";
106
+ readonly variantLabel: "Soft";
107
+ readonly treatment: {
108
+ readonly kind: "soft-fade";
109
+ readonly height: "medium";
110
+ readonly curve: "soft";
111
+ };
112
+ readonly size: "medium";
113
+ readonly heightExpression: "6rem + 2px";
114
+ readonly shape: {
115
+ readonly kind: "fade";
116
+ };
117
+ }, {
118
+ readonly intent: "soft-fade-long";
119
+ readonly optionId: BoundaryOptionId;
120
+ readonly family: "gradient";
121
+ readonly variantId: "spacious";
122
+ readonly label: "Spacious";
123
+ readonly variantLabel: "Spacious";
124
+ readonly treatment: {
125
+ readonly kind: "soft-fade";
126
+ readonly height: "large";
127
+ readonly curve: "spacious";
128
+ };
129
+ readonly size: "spacious";
130
+ readonly heightExpression: "10rem";
131
+ readonly shape: {
132
+ readonly kind: "fade";
133
+ };
134
+ }, {
135
+ readonly intent: "soft-fade-expansive";
136
+ readonly optionId: BoundaryOptionId;
137
+ readonly family: "gradient";
138
+ readonly variantId: "expansive";
139
+ readonly label: "Expansive";
140
+ readonly variantLabel: "Expansive";
141
+ readonly treatment: {
142
+ readonly kind: "soft-fade";
143
+ readonly height: "expansive";
144
+ readonly curve: "expansive";
145
+ };
146
+ readonly size: "expansive";
147
+ readonly heightExpression: "14rem";
148
+ readonly shape: {
149
+ readonly kind: "fade";
150
+ };
151
+ }, {
152
+ readonly intent: "wave-edge-balanced";
153
+ readonly optionId: BoundaryOptionId;
154
+ readonly family: "wave";
155
+ readonly variantId: "balanced";
156
+ readonly label: "Balanced wave";
157
+ readonly variantLabel: "Balanced";
158
+ readonly treatment: {
159
+ readonly kind: "wave-edge";
160
+ readonly height: "medium";
161
+ readonly amplitude: "balanced";
162
+ readonly rhythm: "double";
163
+ readonly symmetry: "symmetrical";
164
+ };
165
+ readonly size: "medium";
166
+ readonly heightExpression: "6rem + 2px";
167
+ readonly shape: {
168
+ readonly kind: "wave";
169
+ readonly mask: "balanced";
170
+ };
171
+ }, {
172
+ readonly intent: "wave-edge";
173
+ readonly optionId: BoundaryOptionId;
174
+ readonly family: "wave";
175
+ readonly variantId: "classic";
176
+ readonly label: "Classic wave";
177
+ readonly variantLabel: "Classic";
178
+ readonly treatment: {
179
+ readonly kind: "wave-edge";
180
+ readonly height: "medium";
181
+ readonly amplitude: "balanced";
182
+ readonly rhythm: "double";
183
+ readonly symmetry: "asymmetrical";
184
+ };
185
+ readonly size: "medium";
186
+ readonly heightExpression: "6rem + 2px";
187
+ readonly shape: {
188
+ readonly kind: "wave";
189
+ readonly mask: "classic";
190
+ };
191
+ }, {
192
+ readonly intent: "wave-edge-gentle";
193
+ readonly optionId: BoundaryOptionId;
194
+ readonly family: "wave";
195
+ readonly variantId: "gentle";
196
+ readonly label: "Gentle wave";
197
+ readonly variantLabel: "Gentle";
198
+ readonly treatment: {
199
+ readonly kind: "wave-edge";
200
+ readonly height: "compact";
201
+ readonly amplitude: "subtle";
202
+ readonly rhythm: "single";
203
+ readonly symmetry: "symmetrical";
204
+ };
205
+ readonly size: "compact";
206
+ readonly heightExpression: "4.5rem + 2px";
207
+ readonly shape: {
208
+ readonly kind: "wave";
209
+ readonly mask: "gentle";
210
+ };
211
+ }, {
212
+ readonly intent: "wave-edge-bold";
213
+ readonly optionId: BoundaryOptionId;
214
+ readonly family: "wave";
215
+ readonly variantId: "bold";
216
+ readonly label: "Bold wave";
217
+ readonly variantLabel: "Bold";
218
+ readonly treatment: {
219
+ readonly kind: "wave-edge";
220
+ readonly height: "large";
221
+ readonly amplitude: "bold";
222
+ readonly rhythm: "double";
223
+ readonly symmetry: "symmetrical";
224
+ };
225
+ readonly size: "large";
226
+ readonly heightExpression: "7rem + 2px";
227
+ readonly shape: {
228
+ readonly kind: "wave";
229
+ readonly mask: "bold";
230
+ };
231
+ }, {
232
+ readonly intent: "wave-edge-drift";
233
+ readonly optionId: BoundaryOptionId;
234
+ readonly family: "wave";
235
+ readonly variantId: "drift";
236
+ readonly label: "Drift wave";
237
+ readonly variantLabel: "Drift";
238
+ readonly treatment: {
239
+ readonly kind: "wave-edge";
240
+ readonly height: "medium";
241
+ readonly amplitude: "balanced";
242
+ readonly rhythm: "double";
243
+ readonly symmetry: "drift";
244
+ };
245
+ readonly size: "medium";
246
+ readonly heightExpression: "6rem + 2px";
247
+ readonly shape: {
248
+ readonly kind: "wave";
249
+ readonly mask: "drift";
250
+ };
251
+ }, {
252
+ readonly intent: "angle-edge-subtle";
253
+ readonly optionId: BoundaryOptionId;
254
+ readonly family: "angle";
255
+ readonly variantId: "subtle";
256
+ readonly label: "Subtle angle";
257
+ readonly variantLabel: "Subtle";
258
+ readonly treatment: {
259
+ readonly kind: "angle-edge";
260
+ readonly height: "compact";
261
+ readonly slope: "subtle";
262
+ readonly direction: "forward";
263
+ };
264
+ readonly size: "compact";
265
+ readonly heightExpression: "4.5rem + 2px";
266
+ readonly shape: {
267
+ readonly kind: "angle";
268
+ readonly polygon: {
269
+ readonly startTopPercent: 34;
270
+ readonly endTopPercent: 18;
271
+ };
272
+ };
273
+ }, {
274
+ readonly intent: "angle-edge";
275
+ readonly optionId: BoundaryOptionId;
276
+ readonly family: "angle";
277
+ readonly variantId: "balanced";
278
+ readonly label: "Balanced angle";
279
+ readonly variantLabel: "Balanced";
280
+ readonly treatment: {
281
+ readonly kind: "angle-edge";
282
+ readonly height: "medium";
283
+ readonly slope: "balanced";
284
+ readonly direction: "forward";
285
+ };
286
+ readonly size: "medium";
287
+ readonly heightExpression: "6rem + 2px";
288
+ readonly shape: {
289
+ readonly kind: "angle";
290
+ readonly polygon: {
291
+ readonly startTopPercent: 42;
292
+ readonly endTopPercent: 8;
293
+ };
294
+ };
295
+ }, {
296
+ readonly intent: "angle-edge-steep";
297
+ readonly optionId: BoundaryOptionId;
298
+ readonly family: "angle";
299
+ readonly variantId: "steep";
300
+ readonly label: "Steep angle";
301
+ readonly variantLabel: "Steep";
302
+ readonly treatment: {
303
+ readonly kind: "angle-edge";
304
+ readonly height: "large";
305
+ readonly slope: "steep";
306
+ readonly direction: "forward";
307
+ };
308
+ readonly size: "large";
309
+ readonly heightExpression: "7rem + 2px";
310
+ readonly shape: {
311
+ readonly kind: "angle";
312
+ readonly polygon: {
313
+ readonly startTopPercent: 54;
314
+ readonly endTopPercent: 0;
315
+ };
316
+ };
317
+ }];
318
+ /** CSS `clip-path` value for an angle shape, as `generateLayoutCss` draws it. */
319
+ export declare function anglePolygonCss(polygon: AnglePolygon): string;
320
+ export {};
@@ -436,7 +436,6 @@ export type BlockDesignPlan<TBlockId extends string = DesignBlockId, TPurpose ex
436
436
  * composition governs what the item looks like.
437
437
  */
438
438
  cardRole?: CardRole;
439
- transitionAfter: SiteStyleSectionTransitionIntent;
440
439
  emphasis: SiteStyleEmphasis;
441
440
  sectionHeight?: SectionHeightIntent;
442
441
  heroLegibility?: HeroLegibilityStrategy;
@@ -453,7 +452,6 @@ export type BlockDesignPlan<TBlockId extends string = DesignBlockId, TPurpose ex
453
452
  export type ResolvedBlockDesignPlan<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<BlockDesignPlan<TBlockId, TPurpose> & {
454
453
  appliedSectionSurface: SiteStyleSurfaceIntent;
455
454
  appliedContentFrame: ContentFrameIntent;
456
- appliedTransitionAfter: SiteStyleSectionTransitionIntent;
457
455
  /**
458
456
  * The card role after capability gating. `null` (or absent) means no
459
457
  * site-style card is applied; the block renders its own composition.
@@ -540,7 +538,7 @@ export type BlockDesignCapability = DesignedBlockDesignCapability | NoBlockDesig
540
538
  export type BlockDesignCapabilityMap = Readonly<Partial<Record<string, BlockDesignCapability>>>;
541
539
  export declare function defineBlockDesignCapability<const TCapability extends DesignedBlockDesignCapabilityInput>(capability: NoExtraKeys<TCapability, DesignedBlockDesignCapabilityInput>): DesignedBlockDesignCapability;
542
540
  export declare function defineNoBlockDesignCapability(reason: UnsupportedBlockDesignCapabilityReason): NoBlockDesignCapability;
543
- export type DesignRepairAction = 'fallback-block-design' | 'fallback-section-surface' | 'fallback-content-frame' | 'fallback-card-role' | 'fallback-section-height' | 'fallback-image-surface-treatment' | 'fallback-image-surface-motion' | 'fallback-tile-treatment' | 'fallback-event-list-treatment' | 'fallback-eyebrow-treatment' | 'fallback-accordion-icon-treatment' | 'remove-composition' | 'remove-hero-legibility' | 'remove-transition' | 'fallback-hero-legibility' | 'reduce-accent-density' | 'reduce-panel-density' | 'reduce-transition-mix' | 'reduce-primary-ctas' | 'reduce-media-density' | 'reduce-decorative-repetition';
541
+ export type DesignRepairAction = 'fallback-block-design' | 'fallback-section-surface' | 'fallback-content-frame' | 'fallback-card-role' | 'fallback-section-height' | 'fallback-image-surface-treatment' | 'fallback-image-surface-motion' | 'fallback-tile-treatment' | 'fallback-event-list-treatment' | 'fallback-eyebrow-treatment' | 'fallback-accordion-icon-treatment' | 'remove-composition' | 'remove-hero-legibility' | 'fallback-hero-legibility' | 'reduce-accent-density' | 'reduce-panel-density' | 'reduce-transition-mix' | 'reduce-primary-ctas' | 'reduce-media-density' | 'reduce-decorative-repetition';
544
542
  export type UnsupportedSectionSurfaceIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
545
543
  kind: 'unsupported-section-surface';
546
544
  blockId: TBlockId;
@@ -704,7 +702,6 @@ export type BlockDesignCapabilityRequest = Readonly<{
704
702
  sectionSurface: SiteStyleSurfaceIntent;
705
703
  contentFrame: ContentFrameIntent;
706
704
  cardRole?: CardRole;
707
- transitionAfter: SiteStyleSectionTransitionIntent;
708
705
  sectionHeight?: SectionHeightIntent;
709
706
  heroLegibility?: HeroLegibilityStrategy;
710
707
  heroComposition?: HeroCompositionIntent;
@@ -720,7 +717,6 @@ export type BlockDesignCapabilityRequest = Readonly<{
720
717
  export type BlockDesignCapabilityFallback = Readonly<{
721
718
  sectionSurface: 'base';
722
719
  contentFrame: PlainFrameIntent;
723
- transitionAfter: 'none';
724
720
  sectionHeight: 'default';
725
721
  heroLegibility: 'none';
726
722
  imageSurfaceTreatment: Readonly<{
@@ -756,17 +752,6 @@ export type UnsupportedBlockDesignCapabilityIssue<TBlockId extends string = Desi
756
752
  severity: DesignIssueSeverity;
757
753
  allowedRepairActions: readonly ['fallback-block-design'];
758
754
  }>;
759
- export type RemovedTransitionForFlushFrameIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
760
- kind: 'removed-transition-for-flush-frame';
761
- blockId: TBlockId;
762
- blockKind: string;
763
- purpose: TPurpose;
764
- requested: SiteStyleSectionTransitionIntent;
765
- fallback: 'none';
766
- policy: DesignResolutionPolicy;
767
- severity: DesignIssueSeverity;
768
- allowedRepairActions: readonly ['remove-transition'];
769
- }>;
770
755
  export type HeroImageWithoutLegibilityIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = Readonly<{
771
756
  kind: 'hero-image-without-legibility';
772
757
  blockId: TBlockId;
@@ -778,10 +763,10 @@ export type HeroImageWithoutLegibilityIssue<TBlockId extends string = DesignBloc
778
763
  severity: DesignIssueSeverity;
779
764
  allowedRepairActions: readonly ['fallback-hero-legibility'];
780
765
  }>;
781
- export type DesignResolutionIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = UnsupportedSectionSurfaceIssue<TBlockId, TPurpose> | UnsupportedContentFrameIssue<TBlockId, TPurpose> | UnsupportedCardRoleIssue<TBlockId, TPurpose> | UnsupportedSectionHeightIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceTreatmentIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceMotionIssue<TBlockId, TPurpose> | UnsupportedTileTreatmentIssue<TBlockId, TPurpose> | UnsupportedEventListTreatmentIssue<TBlockId, TPurpose> | UnsupportedEyebrowTreatmentIssue<TBlockId, TPurpose> | UnsupportedAccordionIconTreatmentIssue<TBlockId, TPurpose> | UnsupportedBlockCompositionIssue<TBlockId, TPurpose> | ImageSurfaceTreatmentWithoutImageSurfaceIssue<TBlockId, TPurpose> | ImageSurfaceMotionWithoutImageSurfaceIssue<TBlockId, TPurpose> | HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId, TPurpose> | MissingBlockDesignCapabilityIssue<TBlockId, TPurpose> | UnsupportedBlockDesignCapabilityIssue<TBlockId, TPurpose> | RemovedTransitionForFlushFrameIssue<TBlockId, TPurpose> | HeroImageWithoutLegibilityIssue<TBlockId, TPurpose>;
766
+ export type DesignResolutionIssue<TBlockId extends string = DesignBlockId, TPurpose extends string = string> = UnsupportedSectionSurfaceIssue<TBlockId, TPurpose> | UnsupportedContentFrameIssue<TBlockId, TPurpose> | UnsupportedCardRoleIssue<TBlockId, TPurpose> | UnsupportedSectionHeightIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceTreatmentIssue<TBlockId, TPurpose> | UnsupportedImageSurfaceMotionIssue<TBlockId, TPurpose> | UnsupportedTileTreatmentIssue<TBlockId, TPurpose> | UnsupportedEventListTreatmentIssue<TBlockId, TPurpose> | UnsupportedEyebrowTreatmentIssue<TBlockId, TPurpose> | UnsupportedAccordionIconTreatmentIssue<TBlockId, TPurpose> | UnsupportedBlockCompositionIssue<TBlockId, TPurpose> | ImageSurfaceTreatmentWithoutImageSurfaceIssue<TBlockId, TPurpose> | ImageSurfaceMotionWithoutImageSurfaceIssue<TBlockId, TPurpose> | HeroLegibilityOverriddenByImageSurfaceTreatmentIssue<TBlockId, TPurpose> | MissingBlockDesignCapabilityIssue<TBlockId, TPurpose> | UnsupportedBlockDesignCapabilityIssue<TBlockId, TPurpose> | HeroImageWithoutLegibilityIssue<TBlockId, TPurpose>;
782
767
  export type DesignRepairResultForIssue<TIssue extends DesignResolutionIssue<string, string>> = {
783
768
  [TKind in TIssue['kind']]: Readonly<{
784
- kind: TKind extends 'removed-transition-for-flush-frame' ? 'repaired' : 'fallbackApplied';
769
+ kind: 'fallbackApplied';
785
770
  issue: Extract<TIssue, {
786
771
  kind: TKind;
787
772
  }>;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { _n as formatCurrencyAmount, zt as assertNever$2 } from "./propsDecoder-DPXtCZWP.mjs";
3
- import { a as CheckIcon } from "./scrollToBlock-0-C3DVhK.mjs";
2
+ import { _n as formatCurrencyAmount, zt as assertNever$2 } from "./propsDecoder-C3TP_z4x.mjs";
3
+ import { a as CheckIcon } from "./scrollToBlock-CWs8EIdo.mjs";
4
4
  import { n as RichText } from "./checkoutUrls-CW3-78uu.mjs";
5
5
  import { useCallback, useEffect, useReducer, useRef } from "react";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as ThemedButton } from "./ThemedButton-BwNFVwi4.mjs";
2
+ import { t as ThemedButton } from "./ThemedButton-LAJTNrS8.mjs";
3
3
  import { useId } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/api/types/discounts.ts
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
3
- import { F as calendarMonthKey, G as buildEventRuntimeFilters, I as calendarPageResponseError, K as getEventRuntimeFiltersKey, L as calendarQueryKey, P as calendarMonthDate, Q as MONTH_NAMES, R as calendarWindowBounds, V as planCalendarMonthRanges, W as getBlockApiReadStage, X as getCardOrientation, Z as getContainerClass, ct as shiftCalendarAnchorDate, et as addMonths, it as getOrderedDayNames, nt as formatDateKey, ot as isSameCalendarDay, rn as getLocalScheduleDate, rt as getDayOfWeek, st as isToday, tn as formatLocalScheduleDate, tt as buildCalendarViewport, z as calendarWindowMonths$1 } from "./propsDecoder-DPXtCZWP.mjs";
4
- import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-zvnnE1ro.mjs";
5
- import { o as formatEventRemainingPlaces, p as isEventFull, t as formatEventPrice } from "./pricing-Bl1CAl28.mjs";
6
- import { a as formatTime, d as resolveEventLinkProps, o as groupEventsByDate, s as resolveEventTimeZone, t as formatDate, u as resolveEventCta } from "./dates-ClFx7Epy.mjs";
7
- import { n as useBlockApi } from "./context-CDLCfDep.mjs";
8
- import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-BwNFVwi4.mjs";
3
+ import { F as calendarMonthKey, G as buildEventRuntimeFilters, I as calendarPageResponseError, K as getEventRuntimeFiltersKey, L as calendarQueryKey, P as calendarMonthDate, Q as MONTH_NAMES, R as calendarWindowBounds, V as planCalendarMonthRanges, W as getBlockApiReadStage, X as getCardOrientation, Z as getContainerClass, ct as shiftCalendarAnchorDate, et as addMonths, it as getOrderedDayNames, nt as formatDateKey, ot as isSameCalendarDay, rn as getLocalScheduleDate, rt as getDayOfWeek, st as isToday, tn as formatLocalScheduleDate, tt as buildCalendarViewport, z as calendarWindowMonths$1 } from "./propsDecoder-C3TP_z4x.mjs";
4
+ import { a as EventCardClient, i as EventPaginatedListView, n as useEventPagination, o as EventFilters, r as toError, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-CLL829vy.mjs";
5
+ import { o as formatEventRemainingPlaces, p as isEventFull, t as formatEventPrice } from "./pricing-BOU0_Hai.mjs";
6
+ import { a as formatTime, d as resolveEventLinkProps, o as groupEventsByDate, s as resolveEventTimeZone, t as formatDate, u as resolveEventCta } from "./dates-BhwVSxDg.mjs";
7
+ import { n as useBlockApi } from "./context-BFeY_Wbm.mjs";
8
+ import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-LAJTNrS8.mjs";
9
9
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
10
10
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
11
11
  import React, { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { G as buildEventRuntimeFilters } from "./propsDecoder-DPXtCZWP.mjs";
3
- import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-zvnnE1ro.mjs";
2
+ import { G as buildEventRuntimeFilters } from "./propsDecoder-C3TP_z4x.mjs";
3
+ import { i as EventPaginatedListView, n as useEventPagination, o as EventFilters, t as useEventFilters } from "./useEventFilters-CLL829vy.mjs";
4
4
  import { useId, useMemo } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/events/EventListing.client.tsx
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Rt as isRecord } from "./propsDecoder-DPXtCZWP.mjs";
2
+ import { Rt as isRecord } from "./propsDecoder-C3TP_z4x.mjs";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/shared/LeafletStaticMap.tsx
@@ -1,5 +1,5 @@
1
1
  import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
2
- import { gt as themeButtonVariantClassNames, ht as themeButtonSizeClassName } from "./propsDecoder-DPXtCZWP.mjs";
2
+ import { gt as themeButtonVariantClassNames, ht as themeButtonSizeClassName } from "./propsDecoder-C3TP_z4x.mjs";
3
3
  import "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/nodes/spinner.tsx
@@ -1,4 +1,4 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-DPXtCZWP.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
2
2
  //#region src/rendering/islands/enhancers/accordion.ts
3
3
  const decode = defineIslandPropsDecoder("accordion");
4
4
  function parseDefaultValues(value) {