@atlaskit/editor-plugin-avatar-group 9.0.0 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +14 -5
- package/dist/cjs/ui/AvatarGroupPluginWrapper.js +1 -1
- package/dist/cjs/ui/avatars-with-plugin-state.js +4 -1
- package/dist/cjs/ui/avatars.js +1 -1
- package/dist/cjs/ui/colored-avatar-item.js +1 -1
- package/dist/cjs/ui/invite-to-edit.js +1 -1
- package/dist/cjs/ui/to-avatar.js +3 -2
- package/dist/es2019/ui/AvatarGroupPluginWrapper.js +1 -1
- package/dist/es2019/ui/avatars-with-plugin-state.js +4 -1
- package/dist/es2019/ui/avatars.js +1 -1
- package/dist/es2019/ui/colored-avatar-item.js +1 -1
- package/dist/es2019/ui/invite-to-edit.js +1 -1
- package/dist/es2019/ui/to-avatar.js +3 -2
- package/dist/esm/ui/AvatarGroupPluginWrapper.js +1 -1
- package/dist/esm/ui/avatars-with-plugin-state.js +4 -1
- package/dist/esm/ui/avatars.js +1 -1
- package/dist/esm/ui/colored-avatar-item.js +1 -1
- package/dist/esm/ui/invite-to-edit.js +1 -1
- package/dist/esm/ui/to-avatar.js +3 -2
- package/dist/types/ui/avatars-with-plugin-state.d.ts +3 -3
- package/dist/types/ui/to-avatar.d.ts +3 -2
- package/dist/types-ts4.5/ui/avatars-with-plugin-state.d.ts +3 -3
- package/dist/types-ts4.5/ui/to-avatar.d.ts +3 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-avatar-group
|
|
2
2
|
|
|
3
|
+
## 9.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`92f6f3650479b`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/92f6f3650479b) -
|
|
8
|
+
Update README.md and 0-intro.tsx
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
3
11
|
## 9.0.0
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
# Editor
|
|
1
|
+
# Editor Plugin Avatar Group
|
|
2
2
|
|
|
3
3
|
Avatar Group plugin for @atlaskit/editor-core
|
|
4
4
|
|
|
5
|
-
The avatar-group plugin is just a placeholder for the AvatarsWithPluginState component so that it is properly integrated into the toolbar.
|
|
6
|
-
The avatar-group plugin itself doesn't do anything so all the pm-plugin related code has been removed.
|
|
7
|
-
|
|
8
5
|
**Note:** This component is designed for internal Atlassian development.
|
|
9
6
|
External contributors will be able to use this component but will not be able to submit issues.
|
|
10
7
|
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
The Avatar Group plugin displays active collaborators in the editor toolbar. It integrates with the collaboration editing system to show real-time participant avatars and provides an optional "Invite to Edit" button for sharing the document with others.
|
|
11
|
+
|
|
12
|
+
## Key features
|
|
13
|
+
|
|
14
|
+
- **Real-time participant display** - Shows avatars of active collaborators in the current editing session
|
|
15
|
+
- **Toolbar integration** - Seamlessly integrates into the primary toolbar through the editor plugin system
|
|
16
|
+
- **Invite to edit** - Provides optional invite-to-edit functionality with customizable components and handlers
|
|
17
|
+
- **Collaboration state tracking** - Monitors collaboration edit plugin state to display active participants
|
|
18
|
+
- **Analytics integration** - Tracks avatar group interactions and visibility events
|
|
19
|
+
|
|
11
20
|
## Install
|
|
12
21
|
---
|
|
13
22
|
- **Install** - *yarn add @atlaskit/editor-plugin-avatar-group*
|
|
@@ -30,4 +39,4 @@ Please see [Atlaskit - Editor plugin avatar group](https://atlaskit.atlassian.co
|
|
|
30
39
|
For internal Atlassian, visit the slack channel [#help-editor](https://atlassian.slack.com/archives/CFG3PSQ9E) for support or visit [go/editor-help](https://go/editor-help) to submit a bug.
|
|
31
40
|
## License
|
|
32
41
|
---
|
|
33
|
-
Please see [Atlassian Frontend - License](https://hello.atlassian.net/wiki/spaces/AF/pages/2589099144/Documentation#
|
|
42
|
+
Please see [Atlassian Frontend - License](https://hello.atlassian.net/wiki/spaces/AF/pages/2589099144/Documentation#License) for more licensing information.
|
|
@@ -16,7 +16,7 @@ var _avatarsWithPluginState = _interopRequireDefault(require("./avatars-with-plu
|
|
|
16
16
|
* @jsx jsx
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
19
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
20
20
|
|
|
21
21
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
22
22
|
var toolbarButtonWrapper = (0, _react2.css)({
|
|
@@ -48,4 +48,7 @@ var AvatarsWithPluginState = function AvatarsWithPluginState(props) {
|
|
|
48
48
|
Component: Component
|
|
49
49
|
}));
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
53
|
+
var _default_1 = (0, _reactIntlNext.injectIntl)(AvatarsWithPluginState);
|
|
54
|
+
var _default = exports.default = _default_1;
|
package/dist/cjs/ui/avatars.js
CHANGED
|
@@ -18,7 +18,7 @@ var _toAvatar = _interopRequireDefault(require("./to-avatar"));
|
|
|
18
18
|
* @jsx jsx
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
21
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
22
22
|
|
|
23
23
|
var scrollToCollabCursor = function scrollToCollabCursor(editorAPI, participants, sessionId, index, editorAnalyticsAPI) {
|
|
24
24
|
var selectedUser = participants[index];
|
|
@@ -11,7 +11,7 @@ var _styles = require("./styles");
|
|
|
11
11
|
* @jsxRuntime classic
|
|
12
12
|
* @jsx jsx
|
|
13
13
|
*/
|
|
14
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
14
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
15
15
|
|
|
16
16
|
var ColoredAvatarItem = exports.ColoredAvatarItem = function ColoredAvatarItem(props) {
|
|
17
17
|
var _props$api$collabEdit, _props$api, _props$presenceId;
|
|
@@ -17,7 +17,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
17
17
|
* @jsx jsx
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
20
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
21
21
|
|
|
22
22
|
var ID = function ID(props) {
|
|
23
23
|
return (0, _react2.jsx)(_react.Fragment, null, props.children);
|
package/dist/cjs/ui/to-avatar.js
CHANGED
|
@@ -24,10 +24,11 @@ var toAvatar = function toAvatar(participant, api, formatMessage) {
|
|
|
24
24
|
})
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
|
-
var
|
|
27
|
+
var _default_1 = (0, _memoizeOne.default)(toAvatar, function participantEquals(_ref, _ref2) {
|
|
28
28
|
var _ref3 = (0, _slicedToArray2.default)(_ref, 1),
|
|
29
29
|
a = _ref3[0];
|
|
30
30
|
var _ref4 = (0, _slicedToArray2.default)(_ref2, 1),
|
|
31
31
|
b = _ref4[0];
|
|
32
32
|
return a.name === b.name && a.avatar === b.avatar && a.sessionId === b.sessionId;
|
|
33
|
-
});
|
|
33
|
+
});
|
|
34
|
+
var _default = exports.default = _default_1;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { useEffect } from 'react';
|
|
6
6
|
|
|
7
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
7
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
8
8
|
import { css, jsx } from '@emotion/react';
|
|
9
9
|
import { useIntl } from 'react-intl-next';
|
|
10
10
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
@@ -44,4 +44,7 @@ const AvatarsWithPluginState = props => {
|
|
|
44
44
|
Component: Component
|
|
45
45
|
}));
|
|
46
46
|
};
|
|
47
|
-
|
|
47
|
+
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
49
|
+
const _default_1 = injectIntl(AvatarsWithPluginState);
|
|
50
|
+
export default _default_1;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
8
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
9
9
|
import { jsx } from '@emotion/react';
|
|
10
10
|
import { useIntl } from 'react-intl-next';
|
|
11
11
|
import AvatarGroup from '@atlaskit/avatar-group';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @jsxRuntime classic
|
|
3
3
|
* @jsx jsx
|
|
4
4
|
*/
|
|
5
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
5
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
6
6
|
import { jsx } from '@emotion/react';
|
|
7
7
|
import { N900, R100 } from '@atlaskit/theme/colors';
|
|
8
8
|
import { badge } from './styles';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import React, { Fragment } from 'react';
|
|
6
6
|
|
|
7
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
7
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
8
8
|
import { jsx } from '@emotion/react';
|
|
9
9
|
import { ToolbarButton } from '@atlaskit/editor-common/ui-menu';
|
|
10
10
|
import AddIcon from '@atlaskit/icon/core/add';
|
|
@@ -14,6 +14,7 @@ const toAvatar = (participant, api, formatMessage) => ({
|
|
|
14
14
|
presenceId: participant.presenceId
|
|
15
15
|
})
|
|
16
16
|
});
|
|
17
|
-
|
|
17
|
+
const _default_1 = memoizeOne(toAvatar, function participantEquals([a], [b]) {
|
|
18
18
|
return a.name === b.name && a.avatar === b.avatar && a.sessionId === b.sessionId;
|
|
19
|
-
});
|
|
19
|
+
});
|
|
20
|
+
export default _default_1;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { useEffect } from 'react';
|
|
6
6
|
|
|
7
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
7
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
8
8
|
import { css, jsx } from '@emotion/react';
|
|
9
9
|
import { useIntl } from 'react-intl-next';
|
|
10
10
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
@@ -41,4 +41,7 @@ var AvatarsWithPluginState = function AvatarsWithPluginState(props) {
|
|
|
41
41
|
Component: Component
|
|
42
42
|
}));
|
|
43
43
|
};
|
|
44
|
-
|
|
44
|
+
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
46
|
+
var _default_1 = injectIntl(AvatarsWithPluginState);
|
|
47
|
+
export default _default_1;
|
package/dist/esm/ui/avatars.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
8
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
9
9
|
import { jsx } from '@emotion/react';
|
|
10
10
|
import { useIntl } from 'react-intl-next';
|
|
11
11
|
import AvatarGroup from '@atlaskit/avatar-group';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @jsxRuntime classic
|
|
3
3
|
* @jsx jsx
|
|
4
4
|
*/
|
|
5
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
5
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
6
6
|
import { jsx } from '@emotion/react';
|
|
7
7
|
import { N900, R100 } from '@atlaskit/theme/colors';
|
|
8
8
|
import { badge } from './styles';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import React, { Fragment } from 'react';
|
|
6
6
|
|
|
7
|
-
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
|
|
7
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
|
|
8
8
|
import { jsx } from '@emotion/react';
|
|
9
9
|
import { ToolbarButton } from '@atlaskit/editor-common/ui-menu';
|
|
10
10
|
import AddIcon from '@atlaskit/icon/core/add';
|
package/dist/esm/ui/to-avatar.js
CHANGED
|
@@ -17,10 +17,11 @@ var toAvatar = function toAvatar(participant, api, formatMessage) {
|
|
|
17
17
|
})
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
var _default_1 = memoizeOne(toAvatar, function participantEquals(_ref, _ref2) {
|
|
21
21
|
var _ref3 = _slicedToArray(_ref, 1),
|
|
22
22
|
a = _ref3[0];
|
|
23
23
|
var _ref4 = _slicedToArray(_ref2, 1),
|
|
24
24
|
b = _ref4[0];
|
|
25
25
|
return a.name === b.name && a.avatar === b.avatar && a.sessionId === b.sessionId;
|
|
26
|
-
});
|
|
26
|
+
});
|
|
27
|
+
export default _default_1;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { WrappedComponentProps } from 'react-intl-next';
|
|
2
|
+
import type { WithIntlProps, WrappedComponentProps } from 'react-intl-next';
|
|
3
3
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
4
4
|
import type { CollabInviteToEditProps } from '@atlaskit/editor-common/collab';
|
|
5
5
|
import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
|
|
6
6
|
import type { ExtractInjectionAPI, FeatureFlags } from '@atlaskit/editor-common/types';
|
|
7
7
|
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
8
8
|
import type { AvatarGroupPlugin } from '../avatarGroupPluginType';
|
|
9
|
-
declare const
|
|
9
|
+
declare const _default_1: React.FC<WithIntlProps<{
|
|
10
10
|
editorAnalyticsAPI: EditorAnalyticsAPI | undefined;
|
|
11
11
|
editorAPI: ExtractInjectionAPI<AvatarGroupPlugin> | undefined;
|
|
12
12
|
editorView?: EditorView;
|
|
@@ -21,4 +21,4 @@ declare const _default: React.FC<import("react-intl-next").WithIntlProps<{
|
|
|
21
21
|
featureFlags: FeatureFlags;
|
|
22
22
|
} & CollabInviteToEditProps & WrappedComponentProps>;
|
|
23
23
|
};
|
|
24
|
-
export default
|
|
24
|
+
export default _default_1;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { type MemoizedFn } from 'memoize-one';
|
|
1
2
|
import type { IntlShape } from 'react-intl-next';
|
|
2
3
|
import type { AvatarProps } from '@atlaskit/avatar-group';
|
|
3
4
|
import type { CollabParticipant } from '@atlaskit/editor-common/collab';
|
|
4
5
|
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
5
6
|
import type { AvatarGroupPlugin } from '../avatarGroupPluginType';
|
|
6
|
-
declare const
|
|
7
|
-
export default
|
|
7
|
+
declare const _default_1: MemoizedFn<(participant: CollabParticipant, api: ExtractInjectionAPI<AvatarGroupPlugin> | undefined, formatMessage: IntlShape['formatMessage']) => AvatarProps>;
|
|
8
|
+
export default _default_1;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { WrappedComponentProps } from 'react-intl-next';
|
|
2
|
+
import type { WithIntlProps, WrappedComponentProps } from 'react-intl-next';
|
|
3
3
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
4
4
|
import type { CollabInviteToEditProps } from '@atlaskit/editor-common/collab';
|
|
5
5
|
import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
|
|
6
6
|
import type { ExtractInjectionAPI, FeatureFlags } from '@atlaskit/editor-common/types';
|
|
7
7
|
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
8
8
|
import type { AvatarGroupPlugin } from '../avatarGroupPluginType';
|
|
9
|
-
declare const
|
|
9
|
+
declare const _default_1: React.FC<WithIntlProps<{
|
|
10
10
|
editorAnalyticsAPI: EditorAnalyticsAPI | undefined;
|
|
11
11
|
editorAPI: ExtractInjectionAPI<AvatarGroupPlugin> | undefined;
|
|
12
12
|
editorView?: EditorView;
|
|
@@ -21,4 +21,4 @@ declare const _default: React.FC<import("react-intl-next").WithIntlProps<{
|
|
|
21
21
|
featureFlags: FeatureFlags;
|
|
22
22
|
} & CollabInviteToEditProps & WrappedComponentProps>;
|
|
23
23
|
};
|
|
24
|
-
export default
|
|
24
|
+
export default _default_1;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { type MemoizedFn } from 'memoize-one';
|
|
1
2
|
import type { IntlShape } from 'react-intl-next';
|
|
2
3
|
import type { AvatarProps } from '@atlaskit/avatar-group';
|
|
3
4
|
import type { CollabParticipant } from '@atlaskit/editor-common/collab';
|
|
4
5
|
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
5
6
|
import type { AvatarGroupPlugin } from '../avatarGroupPluginType';
|
|
6
|
-
declare const
|
|
7
|
-
export default
|
|
7
|
+
declare const _default_1: MemoizedFn<(participant: CollabParticipant, api: ExtractInjectionAPI<AvatarGroupPlugin> | undefined, formatMessage: IntlShape['formatMessage']) => AvatarProps>;
|
|
8
|
+
export default _default_1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-avatar-group",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"description": "Avatar Group plugin for @atlaskit/editor-core.",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@atlaskit/editor-common": "^112.
|
|
52
|
+
"@atlaskit/editor-common": "^112.1.0",
|
|
53
53
|
"react": "^18.2.0"
|
|
54
54
|
},
|
|
55
55
|
"techstack": {
|