@atlaskit/emoji 64.2.1 → 64.3.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 (137) hide show
  1. package/CHANGELOG.md +15 -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/ResourcedEmojiComponent.js +17 -12
  16. package/dist/cjs/components/common/RetryableButton.js +12 -18
  17. package/dist/cjs/components/common/Scrollable.js +5 -10
  18. package/dist/cjs/components/common/styles.js +210 -266
  19. package/dist/cjs/components/picker/CategorySelector.js +13 -12
  20. package/dist/cjs/components/picker/EmojiPicker.js +6 -6
  21. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
  22. package/dist/cjs/components/picker/EmojiPickerComponent.js +24 -28
  23. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
  24. package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
  25. package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
  26. package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
  27. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
  28. package/dist/cjs/components/picker/styles.js +113 -161
  29. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +23 -24
  30. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
  31. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
  32. package/dist/cjs/components/typeahead/styles.js +17 -19
  33. package/dist/cjs/components/uploader/EmojiUploadComponent.js +10 -16
  34. package/dist/cjs/components/uploader/styles.js +4 -4
  35. package/dist/cjs/index.js +3 -3
  36. package/dist/cjs/version.json +1 -1
  37. package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
  38. package/dist/es2019/components/common/CachingEmoji.js +5 -7
  39. package/dist/es2019/components/common/DeleteButton.js +8 -6
  40. package/dist/es2019/components/common/Emoji.js +19 -34
  41. package/dist/es2019/components/common/EmojiActions.js +26 -24
  42. package/dist/es2019/components/common/EmojiButton.js +6 -6
  43. package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
  44. package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
  45. package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
  46. package/dist/es2019/components/common/EmojiPreview.js +19 -35
  47. package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
  48. package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
  49. package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
  50. package/dist/es2019/components/common/ResourcedEmojiComponent.js +16 -11
  51. package/dist/es2019/components/common/RetryableButton.js +10 -11
  52. package/dist/es2019/components/common/Scrollable.js +6 -10
  53. package/dist/es2019/components/common/styles.js +195 -262
  54. package/dist/es2019/components/picker/CategorySelector.js +15 -12
  55. package/dist/es2019/components/picker/EmojiPicker.js +7 -5
  56. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
  57. package/dist/es2019/components/picker/EmojiPickerComponent.js +24 -19
  58. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
  59. package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
  60. package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
  61. package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
  62. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
  63. package/dist/es2019/components/picker/styles.js +112 -160
  64. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +22 -16
  65. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
  66. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
  67. package/dist/es2019/components/typeahead/styles.js +14 -15
  68. package/dist/es2019/components/uploader/EmojiUploadComponent.js +10 -9
  69. package/dist/es2019/components/uploader/styles.js +4 -4
  70. package/dist/es2019/index.js +2 -1
  71. package/dist/es2019/version.json +1 -1
  72. package/dist/esm/api/media/SiteEmojiResource.js +10 -2
  73. package/dist/esm/components/common/CachingEmoji.js +5 -7
  74. package/dist/esm/components/common/DeleteButton.js +8 -6
  75. package/dist/esm/components/common/Emoji.js +18 -27
  76. package/dist/esm/components/common/EmojiActions.js +26 -25
  77. package/dist/esm/components/common/EmojiButton.js +6 -6
  78. package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
  79. package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
  80. package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
  81. package/dist/esm/components/common/EmojiPreview.js +19 -33
  82. package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
  83. package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
  84. package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
  85. package/dist/esm/components/common/ResourcedEmojiComponent.js +16 -10
  86. package/dist/esm/components/common/RetryableButton.js +11 -12
  87. package/dist/esm/components/common/Scrollable.js +6 -10
  88. package/dist/esm/components/common/styles.js +192 -242
  89. package/dist/esm/components/picker/CategorySelector.js +14 -12
  90. package/dist/esm/components/picker/EmojiPicker.js +6 -5
  91. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
  92. package/dist/esm/components/picker/EmojiPickerComponent.js +24 -19
  93. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
  94. package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
  95. package/dist/esm/components/picker/EmojiPickerList.js +29 -8
  96. package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
  97. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
  98. package/dist/esm/components/picker/styles.js +108 -149
  99. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +22 -16
  100. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
  101. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
  102. package/dist/esm/components/typeahead/styles.js +14 -14
  103. package/dist/esm/components/uploader/EmojiUploadComponent.js +9 -9
  104. package/dist/esm/components/uploader/styles.js +4 -4
  105. package/dist/esm/index.js +2 -1
  106. package/dist/esm/version.json +1 -1
  107. package/dist/types/components/common/CachingEmoji.d.ts +8 -6
  108. package/dist/types/components/common/EmojiActions.d.ts +2 -3
  109. package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
  110. package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
  111. package/dist/types/components/common/EmojiPreview.d.ts +2 -3
  112. package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
  113. package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
  114. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
  115. package/dist/types/components/common/RetryableButton.d.ts +0 -2
  116. package/dist/types/components/common/styles.d.ts +44 -44
  117. package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
  118. package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
  119. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
  120. package/dist/types/components/picker/styles.d.ts +17 -18
  121. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
  122. package/dist/types/components/typeahead/styles.d.ts +8 -7
  123. package/dist/types/components/uploader/styles.d.ts +2 -2
  124. package/dist/types/index.d.ts +1 -1
  125. package/package.json +8 -9
  126. package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
  127. package/dist/cjs/context/EmojiContext.js +0 -11
  128. package/dist/cjs/context/EmojiContextProvider.js +0 -22
  129. package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
  130. package/dist/es2019/context/EmojiContext.js +0 -2
  131. package/dist/es2019/context/EmojiContextProvider.js +0 -10
  132. package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
  133. package/dist/esm/context/EmojiContext.js +0 -2
  134. package/dist/esm/context/EmojiContextProvider.js +0 -9
  135. package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
  136. package/dist/types/context/EmojiContext.d.ts +0 -4
  137. package/dist/types/context/EmojiContextProvider.d.ts +0 -7
