@riverbankcms/sdk 0.84.0 → 0.84.2

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 (97) hide show
  1. package/dist/{PreviewEditorSidebar-HML67UDA.mjs → PreviewEditorSidebar-4PH35ZIE.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-I4BQUU6K.mjs → PreviewEditorUI-WHMCRJGM.mjs} +11 -6
  3. package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +8 -0
  4. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  5. package/dist/_dts/api/src/index.d.ts +2 -2
  6. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
  7. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +16 -0
  8. package/dist/_dts/api/src/sdk-event-upsert.d.ts +11 -2
  9. package/dist/_dts/api/src/sdkContracts.d.ts +3 -0
  10. package/dist/_dts/api/src/types.d.ts +1 -0
  11. package/dist/_dts/api/src/url.d.ts +12 -4
  12. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  13. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +2 -0
  14. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
  15. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  16. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +0 -2
  17. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  18. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
  19. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
  20. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -303
  22. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -1
  23. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +9 -1
  24. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -6
  25. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +8 -0
  26. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +6 -4
  27. package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +3 -2
  28. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -1
  29. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  30. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
  31. package/dist/_dts/sdk/src/version.d.ts +1 -1
  32. package/dist/{chunk-LBBPD2IW.mjs → chunk-4QNLOTES.mjs} +11 -16
  33. package/dist/{chunk-5E33VO6J.mjs → chunk-NFWGLRZZ.mjs} +1 -70
  34. package/dist/{chunk-HFMGVJCE.mjs → chunk-OCGTXHSO.mjs} +8 -7
  35. package/dist/{chunk-3LXFQS7T.mjs → chunk-PYDHOMEO.mjs} +1 -1
  36. package/dist/{chunk-6X2OVO3S.mjs → chunk-WFPYN7KA.mjs} +2 -2
  37. package/dist/{chunk-MSHZO4SL.mjs → chunk-ZR2GQK2A.mjs} +274 -223
  38. package/dist/cli/index.mjs +332 -45
  39. package/dist/cli/init-docs/content/agents-section.md +5 -0
  40. package/dist/cli/init-docs/content/cli-reference.md +13 -0
  41. package/dist/cli/init-docs/content/content-management.md +31 -0
  42. package/dist/cli/init-docs/content/getting-started.md +12 -0
  43. package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
  44. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
  45. package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
  46. package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
  47. package/dist/cli/init-docs/content/workflow-templates.md +14 -0
  48. package/dist/client/{accordion-ESY65T56.mjs → accordion-2UZPBMYM.mjs} +1 -1
  49. package/dist/client/{bookingForm-JRFNZUHD.mjs → bookingForm-36CWQUMV.mjs} +4 -4
  50. package/dist/client/bookings.mjs +156 -138
  51. package/dist/client/{carousel-CPR5VWIP.mjs → carousel-QH77HR6X.mjs} +2 -2
  52. package/dist/client/{cart-ZUX5BA7O.mjs → cart-X4YK4FTW.mjs} +5 -5
  53. package/dist/client/{checkout-RULGBADZ.mjs → checkout-OM2BEPWD.mjs} +5 -5
  54. package/dist/client/{chunk-RDJFCPY3.mjs → chunk-3C2VTPWI.mjs} +34 -117
  55. package/dist/client/{chunk-BT6AEIKN.mjs → chunk-3DTWLTXM.mjs} +1 -1
  56. package/dist/client/{chunk-JWEYB4V6.mjs → chunk-4OXKTA3D.mjs} +1 -1
  57. package/dist/client/{chunk-URQCZD5W.mjs → chunk-52CGCQ7B.mjs} +4 -4
  58. package/dist/client/{chunk-52I7BGEK.mjs → chunk-7UCLJ5SP.mjs} +1 -1
  59. package/dist/client/{chunk-Z5OBQ5I4.mjs → chunk-F5VRX5Y6.mjs} +1 -1
  60. package/dist/client/{chunk-GFSQNTRW.mjs → chunk-SDIYSQAY.mjs} +0 -4
  61. package/dist/client/{chunk-HXPWP5EN.mjs → chunk-VGDBVNOO.mjs} +175 -14
  62. package/dist/client/{chunk-5ZEAZ33K.mjs → chunk-ZKUO52W3.mjs} +1 -1
  63. package/dist/client/client.mjs +348 -232
  64. package/dist/client/{courseRegistration-QTUDC35T.mjs → courseRegistration-TMKU6ABO.mjs} +4 -4
  65. package/dist/client/{eventCalendar-Q7NS4XLD.mjs → eventCalendar-G6TI32X6.mjs} +6 -6
  66. package/dist/client/{eventCombined-QAO7VUO5.mjs → eventCombined-SCKEMNAR.mjs} +6 -6
  67. package/dist/client/{eventDetails-WTNNU6Q3.mjs → eventDetails-XPIFXXPK.mjs} +6 -6
  68. package/dist/client/{eventListing-5TA2ELDT.mjs → eventListing-7QFMEMGT.mjs} +6 -6
  69. package/dist/client/{eventRegistration-M6USZGRF.mjs → eventRegistration-TOODSZUI.mjs} +6 -6
  70. package/dist/client/{form-DGVGXLMH.mjs → form-MTCMVCZT.mjs} +2 -2
  71. package/dist/client/{headerSection-O2AGMPCU.mjs → headerSection-Y5TMR3TW.mjs} +2 -2
  72. package/dist/client/hooks.mjs +315 -35
  73. package/dist/client/{locationMap-EJRNRIKJ.mjs → locationMap-RH2LG7FZ.mjs} +1 -1
  74. package/dist/client/{newsletterForm-7NTC2DTR.mjs → newsletterForm-PCAIPFMA.mjs} +2 -2
  75. package/dist/client/{productDetail-HH4LP53D.mjs → productDetail-OIGDR4YE.mjs} +5 -5
  76. package/dist/client/{productList-YVHYM2AF.mjs → productList-4MA5S2CX.mjs} +5 -5
  77. package/dist/client/rendering/client.mjs +312 -195
  78. package/dist/client/rendering/islands.mjs +18 -18
  79. package/dist/client/rendering.mjs +312 -195
  80. package/dist/client/{shop-UIFX7XRK.mjs → shop-WXSYV5QO.mjs} +5 -5
  81. package/dist/client/spam-protection.mjs +0 -4
  82. package/dist/preview-next/client/runtime.mjs +5 -5
  83. package/dist/{sdk-runtime-ZENAOYMN.mjs → sdk-runtime-QLOCYKVU.mjs} +6 -6
  84. package/dist/server/components.mjs +188 -61
  85. package/dist/server/config-validation.mjs +313 -33
  86. package/dist/server/config.mjs +313 -33
  87. package/dist/server/data.mjs +315 -35
  88. package/dist/server/index.mjs +10 -11
  89. package/dist/server/next.mjs +198 -72
  90. package/dist/server/page-converter.mjs +315 -35
  91. package/dist/server/prebuild.mjs +1 -1
  92. package/dist/server/rendering/server.mjs +188 -61
  93. package/dist/server/rendering.mjs +188 -61
  94. package/dist/server/routing.mjs +334 -34
  95. package/dist/server/server.mjs +331 -52
  96. package/package.json +1 -1
  97. package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +0 -8
