@atlaskit/emoji 64.2.1 → 64.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/api/media/SiteEmojiResource.js +10 -2
  3. package/dist/cjs/components/common/CachingEmoji.js +6 -8
  4. package/dist/cjs/components/common/DeleteButton.js +9 -13
  5. package/dist/cjs/components/common/Emoji.js +18 -36
  6. package/dist/cjs/components/common/EmojiActions.js +26 -31
  7. package/dist/cjs/components/common/EmojiButton.js +7 -7
  8. package/dist/cjs/components/common/EmojiDeletePreview.js +20 -26
  9. package/dist/cjs/components/common/EmojiErrorMessage.js +10 -14
  10. package/dist/cjs/components/common/EmojiPlaceholder.js +5 -12
  11. package/dist/cjs/components/common/EmojiPreview.js +20 -40
  12. package/dist/cjs/components/common/EmojiPreviewComponent.js +34 -0
  13. package/dist/cjs/components/common/EmojiUploadPicker.js +26 -24
  14. package/dist/cjs/components/common/EmojiUploadPreview.js +22 -28
  15. package/dist/cjs/components/common/RecordSelectionDefault.js +8 -2
  16. package/dist/cjs/components/common/ResourcedEmojiComponent.js +17 -12
  17. package/dist/cjs/components/common/RetryableButton.js +12 -18
  18. package/dist/cjs/components/common/Scrollable.js +5 -10
  19. package/dist/cjs/components/common/UploadEmoji.js +8 -0
  20. package/dist/cjs/components/common/styles.js +210 -266
  21. package/dist/cjs/components/picker/CategorySelector.js +13 -12
  22. package/dist/cjs/components/picker/EmojiPicker.js +17 -6
  23. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
  24. package/dist/cjs/components/picker/EmojiPickerComponent.js +51 -30
  25. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
  26. package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
  27. package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
  28. package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
  29. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
  30. package/dist/cjs/components/picker/styles.js +113 -161
  31. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +40 -24
  32. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
  33. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
  34. package/dist/cjs/components/typeahead/styles.js +17 -19
  35. package/dist/cjs/components/uploader/EmojiUploadComponent.js +22 -15
  36. package/dist/cjs/components/uploader/styles.js +4 -4
  37. package/dist/cjs/index.js +21 -3
  38. package/dist/cjs/types.js +23 -2
  39. package/dist/cjs/util/analytics/analytics.js +11 -41
  40. package/dist/cjs/util/analytics/index.js +16 -14
  41. package/dist/cjs/util/analytics/ufoExperiences.js +48 -0
  42. package/dist/cjs/version.json +1 -1
  43. package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
  44. package/dist/es2019/components/common/CachingEmoji.js +5 -7
  45. package/dist/es2019/components/common/DeleteButton.js +8 -6
  46. package/dist/es2019/components/common/Emoji.js +19 -34
  47. package/dist/es2019/components/common/EmojiActions.js +26 -24
  48. package/dist/es2019/components/common/EmojiButton.js +6 -6
  49. package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
  50. package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
  51. package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
  52. package/dist/es2019/components/common/EmojiPreview.js +19 -35
  53. package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
  54. package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
  55. package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
  56. package/dist/es2019/components/common/RecordSelectionDefault.js +9 -2
  57. package/dist/es2019/components/common/ResourcedEmojiComponent.js +16 -11
  58. package/dist/es2019/components/common/RetryableButton.js +10 -11
  59. package/dist/es2019/components/common/Scrollable.js +6 -10
  60. package/dist/es2019/components/common/UploadEmoji.js +4 -0
  61. package/dist/es2019/components/common/styles.js +195 -262
  62. package/dist/es2019/components/picker/CategorySelector.js +15 -12
  63. package/dist/es2019/components/picker/EmojiPicker.js +15 -6
  64. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
  65. package/dist/es2019/components/picker/EmojiPickerComponent.js +46 -22
  66. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
  67. package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
  68. package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
  69. package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
  70. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
  71. package/dist/es2019/components/picker/styles.js +112 -160
  72. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  73. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
  74. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
  75. package/dist/es2019/components/typeahead/styles.js +14 -15
  76. package/dist/es2019/components/uploader/EmojiUploadComponent.js +19 -9
  77. package/dist/es2019/components/uploader/styles.js +4 -4
  78. package/dist/es2019/index.js +5 -4
  79. package/dist/es2019/types.js +20 -1
  80. package/dist/es2019/util/analytics/analytics.js +16 -37
  81. package/dist/es2019/util/analytics/index.js +2 -1
  82. package/dist/es2019/util/analytics/ufoExperiences.js +35 -0
  83. package/dist/es2019/version.json +1 -1
  84. package/dist/esm/api/media/SiteEmojiResource.js +10 -2
  85. package/dist/esm/components/common/CachingEmoji.js +5 -7
  86. package/dist/esm/components/common/DeleteButton.js +8 -6
  87. package/dist/esm/components/common/Emoji.js +18 -27
  88. package/dist/esm/components/common/EmojiActions.js +26 -25
  89. package/dist/esm/components/common/EmojiButton.js +6 -6
  90. package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
  91. package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
  92. package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
  93. package/dist/esm/components/common/EmojiPreview.js +19 -33
  94. package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
  95. package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
  96. package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
  97. package/dist/esm/components/common/RecordSelectionDefault.js +6 -3
  98. package/dist/esm/components/common/ResourcedEmojiComponent.js +16 -10
  99. package/dist/esm/components/common/RetryableButton.js +11 -12
  100. package/dist/esm/components/common/Scrollable.js +6 -10
  101. package/dist/esm/components/common/UploadEmoji.js +4 -0
  102. package/dist/esm/components/common/styles.js +192 -242
  103. package/dist/esm/components/picker/CategorySelector.js +14 -12
  104. package/dist/esm/components/picker/EmojiPicker.js +13 -6
  105. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
  106. package/dist/esm/components/picker/EmojiPickerComponent.js +47 -22
  107. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
  108. package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
  109. package/dist/esm/components/picker/EmojiPickerList.js +29 -8
  110. package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
  111. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
  112. package/dist/esm/components/picker/styles.js +108 -149
  113. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  114. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
  115. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
  116. package/dist/esm/components/typeahead/styles.js +14 -14
  117. package/dist/esm/components/uploader/EmojiUploadComponent.js +19 -9
  118. package/dist/esm/components/uploader/styles.js +4 -4
  119. package/dist/esm/index.js +5 -4
  120. package/dist/esm/types.js +20 -1
  121. package/dist/esm/util/analytics/analytics.js +8 -33
  122. package/dist/esm/util/analytics/index.js +2 -1
  123. package/dist/esm/util/analytics/ufoExperiences.js +35 -0
  124. package/dist/esm/version.json +1 -1
  125. package/dist/types/components/common/CachingEmoji.d.ts +8 -6
  126. package/dist/types/components/common/EmojiActions.d.ts +2 -3
  127. package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
  128. package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
  129. package/dist/types/components/common/EmojiPreview.d.ts +2 -3
  130. package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
  131. package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
  132. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
  133. package/dist/types/components/common/RetryableButton.d.ts +0 -2
  134. package/dist/types/components/common/styles.d.ts +44 -44
  135. package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
  136. package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
  137. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
  138. package/dist/types/components/picker/styles.d.ts +17 -18
  139. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
  140. package/dist/types/components/typeahead/styles.d.ts +8 -7
  141. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +1 -0
  142. package/dist/types/components/uploader/styles.d.ts +2 -2
  143. package/dist/types/index.d.ts +4 -4
  144. package/dist/types/types.d.ts +13 -0
  145. package/dist/types/util/analytics/analytics.d.ts +3 -7
  146. package/dist/types/util/analytics/index.d.ts +3 -2
  147. package/dist/types/util/analytics/ufoExperiences.d.ts +11 -0
  148. package/package.json +9 -10
  149. package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
  150. package/dist/cjs/context/EmojiContext.js +0 -11
  151. package/dist/cjs/context/EmojiContextProvider.js +0 -22
  152. package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
  153. package/dist/es2019/context/EmojiContext.js +0 -2
  154. package/dist/es2019/context/EmojiContextProvider.js +0 -10
  155. package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
  156. package/dist/esm/context/EmojiContext.js +0 -2
  157. package/dist/esm/context/EmojiContextProvider.js +0 -9
  158. package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
  159. package/dist/types/context/EmojiContext.d.ts +0 -4
  160. package/dist/types/context/EmojiContextProvider.d.ts +0 -7
