@atlaskit/emoji 64.2.0 → 64.4.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 (184) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/api/EmojiResource.js +36 -1
  3. package/dist/cjs/api/media/SiteEmojiResource.js +10 -2
  4. package/dist/cjs/components/common/CachingEmoji.js +38 -12
  5. package/dist/cjs/components/common/DeleteButton.js +9 -13
  6. package/dist/cjs/components/common/Emoji.js +25 -36
  7. package/dist/cjs/components/common/EmojiActions.js +26 -31
  8. package/dist/cjs/components/common/EmojiButton.js +7 -7
  9. package/dist/cjs/components/common/EmojiDeletePreview.js +20 -26
  10. package/dist/cjs/components/common/EmojiErrorMessage.js +10 -14
  11. package/dist/cjs/components/common/EmojiPlaceholder.js +5 -12
  12. package/dist/cjs/components/common/EmojiPreview.js +20 -40
  13. package/dist/cjs/components/common/EmojiPreviewComponent.js +34 -0
  14. package/dist/cjs/components/common/EmojiUploadPicker.js +26 -24
  15. package/dist/cjs/components/common/EmojiUploadPreview.js +22 -28
  16. package/dist/cjs/components/common/RecordSelectionDefault.js +8 -2
  17. package/dist/cjs/components/common/ResourcedEmoji.js +25 -9
  18. package/dist/cjs/components/common/ResourcedEmojiComponent.js +33 -11
  19. package/dist/cjs/components/common/RetryableButton.js +12 -18
  20. package/dist/cjs/components/common/Scrollable.js +5 -10
  21. package/dist/cjs/components/common/UfoErrorBoundary.js +52 -0
  22. package/dist/cjs/components/common/UploadEmoji.js +8 -0
  23. package/dist/cjs/components/common/styles.js +210 -266
  24. package/dist/cjs/components/picker/CategorySelector.js +13 -12
  25. package/dist/cjs/components/picker/EmojiPicker.js +17 -6
  26. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
  27. package/dist/cjs/components/picker/EmojiPickerComponent.js +51 -30
  28. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
  29. package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
  30. package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
  31. package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
  32. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
  33. package/dist/cjs/components/picker/styles.js +113 -161
  34. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +40 -24
  35. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
  36. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
  37. package/dist/cjs/components/typeahead/styles.js +17 -19
  38. package/dist/cjs/components/uploader/EmojiUploadComponent.js +22 -15
  39. package/dist/cjs/components/uploader/styles.js +4 -4
  40. package/dist/cjs/index.js +9 -3
  41. package/dist/cjs/types.js +12 -2
  42. package/dist/cjs/util/{analytics.js → analytics/analytics.js} +12 -10
  43. package/dist/cjs/util/analytics/index.js +205 -0
  44. package/dist/cjs/util/analytics/samplingUfo.js +278 -0
  45. package/dist/cjs/util/analytics/ufoExperiences.js +46 -0
  46. package/dist/cjs/util/analytics/useSampledUFOComponentExperience.js +49 -0
  47. package/dist/cjs/util/constants.js +10 -3
  48. package/dist/cjs/version.json +1 -1
  49. package/dist/es2019/api/EmojiResource.js +28 -1
  50. package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
  51. package/dist/es2019/components/common/CachingEmoji.js +34 -12
  52. package/dist/es2019/components/common/DeleteButton.js +8 -6
  53. package/dist/es2019/components/common/Emoji.js +27 -36
  54. package/dist/es2019/components/common/EmojiActions.js +26 -24
  55. package/dist/es2019/components/common/EmojiButton.js +6 -6
  56. package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
  57. package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
  58. package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
  59. package/dist/es2019/components/common/EmojiPreview.js +19 -35
  60. package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
  61. package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
  62. package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
  63. package/dist/es2019/components/common/RecordSelectionDefault.js +9 -2
  64. package/dist/es2019/components/common/ResourcedEmoji.js +22 -5
  65. package/dist/es2019/components/common/ResourcedEmojiComponent.js +32 -11
  66. package/dist/es2019/components/common/RetryableButton.js +10 -11
  67. package/dist/es2019/components/common/Scrollable.js +6 -10
  68. package/dist/es2019/components/common/UfoErrorBoundary.js +11 -0
  69. package/dist/es2019/components/common/UploadEmoji.js +4 -0
  70. package/dist/es2019/components/common/styles.js +195 -262
  71. package/dist/es2019/components/picker/CategorySelector.js +15 -12
  72. package/dist/es2019/components/picker/EmojiPicker.js +15 -6
  73. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
  74. package/dist/es2019/components/picker/EmojiPickerComponent.js +46 -22
  75. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
  76. package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
  77. package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
  78. package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
  79. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
  80. package/dist/es2019/components/picker/styles.js +112 -160
  81. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  82. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
  83. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
  84. package/dist/es2019/components/typeahead/styles.js +14 -15
  85. package/dist/es2019/components/uploader/EmojiUploadComponent.js +19 -9
  86. package/dist/es2019/components/uploader/styles.js +4 -4
  87. package/dist/es2019/index.js +4 -3
  88. package/dist/es2019/types.js +10 -1
  89. package/dist/es2019/util/{analytics.js → analytics/analytics.js} +17 -11
  90. package/dist/es2019/util/analytics/index.js +4 -0
  91. package/dist/es2019/util/analytics/samplingUfo.js +147 -0
  92. package/dist/es2019/util/analytics/ufoExperiences.js +34 -0
  93. package/dist/es2019/util/analytics/useSampledUFOComponentExperience.js +39 -0
  94. package/dist/es2019/util/constants.js +5 -1
  95. package/dist/es2019/version.json +1 -1
  96. package/dist/esm/api/EmojiResource.js +32 -1
  97. package/dist/esm/api/media/SiteEmojiResource.js +10 -2
  98. package/dist/esm/components/common/CachingEmoji.js +36 -12
  99. package/dist/esm/components/common/DeleteButton.js +8 -6
  100. package/dist/esm/components/common/Emoji.js +26 -29
  101. package/dist/esm/components/common/EmojiActions.js +26 -25
  102. package/dist/esm/components/common/EmojiButton.js +6 -6
  103. package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
  104. package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
  105. package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
  106. package/dist/esm/components/common/EmojiPreview.js +19 -33
  107. package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
  108. package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
  109. package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
  110. package/dist/esm/components/common/RecordSelectionDefault.js +6 -3
  111. package/dist/esm/components/common/ResourcedEmoji.js +22 -9
  112. package/dist/esm/components/common/ResourcedEmojiComponent.js +32 -10
  113. package/dist/esm/components/common/RetryableButton.js +11 -12
  114. package/dist/esm/components/common/Scrollable.js +6 -10
  115. package/dist/esm/components/common/UfoErrorBoundary.js +38 -0
  116. package/dist/esm/components/common/UploadEmoji.js +4 -0
  117. package/dist/esm/components/common/styles.js +192 -242
  118. package/dist/esm/components/picker/CategorySelector.js +14 -12
  119. package/dist/esm/components/picker/EmojiPicker.js +13 -6
  120. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
  121. package/dist/esm/components/picker/EmojiPickerComponent.js +47 -22
  122. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
  123. package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
  124. package/dist/esm/components/picker/EmojiPickerList.js +29 -8
  125. package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
  126. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
  127. package/dist/esm/components/picker/styles.js +108 -149
  128. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  129. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
  130. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
  131. package/dist/esm/components/typeahead/styles.js +14 -14
  132. package/dist/esm/components/uploader/EmojiUploadComponent.js +19 -9
  133. package/dist/esm/components/uploader/styles.js +4 -4
  134. package/dist/esm/index.js +4 -3
  135. package/dist/esm/types.js +10 -1
  136. package/dist/esm/util/{analytics.js → analytics/analytics.js} +9 -7
  137. package/dist/esm/util/analytics/index.js +4 -0
  138. package/dist/esm/util/analytics/samplingUfo.js +259 -0
  139. package/dist/esm/util/analytics/ufoExperiences.js +34 -0
  140. package/dist/esm/util/analytics/useSampledUFOComponentExperience.js +39 -0
  141. package/dist/esm/util/constants.js +5 -1
  142. package/dist/esm/version.json +1 -1
  143. package/dist/types/api/EmojiResource.d.ts +1 -0
  144. package/dist/types/components/common/CachingEmoji.d.ts +8 -6
  145. package/dist/types/components/common/EmojiActions.d.ts +2 -3
  146. package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
  147. package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
  148. package/dist/types/components/common/EmojiPreview.d.ts +2 -3
  149. package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
  150. package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
  151. package/dist/types/components/common/ResourcedEmoji.d.ts +2 -0
  152. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
  153. package/dist/types/components/common/RetryableButton.d.ts +0 -2
  154. package/dist/types/components/common/UfoErrorBoundary.d.ts +8 -0
  155. package/dist/types/components/common/styles.d.ts +44 -44
  156. package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
  157. package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
  158. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
  159. package/dist/types/components/picker/styles.d.ts +17 -18
  160. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
  161. package/dist/types/components/typeahead/styles.d.ts +8 -7
  162. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +1 -0
  163. package/dist/types/components/uploader/styles.d.ts +2 -2
  164. package/dist/types/index.d.ts +3 -3
  165. package/dist/types/types.d.ts +6 -0
  166. package/dist/types/util/{analytics.d.ts → analytics/analytics.d.ts} +7 -7
  167. package/dist/types/util/analytics/index.d.ts +6 -0
  168. package/dist/types/util/analytics/samplingUfo.d.ts +31 -0
  169. package/dist/types/util/analytics/ufoExperiences.d.ts +12 -0
  170. package/dist/types/util/analytics/useSampledUFOComponentExperience.d.ts +8 -0
  171. package/dist/types/util/constants.d.ts +2 -0
  172. package/package.json +10 -9
  173. package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
  174. package/dist/cjs/context/EmojiContext.js +0 -11
  175. package/dist/cjs/context/EmojiContextProvider.js +0 -22
  176. package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
  177. package/dist/es2019/context/EmojiContext.js +0 -2
  178. package/dist/es2019/context/EmojiContextProvider.js +0 -10
  179. package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
  180. package/dist/esm/context/EmojiContext.js +0 -2
  181. package/dist/esm/context/EmojiContextProvider.js +0 -9
  182. package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
  183. package/dist/types/context/EmojiContext.d.ts +0 -4
  184. package/dist/types/context/EmojiContextProvider.d.ts +0 -7
