@riverbankcms/sdk 0.146.0 → 0.147.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 (195) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +39 -12
  6. package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +2499 -1682
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +16 -0
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
  12. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  13. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  16. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  17. package/dist/_dts/api/src/bookings.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +587 -561
  19. package/dist/_dts/api/src/eventManagementContracts.d.ts +23 -8
  20. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -1
  21. package/dist/_dts/api/src/index.d.ts +3 -2
  22. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  23. package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
  24. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  25. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  26. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
  27. package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
  28. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  29. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  30. package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -0
  31. package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
  32. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  33. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -18
  34. package/dist/_dts/api/src/siteOnboarding.d.ts +2 -14
  35. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  36. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  37. package/dist/_dts/blocks/src/index.d.ts +1 -1
  38. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +22 -4
  39. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  41. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  42. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  43. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  44. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  45. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  46. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  47. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
  68. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
  69. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  70. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  71. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  72. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  75. package/dist/_dts/core/src/index.d.ts +1 -1
  76. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  77. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  78. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
  79. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  80. package/dist/_dts/core/src/participants.d.ts +0 -38
  81. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +102 -22
  82. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  83. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  84. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -3
  85. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  86. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
  87. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
  88. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -2
  89. package/dist/_dts/sdk/src/version.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  92. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  95. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  96. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  97. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  98. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  99. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  100. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  101. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  102. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  103. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  104. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  105. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  106. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  107. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  108. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  109. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  110. package/dist/_dts/ui/src/badge.d.ts +2 -1
  111. package/dist/_dts/ui/src/button.d.ts +1 -1
  112. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  113. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  114. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  115. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  116. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  117. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  118. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  119. package/dist/_dts/ui/src/index.d.ts +4 -1
  120. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  121. package/dist/_dts/ui/src/popover.d.ts +7 -1
  122. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  123. package/dist/_dts/ui/src/surface.d.ts +1 -1
  124. package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  125. package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
  126. package/dist/client/{DiscountCodeDisclosure-CsOtjFY7.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  127. package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  128. package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  129. package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  130. package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  131. package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  132. package/dist/client/{accordion-BEQNSptH.mjs → accordion-CoT5g7zo.mjs} +1 -1
  133. package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-BWxB46xD.mjs} +226 -106
  134. package/dist/client/bookings.mjs +367 -188
  135. package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-DtNYWFd3.mjs} +2 -2
  136. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  137. package/dist/client/{cart-CnWi30zJ.mjs → cart-z4qZih1Y.mjs} +3 -3
  138. package/dist/client/{checkout-f3nkWgd4.mjs → checkout-DpL7euFH.mjs} +3 -3
  139. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  140. package/dist/client/client.mjs +2125 -1420
  141. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  142. package/dist/client/{context-Bc8T6pCe.mjs → context-C8TinPJc.mjs} +1 -1
  143. package/dist/client/{dates-DUsCEzLb.mjs → dates-vwwxTeB0.mjs} +2 -2
  144. package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  145. package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  146. package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  147. package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-DajjWgOv.mjs} +4 -4
  148. package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-DMq9gMA-.mjs} +109 -41
  149. package/dist/client/{form-C2h3YAcg.mjs → form-Qf6qTbos.mjs} +5 -5
  150. package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  151. package/dist/client/hooks.mjs +661 -116
  152. package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  153. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  154. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  155. package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DzCLSP4S.mjs} +6 -6
  156. package/dist/client/{pricing-HHx3IgBz.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  157. package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  158. package/dist/client/{productList-CtCv-Nmx.mjs → productList-zaapKSl-.mjs} +3 -3
  159. package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-CwvvNOHx.mjs} +52 -6
  160. package/dist/client/rendering/client.mjs +951 -369
  161. package/dist/client/rendering/islands.mjs +19 -19
  162. package/dist/client/rendering.mjs +2153 -1393
  163. package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  164. package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  165. package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  166. package/dist/client/{shop-DQXrQ8kJ.mjs → shop-mktkXvbV.mjs} +7 -7
  167. package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-TqExh235.mjs} +5 -5
  168. package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  169. package/dist/preview-next/before-render.mjs +122 -50
  170. package/dist/preview-next/client/runtime.mjs +4 -4
  171. package/dist/preview-next/editor-base.css +53 -2
  172. package/dist/preview-next/editor-chrome.css +7 -4
  173. package/dist/preview-next/keepAlive.mjs +122 -50
  174. package/dist/preview-next/middleware.mjs +122 -50
  175. package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-C_EHQ5XA.mjs} +122 -50
  176. package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  177. package/dist/{separator-BpHS1KZK.mjs → separator-C9qDP95Z.mjs} +1 -1
  178. package/dist/server/components.mjs +25345 -24942
  179. package/dist/server/config-validation.mjs +711 -163
  180. package/dist/server/config.mjs +711 -163
  181. package/dist/server/data.mjs +709 -162
  182. package/dist/server/index.mjs +123 -51
  183. package/dist/server/navigation.mjs +13 -2
  184. package/dist/server/next.mjs +4538 -4169
  185. package/dist/server/page-converter.mjs +107 -64
  186. package/dist/server/prebuild.mjs +1 -1
  187. package/dist/server/rendering/server.mjs +2509 -2104
  188. package/dist/server/rendering.mjs +25526 -25104
  189. package/dist/server/routing.mjs +750 -289
  190. package/dist/server/server.mjs +671 -148
  191. package/dist/server/theme-bridge.mjs +66 -17
  192. package/dist/server/theme.mjs +5 -1
  193. package/dist/styles/index.css +32 -4
  194. package/package.json +1 -1
  195. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
package/CHANGELOG.md CHANGED
@@ -7,6 +7,18 @@ and then gets the version it went out in.
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ### Event pushes can tell the people booked about a venue move (#1501)
11
+
12
+ - The Event upsert body takes an optional `attendeeNotification`, the same
13
+ intent shape the dashboard's "let everyone booked know" tick sends. Leaving it
14
+ out never emails anyone, so existing pushes behave as before. With
15
+ `{ kind: 'notify_confirmed_attendees', … }`, a push that moves an existing
16
+ run to a different venue sends the dashboard's venue-change email once the
17
+ write has succeeded; a failed send doesn't fail the push.
18
+ - `riverbankcms push` (events and `all`) prints a line for each existing run
19
+ whose venue changes, saying the people booked won't be told, and `--notify`
20
+ sets the intent on those pushes.
21
+
10
22
  ### Preview render stage and published block placement (#1498)
