@riverbankcms/sdk 0.143.0 → 0.144.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/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-CQZNnFiM.mjs} +19 -25
  2. package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-DCNxnmI0.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-BJolUbr1.mjs} +15 -6
  4. package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CKgEpoxi.mjs} +1915 -1463
  5. package/dist/_dts/api/src/billing.d.ts +1 -1
  6. package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
  7. package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
  8. package/dist/_dts/api/src/index.d.ts +1 -1
  9. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
  10. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
  11. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  12. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
  13. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
  14. package/dist/_dts/api/src/siteSettings.d.ts +17 -7
  15. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  16. package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
  17. package/dist/_dts/block-form/src/client/index.d.ts +1 -0
  18. package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
  19. package/dist/_dts/block-form/src/context/index.d.ts +1 -0
  20. package/dist/_dts/block-form/src/index.d.ts +1 -0
  21. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
  22. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
  23. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
  25. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
  26. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
  27. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +34 -10
  29. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
  30. package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
  31. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
  32. package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
  33. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
  34. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
  35. package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
  36. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
  37. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
  38. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
  39. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
  40. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
  42. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
  43. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
  53. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
  54. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
  56. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
  59. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
  63. package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
  64. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  65. package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
  66. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  67. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
  68. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
  69. package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
  70. package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
  71. package/dist/_dts/core/src/index.d.ts +2 -0
  72. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +13 -0
  73. package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
  74. package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
  75. package/dist/_dts/logger/src/console.d.ts +3 -0
  76. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
  77. package/dist/_dts/sdk/src/client/types.d.ts +3 -0
  78. package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
  79. package/dist/_dts/sdk/src/public-api/contracts.d.ts +15 -7
  80. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  81. package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
  82. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
  83. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
  84. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  85. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
  86. package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
  87. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  88. package/dist/_dts/sdk/src/version.d.ts +1 -1
  89. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
  91. package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
  92. package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  95. package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
  96. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
  97. package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
  98. package/dist/_dts/ui/src/index.d.ts +1 -0
  99. package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DoAILrkN.mjs} +4 -55
  100. package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-X528hUTf.mjs} +27 -17
  101. package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DSBVwq5m.mjs} +54 -46
  102. package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-DmFAX7Vb.mjs} +3 -4
  103. package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-BAqXdfhq.mjs} +1 -1
  104. package/dist/client/ThemedButton-BwNFVwi4.mjs +412 -0
  105. package/dist/client/{accordion-DOmnDoyg.mjs → accordion-DRhMdkbd.mjs} +1 -1
  106. package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-iJ_nCsNF.mjs} +26 -32
  107. package/dist/client/bookings.mjs +201 -118
  108. package/dist/client/{carousel-BZJ7pno3.mjs → carousel-D8zuffZr.mjs} +2 -2
  109. package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
  110. package/dist/client/{cart-CaeVAHJl.mjs → cart-DeMGJViN.mjs} +3 -3
  111. package/dist/client/{checkout-7wmoNDtG.mjs → checkout-DXc06Km2.mjs} +3 -3
  112. package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
  113. package/dist/client/client.mjs +2271 -1983
  114. package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
  115. package/dist/client/{context-BOimxE3U.mjs → context-CDLCfDep.mjs} +24 -8
  116. package/dist/client/{dates-BnzVksi4.mjs → dates-ClFx7Epy.mjs} +2 -2
  117. package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BaGpnOGN.mjs} +39 -50
  118. package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-ywONOx2m.mjs} +5 -4
  119. package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-B2LlOTYY.mjs} +4 -4
  120. package/dist/client/{eventListing-dph8loYX.mjs → eventListing-CMgxWpqP.mjs} +5 -4
  121. package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-BarLDNHR.mjs} +83 -68
  122. package/dist/client/{form-BLVVAnd3.mjs → form-BjqKaBJ7.mjs} +9 -10
  123. package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-CP4XDwz1.mjs} +23 -30
  124. package/dist/client/hooks.mjs +257 -63
  125. package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-C5gW-d-w.mjs} +9 -10
  126. package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
  127. package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-afXlVSA0.mjs} +8 -9
  128. package/dist/client/{pricing-ChinRYFt.mjs → pricing-Bl1CAl28.mjs} +1 -1
  129. package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-CvQ3jWQe.mjs} +3 -3
  130. package/dist/client/{productList-OoINA0h1.mjs → productList-U874PGO7.mjs} +3 -3
  131. package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-DPXtCZWP.mjs} +87 -29
  132. package/dist/client/rendering/client.mjs +1891 -1740
  133. package/dist/client/rendering/islands.mjs +19 -19
  134. package/dist/client/rendering.mjs +2225 -1913
  135. package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-NGYiUWXu.mjs} +8 -1
  136. package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-0-C3DVhK.mjs} +1 -1
  137. package/dist/client/{shop-CLJFqNIq.mjs → shop-BXjXhM9P.mjs} +45 -58
  138. package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-BZ6UlWJ7.mjs} +42 -55
  139. package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-DlSBXb3D.mjs} +1 -1
  140. package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-kkEOiLPA.mjs} +6 -5
  141. package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-zvnnE1ro.mjs} +66 -355
  142. package/dist/preview-next/client/runtime.mjs +3 -3
  143. package/dist/preview-next/editor-chrome.css +8 -0
  144. package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-DFJlQt3q.mjs} +1 -1
  145. package/dist/{separator-BTp96X32.mjs → separator-o8GHb1xh.mjs} +1 -1
  146. package/dist/server/components.mjs +828 -623
  147. package/dist/server/config-validation.mjs +257 -63
  148. package/dist/server/config.mjs +257 -63
  149. package/dist/server/data.mjs +257 -63
  150. package/dist/server/index.mjs +9 -5
  151. package/dist/server/navigation.mjs +28 -1
  152. package/dist/server/next.mjs +14129 -13947
  153. package/dist/server/page-converter.mjs +110 -59
  154. package/dist/server/prebuild.mjs +1 -1
  155. package/dist/server/rendering/server.mjs +832 -624
  156. package/dist/server/rendering.mjs +830 -624
  157. package/dist/server/routing.mjs +294 -69
  158. package/dist/server/server.mjs +266 -68
  159. package/dist/server/theme-bridge.mjs +40 -1
  160. package/dist/styles/index.css +6 -0
  161. package/package.json +1 -1
