@atlaskit/emoji 67.1.0 → 67.2.0

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 (131) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/api/EmojiResource.js +29 -24
  3. package/dist/cjs/api/media/TokenManager.js +4 -4
  4. package/dist/cjs/components/common/CachingEmoji.js +14 -6
  5. package/dist/cjs/components/common/Emoji.js +48 -12
  6. package/dist/cjs/components/common/EmojiActions.js +60 -24
  7. package/dist/cjs/components/common/EmojiErrorMessage.js +12 -7
  8. package/dist/cjs/components/common/EmojiPlaceholder.js +1 -0
  9. package/dist/cjs/components/common/{EmojiButton.js → EmojiRadioButton.js} +28 -19
  10. package/dist/cjs/components/common/EmojiUploadPicker.js +80 -37
  11. package/dist/cjs/components/common/EmojiUploadPreview.js +11 -2
  12. package/dist/cjs/components/common/FileChooser.js +2 -2
  13. package/dist/cjs/components/common/ResourcedEmojiComponent.js +4 -0
  14. package/dist/cjs/components/common/RetryableButton.js +7 -3
  15. package/dist/cjs/components/common/TonePreviewButton.js +44 -0
  16. package/dist/cjs/components/common/ToneSelector.js +53 -25
  17. package/dist/cjs/components/common/styles.js +45 -16
  18. package/dist/cjs/components/i18n.js +44 -4
  19. package/dist/cjs/components/picker/CategorySelector.js +112 -90
  20. package/dist/cjs/components/picker/CategoryTracker.js +0 -28
  21. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +2 -1
  22. package/dist/cjs/components/picker/EmojiPickerComponent.js +13 -7
  23. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +32 -4
  24. package/dist/cjs/components/picker/EmojiPickerList.js +140 -51
  25. package/dist/cjs/components/picker/EmojiPickerListSearch.js +16 -3
  26. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +5 -2
  27. package/dist/cjs/components/picker/VirtualList.js +196 -14
  28. package/dist/cjs/components/picker/styles.js +43 -51
  29. package/dist/cjs/context/EmojiPickerListContext.js +33 -0
  30. package/dist/cjs/hooks/useEmojiPickerListContext.js +12 -0
  31. package/dist/cjs/util/constants.js +40 -1
  32. package/dist/cjs/util/shared-styles.js +3 -4
  33. package/dist/cjs/version.json +1 -1
  34. package/dist/es2019/api/EmojiResource.js +29 -24
  35. package/dist/es2019/api/media/TokenManager.js +4 -4
  36. package/dist/es2019/components/common/CachingEmoji.js +10 -3
  37. package/dist/es2019/components/common/Emoji.js +44 -11
  38. package/dist/es2019/components/common/EmojiActions.js +54 -23
  39. package/dist/es2019/components/common/EmojiErrorMessage.js +7 -3
  40. package/dist/es2019/components/common/EmojiPlaceholder.js +1 -0
  41. package/dist/es2019/components/common/EmojiRadioButton.js +54 -0
  42. package/dist/es2019/components/common/EmojiUploadPicker.js +75 -36
  43. package/dist/es2019/components/common/EmojiUploadPreview.js +11 -2
  44. package/dist/es2019/components/common/FileChooser.js +1 -1
  45. package/dist/es2019/components/common/ResourcedEmojiComponent.js +4 -0
  46. package/dist/es2019/components/common/RetryableButton.js +7 -3
  47. package/dist/es2019/components/common/TonePreviewButton.js +34 -0
  48. package/dist/es2019/components/common/ToneSelector.js +55 -21
  49. package/dist/es2019/components/common/styles.js +41 -10
  50. package/dist/es2019/components/i18n.js +44 -4
  51. package/dist/es2019/components/picker/CategorySelector.js +114 -89
  52. package/dist/es2019/components/picker/CategoryTracker.js +0 -24
  53. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +2 -2
  54. package/dist/es2019/components/picker/EmojiPickerComponent.js +14 -7
  55. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +51 -21
  56. package/dist/es2019/components/picker/EmojiPickerList.js +102 -21
  57. package/dist/es2019/components/picker/EmojiPickerListSearch.js +14 -4
  58. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +4 -1
  59. package/dist/es2019/components/picker/VirtualList.js +193 -12
  60. package/dist/es2019/components/picker/styles.js +20 -28
  61. package/dist/es2019/context/EmojiPickerListContext.js +17 -0
  62. package/dist/es2019/hooks/useEmojiPickerListContext.js +3 -0
  63. package/dist/es2019/util/constants.js +31 -0
  64. package/dist/es2019/util/shared-styles.js +1 -2
  65. package/dist/es2019/version.json +1 -1
  66. package/dist/esm/api/EmojiResource.js +29 -24
  67. package/dist/esm/api/media/TokenManager.js +4 -4
  68. package/dist/esm/components/common/CachingEmoji.js +14 -6
  69. package/dist/esm/components/common/Emoji.js +48 -12
  70. package/dist/esm/components/common/EmojiActions.js +61 -25
  71. package/dist/esm/components/common/EmojiErrorMessage.js +7 -3
  72. package/dist/esm/components/common/EmojiPlaceholder.js +1 -0
  73. package/dist/esm/components/common/EmojiRadioButton.js +52 -0
  74. package/dist/esm/components/common/EmojiUploadPicker.js +77 -36
  75. package/dist/esm/components/common/EmojiUploadPreview.js +11 -2
  76. package/dist/esm/components/common/FileChooser.js +1 -1
  77. package/dist/esm/components/common/ResourcedEmojiComponent.js +4 -0
  78. package/dist/esm/components/common/RetryableButton.js +7 -3
  79. package/dist/esm/components/common/TonePreviewButton.js +33 -0
  80. package/dist/esm/components/common/ToneSelector.js +49 -18
  81. package/dist/esm/components/common/styles.js +40 -12
  82. package/dist/esm/components/i18n.js +44 -4
  83. package/dist/esm/components/picker/CategorySelector.js +114 -95
  84. package/dist/esm/components/picker/CategoryTracker.js +0 -28
  85. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +2 -2
  86. package/dist/esm/components/picker/EmojiPickerComponent.js +13 -7
  87. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +32 -4
  88. package/dist/esm/components/picker/EmojiPickerList.js +141 -52
  89. package/dist/esm/components/picker/EmojiPickerListSearch.js +17 -4
  90. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +5 -2
  91. package/dist/esm/components/picker/VirtualList.js +195 -12
  92. package/dist/esm/components/picker/styles.js +37 -45
  93. package/dist/esm/context/EmojiPickerListContext.js +21 -0
  94. package/dist/esm/hooks/useEmojiPickerListContext.js +5 -0
  95. package/dist/esm/util/constants.js +31 -0
  96. package/dist/esm/util/shared-styles.js +1 -2
  97. package/dist/esm/version.json +1 -1
  98. package/dist/types/api/EmojiResource.d.ts +2 -0
  99. package/dist/types/components/common/Emoji.d.ts +7 -1
  100. package/dist/types/components/common/EmojiActions.d.ts +3 -2
  101. package/dist/types/components/common/{EmojiButton.d.ts → EmojiRadioButton.d.ts} +3 -4
  102. package/dist/types/components/common/EmojiUploadPicker.d.ts +6 -4
  103. package/dist/types/components/common/RetryableButton.d.ts +1 -0
  104. package/dist/types/components/common/TonePreviewButton.d.ts +14 -0
  105. package/dist/types/components/common/ToneSelector.d.ts +8 -5
  106. package/dist/types/components/common/internal-types.d.ts +9 -0
  107. package/dist/types/components/common/styles.d.ts +2 -1
  108. package/dist/types/components/i18n.d.ts +40 -0
  109. package/dist/types/components/picker/CategorySelector.d.ts +3 -10
  110. package/dist/types/components/picker/CategoryTracker.d.ts +0 -2
  111. package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +2 -1
  112. package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +5 -0
  113. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -5
  114. package/dist/types/components/picker/EmojiPickerListSearch.d.ts +1 -0
  115. package/dist/types/components/picker/EmojiPickerVirtualItems.d.ts +1 -1
  116. package/dist/types/components/picker/VirtualList.d.ts +2 -0
  117. package/dist/types/components/picker/styles.d.ts +1 -1
  118. package/dist/types/context/EmojiPickerListContext.d.ts +10 -0
  119. package/dist/types/hooks/useEmojiPickerListContext.d.ts +1 -0
  120. package/dist/types/util/constants.d.ts +27 -0
  121. package/dist/types/util/shared-styles.d.ts +1 -1
  122. package/dist/types/util/type-helpers.d.ts +1 -1
  123. package/package.json +9 -6
  124. package/report.api.md +52 -1
  125. package/README.md +0 -3
  126. package/dist/es2019/components/common/EmojiButton.js +0 -49
  127. package/dist/esm/components/common/EmojiButton.js +0 -43
  128. /package/dist/cjs/{components/hooks.js → hooks/useIsMounted.js} +0 -0
  129. /package/dist/es2019/{components/hooks.js → hooks/useIsMounted.js} +0 -0
  130. /package/dist/esm/{components/hooks.js → hooks/useIsMounted.js} +0 -0
  131. /package/dist/types/{components/hooks.d.ts → hooks/useIsMounted.d.ts} +0 -0