11
23
 
12
24
  - Successful `loadPage`, `loadContent`, `usePage`, and `useContent` results now
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { $ as FooterComposerPanel, $i as resolveSdkFooterMode, A as markApplySaving, An as ThemeScope, Ar as getCuratedSiteStyle, B as setPaletteColors, Ba as DropdownMenu, Bi as findButtonStyleRecipe, Br as curatedPalettes, C as cancelPreview, Ca as PopoverContent, D as isPreviewingChange, Da as TabsContent, E as dismissWarnings, Ea as Tabs, Eo as assertNever$1, F as previewFooterLook, Ga as DropdownMenuTrigger, H as syncStyleConfiguratorState, Ha as DropdownMenuItem, Hi as updateButtonStyleHoverPreference, I as previewHeaderLayout, Ia as Collapsible, L as previewHeaderStyle, La as CollapsibleContent, Lt as BlockEditor, M as palettePreviewProjection, Mr as findFooterLook, N as previewButtonStyle, Nr as getHeaderLayout, O as markApplyFailed, Oa as TabsList, Or as curatedSiteStyles, P as previewCuratedPalette, Pr as getHeaderStyle, Q as resolvePreviewSidebarTab, R as previewSiteStyle, Ra as CollapsibleTrigger, Ri as buttonStyleHoverPreferenceValue, S as applyTypographyDraftPatch, Sa as Popover, T as deriveStyleConfiguratorCapabilities, Ta as Input, U as toggleRow, Ua as DropdownMenuLabel, Ui as updateButtonStyleSelectionChoice, Ut as useEditorUiStore, V as styleConfiguratorHistoryEntryForPersistedSelection, Va as DropdownMenuContent, Vi as resolveButtonStyleSelection, Wa as DropdownMenuSeparator, Wi as buttonStyleSelectionKey, Wt as useEditorUiStoreInstance, X as resolveStyleConfiguratorInitialSnapshot, Xa as X$1, Xi as paletteColorEntries, Ya as cn, Yi as VARIANT_ROLES, Z as createOptimisticActionRunner, Zi as paletteColorsSchema, _ as reportPreviewDesignError, _a as SelectTrigger, _n as createStoreBackend, _o as ChevronLeft, an as isAdapterReferenceKind, at as ContentFieldsForm, b as planSiteChromeSelection, ba as CalloutDescription, c as selectionSnapshotFromApplySiteStyleSelectionResponse, cn as resolvePageRouteSlug, do as LoaderCircle, eo as Tablet, f as usePreviewDesignCoordinator, fn as ManifestForm, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as SelectItem, go as ChevronRight, ha as SelectContent, hn as FormRenderer, j as openRow, k as markApplySaved, ka as TabsTrigger, l as deriveSiteStylePreviewUpdate, li as ThemedButtonSpecimen, ln as resolveContentTitle, lo as Monitor, lt as useEntryController, ma as Select, mn as createManifestValidation, n as useSiteChromeCustomizeOptional, no as Smartphone, ot as useUISelector, qa as Button, ro as SlidersHorizontal, s as buildApplySiteStyleSelectionBody, sn as deriveRouteMetadataPresentation, u as planConfiguratorPreview, uo as Maximize2, v as buildSiteChromeSelectionModels, va as SelectValue, vo as ChevronDown, w as createStyleConfiguratorState, wa as PopoverTrigger, wo as unsafeAsEditorBlockId, x as applyResolvedSelections, xa as SearchInput, xn as listEntryPageContentSlots, y as cycleSiteChromeSelectionId, ya as Callout, yo as Check, z as resetTypographyToSaved, za as Surface, zi as buttonStyleSelectionParameterValue } from "./SiteChromeCustomizeContext-DEACFH9m.mjs";
3
- import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-h5IgbSp4.mjs";
4
- import { t as Separator } from "./separator-BpHS1KZK.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-h2ti3Hch.mjs";
2
+ import { $ as FooterComposerPanel, $i as resolveSdkFooterMode, A as markApplySaving, An as ThemeScope, Ar as getCuratedSiteStyle, B as setPaletteColors, Ba as DropdownMenu, Bi as findButtonStyleRecipe, Br as curatedPalettes, C as cancelPreview, Ca as PopoverContent, D as isPreviewingChange, Da as TabsContent, E as dismissWarnings, Ea as Tabs, Eo as assertNever$1, F as previewFooterLook, Ga as DropdownMenuTrigger, H as syncStyleConfiguratorState, Ha as DropdownMenuItem, Hi as updateButtonStyleHoverPreference, I as previewHeaderLayout, Ia as Collapsible, L as previewHeaderStyle, La as CollapsibleContent, Lt as BlockEditor, M as palettePreviewProjection, Mr as findFooterLook, N as previewButtonStyle, Nr as getHeaderLayout, O as markApplyFailed, Oa as TabsList, Or as curatedSiteStyles, P as previewCuratedPalette, Pr as getHeaderStyle, Q as resolvePreviewSidebarTab, R as previewSiteStyle, Ra as CollapsibleTrigger, Ri as buttonStyleHoverPreferenceValue, S as applyTypographyDraftPatch, Sa as Popover, T as deriveStyleConfiguratorCapabilities, Ta as Input, U as toggleRow, Ua as DropdownMenuLabel, Ui as updateButtonStyleSelectionChoice, Ut as useEditorUiStore, V as styleConfiguratorHistoryEntryForPersistedSelection, Va as DropdownMenuContent, Vi as resolveButtonStyleSelection, Wa as DropdownMenuSeparator, Wi as buttonStyleSelectionKey, Wt as useEditorUiStoreInstance, X as resolveStyleConfiguratorInitialSnapshot, Xa as X$1, Xi as paletteColorEntries, Ya as cn, Yi as VARIANT_ROLES, Z as createOptimisticActionRunner, Zi as paletteColorsSchema, _ as reportPreviewDesignError, _a as SelectTrigger, _n as createStoreBackend, _o as ChevronLeft, an as isAdapterReferenceKind, at as ContentFieldsForm, b as planSiteChromeSelection, ba as CalloutDescription, c as selectionSnapshotFromApplySiteStyleSelectionResponse, cn as resolvePageRouteSlug, do as LoaderCircle, eo as Tablet, f as usePreviewDesignCoordinator, fn as ManifestForm, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as SelectItem, go as ChevronRight, ha as SelectContent, hn as FormRenderer, j as openRow, k as markApplySaved, ka as TabsTrigger, l as deriveSiteStylePreviewUpdate, li as ThemedButtonSpecimen, ln as resolveContentTitle, lo as Monitor, lt as useEntryController, ma as Select, mn as createManifestValidation, n as useSiteChromeCustomizeOptional, no as Smartphone, ot as useUISelector, qa as Button, ro as SlidersHorizontal, s as buildApplySiteStyleSelectionBody, sn as deriveRouteMetadataPresentation, u as planConfiguratorPreview, uo as Maximize2, v as buildSiteChromeSelectionModels, va as SelectValue, vo as ChevronDown, w as createStyleConfiguratorState, wa as PopoverTrigger, wo as unsafeAsEditorBlockId, x as applyResolvedSelections, xa as SearchInput, xn as listEntryPageContentSlots, y as cycleSiteChromeSelectionId, ya as Callout, yo as Check, z as resetTypographyToSaved, za as Surface, zi as buttonStyleSelectionParameterValue } from "./SiteChromeCustomizeContext-DQXZXiqS.mjs";
3
+ import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-C_EHQ5XA.mjs";
4
+ import { t as Separator } from "./separator-C9qDP95Z.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-DMMNCngt.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";
@@ -1617,14 +1617,38 @@ function formatBlockKindLabel(blockKind) {
1617
1617
  //#endregion
1618
1618
  //#region ../preview-next/src/client/preview/PageBlockEditorPanel.tsx
1619
1619
  function usePageBlockEditorPanelControls(uiStoreForBlockEditor) {
1620
- const customizeSelection = usePreviewBlockCustomizeSelectionOptional();
1620
+ const customize = useBlockCustomizeNavigation();
1621
1621
  const [designOpen, setDesignOpen] = useState(false);
1622
- const [customizeOpen, setCustomizeOpen] = useState(false);
1623
1622
  const [contentOpen, setContentOpen] = useState(true);
1624
1623
  const [detailsOpen, setDetailsOpen] = useState(false);
1625
1624
  const pendingDesignOpenRequest = useUISelector(uiStoreForBlockEditor, (state) => state.previewDesignOpenRequest);
1626
1625
  const [designOpenRequest, setDesignOpenRequest] = useState(null);
1627
1626
  const designSectionRef = useRef(null);
1627
+ useEffect(() => {
1628
+ if (!pendingDesignOpenRequest) return;
1629
+ setDesignOpenRequest(pendingDesignOpenRequest);
1630
+ setDesignOpen(true);
1631
+ designSectionRef.current?.scrollIntoView({
1632
+ block: "start",
1633
+ behavior: "smooth"
1634
+ });
1635
+ uiStoreForBlockEditor.getState().consumePreviewDesignOpenRequest(pendingDesignOpenRequest.requestId);
1636
+ }, [pendingDesignOpenRequest, uiStoreForBlockEditor]);
1637
+ return {
1638
+ ...customize,
1639
+ designOpen,
1640
+ setDesignOpen,
1641
+ contentOpen,
1642
+ setContentOpen,
1643
+ detailsOpen,
1644
+ setDetailsOpen,
1645
+ designOpenRequest,
1646
+ designSectionRef
1647
+ };
1648
+ }
1649
+ function useBlockCustomizeNavigation() {
1650
+ const customizeSelection = usePreviewBlockCustomizeSelectionOptional();
1651
+ const [customizeOpen, setCustomizeOpen] = useState(false);
1628
1652
  const customizeSectionRef = useRef(null);
1629
1653
  const selectionKind = customizeSelection?.selection.kind;
1630
1654
  const selectionRequestId = customizeSelection?.selection.kind === "selected" ? customizeSelection.selection.requestId : 0;
@@ -1632,46 +1656,39 @@ function usePageBlockEditorPanelControls(uiStoreForBlockEditor) {
1632
1656
  customizeSelection?.inspectBlock(blockId);
1633
1657
  setCustomizeOpen(true);
1634
1658
  }, [customizeSelection]);
1659
+ const handleCustomizeMenuClose = useCallback(() => {
1660
+ customizeSectionRef.current?.focus({ preventScroll: true });
1661
+ customizeSectionRef.current?.scrollIntoView({
1662
+ block: "start",
1663
+ behavior: "smooth"
1664
+ });
1665
+ }, []);
1635
1666
  const blockActionPresentation = useMemo(() => customizeSelection ? {
1636
1667
  kind: "menu",
1637
1668
  customize: {
1638
1669
  kind: "external",
1639
- onSelect: handleCustomizeBlock
1670
+ onSelect: handleCustomizeBlock,
1671
+ onAfterMenuClose: handleCustomizeMenuClose
1640
1672
  }
1641
1673
  } : {
1642
1674
  kind: "menu",
1643
1675
  customize: { kind: "modal" }
1644
- }, [customizeSelection, handleCustomizeBlock]);
1645
- useEffect(() => {
1646
- if (selectionKind === "selected") {
1647
- setCustomizeOpen(true);
1648
- customizeSectionRef.current?.scrollIntoView({
1649
- block: "start",
1650
- behavior: "smooth"
1651
- });
1652
- }
1653
- }, [selectionKind, selectionRequestId]);
1676
+ }, [
1677
+ customizeSelection,
1678
+ handleCustomizeBlock,
1679
+ handleCustomizeMenuClose
1680
+ ]);
1654
1681
  useEffect(() => {
1655
- if (!pendingDesignOpenRequest) return;
1656
- setDesignOpenRequest(pendingDesignOpenRequest);
1657
- setDesignOpen(true);
1658
- designSectionRef.current?.scrollIntoView({
1682
+ if (selectionKind !== "selected") return;
1683
+ setCustomizeOpen(true);
1684
+ customizeSectionRef.current?.scrollIntoView({
1659
1685
  block: "start",
1660
1686
  behavior: "smooth"
1661
1687
  });
1662
- uiStoreForBlockEditor.getState().consumePreviewDesignOpenRequest(pendingDesignOpenRequest.requestId);
1663
- }, [pendingDesignOpenRequest, uiStoreForBlockEditor]);
1688
+ }, [selectionKind, selectionRequestId]);
1664
1689
  return {
1665
- designOpen,
1666
- setDesignOpen,
1667
1690
  customizeOpen,
1668
1691
  setCustomizeOpen,
1669
- contentOpen,
1670
- setContentOpen,
1671
- detailsOpen,
1672
- setDetailsOpen,
1673
- designOpenRequest,
1674
- designSectionRef,
1675
1692
  customizeSectionRef,
1676
1693
  blockActionPresentation
1677
1694
  };
