UNPKG

@ckeditor/ckeditor5-collaboration-core

Version:

Base utilities used by CKEditor 5 collaboration features to support multiple users working together in a rich text editor.

46 lines (45 loc) 1.9 kB
/** * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ import { type FocusableView, type ViewCollection } from 'ckeditor5/src/ui.js'; import type { BaseCommentThreadView } from '@ckeditor/ckeditor5-comments'; import type { BaseSuggestionThreadView } from '@ckeditor/ckeditor5-track-changes'; /** * A keystroke used to move focus from the editor content to a current annotation that has a marker * under user's selection. */ export declare const FOCUS_ANNOTATION_KEYSTROKE: "Ctrl+Shift+E"; /** * This helper initializes focus navigation within a thread using a keyboard. * * * It takes care of added and removed (dynamic) views in the thread. * * It takes care of the Enter key support (entering a thread). * * It takes care of the Esc key support (leaving a thread or whole sidebar). * * It takes care of the arrow key events being fired for the sidebar to navigate between individual threads. * * @param threadView A thread view in which the keyboard navigation will be enabled. * @param focusCycleableViews A collection of focusable views withing a thread. */ export declare function setupThreadKeyboardNavigation(threadView: BaseCommentThreadView | BaseSuggestionThreadView, focusCycleableViews: ViewCollection<FocusableView>): void; /** * An event fired when the user presses the Esc key while the entire thread is focused. */ export type ThreadEscapeEvent = { name: 'escape'; args: []; }; /** * An event fired when the user presses the arrow up key while the entire thread is focused. */ export type ThreadArrowUpEvent = { name: 'arrowup'; args: []; }; /** * An event fired when the user presses the arrow down key while the entire thread is focused. */ export type ThreadArrowDownEvent = { name: 'arrowdown'; args: []; };