@@ -14,6 +14,8 @@ declare type Props = {
14
14
  };
15
15
  export declare type ListRef = {
16
16
  scrollToRow: (index?: number) => void;
17
+ scrollToRowAndFocusLastEmoji: (index?: number) => void;
18
+ updateFocusIndex: (index: number) => void;
17
19
  };
18
20
  export declare const virtualListScrollContainerTestId = "virtual-list-scroll-container";
19
21
  export declare const VirtualList: React.ForwardRefExoticComponent<Props & React.RefAttributes<ListRef>>;
@@ -1,7 +1,7 @@
1
1
  import { PickerSize } from '../../types';
2
2
  export declare const emojiPicker: (hasPreview?: boolean | undefined, size?: PickerSize) => import("@emotion/react").SerializedStyles;
3
- export declare const addButton = "emoji-picker-add-button";
4
3
  export declare const categorySelector: import("@emotion/react").SerializedStyles;
4
+ export declare const categorySelectorTablist: import("@emotion/react").SerializedStyles;
5
5
  export declare const active: import("@emotion/react").SerializedStyles;
6
6
  export declare const disable: import("@emotion/react").SerializedStyles;
7
7
  export declare const categoryStyles: import("@emotion/react").SerializedStyles;
@@ -0,0 +1,10 @@
1
+ import React, { FC } from 'react';
2
+ import { EmojiPickerListContextType } from '../components/common/internal-types';
3
+ export declare const EmojiPickerListContext: React.Context<EmojiPickerListContextType>;
4
+ export interface EmojiPickerListContextProviderProps {
5
+ initialEmojisFocus: {
6
+ rowIndex: number;
7
+ columnIndex: number;
8
+ };
9
+ }
10
+ export declare const EmojiPickerListContextProvider: FC<EmojiPickerListContextProviderProps>;
@@ -0,0 +1 @@
1
+ export declare const useEmojiPickerListContext: () => import("../components/common/internal-types").EmojiPickerListContextType;
@@ -2,6 +2,8 @@ import { CategoryId } from '../components/picker/categories';
2
2
  export declare const customCategory = "CUSTOM";
