@atlaskit/reactions 33.2.12 → 33.2.13

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/afm-cc/tsconfig.json +2 -2
  3. package/dist/cjs/analytics/index.js +1 -1
  4. package/dist/es2019/analytics/index.js +1 -1
  5. package/dist/esm/analytics/index.js +1 -1
  6. package/dist/types/components/Counter.d.ts +10 -10
  7. package/dist/types/components/EmojiButton.d.ts +4 -4
  8. package/dist/types/components/Reaction.d.ts +20 -20
  9. package/dist/types/components/ReactionButton.d.ts +9 -9
  10. package/dist/types/components/ReactionPicker.d.ts +34 -34
  11. package/dist/types/components/ReactionPickerNew.d.ts +41 -41
  12. package/dist/types/components/ReactionSummaryButton.d.ts +12 -12
  13. package/dist/types/components/ReactionSummaryView.d.ts +32 -32
  14. package/dist/types/components/ReactionTooltip.d.ts +14 -14
  15. package/dist/types/components/ReactionView.d.ts +4 -4
  16. package/dist/types/components/Reactions.d.ts +73 -73
  17. package/dist/types/components/ReactionsDialog.d.ts +10 -10
  18. package/dist/types/components/ReactionsDialogHeader.d.ts +5 -5
  19. package/dist/types/components/ReactionsList.d.ts +7 -7
  20. package/dist/types/components/RepositionOnUpdate.d.ts +2 -2
  21. package/dist/types/components/Selector.d.ts +8 -8
  22. package/dist/types/components/StaticReaction.d.ts +3 -3
  23. package/dist/types/components/Trigger.d.ts +27 -27
  24. package/dist/types/components/UfoErrorBoundary.d.ts +1 -1
  25. package/dist/types/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +4 -4
  26. package/dist/types/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +10 -10
  27. package/dist/types/hooks/useFocusTrap.d.ts +1 -1
  28. package/dist/types/store/MemoryReactionsStore.d.ts +1 -1
  29. package/dist/types/store/ReactionConsumer.d.ts +4 -4
  30. package/dist/types/types/Actions.d.ts +8 -8
  31. package/dist/types/types/User.d.ts +5 -5
  32. package/dist/types/types/client.d.ts +10 -10
  33. package/dist/types/types/index.d.ts +6 -6
  34. package/dist/types/types/reaction.d.ts +12 -12
  35. package/dist/types/types/store.d.ts +6 -6
  36. package/dist/types-ts4.5/components/Counter.d.ts +10 -10
  37. package/dist/types-ts4.5/components/EmojiButton.d.ts +4 -4
  38. package/dist/types-ts4.5/components/Reaction.d.ts +20 -20
  39. package/dist/types-ts4.5/components/ReactionButton.d.ts +9 -9
  40. package/dist/types-ts4.5/components/ReactionPicker.d.ts +34 -34
  41. package/dist/types-ts4.5/components/ReactionPickerNew.d.ts +41 -41
  42. package/dist/types-ts4.5/components/ReactionSummaryButton.d.ts +12 -12
  43. package/dist/types-ts4.5/components/ReactionSummaryView.d.ts +32 -32
  44. package/dist/types-ts4.5/components/ReactionTooltip.d.ts +14 -14
  45. package/dist/types-ts4.5/components/ReactionView.d.ts +4 -4
  46. package/dist/types-ts4.5/components/Reactions.d.ts +73 -73
  47. package/dist/types-ts4.5/components/ReactionsDialog.d.ts +10 -10
  48. package/dist/types-ts4.5/components/ReactionsDialogHeader.d.ts +5 -5
  49. package/dist/types-ts4.5/components/ReactionsList.d.ts +7 -7
  50. package/dist/types-ts4.5/components/RepositionOnUpdate.d.ts +2 -2
  51. package/dist/types-ts4.5/components/Selector.d.ts +8 -8
  52. package/dist/types-ts4.5/components/StaticReaction.d.ts +3 -3
  53. package/dist/types-ts4.5/components/Trigger.d.ts +27 -27
  54. package/dist/types-ts4.5/components/UfoErrorBoundary.d.ts +1 -1
  55. package/dist/types-ts4.5/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +4 -4
  56. package/dist/types-ts4.5/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +10 -10
  57. package/dist/types-ts4.5/hooks/useFocusTrap.d.ts +1 -1
  58. package/dist/types-ts4.5/store/MemoryReactionsStore.d.ts +1 -1
  59. package/dist/types-ts4.5/store/ReactionConsumer.d.ts +4 -4
  60. package/dist/types-ts4.5/types/Actions.d.ts +8 -8
  61. package/dist/types-ts4.5/types/User.d.ts +5 -5
  62. package/dist/types-ts4.5/types/client.d.ts +10 -10
  63. package/dist/types-ts4.5/types/index.d.ts +6 -6
  64. package/dist/types-ts4.5/types/reaction.d.ts +12 -12
  65. package/dist/types-ts4.5/types/store.d.ts +6 -6
  66. package/package.json +1 -1
