@ckeditor/ckeditor5-vue
Version:
Official Vue.js 3+ component for CKEditor 5 – the best browser-based rich text editor.
39 lines (38 loc) • 3.04 kB
TypeScript
/**
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
*/
import { type MaybeRefOrGetter, type Ref } from 'vue';
import type { CKEditorError, EditorConfig, EventInfo, MultiRootEditor, WatchdogConfig } from 'ckeditor5';
import { type ExtractEditorType } from '@ckeditor/ckeditor5-integrations-common';
import { type EditorWithAttachedWatchdog } from '../utils/wrapWithWatchdogIfPresent.js';
import type { AddRootOptions, MultiRootEditorData, MultiRootEditorErrorDescription, MultiRootEditorRootsAttributes, MultiRootEditorWithWatchdogRelaxedConstructor } from './types.js';
export declare function useMultiRootEditor<TEditorConstructor extends MultiRootEditorWithWatchdogRelaxedConstructor>(options: UseMultiRootEditorOptions<TEditorConstructor>): UseMultiRootEditorResult<ExtractEditorType<TEditorConstructor> & MultiRootEditor>;
export type UseMultiRootEditorOptions<TEditorConstructor extends MultiRootEditorWithWatchdogRelaxedConstructor> = {
editor: MaybeRefOrGetter<TEditorConstructor>;
data: MaybeRefOrGetter<MultiRootEditorData>;
rootsAttributes?: MaybeRefOrGetter<MultiRootEditorRootsAttributes | undefined>;
config?: MaybeRefOrGetter<EditorConfig | undefined>;
disabled?: MaybeRefOrGetter<boolean | undefined>;
watchdogConfig?: MaybeRefOrGetter<WatchdogConfig | undefined>;
disableWatchdog?: MaybeRefOrGetter<boolean | undefined>;
disableTwoWayDataBinding?: MaybeRefOrGetter<boolean | undefined>;
onReady?: (editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onDestroy?: (editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onChange?: (event: EventInfo, editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onFocus?: (event: EventInfo, editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onBlur?: (event: EventInfo, editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onUpdateData?: (data: MultiRootEditorData, event: EventInfo | null, editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onUpdateRootsAttributes?: (rootsAttributes: MultiRootEditorRootsAttributes, event: EventInfo | null, editor: ExtractEditorType<TEditorConstructor> & MultiRootEditor) => void;
onError?: (error: Error | CKEditorError, description: MultiRootEditorErrorDescription<ExtractEditorType<TEditorConstructor> & MultiRootEditor>) => void;
};
export type UseMultiRootEditorResult<TEditor extends MultiRootEditor> = {
instance: Ref<EditorWithAttachedWatchdog<TEditor> | undefined>;
roots: Ref<Array<string>>;
data: Ref<MultiRootEditorData>;
rootsAttributes: Ref<MultiRootEditorRootsAttributes>;
setData(data: MultiRootEditorData): void;
setRootsAttributes(rootsAttributes: MultiRootEditorRootsAttributes): void;
addRoot(options: AddRootOptions): Promise<void>;
removeRoot(name: string): Promise<void>;
};