@riverbankcms/sdk 0.140.0 → 0.141.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 (112) hide show
  1. package/dist/{PreviewEditorSidebar-CUyTzd5z.mjs → PreviewEditorSidebar-Q-fy9GYw.mjs} +3 -3
  2. package/dist/{PreviewEditorUI-Agkw4v5i.mjs → PreviewEditorUI-LYGzgk85.mjs} +2 -2
  3. package/dist/{SdkPreviewModeRuntime-DdbeAdS8.mjs → SdkPreviewModeRuntime-CoPYI5Jq.mjs} +72 -46
  4. package/dist/{SiteChromeCustomizeContext-CqGOz-Kv.mjs → SiteChromeCustomizeContext-D8LePX8x.mjs} +681 -196
  5. package/dist/_dts/api/src/contentRuntime.d.ts +12 -31
  6. package/dist/_dts/api/src/domainConnection.d.ts +4 -0
  7. package/dist/_dts/api/src/footerCompositionContracts.d.ts +25 -0
  8. package/dist/_dts/api/src/index.d.ts +1 -1
  9. package/dist/_dts/api/src/launchReadiness.d.ts +1 -0
  10. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +2 -1
  11. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -26
  12. package/dist/_dts/api/src/siteOnboarding.d.ts +7 -0
  13. package/dist/_dts/billing/src/site-arrangements.d.ts +12 -3
  14. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
  15. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  16. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -0
  17. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +122 -0
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +2 -1
  19. package/dist/_dts/blocks/src/system/blocks/events/shared/eventSelection.d.ts +11 -0
  20. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  21. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  22. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +5 -0
  23. package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
  24. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +27 -1
  25. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -180
  26. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -90
  27. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -1
  28. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +5 -1
  29. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +4 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.state.d.ts +5 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +3 -0
  32. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +10 -3
  33. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +9 -0
  34. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -5
  35. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts +37 -0
  36. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +4 -3
  37. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
  38. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +11 -101
  39. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +7 -2
  40. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +2 -0
  41. package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +12 -0
  42. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +4 -0
  43. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3 -0
  44. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +27 -1
  45. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
  46. package/dist/_dts/sdk/src/version.d.ts +1 -1
  47. package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +17 -1
  48. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +17 -0
  49. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +1 -1
  50. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +16 -0
  51. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +0 -6
  52. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +4 -4
  53. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  54. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +54 -12
  55. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  56. package/dist/client/{BookingConsentAgreement-CuKa82V4.mjs → BookingConsentAgreement-xJeYNdnb.mjs} +2 -2
  57. package/dist/client/{DiscountCodeDisclosure-BbYieKWB.mjs → DiscountCodeDisclosure-DdT6uzl9.mjs} +1 -1
  58. package/dist/client/{EventCombined.client-LTfR1Aby.mjs → EventCombined.client-Cp28uYuM.mjs} +11 -15
  59. package/dist/client/{EventListing.client-DUHpYSuo.mjs → EventListing.client-CD6AJsMr.mjs} +4 -17
  60. package/dist/client/{LeafletStaticMap-CHRupL6m.mjs → LeafletStaticMap-DBsAi9-e.mjs} +1 -1
  61. package/dist/client/{accordion-6HiIFxNL.mjs → accordion-6dwbOKYR.mjs} +1 -1
  62. package/dist/client/{bookingForm-Dlmid43H.mjs → bookingForm-CZE9_qPQ.mjs} +5 -5
  63. package/dist/client/bookings.mjs +175 -93
  64. package/dist/client/{carousel-DmkZRRq_.mjs → carousel-7VHGQARz.mjs} +1 -1
  65. package/dist/client/{cart-CIC24330.mjs → cart-Qg_mvQhh.mjs} +3 -3
  66. package/dist/client/{checkout-D1Zw9imo.mjs → checkout-D84rpgdr.mjs} +3 -3
  67. package/dist/client/client.mjs +602 -139
  68. package/dist/client/{context-Cy1OayHx.mjs → context-Ctp3T0Wr.mjs} +1 -1
  69. package/dist/client/{dates-aDcfoLHr.mjs → dates-DJKFcI_N.mjs} +2 -2
  70. package/dist/client/{eventCalendar-FQxMPAjf.mjs → eventCalendar-CK31z3vs.mjs} +11 -7
  71. package/dist/client/{eventCombined-Dr3ac6Hb.mjs → eventCombined-DiXd-ewn.mjs} +3 -3
  72. package/dist/client/{eventDetails-D-AzUHFQ.mjs → eventDetails-CTRgt2DK.mjs} +4 -4
  73. package/dist/client/{eventListing-B3XxBf3i.mjs → eventListing-Dy9vi_j_.mjs} +3 -3
  74. package/dist/client/{eventRegistration-I6EaokFD.mjs → eventRegistration-CnalYMr2.mjs} +124 -31
  75. package/dist/client/{form-BbWckVWY.mjs → form-eUiMveTT.mjs} +2 -2
  76. package/dist/client/{headerSection-C9qU4Y7x.mjs → headerSection-Dy9kQpB1.mjs} +2 -2
  77. package/dist/client/hooks.mjs +247 -32
  78. package/dist/client/{locationMap-CLCShvlG.mjs → locationMap-DalCmWU0.mjs} +2 -2
  79. package/dist/client/{newsletterForm-Briukxzi.mjs → newsletterForm-SDDPvhS0.mjs} +23 -10
  80. package/dist/client/{pricing-Copadu-2.mjs → pricing-OcMz4SnX.mjs} +1 -1
  81. package/dist/client/{productDetail-oujlRd-r.mjs → productDetail-BQrgHElM.mjs} +3 -3
  82. package/dist/client/{productList-BRiIRUcd.mjs → productList-OnPn_UJj.mjs} +3 -3
  83. package/dist/client/{propsDecoder-CB2KS_ko.mjs → propsDecoder-zBdsnS-N.mjs} +38 -8
  84. package/dist/client/rendering/client.mjs +446 -121
  85. package/dist/client/rendering/islands.mjs +17 -17
  86. package/dist/client/rendering.mjs +601 -138
  87. package/dist/client/{scrollToBlock-B1IS1_ua.mjs → scrollToBlock-BNM4Ob2Y.mjs} +28 -11
  88. package/dist/client/{shop-Vn6yNFED.mjs → shop-Bv1fPTwQ.mjs} +6 -6
  89. package/dist/client/{shop-commerce-BVTqipYp.mjs → shop-commerce-D4KNGaW8.mjs} +5 -5
  90. package/dist/client/{shop-commerce-store-BVnJVy7v.mjs → shop-commerce-store-2N5EV0Rc.mjs} +1 -1
  91. package/dist/client/{shopShared-COIeK77T.mjs → shopShared-DvJGdHTV.mjs} +3 -3
  92. package/dist/client/{useEventFilters-DzIUcS9n.mjs → useEventFilters-BBBvGDHQ.mjs} +17 -11
  93. package/dist/preview-next/client/runtime.mjs +3 -3
  94. package/dist/preview-next/editor-chrome.css +4 -8
  95. package/dist/{sdk-runtime-CnCLvZRv.mjs → sdk-runtime-Defnbfzw.mjs} +1 -1
  96. package/dist/{separator-DKDRJ1oH.mjs → separator-CZXO3Sb0.mjs} +1 -1
  97. package/dist/server/components.mjs +384 -62
  98. package/dist/server/config-validation.mjs +232 -26
  99. package/dist/server/config.mjs +232 -26
  100. package/dist/server/data.mjs +247 -32
  101. package/dist/server/index.mjs +1 -1
  102. package/dist/server/next.mjs +400 -69
  103. package/dist/server/page-converter.mjs +189 -25
  104. package/dist/server/prebuild.mjs +1 -1
  105. package/dist/server/rendering/server.mjs +399 -68
  106. package/dist/server/rendering.mjs +399 -68
  107. package/dist/server/routing.mjs +261 -33
  108. package/dist/server/server.mjs +248 -33
  109. package/dist/server/theme-bridge.mjs +47 -15
  110. package/dist/server/theme.mjs +1 -1
  111. package/dist/styles/index.css +28 -2
  112. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { $ as FooterComposerPanel, $a as Monitor, A as markApplySaving, Aa as DropdownMenu, Ai as buttonStyleSelectionParameterValue, B as setPaletteColors, Ba as X$1, Br as curatedPalettes, C as cancelPreview, D as isPreviewingChange, Da as CollapsibleContent, Dr as curatedSiteStyles, E as dismissWarnings, Ea as Collapsible, F as previewFooterLook, Fa as DropdownMenuTrigger, Fi as buttonStyleSelectionKey, H as syncStyleConfiguratorState, Hi as paletteColorEntries, Ht as useEditorUiStore, I as previewHeaderLayout, It as BlockEditor, Ka as Smartphone, L as previewHeaderStyle, La as Button, M as palettePreviewProjection, Ma as DropdownMenuItem, Mi as resolveButtonStyleSelection, Mr as findFooterLook, N as previewButtonStyle, Na as DropdownMenuLabel, Ni as updateButtonStyleHoverPreference, Nr as getHeaderLayout, O as markApplyFailed, Oa as CollapsibleTrigger, P as previewCuratedPalette, Pa as DropdownMenuSeparator, Pi as updateButtonStyleSelectionChoice, Pr as getHeaderStyle, Q as resolvePreviewSidebarTab, R as previewSiteStyle, Ri as themeButtonClassName, S as applyTypographyDraftPatch, T as deriveStyleConfiguratorCapabilities, U as toggleRow, Ui as paletteColorsSchema, Ut as useEditorUiStoreInstance, V as styleConfiguratorHistoryEntryForPersistedSelection, Vi as VARIANT_ROLES, Wa as Tablet, X as resolveStyleConfiguratorInitialSnapshot, Z as createOptimisticActionRunner, _ as reportPreviewDesignError, _a as TabsContent, aa as SelectContent, at as useUISelector, b as planSiteChromeSelection, bn as listEntryPageContentSlots, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as SelectValue, cn as resolveContentTitle, co as ChevronDown, ct as useEntryController, da as SearchInput, dn as ManifestForm, do as unsafeAsEditorBlockId, eo as Maximize2, f as usePreviewDesignCoordinator, fa as Popover, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as Tabs, gn as createStoreBackend, ha as Input, ia as Select, in as isAdapterReferenceKind, it as ContentFieldsForm, j as openRow, ja as DropdownMenuContent, ji as findButtonStyleRecipe, k as markApplySaved, ka as Surface, ki as buttonStyleHoverPreferenceValue, kn as ThemeScope, kr as getCuratedSiteStyle, l as deriveSiteStylePreviewUpdate, la as Callout, lo as Check, ma as PopoverTrigger, mn as FormRenderer, n as useSiteChromeCustomizeOptional, oa as SelectItem, on as deriveRouteMetadataPresentation, oo as ChevronRight, pa as PopoverContent, pn as createManifestValidation, po as assertNever$1, qa as SlidersHorizontal, s as buildApplySiteStyleSelectionBody, sa as SelectTrigger, sn as resolvePageRouteSlug, so as ChevronLeft, to as LoaderCircle, u as planConfiguratorPreview, ua as CalloutDescription, v as buildSiteChromeSelectionModels, va as TabsList, w as createStyleConfiguratorState, x as applyResolvedSelections, y as cycleSiteChromeSelectionId, ya as TabsTrigger, z as resetTypographyToSaved, za as cn } from "./SiteChromeCustomizeContext-CqGOz-Kv.mjs";
