Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/ui/install/js/ui/lexical/link/src/
Upload File :
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;