@riverbankcms/sdk 0.145.0 → 0.146.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 (159) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-kg2r2Fyi.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-sWMLp5dT.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Cg51xq1w.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-h2ti3Hch.mjs} +280 -182
  6. package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DEACFH9m.mjs} +1330 -734
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +924 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +84 -0
  9. package/dist/_dts/api/src/bookingConfig.d.ts +8 -1
  10. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +8 -14
  11. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  12. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  13. package/dist/_dts/api/src/communications.d.ts +20 -4
  14. package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
  15. package/dist/_dts/api/src/endpoints.d.ts +223 -88
  16. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  17. package/dist/_dts/api/src/eventManagementContracts.d.ts +56 -3
  18. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  19. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  20. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  21. package/dist/_dts/api/src/index.d.ts +7 -1
  22. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  23. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  24. package/dist/_dts/api/src/launchReadiness.d.ts +20 -2
  25. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  26. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  27. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +42 -0
  28. package/dist/_dts/api/src/occurrenceScheduling.d.ts +10 -0
  29. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  30. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  31. package/dist/_dts/api/src/sdk-event-upsert.d.ts +40 -1
  32. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  33. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  34. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  35. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  36. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  37. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  38. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  39. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  40. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  41. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  42. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -32
  43. package/dist/_dts/api/src/siteOnboarding.d.ts +75 -9
  44. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  45. package/dist/_dts/api/src/types.d.ts +7 -1
  46. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  47. package/dist/_dts/blocks/src/index.d.ts +2 -0
  48. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +10 -0
  49. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -1
  50. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  51. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  52. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  53. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
  56. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +36 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  60. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  62. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -1
  63. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  65. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  66. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  67. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  68. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
  69. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  70. package/dist/_dts/core/src/editor-state.d.ts +2 -7
  71. package/dist/_dts/core/src/index.d.ts +1 -0
  72. package/dist/_dts/core/src/mailing-list-submission.d.ts +3 -1
  73. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  74. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  75. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +49 -2
  76. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  77. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  78. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
  79. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  80. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +3 -4
  81. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
  82. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  83. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -2
  84. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  85. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
  86. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  87. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  88. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  89. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
  90. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  91. package/dist/_dts/sdk/src/version.d.ts +1 -1
  92. package/dist/_dts/surfaces/src/index.d.ts +9 -0
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  95. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  96. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  97. package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingConsentAgreement-BQKL045f.mjs} +2 -2
  98. package/dist/client/CheckboxChoice--W2n6yKs.mjs +24 -0
  99. package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CsOtjFY7.mjs} +1 -1
  100. package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-BdRjVbhH.mjs} +6 -6
  101. package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-DBxC6xOU.mjs} +2 -2
  102. package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-mHEJKrTs.mjs} +1 -1
  103. package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-CE5KYT6z.mjs} +1 -1
  104. package/dist/client/{accordion-BcNF9TjX.mjs → accordion-BEQNSptH.mjs} +1 -1
  105. package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-AMr-s5vw.mjs} +33 -52
  106. package/dist/client/bookings.mjs +48 -46
  107. package/dist/client/{carousel-CTdF6e0V.mjs → carousel-Bbt_QgJy.mjs} +1 -1
  108. package/dist/client/{cart-pGtyf_XU.mjs → cart-CnWi30zJ.mjs} +3 -3
  109. package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-f3nkWgd4.mjs} +3 -3
  110. package/dist/client/client.mjs +1611 -815
  111. package/dist/client/{context-BFeY_Wbm.mjs → context-Bc8T6pCe.mjs} +1 -1
  112. package/dist/client/{dates-BhwVSxDg.mjs → dates-DUsCEzLb.mjs} +2 -3
  113. package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-CKwgXui5.mjs} +9 -9
  114. package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-CBAOSTGR.mjs} +4 -4
  115. package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-Dh-_WiBD.mjs} +4 -4
  116. package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-CA3frIH5.mjs} +4 -4
  117. package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-BHtsgdcg.mjs} +21 -22
  118. package/dist/client/{form-Dodt8Y8t.mjs → form-C2h3YAcg.mjs} +135 -104
  119. package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-lwMuMTH9.mjs} +3 -3
  120. package/dist/client/hooks.mjs +489 -65
  121. package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-DJ2bLODV.mjs} +3 -3
  122. package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-8Pu5K32g.mjs} +203 -101
  123. package/dist/client/{pricing-BOU0_Hai.mjs → pricing-HHx3IgBz.mjs} +1 -1
  124. package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-C_1odnAf.mjs} +3 -3
  125. package/dist/client/{productList-D-mItx1n.mjs → productList-CtCv-Nmx.mjs} +3 -3
  126. package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-Dcgsncxb.mjs} +40 -23
  127. package/dist/client/rendering/client.mjs +490 -457
  128. package/dist/client/rendering/islands.mjs +17 -17
  129. package/dist/client/rendering.mjs +1515 -628
  130. package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-CWLP7wu3.mjs} +1 -1
  131. package/dist/client/{scrollToBlock-CWs8EIdo.mjs → scrollToBlock-BNgaEUpo.mjs} +1 -1
  132. package/dist/client/{shop-Dufw7N7o.mjs → shop-DQXrQ8kJ.mjs} +7 -7
  133. package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-B88zmWWo.mjs} +6 -6
  134. package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-DtSfkKuX.mjs} +1 -1
  135. package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-cuaONpkJ.mjs} +4 -4
  136. package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-Bukew6Gb.mjs} +6 -6
  137. package/dist/preview-next/before-render.mjs +368 -103
  138. package/dist/preview-next/client/runtime.mjs +4 -4
  139. package/dist/preview-next/editor-base.css +11 -0
  140. package/dist/preview-next/keepAlive.mjs +328 -103
  141. package/dist/preview-next/middleware.mjs +329 -103
  142. package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-h5IgbSp4.mjs} +353 -103
  143. package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-DTc1uIXn.mjs} +2 -2
  144. package/dist/{separator-EvdCAn4V.mjs → separator-BpHS1KZK.mjs} +1 -1
  145. package/dist/server/components.mjs +1376 -331
  146. package/dist/server/config-validation.mjs +405 -27
  147. package/dist/server/config.mjs +405 -27
  148. package/dist/server/data.mjs +405 -27
  149. package/dist/server/index.mjs +370 -104
  150. package/dist/server/next.mjs +1430 -463
  151. package/dist/server/page-converter.mjs +36 -25
  152. package/dist/server/prebuild.mjs +1 -1
  153. package/dist/server/rendering/server.mjs +1374 -331
  154. package/dist/server/rendering.mjs +1436 -364
  155. package/dist/server/routing.mjs +476 -43
  156. package/dist/server/server.mjs +504 -169
  157. package/dist/server/theme-bridge.mjs +467 -111
  158. package/dist/styles/index.css +186 -65
  159. package/package.json +1 -1