@@ -13,11 +13,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
13
13
 
14
14
  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; } }
15
15
 
16
+ /** @jsx jsx */
17
+ import { jsx } from '@emotion/core';
16
18
  import { withAnalyticsEvents } from '@atlaskit/analytics-next';
17
- import React from 'react';
19
+ import { ufoExperiences } from '../../util/analytics';
18
20
  import LoadingEmojiComponent from '../common/LoadingEmojiComponent';
19
21
  import { LoadingItem } from './EmojiPickerVirtualItems';
20
- import * as styles from './styles';
22
+ import { emojiPicker } from './styles';
23
+ import { UfoErrorBoundary } from '../common/UfoErrorBoundary';
21
24
 
22
25
  var emojiPickerModuleLoader = function emojiPickerModuleLoader() {
23
26
  return import(
@@ -49,6 +52,7 @@ export var EmojiPickerInternal = /*#__PURE__*/function (_LoadingEmojiComponen) {
49
52
  asyncLoadedComponent: EmojiPickerInternal.AsyncLoadedComponent
50
53
  });
51
54
 
55
+ ufoExperiences['emoji-picker-opened'].start();
52
56
  return _this;
53
57
  }
54
58
 
@@ -76,8 +80,9 @@ export var EmojiPickerInternal = /*#__PURE__*/function (_LoadingEmojiComponen) {
76
80
  }
