@lobehub/editor 4.12.0 → 4.14.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/es/index.d.ts CHANGED
@@ -601,782 +601,322 @@ interface ReactCodemirrorPluginProps {
601
601
  //#region src/plugins/codemirror-block/react/ReactCodemirrorNode.d.ts
602
602
  declare const ReactCodemirrorPlugin: FC<ReactCodemirrorPluginProps>;
603
603
  //#endregion
604
- //#region src/plugins/file/command/index.d.ts
605
- declare const INSERT_FILE_COMMAND: _$lexical.LexicalCommand<{
606
- file: File;
607
- }>;
608
- //#endregion
609
- //#region src/plugins/file/node/FileNode.d.ts
610
- type SerializedFileNode = Spread<{
611
- fileUrl?: string;
612
- message?: string;
613
- name: string;
614
- size?: number;
615
- status?: 'pending' | 'uploaded' | 'error';
616
- }, SerializedLexicalNode>;
617
- declare class FileNode extends DecoratorNode<any> {
618
- static getType(): string;
619
- static clone(node: FileNode): FileNode;
620
- static importJSON(serializedNode: SerializedFileNode): FileNode;
621
- static importDOM(): DOMConversionMap | null;
622
- __name: string;
623
- __fileUrl: string | undefined;
624
- __size: number | undefined;
625
- __status: 'pending' | 'uploaded' | 'error';
626
- __message?: string;
627
- get name(): string;
628
- get fileUrl(): string | undefined;
629
- get size(): number | undefined;
630
- get status(): 'pending' | 'uploaded' | 'error';
631
- get message(): string | undefined;
632
- constructor(name: string, fileUrl?: string, size?: number, status?: 'pending' | 'uploaded' | 'error', message?: string, key?: string);
633
- setUploaded(url: string): void;
634
- setError(message: string): void;
635
- exportDOM(): DOMExportOutput;
636
- createDOM(config: EditorConfig): HTMLElement;
637
- exportJSON(): SerializedFileNode;
638
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedFileNode>): this;
639
- getTextContent(): string;
640
- updateDOM(): boolean;
641
- decorate(editor: LexicalEditor): any;
604
+ //#region node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts
605
+ // ## Interfaces
606
+ /**
607
+ * Info associated with nodes by the ecosystem.
608
+ *
609
+ * This space is guaranteed to never be specified by unist or specifications
610
+ * implementing unist.
611
+ * But you can use it in utilities and plugins to store data.
612
+ *
613
+ * This type can be augmented to register custom data.
614
+ * For example:
615
+ *
616
+ * ```ts
617
+ * declare module 'unist' {
618
+ * interface Data {
619
+ * // `someNode.data.myId` is typed as `number | undefined`
620
+ * myId?: number | undefined
621
+ * }
622
+ * }
623
+ * ```
624
+ */
625
+ interface Data$1 {}
626
+ /**
627
+ * One place in a source file.
628
+ */
629
+ interface Point {
630
+ /**
631
+ * Line in a source file (1-indexed integer).
632
+ */
633
+ line: number;
634
+ /**
635
+ * Column in a source file (1-indexed integer).
636
+ */
637
+ column: number;
638
+ /**
639
+ * Character in a source file (0-indexed integer).
640
+ */
641
+ offset?: number | undefined;
642
642
  }
643
- //#endregion
644
- //#region src/plugins/file/plugin/index.d.ts
645
- interface FilePluginOptions {
646
- decorator: (node: FileNode, editor: LexicalEditor) => any;
647
- handleUpload: (file: File) => Promise<{
648
- url: string;
649
- }>;
650
- markdownWriter?: (file: FileNode) => string;
651
- theme?: {
652
- file?: string;
653
- };
643
+ /**
644
+ * Position of a node in a source document.
645
+ *
646
+ * A position is a range between two points.
647
+ */
648
+ interface Position {
649
+ /**
650
+ * Place of the first character of the parsed source region.
651
+ */
652
+ start: Point;
653
+ /**
654
+ * Place of the first character after the parsed source region.
655
+ */
656
+ end: Point;
654
657
  }
655
- declare const FilePlugin: IEditorPluginConstructor<FilePluginOptions>;
656
- //#endregion
657
- //#region src/plugins/file/react/type.d.ts
658
- interface ReactFilePluginProps {
659
- className?: string;
660
- handleUpload: (file: File) => Promise<{
661
- url: string;
662
- }>;
663
- locale?: Partial<Record<keyof ILocaleKeys, string>>;
664
- markdownWriter?: (file: FileNode) => string;
665
- theme?: {
666
- file?: string;
667
- };
658
+ /**
659
+ * Abstract unist node.
660
+ *
661
+ * The syntactic unit in unist syntax trees are called nodes.
662
+ *
663
+ * This interface is supposed to be extended.
664
+ * If you can use {@link Literal} or {@link Parent}, you should.
665
+ * But for example in markdown, a `thematicBreak` (`***`), is neither literal
666
+ * nor parent, but still a node.
667
+ */
668
+ interface Node$2 {
669
+ /**
670
+ * Node type.
671
+ */
672
+ type: string;
673
+ /**
674
+ * Info from the ecosystem.
675
+ */
676
+ data?: Data$1 | undefined;
677
+ /**
678
+ * Position of a node in a source document.
679
+ *
680
+ * Nodes that are generated (not in the original source document) must not
681
+ * have a position.
682
+ */
683
+ position?: Position | undefined;
668
684
  }
669
685
  //#endregion
670
- //#region src/plugins/file/react/ReactFilePlugin.d.ts
671
- declare const ReactFilePlugin: FC<ReactFilePluginProps>;
672
- //#endregion
673
- //#region src/plugins/hr/command/index.d.ts
674
- declare const INSERT_HORIZONTAL_RULE_COMMAND: _$lexical.LexicalCommand<unknown>;
675
- //#endregion
676
- //#region src/plugins/hr/node/HorizontalRuleNode.d.ts
677
- type SerializedHorizontalRuleNode = SerializedLexicalNode;
678
- declare class HorizontalRuleNode extends DecoratorNode<any> {
679
- static getType(): string;
680
- static clone(node: HorizontalRuleNode): HorizontalRuleNode;
681
- static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleNode;
682
- static importDOM(): DOMConversionMap | null;
683
- exportDOM(): DOMExportOutput;
684
- createDOM(config: EditorConfig): HTMLElement;
685
- getTextContent(): string;
686
- isInline(): false;
687
- updateDOM(): boolean;
688
- decorate(editor: LexicalEditor): any;
686
+ //#region node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts
687
+ // ## Enumeration
688
+ /**
689
+ * How phrasing content is aligned
690
+ * ({@link https://drafts.csswg.org/css-text/ | [CSSTEXT]}).
691
+ *
692
+ * * `'left'`: See the
693
+ * {@link https://drafts.csswg.org/css-text/#valdef-text-align-left | left}
694
+ * value of the `text-align` CSS property
695
+ * * `'right'`: See the
696
+ * {@link https://drafts.csswg.org/css-text/#valdef-text-align-right | right}
697
+ * value of the `text-align` CSS property
698
+ * * `'center'`: See the
699
+ * {@link https://drafts.csswg.org/css-text/#valdef-text-align-center | center}
700
+ * value of the `text-align` CSS property
701
+ * * `null`: phrasing content is aligned as defined by the host environment
702
+ *
703
+ * Used in GFM tables.
704
+ */
705
+ type AlignType = "center" | "left" | "right" | null;
706
+ /**
707
+ * Explicitness of a reference.
708
+ *
709
+ * `'shortcut'`: the reference is implicit, its identifier inferred from its
710
+ * content
711
+ * `'collapsed'`: the reference is explicit, its identifier inferred from its
712
+ * content
713
+ * `'full'`: the reference is explicit, its identifier explicitly set
714
+ */
715
+ type ReferenceType = "shortcut" | "collapsed" | "full";
716
+ // ## Mixin
717
+ /**
718
+ * Node with a fallback.
719
+ */
720
+ interface Alternative {
721
+ /**
722
+ * Equivalent content for environments that cannot represent the node as
723
+ * intended.
724
+ */
725
+ alt?: string | null | undefined;
689
726
  }
690
- //#endregion
691
- //#region src/plugins/hr/plugin/index.d.ts
692
- interface HRPluginOptions {
693
- decorator: (node: HorizontalRuleNode, editor: LexicalEditor) => any;
694
- theme?: string;
727
+ /**
728
+ * Internal relation from one node to another.
729
+ *
730
+ * Whether the value of `identifier` is expected to be a unique identifier or
731
+ * not depends on the type of node including the Association.
732
+ * An example of this is that they should be unique on {@link Definition},
733
+ * whereas multiple {@link LinkReference}s can be non-unique to be associated
734
+ * with one definition.
735
+ */
736
+ interface Association {
737
+ /**
738
+ * Relation of association.
739
+ *
740
+ * `identifier` is a source value: character escapes and character
741
+ * references are not parsed.
742
+ *
743
+ * It can match another node.
744
+ *
745
+ * Its value must be normalized.
746
+ * To normalize a value, collapse markdown whitespace (`[\t\n\r ]+`) to a space,
747
+ * trim the optional initial and/or final space, and perform Unicode-aware
748
+ * case-folding.
749
+ */
750
+ identifier: string;
751
+ /**
752
+ * Relation of association, in parsed form.
753
+ *
754
+ * `label` is a `string` value: it works just like `title` on {@link Link}
755
+ * or a `lang` on {@link Code}: character escapes and character references
756
+ * are parsed.
757
+ *
758
+ * It can match another node.
759
+ */
760
+ label?: string | null | undefined;
695
761
  }
696
- declare const HRPlugin: IEditorPluginConstructor<HRPluginOptions>;
697
- //#endregion
698
- //#region src/plugins/hr/react/type.d.ts
699
- interface ReactHRPluginProps {
700
- className?: string;
762
+ /**
763
+ * Marker that is associated to another node.
764
+ */
765
+ interface Reference extends Association {
766
+ /**
767
+ * Explicitness of the reference.
768
+ */
769
+ referenceType: ReferenceType;
701
770
  }
702
- //#endregion
703
- //#region src/plugins/hr/react/ReactHRPlugin.d.ts
704
- declare const ReactHRPlugin: FC<ReactHRPluginProps>;
705
- //#endregion
706
- //#region src/plugins/image/command/index.d.ts
707
- declare const INSERT_IMAGE_COMMAND: _$lexical.LexicalCommand<{
708
- block?: boolean;
709
- file: File;
710
- maxWidth?: number;
711
- range?: Range | null;
712
- }>;
713
- //#endregion
714
- //#region src/plugins/image/node/basie-image-node.d.ts
715
- type SerializedImageNode = Spread<{
716
- altText: string;
717
- height?: number;
718
- maxWidth: number;
719
- src: string;
720
- status?: 'uploaded' | 'loading' | 'error';
721
- width?: number;
722
- }, SerializedLexicalNode>;
723
- declare class BaseImageNode extends DecoratorNode<any> {
724
- __src: string;
725
- __altText: string;
726
- __width: 'inherit' | number;
727
- __height: 'inherit' | number;
728
- __maxWidth: number;
729
- static clone(node: BaseImageNode): BaseImageNode;
730
- static importJSON(serializedNode: SerializedImageNode): BaseImageNode;
731
- static getType(): string;
732
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedImageNode>): this;
733
- exportDOM(): DOMExportOutput;
734
- constructor(src: string, altText: string, maxWidth: number, width?: 'inherit' | number, height?: 'inherit' | number, key?: NodeKey);
735
- exportJSON(): SerializedImageNode;
736
- setWidthAndHeight(width: 'inherit' | number, height: 'inherit' | number): void;
737
- isInline(): boolean;
738
- createDOM(config: EditorConfig): HTMLElement;
739
- updateDOM(): false;
740
- getSrc(): string;
741
- getAltText(): string;
742
- }
743
- //#endregion
744
- //#region src/plugins/image/node/block-image-node.d.ts
745
- declare class BlockImageNode extends BaseImageNode {
746
- private static _decorate;
747
- static setDecorate(decorate: (node: BlockImageNode) => any): void;
748
- static getType(): string;
749
- private __loading;
750
- private __status;
751
- private __message;
752
- private __extra;
753
- get isLoading(): boolean;
754
- get status(): 'uploaded' | 'loading' | 'error';
755
- get message(): string | null;
756
- get src(): string;
757
- get altText(): string;
758
- get maxWidth(): number;
759
- get width(): number | string;
760
- get height(): number | string;
761
- constructor(opt: {
762
- altText: string;
763
- height?: 'inherit' | number;
764
- key?: NodeKey;
765
- maxWidth: number;
766
- src: string;
767
- status?: 'uploaded' | 'loading' | 'error';
768
- width?: 'inherit' | number;
769
- });
770
- isInline(): boolean;
771
- setMaxWidth(maxWidth: number): void;
772
- setWidth(width: number): void;
773
- setStatus(status: 'uploaded' | 'loading' | 'error'): void;
774
- setUploaded(url: string): void;
775
- setError(message: string): void;
776
- static clone(node: BlockImageNode): BlockImageNode;
777
- static importJSON(serializedNode: SerializedImageNode): BlockImageNode;
778
- static importDOM(): DOMConversionMap | null;
779
- decorate(): any;
780
- createDOM(config: EditorConfig): HTMLElement;
781
- }
782
- //#endregion
783
- //#region src/plugins/image/node/image-node.d.ts
784
- declare class ImageNode extends BaseImageNode {
785
- private static _decorate;
786
- static setDecorate(decorate: (node: ImageNode) => any): void;
787
- static getType(): string;
788
- private __loading;
789
- private __status;
790
- private __message;
791
- private __extra;
792
- constructor(opt: {
793
- altText: string;
794
- height?: 'inherit' | number;
795
- key?: NodeKey;
796
- maxWidth: number;
797
- src: string;
798
- status?: 'uploaded' | 'loading' | 'error';
799
- width?: 'inherit' | number;
800
- });
801
- get isLoading(): boolean;
802
- get status(): 'uploaded' | 'loading' | 'error';
803
- get message(): string | null;
804
- get src(): string;
805
- get altText(): string;
806
- get maxWidth(): number;
807
- get width(): number | string;
808
- get height(): number | string;
809
- setMaxWidth(maxWidth: number): void;
810
- setStatus(status: 'uploaded' | 'loading' | 'error'): void;
811
- setWidth(width: number): void;
812
- setUploaded(url: string): void;
813
- setError(message: string): void;
814
- static clone(node: ImageNode): ImageNode;
815
- static importJSON(serializedNode: SerializedImageNode): ImageNode;
816
- static importDOM(): DOMConversionMap | null;
817
- decorate(): any;
818
- }
819
- //#endregion
820
- //#region src/plugins/image/plugin/index.d.ts
821
- interface ImagePluginOptions {
822
- defaultBlockImage?: boolean;
823
- handleRehost?: (url: string) => Promise<{
824
- url: string;
825
- }>;
826
- handleUpload: (file: File) => Promise<{
827
- url: string;
828
- }>;
829
- needRehost?: (url: string) => boolean;
830
- renderImage: (node: ImageNode | BlockImageNode) => JSX.Element | null;
831
- theme?: {
832
- blockImage?: string;
833
- image?: string;
834
- };
835
- }
836
- declare const ImagePlugin: IEditorPluginConstructor<ImagePluginOptions>;
837
- //#endregion
838
- //#region src/plugins/image/react/type.d.ts
839
- interface ReactImagePluginProps {
840
- className?: string;
841
- defaultBlockImage?: boolean;
842
- handleRehost?: (url: string) => Promise<{
843
- url: string;
844
- }>;
845
- handleUpload?: (file: File) => Promise<{
846
- url: string;
847
- }>;
848
- needRehost?: (url: string) => boolean;
849
- /**
850
- * Custom file picker for environments where programmatic input.click() is blocked (e.g. Electron).
851
- * When provided, this will be called instead of triggering the hidden file input.
852
- */
853
- onPickFile?: () => Promise<File | null>;
854
- theme?: {
855
- blockImage?: string;
856
- image?: string;
857
- };
858
- }
859
- //#endregion
860
- //#region src/plugins/image/react/ReactImagePlugin.d.ts
861
- declare const ReactImagePlugin: FC<ReactImagePluginProps>;
862
- //#endregion
863
- //#region src/plugins/inode/plugin/index.d.ts
864
771
  /**
865
- * NodePluginOptions - Configuration options for the Node plugin
772
+ * Reference to resource.
866
773
  */
867
- interface INodePluginOptions {
774
+ interface Resource {
868
775
  /**
869
- * Enable or disable the node data source
870
- * @default true
776
+ * URL to the referenced resource.
871
777
  */
872
- enabled?: boolean;
778
+ url: string;
779
+ /**
780
+ * Advisory information for the resource, such as would be appropriate for
781
+ * a tooltip.
782
+ */
783
+ title?: string | null | undefined;
873
784
  }
785
+ // ## Interfaces
874
786
  /**
875
- * LitexmlPlugin - A plugin that provides XML-based data source support
876
- * Allows converting between Lexical editor state and XML format
787
+ * Info associated with mdast nodes by the ecosystem.
788
+ *
789
+ * This space is guaranteed to never be specified by unist or mdast.
790
+ * But you can use it in utilities and plugins to store data.
791
+ *
792
+ * This type can be augmented to register custom data.
793
+ * For example:
794
+ *
795
+ * ```ts
796
+ * declare module 'mdast' {
797
+ * interface Data {
798
+ * // `someNode.data.myId` is typed as `number | undefined`
799
+ * myId?: number | undefined
800
+ * }
801
+ * }
802
+ * ```
877
803
  */
878
- declare const INodePlugin: IEditorPluginConstructor<INodePluginOptions>;
879
- //#endregion
880
- //#region src/plugins/inode/react/index.d.ts
881
- declare const ReactNodePlugin: FC<void>;
882
- //#endregion
883
- //#region src/plugins/inode/service/index.d.ts
884
- interface INodeService {
885
- processNodeTree(inode: {
886
- root: IRootNode;
887
- }): void;
888
- registerProcessNodeTree(process: (inode: {
889
- root: IRootNode;
890
- }) => void): void;
804
+ interface Data extends Data$1 {}
805
+ // ## Content maps
806
+ /**
807
+ * Union of registered mdast nodes that can occur where block content is
808
+ * expected.
809
+ *
810
+ * To register custom mdast nodes, add them to {@link BlockContentMap}.
811
+ * They will be automatically added here.
812
+ */
813
+ type BlockContent = BlockContentMap[keyof BlockContentMap];
814
+ /**
815
+ * Registry of all mdast nodes that can occur where {@link BlockContent} is
816
+ * expected.
817
+ *
818
+ * This interface can be augmented to register custom node types:
819
+ *
820
+ * ```ts
821
+ * declare module 'mdast' {
822
+ * interface BlockContentMap {
823
+ * // Allow using MDX ESM nodes defined by `remark-mdx`.
824
+ * mdxjsEsm: MdxjsEsm;
825
+ * }
826
+ * }
827
+ * ```
828
+ *
829
+ * For a union of all block content, see {@link RootContent}.
830
+ */
831
+ interface BlockContentMap {
832
+ blockquote: Blockquote;
833
+ code: Code;
834
+ heading: Heading;
835
+ html: Html;
836
+ list: List;
837
+ paragraph: Paragraph;
838
+ table: Table;
839
+ thematicBreak: ThematicBreak;
891
840
  }
892
841
  /**
893
- * Service ID for Node service
842
+ * Union of registered mdast nodes that can occur where definition content is
843
+ * expected.
844
+ *
845
+ * To register custom mdast nodes, add them to {@link DefinitionContentMap}.
846
+ * They will be automatically added here.
894
847
  */
895
- declare const INodeService: IServiceID<INodeService>;
896
- //#endregion
897
- //#region src/plugins/link/command/index.d.ts
898
- declare const INSERT_LINK_COMMAND: _$lexical.LexicalCommand<{
899
- title?: string;
900
- url?: string;
901
- }>;
902
- //#endregion
903
- //#region src/plugins/link/node/LinkNode.d.ts
904
- type LinkAttributes = {
905
- rel?: null | string;
906
- target?: null | string;
907
- title?: null | string;
908
- };
909
- //#endregion
910
- //#region src/plugins/link/plugin/index.d.ts
911
- interface LinkPluginOptions {
912
- attributes?: LinkAttributes;
913
- enableHotkey?: boolean;
914
- linkRegex?: RegExp;
915
- theme?: {
916
- link?: string;
917
- };
918
- validateUrl?: (url: string) => boolean;
919
- }
920
- declare const LinkPlugin: IEditorPluginConstructor<LinkPluginOptions>;
921
- //#endregion
922
- //#region src/plugins/link/react/type.d.ts
923
- interface ReactLinkPluginProps {
924
- attributes?: LinkAttributes;
925
- className?: string;
926
- enableHotkey?: boolean;
927
- theme?: {
928
- link?: string;
929
- };
930
- validateUrl?: (url: string) => boolean;
931
- }
932
- //#endregion
933
- //#region src/plugins/link/react/ReactLinkPlugin.d.ts
934
- declare const ReactLinkPlugin: FC<ReactLinkPluginProps>;
935
- //#endregion
936
- //#region src/plugins/link/service/i-link-service.d.ts
937
- interface ILinkService {
938
- setLinkToolbar(enable: boolean): void;
939
- }
940
- declare const ILinkService: IServiceID<ILinkService>;
941
- //#endregion
942
- //#region src/plugins/link-highlight/command/index.d.ts
943
- declare const INSERT_LINK_HIGHLIGHT_COMMAND: _$lexical.LexicalCommand<undefined>;
944
- declare function registerLinkHighlightCommand(editor: LexicalEditor): () => void;
945
- //#endregion
946
- //#region src/plugins/link-highlight/plugin/index.d.ts
947
- interface LinkHighlightPluginOptions {
948
- enableHotkey?: boolean;
949
- /**
950
- * Enable auto-highlight when pasting URLs
951
- * @default true
952
- */
953
- enablePasteAutoHighlight?: boolean;
954
- theme?: string;
955
- /**
956
- * Custom URL validation regex
957
- */
958
- urlRegex?: RegExp;
959
- }
960
- declare const LinkHighlightPlugin: IEditorPluginConstructor<LinkHighlightPluginOptions>;
961
- //#endregion
962
- //#region src/plugins/link-highlight/react/type.d.ts
963
- interface ReactLinkHighlightPluginProps {
964
- className?: string;
965
- /**
966
- * Enable keyboard shortcut (Ctrl+K / Cmd+K)
967
- * @default true
968
- */
969
- enableHotkey?: boolean;
970
- /**
971
- * Enable auto-highlight when pasting URLs
972
- * @default true
973
- */
974
- enablePasteAutoHighlight?: boolean;
975
- }
976
- //#endregion
977
- //#region src/plugins/link-highlight/react/ReactLinkHighlightPlugin.d.ts
978
- declare const ReactLinkHighlightPlugin: FC<ReactLinkHighlightPluginProps>;
979
- //#endregion
980
- //#region src/plugins/list/plugin/checkList.d.ts
981
- declare const INSERT_CHECK_LIST_COMMAND: LexicalCommand<void>;
982
- //#endregion
983
- //#region src/plugins/list/plugin/index.d.ts
984
- interface ListPluginOptions {
985
- enableHotkey?: boolean;
986
- theme?: string;
987
- }
988
- declare const ListPlugin: IEditorPluginConstructor<ListPluginOptions>;
989
- //#endregion
990
- //#region src/plugins/list/react/type.d.ts
991
- interface ReactListPluginProps {
992
- className?: string;
993
- enableHotkey?: boolean;
994
- }
995
- //#endregion
996
- //#region src/plugins/list/react/ReactListPlugin.d.ts
997
- declare const ReactListPlugin: FC<ReactListPluginProps>;
998
- //#endregion
999
- //#region src/plugins/litexml/command/diffCommand.d.ts
1000
- declare enum DiffAction {
1001
- Reject = 0,
1002
- Accept = 1
1003
- }
1004
- declare const LITEXML_DIFFNODE_COMMAND: _$lexical.LexicalCommand<{
1005
- action: DiffAction;
1006
- nodeKey: string;
1007
- }>;
1008
- declare const LITEXML_DIFFNODE_ALL_COMMAND: _$lexical.LexicalCommand<{
1009
- action: DiffAction;
1010
- }>;
1011
- //#endregion
1012
- //#region src/plugins/litexml/node/DiffNode.d.ts
1013
- type DiffType = 'add' | 'remove' | 'modify' | 'unchanged' | 'listItemModify' | 'listItemRemove' | 'listItemAdd';
1014
- type SerializedDiffNode = Spread<{
1015
- diffType: DiffType;
1016
- }, SerializedElementNode>;
1017
- /** DiffNode - contains two block children: original and modified */
1018
- declare class DiffNode extends CardLikeElementNode {
1019
- static getType(): string;
1020
- static clone(node: DiffNode): DiffNode;
1021
- static importJSON(serializedNode: SerializedDiffNode): DiffNode;
1022
- static importDOM(): null;
1023
- private __diffType;
1024
- constructor(type: DiffType, key?: string);
1025
- get diffType(): DiffType;
1026
- setDiffType(type: DiffType): this;
1027
- updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedDiffNode>): this;
1028
- exportJSON(): SerializedDiffNode;
1029
- exportDOM(editor: LexicalEditor): DOMExportOutput;
1030
- createDOM(config: EditorConfig, editor: LexicalEditor): HTMLDivElement;
1031
- updateDOM(_prevNode: unknown, _dom: HTMLElement, _config: EditorConfig): boolean;
1032
- getDOMSlot(element: HTMLElement): ElementDOMSlot<HTMLElement>;
1033
- isInline(): boolean;
1034
- isCardLike(): boolean;
1035
- }
1036
- //#endregion
1037
- //#region src/plugins/litexml/plugin/index.d.ts
848
+ type DefinitionContent = DefinitionContentMap[keyof DefinitionContentMap];
1038
849
  /**
1039
- * LitexmlPluginOptions - Configuration options for the Litexml plugin
850
+ * Registry of all mdast nodes that can occur where {@link DefinitionContent}
851
+ * is expected.
852
+ *
853
+ * This interface can be augmented to register custom node types:
854
+ *
855
+ * ```ts
856
+ * declare module 'mdast' {
857
+ * interface DefinitionContentMap {
858
+ * custom: Custom;
859
+ * }
860
+ * }
861
+ * ```
862
+ *
863
+ * For a union of all definition content, see {@link RootContent}.
1040
864
  */
1041
- interface LitexmlPluginOptions {
1042
- decorator: (node: DiffNode, editor: LexicalEditor) => any;
1043
- /**
1044
- * Enable or disable the litexml data source
1045
- * @default true
1046
- */
1047
- enabled?: boolean;
1048
- theme?: string;
865
+ interface DefinitionContentMap {
866
+ definition: Definition;
867
+ footnoteDefinition: FootnoteDefinition;
1049
868
  }
1050
869
  /**
1051
- * LitexmlPlugin - A plugin that provides XML-based data source support
1052
- * Allows converting between Lexical editor state and XML format
870
+ * Union of registered mdast nodes that can occur where list content is
871
+ * expected.
872
+ *
873
+ * To register custom mdast nodes, add them to {@link ListContentMap}.
874
+ * They will be automatically added here.
1053
875
  */
1054
- declare const LitexmlPlugin: IEditorPluginConstructor<LitexmlPluginOptions>;
1055
- //#endregion
1056
- //#region src/plugins/litexml/react/index.d.ts
1057
- declare const ReactLiteXmlPlugin: FC<void>;
1058
- //#endregion
1059
- //#region src/plugins/litexml/react/hooks/useHasDiffNode.d.ts
1060
- declare function useHasDiffNode(editor?: IEditor): {
1061
- hasDiff: boolean;
1062
- };
1063
- //#endregion
1064
- //#region node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts
1065
- // ## Interfaces
876
+ type ListContent = ListContentMap[keyof ListContentMap];
1066
877
  /**
1067
- * Info associated with nodes by the ecosystem.
1068
- *
1069
- * This space is guaranteed to never be specified by unist or specifications
1070
- * implementing unist.
1071
- * But you can use it in utilities and plugins to store data.
878
+ * Registry of all mdast nodes that can occur where {@link ListContent}
879
+ * is expected.
1072
880
  *
1073
- * This type can be augmented to register custom data.
1074
- * For example:
881
+ * This interface can be augmented to register custom node types:
1075
882
  *
1076
883
  * ```ts
1077
- * declare module 'unist' {
1078
- * interface Data {
1079
- * // `someNode.data.myId` is typed as `number | undefined`
1080
- * myId?: number | undefined
884
+ * declare module 'mdast' {
885
+ * interface ListContentMap {
886
+ * custom: Custom;
1081
887
  * }
1082
888
  * }
1083
889
  * ```
890
+ *
891
+ * For a union of all list content, see {@link RootContent}.
1084
892
  */
1085
- interface Data$1 {}
1086
- /**
1087
- * One place in a source file.
1088
- */
1089
- interface Point {
1090
- /**
1091
- * Line in a source file (1-indexed integer).
1092
- */
1093
- line: number;
1094
- /**
1095
- * Column in a source file (1-indexed integer).
1096
- */
1097
- column: number;
1098
- /**
1099
- * Character in a source file (0-indexed integer).
1100
- */
1101
- offset?: number | undefined;
893
+ interface ListContentMap {
894
+ listItem: ListItem;
1102
895
  }
1103
896
  /**
1104
- * Position of a node in a source document.
897
+ * Union of registered mdast nodes that can occur where phrasing content is
898
+ * expected.
1105
899
  *
1106
- * A position is a range between two points.
900
+ * To register custom mdast nodes, add them to {@link PhrasingContentMap}.
901
+ * They will be automatically added here.
1107
902
  */
1108
- interface Position {
1109
- /**
1110
- * Place of the first character of the parsed source region.
1111
- */
1112
- start: Point;
1113
- /**
1114
- * Place of the first character after the parsed source region.
1115
- */
1116
- end: Point;
1117
- }
903
+ type PhrasingContent = PhrasingContentMap[keyof PhrasingContentMap];
1118
904
  /**
1119
- * Abstract unist node.
905
+ * Registry of all mdast nodes that can occur where {@link PhrasingContent}
906
+ * is expected.
1120
907
  *
1121
- * The syntactic unit in unist syntax trees are called nodes.
908
+ * This interface can be augmented to register custom node types:
1122
909
  *
1123
- * This interface is supposed to be extended.
1124
- * If you can use {@link Literal} or {@link Parent}, you should.
1125
- * But for example in markdown, a `thematicBreak` (`***`), is neither literal
1126
- * nor parent, but still a node.
1127
- */
1128
- interface Node$2 {
1129
- /**
1130
- * Node type.
1131
- */
1132
- type: string;
1133
- /**
1134
- * Info from the ecosystem.
1135
- */
1136
- data?: Data$1 | undefined;
1137
- /**
1138
- * Position of a node in a source document.
1139
- *
1140
- * Nodes that are generated (not in the original source document) must not
1141
- * have a position.
1142
- */
1143
- position?: Position | undefined;
1144
- }
1145
- //#endregion
1146
- //#region node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts
1147
- // ## Enumeration
1148
- /**
1149
- * How phrasing content is aligned
1150
- * ({@link https://drafts.csswg.org/css-text/ | [CSSTEXT]}).
1151
- *
1152
- * * `'left'`: See the
1153
- * {@link https://drafts.csswg.org/css-text/#valdef-text-align-left | left}
1154
- * value of the `text-align` CSS property
1155
- * * `'right'`: See the
1156
- * {@link https://drafts.csswg.org/css-text/#valdef-text-align-right | right}
1157
- * value of the `text-align` CSS property
1158
- * * `'center'`: See the
1159
- * {@link https://drafts.csswg.org/css-text/#valdef-text-align-center | center}
1160
- * value of the `text-align` CSS property
1161
- * * `null`: phrasing content is aligned as defined by the host environment
1162
- *
1163
- * Used in GFM tables.
1164
- */
1165
- type AlignType = "center" | "left" | "right" | null;
1166
- /**
1167
- * Explicitness of a reference.
1168
- *
1169
- * `'shortcut'`: the reference is implicit, its identifier inferred from its
1170
- * content
1171
- * `'collapsed'`: the reference is explicit, its identifier inferred from its
1172
- * content
1173
- * `'full'`: the reference is explicit, its identifier explicitly set
1174
- */
1175
- type ReferenceType = "shortcut" | "collapsed" | "full";
1176
- // ## Mixin
1177
- /**
1178
- * Node with a fallback.
1179
- */
1180
- interface Alternative {
1181
- /**
1182
- * Equivalent content for environments that cannot represent the node as
1183
- * intended.
1184
- */
1185
- alt?: string | null | undefined;
1186
- }
1187
- /**
1188
- * Internal relation from one node to another.
1189
- *
1190
- * Whether the value of `identifier` is expected to be a unique identifier or
1191
- * not depends on the type of node including the Association.
1192
- * An example of this is that they should be unique on {@link Definition},
1193
- * whereas multiple {@link LinkReference}s can be non-unique to be associated
1194
- * with one definition.
1195
- */
1196
- interface Association {
1197
- /**
1198
- * Relation of association.
1199
- *
1200
- * `identifier` is a source value: character escapes and character
1201
- * references are not parsed.
1202
- *
1203
- * It can match another node.
1204
- *
1205
- * Its value must be normalized.
1206
- * To normalize a value, collapse markdown whitespace (`[\t\n\r ]+`) to a space,
1207
- * trim the optional initial and/or final space, and perform Unicode-aware
1208
- * case-folding.
1209
- */
1210
- identifier: string;
1211
- /**
1212
- * Relation of association, in parsed form.
1213
- *
1214
- * `label` is a `string` value: it works just like `title` on {@link Link}
1215
- * or a `lang` on {@link Code}: character escapes and character references
1216
- * are parsed.
1217
- *
1218
- * It can match another node.
1219
- */
1220
- label?: string | null | undefined;
1221
- }
1222
- /**
1223
- * Marker that is associated to another node.
1224
- */
1225
- interface Reference extends Association {
1226
- /**
1227
- * Explicitness of the reference.
1228
- */
1229
- referenceType: ReferenceType;
1230
- }
1231
- /**
1232
- * Reference to resource.
1233
- */
1234
- interface Resource {
1235
- /**
1236
- * URL to the referenced resource.
1237
- */
1238
- url: string;
1239
- /**
1240
- * Advisory information for the resource, such as would be appropriate for
1241
- * a tooltip.
1242
- */
1243
- title?: string | null | undefined;
1244
- }
1245
- // ## Interfaces
1246
- /**
1247
- * Info associated with mdast nodes by the ecosystem.
1248
- *
1249
- * This space is guaranteed to never be specified by unist or mdast.
1250
- * But you can use it in utilities and plugins to store data.
1251
- *
1252
- * This type can be augmented to register custom data.
1253
- * For example:
1254
- *
1255
- * ```ts
1256
- * declare module 'mdast' {
1257
- * interface Data {
1258
- * // `someNode.data.myId` is typed as `number | undefined`
1259
- * myId?: number | undefined
1260
- * }
1261
- * }
1262
- * ```
1263
- */
1264
- interface Data extends Data$1 {}
1265
- // ## Content maps
1266
- /**
1267
- * Union of registered mdast nodes that can occur where block content is
1268
- * expected.
1269
- *
1270
- * To register custom mdast nodes, add them to {@link BlockContentMap}.
1271
- * They will be automatically added here.
1272
- */
1273
- type BlockContent = BlockContentMap[keyof BlockContentMap];
1274
- /**
1275
- * Registry of all mdast nodes that can occur where {@link BlockContent} is
1276
- * expected.
1277
- *
1278
- * This interface can be augmented to register custom node types:
1279
- *
1280
- * ```ts
1281
- * declare module 'mdast' {
1282
- * interface BlockContentMap {
1283
- * // Allow using MDX ESM nodes defined by `remark-mdx`.
1284
- * mdxjsEsm: MdxjsEsm;
1285
- * }
1286
- * }
1287
- * ```
1288
- *
1289
- * For a union of all block content, see {@link RootContent}.
1290
- */
1291
- interface BlockContentMap {
1292
- blockquote: Blockquote;
1293
- code: Code;
1294
- heading: Heading;
1295
- html: Html;
1296
- list: List;
1297
- paragraph: Paragraph;
1298
- table: Table;
1299
- thematicBreak: ThematicBreak;
1300
- }
1301
- /**
1302
- * Union of registered mdast nodes that can occur where definition content is
1303
- * expected.
1304
- *
1305
- * To register custom mdast nodes, add them to {@link DefinitionContentMap}.
1306
- * They will be automatically added here.
1307
- */
1308
- type DefinitionContent = DefinitionContentMap[keyof DefinitionContentMap];
1309
- /**
1310
- * Registry of all mdast nodes that can occur where {@link DefinitionContent}
1311
- * is expected.
1312
- *
1313
- * This interface can be augmented to register custom node types:
1314
- *
1315
- * ```ts
1316
- * declare module 'mdast' {
1317
- * interface DefinitionContentMap {
1318
- * custom: Custom;
1319
- * }
1320
- * }
1321
- * ```
1322
- *
1323
- * For a union of all definition content, see {@link RootContent}.
1324
- */
1325
- interface DefinitionContentMap {
1326
- definition: Definition;
1327
- footnoteDefinition: FootnoteDefinition;
1328
- }
1329
- /**
1330
- * Union of registered mdast nodes that can occur where list content is
1331
- * expected.
1332
- *
1333
- * To register custom mdast nodes, add them to {@link ListContentMap}.
1334
- * They will be automatically added here.
1335
- */
1336
- type ListContent = ListContentMap[keyof ListContentMap];
1337
- /**
1338
- * Registry of all mdast nodes that can occur where {@link ListContent}
1339
- * is expected.
1340
- *
1341
- * This interface can be augmented to register custom node types:
1342
- *
1343
- * ```ts
1344
- * declare module 'mdast' {
1345
- * interface ListContentMap {
1346
- * custom: Custom;
1347
- * }
1348
- * }
1349
- * ```
1350
- *
1351
- * For a union of all list content, see {@link RootContent}.
1352
- */
1353
- interface ListContentMap {
1354
- listItem: ListItem;
1355
- }
1356
- /**
1357
- * Union of registered mdast nodes that can occur where phrasing content is
1358
- * expected.
1359
- *
1360
- * To register custom mdast nodes, add them to {@link PhrasingContentMap}.
1361
- * They will be automatically added here.
1362
- */
1363
- type PhrasingContent = PhrasingContentMap[keyof PhrasingContentMap];
1364
- /**
1365
- * Registry of all mdast nodes that can occur where {@link PhrasingContent}
1366
- * is expected.
1367
- *
1368
- * This interface can be augmented to register custom node types:
1369
- *
1370
- * ```ts
1371
- * declare module 'mdast' {
1372
- * interface PhrasingContentMap {
1373
- * // Allow using MDX JSX (text) nodes defined by `remark-mdx`.
1374
- * mdxJsxTextElement: MDXJSXTextElement;
1375
- * }
1376
- * }
1377
- * ```
1378
- *
1379
- * For a union of all phrasing content, see {@link RootContent}.
910
+ * ```ts
911
+ * declare module 'mdast' {
912
+ * interface PhrasingContentMap {
913
+ * // Allow using MDX JSX (text) nodes defined by `remark-mdx`.
914
+ * mdxJsxTextElement: MDXJSXTextElement;
915
+ * }
916
+ * }
917
+ * ```
918
+ *
919
+ * For a union of all phrasing content, see {@link RootContent}.
1380
920
  */
1381
921
  interface PhrasingContentMap {
1382
922
  break: Break;
@@ -1876,338 +1416,868 @@ interface List extends Parent {
1876
1416
  */
1877
1417
  data?: ListData | undefined;
1878
1418
  }
1879
- /**
1880
- * Info associated with mdast list nodes by the ecosystem.
1881
- */
1882
- interface ListData extends Data {}
1883
- /**
1884
- * Markdown list item.
1885
- */
1886
- interface ListItem extends Parent {
1887
- /**
1888
- * Node type of mdast list item.
1889
- */
1890
- type: "listItem";
1891
- /**
1892
- * Whether the item is a tasklist item (when `boolean`).
1893
- *
1894
- * When `true`, the item is complete.
1895
- * When `false`, the item is incomplete.
1896
- */
1897
- checked?: boolean | null | undefined;
1898
- /**
1899
- * Whether one or more of the children are separated with a blank line from
1900
- * its siblings (when `true`), or not (when `false` or not present).
1901
- */
1902
- spread?: boolean | null | undefined;
1903
- /**
1904
- * Children of list item.
1905
- */
1906
- children: Array<BlockContent | DefinitionContent>;
1907
- /**
1908
- * Data associated with the mdast list item.
1909
- */
1910
- data?: ListItemData | undefined;
1419
+ /**
1420
+ * Info associated with mdast list nodes by the ecosystem.
1421
+ */
1422
+ interface ListData extends Data {}
1423
+ /**
1424
+ * Markdown list item.
1425
+ */
1426
+ interface ListItem extends Parent {
1427
+ /**
1428
+ * Node type of mdast list item.
1429
+ */
1430
+ type: "listItem";
1431
+ /**
1432
+ * Whether the item is a tasklist item (when `boolean`).
1433
+ *
1434
+ * When `true`, the item is complete.
1435
+ * When `false`, the item is incomplete.
1436
+ */
1437
+ checked?: boolean | null | undefined;
1438
+ /**
1439
+ * Whether one or more of the children are separated with a blank line from
1440
+ * its siblings (when `true`), or not (when `false` or not present).
1441
+ */
1442
+ spread?: boolean | null | undefined;
1443
+ /**
1444
+ * Children of list item.
1445
+ */
1446
+ children: Array<BlockContent | DefinitionContent>;
1447
+ /**
1448
+ * Data associated with the mdast list item.
1449
+ */
1450
+ data?: ListItemData | undefined;
1451
+ }
1452
+ /**
1453
+ * Info associated with mdast list item nodes by the ecosystem.
1454
+ */
1455
+ interface ListItemData extends Data {}
1456
+ /**
1457
+ * Markdown paragraph.
1458
+ */
1459
+ interface Paragraph extends Parent {
1460
+ /**
1461
+ * Node type of mdast paragraph.
1462
+ */
1463
+ type: "paragraph";
1464
+ /**
1465
+ * Children of paragraph.
1466
+ */
1467
+ children: PhrasingContent[];
1468
+ /**
1469
+ * Data associated with the mdast paragraph.
1470
+ */
1471
+ data?: ParagraphData | undefined;
1472
+ }
1473
+ /**
1474
+ * Info associated with mdast paragraph nodes by the ecosystem.
1475
+ */
1476
+ interface ParagraphData extends Data {}
1477
+ /**
1478
+ * Document fragment or a whole document.
1479
+ *
1480
+ * Should be used as the root of a tree and must not be used as a child.
1481
+ */
1482
+ interface Root extends Parent {
1483
+ /**
1484
+ * Node type of mdast root.
1485
+ */
1486
+ type: "root";
1487
+ /**
1488
+ * Data associated with the mdast root.
1489
+ */
1490
+ data?: RootData | undefined;
1491
+ }
1492
+ /**
1493
+ * Info associated with mdast root nodes by the ecosystem.
1494
+ */
1495
+ interface RootData extends Data {}
1496
+ /**
1497
+ * Markdown strong.
1498
+ */
1499
+ interface Strong extends Parent {
1500
+ /**
1501
+ * Node type of mdast strong.
1502
+ */
1503
+ type: "strong";
1504
+ /**
1505
+ * Children of strong.
1506
+ */
1507
+ children: PhrasingContent[];
1508
+ /**
1509
+ * Data associated with the mdast strong.
1510
+ */
1511
+ data?: StrongData | undefined;
1512
+ }
1513
+ /**
1514
+ * Info associated with mdast strong nodes by the ecosystem.
1515
+ */
1516
+ interface StrongData extends Data {}
1517
+ /**
1518
+ * Markdown GFM table.
1519
+ */
1520
+ interface Table extends Parent {
1521
+ /**
1522
+ * Node type of mdast GFM table.
1523
+ */
1524
+ type: "table";
1525
+ /**
1526
+ * How cells in columns are aligned.
1527
+ */
1528
+ align?: AlignType[] | null | undefined;
1529
+ /**
1530
+ * Children of GFM table.
1531
+ */
1532
+ children: TableContent[];
1533
+ /**
1534
+ * Data associated with the mdast GFM table.
1535
+ */
1536
+ data?: TableData | undefined;
1537
+ }
1538
+ /**
1539
+ * Info associated with mdast GFM table nodes by the ecosystem.
1540
+ */
1541
+ interface TableData extends Data {}
1542
+ /**
1543
+ * Markdown GFM table row.
1544
+ */
1545
+ interface TableRow extends Parent {
1546
+ /**
1547
+ * Node type of mdast GFM table row.
1548
+ */
1549
+ type: "tableRow";
1550
+ /**
1551
+ * Children of GFM table row.
1552
+ */
1553
+ children: RowContent[];
1554
+ /**
1555
+ * Data associated with the mdast GFM table row.
1556
+ */
1557
+ data?: TableRowData | undefined;
1558
+ }
1559
+ /**
1560
+ * Info associated with mdast GFM table row nodes by the ecosystem.
1561
+ */
1562
+ interface TableRowData extends Data {}
1563
+ /**
1564
+ * Markdown GFM table cell.
1565
+ */
1566
+ interface TableCell extends Parent {
1567
+ /**
1568
+ * Node type of mdast GFM table cell.
1569
+ */
1570
+ type: "tableCell";
1571
+ /**
1572
+ * Children of GFM table cell.
1573
+ */
1574
+ children: PhrasingContent[];
1575
+ /**
1576
+ * Data associated with the mdast GFM table cell.
1577
+ */
1578
+ data?: TableCellData | undefined;
1579
+ }
1580
+ /**
1581
+ * Info associated with mdast GFM table cell nodes by the ecosystem.
1582
+ */
1583
+ interface TableCellData extends Data {}
1584
+ /**
1585
+ * Markdown text.
1586
+ */
1587
+ interface Text extends Literal {
1588
+ /**
1589
+ * Node type of mdast text.
1590
+ */
1591
+ type: "text";
1592
+ /**
1593
+ * Data associated with the mdast text.
1594
+ */
1595
+ data?: TextData | undefined;
1596
+ }
1597
+ /**
1598
+ * Info associated with mdast text nodes by the ecosystem.
1599
+ */
1600
+ interface TextData extends Data {}
1601
+ /**
1602
+ * Markdown thematic break (horizontal rule).
1603
+ */
1604
+ interface ThematicBreak extends Node$1 {
1605
+ /**
1606
+ * Node type of mdast thematic break.
1607
+ */
1608
+ type: "thematicBreak";
1609
+ /**
1610
+ * Data associated with the mdast thematic break.
1611
+ */
1612
+ data?: ThematicBreakData | undefined;
1613
+ }
1614
+ /**
1615
+ * Info associated with mdast thematic break nodes by the ecosystem.
1616
+ */
1617
+ interface ThematicBreakData extends Data {}
1618
+ /**
1619
+ * Markdown YAML.
1620
+ */
1621
+ interface Yaml extends Literal {
1622
+ /**
1623
+ * Node type of mdast YAML.
1624
+ */
1625
+ type: "yaml";
1626
+ /**
1627
+ * Data associated with the mdast YAML.
1628
+ */
1629
+ data?: YamlData | undefined;
1630
+ }
1631
+ /**
1632
+ * Info associated with mdast YAML nodes by the ecosystem.
1633
+ */
1634
+ interface YamlData extends Data {}
1635
+ //#endregion
1636
+ //#region src/plugins/markdown/data-source/markdown/parse.d.ts
1637
+ type MarkdownReadNode = INode | ITextNode | IElementNode;
1638
+ type MarkdownNode = Root | RootContent | PhrasingContent;
1639
+ type MarkdownReaderFunc<K> = (node: Extract<MarkdownNode, {
1640
+ type: K;
1641
+ }>, children: MarkdownReadNode[], index: number) => MarkdownReadNode | MarkdownReadNode[] | false;
1642
+ type TransformerRecord = { [K in MarkdownNode['type']]?: MarkdownReaderFunc<K> | Array<MarkdownReaderFunc<K>> };
1643
+ //#endregion
1644
+ //#region src/plugins/markdown/service/transformers.d.ts
1645
+ type TextFormatTransformer = Readonly<{
1646
+ format?: ReadonlyArray<TextFormatType>;
1647
+ intraword?: boolean;
1648
+ process?: (selection: RangeSelection) => boolean | void;
1649
+ tag: string;
1650
+ type: 'text-format';
1651
+ }>;
1652
+ type TextMatchTransformer = Readonly<{
1653
+ /**
1654
+ * For import operations, this function can be used to determine the end index of the match, after `importRegExp` has matched.
1655
+ * Without this function, the end index will be determined by the length of the match from `importRegExp`. Manually determining the end index can be useful if
1656
+ * the match from `importRegExp` is not the entire text content of the node. That way, `importRegExp` can be used to match only the start of the node, and `getEndIndex`
1657
+ * can be used to match the end of the node.
1658
+ *
1659
+ * @returns The end index of the match, or false if the match was unsuccessful and a different transformer should be tried.
1660
+ */
1661
+ getEndIndex?: (node: TextNode, match: RegExpMatchArray) => number | false;
1662
+ /**
1663
+ * This regex determines what text is matched during markdown imports
1664
+ */
1665
+ importRegExp?: RegExp;
1666
+ /**
1667
+ * This regex determines what text is matched for markdown shortcuts while typing in the editor
1668
+ */
1669
+ regExp: RegExp;
1670
+ /**
1671
+ * Determines how the matched markdown text should be transformed into a node during the markdown import process
1672
+ *
1673
+ * @returns nothing, or a TextNode that may be a child of the new node that is created.
1674
+ * If a TextNode is returned, text format matching will be applied to it (e.g. bold, italic, etc.)
1675
+ */
1676
+ replace?: (node: TextNode, match: RegExpMatchArray) => void | TextNode;
1677
+ /**
1678
+ * Single character that allows the transformer to trigger when typed in the editor. This does not affect markdown imports outside of the markdown shortcut plugin.
1679
+ * If the trigger is matched, the `regExp` will be used to match the text in the second step.
1680
+ */
1681
+ trigger?: string;
1682
+ type: 'text-match';
1683
+ }>;
1684
+ type ElementTransformer = {
1685
+ regExp: RegExp;
1686
+ /**
1687
+ * `replace` is called when markdown is imported or typed in the editor
1688
+ *
1689
+ * @return return false to cancel the transform, even though the regex matched. Lexical will then search for the next transformer.
1690
+ */
1691
+ replace: (parentNode: ElementNode, children: Array<LexicalNode>, match: Array<string>,
1692
+ /**
1693
+ * Whether the match is from an import operation (e.g. through `$convertFromMarkdownString`) or not (e.g. through typing in the editor).
1694
+ */
1695
+
1696
+ isImport: boolean) => boolean | void;
1697
+ trigger?: 'enter';
1698
+ type: 'element';
1699
+ };
1700
+ type Transformer = ElementTransformer | TextFormatTransformer | TextMatchTransformer;
1701
+ //#endregion
1702
+ //#region src/plugins/markdown/service/shortcut.d.ts
1703
+ interface IMarkdownWriterContext {
1704
+ /**
1705
+ * Add processor
1706
+ * @param processor
1707
+ */
1708
+ addProcessor(processor: (before: string, content: string, after: string) => string): void;
1709
+ /**
1710
+ * Direct output
1711
+ * @param line
1712
+ * @returns
1713
+ */
1714
+ appendLine: (line: string) => void;
1715
+ /**
1716
+ * Control child node to markdown
1717
+ * @param parentCtx
1718
+ * @param child
1719
+ * @returns
1720
+ */
1721
+ processChild: (parentCtx: IMarkdownWriterContext, child: LexicalNode) => void;
1722
+ /**
1723
+ * Wrap child elements
1724
+ * @param before
1725
+ * @param after
1726
+ * @returns
1727
+ */
1728
+ wrap: (before: string, after: string) => void;
1729
+ }
1730
+ declare const MARKDOWN_WRITER_LEVEL_MAX = 0;
1731
+ declare const MARKDOWN_READER_LEVEL_HIGH = 1;
1732
+ declare const MARKDOWN_READER_LEVEL_NORMAL = 2;
1733
+ type MARKDOWN_READER_LEVEL = typeof MARKDOWN_READER_LEVEL_HIGH | typeof MARKDOWN_READER_LEVEL_NORMAL | typeof MARKDOWN_WRITER_LEVEL_MAX;
1734
+ interface IMarkdownShortCutService {
1735
+ insertIRootNode(editor: LexicalEditor, root: IRootNode, selection: BaseSelection): void;
1736
+ parseMarkdownToLexical(markdown: string): IRootNode;
1737
+ /**
1738
+ * Register Markdown reader
1739
+ */
1740
+ registerMarkdownReader<K extends keyof TransformerRecord>(type: K, reader: MarkdownReaderFunc<K>, level?: MARKDOWN_READER_LEVEL): void;
1741
+ registerMarkdownShortCut(transformer: Transformer): void;
1742
+ registerMarkdownShortCuts(transformers: Transformer[]): void;
1743
+ /**
1744
+ * Register Markdown writer
1745
+ * @param type Lexical Node type
1746
+ * @param writer
1747
+ */
1748
+ registerMarkdownWriter(type: string, writer: (ctx: IMarkdownWriterContext, node: LexicalNode) => void | boolean): void;
1749
+ }
1750
+ declare const IMarkdownShortCutService: IServiceID<IMarkdownShortCutService>;
1751
+ //#endregion
1752
+ //#region src/utils/extract-media-from-editor-state.d.ts
1753
+ interface ImageListItem {
1754
+ alt: string;
1755
+ id: string;
1756
+ url: string;
1757
+ }
1758
+ interface FileListItem {
1759
+ fileType: string;
1760
+ id: string;
1761
+ name: string;
1762
+ size: number;
1763
+ url: string;
1764
+ }
1765
+ interface MediaLists {
1766
+ fileList: FileListItem[];
1767
+ imageList: ImageListItem[];
1768
+ }
1769
+ declare const extractMediaFromEditorState: (state: SerializedEditorState | null | undefined) => MediaLists;
1770
+ //#endregion
1771
+ //#region src/plugins/content-blocks/types.d.ts
1772
+ interface TextContentBlock {
1773
+ text: string;
1774
+ type: 'text';
1775
+ }
1776
+ interface ImageContentBlock {
1777
+ alt: string;
1778
+ height?: number;
1779
+ type: 'image';
1780
+ url: string;
1781
+ width?: number;
1782
+ }
1783
+ interface FileContentBlock {
1784
+ name: string;
1785
+ size?: number;
1786
+ type: 'file';
1787
+ url: string;
1788
+ }
1789
+ type ContentBlock = TextContentBlock | ImageContentBlock | FileContentBlock;
1790
+ interface ExtractContentBlocksOptions {
1791
+ /**
1792
+ * When an image/file is in `loading` / `pending` / `error` state and thus has no
1793
+ * usable URL, emit a textual placeholder into the surrounding text block instead
1794
+ * of dropping the node silently.
1795
+ * @default true
1796
+ */
1797
+ emitPlaceholderForUnuploaded?: boolean;
1798
+ }
1799
+ declare const CONTENT_BLOCKS_DATA_TYPE = "content-blocks";
1800
+ //#endregion
1801
+ //#region src/plugins/content-blocks/data-source/content-blocks-data-source.d.ts
1802
+ declare class ContentBlocksDataSource extends DataSource {
1803
+ private getMarkdownService;
1804
+ private defaultOptions;
1805
+ constructor(getMarkdownService: () => IMarkdownShortCutService | null, defaultOptions?: ExtractContentBlocksOptions);
1806
+ read(): void;
1807
+ write(editor: LexicalEditor): ContentBlock[];
1808
+ }
1809
+ //#endregion
1810
+ //#region src/plugins/content-blocks/plugin/index.d.ts
1811
+ interface ContentBlocksPluginOptions {
1812
+ defaultOptions?: ExtractContentBlocksOptions;
1813
+ }
1814
+ declare const ContentBlocksPlugin: IEditorPluginConstructor<ContentBlocksPluginOptions>;
1815
+ //#endregion
1816
+ //#region src/plugins/content-blocks/utils/extract.d.ts
1817
+ declare const extractContentBlocks: (editor: LexicalEditor, service: IMarkdownShortCutService, options?: ExtractContentBlocksOptions) => ContentBlock[];
1818
+ //#endregion
1819
+ //#region src/plugins/content-blocks/utils/extract-media-lists.d.ts
1820
+ declare const extractMediaLists: (blocks: ContentBlock[]) => MediaLists;
1821
+ //#endregion
1822
+ //#region src/plugins/file/command/index.d.ts
1823
+ declare const INSERT_FILE_COMMAND: _$lexical.LexicalCommand<{
1824
+ file: File;
1825
+ }>;
1826
+ //#endregion
1827
+ //#region src/plugins/file/node/FileNode.d.ts
1828
+ type SerializedFileNode = Spread<{
1829
+ fileUrl?: string;
1830
+ message?: string;
1831
+ name: string;
1832
+ size?: number;
1833
+ status?: 'pending' | 'uploaded' | 'error';
1834
+ }, SerializedLexicalNode>;
1835
+ declare class FileNode extends DecoratorNode<any> {
1836
+ static getType(): string;
1837
+ static clone(node: FileNode): FileNode;
1838
+ static importJSON(serializedNode: SerializedFileNode): FileNode;
1839
+ static importDOM(): DOMConversionMap | null;
1840
+ __name: string;
1841
+ __fileUrl: string | undefined;
1842
+ __size: number | undefined;
1843
+ __status: 'pending' | 'uploaded' | 'error';
1844
+ __message?: string;
1845
+ get name(): string;
1846
+ get fileUrl(): string | undefined;
1847
+ get size(): number | undefined;
1848
+ get status(): 'pending' | 'uploaded' | 'error';
1849
+ get message(): string | undefined;
1850
+ constructor(name: string, fileUrl?: string, size?: number, status?: 'pending' | 'uploaded' | 'error', message?: string, key?: string);
1851
+ setUploaded(url: string): void;
1852
+ setError(message: string): void;
1853
+ exportDOM(): DOMExportOutput;
1854
+ createDOM(config: EditorConfig): HTMLElement;
1855
+ exportJSON(): SerializedFileNode;
1856
+ updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedFileNode>): this;
1857
+ getTextContent(): string;
1858
+ updateDOM(): boolean;
1859
+ decorate(editor: LexicalEditor): any;
1860
+ }
1861
+ //#endregion
1862
+ //#region src/plugins/file/plugin/index.d.ts
1863
+ interface FilePluginOptions {
1864
+ decorator: (node: FileNode, editor: LexicalEditor) => any;
1865
+ handleUpload: (file: File) => Promise<{
1866
+ url: string;
1867
+ }>;
1868
+ markdownWriter?: (file: FileNode) => string;
1869
+ theme?: {
1870
+ file?: string;
1871
+ };
1872
+ }
1873
+ declare const FilePlugin: IEditorPluginConstructor<FilePluginOptions>;
1874
+ //#endregion
1875
+ //#region src/plugins/file/react/type.d.ts
1876
+ interface ReactFilePluginProps {
1877
+ className?: string;
1878
+ handleUpload: (file: File) => Promise<{
1879
+ url: string;
1880
+ }>;
1881
+ locale?: Partial<Record<keyof ILocaleKeys, string>>;
1882
+ markdownWriter?: (file: FileNode) => string;
1883
+ theme?: {
1884
+ file?: string;
1885
+ };
1886
+ }
1887
+ //#endregion
1888
+ //#region src/plugins/file/react/ReactFilePlugin.d.ts
1889
+ declare const ReactFilePlugin: FC<ReactFilePluginProps>;
1890
+ //#endregion
1891
+ //#region src/plugins/hr/command/index.d.ts
1892
+ declare const INSERT_HORIZONTAL_RULE_COMMAND: _$lexical.LexicalCommand<unknown>;
1893
+ //#endregion
1894
+ //#region src/plugins/hr/node/HorizontalRuleNode.d.ts
1895
+ type SerializedHorizontalRuleNode = SerializedLexicalNode;
1896
+ declare class HorizontalRuleNode extends DecoratorNode<any> {
1897
+ static getType(): string;
1898
+ static clone(node: HorizontalRuleNode): HorizontalRuleNode;
1899
+ static importJSON(serializedNode: SerializedHorizontalRuleNode): HorizontalRuleNode;
1900
+ static importDOM(): DOMConversionMap | null;
1901
+ exportDOM(): DOMExportOutput;
1902
+ createDOM(config: EditorConfig): HTMLElement;
1903
+ getTextContent(): string;
1904
+ isInline(): false;
1905
+ updateDOM(): boolean;
1906
+ decorate(editor: LexicalEditor): any;
1907
+ }
1908
+ //#endregion
1909
+ //#region src/plugins/hr/plugin/index.d.ts
1910
+ interface HRPluginOptions {
1911
+ decorator: (node: HorizontalRuleNode, editor: LexicalEditor) => any;
1912
+ theme?: string;
1913
+ }
1914
+ declare const HRPlugin: IEditorPluginConstructor<HRPluginOptions>;
1915
+ //#endregion
1916
+ //#region src/plugins/hr/react/type.d.ts
1917
+ interface ReactHRPluginProps {
1918
+ className?: string;
1919
+ }
1920
+ //#endregion
1921
+ //#region src/plugins/hr/react/ReactHRPlugin.d.ts
1922
+ declare const ReactHRPlugin: FC<ReactHRPluginProps>;
1923
+ //#endregion
1924
+ //#region src/plugins/image/command/index.d.ts
1925
+ declare const INSERT_IMAGE_COMMAND: _$lexical.LexicalCommand<{
1926
+ block?: boolean;
1927
+ file: File;
1928
+ maxWidth?: number;
1929
+ range?: Range | null;
1930
+ }>;
1931
+ //#endregion
1932
+ //#region src/plugins/image/node/basie-image-node.d.ts
1933
+ type SerializedImageNode = Spread<{
1934
+ altText: string;
1935
+ height?: number;
1936
+ maxWidth: number;
1937
+ src: string;
1938
+ status?: 'uploaded' | 'loading' | 'error';
1939
+ width?: number;
1940
+ }, SerializedLexicalNode>;
1941
+ declare class BaseImageNode extends DecoratorNode<any> {
1942
+ __src: string;
1943
+ __altText: string;
1944
+ __width: 'inherit' | number;
1945
+ __height: 'inherit' | number;
1946
+ __maxWidth: number;
1947
+ static clone(node: BaseImageNode): BaseImageNode;
1948
+ static importJSON(serializedNode: SerializedImageNode): BaseImageNode;
1949
+ static getType(): string;
1950
+ updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedImageNode>): this;
1951
+ exportDOM(): DOMExportOutput;
1952
+ constructor(src: string, altText: string, maxWidth: number, width?: 'inherit' | number, height?: 'inherit' | number, key?: NodeKey);
1953
+ exportJSON(): SerializedImageNode;
1954
+ setWidthAndHeight(width: 'inherit' | number, height: 'inherit' | number): void;
1955
+ isInline(): boolean;
1956
+ createDOM(config: EditorConfig): HTMLElement;
1957
+ updateDOM(): false;
1958
+ getSrc(): string;
1959
+ getAltText(): string;
1960
+ }
1961
+ //#endregion
1962
+ //#region src/plugins/image/node/block-image-node.d.ts
1963
+ declare class BlockImageNode extends BaseImageNode {
1964
+ private static _decorate;
1965
+ static setDecorate(decorate: (node: BlockImageNode) => any): void;
1966
+ static getType(): string;
1967
+ private __loading;
1968
+ private __status;
1969
+ private __message;
1970
+ private __extra;
1971
+ get isLoading(): boolean;
1972
+ get status(): 'uploaded' | 'loading' | 'error';
1973
+ get message(): string | null;
1974
+ get src(): string;
1975
+ get altText(): string;
1976
+ get maxWidth(): number;
1977
+ get width(): number | string;
1978
+ get height(): number | string;
1979
+ constructor(opt: {
1980
+ altText: string;
1981
+ height?: 'inherit' | number;
1982
+ key?: NodeKey;
1983
+ maxWidth: number;
1984
+ src: string;
1985
+ status?: 'uploaded' | 'loading' | 'error';
1986
+ width?: 'inherit' | number;
1987
+ });
1988
+ isInline(): boolean;
1989
+ setMaxWidth(maxWidth: number): void;
1990
+ setWidth(width: number): void;
1991
+ setStatus(status: 'uploaded' | 'loading' | 'error'): void;
1992
+ setUploaded(url: string): void;
1993
+ setError(message: string): void;
1994
+ static clone(node: BlockImageNode): BlockImageNode;
1995
+ static importJSON(serializedNode: SerializedImageNode): BlockImageNode;
1996
+ static importDOM(): DOMConversionMap | null;
1997
+ decorate(): any;
1998
+ createDOM(config: EditorConfig): HTMLElement;
1999
+ }
2000
+ //#endregion
2001
+ //#region src/plugins/image/node/image-node.d.ts
2002
+ declare class ImageNode extends BaseImageNode {
2003
+ private static _decorate;
2004
+ static setDecorate(decorate: (node: ImageNode) => any): void;
2005
+ static getType(): string;
2006
+ private __loading;
2007
+ private __status;
2008
+ private __message;
2009
+ private __extra;
2010
+ constructor(opt: {
2011
+ altText: string;
2012
+ height?: 'inherit' | number;
2013
+ key?: NodeKey;
2014
+ maxWidth: number;
2015
+ src: string;
2016
+ status?: 'uploaded' | 'loading' | 'error';
2017
+ width?: 'inherit' | number;
2018
+ });
2019
+ get isLoading(): boolean;
2020
+ get status(): 'uploaded' | 'loading' | 'error';
2021
+ get message(): string | null;
2022
+ get src(): string;
2023
+ get altText(): string;
2024
+ get maxWidth(): number;
2025
+ get width(): number | string;
2026
+ get height(): number | string;
2027
+ setMaxWidth(maxWidth: number): void;
2028
+ setStatus(status: 'uploaded' | 'loading' | 'error'): void;
2029
+ setWidth(width: number): void;
2030
+ setUploaded(url: string): void;
2031
+ setError(message: string): void;
2032
+ static clone(node: ImageNode): ImageNode;
2033
+ static importJSON(serializedNode: SerializedImageNode): ImageNode;
2034
+ static importDOM(): DOMConversionMap | null;
2035
+ decorate(): any;
2036
+ }
2037
+ //#endregion
2038
+ //#region src/plugins/image/plugin/index.d.ts
2039
+ interface ImagePluginOptions {
2040
+ defaultBlockImage?: boolean;
2041
+ handleRehost?: (url: string) => Promise<{
2042
+ url: string;
2043
+ }>;
2044
+ handleUpload: (file: File) => Promise<{
2045
+ url: string;
2046
+ }>;
2047
+ needRehost?: (url: string) => boolean;
2048
+ renderImage: (node: ImageNode | BlockImageNode) => JSX.Element | null;
2049
+ theme?: {
2050
+ blockImage?: string;
2051
+ image?: string;
2052
+ };
1911
2053
  }
1912
- /**
1913
- * Info associated with mdast list item nodes by the ecosystem.
1914
- */
1915
- interface ListItemData extends Data {}
1916
- /**
1917
- * Markdown paragraph.
1918
- */
1919
- interface Paragraph extends Parent {
1920
- /**
1921
- * Node type of mdast paragraph.
1922
- */
1923
- type: "paragraph";
1924
- /**
1925
- * Children of paragraph.
1926
- */
1927
- children: PhrasingContent[];
2054
+ declare const ImagePlugin: IEditorPluginConstructor<ImagePluginOptions>;
2055
+ //#endregion
2056
+ //#region src/plugins/image/react/type.d.ts
2057
+ interface ReactImagePluginProps {
2058
+ className?: string;
2059
+ defaultBlockImage?: boolean;
2060
+ handleRehost?: (url: string) => Promise<{
2061
+ url: string;
2062
+ }>;
2063
+ handleUpload?: (file: File) => Promise<{
2064
+ url: string;
2065
+ }>;
2066
+ needRehost?: (url: string) => boolean;
1928
2067
  /**
1929
- * Data associated with the mdast paragraph.
2068
+ * Custom file picker for environments where programmatic input.click() is blocked (e.g. Electron).
2069
+ * When provided, this will be called instead of triggering the hidden file input.
1930
2070
  */
1931
- data?: ParagraphData | undefined;
2071
+ onPickFile?: () => Promise<File | null>;
2072
+ theme?: {
2073
+ blockImage?: string;
2074
+ image?: string;
2075
+ };
1932
2076
  }
2077
+ //#endregion
2078
+ //#region src/plugins/image/react/ReactImagePlugin.d.ts
2079
+ declare const ReactImagePlugin: FC<ReactImagePluginProps>;
2080
+ //#endregion
2081
+ //#region src/plugins/inode/plugin/index.d.ts
1933
2082
  /**
1934
- * Info associated with mdast paragraph nodes by the ecosystem.
1935
- */
1936
- interface ParagraphData extends Data {}
1937
- /**
1938
- * Document fragment or a whole document.
1939
- *
1940
- * Should be used as the root of a tree and must not be used as a child.
2083
+ * NodePluginOptions - Configuration options for the Node plugin
1941
2084
  */
1942
- interface Root extends Parent {
1943
- /**
1944
- * Node type of mdast root.
1945
- */
1946
- type: "root";
2085
+ interface INodePluginOptions {
1947
2086
  /**
1948
- * Data associated with the mdast root.
2087
+ * Enable or disable the node data source
2088
+ * @default true
1949
2089
  */
1950
- data?: RootData | undefined;
2090
+ enabled?: boolean;
1951
2091
  }
1952
2092
  /**
1953
- * Info associated with mdast root nodes by the ecosystem.
1954
- */
1955
- interface RootData extends Data {}
1956
- /**
1957
- * Markdown strong.
2093
+ * LitexmlPlugin - A plugin that provides XML-based data source support
2094
+ * Allows converting between Lexical editor state and XML format
1958
2095
  */
1959
- interface Strong extends Parent {
1960
- /**
1961
- * Node type of mdast strong.
1962
- */
1963
- type: "strong";
1964
- /**
1965
- * Children of strong.
1966
- */
1967
- children: PhrasingContent[];
1968
- /**
1969
- * Data associated with the mdast strong.
1970
- */
1971
- data?: StrongData | undefined;
2096
+ declare const INodePlugin: IEditorPluginConstructor<INodePluginOptions>;
2097
+ //#endregion
2098
+ //#region src/plugins/inode/react/index.d.ts
2099
+ declare const ReactNodePlugin: FC<void>;
2100
+ //#endregion
2101
+ //#region src/plugins/inode/service/index.d.ts
2102
+ interface INodeService {
2103
+ processNodeTree(inode: {
2104
+ root: IRootNode;
2105
+ }): void;
2106
+ registerProcessNodeTree(process: (inode: {
2107
+ root: IRootNode;
2108
+ }) => void): void;
1972
2109
  }
1973
2110
  /**
1974
- * Info associated with mdast strong nodes by the ecosystem.
1975
- */
1976
- interface StrongData extends Data {}
1977
- /**
1978
- * Markdown GFM table.
2111
+ * Service ID for Node service
1979
2112
  */
1980
- interface Table extends Parent {
1981
- /**
1982
- * Node type of mdast GFM table.
1983
- */
1984
- type: "table";
1985
- /**
1986
- * How cells in columns are aligned.
1987
- */
1988
- align?: AlignType[] | null | undefined;
1989
- /**
1990
- * Children of GFM table.
1991
- */
1992
- children: TableContent[];
1993
- /**
1994
- * Data associated with the mdast GFM table.
1995
- */
1996
- data?: TableData | undefined;
2113
+ declare const INodeService: IServiceID<INodeService>;
2114
+ //#endregion
2115
+ //#region src/plugins/link/command/index.d.ts
2116
+ declare const INSERT_LINK_COMMAND: _$lexical.LexicalCommand<{
2117
+ title?: string;
2118
+ url?: string;
2119
+ }>;
2120
+ //#endregion
2121
+ //#region src/plugins/link/node/LinkNode.d.ts
2122
+ type LinkAttributes = {
2123
+ rel?: null | string;
2124
+ target?: null | string;
2125
+ title?: null | string;
2126
+ };
2127
+ //#endregion
2128
+ //#region src/plugins/link/plugin/index.d.ts
2129
+ interface LinkPluginOptions {
2130
+ attributes?: LinkAttributes;
2131
+ enableHotkey?: boolean;
2132
+ linkRegex?: RegExp;
2133
+ theme?: {
2134
+ link?: string;
2135
+ };
2136
+ validateUrl?: (url: string) => boolean;
1997
2137
  }
1998
- /**
1999
- * Info associated with mdast GFM table nodes by the ecosystem.
2000
- */
2001
- interface TableData extends Data {}
2002
- /**
2003
- * Markdown GFM table row.
2004
- */
2005
- interface TableRow extends Parent {
2006
- /**
2007
- * Node type of mdast GFM table row.
2008
- */
2009
- type: "tableRow";
2010
- /**
2011
- * Children of GFM table row.
2012
- */
2013
- children: RowContent[];
2014
- /**
2015
- * Data associated with the mdast GFM table row.
2016
- */
2017
- data?: TableRowData | undefined;
2138
+ declare const LinkPlugin: IEditorPluginConstructor<LinkPluginOptions>;
2139
+ //#endregion
2140
+ //#region src/plugins/link/react/type.d.ts
2141
+ interface ReactLinkPluginProps {
2142
+ attributes?: LinkAttributes;
2143
+ className?: string;
2144
+ enableHotkey?: boolean;
2145
+ theme?: {
2146
+ link?: string;
2147
+ };
2148
+ validateUrl?: (url: string) => boolean;
2018
2149
  }
2019
- /**
2020
- * Info associated with mdast GFM table row nodes by the ecosystem.
2021
- */
2022
- interface TableRowData extends Data {}
2023
- /**
2024
- * Markdown GFM table cell.
2025
- */
2026
- interface TableCell extends Parent {
2027
- /**
2028
- * Node type of mdast GFM table cell.
2029
- */
2030
- type: "tableCell";
2031
- /**
2032
- * Children of GFM table cell.
2033
- */
2034
- children: PhrasingContent[];
2035
- /**
2036
- * Data associated with the mdast GFM table cell.
2037
- */
2038
- data?: TableCellData | undefined;
2150
+ //#endregion
2151
+ //#region src/plugins/link/react/ReactLinkPlugin.d.ts
2152
+ declare const ReactLinkPlugin: FC<ReactLinkPluginProps>;
2153
+ //#endregion
2154
+ //#region src/plugins/link/service/i-link-service.d.ts
2155
+ interface ILinkService {
2156
+ setLinkToolbar(enable: boolean): void;
2039
2157
  }
2040
- /**
2041
- * Info associated with mdast GFM table cell nodes by the ecosystem.
2042
- */
2043
- interface TableCellData extends Data {}
2044
- /**
2045
- * Markdown text.
2046
- */
2047
- interface Text extends Literal {
2158
+ declare const ILinkService: IServiceID<ILinkService>;
2159
+ //#endregion
2160
+ //#region src/plugins/link-highlight/command/index.d.ts
2161
+ declare const INSERT_LINK_HIGHLIGHT_COMMAND: _$lexical.LexicalCommand<undefined>;
2162
+ declare function registerLinkHighlightCommand(editor: LexicalEditor): () => void;
2163
+ //#endregion
2164
+ //#region src/plugins/link-highlight/plugin/index.d.ts
2165
+ interface LinkHighlightPluginOptions {
2166
+ enableHotkey?: boolean;
2048
2167
  /**
2049
- * Node type of mdast text.
2168
+ * Enable auto-highlight when pasting URLs
2169
+ * @default true
2050
2170
  */
2051
- type: "text";
2171
+ enablePasteAutoHighlight?: boolean;
2172
+ theme?: string;
2052
2173
  /**
2053
- * Data associated with the mdast text.
2174
+ * Custom URL validation regex
2054
2175
  */
2055
- data?: TextData | undefined;
2176
+ urlRegex?: RegExp;
2056
2177
  }
2057
- /**
2058
- * Info associated with mdast text nodes by the ecosystem.
2059
- */
2060
- interface TextData extends Data {}
2061
- /**
2062
- * Markdown thematic break (horizontal rule).
2063
- */
2064
- interface ThematicBreak extends Node$1 {
2178
+ declare const LinkHighlightPlugin: IEditorPluginConstructor<LinkHighlightPluginOptions>;
2179
+ //#endregion
2180
+ //#region src/plugins/link-highlight/react/type.d.ts
2181
+ interface ReactLinkHighlightPluginProps {
2182
+ className?: string;
2065
2183
  /**
2066
- * Node type of mdast thematic break.
2184
+ * Enable keyboard shortcut (Ctrl+K / Cmd+K)
2185
+ * @default true
2067
2186
  */
2068
- type: "thematicBreak";
2187
+ enableHotkey?: boolean;
2069
2188
  /**
2070
- * Data associated with the mdast thematic break.
2189
+ * Enable auto-highlight when pasting URLs
2190
+ * @default true
2071
2191
  */
2072
- data?: ThematicBreakData | undefined;
2192
+ enablePasteAutoHighlight?: boolean;
2073
2193
  }
2074
- /**
2075
- * Info associated with mdast thematic break nodes by the ecosystem.
2076
- */
2077
- interface ThematicBreakData extends Data {}
2078
- /**
2079
- * Markdown YAML.
2080
- */
2081
- interface Yaml extends Literal {
2082
- /**
2083
- * Node type of mdast YAML.
2084
- */
2085
- type: "yaml";
2086
- /**
2087
- * Data associated with the mdast YAML.
2088
- */
2089
- data?: YamlData | undefined;
2194
+ //#endregion
2195
+ //#region src/plugins/link-highlight/react/ReactLinkHighlightPlugin.d.ts
2196
+ declare const ReactLinkHighlightPlugin: FC<ReactLinkHighlightPluginProps>;
2197
+ //#endregion
2198
+ //#region src/plugins/list/plugin/checkList.d.ts
2199
+ declare const INSERT_CHECK_LIST_COMMAND: LexicalCommand<void>;
2200
+ //#endregion
2201
+ //#region src/plugins/list/plugin/index.d.ts
2202
+ interface ListPluginOptions {
2203
+ enableHotkey?: boolean;
2204
+ theme?: string;
2090
2205
  }
2091
- /**
2092
- * Info associated with mdast YAML nodes by the ecosystem.
2093
- */
2094
- interface YamlData extends Data {}
2206
+ declare const ListPlugin: IEditorPluginConstructor<ListPluginOptions>;
2095
2207
  //#endregion
2096
- //#region src/plugins/markdown/data-source/markdown/parse.d.ts
2097
- type MarkdownReadNode = INode | ITextNode | IElementNode;
2098
- type MarkdownNode = Root | RootContent | PhrasingContent;
2099
- type MarkdownReaderFunc<K> = (node: Extract<MarkdownNode, {
2100
- type: K;
2101
- }>, children: MarkdownReadNode[], index: number) => MarkdownReadNode | MarkdownReadNode[] | false;
2102
- type TransformerRecord = { [K in MarkdownNode['type']]?: MarkdownReaderFunc<K> | Array<MarkdownReaderFunc<K>> };
2208
+ //#region src/plugins/list/react/type.d.ts
2209
+ interface ReactListPluginProps {
2210
+ className?: string;
2211
+ enableHotkey?: boolean;
2212
+ }
2103
2213
  //#endregion
2104
- //#region src/plugins/markdown/service/transformers.d.ts
2105
- type TextFormatTransformer = Readonly<{
2106
- format?: ReadonlyArray<TextFormatType>;
2107
- intraword?: boolean;
2108
- process?: (selection: RangeSelection) => boolean | void;
2109
- tag: string;
2110
- type: 'text-format';
2214
+ //#region src/plugins/list/react/ReactListPlugin.d.ts
2215
+ declare const ReactListPlugin: FC<ReactListPluginProps>;
2216
+ //#endregion
2217
+ //#region src/plugins/litexml/command/diffCommand.d.ts
2218
+ declare enum DiffAction {
2219
+ Reject = 0,
2220
+ Accept = 1
2221
+ }
2222
+ declare const LITEXML_DIFFNODE_COMMAND: _$lexical.LexicalCommand<{
2223
+ action: DiffAction;
2224
+ nodeKey: string;
2111
2225
  }>;
2112
- type TextMatchTransformer = Readonly<{
2113
- /**
2114
- * For import operations, this function can be used to determine the end index of the match, after `importRegExp` has matched.
2115
- * Without this function, the end index will be determined by the length of the match from `importRegExp`. Manually determining the end index can be useful if
2116
- * the match from `importRegExp` is not the entire text content of the node. That way, `importRegExp` can be used to match only the start of the node, and `getEndIndex`
2117
- * can be used to match the end of the node.
2118
- *
2119
- * @returns The end index of the match, or false if the match was unsuccessful and a different transformer should be tried.
2120
- */
2121
- getEndIndex?: (node: TextNode, match: RegExpMatchArray) => number | false;
2122
- /**
2123
- * This regex determines what text is matched during markdown imports
2124
- */
2125
- importRegExp?: RegExp;
2126
- /**
2127
- * This regex determines what text is matched for markdown shortcuts while typing in the editor
2128
- */
2129
- regExp: RegExp;
2130
- /**
2131
- * Determines how the matched markdown text should be transformed into a node during the markdown import process
2132
- *
2133
- * @returns nothing, or a TextNode that may be a child of the new node that is created.
2134
- * If a TextNode is returned, text format matching will be applied to it (e.g. bold, italic, etc.)
2135
- */
2136
- replace?: (node: TextNode, match: RegExpMatchArray) => void | TextNode;
2137
- /**
2138
- * Single character that allows the transformer to trigger when typed in the editor. This does not affect markdown imports outside of the markdown shortcut plugin.
2139
- * If the trigger is matched, the `regExp` will be used to match the text in the second step.
2140
- */
2141
- trigger?: string;
2142
- type: 'text-match';
2226
+ declare const LITEXML_DIFFNODE_ALL_COMMAND: _$lexical.LexicalCommand<{
2227
+ action: DiffAction;
2143
2228
  }>;
2144
- type ElementTransformer = {
2145
- regExp: RegExp;
2146
- /**
2147
- * `replace` is called when markdown is imported or typed in the editor
2148
- *
2149
- * @return return false to cancel the transform, even though the regex matched. Lexical will then search for the next transformer.
2150
- */
2151
- replace: (parentNode: ElementNode, children: Array<LexicalNode>, match: Array<string>,
2152
- /**
2153
- * Whether the match is from an import operation (e.g. through `$convertFromMarkdownString`) or not (e.g. through typing in the editor).
2154
- */
2155
-
2156
- isImport: boolean) => boolean | void;
2157
- trigger?: 'enter';
2158
- type: 'element';
2159
- };
2160
- type Transformer = ElementTransformer | TextFormatTransformer | TextMatchTransformer;
2161
2229
  //#endregion
2162
- //#region src/plugins/markdown/service/shortcut.d.ts
2163
- interface IMarkdownWriterContext {
2164
- /**
2165
- * Add processor
2166
- * @param processor
2167
- */
2168
- addProcessor(processor: (before: string, content: string, after: string) => string): void;
2169
- /**
2170
- * Direct output
2171
- * @param line
2172
- * @returns
2173
- */
2174
- appendLine: (line: string) => void;
2175
- /**
2176
- * Control child node to markdown
2177
- * @param parentCtx
2178
- * @param child
2179
- * @returns
2180
- */
2181
- processChild: (parentCtx: IMarkdownWriterContext, child: LexicalNode) => void;
2182
- /**
2183
- * Wrap child elements
2184
- * @param before
2185
- * @param after
2186
- * @returns
2187
- */
2188
- wrap: (before: string, after: string) => void;
2230
+ //#region src/plugins/litexml/node/DiffNode.d.ts
2231
+ type DiffType = 'add' | 'remove' | 'modify' | 'unchanged' | 'listItemModify' | 'listItemRemove' | 'listItemAdd';
2232
+ type SerializedDiffNode = Spread<{
2233
+ diffType: DiffType;
2234
+ }, SerializedElementNode>;
2235
+ /** DiffNode - contains two block children: original and modified */
2236
+ declare class DiffNode extends CardLikeElementNode {
2237
+ static getType(): string;
2238
+ static clone(node: DiffNode): DiffNode;
2239
+ static importJSON(serializedNode: SerializedDiffNode): DiffNode;
2240
+ static importDOM(): null;
2241
+ private __diffType;
2242
+ constructor(type: DiffType, key?: string);
2243
+ get diffType(): DiffType;
2244
+ setDiffType(type: DiffType): this;
2245
+ updateFromJSON(serializedNode: LexicalUpdateJSON<SerializedDiffNode>): this;
2246
+ exportJSON(): SerializedDiffNode;
2247
+ exportDOM(editor: LexicalEditor): DOMExportOutput;
2248
+ createDOM(config: EditorConfig, editor: LexicalEditor): HTMLDivElement;
2249
+ updateDOM(_prevNode: unknown, _dom: HTMLElement, _config: EditorConfig): boolean;
2250
+ getDOMSlot(element: HTMLElement): ElementDOMSlot<HTMLElement>;
2251
+ isInline(): boolean;
2252
+ isCardLike(): boolean;
2189
2253
  }
2190
- declare const MARKDOWN_WRITER_LEVEL_MAX = 0;
2191
- declare const MARKDOWN_READER_LEVEL_HIGH = 1;
2192
- declare const MARKDOWN_READER_LEVEL_NORMAL = 2;
2193
- type MARKDOWN_READER_LEVEL = typeof MARKDOWN_READER_LEVEL_HIGH | typeof MARKDOWN_READER_LEVEL_NORMAL | typeof MARKDOWN_WRITER_LEVEL_MAX;
2194
- interface IMarkdownShortCutService {
2195
- insertIRootNode(editor: LexicalEditor, root: IRootNode, selection: BaseSelection): void;
2196
- parseMarkdownToLexical(markdown: string): IRootNode;
2197
- /**
2198
- * Register Markdown reader
2199
- */
2200
- registerMarkdownReader<K extends keyof TransformerRecord>(type: K, reader: MarkdownReaderFunc<K>, level?: MARKDOWN_READER_LEVEL): void;
2201
- registerMarkdownShortCut(transformer: Transformer): void;
2202
- registerMarkdownShortCuts(transformers: Transformer[]): void;
2254
+ //#endregion
2255
+ //#region src/plugins/litexml/plugin/index.d.ts
2256
+ /**
2257
+ * LitexmlPluginOptions - Configuration options for the Litexml plugin
2258
+ */
2259
+ interface LitexmlPluginOptions {
2260
+ decorator: (node: DiffNode, editor: LexicalEditor) => any;
2203
2261
  /**
2204
- * Register Markdown writer
2205
- * @param type Lexical Node type
2206
- * @param writer
2262
+ * Enable or disable the litexml data source
2263
+ * @default true
2207
2264
  */
2208
- registerMarkdownWriter(type: string, writer: (ctx: IMarkdownWriterContext, node: LexicalNode) => void | boolean): void;
2265
+ enabled?: boolean;
2266
+ theme?: string;
2209
2267
  }
2210
- declare const IMarkdownShortCutService: IServiceID<IMarkdownShortCutService>;
2268
+ /**
2269
+ * LitexmlPlugin - A plugin that provides XML-based data source support
2270
+ * Allows converting between Lexical editor state and XML format
2271
+ */
2272
+ declare const LitexmlPlugin: IEditorPluginConstructor<LitexmlPluginOptions>;
2273
+ //#endregion
2274
+ //#region src/plugins/litexml/react/index.d.ts
2275
+ declare const ReactLiteXmlPlugin: FC<void>;
2276
+ //#endregion
2277
+ //#region src/plugins/litexml/react/hooks/useHasDiffNode.d.ts
2278
+ declare function useHasDiffNode(editor?: IEditor): {
2279
+ hasDiff: boolean;
2280
+ };
2211
2281
  //#endregion
2212
2282
  //#region src/plugins/markdown/command/index.d.ts
2213
2283
  declare const INSERT_MARKDOWN_COMMAND: _$lexical.LexicalCommand<{
@@ -2998,4 +3068,4 @@ declare function enableHotReload(): void;
2998
3068
  */
2999
3069
  declare function disableHotReload(): void;
3000
3070
  //#endregion
3001
- export { $closest, $closestNodeType, $createCursorNode, $getNearestNodeFromDOMNode, $getNodeFromDOMNode, $isCardLikeElementNode, $isCursorNode, AutoCompletePlugin, type BlockDragTarget, BlockMenuService, BlockMovePayload, BlockPlugin, BlockPluginOptions, CardLikeElementNode, CodePlugin, CodeblockPlugin, CodeblockPluginOptions, CodemirrorPlugin, CodemirrorPluginOptions, CommonPlugin, CommonPluginOptions, DEFAULT_HEADLESS_EDITOR_PLUGINS, DOM_DOCUMENT_FRAGMENT_TYPE, DOM_DOCUMENT_TYPE, DOM_ELEMENT_TYPE, DOM_TEXT_TYPE, DataSource, DiffAction, EDITOR_THEME_KEY, FilePlugin, FilePluginOptions, GET_MARKDOWN_SELECTION_COMMAND, HIDE_TOOLBAR_COMMAND, HOVER_COMMAND, HRPlugin, HRPluginOptions, HeadlessDocumentType, HeadlessEditor, HeadlessEditorExport, HeadlessEditorExportOptions, HeadlessEditorHydrationInput, HeadlessEditorOptions, HeadlessLiteXMLBatchOperation, HeadlessLiteXMLInsertOperation, HeadlessLiteXMLOperation, HeadlessLiteXMLRemoveOperation, HeadlessLiteXMLReplaceOperation, HotkeyEnum, HotkeyId, HotkeyItem, HotkeyScopeEnum, HotkeyScopeId, IBlockActionButton, IBlockActionButtonIcon, IBlockMenuItem, IBlockMenuRenderContext, IBlockMenuService, type IEditor, ILinkService, ILitexmlService, IMarkdownShortCutService, INSERT_CHECK_LIST_COMMAND, INSERT_CODEINLINE_COMMAND, INSERT_CODEMIRROR_COMMAND, INSERT_FILE_COMMAND, INSERT_HEADING_COMMAND, INSERT_HORIZONTAL_RULE_COMMAND, INSERT_IMAGE_COMMAND, INSERT_LINK_COMMAND, INSERT_LINK_HIGHLIGHT_COMMAND, INSERT_MARKDOWN_COMMAND, INSERT_MATH_COMMAND, INSERT_MENTION_COMMAND, INSERT_ORDERED_LIST_COMMAND, INSERT_QUOTE_COMMAND, INSERT_TABLE_COMMAND, INSERT_UNORDERED_LIST_COMMAND, INodePlugin, INodePluginOptions, INodeService, ISlashMenuOption, ISlashOption, ISlashService, ITriggerContext, IUploadService, ImagePlugin, ImagePluginOptions, Kernel, KeyEnum, LITEXML_APPLY_COMMAND, LITEXML_DIFFNODE_ALL_COMMAND, LITEXML_DIFFNODE_COMMAND, LITEXML_INSERT_COMMAND, LITEXML_MODIFY_COMMAND, LITEXML_REMOVE_COMMAND, LexicalErrorBoundary, LexicalPortalContainer, LinkHighlightPlugin, LinkHighlightPluginOptions, LinkPlugin, LinkPluginOptions, ListPlugin, ListPluginOptions, LitexmlDataSource, LitexmlPlugin, type LitexmlPluginOptions, LitexmlService, type MARKDOWN_READER_LEVEL, MARKDOWN_READER_LEVEL_HIGH, MARKDOWN_READER_LEVEL_NORMAL, MARKDOWN_WRITER_LEVEL_MAX, MOVE_BLOCK_COMMAND, MarkdownPlugin, MathPlugin, MentionPlugin, MentionPluginOptions, MenuRenderProps, ModifierCombination, REMOVE_LIST_COMMAND, ReactAutoCompletePlugin, ReactBlockPlugin, type ReactBlockPluginProps, ReactCodePlugin, ReactCodeblockPlugin, ReactCodeblockPluginProps, ReactCodemirrorPlugin, ReactEditor, ReactEditorContent, ReactEditorContentProps, ReactFilePlugin, ReactFilePluginProps, ReactHRPlugin, ReactHRPluginProps, ReactImagePlugin, ReactImagePluginProps, ReactLinkHighlightPlugin, ReactLinkPlugin, ReactLinkPluginProps, ReactListPlugin, ReactListPluginProps, ReactLiteXmlPlugin, ReactMarkdownPlugin, ReactMathPlugin, ReactMentionPlugin, ReactMentionPluginProps, ReactNodePlugin, ReactPlainText, ReactPlainTextProps, ReactSlashOption, ReactSlashOptionProps, ReactSlashPlugin, ReactSlashPluginProps, ReactTablePlugin, ReactToolbarPlugin, ReactVirtualBlockPlugin, SELECT_AFTER_CODEMIRROR_COMMAND, SELECT_BEFORE_CODEMIRROR_COMMAND, SELECT_TABLE_COMMAND, SHOW_TOOLBAR_COMMAND, type SerializedMentionNode, SlashMenu, SlashMenuProps, SlashOptions, SlashPlugin, SlashPluginOptions, TablePlugin, TablePluginOptions, ToolbarCommandOptions, UPDATE_CODEBLOCK_LANG, UPDATE_LIST_START_COMMAND, UPLOAD_PRIORITY_HIGH, UPLOAD_PRIORITY_LOW, UPLOAD_PRIORITY_MEDIUM, UploadPlugin, UploadPluginOptions, VirtualBlockPlugin, VirtualBlockPluginOptions, type XMLReaderFunc, type XMLReaderRecord, type XMLWriterFunc, type XMLWriterRecord, assert, browserDebug, bundledLanguagesInfo, compareNodeOrder, createDebugLogger, createEmptyEditorState, createHeadlessEditor, cursorNodeSerialized, debugLogger, debugLoggers, detectCodeLanguage, detectLanguage, devConsole, disableHotReload, enableHotReload, genServiceId, generateEditorId, getHotkeyById, getKernelFromEditor, getKernelFromEditorConfig, getNodeKeyFromDOMNode, getParentElement, isDOMNode, isDocumentFragment, isPunctuationChar, isPureUrl, isValidUrl, moment, noop, prodSafeLogger, reconcileDecorator, registerBlockMoveCommand, registerEditorKernel, registerLinkHighlightCommand, registerToolbarCommand, resetRandomKey, scrollIntoView, unregisterEditorKernel, useHasDiffNode, useLexicalComposerContext, useLexicalEditor };
3071
+ export { $closest, $closestNodeType, $createCursorNode, $getNearestNodeFromDOMNode, $getNodeFromDOMNode, $isCardLikeElementNode, $isCursorNode, AutoCompletePlugin, type BlockDragTarget, BlockMenuService, BlockMovePayload, BlockPlugin, BlockPluginOptions, CONTENT_BLOCKS_DATA_TYPE, CardLikeElementNode, CodePlugin, CodeblockPlugin, CodeblockPluginOptions, CodemirrorPlugin, CodemirrorPluginOptions, CommonPlugin, CommonPluginOptions, type ContentBlock, ContentBlocksDataSource, ContentBlocksPlugin, type ContentBlocksPluginOptions, DEFAULT_HEADLESS_EDITOR_PLUGINS, DOM_DOCUMENT_FRAGMENT_TYPE, DOM_DOCUMENT_TYPE, DOM_ELEMENT_TYPE, DOM_TEXT_TYPE, DataSource, DiffAction, EDITOR_THEME_KEY, type ExtractContentBlocksOptions, type FileContentBlock, type FileListItem, FilePlugin, FilePluginOptions, GET_MARKDOWN_SELECTION_COMMAND, HIDE_TOOLBAR_COMMAND, HOVER_COMMAND, HRPlugin, HRPluginOptions, HeadlessDocumentType, HeadlessEditor, HeadlessEditorExport, HeadlessEditorExportOptions, HeadlessEditorHydrationInput, HeadlessEditorOptions, HeadlessLiteXMLBatchOperation, HeadlessLiteXMLInsertOperation, HeadlessLiteXMLOperation, HeadlessLiteXMLRemoveOperation, HeadlessLiteXMLReplaceOperation, HotkeyEnum, HotkeyId, HotkeyItem, HotkeyScopeEnum, HotkeyScopeId, IBlockActionButton, IBlockActionButtonIcon, IBlockMenuItem, IBlockMenuRenderContext, IBlockMenuService, type IEditor, ILinkService, ILitexmlService, IMarkdownShortCutService, INSERT_CHECK_LIST_COMMAND, INSERT_CODEINLINE_COMMAND, INSERT_CODEMIRROR_COMMAND, INSERT_FILE_COMMAND, INSERT_HEADING_COMMAND, INSERT_HORIZONTAL_RULE_COMMAND, INSERT_IMAGE_COMMAND, INSERT_LINK_COMMAND, INSERT_LINK_HIGHLIGHT_COMMAND, INSERT_MARKDOWN_COMMAND, INSERT_MATH_COMMAND, INSERT_MENTION_COMMAND, INSERT_ORDERED_LIST_COMMAND, INSERT_QUOTE_COMMAND, INSERT_TABLE_COMMAND, INSERT_UNORDERED_LIST_COMMAND, INodePlugin, INodePluginOptions, INodeService, ISlashMenuOption, ISlashOption, ISlashService, ITriggerContext, IUploadService, type ImageContentBlock, type ImageListItem, ImagePlugin, ImagePluginOptions, Kernel, KeyEnum, LITEXML_APPLY_COMMAND, LITEXML_DIFFNODE_ALL_COMMAND, LITEXML_DIFFNODE_COMMAND, LITEXML_INSERT_COMMAND, LITEXML_MODIFY_COMMAND, LITEXML_REMOVE_COMMAND, LexicalErrorBoundary, LexicalPortalContainer, LinkHighlightPlugin, LinkHighlightPluginOptions, LinkPlugin, LinkPluginOptions, ListPlugin, ListPluginOptions, LitexmlDataSource, LitexmlPlugin, type LitexmlPluginOptions, LitexmlService, type MARKDOWN_READER_LEVEL, MARKDOWN_READER_LEVEL_HIGH, MARKDOWN_READER_LEVEL_NORMAL, MARKDOWN_WRITER_LEVEL_MAX, MOVE_BLOCK_COMMAND, MarkdownPlugin, MathPlugin, type MediaLists, MentionPlugin, MentionPluginOptions, MenuRenderProps, ModifierCombination, REMOVE_LIST_COMMAND, ReactAutoCompletePlugin, ReactBlockPlugin, type ReactBlockPluginProps, ReactCodePlugin, ReactCodeblockPlugin, ReactCodeblockPluginProps, ReactCodemirrorPlugin, ReactEditor, ReactEditorContent, ReactEditorContentProps, ReactFilePlugin, ReactFilePluginProps, ReactHRPlugin, ReactHRPluginProps, ReactImagePlugin, ReactImagePluginProps, ReactLinkHighlightPlugin, ReactLinkPlugin, ReactLinkPluginProps, ReactListPlugin, ReactListPluginProps, ReactLiteXmlPlugin, ReactMarkdownPlugin, ReactMathPlugin, ReactMentionPlugin, ReactMentionPluginProps, ReactNodePlugin, ReactPlainText, ReactPlainTextProps, ReactSlashOption, ReactSlashOptionProps, ReactSlashPlugin, ReactSlashPluginProps, ReactTablePlugin, ReactToolbarPlugin, ReactVirtualBlockPlugin, SELECT_AFTER_CODEMIRROR_COMMAND, SELECT_BEFORE_CODEMIRROR_COMMAND, SELECT_TABLE_COMMAND, SHOW_TOOLBAR_COMMAND, type SerializedMentionNode, SlashMenu, SlashMenuProps, SlashOptions, SlashPlugin, SlashPluginOptions, TablePlugin, TablePluginOptions, type TextContentBlock, ToolbarCommandOptions, UPDATE_CODEBLOCK_LANG, UPDATE_LIST_START_COMMAND, UPLOAD_PRIORITY_HIGH, UPLOAD_PRIORITY_LOW, UPLOAD_PRIORITY_MEDIUM, UploadPlugin, UploadPluginOptions, VirtualBlockPlugin, VirtualBlockPluginOptions, type XMLReaderFunc, type XMLReaderRecord, type XMLWriterFunc, type XMLWriterRecord, assert, browserDebug, bundledLanguagesInfo, compareNodeOrder, createDebugLogger, createEmptyEditorState, createHeadlessEditor, cursorNodeSerialized, debugLogger, debugLoggers, detectCodeLanguage, detectLanguage, devConsole, disableHotReload, enableHotReload, extractContentBlocks, extractMediaFromEditorState, extractMediaLists, genServiceId, generateEditorId, getHotkeyById, getKernelFromEditor, getKernelFromEditorConfig, getNodeKeyFromDOMNode, getParentElement, isDOMNode, isDocumentFragment, isPunctuationChar, isPureUrl, isValidUrl, moment, noop, prodSafeLogger, reconcileDecorator, registerBlockMoveCommand, registerEditorKernel, registerLinkHighlightCommand, registerToolbarCommand, resetRandomKey, scrollIntoView, unregisterEditorKernel, useHasDiffNode, useLexicalComposerContext, useLexicalEditor };