@@ -10,6 +10,8 @@ export default class ResourcedEmoji extends LoadingEmojiComponent<Props, Loading
10
10
  state: {
11
11
  asyncLoadedComponent: React.ComponentClass<ComponentProps, any>;
12
12
  };
13
+ constructor(props: Props);
14
+ componentWillUnmount(): void;
13
15
  asyncLoadComponent(): void;
14
16
  renderLoading(): JSX.Element;
15
17
  renderLoaded(loadedEmojiProvider: EmojiProvider, ResourcedEmojiComponent: ComponentClass<ComponentProps>): JSX.Element;
@@ -1,6 +1,8 @@
1
+ import PropTypes from 'prop-types';
1
2
  import { Component } from 'react';
2
3
  import EmojiProvider from '../../api/EmojiResource';
3
4
  import { EmojiId, OptionalEmojiDescription } from '../../types';
5
+ import { EmojiContext } from './internal-types';
4
6
  import { State as LoadingState } from './LoadingEmojiComponent';
5
7
  export interface BaseResourcedEmojiProps {
6
8
  emojiId: EmojiId;
@@ -15,8 +17,12 @@ export interface State extends LoadingState {
15
17
  loaded: boolean;
16
18
  }
17
19
  export default class ResourcedEmojiComponent extends Component<Props, State> {
20
+ static childContextTypes: {
21
+ emoji: PropTypes.Requireable<any>;
22
+ };
18
23
  private ready;
19
24
  constructor(props: Props);
25
+ getChildContext(): EmojiContext;
20
26
  private refreshEmoji;
21
27
  UNSAFE_componentWillMount(): void;
22
28
  componentWillUnmount(): void;
@@ -1,7 +1,5 @@
1
1
  import { Component } from 'react';
2
2
  export interface Props {
3
- className: string;
4
- retryClassName: string;
5
3
  label: string;
6
4
  appearance: string;
7
5
  error: boolean;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { UFOExperience } from '@atlaskit/ufo';
3
+ export declare class UfoErrorBoundary extends React.Component<{
4
+ experiences: UFOExperience[];
5
+ }> {
6
+ componentDidCatch(): void;
7
+ render(): React.ReactNode;
8
+ }
@@ -1,50 +1,50 @@
1
- export declare const selected = "emoji-common-selected";
2
- export declare const selectOnHover = "emoji-common-select-on-hover";
1
+ export declare const commonSelectedStyles = "emoji-common-selected";
2
+ export declare const selectOnHoverStyles = "emoji-common-select-on-hover";
3
3
  export declare const emojiSprite = "emoji-common-emoji-sprite";
4
- export declare const emojiNode = "emoji-common-node";
4
+ export declare const emojiNodeStyles = "emoji-common-node";
5
5
  export declare const emojiImage = "emoji-common-emoji-image";
6
- export declare const deleteButton: string;
7
- export declare const emoji: string;
8
- export declare const emojiContainer: string;
6
+ export declare const emojiDeleteButton = "emoji-common-deleteButton";
7
+ export declare const emojiMainStyle = "emoji-common-main-styles";
8
+ export declare const deleteButton: import("@emotion/utils").SerializedStyles;
9
+ export declare const emojiToneSelectorContainer: import("@emotion/utils").SerializedStyles;
10
+ export declare const emojiStyles: import("@emotion/utils").SerializedStyles;
11
+ export declare const emojiContainer: import("@emotion/utils").SerializedStyles;
9
12
  export declare const placeholder = "emoji-common-placeholder";
10
- export declare const placeholderContainer: string;
11
- export declare const placeholderEmoji: string;
12
- export declare const emojiButton: string;
13
- export declare const hiddenToneButton: string;
13
+ export declare const placeholderContainer: import("@emotion/utils").SerializedStyles;
14
+ export declare const emojiButton: import("@emotion/utils").SerializedStyles;
15
+ export declare const hiddenToneButton: import("@emotion/utils").SerializedStyles;
14
16
  export declare const buttons = "emoji-common-buttons";
15
- export declare const preview = "emoji-common-preview";
16
- export declare const previewImg = "emoji-common-preview-image";
17
- export declare const previewText = "emoji-common-preview-text";
18
- export declare const name = "emoji-common-name";
19
- export declare const shortName = "emoji-common-shortname";
20
- export declare const previewSingleLine = "emoji-common-preview-single-line";
21
17
  export declare const toneSelectorContainer = "emoji-common-tone-selector-container";
22
- export declare const emojiPreviewSection = "emoji-preview-section";
23
- export declare const emojiPreview: string;
24
- export declare const emojiToneSelectorContainer: string;
25
- export declare const emojiScrollable: string;
26
- export declare const emojiUpload: string;
27
- export declare const uploadChooseFileMessage: string;
28
- export declare const emojiUploadBottom: string;
29
- export declare const uploadChooseFileRow: string;
30
- export declare const uploadChooseFileEmojiName: string;
31
- export declare const uploadChooseFileBrowse: string;
32
- export declare const uploadPreviewFooter: string;
33
- export declare const uploadPreview: string;
34
- export declare const uploadPreviewText: string;
35
- export declare const bigEmojiPreview: string;
36
- export declare const uploadAddRow: string;
37
- export declare const AddCustomEmoji: string;
18
+ export declare const emojiPickerAddEmoji = "emoji-picker-add-emoji";
19
+ export declare const previewText: import("@emotion/utils").SerializedStyles;
20
+ export declare const emojiName: import("@emotion/utils").SerializedStyles;
21
+ export declare const emojiShortName: import("@emotion/utils").SerializedStyles;
22
+ export declare const preview: import("@emotion/utils").SerializedStyles;
23
+ export declare const previewImg: import("@emotion/utils").SerializedStyles;
24
+ export declare const emojiPreview: import("@emotion/utils").SerializedStyles;
25
+ export declare const emojiScrollable: import("@emotion/utils").SerializedStyles;
26
+ export declare const emojiUpload: import("@emotion/utils").SerializedStyles;
27
+ export declare const uploadChooseFileMessage: import("@emotion/utils").SerializedStyles;
28
+ export declare const emojiUploadBottom: import("@emotion/utils").SerializedStyles;
29
+ export declare const uploadChooseFileRow: import("@emotion/utils").SerializedStyles;
30
+ export declare const uploadChooseFileEmojiName: import("@emotion/utils").SerializedStyles;
31
+ export declare const uploadChooseFileBrowse: import("@emotion/utils").SerializedStyles;
32
+ export declare const uploadPreviewFooter: import("@emotion/utils").SerializedStyles;
33
+ export declare const uploadPreview: import("@emotion/utils").SerializedStyles;
34
+ export declare const uploadPreviewText: import("@emotion/utils").SerializedStyles;
35
+ export declare const bigEmojiPreview: import("@emotion/utils").SerializedStyles;
36
+ export declare const uploadAddRow: import("@emotion/utils").SerializedStyles;
37
+ export declare const addCustomEmoji: import("@emotion/utils").SerializedStyles;
38
38
  export declare const submitDelete = "emoji-submit-delete";
39
- export declare const previewButtonGroup = "emoji-preview-button-group";
40
- export declare const deletePreview: string;
41
- export declare const deleteText: string;
42
- export declare const deleteFooter: string;
43
- export declare const emojiDeleteErrorMessage: string;
44
- export declare const emojiChooseFileErrorMessage: string;
45
- export declare const emojiPreviewErrorMessage: string;
46
- export declare const addCustomEmojiButton: string;
47
- export declare const uploadRetryButton: string;
48
- export declare const uploadEmojiButton: string;
49
- export declare const cancelButton: string;
50
- export declare const buttonSpinner: string;
39
+ export declare const deletePreview: import("@emotion/utils").SerializedStyles;
40
+ export declare const deleteText: import("@emotion/utils").SerializedStyles;
41
+ export declare const previewButtonGroup: import("@emotion/utils").SerializedStyles;
42
+ export declare const deleteFooter: import("@emotion/utils").SerializedStyles;
43
+ export declare const emojiDeleteErrorMessage: import("@emotion/utils").SerializedStyles;
44
+ export declare const emojiChooseFileErrorMessage: import("@emotion/utils").SerializedStyles;
45
+ export declare const emojiPreviewErrorMessage: import("@emotion/utils").SerializedStyles;
46
+ export declare const addCustomEmojiButton: import("@emotion/utils").SerializedStyles;
47
+ export declare const uploadRetryButton: import("@emotion/utils").SerializedStyles;
48
+ export declare const uploadEmojiButton: import("@emotion/utils").SerializedStyles;
49
+ export declare const cancelButton: import("@emotion/utils").SerializedStyles;
50
+ export declare const buttonSpinner: import("@emotion/utils").SerializedStyles;
@@ -1,5 +1,4 @@
1
1
  import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
2
- import React from 'react';
3
2
  import { ComponentClass } from 'react';
4
3
  import { EmojiProvider } from '../../api/EmojiResource';
5
4
  import { OnEmojiEvent } from '../../types';
@@ -13,12 +12,12 @@ export interface Props extends LoadingProps {
13
12
  export declare class EmojiPickerInternal extends LoadingEmojiComponent<Props & WithAnalyticsEventsProps, LoadingState> {
14
13
  static AsyncLoadedComponent?: ComponentClass<ComponentProps>;
15
14
  state: {
16
- asyncLoadedComponent: React.ComponentClass<ComponentProps, any> | undefined;
15
+ asyncLoadedComponent: ComponentClass<ComponentProps, any> | undefined;
17
16
  };
18
17
  constructor(props: Props);
19
18
  asyncLoadComponent(): void;
20
19
  renderLoading(): JSX.Element | null;
21
20
  renderLoaded(loadedEmojiProvider: EmojiProvider, EmojiPickerComponent: ComponentClass<ComponentProps>): JSX.Element;
22
21
  }
23
- declare const EmojiPicker: React.ForwardRefExoticComponent<Pick<Props & WithAnalyticsEventsProps, "emojiProvider" | "onSelection" | "onPickerRef" | "hideToneSelector"> & React.RefAttributes<any>>;
22
+ declare const EmojiPicker: import("react").ForwardRefExoticComponent<Pick<Props & WithAnalyticsEventsProps, "emojiProvider" | "onSelection" | "onPickerRef" | "hideToneSelector"> & import("react").RefAttributes<any>>;
24
23
  export default EmojiPicker;
@@ -1,7 +1,9 @@
1
+ import PropTypes from 'prop-types';
1
2
  import { PureComponent } from 'react';
2
3
  import { MessageDescriptor } from 'react-intl-next';
3
4
  import { EmojiProvider } from '../../api/EmojiResource';
4
5
  import { EmojiDescription, EmojiId, OnEmojiEvent, OptionalEmojiDescription, OptionalEmojiDescriptionWithVariations, ToneSelection } from '../../types';
6
+ import { EmojiContext } from '../common/internal-types';
5
7
  import { CategoryId } from './categories';
6
8
  import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
7
9
  export interface PickerRefHandler {
@@ -32,11 +34,15 @@ export interface State {
32
34
  loading: boolean;
33
35
  }
34
36
  export default class EmojiPickerComponent extends PureComponent<Props, State> {
37
+ static childContextTypes: {
38
+ emoji: PropTypes.Requireable<any>;
39
+ };
35
40
  static defaultProps: {
36
41
  onSelection: () => void;
37
42
  };
38
43
  constructor(props: Props);
39
44
  openTime: number;
45
+ getChildContext(): EmojiContext;
40
46
  UNSAFE_componentWillMount(): void;
41
47
  componentDidMount(): void;
42
48
  componentWillUnmount(): void;
@@ -1,5 +1,7 @@
1
+ import PropTypes from 'prop-types';
1
2
  import { PureComponent } from 'react';
2
3
  import { EmojiDescription, EmojiDescriptionWithVariations, Message, OnCategory, OnEmojiEvent, OnToneSelected, OnToneSelectorCancelled, ToneSelection, User } from '../../types';
4
+ import { EmojiContext } from '../common/internal-types';
3
5
  import { CategoryId } from './categories';
4
6
  import { OnUploadEmoji } from '../common/EmojiUploadPicker';
5
7
  import { OnDeleteEmoji } from '../common/EmojiDeletePreview';
@@ -35,6 +37,12 @@ export interface Props {
35
37
  export interface State {
36
38
  }
37
39
  export default class EmojiPickerVirtualList extends PureComponent<Props, State> {
40
+ static contextTypes: {
41
+ emoji: PropTypes.Requireable<any>;
42
+ };
43
+ static childContextTypes: {
44
+ emoji: PropTypes.Requireable<any>;
45
+ };
38
46
  static defaultProps: {
39
47
  onEmojiSelected: () => void;
40
48
  onEmojiActive: () => void;
@@ -46,7 +54,9 @@ export default class EmojiPickerVirtualList extends PureComponent<Props, State>
46
54
  private activeCategoryId;
47
55
  private virtualItems;
48
56
  private categoryTracker;
57
+ context: EmojiContext;
49
58
  constructor(props: Props);
59
+ getChildContext(): EmojiContext;
50
60
  UNSAFE_componentWillUpdate(nextProps: Props, nextState: State): void;
51
61
  private onEmojiMouseEnter;
52
62
  private onSearch;
@@ -1,19 +1,18 @@
1
- export declare const active = "emoji-picker-active";
2
- export declare const disable = "emoji-picker-disable";
3
- export declare const emojiPicker: string;
1
+ export declare const emojiPicker: import("@emotion/utils").SerializedStyles;
4
2
  export declare const addButton = "emoji-picker-add-button";
5
- export declare const categorySelector: string;
6
- export declare const category: string;
7
- export declare const emojiPickerList: string;
8
- export declare const virtualList: string;
9
- export declare const searchIcon = "search-icon";
10
- export declare const input = "input";
11
- export declare const pickerSearch: string;
12
- export declare const emojiPickerSpinner: string;
13
- export declare const emojiPickerRow: string;
14
- export declare const emojiCategoryTitle: string;
15
- export declare const emojiItem: string;
16
- export declare const addEmoji: string;
17
- export declare const emojiPickerFooter: string;
18
- export declare const emojiPickerFooterWithTopShadow: string;
19
- export declare const emojiActionsContainerWithBottomShadow: string;
3
+ export declare const categorySelector: import("@emotion/utils").SerializedStyles;
4
+ export declare const active: import("@emotion/utils").SerializedStyles;
5
+ export declare const disable: import("@emotion/utils").SerializedStyles;
6
+ export declare const categoryStyles: import("@emotion/utils").SerializedStyles;
7
+ export declare const emojiPickerList: import("@emotion/utils").SerializedStyles;
8
+ export declare const virtualList: import("@emotion/utils").SerializedStyles;
9
+ export declare const searchIcon: import("@emotion/utils").SerializedStyles;
10
+ export declare const input: import("@emotion/utils").SerializedStyles;
11
+ export declare const pickerSearch: import("@emotion/utils").SerializedStyles;
12
+ export declare const emojiPickerSpinner: import("@emotion/utils").SerializedStyles;
13
+ export declare const emojiPickerRow: import("@emotion/utils").SerializedStyles;
14
+ export declare const emojiCategoryTitle: import("@emotion/utils").SerializedStyles;
15
+ export declare const emojiItem: import("@emotion/utils").SerializedStyles;
16
+ export declare const emojiPickerFooter: import("@emotion/utils").SerializedStyles;
17
+ export declare const emojiPickerFooterWithTopShadow: import("@emotion/utils").SerializedStyles;
18
+ export declare const emojiActionsContainerWithBottomShadow: import("@emotion/utils").SerializedStyles;
@@ -1,6 +1,8 @@
1
+ import PropTypes from 'prop-types';
1
2
  import { PureComponent } from 'react';
2
3
  import { EmojiProvider } from '../../api/EmojiResource';
3
4
  import { EmojiDescription, OnEmojiEvent, ToneSelection } from '../../types';
5
+ import { EmojiContext } from '../common/internal-types';
4
6
  import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
5
7
  export interface OnLifecycle {
6
8
  (): void;
@@ -22,6 +24,9 @@ export interface State {
22
24
  loading: boolean;
23
25
  }
24
26
  export default class EmojiTypeAheadComponent extends PureComponent<Props, State> {
27
+ static childContextTypes: {
28
+ emoji: PropTypes.Requireable<any>;
29
+ };
25
30
  static defaultProps: {
26
31
  onSelection: () => void;
27
32
  onOpen: () => void;
@@ -36,6 +41,7 @@ export default class EmojiTypeAheadComponent extends PureComponent<Props, State>
36
41
  private sessionId;
37
42
  private selected;
38
43
  constructor(props: Props);
44
+ getChildContext(): EmojiContext;
39
45
  componentDidMount(): void;
40
46
  componentWillUnmount(): void;
41
47
  UNSAFE_componentWillReceiveProps(nextProps: Props): void;
@@ -1,9 +1,10 @@
1
- export declare const selected = "emoji-typeahead-selected";
2
1
  export declare const emojiTypeAhead = "emoji-typeahead-element";
3
2
  export declare const typeAheadListContainer = "emoji-typeahead-list-container";
4
- export declare const typeAheadList: string;
5
- export declare const typeAheadEmpty: string;
6
- export declare const typeAheadItem: string;
7
- export declare const typeAheadItemRow: string;
8
- export declare const emojiTypeAheadSpinnerContainer: string;
9
- export declare const emojiTypeAheadSpinner: string;
3
+ export declare const typeaheadSelected = "emoji-typeahead-selected";
4
+ export declare const typeAheadList: import("@emotion/utils").SerializedStyles;
5
+ export declare const typeAheadEmpty: import("@emotion/utils").SerializedStyles;
6
+ export declare const selected: import("@emotion/utils").SerializedStyles;
7
+ export declare const typeAheadItem: import("@emotion/utils").SerializedStyles;
8
+ export declare const typeAheadItemRow: import("@emotion/utils").SerializedStyles;
9
+ export declare const emojiTypeAheadSpinnerContainer: import("@emotion/utils").SerializedStyles;
10
+ export declare const emojiTypeAheadSpinner: import("@emotion/utils").SerializedStyles;
@@ -16,6 +16,7 @@ export interface State {
16
16
  export default class EmojiUploadComponent extends PureComponent<Props, State> {
17
17
  private ref?;
18
18
  constructor(props: Props);
19
+ componentWillUnmount(): void;
19
20
  private onUploadEmoji;
20
21
  private prepareForUpload;
21
22
  onFileChooserClicked: () => void;
@@ -1,2 +1,2 @@
1
- export declare const emojiUploadWidget: string;
2
- export declare const emojiUploadFooter: string;
1
+ export declare const emojiUploadWidget: import("@emotion/utils").SerializedStyles;
2
+ export declare const emojiUploadFooter: import("@emotion/utils").SerializedStyles;
@@ -6,16 +6,16 @@ import EmojiPicker from './components/picker/EmojiPicker';
6
6
  import EmojiUploader from './components/uploader/EmojiUploader';
7
7
  import EmojiTypeAhead from './components/typeahead/EmojiTypeAhead';
8
8
  import EmojiTypeAheadItem from './components/typeahead/EmojiTypeAheadItem';
9
- export { selected, selectOnHover, emojiSprite, emojiNode, emojiImage, } from './components/common/styles';
9
+ export { commonSelectedStyles as selected, selectOnHoverStyles as selectOnHover, emojiSprite, emojiNodeStyles as emojiNode, emojiImage, } from './components/common/styles';
10
10
  import EmojiResource, { EmojiProvider, UploadingEmojiProvider, EmojiResourceConfig } from './api/EmojiResource';
11
11
  import EmojiRepository from './api/EmojiRepository';
12
12
  import EmojiLoader from './api/EmojiLoader';
13
13
  import { denormaliseEmojiServiceResponse } from './api/EmojiUtils';
14
14
  import { toEmojiId, toOptionalEmojiId } from './util/type-helpers';
15
- import { recordSelectionFailedSli, recordSelectionSucceededSli } from './util/analytics';
15
+ import { recordSelectionFailedSli, recordSelectionSucceededSli, ufoExperiences } from './util/analytics';
16
16
  import { customCategory, defaultEmojiHeight, emojiPickerWidth, emojiPickerHeight } from './util/constants';
17
17
  import { UsageFrequencyTracker } from './api/internal/UsageFrequencyTracker';
18
- export { AbstractResource, Emoji, EmojiPlaceholder, EmojiLoader, EmojiPicker, EmojiUploader, EmojiResource, EmojiRepository, EmojiTypeAhead, ResourcedEmoji, denormaliseEmojiServiceResponse, toEmojiId, toOptionalEmojiId, recordSelectionFailedSli, recordSelectionSucceededSli, emojiPickerWidth, emojiPickerHeight, defaultEmojiHeight, customCategory, UsageFrequencyTracker, EmojiTypeAheadItem, };
18
+ export { AbstractResource, Emoji, EmojiPlaceholder, EmojiLoader, EmojiPicker, EmojiUploader, EmojiResource, EmojiRepository, EmojiTypeAhead, ResourcedEmoji, denormaliseEmojiServiceResponse, toEmojiId, toOptionalEmojiId, recordSelectionFailedSli, recordSelectionSucceededSli, ufoExperiences, emojiPickerWidth, emojiPickerHeight, defaultEmojiHeight, customCategory, UsageFrequencyTracker, EmojiTypeAheadItem, };
19
19
  export type { EmojiProvider, UploadingEmojiProvider, EmojiResourceConfig, };
20
20
  export { SearchSort, } from './types';
21
21
  export type { CategoryId, EmojiRepresentation, EmojiServiceRepresentation, Message, OptionalEmojiDescription, OptionalEmojiDescriptionWithVariations, OptionalUser, RelativePosition, ToneSelection, AltRepresentations, CategoryDescription, EmojiDescription, EmojiDescriptionWithVariations, EmojiId, EmojiImageRepresentation, EmojiMeta, EmojiResponse, EmojiSearchResult, EmojiServiceDescription, EmojiServiceDescriptionWithVariations, EmojiServiceResponse, EmojiUpload, EmojiVariationDescription, ImageRepresentation, MediaApiRepresentation, MediaApiToken, OnCategory, OnEmojiEvent, OnToneSelected, OnToneSelectorCancelled, SearchOptions, SpriteImageRepresentation, SpriteRepresentation, SpriteServiceRepresentation, SpriteSheet, SpriteSheets, Styles, User, } from './types';
@@ -296,3 +296,9 @@ export interface User {
296
296
  }
297
297
  export declare type OptionalUser = User | undefined;
298
298
  export declare type Message = React.ReactNode;
299
+ export declare enum ProviderTypes {
300
+ SITE = "SITE",
301
+ STANDARD = "STANDARD",
302
+ ATLASSIAN = "ATLASSIAN",
303
+ UNKNOWN = "UNKNOWN"
304
+ }
@@ -1,9 +1,9 @@
1
1
  import { AnalyticsEventPayload, CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
2
- import { EmojiDescription } from '../types';
2
+ import { EmojiDescription } from '../../types';
3
3
  export declare const createAndFireEventInElementsChannel: (payload: Record<string, any>) => (createAnalyticsEvent: CreateUIAnalyticsEvent) => import("@atlaskit/analytics-next").UIAnalyticsEvent;
4
4
  export declare type EmojiInsertionAnalytic = (source: 'picker' | 'typeahead') => AnalyticsEventPayload;
5
- export declare const insertionSucceeded: EmojiInsertionAnalytic;
6
- export declare const insertionFailed: EmojiInsertionAnalytic;
5
+ export declare const recordSucceeded: EmojiInsertionAnalytic;
6
+ export declare const recordFailed: EmojiInsertionAnalytic;
7
7
  interface Duration {
8
8
  duration: number;
9
9
  }
@@ -42,12 +42,12 @@ export declare const uploadSucceededEvent: (attributes: Duration) => Record<stri
42
42
  export declare const uploadFailedEvent: (attributes: {
43
43
  reason: string;
44
44
  } & Duration) => Record<string, any>;
45
- interface EmojiId {
45
+ interface Attributes {
46
46
  emojiId?: string;
47
47
  }
48
- export declare const deleteBeginEvent: (attributes: EmojiId) => Record<string, any>;
49
- export declare const deleteConfirmEvent: (attributes: EmojiId) => Record<string, any>;
50
- export declare const deleteCancelEvent: (attributes: EmojiId) => Record<string, any>;
48
+ export declare const deleteBeginEvent: (attributes: Attributes) => Record<string, any>;
49
+ export declare const deleteConfirmEvent: (attributes: Attributes) => Record<string, any>;
50
+ export declare const deleteCancelEvent: (attributes: Attributes) => Record<string, any>;
51
51
  export declare const selectedFileEvent: () => Record<string, any>;
52
52
  export declare const typeaheadCancelledEvent: (duration: number, query?: string | undefined, emojiList?: EmojiDescription[] | undefined) => Record<string, any>;
53
53
  export declare const typeaheadSelectedEvent: (pressed: boolean, duration: number, emoji: EmojiDescription, emojiList?: EmojiDescription[] | undefined, query?: string | undefined, exactMatch?: boolean | undefined) => Record<string, any>;
@@ -0,0 +1,6 @@
1
+ export { ufoExperiencesSampled, clearSampled, isExperienceSampled, withSampling, } from './samplingUfo';
2
+ export type { UFOExperienceSampledRecords, WithSampling } from './samplingUfo';
3
+ export { categoryClickedEvent, createAndFireEventInElementsChannel, closedPickerEvent, deleteBeginEvent, deleteCancelEvent, deleteConfirmEvent, recordFailed, recordSucceeded, openedPickerEvent, pickerClickedEvent, pickerSearchedEvent, recordSelectionFailedSli, recordSelectionSucceededSli, selectedFileEvent, toneSelectedEvent, toneSelectorClosedEvent, toneSelectorOpenedEvent, typeaheadCancelledEvent, typeaheadRenderedEvent, typeaheadSelectedEvent, uploadBeginButton, uploadCancelButton, uploadConfirmButton, uploadFailedEvent, uploadSucceededEvent, } from './analytics';
4
+ export { sampledUfoRenderedEmoji, ufoExperiences } from './ufoExperiences';
5
+ export type { EmojiInsertionAnalytic } from './analytics';
6
+ export { useSampledUFOComponentExperience } from './useSampledUFOComponentExperience';
@@ -0,0 +1,31 @@
1
+ import { UFOExperience } from '@atlaskit/ufo';
2
+ export interface UFOExperienceSampledRecords {
3
+ [experienceName: string]: UFOExperienceSampledRecord;
4
+ }
5
+ interface SamplingInstancesRecord {
6
+ [key: string]: boolean;
7
+ }
8
+ interface UFOExperienceSampledRecord {
9
+ sampledInstance: SamplingInstancesRecord;
10
+ sampled: boolean;
11
+ }
12
+ export declare const ufoExperiencesSampled: UFOExperienceSampledRecords;
13
+ declare type SamplingFunc = (rate: number) => boolean;
14
+ export declare const clearSampled: () => void;
15
+ export declare const isExperienceSampled: (rate: number) => boolean;
16
+ export interface WithSampling extends Omit<UFOExperience, 'start'> {
17
+ start: (options: {
18
+ samplingRate: number;
19
+ samplingFunc?: SamplingFunc;
20
+ startTime?: number;
21
+ }) => Promise<void>;
22
+ }
23
+ /**
24
+ * This function is a temp solution to reduce the event traffic, as UFO package does not support it.
25
+ *
26
+ * e.g. Emoji Picker contains thousands of emojis, which means will trigger a large number of renderred events without sampling
27
+ * @param ufoExperience
28
+ * @returns
29
+ */
30
+ export declare const withSampling: (ufoExperience: UFOExperience) => WithSampling;
31
+ export {};
@@ -0,0 +1,12 @@
1
+ import { EmojiId } from '../../types';
2
+ import { ConcurrentExperience, UFOExperience } from '@atlaskit/ufo';
3
+ export declare type UfoExperienceName = 'emoji-rendered' | 'emoji-resource-fetched' | 'emoji-picker-opened' | 'emoji-selection-recorded' | 'emoji-uploaded' | 'emoji-searched';
4
+ export declare const ufoExperiences: {
5
+ 'emoji-rendered': ConcurrentExperience;
6
+ 'emoji-resource-fetched': ConcurrentExperience;
7
+ 'emoji-picker-opened': UFOExperience;
8
+ 'emoji-selection-recorded': UFOExperience;
9
+ 'emoji-uploaded': UFOExperience;
10
+ 'emoji-searched': UFOExperience;
11
+ };
12
+ export declare const sampledUfoRenderedEmoji: (emojiId: EmojiId) => import("./samplingUfo").WithSampling;
@@ -0,0 +1,8 @@
1
+ import { CustomData, UFOExperience } from '@atlaskit/ufo';
2
+ /**
3
+ * A hook to start an experience and to auto abort the experience when the parent component is unmounted.
4
+ * Use this instead of a direct call to `experience.start`. If you need to restart the experience
5
+ * simply trigger an unmount and remount of the parent component.
6
+ * @param experience the experience to start and abort
7
+ */
8
+ export declare const useSampledUFOComponentExperience: (experience: UFOExperience, samplingRate: number, metadata?: CustomData | undefined) => null;
@@ -20,3 +20,5 @@ export declare const defaultCategories: CategoryId[];
20
20
  export declare const defaultListLimit = 50;
21
21
  export declare const migrationUserId = "hipchat_migration_emoticons";
22
22
  export declare const analyticsEmojiPrefix = "atlassian.fabric.emoji.picker";
23
+ export declare const SAMPLING_RATE_EMOJI_RENDERED_EXP = 0.05;
24
+ export declare const SAMPLING_RATE_EMOJI_RENDERED_EXP_RESOURCEEMOJI = 0.1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "64.2.0",
3
+ "version": "64.4.0",
4
4
  "description": "Fabric emoji React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -29,36 +29,37 @@
29
29
  "@atlaskit/analytics-next": "^8.2.0",
30
30
  "@atlaskit/button": "^16.2.0",
31
31
  "@atlaskit/icon": "^21.10.0",
32
- "@atlaskit/media-client": "^14.4.0",
32
+ "@atlaskit/media-client": "^15.0.0",
33
33
  "@atlaskit/spinner": "^15.0.0",
34
34
  "@atlaskit/textfield": "^5.1.0",
35
35
  "@atlaskit/theme": "^12.1.0",
36
- "@atlaskit/tokens": "^0.7.0",
36
+ "@atlaskit/tokens": "^0.8.0",
37
37
  "@atlaskit/tooltip": "^17.5.0",
38
+ "@atlaskit/ufo": "^0.1.0",
38
39
  "@atlaskit/util-service-support": "^6.1.0",
39
40
  "@babel/runtime": "^7.0.0",
40
- "classnames": "^2.2.5",
41
+ "@emotion/core": "^10.0.9",
41
42
  "js-search": "^2.0.0",
42
43
  "lru-fast": "^0.2.2",
44
+ "prop-types": "^15.5.10",
43
45
  "react-virtualized": "^9.8.0",
44
- "typestyle": "^1.4.4",
45
46
  "uuid": "^3.1.0"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "react": "^16.8.0",
49
50
  "react-dom": "^16.8.0",
50
- "react-intl-next": "npm:react-intl@^5.18.1",
51
- "rxjs": "^5.5.0"
51
+ "react-intl-next": "npm:react-intl@^5.18.1"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@atlaskit/docs": "*",
55
- "@atlaskit/editor-test-helpers": "^16.1.0",
55
+ "@atlaskit/editor-test-helpers": "^17.0.0",
56
56
  "@atlaskit/elements-test-helpers": "^0.7.0",
57
- "@atlaskit/media-core": "^32.2.0",
57
+ "@atlaskit/media-core": "^32.3.0",
58
58
  "@atlaskit/section-message": "^6.0.0",
59
59
  "@atlaskit/util-data-test": "^17.2.0",
60
60
  "@atlaskit/visual-regression": "*",
61
61
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
62
+ "@atlassian/ufo": "^0.1.10",
62
63
  "@testing-library/react": "^8.0.1",
63
64
  "@types/js-search": "^1.4.0",
64
65
  "@types/react-virtualized": "^9.18.12",
@@ -1,87 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.default = void 0;
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _classnames = _interopRequireDefault(require("classnames"));
25
-
26
- var _react = _interopRequireWildcard(require("react"));
27
-
28
- var _CachingEmoji = _interopRequireDefault(require("../../components/common/CachingEmoji"));
29
-
30
- var styles = _interopRequireWildcard(require("../common/styles"));
31
-
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
37
-
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
-
40
- var EmojiPickerPreview = /*#__PURE__*/function (_PureComponent) {
41
- (0, _inherits2.default)(EmojiPickerPreview, _PureComponent);
42
-
43
- var _super = _createSuper(EmojiPickerPreview);
44
-
45
- function EmojiPickerPreview() {
46
- (0, _classCallCheck2.default)(this, EmojiPickerPreview);
47
- return _super.apply(this, arguments);
48
- }
49
-
50
- (0, _createClass2.default)(EmojiPickerPreview, [{
51
- key: "renderEmojiPreview",
52
- value: function renderEmojiPreview() {
53
- var emoji = this.props.emoji;
54
-
55
- if (emoji) {
56
- var _classNames2;
57
-
58
- var previewClasses = (0, _classnames.default)((0, _defineProperty2.default)({}, styles.preview, true));
59
- var previewTextClasses = (0, _classnames.default)((_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, styles.previewText, true), (0, _defineProperty2.default)(_classNames2, styles.previewSingleLine, !emoji.name), _classNames2));
60
- return /*#__PURE__*/_react.default.createElement("div", {
61
- className: previewClasses
62
- }, /*#__PURE__*/_react.default.createElement("span", {
63
- className: styles.previewImg
64
- }, /*#__PURE__*/_react.default.createElement(_CachingEmoji.default, {
65
- emoji: emoji
66
- })), /*#__PURE__*/_react.default.createElement("div", {
67
- className: previewTextClasses
68
- }, /*#__PURE__*/_react.default.createElement("span", {
69
- className: styles.name
70
- }, emoji.name), /*#__PURE__*/_react.default.createElement("span", {
71
- className: styles.shortName
72
- }, emoji.shortName)));
73
- }
74
- }
75
- }, {
76
- key: "render",
77
- value: function render() {
78
- var sectionClasses = (0, _classnames.default)([styles.emojiPreview, styles.emojiPreviewSection]);
79
- return /*#__PURE__*/_react.default.createElement("div", {
80
- className: sectionClasses
81
- }, this.renderEmojiPreview());
82
- }
83
- }]);
84
- return EmojiPickerPreview;
85
- }(_react.PureComponent);
86
-
87
- exports.default = EmojiPickerPreview;
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.EmojiContext = void 0;
7
-
8
- var _react = require("react");
9
-
10
- var EmojiContext = /*#__PURE__*/(0, _react.createContext)(null);
11
- exports.EmojiContext = EmojiContext;