77
81
  };
78
82
 
79
- return /*#__PURE__*/React.createElement("div", {
80
- className: styles.emojiPicker,
83
+ ufoExperiences['emoji-picker-opened'].markFMP();
84
+ return jsx("div", {
85
+ css: emojiPicker,
81
86
  ref: handlePickerRef
82
87
  }, item.renderItem());
83
88
  }
@@ -88,9 +93,11 @@ export var EmojiPickerInternal = /*#__PURE__*/function (_LoadingEmojiComponen) {
88
93
  emojiProvider = _this$props.emojiProvider,
89
94
  otherProps = _objectWithoutProperties(_this$props, _excluded);
90
95
 
91
- return /*#__PURE__*/React.createElement(EmojiPickerComponent, _extends({
96
+ return jsx(UfoErrorBoundary, {
97
+ experiences: [ufoExperiences['emoji-picker-opened']]
98
+ }, jsx(EmojiPickerComponent, _extends({
92
99
  emojiProvider: loadedEmojiProvider
93
- }, otherProps));
100
+ }, otherProps)));
94
101
  }
95
102
  }]);
96
103
 
@@ -8,13 +8,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
8
8
 
9
9
  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; } }
10
10
 
11
- import classnames from 'classnames';
12
- import React from 'react';
11
+ /** @jsx jsx */
12
+ import { jsx } from '@emotion/core';
13
13
  import { PureComponent } from 'react';
14
14
  import { FormattedMessage } from 'react-intl-next';
15
15
  import { isMessagesKey } from '../../util/type-helpers';
16
16
  import { messages } from '../i18n';
17
- import * as styles from './styles';
17
+ import { emojiCategoryTitle } from './styles';
18
18
 
19
19
  var EmojiPickerCategoryHeading = /*#__PURE__*/function (_PureComponent) {
20
20
  _inherits(EmojiPickerCategoryHeading, _PureComponent);
@@ -34,13 +34,13 @@ var EmojiPickerCategoryHeading = /*#__PURE__*/function (_PureComponent) {
34
34
  id = _this$props.id,
35
35
  title = _this$props.title,
36
36
  className = _this$props.className;
37
- return /*#__PURE__*/React.createElement("div", {
37
+ return jsx("div", {
38
38
  id: id,
39
39
  "data-category-id": id,
40
- className: classnames(className)
41
- }, /*#__PURE__*/React.createElement("div", {
42
- className: styles.emojiCategoryTitle
43
- }, isMessagesKey(title) ? /*#__PURE__*/React.createElement(FormattedMessage, messages[title]) : title));
40
+ className: className
41
+ }, jsx("div", {
42
+ css: emojiCategoryTitle
43
+ }, isMessagesKey(title) ? jsx(FormattedMessage, messages[title]) : title));
44
44
  }
45
45
  }]);