@@ -181,6 +181,7 @@ export declare const proofBlockIslandCodecs: {
181
181
  apiBaseUrl?: string;
182
182
  portalToken?: string | null;
183
183
  previewToken?: string | null;
184
+ readAuthority?: import("../api").BrowserReadAuthority;
184
185
  stage?: "preview" | "published";
185
186
  }> & {
186
187
  renderKind: "client-owned";
@@ -198,6 +199,7 @@ export declare const proofBlockIslandCodecs: {
198
199
  apiBaseUrl?: string;
199
200
  portalToken?: string | null;
200
201
  previewToken?: string | null;
202
+ readAuthority?: import("../api").BrowserReadAuthority;
201
203
  stage?: "preview" | "published";
202
204
  }> & {
203
205
  renderKind: "client-owned";
@@ -263,6 +265,7 @@ export declare const proofBlockIslandCodecs: {
263
265
  encode: (value: Readonly<Readonly<{
264
266
  siteId: string;
265
267
  apiBaseUrl?: string;
268
+ readAuthority?: import("../api").BrowserReadAuthority;
266
269
  stage?: "preview" | "published";
267
270
  }> & {
268
271
  renderKind: "progressive";
@@ -288,7 +291,6 @@ export declare const proofBlockIslandCodecs: {
288
291
  }>;
289
292
  hydration: Readonly<{
290
293
  siteId: string;
291
- stage?: "preview" | "published";
292
294
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
293
295
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
294
296
  showFilters: boolean;
@@ -309,6 +311,7 @@ export declare const proofBlockIslandCodecs: {
309
311
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
310
312
  siteId: string;
311
313
  apiBaseUrl?: string;
314
+ readAuthority?: import("../api").BrowserReadAuthority;
312
315
  stage?: "preview" | "published";
313
316
  }> & {
314
317
  renderKind: "progressive";
@@ -334,7 +337,6 @@ export declare const proofBlockIslandCodecs: {
334
337
  }>;
335
338
  hydration: Readonly<{
336
339
  siteId: string;
337
- stage?: "preview" | "published";
338
340
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
339
341
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
340
342
  showFilters: boolean;
@@ -357,6 +359,7 @@ export declare const proofBlockIslandCodecs: {
357
359
  encode: (value: Readonly<Readonly<{
358
360
  siteId: string;
359
361
  apiBaseUrl?: string;
362
+ readAuthority?: import("../api").BrowserReadAuthority;
360
363
  stage?: "preview" | "published";
361
364
  }> & {
362
365
  renderKind: "progressive";
@@ -367,7 +370,6 @@ export declare const proofBlockIslandCodecs: {
367
370
  hydration: Readonly<{
368
371
  calendarWindow?: import(".").CalendarWindowPage;
369
372
  siteId: string;
370
- stage?: "preview" | "published";
371
373
  prefetchedEvents: boolean;
372
374
  eventSurface: import("..").EventSurfaceScope;
373
375
  filterEventPresets: string | null;
@@ -386,6 +388,7 @@ export declare const proofBlockIslandCodecs: {
386
388
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
387
389
  siteId: string;
388
390
  apiBaseUrl?: string;
391
+ readAuthority?: import("../api").BrowserReadAuthority;
389
392
  stage?: "preview" | "published";
390
393
  }> & {
391
394
  renderKind: "progressive";
@@ -396,7 +399,6 @@ export declare const proofBlockIslandCodecs: {
396
399
  hydration: Readonly<{
397
400
  calendarWindow?: import(".").CalendarWindowPage;
398
401
  siteId: string;
399
- stage?: "preview" | "published";
400
402
  prefetchedEvents: boolean;
401
403
  eventSurface: import("..").EventSurfaceScope;
402
404
  filterEventPresets: string | null;
@@ -533,6 +535,7 @@ export declare const proofBlockIslandCodecs: {
533
535
  encode: (value: Readonly<Readonly<{
534
536
  siteId?: string;
535
537
  apiBaseUrl?: string;
538
+ readAuthority?: import("../api").BrowserReadAuthority;
536
539
  stage?: "preview" | "published";
537
540
  }> & {
538
541
  renderKind: "progressive";
@@ -579,6 +582,7 @@ export declare const proofBlockIslandCodecs: {
579
582
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
580
583
  siteId?: string;
581
584
  apiBaseUrl?: string;
585
+ readAuthority?: import("../api").BrowserReadAuthority;
582
586
  stage?: "preview" | "published";
583
587
  }> & {
584
588
  renderKind: "progressive";
@@ -627,6 +631,7 @@ export declare const proofBlockIslandCodecs: {
627
631
  encode: (value: Readonly<Readonly<{
628
632
  siteId?: string;
629
633
  apiBaseUrl?: string;
634
+ readAuthority?: import("../api").BrowserReadAuthority;
630
635
  stage?: "preview" | "published";
631
636
  }> & {
632
637
  renderKind: "progressive";
@@ -646,6 +651,7 @@ export declare const proofBlockIslandCodecs: {
646
651
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
647
652
  siteId?: string;
648
653
  apiBaseUrl?: string;
654
+ readAuthority?: import("../api").BrowserReadAuthority;
649
655
  stage?: "preview" | "published";
650
656
  }> & {
651
657
  renderKind: "progressive";
@@ -667,6 +673,7 @@ export declare const proofBlockIslandCodecs: {
667
673
  encode: (value: Readonly<Readonly<{
668
674
  siteId?: string;
669
675
  apiBaseUrl?: string;
676
+ readAuthority?: import("../api").BrowserReadAuthority;
670
677
  stage?: "preview" | "published";
671
678
  }> & {
672
679
  renderKind: "client-owned";
@@ -701,6 +708,7 @@ export declare const proofBlockIslandCodecs: {
701
708
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
702
709
  siteId?: string;
703
710
  apiBaseUrl?: string;
711
+ readAuthority?: import("../api").BrowserReadAuthority;
704
712
  stage?: "preview" | "published";
705
713
  }> & {
706
714
  renderKind: "client-owned";
@@ -737,6 +745,7 @@ export declare const proofBlockIslandCodecs: {
737
745
  encode: (value: Readonly<Readonly<{
738
746
  siteId?: string;
739
747
  apiBaseUrl?: string;
748
+ readAuthority?: import("../api").BrowserReadAuthority;
740
749
  stage?: "preview" | "published";
741
750
  }> & {
742
751
  renderKind: "client-owned";
@@ -760,6 +769,7 @@ export declare const proofBlockIslandCodecs: {
760
769
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
761
770
  siteId?: string;
762
771
  apiBaseUrl?: string;
772
+ readAuthority?: import("../api").BrowserReadAuthority;
763
773
  stage?: "preview" | "published";
764
774
  }> & {
765
775
  renderKind: "client-owned";
@@ -785,6 +795,7 @@ export declare const proofBlockIslandCodecs: {
785
795
  encode: (value: Readonly<Readonly<{
786
796
  siteId?: string;
787
797
  apiBaseUrl?: string;
798
+ readAuthority?: import("../api").BrowserReadAuthority;
788
799
  stage?: "preview" | "published";
789
800
  }> & {
790
801
  renderKind: "progressive";
@@ -836,6 +847,7 @@ export declare const proofBlockIslandCodecs: {
836
847
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
837
848
  siteId?: string;
838
849
  apiBaseUrl?: string;
850
+ readAuthority?: import("../api").BrowserReadAuthority;
839
851
  stage?: "preview" | "published";
840
852
  }> & {
841
853
  renderKind: "progressive";
@@ -891,6 +903,7 @@ export declare const runtimeIslandCodecs: {
891
903
  encode: (value: Readonly<Readonly<{
892
904
  siteId: string;
893
905
  apiBaseUrl?: string;
906
+ readAuthority?: import("../api").BrowserReadAuthority;
894
907
  stage?: "preview" | "published";
895
908
  }> & {
896
909
  renderKind: "progressive";
@@ -901,7 +914,6 @@ export declare const runtimeIslandCodecs: {
901
914
  hydration: Readonly<{
902
915
  calendarWindow?: import(".").CalendarWindowPage;
903
916
  siteId: string;
904
- stage?: "preview" | "published";
905
917
  prefetchedEvents: boolean;
906
918
  eventSurface: import("..").EventSurfaceScope;
907
919
  filterEventPresets: string | null;
@@ -920,6 +932,7 @@ export declare const runtimeIslandCodecs: {
920
932
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
921
933
  siteId: string;
922
934
  apiBaseUrl?: string;
935
+ readAuthority?: import("../api").BrowserReadAuthority;
923
936
  stage?: "preview" | "published";
924
937
  }> & {
925
938
  renderKind: "progressive";
@@ -930,7 +943,6 @@ export declare const runtimeIslandCodecs: {
930
943
  hydration: Readonly<{
931
944
  calendarWindow?: import(".").CalendarWindowPage;
932
945
  siteId: string;
933
- stage?: "preview" | "published";
934
946
  prefetchedEvents: boolean;
935
947
  eventSurface: import("..").EventSurfaceScope;
936
948
  filterEventPresets: string | null;
@@ -1119,6 +1131,7 @@ export declare const runtimeIslandCodecs: {
1119
1131
  apiBaseUrl?: string;
1120
1132
  portalToken?: string | null;
1121
1133
  previewToken?: string | null;
1134
+ readAuthority?: import("../api").BrowserReadAuthority;
1122
1135
  stage?: "preview" | "published";
1123
1136
  }> & {
1124
1137
  renderKind: "client-owned";
@@ -1136,6 +1149,7 @@ export declare const runtimeIslandCodecs: {
1136
1149
  apiBaseUrl?: string;
1137
1150
  portalToken?: string | null;
1138
1151
  previewToken?: string | null;
1152
+ readAuthority?: import("../api").BrowserReadAuthority;
1139
1153
  stage?: "preview" | "published";
1140
1154
  }> & {
1141
1155
  renderKind: "client-owned";
@@ -1201,6 +1215,7 @@ export declare const runtimeIslandCodecs: {
1201
1215
  encode: (value: Readonly<Readonly<{
1202
1216
  siteId: string;
1203
1217
  apiBaseUrl?: string;
1218
+ readAuthority?: import("../api").BrowserReadAuthority;
1204
1219
  stage?: "preview" | "published";
1205
1220
  }> & {
1206
1221
  renderKind: "progressive";
@@ -1226,7 +1241,6 @@ export declare const runtimeIslandCodecs: {
1226
1241
  }>;
1227
1242
  hydration: Readonly<{
1228
1243
  siteId: string;
1229
- stage?: "preview" | "published";
1230
1244
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
1231
1245
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
1232
1246
  showFilters: boolean;
@@ -1247,6 +1261,7 @@ export declare const runtimeIslandCodecs: {
1247
1261
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1248
1262
  siteId: string;
1249
1263
  apiBaseUrl?: string;
1264
+ readAuthority?: import("../api").BrowserReadAuthority;
1250
1265
  stage?: "preview" | "published";
1251
1266
  }> & {
1252
1267
  renderKind: "progressive";
@@ -1272,7 +1287,6 @@ export declare const runtimeIslandCodecs: {
1272
1287
  }>;
1273
1288
  hydration: Readonly<{
1274
1289
  siteId: string;
1275
- stage?: "preview" | "published";
1276
1290
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
1277
1291
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
1278
1292
  showFilters: boolean;
@@ -1295,6 +1309,7 @@ export declare const runtimeIslandCodecs: {
1295
1309
  encode: (value: Readonly<Readonly<{
1296
1310
  siteId: string;
1297
1311
  apiBaseUrl?: string;
1312
+ readAuthority?: import("../api").BrowserReadAuthority;
1298
1313
  stage?: "preview" | "published";
1299
1314
  }> & {
1300
1315
  renderKind: "progressive";
@@ -1305,7 +1320,6 @@ export declare const runtimeIslandCodecs: {
1305
1320
  hydration: Readonly<{
1306
1321
  calendarWindow?: import(".").CalendarWindowPage;
1307
1322
  siteId: string;
1308
- stage?: "preview" | "published";
1309
1323
  prefetchedEvents: boolean;
1310
1324
  eventSurface: import("..").EventSurfaceScope;
1311
1325
  filterEventPresets: string | null;
@@ -1324,6 +1338,7 @@ export declare const runtimeIslandCodecs: {
1324
1338
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1325
1339
  siteId: string;
1326
1340
  apiBaseUrl?: string;
1341
+ readAuthority?: import("../api").BrowserReadAuthority;
1327
1342
  stage?: "preview" | "published";
1328
1343
  }> & {
1329
1344
  renderKind: "progressive";
@@ -1334,7 +1349,6 @@ export declare const runtimeIslandCodecs: {
1334
1349
  hydration: Readonly<{
1335
1350
  calendarWindow?: import(".").CalendarWindowPage;
1336
1351
  siteId: string;
1337
- stage?: "preview" | "published";
1338
1352
  prefetchedEvents: boolean;
1339
1353
  eventSurface: import("..").EventSurfaceScope;
1340
1354
  filterEventPresets: string | null;
@@ -1471,6 +1485,7 @@ export declare const runtimeIslandCodecs: {
1471
1485
  encode: (value: Readonly<Readonly<{
1472
1486
  siteId?: string;
1473
1487
  apiBaseUrl?: string;
1488
+ readAuthority?: import("../api").BrowserReadAuthority;
1474
1489
  stage?: "preview" | "published";
1475
1490
  }> & {
1476
1491
  renderKind: "progressive";
@@ -1517,6 +1532,7 @@ export declare const runtimeIslandCodecs: {
1517
1532
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1518
1533
  siteId?: string;
1519
1534
  apiBaseUrl?: string;
1535
+ readAuthority?: import("../api").BrowserReadAuthority;
1520
1536
  stage?: "preview" | "published";
1521
1537
  }> & {
1522
1538
  renderKind: "progressive";
@@ -1565,6 +1581,7 @@ export declare const runtimeIslandCodecs: {
1565
1581
  encode: (value: Readonly<Readonly<{
1566
1582
  siteId?: string;
1567
1583
  apiBaseUrl?: string;
1584
+ readAuthority?: import("../api").BrowserReadAuthority;
1568
1585
  stage?: "preview" | "published";
1569
1586
  }> & {
1570
1587
  renderKind: "progressive";
@@ -1584,6 +1601,7 @@ export declare const runtimeIslandCodecs: {
1584
1601
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1585
1602
  siteId?: string;
1586
1603
  apiBaseUrl?: string;
1604
+ readAuthority?: import("../api").BrowserReadAuthority;
1587
1605
  stage?: "preview" | "published";
1588
1606
  }> & {
1589
1607
  renderKind: "progressive";
@@ -1605,6 +1623,7 @@ export declare const runtimeIslandCodecs: {
1605
1623
  encode: (value: Readonly<Readonly<{
1606
1624
  siteId?: string;
1607
1625
  apiBaseUrl?: string;
1626
+ readAuthority?: import("../api").BrowserReadAuthority;
1608
1627
  stage?: "preview" | "published";
1609
1628
  }> & {
1610
1629
  renderKind: "client-owned";
@@ -1639,6 +1658,7 @@ export declare const runtimeIslandCodecs: {
1639
1658
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1640
1659
  siteId?: string;
1641
1660
  apiBaseUrl?: string;
1661
+ readAuthority?: import("../api").BrowserReadAuthority;
1642
1662
  stage?: "preview" | "published";
1643
1663
  }> & {
1644
1664
  renderKind: "client-owned";
@@ -1675,6 +1695,7 @@ export declare const runtimeIslandCodecs: {
1675
1695
  encode: (value: Readonly<Readonly<{
1676
1696
  siteId?: string;
1677
1697
  apiBaseUrl?: string;
1698
+ readAuthority?: import("../api").BrowserReadAuthority;
1678
1699
  stage?: "preview" | "published";
1679
1700
  }> & {
1680
1701
  renderKind: "client-owned";
@@ -1698,6 +1719,7 @@ export declare const runtimeIslandCodecs: {
1698
1719
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1699
1720
  siteId?: string;
1700
1721
  apiBaseUrl?: string;
1722
+ readAuthority?: import("../api").BrowserReadAuthority;
1701
1723
  stage?: "preview" | "published";
1702
1724
  }> & {
1703
1725
  renderKind: "client-owned";
@@ -1723,6 +1745,7 @@ export declare const runtimeIslandCodecs: {
1723
1745
  encode: (value: Readonly<Readonly<{
1724
1746
  siteId?: string;
1725
1747
  apiBaseUrl?: string;
1748
+ readAuthority?: import("../api").BrowserReadAuthority;
1726
1749
  stage?: "preview" | "published";
1727
1750
  }> & {
1728
1751
  renderKind: "progressive";
@@ -1774,6 +1797,7 @@ export declare const runtimeIslandCodecs: {
1774
1797
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1775
1798
  siteId?: string;
1776
1799
  apiBaseUrl?: string;
1800
+ readAuthority?: import("../api").BrowserReadAuthority;
1777
1801
  stage?: "preview" | "published";
1778
1802
  }> & {
1779
1803
  renderKind: "progressive";
@@ -6,6 +6,7 @@ import type { MediaAssetIndexItem, ResolveImageUrlContext, ResolveImageUrlContex
6
6
  import type { RouteMap } from './system/transforms';
7
7
  import type { BookingOfferingPresetSummary } from './system/blocks/offerings-preview/model';
8
8
  import type { BlockLoaderFailures } from './system/data/types';
9
+ import type { BrowserReadAuthority } from './system/runtime/api/types';
9
10
  /**
10
11
  * Occurrence context for event pages.
11
12
  * Passed through to blocks that need occurrence information (e.g., event-registration).
@@ -54,6 +55,7 @@ export type BlockOverrideProps<TContent = Record<string, unknown>> = {
54
55
  portalToken?: string | null;
55
56
  /** Preview bearer token for preview-aware block runtime calls. */
56
57
  previewToken?: string | null;
58
+ readAuthority?: BrowserReadAuthority;
57
59
  /** Render stage for preview-aware block runtime calls. */
58
60
  stage?: 'published' | 'preview';
59
61
  /** Event-occurrence context for template-aware block overrides. */
@@ -141,6 +143,7 @@ export type PageRendererDataContext = {
141
143
  loaderFailures?: BlockLoaderFailures;
142
144
  previewStage?: 'published' | 'preview';
143
145
  previewToken?: string | null;
146
+ readAuthority?: BrowserReadAuthority;
144
147
  routes?: RouteMap;
145
148
  pagesByIdentifier?: Record<string, string>;
146
149
  entriesByIdentifier?: Record<string, Record<string, string>>;
@@ -47,6 +47,16 @@ export declare function normalizeEventCalendarDisplayMode(input: Readonly<{
47
47
  variant?: unknown;
48
48
  displayMode?: unknown;
49
49
  }>): EventCalendarDisplayMode | undefined;
50
+ export type EventCalendarReadPlan = Readonly<{
51
+ mode: EventCalendarDisplayMode;
52
+ jobs: 'list' | 'calendar' | 'both';
53
+ readProfile: 'listing-card' | 'timetable';
54
+ }>;
55
+ /** One closed authority for the projections required by each rendered mode. */
56
+ export declare function resolveEventCalendarReadPlan(input: Readonly<{
57
+ variant?: unknown;
58
+ displayMode?: unknown;
59
+ }>): EventCalendarReadPlan;
50
60
  export declare function isEventCalendarDefaultView(value: unknown): value is EventCalendarDefaultView;
51
61
  export declare function isEventCalendarListLayout(value: unknown): value is EventCalendarListLayout;
52
62
  export declare function eventCalendarListLayoutAppliesToDisplayMode(displayMode: EventCalendarDisplayMode): boolean;
@@ -106,5 +106,10 @@ export interface BlockApiClient {
106
106
  sendMagicLink(data: Omit<MagicLinkRequest, 'siteId'>): Promise<void>;
107
107
  logout(): Promise<void>;
108
108
  }
109
+ /** Components use provider-owned browsing mode, never per-call stage selection. */
110
+ export type BoundBlockApiClient = Omit<BlockApiClient, 'getPublicEvents' | 'getPublicEventCalendarWindow'> & {
111
+ getPublicEvents(params?: Omit<PublicEventsRequest, 'siteId' | 'stage'>): Promise<PublicEvent[]>;
112
+ getPublicEventCalendarWindow(params?: Omit<CalendarWindowRequest, 'stage'>): Promise<CalendarWindowPage>;
113
+ };
109
114
  export declare function createBlockApi(config: BlockApiConfig): BlockApiClient;
110
115
  export {};
@@ -4,7 +4,7 @@
4
4
  * Provider and hook for accessing the Block API Client in React components.
5
5
  */
6
6
  import React from 'react';
7
- import { type BlockApiClient } from './client';
7
+ import { type BlockApiClient, type BoundBlockApiClient } from './client';
8
8
  import type { BlockApiConfig } from './types';
9
9
  declare global {
10
10
  var __RIVERBANK_BLOCK_API_CONTEXT__: React.Context<BlockApiClient | null> | undefined;
@@ -62,11 +62,11 @@ export declare function BlockApiProvider({ client, config, children, }: BlockApi
62
62
  * }
63
63
  * ```
64
64
  */
65
- export declare function useBlockApi(): BlockApiClient;
65
+ export declare function useBlockApi(): BoundBlockApiClient;
66
66
  /**
67
67
  * Hook to optionally access the Block API Client
68
68
  *
69
69
  * Returns null if not within a BlockApiProvider.
70
70
  * Useful for components that can work with or without the API client.
71
71
  */
72
- export declare function useBlockApiOptional(): BlockApiClient | null;
72
+ export declare function useBlockApiOptional(): BoundBlockApiClient | null;
@@ -10,6 +10,8 @@ export interface EndpointDefinition {
10
10
  method: HttpMethod;
11
11
  authScope?: EndpointAuthScope;
12
12
  skipPreviewStage?: boolean;
13
+ /** This existing public endpoint supports authorized draft browsing. */
14
+ previewRead?: true;
13
15
  }
14
16
  /**
15
17
  * Build endpoint path with parameter substitution
@@ -77,14 +79,17 @@ export declare const EVENTS: {
77
79
  calendarWindow: {
78
80
  path: string;
79
81
  method: "GET";
82
+ previewRead: true;
80
83
  };
81
84
  list: {
82
85
  path: string;
83
86
  method: "GET";
87
+ previewRead: true;
84
88
  };
85
89
  filters: {
86
90
  path: string;
87
91
  method: "GET";
92
+ previewRead: true;
88
93
  };
89
94
  register: {
90
95
  path: string;
@@ -125,6 +130,7 @@ export declare const SHOP: {
125
130
  listProducts: {
126
131
  path: string;
127
132
  method: "GET";
133
+ previewRead: true;
128
134
  };
129
135
  checkout: {
130
136
  path: string;
@@ -412,14 +418,17 @@ export declare const ENDPOINTS: {
412
418
  calendarWindow: {
413
419
  path: string;
414
420
  method: "GET";
421
+ previewRead: true;
415
422
  };
416
423
  list: {
417
424
  path: string;
418
425
  method: "GET";
426
+ previewRead: true;
419
427
  };
420
428
  filters: {
421
429
  path: string;
422
430
  method: "GET";
431
+ previewRead: true;
423
432
  };
424
433
  register: {
425
434
  path: string;
@@ -460,6 +469,7 @@ export declare const ENDPOINTS: {
460
469
  listProducts: {
461
470
  path: string;
462
471
  method: "GET";
472
+ previewRead: true;
463
473
  };
464
474
  checkout: {
465
475
  path: string;
@@ -40,10 +40,11 @@
40
40
  * ```
41
41
  */
42
42
  export { createBlockApi, BlockApiError } from './client';
43
- export type { BlockApiClient } from './client';
43
+ export type { BlockApiClient, BoundBlockApiClient } from './client';
44
+ export { createHostedBlockApiConfig, getBlockApiReadStage } from './readAuthority';
44
45
  export { BlockApiProvider, useBlockApi, useBlockApiOptional } from './context';
45
46
  export type { BlockApiProviderProps } from './context';
46
- export type { BlockApiConfig, BlockApiAuth, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, ApiFieldError, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, EventCheckoutReturnRequest, EventCheckoutReturnResponse, PaymentMethod, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyLine, DiscountApplyRequest, DiscountApplyRejectedReason, DiscountApplyResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderFilter, CustomerOrderItem, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, CustomerOrderRefund, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, EventTicketBreakdownLine, CustomerEventRegistration, CustomerPortalWaitlistEntry, CustomerPortalWaitlistSubject, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerEventSeriesRegistration, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalWholeSeriesBookingQuestionsResponse, PortalCreateWholeSeriesBookingQuestionsUploadUrlRequest, PortalCreateWholeSeriesBookingQuestionsUploadUrlResponse, PortalFinalizeWholeSeriesBookingQuestionsUploadRequest, PortalFinalizeWholeSeriesBookingQuestionsUploadResponse, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
47
+ export type { BlockApiConfig, BlockApiAuth, BrowserReadAuthority, ApiKeyAuth, BearerAuth, NoAuth, ApiResponse, ApiSuccessResponse, ApiErrorResponse, ApiFieldError, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, FormField, BookingSubmitRequest, BookingSubmitResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, TimeSlot, AvailableDatesRequest, AvailableDatesResponse, BookingService, BookingServicesRequest, BookingServicesResponse, BookingServiceResponse, BookingResource, BookingResourcesRequest, BookingResourcesResponse, PublicEvent, PublicEventsRequest, PublicEventsResponse, EventVenue, AccessRestriction, EventFilterCategory, EventFilterStaffMember, EventFilterVenue, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, EventCheckoutReturnRequest, EventCheckoutReturnResponse, PaymentMethod, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, DiscountContext, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyLine, DiscountApplyRequest, DiscountApplyRejectedReason, DiscountApplyResponse, ShopCheckoutRequest, ShopCheckoutResponse, ShopDuplicateMembershipWarning, CustomerProfile, CustomerOrder, CustomerOrderFilter, CustomerOrderItem, CustomerOrderInstalmentPlan, CustomerOrderInstalmentPlanStatus, CustomerOrderInstalmentRow, CustomerOrderInstalmentStatus, CustomerOrderPaymentState, CustomerOrderRefund, EnabledModules, PortalMeResponse, PortalMeUpdateRequest, CustomerPass, CustomerPassCreditHistoryEntry, CustomerMembership, EventTicketBreakdownLine, CustomerEventRegistration, CustomerPortalWaitlistEntry, CustomerPortalWaitlistSubject, PortalEventTicket, CustomerAppointment, AppointmentBookingQuestionsTaskDetail, BookingQuestionsTaskDetail, BookingQuestionsAnswerValue, BookingQuestionsField, BookingQuestionsFieldOption, BookingQuestionsSection, BeforeYouComeTaskSummary, CustomerEventSeriesRegistration, EventGuest, PortalCredit, PortalCreditSummary, PortalCreditTransaction, PortalCreditResponse, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProduct, PortalDigitalProductFile, PortalDigitalProductsResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalAppointmentBookingQuestionsResponse, PortalCreateAppointmentBookingQuestionsUploadUrlRequest, PortalCreateAppointmentBookingQuestionsUploadUrlResponse, PortalFinalizeAppointmentBookingQuestionsUploadRequest, PortalFinalizeAppointmentBookingQuestionsUploadResponse, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateAppointmentBookingQuestionsResponse, PortalEventBookingQuestionsResponse, PortalCreateEventBookingQuestionsUploadUrlRequest, PortalCreateEventBookingQuestionsUploadUrlResponse, PortalFinalizeEventBookingQuestionsUploadRequest, PortalFinalizeEventBookingQuestionsUploadResponse, PortalUpdateEventBookingQuestionsRequest, PortalUpdateEventBookingQuestionsResponse, PortalWholeSeriesBookingQuestionsResponse, PortalCreateWholeSeriesBookingQuestionsUploadUrlRequest, PortalCreateWholeSeriesBookingQuestionsUploadUrlResponse, PortalFinalizeWholeSeriesBookingQuestionsUploadRequest, PortalFinalizeWholeSeriesBookingQuestionsUploadResponse, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsResponse, UpdateEventGuestsRequest, EventGuestsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalCancelEventRegistrationRequest, PortalRefundInfo, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, } from './types';
47
48
  export { discountAvailabilityAllowsManualEntry, discountAvailabilityHasDiscounts, getAutoAppliedDiscountPreview, } from './types';
48
49
  export type { BookingQuestionsDocumentAnswerValue } from '../../../portal/types';
49
50
  export { deriveCreditProductLabels, getCreditProductCreditUnit, getCreditProductTypeLabel, getPortalCreditProductCreditNoun, } from './creditProducts';
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import type { BlockApiConfig, BrowserReadAuthority } from './types';
3
+ export declare const browserReadAuthoritySchema: z.ZodType<BrowserReadAuthority>;
4
+ /** Generic SDK/editor configuration is projected here; hosted callers supply the closed union. */
5
+ export declare function getBlockApiReadStage(config: BlockApiConfig): 'published' | 'preview';
6
+ export declare function createHostedBlockApiConfig(input: Readonly<{
7
+ baseUrl: string;
8
+ siteId: string;
9
+ readAuthority: BrowserReadAuthority;
10
+ portalToken?: string | null;
11
+ }>): BlockApiConfig;
@@ -20,6 +20,13 @@ export type NoAuth = {
20
20
  };
21
21
  /** Auth strategy for Block API Client */
22
22
  export type BlockApiAuth = ApiKeyAuth | BearerAuth | NoAuth;
23
+ /** Serializable browsing authority. Customer identity is deliberately separate. */
24
+ export type BrowserReadAuthority = Readonly<{
25
+ kind: "published";
26
+ }> | Readonly<{
27
+ kind: "preview";
28
+ token: string;
29
+ }>;
23
30
  /** Configuration for creating a Block API Client */
24
31
  export interface BlockApiConfig {
25
32
  /** Dashboard API URL (e.g., https://dashboard.example.com/api) */
@@ -41,6 +48,8 @@ export interface BlockApiConfig {
41
48
  siteId?: string;
42
49
  /** Include draft content (adds stage=preview param) */
43
50
  isPreview?: boolean;
51
+ /** Bound hosted browsing authority; legacy SDK auth/stage fields cannot override it. */
52
+ readAuthority?: BrowserReadAuthority;
44
53
  }
45
54
  /** API success response wrapper */
46
55
  export interface ApiSuccessResponse<T> {