@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 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 itemCount = (0, _react.useMemo)(function () {
98
- var _model$fallbackItems$, _model$fallbackItems;
99
- return model.sections.reduce(function (count, _ref3) {
100
- var _ref4 = (0, _toArray2.default)(_ref3),
101
- items = _arrayLikeToArray(_ref4).slice(1);
102
- return count + items.length;
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
- var _model$fallbackItems2;
107
- return [].concat((0, _toConsumableArray2.default)(model.sections.flatMap(function (_ref5) {
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.fallbackItems, model.footer, model.sections]);
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
- var _model$fallbackItems;
62
- return [].concat((0, _toConsumableArray2.default)(model.sections.flat()), (0, _toConsumableArray2.default)((_model$fallbackItems = model.fallbackItems) !== null && _model$fallbackItems !== void 0 ? _model$fallbackItems : []));
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 itemCount = useMemo(() => {
66
- var _model$fallbackItems$, _model$fallbackItems;
67
- return model.sections.reduce((count, [, ...items]) => count + items.length, 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);
68
- }, [model.fallbackItems, model.footer, model.sections]);
69
- const selectableItemKeys = useMemo(() => {
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 itemCount = useMemo(function () {
89
- var _model$fallbackItems$, _model$fallbackItems;
90
- return model.sections.reduce(function (count, _ref3) {
91
- var _ref4 = _toArray(_ref3),
92
- items = _arrayLikeToArray(_ref4).slice(1);
93
- return count + items.length;
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
- var _model$fallbackItems2;
98
- return [].concat(_toConsumableArray(model.sections.flatMap(function (_ref5) {
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.fallbackItems, model.footer, model.sections]);
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
- var _model$fallbackItems;
53
- return [].concat(_toConsumableArray(model.sections.flat()), _toConsumableArray((_model$fallbackItems = model.fallbackItems) !== null && _model$fallbackItems !== void 0 ? _model$fallbackItems : []));
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 { QuickInsertMenuModel } from '@atlaskit/editor-common/quick-insert/registered-menu-model';
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.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": "^224.0.0",
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.0.0",
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"