UNPKG

@atlaskit/editor-plugin-quick-insert

Version:

Quick insert plugin for @atlaskit/editor-core

37 lines (36 loc) 2.02 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getQuickInsertSuggestions = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _quickInsert = require("@atlaskit/editor-common/quick-insert"); var _utils = require("@atlaskit/editor-common/utils"); var _platformFeatureFlags = require("@atlaskit/platform-feature-flags"); var getQuickInsertSuggestions = exports.getQuickInsertSuggestions = function getQuickInsertSuggestions(searchOptions) { var lazyDefaultItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () { return []; }; var providedItems = arguments.length > 2 ? arguments[2] : undefined; // @ts-ignore var query = searchOptions.query, category = searchOptions.category, disableDefaultItems = searchOptions.disableDefaultItems, featuredItems = searchOptions.featuredItems, prioritySortingFn = searchOptions.prioritySortingFn; var defaultItems = disableDefaultItems ? [] : lazyDefaultItems(); var dedupeFn = function dedupeFn(item) { var _item$description; return "".concat(item.title, "-").concat((_item$description = item.description) !== null && _item$description !== void 0 ? _item$description : ''); }; var items = providedItems ? (0, _utils.dedupe)([].concat((0, _toConsumableArray2.default)(defaultItems), (0, _toConsumableArray2.default)(providedItems)), dedupeFn) : defaultItems; if (featuredItems) { return items.filter(function (item) { return item.featured; }); } return (0, _quickInsert.find)(((0, _platformFeatureFlags.fg)('platform_editor_fix_space_triggering_ai') ? query === null || query === void 0 ? void 0 : query.trimEnd() : query) || '', category === 'all' || !category ? items : items.filter(function (item) { return item.categories && item.categories.includes(category); }), prioritySortingFn); };