@atlaskit/reactions 33.2.11 → 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 (67) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/afm-cc/tsconfig.json +2 -2
  3. package/afm-rovo-extension/tsconfig.json +105 -0
  4. package/dist/cjs/analytics/index.js +1 -1
  5. package/dist/es2019/analytics/index.js +1 -1
  6. package/dist/esm/analytics/index.js +1 -1
  7. package/dist/types/components/Counter.d.ts +10 -10
  8. package/dist/types/components/EmojiButton.d.ts +4 -4
  9. package/dist/types/components/Reaction.d.ts +20 -20
  10. package/dist/types/components/ReactionButton.d.ts +9 -9
  11. package/dist/types/components/ReactionPicker.d.ts +34 -34
  12. package/dist/types/components/ReactionPickerNew.d.ts +41 -41
  13. package/dist/types/components/ReactionSummaryButton.d.ts +12 -12
  14. package/dist/types/components/ReactionSummaryView.d.ts +32 -32
  15. package/dist/types/components/ReactionTooltip.d.ts +14 -14
  16. package/dist/types/components/ReactionView.d.ts +4 -4
  17. package/dist/types/components/Reactions.d.ts +73 -73
  18. package/dist/types/components/ReactionsDialog.d.ts +10 -10
  19. package/dist/types/components/ReactionsDialogHeader.d.ts +5 -5
  20. package/dist/types/components/ReactionsList.d.ts +7 -7
  21. package/dist/types/components/RepositionOnUpdate.d.ts +2 -2
  22. package/dist/types/components/Selector.d.ts +8 -8
  23. package/dist/types/components/StaticReaction.d.ts +3 -3
  24. package/dist/types/components/Trigger.d.ts +27 -27
  25. package/dist/types/components/UfoErrorBoundary.d.ts +1 -1
  26. package/dist/types/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +4 -4
  27. package/dist/types/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +10 -10
  28. package/dist/types/hooks/useFocusTrap.d.ts +1 -1
  29. package/dist/types/store/MemoryReactionsStore.d.ts +1 -1
  30. package/dist/types/store/ReactionConsumer.d.ts +4 -4
  31. package/dist/types/types/Actions.d.ts +8 -8
  32. package/dist/types/types/User.d.ts +5 -5
  33. package/dist/types/types/client.d.ts +10 -10
  34. package/dist/types/types/index.d.ts +6 -6
  35. package/dist/types/types/reaction.d.ts +12 -12
  36. package/dist/types/types/store.d.ts +6 -6
  37. package/dist/types-ts4.5/components/Counter.d.ts +10 -10
  38. package/dist/types-ts4.5/components/EmojiButton.d.ts +4 -4
  39. package/dist/types-ts4.5/components/Reaction.d.ts +20 -20
  40. package/dist/types-ts4.5/components/ReactionButton.d.ts +9 -9
  41. package/dist/types-ts4.5/components/ReactionPicker.d.ts +34 -34
  42. package/dist/types-ts4.5/components/ReactionPickerNew.d.ts +41 -41
  43. package/dist/types-ts4.5/components/ReactionSummaryButton.d.ts +12 -12
  44. package/dist/types-ts4.5/components/ReactionSummaryView.d.ts +32 -32
  45. package/dist/types-ts4.5/components/ReactionTooltip.d.ts +14 -14
  46. package/dist/types-ts4.5/components/ReactionView.d.ts +4 -4
  47. package/dist/types-ts4.5/components/Reactions.d.ts +73 -73
  48. package/dist/types-ts4.5/components/ReactionsDialog.d.ts +10 -10
  49. package/dist/types-ts4.5/components/ReactionsDialogHeader.d.ts +5 -5
  50. package/dist/types-ts4.5/components/ReactionsList.d.ts +7 -7
  51. package/dist/types-ts4.5/components/RepositionOnUpdate.d.ts +2 -2
  52. package/dist/types-ts4.5/components/Selector.d.ts +8 -8
  53. package/dist/types-ts4.5/components/StaticReaction.d.ts +3 -3
  54. package/dist/types-ts4.5/components/Trigger.d.ts +27 -27
  55. package/dist/types-ts4.5/components/UfoErrorBoundary.d.ts +1 -1
  56. package/dist/types-ts4.5/containers/ConnectedReactionPicker/ConnectedReactionPicker.d.ts +4 -4
  57. package/dist/types-ts4.5/containers/ConnectedReactionsView/ConnectedReactionsView.d.ts +10 -10
  58. package/dist/types-ts4.5/hooks/useFocusTrap.d.ts +1 -1
  59. package/dist/types-ts4.5/store/MemoryReactionsStore.d.ts +1 -1
  60. package/dist/types-ts4.5/store/ReactionConsumer.d.ts +4 -4
  61. package/dist/types-ts4.5/types/Actions.d.ts +8 -8
  62. package/dist/types-ts4.5/types/User.d.ts +5 -5
  63. package/dist/types-ts4.5/types/client.d.ts +10 -10
  64. package/dist/types-ts4.5/types/index.d.ts +6 -6
  65. package/dist/types-ts4.5/types/reaction.d.ts +12 -12
  66. package/dist/types-ts4.5/types/store.d.ts +6 -6
  67. package/package.json +5 -5
