mirror of
https://github.com/codex-team/editor.js
synced 2024-05-17 22:06:49 +02:00
ff91466b14
* chore(block-tune-toggler): toggler moved to the left (draft) * toolbox ui updated * fixd caret jumpling, improved some styles * toolbar moving by block-hover - UI module triggers 'block-hovered' event - Toolbar uses 'block-hovered' for appearing - `currentBlock` setter added to the BlockManager - (reactangle-selection): the throttling added to the mousemove and scroll handlers - `getBlockIndex` method added to the Api - (api-blocks): toolbar moving logic removed from `blocks.move()` and `blocks.swap()` methods. Instead, MoveUp and MoveDown tunes uses Toolbar API * the dark-theme to the example-dev.html * positioning improved * fix(rectangle-selection): first click after RS does not clears selection state * toolbox position fixed * the toolbox module became a standalone class - Toolbox became a standalone class from the editor module. It can be accessed only via the owner (the Toolbar module) - (api.blocks) the insert() method now has the `replace` param. Also, it returns inserted Block API now. * new(api.listeners): `on()` now returns the listener id. The new `offById()` method added * fix bug with Tab pressing on hovered but not focused block * mobile version improved * upd example dev * small updaets * add nested-list * linting * (api.toolbar): `toggleBlockSettings` now fires toggling event with the same state * EventDispatcher used instead of callbacks for the Toolbox * UIApi added * fix ci * git submodules removed from the ci flow * add paragraph submodule to the ci flow * Update CHANGELOG.md * Update package.json * use ubuntu-latest for chrome ci
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
/* eslint-disable jsdoc/no-undefined-types */
|
|
/**
|
|
* Use external module CodeX Tooltip
|
|
*/
|
|
import CodeXTooltips from 'codex-tooltip';
|
|
import type { TooltipOptions, TooltipContent } from 'codex-tooltip/types';
|
|
|
|
/**
|
|
* Tooltip
|
|
*
|
|
* Decorates any tooltip module like adapter
|
|
*/
|
|
export default class Tooltip {
|
|
/**
|
|
* Tooltips lib: CodeX Tooltips
|
|
*
|
|
* @see https://github.com/codex-team/codex.tooltips
|
|
*/
|
|
private lib: CodeXTooltips = new CodeXTooltips();
|
|
|
|
/**
|
|
* Release the library
|
|
*/
|
|
public destroy(): void {
|
|
this.lib.destroy();
|
|
}
|
|
|
|
/**
|
|
* Shows tooltip on element with passed HTML content
|
|
*
|
|
* @param {HTMLElement} element - any HTML element in DOM
|
|
* @param content - tooltip's content
|
|
* @param options - showing settings
|
|
*/
|
|
public show(element: HTMLElement, content: TooltipContent, options?: TooltipOptions): void {
|
|
this.lib.show(element, content, options);
|
|
}
|
|
|
|
/**
|
|
* Hides tooltip
|
|
*
|
|
* @param skipHidingDelay — pass true to immediately hide the tooltip
|
|
*/
|
|
public hide(skipHidingDelay = false): void {
|
|
this.lib.hide(skipHidingDelay);
|
|
}
|
|
|
|
/**
|
|
* Binds 'mouseenter' and 'mouseleave' events that shows/hides the Tooltip
|
|
*
|
|
* @param {HTMLElement} element - any HTML element in DOM
|
|
* @param content - tooltip's content
|
|
* @param options - showing settings
|
|
*/
|
|
public onHover(element: HTMLElement, content: TooltipContent, options?: TooltipOptions): void {
|
|
this.lib.onHover(element, content, options);
|
|
}
|
|
}
|