mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-02-24 22:57:24 +08:00
Lexical: Reorganised custom node code into lexical codebase
Also cleaned up old unused imports.
This commit is contained in:
parent
57d8449660
commit
9fdd100f2d
@ -1,4 +1,4 @@
|
|||||||
import {$getSelection, createEditor, CreateEditorArgs, isCurrentlyReadOnlyMode, LexicalEditor} from 'lexical';
|
import {$getSelection, createEditor, CreateEditorArgs, LexicalEditor} from 'lexical';
|
||||||
import {createEmptyHistoryState, registerHistory} from '@lexical/history';
|
import {createEmptyHistoryState, registerHistory} from '@lexical/history';
|
||||||
import {registerRichText} from '@lexical/rich-text';
|
import {registerRichText} from '@lexical/rich-text';
|
||||||
import {mergeRegister} from '@lexical/utils';
|
import {mergeRegister} from '@lexical/utils';
|
||||||
|
@ -16,7 +16,6 @@ import {
|
|||||||
$getSelection,
|
$getSelection,
|
||||||
$isDecoratorNode,
|
$isDecoratorNode,
|
||||||
$isElementNode,
|
$isElementNode,
|
||||||
$isRangeSelection,
|
|
||||||
$isTextNode,
|
$isTextNode,
|
||||||
$setSelection,
|
$setSelection,
|
||||||
} from '.';
|
} from '.';
|
||||||
|
@ -29,12 +29,12 @@ import {
|
|||||||
import {
|
import {
|
||||||
DOUBLE_LINE_BREAK,
|
DOUBLE_LINE_BREAK,
|
||||||
FULL_RECONCILE,
|
FULL_RECONCILE,
|
||||||
IS_ALIGN_CENTER,
|
|
||||||
IS_ALIGN_END,
|
|
||||||
IS_ALIGN_JUSTIFY,
|
|
||||||
IS_ALIGN_LEFT,
|
|
||||||
IS_ALIGN_RIGHT,
|
|
||||||
IS_ALIGN_START,
|
|
||||||
} from './LexicalConstants';
|
} from './LexicalConstants';
|
||||||
import {EditorState} from './LexicalEditorState';
|
import {EditorState} from './LexicalEditorState';
|
||||||
import {
|
import {
|
||||||
|
@ -47,7 +47,6 @@ import {
|
|||||||
import invariant from 'lexical/shared/invariant';
|
import invariant from 'lexical/shared/invariant';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
$createTestDecoratorNode,
|
|
||||||
$createTestElementNode,
|
$createTestElementNode,
|
||||||
$createTestInlineElementNode,
|
$createTestInlineElementNode,
|
||||||
createTestEditor,
|
createTestEditor,
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
import {ElementNode} from "./LexicalElementNode";
|
import {ElementNode, type SerializedElementNode} from "./LexicalElementNode";
|
||||||
import {CommonBlockAlignment, SerializedCommonBlockNode} from "../../../nodes/_common";
|
import {CommonBlockAlignment, CommonBlockInterface} from "./common";
|
||||||
|
import {Spread} from "lexical";
|
||||||
|
|
||||||
|
|
||||||
export class CommonBlockNode extends ElementNode {
|
export type SerializedCommonBlockNode = Spread<{
|
||||||
|
id: string;
|
||||||
|
alignment: CommonBlockAlignment;
|
||||||
|
inset: number;
|
||||||
|
}, SerializedElementNode>
|
||||||
|
|
||||||
|
export class CommonBlockNode extends ElementNode implements CommonBlockInterface {
|
||||||
__id: string = '';
|
__id: string = '';
|
||||||
__alignment: CommonBlockAlignment = '';
|
__alignment: CommonBlockAlignment = '';
|
||||||
__inset: number = 0;
|
__inset: number = 0;
|
||||||
|
@ -19,8 +19,8 @@ import invariant from 'lexical/shared/invariant';
|
|||||||
import {$isTextNode, TextNode} from '../index';
|
import {$isTextNode, TextNode} from '../index';
|
||||||
import {
|
import {
|
||||||
DOUBLE_LINE_BREAK,
|
DOUBLE_LINE_BREAK,
|
||||||
ELEMENT_FORMAT_TO_TYPE,
|
|
||||||
ELEMENT_TYPE_TO_FORMAT,
|
|
||||||
} from '../LexicalConstants';
|
} from '../LexicalConstants';
|
||||||
import {LexicalNode} from '../LexicalNode';
|
import {LexicalNode} from '../LexicalNode';
|
||||||
import {
|
import {
|
||||||
|
@ -29,10 +29,10 @@ import {
|
|||||||
import {$isTextNode} from './LexicalTextNode';
|
import {$isTextNode} from './LexicalTextNode';
|
||||||
import {
|
import {
|
||||||
commonPropertiesDifferent, deserializeCommonBlockNode,
|
commonPropertiesDifferent, deserializeCommonBlockNode,
|
||||||
SerializedCommonBlockNode, setCommonBlockPropsFromElement,
|
setCommonBlockPropsFromElement,
|
||||||
updateElementWithCommonBlockProps
|
updateElementWithCommonBlockProps
|
||||||
} from "../../../nodes/_common";
|
} from "./common";
|
||||||
import {CommonBlockNode, copyCommonBlockProperties} from "lexical/nodes/CommonBlockNode";
|
import {CommonBlockNode, copyCommonBlockProperties, SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
|
|
||||||
export type SerializedParagraphNode = Spread<
|
export type SerializedParagraphNode = Spread<
|
||||||
{
|
{
|
||||||
|
@ -10,21 +10,14 @@ import {
|
|||||||
$insertDataTransferForPlainText,
|
$insertDataTransferForPlainText,
|
||||||
$insertDataTransferForRichText,
|
$insertDataTransferForRichText,
|
||||||
} from '@lexical/clipboard';
|
} from '@lexical/clipboard';
|
||||||
import {$createListItemNode, $createListNode} from '@lexical/list';
|
|
||||||
import {registerRichText} from '@lexical/rich-text';
|
|
||||||
import {
|
import {
|
||||||
$createParagraphNode,
|
$createParagraphNode,
|
||||||
$createRangeSelection,
|
|
||||||
$createTabNode,
|
$createTabNode,
|
||||||
$createTextNode,
|
|
||||||
$getRoot,
|
$getRoot,
|
||||||
$getSelection,
|
$getSelection,
|
||||||
$insertNodes,
|
$insertNodes,
|
||||||
$isElementNode,
|
|
||||||
$isRangeSelection,
|
$isRangeSelection,
|
||||||
$isTextNode,
|
|
||||||
$setSelection,
|
|
||||||
KEY_TAB_COMMAND,
|
|
||||||
} from 'lexical';
|
} from 'lexical';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@ -32,7 +25,6 @@ import {
|
|||||||
initializeUnitTest,
|
initializeUnitTest,
|
||||||
invariant,
|
invariant,
|
||||||
} from '../../../__tests__/utils';
|
} from '../../../__tests__/utils';
|
||||||
import {$createHeadingNode} from "@lexical/rich-text/LexicalHeadingNode";
|
|
||||||
|
|
||||||
describe('LexicalTabNode tests', () => {
|
describe('LexicalTabNode tests', () => {
|
||||||
initializeUnitTest((testEnv) => {
|
initializeUnitTest((testEnv) => {
|
||||||
|
@ -41,9 +41,7 @@ import {
|
|||||||
$setCompositionKey,
|
$setCompositionKey,
|
||||||
getEditorStateTextContent,
|
getEditorStateTextContent,
|
||||||
} from '../../../LexicalUtils';
|
} from '../../../LexicalUtils';
|
||||||
import {Text} from "@codemirror/state";
|
|
||||||
import {$generateHtmlFromNodes} from "@lexical/html";
|
import {$generateHtmlFromNodes} from "@lexical/html";
|
||||||
import {formatBold} from "@lexical/selection/__tests__/utils";
|
|
||||||
|
|
||||||
const editorConfig = Object.freeze({
|
const editorConfig = Object.freeze({
|
||||||
namespace: '',
|
namespace: '',
|
||||||
|
@ -1,18 +1,11 @@
|
|||||||
import {LexicalNode, Spread} from "lexical";
|
import {sizeToPixels} from "../../../utils/dom";
|
||||||
import type {SerializedElementNode} from "lexical/nodes/LexicalElementNode";
|
import {SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
import {el, sizeToPixels} from "../utils/dom";
|
|
||||||
|
|
||||||
export type CommonBlockAlignment = 'left' | 'right' | 'center' | 'justify' | '';
|
export type CommonBlockAlignment = 'left' | 'right' | 'center' | 'justify' | '';
|
||||||
const validAlignments: CommonBlockAlignment[] = ['left', 'right', 'center', 'justify'];
|
const validAlignments: CommonBlockAlignment[] = ['left', 'right', 'center', 'justify'];
|
||||||
|
|
||||||
type EditorNodeDirection = 'ltr' | 'rtl' | null;
|
type EditorNodeDirection = 'ltr' | 'rtl' | null;
|
||||||
|
|
||||||
export type SerializedCommonBlockNode = Spread<{
|
|
||||||
id: string;
|
|
||||||
alignment: CommonBlockAlignment;
|
|
||||||
inset: number;
|
|
||||||
}, SerializedElementNode>
|
|
||||||
|
|
||||||
export interface NodeHasAlignment {
|
export interface NodeHasAlignment {
|
||||||
readonly __alignment: CommonBlockAlignment;
|
readonly __alignment: CommonBlockAlignment;
|
||||||
setAlignment(alignment: CommonBlockAlignment): void;
|
setAlignment(alignment: CommonBlockAlignment): void;
|
||||||
@ -37,7 +30,7 @@ export interface NodeHasDirection {
|
|||||||
getDirection(): EditorNodeDirection;
|
getDirection(): EditorNodeDirection;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface CommonBlockInterface extends NodeHasId, NodeHasAlignment, NodeHasInset, NodeHasDirection {}
|
export interface CommonBlockInterface extends NodeHasId, NodeHasAlignment, NodeHasInset, NodeHasDirection {}
|
||||||
|
|
||||||
export function extractAlignmentFromElement(element: HTMLElement): CommonBlockAlignment {
|
export function extractAlignmentFromElement(element: HTMLElement): CommonBlockAlignment {
|
||||||
const textAlignStyle: string = element.style.textAlign || '';
|
const textAlignStyle: string = element.style.textAlign || '';
|
@ -36,7 +36,7 @@ import {
|
|||||||
updateChildrenListItemValue,
|
updateChildrenListItemValue,
|
||||||
} from './formatList';
|
} from './formatList';
|
||||||
import {$getListDepth, $wrapInListItem} from './utils';
|
import {$getListDepth, $wrapInListItem} from './utils';
|
||||||
import {extractDirectionFromElement} from "../../nodes/_common";
|
import {extractDirectionFromElement} from "lexical/nodes/common";
|
||||||
|
|
||||||
export type SerializedListNode = Spread<
|
export type SerializedListNode = Spread<
|
||||||
{
|
{
|
||||||
|
@ -9,4 +9,4 @@ Only components used, or intended to be used, were copied in at this point.
|
|||||||
The original work built upon in this directory and below is under the copyright of Meta Platforms, Inc. and affiliates.
|
The original work built upon in this directory and below is under the copyright of Meta Platforms, Inc. and affiliates.
|
||||||
The original license can be seen in the [ORIGINAL-LEXICAL-LICENSE](./ORIGINAL-LEXICAL-LICENSE) file.
|
The original license can be seen in the [ORIGINAL-LEXICAL-LICENSE](./ORIGINAL-LEXICAL-LICENSE) file.
|
||||||
|
|
||||||
Files may have since been modified with modifications being under the license and copyright of the BookStack project as a whole.
|
Files may have since been added or modified with changes being under the license and copyright of the BookStack project as a whole.
|
@ -11,10 +11,10 @@ import type {EditorConfig} from "lexical/LexicalEditor";
|
|||||||
import type {RangeSelection} from "lexical/LexicalSelection";
|
import type {RangeSelection} from "lexical/LexicalSelection";
|
||||||
import {
|
import {
|
||||||
CommonBlockAlignment, commonPropertiesDifferent, deserializeCommonBlockNode,
|
CommonBlockAlignment, commonPropertiesDifferent, deserializeCommonBlockNode,
|
||||||
SerializedCommonBlockNode,
|
|
||||||
setCommonBlockPropsFromElement,
|
setCommonBlockPropsFromElement,
|
||||||
updateElementWithCommonBlockProps
|
updateElementWithCommonBlockProps
|
||||||
} from "./_common";
|
} from "lexical/nodes/common";
|
||||||
|
import {SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
|
|
||||||
export type CalloutCategory = 'info' | 'danger' | 'warning' | 'success';
|
export type CalloutCategory = 'info' | 'danger' | 'warning' | 'success';
|
||||||
|
|
@ -8,9 +8,9 @@ import {
|
|||||||
Spread
|
Spread
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import type {EditorConfig} from "lexical/LexicalEditor";
|
import type {EditorConfig} from "lexical/LexicalEditor";
|
||||||
import {EditorDecoratorAdapter} from "../ui/framework/decorator";
|
import {EditorDecoratorAdapter} from "../../ui/framework/decorator";
|
||||||
import {CodeEditor} from "../../components";
|
import {CodeEditor} from "../../../components";
|
||||||
import {el} from "../utils/dom";
|
import {el} from "../../utils/dom";
|
||||||
|
|
||||||
export type SerializedCodeBlockNode = Spread<{
|
export type SerializedCodeBlockNode = Spread<{
|
||||||
language: string;
|
language: string;
|
@ -8,8 +8,8 @@ import {
|
|||||||
EditorConfig,
|
EditorConfig,
|
||||||
} from 'lexical';
|
} from 'lexical';
|
||||||
|
|
||||||
import {el} from "../utils/dom";
|
import {el} from "../../utils/dom";
|
||||||
import {extractDirectionFromElement} from "./_common";
|
import {extractDirectionFromElement} from "lexical/nodes/common";
|
||||||
|
|
||||||
export type SerializedDetailsNode = Spread<{
|
export type SerializedDetailsNode = Spread<{
|
||||||
id: string;
|
id: string;
|
@ -8,8 +8,8 @@ import {
|
|||||||
Spread
|
Spread
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import type {EditorConfig} from "lexical/LexicalEditor";
|
import type {EditorConfig} from "lexical/LexicalEditor";
|
||||||
import {EditorDecoratorAdapter} from "../ui/framework/decorator";
|
import {EditorDecoratorAdapter} from "../../ui/framework/decorator";
|
||||||
import {el} from "../utils/dom";
|
import {el} from "../../utils/dom";
|
||||||
|
|
||||||
export type SerializedDiagramNode = Spread<{
|
export type SerializedDiagramNode = Spread<{
|
||||||
id: string;
|
id: string;
|
@ -11,16 +11,15 @@ import {
|
|||||||
type NodeKey,
|
type NodeKey,
|
||||||
type ParagraphNode,
|
type ParagraphNode,
|
||||||
type RangeSelection,
|
type RangeSelection,
|
||||||
type SerializedElementNode,
|
|
||||||
type Spread
|
type Spread
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import {addClassNamesToElement} from "@lexical/utils";
|
import {addClassNamesToElement} from "@lexical/utils";
|
||||||
import {CommonBlockNode, copyCommonBlockProperties} from "lexical/nodes/CommonBlockNode";
|
import {CommonBlockNode, copyCommonBlockProperties, SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
import {
|
import {
|
||||||
commonPropertiesDifferent, deserializeCommonBlockNode,
|
commonPropertiesDifferent, deserializeCommonBlockNode,
|
||||||
SerializedCommonBlockNode, setCommonBlockPropsFromElement,
|
setCommonBlockPropsFromElement,
|
||||||
updateElementWithCommonBlockProps
|
updateElementWithCommonBlockProps
|
||||||
} from "../../nodes/_common";
|
} from "lexical/nodes/common";
|
||||||
|
|
||||||
export type HeadingTagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
export type HeadingTagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@ import {
|
|||||||
Spread
|
Spread
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import type {EditorConfig} from "lexical/LexicalEditor";
|
import type {EditorConfig} from "lexical/LexicalEditor";
|
||||||
import {CommonBlockAlignment, extractAlignmentFromElement} from "./_common";
|
import {CommonBlockAlignment, extractAlignmentFromElement} from "lexical/nodes/common";
|
||||||
import {$selectSingleNode} from "../utils/selection";
|
import {$selectSingleNode} from "../../utils/selection";
|
||||||
import {SerializedElementNode} from "lexical/nodes/LexicalElementNode";
|
import {SerializedElementNode} from "lexical/nodes/LexicalElementNode";
|
||||||
|
|
||||||
export interface ImageNodeOptions {
|
export interface ImageNodeOptions {
|
@ -8,14 +8,14 @@ import {
|
|||||||
} from 'lexical';
|
} from 'lexical';
|
||||||
import type {EditorConfig} from "lexical/LexicalEditor";
|
import type {EditorConfig} from "lexical/LexicalEditor";
|
||||||
|
|
||||||
import {el, setOrRemoveAttribute, sizeToPixels} from "../utils/dom";
|
import {el, setOrRemoveAttribute, sizeToPixels} from "../../utils/dom";
|
||||||
import {
|
import {
|
||||||
CommonBlockAlignment, deserializeCommonBlockNode,
|
CommonBlockAlignment, deserializeCommonBlockNode,
|
||||||
SerializedCommonBlockNode,
|
|
||||||
setCommonBlockPropsFromElement,
|
setCommonBlockPropsFromElement,
|
||||||
updateElementWithCommonBlockProps
|
updateElementWithCommonBlockProps
|
||||||
} from "./_common";
|
} from "lexical/nodes/common";
|
||||||
import {$selectSingleNode} from "../utils/selection";
|
import {$selectSingleNode} from "../../utils/selection";
|
||||||
|
import {SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
|
|
||||||
export type MediaNodeTag = 'iframe' | 'embed' | 'object' | 'video' | 'audio';
|
export type MediaNodeTag = 'iframe' | 'embed' | 'object' | 'video' | 'audio';
|
||||||
export type MediaNodeSource = {
|
export type MediaNodeSource = {
|
@ -5,22 +5,20 @@ import {
|
|||||||
type DOMConversionOutput,
|
type DOMConversionOutput,
|
||||||
type DOMExportOutput,
|
type DOMExportOutput,
|
||||||
type EditorConfig,
|
type EditorConfig,
|
||||||
ElementNode,
|
|
||||||
isHTMLElement,
|
isHTMLElement,
|
||||||
type LexicalEditor,
|
type LexicalEditor,
|
||||||
LexicalNode,
|
LexicalNode,
|
||||||
type NodeKey,
|
type NodeKey,
|
||||||
type ParagraphNode,
|
type ParagraphNode,
|
||||||
type RangeSelection,
|
type RangeSelection
|
||||||
SerializedElementNode
|
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import {addClassNamesToElement} from "@lexical/utils";
|
import {addClassNamesToElement} from "@lexical/utils";
|
||||||
import {CommonBlockNode, copyCommonBlockProperties} from "lexical/nodes/CommonBlockNode";
|
import {CommonBlockNode, copyCommonBlockProperties, SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
import {
|
import {
|
||||||
commonPropertiesDifferent, deserializeCommonBlockNode,
|
commonPropertiesDifferent, deserializeCommonBlockNode,
|
||||||
SerializedCommonBlockNode, setCommonBlockPropsFromElement,
|
setCommonBlockPropsFromElement,
|
||||||
updateElementWithCommonBlockProps
|
updateElementWithCommonBlockProps
|
||||||
} from "../../nodes/_common";
|
} from "lexical/nodes/common";
|
||||||
|
|
||||||
export type SerializedQuoteNode = SerializedCommonBlockNode;
|
export type SerializedQuoteNode = SerializedCommonBlockNode;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ import {
|
|||||||
} from 'lexical';
|
} from 'lexical';
|
||||||
|
|
||||||
import {extractStyleMapFromElement, StyleMap} from "../../utils/dom";
|
import {extractStyleMapFromElement, StyleMap} from "../../utils/dom";
|
||||||
import {CommonBlockAlignment, extractAlignmentFromElement} from "../../nodes/_common";
|
import {CommonBlockAlignment, extractAlignmentFromElement} from "lexical/nodes/common";
|
||||||
|
|
||||||
export const TableCellHeaderStates = {
|
export const TableCellHeaderStates = {
|
||||||
BOTH: 3,
|
BOTH: 3,
|
||||||
|
@ -15,25 +15,25 @@ import {
|
|||||||
LexicalEditor,
|
LexicalEditor,
|
||||||
LexicalNode,
|
LexicalNode,
|
||||||
NodeKey,
|
NodeKey,
|
||||||
SerializedElementNode, Spread,
|
Spread,
|
||||||
} from 'lexical';
|
} from 'lexical';
|
||||||
|
|
||||||
import {addClassNamesToElement, isHTMLElement} from '@lexical/utils';
|
import {addClassNamesToElement, isHTMLElement} from '@lexical/utils';
|
||||||
import {
|
import {
|
||||||
$applyNodeReplacement,
|
$applyNodeReplacement,
|
||||||
$getNearestNodeFromDOMNode,
|
$getNearestNodeFromDOMNode,
|
||||||
ElementNode,
|
|
||||||
} from 'lexical';
|
} from 'lexical';
|
||||||
|
|
||||||
import {$isTableCellNode} from './LexicalTableCellNode';
|
import {$isTableCellNode} from './LexicalTableCellNode';
|
||||||
import {TableDOMCell, TableDOMTable} from './LexicalTableObserver';
|
import {TableDOMCell, TableDOMTable} from './LexicalTableObserver';
|
||||||
import {getTable} from './LexicalTableSelectionHelpers';
|
import {getTable} from './LexicalTableSelectionHelpers';
|
||||||
import {CommonBlockNode, copyCommonBlockProperties} from "lexical/nodes/CommonBlockNode";
|
import {CommonBlockNode, copyCommonBlockProperties, SerializedCommonBlockNode} from "lexical/nodes/CommonBlockNode";
|
||||||
import {
|
import {
|
||||||
commonPropertiesDifferent, deserializeCommonBlockNode,
|
commonPropertiesDifferent, deserializeCommonBlockNode,
|
||||||
SerializedCommonBlockNode, setCommonBlockPropsFromElement,
|
setCommonBlockPropsFromElement,
|
||||||
updateElementWithCommonBlockProps
|
updateElementWithCommonBlockProps
|
||||||
} from "../../nodes/_common";
|
} from "lexical/nodes/common";
|
||||||
import {el, extractStyleMapFromElement, StyleMap} from "../../utils/dom";
|
import {el, extractStyleMapFromElement, StyleMap} from "../../utils/dom";
|
||||||
import {getTableColumnWidths} from "../../utils/tables";
|
import {getTableColumnWidths} from "../../utils/tables";
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ import type {
|
|||||||
} from './LexicalTableSelection';
|
} from './LexicalTableSelection';
|
||||||
import type {
|
import type {
|
||||||
BaseSelection,
|
BaseSelection,
|
||||||
ElementFormatType,
|
|
||||||
LexicalCommand,
|
LexicalCommand,
|
||||||
LexicalEditor,
|
LexicalEditor,
|
||||||
LexicalNode,
|
LexicalNode,
|
||||||
@ -50,7 +49,6 @@ import {
|
|||||||
DELETE_LINE_COMMAND,
|
DELETE_LINE_COMMAND,
|
||||||
DELETE_WORD_COMMAND,
|
DELETE_WORD_COMMAND,
|
||||||
FOCUS_COMMAND,
|
FOCUS_COMMAND,
|
||||||
FORMAT_ELEMENT_COMMAND,
|
|
||||||
FORMAT_TEXT_COMMAND,
|
FORMAT_TEXT_COMMAND,
|
||||||
INSERT_PARAGRAPH_COMMAND,
|
INSERT_PARAGRAPH_COMMAND,
|
||||||
KEY_ARROW_DOWN_COMMAND,
|
KEY_ARROW_DOWN_COMMAND,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import {CalloutNode} from './callout';
|
import {CalloutNode} from '@lexical/rich-text/LexicalCalloutNode';
|
||||||
import {
|
import {
|
||||||
ElementNode,
|
ElementNode,
|
||||||
KlassConstructor,
|
KlassConstructor,
|
||||||
@ -7,15 +7,15 @@ import {
|
|||||||
ParagraphNode
|
ParagraphNode
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import {LinkNode} from "@lexical/link";
|
import {LinkNode} from "@lexical/link";
|
||||||
import {ImageNode} from "./image";
|
import {ImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import {DetailsNode, SummaryNode} from "./details";
|
import {DetailsNode, SummaryNode} from "@lexical/rich-text/LexicalDetailsNode";
|
||||||
import {ListItemNode, ListNode} from "@lexical/list";
|
import {ListItemNode, ListNode} from "@lexical/list";
|
||||||
import {TableCellNode, TableNode, TableRowNode} from "@lexical/table";
|
import {TableCellNode, TableNode, TableRowNode} from "@lexical/table";
|
||||||
import {HorizontalRuleNode} from "./horizontal-rule";
|
import {HorizontalRuleNode} from "@lexical/rich-text/LexicalHorizontalRuleNode";
|
||||||
import {CodeBlockNode} from "./code-block";
|
import {CodeBlockNode} from "@lexical/rich-text/LexicalCodeBlockNode";
|
||||||
import {DiagramNode} from "./diagram";
|
import {DiagramNode} from "@lexical/rich-text/LexicalDiagramNode";
|
||||||
import {EditorUiContext} from "../ui/framework/core";
|
import {EditorUiContext} from "./ui/framework/core";
|
||||||
import {MediaNode} from "./media";
|
import {MediaNode} from "@lexical/rich-text/LexicalMediaNode";
|
||||||
import {HeadingNode} from "@lexical/rich-text/LexicalHeadingNode";
|
import {HeadingNode} from "@lexical/rich-text/LexicalHeadingNode";
|
||||||
import {QuoteNode} from "@lexical/rich-text/LexicalQuoteNode";
|
import {QuoteNode} from "@lexical/rich-text/LexicalQuoteNode";
|
||||||
|
|
@ -8,7 +8,7 @@ import {
|
|||||||
import {$insertNewBlockNodesAtSelection, $selectSingleNode} from "../utils/selection";
|
import {$insertNewBlockNodesAtSelection, $selectSingleNode} from "../utils/selection";
|
||||||
import {$getNearestBlockNodeForCoords, $htmlToBlockNodes} from "../utils/nodes";
|
import {$getNearestBlockNodeForCoords, $htmlToBlockNodes} from "../utils/nodes";
|
||||||
import {Clipboard} from "../../services/clipboard";
|
import {Clipboard} from "../../services/clipboard";
|
||||||
import {$createImageNode} from "../nodes/image";
|
import {$createImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import {$createLinkNode} from "@lexical/link";
|
import {$createLinkNode} from "@lexical/link";
|
||||||
import {EditorImageData, uploadImageFile} from "../utils/images";
|
import {EditorImageData, uploadImageFile} from "../utils/images";
|
||||||
import {EditorUiContext} from "../ui/framework/core";
|
import {EditorUiContext} from "../ui/framework/core";
|
||||||
|
@ -10,8 +10,8 @@ import {
|
|||||||
LexicalEditor,
|
LexicalEditor,
|
||||||
LexicalNode
|
LexicalNode
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import {$isImageNode} from "../nodes/image";
|
import {$isImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import {$isMediaNode} from "../nodes/media";
|
import {$isMediaNode} from "@lexical/rich-text/LexicalMediaNode";
|
||||||
import {getLastSelection} from "../utils/selection";
|
import {getLastSelection} from "../utils/selection";
|
||||||
import {$getNearestNodeBlockParent} from "../utils/nodes";
|
import {$getNearestNodeBlockParent} from "../utils/nodes";
|
||||||
import {$setInsetForSelection} from "../utils/lists";
|
import {$setInsetForSelection} from "../utils/lists";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import {EditorDecorator} from "../framework/decorator";
|
import {EditorDecorator} from "../framework/decorator";
|
||||||
import {EditorUiContext} from "../framework/core";
|
import {EditorUiContext} from "../framework/core";
|
||||||
import {$openCodeEditorForNode, CodeBlockNode} from "../../nodes/code-block";
|
import {$openCodeEditorForNode, CodeBlockNode} from "@lexical/rich-text/LexicalCodeBlockNode";
|
||||||
import {$isDecoratorNode, BaseSelection} from "lexical";
|
import {BaseSelection} from "lexical";
|
||||||
import {$selectionContainsNode, $selectSingleNode} from "../../utils/selection";
|
import {$selectionContainsNode, $selectSingleNode} from "../../utils/selection";
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import {EditorDecorator} from "../framework/decorator";
|
import {EditorDecorator} from "../framework/decorator";
|
||||||
import {EditorUiContext} from "../framework/core";
|
import {EditorUiContext} from "../framework/core";
|
||||||
import {BaseSelection} from "lexical";
|
import {BaseSelection} from "lexical";
|
||||||
import {DiagramNode} from "../../nodes/diagram";
|
import {DiagramNode} from "@lexical/rich-text/LexicalDiagramNode";
|
||||||
import {$selectionContainsNode, $selectSingleNode} from "../../utils/selection";
|
import {$selectionContainsNode, $selectSingleNode} from "../../utils/selection";
|
||||||
import {$openDrawingEditorForNode} from "../../utils/diagrams";
|
import {$openDrawingEditorForNode} from "../../utils/diagrams";
|
||||||
|
|
||||||
|
@ -9,9 +9,9 @@ import ltrIcon from "@icons/editor/direction-ltr.svg";
|
|||||||
import rtlIcon from "@icons/editor/direction-rtl.svg";
|
import rtlIcon from "@icons/editor/direction-rtl.svg";
|
||||||
import {
|
import {
|
||||||
$getBlockElementNodesInSelection,
|
$getBlockElementNodesInSelection,
|
||||||
$selectionContainsAlignment, $selectionContainsDirection, $selectSingleNode, $toggleSelection, getLastSelection
|
$selectionContainsAlignment, $selectionContainsDirection, $selectSingleNode, getLastSelection
|
||||||
} from "../../../utils/selection";
|
} from "../../../utils/selection";
|
||||||
import {CommonBlockAlignment} from "../../../nodes/_common";
|
import {CommonBlockAlignment} from "lexical/nodes/common";
|
||||||
import {nodeHasAlignment} from "../../../utils/nodes";
|
import {nodeHasAlignment} from "../../../utils/nodes";
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import {$createCalloutNode, $isCalloutNodeOfCategory, CalloutCategory} from "../../../nodes/callout";
|
import {$createCalloutNode, $isCalloutNodeOfCategory, CalloutCategory} from "@lexical/rich-text/LexicalCalloutNode";
|
||||||
import {EditorButtonDefinition} from "../../framework/buttons";
|
import {EditorButtonDefinition} from "../../framework/buttons";
|
||||||
import {EditorUiContext} from "../../framework/core";
|
import {EditorUiContext} from "../../framework/core";
|
||||||
import {$isParagraphNode, BaseSelection, LexicalNode} from "lexical";
|
import {$isParagraphNode, BaseSelection, LexicalNode} from "lexical";
|
||||||
|
@ -2,27 +2,26 @@ import {EditorButtonDefinition} from "../../framework/buttons";
|
|||||||
import linkIcon from "@icons/editor/link.svg";
|
import linkIcon from "@icons/editor/link.svg";
|
||||||
import {EditorUiContext} from "../../framework/core";
|
import {EditorUiContext} from "../../framework/core";
|
||||||
import {
|
import {
|
||||||
$createTextNode,
|
|
||||||
$getRoot,
|
$getRoot,
|
||||||
$getSelection, $insertNodes,
|
$getSelection, $insertNodes,
|
||||||
BaseSelection,
|
BaseSelection,
|
||||||
ElementNode, isCurrentlyReadOnlyMode
|
ElementNode
|
||||||
} from "lexical";
|
} from "lexical";
|
||||||
import {$isLinkNode, LinkNode} from "@lexical/link";
|
import {$isLinkNode, LinkNode} from "@lexical/link";
|
||||||
import unlinkIcon from "@icons/editor/unlink.svg";
|
import unlinkIcon from "@icons/editor/unlink.svg";
|
||||||
import imageIcon from "@icons/editor/image.svg";
|
import imageIcon from "@icons/editor/image.svg";
|
||||||
import {$isImageNode, ImageNode} from "../../../nodes/image";
|
import {$isImageNode, ImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import horizontalRuleIcon from "@icons/editor/horizontal-rule.svg";
|
import horizontalRuleIcon from "@icons/editor/horizontal-rule.svg";
|
||||||
import {$createHorizontalRuleNode, $isHorizontalRuleNode} from "../../../nodes/horizontal-rule";
|
import {$createHorizontalRuleNode, $isHorizontalRuleNode} from "@lexical/rich-text/LexicalHorizontalRuleNode";
|
||||||
import codeBlockIcon from "@icons/editor/code-block.svg";
|
import codeBlockIcon from "@icons/editor/code-block.svg";
|
||||||
import {$isCodeBlockNode} from "../../../nodes/code-block";
|
import {$isCodeBlockNode} from "@lexical/rich-text/LexicalCodeBlockNode";
|
||||||
import editIcon from "@icons/edit.svg";
|
import editIcon from "@icons/edit.svg";
|
||||||
import diagramIcon from "@icons/editor/diagram.svg";
|
import diagramIcon from "@icons/editor/diagram.svg";
|
||||||
import {$createDiagramNode, DiagramNode} from "../../../nodes/diagram";
|
import {$createDiagramNode, DiagramNode} from "@lexical/rich-text/LexicalDiagramNode";
|
||||||
import detailsIcon from "@icons/editor/details.svg";
|
import detailsIcon from "@icons/editor/details.svg";
|
||||||
import mediaIcon from "@icons/editor/media.svg";
|
import mediaIcon from "@icons/editor/media.svg";
|
||||||
import {$createDetailsNode, $isDetailsNode} from "../../../nodes/details";
|
import {$createDetailsNode, $isDetailsNode} from "@lexical/rich-text/LexicalDetailsNode";
|
||||||
import {$isMediaNode, MediaNode} from "../../../nodes/media";
|
import {$isMediaNode, MediaNode} from "@lexical/rich-text/LexicalMediaNode";
|
||||||
import {
|
import {
|
||||||
$getNodeFromSelection,
|
$getNodeFromSelection,
|
||||||
$insertNewBlockNodeAtSelection,
|
$insertNewBlockNodeAtSelection,
|
||||||
|
@ -5,11 +5,10 @@ import {
|
|||||||
EditorSelectFormFieldDefinition
|
EditorSelectFormFieldDefinition
|
||||||
} from "../../framework/forms";
|
} from "../../framework/forms";
|
||||||
import {EditorUiContext} from "../../framework/core";
|
import {EditorUiContext} from "../../framework/core";
|
||||||
import {$createNodeSelection, $createTextNode, $getSelection, $insertNodes, $setSelection} from "lexical";
|
import {$createNodeSelection, $getSelection, $insertNodes, $setSelection} from "lexical";
|
||||||
import {$isImageNode, ImageNode} from "../../../nodes/image";
|
import {$isImageNode, ImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import {$createLinkNode, $isLinkNode, LinkNode} from "@lexical/link";
|
import {LinkNode} from "@lexical/link";
|
||||||
import {$createMediaNodeFromHtml, $createMediaNodeFromSrc, $isMediaNode, MediaNode} from "../../../nodes/media";
|
import {$createMediaNodeFromHtml, $createMediaNodeFromSrc, $isMediaNode, MediaNode} from "@lexical/rich-text/LexicalMediaNode";
|
||||||
import {$insertNodeToNearestRoot} from "@lexical/utils";
|
|
||||||
import {$getNodeFromSelection, getLastSelection} from "../../../utils/selection";
|
import {$getNodeFromSelection, getLastSelection} from "../../../utils/selection";
|
||||||
import {EditorFormModal} from "../../framework/modals";
|
import {EditorFormModal} from "../../framework/modals";
|
||||||
import {EditorActionField} from "../../framework/blocks/action-field";
|
import {EditorActionField} from "../../framework/blocks/action-field";
|
||||||
|
@ -6,7 +6,7 @@ import {
|
|||||||
} from "../../framework/forms";
|
} from "../../framework/forms";
|
||||||
import {EditorUiContext} from "../../framework/core";
|
import {EditorUiContext} from "../../framework/core";
|
||||||
import {EditorFormModal} from "../../framework/modals";
|
import {EditorFormModal} from "../../framework/modals";
|
||||||
import {$getSelection, ElementFormatType} from "lexical";
|
import {$getSelection} from "lexical";
|
||||||
import {
|
import {
|
||||||
$forEachTableCell, $getCellPaddingForTable,
|
$forEachTableCell, $getCellPaddingForTable,
|
||||||
$getTableCellColumnWidth,
|
$getTableCellColumnWidth,
|
||||||
@ -16,7 +16,7 @@ import {
|
|||||||
} from "../../../utils/tables";
|
} from "../../../utils/tables";
|
||||||
import {formatSizeValue} from "../../../utils/dom";
|
import {formatSizeValue} from "../../../utils/dom";
|
||||||
import {TableCellNode, TableNode, TableRowNode} from "@lexical/table";
|
import {TableCellNode, TableNode, TableRowNode} from "@lexical/table";
|
||||||
import {CommonBlockAlignment} from "../../../nodes/_common";
|
import {CommonBlockAlignment} from "lexical/nodes/common";
|
||||||
|
|
||||||
const borderStyleInput: EditorSelectFormFieldDefinition = {
|
const borderStyleInput: EditorSelectFormFieldDefinition = {
|
||||||
label: 'Border style',
|
label: 'Border style',
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import {BaseSelection, LexicalNode,} from "lexical";
|
import {BaseSelection, LexicalNode,} from "lexical";
|
||||||
import {MouseDragTracker, MouseDragTrackerDistance} from "./mouse-drag-tracker";
|
import {MouseDragTracker, MouseDragTrackerDistance} from "./mouse-drag-tracker";
|
||||||
import {el} from "../../../utils/dom";
|
import {el} from "../../../utils/dom";
|
||||||
import {$isImageNode} from "../../../nodes/image";
|
import {$isImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import {EditorUiContext} from "../core";
|
import {EditorUiContext} from "../core";
|
||||||
import {NodeHasSize} from "../../../nodes/_common";
|
import {NodeHasSize} from "lexical/nodes/common";
|
||||||
import {$isMediaNode} from "../../../nodes/media";
|
import {$isMediaNode} from "@lexical/rich-text/LexicalMediaNode";
|
||||||
|
|
||||||
function isNodeWithSize(node: LexicalNode): node is NodeHasSize&LexicalNode {
|
function isNodeWithSize(node: LexicalNode): node is NodeHasSize&LexicalNode {
|
||||||
return $isImageNode(node) || $isMediaNode(node);
|
return $isImageNode(node) || $isMediaNode(node);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import {EditorFormModal, EditorFormModalDefinition} from "./modals";
|
import {EditorFormModal, EditorFormModalDefinition} from "./modals";
|
||||||
import {EditorContainerUiElement, EditorUiContext, EditorUiElement, EditorUiStateUpdate} from "./core";
|
import {EditorContainerUiElement, EditorUiContext, EditorUiElement, EditorUiStateUpdate} from "./core";
|
||||||
import {EditorDecorator, EditorDecoratorAdapter} from "./decorator";
|
import {EditorDecorator, EditorDecoratorAdapter} from "./decorator";
|
||||||
import {$getSelection, BaseSelection, COMMAND_PRIORITY_LOW, LexicalEditor, SELECTION_CHANGE_COMMAND} from "lexical";
|
import {BaseSelection, LexicalEditor} from "lexical";
|
||||||
import {DecoratorListener} from "lexical/LexicalEditor";
|
import {DecoratorListener} from "lexical/LexicalEditor";
|
||||||
import type {NodeKey} from "lexical/LexicalNode";
|
import type {NodeKey} from "lexical/LexicalNode";
|
||||||
import {EditorContextToolbar, EditorContextToolbarDefinition} from "./toolbars";
|
import {EditorContextToolbar, EditorContextToolbarDefinition} from "./toolbars";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import {$getSelection, $insertNodes, LexicalEditor, LexicalNode} from "lexical";
|
import {$insertNodes, LexicalEditor, LexicalNode} from "lexical";
|
||||||
import {HttpError} from "../../services/http";
|
import {HttpError} from "../../services/http";
|
||||||
import {EditorUiContext} from "../ui/framework/core";
|
import {EditorUiContext} from "../ui/framework/core";
|
||||||
import * as DrawIO from "../../services/drawio";
|
import * as DrawIO from "../../services/drawio";
|
||||||
import {$createDiagramNode, DiagramNode} from "../nodes/diagram";
|
import {$createDiagramNode, DiagramNode} from "@lexical/rich-text/LexicalDiagramNode";
|
||||||
import {ImageManager} from "../../components";
|
import {ImageManager} from "../../components";
|
||||||
import {EditorImageData} from "./images";
|
import {EditorImageData} from "./images";
|
||||||
import {$getNodeFromSelection, getLastSelection} from "./selection";
|
import {$getNodeFromSelection, getLastSelection} from "./selection";
|
||||||
|
@ -14,8 +14,8 @@ import {
|
|||||||
$toggleSelectionBlockNodeType,
|
$toggleSelectionBlockNodeType,
|
||||||
getLastSelection
|
getLastSelection
|
||||||
} from "./selection";
|
} from "./selection";
|
||||||
import {$createCodeBlockNode, $isCodeBlockNode, $openCodeEditorForNode, CodeBlockNode} from "../nodes/code-block";
|
import {$createCodeBlockNode, $isCodeBlockNode, $openCodeEditorForNode, CodeBlockNode} from "@lexical/rich-text/LexicalCodeBlockNode";
|
||||||
import {$createCalloutNode, $isCalloutNode, CalloutCategory} from "../nodes/callout";
|
import {$createCalloutNode, $isCalloutNode, CalloutCategory} from "@lexical/rich-text/LexicalCalloutNode";
|
||||||
import {$isListNode, insertList, ListNode, ListType, removeList} from "@lexical/list";
|
import {$isListNode, insertList, ListNode, ListType, removeList} from "@lexical/list";
|
||||||
import {$createLinkNode, $isLinkNode} from "@lexical/link";
|
import {$createLinkNode, $isLinkNode} from "@lexical/link";
|
||||||
import {$createHeadingNode, $isHeadingNode, HeadingTagType} from "@lexical/rich-text/LexicalHeadingNode";
|
import {$createHeadingNode, $isHeadingNode, HeadingTagType} from "@lexical/rich-text/LexicalHeadingNode";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import {ImageManager} from "../../components";
|
import {ImageManager} from "../../components";
|
||||||
import {$createImageNode} from "../nodes/image";
|
import {$createImageNode} from "@lexical/rich-text/LexicalImageNode";
|
||||||
import {$createLinkNode, LinkNode} from "@lexical/link";
|
import {$createLinkNode, LinkNode} from "@lexical/link";
|
||||||
|
|
||||||
export type EditorImageData = {
|
export type EditorImageData = {
|
||||||
|
@ -11,7 +11,7 @@ import {
|
|||||||
import {LexicalNodeMatcher} from "../nodes";
|
import {LexicalNodeMatcher} from "../nodes";
|
||||||
import {$generateNodesFromDOM} from "@lexical/html";
|
import {$generateNodesFromDOM} from "@lexical/html";
|
||||||
import {htmlToDom} from "./dom";
|
import {htmlToDom} from "./dom";
|
||||||
import {NodeHasAlignment, NodeHasInset} from "../nodes/_common";
|
import {NodeHasAlignment, NodeHasInset} from "lexical/nodes/common";
|
||||||
import {$findMatchingParent} from "@lexical/utils";
|
import {$findMatchingParent} from "@lexical/utils";
|
||||||
|
|
||||||
function wrapTextNodes(nodes: LexicalNode[]): LexicalNode[] {
|
function wrapTextNodes(nodes: LexicalNode[]): LexicalNode[] {
|
||||||
|
@ -16,7 +16,7 @@ import {LexicalElementNodeCreator, LexicalNodeMatcher} from "../nodes";
|
|||||||
import {$setBlocksType} from "@lexical/selection";
|
import {$setBlocksType} from "@lexical/selection";
|
||||||
|
|
||||||
import {$getNearestNodeBlockParent, $getParentOfType, nodeHasAlignment} from "./nodes";
|
import {$getNearestNodeBlockParent, $getParentOfType, nodeHasAlignment} from "./nodes";
|
||||||
import {CommonBlockAlignment} from "../nodes/_common";
|
import {CommonBlockAlignment} from "lexical/nodes/common";
|
||||||
|
|
||||||
const lastSelectionByEditor = new WeakMap<LexicalEditor, BaseSelection|null>;
|
const lastSelectionByEditor = new WeakMap<LexicalEditor, BaseSelection|null>;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user