@@ -1698,7 +1715,7 @@ function PageBlockEditorPanel(props) {
1698
1715
  bookingOfferingPresets: props.bookingOfferingPresets,
1699
1716
  sdkConfig: props.sdkConfig ?? null,
1700
1717
  children: /* @__PURE__ */ jsxs("div", {
1701
- className: `min-h-0 flex-1 space-y-0 ${takeover ? "flex flex-col overflow-hidden" : "overflow-auto"}`,
1718
+ className: `min-h-0 flex-1 space-y-0 ${takeover ? "flex flex-col overflow-hidden" : "overflow-x-hidden overflow-y-auto"}`,
1702
1719
  "data-design-takeover-active": takeover ? "true" : "false",
1703
1720
  children: [
1704
1721
  /* @__PURE__ */ jsx(LinkedEntrySection, {
@@ -1770,11 +1787,12 @@ function StandardSection({ label, open, onOpenChange, hidden, sectionRef, childr
1770
1787
  open,
1771
1788
  onOpenChange,
1772
1789
  children: /* @__PURE__ */ jsxs("div", {
1773
- ref: sectionRef,
1774
1790
  className: "border-b",
1775
1791
  children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
1776
1792
  asChild: true,
1777
1793
  children: /* @__PURE__ */ jsxs("div", {
1794
+ ref: sectionRef,
1795
+ tabIndex: sectionRef ? 0 : void 0,
1778
1796
  className: "flex cursor-pointer items-center gap-2 px-4 py-3 hover:bg-accent/40",
1779
1797
  children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${open ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
1780
1798
  className: "text-sm font-semibold",
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { $a as TriangleAlert, Aa as Dialog, Ba as DropdownMenu, Fa as DialogTitle, Ga as DropdownMenuTrigger, Ha as DropdownMenuItem, Ht as classifyHistoryShortcut, Ja as cva, Ma as DialogDescription, Pa as DialogHeader, Pt as useEditor, Qa as Undo2, Ut as useEditorUiStore, Va as DropdownMenuContent, Wt as useEditorUiStoreInstance, Ya as cn, a as previewDesignHistoryDomainForCommand, ao as Redo2, co as Palette, da as Tooltip, do as LoaderCircle, en as useMultiAutosave, fa as TooltipContent, ho as EllipsisVertical, i as usePreviewDesignHistoryOrder, ja as DialogContent, mo as Eye, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, oo as Pencil, pa as TooltipTrigger, qa as Button, so as PenLine, to as Sparkles, ut as useEntryEditorController, vo as ChevronDown } from "./SiteChromeCustomizeContext-DEACFH9m.mjs";
3
- import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-h5IgbSp4.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-h2ti3Hch.mjs";
2
+ import { $a as TriangleAlert, Aa as Dialog, Ba as DropdownMenu, Fa as DialogTitle, Ga as DropdownMenuTrigger, Ha as DropdownMenuItem, Ht as classifyHistoryShortcut, Ja as cva, Ma as DialogDescription, Pa as DialogHeader, Pt as useEditor, Qa as Undo2, Ut as useEditorUiStore, Va as DropdownMenuContent, Wt as useEditorUiStoreInstance, Ya as cn, a as previewDesignHistoryDomainForCommand, ao as Redo2, co as Palette, da as Tooltip, do as LoaderCircle, en as useMultiAutosave, fa as TooltipContent, ho as EllipsisVertical, i as usePreviewDesignHistoryOrder, ja as DialogContent, mo as Eye, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, oo as Pencil, pa as TooltipTrigger, qa as Button, so as PenLine, to as Sparkles, ut as useEntryEditorController, vo as ChevronDown } from "./SiteChromeCustomizeContext-DQXZXiqS.mjs";
3
+ import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-C_EHQ5XA.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-DMMNCngt.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 { n as markPreviewAuthExpired, s as ApiRequestError } from "./previewAuthStore-h5IgbSp4.mjs";
2
+ import { n as markPreviewAuthExpired, s as ApiRequestError } from "./previewAuthStore-C_EHQ5XA.mjs";
3
3
  import { createContext, useContext, useRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { MutationCache, QueryCache, QueryClient, QueryClientProvider } from "@tanstack/react-query";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { $i as resolveSdkFooterMode, $n as resolveRouteTarget, $r as parseBackgroundAppearanceColorToken, $t as recordsEqual, Aa as Dialog, Ai as isRecord$11, An as ThemeScope, Ao as __exportAll, At as useRichTextImagePicker, Bn as resolveVariantKey, Bt as stripTopLevelRoutingUi, Ci as siblingPath, Cn as DEFAULT_LAUNCH_READINESS_INPUT, Co as parseMailingListPlacementTargeting, Cr as compileEditorModelRuntime, Ct as EntryPickerWidgetProvider, Da as TabsContent, Di as eventCalendarListLayoutOptions, Dn as useMediaEditorOptional, Do as expectParsedBrandedId, Dr as componentRuntimeRulesForTheme, Dt as MediaField, Ea as Tabs, Ei as eventCalendarListLayoutCompatibleDisplayModeValues, En as MediaEditorContextProvider, Eo as assertNever$2, Er as resolvePageDesignEditorBoundaryForChoice, Et as FileField, Fa as DialogTitle, Fi as asDesignBlockId, Fn as projectRecurringSchedule, Fr as gradientToCss, Ft as LinkField, G as confirmAutosaveBatch, Gi as textColorStyle, Gn as getResponsiveScopeSpec, Gr as sectionFactsForContent, Gt as useOptionalEditorUiStoreInstance, Hn as validateManifestDraft, Hr as userPinnedDesignChoice, Ii as assertNever$1, In as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Ir as GRADIENT_PRESETS, It as LinkWidgetProvider, J as idleEditorTransactionQueueState, Ji as ORDINARY_TEXT_MIN_CONTRAST_RATIO, Jn as readBlockComposition, Jr as sectionTransitionFamilies, Jt as createHistoryState, K as deriveTransactionCapabilities, Ki as defaultThemeTokens, Kn as escapeStyleContent, Kr as boundaryTreatmentForBoundaryOptionId, Kt as canRedoHistory, Li as makeBoundaryId, Ln as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Lr as GRADIENT_PRESET_IDS, Ma as DialogDescription, Mi as isThemeV2NormalEditorRawStyleFieldName, Mn as createCustomBlockRegistry, Mt as RichTextWidgetProvider, Na as DialogFooter, Ni as pageDesignEditorBackgroundOverrideOwner, Nn as makeDefaultBlockComponent, Nt as EditorProvider, Oa as TabsList, Oi as bookingConsentCarrierSchema, On as useApiMediaUploader, Oo as parseMediaAssetId, Ot as ReferenceField, Pa as DialogHeader, Pi as stripStaleTransitionStyleGroup, Pn as getBlockDefinition, Pt as useEditor, Q as resolvePreviewSidebarTab, Qi as paletteModeSchema, Qn as resolvePageRouteTarget, Qr as backgroundAppearanceQuickColorTokenNames, Qt as unsafeAsLinkedContentEntryId, Rn as planSiteOverlayHeaderClearance, Rr as getGradientPreset, Rt as hideThemeV2RawStyleFields, Si as getAtPath, Sn as decodePublicProductCategorySelectorQuery, So as parseFooterModuleId, Sr as applyCompiledRuntimeFieldsToContent, St as EntryPickerField, Ti as calendarWindowQuerySchema, Tn as AMBIENT_BACKGROUND_ROLES, To as unsafeAsEditorBlockValues, Tr as planPageDesignLayoutLookCompatibility, Tt as ButtonWidgetProvider, Un as buildThemeRuntime, Ur as boundaryLayout, Ut as useEditorUiStore, Vn as compileManifestContentContract, Vr as autoDesignChoice, Vt as getBlockManifestFromSdkConfig, W as beginAutosaveBatch, Wn as DEFAULT_THEME_RESPONSIVE_MODE, Wr as composeBoundary, Wt as useEditorUiStoreInstance, Xa as X, Xn as defaultTransforms, Xr as sectionTransitionVariantForBoundaryOptionId, Xt as redoHistory, Y as rejectAutosaveBatch, Ya as cn, Yn as getDefaultComponentRegistry, Yr as sectionTransitionFamilyForBoundaryOptionId, Yt as pushHistoryEntry, Za as Upload, Zi as paletteColorsSchema, Zn as resolveEntryRouteTarget, Zr as backgroundAppearanceColorTokenNames, Zt as undoHistory, _ as reportPreviewDesignError, _a as SelectTrigger, _i as buildResolveImageUrlContext, _n as createStoreBackend, _o as ChevronLeft, _r as heroCtaRowFragment, _t as MailingListTargetingField, aa as hasEmptyOption, ai as runTransforms, ar as richTextFragment, bi as setContextResolveImageUrlContext, bn as getPageDesignEditorState, bo as buildMailingListSignupBlockSourceRef, br as bodyCopyFragment, bt as InlineTextField, ca as unmapValueFromSelect, ci as parseGeneratedIconSetId, cr as faqAccordionFragment, ct as EntryControllerProvider, d as PreviewDesignCoordinatorProvider, di as logger, dn as usePalette, dr as singleButtonFragment, dt as createSiteOptionApiLoader, ea as attachRenderableMediaAssetFields, ei as ctaButton, er as LINKED_CONTENT_ENTRY_META_KEY, et as renderSiteChromeBlock, fi as coerceInlineTextWithFallback, fo as Image, fr as formEmbedFragment, ft as createSiteOptionWidgetAdapters, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as SelectItem, gi as RichText$1, gn as evaluateVisibility, go as ChevronRight, gr as ctaCopyFragment, gt as OfferingsPreviewWidgetProvider, h as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, ha as SelectContent, hi as Text$1, hn as FormRenderer, hr as testimonialsHeadingFragment, ht as OfferingsPreviewGroupOrderField, i as usePreviewDesignHistoryOrder, ia as useSdkConfig, ii as parseBackgroundContent, in as BUILT_IN_REFERENCE_KINDS, io as RotateCcw, ir as ImageResolveContextProvider, it as PREVIEW_EDITABLE_OUTLINE, ja as DialogContent, ji as corners, jn as containerResponsiveThemeCss, jr as surfaceResolutionContextFromTheme, jt as RichTextField, ka as TabsTrigger, ki as isObjectRecord, kn as isSupportedLoaderEndpoint, ko as parseSiteId, kr as designRuntimeRulesForTheme, kt as ReferenceWidgetProvider, la as FieldFrame, lr as faqHeadingFragment, m as usePreviewThemeOverlay, ma as Select, mi as isInlineTextEmpty, mr as testimonialsCarouselFragment, mt as SiteOptionWidgetProvider, n as useSiteChromeCustomizeOptional, na as isHeaderField, nn as createRoutingHelpers, nr as getLinkedContentEntryMeta, nt as PreviewInlineTextEditor, oa as mapCurrentValueForSelect, oi as parseBlockIconValue, on as parseReferenceKind, or as headingFragment, ot as useUISelector, p as PreviewThemeOverlayProvider, pi as inlineTextToPlainText, pn as createManifestFormAdapter, po as GripVertical, pr as formCopyFragment, pt as SiteOptionPickerField, q as enqueueTransaction, qa as Button, qi as parseThemeForPersistence, qn as mergeContentWithBlockStyleOverrides, qr as defaultSectionTransitionVariantForFamily, qt as canUndoHistory, r as PreviewDesignHistoryOrderProvider, ra as SdkConfigProvider, ri as planSiteChromePlacement, rn as createSnapshotFromPageRecord, rr as clientComponentRegistry, rt as PreviewTextEditor, sa as mapOptionValueForSelect, si as parseGeneratedIconAssetId, sr as cardFragment, st as EditableBlockProvider, t as SiteChromeCustomizeProvider, ta as getFieldIntent, ti as bindingSchema, tn as useDebouncedLatestSave, tr as coerceLinkedContentEntriesPayload, tt as PreviewRichTextEditor, ua as useField, ui as renderInlineText, un as PaletteProvider, ur as blogFeaturedPostFragment, ut as useEntryEditorController, va as SelectValue, vi as getCurrentResolveImageUrlContext, vn as MediaEditor, vr as ctaRowFragment, vt as loadMailingListAuthoringContext, wi as BlockApiProvider, wn as deriveLaunchReadiness, wo as unsafeAsEditorBlockId, wr as formatSiteChromeBackgroundTokenLabel, wt as ButtonVariantField, xi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, xo as sameMailingListPlacementTargeting, xr as defineFragment, xt as IconPickerField, yi as resolveImageUrlWithContext, yn as applyPageDesignEditorAction, yr as heroCopyFragment, yt as MailingListTargetingProvider, zn as visibleHeaderClearancePx, zr as parseGradientPresetId, zt as prepareBlockEditorManifest } from "./SiteChromeCustomizeContext-DEACFH9m.mjs";
3
- import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-Cg51xq1w.mjs";
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-h5IgbSp4.mjs";
2
+ import { $i as resolveSdkFooterMode, $n as resolveRouteTarget, $r as parseBackgroundAppearanceColorToken, $t as recordsEqual, Aa as Dialog, Ai as isRecord$11, An as ThemeScope, Ao as __exportAll, At as useRichTextImagePicker, Bn as resolveVariantKey, Bt as stripTopLevelRoutingUi, Ci as siblingPath, Cn as DEFAULT_LAUNCH_READINESS_INPUT, Co as parseMailingListPlacementTargeting, Cr as compileEditorModelRuntime, Ct as EntryPickerWidgetProvider, Da as TabsContent, Di as eventCalendarListLayoutOptions, Dn as useMediaEditorOptional, Do as expectParsedBrandedId, Dr as componentRuntimeRulesForTheme, Dt as MediaField, Ea as Tabs, Ei as eventCalendarListLayoutCompatibleDisplayModeValues, En as MediaEditorContextProvider, Eo as assertNever$2, Er as resolvePageDesignEditorBoundaryForChoice, Et as FileField, Fa as DialogTitle, Fi as asDesignBlockId, Fn as projectRecurringSchedule, Fr as gradientToCss, Ft as LinkField, G as confirmAutosaveBatch, Gi as textColorStyle, Gn as getResponsiveScopeSpec, Gr as sectionFactsForContent, Gt as useOptionalEditorUiStoreInstance, Hn as validateManifestDraft, Hr as userPinnedDesignChoice, Ii as assertNever$1, In as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Ir as GRADIENT_PRESETS, It as LinkWidgetProvider, J as idleEditorTransactionQueueState, Ji as ORDINARY_TEXT_MIN_CONTRAST_RATIO, Jn as readBlockComposition, Jr as sectionTransitionFamilies, Jt as createHistoryState, K as deriveTransactionCapabilities, Ki as defaultThemeTokens, Kn as escapeStyleContent, Kr as boundaryTreatmentForBoundaryOptionId, Kt as canRedoHistory, Li as makeBoundaryId, Ln as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Lr as GRADIENT_PRESET_IDS, Ma as DialogDescription, Mi as isThemeV2NormalEditorRawStyleFieldName, Mn as createCustomBlockRegistry, Mt as RichTextWidgetProvider, Na as DialogFooter, Ni as pageDesignEditorBackgroundOverrideOwner, Nn as makeDefaultBlockComponent, Nt as EditorProvider, Oa as TabsList, Oi as bookingConsentCarrierSchema, On as useApiMediaUploader, Oo as parseMediaAssetId, Ot as ReferenceField, Pa as DialogHeader, Pi as stripStaleTransitionStyleGroup, Pn as getBlockDefinition, Pt as useEditor, Q as resolvePreviewSidebarTab, Qi as paletteModeSchema, Qn as resolvePageRouteTarget, Qr as backgroundAppearanceQuickColorTokenNames, Qt as unsafeAsLinkedContentEntryId, Rn as planSiteOverlayHeaderClearance, Rr as getGradientPreset, Rt as hideThemeV2RawStyleFields, Si as getAtPath, Sn as decodePublicProductCategorySelectorQuery, So as parseFooterModuleId, Sr as applyCompiledRuntimeFieldsToContent, St as EntryPickerField, Ti as calendarWindowQuerySchema, Tn as AMBIENT_BACKGROUND_ROLES, To as unsafeAsEditorBlockValues, Tr as planPageDesignLayoutLookCompatibility, Tt as ButtonWidgetProvider, Un as buildThemeRuntime, Ur as boundaryLayout, Ut as useEditorUiStore, Vn as compileManifestContentContract, Vr as autoDesignChoice, Vt as getBlockManifestFromSdkConfig, W as beginAutosaveBatch, Wn as DEFAULT_THEME_RESPONSIVE_MODE, Wr as composeBoundary, Wt as useEditorUiStoreInstance, Xa as X, Xn as defaultTransforms, Xr as sectionTransitionVariantForBoundaryOptionId, Xt as redoHistory, Y as rejectAutosaveBatch, Ya as cn, Yn as getDefaultComponentRegistry, Yr as sectionTransitionFamilyForBoundaryOptionId, Yt as pushHistoryEntry, Za as Upload, Zi as paletteColorsSchema, Zn as resolveEntryRouteTarget, Zr as backgroundAppearanceColorTokenNames, Zt as undoHistory, _ as reportPreviewDesignError, _a as SelectTrigger, _i as buildResolveImageUrlContext, _n as createStoreBackend, _o as ChevronLeft, _r as heroCtaRowFragment, _t as MailingListTargetingField, aa as hasEmptyOption, ai as runTransforms, ar as richTextFragment, bi as setContextResolveImageUrlContext, bn as getPageDesignEditorState, bo as buildMailingListSignupBlockSourceRef, br as bodyCopyFragment, bt as InlineTextField, ca as unmapValueFromSelect, ci as parseGeneratedIconSetId, cr as faqAccordionFragment, ct as EntryControllerProvider, d as PreviewDesignCoordinatorProvider, di as logger, dn as usePalette, dr as singleButtonFragment, dt as createSiteOptionApiLoader, ea as attachRenderableMediaAssetFields, ei as ctaButton, er as LINKED_CONTENT_ENTRY_META_KEY, et as renderSiteChromeBlock, fi as coerceInlineTextWithFallback, fo as Image, fr as formEmbedFragment, ft as createSiteOptionWidgetAdapters, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as SelectItem, gi as RichText$1, gn as evaluateVisibility, go as ChevronRight, gr as ctaCopyFragment, gt as OfferingsPreviewWidgetProvider, h as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, ha as SelectContent, hi as Text$1, hn as FormRenderer, hr as testimonialsHeadingFragment, ht as OfferingsPreviewGroupOrderField, i as usePreviewDesignHistoryOrder, ia as useSdkConfig, ii as parseBackgroundContent, in as BUILT_IN_REFERENCE_KINDS, io as RotateCcw, ir as ImageResolveContextProvider, it as PREVIEW_EDITABLE_OUTLINE, ja as DialogContent, ji as corners, jn as containerResponsiveThemeCss, jr as surfaceResolutionContextFromTheme, jt as RichTextField, ka as TabsTrigger, ki as isObjectRecord, kn as isSupportedLoaderEndpoint, ko as parseSiteId, kr as designRuntimeRulesForTheme, kt as ReferenceWidgetProvider, la as FieldFrame, lr as faqHeadingFragment, m as usePreviewThemeOverlay, ma as Select, mi as isInlineTextEmpty, mr as testimonialsCarouselFragment, mt as SiteOptionWidgetProvider, n as useSiteChromeCustomizeOptional, na as isHeaderField, nn as createRoutingHelpers, nr as getLinkedContentEntryMeta, nt as PreviewInlineTextEditor, oa as mapCurrentValueForSelect, oi as parseBlockIconValue, on as parseReferenceKind, or as headingFragment, ot as useUISelector, p as PreviewThemeOverlayProvider, pi as inlineTextToPlainText, pn as createManifestFormAdapter, po as GripVertical, pr as formCopyFragment, pt as SiteOptionPickerField, q as enqueueTransaction, qa as Button, qi as parseThemeForPersistence, qn as mergeContentWithBlockStyleOverrides, qr as defaultSectionTransitionVariantForFamily, qt as canUndoHistory, r as PreviewDesignHistoryOrderProvider, ra as SdkConfigProvider, ri as planSiteChromePlacement, rn as createSnapshotFromPageRecord, rr as clientComponentRegistry, rt as PreviewTextEditor, sa as mapOptionValueForSelect, si as parseGeneratedIconAssetId, sr as cardFragment, st as EditableBlockProvider, t as SiteChromeCustomizeProvider, ta as getFieldIntent, ti as bindingSchema, tn as useDebouncedLatestSave, tr as coerceLinkedContentEntriesPayload, tt as PreviewRichTextEditor, ua as useField, ui as renderInlineText, un as PaletteProvider, ur as blogFeaturedPostFragment, ut as useEntryEditorController, va as SelectValue, vi as getCurrentResolveImageUrlContext, vn as MediaEditor, vr as ctaRowFragment, vt as loadMailingListAuthoringContext, wi as BlockApiProvider, wn as deriveLaunchReadiness, wo as unsafeAsEditorBlockId, wr as formatSiteChromeBackgroundTokenLabel, wt as ButtonVariantField, xi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, xo as sameMailingListPlacementTargeting, xr as defineFragment, xt as IconPickerField, yi as resolveImageUrlWithContext, yn as applyPageDesignEditorAction, yr as heroCopyFragment, yt as MailingListTargetingProvider, zn as visibleHeaderClearancePx, zr as parseGradientPresetId, zt as prepareBlockEditorManifest } from "./SiteChromeCustomizeContext-DQXZXiqS.mjs";
3
+ import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-Dd4dxOiU.mjs";
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-C_EHQ5XA.mjs";
5
5
  import * as React$1 from "react";
6
6
  import React, { Children, Fragment, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -561,9 +561,10 @@ function pageBlockPosition(index, blockCount) {
561
561
  //#endregion
562
562
  //#region ../blocks/src/pageRendererContracts.ts
563
563
  function buildPageRendererRootRuntime(dataContext) {
564
- const { siteId = null, pageId = null, pathname = null, bookingTimeZone, previewStage = "published", apiBaseUrl = null, portalToken = null, readAuthority, bookingOfferingPresets = [], appointmentServicePathPrefix = null, mailingList = { tag: "not_configured" }, eventRegistrationOverlayEnabled = false, loaderFailures = {} } = dataContext ?? {};
564
+ const { siteId = null, siteName, pageId = null, pathname = null, bookingTimeZone, previewStage = "published", apiBaseUrl = null, portalToken = null, readAuthority, bookingOfferingPresets = [], appointmentServicePathPrefix = null, mailingList = { tag: "not_configured" }, eventRegistrationOverlayEnabled = false, loaderFailures = {} } = dataContext ?? {};
565
565
  return {
566
566
  siteId,
567
+ siteName,
567
568
  pageId,
568
569
  pathname,
569
570
  bookingTimeZone,
@@ -1000,6 +1001,7 @@ function planNewsletterBlockSubmission(placement) {
1000
1001
  sourceRef
1001
1002
  } : { tag: "unavailable" };
1002
1003
  }
1004
+ if (placement.publishedPlacement && "kind" in placement.publishedPlacement) return { tag: "unpublished-settings" };
1003
1005
  if (placement.publishedPlacement) return planNewsletterPreviewSubmission({
1004
1006
  blockId: placement.blockId,
1005
1007
  publishedContentId: placement.publishedPlacement.id,
@@ -1160,7 +1162,7 @@ function newsletterBlockProps(block, renderedContent, stage) {
1160
1162
  return { newsletterBlockSubmission: planNewsletterBlockSubmission({
1161
1163
  blockId: block.id,
1162
1164
  selectedContentVersionId: block.contentVersionId ?? null,
1163
- publishedPlacement: block.publishedPlacement ?? null,
1165
+ publishedPlacement: block.publishedPlacement,
1164
1166
  renderedContent,
1165
1167
  stage
1166
1168
  }) };
@@ -1254,12 +1256,26 @@ function createBlockErrorBoundary() {
1254
1256
  const BlockErrorBoundary = createBlockErrorBoundary();
1255
1257
  //#endregion
1256
1258
  //#region ../blocks/src/pageRenderAdmission.ts
1259
+ /** Pair a published version with the content it authorises at the render boundary. */
1260
+ function readPublishedBlockPlacement(id, content) {
1261
+ if (id == null && content == null) return null;
1262
+ if (id == null || content == null) return {
1263
+ kind: "incomplete",
1264
+ id: id ?? null,
1265
+ content: content ?? null
1266
+ };
1267
+ return {
1268
+ id,
1269
+ content
1270
+ };
1271
+ }
1257
1272
  function toEditorPresentationPage(page) {
1258
1273
  if (!page) return null;
1259
1274
  return {
1260
1275
  ...page,
1261
1276
  blocks: page.blocks.map((block) => ({
1262
1277
  ...block,
1278
+ publishedPlacement: block.publishedPlacement,
1263
1279
  presentationAdmission: { kind: "editor" }
1264
1280
  }))
1265
1281
  };
@@ -9386,10 +9402,10 @@ function resolveShellThemeRoles(props) {
9386
9402
  }
9387
9403
  const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
9388
9404
  const PreviewEditorSidebar = React.lazy(async () => {
9389
- return { default: (await import("./PreviewEditorSidebar-kg2r2Fyi.mjs")).PreviewEditorSidebar };
9405
+ return { default: (await import("./PreviewEditorSidebar-DtpB3_sS.mjs")).PreviewEditorSidebar };
9390
9406
  });
9391
9407
  const PreviewEditorUI = React.lazy(async () => {
9392
- return { default: (await import("./PreviewEditorUI-sWMLp5dT.mjs")).PreviewEditorUI };
9408
+ return { default: (await import("./PreviewEditorUI-DxTLgaHo.mjs")).PreviewEditorUI };
9393
9409
  });
9394
9410
  const previewPaneContainmentStyle = {
9395
9411
  contain: "layout paint",
@@ -10176,16 +10192,15 @@ function renderContent(block, content, projections, linkedEntryOverlays) {
10176
10192
  //#endregion
10177
10193
  //#region ../preview-next/src/client/blocks/composer/transformBlock.ts
10178
10194
  function transformToPageBlock(enriched) {
10195
+ const publishedPlacement = readPublishedBlockPlacement(enriched.publishedContentId, enriched.publishedContent);
10179
10196
  return {
10180
10197
  id: enriched.id,
10181
- draftContentId: enriched.draftContentId,
10182
- publishedContentId: enriched.publishedContentId,
10198
+ publishedPlacement,
10183
10199
  contentVersionId: enriched.draftContentId ?? enriched.publishedContentId,
10184
10200
  kind: enriched.kind,
10185
10201
  purpose: enriched.purpose,
10186
10202
  content: enriched.content ?? {},
10187
10203
  draftContent: enriched.draftContent ?? void 0,
10188
- publishedContent: enriched.publishedContent,
10189
10204
  bindings: enriched.bindings ?? void 0
10190
10205
  };
10191
10206
  }
@@ -10230,7 +10245,14 @@ function composePageFromBlocks(args, cacheRef) {
10230
10245
  function composePreviewRenderPage(args, cacheRef) {
10231
10246
  const { page, blockItems, draftSnapshots, projections, linkedEntryOverlays } = args;
10232
10247
  if (!page) return page;
10233
- if (!blockItems.length) return page;
10248
+ if (!blockItems.length) return {
10249
+ ...page,
10250
+ blocks: page.blocks.map((block) => ({
10251
+ ...block,
10252
+ publishedPlacement: null,
10253
+ contentVersionId: null
10254
+ }))
10255
+ };
10234
10256
  const draftMap = draftSnapshotMap(draftSnapshots);
10235
10257
  const renderedBlocks = applyCacheOptimization([...applyPreviewStructureProjections(blockItems, projections).map((block, index) => mergeBlockWithDraft(block, draftMap, index, projections, linkedEntryOverlays))].sort((a, b) => (a.orderIndex ?? 0) - (b.orderIndex ?? 0)), cacheRef);
10236
10258
  return {
@@ -11857,7 +11879,12 @@ function EditablePageRenderer(props) {
11857
11879
  renderProjections,
11858
11880
  uiStore,
11859
11881
  renderStateVersion
11860
- ]) ?? pageRendererProps.page;
11882
+ ]) ?? {
11883
+ name: "",
11884
+ path: "",
11885
+ purpose: "",
11886
+ blocks: []
11887
+ };
11861
11888
  const runtimeJoins = editorRuntimeJoins(runtimeProjection, pageRendererProps.runtimeJoins);
11862
11889
  const renderedBlockById = useMemo(() => {
11863
11890
  return new Map((renderPage?.blocks ?? []).filter((block) => Boolean(block.id)).map((block) => [block.id, block]));