@atlaskit/editor-plugin-quick-insert
Version:
Quick insert plugin for @atlaskit/editor-core
23 lines • 1.14 kB
JavaScript
import { find } from '@atlaskit/editor-common/quick-insert';
import { dedupe } from '@atlaskit/editor-common/utils';
import { fg } from '@atlaskit/platform-feature-flags';
export const getQuickInsertSuggestions = (searchOptions, lazyDefaultItems = () => [], providedItems) => {
// @ts-ignore
const {
query,
category,
disableDefaultItems,
featuredItems,
prioritySortingFn
} = searchOptions;
const defaultItems = disableDefaultItems ? [] : lazyDefaultItems();
const dedupeFn = item => {
var _item$description;
return `${item.title}-${(_item$description = item.description) !== null && _item$description !== void 0 ? _item$description : ''}`;
};
const items = providedItems ? dedupe([...defaultItems, ...providedItems], dedupeFn) : defaultItems;
if (featuredItems) {
return items.filter(item => item.featured);
}
return find((fg('platform_editor_fix_space_triggering_ai') ? query === null || query === void 0 ? void 0 : query.trimEnd() : query) || '', category === 'all' || !category ? items : items.filter(item => item.categories && item.categories.includes(category)), prioritySortingFn);
};