@@ -8,7 +8,9 @@ export type EventRegistrationContentEntry = Readonly<{
8
8
  contentTypeSlug: string;
9
9
  }>;
10
10
  export declare const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS: readonly ["Date", "Tickets", "Details"];
11
+ declare const EVENT_REGISTRATION_SHELL_STEP_LABELS: readonly ["Event", "Date", "Tickets", "Details", "Payment"];
11
12
  export type EventRegistrationGenericShellStepLabels = typeof EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
13
+ type EventRegistrationShellStepLabel = typeof EVENT_REGISTRATION_SHELL_STEP_LABELS[number];
12
14
  export type EventRegistrationSourceProps = Readonly<{
13
15
  siteId?: string;
14
16
  apiBaseUrl?: string;
@@ -35,7 +37,7 @@ export type EventRegistrationDisplay = Readonly<{
35
37
  className: string | null;
36
38
  titleText: string;
37
39
  bodyText: string;
38
- stepLabels: EventRegistrationGenericShellStepLabels;
40
+ stepLabels: readonly EventRegistrationShellStepLabel[];
39
41
  summaryButtonText: string;
40
42
  }>;
41
43
  export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'registrationEndpoint' | 'eligibilityEndpoint' | 'checkoutEndpoint' | 'buttonText' | 'className'>>;
@@ -80,7 +82,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
80
82
  className: string | null;
81
83
  titleText: string;
82
84
  bodyText: string;
83
- stepLabels: EventRegistrationGenericShellStepLabels;
85
+ stepLabels: readonly EventRegistrationShellStepLabel[];
84
86
  summaryButtonText: string;
85
87
  }>;
86
88
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -144,7 +146,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
144
146
  className: string | null;
145
147
  titleText: string;
146
148
  bodyText: string;
147
- stepLabels: EventRegistrationGenericShellStepLabels;
149
+ stepLabels: readonly EventRegistrationShellStepLabel[];
148
150
  summaryButtonText: string;
149
151
  }>;
150
152
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -156,7 +158,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
156
158
  className: string | null;
157
159
  titleText: string;
158
160
  bodyText: string;
159
- stepLabels: EventRegistrationGenericShellStepLabels;
161
+ stepLabels: readonly EventRegistrationShellStepLabel[];
160
162
  summaryButtonText: string;
161
163
  }>;
162
164
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -182,7 +184,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
182
184
  className: string | null;
183
185
  titleText: string;
184
186
  bodyText: string;
185
- stepLabels: EventRegistrationGenericShellStepLabels;
187
+ stepLabels: readonly EventRegistrationShellStepLabel[];
186
188
  summaryButtonText: string;
187
189
  }>;
188
190
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -205,7 +207,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
205
207
  className: string | null;
206
208
  titleText: string;
207
209
  bodyText: string;
208
- stepLabels: EventRegistrationGenericShellStepLabels;
210
+ stepLabels: readonly EventRegistrationShellStepLabel[];
209
211
  summaryButtonText: string;
210
212
  }>;
211
213
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -1,5 +1,13 @@
1
1
  import type { DraftWorkflowStatus } from '../types';
2
2
  import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
