@atlaskit/editor-plugin-quick-insert 29.0.3 → 30.0.0
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 +18 -0
- package/dist/cjs/quickInsertPlugin.js +10 -5
- package/dist/cjs/ui/QuickInsertRecommendedSlot.js +11 -8
- package/dist/cjs/ui/RegistryElementBrowser/RegistryElementBrowser.js +31 -7
- package/dist/cjs/ui/RegistryElementBrowser/RegistryElementBrowserSearchResults.js +13 -7
- package/dist/cjs/ui/RegistryElementBrowser/model.js +14 -15
- package/dist/cjs/ui/getQuickInsertComponents.js +28 -16
- package/dist/cjs/ui/getRecommendedComponents.js +2 -2
- package/dist/cjs/ui/registered-menu/QuickInsertEmptyState.compiled.css +11 -0
- package/dist/cjs/ui/registered-menu/QuickInsertEmptyState.js +61 -0
- package/dist/cjs/ui/registered-menu/QuickInsertMenuRoot.js +220 -0
- package/dist/cjs/ui/registered-menu/QuickInsertMenuSection.js +23 -0
- package/dist/cjs/ui/registered-menu/QuickInsertSearchResultsSection.js +19 -0
- package/dist/cjs/ui/registered-menu/RegisteredQuickInsertMenuItem.js +42 -0
- package/dist/cjs/ui/registered-menu/ToolbarQuickInsertMenu.compiled.css +11 -0
- package/dist/cjs/ui/registered-menu/ToolbarQuickInsertMenu.js +128 -0
- package/dist/cjs/ui/registered-menu/TypeAheadQuickInsertMenu.compiled.css +3 -0
- package/dist/cjs/ui/registered-menu/TypeAheadQuickInsertMenu.js +90 -0
- package/dist/cjs/ui/registered-menu/assets/no-results.js +36 -0
- package/dist/cjs/ui/registered-menu/get-quick-insert-menu-model.js +237 -0
- package/dist/cjs/ui/registered-menu/getQuickInsertMenuItemId.js +9 -0
- package/dist/cjs/ui/registered-menu/selectQuickInsertCategoryItems.js +27 -0
- package/dist/cjs/ui/registered-menu/useQuickInsertSearchAnalytics.js +100 -0
- package/dist/es2019/quickInsertPlugin.js +10 -5
- package/dist/es2019/ui/QuickInsertRecommendedSlot.js +10 -5
- package/dist/es2019/ui/RegistryElementBrowser/RegistryElementBrowser.js +19 -2
- package/dist/es2019/ui/RegistryElementBrowser/RegistryElementBrowserSearchResults.js +12 -7
- package/dist/es2019/ui/RegistryElementBrowser/model.js +12 -13
- package/dist/es2019/ui/getQuickInsertComponents.js +24 -10
- package/dist/es2019/ui/getRecommendedComponents.js +2 -2
- package/dist/es2019/ui/registered-menu/QuickInsertEmptyState.compiled.css +11 -0
- package/dist/es2019/ui/registered-menu/QuickInsertEmptyState.js +47 -0
- package/dist/es2019/ui/registered-menu/QuickInsertMenuRoot.js +191 -0
- package/dist/es2019/ui/registered-menu/QuickInsertMenuSection.js +15 -0
- package/dist/es2019/ui/registered-menu/QuickInsertSearchResultsSection.js +14 -0
- package/dist/es2019/ui/registered-menu/RegisteredQuickInsertMenuItem.js +34 -0
- package/dist/es2019/ui/registered-menu/ToolbarQuickInsertMenu.compiled.css +11 -0
- package/dist/es2019/ui/registered-menu/ToolbarQuickInsertMenu.js +116 -0
- package/dist/es2019/ui/registered-menu/TypeAheadQuickInsertMenu.compiled.css +3 -0
- package/dist/es2019/ui/registered-menu/TypeAheadQuickInsertMenu.js +78 -0
- package/dist/es2019/ui/registered-menu/assets/no-results.js +30 -0
- package/dist/es2019/ui/registered-menu/get-quick-insert-menu-model.js +177 -0
- package/dist/es2019/ui/registered-menu/getQuickInsertMenuItemId.js +1 -0
- package/dist/es2019/ui/registered-menu/selectQuickInsertCategoryItems.js +19 -0
- package/dist/es2019/ui/registered-menu/useQuickInsertSearchAnalytics.js +91 -0
- package/dist/esm/quickInsertPlugin.js +10 -5
- package/dist/esm/ui/QuickInsertRecommendedSlot.js +11 -8
- package/dist/esm/ui/RegistryElementBrowser/RegistryElementBrowser.js +30 -6
- package/dist/esm/ui/RegistryElementBrowser/RegistryElementBrowserSearchResults.js +12 -7
- package/dist/esm/ui/RegistryElementBrowser/model.js +14 -15
- package/dist/esm/ui/getQuickInsertComponents.js +27 -15
- package/dist/esm/ui/getRecommendedComponents.js +2 -2
- package/dist/esm/ui/registered-menu/QuickInsertEmptyState.compiled.css +11 -0
- package/dist/esm/ui/registered-menu/QuickInsertEmptyState.js +50 -0
- package/dist/esm/ui/registered-menu/QuickInsertMenuRoot.js +211 -0
- package/dist/esm/ui/registered-menu/QuickInsertMenuSection.js +16 -0
- package/dist/esm/ui/registered-menu/QuickInsertSearchResultsSection.js +12 -0
- package/dist/esm/ui/registered-menu/RegisteredQuickInsertMenuItem.js +34 -0
- package/dist/esm/ui/registered-menu/ToolbarQuickInsertMenu.compiled.css +11 -0
- package/dist/esm/ui/registered-menu/ToolbarQuickInsertMenu.js +120 -0
- package/dist/esm/ui/registered-menu/TypeAheadQuickInsertMenu.compiled.css +3 -0
- package/dist/esm/ui/registered-menu/TypeAheadQuickInsertMenu.js +82 -0
- package/dist/esm/ui/registered-menu/assets/no-results.js +29 -0
- package/dist/esm/ui/registered-menu/get-quick-insert-menu-model.js +230 -0
- package/dist/esm/ui/registered-menu/getQuickInsertMenuItemId.js +3 -0
- package/dist/esm/ui/registered-menu/selectQuickInsertCategoryItems.js +21 -0
- package/dist/esm/ui/registered-menu/useQuickInsertSearchAnalytics.js +93 -0
- package/dist/types/quickInsertPluginType.d.ts +1 -1
- package/dist/types/ui/QuickInsertRecommendedSlot.d.ts +3 -3
- package/dist/types/ui/RegistryElementBrowser/RegistryElementBrowserSearchResults.d.ts +5 -2
- package/dist/types/ui/RegistryElementBrowser/model.d.ts +3 -2
- package/dist/types/ui/getQuickInsertComponents.d.ts +8 -2
- package/dist/types/ui/registered-menu/QuickInsertEmptyState.d.ts +7 -0
- package/dist/types/ui/registered-menu/QuickInsertMenuRoot.d.ts +11 -0
- package/dist/types/ui/registered-menu/QuickInsertMenuSection.d.ts +4 -0
- package/dist/types/ui/registered-menu/QuickInsertSearchResultsSection.d.ts +2 -0
- package/dist/types/ui/registered-menu/RegisteredQuickInsertMenuItem.d.ts +3 -0
- package/dist/types/ui/registered-menu/ToolbarQuickInsertMenu.d.ts +28 -0
- package/dist/types/ui/registered-menu/TypeAheadQuickInsertMenu.d.ts +27 -0
- package/dist/types/ui/registered-menu/assets/no-results.d.ts +7 -0
- package/dist/types/ui/registered-menu/get-quick-insert-menu-model.d.ts +19 -0
- package/dist/types/ui/registered-menu/getQuickInsertMenuItemId.d.ts +1 -0
- package/dist/types/ui/registered-menu/selectQuickInsertCategoryItems.d.ts +7 -0
- package/dist/types/ui/registered-menu/useQuickInsertSearchAnalytics.d.ts +12 -0
- package/package.json +14 -11
- package/registered-menu/model/package.json +10 -0
- package/registered-menu/search-analytics/package.json +10 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-quick-insert
|
|
2
2
|
|
|
3
|
+
## 30.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`7e91f3141329d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7e91f3141329d) -
|
|
8
|
+
Decouple Quick Insert menu rendering and interaction from typeahead under the existing
|
|
9
|
+
`platform_editor_slash_command` experiment.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
15
|
+
## 29.0.4
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
|
|
3
21
|
## 29.0.3
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -13,6 +13,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
13
13
|
var _reactIntl = require("react-intl");
|
|
14
14
|
var _isSsr = require("@atlaskit/editor-common/is-ssr");
|
|
15
15
|
var _insertBlock = require("@atlaskit/editor-common/messages/insert-block");
|
|
16
|
+
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
16
17
|
var _quickInsertRank = require("@atlaskit/editor-common/quick-insert/quick-insert-rank");
|
|
17
18
|
var _utils = require("@atlaskit/editor-common/quick-insert/utils");
|
|
18
19
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
@@ -44,6 +45,7 @@ var quickInsertPlugin = exports.quickInsertPlugin = function quickInsertPlugin(_
|
|
|
44
45
|
var getItemRank = (0, _quickInsertRank.createQuickInsertRankResolver)(options === null || options === void 0 ? void 0 : options.getItemRank);
|
|
45
46
|
var typeAhead = {
|
|
46
47
|
id: _typeAhead.TypeAheadAvailableNodes.QUICK_INSERT,
|
|
48
|
+
registeredMenuKey: (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_slash_command') ? _keys.MENU.key : undefined,
|
|
47
49
|
getRegisteredItemRank: getItemRank,
|
|
48
50
|
trigger: '/',
|
|
49
51
|
// Support fullwidth slash (U+FF0F) used by Japanese/CJK keyboards (e.g. typing / on a Japanese keyboard layout)
|
|
@@ -85,12 +87,15 @@ var quickInsertPlugin = exports.quickInsertPlugin = function quickInsertPlugin(_
|
|
|
85
87
|
} : undefined
|
|
86
88
|
};
|
|
87
89
|
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_slash_command')) {
|
|
88
|
-
var _api$uiControlRegistr;
|
|
90
|
+
var _api$uiControlRegistr, _api$analytics;
|
|
89
91
|
api === null || api === void 0 || (_api$uiControlRegistr = api.uiControlRegistry) === null || _api$uiControlRegistr === void 0 || _api$uiControlRegistr.actions.register((0, _getQuickInsertComponents.getQuickInsertComponents)({
|
|
90
92
|
api: api,
|
|
91
|
-
|
|
93
|
+
getItemRank: getItemRank,
|
|
92
94
|
isRecommendedItem: options === null || options === void 0 ? void 0 : options.isRecommendedItem,
|
|
93
|
-
maxRecommendedItems: options === null || options === void 0 ? void 0 : options.maxRecommendedItems
|
|
95
|
+
maxRecommendedItems: options === null || options === void 0 ? void 0 : options.maxRecommendedItems,
|
|
96
|
+
emptyStateHandler: options === null || options === void 0 ? void 0 : options.emptyStateHandler,
|
|
97
|
+
fireAnalyticsEvent: api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions.fireAnalyticsEvent,
|
|
98
|
+
includeElementBrowserItems: (options === null || options === void 0 ? void 0 : options.enableElementBrowser) === true
|
|
94
99
|
}));
|
|
95
100
|
}
|
|
96
101
|
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_block_control_migration') && (options === null || options === void 0 ? void 0 : options.blockControlButtonEnabled) !== false) {
|
|
@@ -149,8 +154,8 @@ var quickInsertPlugin = exports.quickInsertPlugin = function quickInsertPlugin(_
|
|
|
149
154
|
return (0, _quickInsertOpenExperience.getQuickInsertOpenExperiencePlugin)({
|
|
150
155
|
refs: refs,
|
|
151
156
|
dispatchAnalyticsEvent: function dispatchAnalyticsEvent(payload) {
|
|
152
|
-
var _api$
|
|
153
|
-
return api === null || api === void 0 || (_api$
|
|
157
|
+
var _api$analytics2;
|
|
158
|
+
return api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 || (_api$analytics2 = _api$analytics2.actions) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.fireAnalyticsEvent(payload);
|
|
154
159
|
}
|
|
155
160
|
});
|
|
156
161
|
}
|
|
@@ -5,16 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.QuickInsertRecommendedSlot = void 0;
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _useQuickInsertContext = require("@atlaskit/editor-common/quick-insert/use-quick-insert-context");
|
|
11
|
-
var _excluded = ["index", "getSnapshot"];
|
|
12
10
|
var QuickInsertRecommendedSlot = exports.QuickInsertRecommendedSlot = function QuickInsertRecommendedSlot(_ref) {
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
var children = _ref.children,
|
|
12
|
+
parents = _ref.parents,
|
|
13
|
+
surfaceContext = _ref.surfaceContext,
|
|
14
|
+
index = _ref.index,
|
|
15
|
+
getSnapshot = _ref.getSnapshot;
|
|
16
16
|
var _useQuickInsertContex = (0, _useQuickInsertContext.useQuickInsertContext)(),
|
|
17
|
-
|
|
18
|
-
var item = getSnapshot(
|
|
19
|
-
return item !== null && item !== void 0 && item.component ? /*#__PURE__*/_react.default.createElement(item.component,
|
|
17
|
+
menuSurfaceContext = _useQuickInsertContex.surfaceContext;
|
|
18
|
+
var item = getSnapshot(menuSurfaceContext)[index];
|
|
19
|
+
return item !== null && item !== void 0 && item.component ? /*#__PURE__*/_react.default.createElement(item.component, {
|
|
20
|
+
parents: parents,
|
|
21
|
+
surfaceContext: surfaceContext
|
|
22
|
+
}, children) : null;
|
|
20
23
|
};
|
|
@@ -16,7 +16,7 @@ var _reactIntl = require("react-intl");
|
|
|
16
16
|
var _button = _interopRequireDefault(require("@atlaskit/button/icon/button"));
|
|
17
17
|
var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
18
18
|
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
19
|
-
var
|
|
19
|
+
var _surfaceContext = require("@atlaskit/editor-common/registered-menu/surface-context");
|
|
20
20
|
var _typeAheadGetMenuFooterSectionKey = require("@atlaskit/editor-common/type-ahead-get-menu-footer-section-key");
|
|
21
21
|
var _typeAheadGetSectionOverflowItemKey = require("@atlaskit/editor-common/type-ahead-get-section-overflow-item-key");
|
|
22
22
|
var _heading = _interopRequireDefault(require("@atlaskit/heading/heading"));
|
|
@@ -29,6 +29,7 @@ var _modalTitle = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-t
|
|
|
29
29
|
var _modalTransition = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-transition"));
|
|
30
30
|
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
31
31
|
var _textField = _interopRequireDefault(require("@atlaskit/textfield/text-field"));
|
|
32
|
+
var _useQuickInsertSearchAnalytics = require("../registered-menu/useQuickInsertSearchAnalytics");
|
|
32
33
|
var _model = require("./model");
|
|
33
34
|
var _RegistryElementBrowserCategories = require("./RegistryElementBrowserCategories");
|
|
34
35
|
var _RegistryElementBrowserFooter = require("./RegistryElementBrowserFooter");
|
|
@@ -71,13 +72,34 @@ var RegistryElementBrowser = exports.RegistryElementBrowser = function RegistryE
|
|
|
71
72
|
onSelect = _ref.onSelect;
|
|
72
73
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
73
74
|
formatMessage = _useIntl.formatMessage;
|
|
74
|
-
var _useState = (0, _react.useState)({
|
|
75
|
+
var _useState = (0, _react.useState)(function () {
|
|
76
|
+
return {
|
|
77
|
+
isOpen: isOpen,
|
|
78
|
+
menuOpenId: Symbol('element-browser')
|
|
79
|
+
};
|
|
80
|
+
}),
|
|
81
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
82
|
+
session = _useState2[0],
|
|
83
|
+
setSession = _useState2[1];
|
|
84
|
+
if (session.isOpen !== isOpen) {
|
|
85
|
+
setSession({
|
|
86
|
+
isOpen: isOpen,
|
|
87
|
+
menuOpenId: isOpen ? Symbol('element-browser') : session.menuOpenId
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
var surfaceContext = (0, _react.useMemo)(function () {
|
|
91
|
+
return (0, _surfaceContext.createRegisteredMenuSurfaceContext)({
|
|
92
|
+
menuOpenId: session.menuOpenId,
|
|
93
|
+
surface: 'element-browser'
|
|
94
|
+
});
|
|
95
|
+
}, [session.menuOpenId]);
|
|
96
|
+
var _useState3 = (0, _react.useState)({
|
|
75
97
|
query: '',
|
|
76
98
|
section: defaultSection
|
|
77
99
|
}),
|
|
78
|
-
|
|
79
|
-
browserState =
|
|
80
|
-
setBrowserState =
|
|
100
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
101
|
+
browserState = _useState4[0],
|
|
102
|
+
setBrowserState = _useState4[1];
|
|
81
103
|
var query = browserState.query,
|
|
82
104
|
section = browserState.section,
|
|
83
105
|
selectedRegistration = browserState.selectedRegistration;
|
|
@@ -85,6 +107,7 @@ var RegistryElementBrowser = exports.RegistryElementBrowser = function RegistryE
|
|
|
85
107
|
var browserModel = (0, _react.useMemo)(function () {
|
|
86
108
|
var model = (0, _model.createRegistryElementBrowserModel)(components, {
|
|
87
109
|
footerKey: (0, _typeAheadGetMenuFooterSectionKey.getMenuFooterSectionKey)(_keys.MENU.key),
|
|
110
|
+
surfaceContext: surfaceContext,
|
|
88
111
|
overflowKeys: new Set(components.filter(function (component) {
|
|
89
112
|
return component.type === 'menu-section';
|
|
90
113
|
}).map(function (component) {
|
|
@@ -107,7 +130,7 @@ var RegistryElementBrowser = exports.RegistryElementBrowser = function RegistryE
|
|
|
107
130
|
section: effectiveSection
|
|
108
131
|
})
|
|
109
132
|
};
|
|
110
|
-
}, [components, formatMessage, query, section]);
|
|
133
|
+
}, [components, formatMessage, query, section, surfaceContext]);
|
|
111
134
|
var model = browserModel.model,
|
|
112
135
|
effectiveSection = browserModel.effectiveSection,
|
|
113
136
|
items = browserModel.items;
|
|
@@ -167,7 +190,7 @@ var RegistryElementBrowser = exports.RegistryElementBrowser = function RegistryE
|
|
|
167
190
|
}
|
|
168
191
|
}, [browserState.invalidation, isOpen, onClearSelection]);
|
|
169
192
|
var resultCount = items.length || (!isLoading && query.trim() ? (_model$fallbackItems$ = (_model$fallbackItems2 = model.fallbackItems) === null || _model$fallbackItems2 === void 0 ? void 0 : _model$fallbackItems2.length) !== null && _model$fallbackItems$ !== void 0 ? _model$fallbackItems$ : 0 : 0);
|
|
170
|
-
var flushSearchAnalytics = (0,
|
|
193
|
+
var flushSearchAnalytics = (0, _useQuickInsertSearchAnalytics.useQuickInsertSearchAnalytics)({
|
|
171
194
|
query: query,
|
|
172
195
|
resultCount: items.length,
|
|
173
196
|
surface: 'element-browser',
|
|
@@ -361,6 +384,7 @@ var RegistryElementBrowser = exports.RegistryElementBrowser = function RegistryE
|
|
|
361
384
|
fallbackItems: model.fallbackItems,
|
|
362
385
|
query: query,
|
|
363
386
|
resultsId: resultsId,
|
|
387
|
+
surfaceContext: surfaceContext,
|
|
364
388
|
section: effectiveSection,
|
|
365
389
|
selectedKey: selectedKey,
|
|
366
390
|
onKeyDown: onKeyDown,
|
|
@@ -10,8 +10,8 @@ require("./RegistryElementBrowserSearchResults.compiled.css");
|
|
|
10
10
|
var _runtime = require("@compiled/react/runtime");
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactIntl = require("react-intl");
|
|
13
|
-
var _emptyState = require("@atlaskit/editor-common/quick-insert/empty-state");
|
|
14
13
|
var _provider = require("@atlaskit/editor-common/quick-insert/provider");
|
|
14
|
+
var _QuickInsertEmptyState = require("../registered-menu/QuickInsertEmptyState");
|
|
15
15
|
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); }
|
|
16
16
|
// oxlint-disable-next-line eslint/no-redeclare
|
|
17
17
|
|
|
@@ -25,7 +25,8 @@ var RegistryElementBrowserItem = function RegistryElementBrowserItem(_ref) {
|
|
|
25
25
|
isOffline = _ref.isOffline,
|
|
26
26
|
isSelected = _ref.isSelected,
|
|
27
27
|
item = _ref.item,
|
|
28
|
-
onSelect = _ref.onSelect
|
|
28
|
+
onSelect = _ref.onSelect,
|
|
29
|
+
surfaceContext = _ref.surfaceContext;
|
|
29
30
|
var _item$registration = item.registration,
|
|
30
31
|
Component = _item$registration.component,
|
|
31
32
|
key = _item$registration.key;
|
|
@@ -41,15 +42,18 @@ var RegistryElementBrowserItem = function RegistryElementBrowserItem(_ref) {
|
|
|
41
42
|
select: function select(handler) {
|
|
42
43
|
return onSelect(key, handler);
|
|
43
44
|
},
|
|
44
|
-
|
|
45
|
+
surfaceContext: surfaceContext
|
|
45
46
|
};
|
|
46
|
-
}, [editorView, isOffline, isSelected, item.description, key, onSelect]);
|
|
47
|
+
}, [editorView, isOffline, isSelected, item.description, key, onSelect, surfaceContext]);
|
|
47
48
|
if (!Component) {
|
|
48
49
|
return null;
|
|
49
50
|
}
|
|
50
51
|
return /*#__PURE__*/_react.default.createElement(_provider.QuickInsertProvider, {
|
|
51
52
|
value: contextValue
|
|
52
|
-
}, /*#__PURE__*/_react.default.createElement(Component,
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
54
|
+
parents: item.registration.parents,
|
|
55
|
+
surfaceContext: surfaceContext
|
|
56
|
+
}, null));
|
|
53
57
|
};
|
|
54
58
|
var RegistryElementBrowserSearchResults = exports.RegistryElementBrowserSearchResults = function RegistryElementBrowserSearchResults(_ref2) {
|
|
55
59
|
var editorView = _ref2.editorView,
|
|
@@ -63,6 +67,7 @@ var RegistryElementBrowserSearchResults = exports.RegistryElementBrowserSearchRe
|
|
|
63
67
|
resultsId = _ref2.resultsId,
|
|
64
68
|
section = _ref2.section,
|
|
65
69
|
selectedKey = _ref2.selectedKey,
|
|
70
|
+
surfaceContext = _ref2.surfaceContext,
|
|
66
71
|
onKeyDown = _ref2.onKeyDown,
|
|
67
72
|
onSelect = _ref2.onSelect;
|
|
68
73
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
@@ -103,9 +108,10 @@ var RegistryElementBrowserSearchResults = exports.RegistryElementBrowserSearchRe
|
|
|
103
108
|
isSelected: selectedKey === item.registration.key,
|
|
104
109
|
item: item,
|
|
105
110
|
key: item.registration.key,
|
|
106
|
-
onSelect: onSelect
|
|
111
|
+
onSelect: onSelect,
|
|
112
|
+
surfaceContext: surfaceContext
|
|
107
113
|
});
|
|
108
|
-
})), shouldRenderEmptyState && !hasFallbackItems && query.trim().length > 0 && /*#__PURE__*/_react.default.createElement(
|
|
114
|
+
})), shouldRenderEmptyState && !hasFallbackItems && query.trim().length > 0 && /*#__PURE__*/_react.default.createElement(_QuickInsertEmptyState.QuickInsertEmptyState, {
|
|
109
115
|
mode: "full"
|
|
110
116
|
}), emptyState && /*#__PURE__*/_react.default.createElement("div", {
|
|
111
117
|
className: (0, _runtime.ax)(["_yyhyjvu9 _1ul9idpf _1bsb1osq", styles.fallbackMarketplace])
|
|
@@ -21,16 +21,14 @@ var compareRanks = function compareRanks(left, right) {
|
|
|
21
21
|
}
|
|
22
22
|
return 0;
|
|
23
23
|
};
|
|
24
|
-
var
|
|
25
|
-
var _registration$isHidde;
|
|
26
|
-
return ((_registration$isHidde = registration.isHidden) === null || _registration$isHidde === void 0 ? void 0 : _registration$isHidde.call(registration)) !== true;
|
|
27
|
-
};
|
|
28
|
-
var getChildren = function getChildren(components, parentKey) {
|
|
24
|
+
var getChildren = function getChildren(components, parentKey, surfaceContext) {
|
|
29
25
|
return components.filter(function (component) {
|
|
30
|
-
var _component$parents;
|
|
31
|
-
return
|
|
26
|
+
var _component$parents, _component$isHidden;
|
|
27
|
+
return ((_component$parents = component.parents) === null || _component$parents === void 0 ? void 0 : _component$parents.some(function (parent) {
|
|
32
28
|
return parent.key === parentKey;
|
|
33
|
-
}))
|
|
29
|
+
})) && ((_component$isHidden = component.isHidden) === null || _component$isHidden === void 0 ? void 0 : _component$isHidden.call(component, {
|
|
30
|
+
surfaceContext: surfaceContext
|
|
31
|
+
})) !== true;
|
|
34
32
|
});
|
|
35
33
|
};
|
|
36
34
|
var getParentRank = function getParentRank(registration, parentKey) {
|
|
@@ -39,8 +37,8 @@ var getParentRank = function getParentRank(registration, parentKey) {
|
|
|
39
37
|
return parent.key === parentKey;
|
|
40
38
|
})) === null || _registration$parents2 === void 0 ? void 0 : _registration$parents2.rank) !== null && _registration$parents !== void 0 ? _registration$parents : Number.MAX_SAFE_INTEGER;
|
|
41
39
|
};
|
|
42
|
-
var _getDescendantItems = function getDescendantItems(components, parentKey, ancestorRanks, sectionKey) {
|
|
43
|
-
return getChildren(components, parentKey).flatMap(function (component) {
|
|
40
|
+
var _getDescendantItems = function getDescendantItems(components, parentKey, ancestorRanks, sectionKey, surfaceContext) {
|
|
41
|
+
return getChildren(components, parentKey, surfaceContext).flatMap(function (component) {
|
|
44
42
|
var ranks = [].concat((0, _toConsumableArray2.default)(ancestorRanks), [getParentRank(component, parentKey)]);
|
|
45
43
|
if (component.type === 'menu-item') {
|
|
46
44
|
return component.component ? [{
|
|
@@ -49,7 +47,7 @@ var _getDescendantItems = function getDescendantItems(components, parentKey, anc
|
|
|
49
47
|
sectionKeys: [sectionKey]
|
|
50
48
|
}] : [];
|
|
51
49
|
}
|
|
52
|
-
return _getDescendantItems(components, component.key, ranks, sectionKey);
|
|
50
|
+
return _getDescendantItems(components, component.key, ranks, sectionKey, surfaceContext);
|
|
53
51
|
});
|
|
54
52
|
};
|
|
55
53
|
|
|
@@ -61,12 +59,13 @@ var createRegistryElementBrowserModel = exports.createRegistryElementBrowserMode
|
|
|
61
59
|
var footerKey = _ref.footerKey,
|
|
62
60
|
overflowKeys = _ref.overflowKeys,
|
|
63
61
|
recommendedSectionKey = _ref.recommendedSectionKey,
|
|
64
|
-
rootKey = _ref.rootKey
|
|
62
|
+
rootKey = _ref.rootKey,
|
|
63
|
+
surfaceContext = _ref.surfaceContext;
|
|
65
64
|
var excludedKeys = new Set([footerKey, recommendedSectionKey].concat((0, _toConsumableArray2.default)(overflowKeys)));
|
|
66
65
|
var visibleComponents = components.filter(function (component) {
|
|
67
|
-
return
|
|
66
|
+
return !excludedKeys.has(component.key);
|
|
68
67
|
});
|
|
69
|
-
var sections = getChildren(visibleComponents, rootKey).filter(function (component) {
|
|
68
|
+
var sections = getChildren(visibleComponents, rootKey, surfaceContext).filter(function (component) {
|
|
70
69
|
return component.type === 'menu-section';
|
|
71
70
|
}).map(function (section) {
|
|
72
71
|
return {
|
|
@@ -78,7 +77,7 @@ var createRegistryElementBrowserModel = exports.createRegistryElementBrowserMode
|
|
|
78
77
|
});
|
|
79
78
|
var itemByKey = new Map();
|
|
80
79
|
sections.forEach(function (section) {
|
|
81
|
-
_getDescendantItems(visibleComponents, section.key, [section.rank], section.key).forEach(function (item) {
|
|
80
|
+
_getDescendantItems(visibleComponents, section.key, [section.rank], section.key, surfaceContext).forEach(function (item) {
|
|
82
81
|
var existing = itemByKey.get(item.registration.key);
|
|
83
82
|
if (!existing) {
|
|
84
83
|
itemByKey.set(item.registration.key, item);
|
|
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.getQuickInsertComponents = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _react = _interopRequireDefault(require("react"));
|
|
11
10
|
var _reactIntl = require("react-intl");
|
|
12
11
|
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
13
|
-
var _menuRoot = require("@atlaskit/editor-common/quick-insert/menu-root");
|
|
14
|
-
var _menuSection = require("@atlaskit/editor-common/quick-insert/menu-section");
|
|
15
12
|
var _messages = require("@atlaskit/editor-common/quick-insert/messages");
|
|
16
13
|
var _rank = require("@atlaskit/editor-common/quick-insert/rank");
|
|
17
14
|
var _typeAheadGetMenuFooterSectionKey = require("@atlaskit/editor-common/type-ahead-get-menu-footer-section-key");
|
|
@@ -20,8 +17,8 @@ var _getRecommendedComponents = require("./getRecommendedComponents");
|
|
|
20
17
|
var _QuickInsertMenuFooterItem = require("./QuickInsertMenuFooterItem");
|
|
21
18
|
var _QuickInsertRecommendedSlot = require("./QuickInsertRecommendedSlot");
|
|
22
19
|
var _QuickInsertSectionOverflowMenuItem = require("./QuickInsertSectionOverflowMenuItem");
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
var _QuickInsertMenuRoot = _interopRequireDefault(require("./registered-menu/QuickInsertMenuRoot"));
|
|
21
|
+
var _QuickInsertMenuSection = require("./registered-menu/QuickInsertMenuSection");
|
|
25
22
|
var categories = [{
|
|
26
23
|
message: _messages.messages.categoryRecommended,
|
|
27
24
|
section: _keys.RECOMMENDED_SECTION
|
|
@@ -58,7 +55,7 @@ var createSectionComponent = function createSectionComponent(message) {
|
|
|
58
55
|
var children = _ref.children;
|
|
59
56
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
60
57
|
formatMessage = _useIntl.formatMessage;
|
|
61
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_QuickInsertMenuSection.QuickInsertMenuSection, {
|
|
62
59
|
title: formatMessage(message)
|
|
63
60
|
}, children);
|
|
64
61
|
};
|
|
@@ -68,7 +65,10 @@ var getQuickInsertComponents = exports.getQuickInsertComponents = function getQu
|
|
|
68
65
|
var api = _ref2.api,
|
|
69
66
|
includeElementBrowserItems = _ref2.includeElementBrowserItems,
|
|
70
67
|
isRecommendedItem = _ref2.isRecommendedItem,
|
|
71
|
-
maxRecommendedItems = _ref2.maxRecommendedItems
|
|
68
|
+
maxRecommendedItems = _ref2.maxRecommendedItems,
|
|
69
|
+
getItemRank = _ref2.getItemRank,
|
|
70
|
+
emptyStateHandler = _ref2.emptyStateHandler,
|
|
71
|
+
fireAnalyticsEvent = _ref2.fireAnalyticsEvent;
|
|
72
72
|
var recommendedSnapshot = (0, _getRecommendedComponents.createRecommendedSnapshotCache)({
|
|
73
73
|
api: api,
|
|
74
74
|
isRecommendedItem: isRecommendedItem,
|
|
@@ -93,21 +93,33 @@ var getQuickInsertComponents = exports.getQuickInsertComponents = function getQu
|
|
|
93
93
|
surfaceContext = _ref3.surfaceContext;
|
|
94
94
|
return !recommendedSnapshot.getSnapshot(surfaceContext)[index];
|
|
95
95
|
},
|
|
96
|
-
component: function component(
|
|
97
|
-
|
|
96
|
+
component: function component(_ref4) {
|
|
97
|
+
var children = _ref4.children,
|
|
98
|
+
parents = _ref4.parents,
|
|
99
|
+
surfaceContext = _ref4.surfaceContext;
|
|
100
|
+
return /*#__PURE__*/_react.default.createElement(_QuickInsertRecommendedSlot.QuickInsertRecommendedSlot, {
|
|
101
|
+
parents: parents,
|
|
102
|
+
surfaceContext: surfaceContext,
|
|
98
103
|
index: index,
|
|
99
104
|
getSnapshot: recommendedSnapshot.getSnapshot
|
|
100
|
-
})
|
|
105
|
+
}, children);
|
|
101
106
|
}
|
|
102
107
|
};
|
|
103
108
|
});
|
|
104
109
|
return [{
|
|
105
110
|
key: _keys.MENU.key,
|
|
106
111
|
type: _keys.MENU.type,
|
|
107
|
-
component:
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
component: function component(_ref5) {
|
|
113
|
+
var children = _ref5.children;
|
|
114
|
+
return /*#__PURE__*/_react.default.createElement(_QuickInsertMenuRoot.default, {
|
|
115
|
+
getItemRank: getItemRank,
|
|
116
|
+
emptyStateHandler: emptyStateHandler,
|
|
117
|
+
fireAnalyticsEvent: fireAnalyticsEvent
|
|
118
|
+
}, children);
|
|
119
|
+
}
|
|
120
|
+
}].concat(recommendedSlots, (0, _toConsumableArray2.default)(categories.flatMap(function (_ref6) {
|
|
121
|
+
var message = _ref6.message,
|
|
122
|
+
section = _ref6.section;
|
|
111
123
|
return [{
|
|
112
124
|
key: section.key,
|
|
113
125
|
type: section.type,
|
|
@@ -118,8 +130,8 @@ var getQuickInsertComponents = exports.getQuickInsertComponents = function getQu
|
|
|
118
130
|
}],
|
|
119
131
|
component: createSectionComponent(message),
|
|
120
132
|
isHidden: section.key === _keys.RECOMMENDED_SECTION.key ? function () {
|
|
121
|
-
var
|
|
122
|
-
surfaceContext =
|
|
133
|
+
var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
134
|
+
surfaceContext = _ref7.surfaceContext;
|
|
123
135
|
return recommendedSnapshot.getSnapshot(surfaceContext).length === 0;
|
|
124
136
|
} : undefined
|
|
125
137
|
}].concat((0, _toConsumableArray2.default)(includeElementBrowserItems && section.key !== _keys.RECOMMENDED_SECTION.key ? [{
|
|
@@ -8,9 +8,9 @@ var _error = require("@atlaskit/editor-common/monitoring/error");
|
|
|
8
8
|
var _getProviderMenuItemKey = require("@atlaskit/editor-common/quick-insert/get-provider-menu-item-key");
|
|
9
9
|
var _isRecommendedItem = require("@atlaskit/editor-common/quick-insert/is-recommended-item");
|
|
10
10
|
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
11
|
+
var _surfaceContext = require("@atlaskit/editor-common/registered-menu/surface-context");
|
|
11
12
|
var _typeAheadIsMenuFooterSectionKey = require("@atlaskit/editor-common/type-ahead-is-menu-footer-section-key");
|
|
12
13
|
var _typeAheadIsSectionOverflowItemKey = require("@atlaskit/editor-common/type-ahead-is-section-overflow-item-key");
|
|
13
|
-
var _typeAheadSurfaceContext = require("@atlaskit/editor-common/type-ahead-surface-context");
|
|
14
14
|
var MAX_RECOMMENDED_ITEMS = exports.MAX_RECOMMENDED_ITEMS = 5;
|
|
15
15
|
var RECOMMENDED_SLOT_KEY_PREFIX = exports.RECOMMENDED_SLOT_KEY_PREFIX = 'quick-insert-recommended-slot-';
|
|
16
16
|
var isRecommendedSlotKey = exports.isRecommendedSlotKey = function isRecommendedSlotKey(key) {
|
|
@@ -82,7 +82,7 @@ var createRecommendedSnapshotCache = exports.createRecommendedSnapshotCache = fu
|
|
|
82
82
|
var snapshot;
|
|
83
83
|
var getSnapshot = function getSnapshot(surfaceContext) {
|
|
84
84
|
var _surfaceContext$get, _snapshot;
|
|
85
|
-
var menuOpenId = surfaceContext === null || surfaceContext === void 0 || (_surfaceContext$get = surfaceContext.get(
|
|
85
|
+
var menuOpenId = surfaceContext === null || surfaceContext === void 0 || (_surfaceContext$get = surfaceContext.get(_surfaceContext.REGISTERED_MENU_SURFACE_CONTEXT)) === null || _surfaceContext$get === void 0 ? void 0 : _surfaceContext$get.menuOpenId;
|
|
86
86
|
if (!surfaceContext || !menuOpenId) {
|
|
87
87
|
return [];
|
|
88
88
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
._zulp1ejb{gap:var(--ds-space-300,24px)}
|
|
2
|
+
._1rjcoahv{padding-block:var(--ds-space-600,3pc)}
|
|
3
|
+
._1rjcxy5q{padding-block:var(--ds-space-400,2pc)}._1bah1h6o{justify-content:center}
|
|
4
|
+
._1bsb1mcy{width:57px}
|
|
5
|
+
._1bsb1osq{width:100%}
|
|
6
|
+
._1bsbtudo{width:76px}
|
|
7
|
+
._1e0c1txw{display:flex}
|
|
8
|
+
._2lx21bp4{flex-direction:column}
|
|
9
|
+
._4cvr1h6o{align-items:center}
|
|
10
|
+
._4t3i1h39{height:63px}
|
|
11
|
+
._4t3io7ol{height:84px}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/* QuickInsertEmptyState.tsx generated by @compiled/babel-plugin v3.0.2 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.QuickInsertEmptyState = void 0;
|
|
9
|
+
require("./QuickInsertEmptyState.compiled.css");
|
|
10
|
+
var _runtime = require("@compiled/react/runtime");
|
|
11
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
var _reactIntl = require("react-intl");
|
|
14
|
+
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
15
|
+
var _css = require("@atlaskit/css");
|
|
16
|
+
var _messages = require("@atlaskit/editor-common/quick-insert/messages");
|
|
17
|
+
var _box = require("@atlaskit/primitives/compiled/box");
|
|
18
|
+
var _text = require("@atlaskit/primitives/compiled/text");
|
|
19
|
+
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" != (0, _typeof2.default)(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); }
|
|
20
|
+
var NoResultsIllustration = (0, _reactLooselyLazy.lazy)(function () {
|
|
21
|
+
return Promise.resolve().then(function () {
|
|
22
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-quick-insert-no-results" */
|
|
23
|
+
'./assets/no-results'));
|
|
24
|
+
}).then(function (module) {
|
|
25
|
+
return module.default;
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var styles = {
|
|
29
|
+
base: "_zulp1ejb _4cvr1h6o _1e0c1txw _2lx21bp4 _1bah1h6o _1bsb1osq",
|
|
30
|
+
compact: "_1rjcxy5q",
|
|
31
|
+
spacious: "_1rjcoahv",
|
|
32
|
+
inlineIllustration: "_4t3i1h39 _1bsb1mcy",
|
|
33
|
+
fullIllustration: "_4t3io7ol _1bsbtudo"
|
|
34
|
+
};
|
|
35
|
+
var QuickInsertEmptyState = exports.QuickInsertEmptyState = function QuickInsertEmptyState(_ref) {
|
|
36
|
+
var mode = _ref.mode,
|
|
37
|
+
_ref$spacing = _ref.spacing,
|
|
38
|
+
spacing = _ref$spacing === void 0 ? mode === 'full' ? 'spacious' : 'compact' : _ref$spacing;
|
|
39
|
+
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
40
|
+
formatMessage = _useIntl.formatMessage;
|
|
41
|
+
var illustrationSize = mode === 'full' ? {
|
|
42
|
+
width: 76,
|
|
43
|
+
height: 84
|
|
44
|
+
} : {
|
|
45
|
+
width: 57,
|
|
46
|
+
height: 63
|
|
47
|
+
};
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_box.Box, {
|
|
49
|
+
testId: "quick-insert-empty-state",
|
|
50
|
+
xcss: (0, _css.cx)(styles.base, styles[spacing])
|
|
51
|
+
}, /*#__PURE__*/_react.default.createElement(_box.Box, {
|
|
52
|
+
xcss: mode === 'full' ? styles.fullIllustration : styles.inlineIllustration
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
54
|
+
fallback: null
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement(NoResultsIllustration, {
|
|
56
|
+
width: illustrationSize.width,
|
|
57
|
+
height: illustrationSize.height
|
|
58
|
+
}))), /*#__PURE__*/_react.default.createElement(_text.Text, {
|
|
59
|
+
align: "center"
|
|
60
|
+
}, formatMessage(_messages.messages.noSearchResults)));
|
|
61
|
+
};
|