@riverbankcms/sdk 0.82.0 → 0.84.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 (194) hide show
  1. package/README.md +16 -0
  2. package/dist/{PreviewEditorSidebar-LHGK6RIO.mjs → PreviewEditorSidebar-HML67UDA.mjs} +330 -11
  3. package/dist/{PreviewEditorUI-AXZG2SDC.mjs → PreviewEditorUI-I4BQUU6K.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +200 -0
  6. package/dist/_dts/api/src/blocks.d.ts +36 -0
  7. package/dist/_dts/api/src/contentRuntime.d.ts +46 -0
  8. package/dist/_dts/api/src/endpoints.d.ts +40 -0
  9. package/dist/_dts/api/src/index.d.ts +2 -2
  10. package/dist/_dts/api/src/sdk-event-pricing.d.ts +61 -0
  11. package/dist/_dts/api/src/sdk-event-schedule.d.ts +52 -0
  12. package/dist/_dts/api/src/sdk-event-upsert.d.ts +50 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +67 -33
  14. package/dist/_dts/api/src/shared-contracts.d.ts +13 -0
  15. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +22 -36
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +46 -1
  17. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +6 -1
  18. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +3 -2
  19. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +7 -0
  20. package/dist/_dts/blocks/src/PageRenderer.d.ts +11 -0
  21. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  22. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  23. package/dist/_dts/blocks/src/client.d.ts +4 -0
  24. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
  25. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -2016
  26. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -2016
  27. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -2016
  28. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -2016
  29. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -2016
  30. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +171 -0
  31. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -2016
  32. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -2016
  33. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +3 -2
  34. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  35. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -7
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +2534 -151
  37. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -2016
  38. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -2016
  39. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -2016
  40. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +36 -3
  41. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  42. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +4 -1
  44. package/dist/_dts/blocks/src/system/fields/imageShape.d.ts +30 -0
  45. package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +25 -0
  46. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +35 -161
  47. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -6
  48. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +33 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +303 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -3
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +26 -6
  55. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
  56. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
  57. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
  58. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  59. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  60. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  61. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +2 -1
  62. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -0
  63. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  64. package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
  65. package/dist/_dts/content-model/src/index.d.ts +1 -0
  66. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
  67. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +100 -5
  68. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
  69. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  70. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
  71. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
  72. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
  73. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
  74. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  75. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
  76. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
  77. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  78. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  79. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  80. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
  81. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +8 -0
  82. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  83. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
  84. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
  85. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +9 -8
  86. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
  87. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +5 -1
  88. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  89. package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
  90. package/dist/_dts/sdk/src/cli/content/reader.d.ts +9 -8
  91. package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
  92. package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
  93. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
  94. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
  95. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
  96. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  97. package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
  98. package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
  99. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +26 -3
  100. package/dist/_dts/sdk/src/public-api/contracts.d.ts +13 -0
  101. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  102. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
  103. package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
  104. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  105. package/dist/_dts/sdk/src/version.d.ts +1 -1
  106. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  107. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  108. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  109. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
  110. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  111. package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
  112. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  113. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  114. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  115. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +33 -33
  116. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  117. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
  118. package/dist/_dts/theme-core/src/schema.d.ts +30 -25
  119. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  120. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
  121. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -0
  122. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
  123. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  124. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  125. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
  126. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  127. package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -1
  128. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  129. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
  130. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
  131. package/dist/{chunk-2BUMISSH.mjs → chunk-3LXFQS7T.mjs} +1 -1
  132. package/dist/{chunk-G35HOQEN.mjs → chunk-5E33VO6J.mjs} +132 -46
  133. package/dist/{chunk-HKB6XVIP.mjs → chunk-6X2OVO3S.mjs} +2 -2
  134. package/dist/{chunk-6FWNF3DJ.mjs → chunk-HFMGVJCE.mjs} +158 -20
  135. package/dist/{chunk-FIREV57T.mjs → chunk-LBBPD2IW.mjs} +40 -0
  136. package/dist/{chunk-XQR6THQJ.mjs → chunk-MSHZO4SL.mjs} +3193 -1216
  137. package/dist/cli/index.mjs +2635 -575
  138. package/dist/cli/init-docs/content/getting-started.md +2 -0
  139. package/dist/cli/init-docs/content/workflow-templates.md +93 -2
  140. package/dist/client/{accordion-G34C45TW.mjs → accordion-ESY65T56.mjs} +2 -2
  141. package/dist/client/{bookingForm-BLBVKSAQ.mjs → bookingForm-JRFNZUHD.mjs} +5 -5
  142. package/dist/client/bookings.mjs +3539 -269
  143. package/dist/client/{carousel-7ZVTBRMD.mjs → carousel-CPR5VWIP.mjs} +3 -3
  144. package/dist/client/{cart-Q6S6LZUO.mjs → cart-ZUX5BA7O.mjs} +6 -6
  145. package/dist/client/{checkout-5QJLDE4I.mjs → checkout-RULGBADZ.mjs} +6 -6
  146. package/dist/client/{chunk-CHAB5ACD.mjs → chunk-52I7BGEK.mjs} +2 -2
  147. package/dist/client/{chunk-CSZGLBYR.mjs → chunk-5ZEAZ33K.mjs} +1 -1
  148. package/dist/client/{chunk-ZF4XEWDM.mjs → chunk-BT6AEIKN.mjs} +1 -1
  149. package/dist/client/{chunk-RJHTCTCZ.mjs → chunk-HXPWP5EN.mjs} +268 -15
  150. package/dist/client/{chunk-5PQH4Y75.mjs → chunk-JWEYB4V6.mjs} +2 -2
  151. package/dist/client/{chunk-EQKYMX4N.mjs → chunk-RDJFCPY3.mjs} +158 -51
  152. package/dist/client/{chunk-SBBSMFFG.mjs → chunk-SYIJ5JO2.mjs} +1 -1
  153. package/dist/client/{chunk-WJFHDTYF.mjs → chunk-URQCZD5W.mjs} +5 -5
  154. package/dist/client/{chunk-U2EW7RSR.mjs → chunk-Z5OBQ5I4.mjs} +1 -1
  155. package/dist/client/{chunk-S3MKFGOG.mjs → chunk-ZE5G642V.mjs} +1 -1
  156. package/dist/client/client.mjs +2391 -673
  157. package/dist/client/{courseRegistration-VUG2JJDB.mjs → courseRegistration-QTUDC35T.mjs} +5 -5
  158. package/dist/client/{eventCalendar-E7D2LD4N.mjs → eventCalendar-Q7NS4XLD.mjs} +7 -7
  159. package/dist/client/{eventCombined-FUZ2Z3CS.mjs → eventCombined-QAO7VUO5.mjs} +7 -7
  160. package/dist/client/{eventDetails-QRITJAOW.mjs → eventDetails-WTNNU6Q3.mjs} +7 -7
  161. package/dist/client/{eventListing-INMQMJZ5.mjs → eventListing-5TA2ELDT.mjs} +7 -7
  162. package/dist/client/{eventRegistration-TOOJD4WU.mjs → eventRegistration-M6USZGRF.mjs} +7 -7
  163. package/dist/client/{form-BOWN7ZNQ.mjs → form-DGVGXLMH.mjs} +2 -2
  164. package/dist/client/{headerSection-HFQNZOUU.mjs → headerSection-O2AGMPCU.mjs} +3 -3
  165. package/dist/client/hooks.mjs +1636 -385
  166. package/dist/client/{locationMap-VUZGC7Y5.mjs → locationMap-EJRNRIKJ.mjs} +2 -2
  167. package/dist/client/{newsletterForm-X2XQTPCB.mjs → newsletterForm-7NTC2DTR.mjs} +2 -2
  168. package/dist/client/{productDetail-TA7D2G2B.mjs → productDetail-HH4LP53D.mjs} +6 -6
  169. package/dist/client/{productList-AZOLOZKM.mjs → productList-YVHYM2AF.mjs} +6 -6
  170. package/dist/client/rendering/client.mjs +2303 -1068
  171. package/dist/client/rendering/islands.mjs +19 -19
  172. package/dist/client/rendering.mjs +2587 -796
  173. package/dist/client/{shop-ZDLO7IIG.mjs → shop-UIFX7XRK.mjs} +6 -6
  174. package/dist/preview-next/before-render.mjs +40 -0
  175. package/dist/preview-next/client/runtime.mjs +5 -5
  176. package/dist/preview-next/middleware.mjs +40 -0
  177. package/dist/{sdk-runtime-CTWKNBDQ.mjs → sdk-runtime-ZENAOYMN.mjs} +6 -6
  178. package/dist/server/components.mjs +2028 -457
  179. package/dist/server/config-validation.mjs +1629 -377
  180. package/dist/server/config.mjs +1629 -377
  181. package/dist/server/data.mjs +1636 -385
  182. package/dist/server/index.mjs +42 -1
  183. package/dist/server/next.mjs +2215 -571
  184. package/dist/server/page-converter.mjs +2068 -884
  185. package/dist/server/prebuild.mjs +1 -1
  186. package/dist/server/rendering/server.mjs +2040 -469
  187. package/dist/server/rendering.mjs +2119 -475
  188. package/dist/server/routing.mjs +1711 -419
  189. package/dist/server/server.mjs +1718 -394
  190. package/dist/server/theme-bridge.mjs +1180 -101
  191. package/dist/server/theme.mjs +92 -1
  192. package/dist/styles/index.css +292 -36
  193. package/package.json +1 -1
  194. package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +0 -8
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, unwrapResponse, parseSiteIconStyleGuideVersionId, parseBlockIconValue, listBlockDescriptors, useSensor, PointerSensor, useSensors, deleteBlock, createEditorRemoveBlockCommand, unsafeAsEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, createCustomBlockRegistry, Card, cn, Collapsible, CollapsibleContent, listContentTypes, mergeBlockDescriptorsWithRegistry, createBlock, createEditorReorderBlocksCommand, reorderBlocks, mutateBlockContent, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, DropdownMenu, DropdownMenuTrigger, EllipsisVertical, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem, Copy, Trash2, DialogFooter, DialogClose, CardContent, createEditorInsertBlockCommand, LoaderCircle, ChevronDown, getFeatureCardIconCompletion, toFeatureCardIconSuggestionInputs, getBlockIconSemanticFallbackId, suggestSemanticIconForFeatureCard, getGeneratedBlockIconStyleState, assertNever, createManifestFormAdapter, getModalConfig, createStoreBackend, validateBlockManifestIssues, isNonEmptyValue, Settings, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, RotateCcw, ImagePlus, Sparkles, Textarea, Callout, CalloutDescription, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, CalloutTitle, unfinishedBlockCopy, recoveryConflictCopy, ManifestForm, unsafeAsEditorBlockValues, Box, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, suggestFeatureCardSemanticIcons, applyFeatureCardIconSuggestions, createFeatureCardIconKey, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, BackgroundGradientField, BackgroundColorField, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, isObjectRecord, EMPTY_DOC, useAsyncPickerOptions, resolvePickerSelectionLabel, shouldShowPickerSearch, normalizePickerSearchThreshold, Combobox, Badge, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, useBackendWatch, resolveIconPickerPreset, isIconPickerPreset, getIconPickerOptionsForPreset, isKnownIconName, getIconComponent, isOfferingsPreviewSourceKey, EyeOff, CommandMultiSelect, expectParsedBrandedId, parseSiteId, buildThemeRuntime, SdkConfigProvider, PaletteProvider, MediaEditorProvider, useEditorUiStoreInstance, useUISelector, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, emitMediaCropDebug, Pencil, resolveVideoSelectionIntentForMediaField, resolveOfferingsPreviewGroupOrderEntries, normalizeOfferingsPreviewGroupOrder, inferLegacyOfferingsPreviewGroupOrder, siteOptionSources, evaluateVisibility, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, resolveImageUrlWithContext, useMediaEditor, MediaPickerMini, MediaPickerDialog, toRoutableLinkPayload, classifyKnownMimeType, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-XQR6THQJ.mjs';
2
+ import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, unwrapResponse, parseSiteIconStyleGuideVersionId, parseBlockIconValue, listBlockDescriptors, useSensor, PointerSensor, useSensors, createEditorRemoveBlockCommand, unsafeAsEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, createCustomBlockRegistry, Card, cn, Collapsible, CollapsibleContent, listContentTypes, mergeBlockDescriptorsWithRegistry, createEditorReorderBlocksCommand, mutateBlockContent, deleteEntrySlotBlock, deleteBlock, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, DropdownMenu, DropdownMenuTrigger, EllipsisVertical, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem, Copy, Trash2, DialogFooter, DialogClose, CardContent, createEntrySlotBlock, createBlock, createEditorInsertBlockCommand, reorderEntrySlotBlocks, reorderBlocks, LoaderCircle, ChevronDown, getFeatureCardIconCompletion, toFeatureCardIconSuggestionInputs, getBlockIconSemanticFallbackId, suggestSemanticIconForFeatureCard, getGeneratedBlockIconStyleState, assertNever, createManifestFormAdapter, getModalConfig, createStoreBackend, validateBlockManifestIssues, isNonEmptyValue, Settings, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, RotateCcw, ImagePlus, Sparkles, Textarea, Callout, CalloutDescription, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, CalloutTitle, unfinishedBlockCopy, recoveryConflictCopy, ManifestForm, unsafeAsEditorBlockValues, Box, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, suggestFeatureCardSemanticIcons, applyFeatureCardIconSuggestions, createFeatureCardIconKey, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, BackgroundGradientField, BackgroundColorField, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, isObjectRecord, EMPTY_DOC, useAsyncPickerOptions, resolvePickerSelectionLabel, shouldShowPickerSearch, normalizePickerSearchThreshold, Combobox, Badge, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, useBackendWatch, resolveIconPickerPreset, isIconPickerPreset, getIconPickerOptionsForPreset, isKnownIconName, getIconComponent, isOfferingsPreviewSourceKey, EyeOff, CommandMultiSelect, expectParsedBrandedId, parseSiteId, buildThemeRuntime, SdkConfigProvider, PaletteProvider, MediaEditorProvider, useEditorUiStoreInstance, useUISelector, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, emitMediaCropDebug, Pencil, resolveVideoSelectionIntentForMediaField, resolveOfferingsPreviewGroupOrderEntries, normalizeOfferingsPreviewGroupOrder, inferLegacyOfferingsPreviewGroupOrder, siteOptionSources, evaluateVisibility, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, resolveImageUrlWithContext, useMediaEditor, MediaPickerMini, MediaPickerDialog, toRoutableLinkPayload, classifyKnownMimeType, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-MSHZO4SL.mjs';
3
3
  import React, { createContext, memo, useMemo, useState, useRef, useEffect, forwardRef, useCallback, useImperativeHandle, useContext, useSyncExternalStore, useLayoutEffect, Fragment as Fragment$1, useReducer } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
 
@@ -1302,12 +1302,81 @@ function buildInsertBlockHistoryCommand({
1302
1302
  );
1303
1303
  }
1304
1304
 
1305
+ // ../editor-blocks/src/block-editor/owner.ts
1306
+ function blockEditorOwnerKey(owner) {
1307
+ switch (owner.kind) {
1308
+ case "page":
1309
+ return `page:${owner.pageId}`;
1310
+ case "entry-slot":
1311
+ return `entry-slot:${owner.type}:${owner.entryId}:${owner.slotKey}`;
1312
+ }
1313
+ }
1314
+ async function createEditableBlockForOwner(apiClient, siteId, owner, input) {
1315
+ switch (owner.kind) {
1316
+ case "page":
1317
+ return createBlock(apiClient, {
1318
+ siteId,
1319
+ pageId: owner.pageId,
1320
+ kind: input.kind,
1321
+ position: input.position,
1322
+ purpose: input.purpose,
1323
+ duplicatedFromBlockId: input.duplicatedFromBlockId
1324
+ });
1325
+ case "entry-slot":
1326
+ return createEntrySlotBlock(apiClient, {
1327
+ siteId,
1328
+ type: owner.type,
1329
+ entryId: owner.entryId,
1330
+ slotKey: owner.slotKey,
1331
+ kind: input.kind,
1332
+ position: input.position,
1333
+ purpose: input.purpose
1334
+ });
1335
+ }
1336
+ }
1337
+ async function reorderEditableBlocksForOwner(apiClient, siteId, owner, blockIds) {
1338
+ switch (owner.kind) {
1339
+ case "page":
1340
+ return reorderBlocks(apiClient, {
1341
+ siteId,
1342
+ pageId: owner.pageId,
1343
+ blockIds
1344
+ });
1345
+ case "entry-slot":
1346
+ return reorderEntrySlotBlocks(apiClient, {
1347
+ siteId,
1348
+ type: owner.type,
1349
+ entryId: owner.entryId,
1350
+ slotKey: owner.slotKey,
1351
+ blockIds
1352
+ });
1353
+ }
1354
+ }
1355
+ async function deleteEditableBlockForOwner(apiClient, siteId, owner, blockId) {
1356
+ switch (owner.kind) {
1357
+ case "page":
1358
+ return deleteBlock(apiClient, {
1359
+ siteId,
1360
+ pageId: owner.pageId,
1361
+ blockId
1362
+ });
1363
+ case "entry-slot":
1364
+ return deleteEntrySlotBlock(apiClient, {
1365
+ siteId,
1366
+ type: owner.type,
1367
+ entryId: owner.entryId,
1368
+ slotKey: owner.slotKey,
1369
+ blockId
1370
+ });
1371
+ }
1372
+ }
1373
+
1305
1374
  // ../editor-blocks/src/block-editor/hooks/useBlockCreation.ts
1306
1375
  function useBlockCreation({
1307
1376
  allowCreation,
1308
1377
  apiClient,
1309
1378
  siteId,
1310
- pageId,
1379
+ owner,
1311
1380
  blockList,
1312
1381
  setBlockList,
1313
1382
  onBlocksChange,
@@ -1335,9 +1404,7 @@ function useBlockCreation({
1335
1404
  setCreatingBlockName(descriptor.name);
1336
1405
  setErrorMessage(null);
1337
1406
  try {
1338
- const response = await createBlock(apiClient, {
1339
- siteId,
1340
- pageId,
1407
+ const response = await createEditableBlockForOwner(apiClient, siteId, owner, {
1341
1408
  kind: descriptor.name,
1342
1409
  position: insertPosition,
1343
1410
  purpose: "content"
@@ -1358,7 +1425,7 @@ function useBlockCreation({
1358
1425
  addRecentBlock(siteId, descriptor.name);
1359
1426
  if (newBlock.id) {
1360
1427
  try {
1361
- const storageKey = `blockEditor:${pageId}:collapsed`;
1428
+ const storageKey = `blockEditor:${blockEditorOwnerKey(owner)}:collapsed`;
1362
1429
  const raw = typeof window !== "undefined" ? localStorage.getItem(storageKey) : null;
1363
1430
  const map = raw ? JSON.parse(raw) : {};
1364
1431
  map[newBlock.id] = false;
@@ -1384,7 +1451,7 @@ function useBlockCreation({
1384
1451
  setInsertPosition(null);
1385
1452
  }
1386
1453
  },
1387
- [allowCreation, apiClient, blockList, creatingBlockName, insertPosition, onBlocksChange, pageId, setBlockList, siteId, triggerFocus, uiStore]
1454
+ [allowCreation, apiClient, blockList, creatingBlockName, insertPosition, onBlocksChange, owner, setBlockList, siteId, triggerFocus, uiStore]
1388
1455
  );
1389
1456
  return {
1390
1457
  pickerOpen,
@@ -1409,7 +1476,7 @@ function useBlockDuplication({
1409
1476
  allowCreation,
1410
1477
  apiClient,
1411
1478
  siteId,
1412
- pageId,
1479
+ owner,
1413
1480
  blockList,
1414
1481
  setBlockList,
1415
1482
  onBlocksChange,
@@ -1432,9 +1499,7 @@ function useBlockDuplication({
1432
1499
  setErrorMessage(null);
1433
1500
  let createdBlockId = null;
1434
1501
  try {
1435
- const response = await createBlock(apiClient, {
1436
- siteId,
1437
- pageId,
1502
+ const response = await createEditableBlockForOwner(apiClient, siteId, owner, {
1438
1503
  kind: sourceBlock.kind,
1439
1504
  position: insertIndex,
1440
1505
  purpose,
@@ -1484,11 +1549,7 @@ function useBlockDuplication({
1484
1549
  } catch (error) {
1485
1550
  if (createdBlockId) {
1486
1551
  try {
1487
- await deleteBlock(apiClient, {
1488
- siteId,
1489
- pageId,
1490
- blockId: createdBlockId
1491
- });
1552
+ await deleteEditableBlockForOwner(apiClient, siteId, owner, createdBlockId);
1492
1553
  } catch {
1493
1554
  }
1494
1555
  }
@@ -1505,7 +1566,7 @@ function useBlockDuplication({
1505
1566
  blockList,
1506
1567
  duplicatingBlockId,
1507
1568
  onBlocksChange,
1508
- pageId,
1569
+ owner,
1509
1570
  setBlockList,
1510
1571
  setErrorMessage,
1511
1572
  siteId,
@@ -1529,7 +1590,7 @@ function useBlockReorder({
1529
1590
  allowReordering,
1530
1591
  apiClient,
1531
1592
  siteId,
1532
- pageId,
1593
+ owner,
1533
1594
  blockList,
1534
1595
  setBlockList,
1535
1596
  onBlocksChange,
@@ -1550,11 +1611,7 @@ function useBlockReorder({
1550
1611
  )
1551
1612
  });
1552
1613
  try {
1553
- await reorderBlocks(apiClient, {
1554
- siteId,
1555
- pageId,
1556
- blockIds: nextBlockIds
1557
- });
1614
+ await reorderEditableBlocksForOwner(apiClient, siteId, owner, nextBlockIds);
1558
1615
  onBlocksChange?.(updated);
1559
1616
  } catch (error) {
1560
1617
  const message = error instanceof Error ? error.message : "Failed to reorder blocks";
@@ -1571,7 +1628,7 @@ function useBlockReorder({
1571
1628
  setReorderId(null);
1572
1629
  }
1573
1630
  },
1574
- [allowReordering, apiClient, onBlocksChange, pageId, setBlockList, siteId, setErrorMessage, uiStore]
1631
+ [allowReordering, apiClient, onBlocksChange, owner, setBlockList, siteId, setErrorMessage, uiStore]
1575
1632
  );
1576
1633
  const handleMove = useCallback(
1577
1634
  (blockId, direction) => {
@@ -1748,13 +1805,14 @@ function BlockForm({
1748
1805
  hasRecoveryConflict = false,
1749
1806
  focusSignal,
1750
1807
  onFocusHandled,
1751
- onSaveSuccess: _onSaveSuccess,
1808
+ onSaveSuccess,
1752
1809
  theme,
1753
1810
  widgetOverrides,
1754
1811
  hideThemeV2RawStyleFields: hideThemeV2RawStyleFields2 = false,
1755
1812
  pageDesignBlock = null
1756
1813
  }) {
1757
1814
  const formRootRef = useRef(null);
1815
+ const lastSaveSnapshotRef = useRef(null);
1758
1816
  const blockId = typeof block.id === "string" ? unsafeAsEditorBlockId(block.id) : null;
1759
1817
  const blockSnapshot = useStoreSelector(
1760
1818
  uiStore,
@@ -1877,6 +1935,20 @@ function BlockForm({
1877
1935
  uiStore.getState().setActivePreviewField(null);
1878
1936
  };
1879
1937
  }, [uiStore]);
1938
+ useEffect(() => {
1939
+ if (!blockSnapshot) {
1940
+ lastSaveSnapshotRef.current = null;
1941
+ return;
1942
+ }
1943
+ const previous = lastSaveSnapshotRef.current;
1944
+ lastSaveSnapshotRef.current = {
1945
+ syncKind: blockSnapshot.syncState.kind,
1946
+ version: blockSnapshot.version
1947
+ };
1948
+ if (previous?.syncKind === "pending" && blockSnapshot.syncState.kind === "baseline" && previous.version !== blockSnapshot.version) {
1949
+ onSaveSuccess?.(blockSnapshot.baseline ?? {});
1950
+ }
1951
+ }, [blockSnapshot, onSaveSuccess]);
1880
1952
  if (!blockId || !blockSnapshot) {
1881
1953
  return null;
1882
1954
  }
@@ -3389,7 +3461,7 @@ var SortableBlockItem = memo(function SortableBlockItem2({
3389
3461
  }
3390
3462
  },
3391
3463
  style,
3392
- ...mounted ? sortable.attributes : {},
3464
+ ...mounted && isDraggable ? sortable.attributes : {},
3393
3465
  children: /* @__PURE__ */ jsx(
3394
3466
  BlockCard,
3395
3467
  {
@@ -3431,7 +3503,7 @@ var SortableBlockItem = memo(function SortableBlockItem2({
3431
3503
  var BlockEditor = forwardRef(
3432
3504
  function BlockEditor2({
3433
3505
  siteId,
3434
- pageId,
3506
+ owner,
3435
3507
  blocks,
3436
3508
  recoveryConflictBlockIds = [],
3437
3509
  recoveryConflictReviewRequestId = null,
@@ -3439,6 +3511,7 @@ var BlockEditor = forwardRef(
3439
3511
  uiStore,
3440
3512
  enableReordering = true,
3441
3513
  enableCreation = true,
3514
+ enableDeletion = true,
3442
3515
  onBlockSave,
3443
3516
  onBlocksChange,
3444
3517
  theme,
@@ -3449,6 +3522,9 @@ var BlockEditor = forwardRef(
3449
3522
  enabledContentTypes = [],
3450
3523
  sdkConfig = null,
3451
3524
  customBlocks = [],
3525
+ allowedBlockKinds = null,
3526
+ emptyUnavailableMessage = "No blocks available for this page.",
3527
+ initialCollapsed = true,
3452
3528
  reorderControlMode = DEFAULT_REORDER_CONTROL_MODE,
3453
3529
  actionPresentation = DEFAULT_BLOCK_ACTION_PRESENTATION
3454
3530
  }, ref) {
@@ -3477,6 +3553,7 @@ var BlockEditor = forwardRef(
3477
3553
  const [iconStyleGuide, setIconStyleGuide] = useState(null);
3478
3554
  const allowReordering = enableReordering;
3479
3555
  const allowCreation = enableCreation;
3556
+ const allowDeletion = enableDeletion;
3480
3557
  const conflictedBlockIdSet = useMemo(
3481
3558
  () => new Set(recoveryConflictBlockIds),
3482
3559
  [recoveryConflictBlockIds]
@@ -3494,9 +3571,11 @@ var BlockEditor = forwardRef(
3494
3571
  ),
3495
3572
  [pageDesignEditorModel]
3496
3573
  );
3574
+ const ownerKey = useMemo(() => blockEditorOwnerKey(owner), [owner]);
3497
3575
  const { isCollapsed, setCollapsed } = useBlockExpandState({
3498
- pageId,
3499
- blockIds
3576
+ pageId: ownerKey,
3577
+ blockIds,
3578
+ initialCollapsed
3500
3579
  });
3501
3580
  useEffect(() => {
3502
3581
  setBlockList(normalizeBlockListInitial(blocks));
@@ -3671,15 +3750,22 @@ var BlockEditor = forwardRef(
3671
3750
  }),
3672
3751
  [triggerFocus]
3673
3752
  );
3674
- const availableBlocks = useMemo(
3675
- () => mergeBlockDescriptors(listBlockDescriptors(), sdkConfig, customBlocks),
3676
- [customBlocks, sdkConfig]
3677
- );
3753
+ const availableBlocks = useMemo(() => {
3754
+ const descriptors = mergeBlockDescriptors(
3755
+ listBlockDescriptors(),
3756
+ sdkConfig,
3757
+ customBlocks
3758
+ );
3759
+ if (!allowedBlockKinds) return descriptors;
3760
+ const allowed = new Set(allowedBlockKinds);
3761
+ return descriptors.filter((descriptor) => allowed.has(descriptor.name));
3762
+ }, [allowedBlockKinds, customBlocks, sdkConfig]);
3678
3763
  const pointerSensor = useSensor(PointerSensor, {
3679
3764
  activationConstraint: { distance: 5 }
3680
3765
  });
3681
3766
  const sensors = useSensors(pointerSensor);
3682
3767
  const activeSensors = allowReordering ? sensors : [];
3768
+ const canCreateBlocks = allowCreation && availableBlocks.length > 0;
3683
3769
  const {
3684
3770
  pickerOpen,
3685
3771
  creatingBlockName,
@@ -3687,10 +3773,10 @@ var BlockEditor = forwardRef(
3687
3773
  closePicker,
3688
3774
  handleCreateBlock
3689
3775
  } = useBlockCreation({
3690
- allowCreation,
3776
+ allowCreation: canCreateBlocks,
3691
3777
  apiClient,
3692
3778
  siteId,
3693
- pageId,
3779
+ owner,
3694
3780
  blockList,
3695
3781
  setBlockList,
3696
3782
  onBlocksChange,
@@ -3701,7 +3787,7 @@ var BlockEditor = forwardRef(
3701
3787
  allowReordering,
3702
3788
  apiClient,
3703
3789
  siteId,
3704
- pageId,
3790
+ owner,
3705
3791
  blockList,
3706
3792
  setBlockList,
3707
3793
  onBlocksChange,
@@ -3709,10 +3795,10 @@ var BlockEditor = forwardRef(
3709
3795
  uiStore
3710
3796
  });
3711
3797
  const { duplicatingBlockId, duplicateBlock } = useBlockDuplication({
3712
- allowCreation,
3798
+ allowCreation: canCreateBlocks,
3713
3799
  apiClient,
3714
3800
  siteId,
3715
- pageId,
3801
+ owner,
3716
3802
  blockList,
3717
3803
  setBlockList,
3718
3804
  onBlocksChange,
@@ -3728,7 +3814,7 @@ var BlockEditor = forwardRef(
3728
3814
  if (!removedBlock) {
3729
3815
  return;
3730
3816
  }
3731
- await deleteBlock(apiClient, { siteId, pageId, blockId });
3817
+ await deleteEditableBlockForOwner(apiClient, siteId, owner, blockId);
3732
3818
  const updatedList = blockList.filter((b) => b.id !== blockId);
3733
3819
  setBlockList(updatedList);
3734
3820
  if (uiStore) {
@@ -3746,7 +3832,7 @@ var BlockEditor = forwardRef(
3746
3832
  [
3747
3833
  apiClient,
3748
3834
  siteId,
3749
- pageId,
3835
+ owner,
3750
3836
  blockList,
3751
3837
  setBlockList,
3752
3838
  onBlocksChange,
@@ -3854,7 +3940,7 @@ var BlockEditor = forwardRef(
3854
3940
  items: blockList.map((b) => b.id),
3855
3941
  strategy: verticalListSortingStrategy,
3856
3942
  children: /* @__PURE__ */ jsxs("div", { className: "space-y-0", children: [
3857
- allowCreation ? /* @__PURE__ */ jsx(AddBlockDivider, { onOpen: openPicker, position: 0 }) : null,
3943
+ canCreateBlocks ? /* @__PURE__ */ jsx(AddBlockDivider, { onOpen: openPicker, position: 0 }) : null,
3858
3944
  blockList.map((block, index) => {
3859
3945
  const focusSignal = focusRequest && block.id && focusRequest.blockId === unsafeAsEditorBlockId(block.id) ? focusRequest : null;
3860
3946
  const collapsed = isCollapsed(block.id);
@@ -3878,7 +3964,7 @@ var BlockEditor = forwardRef(
3878
3964
  block,
3879
3965
  onMove: handleMove,
3880
3966
  onDuplicate: duplicateBlock,
3881
- onDelete: handleDelete,
3967
+ onDelete: allowDeletion ? handleDelete : void 0,
3882
3968
  isFirst: index === 0,
3883
3969
  isLast: index === blockList.length - 1,
3884
3970
  isMoving: reorderId === block.id || duplicatingBlockId === block.id,
@@ -3916,7 +4002,7 @@ var BlockEditor = forwardRef(
3916
4002
  onApplyGeneratedIconSet: applyGeneratedFeatureCardIconSet2
3917
4003
  }
3918
4004
  ),
3919
- allowCreation && index < blockList.length - 1 ? /* @__PURE__ */ jsx(
4005
+ canCreateBlocks && index < blockList.length - 1 ? /* @__PURE__ */ jsx(
3920
4006
  AddBlockDivider,
3921
4007
  {
3922
4008
  onOpen: openPicker,
@@ -3932,8 +4018,8 @@ var BlockEditor = forwardRef(
3932
4018
  }
3933
4019
  )
3934
4020
  }
3935
- ) : hasBlocks ? /* @__PURE__ */ jsx("div", { className: "rounded-md border border-dashed px-4 py-6 text-center text-sm text-muted-foreground", children: "Loading block editor..." }) : allowCreation ? /* @__PURE__ */ jsx(EmptyState2, { onAdd: () => openPicker(0) }) : /* @__PURE__ */ jsx("div", { className: "rounded-md border border-dashed px-4 py-6 text-center text-sm text-muted-foreground", children: "No blocks available for this page." }),
3936
- allowCreation && hasBlocks ? /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxs(
4021
+ ) : hasBlocks ? /* @__PURE__ */ jsx("div", { className: "rounded-md border border-dashed px-4 py-6 text-center text-sm text-muted-foreground", children: "Loading block editor..." }) : canCreateBlocks ? /* @__PURE__ */ jsx(EmptyState2, { onAdd: () => openPicker(0) }) : /* @__PURE__ */ jsx("div", { className: "rounded-md border border-dashed px-4 py-6 text-center text-sm text-muted-foreground", children: emptyUnavailableMessage }),
4022
+ canCreateBlocks && hasBlocks ? /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxs(
3937
4023
  Button,
3938
4024
  {
3939
4025
  type: "button",
@@ -3945,7 +4031,7 @@ var BlockEditor = forwardRef(
3945
4031
  ]
3946
4032
  }
3947
4033
  ) }) : null,
3948
- allowCreation ? /* @__PURE__ */ jsx(
4034
+ canCreateBlocks ? /* @__PURE__ */ jsx(
3949
4035
  EnhancedBlockPickerDialog,
3950
4036
  {
3951
4037
  open: pickerOpen,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { assertNever2, usePreviewDesignHistoryOrder, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, AMBIENT_BACKGROUND_ROLES, applyPageDesignEditorAction, resolvePreviewSidebarTab, confirmAutosaveBatch, beginAutosaveBatch, enqueueTransaction, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, unsafeAsEditorBlockId, createHistoryState, rejectAutosaveBatch, redoHistory, undoHistory, pushHistoryEntry, idleEditorTransactionQueueState, canRedoHistory, deriveTransactionCapabilities, canUndoHistory, backgroundOverrideEquals, attachRenderableMediaAssetFields, planPageDesignLayoutLookCompatibility, unsafeAsEditorBlockValues } from './chunk-XQR6THQJ.mjs';
3
- import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-FIREV57T.mjs';
2
+ import { assertNever2, usePreviewDesignHistoryOrder, useOptionalEditorUiStoreInstance, getPageDesignEditorState, PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE, unwrapResponse, useDebouncedLatestSave, AMBIENT_BACKGROUND_ROLES, applyPageDesignEditorAction, resolvePreviewSidebarTab, confirmAutosaveBatch, beginAutosaveBatch, enqueueTransaction, applyBackgroundOverrideContentPatch, systemCustomizeFacetDefinitionForBlock, systemCustomizeFacetRollbackContentPatch, systemCustomizeFacetApplyContentPatch, unsafeAsEditorBlockId, createHistoryState, rejectAutosaveBatch, redoHistory, undoHistory, pushHistoryEntry, idleEditorTransactionQueueState, canRedoHistory, deriveTransactionCapabilities, canUndoHistory, backgroundOverrideEquals, attachRenderableMediaAssetFields, planPageDesignLayoutLookCompatibility, unsafeAsEditorBlockValues } from './chunk-MSHZO4SL.mjs';
3
+ import { ApiRequestError, resolveSurfaceDocumentAttributes, SURFACE_DOCUMENT_DATA_ATTRIBUTE, SURFACE_IDS } from './chunk-LBBPD2IW.mjs';
4
4
  import { createContext, useState, useRef, useEffect, useMemo, useLayoutEffect, useContext } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6