@@ -1,18 +1,16 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- var _$nest4, _$nest5, _$nest6, _$nest8;
3
+ var _css4, _css5, _css6;
4
4
 
5
- import { style } from 'typestyle';
5
+ import { css } from '@emotion/core';
6
6
  import { token } from '@atlaskit/tokens';
7
7
  import { borderRadius } from '@atlaskit/theme/constants';
8
- import * as colors from '@atlaskit/theme/colors';
9
- import { akEmojiSelectedBackgroundColor, emojiPickerBorderColor, emojiPickerBoxShadow } from '../../util/shared-styles';
10
- import { emojiSprite, placeholder, emojiNode } from '../common/styles';
8
+ import { emojiPickerBorderColor, emojiPickerBoxShadow } from '../../util/shared-styles';
9
+ import { emojiSprite, placeholder, emojiNodeStyles } from '../common/styles';
11
10
  import { emojiPickerHeight, emojiPickerWidth } from '../../util/constants';
12
- export var active = 'emoji-picker-active';
13
- export var disable = 'emoji-picker-disable'; // Level 1 - picker
11
+ import { B200, B300, N100A, N200, N30, N30A, N50, N900 } from '@atlaskit/theme/colors'; // Level 1 - picker
14
12
 
15
- export var emojiPicker = style({
13
+ export var emojiPicker = css({
16
14
  display: 'flex',
17
15
  flexDirection: 'column',
18
16
  justifyContent: 'space-between',
@@ -28,62 +26,57 @@ export var emojiPicker = style({
28
26
  /// Category Selector
29
27
 
30
28
  export var addButton = 'emoji-picker-add-button';
31
- export var categorySelector = style({
29
+ export var categorySelector = css(_defineProperty({
32
30
  flex: '0 0 auto',
33
- backgroundColor: token('elevation.surface.sunken', colors.N30),
34
- $nest: _defineProperty({
35
- ul: {
36
- listStyle: 'none',
37
- margin: '0 4px',
38
- padding: '3px 0',
39
- display: 'flex',
40
- flexDirection: 'row',
41
- justifyContent: 'space-around'
42
- },
43
- li: {
44
- display: 'inline-block',
45
- margin: 0,
46
- padding: 0,
47
- $nest: {
48
- button: {
49
- verticalAlign: 'middle'
50
- }
51
- }
31
+ backgroundColor: token('elevation.surface.sunken', N30),
32
+ ul: {
33
+ listStyle: 'none',
34
+ margin: '0 4px',
35
+ padding: '3px 0',
36
+ display: 'flex',
37
+ flexDirection: 'row',
38
+ justifyContent: 'space-around'
39
+ },
40
+ li: {
41
+ display: 'inline-block',
42
+ margin: 0,
43
+ padding: 0,
44
+ button: {
45
+ verticalAlign: 'middle'
52
46
  }
53
- }, ".".concat(addButton), {
54
- color: token('color.text.subtlest', colors.N200),
55
- margin: '0 0 0 5px',
56
- verticalAlign: 'middle'
57
- })
58
- });
59
- export var category = style({
47
+ }
48
+ }, ".".concat(addButton), {
49
+ color: token('color.text.subtlest', N200),
50
+ margin: '0 0 0 5px',
51
+ verticalAlign: 'middle'
52
+ }));
53
+ export var active = css(_defineProperty({
54
+ color: token('color.text.selected', B300)
55
+ }, '&:hover', {
56
+ color: token('color.text.selected', B300)
57
+ }));
58
+ export var disable = css(_defineProperty({
59
+ color: token('color.text.subtlest', N50),
60
+ cursor: 'default'
61
+ }, '&:hover', {
62
+ color: token('color.text.subtlest', N50)
63
+ }));
64
+ export var categoryStyles = css((_css4 = {
60
65
  backgroundColor: 'transparent',
61
66
  border: 0,
62
- color: token('color.text.subtlest', colors.N100A),
67
+ color: token('color.text.subtlest', N100A),
63
68
  cursor: 'pointer',
64
69
  margin: '2px 0',
65
70
  padding: 0,
66
- transition: 'color 0.2s ease',
67
- $nest: (_$nest4 = {}, _defineProperty(_$nest4, '&::-moz-focus-inner', {
68
- border: '0 none',
69
- padding: 0
70
- }), _defineProperty(_$nest4, "&.".concat(active), {
71
- color: token('color.text.brand', colors.B300),
72
- $nest: _defineProperty({}, '&:hover', {
73
- color: token('color.text.brand', colors.B300)
74
- })
75
- }), _defineProperty(_$nest4, '&:hover', {
76
- color: token('color.text.brand', colors.B200)
77
- }), _defineProperty(_$nest4, "&.".concat(disable), {
78
- color: token('color.text.subtlest', colors.N50),
79
- cursor: 'default',
80
- $nest: _defineProperty({}, '&:hover', {
81
- color: token('color.text.subtlest', colors.N50)
82
- })
83
- }), _$nest4)
84
- }); /// EmojiPickerList
71
+ transition: 'color 0.2s ease'
72
+ }, _defineProperty(_css4, '&::-moz-focus-inner', {
73
+ border: '0 none',
74
+ padding: 0
75
+ }), _defineProperty(_css4, '&:hover', {
76
+ color: token('color.text.selected', B200)
77
+ }), _css4)); /// EmojiPickerList
85
78
 
86
- export var emojiPickerList = style({
79
+ export var emojiPickerList = css({
87
80
  display: 'flex',
88
81
  flexDirection: 'column',
89
82
  flex: '1 1 auto',
@@ -91,128 +84,94 @@ export var emojiPickerList = style({
91
84
  height: '0'
92
85
  }); // react-virtualized enables focus style by default - turn it off
93
86
 
94
- export var virtualList = style({
95
- $nest: {
96
- '&:focus': {
97
- outline: 'none'
98
- }
87
+ export var virtualList = css({
88
+ '&:focus': {
89
+ outline: 'none'
99
90
  }
100
91
  }); //// Search
101
92
 
102
- export var searchIcon = 'search-icon';
103
- export var input = 'input';
104
- export var pickerSearch = style({
93
+ export var searchIcon = css({
94
+ opacity: 0.5
95
+ });
96
+ export var input = css((_css5 = {
97
+ boxSizing: 'border-box',
98
+ color: 'inherit',
99
+ cursor: 'inherit',
100
+ fontSize: '14px',
101
+ outline: 'none',
102
+ padding: '1px 0 2px 6px',
103
+ width: '100%'
104
+ }, _defineProperty(_css5, '&:invalid', {
105
+ boxShadow: 'none'
106
+ }), _defineProperty(_css5, '&::-ms-clear', {
107
+ display: 'none'
108
+ }), _css5));
109
+ export var pickerSearch = css({
105
110
  boxSizing: 'border-box',
106
111
  padding: '10px 10px 11px 10px',
107
- width: '100%',
108
- $nest: (_$nest6 = {}, _defineProperty(_$nest6, ".".concat(searchIcon), {
109
- opacity: 0.5
110
- }), _defineProperty(_$nest6, ".".concat(input), {
111
- boxSizing: 'border-box',
112
- color: 'inherit',
113
- cursor: 'inherit',
114
- fontSize: '14px',
115
- outline: 'none',
116
- padding: '1px 0 2px 6px',
117
- width: '100%',
118
- $nest: (_$nest5 = {}, _defineProperty(_$nest5, '&:invalid', {
119
- boxShadow: 'none'
120
- }), _defineProperty(_$nest5, '&::-ms-clear', {
121
- display: 'none'
122
- }), _$nest5)
123
- }), _$nest6)
112
+ width: '100%'
124
113
  }); //// Loading/Spinner
125
114
 
126
- export var emojiPickerSpinner = style({
115
+ export var emojiPickerSpinner = css({
127
116
  display: 'flex',
128
117
  width: '100%',
129
118
  height: '150px',
130
119
  justifyContent: 'center',
131
120
  alignItems: 'center',
132
- $nest: {
133
- '>div': {
134
- flex: '0 0 auto'
135
- }
121
+ '>div': {
122
+ flex: '0 0 auto'
136
123
  }
137
124
  }); //// Category/Result
138
125
 
139
- export var emojiPickerRow = style({
126
+ export var emojiPickerRow = css({
140
127
  marginLeft: '8px'
141
128
  });
142
- export var emojiCategoryTitle = style({
129
+ export var emojiCategoryTitle = css({
143
130
  boxSizing: 'border-box',
144
- color: token('color.text', colors.N900),
131
+ color: token('color.text', N900),
145
132
  fontSize: '14px',
146
133
  padding: '5px 8px',
147
134
  textTransform: 'lowercase',
148
- $nest: {
149
- '&:first-letter': {
150
- textTransform: 'uppercase'
151
- }
135
+ '&:first-letter': {
136
+ textTransform: 'uppercase'
152
137
  }
153
138
  });
154
- export var emojiItem = style({
139
+ export var emojiItem = css((_css6 = {
155
140
  display: 'inline-block',
156
141
  textAlign: 'center',
157
- width: '40px',
158
- $nest: (_$nest8 = {}, _defineProperty(_$nest8, "&>.".concat(emojiNode), {
159
- cursor: 'pointer',
160
- padding: '8px',
161
- borderRadius: '5px',
162
- width: '24px',
163
- height: '24px',
164
- $nest: _defineProperty({
165
- // Fit non-square emoji to square
166
- '&>img': {
167
- position: 'relative',
168
- left: '50%',
169
- top: '50%',
170
- transform: 'translateX(-50%) translateY(-50%)',
171
- maxHeight: '24px',
172
- maxWidth: '24px',
173
- display: 'block'
174
- }
175
- }, "&>.".concat(emojiSprite), {
176
- height: '24px',
177
- width: '24px'
178
- })
179
- }), _defineProperty(_$nest8, "&>.".concat(placeholder), {
180
- padding: '0',
181
- margin: '7px',
182
- minWidth: '24px',
183
- maxWidth: '24px'
184
- }), _$nest8)
185
- });
186
- export var addEmoji = style({
187
- border: '2px dashed #ccc',
188
- borderRadius: "".concat(borderRadius(), "px"),
189
- backgroundColor: 'transparent',
190
- width: '32px',
191
- height: '32px',
192
- padding: 0,
193
- margin: '4px',
194
- verticalAlign: 'middle',
195
- $nest: {
196
- '&:hover': {
197
- backgroundColor: akEmojiSelectedBackgroundColor
198
- },
199
- '&:focus': {
200
- outline: '0'
201
- },
202
- span: {
203
- backgroundColor: 'inherit'
204
- }
205
- }
206
- }); /// Footer
142
+ width: '40px'
143
+ }, _defineProperty(_css6, "& .".concat(emojiNodeStyles), {
144
+ cursor: 'pointer',
145
+ padding: '8px',
146
+ borderRadius: '5px',
147
+ width: '24px',
148
+ height: '24px'
149
+ }), _defineProperty(_css6, "& .".concat(placeholder), {
150
+ padding: '0',
151
+ margin: '7px',
152
+ minWidth: '24px',
153
+ maxWidth: '24px'
154
+ }), _defineProperty(_css6, "& .".concat(emojiNodeStyles, " > img"), {
155
+ position: 'relative',
156
+ left: '50%',
157
+ top: '50%',
158
+ transform: 'translateX(-50%) translateY(-50%)',
159
+ maxHeight: '24px',
160
+ maxWidth: '24px',
161
+ display: 'block'
162
+ }), _defineProperty(_css6, "& .".concat(emojiNodeStyles, " > .").concat(emojiSprite), {
163
+ height: '24px',
164
+ width: '24px'
165
+ }), _css6)); /// Footer
207
166
 
208
- export var emojiPickerFooter = style({
167
+ export var emojiPickerFooter = css({
209
168
  flex: '0 0 auto'
210
169
  });
211
- export var emojiPickerFooterWithTopShadow = style({
212
- borderTop: "2px solid ".concat(token('color.border', colors.N30A)),
170
+ export var emojiPickerFooterWithTopShadow = css({
171
+ borderTop: "2px solid ".concat(token('color.border', N30A)),
213
172
  boxShadow: "0px -1px 1px 0px ".concat(token('color.border', 'rgba(0, 0, 0, 0.1)'))
214
173
  });
215
- export var emojiActionsContainerWithBottomShadow = style({
216
- borderBottom: "2px solid ".concat(token('color.border', colors.N30A)),
174
+ export var emojiActionsContainerWithBottomShadow = css({
175
+ borderBottom: "2px solid ".concat(token('color.border', N30A)),
217
176
  boxShadow: "0px 1px 1px 0px ".concat(token('color.border', 'rgba(0, 0, 0, 0.1)'))
218
177
  });
@@ -16,9 +16,10 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
16
16
 
17
17
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
18
 
19
- import classNames from 'classnames';
20
- import React from 'react';
19
+ /** @jsx jsx */
20
+ import { jsx } from '@emotion/core';
21
21
  import uuid from 'uuid';
22
+ import PropTypes from 'prop-types';
22
23
  import { PureComponent } from 'react';
23
24
  import { defaultListLimit } from '../../util/constants';
24
25
  import { toEmojiId } from '../../util/type-helpers';
@@ -27,8 +28,7 @@ import debug from '../../util/logger';
27
28
  import { typeaheadCancelledEvent, typeaheadSelectedEvent, typeaheadRenderedEvent } from '../../util/analytics';
28
29
  import { createRecordSelectionDefault } from '../common/RecordSelectionDefault';
29
30
  import EmojiList from './EmojiTypeAheadList';
30
- import * as styles from './styles';
31
- import { EmojiContextProvider } from '../../context/EmojiContextProvider';
31
+ import { emojiTypeAhead } from './styles';
32
32
 
33
33
  var isFullShortName = function isFullShortName(query) {
34
34
  return query && query.length > 1 && query.charAt(0) === ':' && query.charAt(query.length - 1) === ':';
@@ -187,6 +187,15 @@ var EmojiTypeAheadComponent = /*#__PURE__*/function (_PureComponent) {
187
187
  }
188
188
 
189
189
  _createClass(EmojiTypeAheadComponent, [{
190
+ key: "getChildContext",
191
+ value: function getChildContext() {
192
+ return {
193
+ emoji: {
194
+ emojiProvider: this.props.emojiProvider
195
+ }
196
+ };
197
+ }
198
+ }, {
190
199
  key: "componentDidMount",
191
200
  value: function componentDidMount() {
192
201
  var emojiProvider = this.props.emojiProvider;
@@ -286,29 +295,26 @@ var EmojiTypeAheadComponent = /*#__PURE__*/function (_PureComponent) {
286
295
  var style = {
287
296
  display: visible ? 'block' : 'none'
288
297
  };
289
- var classes = classNames(['ak-emoji-typeahead', styles.emojiTypeAhead]);
290
- var emojiContextValue = {
291
- emoji: {
292
- emojiProvider: this.props.emojiProvider
293
- }
294
- };
295
- return /*#__PURE__*/React.createElement(EmojiContextProvider, {
296
- emojiContextValue: emojiContextValue
297
- }, /*#__PURE__*/React.createElement("div", {
298
+ return jsx("div", {
298
299
  style: style,
299
- className: classes
300
- }, /*#__PURE__*/React.createElement(EmojiList, {
300
+ className: 'ak-emoji-typeahead',
301
+ css: emojiTypeAhead
302
+ }, jsx(EmojiList, {
301
303
  emojis: emojis,
302
304
  onEmojiSelected: recordUsageOnSelection,
303
305
  ref: this.onEmojiListRef,
304
306
  loading: loading
305
- })));
307
+ }));
306
308
  }
307
309
  }]);
308
310
 
309
311
  return EmojiTypeAheadComponent;
310
312
  }(PureComponent);
311
313
 
314
+ _defineProperty(EmojiTypeAheadComponent, "childContextTypes", {
315
+ emoji: PropTypes.object
316
+ });
317
+
312
318
  _defineProperty(EmojiTypeAheadComponent, "defaultProps", {
313
319
  onSelection: function onSelection() {},
314
320
  onOpen: function onOpen() {},
@@ -10,13 +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
- import classNames from 'classnames';
13
+ /** @jsx jsx */
14
+ import { jsx } from '@emotion/core';
14
15
  import React from 'react';
15
16
  import { PureComponent } from 'react';
16
17
  import { toEmojiId } from '../../util/type-helpers';
17
18
  import { leftClick } from '../../util/mouse';
18
- import * as styles from './styles';
19
- import EmojiPickerPreview from '../picker/EmojiPickerPreview';
19
+ import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
20
+ import { typeAheadItem, selected as selectedStyles, typeAheadItemRow, typeaheadSelected } from './styles';
20
21
 
21
22
  var EmojiTypeAheadItem = /*#__PURE__*/function (_PureComponent) {
22
23
  _inherits(EmojiTypeAheadItem, _PureComponent);
@@ -61,22 +62,19 @@ var EmojiTypeAheadItem = /*#__PURE__*/function (_PureComponent) {
61
62
  _createClass(EmojiTypeAheadItem, [{
62
63
  key: "render",
63
64
  value: function render() {
64
- var _classNames;
65
-
66
65
  var _this$props3 = this.props,
67
66
  selected = _this$props3.selected,
68
67
  emoji = _this$props3.emoji;
69
- var classes = classNames((_classNames = {
70
- 'ak-emoji-typeahead-item': true
71
- }, _defineProperty(_classNames, styles.typeAheadItem, true), _defineProperty(_classNames, styles.selected, selected), _classNames));
72
- return /*#__PURE__*/React.createElement("div", {
73
- className: classes,
68
+ var classes = [typeAheadItem, selected && selectedStyles];
69
+ return jsx("div", {
70
+ className: "ak-emoji-typeahead-item ".concat(selected ? typeaheadSelected : ''),
71
+ css: classes,
74
72
  onMouseDown: this.onEmojiSelected,
75
73
  onMouseMove: this.onEmojiMenuItemMouseMove,
76
74
  "data-emoji-id": emoji.shortName
77
- }, /*#__PURE__*/React.createElement("div", {
78
- className: styles.typeAheadItemRow
79
- }, /*#__PURE__*/React.createElement(EmojiPickerPreview, {
75
+ }, jsx("div", {
76
+ css: typeAheadItemRow
77
+ }, emoji && jsx(EmojiPreviewComponent, {
80
78
  emoji: emoji
81
79
  })));
82
80
  }
@@ -10,8 +10,9 @@ 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 classNames from 'classnames';
15
16
  import React from 'react';
16
17
  import { PureComponent } from 'react';
17
18
  import { emojiTypeAheadMaxHeight } from '../../util/shared-styles';
@@ -20,7 +21,7 @@ import debug from '../../util/logger';
20
21
  import { actualMouseMove, mouseLocation } from '../../util/mouse';
21
22
  import Scrollable from '../common/Scrollable';
22
23
  import EmojiItem from './EmojiTypeAheadItem';
23
- import * as styles from './styles';
24
+ import { emojiTypeAheadSpinner, emojiTypeAheadSpinnerContainer, typeAheadEmpty, typeAheadList, typeAheadListContainer } from './styles';
24
25
 
25
26
  function wrapIndex(emojis, index) {
26
27
  var len = emojis.length;
@@ -209,9 +210,9 @@ var EmojiTypeAheadList = /*#__PURE__*/function (_PureComponent) {
209
210
 
210
211
  if (emojis && emojis.length) {
211
212
  this.items = {};
212
- return /*#__PURE__*/React.createElement("div", null, emojis.map(function (emoji, idx) {
213
+ return jsx("div", null, emojis.map(function (emoji, idx) {
213
214
  var key = getKey(emoji);
214
- var item = /*#__PURE__*/React.createElement(EmojiItem, {
215
+ var item = jsx(EmojiItem, {
215
216
  emoji: emoji,
216
217
  key: key,
217
218
  selected: _this2.isSelectedEmoji(emoji, idx),
@@ -240,34 +241,31 @@ var EmojiTypeAheadList = /*#__PURE__*/function (_PureComponent) {
240
241
  }, {
241
242
  key: "render",
242
243
  value: function render() {
243
- var _classNames;
244
-
245
244
  var _this$props2 = this.props,
246
245
  emojis = _this$props2.emojis,
247
246
  loading = _this$props2.loading;
248
247
  var hasEmoji = emojis && emojis.length;
249
- var classes = classNames((_classNames = {
250
- 'ak-emoji-typeahead-list': true
251
- }, _defineProperty(_classNames, styles.typeAheadList, true), _defineProperty(_classNames, styles.typeAheadEmpty, !hasEmoji && !loading), _classNames));
248
+ var classes = [typeAheadList, !hasEmoji && !loading && typeAheadEmpty];
252
249
  var listBody;
253
250
 
254
251
  if (loading) {
255
- listBody = /*#__PURE__*/React.createElement("div", {
256
- className: styles.emojiTypeAheadSpinnerContainer
257
- }, /*#__PURE__*/React.createElement("div", {
258
- className: styles.emojiTypeAheadSpinner
259
- }, /*#__PURE__*/React.createElement(Spinner, {
252
+ listBody = jsx("div", {
253
+ css: emojiTypeAheadSpinnerContainer
254
+ }, jsx("div", {
255
+ css: emojiTypeAheadSpinner
256
+ }, jsx(Spinner, {
260
257
  size: "medium"
261
258
  })));
262
259
  } else {
263
260
  listBody = this.renderItems(emojis);
264
261
  }
265
262
 
266
- return /*#__PURE__*/React.createElement("div", {
267
- className: styles.typeAheadListContainer
268
- }, /*#__PURE__*/React.createElement("div", {
269
- className: classes
270
- }, /*#__PURE__*/React.createElement(Scrollable, {
263
+ return jsx("div", {
264
+ css: typeAheadListContainer
265
+ }, jsx("div", {
266
+ className: 'ak-emoji-typeahead-list',
267
+ css: classes
268
+ }, jsx(Scrollable, {
271
269
  ref: this.handleScrollableRef,
272
270
  maxHeight: "".concat(emojiTypeAheadMaxHeight, "px")
273
271
  }, listBody)));
@@ -1,11 +1,11 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { style } from 'typestyle';
1
+ import { css } from '@emotion/core';
3
2
  import { token } from '@atlaskit/tokens';
4
3
  import { emojiPreviewSelectedColor, emojiTypeAheadMaxHeight, emojiTypeAheadWidth, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow } from '../../util/shared-styles';
5
- export var selected = 'emoji-typeahead-selected';
6
4
  export var emojiTypeAhead = 'emoji-typeahead-element';
7
- export var typeAheadListContainer = 'emoji-typeahead-list-container';
8
- export var typeAheadList = style({
5
+ export var typeAheadListContainer = 'emoji-typeahead-list-container'; // editor-core is using this static class name for testing
6
+
7
+ export var typeaheadSelected = 'emoji-typeahead-selected';
8
+ export var typeAheadList = css({
9
9
  background: token('elevation.surface.overlay', 'white'),
10
10
  border: "1px solid ".concat(noDialogContainerBorderColor),
11
11
  borderRadius: noDialogContainerBorderRadius,
@@ -13,31 +13,31 @@ export var typeAheadList = style({
13
13
  color: token('color.text.subtle', '#333'),
14
14
  width: emojiTypeAheadWidth
15
15
  });
16
- export var typeAheadEmpty = style({
16
+ export var typeAheadEmpty = css({
17
17
  display: 'none'
18
18
  });
19
- export var typeAheadItem = style({
19
+ export var selected = css({
20
+ backgroundColor: emojiPreviewSelectedColor
21
+ });
22
+ export var typeAheadItem = css({
20
23
  cursor: 'pointer',
21
24
  display: 'block',
22
25
  listStyleType: 'none',
23
26
  overflow: 'hidden',
24
- width: emojiTypeAheadWidth,
25
- $nest: _defineProperty({}, "&.".concat(selected), {
26
- backgroundColor: emojiPreviewSelectedColor
27
- })
27
+ width: emojiTypeAheadWidth
28
28
  });
29
- export var typeAheadItemRow = style({
29
+ export var typeAheadItemRow = css({
30
30
  display: 'flex',
31
31
  flexDirection: 'row',
32
32
  flexWrap: 'wrap',
33
33
  verticalAlign: 'middle'
34
34
  });
35
- export var emojiTypeAheadSpinnerContainer = style({
35
+ export var emojiTypeAheadSpinnerContainer = css({
36
36
  position: 'relative',
37
37
  height: "".concat(emojiTypeAheadMaxHeight, "px"),
38
38
  paddingTop: "".concat(((emojiTypeAheadMaxHeight - 30) / 2).toFixed(), "px"),
39
39
  boxSizing: 'border-box'
40
40
  });
41
- export var emojiTypeAheadSpinner = style({
41
+ export var emojiTypeAheadSpinner = css({
42
42
  textAlign: 'center'
43
43
  });
@@ -10,15 +10,15 @@ 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
- import React from 'react';
13
+ /** @jsx jsx */
14
+ import { jsx } from '@emotion/core';
14
15
  import { PureComponent } from 'react';
15
16
  import { FormattedMessage } from 'react-intl-next';
16
- import classNames from 'classnames';
17
- import * as styles from './styles';
18
17
  import { supportsUploadFeature } from '../../api/EmojiResource';
19
18
  import EmojiUploadPickerWithIntl from '../common/EmojiUploadPicker';
20
19
  import { uploadEmoji } from '../common/UploadEmoji';
21
20
  import { createAndFireEventInElementsChannel, selectedFileEvent, uploadCancelButton, uploadConfirmButton } from '../../util/analytics';
21
+ import { emojiUploadFooter, emojiUploadWidget } from './styles';
22
22
 
23
23
  var EmojiUploadComponent = /*#__PURE__*/function (_PureComponent) {
24
24
  _inherits(EmojiUploadComponent, _PureComponent);
@@ -98,13 +98,13 @@ var EmojiUploadComponent = /*#__PURE__*/function (_PureComponent) {
98
98
  key: "render",
99
99
  value: function render() {
100
100
  var uploadErrorMessage = this.state.uploadErrorMessage;
101
- var errorMessage = uploadErrorMessage ? /*#__PURE__*/React.createElement(FormattedMessage, uploadErrorMessage) : null;
102
- return /*#__PURE__*/React.createElement("div", {
103
- className: classNames([styles.emojiUploadWidget]),
101
+ var errorMessage = uploadErrorMessage ? jsx(FormattedMessage, uploadErrorMessage) : null;
102
+ return jsx("div", {
103
+ css: emojiUploadWidget,
104
104
  ref: this.props.onUploaderRef
105
- }, /*#__PURE__*/React.createElement("div", {
106
- className: classNames([styles.emojiUploadFooter])
107
- }, /*#__PURE__*/React.createElement(EmojiUploadPickerWithIntl, {
105
+ }, jsx("div", {
106
+ css: emojiUploadFooter
107
+ }, jsx(EmojiUploadPickerWithIntl, {
108
108
  ref: this.onUploaderRef,
109
109
  onFileChooserClicked: this.onFileChooserClicked,
110
110
  onUploadCancelled: this.onUploadCancelled,
@@ -1,8 +1,8 @@
1
- import { style } from 'typestyle';
2
1
  import { token } from '@atlaskit/tokens';
3
- import { emojiPickerWidth } from '../../util/constants'; // Uploader
2
+ import { emojiPickerWidth } from '../../util/constants';
3
+ import { css } from '@emotion/core'; // Uploader
4
4
 
5
- export var emojiUploadWidget = style({
5
+ export var emojiUploadWidget = css({
6
6
  display: 'flex',
7
7
  flexDirection: 'column',
8
8
  justifyContent: 'center',
@@ -16,6 +16,6 @@ export var emojiUploadWidget = style({
16
16
  marginTop: '-16px'
17
17
  }); /// Footer
18
18
 
19
- export var emojiUploadFooter = style({
19
+ export var emojiUploadFooter = css({
20
20
  flex: '0 0 auto'
21
21
  });
package/dist/esm/index.js CHANGED
@@ -6,7 +6,8 @@ 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 { // renaming exports to prevent breaking changes due to renaming
10
+ commonSelectedStyles as selected, selectOnHoverStyles as selectOnHover, emojiSprite, emojiNodeStyles as emojiNode, emojiImage } from './components/common/styles';
10
11
  import EmojiResource from './api/EmojiResource';
11
12
  import EmojiRepository from './api/EmojiRepository';
12
13
  import EmojiLoader from './api/EmojiLoader';