rittenhop-dev/versions/5.94.2/node_modules/@lexical/link/LexicalLink.js.flow
2024-09-23 19:40:12 -04:00

87 lines
2.3 KiB
Plaintext

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
*/
import type {
DOMConversionMap,
EditorConfig,
LexicalNode,
NodeKey,
RangeSelection,
LexicalCommand,
} from 'lexical';
import {addClassNamesToElement} from '@lexical/utils';
import {$isElementNode, ElementNode} from 'lexical';
export type LinkAttributes = {
rel?: null | string,
target?: null | string,
title?: null | string,
};
declare export class LinkNode extends ElementNode {
__url: string;
__target: null | string;
__rel: null | string;
__title: null | string;
static getType(): string;
static clone(node: LinkNode): LinkNode;
constructor(url: string, attributes?: LinkAttributes, key?: NodeKey): void;
createDOM(config: EditorConfig): HTMLElement;
updateDOM(
prevNode: LinkNode,
dom: HTMLElement,
config: EditorConfig,
): boolean;
static importDOM(): DOMConversionMap | null;
getURL(): string;
setURL(url: string): void;
getTarget(): null | string;
setTarget(target: null | string): void;
getRel(): null | string;
setRel(rel: null | string): void;
getTitle(): null | string;
setTitle(title: null | string): void;
insertNewAfter(
selection: RangeSelection,
restoreSelection?: boolean,
): null | ElementNode;
canInsertTextBefore(): false;
canInsertTextAfter(): false;
canBeEmpty(): false;
isInline(): true;
}
declare export function $createLinkNode(
url: string,
attributes?: LinkAttributes,
): LinkNode;
declare export function $isLinkNode(
node: ?LexicalNode,
): node is LinkNode;
declare export class AutoLinkNode extends LinkNode {
static getType(): string;
// $FlowFixMe clone method inheritance
static clone(node: AutoLinkNode): AutoLinkNode;
insertNewAfter(
selection: RangeSelection,
restoreSelection?: boolean,
): null | ElementNode;
}
declare export function $createAutoLinkNode(
url: string,
attributes?: LinkAttributes,
): AutoLinkNode;
declare export function $isAutoLinkNode(
node: ?LexicalNode,
): node is AutoLinkNode;
declare export var TOGGLE_LINK_COMMAND: LexicalCommand<
string | {url: string, ...LinkAttributes} | null,
>;
declare export function toggleLink(
url: null | string,
attributes: LinkAttributes,
): void;