/** * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ /** * @module link/autolink */ import { Plugin } from 'ckeditor5/src/core'; import { Delete } from 'ckeditor5/src/typing'; /** * The autolink plugin. */ export default class AutoLink extends Plugin { /** * @inheritDoc */ static get requires(): readonly [typeof Delete]; /** * @inheritDoc */ static get pluginName(): "AutoLink"; /** * @inheritDoc */ init(): void; /** * @inheritDoc */ afterInit(): void; /** * Enables autolinking on typing. */ private _enableTypingHandling; /** * Enables autolinking on the Enter key. */ private _enableEnterHandling; /** * Enables autolinking on the Shift+Enter keyboard shortcut. */ private _enableShiftEnterHandling; /** * Checks if the passed range contains a linkable text. */ private _checkAndApplyAutoLinkOnRange; /** * Applies a link on a given range if the link should be applied. * * @param url The URL to link. * @param range The text range to apply the link attribute to. */ private _applyAutoLink; /** * Enqueues autolink changes in the model. * * @param url The URL to link. * @param range The text range to apply the link attribute to. */ private _persistAutoLink; }