UNPKG

@wordpress/editor

Version:
44 lines (43 loc) 1.36 kB
// packages/editor/src/components/collab-sidebar/note-mention-completer.tsx import { useMemo } from "@wordpress/element"; import { useSelect } from "@wordpress/data"; import { store as coreStore } from "@wordpress/core-data"; import { getUserLabel } from "../autocompleters/user.mjs"; import { jsx } from "react/jsx-runtime"; var noteMentionCompleter = { name: "note-mentions", className: "editor-autocompleters__user editor-collab-sidebar-panel__mention-suggestion", triggerPrefix: "@", useItems(filterValue) { const users = useSelect( (select) => { const { getUsers } = select(coreStore); return getUsers({ context: "view", search: filterValue }); }, [filterValue] ); const options = useMemo( () => users ? users.map((user) => ({ key: `note-mention-${user.slug}`, value: user, label: getUserLabel(user) })) : [], [users] ); return [options]; }, getOptionCompletion(user) { return { action: "insert-at-caret", value: /* @__PURE__ */ jsx("span", { className: `wp-note-mention user-${user.id}`, children: "@" + user.name }) }; } }; var note_mention_completer_default = noteMentionCompleter; export { note_mention_completer_default as default }; //# sourceMappingURL=note-mention-completer.mjs.map