3
3
  export declare const frequentCategory = "FREQUENT";
4
4
  export declare const customType = "SITE";
5
+ export declare const searchCategory = "SEARCH";
6
+ export declare const yourUploadsCategory = "USER_CUSTOM";
5
7
  export declare const customTitle = "allUploadsCustomCategory";
6
8
  export declare const userCustomTitle = "userUploadsCustomCategory";
7
9
  export declare const dataURLPrefix = "data:";
@@ -23,9 +25,34 @@ export declare const emojiPickerHeightWithPreview: number;
23
25
  export declare const localStoragePrefix = "fabric.emoji";
24
26
  export declare const selectedToneStorageKey: string;
25
27
  export declare const defaultCategories: CategoryId[];
28
+ export declare enum KeyboardKeys {
29
+ ArrowLeft = "ArrowLeft",
30
+ ArrowRight = "ArrowRight",
31
+ ArrowUp = "ArrowUp",
32
+ ArrowDown = "ArrowDown",
33
+ PageUp = "PageUp",
34
+ PageDown = "PageDown",
35
+ Home = "Home",
36
+ End = "End",
37
+ Enter = "Enter",
38
+ Tab = "Tab",
39
+ Space = " "
40
+ }
41
+ export declare enum KeyboardNavigationDirection {
42
+ Down = "Down",
43
+ Up = "Up",
44
+ Left = "Left",
45
+ Right = "Right"
46
+ }
47
+ export declare const CATEGORYSELECTOR_KEYBOARD_KEYS_SUPPORTED: string[];
48
+ export declare const TONESELECTOR_KEYBOARD_KEYS_SUPPORTED: string[];
49
+ export declare const EMOJIPICKERLIST_KEYBOARD_KEYS_SUPPORTED: string[];
50
+ export declare const DEFAULT_TONE = 0;
26
51
  export declare const defaultListLimit = 50;
