@batterai/editor-shell 0.1.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/CHANGELOG.md +5 -0
- package/LICENSE +101 -0
- package/README.md +11 -0
- package/dist/App.d.ts +4 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +388 -0
- package/dist/App.js.map +1 -0
- package/dist/app/AppCanvas.d.ts +52 -0
- package/dist/app/AppCanvas.d.ts.map +1 -0
- package/dist/app/AppCanvas.js +43 -0
- package/dist/app/AppCanvas.js.map +1 -0
- package/dist/app/AppDialogs.d.ts +25 -0
- package/dist/app/AppDialogs.d.ts.map +1 -0
- package/dist/app/AppDialogs.js +16 -0
- package/dist/app/AppDialogs.js.map +1 -0
- package/dist/app/AppInspectorPanel.d.ts +66 -0
- package/dist/app/AppInspectorPanel.d.ts.map +1 -0
- package/dist/app/AppInspectorPanel.js +94 -0
- package/dist/app/AppInspectorPanel.js.map +1 -0
- package/dist/app/AppStates.d.ts +5 -0
- package/dist/app/AppStates.d.ts.map +1 -0
- package/dist/app/AppStates.js +8 -0
- package/dist/app/AppStates.js.map +1 -0
- package/dist/app/AppTypes.d.ts +18 -0
- package/dist/app/AppTypes.d.ts.map +1 -0
- package/dist/app/AppTypes.js +2 -0
- package/dist/app/AppTypes.js.map +1 -0
- package/dist/app/OperationErrorBanner.d.ts +5 -0
- package/dist/app/OperationErrorBanner.d.ts.map +1 -0
- package/dist/app/OperationErrorBanner.js +5 -0
- package/dist/app/OperationErrorBanner.js.map +1 -0
- package/dist/app/capability-guards.d.ts +9 -0
- package/dist/app/capability-guards.d.ts.map +1 -0
- package/dist/app/capability-guards.js +22 -0
- package/dist/app/capability-guards.js.map +1 -0
- package/dist/app/deriveSelectionState.d.ts +31 -0
- package/dist/app/deriveSelectionState.d.ts.map +1 -0
- package/dist/app/deriveSelectionState.js +79 -0
- package/dist/app/deriveSelectionState.js.map +1 -0
- package/dist/app/helpers.d.ts +31 -0
- package/dist/app/helpers.d.ts.map +1 -0
- package/dist/app/helpers.js +145 -0
- package/dist/app/helpers.js.map +1 -0
- package/dist/app/hostServices.d.ts +2 -0
- package/dist/app/hostServices.d.ts.map +1 -0
- package/dist/app/hostServices.js +2 -0
- package/dist/app/hostServices.js.map +1 -0
- package/dist/app/persistence-machine.d.ts +27 -0
- package/dist/app/persistence-machine.d.ts.map +1 -0
- package/dist/app/persistence-machine.js +66 -0
- package/dist/app/persistence-machine.js.map +1 -0
- package/dist/app/useCollectionEditing.d.ts +30 -0
- package/dist/app/useCollectionEditing.d.ts.map +1 -0
- package/dist/app/useCollectionEditing.js +80 -0
- package/dist/app/useCollectionEditing.js.map +1 -0
- package/dist/app/useCommitActions.d.ts +64 -0
- package/dist/app/useCommitActions.d.ts.map +1 -0
- package/dist/app/useCommitActions.js +319 -0
- package/dist/app/useCommitActions.js.map +1 -0
- package/dist/app/useEditorCollaboration.d.ts +30 -0
- package/dist/app/useEditorCollaboration.d.ts.map +1 -0
- package/dist/app/useEditorCollaboration.js +374 -0
- package/dist/app/useEditorCollaboration.js.map +1 -0
- package/dist/app/useEditorEffects.d.ts +42 -0
- package/dist/app/useEditorEffects.d.ts.map +1 -0
- package/dist/app/useEditorEffects.js +105 -0
- package/dist/app/useEditorEffects.js.map +1 -0
- package/dist/app/useEditorRuntime.d.ts +34 -0
- package/dist/app/useEditorRuntime.d.ts.map +1 -0
- package/dist/app/useEditorRuntime.js +68 -0
- package/dist/app/useEditorRuntime.js.map +1 -0
- package/dist/app/useEditorState.d.ts +55 -0
- package/dist/app/useEditorState.d.ts.map +1 -0
- package/dist/app/useEditorState.js +68 -0
- package/dist/app/useEditorState.js.map +1 -0
- package/dist/app/usePageOps.d.ts +37 -0
- package/dist/app/usePageOps.d.ts.map +1 -0
- package/dist/app/usePageOps.js +69 -0
- package/dist/app/usePageOps.js.map +1 -0
- package/dist/app/usePersistence.d.ts +48 -0
- package/dist/app/usePersistence.d.ts.map +1 -0
- package/dist/app/usePersistence.js +344 -0
- package/dist/app/usePersistence.js.map +1 -0
- package/dist/app/usePreviewSession.d.ts +22 -0
- package/dist/app/usePreviewSession.d.ts.map +1 -0
- package/dist/app/usePreviewSession.js +21 -0
- package/dist/app/usePreviewSession.js.map +1 -0
- package/dist/app/useWorkspaceDocumentSync.d.ts +33 -0
- package/dist/app/useWorkspaceDocumentSync.d.ts.map +1 -0
- package/dist/app/useWorkspaceDocumentSync.js +128 -0
- package/dist/app/useWorkspaceDocumentSync.js.map +1 -0
- package/dist/appearance.d.ts +6 -0
- package/dist/appearance.d.ts.map +1 -0
- package/dist/appearance.js +53 -0
- package/dist/appearance.js.map +1 -0
- package/dist/bindingChips.d.ts +28 -0
- package/dist/bindingChips.d.ts.map +1 -0
- package/dist/bindingChips.js +93 -0
- package/dist/bindingChips.js.map +1 -0
- package/dist/block-factory.d.ts +21 -0
- package/dist/block-factory.d.ts.map +1 -0
- package/dist/block-factory.js +78 -0
- package/dist/block-factory.js.map +1 -0
- package/dist/blockHost.d.ts +22 -0
- package/dist/blockHost.d.ts.map +1 -0
- package/dist/blockHost.js +103 -0
- package/dist/blockHost.js.map +1 -0
- package/dist/blockInteraction.d.ts +11 -0
- package/dist/blockInteraction.d.ts.map +1 -0
- package/dist/blockInteraction.js +16 -0
- package/dist/blockInteraction.js.map +1 -0
- package/dist/blockPresets.d.ts +4 -0
- package/dist/blockPresets.d.ts.map +1 -0
- package/dist/blockPresets.js +11 -0
- package/dist/blockPresets.js.map +1 -0
- package/dist/collaboration.d.ts +41 -0
- package/dist/collaboration.d.ts.map +1 -0
- package/dist/collaboration.js +4 -0
- package/dist/collaboration.js.map +1 -0
- package/dist/collectionItemAddress.d.ts +12 -0
- package/dist/collectionItemAddress.d.ts.map +1 -0
- package/dist/collectionItemAddress.js +19 -0
- package/dist/collectionItemAddress.js.map +1 -0
- package/dist/components/AddCollectionItemControl.d.ts +15 -0
- package/dist/components/AddCollectionItemControl.d.ts.map +1 -0
- package/dist/components/AddCollectionItemControl.js +19 -0
- package/dist/components/AddCollectionItemControl.js.map +1 -0
- package/dist/components/AuditHistoryPanel.d.ts +10 -0
- package/dist/components/AuditHistoryPanel.d.ts.map +1 -0
- package/dist/components/AuditHistoryPanel.js +11 -0
- package/dist/components/AuditHistoryPanel.js.map +1 -0
- package/dist/components/Canvas.d.ts +64 -0
- package/dist/components/Canvas.d.ts.map +1 -0
- package/dist/components/Canvas.js +238 -0
- package/dist/components/Canvas.js.map +1 -0
- package/dist/components/CollaborationLayer.d.ts +13 -0
- package/dist/components/CollaborationLayer.d.ts.map +1 -0
- package/dist/components/CollaborationLayer.js +91 -0
- package/dist/components/CollaborationLayer.js.map +1 -0
- package/dist/components/DesignSettingsPanel.d.ts +10 -0
- package/dist/components/DesignSettingsPanel.d.ts.map +1 -0
- package/dist/components/DesignSettingsPanel.js +26 -0
- package/dist/components/DesignSettingsPanel.js.map +1 -0
- package/dist/components/EditableDate.d.ts +24 -0
- package/dist/components/EditableDate.d.ts.map +1 -0
- package/dist/components/EditableDate.js +41 -0
- package/dist/components/EditableDate.js.map +1 -0
- package/dist/components/EditableText.d.ts +23 -0
- package/dist/components/EditableText.d.ts.map +1 -0
- package/dist/components/EditableText.js +53 -0
- package/dist/components/EditableText.js.map +1 -0
- package/dist/components/FieldControl.d.ts +15 -0
- package/dist/components/FieldControl.d.ts.map +1 -0
- package/dist/components/FieldControl.js +64 -0
- package/dist/components/FieldControl.js.map +1 -0
- package/dist/components/IconFieldEditor.d.ts +9 -0
- package/dist/components/IconFieldEditor.d.ts.map +1 -0
- package/dist/components/IconFieldEditor.js +15 -0
- package/dist/components/IconFieldEditor.js.map +1 -0
- package/dist/components/ImageFieldEditor.d.ts +15 -0
- package/dist/components/ImageFieldEditor.d.ts.map +1 -0
- package/dist/components/ImageFieldEditor.js +37 -0
- package/dist/components/ImageFieldEditor.js.map +1 -0
- package/dist/components/Inspector.d.ts +55 -0
- package/dist/components/Inspector.d.ts.map +1 -0
- package/dist/components/Inspector.js +44 -0
- package/dist/components/Inspector.js.map +1 -0
- package/dist/components/LayoutBlockEditor.d.ts +32 -0
- package/dist/components/LayoutBlockEditor.d.ts.map +1 -0
- package/dist/components/LayoutBlockEditor.js +176 -0
- package/dist/components/LayoutBlockEditor.js.map +1 -0
- package/dist/components/LicenseWatermark.d.ts +5 -0
- package/dist/components/LicenseWatermark.d.ts.map +1 -0
- package/dist/components/LicenseWatermark.js +7 -0
- package/dist/components/LicenseWatermark.js.map +1 -0
- package/dist/components/NestedBlockItem.d.ts +26 -0
- package/dist/components/NestedBlockItem.d.ts.map +1 -0
- package/dist/components/NestedBlockItem.js +164 -0
- package/dist/components/NestedBlockItem.js.map +1 -0
- package/dist/components/NestedInsertSlot.d.ts +18 -0
- package/dist/components/NestedInsertSlot.d.ts.map +1 -0
- package/dist/components/NestedInsertSlot.js +51 -0
- package/dist/components/NestedInsertSlot.js.map +1 -0
- package/dist/components/NewPageDialog.d.ts +9 -0
- package/dist/components/NewPageDialog.d.ts.map +1 -0
- package/dist/components/NewPageDialog.js +12 -0
- package/dist/components/NewPageDialog.js.map +1 -0
- package/dist/components/PageFrame.d.ts +75 -0
- package/dist/components/PageFrame.d.ts.map +1 -0
- package/dist/components/PageFrame.js +87 -0
- package/dist/components/PageFrame.js.map +1 -0
- package/dist/components/PageInspector.d.ts +16 -0
- package/dist/components/PageInspector.d.ts.map +1 -0
- package/dist/components/PageInspector.js +56 -0
- package/dist/components/PageInspector.js.map +1 -0
- package/dist/components/PresetSaveDialog.d.ts +8 -0
- package/dist/components/PresetSaveDialog.d.ts.map +1 -0
- package/dist/components/PresetSaveDialog.js +7 -0
- package/dist/components/PresetSaveDialog.js.map +1 -0
- package/dist/components/ReferenceChipsEditor.d.ts +23 -0
- package/dist/components/ReferenceChipsEditor.d.ts.map +1 -0
- package/dist/components/ReferenceChipsEditor.js +68 -0
- package/dist/components/ReferenceChipsEditor.js.map +1 -0
- package/dist/components/TopBar.d.ts +49 -0
- package/dist/components/TopBar.d.ts.map +1 -0
- package/dist/components/TopBar.js +41 -0
- package/dist/components/TopBar.js.map +1 -0
- package/dist/components/canvas/CanvasBoard.d.ts +97 -0
- package/dist/components/canvas/CanvasBoard.d.ts.map +1 -0
- package/dist/components/canvas/CanvasBoard.js +35 -0
- package/dist/components/canvas/CanvasBoard.js.map +1 -0
- package/dist/components/canvas/EditableCanvasTitle.d.ts +13 -0
- package/dist/components/canvas/EditableCanvasTitle.d.ts.map +1 -0
- package/dist/components/canvas/EditableCanvasTitle.js +74 -0
- package/dist/components/canvas/EditableCanvasTitle.js.map +1 -0
- package/dist/components/canvas/camera.d.ts +9 -0
- package/dist/components/canvas/camera.d.ts.map +1 -0
- package/dist/components/canvas/camera.js +31 -0
- package/dist/components/canvas/camera.js.map +1 -0
- package/dist/components/canvas/column-window.d.ts +10 -0
- package/dist/components/canvas/column-window.d.ts.map +1 -0
- package/dist/components/canvas/column-window.js +46 -0
- package/dist/components/canvas/column-window.js.map +1 -0
- package/dist/components/canvas/keyboard-nav.d.ts +7 -0
- package/dist/components/canvas/keyboard-nav.d.ts.map +1 -0
- package/dist/components/canvas/keyboard-nav.js +44 -0
- package/dist/components/canvas/keyboard-nav.js.map +1 -0
- package/dist/components/canvas/links.d.ts +2 -0
- package/dist/components/canvas/links.d.ts.map +1 -0
- package/dist/components/canvas/links.js +7 -0
- package/dist/components/canvas/links.js.map +1 -0
- package/dist/components/editable-text/BindingInlineEditor.d.ts +13 -0
- package/dist/components/editable-text/BindingInlineEditor.d.ts.map +1 -0
- package/dist/components/editable-text/BindingInlineEditor.js +24 -0
- package/dist/components/editable-text/BindingInlineEditor.js.map +1 -0
- package/dist/components/editable-text/BindingPicker.d.ts +10 -0
- package/dist/components/editable-text/BindingPicker.d.ts.map +1 -0
- package/dist/components/editable-text/BindingPicker.js +20 -0
- package/dist/components/editable-text/BindingPicker.js.map +1 -0
- package/dist/components/editable-text/RichTextToolbar.d.ts +13 -0
- package/dist/components/editable-text/RichTextToolbar.d.ts.map +1 -0
- package/dist/components/editable-text/RichTextToolbar.js +24 -0
- package/dist/components/editable-text/RichTextToolbar.js.map +1 -0
- package/dist/components/editable-text/bindingHtml.d.ts +19 -0
- package/dist/components/editable-text/bindingHtml.d.ts.map +1 -0
- package/dist/components/editable-text/bindingHtml.js +106 -0
- package/dist/components/editable-text/bindingHtml.js.map +1 -0
- package/dist/components/editable-text/editableTextDom.d.ts +5 -0
- package/dist/components/editable-text/editableTextDom.d.ts.map +1 -0
- package/dist/components/editable-text/editableTextDom.js +24 -0
- package/dist/components/editable-text/editableTextDom.js.map +1 -0
- package/dist/components/editable-text/floatingPosition.d.ts +25 -0
- package/dist/components/editable-text/floatingPosition.d.ts.map +1 -0
- package/dist/components/editable-text/floatingPosition.js +35 -0
- package/dist/components/editable-text/floatingPosition.js.map +1 -0
- package/dist/components/editable-text/formatting.d.ts +15 -0
- package/dist/components/editable-text/formatting.d.ts.map +1 -0
- package/dist/components/editable-text/formatting.js +82 -0
- package/dist/components/editable-text/formatting.js.map +1 -0
- package/dist/components/editable-text/richCommands.d.ts +9 -0
- package/dist/components/editable-text/richCommands.d.ts.map +1 -0
- package/dist/components/editable-text/richCommands.js +41 -0
- package/dist/components/editable-text/richCommands.js.map +1 -0
- package/dist/components/editable-text/richHtml.d.ts +5 -0
- package/dist/components/editable-text/richHtml.d.ts.map +1 -0
- package/dist/components/editable-text/richHtml.js +150 -0
- package/dist/components/editable-text/richHtml.js.map +1 -0
- package/dist/components/editable-text/selection.d.ts +12 -0
- package/dist/components/editable-text/selection.d.ts.map +1 -0
- package/dist/components/editable-text/selection.js +119 -0
- package/dist/components/editable-text/selection.js.map +1 -0
- package/dist/components/editable-text/types.d.ts +32 -0
- package/dist/components/editable-text/types.d.ts.map +1 -0
- package/dist/components/editable-text/types.js +2 -0
- package/dist/components/editable-text/types.js.map +1 -0
- package/dist/components/editable-text/useEditableText.d.ts +35 -0
- package/dist/components/editable-text/useEditableText.d.ts.map +1 -0
- package/dist/components/editable-text/useEditableText.js +395 -0
- package/dist/components/editable-text/useEditableText.js.map +1 -0
- package/dist/components/image-editor/ImageEditorDialog.d.ts +16 -0
- package/dist/components/image-editor/ImageEditorDialog.d.ts.map +1 -0
- package/dist/components/image-editor/ImageEditorDialog.js +137 -0
- package/dist/components/image-editor/ImageEditorDialog.js.map +1 -0
- package/dist/components/image-editor/ImagePreview.d.ts +15 -0
- package/dist/components/image-editor/ImagePreview.d.ts.map +1 -0
- package/dist/components/image-editor/ImagePreview.js +16 -0
- package/dist/components/image-editor/ImagePreview.js.map +1 -0
- package/dist/components/image-editor/MediaBrowser.d.ts +22 -0
- package/dist/components/image-editor/MediaBrowser.d.ts.map +1 -0
- package/dist/components/image-editor/MediaBrowser.js +16 -0
- package/dist/components/image-editor/MediaBrowser.js.map +1 -0
- package/dist/components/image-editor/UsageSettingsForm.d.ts +10 -0
- package/dist/components/image-editor/UsageSettingsForm.d.ts.map +1 -0
- package/dist/components/image-editor/UsageSettingsForm.js +29 -0
- package/dist/components/image-editor/UsageSettingsForm.js.map +1 -0
- package/dist/components/image-editor/preview-style.d.ts +7 -0
- package/dist/components/image-editor/preview-style.d.ts.map +1 -0
- package/dist/components/image-editor/preview-style.js +47 -0
- package/dist/components/image-editor/preview-style.js.map +1 -0
- package/dist/components/image-editor/stage.d.ts +14 -0
- package/dist/components/image-editor/stage.d.ts.map +1 -0
- package/dist/components/image-editor/stage.js +116 -0
- package/dist/components/image-editor/stage.js.map +1 -0
- package/dist/components/image-editor/types.d.ts +38 -0
- package/dist/components/image-editor/types.d.ts.map +1 -0
- package/dist/components/image-editor/types.js +10 -0
- package/dist/components/image-editor/types.js.map +1 -0
- package/dist/components/image-editor/usage-conversion.d.ts +35 -0
- package/dist/components/image-editor/usage-conversion.d.ts.map +1 -0
- package/dist/components/image-editor/usage-conversion.js +249 -0
- package/dist/components/image-editor/usage-conversion.js.map +1 -0
- package/dist/components/inspector/CollectionItemFields.d.ts +10 -0
- package/dist/components/inspector/CollectionItemFields.d.ts.map +1 -0
- package/dist/components/inspector/CollectionItemFields.js +13 -0
- package/dist/components/inspector/CollectionItemFields.js.map +1 -0
- package/dist/components/inspector/ContentBindingControl.d.ts +14 -0
- package/dist/components/inspector/ContentBindingControl.d.ts.map +1 -0
- package/dist/components/inspector/ContentBindingControl.js +42 -0
- package/dist/components/inspector/ContentBindingControl.js.map +1 -0
- package/dist/components/inspector/PinControl.d.ts +10 -0
- package/dist/components/inspector/PinControl.d.ts.map +1 -0
- package/dist/components/inspector/PinControl.js +14 -0
- package/dist/components/inspector/PinControl.js.map +1 -0
- package/dist/components/inspector/constants.d.ts +8 -0
- package/dist/components/inspector/constants.d.ts.map +1 -0
- package/dist/components/inspector/constants.js +12 -0
- package/dist/components/inspector/constants.js.map +1 -0
- package/dist/components/inspector/content-item-label.d.ts +2 -0
- package/dist/components/inspector/content-item-label.d.ts.map +1 -0
- package/dist/components/inspector/content-item-label.js +23 -0
- package/dist/components/inspector/content-item-label.js.map +1 -0
- package/dist/components/page-frame/InsertSlot.d.ts +19 -0
- package/dist/components/page-frame/InsertSlot.d.ts.map +1 -0
- package/dist/components/page-frame/InsertSlot.js +55 -0
- package/dist/components/page-frame/InsertSlot.js.map +1 -0
- package/dist/components/page-frame/PageFrameBlockList.d.ts +43 -0
- package/dist/components/page-frame/PageFrameBlockList.d.ts.map +1 -0
- package/dist/components/page-frame/PageFrameBlockList.js +204 -0
- package/dist/components/page-frame/PageFrameBlockList.js.map +1 -0
- package/dist/components/page-frame/PageFrameControls.d.ts +23 -0
- package/dist/components/page-frame/PageFrameControls.d.ts.map +1 -0
- package/dist/components/page-frame/PageFrameControls.js +36 -0
- package/dist/components/page-frame/PageFrameControls.js.map +1 -0
- package/dist/components/page-frame/PageFramePathEditor.d.ts +33 -0
- package/dist/components/page-frame/PageFramePathEditor.d.ts.map +1 -0
- package/dist/components/page-frame/PageFramePathEditor.js +5 -0
- package/dist/components/page-frame/PageFramePathEditor.js.map +1 -0
- package/dist/components/page-frame/viewport.d.ts +26 -0
- package/dist/components/page-frame/viewport.d.ts.map +1 -0
- package/dist/components/page-frame/viewport.js +37 -0
- package/dist/components/page-frame/viewport.js.map +1 -0
- package/dist/content-model.d.ts +36 -0
- package/dist/content-model.d.ts.map +1 -0
- package/dist/content-model.js +15 -0
- package/dist/content-model.js.map +1 -0
- package/dist/contentModel.d.ts +3 -0
- package/dist/contentModel.d.ts.map +1 -0
- package/dist/contentModel.js +2 -0
- package/dist/contentModel.js.map +1 -0
- package/dist/designSettings.d.ts +11 -0
- package/dist/designSettings.d.ts.map +1 -0
- package/dist/designSettings.js +96 -0
- package/dist/designSettings.js.map +1 -0
- package/dist/drag-transfer.d.ts +28 -0
- package/dist/drag-transfer.d.ts.map +1 -0
- package/dist/drag-transfer.js +42 -0
- package/dist/drag-transfer.js.map +1 -0
- package/dist/editor/app/AppCanvas.d.ts +2 -0
- package/dist/editor/app/AppCanvas.d.ts.map +1 -0
- package/dist/editor/app/AppCanvas.js +2 -0
- package/dist/editor/app/AppCanvas.js.map +1 -0
- package/dist/editor/app/AppDialogs.d.ts +2 -0
- package/dist/editor/app/AppDialogs.d.ts.map +1 -0
- package/dist/editor/app/AppDialogs.js +2 -0
- package/dist/editor/app/AppDialogs.js.map +1 -0
- package/dist/editor/app/AppInspectorPanel.d.ts +2 -0
- package/dist/editor/app/AppInspectorPanel.d.ts.map +1 -0
- package/dist/editor/app/AppInspectorPanel.js +2 -0
- package/dist/editor/app/AppInspectorPanel.js.map +1 -0
- package/dist/editor/app/deriveSelectionState.d.ts +2 -0
- package/dist/editor/app/deriveSelectionState.d.ts.map +1 -0
- package/dist/editor/app/deriveSelectionState.js +2 -0
- package/dist/editor/app/deriveSelectionState.js.map +1 -0
- package/dist/editor/app/helpers.d.ts +2 -0
- package/dist/editor/app/helpers.d.ts.map +1 -0
- package/dist/editor/app/helpers.js +2 -0
- package/dist/editor/app/helpers.js.map +1 -0
- package/dist/editor/app/useCollectionEditing.d.ts +2 -0
- package/dist/editor/app/useCollectionEditing.d.ts.map +1 -0
- package/dist/editor/app/useCollectionEditing.js +2 -0
- package/dist/editor/app/useCollectionEditing.js.map +1 -0
- package/dist/editor/app/useCommitActions.d.ts +2 -0
- package/dist/editor/app/useCommitActions.d.ts.map +1 -0
- package/dist/editor/app/useCommitActions.js +2 -0
- package/dist/editor/app/useCommitActions.js.map +1 -0
- package/dist/editor/app/useEditorEffects.d.ts +2 -0
- package/dist/editor/app/useEditorEffects.d.ts.map +1 -0
- package/dist/editor/app/useEditorEffects.js +2 -0
- package/dist/editor/app/useEditorEffects.js.map +1 -0
- package/dist/editor/app/useEditorRuntime.d.ts +2 -0
- package/dist/editor/app/useEditorRuntime.d.ts.map +1 -0
- package/dist/editor/app/useEditorRuntime.js +2 -0
- package/dist/editor/app/useEditorRuntime.js.map +1 -0
- package/dist/editor/app/useEditorState.d.ts +2 -0
- package/dist/editor/app/useEditorState.d.ts.map +1 -0
- package/dist/editor/app/useEditorState.js +2 -0
- package/dist/editor/app/useEditorState.js.map +1 -0
- package/dist/editor/app/usePageOps.d.ts +2 -0
- package/dist/editor/app/usePageOps.d.ts.map +1 -0
- package/dist/editor/app/usePageOps.js +2 -0
- package/dist/editor/app/usePageOps.js.map +1 -0
- package/dist/editor/app/usePersistence.d.ts +2 -0
- package/dist/editor/app/usePersistence.d.ts.map +1 -0
- package/dist/editor/app/usePersistence.js +2 -0
- package/dist/editor/app/usePersistence.js.map +1 -0
- package/dist/editor/app/usePreviewSession.d.ts +2 -0
- package/dist/editor/app/usePreviewSession.d.ts.map +1 -0
- package/dist/editor/app/usePreviewSession.js +2 -0
- package/dist/editor/app/usePreviewSession.js.map +1 -0
- package/dist/editor/app/useWorkspaceDocumentSync.d.ts +2 -0
- package/dist/editor/app/useWorkspaceDocumentSync.d.ts.map +1 -0
- package/dist/editor/app/useWorkspaceDocumentSync.js +2 -0
- package/dist/editor/app/useWorkspaceDocumentSync.js.map +1 -0
- package/dist/editor/bindingChips.d.ts +2 -0
- package/dist/editor/bindingChips.d.ts.map +1 -0
- package/dist/editor/bindingChips.js +2 -0
- package/dist/editor/bindingChips.js.map +1 -0
- package/dist/editor/blockInteraction.d.ts +2 -0
- package/dist/editor/blockInteraction.d.ts.map +1 -0
- package/dist/editor/blockInteraction.js +2 -0
- package/dist/editor/blockInteraction.js.map +1 -0
- package/dist/editor/blockPresets.d.ts +2 -0
- package/dist/editor/blockPresets.d.ts.map +1 -0
- package/dist/editor/blockPresets.js +2 -0
- package/dist/editor/blockPresets.js.map +1 -0
- package/dist/editor/collectionItemAddress.d.ts +2 -0
- package/dist/editor/collectionItemAddress.d.ts.map +1 -0
- package/dist/editor/collectionItemAddress.js +2 -0
- package/dist/editor/collectionItemAddress.js.map +1 -0
- package/dist/editor/contentModel.d.ts +2 -0
- package/dist/editor/contentModel.d.ts.map +1 -0
- package/dist/editor/contentModel.js +2 -0
- package/dist/editor/contentModel.js.map +1 -0
- package/dist/editor/designSettings.d.ts +2 -0
- package/dist/editor/designSettings.d.ts.map +1 -0
- package/dist/editor/designSettings.js +2 -0
- package/dist/editor/designSettings.js.map +1 -0
- package/dist/editor/editorClipboard.d.ts +2 -0
- package/dist/editor/editorClipboard.d.ts.map +1 -0
- package/dist/editor/editorClipboard.js +2 -0
- package/dist/editor/editorClipboard.js.map +1 -0
- package/dist/editor/formatDate.d.ts +2 -0
- package/dist/editor/formatDate.d.ts.map +1 -0
- package/dist/editor/formatDate.js +2 -0
- package/dist/editor/formatDate.js.map +1 -0
- package/dist/editor/iconCatalog.d.ts +2 -0
- package/dist/editor/iconCatalog.d.ts.map +1 -0
- package/dist/editor/iconCatalog.js +2 -0
- package/dist/editor/iconCatalog.js.map +1 -0
- package/dist/editor/pageActions.d.ts +2 -0
- package/dist/editor/pageActions.d.ts.map +1 -0
- package/dist/editor/pageActions.js +2 -0
- package/dist/editor/pageActions.js.map +1 -0
- package/dist/editor/pagePaths.d.ts +2 -0
- package/dist/editor/pagePaths.d.ts.map +1 -0
- package/dist/editor/pagePaths.js +2 -0
- package/dist/editor/pagePaths.js.map +1 -0
- package/dist/editor/pagesActions.d.ts +2 -0
- package/dist/editor/pagesActions.d.ts.map +1 -0
- package/dist/editor/pagesActions.js +2 -0
- package/dist/editor/pagesActions.js.map +1 -0
- package/dist/editor/renderActions.d.ts +2 -0
- package/dist/editor/renderActions.d.ts.map +1 -0
- package/dist/editor/renderActions.js +2 -0
- package/dist/editor/renderActions.js.map +1 -0
- package/dist/editor/translation.d.ts +2 -0
- package/dist/editor/translation.d.ts.map +1 -0
- package/dist/editor/translation.js +2 -0
- package/dist/editor/translation.js.map +1 -0
- package/dist/editor/useCanvasBackStack.d.ts +2 -0
- package/dist/editor/useCanvasBackStack.d.ts.map +1 -0
- package/dist/editor/useCanvasBackStack.js +2 -0
- package/dist/editor/useCanvasBackStack.js.map +1 -0
- package/dist/editor/useCanvasCamera.d.ts +2 -0
- package/dist/editor/useCanvasCamera.d.ts.map +1 -0
- package/dist/editor/useCanvasCamera.js +2 -0
- package/dist/editor/useCanvasCamera.js.map +1 -0
- package/dist/editor/useCanvasFocus.d.ts +2 -0
- package/dist/editor/useCanvasFocus.d.ts.map +1 -0
- package/dist/editor/useCanvasFocus.js +2 -0
- package/dist/editor/useCanvasFocus.js.map +1 -0
- package/dist/editor/useCanvasKeyboardNav.d.ts +2 -0
- package/dist/editor/useCanvasKeyboardNav.d.ts.map +1 -0
- package/dist/editor/useCanvasKeyboardNav.js +2 -0
- package/dist/editor/useCanvasKeyboardNav.js.map +1 -0
- package/dist/editor/useClipboardActions.d.ts +2 -0
- package/dist/editor/useClipboardActions.d.ts.map +1 -0
- package/dist/editor/useClipboardActions.js +2 -0
- package/dist/editor/useClipboardActions.js.map +1 -0
- package/dist/editor/useColumnWindow.d.ts +2 -0
- package/dist/editor/useColumnWindow.d.ts.map +1 -0
- package/dist/editor/useColumnWindow.js +2 -0
- package/dist/editor/useColumnWindow.js.map +1 -0
- package/dist/editor/useEditorHistory.d.ts +2 -0
- package/dist/editor/useEditorHistory.d.ts.map +1 -0
- package/dist/editor/useEditorHistory.js +2 -0
- package/dist/editor/useEditorHistory.js.map +1 -0
- package/dist/editor/usePagePathEditor.d.ts +2 -0
- package/dist/editor/usePagePathEditor.d.ts.map +1 -0
- package/dist/editor/usePagePathEditor.js +2 -0
- package/dist/editor/usePagePathEditor.js.map +1 -0
- package/dist/editor/usePageTitleEditor.d.ts +2 -0
- package/dist/editor/usePageTitleEditor.d.ts.map +1 -0
- package/dist/editor/usePageTitleEditor.js +2 -0
- package/dist/editor/usePageTitleEditor.js.map +1 -0
- package/dist/editor/useTextFocusIntent.d.ts +2 -0
- package/dist/editor/useTextFocusIntent.d.ts.map +1 -0
- package/dist/editor/useTextFocusIntent.js +2 -0
- package/dist/editor/useTextFocusIntent.js.map +1 -0
- package/dist/editorClipboard.d.ts +23 -0
- package/dist/editorClipboard.d.ts.map +1 -0
- package/dist/editorClipboard.js +46 -0
- package/dist/editorClipboard.js.map +1 -0
- package/dist/fields-bridge.d.ts +26 -0
- package/dist/fields-bridge.d.ts.map +1 -0
- package/dist/fields-bridge.js +217 -0
- package/dist/fields-bridge.js.map +1 -0
- package/dist/formatDate.d.ts +8 -0
- package/dist/formatDate.d.ts.map +1 -0
- package/dist/formatDate.js +34 -0
- package/dist/formatDate.js.map +1 -0
- package/dist/grid-state.d.ts +29 -0
- package/dist/grid-state.d.ts.map +1 -0
- package/dist/grid-state.js +207 -0
- package/dist/grid-state.js.map +1 -0
- package/dist/history/commands.d.ts +29 -0
- package/dist/history/commands.d.ts.map +1 -0
- package/dist/history/commands.js +63 -0
- package/dist/history/commands.js.map +1 -0
- package/dist/history/diff.d.ts +22 -0
- package/dist/history/diff.d.ts.map +1 -0
- package/dist/history/diff.js +259 -0
- package/dist/history/diff.js.map +1 -0
- package/dist/history/transforms.d.ts +19 -0
- package/dist/history/transforms.d.ts.map +1 -0
- package/dist/history/transforms.js +69 -0
- package/dist/history/transforms.js.map +1 -0
- package/dist/history/types.d.ts +23 -0
- package/dist/history/types.d.ts.map +1 -0
- package/dist/history/types.js +11 -0
- package/dist/history/types.js.map +1 -0
- package/dist/host-services.d.ts +57 -0
- package/dist/host-services.d.ts.map +1 -0
- package/dist/host-services.js +2 -0
- package/dist/host-services.js.map +1 -0
- package/dist/iconCatalog.d.ts +16 -0
- package/dist/iconCatalog.d.ts.map +1 -0
- package/dist/iconCatalog.js +32 -0
- package/dist/iconCatalog.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/insert-menu.d.ts +17 -0
- package/dist/insert-menu.d.ts.map +1 -0
- package/dist/insert-menu.js +35 -0
- package/dist/insert-menu.js.map +1 -0
- package/dist/model/bind-map.d.ts +6 -0
- package/dist/model/bind-map.d.ts.map +1 -0
- package/dist/model/bind-map.js +6 -0
- package/dist/model/bind-map.js.map +1 -0
- package/dist/model/layout-columns.d.ts +51 -0
- package/dist/model/layout-columns.d.ts.map +1 -0
- package/dist/model/layout-columns.js +74 -0
- package/dist/model/layout-columns.js.map +1 -0
- package/dist/model/page-topology.d.ts +20 -0
- package/dist/model/page-topology.d.ts.map +1 -0
- package/dist/model/page-topology.js +94 -0
- package/dist/model/page-topology.js.map +1 -0
- package/dist/model/page-tree-bridge.d.ts +81 -0
- package/dist/model/page-tree-bridge.d.ts.map +1 -0
- package/dist/model/page-tree-bridge.js +234 -0
- package/dist/model/page-tree-bridge.js.map +1 -0
- package/dist/model/prop-access.d.ts +69 -0
- package/dist/model/prop-access.d.ts.map +1 -0
- package/dist/model/prop-access.js +94 -0
- package/dist/model/prop-access.js.map +1 -0
- package/dist/mount.d.ts +25 -0
- package/dist/mount.d.ts.map +1 -0
- package/dist/mount.js +26 -0
- package/dist/mount.js.map +1 -0
- package/dist/page-actions.d.ts +26 -0
- package/dist/page-actions.d.ts.map +1 -0
- package/dist/page-actions.js +118 -0
- package/dist/page-actions.js.map +1 -0
- package/dist/pageActions.d.ts +4 -0
- package/dist/pageActions.d.ts.map +1 -0
- package/dist/pageActions.js +4 -0
- package/dist/pageActions.js.map +1 -0
- package/dist/pagePaths.d.ts +30 -0
- package/dist/pagePaths.d.ts.map +1 -0
- package/dist/pagePaths.js +102 -0
- package/dist/pagePaths.js.map +1 -0
- package/dist/pagesActions.d.ts +60 -0
- package/dist/pagesActions.d.ts.map +1 -0
- package/dist/pagesActions.js +216 -0
- package/dist/pagesActions.js.map +1 -0
- package/dist/preview-auth.d.ts +29 -0
- package/dist/preview-auth.d.ts.map +1 -0
- package/dist/preview-auth.js +18 -0
- package/dist/preview-auth.js.map +1 -0
- package/dist/renderActions.d.ts +30 -0
- package/dist/renderActions.d.ts.map +1 -0
- package/dist/renderActions.js +2 -0
- package/dist/renderActions.js.map +1 -0
- package/dist/translation.d.ts +78 -0
- package/dist/translation.d.ts.map +1 -0
- package/dist/translation.js +64 -0
- package/dist/translation.js.map +1 -0
- package/dist/types.d.ts +128 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/useCanvasBackStack.d.ts +19 -0
- package/dist/useCanvasBackStack.d.ts.map +1 -0
- package/dist/useCanvasBackStack.js +49 -0
- package/dist/useCanvasBackStack.js.map +1 -0
- package/dist/useCanvasCamera.d.ts +37 -0
- package/dist/useCanvasCamera.d.ts.map +1 -0
- package/dist/useCanvasCamera.js +247 -0
- package/dist/useCanvasCamera.js.map +1 -0
- package/dist/useCanvasFocus.d.ts +32 -0
- package/dist/useCanvasFocus.d.ts.map +1 -0
- package/dist/useCanvasFocus.js +114 -0
- package/dist/useCanvasFocus.js.map +1 -0
- package/dist/useCanvasKeyboardNav.d.ts +32 -0
- package/dist/useCanvasKeyboardNav.d.ts.map +1 -0
- package/dist/useCanvasKeyboardNav.js +185 -0
- package/dist/useCanvasKeyboardNav.js.map +1 -0
- package/dist/useClipboardActions.d.ts +37 -0
- package/dist/useClipboardActions.d.ts.map +1 -0
- package/dist/useClipboardActions.js +126 -0
- package/dist/useClipboardActions.js.map +1 -0
- package/dist/useColumnWindow.d.ts +29 -0
- package/dist/useColumnWindow.d.ts.map +1 -0
- package/dist/useColumnWindow.js +80 -0
- package/dist/useColumnWindow.js.map +1 -0
- package/dist/useEditorHistory.d.ts +18 -0
- package/dist/useEditorHistory.d.ts.map +1 -0
- package/dist/useEditorHistory.js +91 -0
- package/dist/useEditorHistory.js.map +1 -0
- package/dist/usePagePathEditor.d.ts +36 -0
- package/dist/usePagePathEditor.d.ts.map +1 -0
- package/dist/usePagePathEditor.js +163 -0
- package/dist/usePagePathEditor.js.map +1 -0
- package/dist/usePageTitleEditor.d.ts +17 -0
- package/dist/usePageTitleEditor.d.ts.map +1 -0
- package/dist/usePageTitleEditor.js +101 -0
- package/dist/usePageTitleEditor.js.map +1 -0
- package/dist/useTextFocusIntent.d.ts +13 -0
- package/dist/useTextFocusIntent.d.ts.map +1 -0
- package/dist/useTextFocusIntent.js +70 -0
- package/dist/useTextFocusIntent.js.map +1 -0
- package/package.json +58 -0
- package/styles/index.css +196 -0
- package/styles/preview-auth.css +17 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { findBlock, insertBlocksToColumn, LAYOUT_BLOCK_TYPE, layoutItems, moveBlockToColumn, moveBlockToTopLevel, removeBlock, } from "./page-actions.js";
|
|
2
|
+
import { createPage as createEditorPage, descendantPageIds, joinPagePath, normalizePagePath, splitPagePath, uniquePagePath, } from "./pagePaths.js";
|
|
3
|
+
import { deriveCanvasPageParents } from "@batterai/contract";
|
|
4
|
+
import { insertNodesAt, pullNodeInto, substituteNode, swapNodes } from "./model/page-tree-bridge.js";
|
|
5
|
+
export { descendantPageIds } from "./pagePaths.js";
|
|
6
|
+
export { createEditorPage as createPage, joinPagePath, normalizePagePath, splitPagePath, uniquePagePath, };
|
|
7
|
+
/**
|
|
8
|
+
* Multi-page canvas layer: every page on the board is in memory at once and
|
|
9
|
+
* block/column ids are unique across pages, so operations locate the owning
|
|
10
|
+
* page by id and delegate to the single-page actions in pageActions.ts.
|
|
11
|
+
*/
|
|
12
|
+
export function pageOfBlock(pages, blockId) {
|
|
13
|
+
if (!blockId)
|
|
14
|
+
return null;
|
|
15
|
+
return pages.find((page) => findBlock(page, blockId) !== null) ?? null;
|
|
16
|
+
}
|
|
17
|
+
export function pageOfColumn(pages, columnId) {
|
|
18
|
+
return (pages.find((page) => page.root.some((block) => block.kind === "block" && layoutItems(block).some((column) => column.id === columnId))) ?? null);
|
|
19
|
+
}
|
|
20
|
+
export function findBlockInPages(pages, blockId) {
|
|
21
|
+
const page = pageOfBlock(pages, blockId);
|
|
22
|
+
return page ? findBlock(page, blockId) : null;
|
|
23
|
+
}
|
|
24
|
+
export function updatePage(pages, pageId, fn) {
|
|
25
|
+
return pages.map((page) => (page.id === pageId ? fn(page) : page));
|
|
26
|
+
}
|
|
27
|
+
export function canUsePageAsParent(pages, pageId, parentId) {
|
|
28
|
+
if (!parentId)
|
|
29
|
+
return true;
|
|
30
|
+
if (parentId === pageId)
|
|
31
|
+
return false;
|
|
32
|
+
return !descendantPageIds(pages, pageId).has(parentId);
|
|
33
|
+
}
|
|
34
|
+
function reserveUniquePath(requestedPath, usedPaths) {
|
|
35
|
+
const normalized = normalizePagePath(requestedPath);
|
|
36
|
+
if (!usedPaths.has(normalized)) {
|
|
37
|
+
usedPaths.add(normalized);
|
|
38
|
+
return normalized;
|
|
39
|
+
}
|
|
40
|
+
const { parentPath, segment } = splitPagePath(normalized);
|
|
41
|
+
const baseSegment = segment || "page";
|
|
42
|
+
let counter = 2;
|
|
43
|
+
let candidate = joinPagePath(parentPath ?? "/", `${baseSegment}-${counter}`);
|
|
44
|
+
while (usedPaths.has(candidate)) {
|
|
45
|
+
counter += 1;
|
|
46
|
+
candidate = joinPagePath(parentPath ?? "/", `${baseSegment}-${counter}`);
|
|
47
|
+
}
|
|
48
|
+
usedPaths.add(candidate);
|
|
49
|
+
return candidate;
|
|
50
|
+
}
|
|
51
|
+
export function updatePagePathCascade(pages, pageId, parentId, requestedPath) {
|
|
52
|
+
const hierarchyPages = deriveCanvasPageParents(pages);
|
|
53
|
+
const target = hierarchyPages.find((page) => page.id === pageId);
|
|
54
|
+
if (!target)
|
|
55
|
+
return { pages, changes: [] };
|
|
56
|
+
const nextParentId = parentId && hierarchyPages.some((page) => page.id === parentId) ? parentId : null;
|
|
57
|
+
if (!canUsePageAsParent(hierarchyPages, pageId, nextParentId))
|
|
58
|
+
return { pages, changes: [] };
|
|
59
|
+
const subtreeIds = descendantPageIds(hierarchyPages, pageId);
|
|
60
|
+
subtreeIds.add(pageId);
|
|
61
|
+
const usedPaths = new Set(hierarchyPages
|
|
62
|
+
.filter((page) => !subtreeIds.has(page.id))
|
|
63
|
+
.map((page) => normalizePagePath(page.path)));
|
|
64
|
+
const childrenByParent = new Map();
|
|
65
|
+
for (const page of hierarchyPages) {
|
|
66
|
+
if (!page.parentId)
|
|
67
|
+
continue;
|
|
68
|
+
const children = childrenByParent.get(page.parentId) ?? [];
|
|
69
|
+
children.push(page);
|
|
70
|
+
childrenByParent.set(page.parentId, children);
|
|
71
|
+
}
|
|
72
|
+
const updated = new Map();
|
|
73
|
+
const targetPath = reserveUniquePath(requestedPath, usedPaths);
|
|
74
|
+
updated.set(pageId, { ...target, parentId: nextParentId, path: targetPath });
|
|
75
|
+
const queue = [pageId];
|
|
76
|
+
for (const parentPageId of queue) {
|
|
77
|
+
const parentPage = updated.get(parentPageId);
|
|
78
|
+
if (!parentPage)
|
|
79
|
+
continue;
|
|
80
|
+
for (const child of childrenByParent.get(parentPageId) ?? []) {
|
|
81
|
+
const childSegment = splitPagePath(child.path).segment || child.id;
|
|
82
|
+
const childPath = reserveUniquePath(joinPagePath(parentPage.path, childSegment), usedPaths);
|
|
83
|
+
updated.set(child.id, { ...child, path: childPath });
|
|
84
|
+
queue.push(child.id);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const changes = [];
|
|
88
|
+
const nextPages = hierarchyPages.map((page) => {
|
|
89
|
+
const nextPage = updated.get(page.id);
|
|
90
|
+
if (!nextPage)
|
|
91
|
+
return page;
|
|
92
|
+
const before = normalizePagePath(page.path);
|
|
93
|
+
const after = normalizePagePath(nextPage.path);
|
|
94
|
+
if (before !== after)
|
|
95
|
+
changes.push({ pageId: page.id, before, after });
|
|
96
|
+
return nextPage;
|
|
97
|
+
});
|
|
98
|
+
return { pages: deriveCanvasPageParents(nextPages), changes };
|
|
99
|
+
}
|
|
100
|
+
/** Apply a single-page action to whichever page owns the block; no-op when
|
|
101
|
+
* the block is not on the board. */
|
|
102
|
+
export function updateOwningPage(pages, blockId, fn) {
|
|
103
|
+
const owner = pageOfBlock(pages, blockId);
|
|
104
|
+
return owner ? updatePage(pages, owner.id, fn) : pages;
|
|
105
|
+
}
|
|
106
|
+
/** Apply a single-page action to whichever page owns the layout column. */
|
|
107
|
+
export function updatePageOwningColumn(pages, columnId, fn) {
|
|
108
|
+
const owner = pageOfColumn(pages, columnId);
|
|
109
|
+
return owner ? updatePage(pages, owner.id, fn) : pages;
|
|
110
|
+
}
|
|
111
|
+
/** Move a block to a top-level position, possibly on another page. */
|
|
112
|
+
export function moveBlockToPageIndex(pages, blockId, targetPageId, index) {
|
|
113
|
+
const source = pageOfBlock(pages, blockId);
|
|
114
|
+
if (!source)
|
|
115
|
+
return pages;
|
|
116
|
+
if (source.id === targetPageId) {
|
|
117
|
+
return updatePage(pages, targetPageId, (page) => moveBlockToTopLevel(page, blockId, index));
|
|
118
|
+
}
|
|
119
|
+
const block = findBlock(source, blockId);
|
|
120
|
+
if (!block)
|
|
121
|
+
return pages;
|
|
122
|
+
const withoutSource = updatePage(pages, source.id, (page) => removeBlock(page, blockId));
|
|
123
|
+
return updatePage(withoutSource, targetPageId, (page) => insertNodesAt(page, null, index, [block]));
|
|
124
|
+
}
|
|
125
|
+
/** Is this the id of a top-level (not column-nested) block on any page? */
|
|
126
|
+
export function isTopLevelBlock(pages, blockId) {
|
|
127
|
+
return pages.some((page) => page.root.some((block) => block.id === blockId));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Can a placed block be dropped ON TOP of another for the swap/replace choice?
|
|
131
|
+
* The blocks may sit anywhere — top level or inside a column, same or different
|
|
132
|
+
* page. The one hard rule is that a layout block can never live inside a column
|
|
133
|
+
* (layouts don't nest), so a swap/replace that would move a layout block into a
|
|
134
|
+
* column slot is rejected. Same block, or an unknown id, is never valid.
|
|
135
|
+
*/
|
|
136
|
+
export function canDropBlockOnBlock(pages, sourceId, targetId) {
|
|
137
|
+
if (sourceId === targetId)
|
|
138
|
+
return false;
|
|
139
|
+
const source = findBlockInPages(pages, sourceId);
|
|
140
|
+
const target = findBlockInPages(pages, targetId);
|
|
141
|
+
if (!source || !target)
|
|
142
|
+
return false;
|
|
143
|
+
const sourceNested = !isTopLevelBlock(pages, sourceId);
|
|
144
|
+
const targetNested = !isTopLevelBlock(pages, targetId);
|
|
145
|
+
// Either move would drop a layout block into a column slot — not allowed.
|
|
146
|
+
if (source.blockType === LAYOUT_BLOCK_TYPE && targetNested)
|
|
147
|
+
return false;
|
|
148
|
+
if (target.blockType === LAYOUT_BLOCK_TYPE && sourceNested)
|
|
149
|
+
return false;
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Swap two blocks' positions (the "Swap" drop choice). Both are kept; each
|
|
154
|
+
* takes the other's slot — top level, inside a column, or on a different page.
|
|
155
|
+
* Each page substitutes whichever of the two ids it owns (block ids are unique
|
|
156
|
+
* across pages), the slot preserved by `page-tree.ts`'s `replacePageNode` — so
|
|
157
|
+
* no index math and no second tree walker.
|
|
158
|
+
*/
|
|
159
|
+
export function swapBlocks(pages, aId, bId) {
|
|
160
|
+
if (!canDropBlockOnBlock(pages, aId, bId))
|
|
161
|
+
return pages;
|
|
162
|
+
const a = findBlockInPages(pages, aId);
|
|
163
|
+
const b = findBlockInPages(pages, bId);
|
|
164
|
+
if (!a || !b)
|
|
165
|
+
return pages;
|
|
166
|
+
const pageA = pageOfBlock(pages, aId);
|
|
167
|
+
const pageB = pageOfBlock(pages, bId);
|
|
168
|
+
// Same page: one single-pass swap (safe against the two-substitute
|
|
169
|
+
// double-match). Across pages: each page holds only one id, so substituting
|
|
170
|
+
// both targets on every page swaps them with no collision.
|
|
171
|
+
if (pageA && pageB && pageA.id === pageB.id) {
|
|
172
|
+
return updatePage(pages, pageA.id, (page) => swapNodes(page, aId, bId));
|
|
173
|
+
}
|
|
174
|
+
return pages.map((page) => substituteNode(substituteNode(page, aId, b), bId, a));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Replace a block with another (the "Replace" drop choice): the dragged
|
|
178
|
+
* source takes the target's slot and the target is removed. The source is
|
|
179
|
+
* pulled out of its own slot in the same pass. Works at any nesting level and
|
|
180
|
+
* across pages via `page-tree.ts` (remove source, substitute at target).
|
|
181
|
+
*/
|
|
182
|
+
export function replaceBlock(pages, sourceId, targetId) {
|
|
183
|
+
if (!canDropBlockOnBlock(pages, sourceId, targetId))
|
|
184
|
+
return pages;
|
|
185
|
+
const source = findBlockInPages(pages, sourceId);
|
|
186
|
+
if (!source)
|
|
187
|
+
return pages;
|
|
188
|
+
// Same page: remove-and-substitute in one root pass. Across pages: drop the
|
|
189
|
+
// source on its page, place it in the target's slot on the target's page.
|
|
190
|
+
const sourcePage = pageOfBlock(pages, sourceId);
|
|
191
|
+
const targetPage = pageOfBlock(pages, targetId);
|
|
192
|
+
if (sourcePage && targetPage && sourcePage.id === targetPage.id) {
|
|
193
|
+
return updatePage(pages, sourcePage.id, (page) => pullNodeInto(page, sourceId, targetId, source));
|
|
194
|
+
}
|
|
195
|
+
const withoutSource = sourcePage
|
|
196
|
+
? updatePage(pages, sourcePage.id, (page) => removeBlock(page, sourceId))
|
|
197
|
+
: pages;
|
|
198
|
+
return withoutSource.map((page) => substituteNode(page, targetId, source));
|
|
199
|
+
}
|
|
200
|
+
/** Move a block into a layout column, possibly on another page. Layout
|
|
201
|
+
* blocks never nest, regardless of the target page. */
|
|
202
|
+
export function moveBlockToColumnInPages(pages, blockId, columnId, index) {
|
|
203
|
+
const source = pageOfBlock(pages, blockId);
|
|
204
|
+
const target = pageOfColumn(pages, columnId);
|
|
205
|
+
if (!source || !target)
|
|
206
|
+
return pages;
|
|
207
|
+
const block = findBlock(source, blockId);
|
|
208
|
+
if (!block || block.blockType === LAYOUT_BLOCK_TYPE)
|
|
209
|
+
return pages;
|
|
210
|
+
if (source.id === target.id) {
|
|
211
|
+
return updatePage(pages, target.id, (page) => moveBlockToColumn(page, blockId, columnId, index));
|
|
212
|
+
}
|
|
213
|
+
const withoutSource = updatePage(pages, source.id, (page) => removeBlock(page, blockId));
|
|
214
|
+
return updatePage(withoutSource, target.id, (page) => insertBlocksToColumn(page, columnId, index, [block]));
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=pagesActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagesActions.js","sourceRoot":"","sources":["../src/pagesActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CanvasPage, EditorShellContent, EditorShellPreviewUser } from "./types";
|
|
2
|
+
export type EditorPreviewAuthConfig<Content extends EditorShellContent = EditorShellContent, User extends EditorShellPreviewUser<Content> = EditorShellPreviewUser<Content>> = {
|
|
3
|
+
homepagePageId?: string;
|
|
4
|
+
loginPageId?: string;
|
|
5
|
+
loginRouteId?: string;
|
|
6
|
+
users?: (content: Content) => readonly User[];
|
|
7
|
+
loadUserId?: () => string | null;
|
|
8
|
+
storeUserId?: (id: string | null) => void;
|
|
9
|
+
isProtectedPage?: (page: CanvasPage) => boolean;
|
|
10
|
+
isPreviewPage?: (page: CanvasPage, content: Content) => boolean;
|
|
11
|
+
contentForUser?: (content: Content, user: User) => Content;
|
|
12
|
+
lockedTitle?: string;
|
|
13
|
+
lockedDescription?: string;
|
|
14
|
+
};
|
|
15
|
+
export type ResolvedEditorPreviewAuth<Content extends EditorShellContent = EditorShellContent, User extends EditorShellPreviewUser<Content> = EditorShellPreviewUser<Content>> = {
|
|
16
|
+
homepagePageId: string;
|
|
17
|
+
loginPageId: string;
|
|
18
|
+
loginRouteId?: string;
|
|
19
|
+
users: (content: Content) => readonly User[];
|
|
20
|
+
loadUserId: () => string | null;
|
|
21
|
+
storeUserId: (id: string | null) => void;
|
|
22
|
+
isProtectedPage: (page: CanvasPage) => boolean;
|
|
23
|
+
isPreviewPage: (page: CanvasPage, content: Content) => boolean;
|
|
24
|
+
contentForUser: (content: Content, user: User) => Content;
|
|
25
|
+
lockedTitle: string;
|
|
26
|
+
lockedDescription: string;
|
|
27
|
+
};
|
|
28
|
+
export declare function resolvePreviewAuth<Content extends EditorShellContent, User extends EditorShellPreviewUser<Content>>(config: EditorPreviewAuthConfig<Content, User> | undefined): ResolvedEditorPreviewAuth<Content, User>;
|
|
29
|
+
//# sourceMappingURL=preview-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-auth.d.ts","sourceRoot":"","sources":["../src/preview-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtF,MAAM,MAAM,uBAAuB,CACjC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,IAAI,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAC5E;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAChE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,IAAI,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAC5E;IACF,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAC/D,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,SAAS,kBAAkB,EAClC,IAAI,SAAS,sBAAsB,CAAC,OAAO,CAAC,EAE5C,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,GACzD,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAmB1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function resolvePreviewAuth(config) {
|
|
2
|
+
return {
|
|
3
|
+
homepagePageId: config?.homepagePageId ?? "home",
|
|
4
|
+
loginPageId: config?.loginPageId ?? "login",
|
|
5
|
+
loginRouteId: config?.loginRouteId,
|
|
6
|
+
users: config?.users ?? (() => []),
|
|
7
|
+
loadUserId: config?.loadUserId ?? (() => null),
|
|
8
|
+
storeUserId: config?.storeUserId ?? (() => undefined),
|
|
9
|
+
isProtectedPage: config?.isProtectedPage ?? (() => false),
|
|
10
|
+
isPreviewPage: config?.isPreviewPage ?? (() => false),
|
|
11
|
+
contentForUser: config?.contentForUser ??
|
|
12
|
+
((content, user) => ({ ...content, ...(user.content ?? {}) })),
|
|
13
|
+
lockedTitle: config?.lockedTitle ?? "Sign-in required",
|
|
14
|
+
lockedDescription: config?.lockedDescription ??
|
|
15
|
+
"This page depends on the signed-in visitor and is hidden until preview sign-in.",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=preview-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-auth.js","sourceRoot":"","sources":["../src/preview-auth.ts"],"names":[],"mappings":"AAoCA,MAAM,UAAU,kBAAkB,CAIhC,MAA0D;IAE1D,OAAO;QACL,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,MAAM;QAChD,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,OAAO;QAC3C,YAAY,EAAE,MAAM,EAAE,YAAY;QAClC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAClC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC9C,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACrD,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACzD,aAAa,EACX,MAAM,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;QACxC,cAAc,EACZ,MAAM,EAAE,cAAc;YACtB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAY,CAAC;QAC3E,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,kBAAkB;QACtD,iBAAiB,EACf,MAAM,EAAE,iBAAiB;YACzB,iFAAiF;KACpF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { CollectionItem, EditorShellContent, EditorShellPreviewUser } from "./types";
|
|
3
|
+
import type { CanvasContentBinding } from "@batterai/contract";
|
|
4
|
+
export type RendererActions<Content extends EditorShellContent = EditorShellContent> = {
|
|
5
|
+
/** Content item selected at page level. Custom host renderers use this to
|
|
6
|
+
* resolve non-text fields such as galleries and prices against the exact
|
|
7
|
+
* same inherited instance that inline binding edits use. */
|
|
8
|
+
pageContentBinding?: CanvasContentBinding;
|
|
9
|
+
/** Inline icon edit for service-card blocks. Kept specific so rendered
|
|
10
|
+
* blocks do not grow a general prop mutation surface. */
|
|
11
|
+
onEditServiceCardIcon?: (blockId: string, iconId: string) => void;
|
|
12
|
+
/** Clicking a list item (any collection) jumps to that collection's
|
|
13
|
+
* detail template page and shows the clicked item there. */
|
|
14
|
+
onOpenCollectionItem?: (collection: string, itemId: string) => void;
|
|
15
|
+
/** Commit a structured edit to a CMS collection item (e.g. the detail
|
|
16
|
+
* template's controlled-vocabulary chips: category, meta). Same channel as
|
|
17
|
+
* the inspector item panel, so every list/template showing it updates. */
|
|
18
|
+
onEditCollectionItem?: (collection: string, itemId: string, patch: Partial<CollectionItem>) => void;
|
|
19
|
+
/** View-state (not content): which item each detail template currently
|
|
20
|
+
* previews, keyed by collection name. Falls back to the first item. */
|
|
21
|
+
collectionPreviewItems?: Record<string, string>;
|
|
22
|
+
/** Preview-only visitor sign-in; real host auth stays outside the shell. */
|
|
23
|
+
onPreviewLogin?: (user: EditorShellPreviewUser<Content>) => void;
|
|
24
|
+
/** The "+ add item" affordance for a collection-list block. The harness
|
|
25
|
+
* builds it (so every list gets the same control) and hands it in ONLY
|
|
26
|
+
* when this block is the active/selected one; the block decides WHERE to
|
|
27
|
+
* render it. Absent otherwise, so the block shows nothing. */
|
|
28
|
+
addItemControl?: ReactNode;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=renderActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderActions.d.ts","sourceRoot":"","sources":["../src/renderActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IACrF;;gEAE4D;IAC5D,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C;6DACyD;IACzD,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE;gEAC4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;;8EAE0E;IAC1E,oBAAoB,CAAC,EAAE,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,KAC3B,IAAI,CAAC;IACV;2EACuE;IACvE,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE;;;kEAG8D;IAC9D,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderActions.js","sourceRoot":"","sources":["../src/renderActions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { BindingEntry, BindingToken } from "./bindingChips";
|
|
2
|
+
export type Locale = string;
|
|
3
|
+
export declare const BASE_LOCALE: Locale;
|
|
4
|
+
export declare const AVAILABLE_LOCALES: readonly Locale[];
|
|
5
|
+
export declare const LOCALE_LABELS: Record<Locale, string>;
|
|
6
|
+
/** locale -> "<blockId>:<field>" -> translated text. Base locale is never
|
|
7
|
+
* stored here — it lives directly on block.props. Non-base overrides are
|
|
8
|
+
* loaded from and saved to the host CMS content surface. */
|
|
9
|
+
export type TranslationStore = Partial<Record<Locale, Record<string, string>>>;
|
|
10
|
+
export type BindingTextEdit = {
|
|
11
|
+
readonly token: BindingToken;
|
|
12
|
+
readonly value: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function translationKey(blockId: string, field: string): string;
|
|
15
|
+
export type PendingTextFocus = {
|
|
16
|
+
id: number;
|
|
17
|
+
blockId: string;
|
|
18
|
+
field: string;
|
|
19
|
+
clientX: number;
|
|
20
|
+
clientY: number;
|
|
21
|
+
};
|
|
22
|
+
/** Shared language state exposed to site/block UI. Blocks own the presentation
|
|
23
|
+
* (tabs, a select, a menu, flags, etc.); Canvas owns the state so every picker
|
|
24
|
+
* stays synchronized with the global toolbar control. */
|
|
25
|
+
export type CanvasLanguageController = {
|
|
26
|
+
readonly activeLocale: Locale;
|
|
27
|
+
readonly availableLocales: readonly Locale[];
|
|
28
|
+
readonly changeLocale: (locale: Locale) => void;
|
|
29
|
+
};
|
|
30
|
+
export type EditorRuntime = {
|
|
31
|
+
editMode: boolean;
|
|
32
|
+
globalEditMode: boolean;
|
|
33
|
+
contentBindingMode: boolean;
|
|
34
|
+
activeLocale: Locale;
|
|
35
|
+
readonly language: CanvasLanguageController;
|
|
36
|
+
isBaseLocale: boolean;
|
|
37
|
+
/** Path of the page this block tree is rendered on. Used by the site header
|
|
38
|
+
* to highlight the nav item that points at the current page. Injected
|
|
39
|
+
* per-page by PageFrame; undefined outside a page frame. */
|
|
40
|
+
currentPath?: string;
|
|
41
|
+
/** Resolve display text for a field: the translation override when one
|
|
42
|
+
* exists and we're not on the base locale, otherwise the base value. */
|
|
43
|
+
getText: (blockId: string, field: string, baseValue: string) => string;
|
|
44
|
+
/** Whether the active (non-base) locale has an explicit override. */
|
|
45
|
+
isOverridden: (blockId: string, field: string) => boolean;
|
|
46
|
+
/** Commit an edit: writes to block.props on the base locale, or to the
|
|
47
|
+
* translation store otherwise. */
|
|
48
|
+
onEditText: (blockId: string, field: string, value: string) => void;
|
|
49
|
+
onTextFocusChange: (focused: boolean) => void;
|
|
50
|
+
/** Content-item fields available at this text caret. Used by the Canvas
|
|
51
|
+
* inline @ picker; empty means the block has no active item context. */
|
|
52
|
+
bindingEntriesFor: (blockId: string) => BindingEntry[];
|
|
53
|
+
/** Resolve a stored binding chip to the current item value for rendering. */
|
|
54
|
+
resolveBinding: (blockId: string, token: BindingToken) => string | null;
|
|
55
|
+
/** Commit an inline edit made inside a resolved binding chip. */
|
|
56
|
+
onEditBinding: (blockId: string, token: BindingToken, value: string) => void;
|
|
57
|
+
/** Commit a page text edit and resolved binding-chip edits atomically. */
|
|
58
|
+
onEditTextWithBindings: (blockId: string, field: string, value: string, bindingEdits: readonly BindingTextEdit[]) => void;
|
|
59
|
+
pendingTextFocus?: PendingTextFocus | null;
|
|
60
|
+
onPendingTextFocusHandled?: (id: number) => void;
|
|
61
|
+
requestTextFocus?: (focus: Omit<PendingTextFocus, "id">) => void;
|
|
62
|
+
};
|
|
63
|
+
export declare function createEditorRuntime(params: {
|
|
64
|
+
editMode: boolean;
|
|
65
|
+
activeLocale: Locale;
|
|
66
|
+
availableLocales?: readonly Locale[];
|
|
67
|
+
onLocaleChange?: (locale: Locale) => void;
|
|
68
|
+
baseLocale?: Locale;
|
|
69
|
+
translations: TranslationStore;
|
|
70
|
+
onEditBaseText: (blockId: string, field: string, value: string) => void;
|
|
71
|
+
onEditTranslation: (locale: Locale, blockId: string, field: string, value: string) => void;
|
|
72
|
+
onTextFocusChange: (focused: boolean) => void;
|
|
73
|
+
bindingEntriesFor?: (blockId: string) => BindingEntry[];
|
|
74
|
+
resolveBinding?: (blockId: string, token: BindingToken) => string | null;
|
|
75
|
+
onEditBinding?: (blockId: string, token: BindingToken, value: string) => void;
|
|
76
|
+
onEditTextWithBindings?: (blockId: string, field: string, value: string, bindingEdits: readonly BindingTextEdit[]) => void;
|
|
77
|
+
}): EditorRuntime;
|
|
78
|
+
//# sourceMappingURL=translation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../src/translation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const BASE_LOCALE = "nl";
|
|
2
|
+
export const AVAILABLE_LOCALES = ["nl", "en"];
|
|
3
|
+
export const LOCALE_LABELS = {
|
|
4
|
+
nl: "Dutch",
|
|
5
|
+
en: "English",
|
|
6
|
+
};
|
|
7
|
+
export function translationKey(blockId, field) {
|
|
8
|
+
return `${blockId}:${field}`;
|
|
9
|
+
}
|
|
10
|
+
export function createEditorRuntime(params) {
|
|
11
|
+
const { editMode, activeLocale, availableLocales = [activeLocale], onLocaleChange, baseLocale = BASE_LOCALE, translations, onEditBaseText, onEditTranslation, onTextFocusChange, bindingEntriesFor, resolveBinding, onEditBinding, onEditTextWithBindings, } = params;
|
|
12
|
+
const isBaseLocale = activeLocale === baseLocale;
|
|
13
|
+
const editText = (blockId, field, value) => {
|
|
14
|
+
if (isBaseLocale) {
|
|
15
|
+
onEditBaseText(blockId, field, value);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
onEditTranslation(activeLocale, blockId, field, value);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
editMode,
|
|
23
|
+
globalEditMode: editMode,
|
|
24
|
+
contentBindingMode: false,
|
|
25
|
+
activeLocale,
|
|
26
|
+
language: {
|
|
27
|
+
activeLocale,
|
|
28
|
+
availableLocales,
|
|
29
|
+
changeLocale(locale) {
|
|
30
|
+
if (availableLocales.includes(locale))
|
|
31
|
+
onLocaleChange?.(locale);
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
isBaseLocale,
|
|
35
|
+
getText(blockId, field, baseValue) {
|
|
36
|
+
if (isBaseLocale)
|
|
37
|
+
return baseValue;
|
|
38
|
+
const override = translations[activeLocale]?.[translationKey(blockId, field)];
|
|
39
|
+
return override ?? baseValue;
|
|
40
|
+
},
|
|
41
|
+
isOverridden(blockId, field) {
|
|
42
|
+
if (isBaseLocale)
|
|
43
|
+
return false;
|
|
44
|
+
// Collection item renderers select the host CMS field for the active
|
|
45
|
+
// locale themselves (for example titleEn/titleFr). They are not
|
|
46
|
+
// translation-overlay fallbacks and should never receive the shell's
|
|
47
|
+
// untranslated marker.
|
|
48
|
+
if (blockId.startsWith("item:"))
|
|
49
|
+
return true;
|
|
50
|
+
return translations[activeLocale]?.[translationKey(blockId, field)] !== undefined;
|
|
51
|
+
},
|
|
52
|
+
onEditText: editText,
|
|
53
|
+
onTextFocusChange,
|
|
54
|
+
bindingEntriesFor: bindingEntriesFor ?? (() => []),
|
|
55
|
+
resolveBinding: resolveBinding ?? (() => null),
|
|
56
|
+
onEditBinding: onEditBinding ?? (() => undefined),
|
|
57
|
+
onEditTextWithBindings: onEditTextWithBindings ??
|
|
58
|
+
((blockId, field, value, bindingEdits) => {
|
|
59
|
+
bindingEdits.forEach((edit) => onEditBinding?.(blockId, edit.token, edit.value));
|
|
60
|
+
editText(blockId, field, value);
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=translation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../src/translation.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { BlockNode } from "@batterai/bind-core";
|
|
2
|
+
import type { LicenseEvaluation } from "@batterai/trust";
|
|
3
|
+
import type { BlockDefinition, BlockDesignSettings, BlockField, BlockLibrary, BlockPreset, BoxSideSettings, FieldOption, FieldType, GridConfig, SharedBlock } from "@batterai/canvas";
|
|
4
|
+
import type { CanvasDocument } from "@batterai/contract";
|
|
5
|
+
import type { ComponentType, ElementType } from "react";
|
|
6
|
+
export type EditorShellRoute = {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
path: string;
|
|
10
|
+
};
|
|
11
|
+
export type EditorShellMediaAsset = {
|
|
12
|
+
id: string;
|
|
13
|
+
alt: string;
|
|
14
|
+
source?: string;
|
|
15
|
+
title: string;
|
|
16
|
+
url: string;
|
|
17
|
+
};
|
|
18
|
+
export type EditorShellSharedBlock = {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
block: BlockNode;
|
|
22
|
+
};
|
|
23
|
+
export type EditorShellSiteMetadata = {
|
|
24
|
+
title?: string;
|
|
25
|
+
editorTranslationEnabled?: boolean;
|
|
26
|
+
editorBaseLocale?: string;
|
|
27
|
+
editorLocales?: string[];
|
|
28
|
+
};
|
|
29
|
+
export type EditorShellTranslations = Partial<Record<string, Record<string, string>>>;
|
|
30
|
+
export type EditorShellLicenseState = LicenseEvaluation;
|
|
31
|
+
export type EditorShellContent = Record<string, unknown> & {
|
|
32
|
+
media: EditorShellMediaAsset[];
|
|
33
|
+
routes: EditorShellRoute[];
|
|
34
|
+
sharedBlocks?: EditorShellSharedBlock[];
|
|
35
|
+
siteMetadata?: EditorShellSiteMetadata;
|
|
36
|
+
translations?: EditorShellTranslations;
|
|
37
|
+
};
|
|
38
|
+
export type EditorShellCollectionItem = Record<string, unknown> & {
|
|
39
|
+
id: string;
|
|
40
|
+
title?: string;
|
|
41
|
+
date?: string;
|
|
42
|
+
category?: string;
|
|
43
|
+
excerpt?: string;
|
|
44
|
+
body?: string | string[];
|
|
45
|
+
meta?: string[];
|
|
46
|
+
imageId?: string;
|
|
47
|
+
slug?: string;
|
|
48
|
+
};
|
|
49
|
+
export type EditorShellCollectionField = Record<string, unknown> & {
|
|
50
|
+
name: string;
|
|
51
|
+
label?: {
|
|
52
|
+
nl?: string;
|
|
53
|
+
en?: string;
|
|
54
|
+
} | Record<string, string>;
|
|
55
|
+
valueType?: string;
|
|
56
|
+
cardinality?: string;
|
|
57
|
+
};
|
|
58
|
+
export type EditorShellPreviewUser<Content extends EditorShellContent = EditorShellContent> = Record<string, unknown> & {
|
|
59
|
+
id: string;
|
|
60
|
+
name: string;
|
|
61
|
+
email?: string;
|
|
62
|
+
hint?: string;
|
|
63
|
+
content?: Partial<Content>;
|
|
64
|
+
};
|
|
65
|
+
export type EditorShellStatus = {
|
|
66
|
+
adapter?: string;
|
|
67
|
+
connected?: boolean;
|
|
68
|
+
license?: EditorShellLicenseState;
|
|
69
|
+
product?: string;
|
|
70
|
+
runtimeModel?: string;
|
|
71
|
+
source?: string;
|
|
72
|
+
version?: string;
|
|
73
|
+
lastSyncedAt?: string;
|
|
74
|
+
};
|
|
75
|
+
export type { CanvasContentBinding, CanvasPage } from "@batterai/contract";
|
|
76
|
+
export type EditorShellValidationIssue = {
|
|
77
|
+
severity: "error" | "warning";
|
|
78
|
+
message: string;
|
|
79
|
+
blockId?: string;
|
|
80
|
+
};
|
|
81
|
+
export type EditorShellBootstrap<Content extends EditorShellContent = EditorShellContent> = {
|
|
82
|
+
content: Content;
|
|
83
|
+
contentTypes: import("@batterai/bind-core").ContentType[];
|
|
84
|
+
document: CanvasDocument;
|
|
85
|
+
library: BlockLibrary;
|
|
86
|
+
pageStates?: Readonly<Record<string, import("@batterai/contract").HostPageState>>;
|
|
87
|
+
capabilities?: import("@batterai/contract").CanvasCapabilities;
|
|
88
|
+
documentConcurrency?: import("@batterai/contract").HostConcurrencyToken;
|
|
89
|
+
status: EditorShellStatus;
|
|
90
|
+
};
|
|
91
|
+
export type { BlockDefinition, BlockDesignSettings, BlockField, BlockLibrary, BlockPreset, BoxSideSettings, FieldOption, FieldType, GridConfig, SharedBlock, };
|
|
92
|
+
export type CmsStatus = EditorShellStatus;
|
|
93
|
+
export type CmsRoute = EditorShellRoute;
|
|
94
|
+
export type MediaAsset = EditorShellMediaAsset;
|
|
95
|
+
export type CollectionItem = EditorShellCollectionItem;
|
|
96
|
+
export type CollectionFieldDef = EditorShellCollectionField;
|
|
97
|
+
export type CmsTranslations = EditorShellTranslations;
|
|
98
|
+
export type CmsContent = EditorShellContent;
|
|
99
|
+
export type CmsBootstrap = EditorShellBootstrap<CmsContent>;
|
|
100
|
+
export type ValidationIssue = EditorShellValidationIssue;
|
|
101
|
+
export type SiteMetadata = EditorShellSiteMetadata;
|
|
102
|
+
export type PortalUser = EditorShellPreviewUser<CmsContent>;
|
|
103
|
+
export type GenericRendererRuntime = {
|
|
104
|
+
editMode: boolean;
|
|
105
|
+
activeLocale: string;
|
|
106
|
+
/** Optional for delivery-only runtimes. Editor runtimes expose this so a
|
|
107
|
+
* block-designed picker can share Canvas's global language state. */
|
|
108
|
+
language?: {
|
|
109
|
+
readonly activeLocale: string;
|
|
110
|
+
readonly availableLocales: readonly string[];
|
|
111
|
+
readonly changeLocale: (locale: string) => void;
|
|
112
|
+
};
|
|
113
|
+
currentPath?: string;
|
|
114
|
+
};
|
|
115
|
+
export type ShellEditableTextProps<Runtime extends GenericRendererRuntime> = {
|
|
116
|
+
runtime: Runtime;
|
|
117
|
+
blockId: string;
|
|
118
|
+
field: string;
|
|
119
|
+
value: unknown;
|
|
120
|
+
fallback?: string;
|
|
121
|
+
as?: ElementType;
|
|
122
|
+
className?: string;
|
|
123
|
+
multiline?: boolean;
|
|
124
|
+
translatableOnly?: boolean;
|
|
125
|
+
commitOnInput?: boolean;
|
|
126
|
+
};
|
|
127
|
+
export type ShellEditableTextComponent<Runtime extends GenericRendererRuntime> = ComponentType<ShellEditableTextProps<Runtime>>;
|
|
128
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|