UNPKG

@atlaskit/editor-plugin-avatar-group

Version:

Avatar Group plugin for @atlaskit/editor-core.

58 lines 2.79 kB
import React from 'react'; import AvatarGroupPluginWrapper from './ui/AvatarGroupPluginWrapper'; import AvatarsWithPluginState from './ui/avatars-with-plugin-state'; export const avatarGroupPlugin = ({ config: props, api }) => { var _api$featureFlags; const featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {}; const primaryToolbarComponent = ({ editorView, eventDispatcher, dispatchAnalyticsEvent }) => { var _api$analytics; if (!editorView) { return null; } return /*#__PURE__*/React.createElement(AvatarGroupPluginWrapper, { dispatchAnalyticsEvent: dispatchAnalyticsEvent, editorView: editorView, eventDispatcher: eventDispatcher, collabEdit: props === null || props === void 0 ? void 0 : props.collabEdit, takeFullWidth: props === null || props === void 0 ? void 0 : props.takeFullWidth, featureFlags: featureFlags, editorAnalyticsAPI: api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, editorAPI: api }); }; if (props.showAvatarGroup) { var _api$primaryToolbar; api === null || api === void 0 ? void 0 : (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 ? void 0 : _api$primaryToolbar.actions.registerComponent({ name: 'avatarGroup', component: primaryToolbarComponent }); } return { name: 'avatarGroup', primaryToolbarComponent: !(api !== null && api !== void 0 && api.primaryToolbar) && props.showAvatarGroup ? primaryToolbarComponent : undefined, actions: { getToolbarItem: ({ inviteToEditHandler, isInviteToEditButtonSelected, inviteToEditComponent }) => { var _api$featureFlags$sha, _api$featureFlags2, _api$analytics2; return /*#__PURE__*/React.createElement(AvatarsWithPluginState, { featureFlags: (_api$featureFlags$sha = api === null || api === void 0 ? void 0 : (_api$featureFlags2 = api.featureFlags) === null || _api$featureFlags2 === void 0 ? void 0 : _api$featureFlags2.sharedState.currentState()) !== null && _api$featureFlags$sha !== void 0 ? _api$featureFlags$sha : {}, editorAnalyticsAPI: api === null || api === void 0 ? void 0 : (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions, editorAPI: api, inviteToEditHandler: inviteToEditHandler, isInviteToEditButtonSelected: isInviteToEditButtonSelected, inviteToEditComponent: inviteToEditComponent }); } } }; };