@atlaskit/editor-plugin-insert-block 26.0.0 → 26.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenu.js +9 -20
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenuList.js +4 -4
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenu.js +6 -11
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenuList.js +2 -4
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenu.js +10 -21
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenuList.js +4 -4
- package/dist/types/ui/registered-insert-menu/RegisteredInsertMenuList.d.ts +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-insert-block
|
|
2
2
|
|
|
3
|
+
## 26.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`5351e01090c9c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5351e01090c9c) -
|
|
8
|
+
Show the five strongest matches first, then remaining matches in category order without category
|
|
9
|
+
titles, in slash-command and toolbar insert search. Share the row projection across rendering and
|
|
10
|
+
keyboard selection under the platform_editor_slash_command experiment.
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
3
13
|
## 26.0.0
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -10,7 +10,6 @@ exports.RegisteredInsertMenu = void 0;
|
|
|
10
10
|
require("./RegisteredInsertMenu.compiled.css");
|
|
11
11
|
var _runtime = require("@compiled/react/runtime");
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
|
14
13
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
15
|
var _reactIntl = require("react-intl");
|
|
@@ -25,7 +24,6 @@ var _compiled = require("@atlaskit/primitives/compiled");
|
|
|
25
24
|
var _textField = _interopRequireDefault(require("@atlaskit/textfield/text-field"));
|
|
26
25
|
var _RegisteredInsertMenuList = require("./RegisteredInsertMenuList");
|
|
27
26
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
29
27
|
var DEFAULT_MENU_MAX_HEIGHT = 520;
|
|
30
28
|
var styles = {
|
|
31
29
|
menu: "_2rko1mok _1reo15vq _18m915vq _bfhk1bhr _16qs130s _1e0c1txw _2lx21bp4 _1bsb1edt",
|
|
@@ -94,27 +92,18 @@ var RegisteredInsertMenu = exports.RegisteredInsertMenu = function RegisteredIns
|
|
|
94
92
|
surfaceContext: surfaceContext
|
|
95
93
|
});
|
|
96
94
|
}, [components, formatMessage, hasSectionOverflowItems, query, surfaceContext]);
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, 0) + ((_model$fallbackItems$ = (_model$fallbackItems = model.fallbackItems) === null || _model$fallbackItems === void 0 ? void 0 : _model$fallbackItems.length) !== null && _model$fallbackItems$ !== void 0 ? _model$fallbackItems$ : 0) + (model.footer ? 1 : 0);
|
|
104
|
-
}, [model.fallbackItems, model.footer, model.sections]);
|
|
95
|
+
var selectableItems = (0, _react.useMemo)(function () {
|
|
96
|
+
return (0, _registeredMenuModel.getQuickInsertMenuRows)(model).filter(function (row) {
|
|
97
|
+
return row.type === 'menu-item';
|
|
98
|
+
});
|
|
99
|
+
}, [model]);
|
|
100
|
+
var itemCount = selectableItems.length + (model.footer ? 1 : 0);
|
|
105
101
|
var selectableItemKeys = (0, _react.useMemo)(function () {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
var _ref6 = (0, _toArray2.default)(_ref5),
|
|
109
|
-
items = _arrayLikeToArray(_ref6).slice(1);
|
|
110
|
-
return items;
|
|
111
|
-
})), (0, _toConsumableArray2.default)((_model$fallbackItems2 = model.fallbackItems) !== null && _model$fallbackItems2 !== void 0 ? _model$fallbackItems2 : []), [model.footer]).filter(function (item) {
|
|
112
|
-
return Boolean(item);
|
|
113
|
-
}).map(function (_ref7) {
|
|
114
|
-
var key = _ref7.key;
|
|
102
|
+
return [].concat((0, _toConsumableArray2.default)(selectableItems), (0, _toConsumableArray2.default)(model.footer ? [model.footer] : [])).map(function (_ref3) {
|
|
103
|
+
var key = _ref3.key;
|
|
115
104
|
return key;
|
|
116
105
|
}).join(',');
|
|
117
|
-
}, [model.
|
|
106
|
+
}, [model.footer, selectableItems]);
|
|
118
107
|
(0, _react.useLayoutEffect)(function () {
|
|
119
108
|
setSelectedItemIndex(itemCount > 0 ? 0 : -1);
|
|
120
109
|
}, [itemCount, query, selectableItemKeys]);
|
|
@@ -10,11 +10,12 @@ exports.RegisteredInsertMenuList = void 0;
|
|
|
10
10
|
require("./RegisteredInsertMenuList.compiled.css");
|
|
11
11
|
var _runtime = require("@compiled/react/runtime");
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
13
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
16
|
var _CellMeasurer = require("react-virtualized/dist/commonjs/CellMeasurer");
|
|
17
17
|
var _List = require("react-virtualized/dist/commonjs/List");
|
|
18
|
+
var _registeredMenuModel = require("@atlaskit/editor-common/quick-insert/registered-menu-model");
|
|
18
19
|
var _useMenuListHeight2 = require("@atlaskit/editor-common/quick-insert/use-menu-list-height");
|
|
19
20
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
20
21
|
var _RegisteredInsertMenuItem = require("./RegisteredInsertMenuItem");
|
|
@@ -58,9 +59,8 @@ var RegisteredInsertMenuList = exports.RegisteredInsertMenuList = function Regis
|
|
|
58
59
|
listRef.current = list;
|
|
59
60
|
}, []);
|
|
60
61
|
var rows = (0, _react.useMemo)(function () {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}, [model.fallbackItems, model.sections]);
|
|
62
|
+
return (0, _registeredMenuModel.getQuickInsertMenuRows)(model);
|
|
63
|
+
}, [model]);
|
|
64
64
|
var cache = (0, _react.useMemo)(function () {
|
|
65
65
|
return new _CellMeasurer.CellMeasurerCache({
|
|
66
66
|
defaultHeight: ESTIMATED_ROW_HEIGHT,
|
|
@@ -6,7 +6,7 @@ import { useIntl } from 'react-intl';
|
|
|
6
6
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
7
7
|
import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
8
8
|
import { MENU } from '@atlaskit/editor-common/quick-insert/keys';
|
|
9
|
-
import { buildQuickInsertMenuModel, getMatchingQuickInsertComponents, selectQuickInsertCategoryItems } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
9
|
+
import { buildQuickInsertMenuModel, getMatchingQuickInsertComponents, getQuickInsertMenuRows, selectQuickInsertCategoryItems } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
10
10
|
import { isSectionOverflowItemKey } from '@atlaskit/editor-common/type-ahead-is-section-overflow-item-key';
|
|
11
11
|
import { TYPE_AHEAD_SURFACE_CONTEXT } from '@atlaskit/editor-common/type-ahead-surface-context';
|
|
12
12
|
import { createSurfaceContext } from '@atlaskit/editor-ui-control-model/create-surface-context';
|
|
@@ -62,16 +62,11 @@ export const RegisteredInsertMenu = ({
|
|
|
62
62
|
rootComponent: MENU,
|
|
63
63
|
surfaceContext
|
|
64
64
|
}), [components, formatMessage, hasSectionOverflowItems, query, surfaceContext]);
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var _model$fallbackItems2;
|
|
71
|
-
return [...model.sections.flatMap(([, ...items]) => items), ...((_model$fallbackItems2 = model.fallbackItems) !== null && _model$fallbackItems2 !== void 0 ? _model$fallbackItems2 : []), model.footer].filter(item => Boolean(item)).map(({
|
|
72
|
-
key
|
|
73
|
-
}) => key).join(',');
|
|
74
|
-
}, [model.fallbackItems, model.footer, model.sections]);
|
|
65
|
+
const selectableItems = useMemo(() => getQuickInsertMenuRows(model).filter(row => row.type === 'menu-item'), [model]);
|
|
66
|
+
const itemCount = selectableItems.length + (model.footer ? 1 : 0);
|
|
67
|
+
const selectableItemKeys = useMemo(() => [...selectableItems, ...(model.footer ? [model.footer] : [])].map(({
|
|
68
|
+
key
|
|
69
|
+
}) => key).join(','), [model.footer, selectableItems]);
|
|
75
70
|
useLayoutEffect(() => {
|
|
76
71
|
setSelectedItemIndex(itemCount > 0 ? 0 : -1);
|
|
77
72
|
}, [itemCount, query, selectableItemKeys]);
|
|
@@ -5,6 +5,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
5
5
|
import React, { useCallback, useLayoutEffect, useMemo, useRef } from 'react';
|
|
6
6
|
import { CellMeasurer, CellMeasurerCache } from 'react-virtualized/dist/commonjs/CellMeasurer';
|
|
7
7
|
import { List } from 'react-virtualized/dist/commonjs/List';
|
|
8
|
+
import { getQuickInsertMenuRows } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
8
9
|
import { useMenuListHeight } from '@atlaskit/editor-common/quick-insert/use-menu-list-height';
|
|
9
10
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
10
11
|
import { RegisteredInsertMenuItem } from './RegisteredInsertMenuItem';
|
|
@@ -44,10 +45,7 @@ export const RegisteredInsertMenuList = ({
|
|
|
44
45
|
const setListRef = useCallback(list => {
|
|
45
46
|
listRef.current = list;
|
|
46
47
|
}, []);
|
|
47
|
-
const rows = useMemo(() =>
|
|
48
|
-
var _model$fallbackItems;
|
|
49
|
-
return [...model.sections.flat(), ...((_model$fallbackItems = model.fallbackItems) !== null && _model$fallbackItems !== void 0 ? _model$fallbackItems : [])];
|
|
50
|
-
}, [model.fallbackItems, model.sections]);
|
|
48
|
+
const rows = useMemo(() => getQuickInsertMenuRows(model), [model]);
|
|
51
49
|
const cache = useMemo(() => new CellMeasurerCache({
|
|
52
50
|
defaultHeight: ESTIMATED_ROW_HEIGHT,
|
|
53
51
|
fixedWidth: true
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
/* RegisteredInsertMenu.tsx generated by @compiled/babel-plugin v3.0.2 */
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
-
import _toArray from "@babel/runtime/helpers/toArray";
|
|
4
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
4
|
import "./RegisteredInsertMenu.compiled.css";
|
|
6
5
|
import { ax, ix } from "@compiled/react/runtime";
|
|
7
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
8
6
|
import React, { useCallback, useId, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
9
7
|
import { useIntl } from 'react-intl';
|
|
10
8
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
11
9
|
import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
12
10
|
import { MENU } from '@atlaskit/editor-common/quick-insert/keys';
|
|
13
|
-
import { buildQuickInsertMenuModel, getMatchingQuickInsertComponents, selectQuickInsertCategoryItems } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
11
|
+
import { buildQuickInsertMenuModel, getMatchingQuickInsertComponents, getQuickInsertMenuRows, selectQuickInsertCategoryItems } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
14
12
|
import { isSectionOverflowItemKey } from '@atlaskit/editor-common/type-ahead-is-section-overflow-item-key';
|
|
15
13
|
import { TYPE_AHEAD_SURFACE_CONTEXT } from '@atlaskit/editor-common/type-ahead-surface-context';
|
|
16
14
|
import { createSurfaceContext } from '@atlaskit/editor-ui-control-model/create-surface-context';
|
|
@@ -85,27 +83,18 @@ export var RegisteredInsertMenu = function RegisteredInsertMenu(_ref) {
|
|
|
85
83
|
surfaceContext: surfaceContext
|
|
86
84
|
});
|
|
87
85
|
}, [components, formatMessage, hasSectionOverflowItems, query, surfaceContext]);
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}, 0) + ((_model$fallbackItems$ = (_model$fallbackItems = model.fallbackItems) === null || _model$fallbackItems === void 0 ? void 0 : _model$fallbackItems.length) !== null && _model$fallbackItems$ !== void 0 ? _model$fallbackItems$ : 0) + (model.footer ? 1 : 0);
|
|
95
|
-
}, [model.fallbackItems, model.footer, model.sections]);
|
|
86
|
+
var selectableItems = useMemo(function () {
|
|
87
|
+
return getQuickInsertMenuRows(model).filter(function (row) {
|
|
88
|
+
return row.type === 'menu-item';
|
|
89
|
+
});
|
|
90
|
+
}, [model]);
|
|
91
|
+
var itemCount = selectableItems.length + (model.footer ? 1 : 0);
|
|
96
92
|
var selectableItemKeys = useMemo(function () {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
var _ref6 = _toArray(_ref5),
|
|
100
|
-
items = _arrayLikeToArray(_ref6).slice(1);
|
|
101
|
-
return items;
|
|
102
|
-
})), _toConsumableArray((_model$fallbackItems2 = model.fallbackItems) !== null && _model$fallbackItems2 !== void 0 ? _model$fallbackItems2 : []), [model.footer]).filter(function (item) {
|
|
103
|
-
return Boolean(item);
|
|
104
|
-
}).map(function (_ref7) {
|
|
105
|
-
var key = _ref7.key;
|
|
93
|
+
return [].concat(_toConsumableArray(selectableItems), _toConsumableArray(model.footer ? [model.footer] : [])).map(function (_ref3) {
|
|
94
|
+
var key = _ref3.key;
|
|
106
95
|
return key;
|
|
107
96
|
}).join(',');
|
|
108
|
-
}, [model.
|
|
97
|
+
}, [model.footer, selectableItems]);
|
|
109
98
|
useLayoutEffect(function () {
|
|
110
99
|
setSelectedItemIndex(itemCount > 0 ? 0 : -1);
|
|
111
100
|
}, [itemCount, query, selectableItemKeys]);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* RegisteredInsertMenuList.tsx generated by @compiled/babel-plugin v3.0.2 */
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
3
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
4
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
5
|
import "./RegisteredInsertMenuList.compiled.css";
|
|
6
6
|
import { ax, ix } from "@compiled/react/runtime";
|
|
7
7
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
@@ -10,6 +10,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
10
10
|
import React, { useCallback, useLayoutEffect, useMemo, useRef } from 'react';
|
|
11
11
|
import { CellMeasurer, CellMeasurerCache } from 'react-virtualized/dist/commonjs/CellMeasurer';
|
|
12
12
|
import { List } from 'react-virtualized/dist/commonjs/List';
|
|
13
|
+
import { getQuickInsertMenuRows } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
13
14
|
import { useMenuListHeight } from '@atlaskit/editor-common/quick-insert/use-menu-list-height';
|
|
14
15
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
15
16
|
import { RegisteredInsertMenuItem } from './RegisteredInsertMenuItem';
|
|
@@ -49,9 +50,8 @@ export var RegisteredInsertMenuList = function RegisteredInsertMenuList(_ref) {
|
|
|
49
50
|
listRef.current = list;
|
|
50
51
|
}, []);
|
|
51
52
|
var rows = useMemo(function () {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}, [model.fallbackItems, model.sections]);
|
|
53
|
+
return getQuickInsertMenuRows(model);
|
|
54
|
+
}, [model]);
|
|
55
55
|
var cache = useMemo(function () {
|
|
56
56
|
return new CellMeasurerCache({
|
|
57
57
|
defaultHeight: ESTIMATED_ROW_HEIGHT,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type QuickInsertMenuModel } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
|
|
3
3
|
import type { EmptyStateHandler } from '@atlaskit/editor-common/types';
|
|
4
4
|
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
5
5
|
import type { SurfaceContext } from '@atlaskit/editor-ui-control-model/types';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-insert-block",
|
|
3
|
-
"version": "26.0.
|
|
3
|
+
"version": "26.0.1",
|
|
4
4
|
"description": "Insert block plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"@atlaskit/platform-feature-flags": "^2.2.0",
|
|
63
63
|
"@atlaskit/primitives": "^22.5.0",
|
|
64
64
|
"@atlaskit/textfield": "^10.2.0",
|
|
65
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
65
|
+
"@atlaskit/tmp-editor-statsig": "^225.0.0",
|
|
66
66
|
"@atlaskit/tokens": "^20.3.0",
|
|
67
67
|
"@babel/runtime": "^7.0.0",
|
|
68
68
|
"@emotion/react": "^11.7.1",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"react-virtualized": "^9.22.6"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"@atlaskit/editor-common": "^129.
|
|
75
|
+
"@atlaskit/editor-common": "^129.1.0",
|
|
76
76
|
"react": "^18.2.0 || ^19.2.0",
|
|
77
77
|
"react-dom": "^18.2.0 || ^19.2.0",
|
|
78
78
|
"react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
|