UNPKG

@wordpress/editor

Version:
72 lines (57 loc) 1.66 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch")); /** * WordPress dependencies */ /** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */ /** * A user mentions completer. * * @type {WPCompleter} */ var _default = { name: 'users', className: 'editor-autocompleters__user', triggerPrefix: '@', options(search) { let payload = ''; if (search) { payload = '?search=' + encodeURIComponent(search); } return (0, _apiFetch.default)({ 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] ? (0, _element.createElement)("img", { key: "avatar", className: "editor-autocompleters__user-avatar", alt: "", src: user.avatar_urls[24] }) : (0, _element.createElement)("span", { className: "editor-autocompleters__no-avatar" }); return [avatar, (0, _element.createElement)("span", { key: "name", className: "editor-autocompleters__user-name" }, user.name), (0, _element.createElement)("span", { key: "slug", className: "editor-autocompleters__user-slug" }, user.slug)]; }, getOptionCompletion(user) { return `@${user.slug}`; } }; exports.default = _default; //# sourceMappingURL=user.js.map