@riverbankcms/sdk 0.129.1 → 0.130.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.
- package/README.md +32 -10
- package/dist/{PreviewEditorSidebar-DceRseRV.mjs → PreviewEditorSidebar-DiEpbOdw.mjs} +313 -239
- package/dist/{PreviewEditorUI-BNunq3kk.mjs → PreviewEditorUI-C6MvxnIa.mjs} +3 -3
- package/dist/{PreviewQueryProvider-B1kbhaJD.mjs → PreviewQueryProvider-C2rnoPz6.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Bt87-62u.mjs → SdkPreviewModeRuntime-DRXA_m5L.mjs} +208 -211
- package/dist/{SiteChromeCustomizeContext-BLl-OlL4.mjs → SiteChromeCustomizeContext-BTHdv5_-.mjs} +6204 -6239
- package/dist/_dts/ai/src/contracts/proposalPrimitives.d.ts +52 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4950 -29100
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +32572 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +21 -9
- package/dist/_dts/api/src/bookingConfig.d.ts +4 -46
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +13 -11
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -5
- package/dist/_dts/api/src/endpoints.d.ts +14 -21
- package/dist/_dts/api/src/eventManagementContracts.d.ts +76 -0
- package/dist/_dts/api/src/index.d.ts +3 -2
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +22 -47
- package/dist/_dts/api/src/sdk-event-schedule.d.ts +5 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +112 -20
- package/dist/_dts/api/src/sdkContracts.d.ts +38 -66
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +35 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +2423 -501
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +5 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +23 -37
- package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +6 -8
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +36 -14
- package/dist/_dts/blocks/src/index.d.ts +5 -3
- package/dist/_dts/blocks/src/lib/media.d.ts +9 -539
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +135 -90
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +37 -4
- package/dist/_dts/blocks/src/system/blocks/site-footer-nav-groups-layout.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +3 -0
- package/dist/_dts/blocks/src/system/componentFactory.d.ts +5 -5
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +8 -6
- package/dist/_dts/blocks/src/system/customize/serializeBackgroundOverride.d.ts +3 -0
- package/dist/_dts/blocks/src/system/fields/background.d.ts +2 -20
- package/dist/_dts/blocks/src/system/fields/backgroundContent.d.ts +17 -0
- package/dist/_dts/blocks/src/system/fields/backgroundContentAudit.d.ts +20 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +5 -33
- package/dist/_dts/blocks/src/system/fragments/builder.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/helpers/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +10 -45
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +7 -4
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/writeCanonicalization.d.ts +4 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +123 -55
- package/dist/_dts/blocks/src/system/registry.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +2 -37
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +61 -24
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +30 -12
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +3 -5
- package/dist/_dts/blocks/src/system/runtime/header/headerScrollRuntime.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/header/runtimeContract.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/view.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.frame.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.pass-contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/registry/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -1
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +4 -1
- package/dist/_dts/blocks/src/system/transforms/registry/headerRuntime.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +0 -3
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +41 -43
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +4 -2
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +2 -17
- package/dist/_dts/content-editor/src/FooterNavigationLayoutControl.d.ts +5 -0
- package/dist/_dts/content-editor/src/footerComposer.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +21 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +2 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +11 -1
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +26 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
- package/dist/_dts/core/src/booking-date-time.d.ts +2 -2
- package/dist/_dts/core/src/booking-time-zone.d.ts +6 -0
- package/dist/_dts/core/src/footer-composition-types.d.ts +4 -4
- package/dist/_dts/core/src/footer-navigation-layout.d.ts +4 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +38 -18
- package/dist/_dts/preview-next/src/client/preview/FooterSidebarDisclosure.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +15 -17
- package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -5
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +6 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +7 -7
- package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +4 -4
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +12 -11
- package/dist/_dts/preview-next/src/client/preview/siteChromeSelectionRows.d.ts +53 -0
- package/dist/_dts/preview-next/src/client/preview/siteStyleAccess.d.ts +1 -6
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +6 -15
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +4 -6
- package/dist/_dts/sdk/src/config/types.d.ts +1 -0
- package/dist/_dts/sdk/src/config/validation.d.ts +2 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -41
- package/dist/_dts/sdk/src/next/catch-all-theme-admission.d.ts +23 -0
- package/dist/_dts/sdk/src/next/index.d.ts +8 -6
- package/dist/_dts/sdk/src/next/resolveTheme.d.ts +1 -2
- package/dist/_dts/sdk/src/next/types.d.ts +10 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -16
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +5 -3
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +4 -2
- package/dist/_dts/sdk/src/rendering/index.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/server.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/themeAdmission.d.ts +11 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blockOverrides.d.ts +1 -1
- package/dist/_dts/theme-core/src/boxBackgroundSchema.d.ts +184 -0
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +96 -0
- package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +78 -0
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/parseThemeForPersistence.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +9 -57
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +6 -3
- package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +8 -7
- package/dist/_dts/theme-core/src/buttons/styles/recipes/quietArrow.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +11 -0
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +12 -0
- package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +5 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +51 -4
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/lib/media.d.ts +583 -10
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +5117 -1433
- package/dist/_dts/theme-core/src/schema.d.ts +5079 -2005
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +6 -14
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +29 -102
- package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +3 -76
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -7
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipelineHelpers.d.ts +17 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +281 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutResolution.d.ts +13 -0
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/{headerLookTypes.d.ts → headerLayoutTypes.d.ts} +16 -86
- package/dist/_dts/theme-core/src/site-styles/headerNavStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +7 -4
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/imageSurfaceBackground.d.ts +14 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +14 -41
- package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +23 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +8 -6
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +1 -1
- package/dist/client/{CourseRegistrationWizard-xRmA7REV.mjs → CourseRegistrationWizard-Bvtz9G9g.mjs} +5 -5
- package/dist/client/{DiscountCodeDisclosure-B9vriL5C.mjs → DiscountCodeDisclosure-Ur-Xx1U_.mjs} +1 -1
- package/dist/client/{EventCombined.client-BgVnVTlz.mjs → EventCombined.client-EhscD4U6.mjs} +2 -2
- package/dist/client/{EventListing.client-CqdsO7jO.mjs → EventListing.client-Bn26cFTY.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CKPxot9M.mjs → LeafletStaticMap-BUw9Ntzr.mjs} +1 -1
- package/dist/client/{StepIndicator-DGCYuBJ1.mjs → StepIndicator-BfbdiVQI.mjs} +2 -2
- package/dist/client/{accordion-BfN5Eqd-.mjs → accordion-CjIeof73.mjs} +1 -1
- package/dist/client/{bookingForm-DOvCpBFP.mjs → bookingForm-DwEeovf_.mjs} +5 -5
- package/dist/client/bookings.mjs +1028 -1038
- package/dist/client/{carousel-DPNmiH0f.mjs → carousel-BMrfgOba.mjs} +1 -1
- package/dist/client/{cart--egVXlrR.mjs → cart-rXEdxTdb.mjs} +3 -3
- package/dist/client/{checkout-DywWtMcq.mjs → checkout-D3JlSzh3.mjs} +3 -3
- package/dist/client/client.mjs +18345 -18311
- package/dist/client/{courseRegistration-Dk9qFVwt.mjs → courseRegistration-DO5XvMAA.mjs} +2 -2
- package/dist/client/{eventCalendar-Bkz2HjlS.mjs → eventCalendar-DO6rTqCn.mjs} +4 -4
- package/dist/client/{eventCombined-D4kipYWg.mjs → eventCombined-bJ3i_ovU.mjs} +2 -2
- package/dist/client/{eventDetails-Dz_5ix2Q.mjs → eventDetails-CCbrXE7o.mjs} +3 -3
- package/dist/client/{eventListing-D0vm-zST.mjs → eventListing-Bdlt9YTm.mjs} +2 -2
- package/dist/client/{eventRegistration-Cw1E4Q4p.mjs → eventRegistration-B02lt6iY.mjs} +6 -6
- package/dist/client/{form-C2Zf1n3K.mjs → form-DrUBAAox.mjs} +1 -1
- package/dist/client/{headerSection-CP05gzdc.mjs → headerSection-MzqvHL6T.mjs} +151 -104
- package/dist/client/hooks.mjs +4532 -4216
- package/dist/client/{locationMap-Cl3x9PYJ.mjs → locationMap-DG8BxTBm.mjs} +2 -2
- package/dist/client/{newsletterForm-DyEJoClm.mjs → newsletterForm-BzO-Td3p.mjs} +1 -1
- package/dist/client/{pricing-DGuNR1W4.mjs → pricing-NgK7ozkg.mjs} +1 -1
- package/dist/client/{productDetail-Cq-HrGew.mjs → productDetail-CfQ7rhVK.mjs} +3 -3
- package/dist/client/{productList-DbB3jwqd.mjs → productList-C23rOLUi.mjs} +3 -3
- package/dist/client/{propsDecoder-CiTuhUwY.mjs → propsDecoder-CAZdhwjs.mjs} +2166 -2157
- package/dist/client/rendering/client.mjs +3600 -4118
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +15950 -15890
- package/dist/client/{scrollToBlock-CShkRqab.mjs → scrollToBlock-DSSqVQr1.mjs} +1 -1
- package/dist/client/{shop-Cu4Ib-ZA.mjs → shop-BMToKLK7.mjs} +34 -23
- package/dist/client/{shop-commerce-BzpsOdh7.mjs → shop-commerce-DB4JRKmp.mjs} +4 -4
- package/dist/client/{shop-commerce-store-DaE7Fhj8.mjs → shop-commerce-store-BOqSIOuc.mjs} +1 -1
- package/dist/client/{shopShared-cF0c20vB.mjs → shopShared-B6SK9DZv.mjs} +9 -3
- package/dist/client/{useEventFilters-QZ3HMgaJ.mjs → useEventFilters-CULOa4nB.mjs} +2 -2
- package/dist/client/{usePolling-BKf0GcE-.mjs → usePolling-BGG_8-jl.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +16 -27
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +16 -27
- package/dist/{previewAuthStore-BesgU5Xu.mjs → previewAuthStore-_GXFRg2W.mjs} +16 -27
- package/dist/{sdk-runtime-C20CVWbb.mjs → sdk-runtime-hhSOMShR.mjs} +2 -2
- package/dist/{separator-BE3NCquy.mjs → separator-flRaFc14.mjs} +1 -1
- package/dist/server/components.mjs +17770 -17866
- package/dist/server/config-validation.mjs +4711 -4421
- package/dist/server/config.mjs +4715 -4425
- package/dist/server/data.mjs +4515 -4216
- package/dist/server/date-time.mjs +22 -13
- package/dist/server/index.mjs +17 -28
- package/dist/server/next.mjs +17586 -17650
- package/dist/server/page-converter.mjs +3759 -4390
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +18952 -19064
- package/dist/server/rendering.mjs +17824 -17901
- package/dist/server/routing.mjs +4748 -4365
- package/dist/server/server.mjs +4591 -4269
- package/dist/server/theme-bridge.mjs +1393 -1886
- package/dist/server/theme.mjs +736 -605
- package/dist/styles/index.css +22 -3
- package/package.json +1 -1
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +0 -66
- package/dist/_dts/theme-core/src/site-styles/headerLayoutStyleCatalog.d.ts +0 -254
- package/dist/_dts/theme-core/src/site-styles/headerLegacyLooks.d.ts +0 -372
- package/dist/_dts/theme-core/src/site-styles/headerLookBranding.d.ts +0 -106
- package/dist/_dts/theme-core/src/site-styles/headerLookSelection.d.ts +0 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +0 -7
- package/dist/_dts/theme-core/src/site-styles/headerStyleCompilerPrimitives.d.ts +0 -23
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { $ as
|
|
3
|
-
import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-
|
|
4
|
-
import { t as Separator } from "./separator-
|
|
5
|
-
import {
|
|
2
|
+
import { $ as FooterComposerPanel, $i as CalloutDescription, A as markApplySaved, Aa as unsafeAsEditorBlockId, Ai as paletteColorEntries, Ar as getHeaderStyle, B as resetTypographyToSaved, Ba as Tablet, Bt as useEditorUiStoreInstance, C as applyTypographyDraftPatch, Ca as DropdownMenuSeparator, Ci as buttonStyleSelectionKey, D as dismissWarnings, E as deriveStyleConfiguratorCapabilities, Ea as Button, En as ThemeScope, Er as getCuratedSiteStyle, F as previewCuratedPalette, H as styleConfiguratorHistoryEntryForPersistedSelection, Ha as Smartphone, I as previewFooterLook, Ia as X$1, Ji as SelectContent, Kr as curatedPalettes, L as previewHeaderLayout, M as openRow, Ma as assertNever$1, N as palettePreviewProjection, Nt as BlockEditor, O as isPreviewingChange, Oa as cn, Or as findFooterLook, P as previewButtonStyle, Q as resolvePreviewSidebarTab, Qi as Callout, R as previewHeaderStyle, S as applyResolvedSelections, Sa as DropdownMenuLabel, Si as updateButtonStyleSelectionChoice, T as createStyleConfiguratorState, U as syncStyleConfiguratorState, Ua as SlidersHorizontal, V as setPaletteColors, W as toggleRow, Xa as Maximize2, Xi as SelectTrigger, Ya as Monitor, Yi as SelectItem, Z as createOptimisticActionRunner, Za as LoaderCircle, Zi as SelectValue, _ as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, _a as CollapsibleTrigger, _n as listEntryPageContentSlots, aa as Tabs, an as resolveContentTitle, ao as Check, at as useUISelector, b as cycleSiteChromeSelectionId, ba as DropdownMenuContent, bi as findButtonStyleRecipe, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as TabsTrigger, cn as ManifestForm, ct as useEntryController, d as resolveStyleConfiguratorInitialSnapshot, dn as FormRenderer, ea as SearchInput, ga as CollapsibleContent, ha as Collapsible, ia as Input, in as resolvePageRouteSlug, it as ContentFieldsForm, j as markApplySaving, ji as paletteColorsSchema, k as markApplyFailed, kr as getHeaderLayout, l as deriveSiteStylePreviewUpdate, n as useSiteChromeCustomizeOptional, na as PopoverContent, no as ChevronRight, oa as TabsContent, p as usePreviewDesignCoordinator, pn as createStoreBackend, qi as Select, ra as PopoverTrigger, rn as deriveRouteMetadataPresentation, ro as ChevronLeft, s as buildApplySiteStyleSelectionBody, sa as TabsList, ta as Popover, tn as isAdapterReferenceKind, u as planSiteStylePreviewChange, un as createManifestValidation, v as reportPreviewDesignError, va as Surface, w as cancelPreview, wa as DropdownMenuTrigger, wi as themeButtonClassName, wr as curatedSiteStyles, x as planSiteChromeSelection, xa as DropdownMenuItem, xi as resolveButtonStyleSelection, y as buildSiteChromeSelectionModels, ya as DropdownMenu, yi as buttonStyleSelectionParameterValue, z as previewSiteStyle, zt as useEditorUiStore } from "./SiteChromeCustomizeContext-BTHdv5_-.mjs";
|
|
3
|
+
import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-_GXFRg2W.mjs";
|
|
4
|
+
import { t as Separator } from "./separator-flRaFc14.mjs";
|
|
5
|
+
import { _ as PreviewFormProvider, b as generateFontFaceCss, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as usePreviewBlockCustomizeSelectionOptional, h as useBlockCustomizeControls, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as previewWidgetOverrides, x as getSiteFontsStorageUrl, y as buildFontPreviewUrl } from "./SdkPreviewModeRuntime-DRXA_m5L.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";
|
|
@@ -509,7 +509,7 @@ const SUBROUTE_KINDS = { "event-occurrence": {
|
|
|
509
509
|
instanceNoun: "date",
|
|
510
510
|
listLabel: "events list",
|
|
511
511
|
formatInstanceName: (occurrence) => formatOccurrenceDate(occurrence.startsAt),
|
|
512
|
-
subEditorPath: (
|
|
512
|
+
subEditorPath: () => "bookings/events"
|
|
513
513
|
} };
|
|
514
514
|
//#endregion
|
|
515
515
|
//#region ../content-model/src/contentManifest.ts
|
|
@@ -1437,6 +1437,56 @@ function EntryEditorPanel({ siteId, dashboardBaseUrl, entryData, contentTypeSche
|
|
|
1437
1437
|
});
|
|
1438
1438
|
}
|
|
1439
1439
|
//#endregion
|
|
1440
|
+
//#region ../preview-next/src/client/preview/FooterSidebarDisclosure.tsx
|
|
1441
|
+
function FooterSidebarDisclosure({ editorStore, hidden, children }) {
|
|
1442
|
+
const [open, setOpen] = useState(false);
|
|
1443
|
+
const sectionRef = useRef(null);
|
|
1444
|
+
const inspection = useUISelector(editorStore, (state) => state.previewInspection);
|
|
1445
|
+
useEffect(() => {
|
|
1446
|
+
if (inspection.kind !== "footer" && inspection.kind !== "footer-module") return;
|
|
1447
|
+
setOpen(true);
|
|
1448
|
+
sectionRef.current?.scrollIntoView({
|
|
1449
|
+
block: "start",
|
|
1450
|
+
behavior: "smooth"
|
|
1451
|
+
});
|
|
1452
|
+
}, [inspection]);
|
|
1453
|
+
return /* @__PURE__ */ jsx(Collapsible, {
|
|
1454
|
+
hidden,
|
|
1455
|
+
"data-design-takeover-sibling": true,
|
|
1456
|
+
open,
|
|
1457
|
+
onOpenChange: setOpen,
|
|
1458
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1459
|
+
ref: sectionRef,
|
|
1460
|
+
className: "border-b",
|
|
1461
|
+
children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
|
|
1462
|
+
asChild: true,
|
|
1463
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1464
|
+
className: "flex cursor-pointer items-center gap-2 px-4 py-3 hover:bg-accent/40",
|
|
1465
|
+
children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${open ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
|
|
1466
|
+
className: "text-sm font-semibold",
|
|
1467
|
+
children: "Footer"
|
|
1468
|
+
})]
|
|
1469
|
+
})
|
|
1470
|
+
}), /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", {
|
|
1471
|
+
className: "pb-4",
|
|
1472
|
+
children
|
|
1473
|
+
}) })]
|
|
1474
|
+
})
|
|
1475
|
+
});
|
|
1476
|
+
}
|
|
1477
|
+
//#endregion
|
|
1478
|
+
//#region ../preview-next/src/client/preview/PreviewDesignOpenRequestContext.tsx
|
|
1479
|
+
const PreviewDesignOpenRequestContext = createContext(null);
|
|
1480
|
+
function PreviewDesignOpenRequestProvider({ request, children }) {
|
|
1481
|
+
return /* @__PURE__ */ jsx(PreviewDesignOpenRequestContext.Provider, {
|
|
1482
|
+
value: request,
|
|
1483
|
+
children
|
|
1484
|
+
});
|
|
1485
|
+
}
|
|
1486
|
+
function usePreviewDesignOpenRequest() {
|
|
1487
|
+
return useContext(PreviewDesignOpenRequestContext);
|
|
1488
|
+
}
|
|
1489
|
+
//#endregion
|
|
1440
1490
|
//#region ../preview-next/src/client/preview/SelectedBlockCustomizePanel.tsx
|
|
1441
1491
|
const EMPTY_BLOCK_VALUES = {};
|
|
1442
1492
|
function SelectedBlockCustomizePanel({ blockItems, uiStoreForBlockEditor, theme, sdkConfig }) {
|
|
@@ -1537,20 +1587,8 @@ function formatBlockKindLabel(blockKind) {
|
|
|
1537
1587
|
return blockKind.replace(/^block\./, "").replace(/^custom\./, "").replace(/[-_]+/g, " ");
|
|
1538
1588
|
}
|
|
1539
1589
|
//#endregion
|
|
1540
|
-
//#region ../preview-next/src/client/preview/PreviewDesignOpenRequestContext.tsx
|
|
1541
|
-
const PreviewDesignOpenRequestContext = createContext(null);
|
|
1542
|
-
function PreviewDesignOpenRequestProvider({ request, children }) {
|
|
1543
|
-
return /* @__PURE__ */ jsx(PreviewDesignOpenRequestContext.Provider, {
|
|
1544
|
-
value: request,
|
|
1545
|
-
children
|
|
1546
|
-
});
|
|
1547
|
-
}
|
|
1548
|
-
function usePreviewDesignOpenRequest() {
|
|
1549
|
-
return useContext(PreviewDesignOpenRequestContext);
|
|
1550
|
-
}
|
|
1551
|
-
//#endregion
|
|
1552
1590
|
//#region ../preview-next/src/client/preview/PageBlockEditorPanel.tsx
|
|
1553
|
-
function
|
|
1591
|
+
function usePageBlockEditorPanelControls(uiStoreForBlockEditor) {
|
|
1554
1592
|
const customizeSelection = usePreviewBlockCustomizeSelectionOptional();
|
|
1555
1593
|
const [designOpen, setDesignOpen] = useState(false);
|
|
1556
1594
|
const [customizeOpen, setCustomizeOpen] = useState(false);
|
|
@@ -1595,160 +1633,210 @@ function PageBlockEditorPanel({ siteId, pageId, dashboardBaseUrl, theme, apiClie
|
|
|
1595
1633
|
});
|
|
1596
1634
|
uiStoreForBlockEditor.getState().consumePreviewDesignOpenRequest(pendingDesignOpenRequest.requestId);
|
|
1597
1635
|
}, [pendingDesignOpenRequest, uiStoreForBlockEditor]);
|
|
1636
|
+
return {
|
|
1637
|
+
designOpen,
|
|
1638
|
+
setDesignOpen,
|
|
1639
|
+
customizeOpen,
|
|
1640
|
+
setCustomizeOpen,
|
|
1641
|
+
contentOpen,
|
|
1642
|
+
setContentOpen,
|
|
1643
|
+
detailsOpen,
|
|
1644
|
+
setDetailsOpen,
|
|
1645
|
+
designOpenRequest,
|
|
1646
|
+
designSectionRef,
|
|
1647
|
+
customizeSectionRef,
|
|
1648
|
+
blockActionPresentation
|
|
1649
|
+
};
|
|
1650
|
+
}
|
|
1651
|
+
function PageBlockEditorPanel(props) {
|
|
1652
|
+
const controls = usePageBlockEditorPanelControls(props.uiStoreForBlockEditor);
|
|
1653
|
+
const takeover = props.designTakeoverActive ?? false;
|
|
1598
1654
|
return /* @__PURE__ */ jsxs("div", {
|
|
1599
1655
|
className: "flex h-full min-h-0 flex-col overflow-hidden",
|
|
1600
1656
|
children: [/* @__PURE__ */ jsx("div", {
|
|
1601
1657
|
className: "shrink-0 border-b px-4 py-2",
|
|
1602
1658
|
children: /* @__PURE__ */ jsx(PreviewViewportControls, {
|
|
1603
|
-
mode: viewportMode,
|
|
1604
|
-
width: viewportWidth,
|
|
1605
|
-
onModeChange: onViewportModeChange,
|
|
1606
|
-
onWidthChange: onViewportWidthChange,
|
|
1607
|
-
zoom,
|
|
1608
|
-
onZoomChange
|
|
1659
|
+
mode: props.viewportMode,
|
|
1660
|
+
width: props.viewportWidth,
|
|
1661
|
+
onModeChange: props.onViewportModeChange,
|
|
1662
|
+
onWidthChange: props.onViewportWidthChange,
|
|
1663
|
+
zoom: props.zoom,
|
|
1664
|
+
onZoomChange: props.onZoomChange
|
|
1609
1665
|
})
|
|
1610
1666
|
}), /* @__PURE__ */ jsx(PreviewFormProvider, {
|
|
1611
|
-
siteId,
|
|
1612
|
-
theme: theme ?? null,
|
|
1613
|
-
previewClient: apiClient,
|
|
1614
|
-
bookingOfferingPresets,
|
|
1615
|
-
sdkConfig: sdkConfig ?? null,
|
|
1667
|
+
siteId: props.siteId,
|
|
1668
|
+
theme: props.theme ?? null,
|
|
1669
|
+
previewClient: props.apiClient,
|
|
1670
|
+
bookingOfferingPresets: props.bookingOfferingPresets,
|
|
1671
|
+
sdkConfig: props.sdkConfig ?? null,
|
|
1616
1672
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1617
|
-
className: `min-h-0 flex-1 space-y-0 ${
|
|
1618
|
-
"data-design-takeover-active":
|
|
1673
|
+
className: `min-h-0 flex-1 space-y-0 ${takeover ? "flex flex-col overflow-hidden" : "overflow-auto"}`,
|
|
1674
|
+
"data-design-takeover-active": takeover ? "true" : "false",
|
|
1619
1675
|
children: [
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1676
|
+
/* @__PURE__ */ jsx(LinkedEntrySection, {
|
|
1677
|
+
section: props.linkedEntrySection,
|
|
1678
|
+
hidden: takeover
|
|
1679
|
+
}),
|
|
1680
|
+
props.designPanel ? /* @__PURE__ */ jsx(DesignSection, {
|
|
1681
|
+
panel: props.designPanel,
|
|
1682
|
+
takeover,
|
|
1683
|
+
controls
|
|
1628
1684
|
}) : null,
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
open:
|
|
1632
|
-
onOpenChange:
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
children: /* @__PURE__ */
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
1641
|
-
className: `flex shrink-0 cursor-pointer items-center gap-2 px-4 py-3 hover:bg-accent/40 ${designTakeoverActive ? "border-b" : ""}`,
|
|
1642
|
-
children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${designTakeoverActive || designOpen ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
|
|
1643
|
-
className: "text-sm font-semibold",
|
|
1644
|
-
children: "Design"
|
|
1645
|
-
})]
|
|
1646
|
-
})
|
|
1647
|
-
}), /* @__PURE__ */ jsx(CollapsibleContent, {
|
|
1648
|
-
className: designTakeoverActive ? "min-h-0 flex-1 data-[state=open]:h-full data-[state=open]:overflow-hidden" : void 0,
|
|
1649
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
1650
|
-
className: designTakeoverActive ? "h-full min-h-0" : "px-4 pb-4",
|
|
1651
|
-
children: /* @__PURE__ */ jsx(PreviewDesignOpenRequestProvider, {
|
|
1652
|
-
request: designOpenRequest,
|
|
1653
|
-
children: designPanel
|
|
1654
|
-
})
|
|
1655
|
-
})
|
|
1656
|
-
})]
|
|
1657
|
-
})
|
|
1658
|
-
}) : null,
|
|
1659
|
-
/* @__PURE__ */ jsx(Collapsible, {
|
|
1660
|
-
hidden: designTakeoverActive,
|
|
1661
|
-
"data-design-takeover-sibling": true,
|
|
1662
|
-
open: customizeOpen,
|
|
1663
|
-
onOpenChange: setCustomizeOpen,
|
|
1664
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
1665
|
-
ref: customizeSectionRef,
|
|
1666
|
-
className: "border-b",
|
|
1667
|
-
children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
|
|
1668
|
-
asChild: true,
|
|
1669
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
1670
|
-
className: "flex cursor-pointer items-center gap-2 px-4 py-3 hover:bg-accent/40",
|
|
1671
|
-
children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${customizeOpen ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
|
|
1672
|
-
className: "text-sm font-semibold",
|
|
1673
|
-
children: "Customize"
|
|
1674
|
-
})]
|
|
1675
|
-
})
|
|
1676
|
-
}), /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", {
|
|
1677
|
-
className: "px-4 pb-4",
|
|
1678
|
-
children: /* @__PURE__ */ jsx(SelectedBlockCustomizePanel, {
|
|
1679
|
-
blockItems,
|
|
1680
|
-
uiStoreForBlockEditor,
|
|
1681
|
-
theme: theme ?? null,
|
|
1682
|
-
sdkConfig: sdkConfig ?? null
|
|
1683
|
-
})
|
|
1684
|
-
}) })]
|
|
1685
|
+
/* @__PURE__ */ jsx(StandardSection, {
|
|
1686
|
+
label: "Customize",
|
|
1687
|
+
open: controls.customizeOpen,
|
|
1688
|
+
onOpenChange: controls.setCustomizeOpen,
|
|
1689
|
+
hidden: takeover,
|
|
1690
|
+
sectionRef: controls.customizeSectionRef,
|
|
1691
|
+
children: /* @__PURE__ */ jsx(SelectedBlockCustomizePanel, {
|
|
1692
|
+
blockItems: props.blockItems,
|
|
1693
|
+
uiStoreForBlockEditor: props.uiStoreForBlockEditor,
|
|
1694
|
+
theme: props.theme ?? null,
|
|
1695
|
+
sdkConfig: props.sdkConfig ?? null
|
|
1685
1696
|
})
|
|
1686
1697
|
}),
|
|
1687
|
-
/* @__PURE__ */ jsx(
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
children: /* @__PURE__ */
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
owner: {
|
|
1710
|
-
kind: "page",
|
|
1711
|
-
pageId
|
|
1712
|
-
},
|
|
1713
|
-
blocks: blockItems,
|
|
1714
|
-
uiStore: uiStoreForBlockEditor,
|
|
1715
|
-
apiClient,
|
|
1716
|
-
onBlocksChange,
|
|
1717
|
-
actionPresentation: blockActionPresentation,
|
|
1718
|
-
widgetOverrides: previewWidgetOverrides,
|
|
1719
|
-
sdkConfig: sdkConfig ?? null,
|
|
1720
|
-
reorderControlMode: "drag-handle-only"
|
|
1721
|
-
}, pageId)
|
|
1722
|
-
}) })]
|
|
1723
|
-
})
|
|
1698
|
+
/* @__PURE__ */ jsx(StandardSection, {
|
|
1699
|
+
label: "Page Blocks",
|
|
1700
|
+
open: controls.contentOpen,
|
|
1701
|
+
onOpenChange: controls.setContentOpen,
|
|
1702
|
+
hidden: takeover,
|
|
1703
|
+
children: /* @__PURE__ */ jsx(BlockEditor, {
|
|
1704
|
+
ref: props.blockEditorRef,
|
|
1705
|
+
siteId: props.siteId,
|
|
1706
|
+
dashboardBaseUrl: props.dashboardBaseUrl,
|
|
1707
|
+
owner: {
|
|
1708
|
+
kind: "page",
|
|
1709
|
+
pageId: props.pageId
|
|
1710
|
+
},
|
|
1711
|
+
blocks: props.blockItems,
|
|
1712
|
+
uiStore: props.uiStoreForBlockEditor,
|
|
1713
|
+
apiClient: props.apiClient,
|
|
1714
|
+
onBlocksChange: props.onBlocksChange,
|
|
1715
|
+
actionPresentation: controls.blockActionPresentation,
|
|
1716
|
+
widgetOverrides: previewWidgetOverrides,
|
|
1717
|
+
sdkConfig: props.sdkConfig ?? null,
|
|
1718
|
+
reorderControlMode: "drag-handle-only"
|
|
1719
|
+
}, props.pageId)
|
|
1724
1720
|
}),
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${detailsOpen ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
|
|
1737
|
-
className: "text-sm font-semibold",
|
|
1738
|
-
children: "Page Details"
|
|
1739
|
-
})]
|
|
1740
|
-
})
|
|
1741
|
-
}), /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", {
|
|
1742
|
-
className: "px-4 pb-4",
|
|
1743
|
-
children: metadataPanel
|
|
1744
|
-
}) })]
|
|
1745
|
-
})
|
|
1721
|
+
props.footerPanel ? /* @__PURE__ */ jsx(FooterSidebarDisclosure, {
|
|
1722
|
+
editorStore: props.uiStoreForBlockEditor,
|
|
1723
|
+
hidden: takeover,
|
|
1724
|
+
children: props.footerPanel
|
|
1725
|
+
}) : null,
|
|
1726
|
+
props.metadataPanel ? /* @__PURE__ */ jsx(StandardSection, {
|
|
1727
|
+
label: "Page Details",
|
|
1728
|
+
open: controls.detailsOpen,
|
|
1729
|
+
onOpenChange: controls.setDetailsOpen,
|
|
1730
|
+
hidden: takeover,
|
|
1731
|
+
children: props.metadataPanel
|
|
1746
1732
|
}) : null
|
|
1747
1733
|
]
|
|
1748
1734
|
})
|
|
1749
1735
|
})]
|
|
1750
1736
|
});
|
|
1751
1737
|
}
|
|
1738
|
+
function StandardSection({ label, open, onOpenChange, hidden, sectionRef, children }) {
|
|
1739
|
+
return /* @__PURE__ */ jsx(Collapsible, {
|
|
1740
|
+
hidden,
|
|
1741
|
+
"data-design-takeover-sibling": true,
|
|
1742
|
+
open,
|
|
1743
|
+
onOpenChange,
|
|
1744
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1745
|
+
ref: sectionRef,
|
|
1746
|
+
className: "border-b",
|
|
1747
|
+
children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
|
|
1748
|
+
asChild: true,
|
|
1749
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1750
|
+
className: "flex cursor-pointer items-center gap-2 px-4 py-3 hover:bg-accent/40",
|
|
1751
|
+
children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${open ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
|
|
1752
|
+
className: "text-sm font-semibold",
|
|
1753
|
+
children: label
|
|
1754
|
+
})]
|
|
1755
|
+
})
|
|
1756
|
+
}), /* @__PURE__ */ jsx(CollapsibleContent, { children: /* @__PURE__ */ jsx("div", {
|
|
1757
|
+
className: "px-4 pb-4",
|
|
1758
|
+
children
|
|
1759
|
+
}) })]
|
|
1760
|
+
})
|
|
1761
|
+
});
|
|
1762
|
+
}
|
|
1763
|
+
function LinkedEntrySection({ section, hidden }) {
|
|
1764
|
+
if (!section) return null;
|
|
1765
|
+
return /* @__PURE__ */ jsx("div", {
|
|
1766
|
+
hidden,
|
|
1767
|
+
"data-design-takeover-sibling": true,
|
|
1768
|
+
children: /* @__PURE__ */ jsx(PreviewSidebarSection, {
|
|
1769
|
+
label: section.label,
|
|
1770
|
+
openRequestId: section.openRequestId,
|
|
1771
|
+
children: section.content
|
|
1772
|
+
})
|
|
1773
|
+
});
|
|
1774
|
+
}
|
|
1775
|
+
function DesignSection({ panel, takeover, controls }) {
|
|
1776
|
+
const open = takeover || controls.designOpen;
|
|
1777
|
+
return /* @__PURE__ */ jsx(Collapsible, {
|
|
1778
|
+
className: takeover ? "flex min-h-0 flex-1 flex-col overflow-hidden" : void 0,
|
|
1779
|
+
open,
|
|
1780
|
+
onOpenChange: (next) => {
|
|
1781
|
+
if (!takeover) controls.setDesignOpen(next);
|
|
1782
|
+
},
|
|
1783
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1784
|
+
ref: controls.designSectionRef,
|
|
1785
|
+
className: takeover ? "flex min-h-0 flex-1 flex-col overflow-hidden" : "border-b",
|
|
1786
|
+
children: [/* @__PURE__ */ jsx(CollapsibleTrigger, {
|
|
1787
|
+
asChild: true,
|
|
1788
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1789
|
+
className: `flex shrink-0 cursor-pointer items-center gap-2 px-4 py-3 hover:bg-accent/40 ${takeover ? "border-b" : ""}`,
|
|
1790
|
+
children: [/* @__PURE__ */ jsx(ChevronRight, { className: `h-4 w-4 transition ${open ? "rotate-90" : ""}` }), /* @__PURE__ */ jsx("span", {
|
|
1791
|
+
className: "text-sm font-semibold",
|
|
1792
|
+
children: "Design"
|
|
1793
|
+
})]
|
|
1794
|
+
})
|
|
1795
|
+
}), /* @__PURE__ */ jsx(CollapsibleContent, {
|
|
1796
|
+
className: takeover ? "min-h-0 flex-1 data-[state=open]:h-full data-[state=open]:overflow-hidden" : void 0,
|
|
1797
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
1798
|
+
className: takeover ? "h-full min-h-0" : "px-4 pb-4",
|
|
1799
|
+
children: /* @__PURE__ */ jsx(PreviewDesignOpenRequestProvider, {
|
|
1800
|
+
request: controls.designOpenRequest,
|
|
1801
|
+
children: panel
|
|
1802
|
+
})
|
|
1803
|
+
})
|
|
1804
|
+
})]
|
|
1805
|
+
})
|
|
1806
|
+
});
|
|
1807
|
+
}
|
|
1808
|
+
//#endregion
|
|
1809
|
+
//#region ../preview-next/src/client/preview/PreviewFooterEditorPanel.tsx
|
|
1810
|
+
function PreviewFooterEditorPanel({ apiClient, siteId, dashboardBaseUrl, theme, selectionId, selectionVersion, siteStyleAccess, inspection, canEdit, onSaved }) {
|
|
1811
|
+
const dashboardSiteUrl = `${dashboardBaseUrl?.replace(/\/$/u, "") ?? ""}/dashboard/sites/${siteId}`;
|
|
1812
|
+
const navigationLayoutAccess = siteStyleAccess.kind === "apply-allowed" && theme && selectionVersion !== null ? {
|
|
1813
|
+
kind: "editable",
|
|
1814
|
+
theme,
|
|
1815
|
+
selectionId,
|
|
1816
|
+
selectionVersion
|
|
1817
|
+
} : { kind: "hidden" };
|
|
1818
|
+
return /* @__PURE__ */ jsx(FooterComposerPanel, {
|
|
1819
|
+
apiClient,
|
|
1820
|
+
siteId,
|
|
1821
|
+
customFooterMode: resolvePreviewFooterMode(theme?.footer.mode),
|
|
1822
|
+
manageLinksHref: `${dashboardSiteUrl}/navigation`,
|
|
1823
|
+
manageSettingsHref: `${dashboardSiteUrl}/settings`,
|
|
1824
|
+
legalRegion: theme?.footer.bottomBar?.enabled ? "separate" : "integrated",
|
|
1825
|
+
navigationLayoutAccess,
|
|
1826
|
+
loadingFallback: /* @__PURE__ */ jsx(ContentSpinner, { className: "py-8" }),
|
|
1827
|
+
initialTarget: inspection?.kind === "footer-module" ? {
|
|
1828
|
+
kind: "module",
|
|
1829
|
+
moduleId: inspection.moduleId
|
|
1830
|
+
} : { kind: "overview" },
|
|
1831
|
+
initialTargetRequestId: inspection?.requestId,
|
|
1832
|
+
variant: "sidebar",
|
|
1833
|
+
canEdit,
|
|
1834
|
+
onSaved
|
|
1835
|
+
});
|
|
1836
|
+
}
|
|
1837
|
+
function resolvePreviewFooterMode(value) {
|
|
1838
|
+
return value === "blocks" || value === "default+blocks" || value === "none" ? value : "default";
|
|
1839
|
+
}
|
|
1752
1840
|
//#endregion
|
|
1753
1841
|
//#region ../preview-next/src/client/preview/PreviewEditorGuidanceCard.tsx
|
|
1754
1842
|
function PreviewEditorGuidanceCard({ guidance, completeSetupDisabled, onCompleteSetup }) {
|
|
@@ -3232,7 +3320,7 @@ const PALETTE_SURFACE_ROLES = [
|
|
|
3232
3320
|
label: "Border"
|
|
3233
3321
|
}
|
|
3234
3322
|
];
|
|
3235
|
-
function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVersion = null, selectionUpdatedAt, initialSelections,
|
|
3323
|
+
function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVersion = null, selectionUpdatedAt, initialSelections, headerLogoContext, onFocusedSurfaceChange }) {
|
|
3236
3324
|
const designOpenRequest = usePreviewDesignOpenRequest();
|
|
3237
3325
|
const router = useRouter();
|
|
3238
3326
|
const previewDesign = usePreviewDesignCoordinator();
|
|
@@ -3247,9 +3335,9 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3247
3335
|
selectionVersion: initialSelections.selectionVersion ?? selectionVersion ?? 0,
|
|
3248
3336
|
selectionUpdatedAt: initialSelections.selectionUpdatedAt ?? selectionUpdatedAt ?? null
|
|
3249
3337
|
},
|
|
3250
|
-
|
|
3338
|
+
headerLogoContext
|
|
3251
3339
|
}), [
|
|
3252
|
-
|
|
3340
|
+
headerLogoContext,
|
|
3253
3341
|
theme,
|
|
3254
3342
|
initialSelections,
|
|
3255
3343
|
selectionUpdatedAt,
|
|
@@ -3308,7 +3396,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3308
3396
|
previewTheme("style-configurator", planSiteStylePreviewChange({
|
|
3309
3397
|
siteStyle,
|
|
3310
3398
|
selection: state.previewed,
|
|
3311
|
-
|
|
3399
|
+
headerLogoContext,
|
|
3312
3400
|
compilation: deriveSiteStylePreviewUpdate(theme, state.base)
|
|
3313
3401
|
}).themeOverlay, "site-style");
|
|
3314
3402
|
}, [
|
|
@@ -3316,7 +3404,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3316
3404
|
baseSnapshot,
|
|
3317
3405
|
clearPreview,
|
|
3318
3406
|
previewTheme,
|
|
3319
|
-
|
|
3407
|
+
headerLogoContext,
|
|
3320
3408
|
theme
|
|
3321
3409
|
]);
|
|
3322
3410
|
useEffect(() => {
|
|
@@ -3344,31 +3432,37 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3344
3432
|
const result = planSiteStylePreviewChange({
|
|
3345
3433
|
siteStyle,
|
|
3346
3434
|
selection: next.previewed,
|
|
3347
|
-
|
|
3435
|
+
headerLogoContext,
|
|
3348
3436
|
compilation: deriveSiteStylePreviewUpdate(theme, next.base)
|
|
3349
3437
|
});
|
|
3350
3438
|
return applyResolvedSelections(next, {
|
|
3351
3439
|
resolved: {
|
|
3352
3440
|
...result.resolvedSelections,
|
|
3441
|
+
headerLayoutId: result.resolvedSelections.headerSelection.layoutId,
|
|
3442
|
+
headerStyleId: result.resolvedSelections.headerSelection.styleId,
|
|
3353
3443
|
typography: result.themeOverlay.typography
|
|
3354
3444
|
},
|
|
3355
3445
|
warnings: result.warnings
|
|
3356
3446
|
});
|
|
3357
3447
|
});
|
|
3358
|
-
}, [
|
|
3448
|
+
}, [headerLogoContext, theme]);
|
|
3359
3449
|
const handlePreviewButtonStyle = useCallback((id) => {
|
|
3360
3450
|
setState((current) => current ? previewButtonStyle(current, id) : current);
|
|
3361
3451
|
}, []);
|
|
3362
3452
|
const handlePreviewHeaderLayout = useCallback((id) => {
|
|
3363
3453
|
if (!id) return;
|
|
3364
|
-
setState((current) =>
|
|
3454
|
+
setState((current) => {
|
|
3455
|
+
if (!current) return current;
|
|
3456
|
+
const siteStyle = getCuratedSiteStyle(current.previewed.siteStyleId);
|
|
3457
|
+
return siteStyle ? previewHeaderLayout(current, siteStyle, id) : current;
|
|
3458
|
+
});
|
|
3365
3459
|
}, []);
|
|
3366
3460
|
const handlePreviewHeaderStyle = useCallback((id) => {
|
|
3367
3461
|
if (!id) return;
|
|
3368
3462
|
setState((current) => current ? previewHeaderStyle(current, id) : current);
|
|
3369
3463
|
}, []);
|
|
3370
3464
|
const handlePreviewFooterLook = useCallback((id) => {
|
|
3371
|
-
const plan =
|
|
3465
|
+
const plan = planSiteChromeSelection({
|
|
3372
3466
|
surface: "footer",
|
|
3373
3467
|
lookId: id
|
|
3374
3468
|
});
|
|
@@ -3386,11 +3480,11 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3386
3480
|
return applyTypographyDraftPatch(current, planSiteStylePreviewChange({
|
|
3387
3481
|
siteStyle,
|
|
3388
3482
|
selection: current.previewed,
|
|
3389
|
-
|
|
3483
|
+
headerLogoContext,
|
|
3390
3484
|
compilation: deriveSiteStylePreviewUpdate(theme, current.base)
|
|
3391
3485
|
}).themeOverlay.typography, patch);
|
|
3392
3486
|
});
|
|
3393
|
-
}, [
|
|
3487
|
+
}, [headerLogoContext, theme]);
|
|
3394
3488
|
const handleHeadingTypographyChange = useCallback((patch) => {
|
|
3395
3489
|
patchTypography({
|
|
3396
3490
|
kind: "heading",
|
|
@@ -3481,7 +3575,6 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3481
3575
|
});
|
|
3482
3576
|
}, [
|
|
3483
3577
|
apiClient,
|
|
3484
|
-
headerSelectionContext,
|
|
3485
3578
|
applyFailed,
|
|
3486
3579
|
applyStarted,
|
|
3487
3580
|
applySucceeded,
|
|
@@ -3489,14 +3582,12 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3489
3582
|
selectionId,
|
|
3490
3583
|
siteChromeCustomize?.siteStyleHistory,
|
|
3491
3584
|
siteId,
|
|
3492
|
-
startRefreshTransition
|
|
3493
|
-
theme
|
|
3585
|
+
startRefreshTransition
|
|
3494
3586
|
]);
|
|
3495
3587
|
if (!state || !baseSnapshot) return /* @__PURE__ */ jsx("p", {
|
|
3496
3588
|
className: "text-sm text-muted-foreground",
|
|
3497
3589
|
children: "Loading design controls..."
|
|
3498
3590
|
});
|
|
3499
|
-
const applyAllowed = canApplySiteStyle(siteStyleAccess);
|
|
3500
3591
|
const stagedCapabilities = deriveStyleConfiguratorCapabilities(state);
|
|
3501
3592
|
const previewingChange = isPreviewingChange(state);
|
|
3502
3593
|
const saving = stagedCapabilities.isApplyingStaged || isRefreshPending;
|
|
@@ -3511,18 +3602,18 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3511
3602
|
const currentPreviewPlan = planSiteStylePreviewChange({
|
|
3512
3603
|
siteStyle: currentSiteStyle,
|
|
3513
3604
|
selection: state.previewed,
|
|
3514
|
-
|
|
3605
|
+
headerLogoContext,
|
|
3515
3606
|
compilation: deriveSiteStylePreviewUpdate(theme, state.base)
|
|
3516
3607
|
});
|
|
3517
3608
|
const currentTypography = currentPreviewPlan.themeOverlay.typography;
|
|
3518
|
-
const
|
|
3609
|
+
const chromeSelectionModels = buildSiteChromeSelectionModels({
|
|
3519
3610
|
state,
|
|
3520
3611
|
siteStyle: currentSiteStyle,
|
|
3521
|
-
|
|
3612
|
+
headerLogoContext
|
|
3522
3613
|
});
|
|
3523
3614
|
const currentHeaderLayout = getHeaderLayout(state.previewed.headerLayoutId);
|
|
3524
3615
|
const currentHeaderStyle = getHeaderStyle(state.previewed.headerStyleId);
|
|
3525
|
-
const currentFooterLook = state.previewed.footerLookId ? findFooterLook(state.previewed.footerLookId) : findFooterLook(
|
|
3616
|
+
const currentFooterLook = state.previewed.footerLookId ? findFooterLook(state.previewed.footerLookId) : findFooterLook(chromeSelectionModels.footer.renderedLookId);
|
|
3526
3617
|
const headerSurfaceState = siteChromeCustomize?.getSurfaceState("header") ?? { kind: "unavailable" };
|
|
3527
3618
|
if (state.expandedRow === "typography" && typographySurface.kind !== "overview") return /* @__PURE__ */ jsxs("div", {
|
|
3528
3619
|
className: "flex h-full min-h-0 flex-col",
|
|
@@ -3546,7 +3637,6 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3546
3637
|
className: "shrink-0 px-3 pb-3",
|
|
3547
3638
|
children: /* @__PURE__ */ jsx(StyleConfiguratorSaveControls, {
|
|
3548
3639
|
previewingChange,
|
|
3549
|
-
applyAllowed,
|
|
3550
3640
|
saving,
|
|
3551
3641
|
canCancel: stagedCapabilities.canCancelStaged,
|
|
3552
3642
|
canApply: stagedCapabilities.canApplyStaged,
|
|
@@ -3571,37 +3661,37 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3571
3661
|
onPreview: handlePreviewSiteStyle,
|
|
3572
3662
|
disabled: aggregateMutationControlsDisabled
|
|
3573
3663
|
}),
|
|
3574
|
-
/* @__PURE__ */ jsx(
|
|
3664
|
+
/* @__PURE__ */ jsx(SiteChromeSelectionRow, {
|
|
3575
3665
|
label: "Header layout",
|
|
3576
3666
|
ariaLabel: "Header layout",
|
|
3577
3667
|
defaultDescription: "Choose the header structure.",
|
|
3578
3668
|
expanded: state.expandedRow === "header-layout",
|
|
3579
3669
|
onToggle: () => handleToggleRow("header-layout"),
|
|
3580
3670
|
currentId: state.previewed.headerLayoutId,
|
|
3581
|
-
currentLabel: currentHeaderLayout
|
|
3671
|
+
currentLabel: currentHeaderLayout.label,
|
|
3582
3672
|
scopeDescription: "Changes the header structure on every page.",
|
|
3583
|
-
options:
|
|
3673
|
+
options: chromeSelectionModels.headerLayout.options,
|
|
3584
3674
|
diagnostics: [],
|
|
3585
3675
|
onCycle: (direction) => {
|
|
3586
|
-
const next =
|
|
3676
|
+
const next = cycleSiteChromeSelectionId(chromeSelectionModels.headerLayout.options, state.previewed.headerLayoutId, direction);
|
|
3587
3677
|
if (next !== void 0) handlePreviewHeaderLayout(next);
|
|
3588
3678
|
},
|
|
3589
3679
|
onPreview: handlePreviewHeaderLayout,
|
|
3590
3680
|
disabled: aggregateMutationControlsDisabled
|
|
3591
3681
|
}),
|
|
3592
|
-
/* @__PURE__ */ jsx(
|
|
3593
|
-
label: "Header
|
|
3594
|
-
ariaLabel: "Header
|
|
3682
|
+
/* @__PURE__ */ jsx(SiteChromeSelectionRow, {
|
|
3683
|
+
label: "Header style",
|
|
3684
|
+
ariaLabel: "Header style",
|
|
3595
3685
|
defaultDescription: "Choose the header visual style.",
|
|
3596
3686
|
expanded: state.expandedRow === "header-style",
|
|
3597
3687
|
onToggle: () => handleToggleRow("header-style"),
|
|
3598
3688
|
currentId: state.previewed.headerStyleId,
|
|
3599
|
-
currentLabel: currentHeaderStyle
|
|
3689
|
+
currentLabel: currentHeaderStyle.label,
|
|
3600
3690
|
scopeDescription: "Changes the header surface and link style.",
|
|
3601
|
-
options:
|
|
3691
|
+
options: chromeSelectionModels.headerStyle.options,
|
|
3602
3692
|
diagnostics: [],
|
|
3603
3693
|
onCycle: (direction) => {
|
|
3604
|
-
const next =
|
|
3694
|
+
const next = cycleSiteChromeSelectionId(chromeSelectionModels.headerStyle.options, state.previewed.headerStyleId, direction);
|
|
3605
3695
|
if (next !== void 0) handlePreviewHeaderStyle(next);
|
|
3606
3696
|
},
|
|
3607
3697
|
onPreview: handlePreviewHeaderStyle,
|
|
@@ -3613,7 +3703,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3613
3703
|
onMenuFontSizeChange: siteChromeCustomize?.setHeaderMenuFontSize
|
|
3614
3704
|
}) : null
|
|
3615
3705
|
}),
|
|
3616
|
-
/* @__PURE__ */ jsx(
|
|
3706
|
+
/* @__PURE__ */ jsx(SiteChromeSelectionRow, {
|
|
3617
3707
|
label: "Footer links",
|
|
3618
3708
|
ariaLabel: "Footer link treatment",
|
|
3619
3709
|
defaultDescription: "Use the footer link treatment chosen for this site style.",
|
|
@@ -3622,10 +3712,10 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3622
3712
|
currentId: state.previewed.footerLookId,
|
|
3623
3713
|
currentLabel: state.previewed.footerLookId ? currentFooterLook?.label ?? "Unknown footer link treatment" : `${currentFooterLook?.label ?? "Site style"} (default)`,
|
|
3624
3714
|
scopeDescription: "Changes footer navigation links on every page.",
|
|
3625
|
-
options:
|
|
3626
|
-
diagnostics:
|
|
3715
|
+
options: chromeSelectionModels.footer.options,
|
|
3716
|
+
diagnostics: chromeSelectionModels.footer.diagnostics,
|
|
3627
3717
|
onCycle: (direction) => {
|
|
3628
|
-
const next =
|
|
3718
|
+
const next = cycleSiteChromeSelectionId(chromeSelectionModels.footer.options, state.previewed.footerLookId, direction);
|
|
3629
3719
|
if (next !== void 0) handlePreviewFooterLook(next);
|
|
3630
3720
|
},
|
|
3631
3721
|
onPreview: handlePreviewFooterLook,
|
|
@@ -3661,12 +3751,11 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3661
3751
|
palette: currentPalette,
|
|
3662
3752
|
onPreview: handlePreviewPalette,
|
|
3663
3753
|
onTokenChange: handleTokenOverride,
|
|
3664
|
-
disabled: saving
|
|
3665
|
-
mutationDisabled: paletteControlsDisabled
|
|
3754
|
+
disabled: saving,
|
|
3755
|
+
mutationDisabled: paletteControlsDisabled
|
|
3666
3756
|
}),
|
|
3667
3757
|
/* @__PURE__ */ jsx(StyleConfiguratorSaveControls, {
|
|
3668
3758
|
previewingChange,
|
|
3669
|
-
applyAllowed,
|
|
3670
3759
|
saving,
|
|
3671
3760
|
canCancel: stagedCapabilities.canCancelStaged,
|
|
3672
3761
|
canApply: stagedCapabilities.canApplyStaged,
|
|
@@ -3678,7 +3767,7 @@ function StyleConfigurator({ siteId, apiClient, theme, selectionId, selectionVer
|
|
|
3678
3767
|
]
|
|
3679
3768
|
});
|
|
3680
3769
|
}
|
|
3681
|
-
function StyleConfiguratorSaveControls({ previewingChange,
|
|
3770
|
+
function StyleConfiguratorSaveControls({ previewingChange, saving, canCancel, canApply, saveStatus, onCancel, onApply, onRetry }) {
|
|
3682
3771
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
3683
3772
|
previewingChange ? /* @__PURE__ */ jsxs("div", {
|
|
3684
3773
|
className: "flex items-center gap-2 pt-2",
|
|
@@ -3689,15 +3778,12 @@ function StyleConfiguratorSaveControls({ previewingChange, applyAllowed, saving,
|
|
|
3689
3778
|
onClick: onCancel,
|
|
3690
3779
|
disabled: !canCancel || saving,
|
|
3691
3780
|
children: "Cancel"
|
|
3692
|
-
}),
|
|
3781
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
3693
3782
|
type: "button",
|
|
3694
3783
|
size: "sm",
|
|
3695
3784
|
onClick: onApply,
|
|
3696
3785
|
disabled: !canApply || saving,
|
|
3697
3786
|
children: saving ? "Applying…" : "Apply"
|
|
3698
|
-
}) : /* @__PURE__ */ jsx("span", {
|
|
3699
|
-
className: "text-xs text-muted-foreground",
|
|
3700
|
-
children: "Preview only — ask an admin to apply."
|
|
3701
3787
|
})]
|
|
3702
3788
|
}) : null,
|
|
3703
3789
|
saveStatus.kind === "saved" ? /* @__PURE__ */ jsx("p", {
|
|
@@ -3707,7 +3793,7 @@ function StyleConfiguratorSaveControls({ previewingChange, applyAllowed, saving,
|
|
|
3707
3793
|
saveStatus.kind === "failed" ? /* @__PURE__ */ jsxs("div", {
|
|
3708
3794
|
role: "status",
|
|
3709
3795
|
className: "flex items-center gap-2 text-xs text-destructive",
|
|
3710
|
-
children: [/* @__PURE__ */ jsx("span", { children: saveStatus.message }), saveStatus.failureKind === "stale" && previewingChange
|
|
3796
|
+
children: [/* @__PURE__ */ jsx("span", { children: saveStatus.message }), saveStatus.failureKind === "stale" && previewingChange ? /* @__PURE__ */ jsx(Button, {
|
|
3711
3797
|
type: "button",
|
|
3712
3798
|
size: "sm",
|
|
3713
3799
|
variant: "outline",
|
|
@@ -3815,15 +3901,11 @@ function TypographyRow({ expanded, onToggle, typography, catalog, currentLabel,
|
|
|
3815
3901
|
})
|
|
3816
3902
|
});
|
|
3817
3903
|
}
|
|
3818
|
-
function
|
|
3904
|
+
function SiteChromeSelectionRow({ label, ariaLabel, defaultDescription, catalog, options = [{
|
|
3819
3905
|
id: null,
|
|
3820
3906
|
label: "Site style default",
|
|
3821
|
-
description: defaultDescription
|
|
3822
|
-
|
|
3823
|
-
}, ...(catalog ?? []).map((look) => ({
|
|
3824
|
-
...look,
|
|
3825
|
-
available: true
|
|
3826
|
-
}))], diagnostics, scopeDescription, expanded, onToggle, currentId, currentLabel, onCycle, onPreview, disabled, extraControls }) {
|
|
3907
|
+
description: defaultDescription
|
|
3908
|
+
}, ...catalog ?? []], diagnostics, scopeDescription, expanded, onToggle, currentId, currentLabel, onCycle, onPreview, disabled, extraControls }) {
|
|
3827
3909
|
return /* @__PURE__ */ jsxs(StyleRowFrame, {
|
|
3828
3910
|
label,
|
|
3829
3911
|
currentLabel,
|
|
@@ -3842,14 +3924,14 @@ function SiteChromeLookRow({ label, ariaLabel, defaultDescription, catalog, opti
|
|
|
3842
3924
|
onClick: () => onCycle("prev"),
|
|
3843
3925
|
className: "grid h-8 w-8 place-items-center hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50",
|
|
3844
3926
|
"aria-label": `Previous ${label.toLowerCase()}`,
|
|
3845
|
-
disabled: disabled ||
|
|
3927
|
+
disabled: disabled || options.length <= 1,
|
|
3846
3928
|
children: /* @__PURE__ */ jsx(ChevronLeft, { size: 14 })
|
|
3847
3929
|
}), /* @__PURE__ */ jsx("button", {
|
|
3848
3930
|
type: "button",
|
|
3849
3931
|
onClick: () => onCycle("next"),
|
|
3850
3932
|
className: "grid h-8 w-8 place-items-center border-l hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50",
|
|
3851
3933
|
"aria-label": `Next ${label.toLowerCase()}`,
|
|
3852
|
-
disabled: disabled ||
|
|
3934
|
+
disabled: disabled || options.length <= 1,
|
|
3853
3935
|
children: /* @__PURE__ */ jsx(ChevronRight, { size: 14 })
|
|
3854
3936
|
})]
|
|
3855
3937
|
})]
|
|
@@ -3869,9 +3951,9 @@ function SiteChromeLookRow({ label, ariaLabel, defaultDescription, catalog, opti
|
|
|
3869
3951
|
children: options.map((look) => /* @__PURE__ */ jsx(PickerOption, {
|
|
3870
3952
|
selected: look.id === currentId,
|
|
3871
3953
|
label: look.label,
|
|
3872
|
-
description: look.
|
|
3954
|
+
description: look.description,
|
|
3873
3955
|
onSelect: () => onPreview(look.id),
|
|
3874
|
-
disabled
|
|
3956
|
+
disabled
|
|
3875
3957
|
}, look.id ?? "site-style-default"))
|
|
3876
3958
|
})
|
|
3877
3959
|
]
|
|
@@ -4077,11 +4159,14 @@ function WarningNotice({ warnings, onDismiss }) {
|
|
|
4077
4159
|
});
|
|
4078
4160
|
}
|
|
4079
4161
|
function describeWarning(warning) {
|
|
4080
|
-
|
|
4162
|
+
switch (warning.kind) {
|
|
4163
|
+
case "rejected-button-style": return `Button style changed to ${warning.fellBackTo.styleId} because ${warning.requested} is not offered for this site style.`;
|
|
4164
|
+
case "repaired-header-selection": return `Header changed to ${warning.resolved.layoutId} / ${warning.resolved.styleId} because the requested combination is not offered for this site style.`;
|
|
4165
|
+
}
|
|
4081
4166
|
}
|
|
4082
4167
|
//#endregion
|
|
4083
4168
|
//#region ../preview-next/src/client/preview/PreviewEditorSidebar.tsx
|
|
4084
|
-
function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null,
|
|
4169
|
+
function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, pageId, entryData, contentTypeSchema, referenceContentTypeKeys = [], draftContent, currentTemplate, theme, themeId = null, themeSelectionId = null, themeSelectionVersion = null, themeSelectionUpdatedAt = null, themeSelectionButtonStyleSelection = null, themeSelectionHeaderSelection = null, themeSelectionFooterLookId = null, themeSelectionHeaderLogo, apiClient, bearerToken, entrySubrouteContext, assistantPanel, sdkConfig, bookingOfferingPresets, siteStyleAccess = { kind: "hidden" }, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange }) {
|
|
4085
4170
|
const controller = useEntryController();
|
|
4086
4171
|
const controllerBlocks = controller.blocks;
|
|
4087
4172
|
const uiStore = useEditorUiStoreInstance();
|
|
@@ -4168,7 +4253,20 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
|
|
|
4168
4253
|
fields: findLinkedEntryManifestFieldsFromSnapshot(snapshot)
|
|
4169
4254
|
})
|
|
4170
4255
|
});
|
|
4171
|
-
const
|
|
4256
|
+
const footerInspection = previewInspection.kind === "footer" || previewInspection.kind === "footer-module" ? previewInspection : null;
|
|
4257
|
+
const footerPanel = /* @__PURE__ */ jsx(PreviewFooterEditorPanel, {
|
|
4258
|
+
apiClient,
|
|
4259
|
+
siteId,
|
|
4260
|
+
dashboardBaseUrl,
|
|
4261
|
+
theme: theme ?? null,
|
|
4262
|
+
selectionId: themeSelectionId,
|
|
4263
|
+
selectionVersion: themeSelectionVersion,
|
|
4264
|
+
siteStyleAccess,
|
|
4265
|
+
inspection: footerInspection,
|
|
4266
|
+
canEdit,
|
|
4267
|
+
onSaved: onFooterSaved
|
|
4268
|
+
});
|
|
4269
|
+
const editorPanel = footerInspection && (entryData || !pageId) ? footerPanel : entryData ? /* @__PURE__ */ jsx(EntryEditorPanel, {
|
|
4172
4270
|
siteId,
|
|
4173
4271
|
dashboardBaseUrl,
|
|
4174
4272
|
entryData,
|
|
@@ -4213,15 +4311,13 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
|
|
|
4213
4311
|
selectionVersion: themeSelectionVersion,
|
|
4214
4312
|
selectionUpdatedAt: themeSelectionUpdatedAt,
|
|
4215
4313
|
buttonStyleSelection: themeSelectionButtonStyleSelection,
|
|
4216
|
-
|
|
4217
|
-
headerStyleId: themeSelectionHeaderStyleId,
|
|
4218
|
-
headerLookId: themeSelectionHeaderLookId,
|
|
4314
|
+
headerSelection: themeSelectionHeaderSelection,
|
|
4219
4315
|
footerLookId: themeSelectionFooterLookId
|
|
4220
4316
|
},
|
|
4221
|
-
|
|
4222
|
-
onFocusedSurfaceChange: setDesignTakeoverActive
|
|
4223
|
-
siteStyleAccess
|
|
4317
|
+
headerLogoContext: themeSelectionHeaderLogo,
|
|
4318
|
+
onFocusedSurfaceChange: setDesignTakeoverActive
|
|
4224
4319
|
}) : null,
|
|
4320
|
+
footerPanel,
|
|
4225
4321
|
sdkConfig: sdkConfig ?? null,
|
|
4226
4322
|
bookingOfferingPresets,
|
|
4227
4323
|
linkedEntrySection,
|
|
@@ -4241,25 +4337,6 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
|
|
|
4241
4337
|
})
|
|
4242
4338
|
})
|
|
4243
4339
|
});
|
|
4244
|
-
const resolvedEditorPanel = previewInspection.kind === "footer-module" || previewInspection.kind === "footer" ? /* @__PURE__ */ jsx("div", {
|
|
4245
|
-
className: "h-full overflow-y-auto",
|
|
4246
|
-
children: /* @__PURE__ */ jsx(FooterComposerPanel, {
|
|
4247
|
-
apiClient,
|
|
4248
|
-
siteId,
|
|
4249
|
-
customFooterMode: resolvePreviewFooterMode(theme?.footer?.mode),
|
|
4250
|
-
manageLinksHref: `${dashboardBaseUrl?.replace(/\/$/u, "") ?? ""}/dashboard/sites/${siteId}/navigation`,
|
|
4251
|
-
manageSettingsHref: `${dashboardBaseUrl?.replace(/\/$/u, "") ?? ""}/dashboard/sites/${siteId}/settings`,
|
|
4252
|
-
legalRegion: theme?.footer?.bottomBar?.enabled === true ? "separate" : "integrated",
|
|
4253
|
-
loadingFallback: /* @__PURE__ */ jsx(ContentSpinner, { className: "py-8" }),
|
|
4254
|
-
initialTarget: previewInspection.kind === "footer-module" ? {
|
|
4255
|
-
kind: "module",
|
|
4256
|
-
moduleId: previewInspection.moduleId
|
|
4257
|
-
} : { kind: "overview" },
|
|
4258
|
-
variant: "sidebar",
|
|
4259
|
-
canEdit,
|
|
4260
|
-
onSaved: onFooterSaved
|
|
4261
|
-
})
|
|
4262
|
-
}) : editorPanel;
|
|
4263
4340
|
const assistantPanelDisplay = assistantAvailable ? assistantPanel : /* @__PURE__ */ jsx("div", {
|
|
4264
4341
|
className: "flex h-full flex-col items-center justify-center p-6 text-center text-sm text-muted-foreground",
|
|
4265
4342
|
children: "AI Assistant is available for pages in preview mode."
|
|
@@ -4306,7 +4383,7 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
|
|
|
4306
4383
|
value: "editor",
|
|
4307
4384
|
forceMount: true,
|
|
4308
4385
|
className: "mt-0 min-h-0 flex-1 overflow-hidden data-[state=inactive]:hidden",
|
|
4309
|
-
children:
|
|
4386
|
+
children: editorPanel
|
|
4310
4387
|
}),
|
|
4311
4388
|
showAssistantTab ? /* @__PURE__ */ jsx(TabsContent, {
|
|
4312
4389
|
value: "assistant",
|
|
@@ -4318,9 +4395,6 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
|
|
|
4318
4395
|
})
|
|
4319
4396
|
});
|
|
4320
4397
|
}
|
|
4321
|
-
function resolvePreviewFooterMode(value) {
|
|
4322
|
-
return value === "blocks" || value === "default+blocks" || value === "none" ? value : "default";
|
|
4323
|
-
}
|
|
4324
4398
|
function PreviewMetadataPanel({ ownerKind, contentTypeKey, entry }) {
|
|
4325
4399
|
const uiStore = useEditorUiStoreInstance();
|
|
4326
4400
|
const currentSlug = useEditorUiStore((state) => state.metadata.getAtPath("draftSlug")) ?? void 0;
|