@riverbankcms/sdk 0.141.0 → 0.142.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 (98) hide show
  1. package/dist/{PreviewEditorSidebar-Q-fy9GYw.mjs → PreviewEditorSidebar-Dk6Dt11f.mjs} +24 -15
  2. package/dist/{PreviewEditorUI-LYGzgk85.mjs → PreviewEditorUI-D6EQTsCA.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-CN0ewic5.mjs → PreviewQueryProvider-CC-EPkyQ.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-CoPYI5Jq.mjs → SdkPreviewModeRuntime-DH1n4ytY.mjs} +16 -11
  5. package/dist/{SiteChromeCustomizeContext-D8LePX8x.mjs → SiteChromeCustomizeContext-DunIzY0K.mjs} +117 -21
  6. package/dist/_dts/api/src/billing.d.ts +6 -1
  7. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  8. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
  9. package/dist/_dts/api/src/endpoints.d.ts +0 -27
  10. package/dist/_dts/api/src/index.d.ts +1 -1
  11. package/dist/_dts/api/src/publicBookingService.d.ts +1 -0
  12. package/dist/_dts/api/src/sdkConfig/layout.d.ts +13 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +3 -8
  14. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -31
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  16. package/dist/_dts/billing/src/site-arrangements.d.ts +9 -5
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +56 -0
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +8 -0
  19. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +56 -0
  20. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +1 -2
  21. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3099 -3122
  22. package/dist/_dts/editor-blocks/src/block-editor/ColourFieldOptionsProvider.d.ts +7 -0
  23. package/dist/_dts/editor-blocks/src/block-editor/colourFieldVisibility.d.ts +7 -0
  24. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -0
  25. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  26. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -2
  27. package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +3 -6
  28. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -2
  29. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -2
  30. package/dist/_dts/preview-next/src/client/preview/footerInspection.d.ts +16 -0
  31. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +6 -0
  32. package/dist/_dts/sdk/src/config/types.d.ts +2 -18
  33. package/dist/_dts/sdk/src/config/validation.d.ts +6 -0
  34. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -0
  35. package/dist/_dts/sdk/src/version.d.ts +1 -1
  36. package/dist/_dts/theme-core/src/footer/mode.d.ts +10 -1
  37. package/dist/_dts/theme-core/src/schema.d.ts +1 -7
  38. package/dist/_dts/theme-core/src/site-styles/effectivePageDesign.d.ts +32 -0
  39. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  40. package/dist/client/{BookingConsentAgreement-xJeYNdnb.mjs → BookingConsentAgreement-CnJeq3_r.mjs} +2 -2
  41. package/dist/client/{DiscountCodeDisclosure-DdT6uzl9.mjs → DiscountCodeDisclosure-BINEO6J9.mjs} +1 -1
  42. package/dist/client/{EventCombined.client-Cp28uYuM.mjs → EventCombined.client-srxNQ6sZ.mjs} +5 -5
  43. package/dist/client/{EventListing.client-CD6AJsMr.mjs → EventListing.client-DbyVyGkX.mjs} +2 -2
  44. package/dist/client/{LeafletStaticMap-DBsAi9-e.mjs → LeafletStaticMap-B-wpijzL.mjs} +1 -1
  45. package/dist/client/{accordion-6dwbOKYR.mjs → accordion-B-iUXU7n.mjs} +1 -1
  46. package/dist/client/{bookingForm-CZE9_qPQ.mjs → bookingForm-BXYPke5q.mjs} +5 -5
  47. package/dist/client/bookings.mjs +19 -9
  48. package/dist/client/{carousel-7VHGQARz.mjs → carousel-Cr4aj63H.mjs} +1 -1
  49. package/dist/client/{cart-Qg_mvQhh.mjs → cart-DibP9WWa.mjs} +3 -3
  50. package/dist/client/{checkout-D84rpgdr.mjs → checkout-CrSBVnL8.mjs} +3 -3
  51. package/dist/client/client.mjs +42 -54
  52. package/dist/client/{context-Ctp3T0Wr.mjs → context-Ces-AgdR.mjs} +1 -1
  53. package/dist/client/{dates-DJKFcI_N.mjs → dates-BXyNeNhB.mjs} +2 -2
  54. package/dist/client/{eventCalendar-CK31z3vs.mjs → eventCalendar-HwpPeqrH.mjs} +7 -7
  55. package/dist/client/{eventCombined-DiXd-ewn.mjs → eventCombined-BpFUkuEI.mjs} +3 -3
  56. package/dist/client/{eventDetails-CTRgt2DK.mjs → eventDetails-DK_agiWy.mjs} +4 -4
  57. package/dist/client/{eventListing-Dy9vi_j_.mjs → eventListing-DhzHqP1c.mjs} +3 -3
  58. package/dist/client/{eventRegistration-CnalYMr2.mjs → eventRegistration-BdQ_Dn2d.mjs} +6 -7
  59. package/dist/client/{form-eUiMveTT.mjs → form-B1frcuzy.mjs} +2 -2
  60. package/dist/client/{headerSection-Dy9kQpB1.mjs → headerSection-CT5z460s.mjs} +2 -2
  61. package/dist/client/hooks.mjs +27 -13
  62. package/dist/client/{locationMap-DalCmWU0.mjs → locationMap-CIQXB9i2.mjs} +2 -2
  63. package/dist/client/{newsletterForm-SDDPvhS0.mjs → newsletterForm-BYNYZSes.mjs} +2 -2
  64. package/dist/client/{pricing-OcMz4SnX.mjs → pricing-CbTlAsmt.mjs} +1 -1
  65. package/dist/client/{productDetail-BQrgHElM.mjs → productDetail-CR7Z3yjS.mjs} +3 -3
  66. package/dist/client/{productList-OnPn_UJj.mjs → productList-DXj00vzR.mjs} +3 -3
  67. package/dist/client/{propsDecoder-zBdsnS-N.mjs → propsDecoder-DiLiBdek.mjs} +19 -8
  68. package/dist/client/rendering/client.mjs +30 -11
  69. package/dist/client/rendering/islands.mjs +17 -17
  70. package/dist/client/rendering.mjs +85 -57
  71. package/dist/client/{scrollToBlock-BNM4Ob2Y.mjs → scrollToBlock-CrcbBf0h.mjs} +1 -1
  72. package/dist/client/{shop-Bv1fPTwQ.mjs → shop-DgqiB_1b.mjs} +6 -6
  73. package/dist/client/{shop-commerce-D4KNGaW8.mjs → shop-commerce-D_J781in.mjs} +5 -5
  74. package/dist/client/{shop-commerce-store-2N5EV0Rc.mjs → shop-commerce-store-PGUbDwqe.mjs} +1 -1
  75. package/dist/client/{shopShared-DvJGdHTV.mjs → shopShared-C_Bb2zwG.mjs} +3 -3
  76. package/dist/client/{useEventFilters-BBBvGDHQ.mjs → useEventFilters-CM17Xpr1.mjs} +5 -5
  77. package/dist/preview-next/before-render.mjs +0 -37
  78. package/dist/preview-next/client/runtime.mjs +4 -4
  79. package/dist/preview-next/keepAlive.mjs +0 -37
  80. package/dist/preview-next/middleware.mjs +0 -37
  81. package/dist/{previewAuthStore-Gjb6r6vz.mjs → previewAuthStore-oVttoRDO.mjs} +0 -37
  82. package/dist/{sdk-runtime-Defnbfzw.mjs → sdk-runtime-DhmuRhIX.mjs} +2 -2
  83. package/dist/{separator-CZXO3Sb0.mjs → separator-C3hlg9LH.mjs} +1 -1
  84. package/dist/server/components.mjs +68 -49
  85. package/dist/server/config-validation.mjs +31 -14
  86. package/dist/server/config.mjs +31 -14
  87. package/dist/server/data.mjs +27 -13
  88. package/dist/server/index.mjs +1 -38
  89. package/dist/server/next.mjs +28 -51
  90. package/dist/server/page-converter.mjs +19 -8
  91. package/dist/server/prebuild.mjs +1 -1
  92. package/dist/server/rendering/server.mjs +68 -51
  93. package/dist/server/rendering.mjs +68 -49
  94. package/dist/server/routing.mjs +40 -17
  95. package/dist/server/server.mjs +28 -51
  96. package/dist/server/theme-bridge.mjs +10 -8
  97. package/dist/server/theme.mjs +10 -8
  98. package/package.json +1 -1
@@ -1,12 +1,27 @@
1
1
  "use client";
