@atlaskit/editor-plugin-type-ahead 13.2.1 → 13.2.3
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 +14 -0
- package/dist/cjs/pm-plugins/commands/insert-type-ahead-item.js +96 -1
- package/dist/cjs/ui/ContentComponent.js +4 -0
- package/dist/cjs/ui/InputQuery.js +21 -14
- package/dist/cjs/ui/WrapperTypeAhead.js +23 -1
- package/dist/cjs/ui/hooks/use-load-items.js +6 -1
- package/dist/cjs/ui/registered-menu/PassThrough.js +10 -0
- package/dist/cjs/ui/registered-menu/RegisteredTypeAheadMenu.js +146 -0
- package/dist/cjs/ui/registered-menu/TypeAheadContext.js +8 -0
- package/dist/cjs/ui/registered-menu/TypeAheadItemRow.js +27 -0
- package/dist/cjs/ui/registered-menu/TypeAheadProvider.js +8 -0
- package/dist/cjs/ui/registered-menu/buildTypeAheadMenuModel.js +50 -0
- package/dist/cjs/ui/registered-menu/getTypeAheadItemId.js +9 -0
- package/dist/cjs/ui/registered-menu/quick-insert/TypeAheadQuickInsertItem.js +37 -0
- package/dist/cjs/ui/registered-menu/quick-insert/TypeAheadQuickInsertProvider.js +41 -0
- package/dist/cjs/ui/registered-menu/typeAheadMenuTypes.js +5 -0
- package/dist/cjs/ui/registered-menu/typeAheadSurfaces.js +26 -0
- package/dist/cjs/ui/registered-menu/useTypeAheadContext.js +15 -0
- package/dist/es2019/pm-plugins/commands/insert-type-ahead-item.js +97 -0
- package/dist/es2019/ui/ContentComponent.js +4 -0
- package/dist/es2019/ui/InputQuery.js +15 -8
- package/dist/es2019/ui/WrapperTypeAhead.js +23 -1
- package/dist/es2019/ui/hooks/use-load-items.js +6 -2
- package/dist/es2019/ui/registered-menu/PassThrough.js +3 -0
- package/dist/es2019/ui/registered-menu/RegisteredTypeAheadMenu.js +127 -0
- package/dist/es2019/ui/registered-menu/TypeAheadContext.js +2 -0
- package/dist/es2019/ui/registered-menu/TypeAheadItemRow.js +18 -0
- package/dist/es2019/ui/registered-menu/TypeAheadProvider.js +2 -0
- package/dist/es2019/ui/registered-menu/buildTypeAheadMenuModel.js +24 -0
- package/dist/es2019/ui/registered-menu/getTypeAheadItemId.js +1 -0
- package/dist/es2019/ui/registered-menu/quick-insert/TypeAheadQuickInsertItem.js +25 -0
- package/dist/es2019/ui/registered-menu/quick-insert/TypeAheadQuickInsertProvider.js +33 -0
- package/dist/es2019/ui/registered-menu/typeAheadMenuTypes.js +1 -0
- package/dist/es2019/ui/registered-menu/typeAheadSurfaces.js +20 -0
- package/dist/es2019/ui/registered-menu/useTypeAheadContext.js +9 -0
- package/dist/esm/pm-plugins/commands/insert-type-ahead-item.js +95 -0
- package/dist/esm/ui/ContentComponent.js +4 -0
- package/dist/esm/ui/InputQuery.js +21 -14
- package/dist/esm/ui/WrapperTypeAhead.js +23 -1
- package/dist/esm/ui/hooks/use-load-items.js +6 -1
- package/dist/esm/ui/registered-menu/PassThrough.js +4 -0
- package/dist/esm/ui/registered-menu/RegisteredTypeAheadMenu.js +137 -0
- package/dist/esm/ui/registered-menu/TypeAheadContext.js +2 -0
- package/dist/esm/ui/registered-menu/TypeAheadItemRow.js +19 -0
- package/dist/esm/ui/registered-menu/TypeAheadProvider.js +2 -0
- package/dist/esm/ui/registered-menu/buildTypeAheadMenuModel.js +44 -0
- package/dist/esm/ui/registered-menu/getTypeAheadItemId.js +3 -0
- package/dist/esm/ui/registered-menu/quick-insert/TypeAheadQuickInsertItem.js +28 -0
- package/dist/esm/ui/registered-menu/quick-insert/TypeAheadQuickInsertProvider.js +33 -0
- package/dist/esm/ui/registered-menu/typeAheadMenuTypes.js +1 -0
- package/dist/esm/ui/registered-menu/typeAheadSurfaces.js +20 -0
- package/dist/esm/ui/registered-menu/useTypeAheadContext.js +9 -0
- package/dist/types/pm-plugins/commands/insert-type-ahead-item.d.ts +7 -0
- package/dist/types/typeAheadPluginType.d.ts +3 -1
- package/dist/types/ui/InputQuery.d.ts +10 -2
- package/dist/types/ui/hooks/use-load-items.d.ts +1 -1
- package/dist/types/ui/registered-menu/PassThrough.d.ts +2 -0
- package/dist/types/ui/registered-menu/RegisteredTypeAheadMenu.d.ts +30 -0
- package/dist/types/ui/registered-menu/TypeAheadContext.d.ts +14 -0
- package/dist/types/ui/registered-menu/TypeAheadItemRow.d.ts +11 -0
- package/dist/types/ui/registered-menu/TypeAheadProvider.d.ts +3 -0
- package/dist/types/ui/registered-menu/buildTypeAheadMenuModel.d.ts +7 -0
- package/dist/types/ui/registered-menu/getTypeAheadItemId.d.ts +1 -0
- package/dist/types/ui/registered-menu/quick-insert/TypeAheadQuickInsertItem.d.ts +3 -0
- package/dist/types/ui/registered-menu/quick-insert/TypeAheadQuickInsertProvider.d.ts +2 -0
- package/dist/types/ui/registered-menu/typeAheadMenuTypes.d.ts +9 -0
- package/dist/types/ui/registered-menu/typeAheadSurfaces.d.ts +17 -0
- package/dist/types/ui/registered-menu/useTypeAheadContext.d.ts +2 -0
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-type-ahead
|
|
2
2
|
|
|
3
|
+
## 13.2.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 13.2.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`4bc741a70d678`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4bc741a70d678) -
|
|
14
|
+
Add the first registry-backed Quick Insert slice with Table
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 13.2.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.insertTypeAheadItem = void 0;
|
|
7
|
+
exports.performTypeAheadSelection = exports.insertTypeAheadItem = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _steps = require("@atlaskit/adf-schema/steps");
|
|
10
10
|
var _typeAhead = require("@atlaskit/editor-common/type-ahead");
|
|
@@ -202,4 +202,99 @@ var insertTypeAheadItem = exports.insertTypeAheadItem = function insertTypeAhead
|
|
|
202
202
|
view.dispatch(tr);
|
|
203
203
|
view.focus();
|
|
204
204
|
};
|
|
205
|
+
};
|
|
206
|
+
var executeTypeAheadSelection = function executeTypeAheadSelection(view) {
|
|
207
|
+
return function (_ref5) {
|
|
208
|
+
var selectItem = _ref5.selectItem,
|
|
209
|
+
handler = _ref5.handler,
|
|
210
|
+
mode = _ref5.mode,
|
|
211
|
+
query = _ref5.query,
|
|
212
|
+
sourceListItem = _ref5.sourceListItem;
|
|
213
|
+
var pluginState = (0, _utils.getPluginState)(view.state);
|
|
214
|
+
if (!pluginState) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
var stats = (pluginState.stats || new _statsModifier.StatsModifier()).serialize();
|
|
218
|
+
var meta = {
|
|
219
|
+
mode: mode,
|
|
220
|
+
query: query,
|
|
221
|
+
stats: stats,
|
|
222
|
+
sourceListItem: sourceListItem
|
|
223
|
+
};
|
|
224
|
+
var tr = view.state.tr;
|
|
225
|
+
var trigger = handler.trigger;
|
|
226
|
+
var text = "".concat(trigger).concat(query);
|
|
227
|
+
if (mode === _typeAhead.SelectItemMode.SPACE) {
|
|
228
|
+
text = text.trim().concat(' ');
|
|
229
|
+
}
|
|
230
|
+
var selectedIndex = -1;
|
|
231
|
+
var wasInsertedBySpace = mode === _typeAhead.SelectItemMode.SPACE;
|
|
232
|
+
var textStartPosition = tr.selection.from;
|
|
233
|
+
var insertItem = function insertItem(newEditorState) {
|
|
234
|
+
var insertCallback = createInsertCallback({
|
|
235
|
+
editorState: newEditorState,
|
|
236
|
+
query: query,
|
|
237
|
+
mode: mode,
|
|
238
|
+
handler: handler,
|
|
239
|
+
wasInsertedBySpace: wasInsertedBySpace,
|
|
240
|
+
selectedIndex: selectedIndex,
|
|
241
|
+
textInserted: text,
|
|
242
|
+
textStartPosition: textStartPosition
|
|
243
|
+
});
|
|
244
|
+
var wasInsertCallbackCalled = false;
|
|
245
|
+
var insertCallbackProxy = new Proxy(insertCallback, {
|
|
246
|
+
apply: function apply(target, _thisContext, argumentsList) {
|
|
247
|
+
wasInsertCallbackCalled = true;
|
|
248
|
+
return target.apply(void 0, (0, _toConsumableArray2.default)(argumentsList));
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
var nextTr = selectItem(newEditorState, insertCallbackProxy, meta);
|
|
252
|
+
if (!wasInsertCallbackCalled && nextTr) {
|
|
253
|
+
(0, _prosemirrorHistory.closeHistory)(nextTr);
|
|
254
|
+
if (!nextTr.getMeta(_key.pluginKey)) {
|
|
255
|
+
(0, _closeTypeAhead.closeTypeAhead)(nextTr);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return nextTr || false;
|
|
259
|
+
};
|
|
260
|
+
var position = {
|
|
261
|
+
start: tr.selection.from,
|
|
262
|
+
end: tr.selection.from + text.length
|
|
263
|
+
};
|
|
264
|
+
tr.setMeta(_key.pluginKey, {
|
|
265
|
+
action: _actions.ACTIONS.INSERT_RAW_QUERY,
|
|
266
|
+
params: createDeleteRawTextCallback({
|
|
267
|
+
wasInsertedBySpace: wasInsertedBySpace,
|
|
268
|
+
selectedIndex: selectedIndex,
|
|
269
|
+
insertItem: insertItem,
|
|
270
|
+
position: position,
|
|
271
|
+
query: query,
|
|
272
|
+
trigger: trigger
|
|
273
|
+
})
|
|
274
|
+
});
|
|
275
|
+
tr.insertText(text);
|
|
276
|
+
(0, _prosemirrorHistory.closeHistory)(tr);
|
|
277
|
+
view.dispatch(tr);
|
|
278
|
+
view.focus();
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
var performTypeAheadSelection = exports.performTypeAheadSelection = function performTypeAheadSelection(view) {
|
|
282
|
+
return function (_ref6) {
|
|
283
|
+
var inputMethod = _ref6.inputMethod,
|
|
284
|
+
selectionHandler = _ref6.selectionHandler,
|
|
285
|
+
handler = _ref6.handler,
|
|
286
|
+
query = _ref6.query;
|
|
287
|
+
executeTypeAheadSelection(view)({
|
|
288
|
+
handler: handler,
|
|
289
|
+
mode: _typeAhead.SelectItemMode.SELECTED,
|
|
290
|
+
query: query,
|
|
291
|
+
sourceListItem: [],
|
|
292
|
+
selectItem: function selectItem(_state, insert) {
|
|
293
|
+
return selectionHandler({
|
|
294
|
+
insert: insert,
|
|
295
|
+
source: inputMethod
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
};
|
|
205
300
|
};
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ContentComponent = ContentComponent;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
10
|
+
var _typeAheadSurfaces = require("./registered-menu/typeAheadSurfaces");
|
|
10
11
|
var _TypeAheadMenu = require("./TypeAheadMenu");
|
|
11
12
|
function ContentComponent(_ref) {
|
|
12
13
|
var api = _ref.api,
|
|
@@ -36,6 +37,9 @@ function ContentComponent(_ref) {
|
|
|
36
37
|
if (items === undefined || sections === undefined || decorationSet === undefined || errorInfo === undefined || decorationElement === undefined || query === undefined || selectedIndex === undefined) {
|
|
37
38
|
return null;
|
|
38
39
|
}
|
|
40
|
+
if ((0, _typeAheadSurfaces.getTypeAheadSurface)(triggerHandler === null || triggerHandler === void 0 ? void 0 : triggerHandler.id)) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
39
43
|
return /*#__PURE__*/_react.default.createElement(_TypeAheadMenu.TypeAheadMenu, {
|
|
40
44
|
editorView: editorView,
|
|
41
45
|
popupMountRef: popupMountRef
|
|
@@ -92,7 +92,9 @@ var getAriaLabel = function getAriaLabel(triggerPrefix, _intl) {
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
95
|
-
var
|
|
95
|
+
var _ref2;
|
|
96
|
+
var activeDescendantId = _ref.activeDescendantId,
|
|
97
|
+
triggerQueryPrefix = _ref.triggerQueryPrefix,
|
|
96
98
|
cancel = _ref.cancel,
|
|
97
99
|
onQueryChange = _ref.onQueryChange,
|
|
98
100
|
onItemSelect = _ref.onItemSelect,
|
|
@@ -103,7 +105,11 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
103
105
|
onQueryFocus = _ref.onQueryFocus,
|
|
104
106
|
onUndoRedo = _ref.onUndoRedo,
|
|
105
107
|
editorView = _ref.editorView,
|
|
106
|
-
items = _ref.items
|
|
108
|
+
items = _ref.items,
|
|
109
|
+
listId = _ref.listId,
|
|
110
|
+
optionCount = _ref.optionCount,
|
|
111
|
+
shouldKeepOpenOnRegisteredMenu = _ref.shouldKeepOpenOnRegisteredMenu;
|
|
112
|
+
var resolvedOptionCount = (_ref2 = optionCount !== null && optionCount !== void 0 ? optionCount : items === null || items === void 0 ? void 0 : items.length) !== null && _ref2 !== void 0 ? _ref2 : 0;
|
|
107
113
|
var ref = (0, _react.useRef)(document.createElement('span'));
|
|
108
114
|
var inputRef = (0, _react.useRef)(null);
|
|
109
115
|
var _useState = (0, _react.useState)(null),
|
|
@@ -146,9 +152,9 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
146
152
|
var raw = ((_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.textContent) || '';
|
|
147
153
|
var text = cleanedInputContent();
|
|
148
154
|
var stopDefault = false;
|
|
149
|
-
var
|
|
150
|
-
selectedIndex =
|
|
151
|
-
removePrefixTriggerOnCancel =
|
|
155
|
+
var _ref3 = (0, _utils2.getPluginState)(editorView.state) || {},
|
|
156
|
+
selectedIndex = _ref3.selectedIndex,
|
|
157
|
+
removePrefixTriggerOnCancel = _ref3.removePrefixTriggerOnCancel;
|
|
152
158
|
setInFocus(true);
|
|
153
159
|
switch (key) {
|
|
154
160
|
case ' ':
|
|
@@ -235,8 +241,8 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
235
241
|
}
|
|
236
242
|
var browser = (0, _browser.getBrowserInfo)();
|
|
237
243
|
var element = ref.current;
|
|
238
|
-
var
|
|
239
|
-
removePrefixTriggerOnCancel =
|
|
244
|
+
var _ref4 = (0, _utils2.getPluginState)(editorView.state) || {},
|
|
245
|
+
removePrefixTriggerOnCancel = _ref4.removePrefixTriggerOnCancel;
|
|
240
246
|
var onFocusIn = function onFocusIn(_event) {
|
|
241
247
|
onQueryFocus();
|
|
242
248
|
};
|
|
@@ -289,7 +295,7 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
289
295
|
// Given the user is changing the focus
|
|
290
296
|
// When the target is inside the TypeAhead Popup
|
|
291
297
|
// Then the popup should stay open
|
|
292
|
-
if (relatedTarget instanceof HTMLElement && relatedTarget.closest && relatedTarget.closest(".".concat(_constants.TYPE_AHEAD_POPUP_CONTENT_CLASS))) {
|
|
298
|
+
if (relatedTarget instanceof HTMLElement && relatedTarget.closest && (relatedTarget.closest(".".concat(_constants.TYPE_AHEAD_POPUP_CONTENT_CLASS)) || shouldKeepOpenOnRegisteredMenu && relatedTarget.closest('[data-registered-type-ahead-menu]'))) {
|
|
293
299
|
return;
|
|
294
300
|
}
|
|
295
301
|
|
|
@@ -408,7 +414,7 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
408
414
|
element.removeEventListener('input', onInput);
|
|
409
415
|
}
|
|
410
416
|
};
|
|
411
|
-
}, [triggerQueryPrefix, cleanedInputContent, onQueryFocus, cancel, checkKeyEvent, editorView.state, isEditorControlsEnabled]);
|
|
417
|
+
}, [triggerQueryPrefix, cleanedInputContent, onQueryFocus, cancel, checkKeyEvent, editorView.state, isEditorControlsEnabled, shouldKeepOpenOnRegisteredMenu]);
|
|
412
418
|
(0, _react.useLayoutEffect)(function () {
|
|
413
419
|
var hasReopenQuery = typeof reopenQuery === 'string' && reopenQuery.trim().length > 0;
|
|
414
420
|
if (ref.current && forceFocus) {
|
|
@@ -457,9 +463,10 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
457
463
|
tabIndex: -1,
|
|
458
464
|
onInput: isSearchPlaceholderEnabled ? onInput : undefined,
|
|
459
465
|
role: "combobox",
|
|
460
|
-
"aria-
|
|
466
|
+
"aria-activedescendant": activeDescendantId,
|
|
467
|
+
"aria-controls": listId !== null && listId !== void 0 ? listId : _constants.TYPE_AHEAD_DECORATION_ELEMENT_ID,
|
|
461
468
|
"aria-autocomplete": "list",
|
|
462
|
-
"aria-expanded":
|
|
469
|
+
"aria-expanded": resolvedOptionCount !== 0,
|
|
463
470
|
"aria-labelledby": assistiveHintID,
|
|
464
471
|
suppressContentEditableWarning: true,
|
|
465
472
|
"data-query-prefix": triggerQueryPrefix
|
|
@@ -477,10 +484,10 @@ var InputQuery = exports.InputQuery = /*#__PURE__*/_react.default.memo(function
|
|
|
477
484
|
display: 'none'
|
|
478
485
|
}
|
|
479
486
|
}, intl.formatMessage(_typeAhead.typeAheadListMessages.inputQueryAssistiveLabel)), (0, _react2.jsx)(_ui.AssistiveText, {
|
|
480
|
-
assistiveText:
|
|
481
|
-
itemsLength:
|
|
487
|
+
assistiveText: resolvedOptionCount === 0 ? intl.formatMessage(_typeAhead.typeAheadListMessages.noSearchResultsLabel, {
|
|
488
|
+
itemsLength: resolvedOptionCount
|
|
482
489
|
}) : '',
|
|
483
|
-
isInFocus:
|
|
490
|
+
isInFocus: resolvedOptionCount === 0 || isInFocus,
|
|
484
491
|
id: _constants.TYPE_AHEAD_DECORATION_ELEMENT_ID
|
|
485
492
|
}));
|
|
486
493
|
});
|
|
@@ -22,6 +22,8 @@ var _useItemInsert3 = require("./hooks/use-item-insert");
|
|
|
22
22
|
var _useLoadItems = require("./hooks/use-load-items");
|
|
23
23
|
var _useOnForceSelect = require("./hooks/use-on-force-select");
|
|
24
24
|
var _InputQuery = require("./InputQuery");
|
|
25
|
+
var _RegisteredTypeAheadMenu = require("./registered-menu/RegisteredTypeAheadMenu");
|
|
26
|
+
var _typeAheadSurfaces = require("./registered-menu/typeAheadSurfaces");
|
|
25
27
|
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); }
|
|
26
28
|
var WrapperTypeAhead = exports.WrapperTypeAhead = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
27
29
|
var triggerHandler = _ref.triggerHandler,
|
|
@@ -53,7 +55,8 @@ var WrapperTypeAhead = exports.WrapperTypeAhead = /*#__PURE__*/_react.default.me
|
|
|
53
55
|
setQuery = _useState4[1];
|
|
54
56
|
var queryRef = (0, _react.useRef)(query);
|
|
55
57
|
var editorViewRef = (0, _react.useRef)(editorView);
|
|
56
|
-
var
|
|
58
|
+
var registeredSurface = (0, _typeAheadSurfaces.getTypeAheadSurface)(triggerHandler.id);
|
|
59
|
+
var items = (0, _useLoadItems.useLoadItems)(triggerHandler, editorView, query, showMoreOptionsButton, api, intl, !registeredSurface);
|
|
57
60
|
(0, _react.useEffect)(function () {
|
|
58
61
|
if (!closed && (0, _platformFeatureFlags.fg)('platform_editor_ease_of_use_metrics')) {
|
|
59
62
|
var _api$metrics;
|
|
@@ -160,6 +163,25 @@ var WrapperTypeAhead = exports.WrapperTypeAhead = /*#__PURE__*/_react.default.me
|
|
|
160
163
|
if (!triggerHandler) {
|
|
161
164
|
return null;
|
|
162
165
|
}
|
|
166
|
+
if (registeredSurface) {
|
|
167
|
+
return /*#__PURE__*/_react.default.createElement(_RegisteredTypeAheadMenu.RegisteredTypeAheadMenu, {
|
|
168
|
+
anchorElement: anchorElement,
|
|
169
|
+
api: api,
|
|
170
|
+
cancel: cancel,
|
|
171
|
+
editorView: editorView,
|
|
172
|
+
forceFocus: shouldFocusCursorInsideQuery,
|
|
173
|
+
onClose: closePopup,
|
|
174
|
+
onUndoRedo: onUndoRedo,
|
|
175
|
+
popupsBoundariesElement: popupsBoundariesElement,
|
|
176
|
+
popupsMountPoint: popupsMountPoint,
|
|
177
|
+
popupsScrollableElement: popupsScrollableElement,
|
|
178
|
+
query: query,
|
|
179
|
+
reopenQuery: reopenQuery,
|
|
180
|
+
setQuery: setQuery,
|
|
181
|
+
surface: registeredSurface,
|
|
182
|
+
triggerHandler: triggerHandler
|
|
183
|
+
});
|
|
184
|
+
}
|
|
163
185
|
return /*#__PURE__*/_react.default.createElement(_InputQuery.InputQuery, {
|
|
164
186
|
triggerQueryPrefix: triggerHandler === null || triggerHandler === void 0 ? void 0 : triggerHandler.trigger,
|
|
165
187
|
onQueryChange: setQuery,
|
|
@@ -15,6 +15,7 @@ var _updateListItems = require("../../pm-plugins/commands/update-list-items");
|
|
|
15
15
|
var _buildSectionedResult2 = require("./build-sectioned-result");
|
|
16
16
|
var EMPTY_LIST_ITEM = [];
|
|
17
17
|
var useLoadItems = exports.useLoadItems = function useLoadItems(triggerHandler, editorView, query, showViewMore, api, intl) {
|
|
18
|
+
var enabled = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : true;
|
|
18
19
|
var _useState = (0, _react.useState)(EMPTY_LIST_ITEM),
|
|
19
20
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
20
21
|
items = _useState2[0],
|
|
@@ -24,6 +25,10 @@ var useLoadItems = exports.useLoadItems = function useLoadItems(triggerHandler,
|
|
|
24
25
|
var latestQueryRef = (0, _react.useRef)(query);
|
|
25
26
|
latestQueryRef.current = query;
|
|
26
27
|
(0, _react.useEffect)(function () {
|
|
28
|
+
if (!enabled) {
|
|
29
|
+
setItems(EMPTY_LIST_ITEM);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
27
32
|
var requestQuery = query;
|
|
28
33
|
var isStaleRequest = function isStaleRequest() {
|
|
29
34
|
return latestQueryRef.current !== requestQuery;
|
|
@@ -128,7 +133,7 @@ var useLoadItems = exports.useLoadItems = function useLoadItems(triggerHandler,
|
|
|
128
133
|
// ignore because EditorView is mutable but we don't want to
|
|
129
134
|
// call loadItems when it changes, only when the query changes
|
|
130
135
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
131
|
-
}, [triggerHandler, query, intl]);
|
|
136
|
+
}, [triggerHandler, query, intl, enabled]);
|
|
132
137
|
(0, _react.useEffect)(function () {
|
|
133
138
|
return function () {
|
|
134
139
|
componentIsMounted.current = false;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.RegisteredTypeAheadMenu = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactIntl = require("react-intl");
|
|
12
|
+
var _ui = require("@atlaskit/editor-common/ui");
|
|
13
|
+
var _constants = require("@atlaskit/editor-shared-styles/constants");
|
|
14
|
+
var _compiled = require("@atlaskit/primitives/compiled");
|
|
15
|
+
var _InputQuery = require("../InputQuery");
|
|
16
|
+
var _buildTypeAheadMenuModel = require("./buildTypeAheadMenuModel");
|
|
17
|
+
var _getTypeAheadItemId = require("./getTypeAheadItemId");
|
|
18
|
+
var _PassThrough = require("./PassThrough");
|
|
19
|
+
var _TypeAheadItemRow = require("./TypeAheadItemRow");
|
|
20
|
+
var _TypeAheadProvider = require("./TypeAheadProvider");
|
|
21
|
+
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); }
|
|
22
|
+
var POPUP_OFFSET = [0, 8];
|
|
23
|
+
var RegisteredTypeAheadMenu = exports.RegisteredTypeAheadMenu = function RegisteredTypeAheadMenu(_ref) {
|
|
24
|
+
var _model$root$component, _model$root;
|
|
25
|
+
var anchorElement = _ref.anchorElement,
|
|
26
|
+
api = _ref.api,
|
|
27
|
+
cancel = _ref.cancel,
|
|
28
|
+
editorView = _ref.editorView,
|
|
29
|
+
forceFocus = _ref.forceFocus,
|
|
30
|
+
onClose = _ref.onClose,
|
|
31
|
+
onUndoRedo = _ref.onUndoRedo,
|
|
32
|
+
popupsBoundariesElement = _ref.popupsBoundariesElement,
|
|
33
|
+
popupsMountPoint = _ref.popupsMountPoint,
|
|
34
|
+
popupsScrollableElement = _ref.popupsScrollableElement,
|
|
35
|
+
query = _ref.query,
|
|
36
|
+
reopenQuery = _ref.reopenQuery,
|
|
37
|
+
setQuery = _ref.setQuery,
|
|
38
|
+
surface = _ref.surface,
|
|
39
|
+
triggerHandler = _ref.triggerHandler;
|
|
40
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
41
|
+
var generatedId = (0, _react.useId)();
|
|
42
|
+
var listId = "".concat(surface.listIdPrefix, "-").concat(generatedId);
|
|
43
|
+
var menuRef = (0, _react.useRef)(null);
|
|
44
|
+
var _useState = (0, _react.useState)(0),
|
|
45
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
+
selectedItemIndex = _useState2[0],
|
|
47
|
+
setSelectedItemIndex = _useState2[1];
|
|
48
|
+
var components = (0, _react.useMemo)(function () {
|
|
49
|
+
var _api$uiControlRegistr, _api$uiControlRegistr2;
|
|
50
|
+
return (_api$uiControlRegistr = api === null || api === void 0 || (_api$uiControlRegistr2 = api.uiControlRegistry) === null || _api$uiControlRegistr2 === void 0 ? void 0 : _api$uiControlRegistr2.actions.getComponents(surface.root.key)) !== null && _api$uiControlRegistr !== void 0 ? _api$uiControlRegistr : [];
|
|
51
|
+
}, [api, surface.root.key]);
|
|
52
|
+
var model = (0, _react.useMemo)(function () {
|
|
53
|
+
return (0, _buildTypeAheadMenuModel.buildTypeAheadMenuModel)(components, surface.root);
|
|
54
|
+
}, [components, surface.root]);
|
|
55
|
+
var itemKeySignature = model.items.map(function (_ref2) {
|
|
56
|
+
var key = _ref2.key;
|
|
57
|
+
return key;
|
|
58
|
+
}).join(',');
|
|
59
|
+
(0, _react.useLayoutEffect)(function () {
|
|
60
|
+
setSelectedItemIndex(model.items.length > 0 ? 0 : -1);
|
|
61
|
+
}, [itemKeySignature, model.items.length, query]);
|
|
62
|
+
var selectActiveItem = (0, _react.useCallback)(function (_mode) {
|
|
63
|
+
var _menuRef$current;
|
|
64
|
+
if (selectedItemIndex < 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
(_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 || (_menuRef$current = _menuRef$current.ownerDocument.getElementById((0, _getTypeAheadItemId.getTypeAheadItemId)(listId, selectedItemIndex))) === null || _menuRef$current === void 0 || _menuRef$current.click();
|
|
68
|
+
}, [listId, selectedItemIndex]);
|
|
69
|
+
var selectNextItem = (0, _react.useCallback)(function () {
|
|
70
|
+
setSelectedItemIndex(function (currentIndex) {
|
|
71
|
+
if (model.items.length === 0) {
|
|
72
|
+
return -1;
|
|
73
|
+
}
|
|
74
|
+
return currentIndex < 0 || currentIndex === model.items.length - 1 ? 0 : currentIndex + 1;
|
|
75
|
+
});
|
|
76
|
+
}, [model.items.length]);
|
|
77
|
+
var selectPreviousItem = (0, _react.useCallback)(function () {
|
|
78
|
+
setSelectedItemIndex(function (currentIndex) {
|
|
79
|
+
if (model.items.length === 0) {
|
|
80
|
+
return -1;
|
|
81
|
+
}
|
|
82
|
+
return currentIndex <= 0 ? model.items.length - 1 : currentIndex - 1;
|
|
83
|
+
});
|
|
84
|
+
}, [model.items.length]);
|
|
85
|
+
var typeAheadContextValue = (0, _react.useMemo)(function () {
|
|
86
|
+
return {
|
|
87
|
+
api: api,
|
|
88
|
+
editorView: editorView,
|
|
89
|
+
inputMethod: surface.inputMethod,
|
|
90
|
+
onClose: onClose,
|
|
91
|
+
query: query,
|
|
92
|
+
triggerHandler: triggerHandler
|
|
93
|
+
};
|
|
94
|
+
}, [api, editorView, onClose, query, surface.inputMethod, triggerHandler]);
|
|
95
|
+
var noOp = (0, _react.useCallback)(function () {}, []);
|
|
96
|
+
var RootComponent = (_model$root$component = (_model$root = model.root) === null || _model$root === void 0 ? void 0 : _model$root.component) !== null && _model$root$component !== void 0 ? _model$root$component : _PassThrough.PassThrough;
|
|
97
|
+
var SurfaceProvider = surface.Provider;
|
|
98
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_InputQuery.InputQuery, {
|
|
99
|
+
activeDescendantId: selectedItemIndex >= 0 ? (0, _getTypeAheadItemId.getTypeAheadItemId)(listId, selectedItemIndex) : undefined,
|
|
100
|
+
cancel: cancel,
|
|
101
|
+
editorView: editorView,
|
|
102
|
+
forceFocus: forceFocus,
|
|
103
|
+
listId: listId,
|
|
104
|
+
onItemSelect: selectActiveItem,
|
|
105
|
+
onQueryChange: setQuery,
|
|
106
|
+
onQueryFocus: noOp,
|
|
107
|
+
onUndoRedo: onUndoRedo,
|
|
108
|
+
optionCount: model.items.length,
|
|
109
|
+
reopenQuery: reopenQuery,
|
|
110
|
+
selectNextItem: selectNextItem,
|
|
111
|
+
selectPreviousItem: selectPreviousItem,
|
|
112
|
+
shouldKeepOpenOnRegisteredMenu: true,
|
|
113
|
+
triggerQueryPrefix: triggerHandler.trigger
|
|
114
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.Popup, {
|
|
115
|
+
ariaLabel: null,
|
|
116
|
+
boundariesElement: popupsBoundariesElement,
|
|
117
|
+
fitWidth: 320,
|
|
118
|
+
mountTo: popupsMountPoint,
|
|
119
|
+
offset: POPUP_OFFSET,
|
|
120
|
+
preventOverflow: true,
|
|
121
|
+
scrollableElement: popupsScrollableElement,
|
|
122
|
+
target: anchorElement,
|
|
123
|
+
zIndex: _constants.akEditorFloatingDialogZIndex
|
|
124
|
+
}, /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
125
|
+
ref: menuRef,
|
|
126
|
+
backgroundColor: "elevation.surface.overlay",
|
|
127
|
+
"data-registered-type-ahead-menu": "",
|
|
128
|
+
padding: "space.050"
|
|
129
|
+
}, /*#__PURE__*/_react.default.createElement(_TypeAheadProvider.TypeAheadProvider, {
|
|
130
|
+
value: typeAheadContextValue
|
|
131
|
+
}, /*#__PURE__*/_react.default.createElement(SurfaceProvider, null, /*#__PURE__*/_react.default.createElement(RootComponent, null, /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
132
|
+
"aria-label": intl.formatMessage(surface.listLabel),
|
|
133
|
+
id: listId,
|
|
134
|
+
role: "listbox"
|
|
135
|
+
}, model.items.map(function (registration, itemIndex) {
|
|
136
|
+
return /*#__PURE__*/_react.default.createElement(_TypeAheadItemRow.TypeAheadItemRow, {
|
|
137
|
+
isSelected: selectedItemIndex === itemIndex,
|
|
138
|
+
itemIndex: itemIndex,
|
|
139
|
+
Item: surface.Item,
|
|
140
|
+
key: "".concat(registration.type, ":").concat(registration.key),
|
|
141
|
+
listId: listId,
|
|
142
|
+
onItemHover: setSelectedItemIndex,
|
|
143
|
+
registration: registration
|
|
144
|
+
});
|
|
145
|
+
}))))))));
|
|
146
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TypeAheadItemRow = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _getTypeAheadItemId = require("./getTypeAheadItemId");
|
|
10
|
+
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); }
|
|
11
|
+
var TypeAheadItemRow = exports.TypeAheadItemRow = function TypeAheadItemRow(_ref) {
|
|
12
|
+
var isSelected = _ref.isSelected,
|
|
13
|
+
itemIndex = _ref.itemIndex,
|
|
14
|
+
Item = _ref.Item,
|
|
15
|
+
listId = _ref.listId,
|
|
16
|
+
onItemHover = _ref.onItemHover,
|
|
17
|
+
registration = _ref.registration;
|
|
18
|
+
var onMouseMove = (0, _react.useCallback)(function () {
|
|
19
|
+
return onItemHover(itemIndex);
|
|
20
|
+
}, [itemIndex, onItemHover]);
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(Item, {
|
|
22
|
+
id: (0, _getTypeAheadItemId.getTypeAheadItemId)(listId, itemIndex),
|
|
23
|
+
isSelected: isSelected,
|
|
24
|
+
onMouseMove: onMouseMove,
|
|
25
|
+
registration: registration
|
|
26
|
+
});
|
|
27
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TypeAheadProvider = void 0;
|
|
7
|
+
var _TypeAheadContext = require("./TypeAheadContext");
|
|
8
|
+
var TypeAheadProvider = exports.TypeAheadProvider = _TypeAheadContext.TypeAheadContext.Provider;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildTypeAheadMenuModel = void 0;
|
|
7
|
+
var _surfaceRenderer = require("@atlaskit/editor-ui-control-model/surface-renderer");
|
|
8
|
+
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; } } }; }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
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; }
|
|
11
|
+
var buildTypeAheadMenuModel = exports.buildTypeAheadMenuModel = function buildTypeAheadMenuModel(components, rootComponent) {
|
|
12
|
+
var _resolveSurface = (0, _surfaceRenderer.resolveSurface)(components, rootComponent),
|
|
13
|
+
root = _resolveSurface.root,
|
|
14
|
+
childrenMap = _resolveSurface.childrenMap,
|
|
15
|
+
topLevelChildren = _resolveSurface.topLevelChildren;
|
|
16
|
+
var items = [];
|
|
17
|
+
var _iterator = _createForOfIteratorHelper(topLevelChildren !== null && topLevelChildren !== void 0 ? topLevelChildren : []),
|
|
18
|
+
_step;
|
|
19
|
+
try {
|
|
20
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
21
|
+
var _childrenMap$get;
|
|
22
|
+
var section = _step.value;
|
|
23
|
+
if (section.type !== 'menu-section' || !(0, _surfaceRenderer.willComponentRender)(section, childrenMap)) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
var _iterator2 = _createForOfIteratorHelper((_childrenMap$get = childrenMap.get(section.key)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : []),
|
|
27
|
+
_step2;
|
|
28
|
+
try {
|
|
29
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
30
|
+
var child = _step2.value;
|
|
31
|
+
if (child.type === 'menu-item' && (0, _surfaceRenderer.willComponentRender)(child, childrenMap)) {
|
|
32
|
+
items.push(child);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
} catch (err) {
|
|
36
|
+
_iterator2.e(err);
|
|
37
|
+
} finally {
|
|
38
|
+
_iterator2.f();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
} catch (err) {
|
|
42
|
+
_iterator.e(err);
|
|
43
|
+
} finally {
|
|
44
|
+
_iterator.f();
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
items: items,
|
|
48
|
+
root: root
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getTypeAheadItemId = void 0;
|
|
7
|
+
var getTypeAheadItemId = exports.getTypeAheadItemId = function getTypeAheadItemId(listId, itemIndex) {
|
|
8
|
+
return "".concat(listId, "--").concat(itemIndex);
|
|
9
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TypeAheadQuickInsertItem = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _provider = require("@atlaskit/editor-common/quick-insert/provider");
|
|
12
|
+
var _useQuickInsertContext = require("@atlaskit/editor-common/quick-insert/use-quick-insert-context");
|
|
13
|
+
var _PassThrough = require("../PassThrough");
|
|
14
|
+
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); }
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
var TypeAheadQuickInsertItem = exports.TypeAheadQuickInsertItem = function TypeAheadQuickInsertItem(_ref) {
|
|
18
|
+
var _registration$compone;
|
|
19
|
+
var id = _ref.id,
|
|
20
|
+
isSelected = _ref.isSelected,
|
|
21
|
+
onMouseMove = _ref.onMouseMove,
|
|
22
|
+
registration = _ref.registration;
|
|
23
|
+
var quickInsertContext = (0, _useQuickInsertContext.useQuickInsertContext)();
|
|
24
|
+
var Component = (_registration$compone = registration.component) !== null && _registration$compone !== void 0 ? _registration$compone : _PassThrough.PassThrough;
|
|
25
|
+
var contextValue = (0, _react.useMemo)(function () {
|
|
26
|
+
return _objectSpread(_objectSpread({}, quickInsertContext), {}, {
|
|
27
|
+
item: {
|
|
28
|
+
id: id,
|
|
29
|
+
isSelected: isSelected,
|
|
30
|
+
onMouseMove: onMouseMove
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}, [id, isSelected, onMouseMove, quickInsertContext]);
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(_provider.QuickInsertProvider, {
|
|
35
|
+
value: contextValue
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(Component, null, null));
|
|
37
|
+
};
|