| Current Path : /var/www/homesaver/www/bitrix/modules/ui/install/js/ui/lexical/link/src/ |
| Current File : /var/www/homesaver/www/bitrix/modules/ui/install/js/ui/lexical/link/src/lexical-link.js.flow |
/**
* 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 'ui.lexical.core';
import {addClassNamesToElement} from 'ui.lexical.utils';
import {$isElementNode, ElementNode} from 'ui.lexical.core';
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;
/** @deprecated renamed to {@link $toggleLink} by @lexical/eslint-plugin rules-of-lexical */
declare const toggleLink: typeof $toggleLink;