@@ -1137,6 +1137,9 @@ var init_non_empty_array = __esmMin((() => {}));
1137
1137
  //#region ../core/src/editor-state.ts
1138
1138
  var init_editor_state = __esmMin((() => {}));
1139
1139
  //#endregion
1140
+ //#region ../core/src/block-content-identity.ts
1141
+ var init_block_content_identity = __esmMin((() => {}));
1142
+ //#endregion
1140
1143
  //#region ../core/src/sensitive-collection.ts
1141
1144
  var init_sensitive_collection = __esmMin((() => {}));
1142
1145
  //#endregion
@@ -1613,15 +1616,6 @@ function parseMailingListContentVersionId(value) {
1613
1616
  const parsed = parseContentVersionId(value);
1614
1617
  return parsed.ok ? parsed.value : null;
1615
1618
  }
1616
- function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
1617
- const parsedBlockId = parseMailingListBlockId(blockId);
1618
- const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
1619
- return parsedBlockId !== null && parsedContentVersionId !== null ? {
1620
- tag: "block_ref",
1621
- blockId: parsedBlockId,
1622
- contentVersionId: parsedContentVersionId
1623
- } : null;
1624
- }
1625
1619
  var init_mailing_list_submission = __esmMin((() => {
1626
1620
  init_branded();
1627
1621
  }));
