void_elements?: string;
whitespace_elements?: string;
transparent_elements?: string;
+ wrap_block_elements?: string;
}
interface SchemaSettings extends ElementSettings {
custom_elements?: string;
getSpecialElements: () => SchemaRegExpMap;
isValidChild: (name: string, child: string) => boolean;
isValid: (name: string, attr?: string) => boolean;
+ isBlock: (name: string) => boolean;
+ isInline: (name: string) => boolean;
+ isWrapper: (name: string) => boolean;
getCustomElements: () => SchemaMap;
addValidElements: (validElements: string) => void;
setValidElements: (validElements: string) => void;
onSetup?: (api: NestedMenuItemInstanceApi) => (api: NestedMenuItemInstanceApi) => void;
}
interface NestedMenuItemInstanceApi extends CommonMenuItemInstanceApi {
+ setTooltip: (tooltip: string) => void;
setIconFill: (id: string, value: string) => void;
}
type MenuButtonItemTypes = NestedMenuItemContents;
setIconFill: (id: string, value: string) => void;
isActive: () => boolean;
setActive: (state: boolean) => void;
+ setTooltip: (tooltip: string) => void;
setText: (text: string) => void;
setIcon: (icon: string) => void;
}
type: 'urlinput';
filetype?: 'image' | 'media' | 'file';
enabled?: boolean;
+ picker_text?: string;
}
interface UrlInputData {
value: string;
allow_unsafe_link_target?: boolean;
blob_cache?: BlobCache;
convert_fonts_to_spans?: boolean;
+ convert_unsafe_embeds?: boolean;
document?: Document;
fix_list_elements?: boolean;
font_size_legacy_values?: string;
preserve_cdata?: boolean;
remove_trailing_brs?: boolean;
root_name?: string;
+ sandbox_iframes?: boolean;
sanitize?: boolean;
validate?: boolean;
}
}
interface StyleSheetLoader {
load: (url: string) => Promise<void>;
+ loadRawCss: (key: string, css: string) => void;
loadAll: (urls: string[]) => Promise<string[]>;
unload: (url: string) => void;
+ unloadRawCss: (key: string) => void;
unloadAll: (urls: string[]) => void;
_setReferrerPolicy: (referrerPolicy: ReferrerPolicy) => void;
_setContentCssCors: (contentCssCors: boolean) => void;
};
'resize': UIEvent;
'scroll': UIEvent;
+ 'input': InputEvent;
+ 'beforeinput': InputEvent;
'detach': {};
'remove': {};
'init': {};
}
type ToolbarMode = 'floating' | 'sliding' | 'scrolling' | 'wrap';
type ToolbarLocation = 'top' | 'bottom' | 'auto';
+type ForceHexColor = 'always' | 'rgb_only' | 'off';
interface BaseEditorOptions {
a11y_advanced_options?: boolean;
add_form_submit_trigger?: boolean;
contextmenu?: string | string[] | false;
contextmenu_never_use_native?: boolean;
convert_fonts_to_spans?: boolean;
+ convert_unsafe_embeds?: boolean;
convert_urls?: boolean;
custom_colors?: boolean;
custom_elements?: string;
custom_ui_selector?: string;
custom_undo_redo_levels?: number;
+ default_font_stack?: string[];
deprecation_warnings?: boolean;
directionality?: 'ltr' | 'rtl';
doctype?: string;
font_size_style_values?: string;
font_size_formats?: string;
font_size_input_default_unit?: string;
+ force_hex_color?: ForceHexColor;
forced_root_block?: string;
forced_root_block_attrs?: Record<string, string>;
formats?: Formats;
resize?: boolean | 'both';
resize_img_proportional?: boolean;
root_name?: string;
+ sandbox_iframes?: boolean;
schema?: SchemaType;
selector?: string;
setup?: SetupCallback;
color_default_foreground: string;
content_css: string[];
contextmenu: string[];
+ convert_unsafe_embeds: boolean;
custom_colors: boolean;
+ default_font_stack: string[];
document_base_url: string;
init_content_sync: boolean;
draggable_modal: boolean;
font_size_style_values: string;
forced_root_block: string;
forced_root_block_attrs: Record<string, string>;
+ force_hex_color: ForceHexColor;
format_noneditable_selector: string;
height: number | string;
highlight_on_focus: boolean;
promotion: boolean;
readonly: boolean;
removed_menuitems: string;
+ sandbox_iframes: boolean;
toolbar: boolean | string | string[] | Array<ToolbarGroup>;
toolbar_groups: Record<string, GroupToolbarButtonSpec>;
toolbar_location: ToolbarLocation;
allow_svg_data_urls?: boolean;
url_converter?: URLConverter;
url_converter_scope?: any;
+ force_hex_color?: ForceHexColor;
}
interface Styles {
parse: (css: string | undefined) => Record<string, string>;
onSetAttrib: (event: SetAttribEvent) => void;
contentCssCors: boolean;
referrerPolicy: ReferrerPolicy;
+ force_hex_color: ForceHexColor;
}
type Target = Node | Window;
type RunArguments<T extends Node = Node> = string | T | Array<string | T> | null;
interface Resource {
load: <T = any>(id: string, url: string) => Promise<T>;
add: (id: string, data: any) => void;
+ has: (id: string) => boolean;
+ get: (id: string) => any;
unload: (id: string) => void;
}
type TextPatterns_d_Pattern = Pattern;