@riverbankcms/sdk 0.89.1 → 0.90.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 (161) hide show
  1. package/README.md +27 -4
  2. package/dist/{PreviewEditorSidebar-JDR64FEC.mjs → PreviewEditorSidebar-KVXNF3VW.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-67TMJMAF.mjs → PreviewEditorUI-J3JN5Z7T.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +216 -0
  6. package/dist/_dts/altcha/src/AltchaWidget.d.ts +1 -1
  7. package/dist/_dts/api/src/bookingOperations.d.ts +2 -0
  8. package/dist/_dts/api/src/bookingRecords.d.ts +4 -2
  9. package/dist/_dts/api/src/bookings.d.ts +3 -1
  10. package/dist/_dts/api/src/index.d.ts +6 -5
  11. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -5
  12. package/dist/_dts/api/src/request.d.ts +21 -0
  13. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
  14. package/dist/_dts/api/src/sdkContracts.d.ts +2 -0
  15. package/dist/_dts/api/src/types.d.ts +3 -1
  16. package/dist/_dts/api/src/url.d.ts +6 -3
  17. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +1 -0
  18. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +5 -1
  19. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +9 -1
  20. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +1 -0
  21. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +7 -11
  22. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -0
  23. package/dist/_dts/blocks/src/index.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -6
  25. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -4
  26. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +0 -2
  27. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +3 -3
  28. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +8 -0
  29. package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -1
  30. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +3 -1
  31. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +17 -5
  33. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -6
  34. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -0
  35. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +2 -2
  36. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -17
  37. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -9
  38. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -9
  39. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +5 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +4 -4
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +50 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +11 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -1
  49. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/calendarViewOptions.d.ts +10 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +24 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +5 -2
  53. package/dist/_dts/blocks/src/system/runtime/nodes/shop-checkout-form.d.ts +2 -2
  54. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  55. package/dist/_dts/content-model/src/entry-slots/sdkBlocks.d.ts +21 -0
  56. package/dist/_dts/content-model/src/entry-slots/types.d.ts +7 -0
  57. package/dist/_dts/core/src/money-input.d.ts +18 -0
  58. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -0
  59. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -1
  60. package/dist/_dts/media-editor/src/fieldUi.d.ts +6 -0
  61. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  62. package/dist/_dts/preview-next/src/client/index.d.ts +1 -0
  63. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -2
  64. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -2
  65. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +3 -2
  66. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +2 -2
  67. package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +6 -0
  68. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +2 -1
  69. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +10 -0
  70. package/dist/_dts/sdk/src/cli/content/reader.d.ts +12 -5
  71. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -55
  72. package/dist/_dts/sdk/src/components.d.ts +1 -0
  73. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  74. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +3 -1
  75. package/dist/_dts/sdk/src/next/types.d.ts +8 -11
  76. package/dist/_dts/sdk/src/preview-next/client/index.d.ts +1 -1
  77. package/dist/_dts/sdk/src/rendering/blocks-theme-scope.d.ts +2 -1
  78. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +8 -7
  79. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -6
  80. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  81. package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
  82. package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +26 -0
  83. package/dist/_dts/sdk/src/version.d.ts +1 -1
  84. package/dist/_dts/site-commands/src/commands.d.ts +18 -0
  85. package/dist/_dts/theme-core/src/ResponsiveScope.d.ts +12 -0
  86. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  87. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -2
  88. package/dist/_dts/theme-core/src/buttons/types.d.ts +5 -5
  89. package/dist/_dts/theme-core/src/cards/types.d.ts +2 -2
  90. package/dist/_dts/theme-core/src/index.d.ts +2 -0
  91. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +21 -21
  92. package/dist/_dts/theme-core/src/schema.d.ts +18 -18
  93. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  94. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  95. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  96. package/dist/_dts/theme-core/src/themeRuntime.d.ts +11 -0
  97. package/dist/{chunk-HKJQERFR.mjs → chunk-AEOYWPE4.mjs} +91 -55
  98. package/dist/{chunk-F645A5UV.mjs → chunk-BOQXMCSP.mjs} +129 -101
  99. package/dist/{chunk-ZQRBLCW5.mjs → chunk-GSPFFUVB.mjs} +2 -2
  100. package/dist/{chunk-7YUAXONX.mjs → chunk-PMBB6MQ7.mjs} +1280 -774
  101. package/dist/{chunk-TGBJWKMP.mjs → chunk-RQ3XZ4SJ.mjs} +9 -1
  102. package/dist/{chunk-7N46MZHI.mjs → chunk-UG7I7S7W.mjs} +1 -1
  103. package/dist/cli/index.mjs +899 -531
  104. package/dist/cli/init-docs/content/cli-reference.md +6 -1
  105. package/dist/cli/init-docs/content/content-management.md +27 -0
  106. package/dist/client/{accordion-MUCVNGQ7.mjs → accordion-GXQNWQ6O.mjs} +1 -1
  107. package/dist/client/{bookingForm-PKD6EFIE.mjs → bookingForm-STLUJ36H.mjs} +25 -270
  108. package/dist/client/bookings.mjs +432 -269
  109. package/dist/client/{carousel-3TKQSNJC.mjs → carousel-CVRN6EPP.mjs} +1 -1
  110. package/dist/client/{cart-6XHSZK23.mjs → cart-IYIBA5CL.mjs} +5 -6
  111. package/dist/client/{checkout-FVSPM6FI.mjs → checkout-O3BGM4GS.mjs} +5 -6
  112. package/dist/client/chunk-4RTFGHZN.mjs +433 -0
  113. package/dist/client/{chunk-UQFY4AHX.mjs → chunk-6DPXDOIL.mjs} +65 -28
  114. package/dist/client/{chunk-ZT5XE7FK.mjs → chunk-D3ETC2SU.mjs} +1 -1
  115. package/dist/client/{chunk-CQKKFEQD.mjs → chunk-DAS5CIER.mjs} +274 -105
  116. package/dist/client/{chunk-SDIYSQAY.mjs → chunk-HIHOQGIP.mjs} +2 -3
  117. package/dist/client/{chunk-ZJZZA5EP.mjs → chunk-MFPKS6QS.mjs} +11 -14
  118. package/dist/client/{chunk-EY42X22F.mjs → chunk-NBFRJ5NB.mjs} +156 -4
  119. package/dist/client/{chunk-VGLXACVK.mjs → chunk-VFHZLZAC.mjs} +1 -1
  120. package/dist/client/{chunk-STJ2NCQM.mjs → chunk-WHZQDPBZ.mjs} +19 -1
  121. package/dist/client/{chunk-RSQWWUAD.mjs → chunk-Z62JYS5O.mjs} +3 -3
  122. package/dist/client/client.mjs +3292 -2827
  123. package/dist/client/{courseRegistration-ATZSYDHM.mjs → courseRegistration-2D3ACMJR.mjs} +18 -56
  124. package/dist/client/{eventCalendar-6T2UGKKP.mjs → eventCalendar-QY4UZUFF.mjs} +8 -9
  125. package/dist/client/{eventCombined-Q4VANXVF.mjs → eventCombined-RRCDKJC2.mjs} +8 -9
  126. package/dist/client/{eventDetails-DW37E7VW.mjs → eventDetails-YO335BUT.mjs} +8 -9
  127. package/dist/client/{eventListing-XURTSAUW.mjs → eventListing-PXA6GFQ3.mjs} +8 -9
  128. package/dist/client/{eventRegistration-MRKEVAXW.mjs → eventRegistration-2ZHEDDXO.mjs} +8 -9
  129. package/dist/client/{form-WZZFFGMU.mjs → form-ZS6KX4U2.mjs} +6 -6
  130. package/dist/client/{headerSection-EQYVQBLM.mjs → headerSection-QK5SLIIB.mjs} +2 -2
  131. package/dist/client/hooks.mjs +1084 -1029
  132. package/dist/client/{locationMap-MFF5VAZR.mjs → locationMap-GFNIUD2X.mjs} +2 -2
  133. package/dist/client/{newsletterForm-JQ77UYIE.mjs → newsletterForm-PGLTTCUG.mjs} +4 -4
  134. package/dist/client/{productDetail-25LMT3IZ.mjs → productDetail-OPBE5ZPI.mjs} +5 -6
  135. package/dist/client/{productList-5ABEMKUG.mjs → productList-NI72Q62Z.mjs} +5 -6
  136. package/dist/client/rendering/client.mjs +2692 -2285
  137. package/dist/client/rendering/islands.mjs +18 -18
  138. package/dist/client/rendering.mjs +2611 -2156
  139. package/dist/client/{shop-OMMQZ6YO.mjs → shop-3ZQPEWYI.mjs} +5 -6
  140. package/dist/client/spam-protection.mjs +4 -5
  141. package/dist/preview-next/before-render.mjs +2 -2
  142. package/dist/preview-next/client/runtime.mjs +5 -5
  143. package/dist/{sdk-runtime-WNLBZ3ZH.mjs → sdk-runtime-FSHXCWDS.mjs} +6 -6
  144. package/dist/server/components.mjs +1722 -1453
  145. package/dist/server/config-validation.mjs +1316 -1261
  146. package/dist/server/config.mjs +1316 -1261
  147. package/dist/server/data.mjs +1084 -1029
  148. package/dist/server/index.mjs +135 -100
  149. package/dist/server/navigation.mjs +20 -30
  150. package/dist/server/next.mjs +1782 -1500
  151. package/dist/server/page-converter.mjs +1009 -946
  152. package/dist/server/prebuild.mjs +1 -1
  153. package/dist/server/rendering/server.mjs +1722 -1453
  154. package/dist/server/rendering.mjs +1728 -1459
  155. package/dist/server/routing.mjs +1127 -1045
  156. package/dist/server/server.mjs +1219 -1129
  157. package/dist/server/theme-bridge.mjs +8 -5
  158. package/package.json +2 -2
  159. package/dist/SdkPreviewModeRuntime-ZBEMRV7N.mjs +0 -8
  160. package/dist/client/chunk-LQFDYWPJ.mjs +0 -184
  161. package/dist/client/chunk-ZFHRN6W2.mjs +0 -66
@@ -1,4 +1,5 @@
1
1
  import type { PublicEvent } from '../../blocks/events/shared/types';
2
+ import { type PublicMembershipProductCollection, type PublicPassProductCollection } from '../../blocks/shop.shared';
2
3
  import type { OccurrenceContext } from '../../blocks/event-registration.shared';
3
4
  import type { EventRegistrationClientProps as InternalEventRegistrationClientProps } from './event-registration/types';
4
5
  import { type InteractiveIslandProps } from '../../../contracts/islands';
@@ -31,6 +32,8 @@ export type EventRegistrationSourceProps = Readonly<{
31
32
  spamProtectionEnabled?: boolean;
32
33
  stage?: 'preview' | 'published';
33
34
  supportEmail?: string;
35
+ sitePasses?: PublicPassProductCollection | null;
36
+ siteMemberships?: PublicMembershipProductCollection | null;
34
37
  }>;
35
38
  export type EventRegistrationDisplay = Readonly<{
36
39
  kind: 'event-registration';
@@ -77,6 +80,12 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
77
80
  spamProtectionEnabled?: boolean;
78
81
  stage?: "preview" | "published";
79
82
  supportEmail?: string;
83
+ sitePasses?: Readonly<{
84
+ passes: readonly import("./shop.client").PublicPassProduct[];
85
+ }> | null;
86
+ siteMemberships?: Readonly<{
87
+ memberships: readonly import("./shop.client").PublicMembershipProduct[];
88
+ }> | null;
80
89
  }>) => Readonly<{
81
90
  display: Readonly<{
82
91
  kind: "event-registration";
@@ -115,6 +124,12 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
115
124
  spamProtectionEnabled?: boolean;
116
125
  stage?: "preview" | "published";
117
126
  supportEmail?: string;
127
+ sitePasses?: Readonly<{
128
+ passes: readonly import("./shop.client").PublicPassProduct[];
129
+ }> | null;
130
+ siteMemberships?: Readonly<{
131
+ memberships: readonly import("./shop.client").PublicMembershipProduct[];
132
+ }> | null;
118
133
  }>) => unknown;