@@ -2139,6 +2133,7 @@ var init_src$4 = __esmMin((() => {
2139
2133
  init_narrow_result();
2140
2134
  init_non_empty_array();
2141
2135
  init_editor_state();
2136
+ init_block_content_identity();
2142
2137
  init_sensitive_collection();
2143
2138
  init_assertNever();
2144
2139
  init_participants();
@@ -9226,7 +9221,7 @@ var init_bookingConsent = __esmMin((() => {
9226
9221
  checkboxLabel: z.string().min(1)
9227
9222
  });
9228
9223
  z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
9229
- })), publicEventLoaderQuerySchemaShape, eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCurrencySchema, publicCentsSchema, publicPositiveCentsSchema, publicIsoDateTimeSchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventPricingOptionAvailabilitySchema, publicEventPricingOptionSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicRunSessionSchema, publicWholeSeriesRunSchema, publicEventBaseSchema, publicEventSchema, publicEventsArraySchema;
9224
+ })), publicEventLoaderQuerySchemaShape, eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCurrencySchema, publicCentsSchema, publicPositiveCentsSchema, publicIsoDateTimeSchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventPricingOptionAvailabilitySchema, publicEventPricingOptionSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicEventBookingClosedDetailSchema, publicRunSessionSchema, publicWholeSeriesRunSchema, publicEventBaseSchema, publicEventSchema, publicEventsArraySchema;
9230
9225
  var init_schemas = __esmMin((() => {
9231
9226
  init_media$3();
9232
9227
  init_richTextSchema();
@@ -9250,6 +9245,7 @@ var init_schemas = __esmMin((() => {
9250
9245
  seriesSlug: z.string().optional(),
9251
9246
  includeOccurrenceId: z.string().optional(),
9252
9247
  readIntent: z.string().optional(),
9248
+ detailAdmission: z.string().optional(),
9253
9249
  detailLevel: z.string().optional(),
9254
9250
  readProfile: z.string().optional()
9255
9251
  };
@@ -9407,11 +9403,11 @@ var init_schemas = __esmMin((() => {
9407
9403
  "series_archived",
9408
9404
  "parent_archived",
9409
9405
  "parent_inconsistent",
9410
- "not_public",
9411
9406
  "already_started",
9412
9407
  "enrollment_closed"
9413
9408
  ])
9414
9409
  })]);
9410
+ publicEventBookingClosedDetailSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("opensSoon") }), z.object({ kind: z.literal("paused") })]);
9415
9411
  publicRunSessionSchema = z.object({
9416
9412
  occurrenceId: z.string(),
9417
9413
  startsAt: z.string(),
@@ -9453,6 +9449,7 @@ var init_schemas = __esmMin((() => {
9453
9449
  destination: publicEventDestinationSchema,
9454
9450
  requiresRegistration: z.boolean(),
9455
9451
  bookingAvailability: publicEventBookingAvailabilitySchema,
9452
+ bookingClosedDetail: publicEventBookingClosedDetailSchema.optional(),
9456
9453
  deliveryMode: z.enum([
9457
9454
  "in_person",
9458
9455
  "online",
@@ -10729,6 +10726,13 @@ var init_eventSeriesRegistrationEndpointDefinitions = __esmMin((() => {
10729
10726
  errors: [],
10730
10727
  responseKind: "blob"
10731
10728
  },
10729
+ exportEventOfferingRegistrationsCsv: {
10730
+ path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}/registrations/export.csv",
10731
+ method: "GET",
10732
+ auth: "user",
10733
+ errors: [],
10734
+ responseKind: "blob"
10735
+ },
10732
10736
  updateEventSeriesRegistration: {
10733
10737
  path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
10734
10738
  method: "PATCH",
@@ -10739,6 +10743,19 @@ var init_eventSeriesRegistrationEndpointDefinitions = __esmMin((() => {
10739
10743
  "resource:not_found",
10740
10744
  "server:internal_error"
10741
10745
  ]
10746
+ },
10747
+ saveEventSeriesRegistrationAnswers: {
10748
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/answers",
10749
+ method: "PUT",
10750
+ auth: "user",
10751
+ responseKind: "json",
10752
+ errors: [
10753
+ "validation:invalid_input",
10754
+ "auth:forbidden",
10755
+ "resource:not_found",
10756
+ "resource:conflict",
10757
+ "server:internal_error"
10758
+ ]
10742
10759
  }
10743
10760
  });
10744
10761
  }));
@@ -11165,6 +11182,30 @@ var init_newsletterEndpointDefinitions = __esmMin((() => {
11165
11182
  responseKind: "json",
11166
11183
  demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
11167
11184
  },
11185
+ scheduleNewsletterCampaign: {
11186
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/schedule",
11187
+ method: "POST",
11188
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
11189
+ auth: "user",
11190
+ responseKind: "json",
11191
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
11192
+ },
11193
+ unscheduleNewsletterCampaign: {
11194
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/unschedule",
11195
+ method: "POST",
11196
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
11197
+ auth: "user",
11198
+ responseKind: "json",
11199
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
11200
+ },
11201
+ stopNewsletterCampaign: {
11202
+ path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/stop",
11203
+ method: "POST",
11204
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
11205
+ auth: "user",
11206
+ responseKind: "json",
11207
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
11208
+ },
11168
11209
  testSendNewsletterCampaign: {
11169
11210
  path: "/sites/{siteId}/newsletter/campaigns/{campaignId}/test-send",
11170
11211
  method: "POST",
@@ -11176,6 +11217,150 @@ var init_newsletterEndpointDefinitions = __esmMin((() => {
11176
11217
  });
11177
11218
  }));
11178
11219
  //#endregion
11220
+ //#region ../api/src/sdkEventEndpointDefinitions.ts
11221
+ var SDK_EVENT_ENDPOINT_DEFINITIONS;
11222
+ var init_sdkEventEndpointDefinitions = __esmMin((() => {
11223
+ init_defineEndpointDefinitions();
11224
+ SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11225
+ sdkListEvents: {
11226
+ path: "/sdk/{siteId}/events",
11227
+ method: "GET",
11228
+ auth: "service",
11229
+ responseKind: "json"
11230
+ },
11231
+ sdkUpsertEvent: {
11232
+ path: "/sdk/{siteId}/events",
11233
+ method: "POST",
11234
+ auth: "service",
11235
+ responseKind: "json",
11236
+ errors: [
11237
+ "validation:invalid_input",
11238
+ "resource:not_found",
11239
+ "resource:conflict",
11240
+ "billing:plan_limit_exceeded",
11241
+ "server:internal_error"
11242
+ ]
11243
+ },
11244
+ sdkGetEvent: {
11245
+ path: "/sdk/{siteId}/events/{identifier}",
11246
+ method: "GET",
11247
+ auth: "service",
11248
+ responseKind: "json"
11249
+ },
11250
+ sdkDeleteEvent: {
11251
+ path: "/sdk/{siteId}/events/{identifier}",
11252
+ method: "DELETE",
11253
+ auth: "service",
11254
+ responseKind: "json",
11255
+ errors: [
11256
+ "resource:not_found",
11257
+ "resource:conflict",
11258
+ "server:internal_error"
11259
+ ]
11260
+ },
11261
+ sdkTakeEventOffline: {
11262
+ path: "/sdk/{siteId}/events/{identifier}/lifecycle",
11263
+ method: "POST",
11264
+ auth: "service",
11265
+ responseKind: "json",
11266
+ errors: [
11267
+ "resource:not_found",
11268
+ "validation:invalid_input",
11269
+ "resource:conflict",
11270
+ "server:internal_error"
11271
+ ]
11272
+ },
11273
+ sdkListEventOccurrences: {
11274
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
11275
+ method: "GET",
11276
+ auth: "service",
11277
+ responseKind: "json",
11278
+ errors: [
11279
+ "resource:not_found",
11280
+ "validation:invalid_input",
11281
+ "server:internal_error"
11282
+ ]
11283
+ },
11284
+ sdkAddEventOccurrence: {
11285
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences",
11286
+ method: "POST",
11287
+ auth: "service",
11288
+ responseKind: "json",
11289
+ errors: [
11290
+ "resource:not_found",
11291
+ "validation:invalid_input",
11292
+ "resource:conflict",
11293
+ "server:internal_error"
11294
+ ]
11295
+ },
11296
+ sdkUpdateEventOccurrence: {
11297
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
11298
+ method: "PATCH",
11299
+ auth: "service",
11300
+ responseKind: "json",
11301
+ errors: [
11302
+ "resource:not_found",
11303
+ "validation:invalid_input",
11304
+ "resource:conflict",
11305
+ "server:internal_error"
11306
+ ]
11307
+ },
11308
+ sdkCancelEventOccurrence: {
11309
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}/cancel",
11310
+ method: "POST",
11311
+ auth: "service",
11312
+ responseKind: "json",
11313
+ errors: [
11314
+ "resource:not_found",
11315
+ "resource:conflict",
11316
+ "server:internal_error"
11317
+ ]
11318
+ },
11319
+ sdkDeleteEventOccurrence: {
11320
+ path: "/sdk/{siteId}/events/{identifier}/runs/{runIdentifier}/occurrences/{occurrenceId}",
11321
+ method: "DELETE",
11322
+ auth: "service",
11323
+ responseKind: "json",
11324
+ errors: [
11325
+ "resource:not_found",
11326
+ "resource:conflict",
11327
+ "server:internal_error"
11328
+ ]
11329
+ }
11330
+ });
11331
+ }));
11332
+ //#endregion
11333
+ //#region ../api/src/sdkPageDesignEndpointDefinitions.ts
11334
+ var SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS;
11335
+ var init_sdkPageDesignEndpointDefinitions = __esmMin((() => {
11336
+ init_defineEndpointDefinitions();
11337
+ SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11338
+ sdkGetPageDesign: {
11339
+ path: "/sdk/{siteId}/pages/{identifier}/design",
11340
+ method: "GET",
11341
+ auth: "service",
11342
+ responseKind: "json",
11343
+ errors: [
11344
+ "resource:not_found",
11345
+ "validation:invalid_input",
11346
+ "server:internal_error"
11347
+ ]
11348
+ },
11349
+ sdkSavePageDesign: {
11350
+ path: "/sdk/{siteId}/pages/{identifier}/design",
11351
+ method: "POST",
11352
+ auth: "service",
11353
+ responseKind: "json",
11354
+ errors: [
11355
+ "resource:not_found",
11356
+ "validation:invalid_input",
11357
+ "resource:conflict",
11358
+ "server:internal_error"
11359
+ ]
11360
+ }
11361
+ });
11362
+ }));
11363
+ //#endregion
11179
11364
  //#region ../api/src/publicEventEndpointDefinitions.ts
11180
11365
  var PUBLIC_EVENT_ENDPOINT_DEFINITIONS;
11181
11366
  var init_publicEventEndpointDefinitions = __esmMin((() => {
@@ -11419,9 +11604,54 @@ var init_siteApiKeyEndpointDefinitions = __esmMin((() => {
11419
11604
  });
11420
11605
  }));
11421
11606
  //#endregion
11607
+ //#region ../api/src/siteManagementEndpointDefinitions.ts
11608
+ var SITE_MANAGEMENT_ENDPOINT_DEFINITIONS;
11609
+ var init_siteManagementEndpointDefinitions = __esmMin((() => {
11610
+ init_demoMutationPolicies();
11611
+ init_defineEndpointDefinitions();
11612
+ SITE_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11613
+ createSite: {
11614
+ path: "/sites/manage",
11615
+ method: "POST",
11616
+ tags: ["site"],
11617
+ auth: "user",
11618
+ responseKind: "json"
11619
+ },
11620
+ updateSite: {
11621
+ path: "/sites/manage",
11622
+ method: "PUT",
11623
+ tags: ["site"],
11624
+ auth: "user",
11625
+ responseKind: "json"
11626
+ },
11627
+ changeSiteAddress: {
11628
+ path: "/sites/{siteId}/address",
11629
+ method: "PUT",
11630
+ auth: "user",
11631
+ responseKind: "json",
11632
+ demoMutation: DEMO_MUTATION_BLOCKED_DISABLED
11633
+ },
11634
+ getSiteAddressAvailability: {
11635
+ path: "/sites/{siteId}/address/availability",
11636
+ method: "GET",
11637
+ auth: "user",
11638
+ responseKind: "json"
11639
+ },
11640
+ deleteSite: {
11641
+ path: "/sites/{siteId}",
11642
+ method: "DELETE",
11643
+ tags: ["site", "site-{siteId}"],
11644
+ auth: "user",
11645
+ responseKind: "json",
11646
+ demoMutation: DEMO_MUTATION_BLOCKED_HIDDEN
11647
+ }
11648
+ });
11649
+ }));
11650
+ //#endregion
11422
11651
  //#region ../api/src/eventManagementEndpointDefinitions.ts