27
52
  export declare const migrationUserId = "hipchat_migration_emoticons";
28
53
  export declare const analyticsEmojiPrefix = "atlassian.fabric.emoji.picker";
54
+ export declare const EMOJI_LIST_COLUMNS = 8;
55
+ export declare const EMOJI_LIST_PAGE_COUNT = 5;
29
56
  export declare const EMOJI_SEARCH_DEBOUNCE = 150;
30
57
  export declare const SAMPLING_RATE_EMOJI_RENDERED_EXP = 20;
31
58
  export declare const SAMPLING_RATE_EMOJI_RESOURCE_FETCHED_EXP = 100;
@@ -3,7 +3,7 @@ export declare const emojiPickerListHeight = 205;
3
3
  export declare const emojiPickerBorderColor: "var(--ds-border)";
4
4
  export declare const emojiPickerBoxShadow: "var(--ds-shadow-overlay)";
5
5
  export declare const noDialogContainerBorderColor: "var(--ds-border)";
6
- export declare const noDialogContainerBorderRadius: string;
6
+ export declare const noDialogContainerBorderRadius: "var(--ds-radius-100)";
7
7
  export declare const noDialogContainerBoxShadow: "var(--ds-shadow-overlay)";
8
8
  export declare const akEmojiSelectedBackgroundColor: "var(--ds-background-neutral-subtle-hovered)";
9
9
  export declare const emojiPreviewSelectedColor: "var(--ds-background-neutral)";
@@ -11,7 +11,7 @@ export declare const hasDataURLImage: (rep: EmojiRepresentation) => boolean;
11
11
  export declare const isLoadedMediaEmoji: (emoji: EmojiDescription) => boolean;
12
12
  export declare const isEmojiDescriptionWithVariations: (emoji: OptionalEmojiDescription) => emoji is EmojiDescriptionWithVariations;
13
13
  export declare const isEmojiVariationDescription: (object: any) => object is EmojiVariationDescription;