@@ -14,60 +14,60 @@ export declare const RENDER_TRIGGER_CONTAINER_TESTID = "render-trigger-container
14
14
  export declare const RENDER_LIST_ITEM_WRAPPER_TESTID = "render-list-item-wrapper";
15
15
  export interface TriggerProps {
16
16
  /**
17
- * Optional Event handler when the button to open the picker is clicked
18
- * @param e Mouse Dom event
19
- * @param analyticsEvent atlaskit analytics event payload of the button
20
- */
21
- onClick?: (e: React.MouseEvent<HTMLElement>, analyticsEvent: AnalyticsEvent) => void;
22
- /**
23
- * apply "miniMode" className to the button
17
+ * Aria accessibility attributes that will be added to the button
24
18
  */
25
- miniMode?: boolean;
19
+ ariaAttributes?: AriaAttributes;
26
20
  /**
27
21
  * Enable/Disable the button to be clickable (defaults to false)
28
22
  */
29
23
  disabled?: boolean;
24
+ fullWidthSelectorTrayReactionPickerTrigger?: boolean;
30
25
  /**
31
- * Tooltip content for trigger button
26
+ * Optional prop for controlling if the summary view reaction picker trigger should be full width
32
27
  */
33
- tooltipContent: React.ReactNode;
28
+ fullWidthSummaryViewReactionPickerTrigger?: boolean;
34
29
  /**
35
- * Aria accessibility attributes that will be added to the button
30
+ * Optional prop to say if the reactions component is in a list
36
31
  */
37
- ariaAttributes?: AriaAttributes;
32
+ isListItem?: boolean;
38
33
  /**
39
- * Optional prop for using an opaque button background instead of a transparent background
34
+ * Optional prop for controlling if reaction picker is opened
40
35
  */
41
- showOpaqueBackground?: boolean;
36
+ isSelected?: boolean;
42
37
  /**
43
- * Optional prop for displaying text to add a reaction
38
+ * apply "miniMode" className to the button
44
39
  */
45
- showAddReactionText?: boolean;
40
+ miniMode?: boolean;
46
41
  /**
47
- * Optional prop for applying subtle styling to reaction picker
42
+ * Optional Event handler when the button to open the picker is clicked
43
+ * @param e Mouse Dom event
44
+ * @param analyticsEvent atlaskit analytics event payload of the button
48
45
  */
49
- subtleReactionsSummaryAndPicker?: boolean;
46
+ onClick?: (e: React.MouseEvent<HTMLElement>, analyticsEvent: AnalyticsEvent) => void;
50
47
  /**
51
48
  * Optional prop for controlling icon inside Trigger
52
49
  */
53
50
  reactionPickerTriggerIcon?: React.ReactNode;
54
- /**
55
- * Optional prop for controlling if reaction picker is opened
56
- */
57
- isSelected?: boolean;
58
51
  /**
59
52
  * Optional prop for controlling text inside Trigger
60
53
  */
61
54
  reactionPickerTriggerText?: string;
62
55
  /**
63
- * Optional prop for controlling if the summary view reaction picker trigger should be full width
56
+ * Optional prop for displaying text to add a reaction
64
57
  */
65
- fullWidthSummaryViewReactionPickerTrigger?: boolean;
58
+ showAddReactionText?: boolean;
66
59
  /**
67
- * Optional prop to say if the reactions component is in a list
60
+ * Optional prop for using an opaque button background instead of a transparent background
68
61
  */
69
- isListItem?: boolean;
70
- fullWidthSelectorTrayReactionPickerTrigger?: boolean;
62
+ showOpaqueBackground?: boolean;
63
+ /**
64
+ * Optional prop for applying subtle styling to reaction picker
65
+ */
66
+ subtleReactionsSummaryAndPicker?: boolean;
67
+ /**
68
+ * Tooltip content for trigger button
69
+ */
70
+ tooltipContent: React.ReactNode;
71
71
  }