2
+ import { $ as FooterComposerPanel, A as markApplySaving, Aa as CollapsibleTrigger, Ai as buttonStyleHoverPreferenceValue, B as setPaletteColors, Br as curatedPalettes, C as cancelPreview, D as isPreviewingChange, Dr as curatedSiteStyles, E as dismissWarnings, F as previewFooterLook, Fa as DropdownMenuLabel, Fi as updateButtonStyleSelectionChoice, H as syncStyleConfiguratorState, Ha as X$1, Hi as VARIANT_ROLES, Ht as useEditorUiStore, I as previewHeaderLayout, Ia as DropdownMenuSeparator, Ii as buttonStyleSelectionKey, It as BlockEditor, Ja as Smartphone, Ka as Tablet, L as previewHeaderStyle, La as DropdownMenuTrigger, M as palettePreviewProjection, Ma as DropdownMenu, Mi as findButtonStyleRecipe, Mr as findFooterLook, N as previewButtonStyle, Na as DropdownMenuContent, Ni as resolveButtonStyleSelection, Nr as getHeaderLayout, O as markApplyFailed, Oa as Collapsible, P as previewCuratedPalette, Pa as DropdownMenuItem, Pi as updateButtonStyleHoverPreference, Pr as getHeaderStyle, Q as resolvePreviewSidebarTab, R as previewSiteStyle, S as applyTypographyDraftPatch, T as deriveStyleConfiguratorCapabilities, U as toggleRow, Ui as paletteColorEntries, Ut as useEditorUiStoreInstance, V as styleConfiguratorHistoryEntryForPersistedSelection, Va as cn, Wi as paletteColorsSchema, X as resolveStyleConfiguratorInitialSnapshot, Ya as SlidersHorizontal, Z as createOptimisticActionRunner, _ as reportPreviewDesignError, _a as Input, at as useUISelector, b as planSiteChromeSelection, ba as TabsList, bn as listEntryPageContentSlots, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as SelectItem, cn as resolveContentTitle, co as ChevronRight, ct as useEntryController, da as Callout, dn as ManifestForm, do as Check, f as usePreviewDesignCoordinator, fa as CalloutDescription, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as PopoverTrigger, gn as createStoreBackend, ha as PopoverContent, ho as assertNever$1, in as isAdapterReferenceKind, it as ContentFieldsForm, j as openRow, ja as Surface, ji as buttonStyleSelectionParameterValue, k as markApplySaved, ka as CollapsibleContent, kn as ThemeScope, kr as getCuratedSiteStyle, l as deriveSiteStylePreviewUpdate, la as SelectTrigger, lo as ChevronLeft, ma as Popover, mn as FormRenderer, n as useSiteChromeCustomizeOptional, no as Maximize2, oa as Select, on as deriveRouteMetadataPresentation, pa as SearchInput, pn as createManifestValidation, po as unsafeAsEditorBlockId, ro as LoaderCircle, s as buildApplySiteStyleSelectionBody, sa as SelectContent, sn as resolvePageRouteSlug, to as Monitor, u as planConfiguratorPreview, ua as SelectValue, uo as ChevronDown, v as buildSiteChromeSelectionModels, va as Tabs, w as createStyleConfiguratorState, x as applyResolvedSelections, xa as TabsTrigger, y as cycleSiteChromeSelectionId, ya as TabsContent, z as resetTypographyToSaved, za as Button, zi as themeButtonClassName } from "./SiteChromeCustomizeContext-D8LePX8x.mjs";
3
3
  import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-Gjb6r6vz.mjs";