46
46
 
@@ -15,8 +15,9 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
15
15
 
16
16
  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; } }
17
17
 
18
- import classNames from 'classnames';
19
- import React from 'react';
18
+ /** @jsx jsx */
19
+ import { jsx } from '@emotion/core';
20
+ import PropTypes from 'prop-types';
20
21
  import { PureComponent } from 'react';
21
22
  import { FormattedMessage } from 'react-intl-next';
22
23
  import { getEmojiVariation } from '../../api/EmojiRepository';
@@ -32,9 +33,8 @@ import { createRecordSelectionDefault } from '../common/RecordSelectionDefault';
32
33
  import CategorySelector from './CategorySelector';
33
34
  import EmojiPickerFooter from './EmojiPickerFooter';
34
35
  import EmojiPickerList from './EmojiPickerList';
35
- import * as styles from './styles';
36
- import { createAndFireEventInElementsChannel, categoryClickedEvent, closedPickerEvent, deleteBeginEvent, deleteCancelEvent, deleteConfirmEvent, openedPickerEvent, pickerClickedEvent, pickerSearchedEvent, selectedFileEvent, uploadBeginButton, uploadCancelButton, uploadConfirmButton, toneSelectorClosedEvent } from '../../util/analytics';
37
- import { EmojiContextProvider } from '../../context/EmojiContextProvider';
36
+ import { createAndFireEventInElementsChannel, categoryClickedEvent, closedPickerEvent, deleteBeginEvent, deleteCancelEvent, deleteConfirmEvent, openedPickerEvent, pickerClickedEvent, pickerSearchedEvent, selectedFileEvent, uploadBeginButton, uploadCancelButton, uploadConfirmButton, toneSelectorClosedEvent, ufoExperiences } from '../../util/analytics';
37
+ import { emojiPicker } from './styles';
38
38
  var FREQUENTLY_USED_MAX = 16;
39
39
 
40
40
  var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
@@ -125,9 +125,19 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
125
125
  });
126
126
 
127
127
  _defineProperty(_assertThisInitialized(_this), "onSearch", function (query) {
128
- _this.updateEmojis(query, {
128
+ var options = {
129
129
  skinTone: _this.state.selectedTone
130
- });
130
+ };
131
+
132
+ if (query !== _this.state.query) {
133
+ ufoExperiences['emoji-searched'].start();
134
+ ufoExperiences['emoji-searched'].addMetadata({
135
+ queryLength: query.length,
136
+ source: 'picker'
137
+ });
138
+ }
139
+
140
+ _this.updateEmojis(query, options);
131
141
  });
132
142
 
133
143
  _defineProperty(_assertThisInitialized(_this), "onSearchResult", function (searchResults) {
@@ -141,6 +151,12 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
141
151
  queryLength: searchQuery.length,
142
152
  numMatches: emojiToRender.length
143
153
  }));
154
+
155
+ ufoExperiences['emoji-searched'].success({
156
+ metadata: {
157
+ emojisLength: emojiToRender.length
158
+ }
159
+ });
144
160
  }
145
161
 
146
162
  _this.setStateAfterEmojiChange(searchQuery, emojiToRender, searchResults.emojis, frequentlyUsedEmoji);
@@ -362,6 +378,15 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
362
378
  }
363
379
 