119
134
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
120
135
  siteId?: string;
@@ -140,6 +155,12 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
140
155
  spamProtectionEnabled?: boolean;
141
156
  stage?: "preview" | "published";
142
157
  supportEmail?: string;
158
+ sitePasses?: Readonly<{
159
+ passes: readonly import("./shop.client").PublicPassProduct[];
160
+ }> | null;
161
+ siteMemberships?: Readonly<{
162
+ memberships: readonly import("./shop.client").PublicMembershipProduct[];
163
+ }> | null;
143
164
  }>>;
144
165
  }>;
145
166
  render: Readonly<{
@@ -8,5 +8,5 @@ type EventRegistrationProps = EventRegistrationSourceProps & Readonly<{
8
8
  * Server-safe placeholder for event registration.
9
9
  * Provides a static container for island hydration without importing client hooks.
10
10
  */
11
- export declare function EventRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, previewToken, occurrenceContext, contentEntry, events, className, buttonText, maxTickets, showVenue, showCapacity, successMessage, waitlistMessage, buttonVariant, overlayEnabled, spamProtectionEnabled, stage, supportEmail, children, }: EventRegistrationProps): React.JSX.Element;
11
+ export declare function EventRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, previewToken, occurrenceContext, contentEntry, events, className, buttonText, maxTickets, showVenue, showCapacity, successMessage, waitlistMessage, buttonVariant, overlayEnabled, spamProtectionEnabled, stage, supportEmail, sitePasses, siteMemberships, children, }: EventRegistrationProps): React.JSX.Element;
12
12
  export default EventRegistrationSSR;