+ /**
4
+ * Autosave hook backed by the shared debounced-latest-save scheduler.
5
+ * New changes made while a save is in flight queue one follow-up save with the
6
+ * latest snapshot instead of blocking the editor or starting parallel writes.
7
+ *
8
+ * Status is stored in the Zustand uiStore instead of local state, allowing
9
+ * components to subscribe granularly via selectors.
10
+ */
3
11
  type AutosaveConfig<TValues, TPayload> = {
4
12
  /** Function to call to save the data */
5
13
  saveFn: (payload: TPayload) => Promise<unknown>;
@@ -4,7 +4,7 @@ import type { BlockManifest, Theme } from '../../blocks/src/index';
4
4
  import { type PageDesignEditorBlock } from '../../theme-core/src/site-styles/index';
5
5
  import { type EditorBlockId } from '../../core/src/index';
6
6
  import type { ArrayKeysManager, DraftsSlice, UiStore as BlockEditorUiStore } from './block-editor/types';
7
- type UiStoreState = {
7
+ export type BlockFormUiStoreState = {
8
8
  setActivePreviewField: (field: {
9
9
  kind: 'block';
10
10
  blockId: EditorBlockId;
@@ -16,10 +16,12 @@ type UiStoreState = {
16
16
  showAllValidation: (blockId: EditorBlockId) => boolean;
17
17
  getBlockSaveability: (blockId: EditorBlockId) => BlockDraftSaveability;
18
18
  };
19
- drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'initNewBlock' | 'updateBlockBaseline' | 'clearError' | 'setAtPath' | 'getAtPath'>;
19
+ drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'clearError' | 'setAtPath' | 'getAtPath'> & {
20
+ updateBlockBaseline?: (blockId: EditorBlockId, data: Record<string, unknown> | null) => void;
21
+ };
20
22
  arrayKeys: ArrayKeysManager;
21
23
  };
22
- type UiStore = BlockEditorUiStore<UiStoreState>;
24
+ export type BlockFormUiStore = BlockEditorUiStore<BlockFormUiStoreState>;
23
25
  type BlockItem = {
24
26
  id?: string | null;
25
27
  kind: string;
@@ -37,7 +39,7 @@ export declare function BlockForm({ siteId: _siteId, block, manifest, uiStore, h
37
39
  siteId: string;
38
40
  block: BlockItem;
39
41
  manifest: BlockManifest;
40
- uiStore: UiStore;
42
+ uiStore: BlockFormUiStore;
41
43
  hasRecoveryConflict?: boolean;
42
44
  focusSignal?: BlockFormFocusSignal | null;
43
45
  onFocusHandled?: (requestId: number) => void;
@@ -1,3 +1,4 @@
1
- export declare function MaintenanceModeBadge({ siteId }: {
1
+ export declare function MaintenanceModeBadge({ dashboardBaseUrl, siteId, }: {
2
+ dashboardBaseUrl: string | null | undefined;
2
3
  siteId: string;
3
- }): import("react").JSX.Element;
4
+ }): import("react").JSX.Element | null;
@@ -2,11 +2,12 @@ import React from 'react';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import { type SurfaceId } from '../../../../surfaces/src/index';
4
4
  type PreviewEditorUIProps = {
5
+ dashboardBaseUrl?: string | null;
5
6
  inMaintenanceMode?: boolean;
6
7
  siteId?: string;
7
8
  surfaceId?: SurfaceId;
8
9
  isSiteLaunched?: boolean;
9
10
  apiClient?: ApiClient;
10
11
  };
11
- export declare function PreviewEditorUI({ inMaintenanceMode, siteId, surfaceId, isSiteLaunched, apiClient, }: PreviewEditorUIProps): React.ReactPortal | null;
12
+ export declare function PreviewEditorUI({ dashboardBaseUrl, inMaintenanceMode, siteId, surfaceId, isSiteLaunched, apiClient, }: PreviewEditorUIProps): React.ReactPortal | null;
12
13
  export {};
@@ -36,7 +36,7 @@ import { CourseSessionConflictError } from './courses';
36
36
  * @returns ManagementClient instance
37
37
  */
38
38
  export declare function createManagementClient(config: ManagementClientConfig): ManagementClient;
39
- export type { ManagementClient, ManagementClientConfig, ManagementEntry, ManagementPage, ManagementBlock, ManagementNavigationMenu, ManagementNavigationItem, ManagementSettings, ManagementForm, ManagementFormField, ManagementFormSchema, ManagementFormSettings, ManagementVenue, VenueAddress, VenueLocation, VenueUpsertInput, ManagementEventCategory, EventCategoryUpsertInput, ManagementEventSeries, EventSchedule, EventScheduleUpsertInput, EventStartDurationSchedule, EventStartEndSchedule, EventPricing, EventContent, EventSeriesUpsertInput, ManagementCourseRun, CourseRunUpsertInput, CourseSession, CourseProgramContent, CourseSessionConflict, EntryUpsertInput, PageUpsertInput, BlockUpsertInput, NavigationMenuUpsertInput, NavigationItemInput, FormUpsertInput, SiteStyleSelectionApplyCommand, SiteStyleSelectionApplyCommandInput, ThemeUpsertInput, ThemeUpsertResult, ThemeStyleSelectionApplyInput, ThemeStyleSelectionApplyResult, FooterContent, ManagementFooterContent, FooterContentUpsertInput, FooterOperations, PulledFooter, PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses, PulledSiteInfo, PulledContentType, PulledContentTypes, PulledContent, PaginationOptions, PaginatedResult, EntryOperations, PageOperations, BlockOperations, NavigationOperations, SettingsOperations, SettingsUpdateInput, WebhookOperations, SetupRevalidationWebhookInput, SetupRevalidationWebhookResult, ManagementWebhookEndpoint, RevalidationWebhookPlannedEndpoint, FormOperations, ThemeOperations, VenueOperations, EventCategoryOperations, EventOperations, CourseOperations, PullOperations, IdentifiersOperations, BackfillResult, BackfillPageResult, BackfillBlockResult, BackfillEntryResult, MediaOperations, MediaUploadResult, } from './types';
39
+ export type { ManagementClient, ManagementClientConfig, ManagementEntry, ManagementPage, ManagementBlock, ManagementNavigationMenu, ManagementNavigationItem, ManagementSettings, ManagementForm, ManagementFormField, ManagementFormSchema, ManagementFormSettings, ManagementVenue, VenueAddress, VenueLocation, VenueUpsertInput, ManagementEventCategory, EventCategoryUpsertInput, ManagementEventSeries, EventSchedule, EventScheduleUpsertInput, EventStartDurationSchedule, EventStartEndSchedule, EventPricing, EventPaymentTerms, EventPaymentTermsInput, EventContent, EventSeriesUpsertInput, ManagementCourseRun, CourseRunUpsertInput, CourseSession, CourseProgramContent, CourseSessionConflict, EntryUpsertInput, PageUpsertInput, BlockUpsertInput, NavigationMenuUpsertInput, NavigationItemInput, FormUpsertInput, SiteStyleSelectionApplyCommand, SiteStyleSelectionApplyCommandInput, ThemeUpsertInput, ThemeUpsertResult, ThemeStyleSelectionApplyInput, ThemeStyleSelectionApplyResult, FooterContent, ManagementFooterContent, FooterContentUpsertInput, FooterOperations, PulledFooter, PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses, PulledSiteInfo, PulledContentType, PulledContentTypes, PulledContent, PaginationOptions, PaginatedResult, EntryOperations, PageOperations, BlockOperations, NavigationOperations, SettingsOperations, SettingsUpdateInput, WebhookOperations, SetupRevalidationWebhookInput, SetupRevalidationWebhookResult, ManagementWebhookEndpoint, RevalidationWebhookPlannedEndpoint, FormOperations, ThemeOperations, VenueOperations, EventCategoryOperations, EventOperations, CourseOperations, PullOperations, IdentifiersOperations, BackfillResult, BackfillPageResult, BackfillBlockResult, BackfillEntryResult, MediaOperations, MediaUploadResult, } from './types';
40
40
  export { ManagementApiError, type ManagementApiErrorRequest } from './http';
41
41
  export { applySiteStyleSelectionBodyFromCommand, buildApplySiteStyleSelectionCommand, } from './theme';
42
42
  export { CourseSessionConflictError };
@@ -6,6 +6,7 @@
6
6
  import type { LinkPayload, NavigationLinkInput } from '../../public-api/contracts';
7
7
  import type { SiteCommandOf } from '../../../../site-commands/src/index';
8
8
  import type { SdkEventPricing, SdkEventPricingInput, SdkEventTicketTypeInput } from '../../../../api/src/sdk-event-pricing';
9
+ import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from '../../../../api/src/sdk-event-payment-terms';
9
10
  import type { Theme } from '../../contracts';
10
11
  export interface ManagementClientConfig {
11
12
  /**
@@ -395,6 +396,8 @@ export type EventTicketTypeInput = SdkEventTicketTypeInput;
395
396
  */
396
397
  export type EventPricing = SdkEventPricing;
397
398
  export type EventPricingInput = SdkEventPricingInput;
399
+ export type EventPaymentTerms = SdkEventPaymentTerms;
400
+ export type EventPaymentTermsInput = SdkEventPaymentTermsInput;
398
401
  /**
399
402
  * Event content data (embedded from content_entry).
400
403
  */
@@ -417,6 +420,7 @@ export interface ManagementEventSeries {
417
420
  schedule: EventSchedule;
418
421
  capacity: number | null;
419
422
  pricing: EventPricing;
423
+ paymentTerms?: EventPaymentTerms;
420
424
  /** Venue slug reference */
421
425
  venueRef: string | null;
422
426
  /** Category identifier reference */
@@ -445,6 +449,7 @@ export interface EventSeriesUpsertInput {
445
449
  schedule: EventScheduleUpsertInput;
446
450
  capacity?: number | null;
447
451
  pricing?: EventPricingInput;
452
+ paymentTerms?: EventPaymentTermsInput;
448
453
  /** Venue slug - resolved to venue_id on push */
449
454
  venueRef?: string | null;
450
455
  /** Category identifier - resolved to event_category_id on push */
@@ -739,6 +744,7 @@ export interface PulledEvents {
739
744
  schedule: EventSchedule;
740
745
  capacity: number | null;
741
746
  pricing: EventPricing;
747
+ paymentTerms?: EventPaymentTerms;
742
748
  venueRef: string | null;
743
749
  categoryRef: string | null;
744
750
  content: EventContent;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.84.0";
11
+ export declare const SDK_VERSION = "0.84.2";
@@ -211,26 +211,26 @@ function looksLikeLocalAuthority(authority) {
211
211
  const normalized = authority.toLowerCase();
212
212
  return normalized === "localhost" || normalized.startsWith("localhost:") || normalized.startsWith("127.") || normalized.startsWith("0.0.0.0") || normalized.includes(".localhost") || normalized.endsWith(".local") || normalized.endsWith(".test");
213
213
  }
214
- function normalizeDashboardUrlBase(input) {
214
+ function normalizeDashboardOrigin(input) {
215
215
  const trimmed = input.trim();
216
216
  if (!trimmed) return "";
217
217
  const withoutTrailingSlash = trimmed.replace(/\/+$/, "");
218
218
  const withoutApiSuffix = withoutTrailingSlash.replace(/\/api\/?$/, "");
219
219
  if (/^https?:\/\//i.test(withoutApiSuffix)) {
220
- return withoutApiSuffix;
220
+ return new URL(withoutApiSuffix).origin;
221
221
  }
222
222
  const authority = withoutApiSuffix.replace(/^\/+/, "");
223
223
  const protocol = looksLikeLocalAuthority(authority) ? "http" : "https";
224
- return `${protocol}://${authority}`;
224
+ return new URL(`${protocol}://${authority}`).origin;
225
+ }
226
+ function deriveCmsApiUrlFromDashboardUrl(input) {
227
+ const origin = normalizeDashboardOrigin(input);
228
+ return origin ? `${origin}/api` : "";
225
229
  }
226
230
  function getDashboardBaseUrl() {
227
231
  const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
228
232
  if (dashboardUrl) {
229
- return normalizeDashboardUrlBase(dashboardUrl);
230
- }
231
- const legacyApiUrl = process.env.NEXT_PUBLIC_CMS_API_URL;
232
- if (legacyApiUrl) {
233
- return legacyApiUrl.replace(/\/$/, "").replace(/\/api$/, "");
233
+ return normalizeDashboardOrigin(dashboardUrl);
234
234
  }
235
235
  throw new Error(
236
236
  "NEXT_PUBLIC_DASHBOARD_URL is not configured. Set it to your dashboard URL (e.g., http://localhost:4000)"
@@ -246,15 +246,10 @@ function getCmsApiUrl() {
246
246
  }
247
247
  const dashboardUrl = process.env.NEXT_PUBLIC_DASHBOARD_URL;
248
248
  if (dashboardUrl) {
249
- const base = normalizeDashboardUrlBase(dashboardUrl);
250
- return `${base}/api`;
251
- }
252
- const legacyApiUrl = process.env.NEXT_PUBLIC_CMS_API_URL;
253
- if (legacyApiUrl) {
254
- return legacyApiUrl.replace(/\/$/, "");
249
+ return deriveCmsApiUrlFromDashboardUrl(dashboardUrl);
255
250
  }
256
251
  throw new Error(
257
- "NEXT_PUBLIC_DASHBOARD_URL is not configured. Set it to your dashboard URL (e.g., http://localhost:4000)"
252
+ "CMS_API_URL or NEXT_PUBLIC_DASHBOARD_URL is not configured. Set NEXT_PUBLIC_DASHBOARD_URL to your dashboard URL (e.g., http://localhost:4000)"
258
253
  );
259
254
  }
260
255
  function getAbsoluteDashboardUrl(path, options) {
@@ -7028,4 +7023,4 @@ function createBearerAPIClient(token, baseUrl) {
7028
7023
  return createCMSClient(authHeaders, baseUrl);
7029
7024
  }
7030
7025
 
7031
- export { API_ENDPOINTS, ApiRequestError, DEFAULT_SURFACE_ID, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS, createBearerAPIClient, getDashboardBaseUrl, getDashboardUrl, initPreviewAuth, isPreviewRuntimeSessionEditable, markPreviewAuthExpired, resolveSurfaceDocumentAttributes, usePreviewAuth, usePreviewAuthFetch, usePreviewToken };
7026
+ export { API_ENDPOINTS, ApiRequestError, DEFAULT_SURFACE_ID, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS, createBearerAPIClient, getDashboardUrl, initPreviewAuth, isPreviewRuntimeSessionEditable, markPreviewAuthExpired, resolveSurfaceDocumentAttributes, usePreviewAuth, usePreviewAuthFetch, usePreviewToken };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, unwrapResponse, parseSiteIconStyleGuideVersionId, parseBlockIconValue, listBlockDescriptors, useSensor, PointerSensor, useSensors, createEditorRemoveBlockCommand, unsafeAsEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, createCustomBlockRegistry, Card, cn, Collapsible, CollapsibleContent, listContentTypes, mergeBlockDescriptorsWithRegistry, createEditorReorderBlocksCommand, mutateBlockContent, deleteEntrySlotBlock, deleteBlock, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, DropdownMenu, DropdownMenuTrigger, EllipsisVertical, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem, Copy, Trash2, DialogFooter, DialogClose, CardContent, createEntrySlotBlock, createBlock, createEditorInsertBlockCommand, reorderEntrySlotBlocks, reorderBlocks, LoaderCircle, ChevronDown, getFeatureCardIconCompletion, toFeatureCardIconSuggestionInputs, getBlockIconSemanticFallbackId, suggestSemanticIconForFeatureCard, getGeneratedBlockIconStyleState, assertNever, createManifestFormAdapter, getModalConfig, createStoreBackend, validateBlockManifestIssues, isNonEmptyValue, Settings, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, RotateCcw, ImagePlus, Sparkles, Textarea, Callout, CalloutDescription, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, CalloutTitle, unfinishedBlockCopy, recoveryConflictCopy, ManifestForm, unsafeAsEditorBlockValues, Box, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, suggestFeatureCardSemanticIcons, applyFeatureCardIconSuggestions, createFeatureCardIconKey, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, BackgroundGradientField, BackgroundColorField, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, isObjectRecord, EMPTY_DOC, useAsyncPickerOptions, resolvePickerSelectionLabel, shouldShowPickerSearch, normalizePickerSearchThreshold, Combobox, Badge, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, useBackendWatch, resolveIconPickerPreset, isIconPickerPreset, getIconPickerOptionsForPreset, isKnownIconName, getIconComponent, isOfferingsPreviewSourceKey, EyeOff, CommandMultiSelect, expectParsedBrandedId, parseSiteId, buildThemeRuntime, SdkConfigProvider, PaletteProvider, MediaEditorProvider, useEditorUiStoreInstance, useUISelector, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, emitMediaCropDebug, Pencil, resolveVideoSelectionIntentForMediaField, resolveOfferingsPreviewGroupOrderEntries, normalizeOfferingsPreviewGroupOrder, inferLegacyOfferingsPreviewGroupOrder, siteOptionSources, evaluateVisibility, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, resolveImageUrlWithContext, useMediaEditor, MediaPickerMini, MediaPickerDialog, toRoutableLinkPayload, classifyKnownMimeType, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-MSHZO4SL.mjs';
2
+ import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, unwrapResponse, parseSiteIconStyleGuideVersionId, parseBlockIconValue, listBlockDescriptors, useSensor, PointerSensor, useSensors, createEditorRemoveBlockCommand, unsafeAsEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, createCustomBlockRegistry, Card, cn, Collapsible, CollapsibleContent, listContentTypes, mergeBlockDescriptorsWithRegistry, createEditorReorderBlocksCommand, mutateBlockContent, deleteEntrySlotBlock, deleteBlock, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, DropdownMenu, DropdownMenuTrigger, EllipsisVertical, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem, Copy, Trash2, DialogFooter, DialogClose, CardContent, createEntrySlotBlock, createBlock, createEditorInsertBlockCommand, reorderEntrySlotBlocks, reorderBlocks, LoaderCircle, ChevronDown, getFeatureCardIconCompletion, toFeatureCardIconSuggestionInputs, getBlockIconSemanticFallbackId, suggestSemanticIconForFeatureCard, getGeneratedBlockIconStyleState, assertNever, createManifestFormAdapter, getModalConfig, createStoreBackend, validateBlockManifestIssues, isNonEmptyValue, Settings, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, RotateCcw, ImagePlus, Sparkles, Textarea, Callout, CalloutDescription, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, CalloutTitle, unfinishedBlockCopy, recoveryConflictCopy, ManifestForm, unsafeAsEditorBlockValues, Box, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, suggestFeatureCardSemanticIcons, applyFeatureCardIconSuggestions, createFeatureCardIconKey, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, BackgroundGradientField, BackgroundColorField, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, isObjectRecord, EMPTY_DOC, useAsyncPickerOptions, resolvePickerSelectionLabel, shouldShowPickerSearch, normalizePickerSearchThreshold, Combobox, Badge, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, useBackendWatch, resolveIconPickerPreset, isIconPickerPreset, getIconPickerOptionsForPreset, isKnownIconName, getIconComponent, isOfferingsPreviewSourceKey, EyeOff, CommandMultiSelect, expectParsedBrandedId, parseSiteId, buildThemeRuntime, SdkConfigProvider, PaletteProvider, MediaEditorProvider, useEditorUiStoreInstance, useUISelector, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, emitMediaCropDebug, Pencil, resolveVideoSelectionIntentForMediaField, resolveOfferingsPreviewGroupOrderEntries, normalizeOfferingsPreviewGroupOrder, inferLegacyOfferingsPreviewGroupOrder, siteOptionSources, evaluateVisibility, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, resolveImageUrlWithContext, useMediaEditor, MediaPickerMini, MediaPickerDialog, toRoutableLinkPayload, classifyKnownMimeType, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-ZR2GQK2A.mjs';
3
3
  import React, { createContext, memo, useMemo, useState, useRef, useEffect, forwardRef, useCallback, useImperativeHandle, useContext, useSyncExternalStore, useLayoutEffect, Fragment as Fragment$1, useReducer } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
 
@@ -4647,21 +4647,6 @@ function getUnresolvedRichTextImageWarnings(value) {
4647
4647
  walk(value);
4648
4648
  return { count, identifiers: Array.from(identifiers) };
4649
4649
  }
4650
- var DEBUG_RICHTEXT_FOCUS = process.env.NEXT_PUBLIC_DEBUG_RICHTEXT_FOCUS === "1";
4651
- var nextInstanceId = 1;
4652
- function describeActiveElement() {
4653
- if (typeof document === "undefined") return null;
4654
- const el = document.activeElement;
4655
- if (!el) return null;
4656
- return {
4657
- tag: el.tagName,
4658
- id: el.id || null,
4659
- role: el.getAttribute("role"),
4660
- className: typeof el.className === "string" ? el.className : null,
4661
- isProseMirror: el.classList?.contains("ProseMirror") ?? false,
4662
- withinProseMirror: Boolean(el.closest?.(".ProseMirror"))
4663
- };
4664
- }
4665
4650
  function isRichTextVariant(value) {
4666
4651
  return value === "full" || value === "inline" || value === "limited" || value === "media" || value === "notes";
4667
4652
  }
@@ -4677,10 +4662,6 @@ function RichTextField({
4677
4662
  backend,
4678
4663
  config
4679
4664
  }) {
4680
- const instanceIdRef = useRef(null);
4681
- if (instanceIdRef.current == null) {
4682
- instanceIdRef.current = nextInstanceId++;
4683
- }
4684
4665
  const { theme, onPickImage } = useRichTextWidgetContext();
4685
4666
  const { siteId, adapters, initialItems } = useLinkWidgetContext();
4686
4667
  const mediaEditor = useMediaEditorOptional();
@@ -4709,56 +4690,6 @@ function RichTextField({
4709
4690
  setLinkItems(normalized);
4710
4691
  return normalized;
4711
4692
  }, [adapters, siteId]);
4712
- if (DEBUG_RICHTEXT_FOCUS) {
4713
- console.log("[RichTextField] render", {
4714
- instanceId: instanceIdRef.current,
4715
- path,
4716
- variant,
4717
- hasEditor: Boolean(editor),
4718
- active: describeActiveElement()
4719
- });
4720
- }
4721
- useEffect(() => {
4722
- if (!DEBUG_RICHTEXT_FOCUS) return;
4723
- console.log("[RichTextField] mount", { instanceId: instanceIdRef.current, path });
4724
- return () => {
4725
- console.log("[RichTextField] unmount", { instanceId: instanceIdRef.current, path });
4726
- };
4727
- }, [path]);
4728
- useEffect(() => {
4729
- if (!DEBUG_RICHTEXT_FOCUS) return;
4730
- console.log("[RichTextField] editor instance changed", {
4731
- instanceId: instanceIdRef.current,
4732
- path,
4733
- hasEditor: Boolean(editor),
4734
- active: describeActiveElement()
4735
- });
4736
- }, [editor, path]);
4737
- useEffect(() => {
4738
- if (!editor) return;
4739
- const handleFocus = () => {
4740
- if (!DEBUG_RICHTEXT_FOCUS) return;
4741
- console.log("[RichTextField] focus", {
4742
- instanceId: instanceIdRef.current,
4743
- path,
4744
- active: describeActiveElement()
4745
- });
4746
- };
4747
- const handleBlur = () => {
4748
- if (!DEBUG_RICHTEXT_FOCUS) return;
4749
- console.log("[RichTextField] blur", {
4750
- instanceId: instanceIdRef.current,
4751
- path,
4752
- active: describeActiveElement()
4753
- });
4754
- };
4755
- editor.on("focus", handleFocus);
4756
- editor.on("blur", handleBlur);
4757
- return () => {
4758
- editor.off("focus", handleFocus);
4759
- editor.off("blur", handleBlur);
4760
- };
4761
- }, [editor, path]);
4762
4693
  useEffect(() => {
4763
4694
  if (!editor) return;
4764
4695
  const handler = () => {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-3LXFQS7T.mjs';
3
- import { PreviewBlockCustomizeSelectionProvider, resolveSiteStyleAccess, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, usePreviewBlockCustomizeSelectionOptional, useBlockCustomizeControls, MAX_CUSTOMIZE_POPOVER_ROWS, MAX_QUICK_MANIFEST_FIELDS, OfferingsPreviewWidgetProvider, previewWidgetOverrides, sanitizeDashboardPath } from './chunk-5E33VO6J.mjs';
4
- import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState } from './chunk-6X2OVO3S.mjs';
5
- import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, useEditorUiStore, PreviewThemeOverlayProvider, PreviewDesignCoordinatorProvider, SiteChromeCustomizeProvider, ResizableSplitPane, BlockApiProvider, EditorProvider, PreviewDesignHistoryOrderProvider, MediaEditorProvider, useEditorUiStoreInstance, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, unsafeAsEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, usePreviewThemeOverlay, planSiteDocument, ThemeScope, FixedBottomSurface, Button, unsafeAsLinkedContentEntryId, sectionTransitionVariantForBoundaryOptionId, sectionTransitionFamilyForBoundaryOptionId, sectionTransitionFamilies, X, defaultSectionTransitionVariantForFamily, RotateCcw, parseBackgroundOverrideFromContent, rankBackgroundImagePoolItems, imagePoolForOverride, resolveBackgroundCapability, enabledBackgroundModes, canCycleBackgroundOverrideValue, FormRenderer, stableSerialize, prefetchBlockData, isSupportedLoaderEndpoint, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, buildThemeRuntime, renderBlock, siteHeaderManifest, siteFooterManifest, SiteDocumentLayout, SITE_CHROME_CLASS_NAMES, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, backgroundColorTokens, ChevronLeft, ChevronRight, createMicrobatcher, unwrapResponse, normalizePublicApiLoaderParams, visibleHeaderClearancePx, LINKED_CONTENT_ENTRY_META_KEY, useMediaEditorOptional, Image, defaultBackgroundOverrideForMode, decodePublicProductCategorySelectorQuery, EDITABLE_SURFACE_FORWARDING_PROP, useSiteChromeCustomizeOptional, assertNever, SITE_CHROME_VISIBLE_HEADER_SELECTOR, getLinkedContentEntryMeta, GRADIENT_PRESETS, resolveImageUrlWithContext, gradientToCss, Upload, MediaEditor, SECTION_BACKGROUND_MIN_SOURCE_WIDTH, SECTION_BACKGROUND_MIN_SOURCE_HEIGHT, parseMediaAssetId, formatSiteChromeBackgroundTokenLabel, planBackgroundOverride, planBackgroundTransition, systemCustomizeFacetNextValue } from './chunk-MSHZO4SL.mjs';
6
- import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken } from './chunk-LBBPD2IW.mjs';
2
+ import { useOptionalPreviewLayout, PreviewQueryProvider } from './chunk-PYDHOMEO.mjs';
3
+ import { PreviewBlockCustomizeSelectionProvider, resolveSiteStyleAccess, resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSetupBannerModel, usePreviewBlockCustomizeSelectionOptional, useBlockCustomizeControls, MAX_CUSTOMIZE_POPOVER_ROWS, MAX_QUICK_MANIFEST_FIELDS, OfferingsPreviewWidgetProvider, previewWidgetOverrides, sanitizeDashboardPath } from './chunk-NFWGLRZZ.mjs';
4
+ import { resolvePreviewChromeSurface, getPreviewSidebarTab, onPreviewSidebarOpenRequest, getPreviewChromeSurfaceDataProps, PREVIEW_CHROME_THEME_CLASS_NAME, setPreviewSidebarTab, PreviewPageDesignEditorStateProvider, usePreviewPageDesignEditorState } from './chunk-WFPYN7KA.mjs';
5
+ import { clientComponentRegistry, deriveLaunchReadiness, DEFAULT_LAUNCH_READINESS_INPUT, useEditorUiStore, PreviewThemeOverlayProvider, PreviewDesignCoordinatorProvider, SiteChromeCustomizeProvider, ResizableSplitPane, BlockApiProvider, EditorProvider, PreviewDesignHistoryOrderProvider, MediaEditorProvider, useEditorUiStoreInstance, useEditor, createRoutingHelpers, createSnapshotFromPageRecord, EntryControllerProvider, useEntryEditorController, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, unsafeAsEditorBlockId, EditableBlockProvider, asDesignBlockId, PageRenderer, usePreviewThemeOverlay, planSiteDocument, ThemeScope, FixedBottomSurface, Button, unsafeAsLinkedContentEntryId, sectionTransitionVariantForBoundaryOptionId, sectionTransitionFamilyForBoundaryOptionId, sectionTransitionFamilies, X, defaultSectionTransitionVariantForFamily, RotateCcw, parseBackgroundOverrideFromContent, rankBackgroundImagePoolItems, imagePoolForOverride, resolveBackgroundCapability, enabledBackgroundModes, canCycleBackgroundOverrideValue, FormRenderer, stableSerialize, prefetchBlockData, isSupportedLoaderEndpoint, PreviewRichTextEditor, RichText, PreviewTextEditor, Text, buildThemeRuntime, renderBlock, siteHeaderManifest, siteFooterManifest, SiteDocumentLayout, SITE_CHROME_CLASS_NAMES, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, buildEditorModelRuntimeFieldsByBlockId, applyCompiledRuntimeFieldsToContent, assertNever2, getBlockDefinition, systemCustomizeFacetDefinitionsForBlock, systemCustomizeFacetAppliesToLayoutVariant, systemCustomizeFacetCurrentValue, systemCustomizeFacetLabelForValue, backgroundColorTokens, ChevronLeft, ChevronRight, createMicrobatcher, unwrapResponse, normalizePublicApiLoaderParams, visibleHeaderClearancePx, LINKED_CONTENT_ENTRY_META_KEY, useMediaEditorOptional, Image, defaultBackgroundOverrideForMode, decodePublicProductCategorySelectorQuery, EDITABLE_SURFACE_FORWARDING_PROP, useSiteChromeCustomizeOptional, assertNever, SITE_CHROME_VISIBLE_HEADER_SELECTOR, getLinkedContentEntryMeta, GRADIENT_PRESETS, resolveImageUrlWithContext, gradientToCss, Upload, MediaEditor, SECTION_BACKGROUND_MIN_SOURCE_WIDTH, SECTION_BACKGROUND_MIN_SOURCE_HEIGHT, parseMediaAssetId, formatSiteChromeBackgroundTokenLabel, planBackgroundOverride, planBackgroundTransition, systemCustomizeFacetNextValue } from './chunk-ZR2GQK2A.mjs';
6
+ import { API_ENDPOINTS, createBearerAPIClient, isPreviewRuntimeSessionEditable, DEFAULT_SURFACE_ID, initPreviewAuth, usePreviewAuth, usePreviewAuthFetch, markPreviewAuthExpired, usePreviewToken } from './chunk-4QNLOTES.mjs';
7
7
  import React10, { createContext, useMemo, useState, useEffect, useRef, useCallback, useId, useReducer, Children, isValidElement, Fragment as Fragment$1, cloneElement, useContext } from 'react';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { createPortal } from 'react-dom';
@@ -4722,11 +4722,11 @@ function LinkedEntryEditEventBridge() {
4722
4722
  }
4723
4723
  var previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
4724
4724
  var PreviewEditorSidebar = React10.lazy(async () => {
4725
- const mod = await import('./PreviewEditorSidebar-HML67UDA.mjs');
4725
+ const mod = await import('./PreviewEditorSidebar-4PH35ZIE.mjs');
4726
4726
  return { default: mod.PreviewEditorSidebar };
4727
4727
  });
4728
4728
  var PreviewEditorUI = React10.lazy(async () => {
4729
- const mod = await import('./PreviewEditorUI-I4BQUU6K.mjs');
4729
+ const mod = await import('./PreviewEditorUI-WHMCRJGM.mjs');
4730
4730
  return { default: mod.PreviewEditorUI };
4731
4731
  });
4732
4732
  var previewPaneContainmentStyle = {
@@ -5027,6 +5027,7 @@ function PreviewShellLayout({
5027
5027
  const editorUI = /* @__PURE__ */ jsx(React10.Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
5028
5028
  PreviewEditorUI,
5029
5029
  {
5030
+ dashboardBaseUrl,
5030
5031
  inMaintenanceMode: maintenanceModeEnabled,
5031
5032
  siteId,
5032
5033
  surfaceId,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { ApiRequestError, markPreviewAuthExpired } from './chunk-LBBPD2IW.mjs';
2
+ import { ApiRequestError, markPreviewAuthExpired } from './chunk-4QNLOTES.mjs';
3
3
  import { createContext, useContext, useRef } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
  import { QueryClient, MutationCache, QueryCache, QueryClientProvider } from '@tanstack/react-query';
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { assertNever2, usePreviewDesignHistoryOrder, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, AMBIENT_BACKGROUND_ROLES, applyPageDesignEditorAction, resolvePreviewSidebarTab, confirmAutosaveBatch, beginAutosaveBatch, enqueueTransaction, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, unsafeAsEditorBlockId, createHistoryState, rejectAutosaveBatch, redoHistory, undoHistory, pushHistoryEntry, idleEditorTransactionQueueState, canRedoHistory, deriveTransactionCapabilities, canUndoHistory, backgroundOverrideEquals, attachRenderableMediaAssetFields, planPageDesignLayoutLookCompatibility, unsafeAsEditorBlockValues } from './chunk-MSHZO4SL.mjs';
3
- import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-LBBPD2IW.mjs';
2
+ import { assertNever2, usePreviewDesignHistoryOrder, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, AMBIENT_BACKGROUND_ROLES, applyPageDesignEditorAction, resolvePreviewSidebarTab, confirmAutosaveBatch, beginAutosaveBatch, enqueueTransaction, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, unsafeAsEditorBlockId, createHistoryState, rejectAutosaveBatch, redoHistory, undoHistory, pushHistoryEntry, idleEditorTransactionQueueState, canRedoHistory, deriveTransactionCapabilities, canUndoHistory, backgroundOverrideEquals, attachRenderableMediaAssetFields, planPageDesignLayoutLookCompatibility, unsafeAsEditorBlockValues } from './chunk-ZR2GQK2A.mjs';
3
+ import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-4QNLOTES.mjs';
4
4
  import { createContext, useState, useRef, useEffect, useMemo, useLayoutEffect, useContext } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6