364
380
  _createClass(EmojiPickerComponent, [{
381
+ key: "getChildContext",
382
+ value: function getChildContext() {
383
+ return {
384
+ emoji: {
385
+ emojiProvider: this.props.emojiProvider
386
+ }
387
+ };
388
+ }
389
+ }, {
365
390
  key: "UNSAFE_componentWillMount",
366
391
  value: function UNSAFE_componentWillMount() {
367
392
  this.openTime = Date.now();
@@ -372,6 +397,7 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
372
397
  value: function componentDidMount() {
373
398
  var _this2 = this;
374
399
 
400
+ ufoExperiences['emoji-picker-opened'].success();
375
401
  var _this$props = this.props,
376
402
  emojiProvider = _this$props.emojiProvider,
377
403
  hideToneSelector = _this$props.hideToneSelector;
@@ -406,6 +432,9 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
406
432
  this.fireAnalytics(closedPickerEvent({
407
433
  duration: this.calculateElapsedTime()
408
434
  }));
435
+ ufoExperiences['emoji-picker-opened'].abort();
436
+ ufoExperiences['emoji-searched'].abort();
437
+ ufoExperiences['emoji-selection-recorded'].abort();
409
438
  }
410
439
  }, {
411
440
  key: "UNSAFE_componentWillReceiveProps",
@@ -531,25 +560,17 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
531
560
  var recordUsageOnSelection = createRecordSelectionDefault(emojiProvider, this.onSelectWrapper, function (analytic) {
532
561
  return _this4.fireAnalytics(analytic('picker'));
533
562
  });
534
- var formattedErrorMessage = uploadErrorMessage ? /*#__PURE__*/React.createElement(FormattedMessage, uploadErrorMessage) : null;
535
- var classes = [styles.emojiPicker];
536
- var emojiContextValue = {
537
- emoji: {
538
- emojiProvider: this.props.emojiProvider
539
- }
540
- };
541
- var picker = /*#__PURE__*/React.createElement(EmojiContextProvider, {
542
- emojiContextValue: emojiContextValue
543
- }, /*#__PURE__*/React.createElement("div", {
544
- className: classNames(classes),
563
+ var formattedErrorMessage = uploadErrorMessage ? jsx(FormattedMessage, uploadErrorMessage) : null;
564
+ var picker = jsx("div", {
565
+ css: emojiPicker,
545
566
  ref: this.handlePickerRef,
546
567
  "data-emoji-picker-container": true
547
- }, /*#__PURE__*/React.createElement(CategorySelector, {
568
+ }, jsx(CategorySelector, {
548
569
  activeCategoryId: activeCategory,
549
570
  dynamicCategories: dynamicCategories,
550
571
  disableCategories: disableCategories,
551
572
  onCategorySelected: this.onCategorySelected
552
- }), /*#__PURE__*/React.createElement(EmojiPickerList, {
573
+ }), jsx(EmojiPickerList, {
553
574
  emojis: filteredEmojis,
554
575
  currentUser: emojiProvider.getCurrentUser(),
555
576
  onEmojiSelected: recordUsageOnSelection,
@@ -575,10 +596,10 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
575
596
  onCloseDelete: this.onCloseDelete,
576
597
  onFileChooserClicked: this.onFileChooserClicked,
577
598
  onOpenUpload: this.onOpenUpload
578
- }), /*#__PURE__*/React.createElement(EmojiPickerFooter, {
599
+ }), jsx(EmojiPickerFooter, {
579
600
  selectedEmoji: selectedEmoji,
580
601
  isUploading: uploading
581
- })));
602
+ }));
582
603
  return picker;
583
604
  }
584
605
  }]);
@@ -586,6 +607,10 @@ var EmojiPickerComponent = /*#__PURE__*/function (_PureComponent) {
586
607
  return EmojiPickerComponent;
587
608
  }(PureComponent);
588
609
 
610
+ _defineProperty(EmojiPickerComponent, "childContextTypes", {
611
+ emoji: PropTypes.object
612
+ });
613
+
589
614
  _defineProperty(EmojiPickerComponent, "defaultProps", {
590
615
  onSelection: function onSelection() {}
591
616
  });
@@ -8,10 +8,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
8
8
 
9
9
  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; } }
10
10
 
11
- import React from 'react';
11
+ /** @jsx jsx */
12
+ import { jsx } from '@emotion/core';
12
13
  import { PureComponent } from 'react';
