UNPKG

@wordpress/editor

Version:
61 lines (50 loc) 1.34 kB
import { createElement } from "@wordpress/element"; /** * WordPress dependencies */ import apiFetch from '@wordpress/api-fetch'; /** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */ /** * A user mentions completer. * * @type {WPCompleter} */ export default { name: 'users', className: 'editor-autocompleters__user', triggerPrefix: '@', options(search) { let payload = ''; if (search) { payload = '?search=' + encodeURIComponent(search); } return apiFetch({ path: '/wp/v2/users' + payload }); }, isDebounced: true, getOptionKeywords(user) { return [user.slug, user.name]; }, getOptionLabel(user) { const avatar = user.avatar_urls && user.avatar_urls[24] ? createElement("img", { key: "avatar", className: "editor-autocompleters__user-avatar", alt: "", src: user.avatar_urls[24] }) : createElement("span", { className: "editor-autocompleters__no-avatar" }); return [avatar, createElement("span", { key: "name", className: "editor-autocompleters__user-name" }, user.name), createElement("span", { key: "slug", className: "editor-autocompleters__user-slug" }, user.slug)]; }, getOptionCompletion(user) { return `@${user.slug}`; } }; //# sourceMappingURL=user.js.map