14
- export declare const isMessagesKey: (key: string) => key is "deleteEmojiTitle" | "deleteEmojiDescription" | "deleteEmojiLabel" | "addCustomEmojiLabel" | "emojiPlaceholder" | "emojiNameAriaLabel" | "emojiChooseFileTitle" | "emojiChooseFileScreenReaderDescription" | "emojiSelectSkinToneButtonAriaLabelText" | "emojiImageRequirements" | "emojiPreviewTitle" | "emojiPreview" | "addEmojiLabel" | "retryLabel" | "cancelLabel" | "searchPlaceholder" | "searchLabel" | "categoriesSearchResults" | "frequentCategory" | "peopleCategory" | "natureCategory" | "foodsCategory" | "activityCategory" | "placesCategory" | "objectsCategory" | "symbolsCategory" | "flagsCategory" | "productivityCategory" | "userUploadsCustomCategory" | "allUploadsCustomCategory" | "deleteEmojiFailed" | "emojiInvalidImage" | "emojiUploadFailed" | "emojiImageTooBig";
14
+ export declare const isMessagesKey: (key: string) => key is "deleteEmojiTitle" | "deleteEmojiDescription" | "deleteEmojiLabel" | "addCustomEmojiLabel" | "emojiPlaceholder" | "emojiNameAriaLabel" | "emojiChooseFileTitle" | "emojiChooseFileScreenReaderDescription" | "emojiSelectSkinToneButtonAriaLabelText" | "emojiSelectSkinToneListAriaLabelText" | "emojiImageRequirements" | "emojiPreviewTitle" | "emojiPreview" | "addEmojiLabel" | "retryLabel" | "cancelLabel" | "searchPlaceholder" | "searchLabel" | "searchResultsStatus" | "searchResultsStatusSeeAll" | "categoriesSelectorLabel" | "categoriesSearchResults" | "frequentCategory" | "peopleCategory" | "natureCategory" | "foodsCategory" | "activityCategory" | "placesCategory" | "objectsCategory" | "symbolsCategory" | "flagsCategory" | "productivityCategory" | "userUploadsCustomCategory" | "allUploadsCustomCategory" | "deleteEmojiFailed" | "emojiInvalidImage" | "emojiUploadFailed" | "emojiImageTooBig" | "emojiPickerTitle" | "emojiPickerListPanel" | "emojiPickerGrid" | "emojiButtonRoleDescription";
15
15
  export declare const toEmojiId: (emoji: EmojiDescription) => EmojiId;
16
16
  export declare const toOptionalEmojiId: (emoji: OptionalEmojiDescription) => EmojiId | undefined;
17
17
  export declare const isEmojiIdEqual: (l?: EmojiId | undefined, r?: EmojiId | undefined) => boolean | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "67.1.0",
3
+ "version": "67.2.0",
4
4
  "description": "Fabric emoji React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -27,21 +27,23 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@atlaskit/analytics-next": "^9.0.0",
30
- "@atlaskit/button": "^16.5.0",
30
+ "@atlaskit/button": "^16.6.0",
31
31
  "@atlaskit/icon": "^21.11.0",
32
- "@atlaskit/media-client": "^20.1.0",
32
+ "@atlaskit/media-client": "^20.2.0",
33
33
  "@atlaskit/spinner": "^15.4.0",
34
34
  "@atlaskit/textfield": "^5.3.0",
35
- "@atlaskit/theme": "^12.2.0",
35
+ "@atlaskit/theme": "^12.3.0",
36
36
  "@atlaskit/tokens": "^1.2.0",
37
37
  "@atlaskit/tooltip": "^17.7.0",
38
38
  "@atlaskit/ufo": "^0.1.0",
39
39
  "@atlaskit/util-service-support": "^6.1.0",
40
+ "@atlaskit/visually-hidden": "^1.1.2",
40
41
  "@babel/runtime": "^7.0.0",
41
42
  "@emotion/react": "^11.7.1",
42
43
  "@tanstack/react-virtual": "3.0.0-beta.22",
43
44
  "js-search": "^2.0.0",
44
45
  "lru_map": "^0.4.1",
46
+ "react-focus-lock": "^2.5.2",
45
47
  "react-intersection-observer": "^8.26.2",
46
48
  "react-loadable": "^5.1.0",
47
49
  "use-debounce": "^3.4.0",
@@ -54,13 +56,13 @@
54
56
  },