13
- import * as styles from './styles';
14
14
  import CachingEmoji from '../common/CachingEmoji';
15
+ import { emojiItem, emojiPickerRow } from './styles';
15
16
 
16
17
  var EmojiPickerEmojiRow = /*#__PURE__*/function (_PureComponent) {
17
18
  _inherits(EmojiPickerEmojiRow, _PureComponent);
@@ -34,16 +35,16 @@ var EmojiPickerEmojiRow = /*#__PURE__*/function (_PureComponent) {
34
35
  title = _this$props.title,
35
36
  showDelete = _this$props.showDelete,
36
37
  onDelete = _this$props.onDelete;
37
- return /*#__PURE__*/React.createElement("div", {
38
- className: styles.emojiPickerRow
38
+ return jsx("div", {
39
+ css: emojiPickerRow
39
40
  }, emojis.map(function (emoji) {
40
41
  var shortName = emoji.shortName,
41
42
  id = emoji.id;
42
43
  var key = id ? "".concat(id, "-").concat(title) : "".concat(shortName, "-").concat(title);
43
- return /*#__PURE__*/React.createElement("span", {
44
- className: styles.emojiItem,
44
+ return jsx("span", {
45
+ css: emojiItem,
45
46
  key: key
46
- }, /*#__PURE__*/React.createElement(CachingEmoji, {
47
+ }, jsx(CachingEmoji, {
47
48
  emoji: emoji,
48
49
  selectOnHover: true,
49
50
  onSelected: onSelected,
@@ -8,11 +8,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
8
8
 
9
9
  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; } }
10
10
 
11
- import classNames from 'classnames';
12
- import React from 'react';
11
+ /** @jsx jsx */
12
+ import { jsx } from '@emotion/core';
13
13
  import { PureComponent } from 'react';
14
- import * as styles from './styles';
15
- import EmojiPickerPreview from './EmojiPickerPreview';
14
+ import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
15
+ import { emojiPickerFooter, emojiPickerFooterWithTopShadow } from './styles';
16
16
 
17
17
  var EmojiPickerFooter = /*#__PURE__*/function (_PureComponent) {
18
18
  _inherits(EmojiPickerFooter, _PureComponent);
@@ -31,15 +31,15 @@ var EmojiPickerFooter = /*#__PURE__*/function (_PureComponent) {
31
31
  var _this$props = this.props,
32
32
  selectedEmoji = _this$props.selectedEmoji,
33
33
  isUploading = _this$props.isUploading;
34
- var previewFooterClassnames = classNames([styles.emojiPickerFooter, styles.emojiPickerFooterWithTopShadow]);
34
+ var previewFooterClassnames = [emojiPickerFooter, emojiPickerFooterWithTopShadow];
35
35
 
36
36
  if (!selectedEmoji || isUploading) {
37
37
  return null;
38
38
  }
39
39
 
40
- return /*#__PURE__*/React.createElement("div", {
41
- className: previewFooterClassnames
42
- }, /*#__PURE__*/React.createElement(EmojiPickerPreview, {
40
+ return jsx("div", {
41
+ css: previewFooterClassnames
42
+ }, selectedEmoji && jsx(EmojiPreviewComponent, {
43
43
  emoji: selectedEmoji
44
44
  }));
45
45
  }
@@ -7,11 +7,17 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
 
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
+
10
14
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
15
 
12
16
  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; } }
13
17
 
14
- import classNames from 'classnames';
18
+ /** @jsx jsx */
19
+ import { jsx } from '@emotion/core';
20
+ import PropTypes from 'prop-types';
15
21
  import React from 'react';
16
22
  import { PureComponent } from 'react';
17
23
  import { List as VirtualList } from 'react-virtualized/dist/commonjs/List';
@@ -20,8 +26,8 @@ import { CategoryDescriptionMap } from './categories';
20
26
  import CategoryTracker from './CategoryTracker';
21
27
  import { sizes } from './EmojiPickerSizes';
22
28
  import { CategoryHeadingItem, EmojisRowItem, LoadingItem, virtualItemRenderer } from './EmojiPickerVirtualItems';
23
- import * as styles from './styles';
24
29
  import EmojiActions from '../common/EmojiActions';
30
+ import { emojiPickerList, virtualList } from './styles';
25
31
  var categoryClassname = 'emoji-category';
26
32
 
27
33
  var byOrder = function byOrder(orderableA, orderableB) {
@@ -227,6 +233,14 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
227
233
  }
228
234
 
229
235
  _createClass(EmojiPickerVirtualList, [{
236
+ key: "getChildContext",
237
+ value: function getChildContext() {
238
+ var emoji = this.context.emoji;
239
+ return {
240
+ emoji: _objectSpread({}, emoji)
241
+ };
242
+ }
243
+ }, {
230
244
  key: "UNSAFE_componentWillUpdate",
231
245
  value: function UNSAFE_componentWillUpdate(nextProps, nextState) {
232
246
  if (this.props.emojis !== nextProps.emojis || this.props.selectedTone !== nextProps.selectedTone || this.props.loading !== nextProps.loading || this.props.query !== nextProps.query) {
@@ -275,11 +289,10 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
275
289
  onDeleteEmoji = _this$props2.onDeleteEmoji,
276
290
  onFileChooserClicked = _this$props2.onFileChooserClicked,
277
291
  onOpenUpload = _this$props2.onOpenUpload;
278
- var classes = [styles.emojiPickerList];
279
- return /*#__PURE__*/React.createElement("div", {
292
+ return jsx("div", {
280
293
  ref: "root",
281
- className: classNames(classes)
282
- }, /*#__PURE__*/React.createElement(EmojiActions, {
294
+ css: emojiPickerList
295
+ }, jsx(EmojiActions, {
283
296
  selectedTone: selectedTone,
284
297
  onToneSelected: onToneSelected,
285
298
  onToneSelectorCancelled: onToneSelectorCancelled,
@@ -297,7 +310,7 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
297
310
  onOpenUpload: onOpenUpload,
298
311
  query: query,
299
312
  onChange: this.onSearch
300
- }), /*#__PURE__*/React.createElement(VirtualList, {
313
+ }), jsx(VirtualList, {
301
314
  ref: "list",
302
315
  height: sizes.listHeight,
303
316
  overscanRowCount: 5,
@@ -306,7 +319,7 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
306
319
  rowRenderer: this.renderRow,
307
320
  scrollToAlignment: "start",
308
321
  width: sizes.listWidth,
309
- className: styles.virtualList,
322
+ css: virtualList,
310
323
  onRowsRendered: this.checkCategoryIdChange
311
324
  }));
312
325
  }
@@ -315,6 +328,14 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
315
328
  return EmojiPickerVirtualList;
316
329
  }(PureComponent);
317
330
 
331
+ _defineProperty(EmojiPickerVirtualList, "contextTypes", {
332
+ emoji: PropTypes.object
333
+ });
334
+
335
+ _defineProperty(EmojiPickerVirtualList, "childContextTypes", {
336
+ emoji: PropTypes.object
337
+ });
338
+
318
339
  _defineProperty(EmojiPickerVirtualList, "defaultProps", {
319
340
  onEmojiSelected: function onEmojiSelected() {},
320
341
  onEmojiActive: function onEmojiActive() {},
@@ -10,12 +10,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  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; } }
12
12
 
13
+ /** @jsx jsx */
14
+ import { jsx } from '@emotion/core';
13
15
  import React, { PureComponent } from 'react';
14
16
  import TextField from '@atlaskit/textfield';
15
17
  import SearchIcon from '@atlaskit/icon/glyph/search';
16
18
  import { injectIntl } from 'react-intl-next';
17
19
  import { messages } from '../i18n';
18
- import * as styles from './styles';
20
+ import { input, pickerSearch, searchIcon } from './styles';
19
21
 
20
22
  var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
21
23
  _inherits(EmojiPickerListSearch, _PureComponent);
@@ -108,12 +110,12 @@ var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
108
110
  query = _this$props.query,
109
111
  intl = _this$props.intl;
110
112
  var formatMessage = intl.formatMessage;
111
- return /*#__PURE__*/React.createElement("div", {
112
- className: styles.pickerSearch,
113
+ return jsx("div", {
114
+ css: pickerSearch,
113
115
  style: style
114
- }, /*#__PURE__*/React.createElement(TextField, {
116
+ }, jsx(TextField, {
115
117
  "aria-label": formatMessage(messages.searchLabel),
116
- className: styles.input,
118
+ css: input,
117
119
  autoComplete: "off",
118
120
  name: "search",
119
121
  placeholder: "".concat(formatMessage(messages.searchPlaceholder), "..."),
@@ -122,9 +124,9 @@ var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
122
124
  ref: this.handleInputRef,
123
125
  isCompact: true,
124
126
  onBlur: this.onBlur,
125
- elemBeforeInput: /*#__PURE__*/React.createElement("span", {
126
- className: styles.searchIcon
127
- }, /*#__PURE__*/React.createElement(SearchIcon, {
127
+ elemBeforeInput: jsx("span", {
128
+ css: searchIcon
129
+ }, jsx(SearchIcon, {
128
130
  label: ""
129
131
  }))
130
132
  }));
@@ -10,12 +10,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  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; } }
12
12
 
13
+ /** @jsx jsx */
14
+ import { jsx } from '@emotion/core';
13
15
  import Spinner from '@atlaskit/spinner';
14
- import React from 'react';
15
16
  import EmojiPickerCategoryHeading from './EmojiPickerCategoryHeading';
16
17
  import EmojiPickerEmojiRow from './EmojiPickerEmojiRow';
17
18
  import { sizes } from './EmojiPickerSizes';
18
- import * as styles from './styles';
19
+ import { emojiPickerSpinner } from './styles';
19
20
  export var AbstractItem = /*#__PURE__*/_createClass(function AbstractItem(props, height) {
20
21
  _classCallCheck(this, AbstractItem);
21
22
 
@@ -35,7 +36,7 @@ export var EmojisRowItem = /*#__PURE__*/function (_AbstractItem) {
35
36
  _this = _super.call(this, props, sizes.emojiRowHeight);
36
37
 
37
38
  _defineProperty(_assertThisInitialized(_this), "renderItem", function () {
38
- return /*#__PURE__*/React.createElement(EmojiPickerEmojiRow, _this.props);
39
+ return jsx(EmojiPickerEmojiRow, _this.props);
39
40
  });
40
41
 
41
42
  return _this;
@@ -56,9 +57,9 @@ export var LoadingItem = /*#__PURE__*/function (_AbstractItem2) {
56
57
  _this2 = _super2.call(this, {}, sizes.loadingRowHeight);
57
58
 
58
59
  _defineProperty(_assertThisInitialized(_this2), "renderItem", function () {
59
- return /*#__PURE__*/React.createElement("div", {
60
- className: styles.emojiPickerSpinner
61
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Spinner, {
60
+ return jsx("div", {
61
+ css: emojiPickerSpinner
62
+ }, jsx("div", null, jsx(Spinner, {
62
63
  size: "medium"
63
64
  })));
64
65
  });
@@ -81,7 +82,7 @@ export var CategoryHeadingItem = /*#__PURE__*/function (_AbstractItem3) {
81
82
  _this3 = _super3.call(this, props, sizes.categoryHeadingHeight);
82
83
 
83
84
  _defineProperty(_assertThisInitialized(_this3), "renderItem", function () {
84
- return /*#__PURE__*/React.createElement(EmojiPickerCategoryHeading, _this3.props);
85
+ return jsx(EmojiPickerCategoryHeading, _this3.props);
85
86
  });
86
87
 
87
88
  return _this3;
@@ -98,7 +99,7 @@ export var virtualItemRenderer = function virtualItemRenderer(rows, context) {
98
99
  key = context.key,
99
100
  style = context.style;
100
101
  var row = rows[index];
101
- return /*#__PURE__*/React.createElement("div", {
102
+ return jsx("div", {
102
103
  style: style,
103
104
  key: key
104
105
  }, row.renderItem(context));