@riverbankcms/sdk 0.153.0 → 0.154.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 (216) hide show
  1. package/dist/{EventEmbeddedCheckoutStep-veN-QiAE.mjs → EventEmbeddedCheckoutStep-ba9npQtb.mjs} +1 -1
  2. package/dist/{PreviewEditorSidebar-jI_4DTZY.mjs → PreviewEditorSidebar-C7FiaxlF.mjs} +194 -22
  3. package/dist/{PreviewEditorUI-ORkVZhfu.mjs → PreviewEditorUI-DFst50q1.mjs} +20 -44
  4. package/dist/{SdkPreviewModeRuntime-DaNqevI1.mjs → SdkPreviewModeRuntime-BUNV_YHZ.mjs} +49 -32
  5. package/dist/{SiteChromeCustomizeContext-CgNuBHC0.mjs → SiteChromeCustomizeContext-DEj7qppF.mjs} +3558 -2321
  6. package/dist/{ThemedButton-X2UxhW6F.mjs → ThemedButton-C8kzu0hY.mjs} +400 -81
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +364 -130
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1035 -477
  9. package/dist/_dts/api/src/billing.d.ts +2 -0
  10. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +78 -0
  11. package/dist/_dts/api/src/bookingAdjustments.d.ts +3 -2
  12. package/dist/_dts/api/src/bookingOperations.d.ts +7 -2
  13. package/dist/_dts/api/src/bookingPeople.d.ts +19 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +8 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +4 -106
  16. package/dist/_dts/api/src/bookings.d.ts +2 -3
  17. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +88 -43
  19. package/dist/_dts/api/src/index.d.ts +4 -2
  20. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  21. package/dist/_dts/api/src/moneyPayments.d.ts +116 -0
  22. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +2 -0
  23. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  24. package/dist/_dts/api/src/sdkThemeWire.d.ts +162 -103
  25. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +18 -0
  26. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +17 -16
  27. package/dist/_dts/api/src/siteSettings.d.ts +1 -0
  28. package/dist/_dts/api/src/stripeConnectSetup.d.ts +90 -0
  29. package/dist/_dts/api/src/types.d.ts +11 -31
  30. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -4
  31. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  32. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -96
  33. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +1 -1
  34. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +4 -1
  35. package/dist/_dts/blocks/src/primitives/layout/Section.d.ts +1 -0
  36. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/blocks/events/shared/fields.d.ts +0 -4
  39. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +0 -1
  40. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  41. package/dist/_dts/blocks/src/system/blocks/form.d.ts +10 -0
  42. package/dist/_dts/blocks/src/system/blocks/image-gallery/fields.d.ts +1 -0
  43. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +6 -1
  44. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  45. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -45
  46. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +12 -0
  47. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-layout.d.ts +23 -0
  48. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime-profile.d.ts +20 -0
  49. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +17 -16
  50. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -1
  51. package/dist/_dts/blocks/src/system/customize/facets.d.ts +75 -9
  52. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +24 -24
  53. package/dist/_dts/blocks/src/system/node/fragments/index.d.ts +1 -0
  54. package/dist/_dts/blocks/src/system/node/fragments/lookSlot.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/node/fragments/responsiveTwoColumn.d.ts +3 -1
  56. package/dist/_dts/blocks/src/system/node/fragments/sectionHead.d.ts +15 -0
  57. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +18 -198
  58. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -99
  59. package/dist/_dts/blocks/src/system/runtime/lookSurfaces.d.ts +16 -4
  60. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +2 -1
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/lookPresentation.d.ts +10 -4
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +1 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -17
  65. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/form.interactive.d.ts +11 -79
  67. package/dist/_dts/blocks/src/system/runtime/nodes/form.parts.d.ts +7 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/form.server.d.ts +2 -13
  69. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +8 -72
  70. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +6 -6
  71. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +3 -2
  72. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/footerArrangement.d.ts +6 -0
  75. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -11
  76. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -10
  77. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +1 -0
  78. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +5 -2
  79. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +1 -1
  80. package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +6 -3
  81. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +1 -1
  82. package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
  83. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +3 -1
  84. package/dist/_dts/content-editor/src/footerNavigationLayoutState.d.ts +56 -0
  85. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
  86. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -4
  87. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +11 -8
  88. package/dist/_dts/core/src/booking-refunds.d.ts +2 -0
  89. package/dist/_dts/core/src/date-display.d.ts +85 -0
  90. package/dist/_dts/core/src/date-time-formatter.d.ts +2 -0
  91. package/dist/_dts/core/src/footer-arrangement.d.ts +8 -1
  92. package/dist/_dts/core/src/footer-composition-types.d.ts +6 -1
  93. package/dist/_dts/core/src/footer-composition.d.ts +1 -1
  94. package/dist/_dts/core/src/footer-navigation-layout.d.ts +3 -0
  95. package/dist/_dts/core/src/index.d.ts +2 -0
  96. package/dist/_dts/core/src/mailing-list-setup.d.ts +3 -0
  97. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -1
  98. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  99. package/dist/_dts/core/src/scheduled-date-time.d.ts +69 -0
  100. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +50 -9
  101. package/dist/_dts/db/src/schemas/forms.d.ts +16 -16
  102. package/dist/_dts/preview-next/src/client/blocks/ArrangementBlockToolbar.d.ts +2 -1
  103. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  104. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  105. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  106. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +27 -5
  107. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +2 -0
  108. package/dist/_dts/preview-next/src/client/preview/useConfirmedPreferenceRecord.d.ts +12 -0
  109. package/dist/_dts/preview-next/src/client/preview/usePersistedFooterPreferences.d.ts +26 -0
  110. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +40 -2
  111. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  112. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -46
  113. package/dist/_dts/sdk/src/date-time/index.d.ts +2 -68
  114. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  115. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -1
  116. package/dist/_dts/sdk/src/version.d.ts +1 -1
  117. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +2 -0
  118. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +2 -0
  119. package/dist/_dts/theme-core/src/buttons/styles/recipes/lanternRecipes.d.ts +60 -0
  120. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -0
  121. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +10 -1
  122. package/dist/_dts/theme-core/src/buttons/types.d.ts +358 -46
  123. package/dist/_dts/theme-core/src/buttons/typography.d.ts +24 -0
  124. package/dist/_dts/theme-core/src/cards/types.d.ts +8 -8
  125. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +1 -1
  126. package/dist/_dts/theme-core/src/footer/generateFooterCss.d.ts +4 -1
  127. package/dist/_dts/theme-core/src/footer/mode.d.ts +2 -11
  128. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  129. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +234 -147
  130. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  131. package/dist/_dts/theme-core/src/schema.d.ts +300 -192
  132. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +23 -7
  133. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  134. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +4 -6
  135. package/dist/_dts/theme-core/src/site-styles/compileFooterAgainstRow.d.ts +121 -0
  136. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -0
  137. package/dist/_dts/theme-core/src/site-styles/footerLookDefaults.d.ts +45 -0
  138. package/dist/_dts/theme-core/src/site-styles/footerLookRecipe.d.ts +50 -0
  139. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +9 -35
  140. package/dist/_dts/theme-core/src/site-styles/footerPreferences.d.ts +29 -0
  141. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +2 -3
  142. package/dist/_dts/theme-core/src/site-styles/index.d.ts +4 -0
  143. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +2 -2
  144. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  145. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +8 -0
  146. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  148. package/dist/_dts/ui/src/card.d.ts +1 -1
  149. package/dist/client/{BookingMailingListNote-DrchYW1m.mjs → BookingMailingListNote-CNoSqFtf.mjs} +2 -2
  150. package/dist/client/{CardListItem-CC_GVmF6.mjs → CardListItem-BkTkqBkh.mjs} +3 -3
  151. package/dist/client/{CheckboxChoice-Dq30m3DO.mjs → CheckboxChoice-CHJpsty4.mjs} +1 -1
  152. package/dist/client/{DemoBookingPortalAccess-ojwbVUmx.mjs → DemoBookingPortalAccess-C7KQKFNt.mjs} +2 -2
  153. package/dist/client/{EventCombined.client-DyN0v0Xk.mjs → EventCombined.client-BgeYMjHJ.mjs} +5 -5
  154. package/dist/client/{EventEmbeddedCheckoutStep-CgfpKc3n.mjs → EventEmbeddedCheckoutStep-BTc_lTkM.mjs} +2 -2
  155. package/dist/client/{EventListing.client-CuOuvYMz.mjs → EventListing.client-ChRs9Hl2.mjs} +2 -2
  156. package/dist/client/{LeafletStaticMap-B0WhRr3j.mjs → LeafletStaticMap-C_dNQgd0.mjs} +1 -1
  157. package/dist/client/{RichText-C1fIXBzA.mjs → RichText-BI9bzbjo.mjs} +75 -42
  158. package/dist/client/{ThemedButton-B7HFqFBg.mjs → ThemedButton-wl3Z3wkH.mjs} +1 -1
  159. package/dist/client/{accordion-DCDVWSye.mjs → accordion-6Yz8Wd83.mjs} +1 -1
  160. package/dist/client/{bookingForm-BJ3C4GlM.mjs → bookingForm-i_pKIGiY.mjs} +8 -8
  161. package/dist/client/bookings.mjs +12565 -11839
  162. package/dist/client/{carousel-BSCBhfHY.mjs → carousel-DNqd_PjC.mjs} +2 -2
  163. package/dist/client/{carousel.client-GEtOGsxo.mjs → carousel.client-BUgjPbb6.mjs} +1 -1
  164. package/dist/client/{cart-Yv-aAtck.mjs → cart-D8OBHuF4.mjs} +3 -3
  165. package/dist/client/{checkout-B9xDkl30.mjs → checkout-F3-9IGLU.mjs} +3 -3
  166. package/dist/client/client.mjs +6109 -4778
  167. package/dist/client/{context-BOGe3rIA.mjs → context-Dg4ZrxDD.mjs} +1 -1
  168. package/dist/client/{eventCalendar-D6M0T9hs.mjs → eventCalendar-BUc7YIBM.mjs} +8 -8
  169. package/dist/client/{eventCombined-NM4UFBq8.mjs → eventCombined-BwfShk2a.mjs} +4 -4
  170. package/dist/client/{eventDetails-f_FhV4O8.mjs → eventDetails-BMOVC3go.mjs} +3 -3
  171. package/dist/client/{eventListing-WLkfAROh.mjs → eventListing-BwE9PM-t.mjs} +4 -4
  172. package/dist/client/{eventRegistration-D3ejfLvW.mjs → eventRegistration-CCWPYDc7.mjs} +9 -9
  173. package/dist/client/{form-D5Or2Jyu.mjs → form-CXFr0Gd5.mjs} +115 -51
  174. package/dist/client/{headerSection-hWgnv27V.mjs → headerSection-BX8qw8kH.mjs} +3 -3
  175. package/dist/client/hooks.mjs +2041 -1193
  176. package/dist/client/{locationMap-Di1K0O2S.mjs → locationMap-B3La71m0.mjs} +3 -3
  177. package/dist/client/{media-D29-F1u_.mjs → media-B1Cbv721.mjs} +1 -1
  178. package/dist/client/{newsletterForm-CwxcwTNO.mjs → newsletterForm-DnGyR0x7.mjs} +50 -14
  179. package/dist/client/{productDetail-BLSnhPdA.mjs → productDetail-BVgTqvkb.mjs} +3 -3
  180. package/dist/client/{productList-oGytONOX.mjs → productList-CcO7kUQw.mjs} +3 -3
  181. package/dist/client/{propsDecoder-lf_dTeZS.mjs → propsDecoder-B1OeWavE.mjs} +706 -229
  182. package/dist/client/rendering/client.mjs +11868 -11098
  183. package/dist/client/rendering/islands.mjs +17 -17
  184. package/dist/client/rendering.mjs +6058 -4676
  185. package/dist/client/{routeIslandApiConfig-Bc_WVPS8.mjs → routeIslandApiConfig-Dl4vglJm.mjs} +1 -1
  186. package/dist/client/{shop-BQ3bR7fA.mjs → shop-P72nX5Fs.mjs} +7 -7
  187. package/dist/client/{shop-commerce-DDPll6ZC.mjs → shop-commerce-Bt7uraDx.mjs} +8 -8
  188. package/dist/client/{shop-commerce-store-DO-e1pTe.mjs → shop-commerce-store-C1-mxSye.mjs} +1 -1
  189. package/dist/client/{shopShared-BylM9jh1.mjs → shopShared-Db-cRGu3.mjs} +4 -4
  190. package/dist/client/{useDiscountCodeUi-B1Puub2v.mjs → useDiscountCodeUi-jvAiUoUX.mjs} +1 -1
  191. package/dist/client/{useEventPagination-BBhkmQaT.mjs → useEventPagination-BdWpCniq.mjs} +6 -6
  192. package/dist/preview-next/before-render.mjs +133 -51
  193. package/dist/preview-next/client/runtime.mjs +3 -3
  194. package/dist/preview-next/editor-chrome.css +5 -2
  195. package/dist/preview-next/keepAlive.mjs +133 -51
  196. package/dist/preview-next/middleware.mjs +133 -51
  197. package/dist/{sdk-runtime-DWCvhJGu.mjs → sdk-runtime-DLhjF2Nw.mjs} +1 -1
  198. package/dist/server/components.mjs +11284 -10014
  199. package/dist/server/config-validation.mjs +2016 -1188
  200. package/dist/server/config.mjs +2016 -1188
  201. package/dist/server/data.mjs +2041 -1193
  202. package/dist/server/date-time.mjs +258 -116
  203. package/dist/server/index.mjs +134 -52
  204. package/dist/server/next.mjs +10571 -9350
  205. package/dist/server/page-converter.mjs +1629 -941
  206. package/dist/server/prebuild.mjs +1 -1
  207. package/dist/server/rendering/server.mjs +11156 -9872
  208. package/dist/server/rendering.mjs +11284 -10014
  209. package/dist/server/routing.mjs +2204 -1283
  210. package/dist/server/server.mjs +2369 -1570
  211. package/dist/server/theme-bridge.mjs +838 -124
  212. package/dist/server/theme.mjs +348 -64
  213. package/dist/{spinner-BYM-Y81w.mjs → spinner-MTooKfck.mjs} +1 -1
  214. package/dist/styles/index.css +254 -1
  215. package/package.json +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/layout.d.ts +0 -12
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Jr as SpinnerNode, Li as __commonJSMin, Xr as checkBrowserStripeKey, n as ThemedButton } from "./ThemedButton-X2UxhW6F.mjs";
2
+ import { Fi as __commonJSMin, Jr as checkBrowserStripeKey, Kr as SpinnerNode, n as ThemedButton } from "./ThemedButton-C8kzu0hY.mjs";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../../node_modules/.pnpm/@stripe+stripe-js@9.17.0/node_modules/@stripe/stripe-js/dist/pure.js
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { A as updateButtonStyleHoverPreference, Br as generateFontFaceCss, E as buttonStyleSelectionParameterValue, Hr as VARIANT_ROLES, M as buttonStyleSelectionKey, O as findButtonStyleRecipe, T as buttonStyleHoverPreferenceValue, Un as paletteColorsSchema, Vn as paletteColorEntries, Vr as getSiteFontsStorageUrl, ar as resolveSdkFooterMode, i as ThemedButtonSpecimen, j as updateButtonStyleSelectionChoice, k as resolveButtonStyleSelection, zr as buildFontPreviewUrl } from "./ThemedButton-X2UxhW6F.mjs";
3
- import { $a as Tabs, A as previewFooterLook, B as createOptimisticActionRunner, C as markApplySaved, Ca as getHeaderLayout, Ct as useUISelector, D as planStyleSwitch, Do as SlidersHorizontal, E as palettePreviewProjection, Eo as Smartphone, Et as useEntryController, F as setPaletteColors, Ga as SelectValue, Go as Button, Ha as SelectContent, Hn as listEntryPageContentSlots, Ho as ChevronLeft, I as styleConfiguratorHistoryEntryForPersistedSelection, Ja as SearchInput, Ka as Callout, L as syncStyleConfiguratorState, M as previewHeaderStyle, N as resetTypographyToSaved, No as Monitor, O as previewButtonStyle, P as restageSelectionChanges, Po as Maximize2, Pt as LinkedEntryLeaseBanner, Q as reportPreviewDesignError, Qa as Input, R as toggleRow, S as markApplyFailed, Sa as findFooterLook, Sr as ThemeScope, St as ContentFieldsForm, T as openRow, Ua as SelectItem, Un as listPageSurfaceContentSlots, Uo as ChevronDown, Va as Select, Vn as createManifestValidation, Vo as ChevronRight, Wa as SelectTrigger, Wn as blocksKeys, Wo as Check, Xa as PopoverContent, Xo as canWriteLinkedEntry, Ya as Popover, Yo as isEdited, Z as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, Za as PopoverTrigger, _ as cancelPreview, _o as DropdownMenuSeparator, a as selectionSnapshotFromApplySiteStyleSelectionResponse, ar as deriveRouteMetadataPresentation, b as dismissWarnings, bo as X$1, cr as unwrapResponse, cs as valueStatus, do as CollapsibleTrigger, eo as TabsContent, f as buildSiteChromeSelectionModels, fo as Surface, g as applyTypographyDraftPatch, ga as palettesForSiteStyle, go as DropdownMenuLabel, gt as FooterComposerPanel, h as applyResolvedSelections, ha as offeredSiteStyles, hn as createStoreBackend, ho as DropdownMenuItem, i as buildApplySiteStyleSelectionBody, j as previewHeaderLayout, k as previewCuratedPalette, kt as useAutosaveStatus, l as usePreviewDesignCoordinator, lo as Collapsible, lr as useEditorUiStore, lt as resolvePreviewSidebarTab, m as planSiteChromeSelection, ma as getCuratedSiteStyle, mn as FormRenderer, mo as DropdownMenuContent, mt as usePreviewAuth, n as useSiteChromeCustomizeOptional, no as TabsTrigger, o as deriveSiteStylePreviewUpdate, or as resolvePageRouteSlug, os as displayedValues, p as cycleSiteChromeSelectionId, pn as ManifestForm, po as DropdownMenu, qa as CalloutDescription, qn as getDashboardUrl, qo as cn, r as StyleSwitchSummary, rr as isAdapterReferenceKind, s as planConfiguratorPreview, sr as resolveContentTitle, ss as syncStateOf, to as TabsList, tr as routeLifecycleContext, un as BlockEditor, uo as CollapsibleContent, ur as useEditorUiStoreInstance, us as assertNever$1, v as createStyleConfiguratorState, vo as DropdownMenuTrigger, w as markApplySaving, wa as getHeaderStyle, wo as Tablet, x as isPreviewingChange, y as deriveStyleConfiguratorCapabilities, yr as toEditorBlockItem, z as resolveStyleConfiguratorInitialSnapshot } from "./SiteChromeCustomizeContext-CgNuBHC0.mjs";
4
- import { n as Separator, t as Spinner } from "./spinner-BYM-Y81w.mjs";
5
- import { _ as usePreviewBlockCustomizeSelectionOptional, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-DaNqevI1.mjs";
2
+ import { A as updateButtonStyleHoverPreference, Br as VARIANT_ROLES, E as buttonStyleSelectionParameterValue, Lr as buildFontPreviewUrl, M as buttonStyleSelectionKey, O as findButtonStyleRecipe, P as buttonStyleSelectionsEqual, Rr as generateFontFaceCss, T as buttonStyleHoverPreferenceValue, Un as paletteColorsSchema, Vn as paletteColorEntries, i as ThemedButtonSpecimen, j as updateButtonStyleSelectionChoice, k as resolveButtonStyleSelection, zr as getSiteFontsStorageUrl } from "./ThemedButton-C8kzu0hY.mjs";
3
+ import { $a as SearchInput, A as previewHeaderStyle, Aa as replaceSiteStyleCompilationPlan, Bn as createManifestValidation, C as openRow, Ca as findFooterLook, Co as DropdownMenuTrigger, Cr as resolveSdkFooterMode, D as previewCuratedPalette, E as previewButtonStyle, Ea as defaultHeaderLogoContext, F as syncStyleConfiguratorState, Hn as listPageSurfaceContentSlots, I as toggleRow, Ja as SelectItem, Jo as ChevronDown, Ka as Select, Kn as getDashboardUrl, Ko as ChevronRight, L as createOptimisticActionRunner, M as restageSelectionChanges, Mo as SlidersHorizontal, N as setPaletteColors, Nt as LinkedEntryLeaseBanner, O as previewFooterLook, Ot as useAutosaveStatus, P as styleConfiguratorHistoryEntryForPersistedSelection, Qa as CalloutDescription, Qo as cn, R as resolveStyleConfiguratorInitialSnapshot, Ro as Monitor, S as markApplySaving, So as DropdownMenuSeparator, St as useUISelector, T as planStyleSwitch, Ta as getHeaderStyle, To as X$1, Tt as useEntryController, Un as blocksKeys, Vn as listEntryPageContentSlots, X as reportPreviewDesignError, Xa as SelectValue, Xo as Button, Y as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, Ya as SelectTrigger, Yo as Check, Za as Callout, _ as deriveStyleConfiguratorCapabilities, _a as palettesForSiteStyle, _o as Surface, a as selectionSnapshotFromApplySiteStyleSelectionResponse, ao as TabsContent, ar as resolvePageRouteSlug, b as markApplyFailed, bo as DropdownMenuItem, cr as useEditorUiStore, d as cycleSiteChromeSelectionId, ds as displayedValues, eo as Popover, er as routeLifecycleContext, es as isEdited, f as planSiteChromeSelection, fn as ManifestForm, fs as syncStateOf, ft as usePreviewAuth, g as createStyleConfiguratorState, ga as offeredSiteStyles, go as CollapsibleTrigger, gt as resolveFooterLayoutHints, h as cancelPreview, ha as getCuratedSiteStyle, ho as CollapsibleContent, hs as assertNever$1, i as buildApplySiteStyleSelectionBody, io as Tabs, ir as deriveRouteMetadataPresentation, j as resetTypographyToSaved, ja as defaultFooterPreferences, jo as Smartphone, k as previewHeaderLayout, ko as Tablet, ln as BlockEditor, lr as useEditorUiStoreInstance, m as applyTypographyDraftPatch, mn as createStoreBackend, mo as Collapsible, mt as FooterComposerPanel, n as useSiteChromeCustomizeOptional, no as PopoverTrigger, nr as isAdapterReferenceKind, oa as compileReplacementSiteThemeFromSelections, oo as TabsList, or as resolveContentTitle, p as applyResolvedSelections, pn as FormRenderer, ps as valueStatus, qa as SelectContent, qo as ChevronLeft, r as StyleSwitchSummary, ro as Input, s as usePreviewDesignCoordinator, sa as compileUpdatedSiteThemeFromSelections, so as TabsTrigger, sr as unwrapResponse, st as resolvePreviewSidebarTab, to as PopoverContent, ts as canWriteLinkedEntry, u as buildSiteChromeSelectionModels, v as dismissWarnings, vo as DropdownMenu, vr as toEditorBlockItem, w as palettePreviewProjection, wa as getHeaderLayout, x as markApplySaved, xo as DropdownMenuLabel, xr as ThemeScope, xt as ContentFieldsForm, y as isPreviewingChange, yo as DropdownMenuContent, zo as Maximize2 } from "./SiteChromeCustomizeContext-DEj7qppF.mjs";
4
+ import { n as Separator, t as Spinner } from "./spinner-MTooKfck.mjs";
5
+ import { _ as usePreviewBlockCustomizeSelectionOptional, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-BUNV_YHZ.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";
@@ -1949,20 +1949,22 @@ function DesignSection({ panel, takeover, controls }) {
1949
1949
  //#endregion
1950
1950
  //#region ../preview-next/src/client/preview/PreviewFooterEditorPanel.tsx
1951
1951
  function PreviewFooterEditorPanel({ sdkConfig, apiClient, siteId, dashboardBaseUrl, theme, selectionId, selectionVersion, siteStyleAccess, inspection, canEdit, onSaved }) {
1952
+ const footerPreferences = useSiteChromeCustomizeOptional()?.getFooterPreferences();
1952
1953
  const dashboardSiteUrl = `${dashboardBaseUrl?.replace(/\/$/u, "") ?? ""}/dashboard/sites/${siteId}`;
1953
- const navigationLayoutAccess = siteStyleAccess.kind === "apply-allowed" && theme && selectionVersion !== null ? {
1954
- kind: "editable",
1954
+ const navigationLayoutAccess = footerNavigationAccess({
1955
1955
  theme,
1956
1956
  selectionId,
1957
- selectionVersion
1958
- } : { kind: "hidden" };
1957
+ selectionVersion,
1958
+ siteStyleAccess,
1959
+ footerPreferences
1960
+ });
1959
1961
  return /* @__PURE__ */ jsx(FooterComposerPanel, {
1960
1962
  apiClient,
1961
1963
  siteId,
1962
1964
  customFooterMode: resolveSdkFooterMode(sdkConfig),
1963
1965
  manageLinksHref: `${dashboardSiteUrl}/navigation`,
1964
1966
  manageSettingsHref: `${dashboardSiteUrl}/settings`,
1965
- legalRegion: theme?.footer.bottomBar?.enabled ? "separate" : "integrated",
1967
+ ...footerComposerLayoutProps(theme),
1966
1968
  navigationLayoutAccess,
1967
1969
  loadingFallback: /* @__PURE__ */ jsx(ContentSpinner, { className: "py-8" }),
1968
1970
  ...footerComposerInspectionProps(inspection),
@@ -1971,6 +1973,22 @@ function PreviewFooterEditorPanel({ sdkConfig, apiClient, siteId, dashboardBaseU
1971
1973
  onSaved
1972
1974
  });
1973
1975
  }
1976
+ function footerComposerLayoutProps(theme) {
1977
+ const hints = resolveFooterLayoutHints(theme);
1978
+ return {
1979
+ arrangement: hints.layoutVariant,
1980
+ legalRegion: hints.legalRegion
1981
+ };
1982
+ }
1983
+ function footerNavigationAccess(input) {
1984
+ return input.siteStyleAccess.kind === "apply-allowed" && input.theme && input.footerPreferences && input.selectionVersion !== null ? {
1985
+ kind: "editable",
1986
+ theme: input.theme,
1987
+ selectionId: input.selectionId,
1988
+ selectionVersion: input.selectionVersion,
1989
+ preferences: input.footerPreferences
1990
+ } : { kind: "hidden" };
1991
+ }
1974
1992
  //#endregion
1975
1993
  //#region ../preview-next/src/client/preview/PreviewEditorGuidanceCard.tsx
1976
1994
  function PreviewEditorGuidanceCard({ guidance, completeSetupDisabled, onCompleteSetup }) {
@@ -2737,6 +2755,147 @@ function HeaderMenuControls({ state, disabled, onMenuFontChange, onMenuFontSizeC
2737
2755
  });
2738
2756
  }
2739
2757
  //#endregion
2758
+ //#region ../preview-next/src/client/preview/siteStylePreviewPlanner.ts
2759
+ function deriveSiteStylePreviewUpdate(baseTheme, baseSelection) {
2760
+ return {
2761
+ kind: "derive-update",
2762
+ baseTheme,
2763
+ baseSelection
2764
+ };
2765
+ }
2766
+ function planSiteStylePreviewChange(input) {
2767
+ const compilationPlan = compilationPlanForPreview(input);
2768
+ const common = {
2769
+ siteStyle: input.siteStyle,
2770
+ palette: input.selection.palette,
2771
+ typography: input.selection.typography
2772
+ };
2773
+ const currentHeaderSelection = {
2774
+ layoutId: input.selection.headerLayoutId,
2775
+ styleId: input.selection.headerStyleId
2776
+ };
2777
+ const compiled = compilationPlan.kind === "replace-site-style" ? compileReplacementSiteThemeFromSelections({
2778
+ ...common,
2779
+ compilationPlan
2780
+ }) : compileUpdatedSiteThemeFromSelections({
2781
+ ...common,
2782
+ compilationPlan,
2783
+ currentHeaderSelection
2784
+ });
2785
+ return {
2786
+ themeOverlay: compiled.theme,
2787
+ resolvedSelections: compiled.resolvedSelections,
2788
+ warnings: compiled.warnings
2789
+ };
2790
+ }
2791
+ /**
2792
+ * The configurator's previews, with the one assumption they make written down
2793
+ * once instead of four times.
2794
+ *
2795
+ * `planSiteStylePreviewChange` requires the brand-presentation mode (#1318 D24)
2796
+ * so that no caller inherits it invisibly. Nothing hands the site-style
2797
+ * configurator the row's persisted record yet, so it states `'recommended'` —
2798
+ * correct for every row except a `'plain'` one, where the preview is a round
2799
+ * trip behind until the first save teaches it otherwise. The plan's closing
2800
+ * checklist has what closing that costs.
2801
+ */
2802
+ function planConfiguratorPreview(input) {
2803
+ return planSiteStylePreviewChange({
2804
+ ...input,
2805
+ headerBrandPresentation: "recommended"
2806
+ });
2807
+ }
2808
+ function compilationPlanForPreview(input) {
2809
+ if (input.compilation.kind === "replace-site-style") return replacementCompilationPlan(input);
2810
+ const baseTheme = input.compilation.baseTheme;
2811
+ if (!baseTheme) return replacementCompilationPlan(input);
2812
+ if (input.compilation.kind === "edit-chrome") return updateCompilationPlan({
2813
+ baseTheme,
2814
+ selection: input.selection,
2815
+ footerPreferences: input.footerPreferences,
2816
+ headerLogoContext: input.headerLogoContext,
2817
+ headerBrandPresentation: input.headerBrandPresentation,
2818
+ recompileButtons: false,
2819
+ recompileHeader: input.compilation.surface === "header"
2820
+ });
2821
+ if (input.compilation.baseSelection.siteStyleId !== input.selection.siteStyleId) return replacementCompilationPlan(input);
2822
+ return updateCompilationPlan({
2823
+ baseTheme,
2824
+ selection: input.selection,
2825
+ footerPreferences: input.footerPreferences,
2826
+ headerLogoContext: input.headerLogoContext,
2827
+ headerBrandPresentation: input.headerBrandPresentation,
2828
+ recompileButtons: !buttonStyleSelectionsEqual(input.compilation.baseSelection.buttonStyleSelection, input.selection.buttonStyleSelection),
2829
+ recompileHeader: headerSelectionChanged(input.compilation.baseSelection, input.selection)
2830
+ });
2831
+ }
2832
+ function updateCompilationPlan(input) {
2833
+ const selection = {
2834
+ layoutId: input.selection.headerLayoutId,
2835
+ styleId: input.selection.headerStyleId
2836
+ };
2837
+ return {
2838
+ kind: "update-selection",
2839
+ buttons: input.recompileButtons ? {
2840
+ kind: "recompile",
2841
+ selection: input.selection.buttonStyleSelection,
2842
+ reason: "selection-change"
2843
+ } : input.baseTheme.buttons ? {
2844
+ kind: "preserve",
2845
+ buttons: input.baseTheme.buttons,
2846
+ selection: input.selection.buttonStyleSelection
2847
+ } : {
2848
+ kind: "recompile",
2849
+ selection: input.selection.buttonStyleSelection,
2850
+ reason: "missing-applied-buttons"
2851
+ },
2852
+ header: input.recompileHeader ? {
2853
+ kind: "recompile",
2854
+ selection,
2855
+ brandPresentation: brandPresentationDirective(input)
2856
+ } : {
2857
+ kind: "preserve",
2858
+ persistedTheme: input.baseTheme,
2859
+ preferences: null,
2860
+ brandPresentation: {
2861
+ kind: "apply-logo-context",
2862
+ logo: input.headerLogoContext ?? defaultHeaderLogoContext
2863
+ }
2864
+ },
2865
+ footer: {
2866
+ preferences: input.footerPreferences ?? defaultFooterPreferences,
2867
+ footerLookId: input.selection.footerLookId
2868
+ }
2869
+ };
2870
+ }
2871
+ /**
2872
+ * A `'plain'` row wears no presentation, so the preview must not apply one
2873
+ * either: previewing a badge the save will not persist makes every save on such
2874
+ * a row report a header mismatch, which is the divergence signal talking about
2875
+ * the preview rather than about the compilers (#1318 Phase 4c).
2876
+ */
2877
+ function brandPresentationDirective(input) {
2878
+ return input.headerBrandPresentation === "plain" ? { kind: "use-compiled-defaults" } : {
2879
+ kind: "apply-logo-context",
2880
+ logo: input.headerLogoContext ?? defaultHeaderLogoContext
2881
+ };
2882
+ }
2883
+ function headerSelectionChanged(base, previewed) {
2884
+ return base.headerLayoutId !== previewed.headerLayoutId || base.headerStyleId !== previewed.headerStyleId;
2885
+ }
2886
+ function replacementCompilationPlan(input) {
2887
+ return replaceSiteStyleCompilationPlan({
2888
+ headerSelection: {
2889
+ layoutId: input.selection.headerLayoutId,
2890
+ styleId: input.selection.headerStyleId
2891
+ },
2892
+ footerLookId: input.selection.footerLookId,
2893
+ footerPreferences: input.footerPreferences ?? defaultFooterPreferences,
2894
+ buttonStyleSelection: input.selection.buttonStyleSelection,
2895
+ headerLogo: input.headerLogoContext ?? defaultHeaderLogoContext
2896
+ });
2897
+ }
2898
+ //#endregion
2740
2899
  //#region ../preview-next/src/client/preview/typographyFontCatalog.ts
2741
2900
  const typographyFontCategories = [
2742
2901
  {
@@ -3759,6 +3918,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3759
3918
  const router = useRouter();
3760
3919
  const previewDesign = usePreviewDesignCoordinator();
3761
3920
  const siteChromeCustomize = useSiteChromeCustomizeOptional();
3921
+ const footerPreferences = siteChromeCustomize ? siteChromeCustomize.getFooterPreferences() : defaultFooterPreferences;
3762
3922
  const siteStyleHistory = siteChromeCustomize?.siteStyleHistory;
3763
3923
  const setSiteStyleStagedPreviewActive = siteStyleHistory?.setStagedPreviewActive;
3764
3924
  const { applyFailed, applyStarted, applySucceeded, clearPreview, previewTheme } = previewDesign;
@@ -3815,7 +3975,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3815
3975
  setState((current) => current ? syncStyleConfiguratorState(current, baseSnapshot) : createStyleConfiguratorState(baseSnapshot));
3816
3976
  }, [baseSnapshot]);
3817
3977
  useEffect(() => {
3818
- if (!state || !baseSnapshot) {
3978
+ if (!state || !baseSnapshot || footerPreferences === null) {
3819
3979
  clearPreview("style-configurator");
3820
3980
  return;
3821
3981
  }
@@ -3829,6 +3989,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3829
3989
  return;
3830
3990
  }
3831
3991
  previewTheme("style-configurator", planConfiguratorPreview({
3992
+ footerPreferences,
3832
3993
  siteStyle,
3833
3994
  selection: state.previewed,
3834
3995
  headerLogoContext,
@@ -3839,6 +4000,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3839
4000
  baseSnapshot,
3840
4001
  clearPreview,
3841
4002
  previewTheme,
4003
+ footerPreferences,
3842
4004
  headerLogoContext,
3843
4005
  theme
3844
4006
  ]);
@@ -3886,17 +4048,22 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3886
4048
  }, []);
3887
4049
  const patchTypography = useCallback((patch) => {
3888
4050
  setState((current) => {
3889
- if (!current) return current;
4051
+ if (!current || footerPreferences === null) return current;
3890
4052
  const siteStyle = getCuratedSiteStyle(current.previewed.siteStyleId);
3891
4053
  if (!siteStyle) return current;
3892
4054
  return applyTypographyDraftPatch(current, planConfiguratorPreview({
4055
+ footerPreferences,
3893
4056
  siteStyle,
3894
4057
  selection: current.previewed,
3895
4058
  headerLogoContext,
3896
4059
  compilation: deriveSiteStylePreviewUpdate(theme, current.base)
3897
4060
  }).themeOverlay.typography, patch);
3898
4061
  });
3899
- }, [headerLogoContext, theme]);
4062
+ }, [
4063
+ footerPreferences,
4064
+ headerLogoContext,
4065
+ theme
4066
+ ]);
3900
4067
  const handleHeadingTypographyChange = useCallback((patch) => {
3901
4068
  patchTypography({
3902
4069
  kind: "heading",
@@ -3942,7 +4109,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3942
4109
  setState((current) => current ? dismissWarnings(current) : current);
3943
4110
  }, []);
3944
4111
  const applySelection = useCallback(async (live, restage) => {
3945
- if (!live || !isPreviewingChange(live)) return;
4112
+ if (footerPreferences === null || !live || !isPreviewingChange(live)) return;
3946
4113
  if (!deriveStyleConfiguratorCapabilities(live).canApplyStaged) return;
3947
4114
  const previewed = live.previewed;
3948
4115
  if (!getCuratedSiteStyle(previewed.siteStyleId)) return;
@@ -3985,6 +4152,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3985
4152
  }
3986
4153
  });
3987
4154
  }, [
4155
+ footerPreferences,
3988
4156
  apiClient,
3989
4157
  applyFailed,
3990
4158
  applyStarted,
@@ -3997,8 +4165,9 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
3997
4165
  ]);
3998
4166
  const handleApply = useCallback(() => applySelection(stateRef.current), [applySelection]);
3999
4167
  const handleChooseSiteStyle = useCallback((siteStyleId) => {
4000
- if (!stateRef.current) return;
4168
+ if (!stateRef.current || footerPreferences === null) return;
4001
4169
  const plan = planStyleSwitch(stateRef.current, siteStyleId, (state) => withResolvedSiteStyleSelections({
4170
+ footerPreferences,
4002
4171
  state,
4003
4172
  headerLogoContext,
4004
4173
  theme
@@ -4011,10 +4180,11 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
4011
4180
  });
4012
4181
  }, [
4013
4182
  applySelection,
4183
+ footerPreferences,
4014
4184
  headerLogoContext,
4015
4185
  theme
4016
4186
  ]);
4017
- if (!state || !baseSnapshot) return /* @__PURE__ */ jsx("p", {
4187
+ if (!state || !baseSnapshot || footerPreferences === null) return /* @__PURE__ */ jsx("p", {
4018
4188
  className: "text-sm text-muted-foreground",
4019
4189
  children: "Loading design controls..."
4020
4190
  });
@@ -4030,6 +4200,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
4030
4200
  const currentPalette = palettePreviewProjection(state.previewed.palette);
4031
4201
  const paletteControlsDisabled = saving || !stagedCapabilities.canPreviewStaged;
4032
4202
  const currentPreviewPlan = planConfiguratorPreview({
4203
+ footerPreferences,
4033
4204
  siteStyle: currentSiteStyle,
4034
4205
  selection: state.previewed,
4035
4206
  headerLogoContext,
@@ -4135,18 +4306,18 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
4135
4306
  }) : null
4136
4307
  }),
4137
4308
  /* @__PURE__ */ jsx(SiteChromeSelectionRow, {
4138
- label: "Footer links",
4139
- ariaLabel: "Footer link treatment",
4140
- defaultDescription: "Use the footer link treatment chosen for this site style.",
4309
+ label: "Footer",
4310
+ ariaLabel: "Footer layout",
4311
+ defaultDescription: "Use the footer layout chosen for this site style.",
4141
4312
  expanded: state.expandedRow === "footer",
4142
4313
  onToggle: () => handleToggleRow("footer"),
4143
- currentId: state.previewed.footerLookId,
4144
- currentLabel: state.previewed.footerLookId ? currentFooterLook?.label ?? "Unknown footer link treatment" : `${currentFooterLook?.label ?? "Site style"} (default)`,
4145
- scopeDescription: "Changes footer navigation links on every page.",
4314
+ currentId: chromeSelectionModels.footer.renderedLookId,
4315
+ currentLabel: currentFooterLook?.label ?? "Unknown footer layout",
4316
+ scopeDescription: "Changes the footer layout on every page.",
4146
4317
  options: chromeSelectionModels.footer.options,
4147
4318
  diagnostics: chromeSelectionModels.footer.diagnostics,
4148
4319
  onCycle: (direction) => {
4149
- const next = cycleSiteChromeSelectionId(chromeSelectionModels.footer.options, state.previewed.footerLookId, direction);
4320
+ const next = cycleSiteChromeSelectionId(chromeSelectionModels.footer.options, chromeSelectionModels.footer.renderedLookId, direction);
4150
4321
  if (next !== void 0) handlePreviewFooterLook(next);
4151
4322
  },
4152
4323
  onPreview: handlePreviewFooterLook,
@@ -4509,6 +4680,7 @@ function withResolvedSiteStyleSelections(input) {
4509
4680
  const siteStyle = getCuratedSiteStyle(input.state.previewed.siteStyleId);
4510
4681
  if (!siteStyle) return input.state;
4511
4682
  const result = planConfiguratorPreview({
4683
+ footerPreferences: input.footerPreferences,
4512
4684
  siteStyle,
4513
4685
  selection: input.state.previewed,
4514
4686
  headerLogoContext: input.headerLogoContext,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { Ao as Pencil, Ba as TooltipTrigger, Bo as EllipsisVertical, Co as TriangleAlert, Dt as useEntryEditorController, Fo as LoaderCircle, Go as Button, J as usePreviewDesignHistoryOrder, K as usePreviewPageDesignEditorState, Ko as cva, Lt as EditorWriteSurface, Mo as Palette, Ot as classifyHistoryShortcut, Ra as Tooltip, So as Undo2, To as Sparkles, Uo as ChevronDown, X as selectPreviewDesignHistoryDomain, Y as previewDesignHistoryDomainForCommand, ao as DialogDescription, co as DialogTitle, cr as unwrapResponse, fr as canDiscardDraft, ho as DropdownMenuItem, io as DialogContent, jo as PenLine, ko as Redo2, kt as useAutosaveStatus, lr as useEditorUiStore, mo as DropdownMenuContent, mt as usePreviewAuth, n as useSiteChromeCustomizeOptional, po as DropdownMenu, qo as cn, ro as Dialog, sn as useEditor, so as DialogHeader, ur as useEditorUiStoreInstance, vo as DropdownMenuTrigger, za as TooltipContent, zo as Eye } from "./SiteChromeCustomizeContext-CgNuBHC0.mjs";
3
- import { t as Spinner } from "./spinner-BYM-Y81w.mjs";
4
- import { a as PREVIEW_CHROME_PORTAL_CLASS_NAME, b as PREVIEW_CHROME_Z_INDEX, c as resolvePreviewChromeSurface, l as PREVIEW_THEME_COOKIE_NAME, o as PREVIEW_CHROME_THEME_CLASS_NAME, s as applyPreviewChromeSurfaceToElement, x as FixedBottomSurface } from "./SdkPreviewModeRuntime-DaNqevI1.mjs";
2
+ import { Ao as Sparkles, Bo as LoaderCircle, Co as DropdownMenuTrigger, Do as Undo2, Dt as classifyHistoryShortcut, Et as useEntryEditorController, Fo as Pencil, Ga as TooltipTrigger, Go as EllipsisVertical, Io as PenLine, It as EditorWriteSurface, J as selectPreviewDesignHistoryDomain, Jo as ChevronDown, K as usePreviewDesignHistoryOrder, Lo as Palette, Oo as TriangleAlert, Ot as useAutosaveStatus, Po as Redo2, Qo as cn, Ua as Tooltip, W as usePreviewPageDesignEditorState, Wa as TooltipContent, Wo as Eye, Xo as Button, Zo as cva, bo as DropdownMenuItem, co as Dialog, cr as useEditorUiStore, dr as canDiscardDraft, fo as DialogHeader, ft as usePreviewAuth, lo as DialogContent, lr as useEditorUiStoreInstance, n as useSiteChromeCustomizeOptional, on as useEditor, po as DialogTitle, q as previewDesignHistoryDomainForCommand, sr as unwrapResponse, uo as DialogDescription, vo as DropdownMenu, yo as DropdownMenuContent } from "./SiteChromeCustomizeContext-DEj7qppF.mjs";
3
+ import { t as Spinner } from "./spinner-MTooKfck.mjs";
4
+ import { a as PREVIEW_CHROME_PORTAL_CLASS_NAME, b as PREVIEW_CHROME_Z_INDEX, c as resolvePreviewChromeSurface, l as PREVIEW_THEME_COOKIE_NAME, o as PREVIEW_CHROME_THEME_CLASS_NAME, s as applyPreviewChromeSurfaceToElement, x as FixedBottomSurface } from "./SdkPreviewModeRuntime-BUNV_YHZ.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";
@@ -440,47 +440,23 @@ function PreviewOpenEditorButton() {
440
440
  const { assistantActive, editorActive, toggleSidebar } = usePreviewSidebarControls();
441
441
  return /* @__PURE__ */ jsxs("div", {
442
442
  className: "flex items-center gap-2",
443
- children: [
444
- /* @__PURE__ */ jsx(PreviewSiteDesignButton, {}),
445
- /* @__PURE__ */ jsx(Button, {
446
- variant: editorActive ? "default" : "outline",
447
- size: "icon",
448
- onClick: () => toggleSidebar("editor"),
449
- "aria-label": editorActive ? "Close editor" : "Open editor",
450
- "aria-pressed": editorActive,
451
- title: editorActive ? "Close editor" : "Open editor",
452
- children: /* @__PURE__ */ jsx(Pencil, { className: "size-4" })
453
- }),
454
- /* @__PURE__ */ jsx(Button, {
455
- variant: assistantActive ? "default" : "outline",
456
- size: "icon",
457
- className: "hidden sm:inline-flex",
458
- onClick: () => toggleSidebar("assistant"),
459
- "aria-label": assistantActive ? "Close AI assistant" : "Open AI assistant",
460
- "aria-pressed": assistantActive,
461
- title: assistantActive ? "Close AI assistant" : "Open AI assistant",
462
- children: /* @__PURE__ */ jsx(Sparkles, { className: "size-4" })
463
- })
464
- ]
465
- });
466
- }
467
- /** Site design, one click from the toolbar. */
468
- function PreviewSiteDesignButton() {
469
- const uiStore = useEditorUiStoreInstance();
470
- if (!(useSiteChromeCustomizeOptional()?.canOpenDesignEditor === true)) return null;
471
- return /* @__PURE__ */ jsxs(Button, {
472
- variant: "outline",
473
- size: "sm",
474
- className: "gap-1.5",
475
- onClick: () => uiStore.getState().openPreviewEditor({
476
- kind: "design",
477
- row: "site-style"
478
- }),
479
- "aria-label": "Site design",
480
- title: "Style, colours and fonts for the whole site",
481
- children: [/* @__PURE__ */ jsx(Palette, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
482
- className: "hidden lg:inline",
483
- children: "Site design"
443
+ children: [/* @__PURE__ */ jsx(Button, {
444
+ variant: editorActive ? "default" : "outline",
445
+ size: "icon",
446
+ onClick: () => toggleSidebar("editor"),
447
+ "aria-label": editorActive ? "Close editor" : "Open editor",
448
+ "aria-pressed": editorActive,
449
+ title: editorActive ? "Close editor" : "Open editor",
450
+ children: /* @__PURE__ */ jsx(Pencil, { className: "size-4" })
451
+ }), /* @__PURE__ */ jsx(Button, {
452
+ variant: assistantActive ? "default" : "outline",
453
+ size: "icon",
454
+ className: "hidden sm:inline-flex",
455
+ onClick: () => toggleSidebar("assistant"),
456
+ "aria-label": assistantActive ? "Close AI assistant" : "Open AI assistant",
457
+ "aria-pressed": assistantActive,
458
+ title: assistantActive ? "Close AI assistant" : "Open AI assistant",
459
+ children: /* @__PURE__ */ jsx(Sparkles, { className: "size-4" })
484
460
  })]
485
461
  });
486
462
  }