@atlaskit/editor-plugin-insert-block 30.0.5 → 31.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 +15 -0
- package/dist/cjs/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -2
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertButton.js +2 -2
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenu.compiled.css +1 -0
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenu.js +113 -238
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenuContent.js +1 -4
- package/dist/es2019/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -1
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertButton.js +1 -1
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenu.compiled.css +1 -0
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenu.js +97 -204
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenuContent.js +1 -4
- package/dist/esm/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -1
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertButton.js +1 -1
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenu.compiled.css +1 -0
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenu.js +115 -240
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenuContent.js +1 -4
- package/dist/types/ui/registered-insert-menu/RegisteredInsertMenu.d.ts +5 -7
- package/package.json +32 -32
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenuItem.js +0 -64
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenuList.compiled.css +0 -11
- package/dist/cjs/ui/registered-insert-menu/RegisteredInsertMenuList.js +0 -324
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenuItem.js +0 -54
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenuList.compiled.css +0 -11
- package/dist/es2019/ui/registered-insert-menu/RegisteredInsertMenuList.js +0 -273
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenuItem.js +0 -56
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenuList.compiled.css +0 -11
- package/dist/esm/ui/registered-insert-menu/RegisteredInsertMenuList.js +0 -317
- package/dist/types/ui/registered-insert-menu/RegisteredInsertMenuItem.d.ts +0 -16
- package/dist/types/ui/registered-insert-menu/RegisteredInsertMenuList.d.ts +0 -31
|
@@ -1,284 +1,159 @@
|
|
|
1
1
|
/* RegisteredInsertMenu.tsx generated by @compiled/babel-plugin v3.0.2 */
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
3
|
import "./RegisteredInsertMenu.compiled.css";
|
|
5
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
6
|
-
import React, { useCallback,
|
|
5
|
+
import React, { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
7
6
|
import { useIntl } from 'react-intl';
|
|
8
|
-
import {
|
|
9
|
-
import { toolbarInsertBlockMessages
|
|
7
|
+
import { insertSelectedItem } from '@atlaskit/editor-common/insert';
|
|
8
|
+
import { toolbarInsertBlockMessages } from '@atlaskit/editor-common/messages/insert-block';
|
|
10
9
|
import { MENU } from '@atlaskit/editor-common/quick-insert/keys';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { TYPE_AHEAD_SURFACE_CONTEXT } from '@atlaskit/editor-common/type-ahead-surface-context';
|
|
15
|
-
import { createSurfaceContext } from '@atlaskit/editor-ui-control-model/create-surface-context';
|
|
10
|
+
import { RegisteredMenuContext } from '@atlaskit/editor-common/registered-menu/context';
|
|
11
|
+
import { createRegisteredMenuSurfaceContext } from '@atlaskit/editor-common/registered-menu/surface-context';
|
|
12
|
+
import { typeAheadListMessages } from '@atlaskit/editor-common/type-ahead/messages';
|
|
16
13
|
import { Box } from '@atlaskit/primitives/compiled/box';
|
|
17
14
|
import Textfield from '@atlaskit/textfield/text-field';
|
|
18
|
-
import { RegisteredInsertMenuList } from './RegisteredInsertMenuList';
|
|
19
15
|
var DEFAULT_MENU_MAX_HEIGHT = 520;
|
|
16
|
+
var SEARCH_HEIGHT = 64;
|
|
20
17
|
var styles = {
|
|
21
18
|
menu: "_2rko1mok _1reo15vq _18m915vq _bfhk1bhr _16qs130s _1e0c1txw _2lx21bp4 _1bsb1edt",
|
|
19
|
+
hidden: "_1e0cglyw",
|
|
22
20
|
search: "_18zrutpp _1o9zidpf _1q51utpp _85i5u2gc"
|
|
23
21
|
};
|
|
24
|
-
export var RegisteredInsertMenu = function RegisteredInsertMenu(
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
isOffline = _ref.isOffline,
|
|
31
|
-
_ref$maxHeight = _ref.maxHeight,
|
|
32
|
-
maxHeight = _ref$maxHeight === void 0 ? DEFAULT_MENU_MAX_HEIGHT : _ref$maxHeight,
|
|
33
|
-
onClose = _ref.onClose,
|
|
34
|
-
onSelect = _ref.onSelect;
|
|
35
|
-
var menuStyle = {
|
|
36
|
-
maxHeight: maxHeight
|
|
37
|
-
};
|
|
22
|
+
export var RegisteredInsertMenu = function RegisteredInsertMenu(props) {
|
|
23
|
+
var _props$maxHeight, _interaction$expanded;
|
|
24
|
+
var components = props.components,
|
|
25
|
+
editorView = props.editorView,
|
|
26
|
+
isOffline = props.isOffline,
|
|
27
|
+
onSelect = props.onSelect;
|
|
38
28
|
var _useIntl = useIntl(),
|
|
39
29
|
formatMessage = _useIntl.formatMessage;
|
|
40
|
-
var
|
|
41
|
-
|
|
30
|
+
var _useState = useState(),
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
interaction = _useState2[0],
|
|
33
|
+
setInteraction = _useState2[1];
|
|
34
|
+
var registerInteraction = useCallback(function (next) {
|
|
35
|
+
setInteraction(next);
|
|
36
|
+
return function () {
|
|
37
|
+
return setInteraction(function (current) {
|
|
38
|
+
return current === next ? undefined : current;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
var searchRef = useRef(null);
|
|
43
|
+
var hasInteraction = Boolean(interaction);
|
|
44
|
+
useLayoutEffect(function () {
|
|
45
|
+
if (hasInteraction) {
|
|
46
|
+
var _searchRef$current;
|
|
47
|
+
(_searchRef$current = searchRef.current) === null || _searchRef$current === void 0 || _searchRef$current.focus({
|
|
48
|
+
preventScroll: true
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}, [hasInteraction]);
|
|
52
|
+
var maxHeight = (_props$maxHeight = props.maxHeight) !== null && _props$maxHeight !== void 0 ? _props$maxHeight : DEFAULT_MENU_MAX_HEIGHT;
|
|
53
|
+
var menuStyle = useMemo(function () {
|
|
54
|
+
return {
|
|
55
|
+
maxHeight: maxHeight
|
|
56
|
+
};
|
|
57
|
+
}, [maxHeight]);
|
|
58
|
+
var _useState3 = useState(function () {
|
|
42
59
|
return Symbol('registered-insert-menu-open');
|
|
43
60
|
}),
|
|
44
|
-
|
|
45
|
-
menuOpenId =
|
|
46
|
-
var
|
|
47
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
48
|
-
query = _useState4[0],
|
|
49
|
-
setQuery = _useState4[1];
|
|
50
|
-
var _useState5 = useState(0),
|
|
61
|
+
_useState4 = _slicedToArray(_useState3, 1),
|
|
62
|
+
menuOpenId = _useState4[0];
|
|
63
|
+
var _useState5 = useState(''),
|
|
51
64
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
var selectedItemIndexRef = useRef(selectedItemIndex);
|
|
55
|
-
var _useState7 = useState({
|
|
56
|
-
startIndex: -1,
|
|
57
|
-
stopIndex: -1
|
|
58
|
-
}),
|
|
59
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
60
|
-
renderedItems = _useState8[0],
|
|
61
|
-
setRenderedItems = _useState8[1];
|
|
62
|
-
var searchRef = useRef(null);
|
|
63
|
-
useLayoutEffect(function () {
|
|
64
|
-
var _searchRef$current;
|
|
65
|
-
// Popup positions on the next frame; focusing must not scroll to its initial location.
|
|
66
|
-
(_searchRef$current = searchRef.current) === null || _searchRef$current === void 0 || _searchRef$current.focus({
|
|
67
|
-
preventScroll: true
|
|
68
|
-
});
|
|
69
|
-
}, []);
|
|
65
|
+
query = _useState6[0],
|
|
66
|
+
setQuery = _useState6[1];
|
|
70
67
|
var surfaceContext = useMemo(function () {
|
|
71
|
-
return
|
|
72
|
-
menuOpenId: menuOpenId
|
|
68
|
+
return createRegisteredMenuSurfaceContext({
|
|
69
|
+
menuOpenId: menuOpenId,
|
|
70
|
+
surface: 'toolbar'
|
|
73
71
|
});
|
|
74
72
|
}, [menuOpenId]);
|
|
75
|
-
var
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
var Root = useMemo(function () {
|
|
74
|
+
var _components$find;
|
|
75
|
+
return (_components$find = components.find(function (_ref) {
|
|
76
|
+
var key = _ref.key,
|
|
77
|
+
type = _ref.type,
|
|
78
|
+
parents = _ref.parents;
|
|
79
|
+
return key === MENU.key && type === MENU.type && !(parents !== null && parents !== void 0 && parents.length);
|
|
80
|
+
})) === null || _components$find === void 0 ? void 0 : _components$find.component;
|
|
80
81
|
}, [components]);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
query: query,
|
|
87
|
-
rootComponent: MENU,
|
|
88
|
-
selectCategoryItems: hasSectionOverflowItems ? selectQuickInsertCategoryItems : undefined,
|
|
89
|
-
surfaceContext: surfaceContext
|
|
90
|
-
});
|
|
91
|
-
}, [components, formatMessage, getItemRank, hasSectionOverflowItems, query, surfaceContext]);
|
|
92
|
-
var _useState9 = useState(),
|
|
93
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
94
|
-
previewActivation = _useState0[0],
|
|
95
|
-
setPreviewActivation = _useState0[1];
|
|
96
|
-
var activePreviewItemKey = (previewActivation === null || previewActivation === void 0 ? void 0 : previewActivation.model) === model ? previewActivation.itemKey : undefined;
|
|
97
|
-
var searchResultCount = useMemo(function () {
|
|
98
|
-
return model.sections.reduce(function (count, section) {
|
|
99
|
-
return count + section.filter(function (_ref3) {
|
|
100
|
-
var key = _ref3.key,
|
|
101
|
-
type = _ref3.type;
|
|
102
|
-
return type === 'menu-item' && !isSectionOverflowItemKey(key);
|
|
103
|
-
}).length;
|
|
104
|
-
}, 0);
|
|
105
|
-
}, [model.sections]);
|
|
106
|
-
var flushSearchAnalytics = useQuickInsertSearchAnalytics({
|
|
107
|
-
fireAnalyticsEvent: fireAnalyticsEvent,
|
|
108
|
-
query: query,
|
|
109
|
-
resultCount: searchResultCount,
|
|
110
|
-
surface: 'toolbar'
|
|
111
|
-
});
|
|
112
|
-
var closeWithAnalytics = useCallback(function () {
|
|
113
|
-
flushSearchAnalytics();
|
|
114
|
-
onClose();
|
|
115
|
-
}, [flushSearchAnalytics, onClose]);
|
|
116
|
-
var selectWithAnalytics = useCallback(function () {
|
|
117
|
-
flushSearchAnalytics();
|
|
82
|
+
// Interaction updates should not recreate the registered component's own props.
|
|
83
|
+
var menu = useMemo(function () {
|
|
84
|
+
return Root && /*#__PURE__*/React.createElement(Root, null, null);
|
|
85
|
+
}, [Root]);
|
|
86
|
+
var select = useCallback(function (selection) {
|
|
118
87
|
onSelect();
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
var key = _ref4.key;
|
|
129
|
-
return key;
|
|
130
|
-
}).join(',');
|
|
131
|
-
}, [model.footer, selectableItems]);
|
|
132
|
-
useLayoutEffect(function () {
|
|
133
|
-
var initialItemIndex = itemCount > 0 ? 0 : -1;
|
|
134
|
-
selectedItemIndexRef.current = initialItemIndex;
|
|
135
|
-
setSelectedItemIndex(initialItemIndex);
|
|
136
|
-
}, [itemCount, query, selectableItemKeys]);
|
|
137
|
-
useLayoutEffect(function () {
|
|
138
|
-
setPreviewActivation(undefined);
|
|
139
|
-
}, [model, query]);
|
|
140
|
-
var isActiveItemMounted = selectedItemIndex >= 0 && selectedItemIndex < itemCount && (selectedItemIndex >= renderedItems.startIndex && selectedItemIndex <= renderedItems.stopIndex || Boolean(model.footer) && selectedItemIndex === itemCount - 1);
|
|
141
|
-
var activeItemId = "".concat(listId, "-").concat(selectedItemIndex);
|
|
142
|
-
var setKeyboardPreview = useCallback(function (itemIndex) {
|
|
143
|
-
var item = selectableItems[itemIndex];
|
|
144
|
-
setPreviewActivation(item ? {
|
|
145
|
-
itemKey: item.key,
|
|
146
|
-
model: model,
|
|
147
|
-
source: 'keyboard'
|
|
148
|
-
} : undefined);
|
|
149
|
-
}, [model, selectableItems]);
|
|
150
|
-
var selectNextItem = useCallback(function () {
|
|
151
|
-
var currentIndex = selectedItemIndexRef.current;
|
|
152
|
-
var nextIndex = itemCount === 0 ? -1 : currentIndex < 0 ? 0 : (currentIndex + 1) % itemCount;
|
|
153
|
-
selectedItemIndexRef.current = nextIndex;
|
|
154
|
-
setSelectedItemIndex(nextIndex);
|
|
155
|
-
setKeyboardPreview(nextIndex);
|
|
156
|
-
}, [itemCount, setKeyboardPreview]);
|
|
157
|
-
var selectPreviousItem = useCallback(function () {
|
|
158
|
-
var currentIndex = selectedItemIndexRef.current;
|
|
159
|
-
var previousIndex = itemCount === 0 ? -1 : currentIndex <= 0 ? itemCount - 1 : currentIndex - 1;
|
|
160
|
-
selectedItemIndexRef.current = previousIndex;
|
|
161
|
-
setSelectedItemIndex(previousIndex);
|
|
162
|
-
setKeyboardPreview(previousIndex);
|
|
163
|
-
}, [itemCount, setKeyboardPreview]);
|
|
164
|
-
var onItemHover = useCallback(function (itemIndex, itemKey) {
|
|
165
|
-
selectedItemIndexRef.current = itemIndex;
|
|
166
|
-
setSelectedItemIndex(itemIndex);
|
|
167
|
-
setPreviewActivation(function (current) {
|
|
168
|
-
if ((current === null || current === void 0 ? void 0 : current.itemKey) === itemKey && (current === null || current === void 0 ? void 0 : current.model) === model && (current === null || current === void 0 ? void 0 : current.source) === 'pointer') {
|
|
169
|
-
return current;
|
|
170
|
-
}
|
|
171
|
-
return itemKey ? {
|
|
172
|
-
itemKey: itemKey,
|
|
173
|
-
model: model,
|
|
174
|
-
source: 'pointer'
|
|
175
|
-
} : undefined;
|
|
176
|
-
});
|
|
177
|
-
}, [model]);
|
|
178
|
-
var onItemFocus = useCallback(function (itemIndex, itemKey) {
|
|
179
|
-
selectedItemIndexRef.current = itemIndex;
|
|
180
|
-
setSelectedItemIndex(itemIndex);
|
|
181
|
-
setPreviewActivation(function (current) {
|
|
182
|
-
if ((current === null || current === void 0 ? void 0 : current.itemKey) === itemKey && (current === null || current === void 0 ? void 0 : current.model) === model) {
|
|
183
|
-
return current;
|
|
88
|
+
queueMicrotask(function () {
|
|
89
|
+
var state = editorView.state;
|
|
90
|
+
var insert = function insert(content) {
|
|
91
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
92
|
+
return insertSelectedItem(content, options)(state, state.tr, state.selection.head);
|
|
93
|
+
};
|
|
94
|
+
var transaction = selection(insert);
|
|
95
|
+
if (transaction) {
|
|
96
|
+
editorView.dispatch(transaction);
|
|
184
97
|
}
|
|
185
|
-
return itemKey ? {
|
|
186
|
-
itemKey: itemKey,
|
|
187
|
-
model: model,
|
|
188
|
-
source: 'keyboard'
|
|
189
|
-
} : undefined;
|
|
190
98
|
});
|
|
191
|
-
}, [
|
|
192
|
-
var
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
}, []);
|
|
209
|
-
var selectActiveItem = useCallback(function () {
|
|
210
|
-
if (isActiveItemMounted) {
|
|
211
|
-
var _getDocument;
|
|
212
|
-
(_getDocument = getDocument()) === null || _getDocument === void 0 || (_getDocument = _getDocument.getElementById(activeItemId)) === null || _getDocument === void 0 || _getDocument.click();
|
|
213
|
-
}
|
|
214
|
-
}, [activeItemId, isActiveItemMounted]);
|
|
99
|
+
}, [editorView, onSelect]);
|
|
100
|
+
var registeredMenu = useMemo(function () {
|
|
101
|
+
return {
|
|
102
|
+
components: components,
|
|
103
|
+
onClose: props.onClose,
|
|
104
|
+
maxHeight: Math.max(0, maxHeight - SEARCH_HEIGHT),
|
|
105
|
+
registerInteraction: registerInteraction,
|
|
106
|
+
editorView: editorView,
|
|
107
|
+
isOffline: isOffline,
|
|
108
|
+
menuOpenId: menuOpenId,
|
|
109
|
+
rootComponent: MENU,
|
|
110
|
+
query: query,
|
|
111
|
+
select: select,
|
|
112
|
+
surfaceContext: surfaceContext
|
|
113
|
+
};
|
|
114
|
+
}, [components, props.onClose, maxHeight, registerInteraction, editorView, isOffline, menuOpenId, query, select, surfaceContext]);
|
|
215
115
|
var onQueryChange = useCallback(function (event) {
|
|
216
|
-
setQuery(event.currentTarget.value);
|
|
116
|
+
return setQuery(event.currentTarget.value);
|
|
217
117
|
}, []);
|
|
218
118
|
var onKeyDown = useCallback(function (event) {
|
|
219
119
|
if (event.key === 'Escape') {
|
|
120
|
+
var _interaction$onClose;
|
|
220
121
|
event.preventDefault();
|
|
221
|
-
|
|
122
|
+
interaction === null || interaction === void 0 || (_interaction$onClose = interaction.onClose) === null || _interaction$onClose === void 0 || _interaction$onClose.call(interaction);
|
|
123
|
+
props.onClose();
|
|
222
124
|
return;
|
|
223
125
|
}
|
|
224
|
-
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
// to retain their native keyboard behaviour.
|
|
228
|
-
if (event.target !== searchRef.current) {
|
|
126
|
+
// Some IME key events report 229 without setting isComposing. Let the input finish
|
|
127
|
+
// composing text before handling menu navigation or selection.
|
|
128
|
+
if (event.target !== searchRef.current || event.nativeEvent.isComposing || event.keyCode === 229) {
|
|
229
129
|
return;
|
|
230
130
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
event.preventDefault();
|
|
234
|
-
selectNextItem();
|
|
235
|
-
break;
|
|
236
|
-
case 'ArrowUp':
|
|
237
|
-
event.preventDefault();
|
|
238
|
-
selectPreviousItem();
|
|
239
|
-
break;
|
|
240
|
-
case 'Enter':
|
|
241
|
-
event.preventDefault();
|
|
242
|
-
selectActiveItem();
|
|
243
|
-
break;
|
|
131
|
+
if (interaction !== null && interaction !== void 0 && interaction.onKeyDown(event.nativeEvent)) {
|
|
132
|
+
event.preventDefault();
|
|
244
133
|
}
|
|
245
|
-
}, [
|
|
246
|
-
return /*#__PURE__*/React.createElement(
|
|
247
|
-
|
|
248
|
-
|
|
134
|
+
}, [interaction, props.onClose]);
|
|
135
|
+
return /*#__PURE__*/React.createElement(RegisteredMenuContext.Provider, {
|
|
136
|
+
value: registeredMenu
|
|
137
|
+
}, Root && /*#__PURE__*/React.createElement("div", {
|
|
138
|
+
"data-registered-insert-menu-root": "",
|
|
249
139
|
onKeyDownCapture: onKeyDown,
|
|
250
|
-
|
|
251
|
-
|
|
140
|
+
"data-keyboard-navigation-independent": "",
|
|
141
|
+
"data-testid": "registered-insert-menu",
|
|
142
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- The popup supplies the available height at runtime.
|
|
143
|
+
style: menuStyle,
|
|
144
|
+
className: ax([styles.menu, !interaction && styles.hidden])
|
|
252
145
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
253
146
|
xcss: styles.search
|
|
254
147
|
}, /*#__PURE__*/React.createElement(Textfield, {
|
|
255
|
-
"aria-
|
|
256
|
-
"aria-
|
|
257
|
-
"aria-
|
|
258
|
-
|
|
148
|
+
"aria-label": (interaction === null || interaction === void 0 ? void 0 : interaction.label) || formatMessage(toolbarInsertBlockMessages.insertMenu),
|
|
149
|
+
"aria-activedescendant": interaction === null || interaction === void 0 ? void 0 : interaction.activeDescendantId,
|
|
150
|
+
"aria-controls": interaction === null || interaction === void 0 ? void 0 : interaction.listId,
|
|
151
|
+
"aria-expanded": (_interaction$expanded = interaction === null || interaction === void 0 ? void 0 : interaction.expanded) !== null && _interaction$expanded !== void 0 ? _interaction$expanded : false,
|
|
152
|
+
"aria-autocomplete": "list",
|
|
153
|
+
placeholder: formatMessage(typeAheadListMessages.quickInsertInputPlaceholderLabel),
|
|
259
154
|
ref: searchRef,
|
|
260
155
|
role: "combobox",
|
|
261
156
|
value: query,
|
|
262
157
|
onChange: onQueryChange
|
|
263
|
-
})),
|
|
264
|
-
editorView: editorView,
|
|
265
|
-
emptyStateHandler: emptyStateHandler,
|
|
266
|
-
isOffline: isOffline,
|
|
267
|
-
listId: listId,
|
|
268
|
-
listLabel: formatMessage(messages.insertMenu),
|
|
269
|
-
maxHeight: maxHeight,
|
|
270
|
-
menuOpenId: menuOpenId,
|
|
271
|
-
model: model,
|
|
272
|
-
onClose: selectWithAnalytics,
|
|
273
|
-
onItemFocus: onItemFocus,
|
|
274
|
-
onItemHover: onItemHover,
|
|
275
|
-
onItemBlur: onItemBlur,
|
|
276
|
-
onItemLeave: onItemLeave,
|
|
277
|
-
onItemVisibilityChange: onItemVisibilityChange,
|
|
278
|
-
onRenderedItemsChange: setRenderedItems,
|
|
279
|
-
query: query,
|
|
280
|
-
selectedItemIndex: selectedItemIndex,
|
|
281
|
-
surfaceContext: surfaceContext,
|
|
282
|
-
activePreviewItemKey: activePreviewItemKey
|
|
283
|
-
}));
|
|
158
|
+
})), menu));
|
|
284
159
|
};
|
|
@@ -16,7 +16,7 @@ var RegisteredInsertMenuContainer = function RegisteredInsertMenuContainer(_ref)
|
|
|
16
16
|
};
|
|
17
17
|
var RegisteredInsertMenuWithListeners = withOuterListeners(RegisteredInsertMenuContainer);
|
|
18
18
|
export var RegisteredInsertMenuContent = function RegisteredInsertMenuContent(_ref2) {
|
|
19
|
-
var _api$uiControlRegistr2, _api$uiControlRegistr3
|
|
19
|
+
var _api$uiControlRegistr2, _api$uiControlRegistr3;
|
|
20
20
|
var api = _ref2.api,
|
|
21
21
|
editorView = _ref2.editorView,
|
|
22
22
|
isOffline = _ref2.isOffline,
|
|
@@ -42,9 +42,6 @@ export var RegisteredInsertMenuContent = function RegisteredInsertMenuContent(_r
|
|
|
42
42
|
}, /*#__PURE__*/React.createElement(RegisteredInsertMenu, {
|
|
43
43
|
components: components,
|
|
44
44
|
editorView: editorView,
|
|
45
|
-
emptyStateHandler: api === null || api === void 0 || (_api$quickInsert = api.quickInsert) === null || _api$quickInsert === void 0 || (_api$quickInsert = _api$quickInsert.sharedState.currentState()) === null || _api$quickInsert === void 0 ? void 0 : _api$quickInsert.emptyStateHandler,
|
|
46
|
-
fireAnalyticsEvent: api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions.fireAnalyticsEvent,
|
|
47
|
-
getItemRank: api === null || api === void 0 || (_api$quickInsert2 = api.quickInsert) === null || _api$quickInsert2 === void 0 || (_api$quickInsert2 = _api$quickInsert2.sharedState.currentState()) === null || _api$quickInsert2 === void 0 ? void 0 : _api$quickInsert2.getItemRank,
|
|
48
45
|
isOffline: isOffline,
|
|
49
46
|
maxHeight: maxHeight,
|
|
50
47
|
onClose: onClose,
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsxRuntime classic
|
|
3
|
+
* @jsx jsx
|
|
4
|
+
*/
|
|
1
5
|
import React from 'react';
|
|
2
|
-
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics/api';
|
|
3
|
-
import type { RegisteredItemRankResolver } from '@atlaskit/editor-common/type-ahead/item-rank';
|
|
4
|
-
import type { EmptyStateHandler } from '@atlaskit/editor-common/types/empty-state-handler';
|
|
5
6
|
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
6
7
|
import type { RegisterComponent } from '@atlaskit/editor-ui-control-model/types';
|
|
7
8
|
type Props = {
|
|
8
9
|
components: RegisterComponent[];
|
|
9
10
|
editorView: EditorView;
|
|
10
|
-
emptyStateHandler?: EmptyStateHandler;
|
|
11
|
-
fireAnalyticsEvent?: EditorAnalyticsAPI['fireAnalyticsEvent'];
|
|
12
|
-
getItemRank?: RegisteredItemRankResolver;
|
|
13
11
|
isOffline: boolean;
|
|
14
12
|
maxHeight?: number;
|
|
15
13
|
onClose: () => void;
|
|
16
14
|
onSelect: () => void;
|
|
17
15
|
};
|
|
18
|
-
export declare const RegisteredInsertMenu: (
|
|
16
|
+
export declare const RegisteredInsertMenu: (props: Props) => React.JSX.Element;
|
|
19
17
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-insert-block",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "31.0.1",
|
|
4
4
|
"description": "Insert block plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,38 +23,38 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@atlaskit/browser-apis": "^1.2.0",
|
|
25
25
|
"@atlaskit/css": "^1.1.0",
|
|
26
|
-
"@atlaskit/editor-plugin-analytics": "^
|
|
27
|
-
"@atlaskit/editor-plugin-block-type": "^
|
|
28
|
-
"@atlaskit/editor-plugin-code-block": "^
|
|
29
|
-
"@atlaskit/editor-plugin-connectivity": "^
|
|
30
|
-
"@atlaskit/editor-plugin-date": "^
|
|
31
|
-
"@atlaskit/editor-plugin-emoji": "^
|
|
32
|
-
"@atlaskit/editor-plugin-expand": "^
|
|
33
|
-
"@atlaskit/editor-plugin-extension": "^
|
|
34
|
-
"@atlaskit/editor-plugin-feature-flags": "^
|
|
35
|
-
"@atlaskit/editor-plugin-hyperlink": "^
|
|
36
|
-
"@atlaskit/editor-plugin-image-upload": "^
|
|
37
|
-
"@atlaskit/editor-plugin-layout": "^
|
|
38
|
-
"@atlaskit/editor-plugin-media": "^
|
|
39
|
-
"@atlaskit/editor-plugin-media-insert": "^
|
|
40
|
-
"@atlaskit/editor-plugin-mentions": "^
|
|
41
|
-
"@atlaskit/editor-plugin-metrics": "^
|
|
42
|
-
"@atlaskit/editor-plugin-panel": "^
|
|
43
|
-
"@atlaskit/editor-plugin-placeholder-text": "^
|
|
44
|
-
"@atlaskit/editor-plugin-primary-toolbar": "^
|
|
45
|
-
"@atlaskit/editor-plugin-quick-insert": "^
|
|
46
|
-
"@atlaskit/editor-plugin-rule": "^
|
|
47
|
-
"@atlaskit/editor-plugin-status": "^
|
|
48
|
-
"@atlaskit/editor-plugin-table": "^
|
|
49
|
-
"@atlaskit/editor-plugin-tasks-and-decisions": "^
|
|
50
|
-
"@atlaskit/editor-plugin-toolbar": "^
|
|
51
|
-
"@atlaskit/editor-plugin-type-ahead": "^
|
|
52
|
-
"@atlaskit/editor-plugin-ui-control-registry": "^
|
|
26
|
+
"@atlaskit/editor-plugin-analytics": "^30.0.0",
|
|
27
|
+
"@atlaskit/editor-plugin-block-type": "^34.0.0",
|
|
28
|
+
"@atlaskit/editor-plugin-code-block": "^32.0.0",
|
|
29
|
+
"@atlaskit/editor-plugin-connectivity": "^30.0.0",
|
|
30
|
+
"@atlaskit/editor-plugin-date": "^32.0.0",
|
|
31
|
+
"@atlaskit/editor-plugin-emoji": "^31.0.0",
|
|
32
|
+
"@atlaskit/editor-plugin-expand": "^31.0.0",
|
|
33
|
+
"@atlaskit/editor-plugin-extension": "^33.0.0",
|
|
34
|
+
"@atlaskit/editor-plugin-feature-flags": "^29.0.0",
|
|
35
|
+
"@atlaskit/editor-plugin-hyperlink": "^32.0.0",
|
|
36
|
+
"@atlaskit/editor-plugin-image-upload": "^30.0.0",
|
|
37
|
+
"@atlaskit/editor-plugin-layout": "^31.0.0",
|
|
38
|
+
"@atlaskit/editor-plugin-media": "^32.0.0",
|
|
39
|
+
"@atlaskit/editor-plugin-media-insert": "^48.0.0",
|
|
40
|
+
"@atlaskit/editor-plugin-mentions": "^32.0.0",
|
|
41
|
+
"@atlaskit/editor-plugin-metrics": "^31.0.0",
|
|
42
|
+
"@atlaskit/editor-plugin-panel": "^32.0.0",
|
|
43
|
+
"@atlaskit/editor-plugin-placeholder-text": "^31.0.0",
|
|
44
|
+
"@atlaskit/editor-plugin-primary-toolbar": "^31.0.0",
|
|
45
|
+
"@atlaskit/editor-plugin-quick-insert": "^30.0.0",
|
|
46
|
+
"@atlaskit/editor-plugin-rule": "^30.0.0",
|
|
47
|
+
"@atlaskit/editor-plugin-status": "^31.0.0",
|
|
48
|
+
"@atlaskit/editor-plugin-table": "^42.0.0",
|
|
49
|
+
"@atlaskit/editor-plugin-tasks-and-decisions": "^33.0.0",
|
|
50
|
+
"@atlaskit/editor-plugin-toolbar": "^27.0.0",
|
|
51
|
+
"@atlaskit/editor-plugin-type-ahead": "^31.0.0",
|
|
52
|
+
"@atlaskit/editor-plugin-ui-control-registry": "^24.0.0",
|
|
53
53
|
"@atlaskit/editor-prosemirror": "^9.0.0",
|
|
54
54
|
"@atlaskit/editor-shared-styles": "^4.6.0",
|
|
55
55
|
"@atlaskit/editor-toolbar": "^2.8.0",
|
|
56
56
|
"@atlaskit/editor-toolbar-model": "^1.2.0",
|
|
57
|
-
"@atlaskit/editor-ui-control-model": "^
|
|
57
|
+
"@atlaskit/editor-ui-control-model": "^3.0.0",
|
|
58
58
|
"@atlaskit/emoji": "^73.1.0",
|
|
59
59
|
"@atlaskit/icon": "^38.0.0",
|
|
60
60
|
"@atlaskit/icon-lab": "^7.11.0",
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"@atlaskit/platform-feature-flags": "^2.2.0",
|
|
63
63
|
"@atlaskit/primitives": "^22.6.0",
|
|
64
64
|
"@atlaskit/textfield": "^10.2.0",
|
|
65
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
66
|
-
"@atlaskit/tokens": "^20.
|
|
65
|
+
"@atlaskit/tmp-editor-statsig": "^247.0.0",
|
|
66
|
+
"@atlaskit/tokens": "^20.8.0",
|
|
67
67
|
"@babel/runtime": "^7.0.0",
|
|
68
68
|
"@emotion/react": "^11.7.1",
|
|
69
69
|
"bind-event-listener": "^3.0.0",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"react-virtualized": "^9.22.6"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"@atlaskit/editor-common": "^
|
|
75
|
+
"@atlaskit/editor-common": "^134.0.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"
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.RegisteredInsertMenuPreviewContext = exports.RegisteredInsertMenuItem = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
10
|
-
var _insert = require("@atlaskit/editor-common/insert");
|
|
11
|
-
var _provider = require("@atlaskit/editor-common/quick-insert/provider");
|
|
12
|
-
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); }
|
|
13
|
-
// Preview updates must remain live while react-virtualized caches row elements during scrolling.
|
|
14
|
-
var RegisteredInsertMenuPreviewContext = exports.RegisteredInsertMenuPreviewContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
15
|
-
var RegisteredInsertMenuItem = exports.RegisteredInsertMenuItem = function RegisteredInsertMenuItem(_ref) {
|
|
16
|
-
var _registration$compone;
|
|
17
|
-
var editorView = _ref.editorView,
|
|
18
|
-
id = _ref.id,
|
|
19
|
-
isOffline = _ref.isOffline,
|
|
20
|
-
isSelected = _ref.isSelected,
|
|
21
|
-
menuOpenId = _ref.menuOpenId,
|
|
22
|
-
onClose = _ref.onClose,
|
|
23
|
-
registration = _ref.registration,
|
|
24
|
-
surfaceContext = _ref.surfaceContext;
|
|
25
|
-
var Component = (_registration$compone = registration.component) !== null && _registration$compone !== void 0 ? _registration$compone : _react.default.Fragment;
|
|
26
|
-
var activePreviewItemKey = (0, _react.useContext)(RegisteredInsertMenuPreviewContext);
|
|
27
|
-
var isPreviewActive = activePreviewItemKey === registration.key;
|
|
28
|
-
var select = (0, _react.useCallback)(function (selectionHandler) {
|
|
29
|
-
// Close first so a registered item may safely focus the editor or open its picker.
|
|
30
|
-
onClose();
|
|
31
|
-
queueMicrotask(function () {
|
|
32
|
-
var state = editorView.state;
|
|
33
|
-
var insert = function insert(content) {
|
|
34
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
35
|
-
return (0, _insert.insertSelectedItem)(content, options)(state, state.tr, state.selection.head);
|
|
36
|
-
};
|
|
37
|
-
var transaction = selectionHandler({
|
|
38
|
-
insert: insert,
|
|
39
|
-
source: _enums.INPUT_METHOD.INSERT_MENU
|
|
40
|
-
});
|
|
41
|
-
if (transaction) {
|
|
42
|
-
editorView.dispatch(transaction);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}, [editorView, onClose]);
|
|
46
|
-
var contextValue = (0, _react.useMemo)(function () {
|
|
47
|
-
return {
|
|
48
|
-
editorView: editorView,
|
|
49
|
-
isOffline: isOffline,
|
|
50
|
-
item: {
|
|
51
|
-
id: id,
|
|
52
|
-
isPreviewActive: isPreviewActive,
|
|
53
|
-
isSelected: isSelected
|
|
54
|
-
},
|
|
55
|
-
menuOpenId: menuOpenId,
|
|
56
|
-
select: select,
|
|
57
|
-
surface: 'toolbar',
|
|
58
|
-
surfaceContext: surfaceContext
|
|
59
|
-
};
|
|
60
|
-
}, [editorView, id, isOffline, isPreviewActive, isSelected, menuOpenId, select, surfaceContext]);
|
|
61
|
-
return /*#__PURE__*/_react.default.createElement(_provider.QuickInsertProvider, {
|
|
62
|
-
value: contextValue
|
|
63
|
-
}, /*#__PURE__*/_react.default.createElement(Component, null, null));
|
|
64
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
._15a5nqa1{border-top-style:solid}
|
|
2
|
-
._16jlkb7n{flex-grow:1}
|
|
3
|
-
._18m91wug{overflow-y:auto}
|
|
4
|
-
._1e0c1txw{display:flex}
|
|
5
|
-
._1i531l7x{border-top-color:var(--ds-border,#0b120e24)}
|
|
6
|
-
._1o9zidpf{flex-shrink:0}
|
|
7
|
-
._1q51u2gc{padding-block-start:var(--ds-space-100,8px)}
|
|
8
|
-
._1tkeidpf{min-height:0}
|
|
9
|
-
._2lx21bp4{flex-direction:column}
|
|
10
|
-
._85i5u2gc{padding-block-end:var(--ds-space-100,8px)}
|
|
11
|
-
._uwhke4h9{border-top-width:var(--ds-border-width,1px)}
|