@@ -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,15 +8,15 @@ 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?: [number, number];
20
- ariaLabel?: string;
18
+ onVisibilityChange?: (isVisible: boolean) => void;
19
+ position?: TriggerPosition;
20
+ userId?: string | null;
21
21
  };
22
22
  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
  };
@@ -13,9 +13,13 @@ export declare const RENDER_COUNTER_TESTID = "counter-container";
13
13
  export declare const RENDER_LABEL_TESTID = "counter_label_wrapper";
14
14
  export interface CounterProps {
15
15
  /**
16
- * Count of emoji been selected
16
+ * Duration of how long the motion will take (defaults to "medium" from '@atlaskit/motion')
17
17
  */
18
- value: number;
18
+ animationDuration?: Durations;
19
+ /**
20
+ * Optional wrapper class name
21
+ */
22
+ className?: string;
19
23
  /**
20
24
  * Has the emoji been selected by given user (defaults to false)
21
25
  */
@@ -28,14 +32,6 @@ export interface CounterProps {
28
32
  * Label to show when the value surpasses the limit value (defaults to "1k+")
29
33
  */
30
34
  overLimitLabel?: string;
31
- /**
32
- * Optional wrapper class name
33
- */
34
- className?: string;
35
- /**
36
- * Duration of how long the motion will take (defaults to "medium" from '@atlaskit/motion')
37
- */
38
- animationDuration?: Durations;
39
35
  /**
40
36
  * Optional prop to use a darker text color for the counter
41
37
  */
@@ -44,6 +40,10 @@ export interface CounterProps {
44
40
  * Optional prop to show updated styling for counter
45
41
  */
46
42
  useUpdatedStyles?: boolean;
43
+ /**
44
+ * Count of emoji been selected
45
+ */
46
+ value: number;
47
47
  }
48
48
  /**
49
49
  * Display reaction count next to the emoji button
@@ -9,14 +9,14 @@ export interface EmojiButtonProps {
9
9
  * Async provider to fetch the emoji
10
10
  */
11
11
  emojiProvider: Promise<EmojiProvider>;
12
- /**
13
- * Event handler when a new emoji is selected
14
- */
15
- onClick: OnEmojiEvent;
16
12
  /**
17
13
  * Optional prop for hoverable reaction picker selector emoji
18
14
  */
19
15
  hoverableReactionPickerSelectorEmoji?: boolean;
16
+ /**
17
+ * Event handler when a new emoji is selected
18
+ */
19
+ onClick: OnEmojiEvent;
20
20
  }
21
21
  /**
22
22
  * custom button to render the custom emoji selector inside the reaction picker
@@ -8,49 +8,49 @@ import { type OpenReactionsDialogOptions } from './Reactions';
8
8
  export declare const RENDER_REACTION_TESTID = "render_reaction_wrapper";
9
9
  export interface ReactionProps {
10
10
  /**
11
- * Data for the reaction
11
+ * Optional prop for enabling the Reactions Dialog
12
12
  */
13
- reaction: ReactionSummary;
13
+ allowUserDialog?: boolean;
14
14
  /**
15
15
  * Provider for loading emojis
16
16
  */
17
17
  emojiProvider: Promise<EmojiProvider>;
18
18
  /**
19
- * event handler when the emoji button is clicked
19
+ * Show custom animation or render as standard without animation (defaults to false)
20
20
  */
21
- onClick: ReactionClick;
21
+ flash?: boolean;
22
22
  /**
23
- * Optional event when the mouse cursor hovers over the reaction
23
+ * Optional function when the user wants to open the Reactions Dialog
24
24
  */
25
- onMouseEnter?: ReactionMouseEnter;
25
+ handleOpenReactionsDialog?: (options?: OpenReactionsDialogOptions) => void;
26
26
  /**
27
- * Optional event when focused the reaction
27
+ * Optional prop for controlling if the reactions component is view only, disabling adding reactions
28
28
  */
29
- onFocused?: ReactionFocused;
29
+ isViewOnly?: boolean;
30
30
  /**
31
- * Show custom animation or render as standard without animation (defaults to false)
31
+ * event handler when the emoji button is clicked
32
32
  */
33
- flash?: boolean;
33
+ onClick: ReactionClick;
34
34
  /**
35
- * Show a floating emoji particle effect (usually in response to a new reaction) (defaults to false)
35
+ * Optional event when focused the reaction
36
36
  */
37
- showParticleEffect?: boolean;
37
+ onFocused?: ReactionFocused;
38
38
  /**
39
- * Optional prop for using an opaque button background instead of a transparent background
39
+ * Optional event when the mouse cursor hovers over the reaction
40
40
  */
41
- showOpaqueBackground?: boolean;
41
+ onMouseEnter?: ReactionMouseEnter;
42
42
  /**
43
- * Optional prop for enabling the Reactions Dialog
43
+ * Data for the reaction
44
44
  */
45
- allowUserDialog?: boolean;
45
+ reaction: ReactionSummary;
46
46
  /**
47
- * Optional function when the user wants to open the Reactions Dialog
47
+ * Optional prop for using an opaque button background instead of a transparent background
48
48
  */
49
- handleOpenReactionsDialog?: (options?: OpenReactionsDialogOptions) => void;
49
+ showOpaqueBackground?: boolean;
50
50
  /**
51
- * Optional prop for controlling if the reactions component is view only, disabling adding reactions
51
+ * Show a floating emoji particle effect (usually in response to a new reaction) (defaults to false)
52
52
  */
53
- isViewOnly?: boolean;
53
+ showParticleEffect?: boolean;
54
54
  /**
55
55
  * Optional prop for controlling if the reaction displayed is a default one and should not have a border
56
56
  */
@@ -1,21 +1,21 @@
1
1
  import { type ReactionProps } from './Reaction';
2
2
  interface ReactionButtonProps extends Pick<ReactionProps, 'flash'> {
3
- onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
4
- className?: string;
5
3
  ariaLabel: string;
6
4
  ariaPressed?: boolean;
7
- onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>) => void;
8
- onMouseLeave?: (event: React.MouseEvent<HTMLButtonElement>) => void;
9
- onFocus?: (event: React.FocusEvent<HTMLButtonElement>) => void;
5
+ children?: React.ReactNode;
6
+ className?: string;
10
7
  dataAttributes?: {
11
8
  [key: string]: string;
12
9
  };
13
- testId?: string;
14
- children?: React.ReactNode;
15
- showSubtleStyle?: boolean;
10
+ onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
11
+ onFocus?: (event: React.FocusEvent<HTMLButtonElement>) => void;
12
+ onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>) => void;
13
+ onMouseLeave?: (event: React.MouseEvent<HTMLButtonElement>) => void;
14
+ reacted?: boolean;
16
15
  showOpaqueBackground?: boolean;
16
+ showSubtleStyle?: boolean;
17
+ testId?: string;
17
18
  useCompactStyles?: boolean;
18
- reacted?: boolean;
19
19
  }
20
20
  export declare const ReactionButton: ({ onClick, flash, showSubtleStyle, showOpaqueBackground, useCompactStyles, reacted, ariaLabel, ariaPressed, onMouseEnter, onMouseLeave, onFocus, children, dataAttributes, testId, }: ReactionButtonProps) => JSX.Element;
21
21
  export {};