55
57
  "devDependencies": {
56
58
  "@atlaskit/docs": "*",
57
- "@atlaskit/editor-test-helpers": "^18.0.0",
59
+ "@atlaskit/editor-test-helpers": "^18.1.0",
58
60
  "@atlaskit/elements-test-helpers": "^0.7.0",
59
61
  "@atlaskit/media-core": "^34.0.0",
60
62
  "@atlaskit/popup": "^1.5.0",
61
63
  "@atlaskit/section-message": "^6.3.0",
62
64
  "@atlaskit/ssr": "*",
63
- "@atlaskit/util-data-test": "^17.6.0",
65
+ "@atlaskit/util-data-test": "^17.7.0",
64
66
  "@atlaskit/visual-regression": "*",
65
67
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
66
68
  "@atlassian/ufo": "^0.1.10",
@@ -76,6 +78,7 @@
76
78
  "enzyme-adapter-react-16": "^1.15.1",
77
79
  "es6-promise": "^4.0.5",
78
80
  "fetch-mock": "^8.0.0",
81
+ "jest-axe": "^4.0.0",
79
82
  "p-wait-for": "^3.2.0",
80
83
  "react": "^16.8.0",
81
84
  "react-addons-perf": "^15.3.2",
package/report.api.md CHANGED
@@ -416,6 +416,8 @@ class EmojiResource_2
416
416
  // (undocumented)
417
417
  protected initEmojiRepository(emojiResponses: EmojiResponse[]): void;
418
418
  // (undocumented)
419
+ protected initialLoaders: number;
420
+ // (undocumented)
419
421
  protected initSiteEmojiResource(
420
422
  emojiResponse: EmojiResponse,
421
423
  provider: ServiceConfig,
@@ -423,6 +425,10 @@ class EmojiResource_2
423
425
  // (undocumented)
424
426
  protected isInitialised: boolean;
425
427
  // (undocumented)
428
+ protected isRepositoryAvailable: <T>(
429
+ repository?: T | undefined,
430
+ ) => repository is T;
431
+ // (undocumented)
426
432
  protected lastQuery?: LastQuery;
427
433
  // (undocumented)
428
434
  loadMediaEmoji(
@@ -739,6 +745,11 @@ const messages: {
739
745
  defaultMessage: string;
740
746
  description: string;
741
747
  };
748
+ emojiSelectSkinToneListAriaLabelText: {
749
+ id: string;
750
+ defaultMessage: string;
751
+ description: string;
752
+ };
742
753
  emojiImageRequirements: {
743
754
  id: string;
744
755
  defaultMessage: string;
@@ -779,6 +790,21 @@ const messages: {
779
790
  defaultMessage: string;
780
791
  description: string;
781
792
  };
793
+ searchResultsStatus: {
794
+ id: string;
795
+ defaultMessage: string;
796
+ description: string;
797
+ };
798
+ searchResultsStatusSeeAll: {
799
+ id: string;
800
+ defaultMessage: string;
801
+ description: string;
802
+ };
803
+ categoriesSelectorLabel: {
804
+ id: string;
805
+ defaultMessage: string;
806
+ description: string;
807
+ };
782
808
  categoriesSearchResults: {
783
809
  id: string;
784
810
  defaultMessage: string;
@@ -864,6 +890,26 @@ const messages: {
864
890
  defaultMessage: string;
865
891
  description: string;
866
892
  };
893
+ emojiPickerTitle: {
894
+ id: string;
895
+ defaultMessage: string;
896
+ description: string;
897
+ };
898
+ emojiPickerListPanel: {
899
+ id: string;
900
+ defaultMessage: string;
901
+ description: string;
902
+ };
903
+ emojiPickerGrid: {
904
+ id: string;
905
+ defaultMessage: string;
906
+ description: string;
907
+ };
908
+ emojiButtonRoleDescription: {
909
+ id: string;
910
+ defaultMessage: string;
911
+ description: string;
912
+ };
867
913
  };
868
914
 
869
915
  // @public (undocumented)
@@ -927,13 +973,18 @@ interface PickerRefHandler {
927
973
  export type PickerSize = 'large' | 'medium' | 'small';
928
974
 
929
975
  // @public (undocumented)
930
- interface Props {
976
+ interface Props
977
+ extends Omit<
978
+ React_2.HTMLAttributes<HTMLSpanElement>,
979
+ 'onFocus' | 'onMouseMove'
980
+ > {
931
981
  autoWidth?: boolean;
932
982
  className?: string;
933
983
  disableLazyLoad?: boolean;
934
984
  emoji: EmojiDescription;
935
985
  fitToHeight?: number;
936
986
  onDelete?: OnEmojiEvent;
987
+ onFocus?: OnEmojiEvent;
937
988
  onLoadError?: OnEmojiEvent<HTMLImageElement>;
938
989
  onLoadSuccess?: (emoji: EmojiDescription) => void;
939
990
  onMouseMove?: OnEmojiEvent;
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Emoji
2
-
3
- Documentation can be found on: https://product-fabric.atlassian.net/wiki/spaces/TWPCP/pages/3178201667/Emoji+README
@@ -1,49 +0,0 @@
1
- /** @jsx jsx */
2
- import React, { forwardRef, memo } from 'react';
3
- import { jsx } from '@emotion/react';
4
- import { leftClick } from '../../util/mouse';
5
- import { emojiButton, hiddenToneButton } from './styles';
6
- import Emoji from './Emoji';
7
- const handleMouseDown = (props, event) => {
8
- const {
9
- onSelected
10
- } = props;
11
- event.preventDefault();
12
- if (onSelected && leftClick(event)) {
13
- onSelected();
14
- }
15
- };
16
- const handleKeyPress = (props, event) => {
17
- const {
18
- onSelected
19
- } = props;
20
- if (onSelected && (event.key === 'Enter' || event.key === ' ')) {
21
- event.preventDefault();
22
- onSelected();
23
- }
24
- };
25
- export const EmojiButton = /*#__PURE__*/forwardRef((props, ref) => {
26
- const {
27
- emoji,
28
- selectOnHover,
29
- ariaLabelText,
30
- ariaExpanded,
31
- shouldHideButton
32
- } = props;
33
- return jsx("button", {
34
- ref: ref,
35
- "aria-expanded": ariaExpanded,
36
- css: shouldHideButton ? hiddenToneButton : emojiButton,
37
- onMouseDown: event => {
38
- handleMouseDown(props, event);
39
- },
40
- onKeyDown: event => {
41
- handleKeyPress(props, event);
42
- },
43
- "aria-label": ariaLabelText
44
- }, jsx(Emoji, {
45
- emoji: emoji,
46
- selectOnHover: selectOnHover
47
- }));
48
- });
49
- export default /*#__PURE__*/memo(EmojiButton);
@@ -1,43 +0,0 @@
1
- /** @jsx jsx */
2
- import React, { forwardRef, memo } from 'react';
3
- import { jsx } from '@emotion/react';
4
- import { leftClick } from '../../util/mouse';
5
- import { emojiButton, hiddenToneButton } from './styles';
6
- import Emoji from './Emoji';
7
- var handleMouseDown = function handleMouseDown(props, event) {
8
- var onSelected = props.onSelected;
9
- event.preventDefault();
10
- if (onSelected && leftClick(event)) {
11
- onSelected();
12
- }
13
- };
14
- var handleKeyPress = function handleKeyPress(props, event) {
15
- var onSelected = props.onSelected;
16
- if (onSelected && (event.key === 'Enter' || event.key === ' ')) {
17
- event.preventDefault();
18
- onSelected();
19
- }
20
- };
21
- export var EmojiButton = /*#__PURE__*/forwardRef(function (props, ref) {
22
- var emoji = props.emoji,
23
- selectOnHover = props.selectOnHover,
24
- ariaLabelText = props.ariaLabelText,
25
- ariaExpanded = props.ariaExpanded,
26
- shouldHideButton = props.shouldHideButton;
27
- return jsx("button", {
28
- ref: ref,
29
- "aria-expanded": ariaExpanded,
30
- css: shouldHideButton ? hiddenToneButton : emojiButton,
31
- onMouseDown: function onMouseDown(event) {
32
- handleMouseDown(props, event);
33
- },
34
- onKeyDown: function onKeyDown(event) {
35
- handleKeyPress(props, event);
36
- },
37
- "aria-label": ariaLabelText
38
- }, jsx(Emoji, {
39
- emoji: emoji,
40
- selectOnHover: selectOnHover
41
- }));
42
- });
43
- export default /*#__PURE__*/memo(EmojiButton);