@riverbankcms/sdk 0.78.0 → 0.79.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 +125 -43
- package/dist/{PreviewEditorSidebar-RIKFQ72L.mjs → PreviewEditorSidebar-56NMJMIK.mjs} +750 -65
- package/dist/{PreviewEditorUI-XO7TUWKK.mjs → PreviewEditorUI-27KJVEET.mjs} +4 -4
- package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +72 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
- package/dist/_dts/api/src/endpoints.d.ts +64 -0
- package/dist/_dts/api/src/index.d.ts +8 -6
- package/dist/_dts/api/src/media.d.ts +8 -1
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
- package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/public/types.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/request.d.ts +3 -11
- package/dist/_dts/api/src/sdkConfig/contracts.d.ts +1 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +8 -1
- package/dist/_dts/api/src/siteIcons.d.ts +128 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +26 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +8 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +21 -20
- package/dist/_dts/api/src/types.d.ts +12 -27
- package/dist/_dts/api/src/webhooks.d.ts +239 -0
- package/dist/_dts/block-form/src/fields/types.d.ts +6 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +3 -2
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +6 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +8 -3
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +1 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +3 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterLabelSource.d.ts +15 -0
- package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +50 -0
- package/dist/_dts/blocks/src/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +885 -289
- package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +69 -22
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +879 -288
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +170 -0
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
- package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
- package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
- package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
- package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
- package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
- package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
- package/dist/_dts/blocks/src/system/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +187 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +14 -0
- package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingTypeCompatibility.d.ts +3 -1
- package/dist/_dts/content-model/src/templates/bindingValidation.d.ts +10 -4
- package/dist/_dts/content-model/src/templates/fieldPaths.d.ts +20 -0
- package/dist/_dts/content-model/src/templates/manifestAdapter.d.ts +5 -2
- package/dist/_dts/core/src/branded.d.ts +114 -85
- package/dist/_dts/core/src/csv-types.d.ts +2 -2
- package/dist/_dts/core/src/editor-state.d.ts +7 -7
- package/dist/_dts/core/src/participants.d.ts +2 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +202 -0
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +12 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +12 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +12 -2
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +21 -0
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +40 -0
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +11 -1
- package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
- package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
- package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +5 -2
- package/dist/_dts/media-editor/src/MediaPreview.d.ts +3 -1
- package/dist/_dts/media-editor/src/fieldUi.d.ts +5 -0
- package/dist/_dts/media-editor/src/index.d.ts +1 -1
- package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
- package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +3 -3
- package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +7 -0
- package/dist/_dts/sdk/src/cli/commands/push.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +13 -0
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/helpers.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +6 -6
- package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +5 -0
- package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
- package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
- package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +5 -2
- package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +10 -1
- package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +2 -2
- package/dist/_dts/sdk/src/config/content-types.d.ts +7 -0
- package/dist/_dts/sdk/src/config/field-definitions.d.ts +5 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +19 -2
- package/dist/_dts/sdk/src/next/index.d.ts +1 -1
- package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
- package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
- package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
- package/dist/_dts/site-commands/src/commands.d.ts +6 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -3
- package/dist/_dts/theme-core/src/schema.d.ts +5 -5
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -4
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
- package/dist/_dts/ui/src/combobox.d.ts +1 -0
- package/dist/{altcha-B5XGSXP5.mjs → altcha-EKUEQ4RP.mjs} +1 -1
- package/dist/{chunk-F7RTCZYN.mjs → chunk-4HCW7FHJ.mjs} +504 -63
- package/dist/{chunk-SXOLGNMX.mjs → chunk-A3HHFKVT.mjs} +1 -1
- package/dist/{chunk-TXDES5P2.mjs → chunk-GP555I66.mjs} +180 -10
- package/dist/{chunk-SVMMM2NA.mjs → chunk-K2IIF34C.mjs} +79 -5
- package/dist/{chunk-NIDXI46P.mjs → chunk-LCY32PXF.mjs} +1 -1
- package/dist/{chunk-XGB3TDIC.mjs → chunk-R7POPVJR.mjs} +2 -8
- package/dist/{chunk-OECWLDHN.mjs → chunk-V47ZU33I.mjs} +2762 -732
- package/dist/cli/index.mjs +1799 -345
- package/dist/cli/init-docs/content/cli-reference.md +3 -2
- package/dist/cli/init-docs/content/content-management.md +2 -2
- package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +138 -0
- package/dist/cli/init-docs/content/workflow-preview-mode.md +68 -2
- package/dist/client/{accordion-EVDEOUPR.mjs → accordion-QLA7KBYO.mjs} +2 -2
- package/dist/client/analytics.mjs +1 -1
- package/dist/client/{bookingForm-DIHBLC64.mjs → bookingForm-PYZIPA5G.mjs} +55 -48
- package/dist/client/bookings.mjs +172 -57
- package/dist/client/{carousel-FEBQHIWI.mjs → carousel-5EIULWBI.mjs} +3 -3
- package/dist/client/{cart-7CKSXAE4.mjs → cart-DOP3FNI4.mjs} +7 -7
- package/dist/client/{checkout-WKYCANLV.mjs → checkout-BVMF6FBV.mjs} +7 -7
- package/dist/client/{chunk-GUK2FPXQ.mjs → chunk-44K2U3QI.mjs} +37 -15
- package/dist/client/{chunk-IVNCUVAV.mjs → chunk-AUJ5DBZJ.mjs} +18 -18
- package/dist/client/{chunk-VPPMNXCF.mjs → chunk-CCNTDRCF.mjs} +2 -2
- package/dist/client/{chunk-36WJCERQ.mjs → chunk-CE7IBGVW.mjs} +3 -1
- package/dist/client/{chunk-2SAVKN2M.mjs → chunk-GG4M2NP6.mjs} +2 -2
- package/dist/client/{chunk-65F47D7Y.mjs → chunk-R5ESWNKX.mjs} +49 -39
- package/dist/client/{chunk-RZDWX7QW.mjs → chunk-TYONZMST.mjs} +1 -1
- package/dist/client/{chunk-OFMSCGNY.mjs → chunk-UDS3NTWA.mjs} +2 -2
- package/dist/client/{chunk-YDSEG6GZ.mjs → chunk-V6M5FCR5.mjs} +2 -2
- package/dist/client/{chunk-F7LHOKEH.mjs → chunk-XSV6KW4D.mjs} +1 -1
- package/dist/client/{chunk-RV6FX7UH.mjs → chunk-YLDYVRZL.mjs} +9 -9
- package/dist/client/{chunk-PD6NBCEY.mjs → chunk-ZFHRN6W2.mjs} +1 -1
- package/dist/client/client.mjs +21501 -19812
- package/dist/client/{courseRegistration-5QF2PHKM.mjs → courseRegistration-E6EAA6NL.mjs} +10 -10
- package/dist/client/{eventCalendar-4ZOSETDU.mjs → eventCalendar-HBG3HAK6.mjs} +9 -9
- package/dist/client/{eventCombined-WQGU7JUX.mjs → eventCombined-6K5ZZWAK.mjs} +9 -9
- package/dist/client/{eventDetails-AYWVUJ5Y.mjs → eventDetails-Q75ICXLT.mjs} +9 -9
- package/dist/client/{eventListing-NT7C6UT5.mjs → eventListing-27P5F7DZ.mjs} +9 -9
- package/dist/client/{eventRegistration-OH24F4ZJ.mjs → eventRegistration-IQ7AMASR.mjs} +9 -9
- package/dist/client/{form-7L42SRBB.mjs → form-JRTD65FN.mjs} +6 -3
- package/dist/client/{headerSection-OZRZNZ52.mjs → headerSection-7FPSSZHS.mjs} +3 -3
- package/dist/client/hooks.mjs +428 -83
- package/dist/client/{locationMap-ZBXRPQ7C.mjs → locationMap-7NGFNYBH.mjs} +3 -3
- package/dist/client/{newsletterForm-SNAGFF2I.mjs → newsletterForm-F3BADCI2.mjs} +2 -2
- package/dist/client/{productDetail-I46BOFGV.mjs → productDetail-V3HP7ITJ.mjs} +7 -7
- package/dist/client/{productList-BOYHTYI6.mjs → productList-L3EGJUF2.mjs} +7 -7
- package/dist/client/rendering/client.mjs +2886 -1513
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2244 -564
- package/dist/client/{shop-XTXPZTKR.mjs → shop-DQUB5E2C.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +65 -1
- package/dist/preview-next/client/runtime.mjs +6 -6
- package/dist/preview-next/middleware.mjs +65 -1
- package/dist/preview-next/tailwind-sources.css +1 -0
- package/dist/sdk-runtime-AF6KXJU4.mjs +8 -0
- package/dist/server/components.mjs +2270 -835
- package/dist/server/config-template-validation.mjs +221 -15
- package/dist/server/config-validation.mjs +426 -77
- package/dist/server/config.mjs +426 -77
- package/dist/server/data.mjs +427 -82
- package/dist/server/index.mjs +94 -10
- package/dist/server/next/revalidate.mjs +229 -34
- package/dist/server/next.mjs +2439 -888
- package/dist/server/page-converter.mjs +335 -74
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2281 -846
- package/dist/server/rendering.mjs +2298 -860
- package/dist/server/routing.mjs +860 -113
- package/dist/server/server.mjs +452 -92
- package/dist/server/theme-bridge.mjs +164 -2
- package/dist/server/theme.mjs +2 -2
- package/dist/server/webhooks.mjs +129 -25
- package/dist/styles/index.css +55 -0
- package/package.json +2 -1
- package/dist/SdkPreviewModeRuntime-LAGYMPNF.mjs +0 -8
- package/dist/sdk-runtime-ZJLKC6DR.mjs +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { ApiRequestError, markPreviewAuthExpired } from './chunk-
|
|
2
|
+
import { ApiRequestError, markPreviewAuthExpired } from './chunk-K2IIF34C.mjs';
|
|
3
3
|
import { createContext, useContext, useRef } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
import { QueryClient, MutationCache, QueryCache, QueryClientProvider } from '@tanstack/react-query';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { assertNever2, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, useDebouncedLatestSave, applyPageDesignEditorAction,
|
|
3
|
-
import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-
|
|
2
|
+
import { assertNever2, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, applyPageDesignEditorAction, AMBIENT_BACKGROUND_ROLES, unsafeAsEditorBlockId, unsafeAsEditorBlockValues, resolvePreviewSidebarTab, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, createHistoryState, redoHistory, undoHistory, pushHistoryEntry, canRedoHistory, canUndoHistory, backgroundOverrideEquals, planPageDesignLayoutLookCompatibility } from './chunk-V47ZU33I.mjs';
|
|
3
|
+
import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-K2IIF34C.mjs';
|
|
4
4
|
import { createContext, useState, useRef, useEffect, useMemo, useContext } from 'react';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -86,6 +86,21 @@ function previewCustomizeHistoryEntryFromAction(editorModel, action) {
|
|
|
86
86
|
toValue: action.value
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
|
+
case "set-background": {
|
|
90
|
+
const block = editorModel.blocks.find(
|
|
91
|
+
(candidate) => candidate.blockId === action.blockId
|
|
92
|
+
) ?? null;
|
|
93
|
+
if (!block) return null;
|
|
94
|
+
if (backgroundOverrideEquals(action.fromOverride, action.override)) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
kind: "background",
|
|
99
|
+
blockId: action.blockId,
|
|
100
|
+
fromOverride: action.fromOverride,
|
|
101
|
+
toOverride: action.override
|
|
102
|
+
};
|
|
103
|
+
}
|
|
89
104
|
case "set-boundary":
|
|
90
105
|
case "reset-boundary": {
|
|
91
106
|
const boundary = editorModel.boundaries.find(
|
|
@@ -146,6 +161,17 @@ function previewCustomizeActionForEntryValue(entry, valueKey, editorModel) {
|
|
|
146
161
|
baseContentId: contentRevisionIdForBlock(editorModel, entry.blockId)
|
|
147
162
|
};
|
|
148
163
|
}
|
|
164
|
+
case "background": {
|
|
165
|
+
const override = valueKey === "from" ? entry.fromOverride : entry.toOverride;
|
|
166
|
+
const fromOverride = valueKey === "from" ? entry.toOverride : entry.fromOverride;
|
|
167
|
+
return {
|
|
168
|
+
kind: "set-background",
|
|
169
|
+
blockId: entry.blockId,
|
|
170
|
+
override,
|
|
171
|
+
fromOverride,
|
|
172
|
+
baseContentId: contentRevisionIdForBlock(editorModel, entry.blockId)
|
|
173
|
+
};
|
|
174
|
+
}
|
|
149
175
|
case "boundary": {
|
|
150
176
|
const boundaryOptionId = valueKey === "from" ? entry.fromBoundaryOptionId : entry.toBoundaryOptionId;
|
|
151
177
|
return boundaryOptionId ? {
|
|
@@ -182,6 +208,7 @@ function previewCustomizeHistoryEntryStillApplies(entry, editorModel) {
|
|
|
182
208
|
case "layout":
|
|
183
209
|
case "look":
|
|
184
210
|
case "block-facet":
|
|
211
|
+
case "background":
|
|
185
212
|
return editorModel.blocks.some((block) => block.blockId === entry.blockId);
|
|
186
213
|
case "boundary":
|
|
187
214
|
return editorModel.boundaries.some(
|
|
@@ -201,6 +228,8 @@ function previewCustomizeHistoryEntryEquals(left, right) {
|
|
|
201
228
|
return right.kind === "look" && left.blockId === right.blockId && left.fromAppearancePresetId === right.fromAppearancePresetId && left.toAppearancePresetId === right.toAppearancePresetId;
|
|
202
229
|
case "block-facet":
|
|
203
230
|
return right.kind === "block-facet" && left.blockId === right.blockId && left.facetId === right.facetId && left.fromValue === right.fromValue && left.toValue === right.toValue;
|
|
231
|
+
case "background":
|
|
232
|
+
return right.kind === "background" && left.blockId === right.blockId && backgroundOverrideEquals(left.fromOverride, right.fromOverride) && backgroundOverrideEquals(left.toOverride, right.toOverride);
|
|
204
233
|
case "boundary":
|
|
205
234
|
return right.kind === "boundary" && left.boundaryId === right.boundaryId && left.previousBlockId === right.previousBlockId && left.nextBlockId === right.nextBlockId && left.fromBoundaryOptionId === right.fromBoundaryOptionId && left.toBoundaryOptionId === right.toBoundaryOptionId;
|
|
206
235
|
default:
|
|
@@ -558,6 +587,8 @@ function sameCustomizeTarget(left, right) {
|
|
|
558
587
|
return right.kind === "set-look" && left.blockId === right.blockId;
|
|
559
588
|
case "set-block-facet":
|
|
560
589
|
return right.kind === "set-block-facet" && left.blockId === right.blockId && left.facetId === right.facetId;
|
|
590
|
+
case "set-background":
|
|
591
|
+
return right.kind === "set-background" && left.blockId === right.blockId;
|
|
561
592
|
case "set-boundary":
|
|
562
593
|
case "reset-boundary":
|
|
563
594
|
return (right.kind === "set-boundary" || right.kind === "reset-boundary") && left.previousBlockId === right.previousBlockId && left.nextBlockId === right.nextBlockId;
|
|
@@ -615,6 +646,7 @@ function applyPreviewCustomizeActionToLoadedState(state, action) {
|
|
|
615
646
|
}
|
|
616
647
|
};
|
|
617
648
|
case "set-block-facet":
|
|
649
|
+
case "set-background":
|
|
618
650
|
return state;
|
|
619
651
|
case "set-boundary":
|
|
620
652
|
case "reset-boundary":
|
|
@@ -695,6 +727,7 @@ function classifyPreviewCustomizeActionDomain(action) {
|
|
|
695
727
|
switch (action.kind) {
|
|
696
728
|
case "set-layout":
|
|
697
729
|
case "set-block-facet":
|
|
730
|
+
case "set-background":
|
|
698
731
|
return { kind: "block-content-write" };
|
|
699
732
|
case "set-look":
|
|
700
733
|
case "set-boundary":
|
|
@@ -745,6 +778,16 @@ function derivePreviewCustomizeRuntimePatch(input) {
|
|
|
745
778
|
)
|
|
746
779
|
};
|
|
747
780
|
}
|
|
781
|
+
case "set-background":
|
|
782
|
+
return {
|
|
783
|
+
blockId: action.blockId,
|
|
784
|
+
previousContent,
|
|
785
|
+
nextContent: applyBackgroundOverrideContentPatch(
|
|
786
|
+
previousContent,
|
|
787
|
+
action.override
|
|
788
|
+
),
|
|
789
|
+
rollback: (currentContent) => contentWithPreviousBackground(currentContent, previousContent)
|
|
790
|
+
};
|
|
748
791
|
case "set-look":
|
|
749
792
|
return null;
|
|
750
793
|
case "set-boundary":
|
|
@@ -767,11 +810,36 @@ function contentWithPreviousLayoutVariant(currentContent, previousContent) {
|
|
|
767
810
|
}
|
|
768
811
|
return nextContent;
|
|
769
812
|
}
|
|
813
|
+
function contentWithPreviousBackground(currentContent, previousContent) {
|
|
814
|
+
const previousSectionStyles = isRecord(previousContent._sectionStyles) ? previousContent._sectionStyles : {};
|
|
815
|
+
const currentSectionStyles = isRecord(currentContent._sectionStyles) ? currentContent._sectionStyles : {};
|
|
816
|
+
const nextSectionStyles = { ...currentSectionStyles };
|
|
817
|
+
if (Object.prototype.hasOwnProperty.call(previousSectionStyles, "background")) {
|
|
818
|
+
nextSectionStyles.background = previousSectionStyles.background;
|
|
819
|
+
} else {
|
|
820
|
+
delete nextSectionStyles.background;
|
|
821
|
+
}
|
|
822
|
+
if (Object.keys(nextSectionStyles).length > 0) {
|
|
823
|
+
return {
|
|
824
|
+
...currentContent,
|
|
825
|
+
_sectionStyles: nextSectionStyles
|
|
826
|
+
};
|
|
827
|
+
}
|
|
828
|
+
const nextContent = { ...currentContent };
|
|
829
|
+
delete nextContent._sectionStyles;
|
|
830
|
+
return nextContent;
|
|
831
|
+
}
|
|
832
|
+
function isRecord(value) {
|
|
833
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
834
|
+
}
|
|
770
835
|
var PREVIEW_CUSTOMIZE_STALE_MESSAGE = "This page changed since that design choice. Refresh the preview, then try again.";
|
|
771
836
|
var PageDesignEditorStateContext = createContext({
|
|
772
837
|
state: { kind: "unsupported" },
|
|
773
838
|
reload: () => {
|
|
774
839
|
},
|
|
840
|
+
backgroundImagePool: [],
|
|
841
|
+
backgroundImagePoolStatus: "idle",
|
|
842
|
+
loadBackgroundImagePool: async () => [],
|
|
775
843
|
applyAction: async () => skippedPreviewCustomizeOutcome("disabled"),
|
|
776
844
|
undo: async () => skippedPreviewCustomizeOutcome("disabled"),
|
|
777
845
|
redo: async () => skippedPreviewCustomizeOutcome("disabled"),
|
|
@@ -793,7 +861,10 @@ function PreviewPageDesignEditorStateProvider({
|
|
|
793
861
|
const [workflowState, setWorkflowState] = useState(
|
|
794
862
|
unsupportedPreviewCustomizeWorkflowState
|
|
795
863
|
);
|
|
864
|
+
const [backgroundImagePool, setBackgroundImagePool] = useState([]);
|
|
865
|
+
const [backgroundImagePoolStatus, setBackgroundImagePoolStatus] = useState("idle");
|
|
796
866
|
const workflowStateRef = useRef(workflowState);
|
|
867
|
+
const backgroundImagePoolRequestRef = useRef(null);
|
|
797
868
|
const uiStore = useOptionalEditorUiStoreInstance();
|
|
798
869
|
useEffect(() => {
|
|
799
870
|
workflowStateRef.current = workflowState;
|
|
@@ -801,6 +872,9 @@ function PreviewPageDesignEditorStateProvider({
|
|
|
801
872
|
useEffect(() => {
|
|
802
873
|
if (!enabled || !pageId) {
|
|
803
874
|
setWorkflowState(unsupportedPreviewCustomizeWorkflowState());
|
|
875
|
+
setBackgroundImagePool([]);
|
|
876
|
+
setBackgroundImagePoolStatus("idle");
|
|
877
|
+
backgroundImagePoolRequestRef.current = null;
|
|
804
878
|
return;
|
|
805
879
|
}
|
|
806
880
|
let cancelled = false;
|
|
@@ -827,6 +901,52 @@ function PreviewPageDesignEditorStateProvider({
|
|
|
827
901
|
cancelled = true;
|
|
828
902
|
};
|
|
829
903
|
}, [apiClient, enabled, pageId, reloadKey, siteId]);
|
|
904
|
+
const loadBackgroundImagePool = useMemo(
|
|
905
|
+
() => async () => {
|
|
906
|
+
if (!enabled || !pageId) return [];
|
|
907
|
+
if (backgroundImagePoolStatus === "loaded") return backgroundImagePool;
|
|
908
|
+
if (backgroundImagePoolRequestRef.current) {
|
|
909
|
+
return backgroundImagePoolRequestRef.current;
|
|
910
|
+
}
|
|
911
|
+
setBackgroundImagePoolStatus("loading");
|
|
912
|
+
const request = apiClient({
|
|
913
|
+
endpoint: "mediaList",
|
|
914
|
+
params: {
|
|
915
|
+
siteId,
|
|
916
|
+
fileFilter: "images",
|
|
917
|
+
limit: "48"
|
|
918
|
+
},
|
|
919
|
+
options: { cache: "no-store" }
|
|
920
|
+
}).then((response) => {
|
|
921
|
+
const result = unwrapResponse(response);
|
|
922
|
+
const nextPool = result.items.map(backgroundImagePoolItemForAsset);
|
|
923
|
+
setBackgroundImagePool(nextPool);
|
|
924
|
+
setBackgroundImagePoolStatus("loaded");
|
|
925
|
+
return nextPool;
|
|
926
|
+
}).catch((error) => {
|
|
927
|
+
setBackgroundImagePoolStatus("failed");
|
|
928
|
+
if (!(error instanceof ApiRequestError)) {
|
|
929
|
+
console.error(
|
|
930
|
+
"[preview-page-design-editor-state] Failed to load background images",
|
|
931
|
+
error
|
|
932
|
+
);
|
|
933
|
+
}
|
|
934
|
+
return [];
|
|
935
|
+
}).finally(() => {
|
|
936
|
+
backgroundImagePoolRequestRef.current = null;
|
|
937
|
+
});
|
|
938
|
+
backgroundImagePoolRequestRef.current = request;
|
|
939
|
+
return request;
|
|
940
|
+
},
|
|
941
|
+
[
|
|
942
|
+
apiClient,
|
|
943
|
+
backgroundImagePool,
|
|
944
|
+
backgroundImagePoolStatus,
|
|
945
|
+
enabled,
|
|
946
|
+
pageId,
|
|
947
|
+
siteId
|
|
948
|
+
]
|
|
949
|
+
);
|
|
830
950
|
const autosave = useDebouncedLatestSave({
|
|
831
951
|
getSnapshot: () => previewCustomizePendingActions(workflowStateRef.current),
|
|
832
952
|
buildPayload: (actions) => actions,
|
|
@@ -879,6 +999,9 @@ function PreviewPageDesignEditorStateProvider({
|
|
|
879
999
|
() => ({
|
|
880
1000
|
state: previewCustomizeWorkflowPageState(workflowState),
|
|
881
1001
|
reload: () => setReloadKey((current) => current + 1),
|
|
1002
|
+
backgroundImagePool,
|
|
1003
|
+
backgroundImagePoolStatus,
|
|
1004
|
+
loadBackgroundImagePool,
|
|
882
1005
|
applyAction: async (action) => {
|
|
883
1006
|
if (!enabled) return skippedPreviewCustomizeOutcome("disabled");
|
|
884
1007
|
if (!pageId) return skippedPreviewCustomizeOutcome("missing-page");
|
|
@@ -971,10 +1094,48 @@ function PreviewPageDesignEditorStateProvider({
|
|
|
971
1094
|
isHistoryStale: previewCustomizeIsStale(workflowState),
|
|
972
1095
|
historyFailure: previewCustomizeFailureMessage(workflowState)
|
|
973
1096
|
}),
|
|
974
|
-
[
|
|
1097
|
+
[
|
|
1098
|
+
apiClient,
|
|
1099
|
+
autosave,
|
|
1100
|
+
backgroundImagePool,
|
|
1101
|
+
backgroundImagePoolStatus,
|
|
1102
|
+
enabled,
|
|
1103
|
+
loadBackgroundImagePool,
|
|
1104
|
+
pageId,
|
|
1105
|
+
siteId,
|
|
1106
|
+
uiStore,
|
|
1107
|
+
workflowState
|
|
1108
|
+
]
|
|
975
1109
|
);
|
|
976
1110
|
return /* @__PURE__ */ jsx(PageDesignEditorStateContext.Provider, { value, children });
|
|
977
1111
|
}
|
|
1112
|
+
function backgroundImagePoolItemForAsset(asset) {
|
|
1113
|
+
const backgroundUse = backgroundUseForAsset(asset.fileUses ?? []);
|
|
1114
|
+
return {
|
|
1115
|
+
mediaId: asset.id,
|
|
1116
|
+
source: backgroundUse === null ? "general-media" : backgroundUse === "selected-background" ? "previous-background" : "generated-ambient",
|
|
1117
|
+
label: asset.title || asset.filename,
|
|
1118
|
+
...isAmbientBackgroundRole(backgroundUse) ? { rank: AMBIENT_BACKGROUND_ROLES.indexOf(backgroundUse) } : {}
|
|
1119
|
+
};
|
|
1120
|
+
}
|
|
1121
|
+
function isAmbientBackgroundRole(value) {
|
|
1122
|
+
return typeof value === "string" && AMBIENT_BACKGROUND_ROLES.includes(value);
|
|
1123
|
+
}
|
|
1124
|
+
function backgroundUseForAsset(fileUses) {
|
|
1125
|
+
const ambientUse = fileUses.find(isAmbientBackgroundFileUse);
|
|
1126
|
+
if (ambientUse) return ambientUse.backgroundUse;
|
|
1127
|
+
const selectedUse = fileUses.find(isSelectedBackgroundFileUse);
|
|
1128
|
+
return selectedUse?.backgroundUse ?? null;
|
|
1129
|
+
}
|
|
1130
|
+
function isAmbientBackgroundFileUse(value) {
|
|
1131
|
+
return isBackgroundFileUse(value) && isAmbientBackgroundRole(value.backgroundUse);
|
|
1132
|
+
}
|
|
1133
|
+
function isSelectedBackgroundFileUse(value) {
|
|
1134
|
+
return isBackgroundFileUse(value) && value.backgroundUse === "selected-background";
|
|
1135
|
+
}
|
|
1136
|
+
function isBackgroundFileUse(value) {
|
|
1137
|
+
return value.tag === "site-background-asset";
|
|
1138
|
+
}
|
|
978
1139
|
function pageDesignEditorActionForPersistence(action) {
|
|
979
1140
|
if (action.kind === "reset-boundary") {
|
|
980
1141
|
return {
|
|
@@ -993,6 +1154,13 @@ function pageDesignEditorActionForPersistence(action) {
|
|
|
993
1154
|
value: action.value,
|
|
994
1155
|
baseContentId: action.baseContentId
|
|
995
1156
|
};
|
|
1157
|
+
case "set-background":
|
|
1158
|
+
return {
|
|
1159
|
+
kind: "set-background",
|
|
1160
|
+
blockId: action.blockId,
|
|
1161
|
+
baseContentId: action.baseContentId,
|
|
1162
|
+
override: action.override
|
|
1163
|
+
};
|
|
996
1164
|
case "set-layout":
|
|
997
1165
|
case "set-look":
|
|
998
1166
|
case "set-boundary":
|
|
@@ -1009,6 +1177,7 @@ function actionWithCurrentBaseContentId(action, editorModel) {
|
|
|
1009
1177
|
baseContentId: editorModel ? contentRevisionIdForBlock(editorModel, action.blockId) : null
|
|
1010
1178
|
};
|
|
1011
1179
|
case "set-block-facet":
|
|
1180
|
+
case "set-background":
|
|
1012
1181
|
return {
|
|
1013
1182
|
...action,
|
|
1014
1183
|
baseContentId: editorModel ? contentRevisionIdForBlock(editorModel, action.blockId) : null
|
|
@@ -1071,6 +1240,7 @@ function blockIdForRuntimePatch(action) {
|
|
|
1071
1240
|
case "set-layout":
|
|
1072
1241
|
case "set-look":
|
|
1073
1242
|
case "set-block-facet":
|
|
1243
|
+
case "set-background":
|
|
1074
1244
|
return action.blockId;
|
|
1075
1245
|
case "set-boundary":
|
|
1076
1246
|
case "reset-boundary":
|
|
@@ -1080,11 +1250,11 @@ function blockIdForRuntimePatch(action) {
|
|
|
1080
1250
|
}
|
|
1081
1251
|
}
|
|
1082
1252
|
function currentLocalBlockContent(uiStore, targetBlockId) {
|
|
1083
|
-
const current = uiStore.getState().drafts.getCurrentValues(
|
|
1084
|
-
return
|
|
1253
|
+
const current = uiStore.getState().drafts.getCurrentValues(unsafeAsEditorBlockId(targetBlockId));
|
|
1254
|
+
return isRecord2(current) ? current : null;
|
|
1085
1255
|
}
|
|
1086
1256
|
function replaceLocalBlockContentWithoutHistory(uiStore, targetBlockId, nextContent) {
|
|
1087
|
-
const editorBlockId =
|
|
1257
|
+
const editorBlockId = unsafeAsEditorBlockId(targetBlockId);
|
|
1088
1258
|
const history = uiStore.getState().history;
|
|
1089
1259
|
const snapshot = history.getState().present;
|
|
1090
1260
|
const draft = snapshot.drafts[editorBlockId];
|
|
@@ -1095,12 +1265,12 @@ function replaceLocalBlockContentWithoutHistory(uiStore, targetBlockId, nextCont
|
|
|
1095
1265
|
...snapshot.drafts,
|
|
1096
1266
|
[editorBlockId]: {
|
|
1097
1267
|
...draft,
|
|
1098
|
-
current:
|
|
1268
|
+
current: unsafeAsEditorBlockValues(nextContent)
|
|
1099
1269
|
}
|
|
1100
1270
|
}
|
|
1101
1271
|
});
|
|
1102
1272
|
}
|
|
1103
|
-
function
|
|
1273
|
+
function isRecord2(value) {
|
|
1104
1274
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
1105
1275
|
}
|
|
1106
1276
|
|
|
@@ -1145,7 +1315,7 @@ function applyPreviewChromeSurfaceToElement(element, surface, options) {
|
|
|
1145
1315
|
var STORAGE_KEY = "preview-sidebar-tab";
|
|
1146
1316
|
var REQUEST_EVENT = "riverbank:preview-sidebar:request-open";
|
|
1147
1317
|
function parsePreviewSidebarOpenRequestDetail(detail) {
|
|
1148
|
-
const request =
|
|
1318
|
+
const request = isRecord3(detail) ? detail : {};
|
|
1149
1319
|
const tab = request.tab === "assistant" ? "assistant" : "editor";
|
|
1150
1320
|
return {
|
|
1151
1321
|
tab: resolvePreviewSidebarTab(tab),
|
|
@@ -1177,7 +1347,7 @@ function onPreviewSidebarOpenRequest(handler) {
|
|
|
1177
1347
|
window.addEventListener(REQUEST_EVENT, listener);
|
|
1178
1348
|
return () => window.removeEventListener(REQUEST_EVENT, listener);
|
|
1179
1349
|
}
|
|
1180
|
-
function
|
|
1350
|
+
function isRecord3(value) {
|
|
1181
1351
|
return typeof value === "object" && value !== null;
|
|
1182
1352
|
}
|
|
1183
1353
|
var PREVIEW_SURFACE_PARAM = "preview_surface";
|
|
@@ -2034,7 +2034,16 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
2034
2034
|
revalidate: 60,
|
|
2035
2035
|
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
2036
2036
|
auth: "user",
|
|
2037
|
-
responseKind: "json"
|
|
2037
|
+
responseKind: "json",
|
|
2038
|
+
errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
|
|
2039
|
+
},
|
|
2040
|
+
reorderContentEntries: {
|
|
2041
|
+
path: "/sites/{siteId}/content/{type}/order",
|
|
2042
|
+
method: "POST",
|
|
2043
|
+
tags: ["site-{siteId}", "content-{siteId}-{type}"],
|
|
2044
|
+
auth: "user",
|
|
2045
|
+
responseKind: "json",
|
|
2046
|
+
errors: ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"]
|
|
2038
2047
|
},
|
|
2039
2048
|
getContentTemplate: {
|
|
2040
2049
|
path: "/sites/{siteId}/content/types/{type}/template",
|
|
@@ -2426,6 +2435,46 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
2426
2435
|
auth: "user",
|
|
2427
2436
|
responseKind: "json"
|
|
2428
2437
|
},
|
|
2438
|
+
getSiteIconStyleGuide: {
|
|
2439
|
+
path: "/sites/{siteId}/settings/icon-style-guide",
|
|
2440
|
+
method: "GET",
|
|
2441
|
+
revalidate: 120,
|
|
2442
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2443
|
+
auth: "user",
|
|
2444
|
+
responseKind: "json",
|
|
2445
|
+
errors: []
|
|
2446
|
+
},
|
|
2447
|
+
updateSiteIconStyleGuide: {
|
|
2448
|
+
path: "/sites/{siteId}/settings/icon-style-guide",
|
|
2449
|
+
method: "POST",
|
|
2450
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2451
|
+
auth: "user",
|
|
2452
|
+
responseKind: "json",
|
|
2453
|
+
errors: []
|
|
2454
|
+
},
|
|
2455
|
+
regenerateSiteIconStyleGuide: {
|
|
2456
|
+
path: "/sites/{siteId}/settings/icon-style-guide/regenerate",
|
|
2457
|
+
method: "POST",
|
|
2458
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2459
|
+
auth: "user",
|
|
2460
|
+
responseKind: "json",
|
|
2461
|
+
errors: []
|
|
2462
|
+
},
|
|
2463
|
+
generateGeneratedIconSet: {
|
|
2464
|
+
path: "/sites/{siteId}/ai/generated-icons/generate",
|
|
2465
|
+
method: "POST",
|
|
2466
|
+
auth: "user",
|
|
2467
|
+
responseKind: "json",
|
|
2468
|
+
errors: []
|
|
2469
|
+
},
|
|
2470
|
+
applyGeneratedIconSet: {
|
|
2471
|
+
path: "/sites/{siteId}/ai/generated-icons/apply",
|
|
2472
|
+
method: "POST",
|
|
2473
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
2474
|
+
auth: "user",
|
|
2475
|
+
responseKind: "json",
|
|
2476
|
+
errors: []
|
|
2477
|
+
},
|
|
2429
2478
|
getSiteAiProfile: {
|
|
2430
2479
|
path: "/sites/{siteId}/settings/ai-site-profile",
|
|
2431
2480
|
method: "GET",
|
|
@@ -4201,6 +4250,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4201
4250
|
auth: "public",
|
|
4202
4251
|
responseKind: "json"
|
|
4203
4252
|
},
|
|
4253
|
+
getGeneratedIconRenderAssets: {
|
|
4254
|
+
path: "/public/sites/{siteId}/generated-icon-assets",
|
|
4255
|
+
method: "POST",
|
|
4256
|
+
tags: [TAG_TEMPLATES.siteRoutableContent],
|
|
4257
|
+
auth: "public",
|
|
4258
|
+
responseKind: "json",
|
|
4259
|
+
errors: []
|
|
4260
|
+
},
|
|
4204
4261
|
// Resolve entry subroute by kind and URL segment
|
|
4205
4262
|
resolveEntrySubroute: {
|
|
4206
4263
|
path: "/public/sites/{siteId}/routing/subroutes/resolve",
|
|
@@ -5905,6 +5962,13 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
5905
5962
|
auth: "service",
|
|
5906
5963
|
responseKind: "json"
|
|
5907
5964
|
},
|
|
5965
|
+
sdkDeleteNavigationMenu: {
|
|
5966
|
+
path: "/sdk/{siteId}/navigation/{menuId}",
|
|
5967
|
+
method: "DELETE",
|
|
5968
|
+
auth: "service",
|
|
5969
|
+
responseKind: "json",
|
|
5970
|
+
errors: ["resource:not_found", "server:internal_error"]
|
|
5971
|
+
},
|
|
5908
5972
|
sdkUpsertTheme: {
|
|
5909
5973
|
path: "/sdk/{siteId}/theme",
|
|
5910
5974
|
method: "POST",
|
|
@@ -6595,18 +6659,21 @@ function buildEndpointURL(baseURL, endpoint) {
|
|
|
6595
6659
|
function isFormDataBody(value) {
|
|
6596
6660
|
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
6597
6661
|
}
|
|
6662
|
+
function isUnknownArray(value) {
|
|
6663
|
+
return Array.isArray(value);
|
|
6664
|
+
}
|
|
6598
6665
|
function appendQueryParam(queryParams, key, value) {
|
|
6599
6666
|
if (value === void 0 || value === null) {
|
|
6600
6667
|
return;
|
|
6601
6668
|
}
|
|
6602
|
-
if (
|
|
6669
|
+
if (isUnknownArray(value)) {
|
|
6603
6670
|
const stack = [...value].reverse();
|
|
6604
6671
|
while (stack.length > 0) {
|
|
6605
6672
|
const item = stack.pop();
|
|
6606
6673
|
if (item === void 0 || item === null) {
|
|
6607
6674
|
continue;
|
|
6608
6675
|
}
|
|
6609
|
-
if (
|
|
6676
|
+
if (isUnknownArray(item)) {
|
|
6610
6677
|
stack.push(...[...item].reverse());
|
|
6611
6678
|
continue;
|
|
6612
6679
|
}
|
|
@@ -6616,6 +6683,12 @@ function appendQueryParam(queryParams, key, value) {
|
|
|
6616
6683
|
}
|
|
6617
6684
|
queryParams.append(key, String(value));
|
|
6618
6685
|
}
|
|
6686
|
+
function serializePathParam(endpoint, key, value) {
|
|
6687
|
+
if (typeof value === "string") {
|
|
6688
|
+
return value;
|
|
6689
|
+
}
|
|
6690
|
+
throw new Error(`Invalid path param for endpoint ${String(endpoint)}: ${key} must be a string`);
|
|
6691
|
+
}
|
|
6619
6692
|
function invalidateCacheTags(tags, params) {
|
|
6620
6693
|
const resolved = getRevalidateTag();
|
|
6621
6694
|
if (typeof window !== "undefined" || !resolved || !tags) return;
|
|
@@ -6754,8 +6827,9 @@ function createRawCMSClient(headers = {}, baseUrl) {
|
|
|
6754
6827
|
const bracePlaceholder = `{${key}}`;
|
|
6755
6828
|
const colonPlaceholder = `:${key}`;
|
|
6756
6829
|
if (originalPath.includes(bracePlaceholder) || originalPath.includes(colonPlaceholder)) {
|
|
6757
|
-
|
|
6758
|
-
url = url.replace(
|
|
6830
|
+
const stringValue = serializePathParam(endpoint, key, value);
|
|
6831
|
+
url = url.replace(bracePlaceholder, stringValue);
|
|
6832
|
+
url = url.replace(colonPlaceholder, stringValue);
|
|
6759
6833
|
} else {
|
|
6760
6834
|
unusedParams[key] = value;
|
|
6761
6835
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { assertNever2, deriveNearestCompatibleHeaderStyle, findLegacyHeaderLookIdForSelection, compileSiteThemeFromSelections, footerLookCatalog, getOrderedHeaderStyleIdsForLayout, getOrderedHeaderLayoutIdsForCuration, footerLookRejectionReasonLabel, getHeaderStyle, getHeaderLayout, writePlanForLookCustomizationCommand, siteStyleIdFromTheme, getCuratedSiteStyle } from './chunk-
|
|
2
|
+
import { assertNever2, deriveNearestCompatibleHeaderStyle, findLegacyHeaderLookIdForSelection, compileSiteThemeFromSelections, footerLookCatalog, getOrderedHeaderStyleIdsForLayout, getOrderedHeaderLayoutIdsForCuration, footerLookRejectionReasonLabel, getHeaderStyle, getHeaderLayout, writePlanForLookCustomizationCommand, siteStyleIdFromTheme, getCuratedSiteStyle } from './chunk-V47ZU33I.mjs';
|
|
3
3
|
import { createContext, useState, useCallback, useMemo, useContext, useRef, useEffect } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -5,13 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var
|
|
9
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
10
|
-
}) : x)(function(x) {
|
|
11
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
12
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
13
|
-
});
|
|
14
|
-
var __commonJS = (cb, mod) => function __require2() {
|
|
8
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
15
9
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
16
10
|
};
|
|
17
11
|
var __export = (target, all) => {
|
|
@@ -35,4 +29,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
35
29
|
mod
|
|
36
30
|
));
|
|
37
31
|
|
|
38
|
-
export { __commonJS, __export,
|
|
32
|
+
export { __commonJS, __export, __toESM };
|