2
- import { $ as FooterComposerPanel, A as markApplySaving, Aa as CollapsibleTrigger, Ai as buttonStyleHoverPreferenceValue, B as setPaletteColors, Br as curatedPalettes, C as cancelPreview, D as isPreviewingChange, Dr as curatedSiteStyles, E as dismissWarnings, F as previewFooterLook, Fa as DropdownMenuLabel, Fi as updateButtonStyleSelectionChoice, H as syncStyleConfiguratorState, Ha as X$1, Hi as VARIANT_ROLES, Ht as useEditorUiStore, I as previewHeaderLayout, Ia as DropdownMenuSeparator, Ii as buttonStyleSelectionKey, It as BlockEditor, Ja as Smartphone, Ka as Tablet, L as previewHeaderStyle, La as DropdownMenuTrigger, M as palettePreviewProjection, Ma as DropdownMenu, Mi as findButtonStyleRecipe, Mr as findFooterLook, N as previewButtonStyle, Na as DropdownMenuContent, Ni as resolveButtonStyleSelection, Nr as getHeaderLayout, O as markApplyFailed, Oa as Collapsible, P as previewCuratedPalette, Pa as DropdownMenuItem, Pi as updateButtonStyleHoverPreference, Pr as getHeaderStyle, Q as resolvePreviewSidebarTab, R as previewSiteStyle, S as applyTypographyDraftPatch, T as deriveStyleConfiguratorCapabilities, U as toggleRow, Ui as paletteColorEntries, Ut as useEditorUiStoreInstance, V as styleConfiguratorHistoryEntryForPersistedSelection, Va as cn, Wi as paletteColorsSchema, X as resolveStyleConfiguratorInitialSnapshot, Ya as SlidersHorizontal, Z as createOptimisticActionRunner, _ as reportPreviewDesignError, _a as Input, at as useUISelector, b as planSiteChromeSelection, ba as TabsList, bn as listEntryPageContentSlots, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as SelectItem, cn as resolveContentTitle, co as ChevronRight, ct as useEntryController, da as Callout, dn as ManifestForm, do as Check, f as usePreviewDesignCoordinator, fa as CalloutDescription, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as PopoverTrigger, gn as createStoreBackend, ha as PopoverContent, ho as assertNever$1, in as isAdapterReferenceKind, it as ContentFieldsForm, j as openRow, ja as Surface, ji as buttonStyleSelectionParameterValue, k as markApplySaved, ka as CollapsibleContent, kn as ThemeScope, kr as getCuratedSiteStyle, l as deriveSiteStylePreviewUpdate, la as SelectTrigger, lo as ChevronLeft, ma as Popover, mn as FormRenderer, n as useSiteChromeCustomizeOptional, no as Maximize2, oa as Select, on as deriveRouteMetadataPresentation, pa as SearchInput, pn as createManifestValidation, po as unsafeAsEditorBlockId, ro as LoaderCircle, s as buildApplySiteStyleSelectionBody, sa as SelectContent, sn as resolvePageRouteSlug, to as Monitor, u as planConfiguratorPreview, ua as SelectValue, uo as ChevronDown, v as buildSiteChromeSelectionModels, va as Tabs, w as createStyleConfiguratorState, x as applyResolvedSelections, xa as TabsTrigger, y as cycleSiteChromeSelectionId, ya as TabsContent, z as resetTypographyToSaved, za as Button, zi as themeButtonClassName } from "./SiteChromeCustomizeContext-D8LePX8x.mjs";
3
- import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-Gjb6r6vz.mjs";
4
- import { t as Separator } from "./separator-CZXO3Sb0.mjs";
5
- import { S as getSiteFontsStorageUrl, _ as usePreviewBlockCustomizeSelectionOptional, b as buildFontPreviewUrl, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, x as generateFontFaceCss, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-CoPYI5Jq.mjs";
2
+ import { $ as FooterComposerPanel, A as markApplySaving, Aa as CollapsibleContent, Ai as buttonStyleHoverPreferenceValue, B as setPaletteColors, Ba as Button, Br as curatedPalettes, C as cancelPreview, D as isPreviewingChange, Dr as curatedSiteStyles, E as dismissWarnings, F as previewFooterLook, Fa as DropdownMenuItem, Fi as updateButtonStyleSelectionChoice, H as syncStyleConfiguratorState, Ha as cn, Hi as VARIANT_ROLES, Ht as useEditorUiStore, I as previewHeaderLayout, Ia as DropdownMenuLabel, Ii as buttonStyleSelectionKey, It as BlockEditor, Ki as resolveSdkFooterMode, L as previewHeaderStyle, La as DropdownMenuSeparator, M as palettePreviewProjection, Ma as Surface, Mi as findButtonStyleRecipe, Mr as findFooterLook, N as previewButtonStyle, Na as DropdownMenu, Ni as resolveButtonStyleSelection, Nr as getHeaderLayout, O as markApplyFailed, P as previewCuratedPalette, Pa as DropdownMenuContent, Pi as updateButtonStyleHoverPreference, Pr as getHeaderStyle, Q as resolvePreviewSidebarTab, R as previewSiteStyle, Ra as DropdownMenuTrigger, S as applyTypographyDraftPatch, Sa as TabsTrigger, T as deriveStyleConfiguratorCapabilities, U as toggleRow, Ua as X$1, Ui as paletteColorEntries, Ut as useEditorUiStoreInstance, V as styleConfiguratorHistoryEntryForPersistedSelection, Wi as paletteColorsSchema, X as resolveStyleConfiguratorInitialSnapshot, Xa as SlidersHorizontal, Ya as Smartphone, Z as createOptimisticActionRunner, _ as reportPreviewDesignError, _a as PopoverTrigger, at as useUISelector, b as planSiteChromeSelection, ba as TabsContent, bn as listEntryPageContentSlots, c as selectionSnapshotFromApplySiteStyleSelectionResponse, ca as SelectContent, cn as resolveContentTitle, ct as useEntryController, da as SelectValue, dn as ManifestForm, do as ChevronDown, f as usePreviewDesignCoordinator, fa as Callout, fo as Check, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, ga as PopoverContent, gn as createStoreBackend, go as assertNever$1, ha as Popover, in as isAdapterReferenceKind, io as LoaderCircle, it as ContentFieldsForm, j as openRow, ja as CollapsibleTrigger, ji as buttonStyleSelectionParameterValue, k as markApplySaved, ka as Collapsible, kn as ThemeScope, kr as getCuratedSiteStyle, l as deriveSiteStylePreviewUpdate, la as SelectItem, lo as ChevronRight, ma as SearchInput, mn as FormRenderer, mo as unsafeAsEditorBlockId, n as useSiteChromeCustomizeOptional, no as Monitor, on as deriveRouteMetadataPresentation, pa as CalloutDescription, pn as createManifestValidation, qa as Tablet, ro as Maximize2, s as buildApplySiteStyleSelectionBody, sa as Select, sn as resolvePageRouteSlug, u as planConfiguratorPreview, ua as SelectTrigger, uo as ChevronLeft, v as buildSiteChromeSelectionModels, va as Input, w as createStyleConfiguratorState, x as applyResolvedSelections, xa as TabsList, y as cycleSiteChromeSelectionId, ya as Tabs, z as resetTypographyToSaved, zi as themeButtonClassName } from "./SiteChromeCustomizeContext-DunIzY0K.mjs";
3
+ import { d as unwrapResponse, f as getDashboardUrl, r as usePreviewAuth } from "./previewAuthStore-oVttoRDO.mjs";
4
+ import { t as Separator } from "./separator-C3hlg9LH.mjs";
5
+ import { S as getSiteFontsStorageUrl, _ as usePreviewBlockCustomizeSelectionOptional, b as buildFontPreviewUrl, d as buildPreviewDashboardSetupUrl, f as resolvePreviewDashboardSetupHandoff, g as useBlockCustomizeControls, h as usePreviewSiteFontStorageUrl, m as resolvePreviewSidebarChromeModel, p as resolvePreviewEditorGuidanceModel, u as canInspectSiteStyle, v as PreviewFormProvider, x as generateFontFaceCss, y as previewWidgetOverrides } from "./SdkPreviewModeRuntime-DH1n4ytY.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";
9
9
  import { useRouter } from "next/navigation.js";
10
+ //#region ../preview-next/src/client/preview/footerInspection.ts
11
+ /** Shared by sidebar routing and the footer panel's initial editing target. */
12
+ function resolveFooterInspection(inspection) {
13
+ return inspection?.kind === "footer" || inspection?.kind === "footer-module" ? inspection : null;
14
+ }
15
+ function footerComposerInspectionProps(inspection) {
16
+ return {
17
+ initialTarget: inspection?.kind === "footer-module" ? {
18
+ kind: "module",
19
+ moduleId: inspection.moduleId
20
+ } : { kind: "overview" },
21
+ initialTargetRequestId: inspection?.requestId
22
+ };
23
+ }
24
+ //#endregion
10
25
  //#region ../../node_modules/.pnpm/react-colorful@5.7.0_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/react-colorful/dist/index.mjs
11
26
  function u() {
12
27
  return (u = Object.assign || function(e) {
@@ -1820,7 +1835,7 @@ function DesignSection({ panel, takeover, controls }) {
1820
1835
  }
1821
1836
  //#endregion
1822
1837
  //#region ../preview-next/src/client/preview/PreviewFooterEditorPanel.tsx
1823
- function PreviewFooterEditorPanel({ apiClient, siteId, dashboardBaseUrl, theme, selectionId, selectionVersion, siteStyleAccess, inspection, canEdit, onSaved }) {
1838
+ function PreviewFooterEditorPanel({ sdkConfig, apiClient, siteId, dashboardBaseUrl, theme, selectionId, selectionVersion, siteStyleAccess, inspection, canEdit, onSaved }) {
1824
1839
  const dashboardSiteUrl = `${dashboardBaseUrl?.replace(/\/$/u, "") ?? ""}/dashboard/sites/${siteId}`;
1825
1840
  const navigationLayoutAccess = siteStyleAccess.kind === "apply-allowed" && theme && selectionVersion !== null ? {
1826
1841
  kind: "editable",
@@ -1831,25 +1846,18 @@ function PreviewFooterEditorPanel({ apiClient, siteId, dashboardBaseUrl, theme,
1831
1846
  return /* @__PURE__ */ jsx(FooterComposerPanel, {
1832
1847
  apiClient,
1833
1848
  siteId,
1834
- customFooterMode: resolvePreviewFooterMode(theme?.footer.mode),
1849
+ customFooterMode: resolveSdkFooterMode(sdkConfig),
1835
1850
  manageLinksHref: `${dashboardSiteUrl}/navigation`,
1836
1851
  manageSettingsHref: `${dashboardSiteUrl}/settings`,
1837
1852
  legalRegion: theme?.footer.bottomBar?.enabled ? "separate" : "integrated",
1838
1853
  navigationLayoutAccess,
1839
1854
  loadingFallback: /* @__PURE__ */ jsx(ContentSpinner, { className: "py-8" }),
1840
- initialTarget: inspection?.kind === "footer-module" ? {
1841
- kind: "module",
1842
- moduleId: inspection.moduleId
1843
- } : { kind: "overview" },
1844
- initialTargetRequestId: inspection?.requestId,
1855
+ ...footerComposerInspectionProps(inspection),
1845
1856
  variant: "sidebar",
1846
1857
  canEdit,
1847
1858
  onSaved
1848
1859
  });
1849
1860
  }
1850
- function resolvePreviewFooterMode(value) {
1851
- return value === "blocks" || value === "default+blocks" || value === "none" ? value : "default";
1852
- }
1853
1861
  //#endregion
1854
1862
  //#region ../preview-next/src/client/preview/PreviewEditorGuidanceCard.tsx
1855
1863
  function PreviewEditorGuidanceCard({ guidance, completeSetupDisabled, onCompleteSetup }) {
@@ -4505,8 +4513,9 @@ function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl = null, page
4505
4513
  fields: findLinkedEntryManifestFieldsFromSnapshot(snapshot)
4506
4514
  })
4507
4515
  });
4508
- const footerInspection = previewInspection.kind === "footer" || previewInspection.kind === "footer-module" ? previewInspection : null;
4516
+ const footerInspection = resolveFooterInspection(previewInspection);
4509
4517
  const footerPanel = /* @__PURE__ */ jsx(PreviewFooterEditorPanel, {
4518
+ sdkConfig,
4510
4519
  apiClient,
4511
4520
  siteId,
4512
4521
  dashboardBaseUrl,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { $a as PenLine, $t as useMultiAutosave, Ba as cva, Ca as DialogContent, Da as DialogTitle, Ea as DialogHeader, Ga as TriangleAlert, Ht as useEditorUiStore, La as DropdownMenuTrigger, Ma as DropdownMenu, Na as DropdownMenuContent, Nt as useEditor, Pa as DropdownMenuItem, Qa as Pencil, Sa as Dialog, Ut as useEditorUiStoreInstance, Va as cn, Vt as classifyHistoryShortcut, Wa as Undo2, Za as Redo2, a as previewDesignHistoryDomainForCommand, aa as TooltipTrigger, eo as Palette, i as usePreviewDesignHistoryOrder, ia as TooltipContent, lt as useEntryEditorController, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, oo as Eye, qa as Sparkles, ra as Tooltip, ro as LoaderCircle, so as EllipsisVertical, uo as ChevronDown, wa as DialogDescription, za as Button } from "./SiteChromeCustomizeContext-D8LePX8x.mjs";
3
- import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-Gjb6r6vz.mjs";
4
- import { C as FixedBottomSurface, a as usePreviewPageDesignEditorState, c as applyPreviewChromeSurfaceToElement, l as resolvePreviewChromeSurface, o as PREVIEW_CHROME_PORTAL_CLASS_NAME, s as PREVIEW_CHROME_THEME_CLASS_NAME } from "./SdkPreviewModeRuntime-CoPYI5Jq.mjs";
2
+ import { $a as Pencil, $t as useMultiAutosave, Ba as Button, Ca as Dialog, Da as DialogHeader, Fa as DropdownMenuItem, Ga as Undo2, Ha as cn, Ht as useEditorUiStore, Ja as Sparkles, Ka as TriangleAlert, Na as DropdownMenu, Nt as useEditor, Oa as DialogTitle, Pa as DropdownMenuContent, Qa as Redo2, Ra as DropdownMenuTrigger, Ta as DialogDescription, Ut as useEditorUiStoreInstance, Va as cva, Vt as classifyHistoryShortcut, a as previewDesignHistoryDomainForCommand, aa as TooltipContent, co as EllipsisVertical, do as ChevronDown, eo as PenLine, i as usePreviewDesignHistoryOrder, ia as Tooltip, io as LoaderCircle, lt as useEntryEditorController, n as useSiteChromeCustomizeOptional, o as selectPreviewDesignHistoryDomain, oa as TooltipTrigger, so as Eye, to as Palette, wa as DialogContent } from "./SiteChromeCustomizeContext-DunIzY0K.mjs";
3
+ import { d as unwrapResponse, r as usePreviewAuth } from "./previewAuthStore-oVttoRDO.mjs";
4
+ import { C as FixedBottomSurface, a as usePreviewPageDesignEditorState, c as applyPreviewChromeSurfaceToElement, l as resolvePreviewChromeSurface, o as PREVIEW_CHROME_PORTAL_CLASS_NAME, s as PREVIEW_CHROME_THEME_CLASS_NAME } from "./SdkPreviewModeRuntime-DH1n4ytY.mjs";
5
5
  import * as React$1 from "react";
6
6
  import { useCallback, useEffect, useMemo, useState, useTransition } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { n as markPreviewAuthExpired, s as ApiRequestError } from "./previewAuthStore-Gjb6r6vz.mjs";
2
+ import { n as markPreviewAuthExpired, s as ApiRequestError } from "./previewAuthStore-oVttoRDO.mjs";
3
3
  import { createContext, useContext, useRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { MutationCache, QueryCache, QueryClient, QueryClientProvider } from "@tanstack/react-query";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { $i as mapOptionValueForSelect, $n as coerceLinkedContentEntriesPayload, $r as runTransforms, An as containerResponsiveThemeCss, Ar as compileTransitionRuntime, At as RichTextField, Bi as parseThemeForPersistence, Bn as compileManifestContentContract, Bt as getBlockManifestFromSdkConfig, Ca as DialogContent, Ci as isRecord$13, Cn as deriveLaunchReadiness, Cr as retargetCompiledRuntimeFieldsForContentAdjacency, Ct as ButtonVariantField, Da as DialogTitle, Di as asDesignBlockId, Dn as useApiMediaUploader, Dt as ReferenceField, Ea as DialogHeader, Ei as pageDesignEditorBackgroundOverrideOwner, En as useMediaEditorOptional, Er as componentRuntimeRulesForTheme, Et as MediaField, Fn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Fr as gradientToCss, Ft as LinkWidgetProvider, G as confirmAutosaveBatch, Gi as paletteModeSchema, Gn as escapeStyleContent, Gr as backgroundAppearanceColorTokenNames, Gt as canRedoHistory, Ha as X, Hn as buildThemeRuntime, Hr as sectionTransitionFamilies, Ht as useEditorUiStore, In as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Ir as GRADIENT_PRESETS, J as idleEditorTransactionQueueState, Ji as isHeaderField, Jn as defaultTransforms, Jr as ctaButton, Jt as pushHistoryEntry, K as deriveTransactionCapabilities, Ki as attachRenderableMediaAssetFields, Kn as readBlockComposition, Kr as backgroundAppearanceQuickColorTokenNames, Kt as canUndoHistory, Li as textColorStyle, Ln as planSiteOverlayHeaderClearance, Lr as GRADIENT_PRESET_IDS, Lt as hideThemeV2RawStyleFields, Mn as makeDefaultBlockComponent, Mt as EditorProvider, Nn as getBlockDefinition, Nt as useEditor, Oi as assertNever$1, On as isSupportedLoaderEndpoint, Or as designRuntimeRulesForTheme, Ot as ReferenceWidgetProvider, Pn as projectRecurringSchedule, Pt as LinkField, Q as resolvePreviewSidebarTab, Qi as mapCurrentValueForSelect, Qn as LINKED_CONTENT_ENTRY_META_KEY, Qr as parseBackgroundContent, Qt as recordsEqual, Ri as defaultThemeTokens, Rn as visibleHeaderClearancePx, Rr as getGradientPreset, Rt as prepareBlockEditorManifest, Sa as Dialog, Si as isObjectRecord, Sn as DEFAULT_LAUNCH_READINESS_INPUT, Sr as retargetCompiledBoundaryRuntimeForContentAdjacency, St as EntryPickerWidgetProvider, Ta as DialogFooter, Ti as isThemeV2NormalEditorRawStyleFieldName, Tn as MediaEditorContextProvider, Tr as planPageDesignLayoutLookCompatibility, Tt as FileField, Ua as Upload, Un as DEFAULT_THEME_RESPONSIVE_MODE, Ur as sectionTransitionFamilyForBoundaryOptionId, Ut as useEditorUiStoreInstance, Va as cn, Vi as ORDINARY_TEXT_MIN_CONTRAST_RATIO, Vn as validateManifestDraft, Vr as defaultSectionTransitionVariantForFamily, W as beginAutosaveBatch, Wi as paletteColorsSchema, Wn as getResponsiveScopeSpec, Wr as sectionTransitionVariantForBoundaryOptionId, Wt as useOptionalEditorUiStoreInstance, Xa as RotateCcw, Xi as useSdkConfig, Xn as resolvePageRouteTarget, Xt as undoHistory, Y as rejectAutosaveBatch, Yi as SdkConfigProvider, Yn as resolveEntryRouteTarget, Yr as bindingSchema, Yt as redoHistory, Zi as hasEmptyOption, Zn as resolveRouteTarget, Zr as planSiteChromePlacement, Zt as unsafeAsLinkedContentEntryId, _ as reportPreviewDesignError, _i as BlockApiProvider, _n as MediaEditor, _o as parseMediaAssetId, _r as heroCopyFragment, _t as loadMailingListAuthoringContext, ai as coerceInlineTextWithFallback, an as parseReferenceKind, ao as GripVertical, ar as cardFragment, at as useUISelector, ba as TabsList, bi as eventCalendarListLayoutOptions, br as applyCompiledRuntimeFieldsToContent, bt as IconPickerField, ca as SelectItem, ci as Text$1, co as ChevronRight, cr as blogFeaturedPostFragment, d as PreviewDesignCoordinatorProvider, di as getCurrentResolveImageUrlContext, dr as formCopyFragment, dt as createSiteOptionWidgetAdapters, ea as unmapValueFromSelect, ei as parseBlockIconValue, en as useDebouncedLatestSave, er as getLinkedContentEntryMeta, et as renderSiteChromeBlock, fi as resolveImageUrlWithContext, fn as createManifestFormAdapter, fo as parseFooterModuleId, fr as testimonialsCarouselFragment, ft as SiteOptionPickerField, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, gi as siblingPath, gn as createStoreBackend, go as expectParsedBrandedId, gr as ctaRowFragment, gt as MailingListTargetingField, h as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, hi as getAtPath, hn as evaluateVisibility, ho as assertNever$2, hr as heroCtaRowFragment, ht as OfferingsPreviewWidgetProvider, i as usePreviewDesignHistoryOrder, ii as logger, io as Image, ir as headingFragment, jn as createCustomBlockRegistry, jr as surfaceResolutionContextFromTheme, jt as RichTextWidgetProvider, ki as makeBoundaryId, kn as ThemeScope, kt as useRichTextImagePicker, la as SelectTrigger, li as RichText$1, ln as PaletteProvider, lo as ChevronLeft, lr as singleButtonFragment, lt as useEntryEditorController, m as usePreviewThemeOverlay, mi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, mn as FormRenderer, mo as unsafeAsEditorBlockValues, mr as ctaCopyFragment, mt as OfferingsPreviewGroupOrderField, n as useSiteChromeCustomizeOptional, na as useField, ni as parseGeneratedIconSetId, nn as createSnapshotFromPageRecord, nr as ImageResolveContextProvider, nt as PreviewInlineTextEditor, oa as Select, oi as inlineTextToPlainText, or as faqAccordionFragment, ot as EditableBlockProvider, p as PreviewThemeOverlayProvider, pi as setContextResolveImageUrlContext, po as unsafeAsEditorBlockId, pr as testimonialsHeadingFragment, pt as SiteOptionWidgetProvider, q as enqueueTransaction, qi as getFieldIntent, qn as getDefaultComponentRegistry, qr as parseBackgroundAppearanceColorToken, qt as createHistoryState, r as PreviewDesignHistoryOrderProvider, ri as renderInlineText, rn as BUILT_IN_REFERENCE_KINDS, rr as richTextFragment, rt as PreviewTextEditor, sa as SelectContent, si as isInlineTextEmpty, sr as faqHeadingFragment, st as EntryControllerProvider, t as SiteChromeCustomizeProvider, ta as FieldFrame, ti as parseGeneratedIconAssetId, tn as createRoutingHelpers, tr as clientComponentRegistry, tt as PreviewRichTextEditor, ua as SelectValue, ui as buildResolveImageUrlContext, un as usePalette, ur as formEmbedFragment, ut as createSiteOptionApiLoader, va as Tabs, vi as calendarWindowQuerySchema, vn as applyPageDesignEditorAction, vo as parseSiteId, vr as bodyCopyFragment, vt as MailingListTargetingProvider, wa as DialogDescription, wi as corners, wn as AMBIENT_BACKGROUND_ROLES, wr as formatSiteChromeBackgroundTokenLabel, wt as ButtonWidgetProvider, xa as TabsTrigger, xi as bookingConsentCarrierSchema, xn as decodePublicProductCategorySelectorQuery, xr as compileEditorModelRuntime, xt as EntryPickerField, ya as TabsContent, yi as eventCalendarListLayoutCompatibleDisplayModeValues, yn as getPageDesignEditorState, yo as __exportAll, yr as defineFragment, yt as InlineTextField, za as Button, zn as resolveVariantKey, zr as parseGradientPresetId, zt as stripTopLevelRoutingUi } from "./SiteChromeCustomizeContext-D8LePX8x.mjs";
3
- import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-CN0ewic5.mjs";
4
- import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth } from "./previewAuthStore-Gjb6r6vz.mjs";
2
+ import { $i as mapCurrentValueForSelect, $n as coerceLinkedContentEntriesPayload, $r as runTransforms, An as containerResponsiveThemeCss, Ar as compileTransitionRuntime, At as RichTextField, Ba as Button, Bi as parseThemeForPersistence, Bn as compileManifestContentContract, Bt as getBlockManifestFromSdkConfig, Ca as Dialog, Ci as isRecord$13, Cn as deriveLaunchReadiness, Cr as retargetCompiledRuntimeFieldsForContentAdjacency, Ct as ButtonVariantField, Da as DialogHeader, Di as asDesignBlockId, Dn as useApiMediaUploader, Dt as ReferenceField, Ea as DialogFooter, Ei as pageDesignEditorBackgroundOverrideOwner, En as useMediaEditorOptional, Er as componentRuntimeRulesForTheme, Et as MediaField, Fn as SITE_CHROME_VISIBLE_HEADER_SELECTOR, Fr as gradientToCss, Ft as LinkWidgetProvider, G as confirmAutosaveBatch, Gi as paletteModeSchema, Gn as escapeStyleContent, Gr as backgroundAppearanceColorTokenNames, Gt as canRedoHistory, Ha as cn, Hn as buildThemeRuntime, Hr as sectionTransitionFamilies, Ht as useEditorUiStore, In as SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR, Ir as GRADIENT_PRESETS, J as idleEditorTransactionQueueState, Ji as getFieldIntent, Jn as defaultTransforms, Jr as ctaButton, Jt as pushHistoryEntry, K as deriveTransactionCapabilities, Ki as resolveSdkFooterMode, Kn as readBlockComposition, Kr as backgroundAppearanceQuickColorTokenNames, Kt as canUndoHistory, Li as textColorStyle, Ln as planSiteOverlayHeaderClearance, Lr as GRADIENT_PRESET_IDS, Lt as hideThemeV2RawStyleFields, Mn as makeDefaultBlockComponent, Mt as EditorProvider, Nn as getBlockDefinition, Nt as useEditor, Oa as DialogTitle, Oi as assertNever$1, On as isSupportedLoaderEndpoint, Or as designRuntimeRulesForTheme, Ot as ReferenceWidgetProvider, Pn as projectRecurringSchedule, Pt as LinkField, Q as resolvePreviewSidebarTab, Qi as hasEmptyOption, Qn as LINKED_CONTENT_ENTRY_META_KEY, Qr as parseBackgroundContent, Qt as recordsEqual, Ri as defaultThemeTokens, Rn as visibleHeaderClearancePx, Rr as getGradientPreset, Rt as prepareBlockEditorManifest, Sa as TabsTrigger, Si as isObjectRecord, Sn as DEFAULT_LAUNCH_READINESS_INPUT, Sr as retargetCompiledBoundaryRuntimeForContentAdjacency, St as EntryPickerWidgetProvider, Ta as DialogDescription, Ti as isThemeV2NormalEditorRawStyleFieldName, Tn as MediaEditorContextProvider, Tr as planPageDesignLayoutLookCompatibility, Tt as FileField, Ua as X, Un as DEFAULT_THEME_RESPONSIVE_MODE, Ur as sectionTransitionFamilyForBoundaryOptionId, Ut as useEditorUiStoreInstance, Vi as ORDINARY_TEXT_MIN_CONTRAST_RATIO, Vn as validateManifestDraft, Vr as defaultSectionTransitionVariantForFamily, W as beginAutosaveBatch, Wa as Upload, Wi as paletteColorsSchema, Wn as getResponsiveScopeSpec, Wr as sectionTransitionVariantForBoundaryOptionId, Wt as useOptionalEditorUiStoreInstance, Xi as SdkConfigProvider, Xn as resolvePageRouteTarget, Xt as undoHistory, Y as rejectAutosaveBatch, Yi as isHeaderField, Yn as resolveEntryRouteTarget, Yr as bindingSchema, Yt as redoHistory, Za as RotateCcw, Zi as useSdkConfig, Zn as resolveRouteTarget, Zr as planSiteChromePlacement, Zt as unsafeAsLinkedContentEntryId, _ as reportPreviewDesignError, _i as BlockApiProvider, _n as MediaEditor, _o as expectParsedBrandedId, _r as heroCopyFragment, _t as loadMailingListAuthoringContext, ai as coerceInlineTextWithFallback, an as parseReferenceKind, ao as Image, ar as cardFragment, at as useUISelector, ba as TabsContent, bi as eventCalendarListLayoutOptions, bo as __exportAll, br as applyCompiledRuntimeFieldsToContent, bt as IconPickerField, ca as SelectContent, ci as Text$1, cr as blogFeaturedPostFragment, d as PreviewDesignCoordinatorProvider, da as SelectValue, di as getCurrentResolveImageUrlContext, dr as formCopyFragment, dt as createSiteOptionWidgetAdapters, ea as mapOptionValueForSelect, ei as parseBlockIconValue, en as useDebouncedLatestSave, er as getLinkedContentEntryMeta, et as renderSiteChromeBlock, fi as resolveImageUrlWithContext, fn as createManifestFormAdapter, fr as testimonialsCarouselFragment, ft as SiteOptionPickerField, g as PREVIEW_DESIGN_SAVE_ERROR_MESSAGE, gi as siblingPath, gn as createStoreBackend, go as assertNever$2, gr as ctaRowFragment, gt as MailingListTargetingField, h as PREVIEW_DESIGN_LOAD_ERROR_MESSAGE, hi as getAtPath, hn as evaluateVisibility, ho as unsafeAsEditorBlockValues, hr as heroCtaRowFragment, ht as OfferingsPreviewWidgetProvider, i as usePreviewDesignHistoryOrder, ii as logger, ir as headingFragment, jn as createCustomBlockRegistry, jr as surfaceResolutionContextFromTheme, jt as RichTextWidgetProvider, ki as makeBoundaryId, kn as ThemeScope, kt as useRichTextImagePicker, la as SelectItem, li as RichText$1, ln as PaletteProvider, lo as ChevronRight, lr as singleButtonFragment, lt as useEntryEditorController, m as usePreviewThemeOverlay, mi as SECTION_BACKGROUND_MIN_SOURCE_WIDTH, mn as FormRenderer, mo as unsafeAsEditorBlockId, mr as ctaCopyFragment, mt as OfferingsPreviewGroupOrderField, n as useSiteChromeCustomizeOptional, na as FieldFrame, ni as parseGeneratedIconSetId, nn as createSnapshotFromPageRecord, nr as ImageResolveContextProvider, nt as PreviewInlineTextEditor, oi as inlineTextToPlainText, oo as GripVertical, or as faqAccordionFragment, ot as EditableBlockProvider, p as PreviewThemeOverlayProvider, pi as setContextResolveImageUrlContext, po as parseFooterModuleId, pr as testimonialsHeadingFragment, pt as SiteOptionWidgetProvider, q as enqueueTransaction, qi as attachRenderableMediaAssetFields, qn as getDefaultComponentRegistry, qr as parseBackgroundAppearanceColorToken, qt as createHistoryState, r as PreviewDesignHistoryOrderProvider, ra as useField, ri as renderInlineText, rn as BUILT_IN_REFERENCE_KINDS, rr as richTextFragment, rt as PreviewTextEditor, sa as Select, si as isInlineTextEmpty, sr as faqHeadingFragment, st as EntryControllerProvider, t as SiteChromeCustomizeProvider, ta as unmapValueFromSelect, ti as parseGeneratedIconAssetId, tn as createRoutingHelpers, tr as clientComponentRegistry, tt as PreviewRichTextEditor, ua as SelectTrigger, ui as buildResolveImageUrlContext, un as usePalette, uo as ChevronLeft, ur as formEmbedFragment, ut as createSiteOptionApiLoader, vi as calendarWindowQuerySchema, vn as applyPageDesignEditorAction, vo as parseMediaAssetId, vr as bodyCopyFragment, vt as MailingListTargetingProvider, wa as DialogContent, wi as corners, wn as AMBIENT_BACKGROUND_ROLES, wr as formatSiteChromeBackgroundTokenLabel, wt as ButtonWidgetProvider, xa as TabsList, xi as bookingConsentCarrierSchema, xn as decodePublicProductCategorySelectorQuery, xr as compileEditorModelRuntime, xt as EntryPickerField, ya as Tabs, yi as eventCalendarListLayoutCompatibleDisplayModeValues, yn as getPageDesignEditorState, yo as parseSiteId, yr as defineFragment, yt as InlineTextField, zn as resolveVariantKey, zr as parseGradientPresetId, zt as stripTopLevelRoutingUi } from "./SiteChromeCustomizeContext-DunIzY0K.mjs";
3
+ import { i as useOptionalPreviewLayout, t as PreviewQueryProvider } from "./PreviewQueryProvider-CC-EPkyQ.mjs";
4
+ import { _ as API_ENDPOINTS, a as usePreviewToken, c as createBearerAPIClient, d as unwrapResponse, g as resolveSurfaceDocumentAttributes, h as SURFACE_IDS, i as usePreviewAuthFetch, m as SURFACE_DOCUMENT_DATA_ATTRIBUTE, n as markPreviewAuthExpired, o as isPreviewRuntimeSessionEditable, r as usePreviewAuth, s as ApiRequestError, t as initPreviewAuth } from "./previewAuthStore-oVttoRDO.mjs";
5
5
  import * as React$1 from "react";
6
6
  import React, { Children, Fragment, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -9250,10 +9250,10 @@ function resolveShellThemeRoles(props) {
9250
9250
  }
9251
9251
  const previewContainerResponsiveEnabled = process.env.NEXT_PUBLIC_ENABLE_PREVIEW_CONTAINER_RESPONSIVE !== "false";
9252
9252
  const PreviewEditorSidebar = React.lazy(async () => {
9253
- return { default: (await import("./PreviewEditorSidebar-Q-fy9GYw.mjs")).PreviewEditorSidebar };
9253
+ return { default: (await import("./PreviewEditorSidebar-Dk6Dt11f.mjs")).PreviewEditorSidebar };
9254
9254
  });
9255
9255
  const PreviewEditorUI = React.lazy(async () => {
9256
- return { default: (await import("./PreviewEditorUI-LYGzgk85.mjs")).PreviewEditorUI };
9256
+ return { default: (await import("./PreviewEditorUI-D6EQTsCA.mjs")).PreviewEditorUI };
9257
9257
  });
9258
9258
  const previewPaneContainmentStyle = {
9259
9259
  contain: "layout paint",
@@ -12030,11 +12030,14 @@ var SdkPreviewModeRuntime_exports = /* @__PURE__ */ __exportAll({ SdkPreviewMode
12030
12030
  function isSdkCustomBlockArray(value) {
12031
12031
  return Array.isArray(value);
12032
12032
  }
12033
- function getSdkConfigForBlockPicker(value) {
12033
+ function getSdkConfigForPreview(value) {
12034
12034
  if (!value || typeof value !== "object") return null;
12035
- if (!("customBlocks" in value)) return {};
12035
+ if (!("customBlocks" in value)) return { layout: { footerMode: resolveSdkFooterMode(value) } };
12036
12036
  const customBlocks = value.customBlocks;
12037
- return isSdkCustomBlockArray(customBlocks) ? { customBlocks } : {};
12037
+ return {
12038
+ layout: { footerMode: resolveSdkFooterMode(value) },
12039
+ ...isSdkCustomBlockArray(customBlocks) ? { customBlocks } : {}
12040
+ };
12038
12041
  }
12039
12042
  function SdkPreviewModeRuntime(props) {
12040
12043
  const { apiBaseUrl, siteId, siteSlug, previewSession, previewToken } = props;
@@ -12043,8 +12046,10 @@ function SdkPreviewModeRuntime(props) {
12043
12046
  const siteFontStorageUrl = resolveContentStorageUrl(content);
12044
12047
  const sdkConfigForEditor = useMemo(() => {
12045
12048
  const blocks = customBlocks ?? sdkConfig?.customBlocks ?? void 0;
12046
- if (!blocks || blocks.length === 0) return null;
12047
- return { customBlocks: blocks };
12049
+ return {
12050
+ layout: sdkConfig?.layout,
12051
+ ...blocks?.length ? { customBlocks: blocks } : {}
12052
+ };
12048
12053
  }, [sdkConfig, customBlocks]);
12049
12054
  const blockApiConfig = useMemo(() => ({
12050
12055
  baseUrl: apiBaseUrl,
@@ -12126,7 +12131,7 @@ function resolveSdkPreviewRuntimeModel(props) {
12126
12131
  };
12127
12132
  const page = content.page;
12128
12133
  const routeMap = content.routeMap ?? void 0;
12129
- const sdkConfig = getSdkConfigForBlockPicker(content.sdkConfig);
12134
+ const sdkConfig = getSdkConfigForPreview(content.sdkConfig);
12130
12135
  const customBlocks = isSdkCustomBlockArray(content.customBlocks) ? content.customBlocks : null;
12131
12136
  const initialBlocks = (page.blocks ?? []).map((block, index) => ({
12132
12137
  id: block.id ?? null,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { d as unwrapResponse, l as ApiEnvelopeError, s as ApiRequestError, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-Gjb6r6vz.mjs";
2
+ import { d as unwrapResponse, l as ApiEnvelopeError, s as ApiRequestError, u as extractApiEnvelopeErrorDetails } from "./previewAuthStore-oVttoRDO.mjs";
3
3
  import * as React$1 from "react";
4
4
  import React, { Component, Fragment, cloneElement, createContext, createElement, createRef, forwardRef, isValidElement, memo, startTransition, useCallback, useContext, useDebugValue, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
5
5
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -79172,6 +79172,19 @@ function mediaIdentifierOrFallback(current, fallback) {
79172
79172
  return fallback ?? (typeof current === "string" ? current : void 0);
79173
79173
  }
79174
79174
  //#endregion
79175
+ //#region ../theme-core/src/footer/mode.ts
79176
+ const footerModeSchema = z.enum([
79177
+ "default",
79178
+ "blocks",
79179
+ "default+blocks",
79180
+ "none"
79181
+ ]);
79182
+ /** Reads only SDK footer intent; unrelated config and theme fields are not authorities. */
79183
+ function resolveSdkFooterMode(config) {
79184
+ const parsed = z.object({ layout: z.object({ footerMode: footerModeSchema.optional() }).optional() }).safeParse(config);
79185
+ return parsed.success ? parsed.data.layout?.footerMode ?? "default" : "default";
79186
+ }
79187
+ //#endregion
79175
79188
  //#region ../theme-core/src/lib/media.ts
79176
79189
  const hotspotSchema = z.object({
79177
79190
  x: z.number().min(0).max(1),
@@ -88726,12 +88739,6 @@ const footerVariant = z.enum([
88726
88739
  "split"
88727
88740
  ]);
88728
88741
  const footerMaxWidth = z.enum(["container", "full"]);
88729
- const footerMode = z.enum([
88730
- "default",
88731
- "blocks",
88732
- "default+blocks",
88733
- "none"
88734
- ]);
88735
88742
  const footerNavLayoutMode = z.enum([
88736
88743
  "stack",
88737
88744
  "inline",
@@ -88820,9 +88827,9 @@ const footerSchema = z.object({
88820
88827
  /**
88821
88828
  * SDK-only footer rendering mode.
88822
88829
  *
88823
- * Backwards compatible: missing/undefined behaves as 'default'.
88830
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
88824
88831
  */
88825
- mode: footerMode.optional(),
88832
+ mode: footerModeSchema.optional(),
88826
88833
  variant: footerVariant,
88827
88834
  maxWidth: footerMaxWidth,
88828
88835
  showLogoText: z.boolean().optional(),
@@ -89480,6 +89487,15 @@ const publicEventBaseSchema = z.object({
89480
89487
  timeZone: z.string(),
89481
89488
  pricing: publicEventPricingSchema,
89482
89489
  paymentTerms: blockBookingPaymentTermsSchema,
89490
+ cancellationPolicy: z.object({ refunds: z.object({
89491
+ mode: z.enum([
89492
+ "never",
89493
+ "always",
89494
+ "cutoff"
89495
+ ]),
89496
+ cutoffHours: z.number(),
89497
+ method: z.enum(["original_payment_method", "site_credit"])
89498
+ }) }),
89483
89499
  consent: blockBookingConsentSchema.nullable(),
89484
89500
  accessRestriction: accessRestrictionSchema,
89485
89501
  allowedCategoryIds: z.array(z.string()),
@@ -130315,7 +130331,6 @@ const STRIPE_COMMISSION_FREE_REASONS = [
130315
130331
  "no_commission_plan",
130316
130332
  "billing_evidence_invalid",
130317
130333
  "fee_rounds_to_zero",
130318
- "non_commissionable_scope",
130319
130334
  "payment_not_stripe"
130320
130335
  ];
130321
130336
  const historicalContext = {
@@ -186471,11 +186486,14 @@ const sdkSiteStyleConfigSchema = z.object({
186471
186486
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
186472
186487
  containerOptions: sdkContainerOptionsConfigSchema.optional()
186473
186488
  });
186474
- const sdkSiteLayoutConfigSchema = z.object({ footerBlocks: z.array(z.object({
186475
- id: z.string().min(1).optional(),
186476
- kind: z.string().min(1),
186477
- content: z.record(z.string(), z.unknown()).optional()
186478
- })).optional() });
186489
+ const sdkSiteLayoutConfigSchema = z.object({
186490
+ footerMode: footerModeSchema.optional(),
186491
+ footerBlocks: z.array(z.object({
186492
+ id: z.string().min(1).optional(),
186493
+ kind: z.string().min(1),
186494
+ content: z.record(z.string(), z.unknown()).optional()
186495
+ })).optional()
186496
+ });
186479
186497
  const sdkFieldSelectOptionSchema = z.object({
186480
186498
  value: z.string(),
186481
186499
  label: z.string()
@@ -198489,6 +198507,71 @@ function useBlockReorder({ allowReordering, apiClient, siteId, owner, blockList,
198489
198507
  };
198490
198508
  }
198491
198509
  //#endregion
198510
+ //#region ../editor-blocks/src/block-editor/colourFieldVisibility.ts
198511
+ /** Only changes form presentation; the validation manifest and saved data stay intact. */
198512
+ function hideUnavailableColourFields(manifest, options) {
198513
+ if (options.colour && options.gradient) return manifest;
198514
+ const hiddenPaths = [];
198515
+ const visit = (fields, parent) => fields.flatMap((field) => {
198516
+ const path = parent ? `${parent}.${field.id}` : field.id;
198517
+ const widget = field.ui?.widget;
198518
+ if (widget === "backgroundColor" && !options.colour || widget === "backgroundGradient" && !options.gradient) {
198519
+ hiddenPaths.push(path);
198520
+ return [];
198521
+ }
198522
+ if (field.type === "group" || field.type === "modal") {
198523
+ const children = visit(field.schema.fields, path);
198524
+ if (!children.length) {
198525
+ hiddenPaths.push(path);
198526
+ return [];
198527
+ }
198528
+ return [{
198529
+ ...field,
198530
+ schema: {
198531
+ ...field.schema,
198532
+ fields: children
198533
+ }
198534
+ }];
198535
+ }
198536
+ if (field.type === "repeater") return [{
198537
+ ...field,
198538
+ ...field.schema ? { schema: {
198539
+ ...field.schema,
198540
+ fields: visit(field.schema.fields, path)
198541
+ } } : {},
198542
+ ...field.itemTypes ? { itemTypes: Object.fromEntries(Object.entries(field.itemTypes).map(([id, item]) => [id, {
198543
+ ...item,
198544
+ fields: visit(item.fields, path)
198545
+ }])) } : {}
198546
+ }];
198547
+ if (field.type === "tabGroup") {
198548
+ const tabs = field.tabs.flatMap((tab) => {
198549
+ const children = visit(tab.fields, path);
198550
+ const unavailableTab = tab.sdkSectionOption === "backgroundColor" && !options.colour || tab.sdkSectionOption === "backgroundGradient" && !options.gradient;
198551
+ return children.length && !unavailableTab ? [{
198552
+ ...tab,
198553
+ fields: children
198554
+ }] : [];
198555
+ });
198556
+ if (!tabs.length) {
198557
+ hiddenPaths.push(path);
198558
+ return [];
198559
+ }
198560
+ return [{
198561
+ ...field,
198562
+ tabs
198563
+ }];
198564
+ }
198565
+ return [field];
198566
+ });
198567
+ const fields = visit(manifest.fields, "");
198568
+ return {
198569
+ ...manifest,
198570
+ fields,
198571
+ promotedFields: manifest.promotedFields?.filter((path) => !hiddenPaths.some((hidden) => path === hidden || path.startsWith(`${hidden}.`)))
198572
+ };
198573
+ }
198574
+ //#endregion
198492
198575
  //#region ../editor-blocks/src/block-editor/settingsIntent.ts
198493
198576
  function isSectionStylesField(field) {
198494
198577
  return field.type === "modal" && field.id === "_sectionStyles";
@@ -198580,13 +198663,14 @@ function prepareBlockEditorManifest(input) {
198580
198663
  const mergedManifest = mergeManifestWithSdkOptions(input.manifest, input.blockKind, input.blockFieldOptions, input.blockFieldExtensions);
198581
198664
  const validationManifest = augmentManifestWithStyleGroups(mergedManifest, input.styleGroups, input.blockKind);
198582
198665
  const renderManifestBase = input.visibilityPolicy.kind === "hide-theme-v2-raw-style-fields" ? mergedManifest : validationManifest;
198666
+ const renderManifest = input.visibilityPolicy.kind === "hide-theme-v2-raw-style-fields" ? {
198667
+ ...renderManifestBase,
198668
+ fields: renderManifestBase.fields ? hideThemeV2NormalEditorRawStyleFieldsInRenderFields(renderManifestBase.fields) : renderManifestBase.fields,
198669
+ promotedFields: filterThemeV2NormalEditorRawPromotedFields(renderManifestBase.promotedFields, input.allowedPromotedFieldPaths)
198670
+ } : validationManifest;
198583
198671
  return {
198584
198672
  validationManifest,
198585
- renderManifest: hideEditorOwnedFields(input.visibilityPolicy.kind === "hide-theme-v2-raw-style-fields" ? {
198586
- ...renderManifestBase,
198587
- fields: renderManifestBase.fields ? hideThemeV2NormalEditorRawStyleFieldsInRenderFields(renderManifestBase.fields) : renderManifestBase.fields,
198588
- promotedFields: filterThemeV2NormalEditorRawPromotedFields(renderManifestBase.promotedFields, input.allowedPromotedFieldPaths)
198589
- } : validationManifest, input.blockKind)
198673
+ renderManifest: hideEditorOwnedFields(input.colourFieldOptions ? hideUnavailableColourFields(renderManifest, input.colourFieldOptions) : renderManifest, input.blockKind)
198590
198674
  };
198591
198675
  }
198592
198676
  //#endregion
@@ -198633,6 +198717,12 @@ function shouldShowMoveButtons(mode) {
198633
198717
  return mode === "full";
198634
198718
  }
198635
198719
  //#endregion
198720
+ //#region ../editor-blocks/src/block-editor/ColourFieldOptionsProvider.tsx
198721
+ const ColourFieldOptionsContext = createContext(void 0);
198722
+ function useColourFieldOptions() {
198723
+ return useContext(ColourFieldOptionsContext);
198724
+ }
198725
+ //#endregion
198636
198726
  //#region ../editor-blocks/src/BlockForm.tsx
198637
198727
  function focusPathForSignal(signal) {
198638
198728
  return signal && signal.kind !== "block" ? normalizeFocusPath(signal.fieldPath) : null;
@@ -198657,10 +198747,12 @@ function BlockForm({ siteId: _siteId, block, manifest, uiStore, hasRecoveryConfl
198657
198747
  manifest.promotedFields,
198658
198748
  pageDesignBlock
198659
198749
  ]);
198750
+ const colourFieldOptions = useColourFieldOptions();
198660
198751
  const preparedManifest = useMemo(() => prepareBlockEditorManifest({
198661
198752
  manifest,
198662
198753
  blockKind: block.kind,
198663
198754
  styleGroups: theme?.styleGroups,
198755
+ colourFieldOptions,
198664
198756
  blockFieldOptions,
198665
198757
  blockFieldExtensions,
198666
198758
  visibilityPolicy: hideThemeV2RawStyleFields$2 ? hideThemeV2RawStyleFields : showRawStyleFields,
@@ -198670,6 +198762,7 @@ function BlockForm({ siteId: _siteId, block, manifest, uiStore, hasRecoveryConfl
198670
198762
  manifest,
198671
198763
  block.kind,
198672
198764
  theme?.styleGroups,
198765
+ colourFieldOptions,
198673
198766
  blockFieldOptions,
198674
198767
  blockFieldExtensions,
198675
198768
  hideThemeV2RawStyleFields$2
@@ -199777,10 +199870,12 @@ function BlockSettingsModal({ block, manifest, uiStore, widgetOverrides, theme,
199777
199870
  const focusPath = settingsFocusPath(focusSignal, blockId);
199778
199871
  const hasDraftSnapshot = useStoreSelector(uiStore, (state) => blockId ? state.drafts.getBlockSnapshot(blockId) !== null : false);
199779
199872
  const { blockFieldOptions, blockFieldExtensions } = useSdkConfig();
199873
+ const colourFieldOptions = useColourFieldOptions();
199780
199874
  const preparedManifest = useMemo(() => prepareBlockEditorManifest({
199781
199875
  manifest,
199782
199876
  blockKind: block.kind,
199783
199877
  styleGroups: theme?.styleGroups,
199878
+ colourFieldOptions,
199784
199879
  blockFieldOptions,
199785
199880
  blockFieldExtensions,
199786
199881
  visibilityPolicy: hideThemeV2RawStyleFields$1 ? hideThemeV2RawStyleFields : showRawStyleFields
@@ -199788,6 +199883,7 @@ function BlockSettingsModal({ block, manifest, uiStore, widgetOverrides, theme,
199788
199883
  manifest,
199789
199884
  block.kind,
199790
199885
  theme?.styleGroups,
199886
+ colourFieldOptions,
199791
199887
  blockFieldOptions,
199792
199888
  blockFieldExtensions,
199793
199889
  hideThemeV2RawStyleFields$1
@@ -231792,4 +231888,4 @@ function useSiteChromeCustomizeOptional() {
231792
231888
  return useContext(SiteChromeCustomizeContext);
231793
231889
  }
231794
231890
  //#endregion
231795
- export { FooterComposerPanel as $, PenLine as $a, mapOptionValueForSelect as $i, coerceLinkedContentEntriesPayload as $n, runTransforms as $r, useMultiAutosave as $t, markApplySaving as A, CollapsibleTrigger as Aa, buttonStyleHoverPreferenceValue as Ai, containerResponsiveThemeCss as An, compileTransitionRuntime as Ar, RichTextField as At, setPaletteColors as B, cva as Ba, parseThemeForPersistence as Bi, compileManifestContentContract as Bn, curatedPalettes as Br, getBlockManifestFromSdkConfig as Bt, cancelPreview as C, DialogContent as Ca, isRecord$17 as Ci, deriveLaunchReadiness as Cn, retargetCompiledRuntimeFieldsForContentAdjacency as Cr, ButtonVariantField as Ct, isPreviewingChange as D, DialogTitle as Da, asDesignBlockId as Di, useApiMediaUploader as Dn, curatedSiteStyles as Dr, ReferenceField as Dt, dismissWarnings as E, DialogHeader as Ea, pageDesignEditorBackgroundOverrideOwner as Ei, useMediaEditorOptional as En, componentRuntimeRulesForTheme as Er, MediaField as Et, previewFooterLook as F, DropdownMenuLabel as Fa, updateButtonStyleSelectionChoice as Fi, SITE_CHROME_VISIBLE_HEADER_SELECTOR as Fn, gradientToCss as Fr, LinkWidgetProvider as Ft, confirmAutosaveBatch as G, TriangleAlert as Ga, paletteModeSchema as Gi, escapeStyleContent as Gn, backgroundAppearanceColorTokenNames as Gr, canRedoHistory as Gt, syncStyleConfiguratorState as H, X as Ha, VARIANT_ROLES as Hi, buildThemeRuntime as Hn, sectionTransitionFamilies as Hr, useEditorUiStore as Ht, previewHeaderLayout as I, DropdownMenuSeparator as Ia, buttonStyleSelectionKey as Ii, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR as In, GRADIENT_PRESETS as Ir, BlockEditor as It, idleEditorTransactionQueueState as J, Smartphone as Ja, isHeaderField as Ji, defaultTransforms as Jn, ctaButton as Jr, pushHistoryEntry as Jt, deriveTransactionCapabilities as K, Tablet as Ka, attachRenderableMediaAssetFields as Ki, readBlockComposition as Kn, backgroundAppearanceQuickColorTokenNames as Kr, canUndoHistory as Kt, previewHeaderStyle as L, DropdownMenuTrigger as La, textColorStyle as Li, planSiteOverlayHeaderClearance as Ln, GRADIENT_PRESET_IDS as Lr, hideThemeV2RawStyleFields as Lt, palettePreviewProjection as M, DropdownMenu as Ma, findButtonStyleRecipe as Mi, makeDefaultBlockComponent as Mn, findFooterLook as Mr, EditorProvider as Mt, previewButtonStyle as N, DropdownMenuContent as Na, resolveButtonStyleSelection as Ni, getBlockDefinition as Nn, getHeaderLayout as Nr, useEditor$1 as Nt, markApplyFailed as O, Collapsible as Oa, assertNever$7 as Oi, isSupportedLoaderEndpoint as On, designRuntimeRulesForTheme as Or, ReferenceWidgetProvider as Ot, previewCuratedPalette as P, DropdownMenuItem as Pa, updateButtonStyleHoverPreference as Pi, projectRecurringSchedule as Pn, getHeaderStyle as Pr, LinkField as Pt, resolvePreviewSidebarTab as Q, Pencil as Qa, mapCurrentValueForSelect as Qi, LINKED_CONTENT_ENTRY_META_KEY as Qn, parseBackgroundContent as Qr, recordsEqual as Qt, previewSiteStyle as R, Primitive as Ra, defaultThemeTokens as Ri, visibleHeaderClearancePx as Rn, getGradientPreset as Rr, prepareBlockEditorManifest as Rt, applyTypographyDraftPatch as S, Dialog as Sa, isObjectRecord$1 as Si, DEFAULT_LAUNCH_READINESS_INPUT as Sn, retargetCompiledBoundaryRuntimeForContentAdjacency as Sr, EntryPickerWidgetProvider as St, deriveStyleConfiguratorCapabilities as T, DialogFooter as Ta, isThemeV2NormalEditorRawStyleFieldName as Ti, MediaEditorContextProvider as Tn, planPageDesignLayoutLookCompatibility as Tr, FileField as Tt, toggleRow as U, Upload as Ua, paletteColorEntries as Ui, DEFAULT_THEME_RESPONSIVE_MODE as Un, sectionTransitionFamilyForBoundaryOptionId as Ur, useEditorUiStoreInstance as Ut, styleConfiguratorHistoryEntryForPersistedSelection as V, cn$2 as Va, ORDINARY_TEXT_MIN_CONTRAST_RATIO as Vi, validateManifestDraft as Vn, defaultSectionTransitionVariantForFamily as Vr, classifyHistoryShortcut as Vt, beginAutosaveBatch as W, Undo2 as Wa, paletteColorsSchema as Wi, getResponsiveScopeSpec as Wn, sectionTransitionVariantForBoundaryOptionId as Wr, useOptionalEditorUiStoreInstance as Wt, resolveStyleConfiguratorInitialSnapshot as X, RotateCcw as Xa, useSdkConfig as Xi, resolvePageRouteTarget as Xn, EDITABLE_SURFACE_FORWARDING_PROP as Xr, undoHistory as Xt, rejectAutosaveBatch as Y, SlidersHorizontal as Ya, SdkConfigProvider as Yi, resolveEntryRouteTarget as Yn, bindingSchema as Yr, redoHistory as Yt, createOptimisticActionRunner as Z, Redo2 as Za, hasEmptyOption as Zi, resolveRouteTarget as Zn, planSiteChromePlacement as Zr, unsafeAsLinkedContentEntryId as Zt, reportPreviewDesignError as _, Input as _a, BlockApiProvider as _i, MediaEditor as _n, parseMediaAssetId as _o, heroCopyFragment as _r, loadMailingListAuthoringContext as _t, previewDesignHistoryDomainForCommand as a, TooltipTrigger as aa, coerceInlineTextWithFallback as ai, parseReferenceKind as an, GripVertical as ao, cardFragment as ar, useUISelector as at, planSiteChromeSelection as b, TabsList as ba, eventCalendarListLayoutOptions as bi, listEntryPageContentSlots as bn, applyCompiledRuntimeFieldsToContent as br, IconPickerField as bt, selectionSnapshotFromApplySiteStyleSelectionResponse as c, SelectItem as ca, Text$2 as ci, resolveContentTitle as cn, ChevronRight as co, blogFeaturedPostFragment as cr, useEntryController as ct, PreviewDesignCoordinatorProvider as d, Callout as da, getCurrentResolveImageUrlContext as di, ManifestForm as dn, Check as do, formCopyFragment as dr, createSiteOptionWidgetAdapters as dt, unmapValueFromSelect as ea, parseBlockIconValue as ei, useDebouncedLatestSave as en, Palette as eo, getLinkedContentEntryMeta as er, renderSiteChromeBlock as et, usePreviewDesignCoordinator as f, CalloutDescription as fa, resolveImageUrlWithContext as fi, createManifestFormAdapter as fn, parseFooterModuleId as fo, testimonialsCarouselFragment as fr, SiteOptionPickerField as ft, PREVIEW_DESIGN_SAVE_ERROR_MESSAGE as g, PopoverTrigger as ga, siblingPath$1 as gi, createStoreBackend as gn, expectParsedBrandedId as go, ctaRowFragment as gr, MailingListTargetingField as gt, PREVIEW_DESIGN_LOAD_ERROR_MESSAGE as h, PopoverContent as ha, getAtPath as hi, evaluateVisibility as hn, assertNever$10 as ho, heroCtaRowFragment as hr, OfferingsPreviewWidgetProvider as ht, usePreviewDesignHistoryOrder as i, TooltipContent as ia, logger$1 as ii, isAdapterReferenceKind as in, Image as io, headingFragment as ir, ContentFieldsForm as it, openRow as j, Surface as ja, buttonStyleSelectionParameterValue as ji, createCustomBlockRegistry as jn, surfaceResolutionContextFromTheme as jr, RichTextWidgetProvider as jt, markApplySaved as k, CollapsibleContent as ka, makeBoundaryId as ki, ThemeScope as kn, getCuratedSiteStyle as kr, useRichTextImagePicker as kt, deriveSiteStylePreviewUpdate as l, SelectTrigger as la, RichText as li, PaletteProvider as ln, ChevronLeft as lo, singleButtonFragment as lr, useEntryEditorController as lt, usePreviewThemeOverlay as m, Popover as ma, SECTION_BACKGROUND_MIN_SOURCE_WIDTH as mi, FormRenderer as mn, unsafeAsEditorBlockValues as mo, ctaCopyFragment as mr, OfferingsPreviewGroupOrderField as mt, useSiteChromeCustomizeOptional as n, useField as na, parseGeneratedIconSetId as ni, createSnapshotFromPageRecord as nn, Maximize2 as no, ImageResolveContextProvider as nr, PreviewInlineTextEditor as nt, selectPreviewDesignHistoryDomain as o, Select$1 as oa, inlineTextToPlainText as oi, deriveRouteMetadataPresentation as on, Eye as oo, faqAccordionFragment as or, EditableBlockProvider as ot, PreviewThemeOverlayProvider as p, SearchInput as pa, setContextResolveImageUrlContext as pi, createManifestValidation as pn, unsafeAsEditorBlockId as po, testimonialsHeadingFragment as pr, SiteOptionWidgetProvider as pt, enqueueTransaction as q, Sparkles as qa, getFieldIntent as qi, getDefaultComponentRegistry as qn, parseBackgroundAppearanceColorToken as qr, createHistoryState as qt, PreviewDesignHistoryOrderProvider as r, Tooltip as ra, renderInlineText as ri, BUILT_IN_REFERENCE_KINDS as rn, LoaderCircle as ro, richTextFragment as rr, PreviewTextEditor as rt, buildApplySiteStyleSelectionBody as s, SelectContent as sa, isInlineTextEmpty as si, resolvePageRouteSlug as sn, EllipsisVertical as so, faqHeadingFragment as sr, EntryControllerProvider as st, SiteChromeCustomizeProvider as t, FieldFrame as ta, parseGeneratedIconAssetId as ti, createRoutingHelpers as tn, Monitor as to, clientComponentRegistry as tr, PreviewRichTextEditor as tt, planConfiguratorPreview as u, SelectValue as ua, buildResolveImageUrlContext as ui, usePalette as un, ChevronDown as uo, formEmbedFragment as ur, createSiteOptionApiLoader as ut, buildSiteChromeSelectionModels as v, Tabs as va, calendarWindowQuerySchema as vi, applyPageDesignEditorAction as vn, parseSiteId as vo, bodyCopyFragment as vr, MailingListTargetingProvider as vt, createStyleConfiguratorState as w, DialogDescription as wa, corners as wi, AMBIENT_BACKGROUND_ROLES as wn, formatSiteChromeBackgroundTokenLabel as wr, ButtonWidgetProvider as wt, applyResolvedSelections as x, TabsTrigger as xa, bookingConsentCarrierSchema as xi, decodePublicProductCategorySelectorQuery as xn, compileEditorModelRuntime as xr, EntryPickerField as xt, cycleSiteChromeSelectionId as y, TabsContent as ya, eventCalendarListLayoutCompatibleDisplayModeValues as yi, getPageDesignEditorState as yn, __exportAll as yo, defineFragment as yr, InlineTextField as yt, resetTypographyToSaved as z, Button$1 as za, themeButtonClassName as zi, resolveVariantKey as zn, parseGradientPresetId as zr, stripTopLevelRoutingUi as zt };
231891
+ export { FooterComposerPanel as $, Pencil as $a, mapCurrentValueForSelect as $i, coerceLinkedContentEntriesPayload as $n, runTransforms as $r, useMultiAutosave as $t, markApplySaving as A, CollapsibleContent as Aa, buttonStyleHoverPreferenceValue as Ai, containerResponsiveThemeCss as An, compileTransitionRuntime as Ar, RichTextField as At, setPaletteColors as B, Button$1 as Ba, parseThemeForPersistence as Bi, compileManifestContentContract as Bn, curatedPalettes as Br, getBlockManifestFromSdkConfig as Bt, cancelPreview as C, Dialog as Ca, isRecord$17 as Ci, deriveLaunchReadiness as Cn, retargetCompiledRuntimeFieldsForContentAdjacency as Cr, ButtonVariantField as Ct, isPreviewingChange as D, DialogHeader as Da, asDesignBlockId as Di, useApiMediaUploader as Dn, curatedSiteStyles as Dr, ReferenceField as Dt, dismissWarnings as E, DialogFooter as Ea, pageDesignEditorBackgroundOverrideOwner as Ei, useMediaEditorOptional as En, componentRuntimeRulesForTheme as Er, MediaField as Et, previewFooterLook as F, DropdownMenuItem as Fa, updateButtonStyleSelectionChoice as Fi, SITE_CHROME_VISIBLE_HEADER_SELECTOR as Fn, gradientToCss as Fr, LinkWidgetProvider as Ft, confirmAutosaveBatch as G, Undo2 as Ga, paletteModeSchema as Gi, escapeStyleContent as Gn, backgroundAppearanceColorTokenNames as Gr, canRedoHistory as Gt, syncStyleConfiguratorState as H, cn$2 as Ha, VARIANT_ROLES as Hi, buildThemeRuntime as Hn, sectionTransitionFamilies as Hr, useEditorUiStore as Ht, previewHeaderLayout as I, DropdownMenuLabel as Ia, buttonStyleSelectionKey as Ii, SITE_OVERLAY_HEADER_CLEARANCE_CSS_VAR as In, GRADIENT_PRESETS as Ir, BlockEditor as It, idleEditorTransactionQueueState as J, Sparkles as Ja, getFieldIntent as Ji, defaultTransforms as Jn, ctaButton as Jr, pushHistoryEntry as Jt, deriveTransactionCapabilities as K, TriangleAlert as Ka, resolveSdkFooterMode as Ki, readBlockComposition as Kn, backgroundAppearanceQuickColorTokenNames as Kr, canUndoHistory as Kt, previewHeaderStyle as L, DropdownMenuSeparator as La, textColorStyle as Li, planSiteOverlayHeaderClearance as Ln, GRADIENT_PRESET_IDS as Lr, hideThemeV2RawStyleFields as Lt, palettePreviewProjection as M, Surface as Ma, findButtonStyleRecipe as Mi, makeDefaultBlockComponent as Mn, findFooterLook as Mr, EditorProvider as Mt, previewButtonStyle as N, DropdownMenu as Na, resolveButtonStyleSelection as Ni, getBlockDefinition as Nn, getHeaderLayout as Nr, useEditor$1 as Nt, markApplyFailed as O, DialogTitle as Oa, assertNever$7 as Oi, isSupportedLoaderEndpoint as On, designRuntimeRulesForTheme as Or, ReferenceWidgetProvider as Ot, previewCuratedPalette as P, DropdownMenuContent as Pa, updateButtonStyleHoverPreference as Pi, projectRecurringSchedule as Pn, getHeaderStyle as Pr, LinkField as Pt, resolvePreviewSidebarTab as Q, Redo2 as Qa, hasEmptyOption as Qi, LINKED_CONTENT_ENTRY_META_KEY as Qn, parseBackgroundContent as Qr, recordsEqual as Qt, previewSiteStyle as R, DropdownMenuTrigger as Ra, defaultThemeTokens as Ri, visibleHeaderClearancePx as Rn, getGradientPreset as Rr, prepareBlockEditorManifest as Rt, applyTypographyDraftPatch as S, TabsTrigger as Sa, isObjectRecord$1 as Si, DEFAULT_LAUNCH_READINESS_INPUT as Sn, retargetCompiledBoundaryRuntimeForContentAdjacency as Sr, EntryPickerWidgetProvider as St, deriveStyleConfiguratorCapabilities as T, DialogDescription as Ta, isThemeV2NormalEditorRawStyleFieldName as Ti, MediaEditorContextProvider as Tn, planPageDesignLayoutLookCompatibility as Tr, FileField as Tt, toggleRow as U, X as Ua, paletteColorEntries as Ui, DEFAULT_THEME_RESPONSIVE_MODE as Un, sectionTransitionFamilyForBoundaryOptionId as Ur, useEditorUiStoreInstance as Ut, styleConfiguratorHistoryEntryForPersistedSelection as V, cva as Va, ORDINARY_TEXT_MIN_CONTRAST_RATIO as Vi, validateManifestDraft as Vn, defaultSectionTransitionVariantForFamily as Vr, classifyHistoryShortcut as Vt, beginAutosaveBatch as W, Upload as Wa, paletteColorsSchema as Wi, getResponsiveScopeSpec as Wn, sectionTransitionVariantForBoundaryOptionId as Wr, useOptionalEditorUiStoreInstance as Wt, resolveStyleConfiguratorInitialSnapshot as X, SlidersHorizontal as Xa, SdkConfigProvider as Xi, resolvePageRouteTarget as Xn, EDITABLE_SURFACE_FORWARDING_PROP as Xr, undoHistory as Xt, rejectAutosaveBatch as Y, Smartphone as Ya, isHeaderField as Yi, resolveEntryRouteTarget as Yn, bindingSchema as Yr, redoHistory as Yt, createOptimisticActionRunner as Z, RotateCcw as Za, useSdkConfig as Zi, resolveRouteTarget as Zn, planSiteChromePlacement as Zr, unsafeAsLinkedContentEntryId as Zt, reportPreviewDesignError as _, PopoverTrigger as _a, BlockApiProvider as _i, MediaEditor as _n, expectParsedBrandedId as _o, heroCopyFragment as _r, loadMailingListAuthoringContext as _t, previewDesignHistoryDomainForCommand as a, TooltipContent as aa, coerceInlineTextWithFallback as ai, parseReferenceKind as an, Image as ao, cardFragment as ar, useUISelector as at, planSiteChromeSelection as b, TabsContent as ba, eventCalendarListLayoutOptions as bi, listEntryPageContentSlots as bn, __exportAll as bo, applyCompiledRuntimeFieldsToContent as br, IconPickerField as bt, selectionSnapshotFromApplySiteStyleSelectionResponse as c, SelectContent as ca, Text$2 as ci, resolveContentTitle as cn, EllipsisVertical as co, blogFeaturedPostFragment as cr, useEntryController as ct, PreviewDesignCoordinatorProvider as d, SelectValue as da, getCurrentResolveImageUrlContext as di, ManifestForm as dn, ChevronDown as do, formCopyFragment as dr, createSiteOptionWidgetAdapters as dt, mapOptionValueForSelect as ea, parseBlockIconValue as ei, useDebouncedLatestSave as en, PenLine as eo, getLinkedContentEntryMeta as er, renderSiteChromeBlock as et, usePreviewDesignCoordinator as f, Callout as fa, resolveImageUrlWithContext as fi, createManifestFormAdapter as fn, Check as fo, testimonialsCarouselFragment as fr, SiteOptionPickerField as ft, PREVIEW_DESIGN_SAVE_ERROR_MESSAGE as g, PopoverContent as ga, siblingPath$1 as gi, createStoreBackend as gn, assertNever$10 as go, ctaRowFragment as gr, MailingListTargetingField as gt, PREVIEW_DESIGN_LOAD_ERROR_MESSAGE as h, Popover as ha, getAtPath as hi, evaluateVisibility as hn, unsafeAsEditorBlockValues as ho, heroCtaRowFragment as hr, OfferingsPreviewWidgetProvider as ht, usePreviewDesignHistoryOrder as i, Tooltip as ia, logger$1 as ii, isAdapterReferenceKind as in, LoaderCircle as io, headingFragment as ir, ContentFieldsForm as it, openRow as j, CollapsibleTrigger as ja, buttonStyleSelectionParameterValue as ji, createCustomBlockRegistry as jn, surfaceResolutionContextFromTheme as jr, RichTextWidgetProvider as jt, markApplySaved as k, Collapsible as ka, makeBoundaryId as ki, ThemeScope as kn, getCuratedSiteStyle as kr, useRichTextImagePicker as kt, deriveSiteStylePreviewUpdate as l, SelectItem as la, RichText as li, PaletteProvider as ln, ChevronRight as lo, singleButtonFragment as lr, useEntryEditorController as lt, usePreviewThemeOverlay as m, SearchInput as ma, SECTION_BACKGROUND_MIN_SOURCE_WIDTH as mi, FormRenderer as mn, unsafeAsEditorBlockId as mo, ctaCopyFragment as mr, OfferingsPreviewGroupOrderField as mt, useSiteChromeCustomizeOptional as n, FieldFrame as na, parseGeneratedIconSetId as ni, createSnapshotFromPageRecord as nn, Monitor as no, ImageResolveContextProvider as nr, PreviewInlineTextEditor as nt, selectPreviewDesignHistoryDomain as o, TooltipTrigger as oa, inlineTextToPlainText as oi, deriveRouteMetadataPresentation as on, GripVertical as oo, faqAccordionFragment as or, EditableBlockProvider as ot, PreviewThemeOverlayProvider as p, CalloutDescription as pa, setContextResolveImageUrlContext as pi, createManifestValidation as pn, parseFooterModuleId as po, testimonialsHeadingFragment as pr, SiteOptionWidgetProvider as pt, enqueueTransaction as q, Tablet as qa, attachRenderableMediaAssetFields as qi, getDefaultComponentRegistry as qn, parseBackgroundAppearanceColorToken as qr, createHistoryState as qt, PreviewDesignHistoryOrderProvider as r, useField as ra, renderInlineText as ri, BUILT_IN_REFERENCE_KINDS as rn, Maximize2 as ro, richTextFragment as rr, PreviewTextEditor as rt, buildApplySiteStyleSelectionBody as s, Select$1 as sa, isInlineTextEmpty as si, resolvePageRouteSlug as sn, Eye as so, faqHeadingFragment as sr, EntryControllerProvider as st, SiteChromeCustomizeProvider as t, unmapValueFromSelect as ta, parseGeneratedIconAssetId as ti, createRoutingHelpers as tn, Palette as to, clientComponentRegistry as tr, PreviewRichTextEditor as tt, planConfiguratorPreview as u, SelectTrigger as ua, buildResolveImageUrlContext as ui, usePalette as un, ChevronLeft as uo, formEmbedFragment as ur, createSiteOptionApiLoader as ut, buildSiteChromeSelectionModels as v, Input as va, calendarWindowQuerySchema as vi, applyPageDesignEditorAction as vn, parseMediaAssetId as vo, bodyCopyFragment as vr, MailingListTargetingProvider as vt, createStyleConfiguratorState as w, DialogContent as wa, corners as wi, AMBIENT_BACKGROUND_ROLES as wn, formatSiteChromeBackgroundTokenLabel as wr, ButtonWidgetProvider as wt, applyResolvedSelections as x, TabsList as xa, bookingConsentCarrierSchema as xi, decodePublicProductCategorySelectorQuery as xn, compileEditorModelRuntime as xr, EntryPickerField as xt, cycleSiteChromeSelectionId as y, Tabs as ya, eventCalendarListLayoutCompatibleDisplayModeValues as yi, getPageDesignEditorState as yn, parseSiteId as yo, defineFragment as yr, InlineTextField as yt, resetTypographyToSaved as z, Primitive as za, themeButtonClassName as zi, resolveVariantKey as zn, parseGradientPresetId as zr, stripTopLevelRoutingUi as zt };
@@ -31,6 +31,8 @@ export type BillingCheckoutContinuation = {
31
31
  siteId: string;
32
32
  };
33
33
  export type BillingCheckoutRequest = {
34
+ /** Stable for one customer click so transport retries cannot create another session. */
35
+ attemptId: string;
34
36
  /** Plan ID (e.g., 'solo') */
35
37
  planId: BillingPlanId;
36
38
  /** Billing interval */
@@ -43,6 +45,9 @@ export type BillingCheckoutResponse = {
43
45
  checkoutUrl: string;
44
46
  };
45
47
  export type SiteBillingCheckoutResponse = BillingCheckoutResponse;
48
+ export type SiteBillingCheckoutRequest = Readonly<{
49
+ attemptId: string;
50
+ }>;
46
51
  export type BillingSummaryResponse = {
47
52
  status: string;
48
53
  plan: {
@@ -108,6 +113,6 @@ export declare function changePlan(apiClient: ApiClient, { attemptId, planId, in
108
113
  options?: RequestInit;
109
114
  }): Promise<ChangePlanResponse>;
110
115
  export declare function createBillingPortalSession(apiClient: ApiClient, options?: RequestInit): Promise<BillingPortalSessionResponse>;
111
- export declare function billingCheckout(apiClient: ApiClient, { planId, interval, continuation, options, }: BillingCheckoutRequest & {
116
+ export declare function billingCheckout(apiClient: ApiClient, { attemptId, planId, interval, continuation, options, }: BillingCheckoutRequest & {
112
117
  options?: RequestInit;
113
118
  }): Promise<BillingCheckoutResponse>;
@@ -342,7 +342,7 @@ export type BookingSettings = {
342
342
  currency: string;
343
343
  defaultVenueId: string | null;
344
344
  calendarDisplay: 'list' | 'calendar';
345
- /** If enabled, refunds issue site credit rather than cash/Stripe refunds. */
345
+ /** If enabled, operators may issue refunds as site credit. */
346
346
  refundsIssueCredit: boolean;
347
347
  remindersEnabled: boolean;
348
348
  appointmentReminderHours: number;
@@ -2,7 +2,7 @@ import type { AppointmentBookingQuestionsTaskDetail, CustomerEventSeriesRegistra
2
2
  import type { APIEndpoint } from './apiEndpointTypes';
3
3
  import type { DeleteAccountRequest, DeleteAccountResponse } from './accessAdmin';
4
4
  import type { AiPlaygroundApplyRequest, AiPlaygroundApplyResponse } from './aiPlayground';
5
- import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCostResponse } from './billing';
5
+ import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCheckoutRequest, SiteBillingCostResponse } from './billing';
6
6
  import type { CreateSiteFontUploadUrlRequest, CreateSiteFontUploadUrlResponse, DeleteSiteFontFileRequest, DeleteSiteFontFileResponse, ExportBackupRequest, FontRecord, GetSiteFontResponse, ListPublicSiteFontsResponse, ListSiteFontsResponse, UpdateSiteFontRequest, UpdateSiteFontResponse, UploadSiteFontRequest, UploadSiteFontResponse } from './siteAssets';
7
7
  import type { AdminSiteBillingArrangementResponse, AdminResolveSiteBillingManualReviewRequest, AdminResolveSiteBillingManualReviewResponse, AdminScheduleBillingComponentEndRequest, AdminScheduleBillingComponentEndResponse, AdminUpdateSiteBillingArrangementRequest, AdminUpdateSiteBillingArrangementResponse, CancelFlexibleBalanceBookingDueToNonPaymentRequest, CancelShopOrderItemRequest, CancelShopOrderItemResponse, CancelShopOrderRequest, CancelShopOrderResponse, CreateShopOrderPaymentLinkResponse, CreateOrderShipmentRequest, CreateOrderShipmentResponse, EditShopOrderAddressRequest, FlexibleBalanceAdminActionResponse, PortalAppointmentWithDetails, RefundShopOrderResponse, ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, SendShopOrderPaymentReminderResponse, SettleShopOrderPaymentRequest, SettleShopOrderPaymentResponse, ShopOrderDigitalFulfillmentRequest, ShopOrderDigitalFulfillmentResponse } from './siteOperations';
8
8
  import type { PreviewRefreshRequest, PreviewRefreshResponse } from './preview-auth';
@@ -22,7 +22,7 @@ export type CommercePortalAPIEndpoints = {
22
22
  siteBillingCost: APIEndpoint<never, {
23
23
  siteId: string;
24
24
  }, SiteBillingCostResponse>;
25
- siteBillingCheckout: APIEndpoint<never, {
25
+ siteBillingCheckout: APIEndpoint<SiteBillingCheckoutRequest, {
26
26
  siteId: string;
27
27
  }, SiteBillingCheckoutResponse>;
28
28
  deleteAccount: APIEndpoint<DeleteAccountRequest, never, DeleteAccountResponse>;
@@ -471,20 +471,6 @@ export declare const API_ENDPOINTS: {
471
471
  readonly auth: "service";
472
472
  readonly responseKind: "json";
473
473
  };
474
- readonly sdkUpsertTheme: {
475
- readonly path: "/sdk/{siteId}/theme";
476
- readonly method: "POST";
477
- readonly auth: "service";
478
- readonly responseKind: "json";
479
- readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
480
- };
481
- readonly sdkApplySiteStyleSelection: {
482
- readonly path: "/sdk/{siteId}/theme/style-selection/apply";
483
- readonly method: "POST";
484
- readonly auth: "service";
485
- readonly responseKind: "json";
486
- readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
487
- };
488
474
  readonly sdkUpsertFooter: {
489
475
  readonly path: "/sdk/{siteId}/footer";
490
476
  readonly method: "POST";
@@ -673,13 +659,6 @@ export declare const API_ENDPOINTS: {
673
659
  readonly auth: "service";
674
660
  readonly responseKind: "json";
675
661
  };
676
- readonly sdkCatalogTheme: {
677
- readonly path: "/sdk/{siteId}/catalog/theme";
678
- readonly method: "GET";
679
- readonly errors: readonly ["server:internal_error"];
680
- readonly auth: "service";
681
- readonly responseKind: "json";
682
- };
683
662
  readonly sdkCatalogBlocks: {
684
663
  readonly path: "/sdk/{siteId}/catalog/blocks";
685
664
  readonly method: "GET";
@@ -740,12 +719,6 @@ export declare const API_ENDPOINTS: {
740
719
  readonly auth: "service";
741
720
  readonly responseKind: "json";
742
721
  };
743
- readonly sdkPullTheme: {
744
- readonly path: "/sdk/{siteId}/pull/theme";
745
- readonly method: "GET";
746
- readonly auth: "service";
747
- readonly responseKind: "json";
748
- };
749
722
  readonly sdkPullFooter: {
750
723
  readonly path: "/sdk/{siteId}/pull/footer";
751
724
  readonly method: "GET";
@@ -12,7 +12,7 @@ export { dashboardNavigationLinkSchema, sdkNavigationLinkInputSchema, externalLi
12
12
  export { isNavigationDropdownSentinel, normalizeNavigationAuthoringLinkForCommand, normalizeNavigationConfigItemForCommand, navigationApiItemToSdkLocalItem, navigationCommandItemToManagementInput, } from './navigation/boundaries';
13
13
  export type { NavigationAuthoringItemInput, NavigationAuthoringLinkInput, NavigationBoundaryPortalLinkPayload, NavigationCommandBoundaryItemInput, NavigationConfigItemInput, NavigationDropdownSentinel, NavigationLocalItemInput, NavigationReadItemInput, } from './navigation/boundaries';
14
14
  export { pushSdkConfigBodySchema, loaderFallbackScalarSchema, riverbankSiteConfigInputSchema, sdkCustomBlockInputSchema, sdkWorkflowConfigSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowsSchema, SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH, SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH, SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH, SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_PATTERN, SDK_WORKFLOW_ID_MAX_LENGTH, SDK_WORKFLOW_ID_PATTERN, SDK_WORKFLOW_MAX_COUNT, SDK_WORKFLOW_TITLE_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT, SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_MAX_COUNT, fieldDefinitionInputSchema, } from './sdkConfig/contracts';
15
- export { formatIgnoredDocumentSyncSectionWarning } from './sdkContracts';
15
+ export { formatIgnoredDocumentSyncSectionWarning, type SdkSiteLayoutConfig } from './sdkContracts';
16
16
  export { normalizeSdkThemeWire, sdkThemeWireSchema, type SdkCanonicalTheme, type SdkThemeWire, type SdkThemeWireWithoutHeader, } from './sdkThemeWire';
17
17
  export { createIncrementalJsonAccumulator } from './incrementalJson';
18
18
  export type { ApplySiteStyleSelectionBody, SiteStyleHeaderSelectionChange, SiteStyleSelectionChange, SaveSiteChromeSelectionBody, SaveSiteChromeSelectionResponse, SiteThemeSelectionsPayload, ThemeWithoutHeader, } from './siteRuntimeEndpoints';
@@ -58,6 +58,7 @@ export type PublicBookingRefundPolicy = Readonly<{
58
58
  mode: EventBookingPolicyMode;
59
59
  /** Hours before the start that refunds close. Only meaningful when `mode` is `cutoff`. */
60
60
  cutoffHours: number;
61
+ method: "original_payment_method" | "site_credit";
61
62
  }>;
62
63
  export type PublicBookingCancellationPolicy = Readonly<{
63
64
  refunds: PublicBookingRefundPolicy;