72
72
  /**
73
73
  * Render an emoji button to open the reactions select picker
@@ -2,11 +2,11 @@ import React, { type ErrorInfo } from 'react';
2
2
  import { type UFOExperience } from '@atlaskit/ufo';
3
3
  import { type WithSamplingUFOExperience } from '@atlaskit/emoji';
4
4
  export interface UfoErrorBoundaryProps {
5
+ children?: React.ReactNode;
5
6
  /**
6
7
  * UFO Experiences to notify failure when the children components fail on rendering
7
8
  */
8
9
  experiences: UFOExperience[] | WithSamplingUFOExperience[];
9
- children?: React.ReactNode;
10
10
  }
11
11
  /**
12
12
  * Error boundary wrapper to notify "failure" for UFO events of components when there was a re-rendering exception caught inside the `componentDidCatch` event handler
@@ -2,14 +2,14 @@ import React from 'react';
2
2
  import { type ReactionPickerProps } from '../../components';
3
3
  import { type StorePropInput } from '../../types';
4
4
  export interface ConnectedReactionPickerProps extends Omit<ReactionPickerProps, 'onSelection'> {
5
- /**
6
- * Wrapper id for reactions list
7
- */
8
- containerAri: string;
9
5
  /**
10
6
  * Individual id for a reaction
11
7
  */
12
8
  ari: string;
9
+ /**
10
+ * Wrapper id for reactions list
11
+ */
12
+ containerAri: string;
13
13
  /**
14
14
  * Reference to the store.
15
15
  * @remarks
@@ -3,28 +3,28 @@ import { type ReactionsProps, type ReactionPickerProps } from '../../components'
3
3
  import { ReactionStatus, type Actions, type State, type StorePropInput } from '../../types';
4
4
  import { type ReactionUpdateSuccess } from '../../types/reaction';
5
5
  export interface ConnectedReactionsViewProps extends Pick<ReactionsProps, 'quickReactionEmojis' | 'onDialogOpenCallback' | 'onDialogCloseCallback' | 'onDialogSelectReactionCallback' | 'allowUserDialog' | 'allowAllEmojis' | 'emojiProvider' | 'emojiPickerSize' | 'miniMode' | 'summaryViewEnabled' | 'subtleReactionsSummaryAndPicker' | 'onlyRenderPicker' | 'isViewOnly' | 'allowSelectFromSummaryView'>, Pick<ReactionPickerProps, 'pickerQuickReactionEmojiIds'> {
6
- /**
7
- * Wrapper id for reactions list
8
- */
9
- containerAri: string;
10
6
  /**
11
7
  * Individual id for a reaction
12
8
  */
13
9
  ari: string;
14
10
  /**
15
- * Reference to the store.
16
- * @remarks
17
- * This was initially implemented with a sync and Async versions and will be replaced with just a sync Store in a future release (Please use only the sync version)
11
+ * Wrapper id for reactions list
18
12
  */
19
- store: StorePropInput;
13
+ containerAri: string;
14
+ /**
15
+ * Callback function when a reaction is successfully added
16
+ */
17
+ onReactionSuccess?: ReactionUpdateSuccess;
20
18
  /**
21
19
  * Optional boolean to control if particle animation on reactions appear
22
20
  */
23
21
  particleEffectByEmojiEnabled?: boolean;
24
22
  /**
25
- * Callback function when a reaction is successfully added
23
+ * Reference to the store.
24
+ * @remarks
25
+ * This was initially implemented with a sync and Async versions and will be replaced with just a sync Store in a future release (Please use only the sync version)
26
26
  */
27
- onReactionSuccess?: ReactionUpdateSuccess;
27
+ store: StorePropInput;
28
28
  }
29
29
  /**
30
30
  * Export the mapper function outside the component so easier to do unit tests
@@ -1,5 +1,5 @@
1
1
  export type FocusManagerHook = {
2
- targetRef: HTMLDivElement | null;
3
2
  initialFocusRef: HTMLElement | null;
3
+ targetRef: HTMLDivElement | null;
4
4
  };
5
5
  export declare const useFocusTrap: ({ targetRef, initialFocusRef }: FocusManagerHook) => void;
@@ -26,8 +26,8 @@ export declare const ufoExperiences: {
26
26
  * Optional metadata information in the store used in sending the API client requests
27
27
  */