11423
11652
  var EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS;
11424
11653
  var init_eventManagementEndpointDefinitions = __esmMin((() => {
11654
+ init_cache_tags();
11425
11655
  init_defineEndpointDefinitions();
11426
11656
  EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11427
11657
  listEvents: {
@@ -11469,6 +11699,28 @@ var init_eventManagementEndpointDefinitions = __esmMin((() => {
11469
11699
  "server:internal_error"
11470
11700
  ]
11471
11701
  },
11702
+ /**
11703
+ * The web address of an event's own page. A course page belongs to the
11704
+ * event itself, so its address is written here rather than through a run.
11705
+ */
11706
+ updateEventAddress: {
11707
+ path: "/sites/{siteId}/bookings/events/{eventId}/address",
11708
+ method: "PATCH",
11709
+ tags: [
11710
+ "site-{siteId}",
11711
+ "event-series-{siteId}",
11712
+ TAG_TEMPLATES.siteRoutableContent,
11713
+ TAG_TEMPLATES.siteRedirects
11714
+ ],
11715
+ auth: "user",
11716
+ responseKind: "json",
11717
+ errors: [
11718
+ "validation:invalid_input",
11719
+ "resource:not_found",
11720
+ "resource:conflict",
11721
+ "server:internal_error"
11722
+ ]
11723
+ },
11472
11724
  createWholeSeriesRun: {
11473
11725
  path: "/sites/{siteId}/bookings/events/{eventId}/runs",
11474
11726
  method: "POST",
@@ -11495,6 +11747,20 @@ var init_eventManagementEndpointDefinitions = __esmMin((() => {
11495
11747
  "server:internal_error"
11496
11748
  ]
11497
11749
  },
11750
+ updateCourseBookingSettings: {
11751
+ path: "/sites/{siteId}/bookings/events/{eventId}/booking-settings",
11752
+ method: "PATCH",
11753
+ tags: ["site-{siteId}", "event-series-{siteId}"],
11754
+ auth: "user",
11755
+ responseKind: "json",
11756
+ errors: [
11757
+ "validation:invalid_input",
11758
+ "auth:forbidden",
11759
+ "resource:not_found",
11760
+ "resource:conflict",
11761
+ "server:internal_error"
11762
+ ]
11763
+ },
11498
11764
  cancelWholeSeriesRun: {
11499
11765
  path: "/sites/{siteId}/bookings/events/{eventId}/runs/{runId}/cancellation",
11500
11766
  method: "POST",
@@ -11507,6 +11773,28 @@ var init_eventManagementEndpointDefinitions = __esmMin((() => {
11507
11773
  "resource:conflict",
11508
11774
  "server:internal_error"
11509
11775
  ]
11776
+ },
11777
+ /**
11778
+ * The Content tab's one write: the short introduction, image and
11779
+ * description of an event's page, published without its layout.
11780
+ */
11781
+ saveEventPageWords: {
11782
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
11783
+ method: "PUT",
11784
+ tags: [
11785
+ TAG_TEMPLATES.siteCollection,
11786
+ TAG_TEMPLATES.siteRoutableContent,
11787
+ TAG_TEMPLATES.pageSurfaceById
11788
+ ],
11789
+ auth: "user",
11790
+ responseKind: "json",
11791
+ errors: [
11792
+ "auth:forbidden",
11793
+ "validation:invalid_input",
11794
+ "resource:not_found",
11795
+ "resource:conflict",
11796
+ "server:internal_error"
11797
+ ]
11510
11798
  }
11511
11799
  });
11512
11800
  }));
@@ -11949,6 +12237,42 @@ var init_billingEndpointDefinitions = __esmMin((() => {
11949
12237
  responseKind: "json"
11950
12238
  }
11951
12239
  });
12240
+ })), CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS, CLIENT_ERROR_REPORT_LIMITS, clientErrorEventSchema;
12241
+ var init_clientErrorReporting = __esmMin((() => {
12242
+ init_defineEndpointDefinitions();
12243
+ CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ reportClientError: {
12244
+ path: "/client/error-report",
12245
+ method: "POST",
12246
+ auth: "user",
12247
+ errors: [],
12248
+ responseKind: "json"
12249
+ } });
12250
+ CLIENT_ERROR_REPORT_LIMITS = {
12251
+ pathname: 1024,
12252
+ name: 120,
12253
+ message: 2e3,
12254
+ stack: 8e3,
12255
+ digest: 128,
12256
+ componentStack: 8e3,
12257
+ sourceLocation: 1024
12258
+ };
12259
+ clientErrorEventSchema = z.enum([
12260
+ "dashboard:route-error",
12261
+ "dashboard:app-error",
12262
+ "client:error-boundary",
12263
+ "client:window-error",
12264
+ "client:unhandled-rejection"
12265
+ ]);
12266
+ z.object({
12267
+ event: clientErrorEventSchema,
12268
+ pathname: z.string().startsWith("/").max(CLIENT_ERROR_REPORT_LIMITS.pathname),
12269
+ name: z.string().max(CLIENT_ERROR_REPORT_LIMITS.name),
12270
+ message: z.string().max(CLIENT_ERROR_REPORT_LIMITS.message),
12271
+ stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
12272
+ digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
12273
+ componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
12274
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
12275
+ }).strict();
11952
12276
  }));