4
- import { t as Separator } from "./separator-DKDRJ1oH.mjs";
5
- import { S as getSiteFontsStorageUrl, _ as usePreviewBlockCustomizeSelectionOptional, b as buildFontPreviewUrl, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, x as generateFontFaceCss, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-DdbeAdS8.mjs";
4
+ import { t as Separator } from "./separator-CZXO3Sb0.mjs";
5
+ import { S as getSiteFontsStorageUrl, _ as usePreviewBlockCustomizeSelectionOptional, b as buildFontPreviewUrl, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, x as generateFontFaceCss, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-CoPYI5Jq.mjs";
6
6
  import React, { createContext, forwardRef, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
8
  import { useQuery, useQueryClient } from "@tanstack/react-query";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { $t as useMultiAutosave, Aa as DropdownMenu, Fa as DropdownMenuTrigger, Ga as Sparkles, Ha as Undo2, Ht as useEditorUiStore, La as Button, Ma as DropdownMenuItem, Nt as useEditor, Qa as Palette, Ra as cva, Sa as DialogDescription, Ta as DialogTitle, Ua as TriangleAlert, Ut as useEditorUiStoreInstance, Vt as classifyHistoryShortcut, Xa as Pencil, Ya as Redo2, Za as PenLine, a as previewDesignHistoryDomainForCommand, ao as EllipsisVertical, ba as Dialog, co as ChevronDown, i as usePreviewDesignHistoryOrder, io as Eye, ja as DropdownMenuContent, lt as useEntryEditorController, n as useSiteChromeCustomizeOptional, na as TooltipContent, o as selectPreviewDesignHistoryDomain, ra as TooltipTrigger, ta as Tooltip, to as LoaderCircle, wa as DialogHeader, xa as DialogContent, za as cn } from "./SiteChromeCustomizeContext-CqGOz-Kv.mjs";
2
+ import { $a as PenLine, $t as useMultiAutosave, Ba as cva, Ca as DialogContent, Da as DialogTitle, Ea as DialogHeader, Ga as TriangleAlert, Ht as useEditorUiStore, La as DropdownMenuTrigger, Ma as DropdownMenu, Na as DropdownMenuContent, Nt as useEditor, Pa as DropdownMenuItem, Qa as Pencil, Sa as Dialog, Ut as useEditorUiStoreInstance, Va as cn, Vt as classifyHistoryShortcut, Wa as Undo2, Za as Redo2, a as previewDesignHistoryDomainForCommand, aa as TooltipTrigger, eo as Palette, i as usePreviewDesignHistoryOrder, ia as TooltipContent, lt as useEntryEditorController, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, oo as Eye, qa as Sparkles, ra as Tooltip, ro as LoaderCircle, so as EllipsisVertical, uo as ChevronDown, wa as DialogDescription, za as Button } from "./SiteChromeCustomizeContext-D8LePX8x.mjs";
3
3
  import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-Gjb6r6vz.mjs";
4
- import { C as FixedBottomSurface, a as usePreviewPageDesignEditorState, c as applyPreviewChromeSurfaceToElement, l as resolvePreviewChromeSurface, o as PREVIEW_CHROME_PORTAL_CLASS_NAME, s as PREVIEW_CHROME_THEME_CLASS_NAME } from "./SdkPreviewModeRuntime-DdbeAdS8.mjs";
4
+ import { C as FixedBottomSurface, a as usePreviewPageDesignEditorState, c as applyPreviewChromeSurfaceToElement, l as resolvePreviewChromeSurface, o as PREVIEW_CHROME_PORTAL_CLASS_NAME, s as PREVIEW_CHROME_THEME_CLASS_NAME } from "./SdkPreviewModeRuntime-CoPYI5Jq.mjs";
5
5
  import * as React$1 from "react";
6
6
  import { useCallback, useEffect, useMemo, useState, useTransition } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { $i as FieldFrame, $n as coerceLinkedContentEntriesPayload, $r as runTransforms, An as containerResponsiveThemeCss, Ar as compileTransitionRuntime, At as RichTextField, Ba as X, Bi as ORDINARY_TEXT_MIN_CONTRAST_RATIO, Bn as compileManifestContentContract, Bt as getBlockManifestFromSdkConfig, Ca as DialogFooter, Ci as isRecord$13, Cn as deriveLaunchReadiness, Cr as retargetCompiledRuntimeFieldsForContentAdjacency, Ct as ButtonVariantField, Di as assertNever$1, Dn as useApiMediaUploader, Dt as ReferenceField, Ei as asDesignBlockId, En as useMediaEditorOptional, Er as componentRuntimeRulesForTheme, Et as MediaField, Fn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Fr as gradientToCss, Ft as LinkWidgetProvider, G as confirmAutosaveBatch, Gi as getFieldIntent, Gn as escapeStyleContent, Gr as backgroundAppearanceColorTokenNames, Gt as canRedoHistory, Hn as buildThemeRuntime, Hr as sectionTransitionFamilies, Ht as useEditorUiStore, Ii as textColorStyle, In as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Ir as GRADIENT_PRESETS, J as idleEditorTransactionQueueState, Ja as RotateCcw, Ji as useSdkConfig, Jn as defaultTransforms, Jr as ctaButton, Jt as pushHistoryEntry, K as deriveTransactionCapabilities, Ki as isHeaderField, Kn as readBlockComposition, Kr as backgroundAppearanceQuickColorTokenNames, Kt as canUndoHistory, La as Button, Li as defaultThemeTokens, Ln as planSiteOverlayHeaderClearance, Lr as GRADIENT_PRESET_IDS, Lt as hideThemeV2RawStyleFields, Mn as makeDefaultBlockComponent, Mt as EditorProvider, Nn as getBlockDefinition, Nt as useEditor, Oi as makeBoundaryId, On as isSupportedLoaderEndpoint, Or as designRuntimeRulesForTheme, Ot as ReferenceWidgetProvider, Pn as projectRecurringSchedule, Pt as LinkField, Q as resolvePreviewSidebarTab, Qi as unmapValueFromSelect, Qn as LINKED_CONTENT_ENTRY_META_KEY, Qr as parseBackgroundContent, Qt as recordsEqual, Rn as visibleHeaderClearancePx, Rr as getGradientPreset, Rt as prepareBlockEditorManifest, Sa as DialogDescription, Si as isObjectRecord, Sn as DEFAULT_LAUNCH_READINESS_INPUT, Sr as retargetCompiledBoundaryRuntimeForContentAdjacency, St as EntryPickerWidgetProvider, Ta as DialogTitle, Ti as pageDesignEditorBackgroundOverrideOwner, Tn as MediaEditorContextProvider, Tr as planPageDesignLayoutLookCompatibility, Tt as FileField, Un as DEFAULT_THEME_RESPONSIVE_MODE, Ur as sectionTransitionFamilyForBoundaryOptionId, Ut as useEditorUiStoreInstance, Va as Upload, Vn as validateManifestDraft, Vr as defaultSectionTransitionVariantForFamily, W as beginAutosaveBatch, Wi as attachRenderableMediaAssetFields, Wn as getResponsiveScopeSpec, Wr as sectionTransitionVariantForBoundaryOptionId, Wt as useOptionalEditorUiStoreInstance, Xi as mapCurrentValueForSelect, Xn as resolvePageRouteTarget, Xt as undoHistory, Y as rejectAutosaveBatch, Yi as hasEmptyOption, Yn as resolveEntryRouteTarget, Yr as bindingSchema, Yt as redoHistory, Zi as mapOptionValueForSelect, Zn as resolveRouteTarget, Zr as planSiteChromePlacement, Zt as unsafeAsLinkedContentEntryId, _ as reportPreviewDesignError, _a as TabsContent, _i as BlockApiProvider, _n as MediaEditor, _o as __exportAll, _r as heroCopyFragment, _t as loadMailingListAuthoringContext, aa as SelectContent, ai as coerceInlineTextWithFallback, an as parseReferenceKind, ar as cardFragment, at as useUISelector, ba as Dialog, bi as eventCalendarListLayoutOptions, br as applyCompiledRuntimeFieldsToContent, bt as IconPickerField, ca as SelectValue, ci as Text$1, cr as blogFeaturedPostFragment, d as PreviewDesignCoordinatorProvider, di as getCurrentResolveImageUrlContext, do as unsafeAsEditorBlockId, dr as formCopyFragment, dt as createSiteOptionWidgetAdapters, ea as useField, ei as parseBlockIconValue, en as useDebouncedLatestSave, er as getLinkedContentEntryMeta, et as renderSiteChromeBlock, fi as resolveImageUrlWithContext, fn as createManifestFormAdapter, fo as unsafeAsEditorBlockValues, fr as testimonialsCarouselFragment, ft as SiteOptionPickerField, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as Tabs, gi as siblingPath, gn as createStoreBackend, go as parseSiteId, gr as ctaRowFragment, gt as MailingListTargetingField, h as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, hi as getAtPath, hn as evaluateVisibility, ho as parseMediaAssetId, hr as heroCtaRowFragment, ht as OfferingsPreviewWidgetProvider, i as usePreviewDesignHistoryOrder, ia as Select, ii as logger, ir as headingFragment, jn as createCustomBlockRegistry, jr as surfaceResolutionContextFromTheme, jt as RichTextWidgetProvider, kn as ThemeScope, kt as useRichTextImagePicker, li as RichText$1, ln as PaletteProvider, lr as singleButtonFragment, lt as useEntryEditorController, m as usePreviewThemeOverlay, mi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, mn as FormRenderer, mo as expectParsedBrandedId, mr as ctaCopyFragment, mt as OfferingsPreviewGroupOrderField, n as useSiteChromeCustomizeOptional, ni as parseGeneratedIconSetId, nn as createSnapshotFromPageRecord, no as Image, nr as ImageResolveContextProvider, nt as PreviewInlineTextEditor, oa as SelectItem, oi as inlineTextToPlainText, oo as ChevronRight, or as faqAccordionFragment, ot as EditableBlockProvider, p as PreviewThemeOverlayProvider, pi as setContextResolveImageUrlContext, po as assertNever$2, pr as testimonialsHeadingFragment, pt as SiteOptionWidgetProvider, q as enqueueTransaction, qi as SdkConfigProvider, qn as getDefaultComponentRegistry, qr as parseBackgroundAppearanceColorToken, qt as createHistoryState, r as PreviewDesignHistoryOrderProvider, ri as renderInlineText, rn as BUILT_IN_REFERENCE_KINDS, ro as GripVertical, rr as richTextFragment, rt as PreviewTextEditor, sa as SelectTrigger, si as isInlineTextEmpty, so as ChevronLeft, sr as faqHeadingFragment, st as EntryControllerProvider, t as SiteChromeCustomizeProvider, ti as parseGeneratedIconAssetId, tn as createRoutingHelpers, tr as clientComponentRegistry, tt as PreviewRichTextEditor, ui as buildResolveImageUrlContext, un as usePalette, uo as parseFooterModuleId, ur as formEmbedFragment, ut as createSiteOptionApiLoader, va as TabsList, vi as calendarWindowQuerySchema, vn as applyPageDesignEditorAction, vr as bodyCopyFragment, vt as MailingListTargetingProvider, wa as DialogHeader, wi as isThemeV2NormalEditorRawStyleFieldName, wn as AMBIENT_BACKGROUND_ROLES, wr as formatSiteChromeBackgroundTokenLabel, wt as ButtonWidgetProvider, xa as DialogContent, xi as bookingConsentCarrierSchema, xn as decodePublicProductCategorySelectorQuery, xr as compileEditorModelRuntime, xt as EntryPickerField, ya as TabsTrigger, yi as eventCalendarListLayoutCompatibleDisplayModeValues, yn as getPageDesignEditorState, yr as defineFragment, yt as InlineTextField, za as cn, zi as parseThemeForPersistence, zn as resolveVariantKey, zr as parseGradientPresetId, zt as stripTopLevelRoutingUi } from "./SiteChromeCustomizeContext-CqGOz-Kv.mjs";
2
+ import { $i as mapOptionValueForSelect, $n as coerceLinkedContentEntriesPayload, $r as runTransforms, An as containerResponsiveThemeCss, Ar as compileTransitionRuntime, At as RichTextField, Bi as parseThemeForPersistence, Bn as compileManifestContentContract, Bt as getBlockManifestFromSdkConfig, Ca as DialogContent, Ci as isRecord$13, Cn as deriveLaunchReadiness, Cr as retargetCompiledRuntimeFieldsForContentAdjacency, Ct as ButtonVariantField, Da as DialogTitle, Di as asDesignBlockId, Dn as useApiMediaUploader, Dt as ReferenceField, Ea as DialogHeader, Ei as pageDesignEditorBackgroundOverrideOwner, En as useMediaEditorOptional, Er as componentRuntimeRulesForTheme, Et as MediaField, Fn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Fr as gradientToCss, Ft as LinkWidgetProvider, G as confirmAutosaveBatch, Gi as paletteModeSchema, Gn as escapeStyleContent, Gr as backgroundAppearanceColorTokenNames, Gt as canRedoHistory, Ha as X, Hn as buildThemeRuntime, Hr as sectionTransitionFamilies, Ht as useEditorUiStore, In as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Ir as GRADIENT_PRESETS, J as idleEditorTransactionQueueState, Ji as isHeaderField, Jn as defaultTransforms, Jr as ctaButton, Jt as pushHistoryEntry, K as deriveTransactionCapabilities, Ki as attachRenderableMediaAssetFields, Kn as readBlockComposition, Kr as backgroundAppearanceQuickColorTokenNames, Kt as canUndoHistory, Li as textColorStyle, Ln as planSiteOverlayHeaderClearance, Lr as GRADIENT_PRESET_IDS, Lt as hideThemeV2RawStyleFields, Mn as makeDefaultBlockComponent, Mt as EditorProvider, Nn as getBlockDefinition, Nt as useEditor, Oi as assertNever$1, On as isSupportedLoaderEndpoint, Or as designRuntimeRulesForTheme, Ot as ReferenceWidgetProvider, Pn as projectRecurringSchedule, Pt as LinkField, Q as resolvePreviewSidebarTab, Qi as mapCurrentValueForSelect, Qn as LINKED_CONTENT_ENTRY_META_KEY, Qr as parseBackgroundContent, Qt as recordsEqual, Ri as defaultThemeTokens, Rn as visibleHeaderClearancePx, Rr as getGradientPreset, Rt as prepareBlockEditorManifest, Sa as Dialog, Si as isObjectRecord, Sn as DEFAULT_LAUNCH_READINESS_INPUT, Sr as retargetCompiledBoundaryRuntimeForContentAdjacency, St as EntryPickerWidgetProvider, Ta as DialogFooter, Ti as isThemeV2NormalEditorRawStyleFieldName, Tn as MediaEditorContextProvider, Tr as planPageDesignLayoutLookCompatibility, Tt as FileField, Ua as Upload, Un as DEFAULT_THEME_RESPONSIVE_MODE, Ur as sectionTransitionFamilyForBoundaryOptionId, Ut as useEditorUiStoreInstance, Va as cn, Vi as ORDINARY_TEXT_MIN_CONTRAST_RATIO, Vn as validateManifestDraft, Vr as defaultSectionTransitionVariantForFamily, W as beginAutosaveBatch, Wi as paletteColorsSchema, Wn as getResponsiveScopeSpec, Wr as sectionTransitionVariantForBoundaryOptionId, Wt as useOptionalEditorUiStoreInstance, Xa as RotateCcw, Xi as useSdkConfig, Xn as resolvePageRouteTarget, Xt as undoHistory, Y as rejectAutosaveBatch, Yi as SdkConfigProvider, Yn as resolveEntryRouteTarget, Yr as bindingSchema, Yt as redoHistory, Zi as hasEmptyOption, Zn as resolveRouteTarget, Zr as planSiteChromePlacement, Zt as unsafeAsLinkedContentEntryId, _ as reportPreviewDesignError, _i as BlockApiProvider, _n as MediaEditor, _o as parseMediaAssetId, _r as heroCopyFragment, _t as loadMailingListAuthoringContext, ai as coerceInlineTextWithFallback, an as parseReferenceKind, ao as GripVertical, ar as cardFragment, at as useUISelector, ba as TabsList, bi as eventCalendarListLayoutOptions, br as applyCompiledRuntimeFieldsToContent, bt as IconPickerField, ca as SelectItem, ci as Text$1, co as ChevronRight, cr as blogFeaturedPostFragment, d as PreviewDesignCoordinatorProvider, di as getCurrentResolveImageUrlContext, dr as formCopyFragment, dt as createSiteOptionWidgetAdapters, ea as unmapValueFromSelect, ei as parseBlockIconValue, en as useDebouncedLatestSave, er as getLinkedContentEntryMeta, et as renderSiteChromeBlock, fi as resolveImageUrlWithContext, fn as createManifestFormAdapter, fo as parseFooterModuleId, fr as testimonialsCarouselFragment, ft as SiteOptionPickerField, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, gi as siblingPath, gn as createStoreBackend, go as expectParsedBrandedId, gr as ctaRowFragment, gt as MailingListTargetingField, h as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, hi as getAtPath, hn as evaluateVisibility, ho as assertNever$2, hr as heroCtaRowFragment, ht as OfferingsPreviewWidgetProvider, i as usePreviewDesignHistoryOrder, ii as logger, io as Image, ir as headingFragment, jn as createCustomBlockRegistry, jr as surfaceResolutionContextFromTheme, jt as RichTextWidgetProvider, ki as makeBoundaryId, kn as ThemeScope, kt as useRichTextImagePicker, la as SelectTrigger, li as RichText$1, ln as PaletteProvider, lo as ChevronLeft, lr as singleButtonFragment, lt as useEntryEditorController, m as usePreviewThemeOverlay, mi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, mn as FormRenderer, mo as unsafeAsEditorBlockValues, mr as ctaCopyFragment, mt as OfferingsPreviewGroupOrderField, n as useSiteChromeCustomizeOptional, na as useField, ni as parseGeneratedIconSetId, nn as createSnapshotFromPageRecord, nr as ImageResolveContextProvider, nt as PreviewInlineTextEditor, oa as Select, oi as inlineTextToPlainText, or as faqAccordionFragment, ot as EditableBlockProvider, p as PreviewThemeOverlayProvider, pi as setContextResolveImageUrlContext, po as unsafeAsEditorBlockId, pr as testimonialsHeadingFragment, pt as SiteOptionWidgetProvider, q as enqueueTransaction, qi as getFieldIntent, qn as getDefaultComponentRegistry, qr as parseBackgroundAppearanceColorToken, qt as createHistoryState, r as PreviewDesignHistoryOrderProvider, ri as renderInlineText, rn as BUILT_IN_REFERENCE_KINDS, rr as richTextFragment, rt as PreviewTextEditor, sa as SelectContent, si as isInlineTextEmpty, sr as faqHeadingFragment, st as EntryControllerProvider, t as SiteChromeCustomizeProvider, ta as FieldFrame, ti as parseGeneratedIconAssetId, tn as createRoutingHelpers, tr as clientComponentRegistry, tt as PreviewRichTextEditor, ua as SelectValue, ui as buildResolveImageUrlContext, un as usePalette, ur as formEmbedFragment, ut as createSiteOptionApiLoader, va as Tabs, vi as calendarWindowQuerySchema, vn as applyPageDesignEditorAction, vo as parseSiteId, vr as bodyCopyFragment, vt as MailingListTargetingProvider, wa as DialogDescription, wi as corners, wn as AMBIENT_BACKGROUND_ROLES, wr as formatSiteChromeBackgroundTokenLabel, wt as ButtonWidgetProvider, xa as TabsTrigger, xi as bookingConsentCarrierSchema, xn as decodePublicProductCategorySelectorQuery, xr as compileEditorModelRuntime, xt as EntryPickerField, ya as TabsContent, yi as eventCalendarListLayoutCompatibleDisplayModeValues, yn as getPageDesignEditorState, yo as __exportAll, yr as defineFragment, yt as InlineTextField, za as Button, zn as resolveVariantKey, zr as parseGradientPresetId, zt as stripTopLevelRoutingUi } from "./SiteChromeCustomizeContext-D8LePX8x.mjs";
3
3
  import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-CN0ewic5.mjs";
4
4
  import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth } from "./previewAuthStore-Gjb6r6vz.mjs";
5
5
  import * as React$1 from "react";
@@ -460,7 +460,7 @@ function pageBlockPosition(index, blockCount) {
460
460
  //#endregion
461
461
  //#region ../blocks/src/pageRendererContracts.ts
462
462
  function buildPageRendererRootRuntime(dataContext) {
463
- const { siteId = null, pageId = null, pathname = null, bookingTimeZone, previewStage = "published", apiBaseUrl = null, portalToken = null, bookingOfferingPresets = [], mailingList = { tag: "not_configured" }, eventRegistrationOverlayEnabled = false, loaderFailures = {} } = dataContext ?? {};
463
+ const { siteId = null, pageId = null, pathname = null, bookingTimeZone, previewStage = "published", apiBaseUrl = null, portalToken = null, bookingOfferingPresets = [], appointmentServicePathPrefix = null, mailingList = { tag: "not_configured" }, eventRegistrationOverlayEnabled = false, loaderFailures = {} } = dataContext ?? {};
464
464
  return {
465
465
  siteId,
466
466
  pageId,
@@ -470,6 +470,7 @@ function buildPageRendererRootRuntime(dataContext) {
470
470
  apiBaseUrl,
471
471
  portalToken,
472
472
  bookingOfferingPresets,
473
+ appointmentServicePathPrefix,
473
474
  mailingList,
474
475
  eventRegistrationOverlayEnabled,
475
476
  loaderFailures
@@ -2022,12 +2023,12 @@ function normalizeContent(block) {
2022
2023
  }
2023
2024
  /**
2024
2025
  * Normalize params for API calls.
2025
- * Converts all values to strings.
2026
+ * Converts supplied values to strings, preserving absent versus explicitly empty params.
2026
2027
  */
2027
2028
  function normalizeParams(input) {
2028
2029
  if (!input || typeof input !== "object") return {};
2029
2030
  const output = {};
2030
- for (const [key, value] of Object.entries(input)) output[key] = coerceToString(value);
2031
+ for (const [key, value] of Object.entries(input)) if (value !== void 0 && value !== null) output[key] = coerceToString(value);
2031
2032
  return output;
2032
2033
  }
2033
2034
  function isNonArrayObject(value) {
@@ -2091,6 +2092,14 @@ function coercePayload(payload) {
2091
2092
  * - Frontend: provide internal API client
2092
2093
  * - SDK: provide SDK client with endpoint mapping
2093
2094
  */
2095
+ function projectDataLoaders(loaders, shouldLoad, blockId, blockKind) {
2096
+ if (!shouldLoad) return [...loaders];
2097
+ return loaders.filter(({ key }) => shouldLoad({
2098
+ blockId,
2099
+ blockKind,
2100
+ loaderKey: key
2101
+ }));
2102
+ }
2094
2103
  function shouldSkipResolvedLoader(input) {
2095
2104
  if (input.loader.requiredParams?.some((param) => !input.params[param]?.trim())) return true;
2096
2105
  return Boolean(input.isValidEndpoint && !input.isValidEndpoint(input.endpoint));
@@ -2119,7 +2128,7 @@ async function prefetchBlockData(page, context, options) {
2119
2128
  return (await prefetchBlockDataWithFailures(page, context, options)).resolvedData;
2120
2129
  }
2121
2130
  async function prefetchBlockDataWithFailures(page, context, options) {
2122
- const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings } = options;
2131
+ const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings, shouldLoad } = options;
2123
2132
  const results = {};
2124
2133
  const loaderFailures = {};
2125
2134
  const tasks = [];
@@ -2136,6 +2145,7 @@ async function prefetchBlockDataWithFailures(page, context, options) {
2136
2145
  loader
2137
2146
  })) : [];
2138
2147
  } else loaders = [];
2148
+ loaders = projectDataLoaders(loaders, shouldLoad, blockId, block.kind);
2139
2149
  if (loaders.length === 0) continue;
2140
2150
  const root = {
2141
2151
  ...context.root ?? {},
@@ -2277,8 +2287,8 @@ function toStringParams(value) {
2277
2287
  for (const [k, v] of Object.entries(value)) if (typeof v === "string") out[k] = v;
2278
2288
  return out;
2279
2289
  }
2280
- function stripEmptyStringValues(params) {
2281
- for (const [key, value] of Object.entries(params)) if (value === "") delete params[key];
2290
+ function stripEmptyStringValues(params, endpoint) {
2291
+ for (const [key, value] of Object.entries(params)) if (value === "" && !(key === "seriesIds" && (endpoint === "listPublicEvents" || endpoint === "listPublicEventCalendarWindow"))) delete params[key];
2282
2292
  }
2283
2293
  function ensureSiteId(params, context) {
2284
2294
  if (!params.siteId && typeof context.siteId === "string" && context.siteId) params.siteId = context.siteId;
@@ -2320,7 +2330,7 @@ function normalizeOrder(orderBy) {
2320
2330
  */
2321
2331
  function normalizeLoaderParams(endpoint, params, context) {
2322
2332
  const out = toStringParams(params);
2323
- stripEmptyStringValues(out);
2333
+ stripEmptyStringValues(out, endpoint);
2324
2334
  if (endpoint === "getPublicFormById") {
2325
2335
  ensureSiteId(out, context);
2326
2336
  if (!out.formId && out.formSlug) {
@@ -7791,6 +7801,15 @@ function resolvePreviewThemeRoles(input) {
7791
7801
  documentTheme: input.renderTheme ?? input.theme
7792
7802
  };
7793
7803
  }
7804
+ z.object({
7805
+ palette: paletteColorsSchema,
7806
+ paletteMode: paletteModeSchema,
7807
+ typography: z.object({
7808
+ headingFamily: z.string().trim().min(1),
7809
+ bodyFamily: z.string().trim().min(1)
7810
+ }).strict(),
7811
+ corners
7812
+ }).strict();
7794
7813
  const DEFAULT_PREVIEW_CHROME_FLOATING_PLACEMENT = Object.freeze({
7795
7814
  kind: "anchor-top-right",
7796
7815
  topPx: 8,
@@ -9231,16 +9250,26 @@ function resolveShellThemeRoles(props) {
9231
9250
  }
9232
9251
  const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
9233
9252
  const PreviewEditorSidebar = React.lazy(async () => {
9234
- return { default: (await import("./PreviewEditorSidebar-CUyTzd5z.mjs")).PreviewEditorSidebar };
9253
+ return { default: (await import("./PreviewEditorSidebar-Q-fy9GYw.mjs")).PreviewEditorSidebar };
9235
9254
  });
9236
9255
  const PreviewEditorUI = React.lazy(async () => {
9237
- return { default: (await import("./PreviewEditorUI-Agkw4v5i.mjs")).PreviewEditorUI };
9256
+ return { default: (await import("./PreviewEditorUI-LYGzgk85.mjs")).PreviewEditorUI };
9238
9257
  });
9239
9258
  const previewPaneContainmentStyle = {
9240
9259
  contain: "layout paint",
9241
9260
  isolation: "isolate",
9242
9261
  transform: "translateZ(0)"
9243
9262
  };
9263
+ function PreviewScrollViewport({ children }) {
9264
+ return /* @__PURE__ */ jsx("div", {
9265
+ className: "relative h-full min-h-0 overflow-hidden bg-muted/30",
9266
+ style: previewPaneContainmentStyle,
9267
+ children: /* @__PURE__ */ jsx("div", {
9268
+ className: "relative flex h-full min-h-0 flex-col overflow-auto",
9269
+ children
9270
+ })
9271
+ });
9272
+ }
9244
9273
  function renderShellProviders(input) {
9245
9274
  if (!input.themeRoles) return input.content;
9246
9275
  const { props, themeRoles } = input;
@@ -9414,44 +9443,40 @@ function PreviewShellLayout(props) {
9414
9443
  contentObserverRef.current?.disconnect();
9415
9444
  };
9416
9445
  }, [viewportMode, viewportWidth]);
9417
- const leftPane = /* @__PURE__ */ jsx("div", {
9418
- className: "relative flex h-full min-h-0 flex-col overflow-auto bg-muted/30",
9419
- style: previewPaneContainmentStyle,
9420
- children: /* @__PURE__ */ jsx(PreviewDocumentContent, {
9421
- rendering,
9422
- themeRuntime,
9446
+ const leftPane = /* @__PURE__ */ jsx(PreviewScrollViewport, { children: /* @__PURE__ */ jsx(PreviewDocumentContent, {
9447
+ rendering,
9448
+ themeRuntime,
9449
+ viewportMode,
9450
+ viewportWidth,
9451
+ scale: useMemo(() => {
9452
+ const ZOOM_PERCENTAGES = {
9453
+ 33: .33,
9454
+ 50: .5,
9455
+ 75: .75,
9456
+ 100: 1
9457
+ };
9458
+ if (viewportMode === "squeeze") return 1;
9459
+ if (zoom === "fit") {
9460
+ if (!containerWidth || containerWidth === 0) return 1;
9461
+ const calculatedScale = containerWidth / (viewportWidth === "full" ? 1440 : viewportWidth);
9462
+ return Math.min(1, calculatedScale);
9463
+ }
9464
+ return ZOOM_PERCENTAGES[zoom];
9465
+ }, [
9423
9466
  viewportMode,
9424
9467
  viewportWidth,
9425
- scale: useMemo(() => {
9426
- const ZOOM_PERCENTAGES = {
9427
- 33: .33,
9428
- 50: .5,
9429
- 75: .75,
9430
- 100: 1
9431
- };
9432
- if (viewportMode === "squeeze") return 1;
9433
- if (zoom === "fit") {
9434
- if (!containerWidth || containerWidth === 0) return 1;
9435
- const calculatedScale = containerWidth / (viewportWidth === "full" ? 1440 : viewportWidth);
9436
- return Math.min(1, calculatedScale);
9437
- }
9438
- return ZOOM_PERCENTAGES[zoom];
9439
- }, [
9440
- viewportMode,
9441
- viewportWidth,
9442
- zoom,
9443
- containerWidth
9444
- ]),
9445
- contentHeight,
9446
- scaleContainerRef,
9447
- contentRef,
9448
- headerNode,
9449
- bannerNode,
9450
- footerNode,
9451
- siteChromeRenderModel,
9452
- children
9453
- })
9454
- });
9468
+ zoom,
9469
+ containerWidth
9470
+ ]),
9471
+ contentHeight,
9472
+ scaleContainerRef,
9473
+ contentRef,
9474
+ headerNode,
9475
+ bannerNode,
9476
+ footerNode,
9477
+ siteChromeRenderModel,
9478
+ children
9479
+ }) });
9455
9480
  const rightPane = /* @__PURE__ */ jsx("div", {
9456
9481
  className: `${PREVIEW_CHROME_THEME_CLASS_NAME} flex h-full min-h-0 flex-col overflow-hidden ${surfaceDocument.surfaceClassName ?? ""}`,
9457
9482
  ...getPreviewChromeSurfaceDataProps(surfaceDocument),
@@ -11553,6 +11578,7 @@ function eventLoaderParams(params) {
11553
11578
  scheduleScope: params.scheduleScope || void 0,
11554
11579
  entryId: params.entryId || void 0,
11555
11580
  seriesId: params.seriesId || void 0,
11581
+ seriesIds: params.seriesIds,
11556
11582
  includeOccurrenceId: params.includeOccurrenceId || void 0
11557
11583
  });
11558
11584
  }