28
28
  interface StoreMetadata {
29
- subproduct?: string;
30
29
  [k: string]: any;
30
+ subproduct?: string;
31
31
  }
32
32
  export declare class MemoryReactionsStore implements Store {
33
33
  private client;
@@ -5,17 +5,17 @@ import { type Actions, type State, type StorePropInput, type Store } from '../ty
5
5
  */
6
6
  export type ReactioConsumerProps<PropsFromState, PropsFromActions> = {
7
7
  /**
8
- * Return a plain object containing the data that the connected component needs
8
+ * Component to render
9
9
  */
10
- mapStateToProps?: (state: State) => PropsFromState;
10
+ children: (props: PropsFromState & PropsFromActions) => React.ReactNode;
11
11
  /**
12
12
  * Specify which actions the child component might need to dispatch from its props
13
13
  */
14
14
  mapActionsToProps?: (actions: Actions) => PropsFromActions;
15
15
  /**
16
- * Component to render
16
+ * Return a plain object containing the data that the connected component needs
17
17
  */
18
- children: (props: PropsFromState & PropsFromActions) => React.ReactNode;
18
+ mapStateToProps?: (state: State) => PropsFromState;
19
19
  /**
20
20
  * Reference to the store.
21
21
  * @remarks
@@ -7,6 +7,14 @@ import { type ReactionUpdateSuccess } from './reaction';
7
7
  */
8
8
  export type ReactionAction = (containerAri: string, ari: string, emojiId: string, onSuccess?: ReactionUpdateSuccess) => void;
9
9
  export type Actions = {
10
+ /**
11
+ * Add a new reation api
12
+ */
13
+ addReaction: ReactionAction;
14
+ /**
15
+ * Hover an existing reaction emoji api
16
+ */
17
+ getDetailedReaction: ReactionAction;
10
18
  /**
11
19
  * Retrieve reaction collection api
12
20
  * @param containerId the container for reactions/ari in the page
@@ -17,12 +25,4 @@ export type Actions = {
17
25
  * Select/deselect a rection callback
18
26
  */
19
27
  toggleReaction: ReactionAction;
20
- /**
21
- * Add a new reation api
22
- */
23
- addReaction: ReactionAction;
24
- /**
25
- * Hover an existing reaction emoji api
26
- */
27
- getDetailedReaction: ReactionAction;
28
28
  };
@@ -1,17 +1,17 @@
1
1
  export interface User {
2
- /**
3
- * user id in system
4
- */
5
- id: string;
2
+ accountId?: string;
6
3
  /**
7
4
  * name of user clicked on the reaction
8
5
  */
9
6
  displayName: string;
7
+ /**
8
+ * user id in system
9
+ */
10
+ id: string;
10
11
  /**
11
12
  * optional path to a user profile picture
12
13
  */
13
14
  profilePicture?: ProfilePicture;
14
- accountId?: string;
15
15
  }
16
16
  /**
17
17
  * Type defining the path to a user profile picture
@@ -17,16 +17,6 @@ emojiId: string,
17
17
  */
18
18
  metadata?: Record<string, any>) => Promise<T>;
19
19
  export interface Client {
20
- /**
21
- * fetch reactions request handler
22
- * @param containerAri container wrapper id
23
- * @param aris container reaction assets unique ids
24
- */
25
- getReactions(containerAri: string, aris: string[]): Promise<Reactions>;
26
- /**
27
- * Fetch details for a given reaction.
28
- */
29
- getDetailedReaction: Request<ReactionSummary>;
30
20
  /**
31
21
  * Fetch request when adding a reaction to a container.
32
22
  */
@@ -35,4 +25,14 @@ export interface Client {
35
25
  * Fetch request when removing a reaction from a container.
36
26
  */
37
27
  deleteReaction: Request<ReactionSummary[]>;
28
+ /**
29
+ * Fetch details for a given reaction.
30
+ */
31
+ getDetailedReaction: Request<ReactionSummary>;
32
+ /**
33
+ * fetch reactions request handler
34
+ * @param containerAri container wrapper id
35
+ * @param aris container reaction assets unique ids
36
+ */
37
+ getReactions(containerAri: string, aris: string[]): Promise<Reactions>;
38
38
  }
@@ -8,18 +8,18 @@ export type { User } from './User';
8
8
  export type { Store, StorePropInput, State, OnChangeCallback } from './store';
9
9
  type TriggerPosition = 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'top-end' | 'top' | 'top-start' | 'right-end' | 'right' | 'right-start';
10
10
  type ProfileCardWrapperProps = {
11
- userId?: string | null;
12
- position?: TriggerPosition;
13
- isAnonymous?: boolean;
11
+ ariaLabel?: string;
14
12
  canViewProfile?: boolean;
15
13
  children: ReactNode;
16
- fullName?: string;
17
14
  disabledAriaAttributes?: boolean;
18
- onVisibilityChange?: (isVisible: boolean) => void;
15
+ fullName?: string;
16
+ isAnonymous?: boolean;
19
17
  offset?: [
20
18
  number,
21
19
  number
22
20
  ];
23
- ariaLabel?: string;
21
+ onVisibilityChange?: (isVisible: boolean) => void;
22
+ position?: TriggerPosition;
23
+ userId?: string | null;
24
24
  };
25
25
  export type ProfileCardWrapper = React.ComponentType<ProfileCardWrapperProps>;
@@ -15,30 +15,30 @@ export interface ReactionSummary {
15
15
  * the container for reactions/ari in the page
16
16
  */
17
17
  containerAri: string;
18
- /**
19
- * unique Atlassian identifier for an emoji
20
- */
21
- emojiId: string;
22
18
  /**
23
19
  * Number of selected count for the emoji
24
20
  */
25
21
  count: number;
26
22
  /**
27
- * Has the current user selected the emoji or not
23
+ * unique Atlassian identifier for an emoji
28
24
  */
29
- reacted: boolean;
25
+ emojiId: string;
30
26
  /**
31
- * Users collection
27
+ * A path to the emoji image, used for optimistic rendering.
32
28
  */
33
- users?: User[];
29
+ emojiPath?: string;
34
30
  /**
35
31
  * @deprecated Legacy content Not in use anymore
36
32
  */
37
33
  optimisticallyUpdated?: boolean;
38
34
  /**
39
- * A path to the emoji image, used for optimistic rendering.
35
+ * Has the current user selected the emoji or not
40
36
  */
41
- emojiPath?: string;
37
+ reacted: boolean;
38
+ /**
39
+ * Users collection
40
+ */
41
+ users?: User[];
42
42
  }
43
43
  /**
44
44
  * Metadata for composing a summary of emojis that will be shown in the the primary view even if the reaction count is zero
@@ -102,15 +102,15 @@ export declare enum ReactionStatus {
102
102
  */
103
103
  export type ReactionsState = ReactionsNotLoaded | ReactionsLoading | ReactionsReadyState | ReactionsError;
104
104
  export type ReactionsReadyState = {
105
- readonly status: ReactionStatus.ready;
106
105
  readonly reactions: ReactionSummary[];
106
+ readonly status: ReactionStatus.ready;
107
107
  };
108
108
  export type ReactionsLoading = {
109
109
  readonly status: ReactionStatus.loading;
110
110
  };
111
111
  export type ReactionsError = {
112
- readonly status: ReactionStatus.error;
113
112
  readonly message: string;
113
+ readonly status: ReactionStatus.error;
114
114
  };
115
115
  export type ReactionsNotLoaded = {
116
116
  readonly status: ReactionStatus.notLoaded;
@@ -46,12 +46,6 @@ export type StorePropInput = Store | Promise<Store>;
46
46
  * store main structure
47
47
  */
48
48
  export type State = {
49
- /**
50
- * collection of the different reactions (key => unique reaction id , value => state of the reaction)
51
- */
52
- reactions: {
53
- [key: string]: ReactionsState;
54
- };
55
49
  /**
56
50
  * custom animation for given emojis as true|false (key => unique reaction id, value => collection of emojiIds and true|false to apply custom animation)
57
51
  */
@@ -68,4 +62,10 @@ export type State = {
68
62
  [emojiId: string]: boolean;
69
63
  };
70
64
  };
65
+ /**
66
+ * collection of the different reactions (key => unique reaction id , value => state of the reaction)
67
+ */
68
+ reactions: {
69
+ [key: string]: ReactionsState;
70
+ };
71
71
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/reactions",
3
- "version": "33.2.12",
3
+ "version": "33.2.13",
4
4
  "description": "Reactions component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"