mirror of
https://github.com/codex-team/editor.js
synced 2024-05-19 06:47:16 +02:00
6c0555a322
* the popover component, vertical toolbox * toolbox position improved * popover width improved * always show the plus button * search field added * search input in popover * trying to create mobile toolbox * FIx mobile popover fixed positioning * Add mobile popover overlay * Hide mobile popover on scroll * Tmp * feat(toolbox): popover adapted for mobile devices (#2004) * FIx mobile popover fixed positioning * Add mobile popover overlay * Hide mobile popover on scroll * Alter toolbox buttons hover * Fix closing popover on overlay click * Tests fix * Fix onchange test * restore focus after toolbox closing by ESC * don't move toolbar by block-hover on mobile Resolves #1972 * popover mobile styles improved * Cleanup * Remove scroll event listener * Lock scroll on mobile * don't show shortcuts in mobile popover * Change data attr name * Remove unused styles * Remove unused listeners * disable hover on mobile popover * Scroll fix * Lint * Revert "Scroll fix" This reverts commit82deae543e
. * Return back background color for active state of toolbox buttons Co-authored-by: Peter Savchenko <specc.dev@gmail.com> * Vertical toolbox fixes (#2017) * Replace visibility property with display for hiding popover * Disable arrow right and left keys for popover * Revert "Replace visibility property with display for hiding popover" This reverts commitaf521cf6f2
. * Hide popover via setting max-height to 0 to fix animation in safari * Remove redundant condition * Extend element interface to avoid ts errors * Do not subscribe to block hovered if mobile * Add unsubscribing from overlay click event * Rename isMobile to isMobileScreen * Cleanup * fix: popover opening direction (#2022) * Change popover opening direction based on available space below it * Update check * Use cacheable decorator * Update src/components/flipper.ts Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com> * Fixes * Fix test * Clear search on popover hide * Fix popover width * Fix for tests * Update todos * Linter fixes * rm todo about beforeInsert because I have no idea what does it mean * i18n for search labels done * rm methods for hiding/showing of + * some code style update * Update CHANGELOG.md * make the list items a little bit compact * fix z-index issue caused by block-appearing animation also, improve popover padding for two reasons: - make the popover more consistent with the Table tool popover (in future, it can be done with the same api method) - make popover looks better * Some progress Use overriden config tmp * Cleanup * Proceed cleanup * Update tool-settings.d.ts * Get rid of isToolboxItemActive * Get rid of key * Filter out duplicates in conversion menu * Rename hash to id * Change function for generating hash * Cleanup * Further cleanup * [Feature] Multiple toolbox items: using of data overrides instead of config overrides (#2064) * Use data instead of config * check if active toolbox entry exists * comparison improved * eslint fix * rename toolbox types, simplify hasTools method * add empty line * wrong line * add multiple toobox note to the doc * Update toolbox configs merge logic * Add a test case * Add toolbox ui tests * Update tests * upd doc * Update header * Update changelog and package.json * Update changelog * Update jsdoc * Remove unused dependency * Make BlockTool's toolbox getter always return an array * Fix for unconfigured toolbox * Revert "Fix for unconfigured toolbox" This reverts commitdff1df2304
. * Change return type * Merge data overrides with actual block data when inserting a block * Revert "Merge data overrides with actual block data when inserting a block" This reverts commiteb0a59cc64
. * Merge tool's data with data overrides * Move merging block data with data overrides to insertNewBlock * Update changelog * Rename getDefaultBlockData to composeBlockData * Create block data on condition * Update types/api/blocks.d.ts Co-authored-by: Peter Savchenko <specc.dev@gmail.com> * Update src/components/modules/api/blocks.ts Co-authored-by: Peter Savchenko <specc.dev@gmail.com> Co-authored-by: Peter Savchenko <specc.dev@gmail.com> Co-authored-by: George Berezhnoy <gohabereg@users.noreply.github.com>
166 lines
3 KiB
TypeScript
166 lines
3 KiB
TypeScript
/**
|
|
* For export type there should be one entry point,
|
|
* so we export all types from this file
|
|
* ------------------------------------
|
|
*/
|
|
|
|
import {
|
|
Dictionary,
|
|
DictValue,
|
|
EditorConfig,
|
|
I18nConfig,
|
|
I18nDictionary,
|
|
} from './configs';
|
|
|
|
import {
|
|
Blocks,
|
|
Caret,
|
|
Events,
|
|
InlineToolbar,
|
|
Listeners,
|
|
Notifier,
|
|
ReadOnly,
|
|
Sanitizer,
|
|
Saver,
|
|
Selection,
|
|
Styles,
|
|
Toolbar,
|
|
Tooltip,
|
|
I18n,
|
|
Ui,
|
|
} from './api';
|
|
|
|
import { OutputData } from './data-formats';
|
|
|
|
/**
|
|
* Interfaces used for development
|
|
*/
|
|
export {
|
|
BaseTool,
|
|
BaseToolConstructable,
|
|
InlineTool,
|
|
InlineToolConstructable,
|
|
InlineToolConstructorOptions,
|
|
BlockToolConstructable,
|
|
BlockToolConstructorOptions,
|
|
BlockTool,
|
|
BlockToolData,
|
|
Tool,
|
|
ToolConstructable,
|
|
ToolboxConfig,
|
|
ToolboxConfigEntry,
|
|
ToolSettings,
|
|
ToolConfig,
|
|
PasteEvent,
|
|
PasteEventDetail,
|
|
PatternPasteEvent,
|
|
PatternPasteEventDetail,
|
|
HTMLPasteEvent,
|
|
HTMLPasteEventDetail,
|
|
FilePasteEvent,
|
|
FilePasteEventDetail,
|
|
} from './tools';
|
|
export {BlockTune, BlockTuneConstructable} from './block-tunes';
|
|
export {
|
|
EditorConfig,
|
|
SanitizerConfig,
|
|
PasteConfig,
|
|
LogLevels,
|
|
ConversionConfig,
|
|
I18nDictionary,
|
|
Dictionary,
|
|
DictValue,
|
|
I18nConfig,
|
|
} from './configs';
|
|
export {OutputData, OutputBlockData} from './data-formats/output-data';
|
|
export { BlockAPI } from './api'
|
|
|
|
/**
|
|
* We have a namespace API {@link ./api/index.d.ts} (APIMethods) but we can not use it as interface
|
|
* So we should create new interface for exporting API type
|
|
*/
|
|
export interface API {
|
|
blocks: Blocks;
|
|
caret: Caret;
|
|
events: Events;
|
|
listeners: Listeners;
|
|
notifier: Notifier;
|
|
sanitizer: Sanitizer;
|
|
saver: Saver;
|
|
selection: Selection;
|
|
styles: Styles;
|
|
toolbar: Toolbar;
|
|
inlineToolbar: InlineToolbar;
|
|
tooltip: Tooltip;
|
|
i18n: I18n;
|
|
readOnly: ReadOnly;
|
|
ui: Ui;
|
|
}
|
|
|
|
/**
|
|
* Main Editor class
|
|
*/
|
|
declare class EditorJS {
|
|
public static version: string;
|
|
|
|
public isReady: Promise<void>;
|
|
|
|
public blocks: Blocks;
|
|
public caret: Caret;
|
|
public sanitizer: Sanitizer;
|
|
public saver: Saver;
|
|
public selection: Selection;
|
|
public styles: Styles;
|
|
public toolbar: Toolbar;
|
|
public inlineToolbar: InlineToolbar;
|
|
public readOnly: ReadOnly;
|
|
constructor(configuration?: EditorConfig|string);
|
|
|
|
/**
|
|
* API shorthands
|
|
*/
|
|
|
|
/**
|
|
* @see Saver.save
|
|
*/
|
|
public save(): Promise<OutputData>;
|
|
|
|
/**
|
|
* @see Blocks.clear
|
|
*/
|
|
public clear(): void;
|
|
|
|
/**
|
|
* @see Blocks.render
|
|
*/
|
|
public render(data: OutputData): Promise<void>;
|
|
|
|
/**
|
|
* @see Caret.focus
|
|
*/
|
|
public focus(atEnd?: boolean): boolean;
|
|
|
|
/**
|
|
* @see Events.on
|
|
*/
|
|
public on(eventName: string, callback: (data?: any) => void): void;
|
|
|
|
/**
|
|
* @see Events.off
|
|
*/
|
|
public off(eventName: string, callback: (data?: any) => void): void;
|
|
|
|
/**
|
|
* @see Events.emit
|
|
*/
|
|
public emit(eventName: string, data: any): void;
|
|
|
|
/**
|
|
* Destroy Editor instance and related DOM elements
|
|
*/
|
|
public destroy(): void;
|
|
}
|
|
|
|
export as namespace EditorJS;
|
|
export default EditorJS;
|