@@ -1,4 +1,4 @@
1
- import type { ButtonVariant, CalendarTabViews, ColumnOption, DisplayMode, EventBlockKind, EventLayout, EventScheduleScope, EventSurfaceScope, FilterAutoShow, PublicEvent, WeekStart } from "../../../blocks/events/shared/types";
1
+ import type { ButtonVariant, CalendarTabViews, CalendarView, ColumnOption, DisplayMode, EventBlockKind, EventLayout, EventScheduleScope, EventSurfaceScope, FilterAutoShow, PublicEvent, WeekStart } from "../../../blocks/events/shared/types";
2
2
  import { type InteractiveIslandProps } from "../../../../contracts/islands";
3
3
  import type { EventListingDisplay, EventListingInteractiveIslandProps } from "./EventListing.interactive";
4
4
  import { type EventListPaginationAction, type EventListPaginationMode, type EventPageSize } from "./shared/listOptions";
@@ -19,6 +19,7 @@ export type EventCalendarSourceProps = Readonly<{
19
19
  loadMoreText?: string;
20
20
  startOfWeek?: WeekStart;
21
21
  calendarTabViews?: CalendarTabViews;
22
+ defaultCalendarView?: CalendarView;
22
23
  showFilters?: boolean | null;
23
24
  showCategoryFilter?: FilterAutoShow;
24
25
  showVenueFilter?: boolean | null;
@@ -49,6 +50,7 @@ export type EventCalendarDisplay = Readonly<{
49
50
  paginationAction: EventListPaginationAction;
50
51
  startOfWeek: WeekStart;
51
52
  calendarTabViews: CalendarTabViews;
53
+ defaultCalendarView: CalendarView;
52
54
  showFilters: boolean;
53
55
  showCategoryFilter: FilterAutoShow;
54
56
  showVenueFilter: boolean;
@@ -107,6 +109,7 @@ export declare const eventCalendarBlockRuntime: Readonly<{
107
109
  loadMoreText?: string;
108
110
  startOfWeek?: WeekStart;
109
111
  calendarTabViews?: CalendarTabViews;
112
+ defaultCalendarView?: CalendarView;
110
113
  showFilters?: boolean | null;
111
114
  showCategoryFilter?: FilterAutoShow;
112
115
  showVenueFilter?: boolean | null;
@@ -137,6 +140,7 @@ export declare const eventCalendarBlockRuntime: Readonly<{
137
140
  paginationAction: EventListPaginationAction;
138
141
  startOfWeek: WeekStart;
139
142
  calendarTabViews: CalendarTabViews;
143
+ defaultCalendarView: CalendarView;
140
144
  showFilters: boolean;
141
145
  showCategoryFilter: FilterAutoShow;
142
146
  showVenueFilter: boolean;
@@ -184,6 +188,7 @@ export declare const eventCalendarBlockRuntime: Readonly<{
184
188
  loadMoreText?: string;
185
189
  startOfWeek?: WeekStart;
186
190
  calendarTabViews?: CalendarTabViews;
191
+ defaultCalendarView?: CalendarView;
187
192
  showFilters?: boolean | null;
188
193
  showCategoryFilter?: FilterAutoShow;
189
194
  showVenueFilter?: boolean | null;
@@ -220,6 +225,7 @@ export declare const eventCalendarBlockRuntime: Readonly<{
220
225
  loadMoreText?: string;
221
226
  startOfWeek?: WeekStart;
222
227
  calendarTabViews?: CalendarTabViews;
228
+ defaultCalendarView?: CalendarView;
223
229
  showFilters?: boolean | null;
224
230
  showCategoryFilter?: FilterAutoShow;
225
231
  showVenueFilter?: boolean | null;
@@ -253,6 +259,7 @@ export declare const eventCalendarBlockRuntime: Readonly<{
253
259
  paginationAction: EventListPaginationAction;
254
260
  startOfWeek: WeekStart;
255
261
  calendarTabViews: CalendarTabViews;
262
+ defaultCalendarView: CalendarView;
256
263
  showFilters: boolean;
257
264
  showCategoryFilter: FilterAutoShow;
258
265
  showVenueFilter: boolean;
@@ -293,6 +300,7 @@ export declare const eventCalendarBlockRuntime: Readonly<{
293
300
  paginationAction: EventListPaginationAction;
294
301
  startOfWeek: WeekStart;
295
302
  calendarTabViews: CalendarTabViews;
303
+ defaultCalendarView: CalendarView;
296
304
  showFilters: boolean;
297
305
  showCategoryFilter: FilterAutoShow;
298
306
  showVenueFilter: boolean;
@@ -345,6 +353,7 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
345
353
  paginationAction: EventListPaginationAction;
346
354
  startOfWeek: WeekStart;
347
355
  calendarTabViews: CalendarTabViews;
356
+ defaultCalendarView: CalendarView;
348
357
  showFilters: boolean;
349
358
  showCategoryFilter: FilterAutoShow;
350
359
  showVenueFilter: boolean;
@@ -394,6 +403,7 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
394
403
  paginationAction: EventListPaginationAction;
395
404
  startOfWeek: WeekStart;
396
405
  calendarTabViews: CalendarTabViews;
406
+ defaultCalendarView: CalendarView;
397
407
  showFilters: boolean;
398
408
  showCategoryFilter: FilterAutoShow;
399
409
  showVenueFilter: boolean;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { PublicEvent, ButtonVariant, EventLayout, ColumnOption, WeekStart, CalendarTabViews, FilterAutoShow, EventBlockKind, EventScheduleScope, EventSurfaceScope } from "../../../blocks/events/shared/types";
2
+ import type { PublicEvent, ButtonVariant, EventLayout, ColumnOption, WeekStart, CalendarTabViews, FilterAutoShow, CalendarView, EventBlockKind, EventScheduleScope, EventSurfaceScope } from "../../../blocks/events/shared/types";
3
3
  import type { EventCombinedInteractiveIslandProps } from "./EventCombined.interactive";
4
4
  import { type EventListPaginationAction, type EventPageSize } from "./shared/listOptions";
5
5
  export type EventCombinedClientProps = Readonly<{
@@ -12,6 +12,7 @@ export type EventCombinedClientProps = Readonly<{
12
12
  paginationAction?: EventListPaginationAction;
13
13
  startOfWeek?: WeekStart;
14
14
  calendarTabViews?: CalendarTabViews;
15
+ defaultCalendarView?: CalendarView | null;
15
16
  showFilters?: boolean | null;
16
17
  showCategoryFilter?: FilterAutoShow;
17
18
  showVenueFilter?: boolean | null;
@@ -1,4 +1,4 @@
1
- import type { ButtonVariant, CalendarTabViews, ColumnOption, EventBlockKind, EventLayout, EventScheduleScope, EventSurfaceScope, FilterAutoShow, PublicEvent, WeekStart } from "../../../blocks/events/shared/types";
1
+ import type { ButtonVariant, CalendarTabViews, CalendarView, ColumnOption, EventBlockKind, EventLayout, EventScheduleScope, EventSurfaceScope, FilterAutoShow, PublicEvent, WeekStart } from "../../../blocks/events/shared/types";
2
2
  import { type InteractiveIslandProps } from "../../../../contracts/islands";
3
3
  import type { EventListingDisplay } from "./EventListing.interactive";
4
4
  import { type EventListPaginationAction, type EventListPaginationMode, type EventPageSize } from "./shared/listOptions";
@@ -15,6 +15,7 @@ export type EventCombinedSourceProps = Readonly<{
15
15
  loadMoreText?: string;
16
16
  startOfWeek?: WeekStart;
17
17
  calendarTabViews?: CalendarTabViews;
18
+ defaultCalendarView?: CalendarView;
18
19
  showFilters?: boolean | null;
19
20
  showCategoryFilter?: FilterAutoShow;
20
21
  showVenueFilter?: boolean | null;
@@ -44,6 +45,7 @@ export type EventCombinedDisplay = Readonly<{
44
45
  paginationAction: EventListPaginationAction;
45
46
  startOfWeek: WeekStart;
46
47
  calendarTabViews: CalendarTabViews;
48
+ defaultCalendarView: CalendarView;
47
49
  showFilters: boolean;
48
50
  showCategoryFilter: FilterAutoShow;
49
51
  showVenueFilter: boolean;
@@ -97,6 +99,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
97
99
  loadMoreText?: string;
98
100
  startOfWeek?: WeekStart;
99
101
  calendarTabViews?: CalendarTabViews;
102
+ defaultCalendarView?: CalendarView;
100
103
  showFilters?: boolean | null;
101
104
  showCategoryFilter?: FilterAutoShow;
102
105
  showVenueFilter?: boolean | null;
@@ -126,6 +129,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
126
129
  paginationAction: EventListPaginationAction;
127
130
  startOfWeek: WeekStart;
128
131
  calendarTabViews: CalendarTabViews;
132
+ defaultCalendarView: CalendarView;
129
133
  showFilters: boolean;
130
134
  showCategoryFilter: FilterAutoShow;
131
135
  showVenueFilter: boolean;
@@ -169,6 +173,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
169
173
  loadMoreText?: string;
170
174
  startOfWeek?: WeekStart;
171
175
  calendarTabViews?: CalendarTabViews;
176
+ defaultCalendarView?: CalendarView;
172
177
  showFilters?: boolean | null;
173
178
  showCategoryFilter?: FilterAutoShow;
174
179
  showVenueFilter?: boolean | null;
@@ -201,6 +206,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
201
206
  loadMoreText?: string;
202
207
  startOfWeek?: WeekStart;
203
208
  calendarTabViews?: CalendarTabViews;
209
+ defaultCalendarView?: CalendarView;
204
210
  showFilters?: boolean | null;
205
211
  showCategoryFilter?: FilterAutoShow;
206
212
  showVenueFilter?: boolean | null;
@@ -233,6 +239,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
233
239
  paginationAction: EventListPaginationAction;
234
240
  startOfWeek: WeekStart;
235
241
  calendarTabViews: CalendarTabViews;
242
+ defaultCalendarView: CalendarView;
236
243
  showFilters: boolean;
237
244
  showCategoryFilter: FilterAutoShow;
238
245
  showVenueFilter: boolean;
@@ -272,6 +279,7 @@ export declare const eventCombinedBlockRuntime: Readonly<{
272
279
  paginationAction: EventListPaginationAction;
273
280
  startOfWeek: WeekStart;
274
281
  calendarTabViews: CalendarTabViews;
282
+ defaultCalendarView: CalendarView;
275
283
  showFilters: boolean;
276
284
  showCategoryFilter: FilterAutoShow;
277
285
  showVenueFilter: boolean;
@@ -323,6 +331,7 @@ export declare const eventCombinedInteractiveIslandPropsCodec: Readonly<{
323
331
  paginationAction: EventListPaginationAction;
324
332
  startOfWeek: WeekStart;
325
333
  calendarTabViews: CalendarTabViews;
334
+ defaultCalendarView: CalendarView;
326
335
  showFilters: boolean;
327
336
  showCategoryFilter: FilterAutoShow;
328
337
  showVenueFilter: boolean;
@@ -371,6 +380,7 @@ export declare const eventCombinedInteractiveIslandPropsCodec: Readonly<{
371
380
  paginationAction: EventListPaginationAction;
372
381
  startOfWeek: WeekStart;
373
382
  calendarTabViews: CalendarTabViews;
383
+ defaultCalendarView: CalendarView;
374
384
  showFilters: boolean;
375
385
  showCategoryFilter: FilterAutoShow;
376
386
  showVenueFilter: boolean;
@@ -0,0 +1,10 @@
1
+ import type { CalendarTabViews, CalendarView } from '../../../../blocks/events/shared/types';
2
+ export type CalendarViewToggleOption = Readonly<{
3
+ id: CalendarView;
4
+ label: string;
5
+ }>;
6
+ export declare function resolveInitialCalendarView(input: {
7
+ calendarTabViews: CalendarTabViews;
8
+ defaultCalendarView?: CalendarView | null;
9
+ }): CalendarView;
10
+ export declare function orderCalendarViewToggleOptions(defaultCalendarView: CalendarView): readonly CalendarViewToggleOption[];
@@ -0,0 +1,24 @@
1
+ import type { PublicMembershipProduct, PublicPassProduct } from '../../../../blocks/shop.shared';
2
+ export type EventProductEligibilityTarget = Readonly<{
3
+ requiresRegistration: boolean;
4
+ acceptsPasses?: boolean | null;
5
+ acceptsMemberships?: boolean | null;
6
+ eventCategory?: {
7
+ id: string;
8
+ } | null;
9
+ }>;
10
+ /**
11
+ * Filter site passes to only those that cover the selected event.
12
+ *
13
+ * Public purchasable products are a pre-auth proxy for whether the pass path is
14
+ * worth advertising; owned pass eligibility is checked later after portal auth.
15
+ */
16
+ export declare function filterPassesForEvent<TPass extends PublicPassProduct>(sitePasses: readonly TPass[] | null | undefined, event: EventProductEligibilityTarget | null): TPass[];
17
+ /**
18
+ * Filter site memberships to only those that cover the selected event.
19
+ *
20
+ * Public purchasable products are a pre-auth proxy for whether the membership
21
+ * path is worth advertising; owned membership eligibility is checked later
22
+ * after portal auth.
23
+ */
24
+ export declare function filterMembershipsForEvent<TMembership extends PublicMembershipProduct>(siteMemberships: readonly TMembership[] | null | undefined, event: EventProductEligibilityTarget | null): TMembership[];
@@ -20,12 +20,15 @@ export declare const eventLayoutSchema: z.ZodEnum<{
20
20
  stack: "stack";
21
21
  }>;
22
22
  export declare const eventCalendarDisplayModeSchema: z.ZodEnum<{
23
- week: "week";
24
- month: "month";
25
23
  combined: "combined";
24
+ calendar: "calendar";
26
25
  list: "list";
27
26
  timetable: "timetable";
28
27
  }>;
28
+ export declare const eventCalendarDefaultViewSchema: z.ZodEnum<{
29
+ week: "week";
30
+ month: "month";
31
+ }>;
29
32
  export declare const columnOptionSchema: z.ZodEnum<{
30
33
  2: "2";
31
34
  3: "3";
@@ -1,5 +1,5 @@
1
1
  import { type Brand, type Result } from '../../../../../core/src/index';
2
- import type { DiscountsAvailableRequest, DiscountsAvailableResponse, ShopCheckoutRequest, UnifiedCheckoutItem, UnifiedCheckoutRequest } from '../api/types';
2
+ import type { AutoAppliedDiscountPreview, DiscountsAvailableRequest, DiscountsAvailableResponse, ShopCheckoutRequest, UnifiedCheckoutItem, UnifiedCheckoutRequest } from '../api/types';
3
3
  import type { CommerceCheckoutState } from './shop-commerce.shared';
4
4
  export type ManualDiscountCode = Brand<string, 'ManualDiscountCode'>;
5
5
  export type CheckoutContactForm = Readonly<{
@@ -41,7 +41,7 @@ export type CartDiscountUiState = Readonly<{
41
41
  type: 'manual-allowed';
42
42
  }> | Readonly<{
43
43
  type: 'auto-only';
44
- autoAppliedDiscount: DiscountsAvailableResponse['autoAppliedDiscount'];
44
+ autoAppliedDiscount: AutoAppliedDiscountPreview | null;
45
45
  }> | Readonly<{
46
46
  type: 'error-unavailable';
47
47
  }>;
@@ -1 +1,2 @@
1
1
  export * from './types';
2
+ export * from './sdkBlocks';
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ export declare function createSdkEntrySlotBlockInputSchema(contentSchema?: z.ZodType<Record<string, unknown>>): z.ZodObject<{
3
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4
+ kind: z.ZodString;
5
+ content: z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>;
6
+ }, z.core.$strip>;
7
+ export declare function createSdkEntrySlotBlocksInputSchema(contentSchema?: z.ZodType<Record<string, unknown>>): z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
8
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ kind: z.ZodString;
10
+ content: z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>;
11
+ }, z.core.$strip>>>;
12
+ export declare const sdkEntrySlotBlockInputSchema: z.ZodObject<{
13
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ kind: z.ZodString;
15
+ content: z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>;
16
+ }, z.core.$strip>;
17
+ export declare const sdkEntrySlotBlocksInputSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
18
+ identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ kind: z.ZodString;
20
+ content: z.ZodType<Record<string, unknown>, unknown, z.core.$ZodTypeInternals<Record<string, unknown>, unknown>>;
21
+ }, z.core.$strip>>>;
@@ -313,6 +313,12 @@ export type SdkEntryBlocksPatchParseError = Readonly<{
313
313
  kind: 'invalid-block';
314
314
  slotKey: SlotKey;
315
315
  blockIndex: number;
316
+ }> | Readonly<{
317
+ kind: 'duplicate-block-identifier';
318
+ slotKey: SlotKey;
319
+ identifier: string;
320
+ firstBlockIndex: number;
321
+ blockIndex: number;
316
322
  }> | Readonly<{
317
323
  kind: 'template-only-block-kind';
318
324
  slotKey: SlotKey;
@@ -320,6 +326,7 @@ export type SdkEntryBlocksPatchParseError = Readonly<{
320
326
  blockKind: string;
321
327
  }>;
322
328
  export declare function parseSdkEntryBlocksPatch(blocks: unknown): EntrySlotResult<SdkEntryBlocksPatch, SdkEntryBlocksPatchParseError>;
329
+ export declare function describeSdkEntryBlocksPatchParseError(error: SdkEntryBlocksPatchParseError): string;
323
330
  export type SlotContainerOwner = Readonly<{
324
331
  kind: 'contentEntry';
325
332
  contentEntryId: EntrySlotContentEntryId;
@@ -1,6 +1,24 @@
1
+ import type { Brand } from './branded';
2
+ import { type Result } from './result';
3
+ export type PositiveMoneyCents = Brand<number, 'PositiveMoneyCents'>;
4
+ export type NonNegativeMoneyCents = Brand<number, 'NonNegativeMoneyCents'>;
5
+ export type MoneyInputParseError = Readonly<{
6
+ kind: 'empty';
7
+ }> | Readonly<{
8
+ kind: 'invalid-number';
9
+ }> | Readonly<{
10
+ kind: 'negative';
11
+ }> | Readonly<{
12
+ kind: 'zero-not-allowed';
13
+ }>;
1
14
  export type ParseMoneyInputToCentsOptions = Readonly<{
2
15
  allowZero?: boolean;
3
16
  stripFormatting?: boolean;
4
17
  }>;
18
+ export type ParseStrictMoneyInputToCentsOptions = Readonly<{
19
+ stripFormatting?: boolean;
20
+ }>;
21
+ export declare function parsePositiveMoneyInputToCents(value: string, options?: ParseStrictMoneyInputToCentsOptions): Result<PositiveMoneyCents, MoneyInputParseError>;
22
+ export declare function parseNonNegativeMoneyInputToCents(value: string, options?: ParseStrictMoneyInputToCentsOptions): Result<NonNegativeMoneyCents, MoneyInputParseError>;
5
23
  export declare function parseMoneyInputToCents(value: string, options?: ParseMoneyInputToCentsOptions): number | null;
6
24
  export declare function formatMoneyInputFromCents(amountCents: number | null | undefined): string;
@@ -16200,6 +16200,19 @@ export type Database = {
16200
16200
  target_kind: string;
16201
16201
  }[];
16202
16202
  };
16203
+ claim_site_invitation_resend: {
16204
+ Args: {
16205
+ p_actor_user_id: string;
16206
+ p_attempt_id: string;
16207
+ p_claim_expires_at: string;
16208
+ p_cooldown_seconds?: number;
16209
+ p_expires_at: string;
16210
+ p_invitation_id: string;
16211
+ p_site_id: string;
16212
+ p_token_hash: string;
16213
+ };
16214
+ Returns: Json;
16215
+ };
16203
16216
  commit_content_draft_version: {
16204
16217
  Args: {
16205
16218
  p_data: Json;
@@ -16497,6 +16510,16 @@ export type Database = {
16497
16510
  count: number;
16498
16511
  }[];
16499
16512
  };
16513
+ finalize_site_invitation_resend: {
16514
+ Args: {
16515
+ p_actor_user_id: string;
16516
+ p_attempt_id: string;
16517
+ p_invitation_id: string;
16518
+ p_resent_at: string;
16519
+ p_site_id: string;
16520
+ };
16521
+ Returns: Json;
16522
+ };
16500
16523
  get_auth_user_id_by_email: {
16501
16524
  Args: {
16502
16525
  p_email: string;
@@ -16920,6 +16943,24 @@ export type Database = {
16920
16943
  order_id: string;
16921
16944
  }[];
16922
16945
  };
16946
+ postgres_fdw_disconnect: {
16947
+ Args: {
16948
+ "": string;
16949
+ };
16950
+ Returns: boolean;
16951
+ };
16952
+ postgres_fdw_disconnect_all: {
16953
+ Args: never;
16954
+ Returns: boolean;
16955
+ };
16956
+ postgres_fdw_get_connections: {
16957
+ Args: never;
16958
+ Returns: Record<string, unknown>[];
16959
+ };
16960
+ postgres_fdw_handler: {
16961
+ Args: never;
16962
+ Returns: unknown;
16963
+ };
16923
16964
  read_published_runtime_cache_entry: {
16924
16965
  Args: {
16925
16966
  p_cache_key: string;
@@ -16964,6 +17005,15 @@ export type Database = {
16964
17005
  isSetofReturn: false;
16965
17006
  };
16966
17007
  };
17008
+ release_site_invitation_resend_claim: {
17009
+ Args: {
17010
+ p_actor_user_id: string;
17011
+ p_attempt_id: string;
17012
+ p_invitation_id: string;
17013
+ p_site_id: string;
17014
+ };
17015
+ Returns: Json;
17016
+ };
16967
17017
  remove_category_from_memberships: {
16968
17018
  Args: {
16969
17019
  category_id: string;
@@ -14,6 +14,7 @@ export type MediaEditorProps = {
14
14
  cropEditorMode?: 'dialog' | 'inline';
15
15
  cropEditorAutoOpen?: boolean;
16
16
  mediaPickerAutoOpen?: boolean;
17
+ onMediaPickerOpenChange?: (open: boolean) => void;
17
18
  mediaPickerDialogMaxWidth?: string;
18
19
  mediaPickerPolicy?: MediaPickerPolicy;
19
20
  showPreview?: boolean;
@@ -29,4 +30,4 @@ export type MediaEditorProps = {
29
30
  videoPrepIntent?: VideoPrepIntentResolver;
30
31
  videoSelectionIntent?: VideoPrepIntent;
31
32
  };
32
- export declare const MediaEditor: ({ value, onChange, allowedKinds, previewAspectRatio, minSourceWidth, minSourceHeight, showAltInput, cropEditorMode, cropEditorAutoOpen, mediaPickerAutoOpen, mediaPickerDialogMaxWidth, mediaPickerPolicy, showPreview, showActionOverlay, onEditDetails, fullWidth, previewVariant, showRemoveAction, previewMaxWidth, preventPreviewUpscale, onUploadComplete, uploadIntent, videoPrepIntent, videoSelectionIntent, }: MediaEditorProps) => import("react").JSX.Element;
33
+ export declare const MediaEditor: ({ value, onChange, allowedKinds, previewAspectRatio, minSourceWidth, minSourceHeight, showAltInput, cropEditorMode, cropEditorAutoOpen, mediaPickerAutoOpen, onMediaPickerOpenChange, mediaPickerDialogMaxWidth, mediaPickerPolicy, showPreview, showActionOverlay, onEditDetails, fullWidth, previewVariant, showRemoveAction, previewMaxWidth, preventPreviewUpscale, onUploadComplete, uploadIntent, videoPrepIntent, videoSelectionIntent, }: MediaEditorProps) => import("react").JSX.Element;
@@ -5,6 +5,7 @@ type MediaEditorFieldUi = {
5
5
  cropEditorMode?: 'dialog' | 'inline';
6
6
  cropEditorAutoOpen?: boolean;
7
7
  mediaPickerAutoOpen?: boolean;
8
+ onMediaPickerOpenChange?: (open: boolean) => void;
8
9
  showMediaPreview?: boolean;
9
10
  showMediaOverlayActions?: boolean;
10
11
  mediaPreviewMaxWidth?: 'xs' | 'sm' | 'md' | 'none';
@@ -19,6 +20,11 @@ export declare function withRepeaterThumbnailMediaFieldUi<T extends MediaEditorF
19
20
  }): (T & {
20
21
  ui: MediaEditorFieldUi;
21
22
  }) | null;
23
+ export declare function withRepeaterThumbnailPickerOnlyMediaFieldUi<T extends MediaEditorFieldLike>(field: T | null | undefined, options?: {
24
+ onMediaPickerOpenChange?: (open: boolean) => void;
25
+ }): (T & {
26
+ ui: MediaEditorFieldUi;
27
+ }) | null;
22
28
  export declare function withRepeaterStackMediaFieldUi<T extends MediaEditorFieldLike>(field: T): T & {
23
29
  ui: MediaEditorFieldUi;
24
30
  };
@@ -13,6 +13,6 @@ export { MediaEditorContextProvider, useMediaEditor, useMediaEditorOptional, typ
13
13
  export { MediaEditorProvider } from './provider';
14
14
  export type { MediaEditorProviderProps } from './provider';
15
15
  export { createMediaEditorProvider } from './createMediaEditorProvider';
16
- export { withRepeaterStackMediaFieldUi, withRepeaterThumbnailMediaFieldUi } from './fieldUi';
16
+ export { withRepeaterStackMediaFieldUi, withRepeaterThumbnailMediaFieldUi, withRepeaterThumbnailPickerOnlyMediaFieldUi, } from './fieldUi';
17
17
  export type { MediaValue, MediaTransform, MediaHotspot } from './types';
18
18
  export { DEFAULT_HOTSPOT } from './utils';
@@ -12,6 +12,7 @@ export type { PreviewDesignRow, PreviewSidebarOpenRequest, PreviewSidebarTab, }
12
12
  export { getPreviewSidebarTab, onPreviewSidebarOpenRequest, requestPreviewSidebarOpen, setPreviewSidebarTab, } from "./preview/sidebarTabPreference";
13
13
  export type { PreviewViewportControlsProps, ViewportMode, ViewportWidth, } from "./preview/PreviewViewportControls";
14
14
  export { PreviewViewportControls } from "./preview/PreviewViewportControls";
15
+ export type { PreviewThemeResponsiveMode, PreviewThemeRuntime, } from "./preview/themeRuntime";
15
16
  export { PreviewZoomControls } from "./preview/PreviewZoomControls";
16
17
  export { PreviewEditorUI } from "./preview/PreviewEditorUI";
17
18
  export { PreviewOpenEditorButton } from "./preview/PreviewOpenEditorButton";
@@ -8,6 +8,7 @@ import type { ContentTypeSchema } from '../../../../content-model/src/index';
8
8
  import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
9
9
  import type { SurfaceId } from '../../../../surfaces/src/index';
10
10
  import { type PreviewBlock, type PreviewContentEntryData, type PreviewPageMetadata } from './PreviewEntryControllerProvider';
11
+ import { type PreviewThemeRuntime } from './themeRuntime';
11
12
  import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
12
13
  import { type PreviewRuntimeSession } from '../../auth-contract';
13
14
  type BaseFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
@@ -71,11 +72,11 @@ export type PreviewShellProps = {
71
72
  mediaAssets?: MediaAssetIndexItem[];
72
73
  bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
73
74
  supabaseUrl?: string;
74
- useThemeScope?: boolean;
75
+ themeRuntime?: PreviewThemeRuntime;
75
76
  designEditorEligibility?: PreviewDesignEditorEligibility;
76
77
  baseFetch?: BaseFetch;
77
78
  };
78
- export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, useThemeScope, designEditorEligibility, baseFetch, }: PreviewShellProps): React.JSX.Element;
79
+ export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, baseFetch, }: PreviewShellProps): React.JSX.Element;
79
80
  export declare function defaultDesignEditorEligibility(input: Readonly<{
80
81
  pageId: string | null;
81
82
  entryData?: PreviewContentEntryData | null;
@@ -9,6 +9,7 @@ import type { SdkConfigForBlockPicker } from "../../../../editor-blocks/src/inde
9
9
  import type { SurfaceId } from "../../../../surfaces/src/index";
10
10
  import { type PreviewEntryData, type PreviewTemplateData } from "./PreviewEditorSidebar";
11
11
  import type { SiteStyleAccess } from "./siteStyleAccess";
12
+ import { type PreviewThemeRuntime } from "./themeRuntime";
12
13
  export type PreviewShellLayoutProps = {
13
14
  children: ReactNode;
14
15
  theme: Theme;
@@ -47,7 +48,7 @@ export type PreviewShellLayoutProps = {
47
48
  sdkConfig?: SdkConfigForBlockPicker | null;
48
49
  mediaAssets?: MediaAssetIndexItem[];
49
50
  bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
50
- useThemeScope?: boolean;
51
+ themeRuntime?: PreviewThemeRuntime;
51
52
  siteStyleAccess?: SiteStyleAccess;
52
53
  };
53
- export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, useThemeScope, siteStyleAccess, }: PreviewShellLayoutProps): React.JSX.Element;
54
+ export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, }: PreviewShellLayoutProps): React.JSX.Element;
@@ -1,9 +1,10 @@
1
1
  import React, { type ReactElement, type ReactNode } from "react";
2
2
  import { type SiteChromeRenderModel } from "../../../../blocks/src/client/site-chrome";
3
3
  import type { ViewportMode } from "./PreviewViewportControls";
4
- export declare function PreviewThemedSiteDocument({ children, useThemeScope, useContainerResponsiveMode, viewportMode, viewportWidth, scale, contentHeight, scaleContainerRef, contentRef, staticHeaderNode, bannerNode, staticFooterNode, siteChromeRenderModel, }: {
4
+ import { type PreviewThemeRuntime } from "./themeRuntime";
5
+ export declare function PreviewThemedSiteDocument({ children, themeRuntime, useContainerResponsiveMode, viewportMode, viewportWidth, scale, contentHeight, scaleContainerRef, contentRef, staticHeaderNode, bannerNode, staticFooterNode, siteChromeRenderModel, }: {
5
6
  children: ReactNode;
6
- useThemeScope: boolean;
7
+ themeRuntime?: PreviewThemeRuntime;
7
8
  useContainerResponsiveMode: boolean;
8
9
  viewportMode: ViewportMode;
9
10
  viewportWidth: number | "full";
@@ -1,4 +1,4 @@
1
- import { default as React, type ReactNode } from 'react';
1
+ import { type ReactElement, type ReactNode } from 'react';
2
2
  export type SiteChromeEditableSurfaceKind = 'header' | 'footer';
3
3
  type SiteChromeEditableSurfaceProps = Readonly<{
4
4
  surface: SiteChromeEditableSurfaceKind;
@@ -12,5 +12,5 @@ type SiteChromeEditableSurfaceProps = Readonly<{
12
12
  */
13
13
  preserveSingleComponentRoot?: boolean;
14
14
  }>;
15
- export declare function SiteChromeEditableSurface({ surface, children, preserveSingleComponentRoot, }: SiteChromeEditableSurfaceProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
15
+ export declare function SiteChromeEditableSurface({ surface, children, preserveSingleComponentRoot, }: SiteChromeEditableSurfaceProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
16
16
  export {};
@@ -0,0 +1,6 @@
1
+ import type { ThemeResponsiveMode, ThemeRuntime } from '../../../../theme-core/src/index';
2
+ export type PreviewThemeResponsiveMode = ThemeResponsiveMode;
3
+ export type PreviewThemeRuntime = ThemeRuntime;
4
+ export declare const defaultPreviewThemeRuntime: {
5
+ readonly kind: "cms-theme";
6
+ };
@@ -1,6 +1,7 @@
1
1
  import type { MediaAssetIndexItem } from "../../../../blocks/src/index";
2
2
  import type { SurfaceId } from "../../../../surfaces/src/index";
3
3
  import type { PreviewRuntimeSession } from "../../auth-contract";
4
+ import type { PreviewThemeRuntime } from "../preview/themeRuntime";
4
5
  export { SdkPreviewModeRuntime as SdkPreviewMode } from "./SdkPreviewModeRuntime";
5
6
  export type SdkPreviewModeContent = {
6
7
  page: unknown;
@@ -27,5 +28,5 @@ export type SdkPreviewModeProps = {
27
28
  previewToken: string;
28
29
  content: SdkPreviewModeContent;
29
30
  blockOverrides?: unknown;
30
- useThemeScope?: boolean;
31
+ themeRuntime?: PreviewThemeRuntime;
31
32
  };
@@ -0,0 +1,10 @@
1
+ import type { OutputContext } from '../output';
2
+ export type DatedOfferingPullScope = 'venues' | 'event-categories' | 'events' | 'courses';
3
+ export declare function isDatedOfferingPullScope(scope: string): scope is DatedOfferingPullScope;
4
+ export declare function filterPullItemsByIdentifier<TItem>(items: readonly TItem[], identifier: string | undefined, getIdentifier: (item: TItem) => string): TItem[];
5
+ export declare function reportMissingScopedPullItem(input: Readonly<{
6
+ output: OutputContext;
7
+ scope: DatedOfferingPullScope;
8
+ identifier: string | undefined;
9
+ found: boolean;
10
+ }>): boolean;