mirror of
https://github.com/codex-team/editor.js
synced 2024-06-10 09:52:36 +02:00
Merge branch 'release/2.16' of github.com:codex-team/editor.js into refactor/rectangle-selection
This commit is contained in:
commit
58ae97bac4
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
|
@ -1,5 +1,5 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: codex-team/editor.js
|
||||
github: neSpecc
|
||||
patreon: editorjs
|
||||
open_collective: editorjs
|
||||
|
|
|
@ -1 +1 @@
|
|||
* @neSpecc @gohabereg @khaydarov @talyguryn
|
||||
* @neSpecc @gohabereg @khaydarov
|
||||
|
|
88
README.md
88
README.md
|
@ -8,21 +8,35 @@
|
|||
[![](https://flat.badgen.net/npm/license/@editorjs/editorjs)](https://www.npmjs.com/package/@editorjs/editorjs)
|
||||
[![Join the chat at https://gitter.im/codex-team/editor.js](https://badges.gitter.im/codex-team/editor.js.svg)](https://gitter.im/codex-team/editor.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
## Version 2.0 is here!
|
||||
|
||||
We are glad to introduce the next version of Editor.js. Totally new core, structure and plugins — that was an impressive adventure 🤓.
|
||||
|
||||
Join [public Telegram-chat](//t.me/codex_editor) or [Gitter-channel](https://gitter.im/codex-team/editor.js) where you can always find a support.
|
||||
|
||||
### Browsers support
|
||||
|
||||
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png" alt="iOS Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>iOS Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Opera |
|
||||
| --------- | --------- | --------- | --------- | --------- | --------- |
|
||||
| Edge 12+ | Firefox 18+ | Chrome 49+ | Safari 10+ | Safari 10+ | Opera 36+
|
||||
|
||||
## ⭐️ If you like a project
|
||||
## If you like a project 💗💗💗
|
||||
|
||||
If you like Editor.js you can support project improvements and development of new features with a small donation on [Open Collective](https://opencollective.com/editorjs) or [Patreon](https://www.patreon.com/editorjs)
|
||||
If you like Editor.js you can support project improvements and development of new features with a donation to our collective.
|
||||
|
||||
👉 [https://opencollective.com/editorjs](https://opencollective.com/editorjs)
|
||||
|
||||
👉 Bitcoin: `3DCCemgtE6GrzehVpU6Sa2RJHFUUh8iT9q`
|
||||
|
||||
### Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/editorjs#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/editorjs/sponsor/0/website" target="_blank"><img src="https://opencollective.com/editorjs/sponsor/0/avatar.svg"></a>
|
||||
|
||||
### Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/editorjs#backer)]
|
||||
|
||||
<a href="https://opencollective.com/editorjs#backers" target="_blank"><img src="https://opencollective.com/editorjs/backers.svg?width=890"></a>
|
||||
|
||||
### Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. <img src="https://opencollective.com/editorjs/contributors.svg?width=890&button=false" />
|
||||
|
||||
We are really welcome new contributors. If you want to make some code with us, please take a look at the [Good First Tasks](https://github.com/codex-team/editor.js/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+task%22). You can write to us on `team@codex.so` or via special [Telegram chat](https://t.me/editorjsdev), or any other way.
|
||||
|
||||
## Documentation
|
||||
|
||||
|
@ -37,15 +51,13 @@ Please, visit [https://editorjs.io/](https://editorjs.io) to view all documentat
|
|||
|
||||
You can join a [Gitter-channel](https://gitter.im/codex-team/editor.js) or [Telegram-chat](//t.me/codex_editor) and ask a question.
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
See a whole [Changelog](/docs/CHANGELOG.md)
|
||||
|
||||
# So how to use Editor.js
|
||||
## So how to use Editor.js
|
||||
|
||||
## Basics
|
||||
### Basics
|
||||
|
||||
Editor.js is a Block-Styled editor. Blocks are structural units, of which the Entry is composed.
|
||||
For example, `Paragraph`, `Heading`, `Image`, `Video`, `List` are Blocks. Each Block is represented by Plugin.
|
||||
|
@ -69,7 +81,7 @@ or apply Tool's settings, if it provided. For example, set a Heading level or Li
|
|||
|
||||
![](https://capella.pics/01a55381-46cd-47c7-b92e-34765434f2ca.jpg)
|
||||
|
||||
## Shortcuts
|
||||
### Shortcuts
|
||||
|
||||
We really appreciate shortcuts. So there are few presets.
|
||||
|
||||
|
@ -103,7 +115,7 @@ var editor = new EditorJS({
|
|||
```
|
||||
|
||||
|
||||
# Installation Guide
|
||||
## Installation Guide
|
||||
|
||||
There are few steps to run Editor.js on your site.
|
||||
|
||||
|
@ -111,7 +123,7 @@ There are few steps to run Editor.js on your site.
|
|||
2. [Load Tools](#load-tools)
|
||||
3. [Initialize Editor's instance](#create-editor-instance)
|
||||
|
||||
## Load Editor's core
|
||||
### Load Editor's core
|
||||
|
||||
Firstly you need to get Editor.js itself. It is a [minified script](dist/editor.js) with Editor's core and some default must-have tools.
|
||||
|
||||
|
@ -121,7 +133,7 @@ Choose the most usable method of getting Editor for you.
|
|||
- Source from CDN
|
||||
- Local file from project
|
||||
|
||||
### Node.js
|
||||
#### Node.js
|
||||
|
||||
Install the package via NPM or Yarn
|
||||
|
||||
|
@ -135,7 +147,7 @@ Include module in your application
|
|||
const EditorJS = require('@editorjs/editorjs');
|
||||
```
|
||||
|
||||
### Use from CDN
|
||||
#### Use from CDN
|
||||
|
||||
You can load specific version of package from [jsDelivr CDN](https://www.jsdelivr.com/package/npm/@editorjs/editorjs).
|
||||
|
||||
|
@ -147,15 +159,15 @@ Then require this script.
|
|||
<script src="..."></script>
|
||||
```
|
||||
|
||||
### Save sources to project
|
||||
#### Save sources to project
|
||||
|
||||
Copy [editor.js](build/editor.js) file to your project and load it.
|
||||
Copy [editor.js](dist/editor.js) file to your project and load it.
|
||||
|
||||
```html
|
||||
<script src="editor.js"></script>
|
||||
```
|
||||
|
||||
## Load Tools
|
||||
### Load Tools
|
||||
|
||||
Each Block at the Editor.js is represented by [Tools](docs/tools.md). There are simple external scripts with their own logic. Probably you want to use several Block Tools that should be connected.
|
||||
|
||||
|
@ -171,7 +183,7 @@ Check [Editor.js's community](https://github.com/editor-js/) to see more ready-t
|
|||
<script src="https://cdn.jsdelivr.net/npm/codex.editor.header@2.0.4/dist/bundle.js"></script>
|
||||
```
|
||||
|
||||
## Create Editor instance
|
||||
### Create Editor instance
|
||||
|
||||
Create an instance of Editor.js and pass [Configuration Object](types/configs/editor-config.d.ts) with `holderId` and tools list.
|
||||
|
||||
|
@ -217,7 +229,7 @@ var editor = new EditorJS({
|
|||
});
|
||||
```
|
||||
|
||||
## Saving Data
|
||||
### Saving Data
|
||||
|
||||
Call `editor.save()` and handle returned Promise with saved data.
|
||||
|
||||
|
@ -228,7 +240,7 @@ editor.save()
|
|||
});
|
||||
```
|
||||
|
||||
## Example
|
||||
### Example
|
||||
|
||||
Take a look at the [example.html](example/example.html) to view more detailed examples.
|
||||
|
||||
|
@ -236,31 +248,7 @@ Take a look at the [example.html](example/example.html) to view more detailed ex
|
|||
|
||||
- We use [HTMLJanitor](https://github.com/guardian/html-janitor) module in our Sanitizer module.
|
||||
|
||||
# Support project improvements
|
||||
|
||||
Love Editor.js? Please consider supporting our collective:
|
||||
|
||||
👉 [https://opencollective.com/editorjs](https://opencollective.com/editorjs)
|
||||
|
||||
👉 [Patreon](https://www.patreon.com/editorjs)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. <img src="https://opencollective.com/editorjs/contributors.svg?width=890&button=false" />
|
||||
|
||||
## Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/editorjs#backer)]
|
||||
|
||||
<a href="https://opencollective.com/editorjs#backers" target="_blank"><img src="https://opencollective.com/editorjs/backers.svg?width=890"></a>
|
||||
|
||||
## Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/editorjs#sponsor)]
|
||||
|
||||
<a href="https://opencollective.com/editorjs/sponsor/0/website" target="_blank"><img src="https://opencollective.com/editorjs/sponsor/0/avatar.svg"></a>
|
||||
|
||||
# About team
|
||||
## About team
|
||||
|
||||
We are CodeX and we build products for developers and makers.
|
||||
|
||||
|
|
8
dist/editor.js
vendored
8
dist/editor.js
vendored
File diff suppressed because one or more lines are too long
|
@ -2,8 +2,13 @@
|
|||
|
||||
### 2.16
|
||||
|
||||
### 2.15.1
|
||||
|
||||
- `Refactoring` — Constants of tools settings separated by internal and external to correspond API
|
||||
- `Refactoring` — Created universal Flipper class that responses for navigation by keyboard inside of any Toolbars
|
||||
- `Fix` — First CMD+A on block with now uses default behaviour. Fixed problem with second CMD+A after selection clearing [#827](https://github.com/codex-team/editor.js/issues/827)
|
||||
- `Improvements` — Style of inline selection and selected blocks improved
|
||||
- `Fix` - Fixed problem when property 'observer' in modificationObserver is not defined
|
||||
|
||||
### 2.15
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ export default class DomIterator {
|
|||
nodeList: HTMLElement[],
|
||||
focusedCssClass: string,
|
||||
) {
|
||||
this.items = nodeList;
|
||||
this.items = nodeList || [];
|
||||
this.focusedCssClass = focusedCssClass;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,15 +1,47 @@
|
|||
import DomIterator from './domIterator';
|
||||
import _ from './utils';
|
||||
|
||||
/**
|
||||
* Flipper construction options
|
||||
*/
|
||||
export interface FlipperOptions {
|
||||
/**
|
||||
* CSS-modifier for focused item
|
||||
*/
|
||||
focusedItemClass?: string;
|
||||
|
||||
/**
|
||||
* If flipping items are the same for all Block (for ex. Toolbox), ypu can pass it on constructing
|
||||
*/
|
||||
items?: HTMLElement[];
|
||||
|
||||
/**
|
||||
* Defines arrows usage. By default Flipper leafs items also via RIGHT/LEFT.
|
||||
*
|
||||
* true by default
|
||||
*
|
||||
* Pass 'false' if you don't need this behaviour
|
||||
* (for example, Inline Toolbar should be closed by arrows,
|
||||
* because it means caret moving with selection clearing)
|
||||
*/
|
||||
allowArrows?: boolean;
|
||||
|
||||
/**
|
||||
* Optional callback for button click
|
||||
*/
|
||||
activateCallback?: () => void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Flipper is a component that iterates passed items array by TAB or Arrows and clicks it by ENTER
|
||||
*/
|
||||
export default class Flipper {
|
||||
|
||||
/**
|
||||
* Instance of flipper iterator
|
||||
* @type {DomIterator|null}
|
||||
*/
|
||||
private iterator: DomIterator = null;
|
||||
private readonly iterator: DomIterator = null;
|
||||
|
||||
/**
|
||||
* Flag that defines activation status
|
||||
|
@ -21,25 +53,23 @@ export default class Flipper {
|
|||
* Flag that allows arrows usage to flip items
|
||||
* @type {boolean}
|
||||
*/
|
||||
private allowArrows: boolean = true;
|
||||
private readonly allowArrows: boolean = true;
|
||||
|
||||
/**
|
||||
* Call back for button click/enter
|
||||
*/
|
||||
private readonly activateCallback: () => void;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*
|
||||
* @param {HTMLElement[]} nodeList - The list of iterable HTML-items
|
||||
* @param {string} focusedCssClass - CSS class name that will be set when item is focused
|
||||
* @param {boolean} allowArrows - Defines arrows usage. By default Flipper leafs items also via RIGHT/LEFT.
|
||||
* Pass 'false' if you don't need this behaviour
|
||||
* (for example, Inline Toolbar should be closed by arrows,
|
||||
* because it means caret moving with selection clearing)
|
||||
* @param {FlipperOptions} options - different constructing settings
|
||||
* @
|
||||
*/
|
||||
constructor(
|
||||
nodeList: HTMLElement[],
|
||||
focusedCssClass: string,
|
||||
allowArrows: boolean = true,
|
||||
) {
|
||||
this.allowArrows = allowArrows;
|
||||
this.iterator = new DomIterator(nodeList, focusedCssClass);
|
||||
constructor(options: FlipperOptions) {
|
||||
this.allowArrows = typeof options.allowArrows === 'boolean' ? options.allowArrows : true;
|
||||
this.iterator = new DomIterator(options.items, options.focusedItemClass);
|
||||
this.activateCallback = options.activateCallback;
|
||||
|
||||
/**
|
||||
* Listening all keydowns on document and react on TAB/Enter press
|
||||
|
@ -53,7 +83,13 @@ export default class Flipper {
|
|||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent only used keys default behaviour
|
||||
* (allows to navigate by ARROW DOWN, for example)
|
||||
*/
|
||||
if (Flipper.usedKeys.includes(event.keyCode)) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
switch (event.keyCode) {
|
||||
case _.keyCodes.TAB:
|
||||
|
@ -72,6 +108,21 @@ export default class Flipper {
|
|||
}, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Array of keys (codes) that is handled by Flipper
|
||||
* Used to:
|
||||
* - preventDefault only for this keys, not all keywdowns (@see constructor)
|
||||
* - to skip external behaviours only for these keys, when filler is activated (@see BlockEvents@arrowRightAndDown)
|
||||
*/
|
||||
public static get usedKeys(): number[] {
|
||||
return [
|
||||
_.keyCodes.TAB,
|
||||
_.keyCodes.LEFT,
|
||||
_.keyCodes.RIGHT,
|
||||
_.keyCodes.ENTER,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Active tab/arrows handling by flipper
|
||||
* @param {HTMLElement[]} items - Some modules (like, InlineToolbar, BlockSettings) might refresh buttons dynamically
|
||||
|
@ -188,6 +239,10 @@ export default class Flipper {
|
|||
this.iterator.currentItem.click();
|
||||
}
|
||||
|
||||
if (typeof this.activateCallback === 'function') {
|
||||
this.activateCallback();
|
||||
}
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
import Module from '../__module';
|
||||
import _ from '../utils';
|
||||
import SelectionUtils from '../selection';
|
||||
import Flipper from '../flipper';
|
||||
|
||||
export default class BlockEvents extends Module {
|
||||
|
||||
|
@ -166,7 +167,12 @@ export default class BlockEvents extends Module {
|
|||
* @param {MouseEvent} event
|
||||
*/
|
||||
public mouseDown(event: MouseEvent): void {
|
||||
/**
|
||||
* Each mouse down on Block must disable selectAll state
|
||||
*/
|
||||
if (!SelectionUtils.isCollapsed) {
|
||||
this.Editor.BlockSelection.clearSelection(event);
|
||||
}
|
||||
|
||||
this.Editor.CrossBlockSelection.watchSelection(event);
|
||||
}
|
||||
|
@ -478,11 +484,18 @@ export default class BlockEvents extends Module {
|
|||
private arrowRightAndDown(event: KeyboardEvent): void {
|
||||
/**
|
||||
* Arrows might be handled on toolbars by flipper
|
||||
* Check for Flipper.usedKeys to allow navigate by DOWN and disallow by RIGHT
|
||||
*/
|
||||
if (this.Editor.UI.someToolbarOpened) {
|
||||
if (this.Editor.UI.someToolbarOpened && Flipper.usedKeys.includes(event.keyCode)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close Toolbar and highlighting when user moves cursor
|
||||
*/
|
||||
this.Editor.BlockManager.clearFocused();
|
||||
this.Editor.Toolbar.close();
|
||||
|
||||
const shouldEnableCBS = this.Editor.Caret.isAtEnd || this.Editor.BlockSelection.anyBlockSelected;
|
||||
|
||||
if (event.shiftKey && event.keyCode === _.keyCodes.DOWN && shouldEnableCBS) {
|
||||
|
@ -519,11 +532,18 @@ export default class BlockEvents extends Module {
|
|||
private arrowLeftAndUp(event: KeyboardEvent): void {
|
||||
/**
|
||||
* Arrows might be handled on toolbars by flipper
|
||||
* Check for Flipper.usedKeys to allow navigate by UP and disallow by LEFT
|
||||
*/
|
||||
if (this.Editor.UI.someToolbarOpened) {
|
||||
if (this.Editor.UI.someToolbarOpened && Flipper.usedKeys.includes(event.keyCode)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close Toolbar and highlighting when user moves cursor
|
||||
*/
|
||||
this.Editor.BlockManager.clearFocused();
|
||||
this.Editor.Toolbar.close();
|
||||
|
||||
const shouldEnableCBS = this.Editor.Caret.isAtStart || this.Editor.BlockSelection.anyBlockSelected;
|
||||
|
||||
if (event.shiftKey && event.keyCode === _.keyCodes.UP && shouldEnableCBS) {
|
||||
|
|
|
@ -263,8 +263,8 @@ export default class BlockSelection extends Module {
|
|||
// this.Editor.RectangleSelection.clearSelection();
|
||||
|
||||
/** allow default selection on native inputs */
|
||||
if ($.isNativeInput(event.target) && !this.nativeInputSelected) {
|
||||
this.nativeInputSelected = true;
|
||||
if ($.isNativeInput(event.target) && !this.readyToBlockSelection) {
|
||||
this.readyToBlockSelection = true;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -280,10 +280,44 @@ export default class BlockSelection extends Module {
|
|||
return;
|
||||
}
|
||||
|
||||
if (inputs.length === 1 && !this.needToSelectAll) {
|
||||
this.needToSelectAll = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.needToSelectAll) {
|
||||
/** Prevent default selection */
|
||||
/**
|
||||
* Prevent default selection
|
||||
*/
|
||||
event.preventDefault();
|
||||
|
||||
this.selectAllBlocks();
|
||||
|
||||
/**
|
||||
* Disable any selection after all Blocks selected
|
||||
*/
|
||||
this.needToSelectAll = false;
|
||||
this.readyToBlockSelection = false;
|
||||
|
||||
/**
|
||||
* Close ConversionToolbar when all Blocks selected
|
||||
*/
|
||||
this.Editor.ConversionToolbar.close();
|
||||
} else if (this.readyToBlockSelection) {
|
||||
this.selectBlockByIndex();
|
||||
|
||||
/**
|
||||
* Enable all Blocks selection if current Block is selected
|
||||
*/
|
||||
this.needToSelectAll = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Select All Blocks
|
||||
* Each Block has selected setter that makes Block copyable
|
||||
*/
|
||||
private selectAllBlocks() {
|
||||
/**
|
||||
* Save selection
|
||||
* Will be restored when closeSelection fired
|
||||
|
@ -296,23 +330,6 @@ export default class BlockSelection extends Module {
|
|||
SelectionUtils.get()
|
||||
.removeAllRanges();
|
||||
|
||||
this.selectAllBlocks();
|
||||
this.needToSelectAll = false;
|
||||
|
||||
/**
|
||||
* Close ConversionToolbar when all Blocks selected
|
||||
*/
|
||||
this.Editor.ConversionToolbar.close();
|
||||
} else {
|
||||
this.needToSelectAll = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Select All Blocks
|
||||
* Each Block has selected setter that makes Block copyable
|
||||
*/
|
||||
private selectAllBlocks() {
|
||||
this.allBlocksSelected = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,7 +47,9 @@ export default class ModificationsObserver extends Module {
|
|||
*/
|
||||
public destroy() {
|
||||
this.mutationDebouncer = null;
|
||||
if (this.observer) {
|
||||
this.observer.disconnect();
|
||||
}
|
||||
this.observer = null;
|
||||
this.nativeInputs.forEach((input) => this.Editor.Listeners.off(input, 'input', this.mutationDebouncer));
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import Module from '../../__module';
|
||||
import $ from '../../dom';
|
||||
import Flipper from '../../flipper';
|
||||
import Flipper, {FlipperOptions} from '../../flipper';
|
||||
import _ from '../../utils';
|
||||
|
||||
/**
|
||||
* Block Settings
|
||||
|
@ -185,6 +186,17 @@ export default class BlockSettings extends Module {
|
|||
* Buttons will be filled on opening
|
||||
*/
|
||||
private enableFlipper(): void {
|
||||
this.flipper = new Flipper([], this.CSS.focusedButton);
|
||||
this.flipper = new Flipper({
|
||||
focusedItemClass: this.CSS.focusedButton,
|
||||
activateCallback: () => {
|
||||
/**
|
||||
* Restoring focus on current Block after settings clicked.
|
||||
* For example, when H3 changed to H2 — DOM Elements replaced, so we need to focus a new one
|
||||
*/
|
||||
_.delay( () => {
|
||||
this.Editor.Caret.setToBlock(this.Editor.BlockManager.currentBlock);
|
||||
}, 10)();
|
||||
},
|
||||
} as FlipperOptions);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,16 +82,16 @@ export default class ConversionToolbar extends Module {
|
|||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark current block's button with color
|
||||
*/
|
||||
this.highlightActiveTool(block.name);
|
||||
|
||||
this.move(block);
|
||||
|
||||
if (!this.opened) {
|
||||
this.open();
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark current block's button with color
|
||||
*/
|
||||
this.highlightActiveTool(block.name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -99,7 +99,7 @@ export default class ConversionToolbar extends Module {
|
|||
*/
|
||||
public open(): void {
|
||||
this.opened = true;
|
||||
this.flipper.activate();
|
||||
this.flipper.activate(Object.values(this.tools));
|
||||
this.flipper.focusFirst();
|
||||
this.nodes.wrapper.classList.add(ConversionToolbar.CSS.conversionToolbarShowed);
|
||||
}
|
||||
|
@ -289,6 +289,8 @@ export default class ConversionToolbar extends Module {
|
|||
* Prepare Flipper to be able to leaf tools by arrows/tab
|
||||
*/
|
||||
private enableFlipper(): void {
|
||||
this.flipper = new Flipper(Object.values(this.tools), ConversionToolbar.CSS.conversionToolFocused);
|
||||
this.flipper = new Flipper({
|
||||
focusedItemClass: ConversionToolbar.CSS.conversionToolFocused,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -530,6 +530,9 @@ export default class InlineToolbar extends Module {
|
|||
* Buttons will be filled on opening
|
||||
*/
|
||||
private enableFlipper(): void {
|
||||
this.flipper = new Flipper([], this.CSS.focusedButton, false);
|
||||
this.flipper = new Flipper({
|
||||
focusedItemClass: this.CSS.focusedButton,
|
||||
allowArrows: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -320,7 +320,10 @@ export default class Toolbox extends Module {
|
|||
*/
|
||||
private enableFlipper(): void {
|
||||
const tools = Array.from(this.nodes.toolbox.childNodes) as HTMLElement[];
|
||||
this.flipper = new Flipper(tools, this.CSS.toolboxButtonActive);
|
||||
this.flipper = new Flipper({
|
||||
items: tools,
|
||||
focusedItemClass: this.CSS.toolboxButtonActive,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
|
||||
&--selected &__content {
|
||||
background: var(--selectionColor);
|
||||
box-shadow: 0 31px 23px -22px rgba(175, 220, 255, 1);
|
||||
animation: selectionBounce 0.2s 1;
|
||||
animation-fill-mode: forwards;
|
||||
|
||||
/**
|
||||
* Workaround Safari case when user can select inline-fragment with cross-block-selection
|
||||
|
@ -43,6 +40,7 @@
|
|||
position: relative;
|
||||
max-width: var(--content-width);
|
||||
margin: 0 auto;
|
||||
transition: background-color 150ms ease;
|
||||
}
|
||||
|
||||
&--drop-target &__content {
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
* Set color for native selection
|
||||
*/
|
||||
::selection{
|
||||
background-color: var(--selectionColor);
|
||||
background-color: var(--inlineSelectionColor);
|
||||
}
|
||||
|
||||
.codex-editor--toolbox-opened [contentEditable=true][data-placeholder]:focus::before {
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
/**
|
||||
* Selection color
|
||||
*/
|
||||
--selectionColor: #a8d6ff;
|
||||
--selectionColor: #e1f2ff;
|
||||
--inlineSelectionColor: #d4ecff;
|
||||
|
||||
/**
|
||||
* Toolbar buttons
|
||||
|
|
104
yarn.lock
104
yarn.lock
|
@ -1018,7 +1018,7 @@ async-each@^1.0.0:
|
|||
|
||||
async@^1.3.0:
|
||||
version "1.5.2"
|
||||
resolved "http://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||
resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||
|
||||
async@^2.4.1:
|
||||
version "2.6.1"
|
||||
|
@ -1155,7 +1155,7 @@ brorand@^1.0.1:
|
|||
|
||||
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
|
||||
version "1.2.0"
|
||||
resolved "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
|
||||
resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
|
||||
dependencies:
|
||||
buffer-xor "^1.0.3"
|
||||
cipher-base "^1.0.0"
|
||||
|
@ -1183,7 +1183,7 @@ browserify-des@^1.0.0:
|
|||
|
||||
browserify-rsa@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
|
||||
resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
|
||||
dependencies:
|
||||
bn.js "^4.1.0"
|
||||
randombytes "^2.0.1"
|
||||
|
@ -1232,7 +1232,7 @@ buffer-xor@^1.0.3:
|
|||
|
||||
buffer@^4.3.0:
|
||||
version "4.9.1"
|
||||
resolved "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
|
||||
resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
|
||||
dependencies:
|
||||
base64-js "^1.0.2"
|
||||
ieee754 "^1.1.4"
|
||||
|
@ -1326,7 +1326,7 @@ ccount@^1.0.0:
|
|||
|
||||
chalk@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||
resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||
dependencies:
|
||||
ansi-styles "^2.2.1"
|
||||
escape-string-regexp "^1.0.2"
|
||||
|
@ -1372,7 +1372,7 @@ chardet@^0.7.0:
|
|||
|
||||
cheerio@^0.19.0:
|
||||
version "0.19.0"
|
||||
resolved "http://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925"
|
||||
resolved "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz#772e7015f2ee29965096d71ea4175b75ab354925"
|
||||
dependencies:
|
||||
css-select "~1.0.0"
|
||||
dom-serializer "~0.1.0"
|
||||
|
@ -1607,7 +1607,7 @@ create-ecdh@^4.0.0:
|
|||
|
||||
create-hash@^1.1.0, create-hash@^1.1.2:
|
||||
version "1.2.0"
|
||||
resolved "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
|
||||
resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
|
||||
dependencies:
|
||||
cipher-base "^1.0.1"
|
||||
inherits "^2.0.1"
|
||||
|
@ -1617,7 +1617,7 @@ create-hash@^1.1.0, create-hash@^1.1.2:
|
|||
|
||||
create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
|
||||
version "1.1.7"
|
||||
resolved "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
|
||||
resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
|
||||
dependencies:
|
||||
cipher-base "^1.0.3"
|
||||
create-hash "^1.1.0"
|
||||
|
@ -1713,7 +1713,7 @@ css-select@^2.0.0:
|
|||
|
||||
css-select@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "http://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0"
|
||||
resolved "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz#b1121ca51848dd264e2244d058cee254deeb44b0"
|
||||
dependencies:
|
||||
boolbase "~1.0.0"
|
||||
css-what "1.0"
|
||||
|
@ -1744,7 +1744,7 @@ css-url-regex@^1.1.0:
|
|||
|
||||
css-what@1.0:
|
||||
version "1.0.0"
|
||||
resolved "http://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c"
|
||||
resolved "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz#d7cc2df45180666f99d2b14462639469e00f736c"
|
||||
|
||||
css-what@^2.1.2:
|
||||
version "2.1.3"
|
||||
|
@ -1941,7 +1941,7 @@ diff@^3.2.0:
|
|||
|
||||
diffie-hellman@^5.0.0:
|
||||
version "5.0.3"
|
||||
resolved "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
|
||||
resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
|
||||
dependencies:
|
||||
bn.js "^4.1.0"
|
||||
miller-rabin "^4.0.0"
|
||||
|
@ -1980,7 +1980,7 @@ domelementtype@^1.3.1:
|
|||
|
||||
domelementtype@~1.1.1:
|
||||
version "1.1.3"
|
||||
resolved "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
|
||||
resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
|
||||
|
||||
domhandler@2.3:
|
||||
version "2.3.0"
|
||||
|
@ -2073,7 +2073,7 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
|
|||
|
||||
entities@1.0:
|
||||
version "1.0.0"
|
||||
resolved "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
|
||||
resolved "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
|
||||
|
||||
entities@^1.1.1, entities@~1.1.1:
|
||||
version "1.1.2"
|
||||
|
@ -2122,7 +2122,7 @@ es-to-primitive@^1.1.1, es-to-primitive@^1.2.0:
|
|||
|
||||
es6-promise@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "http://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz#96edb9f2fdb01995822b263dd8aadab6748181bc"
|
||||
resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz#96edb9f2fdb01995822b263dd8aadab6748181bc"
|
||||
|
||||
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
|
||||
version "1.0.5"
|
||||
|
@ -2153,12 +2153,14 @@ eslint-scope@^4.0.2:
|
|||
estraverse "^4.1.1"
|
||||
|
||||
eslint-utils@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
|
||||
dependencies:
|
||||
eslint-visitor-keys "^1.0.0"
|
||||
|
||||
eslint-visitor-keys@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
|
||||
|
||||
eslint@^5.15.1:
|
||||
version "5.15.1"
|
||||
|
@ -2235,7 +2237,7 @@ esutils@^2.0.2:
|
|||
|
||||
events@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "http://registry.npmjs.org/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
|
||||
resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
|
||||
|
||||
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
|
||||
version "1.0.3"
|
||||
|
@ -2329,7 +2331,7 @@ extract-text-webpack-plugin@^3.0.2:
|
|||
|
||||
fast-deep-equal@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
|
||||
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
|
||||
|
||||
fast-deep-equal@^2.0.1:
|
||||
version "2.0.1"
|
||||
|
@ -2534,7 +2536,7 @@ get-stdin@^6.0.0:
|
|||
|
||||
get-stream@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||
resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||
|
||||
get-value@^2.0.3, get-value@^2.0.6:
|
||||
version "2.0.6"
|
||||
|
@ -2753,7 +2755,7 @@ htmlparser2@^3.10.0:
|
|||
|
||||
htmlparser2@~3.8.1:
|
||||
version "3.8.3"
|
||||
resolved "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
|
||||
resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
|
||||
dependencies:
|
||||
domelementtype "1"
|
||||
domhandler "2.3"
|
||||
|
@ -2955,7 +2957,7 @@ is-buffer@^2.0.0:
|
|||
|
||||
is-builtin-module@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
|
||||
resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
|
||||
dependencies:
|
||||
builtin-modules "^1.0.0"
|
||||
|
||||
|
@ -3062,7 +3064,7 @@ is-number@^3.0.0:
|
|||
|
||||
is-obj@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
|
||||
resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
|
||||
|
||||
is-plain-obj@^1.1.0:
|
||||
version "1.1.0"
|
||||
|
@ -3198,7 +3200,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
|
|||
|
||||
json5@^0.5.0:
|
||||
version "0.5.1"
|
||||
resolved "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
|
||||
resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
|
||||
|
||||
json5@^1.0.1:
|
||||
version "1.0.1"
|
||||
|
@ -3310,7 +3312,7 @@ locate-path@^3.0.0:
|
|||
p-locate "^3.0.0"
|
||||
path-exists "^3.0.0"
|
||||
|
||||
lodash._reinterpolate@~3.0.0:
|
||||
lodash._reinterpolate@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
|
||||
|
||||
|
@ -3323,17 +3325,17 @@ lodash.memoize@^4.1.2:
|
|||
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
||||
|
||||
lodash.template@^4.2.4:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
|
||||
dependencies:
|
||||
lodash._reinterpolate "~3.0.0"
|
||||
lodash._reinterpolate "^3.0.0"
|
||||
lodash.templatesettings "^4.0.0"
|
||||
|
||||
lodash.templatesettings@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
|
||||
dependencies:
|
||||
lodash._reinterpolate "~3.0.0"
|
||||
lodash._reinterpolate "^3.0.0"
|
||||
|
||||
lodash.uniq@^4.5.0:
|
||||
version "4.5.0"
|
||||
|
@ -3341,7 +3343,7 @@ lodash.uniq@^4.5.0:
|
|||
|
||||
lodash@^3.2.0:
|
||||
version "3.10.1"
|
||||
resolved "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||
resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
|
||||
|
||||
lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4:
|
||||
version "4.17.11"
|
||||
|
@ -3526,15 +3528,15 @@ minimist-options@^3.0.1:
|
|||
|
||||
minimist@0.0.8:
|
||||
version "0.0.8"
|
||||
resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||
resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||
|
||||
minimist@1.1.x:
|
||||
version "1.1.3"
|
||||
resolved "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"
|
||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"
|
||||
|
||||
minimist@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||
|
||||
minipass@^2.2.1, minipass@^2.3.4:
|
||||
version "2.3.5"
|
||||
|
@ -3565,15 +3567,15 @@ mississippi@^3.0.0:
|
|||
through2 "^2.0.0"
|
||||
|
||||
mixin-deep@^1.2.0:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
|
||||
dependencies:
|
||||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
|
@ -3885,7 +3887,7 @@ p-finally@^1.0.0:
|
|||
|
||||
p-is-promise@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
|
||||
resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
|
||||
|
||||
p-limit@^1.1.0:
|
||||
version "1.3.0"
|
||||
|
@ -3939,7 +3941,7 @@ parent-module@^1.0.0:
|
|||
|
||||
parse-asn1@^5.0.0:
|
||||
version "5.1.1"
|
||||
resolved "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8"
|
||||
resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8"
|
||||
dependencies:
|
||||
asn1.js "^4.0.0"
|
||||
browserify-aes "^1.0.0"
|
||||
|
@ -4025,7 +4027,7 @@ pbkdf2@^3.0.3:
|
|||
|
||||
pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
|
||||
pify@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
@ -4876,7 +4878,7 @@ read-pkg@^3.0.0:
|
|||
|
||||
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6:
|
||||
version "2.3.6"
|
||||
resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
|
||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.3"
|
||||
|
@ -4888,7 +4890,7 @@ read-pkg@^3.0.0:
|
|||
|
||||
readable-stream@1.1:
|
||||
version "1.1.13"
|
||||
resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
|
||||
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.1"
|
||||
|
@ -5156,7 +5158,7 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2,
|
|||
|
||||
safe-regex@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
|
||||
resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
|
||||
dependencies:
|
||||
ret "~0.1.10"
|
||||
|
||||
|
@ -5218,7 +5220,7 @@ setimmediate@^1.0.4:
|
|||
|
||||
sha.js@^2.4.0, sha.js@^2.4.8:
|
||||
version "2.4.11"
|
||||
resolved "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
|
||||
resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
|
||||
dependencies:
|
||||
inherits "^2.0.1"
|
||||
safe-buffer "^5.0.1"
|
||||
|
@ -5457,7 +5459,7 @@ stringify-entities@^1.0.1:
|
|||
|
||||
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
|
@ -5479,7 +5481,7 @@ strip-bom@^3.0.0:
|
|||
|
||||
strip-eof@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||
resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||
|
||||
strip-indent@^2.0.0:
|
||||
version "2.0.0"
|
||||
|
@ -5696,7 +5698,7 @@ through2@^2.0.0:
|
|||
|
||||
through@^2.3.6:
|
||||
version "2.3.8"
|
||||
resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||
resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||
|
||||
timers-browserify@^2.0.4:
|
||||
version "2.0.10"
|
||||
|
@ -5979,7 +5981,7 @@ util.promisify@^1.0.0, util.promisify@~1.0.0:
|
|||
|
||||
util@0.10.3:
|
||||
version "0.10.3"
|
||||
resolved "http://registry.npmjs.org/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
|
||||
resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
|
||||
dependencies:
|
||||
inherits "2.0.1"
|
||||
|
||||
|
@ -6117,7 +6119,7 @@ worker-farm@^1.5.2:
|
|||
|
||||
wrap-ansi@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
|
||||
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
|
||||
dependencies:
|
||||
string-width "^1.0.1"
|
||||
strip-ansi "^3.0.1"
|
||||
|
|
Loading…
Reference in a new issue