11953
12277
  var init_endpoints = __esmMin((() => {
11954
12278
  init_publicNewsletterEndpointDefinitions();
@@ -11959,10 +12283,13 @@ var init_endpoints = __esmMin((() => {
11959
12283
  init_accountEndpointDefinitions();
11960
12284
  init_eventSeriesRegistrationEndpointDefinitions();
11961
12285
  init_newsletterEndpointDefinitions();
12286
+ init_sdkEventEndpointDefinitions();
12287
+ init_sdkPageDesignEndpointDefinitions();
11962
12288
  init_publicEventEndpointDefinitions();
11963
12289
  init_publicEventCheckoutEndpointDefinitions();
11964
12290
  init_publicBookingAvailabilityEndpointDefinitions();
11965
12291
  init_siteApiKeyEndpointDefinitions();
12292
+ init_siteManagementEndpointDefinitions();
11966
12293
  init_eventManagementEndpointDefinitions();
11967
12294
  init_giftingEndpointDefinitions();
11968
12295
  init_sdkEndpointDefinitions();
@@ -11970,19 +12297,22 @@ var init_endpoints = __esmMin((() => {
11970
12297
  init_publicReadEndpointDefinitions();
11971
12298
  init_publicOnboardingAttemptEndpointDefinitions();
11972
12299
  init_billingEndpointDefinitions();
12300
+ init_clientErrorReporting();
11973
12301
  ({
12302
+ ...CLIENT_ERROR_REPORT_ENDPOINT_DEFINITIONS,
11974
12303
  ...PUBLIC_NEWSLETTER_ENDPOINT_DEFINITIONS,
11975
12304
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
11976
12305
  ...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
11977
12306
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
11978
12307
  ...GIFTING_ENDPOINT_DEFINITIONS,
11979
12308
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
11980
- ...BILLING_ENDPOINT_DEFINITIONS
12309
+ ...BILLING_ENDPOINT_DEFINITIONS,
12310
+ ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
11981
12311
  }), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
11982
12312
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
11983
12313
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
11984
12314
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
11985
- }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
12315
+ }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS }, { ...SDK_EVENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
11986
12316
  }));
11987
12317
  var init_preview_auth = __esmMin((() => {
11988
12318
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
@@ -12269,6 +12599,18 @@ var init_contracts$1 = __esmMin((() => {
12269
12599
  z.discriminatedUnion("kind", navigationLinkInputSchemaOptions);
12270
12600
  }));
12271
12601
  //#endregion
12602
+ //#region ../blocks/src/pageRenderAdmission.ts
12603
+ /** Pair a published version with the content it authorises at the render boundary. */
12604
+ function readPublishedBlockPlacement(id, content) {
12605
+ if (id == null && content == null) return null;
12606
+ if (id == null || content == null) throw new Error("Published block placement requires both an ID and content");
12607
+ return {
12608
+ id,
12609
+ content
12610
+ };
12611
+ }
12612
+ var init_pageRenderAdmission = __esmMin((() => {}));
12613
+ //#endregion
12272
12614
  //#region ../blocks/src/subroutes/index.ts
12273
12615
  var init_subroutes = __esmMin((() => {})), BlockKind, blockSchema, pagePath;
12274
12616
  var init_schema$2 = __esmMin((() => {
@@ -20217,10 +20559,16 @@ var init_defaults = __esmMin((() => {
20217
20559
  init_curatedSiteStyles();
20218
20560
  }));
20219
20561
  //#endregion
20562
+ //#region ../theme-core/src/inputs/checkable.ts
20563
+ var init_checkable = __esmMin((() => {
20564
+ init_colorStyles();
20565
+ }));
20566
+ //#endregion
20220
20567
  //#region ../theme-core/src/inputs/generateInputCss.ts
20221
20568
  var init_generateInputCss = __esmMin((() => {
20222
20569
  init_types$10();
20223
20570
  init_colorStyles();
20571
+ init_checkable();
20224
20572
  }));
20225
20573
  //#endregion
20226
20574
  //#region ../theme-core/src/navigation/generateNavLinkCSS.ts
@@ -21136,6 +21484,7 @@ var init_core$2 = __esmMin((() => {
21136
21484
  //#region ../theme-core/src/inputs/core.ts
21137
21485
  var init_core$1 = __esmMin((() => {
21138
21486
  init_colorStyles();
21487
+ init_checkable();
21139
21488
  }));
21140
21489
  var init_buildThemeRuntimeFromBridge = __esmMin((() => {
21141
21490
  init_shadow();
@@ -33442,13 +33791,13 @@ var init_site_footer = __esmMin((() => {
33442
33791
  as: "p",
33443
33792
  className: "rb-caption rb-opacity-70"
33444
33793
  }, bind$1("module.timeZone"), when("module.timeZone"))], when("module.kind", { equals: "opening-hours" }));
33445
- socials = inline({ className: "rb-flex rb-flex-wrap rb-gap-x-5 rb-gap-y-3" }, [link({
33794
+ socials = inline({ className: "rb-footer-socials" }, [link({
33446
33795
  href: { $bind: { from: "social.href" } },
33447
33796
  target: "_blank",
33448
33797
  rel: "noreferrer noopener",
33449
33798
  "aria-label": { $bind: { from: "social.label" } },
33450
- className: "rb-nav-text transition-theme-standard"
33451
- }, [icon({ className: "rb-h-5 rb-w-5" }, bind$1("social.icon"), when("social.icon")), text({ as: "span" }, bind$1("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
33799
+ className: "rb-footer-social-link rb-nav-text transition-theme-standard"
33800
+ }, [icon({ className: "rb-footer-social-icon" }, bind$1("social.icon"), when("social.icon")), text({ as: "span" }, bind$1("social.label"), when("social.icon", { equals: null }))], repeat("module.socialLinks", "social"))], when("module.kind", { equals: "social-links" }));
33452
33801
  authoredCopy = richText({
33453
33802
  className: "rb-prose rb-prose-sm rb-max-w-none",
33454
33803
  style: textColorStyle("text/80")
@@ -43425,16 +43774,21 @@ function buildNewsletterDisplay(source) {
43425
43774
  }
43426
43775
  function projectNewsletterFormHydrationTarget(source) {
43427
43776
  switch (source.source) {
43428
- case "block": {
43429
- const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
43430
- if (sourceRef?.tag === "block_ref") return {
43777
+ case "block": switch (source.newsletterBlockSubmission.tag) {
43778
+ case "unpublished-form":
43779
+ case "unpublished-settings": return {
43780
+ tag: "unpublished-preview",
43781
+ reason: source.newsletterBlockSubmission.tag
43782
+ };
43783
+ case "ready": return {
43431
43784
  tag: "block-source",
43432
- sourceRef
43785
+ sourceRef: source.newsletterBlockSubmission.sourceRef
43433
43786
  };
43434
- return {
43787
+ case "unavailable": return {
43435
43788
  tag: "block-source",
43436
43789
  sourceRef: null
43437
43790
  };
43791
+ default: return assertNever$4(source.newsletterBlockSubmission);
43438
43792
  }
43439
43793
  case "signed-footer": return {
43440
43794
  tag: "signed-footer-source",
@@ -43509,7 +43863,7 @@ function parseRequiredMailingListSignedSourceToken(value) {
43509
43863
  if (!parsed) throw new Error("Mailing-list signup signed source ref requires token");
43510
43864
  return parsed;
43511
43865
  }
43512
- var newsletterButtonVariantSchema, mailingListContextSchema, mailingListTargetingSchema, newsletterFieldSchema, mailingListSignupBlockIdSchema, mailingListContentVersionIdSchema, signedMailingListSourceTokenSchema, newsletterSourceCommonSchema, newsletterSourceSchema, newsletterDisplaySchema, newsletterHydrationSchema, newsletterRenderSchema, newsletterFormBlockRuntime;
43866
+ var newsletterButtonVariantSchema, mailingListContextSchema, mailingListTargetingSchema, newsletterFieldSchema, mailingListSignupBlockIdSchema, mailingListContentVersionIdSchema, mailingListSignupBlockSourceRefSchema, signedMailingListSourceTokenSchema, newsletterSourceCommonSchema, newsletterSourceSchema, newsletterDisplaySchema, newsletterHydrationSchema, newsletterRenderSchema, newsletterFormBlockRuntime;
43513
43867
  var init_newsletter_form_interactive = __esmMin((() => {
43514
43868
  init_src$4();
43515
43869
  init_islands();
@@ -43556,6 +43910,11 @@ var init_newsletter_form_interactive = __esmMin((() => {
43556
43910
  });
43557
43911
  return z.NEVER;
43558
43912
  });
43913
+ mailingListSignupBlockSourceRefSchema = z.object({
43914
+ tag: z.literal("block_ref"),
43915
+ blockId: mailingListSignupBlockIdSchema,
43916
+ contentVersionId: mailingListContentVersionIdSchema
43917
+ });
43559
43918
  signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
43560
43919
  newsletterSourceCommonSchema = z.object({
43561
43920
  siteId: z.string().optional(),
@@ -43570,7 +43929,15 @@ var init_newsletter_form_interactive = __esmMin((() => {
43570
43929
  newsletterSourceCommonSchema.extend({
43571
43930
  source: z.literal("block"),
43572
43931
  blockId: z.string().nullable().optional(),
43573
- contentVersionId: z.string().nullable().optional()
43932
+ newsletterBlockSubmission: z.discriminatedUnion("tag", [
43933
+ z.object({
43934
+ tag: z.literal("ready"),
43935
+ sourceRef: mailingListSignupBlockSourceRefSchema
43936
+ }),
43937
+ z.object({ tag: z.literal("unpublished-form") }),
43938
+ z.object({ tag: z.literal("unpublished-settings") }),
43939
+ z.object({ tag: z.literal("unavailable") })
43940
+ ])
43574
43941
  }),
43575
43942
  newsletterSourceCommonSchema.extend({
43576
43943
  source: z.literal("signed-footer"),
@@ -43599,11 +43966,7 @@ var init_newsletter_form_interactive = __esmMin((() => {
43599
43966
  target: z.discriminatedUnion("tag", [
43600
43967
  z.object({
43601
43968
  tag: z.literal("block-source"),
43602
- sourceRef: z.object({
43603
- tag: z.literal("block_ref"),
43604
- blockId: mailingListSignupBlockIdSchema,
43605
- contentVersionId: mailingListContentVersionIdSchema
43606
- }).nullable()
43969
+ sourceRef: mailingListSignupBlockSourceRefSchema.nullable()
43607
43970
  }),
43608
43971
  z.object({
43609
43972
  tag: z.literal("signed-footer-source"),
@@ -43612,7 +43975,11 @@ var init_newsletter_form_interactive = __esmMin((() => {
43612
43975
  token: signedMailingListSourceTokenSchema
43613
43976
  })
43614
43977
  }),
43615
- z.object({ tag: z.literal("preview") })
43978
+ z.object({ tag: z.literal("preview") }),
43979
+ z.object({
43980
+ tag: z.literal("unpublished-preview"),
43981
+ reason: z.enum(["unpublished-form", "unpublished-settings"])
43982
+ })
43616
43983
  ]),
43617
43984
  setupRevision: z.number().int().positive().nullable(),
43618
43985
  choiceProvider: z.enum([
@@ -46685,6 +47052,7 @@ var init_data = __esmMin((() => {
46685
47052
  //#endregion
46686
47053
  //#region ../blocks/src/index.ts
46687
47054
  var init_src$2 = __esmMin((() => {
47055
+ init_pageRenderAdmission();
46688
47056
  init_subroutes();
46689
47057
  init_schema$2();
46690
47058
  init_palette();
@@ -47036,10 +47404,47 @@ var init_siteOnboarding = __esmMin((() => {
47036
47404
  //#region ../api/src/launchReadiness.ts
47037
47405
  var init_launchReadiness = __esmMin((() => {
47038
47406
  init_siteOnboarding();
47039
- })), SURFACE_IDS, DEFAULT_SURFACE_ID, NAMED_SURFACE_IDS;
47407
+ }));
47408
+ //#endregion
47409
+ //#region ../surfaces/src/index.ts
47410
+ function surfaceHostTableValues(table) {
47411
+ return Object.values(table).flatMap((byTier) => Object.values(byTier).flat());
47412
+ }
47413
+ function siteSlugLabelUnderRoot(host, siteRootHost) {
47414
+ if (!host.endsWith(`.${siteRootHost}`)) return [];
47415
+ return host.slice(0, host.length - siteRootHost.length - 1).split(".").slice(-1);
47416
+ }
47417
+ function deriveSurfaceOwnedSiteSlugs() {
47418
+ const siteRootHosts = [...surfaceHostTableValues(SURFACE_SITE_ROOT_HOSTS), ...surfaceHostTableValues(SURFACE_SITE_ROOT_HOST_ALIASES)];
47419
+ const labels = [...surfaceHostTableValues(SURFACE_ROOT_HOSTS), ...siteRootHosts].flatMap((host) => siteRootHosts.flatMap((root) => siteSlugLabelUnderRoot(host, root)));
47420
+ return [...new Set(labels)].sort();
47421
+ }
47422
+ var SURFACE_IDS, DEFAULT_SURFACE_ID, SURFACE_ROOT_HOSTS, SURFACE_SITE_ROOT_HOSTS, SURFACE_SITE_ROOT_HOST_ALIASES, NAMED_SURFACE_IDS;
47040
47423
  var init_src$1 = __esmMin((() => {
47041
47424
  SURFACE_IDS = ["core", "macadamia"];
47042
47425
  DEFAULT_SURFACE_ID = "core";
47426
+ SURFACE_ROOT_HOSTS = {
47427
+ core: {
47428
+ local: "localhost",
47429
+ prod: "riverbankcms.com"
47430
+ },
47431
+ macadamia: {
47432
+ local: "macadamia.localhost",
47433
+ prod: "macadamia.studio"
47434
+ }
47435
+ };
47436
+ SURFACE_SITE_ROOT_HOSTS = {
47437
+ core: {
47438
+ local: "localhost",
47439
+ prod: "riverbanksites.com"
47440
+ },
47441
+ macadamia: {
47442
+ local: "macadamia.localhost",
47443
+ prod: "macadamia.studio"
47444
+ }
47445
+ };
47446
+ SURFACE_SITE_ROOT_HOST_ALIASES = { core: { prod: ["preview.riverbanksites.com"] } };
47447
+ deriveSurfaceOwnedSiteSlugs();
47043
47448
  NAMED_SURFACE_IDS = SURFACE_IDS.filter((surfaceId) => surfaceId !== DEFAULT_SURFACE_ID);
47044
47449
  [...NAMED_SURFACE_IDS];
47045
47450
  }));
@@ -47854,6 +48259,11 @@ var init_pages = __esmMin((() => {
47854
48259
  var init_routes = __esmMin((() => {
47855
48260
  init_envelope();
47856
48261
  init_error_propagation();
48262
+ })), EVENT_VISIBILITY_VALUES, EVENT_VISIBILITY_ERROR_MESSAGE;
48263
+ var init_event_visibility = __esmMin((() => {
48264
+ EVENT_VISIBILITY_VALUES = ["public", "unlisted"];
48265
+ EVENT_VISIBILITY_ERROR_MESSAGE = "visibility must be 'public' or 'unlisted'";
48266
+ z.enum(EVENT_VISIBILITY_VALUES, { error: EVENT_VISIBILITY_ERROR_MESSAGE });
47857
48267
  })), bookingDepositRefundPolicySchema, bookingInstalmentPlanSchema, bookingFlexibleBalanceDueDateRuleSchema, bookingFlexibleBalanceConfigSchema;
47858
48268
  var init_bookingPaymentTermSchemas = __esmMin((() => {
47859
48269
  bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
@@ -48122,6 +48532,7 @@ var init_auth = __esmMin((() => {
48122
48532
  //#region ../api/src/index.ts
48123
48533
  var init_src = __esmMin((() => {
48124
48534
  init_endpoints();
48535
+ init_clientErrorReporting();
48125
48536
  init_preview_auth();
48126
48537
  init_footerSettings();
48127
48538
  init_accountEndpoints();
@@ -48157,6 +48568,7 @@ var init_src = __esmMin((() => {
48157
48568
  init_pages();
48158
48569
  init_routes();
48159
48570
  init_appointmentServiceContracts();
48571
+ init_event_visibility();
48160
48572
  init_bookingPaymentTermSchemas();
48161
48573
  init_bookingRecords();
48162
48574
  init_emailSettings();
@@ -48627,21 +49039,39 @@ function buildSiteRenderSupport(site, mediaAssets) {
48627
49039
  function collectMediaAssetSidecar(mediaAssets) {
48628
49040
  return Array.isArray(mediaAssets) && mediaAssets.length > 0 ? mediaAssets : void 0;
48629
49041
  }
48630
- function convertPageResponseBlock(block) {
49042
+ function readBlockContentId(value, name) {
49043
+ if (value === null || value === void 0) return null;
49044
+ if (typeof value === "string") return value;
49045
+ throw new Error(`Invalid ${name} in page: expected string or null`);
49046
+ }
49047
+ function readTransportedBlockIdentity(block, kind, stage) {
49048
+ return {
49049
+ draftContentId: readBlockContentId(block.draftContentId, "draft content id"),
49050
+ publishedPlacement: stage === "preview" ? readPublishedBlockPlacement(readBlockContentId(block.publishedContentId, "published content id"), sanitizeNullableSdkRuntimeBlockContent(kind, readNestedContentRecord(block.publishedContent))) : null
49051
+ };
49052
+ }
49053
+ function convertPageResponseBlock(block, stage) {
48631
49054
  if (!isRecord(block)) throw new Error("Invalid block format in page API response");
49055
+ const header = readTransportedBlockHeader(block);
49056
+ const admission = readInvalidBlockAdmission(block.admission);
49057
+ return {
49058
+ ...header,
49059
+ ...readTransportedBlockIdentity(block, header.kind, stage),
49060
+ content: sanitizeSdkRuntimeBlockContent(header.kind, readContentRecord(block.content) ?? {}),
49061
+ draftContent: sanitizeNullableSdkRuntimeBlockContent(header.kind, readNestedContentRecord(block.draftContent)),
49062
+ ...admission ? { admission } : {}
49063
+ };
49064
+ }
49065
+ function readTransportedBlockHeader(block) {
48632
49066
  if (typeof block.id !== "string" && block.id !== null) throw new Error(`Invalid block id in page: expected string or null, got ${typeof block.id}`);
48633
49067
  if (typeof block.kind !== "string") throw new Error(`Invalid block kind in page: expected string, got ${typeof block.kind}`);
48634
49068
  if (typeof block.purpose !== "string") throw new Error(`Invalid block purpose in page: expected string, got ${typeof block.purpose}`);
48635
49069
  if (block.contentVersionId !== void 0 && block.contentVersionId !== null && typeof block.contentVersionId !== "string") throw new Error(`Invalid content version id in page: expected string or null, got ${typeof block.contentVersionId}`);
48636
- const admission = readInvalidBlockAdmission(block.admission);
48637
49070
  return {
48638
49071
  id: block.id,
48639
49072
  ...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
48640
49073
  kind: block.kind,
48641
- purpose: block.purpose,
48642
- content: sanitizeSdkRuntimeBlockContent(block.kind, readContentRecord(block.content) ?? {}),
48643
- draftContent: sanitizeNullableSdkRuntimeBlockContent(block.kind, readNestedContentRecord(block.draftContent)),
48644
- ...admission ? { admission } : {}
49074
+ purpose: block.purpose
48645
49075
  };
48646
49076
  }
48647
49077
  function readInvalidBlockAdmission(value) {
@@ -48654,7 +49084,7 @@ function buildPageOutline(input) {
48654
49084
  name: input.name,
48655
49085
  path: input.path ?? input.fallbackPath,
48656
49086
  purpose: input.purpose,
48657
- blocks: input.blocks.map(convertPageResponseBlock)
49087
+ blocks: input.blocks.map((block) => convertPageResponseBlock(block, input.previewStage))
48658
49088
  };
48659
49089
  }
48660
49090
  function buildRenderablePageOutline(input) {
@@ -48680,6 +49110,8 @@ function projectRenderablePageOutline(page) {
48680
49110
  function admitSdkRuntimePageBlock(block, customBlocks) {
48681
49111
  const base = {
48682
49112
  id: block.id,
49113
+ draftContentId: block.draftContentId,
49114
+ publishedPlacement: block.publishedPlacement,
48683
49115
  ...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
48684
49116
  kind: block.kind,
48685
49117
  purpose: block.purpose,
@@ -48841,23 +49273,23 @@ async function loadPageWithDeps(deps, params) {
48841
49273
  if ("pageSurface" in pageResponse) throw new Error("This path resolves to a page surface, not a page. Use loadContent() instead, which handles pages, entries, and page surfaces.");
48842
49274
  const { page: pageData } = pageResponse;
48843
49275
  const support = buildSiteRenderSupport(site, collectMediaAssetSidecar(pageResponse.mediaAssets));
49276
+ const previewStage = preview ? "preview" : "published";
48844
49277
  const pageOutline = buildRenderablePageOutline({
48845
49278
  name: pageData.name,
48846
49279
  path: pageData.path,
48847
49280
  fallbackPath: path,
48848
49281
  purpose: pageData.purpose,
48849
49282
  blocks: pageData.blocks,
49283
+ previewStage,
48850
49284
  customBlocks: support.customBlocks
48851
49285
  });
48852
- const previewStage = preview ? "preview" : "published";
48853
- const renderTarget = {
48854
- kind: "page",
48855
- pageId: pageId ?? pageData.id
48856
- };
48857
49286
  const resolvedData = await resolveBlockDataWithDeps(deps, {
48858
49287
  page: projectRenderablePageOutline(pageOutline),
48859
49288
  siteId,
48860
- renderTarget,
49289
+ renderTarget: {
49290
+ kind: "page",
49291
+ pageId: pageId ?? pageData.id
49292
+ },
48861
49293
  previewStage,
48862
49294
  policy: createBlockDataLoadPolicy(dataLoaderOverrides, normalizeDataLoaderSearchParams(searchParams)),
48863
49295
  client,
@@ -48870,6 +49302,7 @@ async function loadPageWithDeps(deps, params) {
48870
49302
  sdkConfig: support.sdkConfig,
48871
49303
  siteId,
48872
49304
  resolvedData,
49305
+ dataContext: { previewStage },
48873
49306
  bookingOfferingPresets: support.bookingOfferingPresets,
48874
49307
  mailingList: support.mailingList,
48875
49308
  bookingTimeZone: support.bookingTimeZone,