@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,68 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { bindingEntriesForItem } from "../bindingChips.js";
|
|
3
|
+
import { parseCollectionItemBlockId } from "../collectionItemAddress.js";
|
|
4
|
+
import { updateBlockProp } from "../pageActions.js";
|
|
5
|
+
import { collectionItemPatchFromInlineField } from "./helpers.js";
|
|
6
|
+
import { createEditorRuntime, translationKey, } from "../translation.js";
|
|
7
|
+
import { writeProp } from "../model/bind-map.js";
|
|
8
|
+
/**
|
|
9
|
+
* The editor runtime memo, extracted verbatim from `App`. Placed at the same
|
|
10
|
+
* fixed ordinal position as the original `useMemo` so the hook-call sequence is
|
|
11
|
+
* preserved. The dependency array is unchanged:
|
|
12
|
+
* `[activeLocale, editMode, pages, translations, bootstrap, collectionPreviewItems]`.
|
|
13
|
+
*/
|
|
14
|
+
export function useEditorRuntime({ editMode, activeLocale, availableLocales, onLocaleChange, baseLocale, translations, pages, bootstrap, collectionPreviewItems, setIsTextEditing, commitRouteLabel, commitSharedBlock, commitContentItem, commitOwningPage, commitTranslations, bindingSourcesForBlock, resolveBinding, commitBindingEdit, commitTextWithBindingEdits, }) {
|
|
15
|
+
return useMemo(() => createEditorRuntime({
|
|
16
|
+
editMode,
|
|
17
|
+
activeLocale,
|
|
18
|
+
availableLocales,
|
|
19
|
+
onLocaleChange,
|
|
20
|
+
baseLocale,
|
|
21
|
+
translations,
|
|
22
|
+
onEditBaseText: (blockId, field, value) => {
|
|
23
|
+
// Nav labels ("nav:<routeId>") are route-registry text, one shared
|
|
24
|
+
// source used by every header and link — route them there first,
|
|
25
|
+
// regardless of whether the header is a shared or local block.
|
|
26
|
+
if (field.startsWith("nav:")) {
|
|
27
|
+
commitRouteLabel(field.slice("nav:".length), value);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Inline edits inside a shared block carry the SHARED block's inner
|
|
31
|
+
// id — route them to the registry, not to any page.
|
|
32
|
+
const sharedOwner = (bootstrap?.content.sharedBlocks ?? []).find((entry) => entry.block.id === blockId);
|
|
33
|
+
if (sharedOwner) {
|
|
34
|
+
commitSharedBlock(sharedOwner.id, (block) => writeProp(block, field, value));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// "item:<collection>:<id>" addresses a CMS collection item (the
|
|
38
|
+
// detail template's texts) instead of a page block.
|
|
39
|
+
const itemAddress = parseCollectionItemBlockId(blockId);
|
|
40
|
+
if (itemAddress) {
|
|
41
|
+
commitContentItem(itemAddress.collection, itemAddress.itemId, (item) => {
|
|
42
|
+
return collectionItemPatchFromInlineField(item, field, value);
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
commitOwningPage(blockId, (current) => updateBlockProp(current, blockId, field, value));
|
|
47
|
+
},
|
|
48
|
+
onEditTranslation: (locale, blockId, field, value) => {
|
|
49
|
+
const itemAddress = parseCollectionItemBlockId(blockId);
|
|
50
|
+
if (itemAddress) {
|
|
51
|
+
commitContentItem(itemAddress.collection, itemAddress.itemId, (item) => collectionItemPatchFromInlineField(item, field, value));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
commitTranslations((current) => ({
|
|
55
|
+
...current,
|
|
56
|
+
[locale]: { ...(current[locale] ?? {}), [translationKey(blockId, field)]: value },
|
|
57
|
+
}));
|
|
58
|
+
},
|
|
59
|
+
onTextFocusChange: setIsTextEditing,
|
|
60
|
+
bindingEntriesFor: (blockId) => {
|
|
61
|
+
return bindingSourcesForBlock(blockId).flatMap((source) => bindingEntriesForItem(source.collection, source.item, source.scope));
|
|
62
|
+
},
|
|
63
|
+
resolveBinding,
|
|
64
|
+
onEditBinding: commitBindingEdit,
|
|
65
|
+
onEditTextWithBindings: commitTextWithBindingEdits,
|
|
66
|
+
}), [activeLocale, availableLocales, onLocaleChange, baseLocale, editMode, pages, translations, bootstrap, collectionPreviewItems]);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=useEditorRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditorRuntime.js","sourceRoot":"","sources":["../../src/app/useEditorRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { BlockDropChoice } from "./usePageOps";
|
|
2
|
+
import type { CmsBootstrap, CanvasPage } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* All of `App`'s local `useState` slots, extracted verbatim in their original
|
|
5
|
+
* declaration order. Called immediately after `useCanvasFocus`, so the global
|
|
6
|
+
* hook-call sequence is unchanged. Behaviour is identical; only the storage
|
|
7
|
+
* location moved.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useEditorState({ initialPreviewUserId }?: {
|
|
10
|
+
initialPreviewUserId?: string | null;
|
|
11
|
+
}): {
|
|
12
|
+
bootstrap: CmsBootstrap | null;
|
|
13
|
+
setBootstrap: import("react").Dispatch<import("react").SetStateAction<CmsBootstrap | null>>;
|
|
14
|
+
pages: CanvasPage[] | null;
|
|
15
|
+
setPages: (nextPages: CanvasPage[]) => void;
|
|
16
|
+
dirtyPageIds: Set<string>;
|
|
17
|
+
setDirtyPageIds: import("react").Dispatch<import("react").SetStateAction<Set<string>>>;
|
|
18
|
+
savedPageFingerprints: Record<string, string>;
|
|
19
|
+
setSavedPageFingerprints: import("react").Dispatch<import("react").SetStateAction<Record<string, string>>>;
|
|
20
|
+
issues: import("../types").EditorShellValidationIssue[];
|
|
21
|
+
setIssues: import("react").Dispatch<import("react").SetStateAction<import("../types").EditorShellValidationIssue[]>>;
|
|
22
|
+
error: string | null;
|
|
23
|
+
setError: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
24
|
+
operationError: string | null;
|
|
25
|
+
setOperationError: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
26
|
+
saveState: "error" | "idle" | "saving" | "saved";
|
|
27
|
+
setSaveState: import("react").Dispatch<import("react").SetStateAction<"error" | "idle" | "saving" | "saved">>;
|
|
28
|
+
isDragging: boolean;
|
|
29
|
+
setIsDragging: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
30
|
+
isTextEditing: boolean;
|
|
31
|
+
setIsTextEditing: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
32
|
+
activeLocale: string;
|
|
33
|
+
setActiveLocale: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
34
|
+
translations: Partial<Record<string, Record<string, string>>>;
|
|
35
|
+
setTranslations: import("react").Dispatch<import("react").SetStateAction<Partial<Record<string, Record<string, string>>>>>;
|
|
36
|
+
savedTranslationFingerprint: string;
|
|
37
|
+
setSavedTranslationFingerprint: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
38
|
+
dirtyTranslations: boolean;
|
|
39
|
+
setDirtyTranslations: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
40
|
+
previewUserId: string | null;
|
|
41
|
+
setPreviewUserId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
42
|
+
addPageParentId: string | null | undefined;
|
|
43
|
+
setAddPageParentId: import("react").Dispatch<import("react").SetStateAction<string | null | undefined>>;
|
|
44
|
+
blockDropChoice: BlockDropChoice | null;
|
|
45
|
+
setBlockDropChoice: import("react").Dispatch<import("react").SetStateAction<BlockDropChoice | null>>;
|
|
46
|
+
inspectorOpen: boolean;
|
|
47
|
+
setInspectorOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
48
|
+
inspectorScope: "page" | "block";
|
|
49
|
+
setInspectorScope: import("react").Dispatch<import("react").SetStateAction<"page" | "block">>;
|
|
50
|
+
collectionPreviewItems: Record<string, string>;
|
|
51
|
+
setCollectionPreviewItems: import("react").Dispatch<import("react").SetStateAction<Record<string, string>>>;
|
|
52
|
+
dirtyCollections: Set<string>;
|
|
53
|
+
setDirtyCollections: import("react").Dispatch<import("react").SetStateAction<Set<string>>>;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=useEditorState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditorState.d.ts","sourceRoot":"","sources":["../../src/app/useEditorState.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,oBAA2B,EAAE,GAAE;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO;;;;0BAG9E,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyD1C"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { BASE_LOCALE } from "../translation.js";
|
|
3
|
+
import { translationFingerprint } from "./helpers.js";
|
|
4
|
+
/**
|
|
5
|
+
* All of `App`'s local `useState` slots, extracted verbatim in their original
|
|
6
|
+
* declaration order. Called immediately after `useCanvasFocus`, so the global
|
|
7
|
+
* hook-call sequence is unchanged. Behaviour is identical; only the storage
|
|
8
|
+
* location moved.
|
|
9
|
+
*/
|
|
10
|
+
export function useEditorState({ initialPreviewUserId = null } = {}) {
|
|
11
|
+
const [bootstrap, setBootstrap] = useState(null);
|
|
12
|
+
const pages = bootstrap ? [...bootstrap.document.pages] : null;
|
|
13
|
+
const setPages = (nextPages) => {
|
|
14
|
+
setBootstrap((current) => current
|
|
15
|
+
? { ...current, document: { ...current.document, pages: nextPages } }
|
|
16
|
+
: current);
|
|
17
|
+
};
|
|
18
|
+
const [dirtyPageIds, setDirtyPageIds] = useState(new Set());
|
|
19
|
+
const [savedPageFingerprints, setSavedPageFingerprints] = useState({});
|
|
20
|
+
const [issues, setIssues] = useState([]);
|
|
21
|
+
const [error, setError] = useState(null);
|
|
22
|
+
const [operationError, setOperationError] = useState(null);
|
|
23
|
+
const [saveState, setSaveState] = useState("idle");
|
|
24
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
25
|
+
const [isTextEditing, setIsTextEditing] = useState(false);
|
|
26
|
+
const [activeLocale, setActiveLocale] = useState(BASE_LOCALE);
|
|
27
|
+
const [translations, setTranslations] = useState({});
|
|
28
|
+
const [savedTranslationFingerprint, setSavedTranslationFingerprint] = useState(translationFingerprint({}));
|
|
29
|
+
const [dirtyTranslations, setDirtyTranslations] = useState(false);
|
|
30
|
+
const [previewUserId, setPreviewUserId] = useState(initialPreviewUserId);
|
|
31
|
+
const [addPageParentId, setAddPageParentId] = useState(undefined);
|
|
32
|
+
// A placed block dropped on top of another top-level block: the pending
|
|
33
|
+
// swap/replace choice, anchored at the drop point (viewport coords).
|
|
34
|
+
const [blockDropChoice, setBlockDropChoice] = useState(null);
|
|
35
|
+
// The inspector pane is closed by default: selecting a block shows the
|
|
36
|
+
// settings gear in the block's corner, and only clicking that opens it here.
|
|
37
|
+
const [inspectorOpen, setInspectorOpen] = useState(false);
|
|
38
|
+
const [inspectorScope, setInspectorScope] = useState("block");
|
|
39
|
+
// View-state per collection: which item its detail template previews.
|
|
40
|
+
const [collectionPreviewItems, setCollectionPreviewItems] = useState({});
|
|
41
|
+
// Collections with unsaved item edits; saved to the CMS adapter as content
|
|
42
|
+
// drafts on "Save draft".
|
|
43
|
+
const [dirtyCollections, setDirtyCollections] = useState(new Set());
|
|
44
|
+
return {
|
|
45
|
+
bootstrap, setBootstrap,
|
|
46
|
+
pages, setPages,
|
|
47
|
+
dirtyPageIds, setDirtyPageIds,
|
|
48
|
+
savedPageFingerprints, setSavedPageFingerprints,
|
|
49
|
+
issues, setIssues,
|
|
50
|
+
error, setError,
|
|
51
|
+
operationError, setOperationError,
|
|
52
|
+
saveState, setSaveState,
|
|
53
|
+
isDragging, setIsDragging,
|
|
54
|
+
isTextEditing, setIsTextEditing,
|
|
55
|
+
activeLocale, setActiveLocale,
|
|
56
|
+
translations, setTranslations,
|
|
57
|
+
savedTranslationFingerprint, setSavedTranslationFingerprint,
|
|
58
|
+
dirtyTranslations, setDirtyTranslations,
|
|
59
|
+
previewUserId, setPreviewUserId,
|
|
60
|
+
addPageParentId, setAddPageParentId,
|
|
61
|
+
blockDropChoice, setBlockDropChoice,
|
|
62
|
+
inspectorOpen, setInspectorOpen,
|
|
63
|
+
inspectorScope, setInspectorScope,
|
|
64
|
+
collectionPreviewItems, setCollectionPreviewItems,
|
|
65
|
+
dirtyCollections, setDirtyCollections,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=useEditorState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditorState.js","sourceRoot":"","sources":["../../src/app/useEditorState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CanvasPage } from "../types";
|
|
2
|
+
import type { useCanvasFocus } from "../useCanvasFocus";
|
|
3
|
+
type CanvasFocus = ReturnType<typeof useCanvasFocus>;
|
|
4
|
+
export type BlockDropChoice = {
|
|
5
|
+
sourceId: string;
|
|
6
|
+
targetId: string;
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
};
|
|
10
|
+
export type PageOpsDeps = {
|
|
11
|
+
pages: CanvasPage[] | null;
|
|
12
|
+
focus: CanvasFocus;
|
|
13
|
+
activePageId: string;
|
|
14
|
+
selectedId: string | null;
|
|
15
|
+
selectedIds: string[];
|
|
16
|
+
inspectorOpen: boolean;
|
|
17
|
+
addPageParentId: string | null | undefined;
|
|
18
|
+
blockDropChoice: BlockDropChoice | null;
|
|
19
|
+
commitPages: (update: (current: CanvasPage[]) => CanvasPage[]) => void;
|
|
20
|
+
setBlockDropChoice: (value: BlockDropChoice | null) => void;
|
|
21
|
+
setAddPageParentId: (value: string | null | undefined) => void;
|
|
22
|
+
setInspectorScope: (scope: "block" | "page") => void;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Page CRUD and block-drop/selection handlers extracted from `App`. Plain
|
|
26
|
+
* closures over the passed-in state/setters — this hook registers no React
|
|
27
|
+
* hooks. Behaviour is unchanged.
|
|
28
|
+
*/
|
|
29
|
+
export declare function usePageOps({ pages, focus, activePageId, selectedId, selectedIds, inspectorOpen, addPageParentId, blockDropChoice, commitPages, setBlockDropChoice, setAddPageParentId, setInspectorScope, }: PageOpsDeps): {
|
|
30
|
+
handleSelectBlock: (blockId: string | null, extend?: boolean) => void;
|
|
31
|
+
handleBlockDropOnBlock: (sourceId: string, targetId: string, x: number, y: number) => void;
|
|
32
|
+
resolveBlockDrop: (mode: "swap" | "replace") => void;
|
|
33
|
+
handleAddPage: (title: string) => void;
|
|
34
|
+
handleDeleteSelection: () => void;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=usePageOps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageOps.d.ts","sourceRoot":"","sources":["../../src/app/usePageOps.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;IACvE,kBAAkB,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/D,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,EAAE,WAAW;iCACwB,MAAM,GAAG,IAAI;uCAoBP,MAAM,YAAY,MAAM,KAAK,MAAM,KAAK,MAAM;6BAKxD,MAAM,GAAG,SAAS;2BAYpB,MAAM;;EA4BrC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { canDropBlockOnBlock, createPage, pageOfBlock, replaceBlock, swapBlocks, updateOwningPage, } from "../pagesActions.js";
|
|
2
|
+
import { connectedSiblingSelection, removeBlock } from "../pageActions.js";
|
|
3
|
+
/**
|
|
4
|
+
* Page CRUD and block-drop/selection handlers extracted from `App`. Plain
|
|
5
|
+
* closures over the passed-in state/setters — this hook registers no React
|
|
6
|
+
* hooks. Behaviour is unchanged.
|
|
7
|
+
*/
|
|
8
|
+
export function usePageOps({ pages, focus, activePageId, selectedId, selectedIds, inspectorOpen, addPageParentId, blockDropChoice, commitPages, setBlockDropChoice, setAddPageParentId, setInspectorScope, }) {
|
|
9
|
+
function handleSelectBlock(blockId, extend = false) {
|
|
10
|
+
if (!pages || !blockId) {
|
|
11
|
+
focus.clearSelection();
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (inspectorOpen)
|
|
15
|
+
setInspectorScope("block");
|
|
16
|
+
const owner = pageOfBlock(pages, blockId);
|
|
17
|
+
if (extend && owner) {
|
|
18
|
+
// An extend-click keeps the primary on the clicked block but grows the
|
|
19
|
+
// multi-selection to the connected sibling range; move the camera first.
|
|
20
|
+
if (owner.id !== activePageId)
|
|
21
|
+
focus.setActivePageId(owner.id);
|
|
22
|
+
focus.selectMany(blockId, connectedSiblingSelection(owner, selectedId, blockId));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
focus.selectBlock(blockId, owner?.id);
|
|
26
|
+
}
|
|
27
|
+
/** A placed block was dropped on top of another block (top level or nested in
|
|
28
|
+
* a column). Offer swap/replace when the drop is valid — the only rejected
|
|
29
|
+
* case is one that would move a layout block into a column. */
|
|
30
|
+
function handleBlockDropOnBlock(sourceId, targetId, x, y) {
|
|
31
|
+
if (!pages || !canDropBlockOnBlock(pages, sourceId, targetId))
|
|
32
|
+
return;
|
|
33
|
+
setBlockDropChoice({ sourceId, targetId, x, y });
|
|
34
|
+
}
|
|
35
|
+
function resolveBlockDrop(mode) {
|
|
36
|
+
const choice = blockDropChoice;
|
|
37
|
+
if (!choice)
|
|
38
|
+
return;
|
|
39
|
+
commitPages((current) => mode === "swap"
|
|
40
|
+
? swapBlocks(current, choice.sourceId, choice.targetId)
|
|
41
|
+
: replaceBlock(current, choice.sourceId, choice.targetId));
|
|
42
|
+
focus.selectBlock(choice.sourceId);
|
|
43
|
+
setBlockDropChoice(null);
|
|
44
|
+
}
|
|
45
|
+
function handleAddPage(title) {
|
|
46
|
+
if (!pages)
|
|
47
|
+
return;
|
|
48
|
+
const parent = pages.find((candidate) => candidate.id === addPageParentId) ?? null;
|
|
49
|
+
const created = createPage(title, parent, pages);
|
|
50
|
+
commitPages((current) => [...current, created]);
|
|
51
|
+
focus.setActivePageId(created.id);
|
|
52
|
+
setAddPageParentId(undefined);
|
|
53
|
+
}
|
|
54
|
+
function handleDeleteSelection() {
|
|
55
|
+
const ids = selectedIds.length ? selectedIds : selectedId ? [selectedId] : [];
|
|
56
|
+
if (!pages || ids.length === 0)
|
|
57
|
+
return;
|
|
58
|
+
commitPages((current) => ids.reduce((acc, id) => updateOwningPage(acc, id, (target) => removeBlock(target, id)), current));
|
|
59
|
+
focus.clearSelection();
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
handleSelectBlock,
|
|
63
|
+
handleBlockDropOnBlock,
|
|
64
|
+
resolveBlockDrop,
|
|
65
|
+
handleAddPage,
|
|
66
|
+
handleDeleteSelection,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=usePageOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageOps.js","sourceRoot":"","sources":["../../src/app/usePageOps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { TranslationStore } from "../translation";
|
|
2
|
+
import type { CmsBootstrap, CmsContent, CanvasPage, ValidationIssue } from "../types";
|
|
3
|
+
import type { EditorHostServices } from "./hostServices";
|
|
4
|
+
import type { EditorShellContentModel } from "../contentModel";
|
|
5
|
+
import type { EditorCollaborationController } from "./useEditorCollaboration";
|
|
6
|
+
export type PersistenceDeps = {
|
|
7
|
+
pages: CanvasPage[] | null;
|
|
8
|
+
bootstrap: CmsBootstrap | null;
|
|
9
|
+
activePage: CanvasPage | null;
|
|
10
|
+
translations: TranslationStore;
|
|
11
|
+
dirtyCollections: Set<string>;
|
|
12
|
+
dirtyTranslations: boolean;
|
|
13
|
+
dirtyPageIds: Set<string>;
|
|
14
|
+
savedTranslationFingerprint: string;
|
|
15
|
+
savedPageFingerprints: Record<string, string>;
|
|
16
|
+
setBootstrap: React.Dispatch<React.SetStateAction<CmsBootstrap | null>>;
|
|
17
|
+
setPages: (pages: CanvasPage[]) => void;
|
|
18
|
+
setDirtyPageIds: React.Dispatch<React.SetStateAction<Set<string>>>;
|
|
19
|
+
setSavedPageFingerprints: React.Dispatch<React.SetStateAction<Record<string, string>>>;
|
|
20
|
+
setDirtyCollections: React.Dispatch<React.SetStateAction<Set<string>>>;
|
|
21
|
+
setDirtyTranslations: (value: boolean) => void;
|
|
22
|
+
setSavedTranslationFingerprint: (value: string) => void;
|
|
23
|
+
setTranslations: (value: TranslationStore) => void;
|
|
24
|
+
setIssues: (issues: ValidationIssue[]) => void;
|
|
25
|
+
setOperationError: (error: string | null) => void;
|
|
26
|
+
setSaveState: (state: "idle" | "saving" | "saved" | "error") => void;
|
|
27
|
+
contentModel: Pick<EditorShellContentModel, "collectionItems" | "defaultSiteTitle" | "editableCollections">;
|
|
28
|
+
defaultPageId: string;
|
|
29
|
+
hostServices: Pick<EditorHostServices, "readLaunchContext" | "pageIdsToSave" | "saveContentCollection" | "saveMediaAssets" | "document" | "documentRef" | "saveRoutes" | "saveSharedBlocks" | "saveSiteMetadata" | "saveTranslations">;
|
|
30
|
+
collaboration?: EditorCollaborationController;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Save/persistence and the history-apply callbacks, extracted from `App`.
|
|
34
|
+
* These are plain closures over the passed-in state/setters — this hook
|
|
35
|
+
* registers no React hooks, so it may be called at any fixed point (it is
|
|
36
|
+
* called before `useEditorHistory` because the `applyHistory*` callbacks feed
|
|
37
|
+
* into it). Behaviour is unchanged.
|
|
38
|
+
*/
|
|
39
|
+
export declare function usePersistence({ pages, bootstrap, activePage, translations, dirtyCollections, dirtyTranslations, dirtyPageIds, savedTranslationFingerprint, savedPageFingerprints, setBootstrap, setPages, setDirtyPageIds, setSavedPageFingerprints, setDirtyCollections, setDirtyTranslations, setSavedTranslationFingerprint, setTranslations, setIssues, setOperationError, setSaveState, contentModel, defaultPageId, hostServices, collaboration, }: PersistenceDeps): {
|
|
40
|
+
applyHistoryPages: (nextPages: CanvasPage[]) => void;
|
|
41
|
+
applyHistoryContent: (nextContent: CmsContent) => void;
|
|
42
|
+
applyHistoryTranslations: (nextTranslations: TranslationStore) => void;
|
|
43
|
+
handleSave: () => Promise<boolean>;
|
|
44
|
+
handlePublish: () => Promise<boolean>;
|
|
45
|
+
handleStagePage: (pageId: string) => Promise<boolean>;
|
|
46
|
+
handleUnstagePage: (pageId: string) => Promise<boolean>;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=usePersistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePersistence.d.ts","sourceRoot":"","sources":["../../src/app/usePersistence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQvD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAe/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IACxE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACxC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvF,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,eAAe,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAC/C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;IACrE,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC,CAAC;IAC5G,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,IAAI,CAChB,kBAAkB,EAChB,mBAAmB,GACnB,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,CACrB,CAAC;IACF,aAAa,CAAC,EAAE,6BAA6B,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,2BAA2B,EAC3B,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,GACd,EAAE,eAAe;mCAiBsB,UAAU,EAAE;uCAQR,UAAU;iDA6BA,gBAAgB;;;8BAoO7B,MAAM;gCAyBJ,MAAM;EAmChD"}
|